1789595936
c05b9b66eacc8e11cfd97f370d355f8b-phpdoc%3A233471ea96715fcdee37fda3e5f5e9e2-b59b2a8d7c79649f87006362a3dd54a9
s:12320:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjEzOiJjYXRhbG9nb3MucGhwIjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG5hbWVzcGFjZXMiO2E6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaW5jbHVkZXMiO2E6MDp7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZnVuY3Rpb25zIjthOjA6e31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGNvbnN0YW50cyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBjbGFzc2VzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGludGVyZmFjZXMiO2E6MDp7fXM6NDE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAdHJhaXRzIjthOjA6e31zOjQwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGVudW1zIjthOjA6e31zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGhhc2giO3M6MzI6ImI1OWIyYThkN2M3OTY0OWY4NzAwNjM2MmEzZGQ1NGE5IjtzOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHBhdGgiO3M6Mzg6ImJhY2tlbmQvYXBpL3YycGdncC9ydXRhcy9jYXRhbG9nb3MucGhwIjtzOjQxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHNvdXJjZSI7czo2ODg3OiI8P3BocA0KZGVjbGFyZShzdHJpY3RfdHlwZXM9MSk7DQoNCi8qKg0KICogUnV0YXMgZGUgQ0FUw4FMT0dPUyDigJQgZmlsdHJhZG9zLCB2YWxvcmFjacOzbiBvcmdhbm9sw6lwdGljYSB5IGNhdGVnb3LDrWFzLg0KICoNCiAqIExvcyB0cmVzIHNpZ3VlbiBlbCBtaXNtbyBwYXRyw7NuIChsaXN0YXIgLyBpbnNlcnRhciAvIGFjdHVhbGl6YXIpIHkgc2UNCiAqIGNvbnN1bWVuIHRhbnRvIGRlc2RlIHN1IHDDoWdpbmEgZGUgbWFudGVuaW1pZW50byBjb21vIGRlc2RlIGxhIHDDoWdpbmEgZGUNCiAqIGRlcMOzc2l0b3MsIHF1ZSBlcyBkb25kZSBzZSBhc2lnbmFuIGEgdW4gZGVww7NzaXRvIGNvbmNyZXRvLg0KICoNCiAqIEBwYWNrYWdlIHRyYWNraW5nXGJhY2tlbmRcYXBpXHYyXHJ1dGFzDQogKi8NCg0KcmV0dXJuIFsNCg0KICAgIC8vIOKUgOKUgCBGSUxUUkFET1Mg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSADQoNCiAgICAvLyBNaXNtbyBoYW5kbGVyIHF1ZSBnZXRfZmlsdHJhZG9zLCBwZXJvIGNvbnN1bWlkbyBkZXNkZSBkZXDDs3NpdG9zLg0KICAgIC8vIEVuIGxhIHYxIGFtYmFzIGFjY2lvbmVzIGNvbXBhcnTDrWFuIGVsIG1pc21vIGNhc2UuDQogICAgJ29idGVuZXJGaWx0cmFkb3NUaXBvJyA9PiBuZXcgUnV0YSgNCiAgICAgICAgYWNjZXNvOiAgQWNjZXNvOjpBVVRFTlRJQ0FETywNCiAgICAgICAgYW1iaXRvOiAgQW1iaXRvOjpUUkFDS0lORywNCiAgICAgICAgaGFuZGxlcjogc3RhdGljIGZ1bmN0aW9uIChDb250ZXh0byAkY3R4KTogbmV2ZXIgew0KICAgICAgICAgICAgUmVzcHVlc3RhOjpkZWxDb250cm9sYWRvcigNCiAgICAgICAgICAgICAgICBDb250cm9sYWRvckZpbHRyYWRvczo6Z2V0QWxsRmlsdHJhZG9zKCRjdHgtPmNvbmV4aW9uSWRzKQ0KICAgICAgICAgICAgKTsNCiAgICAgICAgfSwNCiAgICAgICAgcGFnaW5hOiAnL3BhZ2VzL2RlcG9zaXRvcycNCiAgICApLA0KDQogICAgJ2dldF9maWx0cmFkb3MnID0+IG5ldyBSdXRhKA0KICAgICAgICBhY2Nlc286ICBBY2Nlc286OkFVVEVOVElDQURPLA0KICAgICAgICBhbWJpdG86ICBBbWJpdG86OlRSQUNLSU5HLA0KICAgICAgICBoYW5kbGVyOiBzdGF0aWMgZnVuY3Rpb24gKENvbnRleHRvICRjdHgpOiBuZXZlciB7DQogICAgICAgICAgICBSZXNwdWVzdGE6OmRlbENvbnRyb2xhZG9yKA0KICAgICAgICAgICAgICAgIENvbnRyb2xhZG9yRmlsdHJhZG9zOjpnZXRBbGxGaWx0cmFkb3MoJGN0eC0+Y29uZXhpb25JZHMpDQogICAgICAgICAgICApOw0KICAgICAgICB9LA0KICAgICAgICBwYWdpbmE6ICcvcGFnZXMvZmlsdHJhZG9zJw0KICAgICksDQoNCiAgICAnaW5zZXJ0X2ZpbHRyYWRvJyA9PiBuZXcgUnV0YSgNCiAgICAgICAgYWNjZXNvOiAgQWNjZXNvOjpBVVRFTlRJQ0FETywNCiAgICAgICAgYW1iaXRvOiAgQW1iaXRvOjpUUkFDS0lORywNCiAgICAgICAgaGFuZGxlcjogc3RhdGljIGZ1bmN0aW9uIChDb250ZXh0byAkY3R4KTogbmV2ZXIgew0KICAgICAgICAgICAgJG5vbWJyZSA9IHRyaW0oJGN0eC0+cG9zdCgnbm9tYnJlJykpOw0KICAgICAgICAgICAgaWYgKCRub21icmUgPT09ICcnKSB7DQogICAgICAgICAgICAgICAgUmVzcHVlc3RhOjplcnJvcignRWwgbm9tYnJlIGVzIG9ibGlnYXRvcmlvLicsIDQwMCk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIFJlc3B1ZXN0YTo6ZGVsQ29udHJvbGFkb3IoDQogICAgICAgICAgICAgICAgQ29udHJvbGFkb3JGaWx0cmFkb3M6Omluc2VydEZpbHRyYWRvcygkbm9tYnJlLCAkY3R4LT5jb25leGlvbklkcykNCiAgICAgICAgICAgICk7DQogICAgICAgIH0sDQogICAgICAgIHBhZ2luYTogJy9wYWdlcy9maWx0cmFkb3MnDQogICAgKSwNCg0KICAgICd1cGRhdGVfZmlsdHJhZG8nID0+IG5ldyBSdXRhKA0KICAgICAgICBhY2Nlc286ICBBY2Nlc286OkFVVEVOVElDQURPLA0KICAgICAgICBhbWJpdG86ICBBbWJpdG86OlRSQUNLSU5HLA0KICAgICAgICBoYW5kbGVyOiBzdGF0aWMgZnVuY3Rpb24gKENvbnRleHRvICRjdHgpOiBuZXZlciB7DQogICAgICAgICAgICAkaWQgICAgID0gJGN0eC0+cG9zdEludCgnaWQnKTsNCiAgICAgICAgICAgICRub21icmUgPSB0cmltKCRjdHgtPnBvc3QoJ25vbWJyZScpKTsNCg0KICAgICAgICAgICAgaWYgKCRpZCA8PSAwIHx8ICRub21icmUgPT09ICcnKSB7DQogICAgICAgICAgICAgICAgUmVzcHVlc3RhOjplcnJvcignRmFsdGFuIGlkIG8gbm9tYnJlLicsIDQwMCk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIFJlc3B1ZXN0YTo6ZGVsQ29udHJvbGFkb3IoDQogICAgICAgICAgICAgICAgQ29udHJvbGFkb3JGaWx0cmFkb3M6OnVwZGF0ZUZpbHRyYWRvcygkaWQsICRub21icmUsICRjdHgtPmNvbmV4aW9uSWRzKQ0KICAgICAgICAgICAgKTsNCiAgICAgICAgfSwNCiAgICAgICAgcGFnaW5hOiAnL3BhZ2VzL2ZpbHRyYWRvcycNCiAgICApLA0KDQogICAgLy8g4pSA4pSAIEFTSUdOQUNJw5NOIEEgREVQw5NTSVRPIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgA0KDQogICAgJ2FzaWduYXJGaWx0cmFkbycgPT4gbmV3IFJ1dGEoDQogICAgICAgIGFjY2VzbzogIEFjY2Vzbzo6QVVURU5USUNBRE8sDQogICAgICAgIGFtYml0bzogIEFtYml0bzo6VFJBQ0tJTkcsDQogICAgICAgIGhhbmRsZXI6IHN0YXRpYyBmdW5jdGlvbiAoQ29udGV4dG8gJGN0eCk6IG5ldmVyIHsNCiAgICAgICAgICAgICRkZXBvc2l0byA9ICRjdHgtPnBvc3QoJ2RlcG9zaXRvJyk7DQogICAgICAgICAgICBpZiAoJGRlcG9zaXRvID09PSAnJykgew0KICAgICAgICAgICAgICAgIFJlc3B1ZXN0YTo6ZXJyb3IoJ0ZhbHRhIGVsIGRlcMOzc2l0by4nLCA0MDApOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBSZXNwdWVzdGE6OmRlbENvbnRyb2xhZG9yKENvbnRyb2xhZG9yRGVwb3NpdG86OmFzaWduYXJGaWx0cmFkb1RpcG8oDQogICAgICAgICAgICAgICAgJGN0eC0+Y29uZXhpb24oKSwNCiAgICAgICAgICAgICAgICAkZGVwb3NpdG8sDQogICAgICAgICAgICAgICAgJGN0eC0+cG9zdCgndGlwbycpLA0KICAgICAgICAgICAgICAgICRjdHgtPnBvc3QoJ2xvdGUnKQ0KICAgICAgICAgICAgKSk7DQogICAgICAgIH0sDQogICAgICAgIHBhZ2luYTogJy9wYWdlcy9kZXBvc2l0b3MnDQogICAgKSwNCg0KICAgICdhc2lnbmFyVk9yZ2FubycgPT4gbmV3IFJ1dGEoDQogICAgICAgIGFjY2VzbzogIEFjY2Vzbzo6QVVURU5USUNBRE8sDQogICAgICAgIGFtYml0bzogIEFtYml0bzo6VFJBQ0tJTkcsDQogICAgICAgIGhhbmRsZXI6IHN0YXRpYyBmdW5jdGlvbiAoQ29udGV4dG8gJGN0eCk6IG5ldmVyIHsNCiAgICAgICAgICAgICRpZERlcG9zaXRvID0gJGN0eC0+cG9zdEludCgnaWREZXBvc2l0bycpOw0KICAgICAgICAgICAgaWYgKCRpZERlcG9zaXRvIDw9IDApIHsNCiAgICAgICAgICAgICAgICBSZXNwdWVzdGE6OmVycm9yKCdGYWx0YSBlbCBkZXDDs3NpdG8uJywgNDAwKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgUmVzcHVlc3RhOjpkZWxDb250cm9sYWRvcihDb250cm9sYWRvckRlcG9zaXRvOjphc2lnbmFyVk9yZ2FuaWNvKA0KICAgICAgICAgICAgICAgICRjdHgtPmNvbmV4aW9uKCksDQogICAgICAgICAgICAgICAgJGN0eC0+cG9zdEludCgnaWRWT3JnYW5vJyksDQogICAgICAgICAgICAgICAgJGlkRGVwb3NpdG8NCiAgICAgICAgICAgICkpOw0KICAgICAgICB9LA0KICAgICAgICBwYWdpbmE6ICcvcGFnZXMvZGVwb3NpdG9zJw0KICAgICksDQoNCiAgICAvLyDilIDilIAgVkFMT1JBQ0nDk04gT1JHQU5PTMOJUFRJQ0Eg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSADQoNCiAgICAnZ2V0X3ZvcmdhbmljbycgPT4gbmV3IFJ1dGEoDQogICAgICAgIGFjY2VzbzogIEFjY2Vzbzo6QVVURU5USUNBRE8sDQogICAgICAgIGFtYml0bzogIEFtYml0bzo6VFJBQ0tJTkcsDQogICAgICAgIGhhbmRsZXI6IHN0YXRpYyBmdW5jdGlvbiAoQ29udGV4dG8gJGN0eCk6IG5ldmVyIHsNCiAgICAgICAgICAgIFJlc3B1ZXN0YTo6ZGVsQ29udHJvbGFkb3IoDQogICAgICAgICAgICAgICAgQ29udHJvbGFkb3JWT3JnYW5pY286OmdldFZPcmdhbm8oJGN0eC0+Y29uZXhpb25JZHMpDQogICAgICAgICAgICApOw0KICAgICAgICB9LA0KICAgICAgICBwYWdpbmE6IFsnL3BhZ2VzL3ZhbG9yYWNpb25PcmdhJywgJy9wYWdlcy9kZXBvc2l0b3MnXQ0KICAgICksDQoNCiAgICAnaW5zZXJ0X3ZvcmdhbmljbycgPT4gbmV3IFJ1dGEoDQogICAgICAgIGFjY2VzbzogIEFjY2Vzbzo6QVVURU5USUNBRE8sDQogICAgICAgIGFtYml0bzogIEFtYml0bzo6VFJBQ0tJTkcsDQogICAgICAgIGhhbmRsZXI6IHN0YXRpYyBmdW5jdGlvbiAoQ29udGV4dG8gJGN0eCk6IG5ldmVyIHsNCiAgICAgICAgICAgICRub21icmUgPSB0cmltKCRjdHgtPnBvc3QoJ25vbWJyZScpKTsNCiAgICAgICAgICAgIGlmICgkbm9tYnJlID09PSAnJykgew0KICAgICAgICAgICAgICAgIFJlc3B1ZXN0YTo6ZXJyb3IoJ0VsIG5vbWJyZSBlcyBvYmxpZ2F0b3Jpby4nLCA0MDApOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBSZXNwdWVzdGE6OmRlbENvbnRyb2xhZG9yKA0KICAgICAgICAgICAgICAgIENvbnRyb2xhZG9yVk9yZ2FuaWNvOjppbnNlcnRWT3JnYW5vKCRub21icmUsICRjdHgtPmNvbmV4aW9uSWRzKQ0KICAgICAgICAgICAgKTsNCiAgICAgICAgfSwNCiAgICAgICAgcGFnaW5hOiBbJy9wYWdlcy92YWxvcmFjaW9uT3JnYScsICcvcGFnZXMvZGVwb3NpdG9zJ10NCiAgICApLA0KDQogICAgLy8g4pSA4pSAIENBVEVHT1LDjUFTIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgA0KDQogICAgJ2dldF9jYXRlZ29yaWFzJyA9PiBuZXcgUnV0YSgNCiAgICAgICAgYWNjZXNvOiAgQWNjZXNvOjpBVVRFTlRJQ0FETywNCiAgICAgICAgYW1iaXRvOiAgQW1iaXRvOjpUUkFDS0lORywNCiAgICAgICAgaGFuZGxlcjogc3RhdGljIGZ1bmN0aW9uIChDb250ZXh0byAkY3R4KTogbmV2ZXIgew0KICAgICAgICAgICAgUmVzcHVlc3RhOjpkZWxDb250cm9sYWRvcigNCiAgICAgICAgICAgICAgICBDb250cm9sYWRvckNhdGVnb3JpYXM6OmdldEFsbENhdGVnb3JpYXMoJGN0eC0+Y29uZXhpb25JZHMpDQogICAgICAgICAgICApOw0KICAgICAgICB9LA0KICAgICAgICBwYWdpbmE6IFsnL3BhZ2VzL2RlcG9zaXRvcycsICcvcGFnZXMvY2F0ZWdvcmlhcyddDQogICAgKSwNCg0KICAgICdpbnNlcnRfY2F0ZWdvcmlhJyA9PiBuZXcgUnV0YSgNCiAgICAgICAgYWNjZXNvOiAgQWNjZXNvOjpBVVRFTlRJQ0FETywNCiAgICAgICAgYW1iaXRvOiAgQW1iaXRvOjpUUkFDS0lORywNCiAgICAgICAgaGFuZGxlcjogc3RhdGljIGZ1bmN0aW9uIChDb250ZXh0byAkY3R4KTogbmV2ZXIgew0KICAgICAgICAgICAgJG5vbWJyZSA9IHRyaW0oJGN0eC0+cG9zdCgnbm9tYnJlJykpOw0KICAgICAgICAgICAgaWYgKCRub21icmUgPT09ICcnKSB7DQogICAgICAgICAgICAgICAgUmVzcHVlc3RhOjplcnJvcignRWwgbm9tYnJlIGVzIG9ibGlnYXRvcmlvLicsIDQwMCk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIFJlc3B1ZXN0YTo6ZGVsQ29udHJvbGFkb3IoDQogICAgICAgICAgICAgICAgQ29udHJvbGFkb3JDYXRlZ29yaWFzOjppbnNlcnRDYXRlZ29yaWFzKCRub21icmUsICRjdHgtPmNvbmV4aW9uSWRzKQ0KICAgICAgICAgICAgKTsNCiAgICAgICAgfSwNCiAgICAgICAgcGFnaW5hOiBbJy9wYWdlcy9kZXBvc2l0b3MnLCAnL3BhZ2VzL2NhdGVnb3JpYXMnXQ0KICAgICksDQoNCiAgICAndXBkYXRlX2NhdGVnb3JpYScgPT4gbmV3IFJ1dGEoDQogICAgICAgIGFjY2VzbzogIEFjY2Vzbzo6QVVURU5USUNBRE8sDQogICAgICAgIGFtYml0bzogIEFtYml0bzo6VFJBQ0tJTkcsDQogICAgICAgIGhhbmRsZXI6IHN0YXRpYyBmdW5jdGlvbiAoQ29udGV4dG8gJGN0eCk6IG5ldmVyIHsNCiAgICAgICAgICAgICRpZCAgICAgPSAkY3R4LT5wb3N0SW50KCdpZCcpOw0KICAgICAgICAgICAgJG5vbWJyZSA9IHRyaW0oJGN0eC0+cG9zdCgnbm9tYnJlJykpOw0KDQogICAgICAgICAgICBpZiAoJGlkIDw9IDAgfHwgJG5vbWJyZSA9PT0gJycpIHsNCiAgICAgICAgICAgICAgICBSZXNwdWVzdGE6OmVycm9yKCdGYWx0YW4gaWQgbyBub21icmUuJywgNDAwKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgUmVzcHVlc3RhOjpkZWxDb250cm9sYWRvcigNCiAgICAgICAgICAgICAgICBDb250cm9sYWRvckNhdGVnb3JpYXM6OnVwZGF0ZUNhdGVnb3JpYXMoJGlkLCAkbm9tYnJlLCAkY3R4LT5jb25leGlvbklkcykNCiAgICAgICAgICAgICk7DQogICAgICAgIH0sDQogICAgICAgIHBhZ2luYTogJy9wYWdlcy9jYXRlZ29yaWFzJw0KICAgICksDQpdOyI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NzY6IlJ1dGFzIGRlIENBVMOBTE9HT1Mg4oCUIGZpbHRyYWRvcywgdmFsb3JhY2nDs24gb3JnYW5vbMOpcHRpY2EgeSBjYXRlZ29yw61hcy4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MjA1OiJMb3MgdHJlcyBzaWd1ZW4gZWwgbWlzbW8gcGF0csOzbiAobGlzdGFyIC8gaW5zZXJ0YXIgLyBhY3R1YWxpemFyKSB5IHNlCmNvbnN1bWVuIHRhbnRvIGRlc2RlIHN1IHDDoWdpbmEgZGUgbWFudGVuaW1pZW50byBjb21vIGRlc2RlIGxhIHDDoWdpbmEgZGUKZGVww7NzaXRvcywgcXVlIGVzIGRvbmRlIHNlIGFzaWduYW4gYSB1biBkZXDDs3NpdG8gY29uY3JldG8uIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXEdlbmVyaWMiOjI6e3M6NzoiACoAbmFtZSI7czo3OiJwYWNrYWdlIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyOToidHJhY2tpbmdcYmFja2VuZFxhcGlcdjJccnV0YXMiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG1ldGFkYXRhIjthOjA6e319";