@tilde-nlp/ngx-translate 2.0.3-deepl → 2.0.3-deepl-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -121,8 +121,7 @@ export const i18n_en = {
121
121
  "E_12_TITLE": "Text size limit",
122
122
  "E_12": "Text size limit reached. Send less text in the request.",
123
123
  "E_12_SUPPORT": " To increase the text size limit, please contact <a href=\"mailto:{{email}}\"><strong>support</strong></a>.",
124
- "E_21_TITLE": "Machine translation engine is starting",
125
- "E_21": "You will be able to translate in a few moments.",
124
+ "E_21": "The translation engine is starting up, this may take a moment!",
126
125
  "E_22_TITLE": "Machine translation engine not found",
127
126
  "E_22": "Machine translation engine not found.",
128
127
  "E_22_SUPPORT": " Please contact <a href=\"mailto:{{email}}\"><strong>support</strong></a>.",
@@ -425,4 +424,4 @@ export const i18n_en = {
425
424
  "PAUSE": "Pause"
426
425
  }
427
426
  };
428
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvaTE4bi9lbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUc7SUFDckIsVUFBVSxFQUFFLFVBQVU7SUFDdEIsZUFBZSxFQUFFO1FBQ2YsVUFBVSxFQUFFLHNHQUFzRztRQUNsSCxlQUFlLEVBQUUsWUFBWTtRQUM3QixvQkFBb0IsRUFBRSxRQUFRO1FBQzlCLHFCQUFxQixFQUFFLFVBQVU7UUFDakMscUJBQXFCLEVBQUUsVUFBVTtRQUNqQyxvQkFBb0IsRUFBRSxTQUFTO1FBQy9CLHNCQUFzQixFQUFFLCtCQUErQjtRQUN2RCwyQkFBMkIsRUFBRSxnS0FBZ0s7UUFDN0wsNEJBQTRCLEVBQUUsaUNBQWlDO1FBQy9ELGlDQUFpQyxFQUFFLGtLQUFrSztRQUNyTSxzQ0FBc0MsRUFBRSxxQ0FBcUM7UUFDN0Usb0NBQW9DLEVBQUUsb0NBQW9DO1FBQzFFLGlDQUFpQyxFQUFFLHdCQUF3QjtRQUMzRCxxQ0FBcUMsRUFBRSxnQkFBZ0I7UUFDdkQsZ0NBQWdDLEVBQUUsdUJBQXVCO1FBQ3pELG1DQUFtQyxFQUFFLEVBQUU7UUFDdkMsK0JBQStCLEVBQUUsRUFBRTtRQUNuQyxpQ0FBaUMsRUFBRSw0QkFBNEI7UUFDL0QsbUNBQW1DLEVBQUUsY0FBYztRQUNuRCxrQ0FBa0MsRUFBRSxVQUFVO1FBQzlDLDZCQUE2QixFQUFFLGtHQUFrRztRQUNqSSxNQUFNLEVBQUUsT0FBTztRQUNmLHFCQUFxQixFQUFFLG1CQUFtQjtRQUMxQyx1QkFBdUIsRUFBRSw4QkFBOEI7UUFDdkQsdUJBQXVCLEVBQUUseUJBQXlCO1FBQ2xELDhCQUE4QixFQUFFLDBGQUEwRjtRQUMxSCxvQkFBb0IsRUFBRSw2TEFBNkw7UUFDbk4sZ0JBQWdCLEVBQUUscUZBQXFGO1FBQ3ZHLG1CQUFtQixFQUFFLHVEQUF1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bUM7S0FDOUQ7SUFDRCxxQ0FBcUMsRUFBRTtRQUNyQyxPQUFPLEVBQUUsc0NBQXNDO1FBQy9DLGFBQWEsRUFBRSxnQkFBZ0I7UUFDL0Isc0JBQXNCLEVBQUUscUJBQXFCO1FBQzdDLHlCQUF5QixFQUFFLHFCQUFxQjtLQUNqRDtJQUNELGdCQUFnQixFQUFFO1FBQ2hCLE1BQU0sRUFBRSxvQ0FBb0M7UUFDNUMsY0FBYyxFQUFFLHdIQUF3SDtLQUN6STtJQUNELFNBQVMsRUFBRTtRQUNULGNBQWMsRUFBRSxjQUFjO0tBQy9CO0lBQ0QsZ0JBQWdCLEVBQUU7UUFDaEIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsT0FBTyxFQUFFLE9BQU87S0FDakI7Q0FDRixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGkxOG5fZW4gPSB7XHJcbiAgXCJBUFBfTkFNRVwiOiBcIlRpbGRlIE1UXCIsXHJcbiAgXCJUTERfVFJBTlNMQVRFXCI6IHtcclxuICAgIFwiQkVTVF9OTVRcIjogXCJQcm91ZCB3aW5uZXIgb2YgdGhlIGJlc3QgbWFjaGluZSB0cmFuc2xhdGlvbiB0ZWNobm9sb2d5IGF0IFdNVCBDb21wZXRpdGlvbiBmb3IgdGhyZWUgeWVhcnMgaW4gYSByb3cuXCIsXHJcbiAgICBcIkJFU1RfTk1UX01PUkVcIjogXCJMZWFybiBtb3JlXCIsXHJcbiAgICBcIkNBTkNFTF9UUkFOU0xBVElPTlwiOiBcIkNhbmNlbFwiLFxyXG4gICAgXCJESUNUSU9OQVJZX0VYQU1QTEVTXCI6IFwiZXhhbXBsZXNcIixcclxuICAgIFwiRE9XTkxPQURfVFJBTlNMQVRFRFwiOiBcIkRvd25sb2FkXCIsXHJcbiAgICBcIkRPTUFJTlNfQVJJQV9MQUJFTFwiOiBcIkRvbWFpbnNcIixcclxuICAgIFwiRklMRV9ET1dOTE9BRF9TT1VSQ0VcIjogXCJEb3dubG9hZCBjb252ZXJ0ZWQgc291cmNlIFBERlwiLFxyXG4gICAgXCJGSUxFX0RPV05MT0FEX1NPVVJDRV9IRUxQXCI6IFwiUERGIGNvbnZlcnNpb24gbWF5IGNhdXNlIGZvcm1hdHRpbmcgZXJyb3JzIG9yIHRleHQgZGlzdG9ydGlvbi4gUGxlYXNlIGNoZWNrIHRoZSBjb252ZXJ0ZWQgZmlsZSBhbmQgZml4IHRoZSBlcnJvcnMgYmVmb3JlIHJlLXVwbG9hZGluZyB0aGUgZmlsZSBmb3IgdHJhbnNsYXRpb25cIixcclxuICAgIFwiRklMRV9ET1dOTE9BRF9TT1VSQ0VfSU1BR0VcIjogXCJEb3dubG9hZCBjb252ZXJ0ZWQgc291cmNlIGltYWdlXCIsXHJcbiAgICBcIkZJTEVfRE9XTkxPQURfU09VUkNFX0lNQUdFX0hFTFBcIjogXCJJbWFnZSBjb252ZXJzaW9uIG1heSBjYXVzZSBmb3JtYXR0aW5nIGVycm9ycyBvciB0ZXh0IGRpc3RvcnRpb24uIFBsZWFzZSBjaGVjayB0aGUgY29udmVydGVkIGZpbGUgYW5kIGZpeCB0aGUgZXJyb3JzIGJlZm9yZSByZS11cGxvYWRpbmcgdGhlIGZpbGUgZm9yIHRyYW5zbGF0aW9uXCIsXHJcbiAgICBcIkZJTEVfVEFOU0xBVElPTl9TVEFUVVNTX0lOSVRJQUxJWklOR1wiOiBcIkluaXRpYWxpemluZyB0cmFuc2xhdGlvbiBwcm9jZXNzLi4uXCIsXHJcbiAgICBcIkZJTEVfVEFOU0xBVElPTl9TVEFUVVNTX0VYVFJBQ1RJTkdcIjogXCJFeHRyYWN0aW5nIHRyYW5zbGF0YWJsZSBjb250ZW50Li4uXCIsXHJcbiAgICBcIkZJTEVfVEFOU0xBVElPTl9TVEFUVVNTX1dBSVRJTkdcIjogXCJTdGFydGluZyB0cmFuc2xhdG9yLi4uXCIsXHJcbiAgICBcIkZJTEVfVEFOU0xBVElPTl9TVEFUVVNTX1RSQU5TTEFUSU5HXCI6IFwiVHJhbnNsYXRpbmcuLi5cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfU0FWSU5HXCI6IFwiU2F2aW5nIHRyYW5zbGF0aW9uLi4uXCIsXHJcbiAgICBcIkZJTEVfVEFOU0xBVElPTl9TVEFUVVNTX0NPTVBMRVRFRFwiOiBcIlwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19FUlJPUlwiOiBcIlwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19RVUVVSU5HXCI6IFwiVHJhbnNsYXRpb24gaXMgc3RhcnRpbmcuLi5cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfVVBMT0FESU5HXCI6IFwiVXBsb2FkaW5nLi4uXCIsXHJcbiAgICBcIkZJTEVfVEFOU0xBVElPTl9TVEFUVVNTX1VQTE9BREVEXCI6IFwiVXBsb2FkZWRcIixcclxuICAgIFwiRklMRV9UQVJHRVRfUFJFVklFV19NRVNTQUdFXCI6IFwiVGhpcyBpcyBhIHByZXZpZXcgb2YgdGhlIHRyYW5zbGF0ZWQgZG9jdW1lbnQsIHBsZWFzZSBkb3dubG9hZCB0byByZWNlaXZlIGEgY29tcGxldGUgdHJhbnNsYXRpb24uXCIsXHJcbiAgICBcIkZST01cIjogXCJGcm9tOlwiLFxyXG4gICAgXCJQREZfRElTQ0xBSU1FUl9MSU5LXCI6IFwiU2VlIGhvdyB0byBmaXggaXRcIixcclxuICAgIFwiSU1BR0VfRElTQ0xBSU1FUl9MSU5LXCI6IFwiUmVhZCBhYm91dCBpbWFnZSBjb252ZXJzaW9uLlwiLFxyXG4gICAgXCJQUkVQQVJJTkdfVFJBTlNMQVRJT05cIjogXCJUcmFuc2xhdGlvbiBpcyBzdGFydGluZ1wiLFxyXG4gICAgXCJSRUdJU1RFUkVEX0ZPUk1BVFNfTE9HR0VEX0lOXCI6IFwiUmVnaXN0ZXJlZCB1c2VycyBoYXZlIGFjY2VzcyB0byB0aGUgZm9sbG93aW5nIGRvY3VtZW50IGZvcm1hdHMgdHJhbnNsYXRpb246IHt7Zm9ybWF0c319LlwiLFxyXG4gICAgXCJSRUdJU1RFUkVEX0ZPUk1BVFNcIjogXCJSZWdpc3RlcmVkIHVzZXJzIGhhdmUgYWNjZXNzIHRvIHRoZSBmb2xsb3dpbmcgZG9jdW1lbnQgZm9ybWF0cyB0cmFuc2xhdGlvbjoge3tmb3JtYXRzfX0uIFJlcXVlc3QgeW91ciBhY2Nlc3MgPGEgY2xhc3M9XFxcImFjY2VudC1jb2xvclxcXCIgdGFyZ2V0PVxcXCJibGFua1xcXCIgaHJlZj1cXFwie3tyZWdpc3Rlckxpbmt9fVxcXCI+aGVyZTwvYT4uXCIsXHJcbiAgICBcIlNPVVJDRV9GT1JNQVRTXCI6IFwiU2VjdXJlIHB1YmxpYyB0cmFuc2xhdGlvbiBzZXJ2aWNlIHN1cHBvcnRzIGZvbGxvd2luZyBkb2N1bWVudCBmb3JtYXRzOiB7e2Zvcm1hdHN9fTtcIixcclxuICAgIFwiU09VUkNFX1dPUkRfTElNSVRcIjogXCIgdHJhbnNsYXRpb24gYW1vdW50IGlzIGxpbWl0ZWQgdXAgdG8ge3tsaW1pdH19IHdvcmRzLlwiLFxyXG4gICAgXCJTT1VSQ0VfVE9PTFRJUFwiOiBcIkVudGVyIHRoZSB0ZXh0IG9yIGhvbWVwYWdlIHlvdSB3b3VsZCBsaWtlIHRvIHRyYW5zbGF0ZS5cIixcclxuICAgIFwiU09VUkNFX1RPT0xUSVBfT05MWV9URVhUXCI6IFwiRW50ZXIgdGhlIHRleHQgeW91IHdvdWxkIGxpa2UgdG8gdHJhbnNsYXRlLlwiLFxyXG4gICAgXCJTT1VSQ0VfVE9PTFRJUF9TRU5TSVRJVkVfSU5GT1wiOiBcIkRvIG5vdCB1c2Uge3thcHBOYW1lfX0gdG8gdHJhbnNsYXRlIGNvbmZpZGVudGlhbCBvciBjbGFzc2lmaWVkIGluZm9ybWF0aW9uIG9yIHRleHRzIHRoYXQgY29udGFpbiBzcGVjaWFsIGNhdGVnb3JpZXMgb2YgcGVyc29uYWwgZGF0YSwgc3VjaCBhcyBtZWRpY2FsIGRhdGFcIixcclxuICAgIFwiVEFSR0VUX0RFU0NSSVBUSU9OXCI6IFwiTWFjaGluZSB0cmFuc2xhdGlvbiBhbGxvd3MgdG8gdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiBhIHNvdXJjZSB0ZXh0LCBidXQgY2Fubm90IHN1YnN0aXR1dGUgYSBodW1hbiB0cmFuc2xhdGlvbi5cIixcclxuICAgIFwiVE9cIjogXCJUbzpcIixcclxuICAgIFwiVEVYVF9DT1BJRURcIjogXCJUcmFuc2xhdGlvbiBjb3BpZWRcIixcclxuICAgIFwiU1VHR0VTVF9CVVRUT05cIjogXCJTdWdnZXN0IHRyYW5zbGF0aW9uXCIsXHJcbiAgICBcIlNVR0dFU1RfT1JJR0lOQUxfTEFCRUxcIjogXCJPcmlnaW5hbCBzZW50ZW5jZVwiLFxyXG4gICAgXCJTVUdHRVNUX1NVQk1JVF9CVVRUT05cIjogXCJDb250cmlidXRlXCIsXHJcbiAgICBcIlNVR0dFU1RfVFJBTlNMQVRJT05fTEFCRUxcIjogXCJUcmFuc2xhdGlvblwiLFxyXG4gICAgXCJTVUdHRVNUX1VTQUdFX0lORk9cIjogXCJZb3VyIGFub255bWl6ZWQgdHJhbnNsYXRpb24gc3VnZ2VzdGlvbiB3aWxsIGJlIHVzZWQgdG8gaW1wcm92ZSB0aGUgcXVhbGl0eSBvZiBtYWNoaW5lIHRyYW5zbGF0aW9uLlwiLFxyXG4gICAgXCJUT09MVElQX0FDVElPTlwiOiBcIlRyYW5zbGF0ZVwiLFxyXG4gICAgXCJWRU5ET1JTX0FSSUFfTEFCRUxcIjogXCJQcm92aWRlcnNcIixcclxuICAgIFwiV09SRF9UWVBFX0FESkVDVElWRVwiOiBcImFkamVjdGl2ZVwiLFxyXG4gICAgXCJXT1JEX1RZUEVfTk9VTlwiOiBcIm5vdW5cIixcclxuICAgIFwiV09SRF9UWVBFX1ZFUkJcIjogXCJ2ZXJiXCIsXHJcbiAgICBcIldPUkRfVFlQRV9BRFZFUkJcIjogXCJhZHZlcmJcIixcclxuICAgIFwiV09SRF9UWVBFX0NPTkpVTkNUSU9OXCI6IFwiY29uanVuY3Rpb25cIixcclxuICAgIFwiV09SRF9UWVBFX0lOVEVSSkVDVElPTlwiOiBcImludGVyamVjdGlvblwiLFxyXG4gICAgXCJXT1JEX1RZUEVfUFJPTk9VTlwiOiBcInByb25vdW5cIixcclxuICAgIFwiRE9DX1dPUkRfQ05UX0xJTUlUX01TR19USVRMRVwiOiBcIlRyYW5zbGF0aW9uIGxpbWl0XCIsXHJcbiAgICBcIkRPQ19XT1JEX0NOVF9MSU1JVF9NU0dcIjogXCJPbmx5IHRoZSBmaXJzdCB7e3dvcmRDb3VudH19IHdvcmRzIHdpbGwgYmUgdHJhbnNsYXRlZC4gWW91IG5lZWQgYSBUaWxkZSBNVCBzdWJzY3JpcHRpb24gdG8gdHJhbnNsYXRlIGZ1bGwgZmlsZXMuIDxhIGhyZWY9XFxcInt7cmVnaXN0ZXJMaW5rfX0/e3txdWVyeVN0cmluZ319XFxcIj5zdGFydCB3aXRoIGEgZnJlZSB0cmlhbDwvYT5cIixcclxuICAgIFwiRVJST1JfTk9fU1lTVEVNU19MT0FERURfVElUTEVcIjogXCJObyB0cmFuc2xhdGlvbiBlbmdpbmVzIHdlcmUgbG9hZGVkXCIsXHJcbiAgICBcIkVSUk9SX05PX1NZU1RFTVNfTE9BREVEXCI6IFwiRmFpbGVkIHRvIGxvYWQgdGhlIG1hY2hpbmUgdHJhbnNsYXRpb24gZW5naW5lcy5cIixcclxuICAgIFwiRVJST1JfTk9fU1lTVEVNU19MT0FERURfU1VQUE9SVFwiOiBcIiBQbGVhc2UgcmVsb2FkIHRoZSBwYWdlIG9yIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz4gc3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIlBERl9QQUdFX0xJTUlUX01TR19USVRMRVwiOiBcIlRyYW5zbGF0aW9uIGxpbWl0XCIsXHJcbiAgICBcIlBERl9QQUdFX0xJTUlUX01TR1wiOiBcIk9ubHkgdGhlIGZpcnN0IHBhZ2Ugd2lsbCBiZSB0cmFuc2xhdGVkLiBZb3UgbmVlZCBhIFRpbGRlIE1UIHN1YnNjcmlwdGlvbiB0byB0cmFuc2xhdGUgZnVsbCBQREYgZmlsZXMuIDxhIGhyZWY9XFxcInt7cmVnaXN0ZXJMaW5rfX0/e3txdWVyeVN0cmluZ319XFxcIj5zdGFydCB3aXRoIGEgZnJlZSB0cmlhbDwvYT5cIixcclxuICAgIFwiQ0xFQVJfU09VUkNFX1RPT0xUSVBcIjogXCJDbGVhciB0ZXh0XCJcclxuICB9LFxyXG4gIFwiTVVMVElQTEVfRklMRVNcIjoge1xyXG4gICAgXCJBUFBFTkRcIjogXCJBZGQgZmlsZXNcIixcclxuICAgIFwiQ0xFQVJfQUxMXCI6IFwiQ2FuY2VsXCIsXHJcbiAgICBcIkRPV05MT0FEXCI6IFwiRG93bmxvYWRcIixcclxuICAgIFwiU1RBVFVTU19JTklUSUFMSVpJTkdcIjogXCJJbml0aWFsaXppbmdcIixcclxuICAgIFwiU1RBVFVTU19FWFRSQUNUSU5HXCI6IFwiRXh0cmFjdGluZ1wiLFxyXG4gICAgXCJTVEFUVVNTX1dBSVRJTkdcIjogXCJTdGFydGluZyB0cmFuc2xhdG9yXCIsXHJcbiAgICBcIlNUQVRVU1NfVFJBTlNMQVRJTkdcIjogXCJUcmFuc2xhdGluZyB7e3BlcmNlbnR9fSVcIixcclxuICAgIFwiU1RBVFVTU19TQVZJTkdcIjogXCJTYXZpbmdcIixcclxuICAgIFwiU1RBVFVTU19DT01QTEVURURcIjogXCJDb21wbGV0ZWRcIixcclxuICAgIFwiU1RBVFVTU19FUlJPUlwiOiBcIkVycm9yXCIsXHJcbiAgICBcIlNUQVRVU1NfUVVFVUlOR1wiOiBcIlF1ZXVpbmdcIixcclxuICAgIFwiU1RBVFVTU19OT1RfU1RBUlRFRFwiOiBcIlVwbG9hZGVkXCIsXHJcbiAgICBcIlNUQVRVU1NfVVBMT0FESU5HXCI6IFwiVXBsb2FkaW5nLi4uXCIsXHJcbiAgICBcIlNUQVRVU1NfVVBMT0FERURcIjogXCJVcGxvYWRlZFwiLFxyXG4gICAgXCJUSVRMRV9GSUxFX05BTUVcIjogXCJGaWxlXCIsXHJcbiAgICBcIlRJVExFX1NUQVRVU1NcIjogXCJTdGF0dXNcIixcclxuICAgIFwiVFJBTlNMQVRJT05fU1RBVFVTU19MQUJFTFwiOiBcIlN0YXR1c1wiLFxyXG4gICAgXCJQREZfRElTQ0xBSU1FUlwiOiBcIlBERiBkb2N1bWVudHMgbWF5IGhhdmUgZm9ybWF0dGluZyBvciB0cmFuc2xhdGlvbiBlcnJvcnMuXCIsXHJcbiAgICBcIlBERl9ESVNDTEFJTUVSX0xJTktcIjogXCJSZWFkIGFib3V0IHBkZiBjb252ZXJzaW9uLlwiLFxyXG4gICAgXCJJTUFHRV9ESVNDTEFJTUVSXCI6IFwiSW1hZ2UgY29udmVyc2lvbiBtYXkgY2F1c2UgZm9ybWF0dGluZyBlcnJvcnMgb3IgdGV4dCBkaXN0b3J0aW9uLlwiLFxyXG4gICAgXCJJTUFHRV9ESVNDTEFJTUVSX0xJTktcIjogXCJSZWFkIGFib3V0IGltYWdlIGNvbnZlcnNpb24uXCIsXHJcbiAgICBcIlNDUkVFTl9SRUFERVJfQU5OT1VOQ0VNRU5UXCI6IFwie3t0cmFuc2xhdGVkfX0gb3V0IG9mIHt7dG90YWx9fSBmaWxlcyBhcmUgdHJhbnNsYXRlZC5cIixcclxuICAgIFwiUkVNT1ZFX0ZJTEVfVE9PTFRJUFwiOiBcIkNsZWFyIGZpbGVcIlxyXG4gIH0sXHJcbiAgXCJFUlJPUlNcIjoge1xyXG4gICAgXCJFUlJPUl9ERUZBVUxUX1RJVExFXCI6IFwiVW5leHBlY3RlZCBlcnJvclwiLFxyXG4gICAgXCJFUlJPUl9ERUZBVUxUXCI6IFwiQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cnJlZC4gUGxlYXNlIHRyeSBhZ2Fpbi5cIixcclxuICAgIFwiRVJST1JfREVGQVVMVF9TVVBQT1JUXCI6IFwiIElmIHRoZSBwcm9ibGVtIGNvbnRpbnVlcywgY29udGFjdCA8YSBocmVmPVxcXCJtYWlsdG86e3tlbWFpbH19XFxcIj48c3Ryb25nPnN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJNQVhfQ0hBUl9MRU5HVEhfVElUTEVcIjogXCJUcmFuc2xhdGlvbiBsaW1pdFwiLFxyXG4gICAgXCJNQVhfQ0hBUl9MRU5HVEhcIjogXCJPbmx5IHt7bWF4Q2hhckxlbmd0aH19L3t7dG90YWxTeW1ib2xzfX0gY2hhcmFjdGVycyB3aWxsIGJlIHRyYW5zbGF0ZWQuIFlvdSBuZWVkIGEgVGlsZGUgTVQgc3Vic2NyaXB0aW9uIGZvciB1bmxpbWl0ZWQgdGV4dCB0cmFuc2xhdGlvbi4gPGEgaHJlZj1cXFwie3tyZWdpc3Rlckxpbmt9fT97e3F1ZXJ5U3RyaW5nfX1cXFwiPnN0YXJ0IHdpdGggYSBmcmVlIHRyaWFsPC9hPlwiLFxyXG4gICAgXCJNQVhfTlVNQkVSX09GX0ZJTEVTX1RJVExFXCI6IFwiVXBsb2FkIGxpbWl0XCIsXHJcbiAgICBcIk1BWF9OVU1CRVJfT0ZfRklMRVNcIjogXCJPbmx5IHt7bGltaXR9fSBmaWxlcyBjYW4gYmUgdHJhbnNsYXRlZCBhdCBvbmNlLlwiLFxyXG4gICAgXCJJTkNSRUFTRV9NQVhfTlVNQkVSX09GX0ZJTEVTX1RJVExFXCI6IFwiVXBsb2FkIGxpbWl0XCIsXHJcbiAgICBcIklOQ1JFQVNFX01BWF9OVU1CRVJfT0ZfRklMRVNcIjogXCJPbmx5IDEgZmlsZSBjYW4gYmUgdHJhbnNsYXRlZCBhdCBvbmNlLiBZb3UgbmVlZCBhIFRpbGRlIE1UIHN1YnNjcmlwdGlvbiB0byBpbmNyZWFzZSBsaW1pdC4gPGEgaHJlZj1cXFwie3tyZWdpc3Rlckxpbmt9fT97e3F1ZXJ5U3RyaW5nfX1cXFwiPnN0YXJ0IHdpdGggYSBmcmVlIHRyaWFsPC9hPlwiLFxyXG4gICAgXCJGSUxFX0FMUkVBRFlfQURERURfVElUTEVcIjogXCJGaWxlIGhhcyBhbHJlYWR5IGJlZW4gYWRkZWRcIixcclxuICAgIFwiRklMRV9BTFJFQURZX0FEREVEXCI6IFwiRmlsZSBcXFwie3tmaWxlTmFtZX19XFxcIiBoYXMgYWxyZWFkeSBiZWVuIGFkZGVkLlwiLFxyXG4gICAgXCJVQU5VVEhPUklaRURfNDAxX1RJVExFXCI6IFwiVW5hdXRob3JpemVkXCIsXHJcbiAgICBcIlVBTlVUSE9SSVpFRF80MDFcIjogXCJZb3UgZG9uJ3QgaGF2ZSBwZXJtaXNzaW9uIHRvIHVzZSBtYWNoaW5lIHRyYW5zbGF0aW9uLlwiLFxyXG4gICAgXCJVQU5VVEhPUklaRURfNDAxX1NVUFBPUlRcIjogXCIgUGxlYXNlIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz4gc3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIkVfVU5LTk9XTl9GSUxFX1RZUEVcIjogXCJVbmtub3duIGZpbGUgdHlwZS5cIixcclxuICAgIFwiRV9DQU5OT1RfUkVBRF9GSUxFX1RJVExFXCI6IFwiVW5hYmxlIHRvIHJlYWQgZmlsZVwiLFxyXG4gICAgXCJFX0NBTk5PVF9SRUFEX0ZJTEVcIjogXCJUaGUgZmlsZSBcXFwie3tmaWxlTmFtZX19XFxcIiBpcyBjb3JydXB0ZWQgYW5kIGNvdWxkbid0IGJlIHRyYW5zbGF0ZWQuIENoZWNrIHRoZSBmaWxlIGFuZCB0cnkgYWdhaW4uXCIsXHJcbiAgICBcIkVfRkFJTEVEX0lOX1RSQU5TTEFUSU9OX1RJVExFXCI6IFwiVHJhbnNsYXRpb24gZmFpbGVkXCIsXHJcbiAgICBcIkVfRkFJTEVEX0lOX1RSQU5TTEFUSU9OXCI6IFwiRXJyb3Igb2NjdXJyZWQgd2hpbGUgdHJhbnNsYXRpbmcuIFBsZWFzZSB0cnkgYWdhaW4uXCIsXHJcbiAgICBcIkVfRkFJTEVEX0lOX1RSQU5TTEFUSU9OX1NVUFBPUlRcIjogXCIgSWYgdGhlIHByb2JsZW0gY29udGludWVzLCBjb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+IHN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJFX0ZPUk1BVF9UUkFDS19DSEFOR0VTX1RJVExFXCI6IFwiVHJhbnNsYXRpb24gZmFpbGVkLCBiZWNhdXNlIOKAmHRyYWNrIGNoYW5nZXPigJkgaXMgdHVybmVkIG9uXCIsXHJcbiAgICBcIkVfRk9STUFUX1RSQUNLX0NIQU5HRVNcIjogXCJDaGFuZ2VzIG11c3QgZmlyc3QgYmUgYWNjZXB0ZWQgb3Ig4oCYdHJhY2sgY2hhbmdlc+KAmSB0dXJuZWQgb2ZmIGJlZm9yZSB0cmFuc2xhdGluZyBPZmZpY2UgZmlsZXMuXCIsXHJcbiAgICBcIkVfVU5LTk9XTl9FUlJPUl9USVRMRVwiOiBcIlVua25vd24gZXJyb3JcIixcclxuICAgIFwiRV9VTktOT1dOX0VSUk9SXCI6IFwiQW4gdW5rbm93biBlcnJvciBvY2N1cnJlZC5cIixcclxuICAgIFwiRV9VTkFVVEhPUklaRURfVElUTEVcIjogXCJVbmF1dGhvcml6ZWRcIixcclxuICAgIFwiRV9VTkFVVEhPUklaRURcIjogXCJEb2N1bWVudCB0cmFuc2xhdGlvbiB3YXMgZGVuaWVkLlwiLFxyXG4gICAgXCJDT0xMRUNUSU9OX0NSRUFURV9USVRMRVwiOiBcIkZhaWxlZCB0byBjcmVhdGUgYSBnbG9zc2FyeVwiLFxyXG4gICAgXCJDT0xMRUNUSU9OX0NSRUFURVwiOiBcIkZhaWxlZCB0byBjcmVhdGUgYSBuZXcgZ2xvc3NhcnkuIFBsZWFzZSB0cnkgYWdhaW4uXCIsXHJcbiAgICBcIkNPTExFQ1RJT05fQ1JFQVRFX1NVUFBPUlRcIjogXCIgSWYgdGhlIHByb2JsZW0gY29udGludWVzLCBjb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+c3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIkNPTExFQ1RJT05fSU1QT1JUX1RJVExFXCI6IFwiRmFpbGVkIHRvIGF0dGFjaCB0aGUgZ2xvc3NhcnlcIixcclxuICAgIFwiQ09MTEVDVElPTl9JTVBPUlRcIjogXCJGYWlsZWQgdG8gYXR0YWNoIHRoZSB0ZXJtIGNvbGxlY3Rpb24gd2l0aCBJRDoge3t0ZXJtSWR9fSB0byB0aGUgbWFjaGluZSB0cmFuc2xhdGlvbiBlbmdpbmUuIFBsZWFzZSB0cnkgYWdhaW4uXCIsXHJcbiAgICBcIkVfMTFcIjogXCJEYWlseSB0cmFuc2xhdGlvbiBsaW1pdCBoYXMgYmVlbiByZWFjaGVkLlwiLFxyXG4gICAgXCJFXzExX1NVUFBPUlRcIjogXCIgVG8gaW5jcmVhc2UgdGhlIGRhaWx5IGxpbWl0LCBwbGVhc2UgY29udGFjdCA8YSBocmVmPVxcXCJtYWlsdG86e3tlbWFpbH19XFxcIj48c3Ryb25nPnN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJFXzEyX1RJVExFXCI6IFwiVGV4dCBzaXplIGxpbWl0XCIsXHJcbiAgICBcIkVfMTJcIjogXCJUZXh0IHNpemUgbGltaXQgcmVhY2hlZC4gU2VuZCBsZXNzIHRleHQgaW4gdGhlIHJlcXVlc3QuXCIsXHJcbiAgICBcIkVfMTJfU1VQUE9SVFwiOiBcIiBUbyBpbmNyZWFzZSB0aGUgdGV4dCBzaXplIGxpbWl0LCBwbGVhc2UgY29udGFjdCA8YSBocmVmPVxcXCJtYWlsdG86e3tlbWFpbH19XFxcIj48c3Ryb25nPnN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJFXzIxX1RJVExFXCI6IFwiTWFjaGluZSB0cmFuc2xhdGlvbiBlbmdpbmUgaXMgc3RhcnRpbmdcIixcclxuICAgIFwiRV8yMVwiOiBcIllvdSB3aWxsIGJlIGFibGUgdG8gdHJhbnNsYXRlIGluIGEgZmV3IG1vbWVudHMuXCIsXHJcbiAgICBcIkVfMjJfVElUTEVcIjogXCJNYWNoaW5lIHRyYW5zbGF0aW9uIGVuZ2luZSBub3QgZm91bmRcIixcclxuICAgIFwiRV8yMlwiOiBcIk1hY2hpbmUgdHJhbnNsYXRpb24gZW5naW5lIG5vdCBmb3VuZC5cIixcclxuICAgIFwiRV8yMl9TVVBQT1JUXCI6IFwiIFBsZWFzZSBjb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+c3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIkVfMjNcIjogXCJNYWNoaW5lIHRyYW5zbGF0aW9uIGVuZ2luZSBpcyBub3Qgc3RhcnRlZC5cIixcclxuICAgIFwiRV8yM19TVVBQT1JUXCI6IFwiIENvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz5zdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiRV80MVwiOiBcIlVua25vd24gdGVybSBjb3JwdXMgSUQgcHJvdmlkZWQuIFRlcm0gY29ycHVzIG11c3QgYmUgbGlua2VkIHRvIHRoZSBtYWNoaW5lIHRyYW5zbGF0aW9uIGVuZ2luZVwiLFxyXG4gICAgXCJFXzUwNFwiOiBcIlRyYW5zbGF0aW9uIGhhcyB0aW1lZCBvdXQuIFRyeSBhZ2FpbiBsYXRlci5cIixcclxuICAgIFwiRV81MDRfVElUTEVcIjogXCJUcmFuc2xhdGlvbiB0aW1lb3V0XCIsXHJcbiAgICBcIlRSQU5TTEFUSU9OX0ZBSUxFRF9USVRMRVwiOiBcIlRyYW5zbGF0aW9uIGZhaWxlZFwiLFxyXG4gICAgXCJUUkFOU0xBVElPTl9GQUlMRURcIjogXCJBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VycmVkLlwiLFxyXG4gICAgXCJUUkFOU0xBVElPTl9GQUlMRURfU1VQUE9SVFwiOiBcIiBJZiB0aGUgcHJvYmxlbSBjb250aW51ZXMsIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz5zdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiRklMRV9UUkFOU0xBVElPTl9TVUJTVEFUVVNcIjoge1xyXG4gICAgICBcIkJBRF9GSUxFX0VSUk9SX1RJVExFXCI6IFwiRmFpbGVkIHRvIHRyYW5zbGF0ZSB0aGUgZmlsZVwiLFxyXG4gICAgICBcIkJBRF9GSUxFX0VSUk9SXCI6IFwiVGhlIGZpbGUgaXMgY29ycnVwdGVkIGFuZCBjb3VsZG4ndCBiZSB0cmFuc2xhdGVkLiBDaGVjayB0aGUgZmlsZSBhbmQgdHJ5IGFnYWluLlwiLFxyXG4gICAgICBcIk5PX1RFWFRfRVhUUkFDVEVEX0VSUk9SX1RJVExFXCI6IFwiRmFpbGVkIHRvIGV4dHJhY3QgYW55IHRleHRcIixcclxuICAgICAgXCJOT19URVhUX0VYVFJBQ1RFRF9FUlJPUlwiOiBcIlRoZSBmaWxlIG1heSBiZSBlbXB0eS4gQ2hlY2sgdGhlIGZpbGUgYW5kIHRyeSBhZ2Fpbi5cIixcclxuICAgICAgXCJUUkFDS19DSEFOR0VTX0VOQUJMRURfRVJST1JfVElUTEVcIjogXCJUcmFuc2xhdGlvbiBmYWlsZWQsIGJlY2F1c2Ug4oCYdHJhY2sgY2hhbmdlc+KAmSBpcyB0dXJuZWQgb25cIixcclxuICAgICAgXCJUUkFDS19DSEFOR0VTX0VOQUJMRURfRVJST1JcIjogXCJDaGFuZ2VzIG11c3QgZmlyc3QgYmUgYWNjZXB0ZWQgb3Ig4oCYdHJhY2sgY2hhbmdlc+KAmSB0dXJuZWQgb2ZmIGJlZm9yZSB0cmFuc2xhdGluZyBPZmZpY2UgZmlsZXMuXCIsXHJcbiAgICAgIFwiVU5LTk9XTl9GSUxFX1RZUEVfRVJST1JfVElUTEVcIjogXCJVbmtub3duIGZpbGUgdHlwZVwiLFxyXG4gICAgICBcIlVOS05PV05fRklMRV9UWVBFX0VSUk9SXCI6IFwiRmlsZSB0eXBlIG5vdCByZWNvZ25pemVkLiBUaGUgZmlsZSBleHRlbnNpb24gbWF5IGJlIGluY29ycmVjdCwgb3IgdGhlIGZpbGUgbWF5IGJlIGNvcnJ1cHRlZC5cIlxyXG4gICAgfSxcclxuICAgIFwiRklMRV9VUExPQURcIjoge1xyXG4gICAgICBcIkZJTEVfVVBMT0FEX0VNUFRZX1RJVExFXCI6IFwiVGhlIGZpbGUgaXMgZW1wdHlcIixcclxuICAgICAgXCJGSUxFX1VQTE9BRF9FTVBUWVwiOiBcIlRoZSB1cGxvYWRlZCBmaWxlIFxcXCJ7e2ZpbGVOYW1lfX1cXFwiIGlzIGVtcHR5LiBTZWxlY3QgYSBmaWxlIHdpdGggY29udGVudC5cIixcclxuICAgICAgXCJGSUxFX1VQTE9BRF9NQVhfU0laRV9USVRMRVwiOiBcIkZpbGUgc2l6ZSBsaW1pdFwiLFxyXG4gICAgICBcIkZJTEVfVVBMT0FEX01BWF9TSVpFXCI6IFwiVGhlIHVwbG9hZGVkIGZpbGUgXFxcInt7ZmlsZU5hbWV9fVxcXCIgaXMgdG9vIGJpZy4gTWF4aW11bSBzaXplIHt7bWF4U2l6ZU1CfX1NQlwiLFxyXG4gICAgICBcIkZJTEVfVVBMT0FEX1VOU1VQUE9SVEVEX0ZPUk1BVF9USVRMRVwiOiBcIlVuc3VwcG9ydGVkIGZpbGUgZm9ybWF0XCIsXHJcbiAgICAgIFwiRklMRV9VUExPQURfVU5TVVBQT1JURURfRk9STUFUXCI6IFwiVGhlIHVwbG9hZGVkIGZpbGUgXFxcInt7ZmlsZU5hbWV9fVxcXCIgZm9ybWF0IGlzIG5vdCBzdXBwb3J0ZWQuIFRyYW5zbGF0aW9uIGlzIHN1cHBvcnRlZCBmb3IgdGhlc2UgZG9jdW1lbnQgZm9ybWF0czoge3tmb3JtYXRzfX0uXCIsXHJcbiAgICAgIFwiRklMRV9VUExPQURfVU5TVVBQT1JURURfRk9STUFUX1JFR0lTVEVSX1RJVExFXCI6IFwiVW5zdXBwb3J0ZWQgZmlsZSBmb3JtYXRcIixcclxuICAgICAgXCJGSUxFX1VQTE9BRF9VTlNVUFBPUlRFRF9GT1JNQVRfUkVHSVNURVJcIjogXCJZb3UgbmVlZCBUaWxkZSBNVCBzdWJzY3JpcHRpb24gdG8gdHJhbnNsYXRlIFxcXCJ7e2ZpbGVOYW1lfX1cXFwiIGZpbGUuIDxhIGhyZWY9XFxcInt7cmVnaXN0ZXJMaW5rfX0/e3txdWVyeVN0cmluZ319XFxcIj5zdGFydCB3aXRoIGEgZnJlZSB0cmlhbDwvYT5cIixcclxuICAgICAgXCJFXzQwNF9USVRMRVwiOiBcIkZpbGUgbm90IGZvdW5kXCIsXHJcbiAgICAgIFwiRV80MDRcIjogXCJUaGUgcmVxdWVzdGVkIGZpbGUgZG9lc24ndCBleGlzdFwiLFxyXG4gICAgICBcIkVfNDA0X1JFTU9WRV9USVRMRVwiOiBcIkZhaWxlZCB0byBkZWxldGUgdGhlIGZpbGVcIixcclxuICAgICAgXCJFXzQwNF9SRU1PVkVcIjogXCJGaWxlIGhhcyBhbHJlYWR5IGJlZW4gZGVsZXRlZFwiXHJcbiAgICB9LFxyXG4gICAgXCJBVURJT1wiOiB7XHJcbiAgICAgIFwiTk9fU1BFRUNIX1RJVExFXCI6IFwiTm8gc3BlZWNoXCIsXHJcbiAgICAgIFwiTk9fU1BFRUNIXCI6IFwiWW91ciByZWNvcmRpbmcgd2FzIHN0b3BwZWQuIFdlIGNvdWxkbid0IGhlYXIgeW91LlwiLFxyXG4gICAgICBcIk1BWF9USU1FX0VYQ0VFREVEX1RJVExFXCI6IFwiU3BlZWNoIGxpbWl0XCIsXHJcbiAgICAgIFwiTUFYX1RJTUVfRVhDRUVERURcIjogXCJZb3VyIHJlY29yZGluZyB3YXMgc3RvcHBlZC4gU3BlZWNoIGlucHV0IGlzIGxpbWl0ZWQgdG8ge3t0aW1lU3RyaW5nfX0uXCIsXHJcbiAgICAgIFwiTUlDX05PVF9BTExPV0VEX1RJVExFXCI6IFwiTWljcm9waG9uZSBhY2Nlc3MgZGVuaWVkXCIsXHJcbiAgICAgIFwiTUlDX05PVF9BTExPV0VEXCI6IFwiWW91IGhhdmUgZGVuaWVkIGFjY2VzcyB0byB0aGUgbWljcm9waG9uZS4gQ2hhbmdlIHBlcm1pc3Npb25zIGluIGJyb3dzZXIncyBzZXR0aW5ncy5cIixcclxuICAgICAgXCJNQVhfU0laRV9FWENFRURFRF9USVRMRVwiOiBcIlNwZWVjaCBsaW1pdFwiLFxyXG4gICAgICBcIk1BWF9TSVpFX0VYQ0VFREVEXCI6IFwiWW91ciByZWNvcmRpbmcgd2FzIHN0b3BwZWQgYW5kIHNlbnQgdG8gcHJvY2Vzc2luZy4gU3BlZWNoIGlucHV0IGlzIGxpbWl0ZWQgdG8gKHt7bWF4U2l6ZU1ifX1NQikgc2l6ZS5cIixcclxuICAgICAgXCJDQU5UX1NUQVJUX1JFQ09SRElOR19USVRMRVwiOiBcIkZhaWxlZCB0byBzdGFydCByZWNvcmRpbmdcIixcclxuICAgICAgXCJDQU5UX1NUQVJUX1JFQ09SRElOR1wiOiBcIlVuYWJsZSB0byBzdGFydCByZWNvcmRpbmcuIFBsZWFzZSB0cnkgYWdhaW4uXCIsXHJcbiAgICAgIFwiTk9fVEVYVF9SRUNPR05JWkVEX1RpdGxlXCI6IFwiTm8gc3BlZWNoIHJlY29nbml6ZWRcIixcclxuICAgICAgXCJOT19URVhUX1JFQ09HTklaRURcIjogXCJObyBzcGVlY2ggY291bGQgYmUgcmVjb2duaXplZC4gQ2hlY2sgeW91ciBtaWNyb3Bob25lIGFuZCB0cnkgYWdhaW4uXCJcclxuICAgIH1cclxuICB9LFxyXG4gIFwiUkFUSU5HXCI6IHt9LFxyXG4gIFwiTEFOR1VBR0VTXCI6IHtcclxuICAgIFwiQVJcIjogXCJBcmFiaWNcIixcclxuICAgIFwiTFZcIjogXCJMYXR2aWFuXCIsXHJcbiAgICBcIkVUXCI6IFwiRXN0b25pYW5cIixcclxuICAgIFwiREFcIjogXCJEYW5pc2hcIixcclxuICAgIFwiRklcIjogXCJGaW5uaXNoXCIsXHJcbiAgICBcIklTXCI6IFwiSWNlbGFuZGljXCIsXHJcbiAgICBcIkxUXCI6IFwiTGl0aHVhbmlhblwiLFxyXG4gICAgXCJOQlwiOiBcIk5vcndlZ2lhblwiLFxyXG4gICAgXCJTVlwiOiBcIlN3ZWRpc2hcIixcclxuICAgIFwiQkVcIjogXCJCZWxvcnVzc2lhblwiLFxyXG4gICAgXCJCR1wiOiBcIkJ1bGdhcmlhblwiLFxyXG4gICAgXCJDU1wiOiBcIkN6ZWNoXCIsXHJcbiAgICBcIkhVXCI6IFwiSHVuZ2FyaWFuXCIsXHJcbiAgICBcIlJVXCI6IFwiUnVzc2lhblwiLFxyXG4gICAgXCJNT1wiOiBcIk1vbGRhdmlhblwiLFxyXG4gICAgXCJQTFwiOiBcIlBvbGlzaFwiLFxyXG4gICAgXCJTS1wiOiBcIlNsb3Zha1wiLFxyXG4gICAgXCJVS1wiOiBcIlVrcmFpbmlhblwiLFxyXG4gICAgXCJOTFwiOiBcIkR1dGNoXCIsXHJcbiAgICBcIkVOXCI6IFwiRW5nbGlzaFwiLFxyXG4gICAgXCJGUlwiOiBcIkZyZW5jaFwiLFxyXG4gICAgXCJERVwiOiBcIkdlcm1hblwiLFxyXG4gICAgXCJHQVwiOiBcIklyaXNoXCIsXHJcbiAgICBcIkVMXCI6IFwiR3JlZWtcIixcclxuICAgIFwiSVRcIjogXCJJdGFsaWFuXCIsXHJcbiAgICBcIk1UXCI6IFwiTWFsdGVzZVwiLFxyXG4gICAgXCJQVFwiOiBcIlBvcnR1Z3Vlc2VcIixcclxuICAgIFwiU1JcIjogXCJTZXJiaWFuXCIsXHJcbiAgICBcIlNMXCI6IFwiU2xvdmVuaWFuXCIsXHJcbiAgICBcIkVTXCI6IFwiU3BhbmlzaFwiLFxyXG4gICAgXCJaSFwiOiBcIkNoaW5lc2VcIixcclxuICAgIFwiSkFcIjogXCJKYXBhbmVzZVwiLFxyXG4gICAgXCJLT1wiOiBcIktvcmVhblwiLFxyXG4gICAgXCJUUlwiOiBcIlR1cmtpc2hcIixcclxuICAgIFwiSFJcIjogXCJDcm9hdGlhblwiLFxyXG4gICAgXCJST1wiOiBcIlJvbWFuaWFuXCIsXHJcbiAgICBcIlVaXCI6IFwiVXpiZWtcIixcclxuICAgIFwiSURcIjogXCJJbmRvbmVzaWFuXCJcclxuICB9LFxyXG4gIFwiQVJJQV9MQUJFTFNcIjoge1xyXG4gICAgXCJDTE9TRV9CVVRUT05cIjogXCJDbGVhclwiLFxyXG4gICAgXCJDTEVBUl9OT1RJRklDQVRJT05cIjogXCJDbG9zZSBhbGVydFwiLFxyXG4gICAgXCJDTEVBUl9TT1VSQ0VcIjogXCJDbGVhciBlbnRlcmVkIHRleHRcIixcclxuICAgIFwiQ0xPU0VfRElBTE9HXCI6IFwiQ2xvc2UgZGlhbG9nXCIsXHJcbiAgICBcIkNMRUFSX0ZJTEVTXCI6IFwiQ2xlYXIgdXBsb2FkZWQgZmlsZXNcIixcclxuICAgIFwiU0hPV19FWFRFTlNJT05TXCI6IFwiU2hvdyBvdGhlciBkb3dubG9hZCBvcHRpb25zXCIsXHJcbiAgICBcIkNPUFlcIjogXCJDb3B5IHRvIGNsaXBib2FyZFwiLFxyXG4gICAgXCJPUEVOX0lOX05FV1wiOiBcIk9wZW4gaW4gbmV3IHRhYlwiLFxyXG4gICAgXCJTV0FQX0xBTkdVQUdFU1wiOiBcIlN3YXAgbGFuZ3VhZ2VzXCIsXHJcbiAgICBcIk9USEVSX0xBTkdVQUdFU19UUklHR0VSXCI6IFwiU2hvdyBvdGhlciBsYW5ndWFnZXNcIlxyXG4gIH0sXHJcbiAgXCJUT09MVElQU1wiOiB7XHJcbiAgICBcIkNPUFlcIjogXCJDb3B5IHRvIGNsaXBib2FyZFwiLFxyXG4gICAgXCJTV0FQX0xBTkdVQUdFU1wiOiBcIlN3YXAgbGFuZ3VhZ2VzXCJcclxuICB9LFxyXG4gIFwiUERGX0NPTlZFUlNJT05cIjoge1xyXG4gICAgXCJUSVRMRV8xXCI6IFwiUERGIHRyYW5zbGF0aW9uXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8xXzFcIjogXCJXaGVuIGEgLnBkZiBmaWxlIGlzIHVwbG9hZGVkIGZvciB0cmFuc2xhdGlvbiBpdCBpcyBjb252ZXJ0ZWQgaW50byBhIHRyYW5zbGF0YWJsZSBmb3JtYXQuIEJvdGggc2Nhbm5lZCBhbmQgbmF0aXZlIC5wZGZzIGFyZSBzdXBwb3J0ZWQuIFRyYW5zbGF0aW9ucyBjYW4gYmUgZG93bmxvYWRlZCBpbiAuZG9jeCwgLnRteCBvciAucGRmIGZvcm1hdHMgYW5kIHdpbGwgcmV0YWluIHRoZSBiYXNpYyBmb3JtYXR0aW5nLiBGb3JtYXR0aW5nIGluIHRoZSB0cmFuc2xhdGVkIC5kb2N4IGFuZCAucGRmIGZpbGVzIG1heSBzbGlnaHRseSBkaWZmZXIuIFwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMV8yXCI6IFwiQXMgY29udmVyc2lvbiB0YWtlcyB0aW1lLCB0byBzcGVlZCB0aGluZ3MgdXAgc3BsaXQgeW91ciAucGRmcyBhbmQgZGVsZXRlIHRoZSBwYWdlcyB3aXRoIG5vIHRyYW5zbGF0YWJsZSBpbmZvcm1hdGlvbi4gRmFjdG9ycyBsaWtlIHRoZSBudW1iZXIgb2YgcGFnZXMsIHF1YWxpdHkgYW5kIHRleHQgZGVuc2l0eSBhZmZlY3QgdGhlIHByb2Nlc3NpbmcgdGltZS5cIixcclxuICAgIFwiUEFSQUdSQVBIXzFfM1wiOiBcIlRvIGltcHJvdmUgdHJhbnNsYXRpb24gcGVyZm9ybWFuY2UsIHdlIHJlY29tbWVuZCB0byBkb3dubG9hZCB0aGUgY29udmVydGVkIGRvY3VtZW50IGluIHRoZSBvcmlnaW5hbCBsYW5ndWFnZSBhbmQgZml4IGl0IG1hbnVhbGx5IGJlZm9yZSByZS11cGxvYWRpbmcgZm9yIHRyYW5zbGF0aW9uLlwiLFxyXG4gICAgXCJJTUFHRV9BTFRfMVwiOiBcIlNvdXJjZSBQREYgZG93bmxvYWQgZXhhbXBsZVwiLFxyXG5cclxuICAgIFwiVElUTEVfMlwiOiBcIlBERiBjb252ZXJzaW9uXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8yXzFcIjogXCJUaGUgZG9jdW1lbnQgaXMgYW5hbHlzZWQgYW5kIGl0cyBjb250ZW50IGlzIHNwbGl0IGluIHRleHQsIHRhYmxlIGFuZCBpbWFnZS9iYWNrZ3JvdW5kIGltYWdlIGFyZWFzLiBUaGV5IGFyZSBhbmFseXNlZCBmdXJ0aGVyIHRvIGRldGVybWluZSB3aGljaCBjb250ZW50IHNob3VsZCBiZSByZWNvZ25pemVkIGFzIHRleHQuXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8yXzJcIjogXCJUZXh0dWFsIGRhdGEgYXJlIGFjcXVpcmVkIGJ5IG1lYW5zIG9mIE9DUiBvciBvcHRpY2FsIGNoYXJhY3RlciByZWNvZ25pdGlvbi4gRXZlcnkgY2hhcmFjdGVyIGlzIHJlY29nbml6ZWQgZGVwZW5kaW5nIG9uIGl0cyB2aXN1YWwgY2hhcmFjdGVyaXN0aWNzLCB0aGVuIGFzc2VtYmxlZCBpbnRvIHdvcmRzIGFuZCBzZW50ZW5jZXMuXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8yXzNcIjogXCJSZWNvZ25pdGlvbiBpcyBhZmZlY3RlZCBieSBtYW55IGZhY3RvcnMsIGluY2x1ZGluZzpcIixcclxuICAgIFwiTElfMV8xXCI6IFwiUXVhbGl0eSBvZiB0aGUgc2Nhbm5lZCBkb2N1bWVudCAoYmx1cnJlZCBvciBkZWZvcm1lZCB0ZXh0LCBpbWFnZSBub2lzZSwgaW1hZ2UgcmVzb2x1dGlvbiwgY29udHJhc3QgZXRjLikuIEZvciB0aGUgYmVzdCByZXN1bHQsIC5wZGZzIHNob3VsZCBiZSBhdCBsZWFzdCAzMDAgZHBpLCB1bnNrZXdlZCBhbmQgbm9pc2UgZnJlZS5cIixcclxuICAgIFwiTElfMV8yXCI6IFwiRm9udCBzaXplLiBTaXplcyBzbWFsbGVyIHRoYW4gOSBwb2ludHMgbWlnaHQgYmUgcG9vcmx5IHJlY29nbml6ZWQuIFwiLFxyXG4gICAgXCJMSV8xXzNcIjogXCJSYXJlIGFuZCBvcmlnaW5hbCBmb250cy4gTGVzcyBjb21tb24gZm9udHMgbWF5IGJlIHVucmVjb2duaXphYmxlIG9yIHBlcmZvcm0gd29yc2UuXCIsXHJcbiAgICBcIkxJXzFfNFwiOiBcIkNvbXBsZXhpdHkgb2YgdGhlIGRvY3VtZW50IHN0cnVjdHVyZSBhbmQgZm9ybWF0dGluZy5cIixcclxuXHJcbiAgICBcIlRJVExFXzNcIjogXCJJbXByb3ZpbmcgdHJhbnNsYXRpb24gcGVyZm9ybWFuY2VcIixcclxuICAgIFwiUEFSQUdSQVBIXzNfMVwiOiBcIlRoZSBjb252ZXJzaW9uIHByb2Nlc3MgaXMgdmVyeSBjb21wbGV4IGFuZCBtYXkgYmUgYWZmZWN0ZWQgYnkgdmFyaW91cyBlcnJvcnMgcmVzdWx0aW5nIGZyb20gdGhlIGlucHV0IGRvY3VtZW50LiBcIixcclxuICAgIFwiUEFSQUdSQVBIXzNfMlwiOiBcIklzc3VlcyB0byBsb29rIGZvcjpcIixcclxuICAgIFwiTElfMl8xXCI6IFwiSW5jb3JyZWN0bHkgcmVjb2duaXplZCB3b3Jkcy5cIixcclxuICAgIFwiTElfMl8yXCI6IFwiSW5jb3JyZWN0IHdvcmQgYm91bmRhcmllcy5cIixcclxuICAgIFwiTElfMl8zXCI6IFwiU2VudGVuY2VzIHNwYW5uaW5nIG11bHRpcGxlIGNvbHVtbnMsIGxpbmVzIG9yIHBhZ2VzIHNwbGl0IGludG8gZGlmZmVyZW50IHRleHR1YWwgb2JqZWN0cy5cIixcclxuICAgIFwiTElfMl80XCI6IFwiTWlzcGxhY2VkIHBhZ2UgZm9vdGVycyBhbmQgaGVhZGVycy5cIixcclxuICAgIFwiTElfMl81XCI6IFwiSW5jb3JyZWN0IG51bWJlcmluZy5cIixcclxuICAgIFwiTElfMl82XCI6IFwiVGFibGVzIHJlY29nbml6ZWQgYXMgYmFja2dyb3VuZCBpbWFnZXMgd2l0aCB0ZXh0dWFsIGNvbnRlbnQgcGxhY2VkIGludG8gZGlmZmVyZW50IHRleHR1YWwgb2JqZWN0cy5cIixcclxuICAgIFwiTElfMl83XCI6IFwiU29tZSBkaWFncmFtcyByZWNvZ25pemVkIGFzIGltYWdlcyB3aXRob3V0IGFueSB0ZXh0dWFsIGNvbnRlbnQuXCIsXHJcbiAgICBcIkxJXzJfOFwiOiBcIlNlcGFyYXRvcnMsIGJvcmRlcnMgb3Igb3RoZXIgaG9yaXpvbnRhbCBsaW5lcyByZWNvZ25pemVkIGFzIHN0cmlrZXRocm91Z2ggb3IgdW5kZXJsaW5lZCB0ZXh0LlwiLFxyXG4gICAgXCJMSV8yXzlcIjogXCJGb3JtYXR0aW5nIG9mIHRoZSB0YWJsZSBvZiBjb250ZW50cyBvciBzaW1pbGFyIGxpc3RzIGNvbGxhcHNlZCBvciByZWNvZ25pemVkIGFzIHN0cmlrZXRocm91Z2ggb3IgdW5kZXJsaW5lZCB0ZXh0LlwiLFxyXG5cclxuICAgIFwiUEFSQUdSQVBIXzRfMVwiOiBcIjxiPk5vdGUgdGhhdCB0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHdpbGwgbm90IHJldGFpbiBhbGwgZGV0YWlscyBvZiB0aGUgb3JpZ2luYWwgZm9ybWF0dGluZy48L2I+IFNvbWUgaW1hZ2VzLCB0YWJsZXMgb3IgZGlhZ3JhbXMgbWF5IGJlY29tZSBkaXN0b3J0ZWQgb3Igc2ltcGxpZmllZC4gRm9udHMgaW4gdGhlIHRyYW5zbGF0ZWQgZG9jdW1lbnQgd2lsbCBub3QgYmUgdGhlIHNhbWUgYXMgaW4gdGhlIG9yaWdpbmFsLCBidXQgbWF5IGJlIHNpbWlsYXIuIEluY29ycmVjdCBmb250IHNpemUgbWF5IGJlIHJlY29nbml6ZWQuIFNwZWNpZmljIFdvcmQgZm9ybWF0dGluZyBsaWtlIGhlYWRpbmdzLCB0YWJsZXMgb2YgY29udGVudCwgaGVhZGVycyBhbmQgZm9vdGVycywgbGFiZWxzLCBmb3JtcyBldGMuIHdpbGwgYmUgc3R5bGVkIHRvIGxvb2sgbGlrZSB0aGUgb3JpZ2luYWwsIGJ1dCB3aWxsIG5vdCBtYXRjaCB0aGUgb3JpZ2luYWwgY29tcGxldGVseSAoZS5nLiB0aXRsZXMgd2lsbCBiZSBib2xkIGFuZCBpbiBsYXJnZXIgZm9udCwgYnV0IHdpbGwgbm90IGJlIHNldCB0byB0aGUgaGVhZGluZyBzdHlsZSkuXCIsXHJcblxyXG4gICAgXCJDTE9TRVwiOiBcIkNsb3NlIGRpYWxvZ1wiXHJcbiAgfSxcclxuICBcIklNQUdFX0NPTlZFUlNJT05cIjoge1xyXG4gICAgXCJUSVRMRV8xXCI6IFwiSW1hZ2UgdHJhbnNsYXRpb25cIixcclxuICAgIFwiUEFSQUdSQVBIXzFfMVwiOiBcIldoZW4gYW4gaW1hZ2UgZmlsZSBpcyB1cGxvYWRlZCBmb3IgdHJhbnNsYXRpb24gaXQgaXMgY29udmVydGVkIGludG8gYSB0cmFuc2xhdGFibGUgZm9ybWF0LiBUcmFuc2xhdGlvbnMgY2FuIGJlIGRvd25sb2FkZWQgaW4gLmRvY3ggb3IgLnRteCBmb3JtYXRzIGFuZCB3aWxsIHJldGFpbiB0aGUgYmFzaWMgZm9ybWF0dGluZy5cIixcclxuICAgIFwiUEFSQUdSQVBIXzFfMlwiOiBcIjxiPlN1cHBvcnRlZCBpbWFnZSBmb3JtYXRzOjwvYj4gLmpwZywgLmpwZWcsIC5wbmcgYW5kIC5ibXAuXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8xXzNcIjogXCJUbyBpbXByb3ZlIHRyYW5zbGF0aW9uIHBlcmZvcm1hbmNlLCB3ZSByZWNvbW1lbmQgdG8gZG93bmxvYWQgdGhlIGNvbnZlcnRlZCBkb2N1bWVudCBpbiB0aGUgb3JpZ2luYWwgbGFuZ3VhZ2UgYW5kIGZpeCBpdCBtYW51YWxseSBiZWZvcmUgcmUtdXBsb2FkaW5nIGZvciB0cmFuc2xhdGlvbi5cIixcclxuICAgIFwiSU1BR0VfQUxUXzFcIjogXCJTb3VyY2UgaW1hZ2UgZG93bmxvYWQgZXhhbXBsZVwiLFxyXG5cclxuICAgIFwiVElUTEVfMlwiOiBcIkltYWdlIGNvbnZlcnNpb25cIixcclxuICAgIFwiUEFSQUdSQVBIXzJfMVwiOiBcIlRoZSBpbWFnZSBpcyBhbmFseXNlZCBhbmQgaXRzIGNvbnRlbnQgaXMgc3BsaXQgaW4gdGV4dCwgdGFibGUgYW5kIGltYWdlL2JhY2tncm91bmQgaW1hZ2UgYXJlYXMuIFRoZXkgYXJlIGFuYWx5c2VkIGZ1cnRoZXIgdG8gZGV0ZXJtaW5lIHdoaWNoIGNvbnRlbnQgc2hvdWxkIGJlIHJlY29nbml6ZWQgYXMgdGV4dC5cIixcclxuICAgIFwiUEFSQUdSQVBIXzJfMlwiOiBcIlRleHR1YWwgZGF0YSBhcmUgYWNxdWlyZWQgYnkgbWVhbnMgb2YgT0NSIG9yIG9wdGljYWwgY2hhcmFjdGVyIHJlY29nbml0aW9uLiBFdmVyeSBjaGFyYWN0ZXIgaXMgcmVjb2duaXplZCBkZXBlbmRpbmcgb24gaXRzIHZpc3VhbCBjaGFyYWN0ZXJpc3RpY3MsIHRoZW4gYXNzZW1ibGVkIGludG8gd29yZHMgYW5kIHNlbnRlbmNlcy5cIixcclxuICAgIFwiUEFSQUdSQVBIXzJfM1wiOiBcIlJlY29nbml0aW9uIGlzIGFmZmVjdGVkIGJ5IG1hbnkgZmFjdG9ycywgaW5jbHVkaW5nOlwiLFxyXG4gICAgXCJMSV8xXzFcIjogXCJRdWFsaXR5IG9mIHRoZSBzY2FubmVkIGltYWdlIChibHVycmVkIG9yIGRlZm9ybWVkIHRleHQsIGltYWdlIG5vaXNlLCBpbWFnZSByZXNvbHV0aW9uLCBjb250cmFzdCBldGMuKS4gRm9yIHRoZSBiZXN0IHJlc3VsdCwgaW1hZ2VzIHNob3VsZCBiZSBhdCBsZWFzdCAzMDAgZHBpLCB1bnNrZXdlZCBhbmQgbm9pc2UgZnJlZS5cIixcclxuICAgIFwiTElfMV8yXCI6IFwiRm9udCBzaXplLiBTaXplcyBzbWFsbGVyIHRoYW4gOSBwb2ludHMgbWlnaHQgYmUgcG9vcmx5IHJlY29nbml6ZWQuIFwiLFxyXG4gICAgXCJMSV8xXzNcIjogXCJSYXJlIGFuZCBvcmlnaW5hbCBmb250cy4gTGVzcyBjb21tb24gZm9udHMgbWF5IGJlIHVucmVjb2duaXphYmxlIG9yIHBlcmZvcm0gd29yc2UuXCIsXHJcbiAgICBcIkxJXzFfNFwiOiBcIkNvbXBsZXhpdHkgb2YgdGhlIGRvY3VtZW50IHN0cnVjdHVyZSBhbmQgZm9ybWF0dGluZy5cIixcclxuXHJcbiAgICBcIlRJVExFXzNcIjogXCJJbXByb3ZpbmcgdHJhbnNsYXRpb24gcGVyZm9ybWFuY2VcIixcclxuICAgIFwiUEFSQUdSQVBIXzNfMVwiOiBcIlRoZSBjb252ZXJzaW9uIHByb2Nlc3MgaXMgdmVyeSBjb21wbGV4IGFuZCBtYXkgYmUgYWZmZWN0ZWQgYnkgdmFyaW91cyBlcnJvcnMgcmVzdWx0aW5nIGZyb20gdGhlIGlucHV0IGRvY3VtZW50LiBcIixcclxuICAgIFwiUEFSQUdSQVBIXzNfMlwiOiBcIklzc3VlcyB0byBsb29rIGZvcjpcIixcclxuICAgIFwiTElfMl8xXCI6IFwiSW5jb3JyZWN0bHkgcmVjb2duaXplZCB3b3Jkcy5cIixcclxuICAgIFwiTElfMl8yXCI6IFwiSW5jb3JyZWN0IHdvcmQgYm91bmRhcmllcy5cIixcclxuICAgIFwiTElfMl8zXCI6IFwiU2VudGVuY2VzIHNwYW5uaW5nIG11bHRpcGxlIGNvbHVtbnMsIGxpbmVzIG9yIHBhZ2VzIHNwbGl0IGludG8gZGlmZmVyZW50IHRleHR1YWwgb2JqZWN0cy5cIixcclxuICAgIFwiTElfMl80XCI6IFwiTWlzcGxhY2VkIHBhZ2UgZm9vdGVycyBhbmQgaGVhZGVycy5cIixcclxuICAgIFwiTElfMl81XCI6IFwiSW5jb3JyZWN0IG51bWJlcmluZy5cIixcclxuICAgIFwiTElfMl82XCI6IFwiVGFibGVzIHJlY29nbml6ZWQgYXMgYmFja2dyb3VuZCBpbWFnZXMgd2l0aCB0ZXh0dWFsIGNvbnRlbnQgcGxhY2VkIGludG8gZGlmZmVyZW50IHRleHR1YWwgb2JqZWN0cy5cIixcclxuICAgIFwiTElfMl83XCI6IFwiU29tZSBkaWFncmFtcyByZWNvZ25pemVkIGFzIGltYWdlcyB3aXRob3V0IGFueSB0ZXh0dWFsIGNvbnRlbnQuXCIsXHJcbiAgICBcIkxJXzJfOFwiOiBcIlNlcGFyYXRvcnMsIGJvcmRlcnMgb3Igb3RoZXIgaG9yaXpvbnRhbCBsaW5lcyByZWNvZ25pemVkIGFzIHN0cmlrZXRocm91Z2ggb3IgdW5kZXJsaW5lZCB0ZXh0LlwiLFxyXG5cclxuICAgIFwiUEFSQUdSQVBIXzRfMVwiOiBcIjxiPk5vdGUgdGhhdCB0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHdpbGwgbm90IHJldGFpbiBhbGwgZGV0YWlscyBvZiB0aGUgb3JpZ2luYWwgZm9ybWF0dGluZy48L2I+IFNvbWUgaW1hZ2VzLCB0YWJsZXMgb3IgZGlhZ3JhbXMgbWF5IGJlY29tZSBkaXN0b3J0ZWQgb3Igc2ltcGxpZmllZC4gRm9udHMgaW4gdGhlIHRyYW5zbGF0ZWQgZG9jdW1lbnQgd2lsbCBub3QgYmUgdGhlIHNhbWUgYXMgaW4gdGhlIG9yaWdpbmFsLCBidXQgbWF5IGJlIHNpbWlsYXIuIEluY29ycmVjdCBmb250IHNpemUgbWF5IGJlIHJlY29nbml6ZWQuXCIsXHJcblxyXG4gICAgXCJDTE9TRVwiOiBcIkNsb3NlIGRpYWxvZ1wiXHJcbiAgfSxcclxuICBcIldFQlRSQU5TTEFURVwiOiB7XHJcbiAgICBcIkJBQ0tcIjogXCJCYWNrIHRvIFRyYW5zbGF0b3JcIixcclxuICAgIFwiQUREUkVTU1wiOiBcIkFkZHJlc3NcIixcclxuICAgIFwiTE9BRF9QQUdFXCI6IFwiTG9hZCBwYWdlXCIsXHJcbiAgICBcIlJFU1RPUkVcIjogXCJSZXN0b3JlXCIsXHJcbiAgICBcIkNBTkNFTFwiOiBcIkNhbmNlbFwiXHJcbiAgfSxcclxuICBcIlRFUk1fQ09MTEVDVElPTlNcIjoge1xyXG4gICAgXCJUSVRMRVwiOiBcIlNlbGVjdCwgZWRpdCBhbmQgbWFuYWdlIGdsb3NzYXJpZXNcIixcclxuICAgIFwiVElUTEVfRU1QVFlcIjogXCJDcmVhdGUgeW91ciBmaXJzdCBnbG9zc2FyeVwiLFxyXG4gICAgXCJUSVRMRV9NT0JJTEVcIjogXCJTZWxlY3QgZ2xvc3Nhcmllc1wiLFxyXG4gICAgXCJERVNDUklQVElPTl8xXCI6IFwiU2VsZWN0IHdoaWNoIHRlcm0gY29sbGVjdGlvbiB0byB1c2UgZm9yIHRoaXMgcHJvamVjdC4gXCIsXHJcbiAgICBcIkRFU0NSSVBUSU9OXzJcIjogXCIgWW91IGNhbiBhZGQgbmV3IGNvbGxlY3Rpb25zIGFuZCBlZGl0IGV4aXN0aW5nIG9uZXNcIixcclxuICAgIFwiREVTQ1JJUFRJT05fMl9NT0JJTEVcIjogXCIgVXNlIHRoZSBkZXNrdG9wIHZlcnNpb24gdG8gY3JlYXRlIG5ldyBjb2xsZWN0aW9ucyBvciBlZGl0IGV4aXN0aW5nIG9uZXMuXCIsXHJcbiAgICBcIkdMT1NTQVJZXCI6IFwiR2xvc3Nhcnk6IFwiLFxyXG4gICAgXCJTRUxFQ1RFRF9OT05FXCI6IFwiTm9uZVwiLFxyXG4gICAgXCJFRElUXCI6IFwiRWRpdFwiLFxyXG4gICAgXCJDUkVBVEVcIjogXCJOZXcgZ2xvc3NhcnlcIixcclxuICAgIFwiREVTQ1JJUFRJT05fRU1QVFlcIjogXCJZb3UgY2FuIHNldCB1cCBleGFjdGx5IGhvdyB5b3Ugd2FudCB7e2FwcE5hbWV9fSB0byB0cmFuc2xhdGUgd29yZHMgYW5kIHBocmFzZXMgc3BlY2lmaWMgdG8geW91ciBjb21wYW55IG9yIGluZHVzdHJ5IGJ5IGFkZGluZyB0aGVtIHRvIHlvdXIgdW5pcXVlIHRlcm0gY29sbGVjdGlvbnMuXCIsXHJcbiAgICBcIkRFU0NSSVBUSU9OX0VNUFRZX01PQklMRVwiOiBcIlVzZSB0aGUgZGVza3RvcCB2ZXJzaW9uIHRvIHNldCB1cCBleGFjdGx5IGhvdyB5b3Ugd2FudCBUaWxkZSBNVCB0byB0cmFuc2xhdGUgd29yZHMgYW5kIHBocmFzZXMgc3BlY2lmaWMgdG8geW91ciBjb21wYW55IG9yIGluZHVzdHJ5IGJ5IGFkZGluZyB0aGVtIHRvIHlvdXIgdW5pcXVlIHRlcm0gY29sbGVjdGlvbnMuXCIsXHJcbiAgICBcIkVOVFJZX0NPVU5UXCI6IFwiRW50cmllczoge3tjb3VudH19XCIsXHJcbiAgICBcIkVOVFJZX0NPVU5UX1dJVEhfTEFOR1VHQUVTXCI6IFwiRW50cmllczoge3tjb3VudH19IFt7e2xhbmd1YWdlc319XVwiLFxyXG4gICAgXCJNVF9FTlRSWV9DT1VOVFwiOiBcIkltcG9ydGVkOiB7e2NvdW50fX1cIixcclxuICAgIFwiREVGQVVMVF9DT0xMRUNUSU9OX05BTUVcIjogXCJNeSB0ZXJtIGNvbGxlY3Rpb25cIixcclxuICAgIFwiU1lOQ1wiOiBcIlN5bmNcIixcclxuICAgIFwiU1lOQ19FUlJPUlwiOiBcIlJldHJ5XCIsXHJcbiAgICBcIkFSSUFfTEFCRUxTXCI6IHtcclxuICAgICAgXCJSQURJT19HUk9VUFwiOiBcIlNlbGVjdCBhIHRlcm0gY29sbGVjdGlvblwiLFxyXG4gICAgICBcIk9USEVSX0NPTExFQ1RJT05TXCI6IFwiT3BlbiB0aGUgY29sbGVjdGlvbiBtZW51XCJcclxuICAgIH0sXHJcbiAgICBcIkNSRUFURV9ESUFMT0dcIjoge1xyXG4gICAgICBcIkNBTkNFTFwiOiBcIkNhbmNlbFwiLFxyXG4gICAgICBcIkNPTExFQ1RJT05fTkFNRV9MQUJFTFwiOiBcIlRlcm0gY29sbGVjdGlvbiBuYW1lXCIsXHJcbiAgICAgIFwiQ1JFQVRFXCI6IFwiQ3JlYXRlXCIsXHJcbiAgICAgIFwiREVTQ1JJUFRJT05fMVwiOiBcIkFmdGVyIG5hbWluZyB5b3VyIHRlcm0gY29sbGVjdGlvbiwgeW91IHdpbGwgYmUgcmVkaXJlY3RlZCB0byBUaWxkZSBUZXJtIHRvIGFkZCBuZXcgdGVybXMuIEFmdGVyIGNvbXBsZXRpb24sIHJldHVybiB0byBUaWxkZSBNVCB0byB1c2UgdGhlIG5ldyB0ZXJtcyBpbiB5b3VyIHRyYW5zbGF0aW9uIHByb2plY3RzLlwiLFxyXG4gICAgICBcIkRFU0NSSVBUSU9OXzJcIjogXCI8aT4qQUkgaXMgbm90IHBlcmZlY3QgYW5kIGNhbiBtYWtlIG9jY2FzaW9uYWwgbWlzdGFrZXMuIFlvdXIgdW5pcXVlIHRlcm1zIHdpbGwgYmUgdXNlZCBjb3JyZWN0bHkgd2l0aCA5NSUgYWNjdXJhY3kuPC9pPlwiLFxyXG4gICAgICBcIlRJVExFXCI6IFwiQ3JlYXRlIGEgbmV3IGdsb3NzYXJ5XCIsXHJcbiAgICAgIFwiQ09MTEVDVElPTl9OQU1FX0VSUk9SXCI6IFwiVGl0bGUgc2hvdWxkIGJlIGF0IGxlYXN0IHt7bWluTGVuZ3RofX0gc3ltYm9scyBsb25nIGFuZCBub3QgbG9uZ2VyIHRoYW4ge3ttYXhMZW5ndGh9fSBzeW1ib2xzXCJcclxuICAgIH0sXHJcbiAgICBcIlRPT0xUSVBTXCI6IHtcclxuICAgICAgXCJFRElUXCI6IFwiWW91IHdpbGwgYmUgcmVkaXJlY3RlZCB0byB0ZXJtaW5vbG9neSBwb3J0YWwgdGhhdCB3aWxsIGJlIG9wZW5lZCBpbiBhIG5ldyB0YWJcIixcclxuICAgICAgXCJFTlRSWV9DT1VOVFwiOiBcIk51bWJlciBvZiBlbnRyaWVzIGFkZGVkIHRvIHRoZSB0ZXJtIGNvbGxlY3Rpb25cIixcclxuICAgICAgXCJNVF9FTlRSWV9DT1VOVFwiOiBcIk51bWJlciBvZiBlbnRyaWVzIHVzZWQgZm9yIG1hY2hpbmUgdHJhbnNsYXRpb25cIixcclxuICAgICAgXCJJTVBPUlRJTkdcIjogXCJJbXBvcnQgb2YgdGhlIHRlcm0gY29sbGVjdGlvbiBpbiBwcm9ncmVzcywgdGhlIGNvbGxlY3Rpb24gd2lsbCBub3QgYmUgYXZhaWxhYmxlIHVudGlsIGl0IGlzIGNvbXBsZXRlZC5cIixcclxuICAgICAgXCJOT19FTlRSSUVTXCI6IFwiVGVybSBjb2xsZWN0aW9uIGNhbm5vdCBiZSB1c2VkOiBubyB0ZXJtcyBpbiBzb3VyY2UgbGFuZ3VhZ2VcIixcclxuICAgICAgXCJTWU5DXCI6IFwiVXBkYXRlIHRoZSB0ZXJtIGNvbGxlY3Rpb25cIixcclxuICAgICAgXCJTWU5DSU5HXCI6IFwiVGVybSBjb2xsZWN0aW9uIGlzIHN5bmNlZCwgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoZSBjb2xsZWN0aW9uIHdpbGwgYmUgdXNlZFwiLFxyXG4gICAgICBcIkFUVEFDSF9UT19TWVNURU1fRVJST1JcIjogXCJBbiBlcnJvciBoYXMgb2NjdXJlZCB3aGlsZSBpbXBvcnRpbmcgdGhlIHRlcm0gY29sbGVjdGlvblwiXHJcbiAgICB9LFxyXG4gICAgXCJQUk9NT1RJT05cIjoge1xyXG4gICAgICBcIlRJVExFXCI6IFwiQ3JlYXRlLCBlZGl0IGFuZCBtYW5hZ2UgZ2xvc3Nhcmllc1wiLFxyXG4gICAgICBcIkRFU0NSSVBUSU9OXCI6IFwiR2xvc3NhcmllcyBhcmUgYXZhaWxhYmxlIGZvciBUaWxkZSBNVCBtZW1iZXJzLlwiLFxyXG4gICAgICBcIlNUQVJUX1RSSUFMXCI6IFwiU3RhcnQgd2l0aCBhIGZyZWUgdHJpYWxcIixcclxuICAgICAgXCJMRUFSTl9NT1JFXCI6IFwiTGVhcm4gbW9yZSBhYm91dCBnbG9zc2FyaWVzXCJcclxuICAgIH1cclxuICB9LFxyXG4gIFwiRE9NQUlOU1wiOiB7XHJcbiAgICBcIk9QRU5fTElTVF9BUklBX0xBQkVMXCI6IFwiT3BlbiBkb21haW4gbGlzdFwiLFxyXG4gICAgXCJUSVRMRVwiOiBcIkRvbWFpbjpcIixcclxuICAgIFwiTEFXXCI6IFwiTGF3XCIsXHJcbiAgICBcIkRZTkFNSUNfTEVBUk5JTkdcIjogXCJEeW5hbWljIGxlYXJuaW5nXCIsXHJcbiAgICBcIkJVU0lORVNTXCI6IFwiQnVzaW5lc3NcIixcclxuICAgIFwiR0VORVJBTFwiOiBcIkdlbmVyYWxcIixcclxuICAgIFwiQVVUT1wiOiBcIkF1dG9kZXRlY3RcIixcclxuICAgIFwiU1BEXCI6IFwiRVUgRm9ybWFsIExhbmd1YWdlXCIsXHJcbiAgICBcIkdFTlwiOiBcIkdlbmVyYWwgVGV4dFwiLFxyXG4gICAgXCJFQ0JcIjogXCJGaW5hbmNlXCIsXHJcbiAgICBcIkVDSlwiOiBcIkV1cm9wZWFuIENvdXJ0IG9mIEp1c3RpY2VcIixcclxuICAgIFwiUFVCSEVBTFRIXCI6IFwiUHVibGljIEhlYWx0aFwiLFxyXG4gICAgXCJCVUJBXCI6IFwiRGV1dHNjaGUgQnVuZGVzYmFua1wiLFxyXG4gICAgXCJCRVJDWVwiOiBcIk1pbmlzdMOocmUgZGVzIEZpbmFuY2VzXCIsXHJcbiAgICBcIkVVUk9QRUFOQVwiOiBcIkV1cm9wZWFuYVwiLFxyXG4gICAgXCJJUE9cIjogXCJJUCBDYXNlIExhd1wiLFxyXG4gICAgXCJUUklTXCI6IFwiRW5naW5lcyBidWlsdCB1c2luZyBkYXRhIGZyb20gdGhlIHRlY2huaWNhbCByZWd1bGF0aW9uIGluZm9ybWF0aW9uIHN5c3RlbVwiLFxyXG4gICAgXCJWS1wiOiBcIlZhbHRpb25ldXZvc3RvbiBLYW5zbGlhXCIsXHJcbiAgICBcIkJVQkFfTk1UVEVTVFwiOiBcIkRldXRzY2hlIEJ1bmRlc2JhbmsgVGVzdFwiXHJcbiAgfSxcclxuICBcIkdSQU1NQVJfQ0hFQ0tfTUVOVVwiOiB7XHJcbiAgICBcIlRJVExFXCI6IFwiQ29uc2lkZXIgY2hhbmdpbmcgdG86XCJcclxuICB9LFxyXG4gIFwiQVVESU9cIjoge1xyXG4gICAgXCJDQU5DRUxcIjogXCJDYW5jZWxcIixcclxuICAgIFwiREVTQ1JJQkVfU1RBVEVfUkVDT1JESU5HXCI6IFwiUGxlYXNlIHNwZWFrIHRvIHJlY29yZC4uLlwiLFxyXG4gICAgXCJERVNDUklCRV9TVEFURV9QUk9DRVNTSU5HXCI6IFwiUHJvY2Vzc2luZy4uLlwiLFxyXG4gICAgXCJNSUNfTk9UX0ZPVU5EXCI6IFwiTWljcm9waG9uZSBub3QgZm91bmRcIixcclxuICAgIFwiU1RPUFwiOiBcIlN0b3AgcmVjb3JkaW5nXCIsXHJcbiAgICBcIlNUQVJUXCI6IFwiVHJhbnNsYXRlIHNwZWVjaFwiLFxyXG4gICAgXCJQVU5DVFVBVElPTl9NRVNTQUdFX1RJVExFXCI6IFwiQWRkIHB1bmN0dWF0aW9uXCIsXHJcbiAgICBcIlBVTkNUVUFUSU9OX01FU1NBR0VcIjogXCJQbGVhc2UgYWRkIHB1bmN0dWF0aW9uIHRvIHRoZSByZWNvZ25pemVkIHRleHQuIExvbmcgdGV4dCB3aXRob3V0IHB1bmN0dWF0aW9uIG1heSBoYXZlIGxvd2VyIHRyYW5zbGF0aW9uIHF1YWxpdHkgb3Igbm90IGJlIHRyYW5zbGF0ZWQuXCIsXHJcbiAgfSxcclxuICBcIkVYVEVOU0lPTl9QT1BVUFwiOiB7XHJcbiAgICBcIk9QRU5cIjogXCJzZWUgYWxsIHN1cHBvcnRlZCBmb3JtYXRzXCIsXHJcbiAgICBcIlRJVExFXCI6IFwiU3VwcG9ydGVkIGZpbGUgZm9ybWF0c1wiLFxyXG4gICAgXCJERVNDUklQVElPTlwiOiBcIlVURi04IG9yIFVURi0xNiBjb2RpbmcgcmVxdWlyZWQgdG8gZW5zdXJlIGNvcnJlY3QgZmlsZSB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJPRkZJQ0VcIjogXCJPZmZpY2VcIixcclxuICAgIFwiU0NBTk5FRFwiOiBcIlNjYW5uZWQgZmlsZXNcIixcclxuICAgIFwiSU5URVJDSEFOR0VcIjogXCJJbnRlcmNoYW5nZSBmb3JtYXRzXCIsXHJcbiAgICBcIldFQlwiOiBcIldlYlwiLFxyXG4gICAgXCJPVEhFUlwiOiBcIk90aGVyXCIsXHJcbiAgfSxcclxuICBcIkZJTEVfVVBMT0FEXCI6IHtcclxuICAgIFwiVVBMT0FEXCI6IFwiVXBsb2FkXCIsXHJcbiAgICBcIkRSQUdfQU5EX0RST1BcIjogXCJvciBkcmFnIGFuZCBkcm9wIFwiLFxyXG4gICAgXCJGSUxFXCI6IFwiYSBmaWxlXCIsXHJcbiAgICBcIkZJTEVTXCI6IFwiZmlsZXNcIixcclxuICAgIFwiTElNSVRTXCI6IFwiICh7e3Zpc2libGVFeHRlbnNpb25zfX0uIE1heCB7e21heFNpemVNQn19TUIpXCIsXHJcbiAgICBcIkNMRUFSXCI6IFwiQ2xlYXIgZmlsZVwiXHJcbiAgfSxcclxuICBcIlNZU1RFTV9QSUNLRVJcIjoge1xyXG4gICAgXCJTT1VSQ0VcIjogXCJUcmFuc2xhdGUgZnJvbVwiLFxyXG4gICAgXCJUQVJHRVRcIjogXCJUcmFuc2xhdGUgdG9cIixcclxuICAgIFwiU0VBUkNIX1BMQUNFSE9MREVSXCI6IFwiU2VhcmNoIGxhbmd1YWdlc1wiLFxyXG4gICAgXCJSRUNFTlRfU1lTVEVNX1RJVExFXCI6IFwiUmVjZW50IHRyYW5zbGF0aW9uIGRpcmVjdGlvbnNcIixcclxuICAgIFwiU0VMRUNUX0RPTUFJTlwiOiBcIlNlbGVjdCBkb21haW5cIixcclxuICAgIFwiRklMVEVSX05PX1JFU1VMVFNcIjogXCJObyByZXN1bHRzXCIsXHJcbiAgICBcIkFMTF9MQU5HVUFHRVNcIjogXCJBbGwgbGFuZ3VhZ2VzXCIsXHJcbiAgICBcIkNMRUFSX1NFQVJDSFwiOiBcIkNsZWFyIHNlYXJjaCB0ZXh0XCIsXHJcbiAgICBcIk9QRU5fU09VUkNFX0FSSUFfTEFCRUxcIjogXCJTZWxlY3Qgc291cmNlIGxhbmd1YWdlXCIsXHJcbiAgICBcIk9QRU5fVEFSR0VUX0FSSUFfTEFCRUxcIjogXCJTZWxlY3QgdGFyZ2V0IGxhbmd1YWdlIGFuZCBkb21haW5cIlxyXG4gIH0sXHJcbiAgXCJURVhUX1RSQU5TTEFUSU9OX1BST0dSRVNTX0lORElDQVRPUlwiOiB7XHJcbiAgICBcIlRJVExFXCI6IFwiVHJhbnNsYXRpb24gcHJvdmlkZWQgYnkge3twcm92aWRlcn19XCIsXHJcbiAgICBcIlRSQU5TTEFUSU5HXCI6IFwiVHJhbnNsYXRpbmcuLi5cIixcclxuICAgIFwiQ0xPU0VfQlVUVE9OX1RPT0xUSVBcIjogXCJSZW1vdmUgcHJvZ3Jlc3MgYmFyXCIsXHJcbiAgICBcIkNMT1NFX0JVVFRPTl9BUklBX0xBQkVMXCI6IFwiUmVtb3ZlIHByb2dyZXNzIGJhclwiXHJcbiAgfSxcclxuICBcIlZFTkRPUl9NRVNTQUdFXCI6IHtcclxuICAgIFwiVEVYVFwiOiBcIlRyYW5zbGF0aW9uIHByb3ZpZGVkIGJ5IHt7dmVuZG9yfX1cIixcclxuICAgIFwiSUNPTl9UT09MVElQXCI6IFwiU3lzdGVtcyBvZmZlcmVkIGJ5IHt7dmVuZG9yfX0gYXJlIHVzZWQgYnkgYSBodWdlIG51bWJlciBvZiB1c2Vycy4gVGhleSBtYXkgYmUgc2xvdyBhdCB0aW1lIGR1ZSB0byB0aGUgaGVhdnkgd29yayBsb2FkLlwiXHJcbiAgfSxcclxuICBcIlZFTkRPUlNcIjoge1xyXG4gICAgXCJFVFJBTlNMQVRJT05cIjogXCJlVHJhbnNsYXRpb25cIlxyXG4gIH0sXHJcbiAgXCJURVhUX1RPX1NQRUVDSFwiOiB7XHJcbiAgICBcIlBMQVlcIjogXCJMaXN0ZW5cIixcclxuICAgIFwiUEFVU0VcIjogXCJQYXVzZVwiXHJcbiAgfVxyXG59XHJcbiJdfQ==
427
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvaTE4bi9lbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUc7SUFDckIsVUFBVSxFQUFFLFVBQVU7SUFDdEIsZUFBZSxFQUFFO1FBQ2YsVUFBVSxFQUFFLHNHQUFzRztRQUNsSCxlQUFlLEVBQUUsWUFBWTtRQUM3QixvQkFBb0IsRUFBRSxRQUFRO1FBQzlCLHFCQUFxQixFQUFFLFVBQVU7UUFDakMscUJBQXFCLEVBQUUsVUFBVTtRQUNqQyxvQkFBb0IsRUFBRSxTQUFTO1FBQy9CLHNCQUFzQixFQUFFLCtCQUErQjtRQUN2RCwyQkFBMkIsRUFBRSxnS0FBZ0s7UUFDN0wsNEJBQTRCLEVBQUUsaUNBQWlDO1FBQy9ELGlDQUFpQyxFQUFFLGtLQUFrSztRQUNyTSxzQ0FBc0MsRUFBRSxxQ0FBcUM7UUFDN0Usb0NBQW9DLEVBQUUsb0NBQW9DO1FBQzFFLGlDQUFpQyxFQUFFLHdCQUF3QjtRQUMzRCxxQ0FBcUMsRUFBRSxnQkFBZ0I7UUFDdkQsZ0NBQWdDLEVBQUUsdUJBQXVCO1FBQ3pELG1DQUFtQyxFQUFFLEVBQUU7UUFDdkMsK0JBQStCLEVBQUUsRUFBRTtRQUNuQyxpQ0FBaUMsRUFBRSw0QkFBNEI7UUFDL0QsbUNBQW1DLEVBQUUsY0FBYztRQUNuRCxrQ0FBa0MsRUFBRSxVQUFVO1FBQzlDLDZCQUE2QixFQUFFLGtHQUFrRztRQUNqSSxNQUFNLEVBQUUsT0FBTztRQUNmLHFCQUFxQixFQUFFLG1CQUFtQjtRQUMxQyx1QkFBdUIsRUFBRSw4QkFBOEI7UUFDdkQsdUJBQXVCLEVBQUUseUJBQXlCO1FBQ2xELDhCQUE4QixFQUFFLDBGQUEwRjtRQUMxSCxvQkFBb0IsRUFBRSw2TEFBNkw7UUFDbk4sZ0JBQWdCLEVBQUUscUZBQXFGO1FBQ3ZHLG1CQUFtQixFQUFFLHVEQUF1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QUU7UUFDckMsT0FBTyxFQUFFLHNDQUFzQztRQUMvQyxhQUFhLEVBQUUsZ0JBQWdCO1FBQy9CLHNCQUFzQixFQUFFLHFCQUFxQjtRQUM3Qyx5QkFBeUIsRUFBRSxxQkFBcUI7S0FDakQ7SUFDRCxnQkFBZ0IsRUFBRTtRQUNoQixNQUFNLEVBQUUsb0NBQW9DO1FBQzVDLGNBQWMsRUFBRSx3SEFBd0g7S0FDekk7SUFDRCxTQUFTLEVBQUU7UUFDVCxjQUFjLEVBQUUsY0FBYztLQUMvQjtJQUNELGdCQUFnQixFQUFFO1FBQ2hCLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLE9BQU8sRUFBRSxPQUFPO0tBQ2pCO0NBQ0YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBpMThuX2VuID0ge1xyXG4gIFwiQVBQX05BTUVcIjogXCJUaWxkZSBNVFwiLFxyXG4gIFwiVExEX1RSQU5TTEFURVwiOiB7XHJcbiAgICBcIkJFU1RfTk1UXCI6IFwiUHJvdWQgd2lubmVyIG9mIHRoZSBiZXN0IG1hY2hpbmUgdHJhbnNsYXRpb24gdGVjaG5vbG9neSBhdCBXTVQgQ29tcGV0aXRpb24gZm9yIHRocmVlIHllYXJzIGluIGEgcm93LlwiLFxyXG4gICAgXCJCRVNUX05NVF9NT1JFXCI6IFwiTGVhcm4gbW9yZVwiLFxyXG4gICAgXCJDQU5DRUxfVFJBTlNMQVRJT05cIjogXCJDYW5jZWxcIixcclxuICAgIFwiRElDVElPTkFSWV9FWEFNUExFU1wiOiBcImV4YW1wbGVzXCIsXHJcbiAgICBcIkRPV05MT0FEX1RSQU5TTEFURURcIjogXCJEb3dubG9hZFwiLFxyXG4gICAgXCJET01BSU5TX0FSSUFfTEFCRUxcIjogXCJEb21haW5zXCIsXHJcbiAgICBcIkZJTEVfRE9XTkxPQURfU09VUkNFXCI6IFwiRG93bmxvYWQgY29udmVydGVkIHNvdXJjZSBQREZcIixcclxuICAgIFwiRklMRV9ET1dOTE9BRF9TT1VSQ0VfSEVMUFwiOiBcIlBERiBjb252ZXJzaW9uIG1heSBjYXVzZSBmb3JtYXR0aW5nIGVycm9ycyBvciB0ZXh0IGRpc3RvcnRpb24uIFBsZWFzZSBjaGVjayB0aGUgY29udmVydGVkIGZpbGUgYW5kIGZpeCB0aGUgZXJyb3JzIGJlZm9yZSByZS11cGxvYWRpbmcgdGhlIGZpbGUgZm9yIHRyYW5zbGF0aW9uXCIsXHJcbiAgICBcIkZJTEVfRE9XTkxPQURfU09VUkNFX0lNQUdFXCI6IFwiRG93bmxvYWQgY29udmVydGVkIHNvdXJjZSBpbWFnZVwiLFxyXG4gICAgXCJGSUxFX0RPV05MT0FEX1NPVVJDRV9JTUFHRV9IRUxQXCI6IFwiSW1hZ2UgY29udmVyc2lvbiBtYXkgY2F1c2UgZm9ybWF0dGluZyBlcnJvcnMgb3IgdGV4dCBkaXN0b3J0aW9uLiBQbGVhc2UgY2hlY2sgdGhlIGNvbnZlcnRlZCBmaWxlIGFuZCBmaXggdGhlIGVycm9ycyBiZWZvcmUgcmUtdXBsb2FkaW5nIHRoZSBmaWxlIGZvciB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19JTklUSUFMSVpJTkdcIjogXCJJbml0aWFsaXppbmcgdHJhbnNsYXRpb24gcHJvY2Vzcy4uLlwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19FWFRSQUNUSU5HXCI6IFwiRXh0cmFjdGluZyB0cmFuc2xhdGFibGUgY29udGVudC4uLlwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19XQUlUSU5HXCI6IFwiU3RhcnRpbmcgdHJhbnNsYXRvci4uLlwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19UUkFOU0xBVElOR1wiOiBcIlRyYW5zbGF0aW5nLi4uXCIsXHJcbiAgICBcIkZJTEVfVEFOU0xBVElPTl9TVEFUVVNTX1NBVklOR1wiOiBcIlNhdmluZyB0cmFuc2xhdGlvbi4uLlwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19DT01QTEVURURcIjogXCJcIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfRVJST1JcIjogXCJcIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfUVVFVUlOR1wiOiBcIlRyYW5zbGF0aW9uIGlzIHN0YXJ0aW5nLi4uXCIsXHJcbiAgICBcIkZJTEVfVEFOU0xBVElPTl9TVEFUVVNTX1VQTE9BRElOR1wiOiBcIlVwbG9hZGluZy4uLlwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19VUExPQURFRFwiOiBcIlVwbG9hZGVkXCIsXHJcbiAgICBcIkZJTEVfVEFSR0VUX1BSRVZJRVdfTUVTU0FHRVwiOiBcIlRoaXMgaXMgYSBwcmV2aWV3IG9mIHRoZSB0cmFuc2xhdGVkIGRvY3VtZW50LCBwbGVhc2UgZG93bmxvYWQgdG8gcmVjZWl2ZSBhIGNvbXBsZXRlIHRyYW5zbGF0aW9uLlwiLFxyXG4gICAgXCJGUk9NXCI6IFwiRnJvbTpcIixcclxuICAgIFwiUERGX0RJU0NMQUlNRVJfTElOS1wiOiBcIlNlZSBob3cgdG8gZml4IGl0XCIsXHJcbiAgICBcIklNQUdFX0RJU0NMQUlNRVJfTElOS1wiOiBcIlJlYWQgYWJvdXQgaW1hZ2UgY29udmVyc2lvbi5cIixcclxuICAgIFwiUFJFUEFSSU5HX1RSQU5TTEFUSU9OXCI6IFwiVHJhbnNsYXRpb24gaXMgc3RhcnRpbmdcIixcclxuICAgIFwiUkVHSVNURVJFRF9GT1JNQVRTX0xPR0dFRF9JTlwiOiBcIlJlZ2lzdGVyZWQgdXNlcnMgaGF2ZSBhY2Nlc3MgdG8gdGhlIGZvbGxvd2luZyBkb2N1bWVudCBmb3JtYXRzIHRyYW5zbGF0aW9uOiB7e2Zvcm1hdHN9fS5cIixcclxuICAgIFwiUkVHSVNURVJFRF9GT1JNQVRTXCI6IFwiUmVnaXN0ZXJlZCB1c2VycyBoYXZlIGFjY2VzcyB0byB0aGUgZm9sbG93aW5nIGRvY3VtZW50IGZvcm1hdHMgdHJhbnNsYXRpb246IHt7Zm9ybWF0c319LiBSZXF1ZXN0IHlvdXIgYWNjZXNzIDxhIGNsYXNzPVxcXCJhY2NlbnQtY29sb3JcXFwiIHRhcmdldD1cXFwiYmxhbmtcXFwiIGhyZWY9XFxcInt7cmVnaXN0ZXJMaW5rfX1cXFwiPmhlcmU8L2E+LlwiLFxyXG4gICAgXCJTT1VSQ0VfRk9STUFUU1wiOiBcIlNlY3VyZSBwdWJsaWMgdHJhbnNsYXRpb24gc2VydmljZSBzdXBwb3J0cyBmb2xsb3dpbmcgZG9jdW1lbnQgZm9ybWF0czoge3tmb3JtYXRzfX07XCIsXHJcbiAgICBcIlNPVVJDRV9XT1JEX0xJTUlUXCI6IFwiIHRyYW5zbGF0aW9uIGFtb3VudCBpcyBsaW1pdGVkIHVwIHRvIHt7bGltaXR9fSB3b3Jkcy5cIixcclxuICAgIFwiU09VUkNFX1RPT0xUSVBcIjogXCJFbnRlciB0aGUgdGV4dCBvciBob21lcGFnZSB5b3Ugd291bGQgbGlrZSB0byB0cmFuc2xhdGUuXCIsXHJcbiAgICBcIlNPVVJDRV9UT09MVElQX09OTFlfVEVYVFwiOiBcIkVudGVyIHRoZSB0ZXh0IHlvdSB3b3VsZCBsaWtlIHRvIHRyYW5zbGF0ZS5cIixcclxuICAgIFwiU09VUkNFX1RPT0xUSVBfU0VOU0lUSVZFX0lORk9cIjogXCJEbyBub3QgdXNlIHt7YXBwTmFtZX19IHRvIHRyYW5zbGF0ZSBjb25maWRlbnRpYWwgb3IgY2xhc3NpZmllZCBpbmZvcm1hdGlvbiBvciB0ZXh0cyB0aGF0IGNvbnRhaW4gc3BlY2lhbCBjYXRlZ29yaWVzIG9mIHBlcnNvbmFsIGRhdGEsIHN1Y2ggYXMgbWVkaWNhbCBkYXRhXCIsXHJcbiAgICBcIlRBUkdFVF9ERVNDUklQVElPTlwiOiBcIk1hY2hpbmUgdHJhbnNsYXRpb24gYWxsb3dzIHRvIHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgYSBzb3VyY2UgdGV4dCwgYnV0IGNhbm5vdCBzdWJzdGl0dXRlIGEgaHVtYW4gdHJhbnNsYXRpb24uXCIsXHJcbiAgICBcIlRPXCI6IFwiVG86XCIsXHJcbiAgICBcIlRFWFRfQ09QSUVEXCI6IFwiVHJhbnNsYXRpb24gY29waWVkXCIsXHJcbiAgICBcIlNVR0dFU1RfQlVUVE9OXCI6IFwiU3VnZ2VzdCB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJTVUdHRVNUX09SSUdJTkFMX0xBQkVMXCI6IFwiT3JpZ2luYWwgc2VudGVuY2VcIixcclxuICAgIFwiU1VHR0VTVF9TVUJNSVRfQlVUVE9OXCI6IFwiQ29udHJpYnV0ZVwiLFxyXG4gICAgXCJTVUdHRVNUX1RSQU5TTEFUSU9OX0xBQkVMXCI6IFwiVHJhbnNsYXRpb25cIixcclxuICAgIFwiU1VHR0VTVF9VU0FHRV9JTkZPXCI6IFwiWW91ciBhbm9ueW1pemVkIHRyYW5zbGF0aW9uIHN1Z2dlc3Rpb24gd2lsbCBiZSB1c2VkIHRvIGltcHJvdmUgdGhlIHF1YWxpdHkgb2YgbWFjaGluZSB0cmFuc2xhdGlvbi5cIixcclxuICAgIFwiVE9PTFRJUF9BQ1RJT05cIjogXCJUcmFuc2xhdGVcIixcclxuICAgIFwiVkVORE9SU19BUklBX0xBQkVMXCI6IFwiUHJvdmlkZXJzXCIsXHJcbiAgICBcIldPUkRfVFlQRV9BREpFQ1RJVkVcIjogXCJhZGplY3RpdmVcIixcclxuICAgIFwiV09SRF9UWVBFX05PVU5cIjogXCJub3VuXCIsXHJcbiAgICBcIldPUkRfVFlQRV9WRVJCXCI6IFwidmVyYlwiLFxyXG4gICAgXCJXT1JEX1RZUEVfQURWRVJCXCI6IFwiYWR2ZXJiXCIsXHJcbiAgICBcIldPUkRfVFlQRV9DT05KVU5DVElPTlwiOiBcImNvbmp1bmN0aW9uXCIsXHJcbiAgICBcIldPUkRfVFlQRV9JTlRFUkpFQ1RJT05cIjogXCJpbnRlcmplY3Rpb25cIixcclxuICAgIFwiV09SRF9UWVBFX1BST05PVU5cIjogXCJwcm9ub3VuXCIsXHJcbiAgICBcIkRPQ19XT1JEX0NOVF9MSU1JVF9NU0dfVElUTEVcIjogXCJUcmFuc2xhdGlvbiBsaW1pdFwiLFxyXG4gICAgXCJET0NfV09SRF9DTlRfTElNSVRfTVNHXCI6IFwiT25seSB0aGUgZmlyc3Qge3t3b3JkQ291bnR9fSB3b3JkcyB3aWxsIGJlIHRyYW5zbGF0ZWQuIFlvdSBuZWVkIGEgVGlsZGUgTVQgc3Vic2NyaXB0aW9uIHRvIHRyYW5zbGF0ZSBmdWxsIGZpbGVzLiA8YSBocmVmPVxcXCJ7e3JlZ2lzdGVyTGlua319P3t7cXVlcnlTdHJpbmd9fVxcXCI+c3RhcnQgd2l0aCBhIGZyZWUgdHJpYWw8L2E+XCIsXHJcbiAgICBcIkVSUk9SX05PX1NZU1RFTVNfTE9BREVEX1RJVExFXCI6IFwiTm8gdHJhbnNsYXRpb24gZW5naW5lcyB3ZXJlIGxvYWRlZFwiLFxyXG4gICAgXCJFUlJPUl9OT19TWVNURU1TX0xPQURFRFwiOiBcIkZhaWxlZCB0byBsb2FkIHRoZSBtYWNoaW5lIHRyYW5zbGF0aW9uIGVuZ2luZXMuXCIsXHJcbiAgICBcIkVSUk9SX05PX1NZU1RFTVNfTE9BREVEX1NVUFBPUlRcIjogXCIgUGxlYXNlIHJlbG9hZCB0aGUgcGFnZSBvciBjb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+IHN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJQREZfUEFHRV9MSU1JVF9NU0dfVElUTEVcIjogXCJUcmFuc2xhdGlvbiBsaW1pdFwiLFxyXG4gICAgXCJQREZfUEFHRV9MSU1JVF9NU0dcIjogXCJPbmx5IHRoZSBmaXJzdCBwYWdlIHdpbGwgYmUgdHJhbnNsYXRlZC4gWW91IG5lZWQgYSBUaWxkZSBNVCBzdWJzY3JpcHRpb24gdG8gdHJhbnNsYXRlIGZ1bGwgUERGIGZpbGVzLiA8YSBocmVmPVxcXCJ7e3JlZ2lzdGVyTGlua319P3t7cXVlcnlTdHJpbmd9fVxcXCI+c3RhcnQgd2l0aCBhIGZyZWUgdHJpYWw8L2E+XCIsXHJcbiAgICBcIkNMRUFSX1NPVVJDRV9UT09MVElQXCI6IFwiQ2xlYXIgdGV4dFwiXHJcbiAgfSxcclxuICBcIk1VTFRJUExFX0ZJTEVTXCI6IHtcclxuICAgIFwiQVBQRU5EXCI6IFwiQWRkIGZpbGVzXCIsXHJcbiAgICBcIkNMRUFSX0FMTFwiOiBcIkNhbmNlbFwiLFxyXG4gICAgXCJET1dOTE9BRFwiOiBcIkRvd25sb2FkXCIsXHJcbiAgICBcIlNUQVRVU1NfSU5JVElBTElaSU5HXCI6IFwiSW5pdGlhbGl6aW5nXCIsXHJcbiAgICBcIlNUQVRVU1NfRVhUUkFDVElOR1wiOiBcIkV4dHJhY3RpbmdcIixcclxuICAgIFwiU1RBVFVTU19XQUlUSU5HXCI6IFwiU3RhcnRpbmcgdHJhbnNsYXRvclwiLFxyXG4gICAgXCJTVEFUVVNTX1RSQU5TTEFUSU5HXCI6IFwiVHJhbnNsYXRpbmcge3twZXJjZW50fX0lXCIsXHJcbiAgICBcIlNUQVRVU1NfU0FWSU5HXCI6IFwiU2F2aW5nXCIsXHJcbiAgICBcIlNUQVRVU1NfQ09NUExFVEVEXCI6IFwiQ29tcGxldGVkXCIsXHJcbiAgICBcIlNUQVRVU1NfRVJST1JcIjogXCJFcnJvclwiLFxyXG4gICAgXCJTVEFUVVNTX1FVRVVJTkdcIjogXCJRdWV1aW5nXCIsXHJcbiAgICBcIlNUQVRVU1NfTk9UX1NUQVJURURcIjogXCJVcGxvYWRlZFwiLFxyXG4gICAgXCJTVEFUVVNTX1VQTE9BRElOR1wiOiBcIlVwbG9hZGluZy4uLlwiLFxyXG4gICAgXCJTVEFUVVNTX1VQTE9BREVEXCI6IFwiVXBsb2FkZWRcIixcclxuICAgIFwiVElUTEVfRklMRV9OQU1FXCI6IFwiRmlsZVwiLFxyXG4gICAgXCJUSVRMRV9TVEFUVVNTXCI6IFwiU3RhdHVzXCIsXHJcbiAgICBcIlRSQU5TTEFUSU9OX1NUQVRVU1NfTEFCRUxcIjogXCJTdGF0dXNcIixcclxuICAgIFwiUERGX0RJU0NMQUlNRVJcIjogXCJQREYgZG9jdW1lbnRzIG1heSBoYXZlIGZvcm1hdHRpbmcgb3IgdHJhbnNsYXRpb24gZXJyb3JzLlwiLFxyXG4gICAgXCJQREZfRElTQ0xBSU1FUl9MSU5LXCI6IFwiUmVhZCBhYm91dCBwZGYgY29udmVyc2lvbi5cIixcclxuICAgIFwiSU1BR0VfRElTQ0xBSU1FUlwiOiBcIkltYWdlIGNvbnZlcnNpb24gbWF5IGNhdXNlIGZvcm1hdHRpbmcgZXJyb3JzIG9yIHRleHQgZGlzdG9ydGlvbi5cIixcclxuICAgIFwiSU1BR0VfRElTQ0xBSU1FUl9MSU5LXCI6IFwiUmVhZCBhYm91dCBpbWFnZSBjb252ZXJzaW9uLlwiLFxyXG4gICAgXCJTQ1JFRU5fUkVBREVSX0FOTk9VTkNFTUVOVFwiOiBcInt7dHJhbnNsYXRlZH19IG91dCBvZiB7e3RvdGFsfX0gZmlsZXMgYXJlIHRyYW5zbGF0ZWQuXCIsXHJcbiAgICBcIlJFTU9WRV9GSUxFX1RPT0xUSVBcIjogXCJDbGVhciBmaWxlXCJcclxuICB9LFxyXG4gIFwiRVJST1JTXCI6IHtcclxuICAgIFwiRVJST1JfREVGQVVMVF9USVRMRVwiOiBcIlVuZXhwZWN0ZWQgZXJyb3JcIixcclxuICAgIFwiRVJST1JfREVGQVVMVFwiOiBcIkFuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJyZWQuIFBsZWFzZSB0cnkgYWdhaW4uXCIsXHJcbiAgICBcIkVSUk9SX0RFRkFVTFRfU1VQUE9SVFwiOiBcIiBJZiB0aGUgcHJvYmxlbSBjb250aW51ZXMsIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz5zdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiTUFYX0NIQVJfTEVOR1RIX1RJVExFXCI6IFwiVHJhbnNsYXRpb24gbGltaXRcIixcclxuICAgIFwiTUFYX0NIQVJfTEVOR1RIXCI6IFwiT25seSB7e21heENoYXJMZW5ndGh9fS97e3RvdGFsU3ltYm9sc319IGNoYXJhY3RlcnMgd2lsbCBiZSB0cmFuc2xhdGVkLiBZb3UgbmVlZCBhIFRpbGRlIE1UIHN1YnNjcmlwdGlvbiBmb3IgdW5saW1pdGVkIHRleHQgdHJhbnNsYXRpb24uIDxhIGhyZWY9XFxcInt7cmVnaXN0ZXJMaW5rfX0/e3txdWVyeVN0cmluZ319XFxcIj5zdGFydCB3aXRoIGEgZnJlZSB0cmlhbDwvYT5cIixcclxuICAgIFwiTUFYX05VTUJFUl9PRl9GSUxFU19USVRMRVwiOiBcIlVwbG9hZCBsaW1pdFwiLFxyXG4gICAgXCJNQVhfTlVNQkVSX09GX0ZJTEVTXCI6IFwiT25seSB7e2xpbWl0fX0gZmlsZXMgY2FuIGJlIHRyYW5zbGF0ZWQgYXQgb25jZS5cIixcclxuICAgIFwiSU5DUkVBU0VfTUFYX05VTUJFUl9PRl9GSUxFU19USVRMRVwiOiBcIlVwbG9hZCBsaW1pdFwiLFxyXG4gICAgXCJJTkNSRUFTRV9NQVhfTlVNQkVSX09GX0ZJTEVTXCI6IFwiT25seSAxIGZpbGUgY2FuIGJlIHRyYW5zbGF0ZWQgYXQgb25jZS4gWW91IG5lZWQgYSBUaWxkZSBNVCBzdWJzY3JpcHRpb24gdG8gaW5jcmVhc2UgbGltaXQuIDxhIGhyZWY9XFxcInt7cmVnaXN0ZXJMaW5rfX0/e3txdWVyeVN0cmluZ319XFxcIj5zdGFydCB3aXRoIGEgZnJlZSB0cmlhbDwvYT5cIixcclxuICAgIFwiRklMRV9BTFJFQURZX0FEREVEX1RJVExFXCI6IFwiRmlsZSBoYXMgYWxyZWFkeSBiZWVuIGFkZGVkXCIsXHJcbiAgICBcIkZJTEVfQUxSRUFEWV9BRERFRFwiOiBcIkZpbGUgXFxcInt7ZmlsZU5hbWV9fVxcXCIgaGFzIGFscmVhZHkgYmVlbiBhZGRlZC5cIixcclxuICAgIFwiVUFOVVRIT1JJWkVEXzQwMV9USVRMRVwiOiBcIlVuYXV0aG9yaXplZFwiLFxyXG4gICAgXCJVQU5VVEhPUklaRURfNDAxXCI6IFwiWW91IGRvbid0IGhhdmUgcGVybWlzc2lvbiB0byB1c2UgbWFjaGluZSB0cmFuc2xhdGlvbi5cIixcclxuICAgIFwiVUFOVVRIT1JJWkVEXzQwMV9TVVBQT1JUXCI6IFwiIFBsZWFzZSBjb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+IHN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJFX1VOS05PV05fRklMRV9UWVBFXCI6IFwiVW5rbm93biBmaWxlIHR5cGUuXCIsXHJcbiAgICBcIkVfQ0FOTk9UX1JFQURfRklMRV9USVRMRVwiOiBcIlVuYWJsZSB0byByZWFkIGZpbGVcIixcclxuICAgIFwiRV9DQU5OT1RfUkVBRF9GSUxFXCI6IFwiVGhlIGZpbGUgXFxcInt7ZmlsZU5hbWV9fVxcXCIgaXMgY29ycnVwdGVkIGFuZCBjb3VsZG4ndCBiZSB0cmFuc2xhdGVkLiBDaGVjayB0aGUgZmlsZSBhbmQgdHJ5IGFnYWluLlwiLFxyXG4gICAgXCJFX0ZBSUxFRF9JTl9UUkFOU0xBVElPTl9USVRMRVwiOiBcIlRyYW5zbGF0aW9uIGZhaWxlZFwiLFxyXG4gICAgXCJFX0ZBSUxFRF9JTl9UUkFOU0xBVElPTlwiOiBcIkVycm9yIG9jY3VycmVkIHdoaWxlIHRyYW5zbGF0aW5nLiBQbGVhc2UgdHJ5IGFnYWluLlwiLFxyXG4gICAgXCJFX0ZBSUxFRF9JTl9UUkFOU0xBVElPTl9TVVBQT1JUXCI6IFwiIElmIHRoZSBwcm9ibGVtIGNvbnRpbnVlcywgY29udGFjdCA8YSBocmVmPVxcXCJtYWlsdG86e3tlbWFpbH19XFxcIj48c3Ryb25nPiBzdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiRV9GT1JNQVRfVFJBQ0tfQ0hBTkdFU19USVRMRVwiOiBcIlRyYW5zbGF0aW9uIGZhaWxlZCwgYmVjYXVzZSDigJh0cmFjayBjaGFuZ2Vz4oCZIGlzIHR1cm5lZCBvblwiLFxyXG4gICAgXCJFX0ZPUk1BVF9UUkFDS19DSEFOR0VTXCI6IFwiQ2hhbmdlcyBtdXN0IGZpcnN0IGJlIGFjY2VwdGVkIG9yIOKAmHRyYWNrIGNoYW5nZXPigJkgdHVybmVkIG9mZiBiZWZvcmUgdHJhbnNsYXRpbmcgT2ZmaWNlIGZpbGVzLlwiLFxyXG4gICAgXCJFX1VOS05PV05fRVJST1JfVElUTEVcIjogXCJVbmtub3duIGVycm9yXCIsXHJcbiAgICBcIkVfVU5LTk9XTl9FUlJPUlwiOiBcIkFuIHVua25vd24gZXJyb3Igb2NjdXJyZWQuXCIsXHJcbiAgICBcIkVfVU5BVVRIT1JJWkVEX1RJVExFXCI6IFwiVW5hdXRob3JpemVkXCIsXHJcbiAgICBcIkVfVU5BVVRIT1JJWkVEXCI6IFwiRG9jdW1lbnQgdHJhbnNsYXRpb24gd2FzIGRlbmllZC5cIixcclxuICAgIFwiQ09MTEVDVElPTl9DUkVBVEVfVElUTEVcIjogXCJGYWlsZWQgdG8gY3JlYXRlIGEgZ2xvc3NhcnlcIixcclxuICAgIFwiQ09MTEVDVElPTl9DUkVBVEVcIjogXCJGYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGdsb3NzYXJ5LiBQbGVhc2UgdHJ5IGFnYWluLlwiLFxyXG4gICAgXCJDT0xMRUNUSU9OX0NSRUFURV9TVVBQT1JUXCI6IFwiIElmIHRoZSBwcm9ibGVtIGNvbnRpbnVlcywgY29udGFjdCA8YSBocmVmPVxcXCJtYWlsdG86e3tlbWFpbH19XFxcIj48c3Ryb25nPnN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJDT0xMRUNUSU9OX0lNUE9SVF9USVRMRVwiOiBcIkZhaWxlZCB0byBhdHRhY2ggdGhlIGdsb3NzYXJ5XCIsXHJcbiAgICBcIkNPTExFQ1RJT05fSU1QT1JUXCI6IFwiRmFpbGVkIHRvIGF0dGFjaCB0aGUgdGVybSBjb2xsZWN0aW9uIHdpdGggSUQ6IHt7dGVybUlkfX0gdG8gdGhlIG1hY2hpbmUgdHJhbnNsYXRpb24gZW5naW5lLiBQbGVhc2UgdHJ5IGFnYWluLlwiLFxyXG4gICAgXCJFXzExXCI6IFwiRGFpbHkgdHJhbnNsYXRpb24gbGltaXQgaGFzIGJlZW4gcmVhY2hlZC5cIixcclxuICAgIFwiRV8xMV9TVVBQT1JUXCI6IFwiIFRvIGluY3JlYXNlIHRoZSBkYWlseSBsaW1pdCwgcGxlYXNlIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz5zdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiRV8xMl9USVRMRVwiOiBcIlRleHQgc2l6ZSBsaW1pdFwiLFxyXG4gICAgXCJFXzEyXCI6IFwiVGV4dCBzaXplIGxpbWl0IHJlYWNoZWQuIFNlbmQgbGVzcyB0ZXh0IGluIHRoZSByZXF1ZXN0LlwiLFxyXG4gICAgXCJFXzEyX1NVUFBPUlRcIjogXCIgVG8gaW5jcmVhc2UgdGhlIHRleHQgc2l6ZSBsaW1pdCwgcGxlYXNlIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz5zdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiRV8yMVwiOiBcIlRoZSB0cmFuc2xhdGlvbiBlbmdpbmUgaXMgc3RhcnRpbmcgdXAsIHRoaXMgbWF5IHRha2UgYSBtb21lbnQhXCIsXHJcbiAgICBcIkVfMjJfVElUTEVcIjogXCJNYWNoaW5lIHRyYW5zbGF0aW9uIGVuZ2luZSBub3QgZm91bmRcIixcclxuICAgIFwiRV8yMlwiOiBcIk1hY2hpbmUgdHJhbnNsYXRpb24gZW5naW5lIG5vdCBmb3VuZC5cIixcclxuICAgIFwiRV8yMl9TVVBQT1JUXCI6IFwiIFBsZWFzZSBjb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+c3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIkVfMjNcIjogXCJNYWNoaW5lIHRyYW5zbGF0aW9uIGVuZ2luZSBpcyBub3Qgc3RhcnRlZC5cIixcclxuICAgIFwiRV8yM19TVVBQT1JUXCI6IFwiIENvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz5zdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiRV80MVwiOiBcIlVua25vd24gdGVybSBjb3JwdXMgSUQgcHJvdmlkZWQuIFRlcm0gY29ycHVzIG11c3QgYmUgbGlua2VkIHRvIHRoZSBtYWNoaW5lIHRyYW5zbGF0aW9uIGVuZ2luZVwiLFxyXG4gICAgXCJFXzUwNFwiOiBcIlRyYW5zbGF0aW9uIGhhcyB0aW1lZCBvdXQuIFRyeSBhZ2FpbiBsYXRlci5cIixcclxuICAgIFwiRV81MDRfVElUTEVcIjogXCJUcmFuc2xhdGlvbiB0aW1lb3V0XCIsXHJcbiAgICBcIlRSQU5TTEFUSU9OX0ZBSUxFRF9USVRMRVwiOiBcIlRyYW5zbGF0aW9uIGZhaWxlZFwiLFxyXG4gICAgXCJUUkFOU0xBVElPTl9GQUlMRURcIjogXCJBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VycmVkLlwiLFxyXG4gICAgXCJUUkFOU0xBVElPTl9GQUlMRURfU1VQUE9SVFwiOiBcIiBJZiB0aGUgcHJvYmxlbSBjb250aW51ZXMsIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz5zdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiRklMRV9UUkFOU0xBVElPTl9TVUJTVEFUVVNcIjoge1xyXG4gICAgICBcIkJBRF9GSUxFX0VSUk9SX1RJVExFXCI6IFwiRmFpbGVkIHRvIHRyYW5zbGF0ZSB0aGUgZmlsZVwiLFxyXG4gICAgICBcIkJBRF9GSUxFX0VSUk9SXCI6IFwiVGhlIGZpbGUgaXMgY29ycnVwdGVkIGFuZCBjb3VsZG4ndCBiZSB0cmFuc2xhdGVkLiBDaGVjayB0aGUgZmlsZSBhbmQgdHJ5IGFnYWluLlwiLFxyXG4gICAgICBcIk5PX1RFWFRfRVhUUkFDVEVEX0VSUk9SX1RJVExFXCI6IFwiRmFpbGVkIHRvIGV4dHJhY3QgYW55IHRleHRcIixcclxuICAgICAgXCJOT19URVhUX0VYVFJBQ1RFRF9FUlJPUlwiOiBcIlRoZSBmaWxlIG1heSBiZSBlbXB0eS4gQ2hlY2sgdGhlIGZpbGUgYW5kIHRyeSBhZ2Fpbi5cIixcclxuICAgICAgXCJUUkFDS19DSEFOR0VTX0VOQUJMRURfRVJST1JfVElUTEVcIjogXCJUcmFuc2xhdGlvbiBmYWlsZWQsIGJlY2F1c2Ug4oCYdHJhY2sgY2hhbmdlc+KAmSBpcyB0dXJuZWQgb25cIixcclxuICAgICAgXCJUUkFDS19DSEFOR0VTX0VOQUJMRURfRVJST1JcIjogXCJDaGFuZ2VzIG11c3QgZmlyc3QgYmUgYWNjZXB0ZWQgb3Ig4oCYdHJhY2sgY2hhbmdlc+KAmSB0dXJuZWQgb2ZmIGJlZm9yZSB0cmFuc2xhdGluZyBPZmZpY2UgZmlsZXMuXCIsXHJcbiAgICAgIFwiVU5LTk9XTl9GSUxFX1RZUEVfRVJST1JfVElUTEVcIjogXCJVbmtub3duIGZpbGUgdHlwZVwiLFxyXG4gICAgICBcIlVOS05PV05fRklMRV9UWVBFX0VSUk9SXCI6IFwiRmlsZSB0eXBlIG5vdCByZWNvZ25pemVkLiBUaGUgZmlsZSBleHRlbnNpb24gbWF5IGJlIGluY29ycmVjdCwgb3IgdGhlIGZpbGUgbWF5IGJlIGNvcnJ1cHRlZC5cIlxyXG4gICAgfSxcclxuICAgIFwiRklMRV9VUExPQURcIjoge1xyXG4gICAgICBcIkZJTEVfVVBMT0FEX0VNUFRZX1RJVExFXCI6IFwiVGhlIGZpbGUgaXMgZW1wdHlcIixcclxuICAgICAgXCJGSUxFX1VQTE9BRF9FTVBUWVwiOiBcIlRoZSB1cGxvYWRlZCBmaWxlIFxcXCJ7e2ZpbGVOYW1lfX1cXFwiIGlzIGVtcHR5LiBTZWxlY3QgYSBmaWxlIHdpdGggY29udGVudC5cIixcclxuICAgICAgXCJGSUxFX1VQTE9BRF9NQVhfU0laRV9USVRMRVwiOiBcIkZpbGUgc2l6ZSBsaW1pdFwiLFxyXG4gICAgICBcIkZJTEVfVVBMT0FEX01BWF9TSVpFXCI6IFwiVGhlIHVwbG9hZGVkIGZpbGUgXFxcInt7ZmlsZU5hbWV9fVxcXCIgaXMgdG9vIGJpZy4gTWF4aW11bSBzaXplIHt7bWF4U2l6ZU1CfX1NQlwiLFxyXG4gICAgICBcIkZJTEVfVVBMT0FEX1VOU1VQUE9SVEVEX0ZPUk1BVF9USVRMRVwiOiBcIlVuc3VwcG9ydGVkIGZpbGUgZm9ybWF0XCIsXHJcbiAgICAgIFwiRklMRV9VUExPQURfVU5TVVBQT1JURURfRk9STUFUXCI6IFwiVGhlIHVwbG9hZGVkIGZpbGUgXFxcInt7ZmlsZU5hbWV9fVxcXCIgZm9ybWF0IGlzIG5vdCBzdXBwb3J0ZWQuIFRyYW5zbGF0aW9uIGlzIHN1cHBvcnRlZCBmb3IgdGhlc2UgZG9jdW1lbnQgZm9ybWF0czoge3tmb3JtYXRzfX0uXCIsXHJcbiAgICAgIFwiRklMRV9VUExPQURfVU5TVVBQT1JURURfRk9STUFUX1JFR0lTVEVSX1RJVExFXCI6IFwiVW5zdXBwb3J0ZWQgZmlsZSBmb3JtYXRcIixcclxuICAgICAgXCJGSUxFX1VQTE9BRF9VTlNVUFBPUlRFRF9GT1JNQVRfUkVHSVNURVJcIjogXCJZb3UgbmVlZCBUaWxkZSBNVCBzdWJzY3JpcHRpb24gdG8gdHJhbnNsYXRlIFxcXCJ7e2ZpbGVOYW1lfX1cXFwiIGZpbGUuIDxhIGhyZWY9XFxcInt7cmVnaXN0ZXJMaW5rfX0/e3txdWVyeVN0cmluZ319XFxcIj5zdGFydCB3aXRoIGEgZnJlZSB0cmlhbDwvYT5cIixcclxuICAgICAgXCJFXzQwNF9USVRMRVwiOiBcIkZpbGUgbm90IGZvdW5kXCIsXHJcbiAgICAgIFwiRV80MDRcIjogXCJUaGUgcmVxdWVzdGVkIGZpbGUgZG9lc24ndCBleGlzdFwiLFxyXG4gICAgICBcIkVfNDA0X1JFTU9WRV9USVRMRVwiOiBcIkZhaWxlZCB0byBkZWxldGUgdGhlIGZpbGVcIixcclxuICAgICAgXCJFXzQwNF9SRU1PVkVcIjogXCJGaWxlIGhhcyBhbHJlYWR5IGJlZW4gZGVsZXRlZFwiXHJcbiAgICB9LFxyXG4gICAgXCJBVURJT1wiOiB7XHJcbiAgICAgIFwiTk9fU1BFRUNIX1RJVExFXCI6IFwiTm8gc3BlZWNoXCIsXHJcbiAgICAgIFwiTk9fU1BFRUNIXCI6IFwiWW91ciByZWNvcmRpbmcgd2FzIHN0b3BwZWQuIFdlIGNvdWxkbid0IGhlYXIgeW91LlwiLFxyXG4gICAgICBcIk1BWF9USU1FX0VYQ0VFREVEX1RJVExFXCI6IFwiU3BlZWNoIGxpbWl0XCIsXHJcbiAgICAgIFwiTUFYX1RJTUVfRVhDRUVERURcIjogXCJZb3VyIHJlY29yZGluZyB3YXMgc3RvcHBlZC4gU3BlZWNoIGlucHV0IGlzIGxpbWl0ZWQgdG8ge3t0aW1lU3RyaW5nfX0uXCIsXHJcbiAgICAgIFwiTUlDX05PVF9BTExPV0VEX1RJVExFXCI6IFwiTWljcm9waG9uZSBhY2Nlc3MgZGVuaWVkXCIsXHJcbiAgICAgIFwiTUlDX05PVF9BTExPV0VEXCI6IFwiWW91IGhhdmUgZGVuaWVkIGFjY2VzcyB0byB0aGUgbWljcm9waG9uZS4gQ2hhbmdlIHBlcm1pc3Npb25zIGluIGJyb3dzZXIncyBzZXR0aW5ncy5cIixcclxuICAgICAgXCJNQVhfU0laRV9FWENFRURFRF9USVRMRVwiOiBcIlNwZWVjaCBsaW1pdFwiLFxyXG4gICAgICBcIk1BWF9TSVpFX0VYQ0VFREVEXCI6IFwiWW91ciByZWNvcmRpbmcgd2FzIHN0b3BwZWQgYW5kIHNlbnQgdG8gcHJvY2Vzc2luZy4gU3BlZWNoIGlucHV0IGlzIGxpbWl0ZWQgdG8gKHt7bWF4U2l6ZU1ifX1NQikgc2l6ZS5cIixcclxuICAgICAgXCJDQU5UX1NUQVJUX1JFQ09SRElOR19USVRMRVwiOiBcIkZhaWxlZCB0byBzdGFydCByZWNvcmRpbmdcIixcclxuICAgICAgXCJDQU5UX1NUQVJUX1JFQ09SRElOR1wiOiBcIlVuYWJsZSB0byBzdGFydCByZWNvcmRpbmcuIFBsZWFzZSB0cnkgYWdhaW4uXCIsXHJcbiAgICAgIFwiTk9fVEVYVF9SRUNPR05JWkVEX1RpdGxlXCI6IFwiTm8gc3BlZWNoIHJlY29nbml6ZWRcIixcclxuICAgICAgXCJOT19URVhUX1JFQ09HTklaRURcIjogXCJObyBzcGVlY2ggY291bGQgYmUgcmVjb2duaXplZC4gQ2hlY2sgeW91ciBtaWNyb3Bob25lIGFuZCB0cnkgYWdhaW4uXCJcclxuICAgIH1cclxuICB9LFxyXG4gIFwiUkFUSU5HXCI6IHt9LFxyXG4gIFwiTEFOR1VBR0VTXCI6IHtcclxuICAgIFwiQVJcIjogXCJBcmFiaWNcIixcclxuICAgIFwiTFZcIjogXCJMYXR2aWFuXCIsXHJcbiAgICBcIkVUXCI6IFwiRXN0b25pYW5cIixcclxuICAgIFwiREFcIjogXCJEYW5pc2hcIixcclxuICAgIFwiRklcIjogXCJGaW5uaXNoXCIsXHJcbiAgICBcIklTXCI6IFwiSWNlbGFuZGljXCIsXHJcbiAgICBcIkxUXCI6IFwiTGl0aHVhbmlhblwiLFxyXG4gICAgXCJOQlwiOiBcIk5vcndlZ2lhblwiLFxyXG4gICAgXCJTVlwiOiBcIlN3ZWRpc2hcIixcclxuICAgIFwiQkVcIjogXCJCZWxvcnVzc2lhblwiLFxyXG4gICAgXCJCR1wiOiBcIkJ1bGdhcmlhblwiLFxyXG4gICAgXCJDU1wiOiBcIkN6ZWNoXCIsXHJcbiAgICBcIkhVXCI6IFwiSHVuZ2FyaWFuXCIsXHJcbiAgICBcIlJVXCI6IFwiUnVzc2lhblwiLFxyXG4gICAgXCJNT1wiOiBcIk1vbGRhdmlhblwiLFxyXG4gICAgXCJQTFwiOiBcIlBvbGlzaFwiLFxyXG4gICAgXCJTS1wiOiBcIlNsb3Zha1wiLFxyXG4gICAgXCJVS1wiOiBcIlVrcmFpbmlhblwiLFxyXG4gICAgXCJOTFwiOiBcIkR1dGNoXCIsXHJcbiAgICBcIkVOXCI6IFwiRW5nbGlzaFwiLFxyXG4gICAgXCJGUlwiOiBcIkZyZW5jaFwiLFxyXG4gICAgXCJERVwiOiBcIkdlcm1hblwiLFxyXG4gICAgXCJHQVwiOiBcIklyaXNoXCIsXHJcbiAgICBcIkVMXCI6IFwiR3JlZWtcIixcclxuICAgIFwiSVRcIjogXCJJdGFsaWFuXCIsXHJcbiAgICBcIk1UXCI6IFwiTWFsdGVzZVwiLFxyXG4gICAgXCJQVFwiOiBcIlBvcnR1Z3Vlc2VcIixcclxuICAgIFwiU1JcIjogXCJTZXJiaWFuXCIsXHJcbiAgICBcIlNMXCI6IFwiU2xvdmVuaWFuXCIsXHJcbiAgICBcIkVTXCI6IFwiU3BhbmlzaFwiLFxyXG4gICAgXCJaSFwiOiBcIkNoaW5lc2VcIixcclxuICAgIFwiSkFcIjogXCJKYXBhbmVzZVwiLFxyXG4gICAgXCJLT1wiOiBcIktvcmVhblwiLFxyXG4gICAgXCJUUlwiOiBcIlR1cmtpc2hcIixcclxuICAgIFwiSFJcIjogXCJDcm9hdGlhblwiLFxyXG4gICAgXCJST1wiOiBcIlJvbWFuaWFuXCIsXHJcbiAgICBcIlVaXCI6IFwiVXpiZWtcIixcclxuICAgIFwiSURcIjogXCJJbmRvbmVzaWFuXCJcclxuICB9LFxyXG4gIFwiQVJJQV9MQUJFTFNcIjoge1xyXG4gICAgXCJDTE9TRV9CVVRUT05cIjogXCJDbGVhclwiLFxyXG4gICAgXCJDTEVBUl9OT1RJRklDQVRJT05cIjogXCJDbG9zZSBhbGVydFwiLFxyXG4gICAgXCJDTEVBUl9TT1VSQ0VcIjogXCJDbGVhciBlbnRlcmVkIHRleHRcIixcclxuICAgIFwiQ0xPU0VfRElBTE9HXCI6IFwiQ2xvc2UgZGlhbG9nXCIsXHJcbiAgICBcIkNMRUFSX0ZJTEVTXCI6IFwiQ2xlYXIgdXBsb2FkZWQgZmlsZXNcIixcclxuICAgIFwiU0hPV19FWFRFTlNJT05TXCI6IFwiU2hvdyBvdGhlciBkb3dubG9hZCBvcHRpb25zXCIsXHJcbiAgICBcIkNPUFlcIjogXCJDb3B5IHRvIGNsaXBib2FyZFwiLFxyXG4gICAgXCJPUEVOX0lOX05FV1wiOiBcIk9wZW4gaW4gbmV3IHRhYlwiLFxyXG4gICAgXCJTV0FQX0xBTkdVQUdFU1wiOiBcIlN3YXAgbGFuZ3VhZ2VzXCIsXHJcbiAgICBcIk9USEVSX0xBTkdVQUdFU19UUklHR0VSXCI6IFwiU2hvdyBvdGhlciBsYW5ndWFnZXNcIlxyXG4gIH0sXHJcbiAgXCJUT09MVElQU1wiOiB7XHJcbiAgICBcIkNPUFlcIjogXCJDb3B5IHRvIGNsaXBib2FyZFwiLFxyXG4gICAgXCJTV0FQX0xBTkdVQUdFU1wiOiBcIlN3YXAgbGFuZ3VhZ2VzXCJcclxuICB9LFxyXG4gIFwiUERGX0NPTlZFUlNJT05cIjoge1xyXG4gICAgXCJUSVRMRV8xXCI6IFwiUERGIHRyYW5zbGF0aW9uXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8xXzFcIjogXCJXaGVuIGEgLnBkZiBmaWxlIGlzIHVwbG9hZGVkIGZvciB0cmFuc2xhdGlvbiBpdCBpcyBjb252ZXJ0ZWQgaW50byBhIHRyYW5zbGF0YWJsZSBmb3JtYXQuIEJvdGggc2Nhbm5lZCBhbmQgbmF0aXZlIC5wZGZzIGFyZSBzdXBwb3J0ZWQuIFRyYW5zbGF0aW9ucyBjYW4gYmUgZG93bmxvYWRlZCBpbiAuZG9jeCwgLnRteCBvciAucGRmIGZvcm1hdHMgYW5kIHdpbGwgcmV0YWluIHRoZSBiYXNpYyBmb3JtYXR0aW5nLiBGb3JtYXR0aW5nIGluIHRoZSB0cmFuc2xhdGVkIC5kb2N4IGFuZCAucGRmIGZpbGVzIG1heSBzbGlnaHRseSBkaWZmZXIuIFwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMV8yXCI6IFwiQXMgY29udmVyc2lvbiB0YWtlcyB0aW1lLCB0byBzcGVlZCB0aGluZ3MgdXAgc3BsaXQgeW91ciAucGRmcyBhbmQgZGVsZXRlIHRoZSBwYWdlcyB3aXRoIG5vIHRyYW5zbGF0YWJsZSBpbmZvcm1hdGlvbi4gRmFjdG9ycyBsaWtlIHRoZSBudW1iZXIgb2YgcGFnZXMsIHF1YWxpdHkgYW5kIHRleHQgZGVuc2l0eSBhZmZlY3QgdGhlIHByb2Nlc3NpbmcgdGltZS5cIixcclxuICAgIFwiUEFSQUdSQVBIXzFfM1wiOiBcIlRvIGltcHJvdmUgdHJhbnNsYXRpb24gcGVyZm9ybWFuY2UsIHdlIHJlY29tbWVuZCB0byBkb3dubG9hZCB0aGUgY29udmVydGVkIGRvY3VtZW50IGluIHRoZSBvcmlnaW5hbCBsYW5ndWFnZSBhbmQgZml4IGl0IG1hbnVhbGx5IGJlZm9yZSByZS11cGxvYWRpbmcgZm9yIHRyYW5zbGF0aW9uLlwiLFxyXG4gICAgXCJJTUFHRV9BTFRfMVwiOiBcIlNvdXJjZSBQREYgZG93bmxvYWQgZXhhbXBsZVwiLFxyXG5cclxuICAgIFwiVElUTEVfMlwiOiBcIlBERiBjb252ZXJzaW9uXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8yXzFcIjogXCJUaGUgZG9jdW1lbnQgaXMgYW5hbHlzZWQgYW5kIGl0cyBjb250ZW50IGlzIHNwbGl0IGluIHRleHQsIHRhYmxlIGFuZCBpbWFnZS9iYWNrZ3JvdW5kIGltYWdlIGFyZWFzLiBUaGV5IGFyZSBhbmFseXNlZCBmdXJ0aGVyIHRvIGRldGVybWluZSB3aGljaCBjb250ZW50IHNob3VsZCBiZSByZWNvZ25pemVkIGFzIHRleHQuXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8yXzJcIjogXCJUZXh0dWFsIGRhdGEgYXJlIGFjcXVpcmVkIGJ5IG1lYW5zIG9mIE9DUiBvciBvcHRpY2FsIGNoYXJhY3RlciByZWNvZ25pdGlvbi4gRXZlcnkgY2hhcmFjdGVyIGlzIHJlY29nbml6ZWQgZGVwZW5kaW5nIG9uIGl0cyB2aXN1YWwgY2hhcmFjdGVyaXN0aWNzLCB0aGVuIGFzc2VtYmxlZCBpbnRvIHdvcmRzIGFuZCBzZW50ZW5jZXMuXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8yXzNcIjogXCJSZWNvZ25pdGlvbiBpcyBhZmZlY3RlZCBieSBtYW55IGZhY3RvcnMsIGluY2x1ZGluZzpcIixcclxuICAgIFwiTElfMV8xXCI6IFwiUXVhbGl0eSBvZiB0aGUgc2Nhbm5lZCBkb2N1bWVudCAoYmx1cnJlZCBvciBkZWZvcm1lZCB0ZXh0LCBpbWFnZSBub2lzZSwgaW1hZ2UgcmVzb2x1dGlvbiwgY29udHJhc3QgZXRjLikuIEZvciB0aGUgYmVzdCByZXN1bHQsIC5wZGZzIHNob3VsZCBiZSBhdCBsZWFzdCAzMDAgZHBpLCB1bnNrZXdlZCBhbmQgbm9pc2UgZnJlZS5cIixcclxuICAgIFwiTElfMV8yXCI6IFwiRm9udCBzaXplLiBTaXplcyBzbWFsbGVyIHRoYW4gOSBwb2ludHMgbWlnaHQgYmUgcG9vcmx5IHJlY29nbml6ZWQuIFwiLFxyXG4gICAgXCJMSV8xXzNcIjogXCJSYXJlIGFuZCBvcmlnaW5hbCBmb250cy4gTGVzcyBjb21tb24gZm9udHMgbWF5IGJlIHVucmVjb2duaXphYmxlIG9yIHBlcmZvcm0gd29yc2UuXCIsXHJcbiAgICBcIkxJXzFfNFwiOiBcIkNvbXBsZXhpdHkgb2YgdGhlIGRvY3VtZW50IHN0cnVjdHVyZSBhbmQgZm9ybWF0dGluZy5cIixcclxuXHJcbiAgICBcIlRJVExFXzNcIjogXCJJbXByb3ZpbmcgdHJhbnNsYXRpb24gcGVyZm9ybWFuY2VcIixcclxuICAgIFwiUEFSQUdSQVBIXzNfMVwiOiBcIlRoZSBjb252ZXJzaW9uIHByb2Nlc3MgaXMgdmVyeSBjb21wbGV4IGFuZCBtYXkgYmUgYWZmZWN0ZWQgYnkgdmFyaW91cyBlcnJvcnMgcmVzdWx0aW5nIGZyb20gdGhlIGlucHV0IGRvY3VtZW50LiBcIixcclxuICAgIFwiUEFSQUdSQVBIXzNfMlwiOiBcIklzc3VlcyB0byBsb29rIGZvcjpcIixcclxuICAgIFwiTElfMl8xXCI6IFwiSW5jb3JyZWN0bHkgcmVjb2duaXplZCB3b3Jkcy5cIixcclxuICAgIFwiTElfMl8yXCI6IFwiSW5jb3JyZWN0IHdvcmQgYm91bmRhcmllcy5cIixcclxuICAgIFwiTElfMl8zXCI6IFwiU2VudGVuY2VzIHNwYW5uaW5nIG11bHRpcGxlIGNvbHVtbnMsIGxpbmVzIG9yIHBhZ2VzIHNwbGl0IGludG8gZGlmZmVyZW50IHRleHR1YWwgb2JqZWN0cy5cIixcclxuICAgIFwiTElfMl80XCI6IFwiTWlzcGxhY2VkIHBhZ2UgZm9vdGVycyBhbmQgaGVhZGVycy5cIixcclxuICAgIFwiTElfMl81XCI6IFwiSW5jb3JyZWN0IG51bWJlcmluZy5cIixcclxuICAgIFwiTElfMl82XCI6IFwiVGFibGVzIHJlY29nbml6ZWQgYXMgYmFja2dyb3VuZCBpbWFnZXMgd2l0aCB0ZXh0dWFsIGNvbnRlbnQgcGxhY2VkIGludG8gZGlmZmVyZW50IHRleHR1YWwgb2JqZWN0cy5cIixcclxuICAgIFwiTElfMl83XCI6IFwiU29tZSBkaWFncmFtcyByZWNvZ25pemVkIGFzIGltYWdlcyB3aXRob3V0IGFueSB0ZXh0dWFsIGNvbnRlbnQuXCIsXHJcbiAgICBcIkxJXzJfOFwiOiBcIlNlcGFyYXRvcnMsIGJvcmRlcnMgb3Igb3RoZXIgaG9yaXpvbnRhbCBsaW5lcyByZWNvZ25pemVkIGFzIHN0cmlrZXRocm91Z2ggb3IgdW5kZXJsaW5lZCB0ZXh0LlwiLFxyXG4gICAgXCJMSV8yXzlcIjogXCJGb3JtYXR0aW5nIG9mIHRoZSB0YWJsZSBvZiBjb250ZW50cyBvciBzaW1pbGFyIGxpc3RzIGNvbGxhcHNlZCBvciByZWNvZ25pemVkIGFzIHN0cmlrZXRocm91Z2ggb3IgdW5kZXJsaW5lZCB0ZXh0LlwiLFxyXG5cclxuICAgIFwiUEFSQUdSQVBIXzRfMVwiOiBcIjxiPk5vdGUgdGhhdCB0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHdpbGwgbm90IHJldGFpbiBhbGwgZGV0YWlscyBvZiB0aGUgb3JpZ2luYWwgZm9ybWF0dGluZy48L2I+IFNvbWUgaW1hZ2VzLCB0YWJsZXMgb3IgZGlhZ3JhbXMgbWF5IGJlY29tZSBkaXN0b3J0ZWQgb3Igc2ltcGxpZmllZC4gRm9udHMgaW4gdGhlIHRyYW5zbGF0ZWQgZG9jdW1lbnQgd2lsbCBub3QgYmUgdGhlIHNhbWUgYXMgaW4gdGhlIG9yaWdpbmFsLCBidXQgbWF5IGJlIHNpbWlsYXIuIEluY29ycmVjdCBmb250IHNpemUgbWF5IGJlIHJlY29nbml6ZWQuIFNwZWNpZmljIFdvcmQgZm9ybWF0dGluZyBsaWtlIGhlYWRpbmdzLCB0YWJsZXMgb2YgY29udGVudCwgaGVhZGVycyBhbmQgZm9vdGVycywgbGFiZWxzLCBmb3JtcyBldGMuIHdpbGwgYmUgc3R5bGVkIHRvIGxvb2sgbGlrZSB0aGUgb3JpZ2luYWwsIGJ1dCB3aWxsIG5vdCBtYXRjaCB0aGUgb3JpZ2luYWwgY29tcGxldGVseSAoZS5nLiB0aXRsZXMgd2lsbCBiZSBib2xkIGFuZCBpbiBsYXJnZXIgZm9udCwgYnV0IHdpbGwgbm90IGJlIHNldCB0byB0aGUgaGVhZGluZyBzdHlsZSkuXCIsXHJcblxyXG4gICAgXCJDTE9TRVwiOiBcIkNsb3NlIGRpYWxvZ1wiXHJcbiAgfSxcclxuICBcIklNQUdFX0NPTlZFUlNJT05cIjoge1xyXG4gICAgXCJUSVRMRV8xXCI6IFwiSW1hZ2UgdHJhbnNsYXRpb25cIixcclxuICAgIFwiUEFSQUdSQVBIXzFfMVwiOiBcIldoZW4gYW4gaW1hZ2UgZmlsZSBpcyB1cGxvYWRlZCBmb3IgdHJhbnNsYXRpb24gaXQgaXMgY29udmVydGVkIGludG8gYSB0cmFuc2xhdGFibGUgZm9ybWF0LiBUcmFuc2xhdGlvbnMgY2FuIGJlIGRvd25sb2FkZWQgaW4gLmRvY3ggb3IgLnRteCBmb3JtYXRzIGFuZCB3aWxsIHJldGFpbiB0aGUgYmFzaWMgZm9ybWF0dGluZy5cIixcclxuICAgIFwiUEFSQUdSQVBIXzFfMlwiOiBcIjxiPlN1cHBvcnRlZCBpbWFnZSBmb3JtYXRzOjwvYj4gLmpwZywgLmpwZWcsIC5wbmcgYW5kIC5ibXAuXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8xXzNcIjogXCJUbyBpbXByb3ZlIHRyYW5zbGF0aW9uIHBlcmZvcm1hbmNlLCB3ZSByZWNvbW1lbmQgdG8gZG93bmxvYWQgdGhlIGNvbnZlcnRlZCBkb2N1bWVudCBpbiB0aGUgb3JpZ2luYWwgbGFuZ3VhZ2UgYW5kIGZpeCBpdCBtYW51YWxseSBiZWZvcmUgcmUtdXBsb2FkaW5nIGZvciB0cmFuc2xhdGlvbi5cIixcclxuICAgIFwiSU1BR0VfQUxUXzFcIjogXCJTb3VyY2UgaW1hZ2UgZG93bmxvYWQgZXhhbXBsZVwiLFxyXG5cclxuICAgIFwiVElUTEVfMlwiOiBcIkltYWdlIGNvbnZlcnNpb25cIixcclxuICAgIFwiUEFSQUdSQVBIXzJfMVwiOiBcIlRoZSBpbWFnZSBpcyBhbmFseXNlZCBhbmQgaXRzIGNvbnRlbnQgaXMgc3BsaXQgaW4gdGV4dCwgdGFibGUgYW5kIGltYWdlL2JhY2tncm91bmQgaW1hZ2UgYXJlYXMuIFRoZXkgYXJlIGFuYWx5c2VkIGZ1cnRoZXIgdG8gZGV0ZXJtaW5lIHdoaWNoIGNvbnRlbnQgc2hvdWxkIGJlIHJlY29nbml6ZWQgYXMgdGV4dC5cIixcclxuICAgIFwiUEFSQUdSQVBIXzJfMlwiOiBcIlRleHR1YWwgZGF0YSBhcmUgYWNxdWlyZWQgYnkgbWVhbnMgb2YgT0NSIG9yIG9wdGljYWwgY2hhcmFjdGVyIHJlY29nbml0aW9uLiBFdmVyeSBjaGFyYWN0ZXIgaXMgcmVjb2duaXplZCBkZXBlbmRpbmcgb24gaXRzIHZpc3VhbCBjaGFyYWN0ZXJpc3RpY3MsIHRoZW4gYXNzZW1ibGVkIGludG8gd29yZHMgYW5kIHNlbnRlbmNlcy5cIixcclxuICAgIFwiUEFSQUdSQVBIXzJfM1wiOiBcIlJlY29nbml0aW9uIGlzIGFmZmVjdGVkIGJ5IG1hbnkgZmFjdG9ycywgaW5jbHVkaW5nOlwiLFxyXG4gICAgXCJMSV8xXzFcIjogXCJRdWFsaXR5IG9mIHRoZSBzY2FubmVkIGltYWdlIChibHVycmVkIG9yIGRlZm9ybWVkIHRleHQsIGltYWdlIG5vaXNlLCBpbWFnZSByZXNvbHV0aW9uLCBjb250cmFzdCBldGMuKS4gRm9yIHRoZSBiZXN0IHJlc3VsdCwgaW1hZ2VzIHNob3VsZCBiZSBhdCBsZWFzdCAzMDAgZHBpLCB1bnNrZXdlZCBhbmQgbm9pc2UgZnJlZS5cIixcclxuICAgIFwiTElfMV8yXCI6IFwiRm9udCBzaXplLiBTaXplcyBzbWFsbGVyIHRoYW4gOSBwb2ludHMgbWlnaHQgYmUgcG9vcmx5IHJlY29nbml6ZWQuIFwiLFxyXG4gICAgXCJMSV8xXzNcIjogXCJSYXJlIGFuZCBvcmlnaW5hbCBmb250cy4gTGVzcyBjb21tb24gZm9udHMgbWF5IGJlIHVucmVjb2duaXphYmxlIG9yIHBlcmZvcm0gd29yc2UuXCIsXHJcbiAgICBcIkxJXzFfNFwiOiBcIkNvbXBsZXhpdHkgb2YgdGhlIGRvY3VtZW50IHN0cnVjdHVyZSBhbmQgZm9ybWF0dGluZy5cIixcclxuXHJcbiAgICBcIlRJVExFXzNcIjogXCJJbXByb3ZpbmcgdHJhbnNsYXRpb24gcGVyZm9ybWFuY2VcIixcclxuICAgIFwiUEFSQUdSQVBIXzNfMVwiOiBcIlRoZSBjb252ZXJzaW9uIHByb2Nlc3MgaXMgdmVyeSBjb21wbGV4IGFuZCBtYXkgYmUgYWZmZWN0ZWQgYnkgdmFyaW91cyBlcnJvcnMgcmVzdWx0aW5nIGZyb20gdGhlIGlucHV0IGRvY3VtZW50LiBcIixcclxuICAgIFwiUEFSQUdSQVBIXzNfMlwiOiBcIklzc3VlcyB0byBsb29rIGZvcjpcIixcclxuICAgIFwiTElfMl8xXCI6IFwiSW5jb3JyZWN0bHkgcmVjb2duaXplZCB3b3Jkcy5cIixcclxuICAgIFwiTElfMl8yXCI6IFwiSW5jb3JyZWN0IHdvcmQgYm91bmRhcmllcy5cIixcclxuICAgIFwiTElfMl8zXCI6IFwiU2VudGVuY2VzIHNwYW5uaW5nIG11bHRpcGxlIGNvbHVtbnMsIGxpbmVzIG9yIHBhZ2VzIHNwbGl0IGludG8gZGlmZmVyZW50IHRleHR1YWwgb2JqZWN0cy5cIixcclxuICAgIFwiTElfMl80XCI6IFwiTWlzcGxhY2VkIHBhZ2UgZm9vdGVycyBhbmQgaGVhZGVycy5cIixcclxuICAgIFwiTElfMl81XCI6IFwiSW5jb3JyZWN0IG51bWJlcmluZy5cIixcclxuICAgIFwiTElfMl82XCI6IFwiVGFibGVzIHJlY29nbml6ZWQgYXMgYmFja2dyb3VuZCBpbWFnZXMgd2l0aCB0ZXh0dWFsIGNvbnRlbnQgcGxhY2VkIGludG8gZGlmZmVyZW50IHRleHR1YWwgb2JqZWN0cy5cIixcclxuICAgIFwiTElfMl83XCI6IFwiU29tZSBkaWFncmFtcyByZWNvZ25pemVkIGFzIGltYWdlcyB3aXRob3V0IGFueSB0ZXh0dWFsIGNvbnRlbnQuXCIsXHJcbiAgICBcIkxJXzJfOFwiOiBcIlNlcGFyYXRvcnMsIGJvcmRlcnMgb3Igb3RoZXIgaG9yaXpvbnRhbCBsaW5lcyByZWNvZ25pemVkIGFzIHN0cmlrZXRocm91Z2ggb3IgdW5kZXJsaW5lZCB0ZXh0LlwiLFxyXG5cclxuICAgIFwiUEFSQUdSQVBIXzRfMVwiOiBcIjxiPk5vdGUgdGhhdCB0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHdpbGwgbm90IHJldGFpbiBhbGwgZGV0YWlscyBvZiB0aGUgb3JpZ2luYWwgZm9ybWF0dGluZy48L2I+IFNvbWUgaW1hZ2VzLCB0YWJsZXMgb3IgZGlhZ3JhbXMgbWF5IGJlY29tZSBkaXN0b3J0ZWQgb3Igc2ltcGxpZmllZC4gRm9udHMgaW4gdGhlIHRyYW5zbGF0ZWQgZG9jdW1lbnQgd2lsbCBub3QgYmUgdGhlIHNhbWUgYXMgaW4gdGhlIG9yaWdpbmFsLCBidXQgbWF5IGJlIHNpbWlsYXIuIEluY29ycmVjdCBmb250IHNpemUgbWF5IGJlIHJlY29nbml6ZWQuXCIsXHJcblxyXG4gICAgXCJDTE9TRVwiOiBcIkNsb3NlIGRpYWxvZ1wiXHJcbiAgfSxcclxuICBcIldFQlRSQU5TTEFURVwiOiB7XHJcbiAgICBcIkJBQ0tcIjogXCJCYWNrIHRvIFRyYW5zbGF0b3JcIixcclxuICAgIFwiQUREUkVTU1wiOiBcIkFkZHJlc3NcIixcclxuICAgIFwiTE9BRF9QQUdFXCI6IFwiTG9hZCBwYWdlXCIsXHJcbiAgICBcIlJFU1RPUkVcIjogXCJSZXN0b3JlXCIsXHJcbiAgICBcIkNBTkNFTFwiOiBcIkNhbmNlbFwiXHJcbiAgfSxcclxuICBcIlRFUk1fQ09MTEVDVElPTlNcIjoge1xyXG4gICAgXCJUSVRMRVwiOiBcIlNlbGVjdCwgZWRpdCBhbmQgbWFuYWdlIGdsb3NzYXJpZXNcIixcclxuICAgIFwiVElUTEVfRU1QVFlcIjogXCJDcmVhdGUgeW91ciBmaXJzdCBnbG9zc2FyeVwiLFxyXG4gICAgXCJUSVRMRV9NT0JJTEVcIjogXCJTZWxlY3QgZ2xvc3Nhcmllc1wiLFxyXG4gICAgXCJERVNDUklQVElPTl8xXCI6IFwiU2VsZWN0IHdoaWNoIHRlcm0gY29sbGVjdGlvbiB0byB1c2UgZm9yIHRoaXMgcHJvamVjdC4gXCIsXHJcbiAgICBcIkRFU0NSSVBUSU9OXzJcIjogXCIgWW91IGNhbiBhZGQgbmV3IGNvbGxlY3Rpb25zIGFuZCBlZGl0IGV4aXN0aW5nIG9uZXNcIixcclxuICAgIFwiREVTQ1JJUFRJT05fMl9NT0JJTEVcIjogXCIgVXNlIHRoZSBkZXNrdG9wIHZlcnNpb24gdG8gY3JlYXRlIG5ldyBjb2xsZWN0aW9ucyBvciBlZGl0IGV4aXN0aW5nIG9uZXMuXCIsXHJcbiAgICBcIkdMT1NTQVJZXCI6IFwiR2xvc3Nhcnk6IFwiLFxyXG4gICAgXCJTRUxFQ1RFRF9OT05FXCI6IFwiTm9uZVwiLFxyXG4gICAgXCJFRElUXCI6IFwiRWRpdFwiLFxyXG4gICAgXCJDUkVBVEVcIjogXCJOZXcgZ2xvc3NhcnlcIixcclxuICAgIFwiREVTQ1JJUFRJT05fRU1QVFlcIjogXCJZb3UgY2FuIHNldCB1cCBleGFjdGx5IGhvdyB5b3Ugd2FudCB7e2FwcE5hbWV9fSB0byB0cmFuc2xhdGUgd29yZHMgYW5kIHBocmFzZXMgc3BlY2lmaWMgdG8geW91ciBjb21wYW55IG9yIGluZHVzdHJ5IGJ5IGFkZGluZyB0aGVtIHRvIHlvdXIgdW5pcXVlIHRlcm0gY29sbGVjdGlvbnMuXCIsXHJcbiAgICBcIkRFU0NSSVBUSU9OX0VNUFRZX01PQklMRVwiOiBcIlVzZSB0aGUgZGVza3RvcCB2ZXJzaW9uIHRvIHNldCB1cCBleGFjdGx5IGhvdyB5b3Ugd2FudCBUaWxkZSBNVCB0byB0cmFuc2xhdGUgd29yZHMgYW5kIHBocmFzZXMgc3BlY2lmaWMgdG8geW91ciBjb21wYW55IG9yIGluZHVzdHJ5IGJ5IGFkZGluZyB0aGVtIHRvIHlvdXIgdW5pcXVlIHRlcm0gY29sbGVjdGlvbnMuXCIsXHJcbiAgICBcIkVOVFJZX0NPVU5UXCI6IFwiRW50cmllczoge3tjb3VudH19XCIsXHJcbiAgICBcIkVOVFJZX0NPVU5UX1dJVEhfTEFOR1VHQUVTXCI6IFwiRW50cmllczoge3tjb3VudH19IFt7e2xhbmd1YWdlc319XVwiLFxyXG4gICAgXCJNVF9FTlRSWV9DT1VOVFwiOiBcIkltcG9ydGVkOiB7e2NvdW50fX1cIixcclxuICAgIFwiREVGQVVMVF9DT0xMRUNUSU9OX05BTUVcIjogXCJNeSB0ZXJtIGNvbGxlY3Rpb25cIixcclxuICAgIFwiU1lOQ1wiOiBcIlN5bmNcIixcclxuICAgIFwiU1lOQ19FUlJPUlwiOiBcIlJldHJ5XCIsXHJcbiAgICBcIkFSSUFfTEFCRUxTXCI6IHtcclxuICAgICAgXCJSQURJT19HUk9VUFwiOiBcIlNlbGVjdCBhIHRlcm0gY29sbGVjdGlvblwiLFxyXG4gICAgICBcIk9USEVSX0NPTExFQ1RJT05TXCI6IFwiT3BlbiB0aGUgY29sbGVjdGlvbiBtZW51XCJcclxuICAgIH0sXHJcbiAgICBcIkNSRUFURV9ESUFMT0dcIjoge1xyXG4gICAgICBcIkNBTkNFTFwiOiBcIkNhbmNlbFwiLFxyXG4gICAgICBcIkNPTExFQ1RJT05fTkFNRV9MQUJFTFwiOiBcIlRlcm0gY29sbGVjdGlvbiBuYW1lXCIsXHJcbiAgICAgIFwiQ1JFQVRFXCI6IFwiQ3JlYXRlXCIsXHJcbiAgICAgIFwiREVTQ1JJUFRJT05fMVwiOiBcIkFmdGVyIG5hbWluZyB5b3VyIHRlcm0gY29sbGVjdGlvbiwgeW91IHdpbGwgYmUgcmVkaXJlY3RlZCB0byBUaWxkZSBUZXJtIHRvIGFkZCBuZXcgdGVybXMuIEFmdGVyIGNvbXBsZXRpb24sIHJldHVybiB0byBUaWxkZSBNVCB0byB1c2UgdGhlIG5ldyB0ZXJtcyBpbiB5b3VyIHRyYW5zbGF0aW9uIHByb2plY3RzLlwiLFxyXG4gICAgICBcIkRFU0NSSVBUSU9OXzJcIjogXCI8aT4qQUkgaXMgbm90IHBlcmZlY3QgYW5kIGNhbiBtYWtlIG9jY2FzaW9uYWwgbWlzdGFrZXMuIFlvdXIgdW5pcXVlIHRlcm1zIHdpbGwgYmUgdXNlZCBjb3JyZWN0bHkgd2l0aCA5NSUgYWNjdXJhY3kuPC9pPlwiLFxyXG4gICAgICBcIlRJVExFXCI6IFwiQ3JlYXRlIGEgbmV3IGdsb3NzYXJ5XCIsXHJcbiAgICAgIFwiQ09MTEVDVElPTl9OQU1FX0VSUk9SXCI6IFwiVGl0bGUgc2hvdWxkIGJlIGF0IGxlYXN0IHt7bWluTGVuZ3RofX0gc3ltYm9scyBsb25nIGFuZCBub3QgbG9uZ2VyIHRoYW4ge3ttYXhMZW5ndGh9fSBzeW1ib2xzXCJcclxuICAgIH0sXHJcbiAgICBcIlRPT0xUSVBTXCI6IHtcclxuICAgICAgXCJFRElUXCI6IFwiWW91IHdpbGwgYmUgcmVkaXJlY3RlZCB0byB0ZXJtaW5vbG9neSBwb3J0YWwgdGhhdCB3aWxsIGJlIG9wZW5lZCBpbiBhIG5ldyB0YWJcIixcclxuICAgICAgXCJFTlRSWV9DT1VOVFwiOiBcIk51bWJlciBvZiBlbnRyaWVzIGFkZGVkIHRvIHRoZSB0ZXJtIGNvbGxlY3Rpb25cIixcclxuICAgICAgXCJNVF9FTlRSWV9DT1VOVFwiOiBcIk51bWJlciBvZiBlbnRyaWVzIHVzZWQgZm9yIG1hY2hpbmUgdHJhbnNsYXRpb25cIixcclxuICAgICAgXCJJTVBPUlRJTkdcIjogXCJJbXBvcnQgb2YgdGhlIHRlcm0gY29sbGVjdGlvbiBpbiBwcm9ncmVzcywgdGhlIGNvbGxlY3Rpb24gd2lsbCBub3QgYmUgYXZhaWxhYmxlIHVudGlsIGl0IGlzIGNvbXBsZXRlZC5cIixcclxuICAgICAgXCJOT19FTlRSSUVTXCI6IFwiVGVybSBjb2xsZWN0aW9uIGNhbm5vdCBiZSB1c2VkOiBubyB0ZXJtcyBpbiBzb3VyY2UgbGFuZ3VhZ2VcIixcclxuICAgICAgXCJTWU5DXCI6IFwiVXBkYXRlIHRoZSB0ZXJtIGNvbGxlY3Rpb25cIixcclxuICAgICAgXCJTWU5DSU5HXCI6IFwiVGVybSBjb2xsZWN0aW9uIGlzIHN5bmNlZCwgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoZSBjb2xsZWN0aW9uIHdpbGwgYmUgdXNlZFwiLFxyXG4gICAgICBcIkFUVEFDSF9UT19TWVNURU1fRVJST1JcIjogXCJBbiBlcnJvciBoYXMgb2NjdXJlZCB3aGlsZSBpbXBvcnRpbmcgdGhlIHRlcm0gY29sbGVjdGlvblwiXHJcbiAgICB9LFxyXG4gICAgXCJQUk9NT1RJT05cIjoge1xyXG4gICAgICBcIlRJVExFXCI6IFwiQ3JlYXRlLCBlZGl0IGFuZCBtYW5hZ2UgZ2xvc3Nhcmllc1wiLFxyXG4gICAgICBcIkRFU0NSSVBUSU9OXCI6IFwiR2xvc3NhcmllcyBhcmUgYXZhaWxhYmxlIGZvciBUaWxkZSBNVCBtZW1iZXJzLlwiLFxyXG4gICAgICBcIlNUQVJUX1RSSUFMXCI6IFwiU3RhcnQgd2l0aCBhIGZyZWUgdHJpYWxcIixcclxuICAgICAgXCJMRUFSTl9NT1JFXCI6IFwiTGVhcm4gbW9yZSBhYm91dCBnbG9zc2FyaWVzXCJcclxuICAgIH1cclxuICB9LFxyXG4gIFwiRE9NQUlOU1wiOiB7XHJcbiAgICBcIk9QRU5fTElTVF9BUklBX0xBQkVMXCI6IFwiT3BlbiBkb21haW4gbGlzdFwiLFxyXG4gICAgXCJUSVRMRVwiOiBcIkRvbWFpbjpcIixcclxuICAgIFwiTEFXXCI6IFwiTGF3XCIsXHJcbiAgICBcIkRZTkFNSUNfTEVBUk5JTkdcIjogXCJEeW5hbWljIGxlYXJuaW5nXCIsXHJcbiAgICBcIkJVU0lORVNTXCI6IFwiQnVzaW5lc3NcIixcclxuICAgIFwiR0VORVJBTFwiOiBcIkdlbmVyYWxcIixcclxuICAgIFwiQVVUT1wiOiBcIkF1dG9kZXRlY3RcIixcclxuICAgIFwiU1BEXCI6IFwiRVUgRm9ybWFsIExhbmd1YWdlXCIsXHJcbiAgICBcIkdFTlwiOiBcIkdlbmVyYWwgVGV4dFwiLFxyXG4gICAgXCJFQ0JcIjogXCJGaW5hbmNlXCIsXHJcbiAgICBcIkVDSlwiOiBcIkV1cm9wZWFuIENvdXJ0IG9mIEp1c3RpY2VcIixcclxuICAgIFwiUFVCSEVBTFRIXCI6IFwiUHVibGljIEhlYWx0aFwiLFxyXG4gICAgXCJCVUJBXCI6IFwiRGV1dHNjaGUgQnVuZGVzYmFua1wiLFxyXG4gICAgXCJCRVJDWVwiOiBcIk1pbmlzdMOocmUgZGVzIEZpbmFuY2VzXCIsXHJcbiAgICBcIkVVUk9QRUFOQVwiOiBcIkV1cm9wZWFuYVwiLFxyXG4gICAgXCJJUE9cIjogXCJJUCBDYXNlIExhd1wiLFxyXG4gICAgXCJUUklTXCI6IFwiRW5naW5lcyBidWlsdCB1c2luZyBkYXRhIGZyb20gdGhlIHRlY2huaWNhbCByZWd1bGF0aW9uIGluZm9ybWF0aW9uIHN5c3RlbVwiLFxyXG4gICAgXCJWS1wiOiBcIlZhbHRpb25ldXZvc3RvbiBLYW5zbGlhXCIsXHJcbiAgICBcIkJVQkFfTk1UVEVTVFwiOiBcIkRldXRzY2hlIEJ1bmRlc2JhbmsgVGVzdFwiXHJcbiAgfSxcclxuICBcIkdSQU1NQVJfQ0hFQ0tfTUVOVVwiOiB7XHJcbiAgICBcIlRJVExFXCI6IFwiQ29uc2lkZXIgY2hhbmdpbmcgdG86XCJcclxuICB9LFxyXG4gIFwiQVVESU9cIjoge1xyXG4gICAgXCJDQU5DRUxcIjogXCJDYW5jZWxcIixcclxuICAgIFwiREVTQ1JJQkVfU1RBVEVfUkVDT1JESU5HXCI6IFwiUGxlYXNlIHNwZWFrIHRvIHJlY29yZC4uLlwiLFxyXG4gICAgXCJERVNDUklCRV9TVEFURV9QUk9DRVNTSU5HXCI6IFwiUHJvY2Vzc2luZy4uLlwiLFxyXG4gICAgXCJNSUNfTk9UX0ZPVU5EXCI6IFwiTWljcm9waG9uZSBub3QgZm91bmRcIixcclxuICAgIFwiU1RPUFwiOiBcIlN0b3AgcmVjb3JkaW5nXCIsXHJcbiAgICBcIlNUQVJUXCI6IFwiVHJhbnNsYXRlIHNwZWVjaFwiLFxyXG4gICAgXCJQVU5DVFVBVElPTl9NRVNTQUdFX1RJVExFXCI6IFwiQWRkIHB1bmN0dWF0aW9uXCIsXHJcbiAgICBcIlBVTkNUVUFUSU9OX01FU1NBR0VcIjogXCJQbGVhc2UgYWRkIHB1bmN0dWF0aW9uIHRvIHRoZSByZWNvZ25pemVkIHRleHQuIExvbmcgdGV4dCB3aXRob3V0IHB1bmN0dWF0aW9uIG1heSBoYXZlIGxvd2VyIHRyYW5zbGF0aW9uIHF1YWxpdHkgb3Igbm90IGJlIHRyYW5zbGF0ZWQuXCIsXHJcbiAgfSxcclxuICBcIkVYVEVOU0lPTl9QT1BVUFwiOiB7XHJcbiAgICBcIk9QRU5cIjogXCJzZWUgYWxsIHN1cHBvcnRlZCBmb3JtYXRzXCIsXHJcbiAgICBcIlRJVExFXCI6IFwiU3VwcG9ydGVkIGZpbGUgZm9ybWF0c1wiLFxyXG4gICAgXCJERVNDUklQVElPTlwiOiBcIlVURi04IG9yIFVURi0xNiBjb2RpbmcgcmVxdWlyZWQgdG8gZW5zdXJlIGNvcnJlY3QgZmlsZSB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJPRkZJQ0VcIjogXCJPZmZpY2VcIixcclxuICAgIFwiU0NBTk5FRFwiOiBcIlNjYW5uZWQgZmlsZXNcIixcclxuICAgIFwiSU5URVJDSEFOR0VcIjogXCJJbnRlcmNoYW5nZSBmb3JtYXRzXCIsXHJcbiAgICBcIldFQlwiOiBcIldlYlwiLFxyXG4gICAgXCJPVEhFUlwiOiBcIk90aGVyXCIsXHJcbiAgfSxcclxuICBcIkZJTEVfVVBMT0FEXCI6IHtcclxuICAgIFwiVVBMT0FEXCI6IFwiVXBsb2FkXCIsXHJcbiAgICBcIkRSQUdfQU5EX0RST1BcIjogXCJvciBkcmFnIGFuZCBkcm9wIFwiLFxyXG4gICAgXCJGSUxFXCI6IFwiYSBmaWxlXCIsXHJcbiAgICBcIkZJTEVTXCI6IFwiZmlsZXNcIixcclxuICAgIFwiTElNSVRTXCI6IFwiICh7e3Zpc2libGVFeHRlbnNpb25zfX0uIE1heCB7e21heFNpemVNQn19TUIpXCIsXHJcbiAgICBcIkNMRUFSXCI6IFwiQ2xlYXIgZmlsZVwiXHJcbiAgfSxcclxuICBcIlNZU1RFTV9QSUNLRVJcIjoge1xyXG4gICAgXCJTT1VSQ0VcIjogXCJUcmFuc2xhdGUgZnJvbVwiLFxyXG4gICAgXCJUQVJHRVRcIjogXCJUcmFuc2xhdGUgdG9cIixcclxuICAgIFwiU0VBUkNIX1BMQUNFSE9MREVSXCI6IFwiU2VhcmNoIGxhbmd1YWdlc1wiLFxyXG4gICAgXCJSRUNFTlRfU1lTVEVNX1RJVExFXCI6IFwiUmVjZW50IHRyYW5zbGF0aW9uIGRpcmVjdGlvbnNcIixcclxuICAgIFwiU0VMRUNUX0RPTUFJTlwiOiBcIlNlbGVjdCBkb21haW5cIixcclxuICAgIFwiRklMVEVSX05PX1JFU1VMVFNcIjogXCJObyByZXN1bHRzXCIsXHJcbiAgICBcIkFMTF9MQU5HVUFHRVNcIjogXCJBbGwgbGFuZ3VhZ2VzXCIsXHJcbiAgICBcIkNMRUFSX1NFQVJDSFwiOiBcIkNsZWFyIHNlYXJjaCB0ZXh0XCIsXHJcbiAgICBcIk9QRU5fU09VUkNFX0FSSUFfTEFCRUxcIjogXCJTZWxlY3Qgc291cmNlIGxhbmd1YWdlXCIsXHJcbiAgICBcIk9QRU5fVEFSR0VUX0FSSUFfTEFCRUxcIjogXCJTZWxlY3QgdGFyZ2V0IGxhbmd1YWdlIGFuZCBkb21haW5cIlxyXG4gIH0sXHJcbiAgXCJURVhUX1RSQU5TTEFUSU9OX1BST0dSRVNTX0lORElDQVRPUlwiOiB7XHJcbiAgICBcIlRJVExFXCI6IFwiVHJhbnNsYXRpb24gcHJvdmlkZWQgYnkge3twcm92aWRlcn19XCIsXHJcbiAgICBcIlRSQU5TTEFUSU5HXCI6IFwiVHJhbnNsYXRpbmcuLi5cIixcclxuICAgIFwiQ0xPU0VfQlVUVE9OX1RPT0xUSVBcIjogXCJSZW1vdmUgcHJvZ3Jlc3MgYmFyXCIsXHJcbiAgICBcIkNMT1NFX0JVVFRPTl9BUklBX0xBQkVMXCI6IFwiUmVtb3ZlIHByb2dyZXNzIGJhclwiXHJcbiAgfSxcclxuICBcIlZFTkRPUl9NRVNTQUdFXCI6IHtcclxuICAgIFwiVEVYVFwiOiBcIlRyYW5zbGF0aW9uIHByb3ZpZGVkIGJ5IHt7dmVuZG9yfX1cIixcclxuICAgIFwiSUNPTl9UT09MVElQXCI6IFwiU3lzdGVtcyBvZmZlcmVkIGJ5IHt7dmVuZG9yfX0gYXJlIHVzZWQgYnkgYSBodWdlIG51bWJlciBvZiB1c2Vycy4gVGhleSBtYXkgYmUgc2xvdyBhdCB0aW1lIGR1ZSB0byB0aGUgaGVhdnkgd29yayBsb2FkLlwiXHJcbiAgfSxcclxuICBcIlZFTkRPUlNcIjoge1xyXG4gICAgXCJFVFJBTlNMQVRJT05cIjogXCJlVHJhbnNsYXRpb25cIlxyXG4gIH0sXHJcbiAgXCJURVhUX1RPX1NQRUVDSFwiOiB7XHJcbiAgICBcIlBMQVlcIjogXCJMaXN0ZW5cIixcclxuICAgIFwiUEFVU0VcIjogXCJQYXVzZVwiXHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -33,7 +33,13 @@ export class TldAlertService {
33
33
  getMessages() {
34
34
  return this.messageSubject.asObservable();
35
35
  }
36
+ basic(text, params) {
37
+ this.emit(NotificationMessageType.BASIC, text, null, params);
38
+ }
36
39
  info(text, params) {
40
+ this.emit(NotificationMessageType.INFO, text, null, params);
41
+ }
42
+ success(text, params) {
37
43
  this.emit(NotificationMessageType.SUCCESS, text, null, params);
38
44
  }
39
45
  error(text, error, params) {
@@ -43,6 +49,9 @@ export class TldAlertService {
43
49
  warning(text, params) {
44
50
  this.emit(NotificationMessageType.WARNING, text, null, params);
45
51
  }
52
+ deleteMessage(type, text, params) {
53
+ this.emit(type, text, null, params, true);
54
+ }
46
55
  unhandeledError(error, params) {
47
56
  if (error) {
48
57
  const errorKey = this.findErrorKey(error);
@@ -100,13 +109,16 @@ export class TldAlertService {
100
109
  }
101
110
  return this.errorKey + (errorKey ?? this.defaultErrorKey);
102
111
  }
103
- emit(type, text, error, params) {
112
+ emit(type, text, error, params, deleteMsg) {
113
+ // if there is no title for this text, text will be shown as title
114
+ const title = this.findPostfix(text, this.titlePostFix) ?? text;
104
115
  const message = {
105
- body: text,
106
- title: this.findPostfix(text, this.titlePostFix),
116
+ body: text === title ? null : text,
117
+ title,
107
118
  type,
108
119
  localizationParams: { ...this.defaultParams, ...params },
109
- support: this.config.coreConfig.contactSupport ? this.findPostfix(text, this.supportPostFix) : null
120
+ support: this.config.coreConfig.contactSupport ? this.findPostfix(text, this.supportPostFix) : null,
121
+ delete: deleteMsg
110
122
  };
111
123
  if (error) {
112
124
  message.error = error;
@@ -136,4 +148,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
136
148
  providedIn: 'root'
137
149
  }]
138
150
  }], ctorParameters: function () { return [{ type: i1.TldTranslateConfigService }]; } });
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLWFsZXJ0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtY29tbW9uL3NlcnZpY2VzL3RsZC1hbGVydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUF1Qix1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7OztBQU12RSxNQUFNLE9BQU8sZUFBZTtJQUUxQixZQUE2QixNQUFpQztRQUFqQyxXQUFNLEdBQU4sTUFBTSxDQUEyQjtRQUV0RCxtQkFBYyxHQUFpQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBU3BELG9CQUFlLEdBQUcsZUFBZSxDQUFDO1FBQ2xDLGFBQVEsR0FBRyxTQUFTLENBQUM7UUFDckIsMEJBQXFCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLDRCQUF1QixHQUFHLENBQUMsNEJBQTRCLEVBQUUsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2xHLHlFQUF5RTtRQUN4RCxpQkFBWSxHQUFHLFFBQVEsQ0FBQztRQUN6QyxnSEFBZ0g7UUFDL0YsbUJBQWMsR0FBRyxVQUFVLENBQUM7SUFsQnFCLENBQUM7SUFJbkUsSUFBSSxhQUFhO1FBQ2YsT0FBTztZQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZO1lBQzFDLFlBQVksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZO1NBQ2xELENBQUM7SUFDSixDQUFD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LENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2xFLENBQUM7OzRHQTNJVSxlQUFlO2dIQUFmLGVBQWUsY0FGZCxNQUFNOzJGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uTWVzc2FnZSwgTm90aWZpY2F0aW9uTWVzc2FnZVR5cGUgfSBmcm9tICdAdGlsZGUtbmxwL25neC1jb21tb24nO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGF2YWlsYWJsZUxhbmd1YWdlcyB9IGZyb20gJy4uLy4uLy4uL2kxOG4vYXZhaWxhYmxlLWxhbmd1YWdlcyc7XHJcbmltcG9ydCB7IFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL3RsZC10cmFuc2xhdGUtY29uZmlnLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGxkQWxlcnRTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjb25maWc6IFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UpIHsgfVxyXG5cclxuICBwcml2YXRlIG1lc3NhZ2VTdWJqZWN0OiBTdWJqZWN0PE5vdGlmaWNhdGlvbk1lc3NhZ2U+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgZ2V0IGRlZmF1bHRQYXJhbXMoKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBlbWFpbDogdGhpcy5jb25maWcuY29yZUNvbmZpZy5zdXBwb3J0RW1haWwsXHJcbiAgICAgIHJlZ2lzdGVyTGluazogdGhpcy5jb25maWcuY29yZUNvbmZpZy5yZWdpc3RlckxpbmtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRFcnJvcktleSA9IFwiRVJST1JfREVGQVVMVFwiO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZXJyb3JLZXkgPSBcIkVSUk9SUy5cIjtcclxuICBwcml2YXRlIHJlYWRvbmx5IG51bWVyaWNFcnJvcktleVByZWZpeCA9IFwiRV9cIjtcclxuICBwcml2YXRlIHJlYWRvbmx5IGVycm9yVHJhbnNsYXRpb25TdWJLZXlzID0gW1wiRklMRV9UUkFOU0xBVElPTl9TVUJTVEFUVVNcIiwgXCJGSUxFX1VQTE9BRFwiLCBcIkFVRElPXCJdO1xyXG4gIC8vIGlmIG1lc3NhZ2Uga2V5IGhhcyBrZXkgd2l0aCB0aGlzIHBvc3RmaXgsIG1lc3NhZ2Ugc2hvdWxkIGJlIHdpdGggdGl0bGVcclxuICBwcml2YXRlIHJlYWRvbmx5IHRpdGxlUG9zdEZpeCA9IFwiX1RJVExFXCI7XHJcbiAgLy8gaWYgbWVzc2FnZSBrZXkgaGFzIGtleSB3aXRoIHRoaXMgcG9zdGZpeCwgbWVzc2FnZSBzaG91bGQgYmUgd2l0aCBzdXBwb3J0IGluZm8sIGl0IGlzIGNvbmZpZ3VyZWQgYW5kIHR1cm5lZCBvblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgc3VwcG9ydFBvc3RGaXggPSBcIl9TVVBQT1JUXCI7XHJcblxyXG4gIGRlZmF1bHRFcnJvcihlcnJvcj86IGFueSkge1xyXG5cclxuICAgIGlmIChlcnJvcikge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgIH1cclxuICAgIHRoaXMuZXJyb3IoYCR7dGhpcy5lcnJvcktleX0ke3RoaXMuZGVmYXVsdEVycm9yS2V5fWAsIGVycm9yLCB0aGlzLmRlZmF1bHRQYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TWVzc2FnZXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIGluZm8odGV4dDogc3RyaW5nLCBwYXJhbXM/OiBhbnkpIHtcclxuICAgIHRoaXMuZW1pdChOb3RpZmljYXRpb25NZXNzYWdlVHlwZS5TVUNDRVNTLCB0ZXh0LCBudWxsLCBwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgZXJyb3IodGV4dDogc3RyaW5nLCBlcnJvcjogYW55LCBwYXJhbXM/OiBhbnkpIHtcclxuICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xyXG4gICAgdGhpcy5lbWl0KE5vdGlmaWNhdGlvbk1lc3NhZ2VUeXBlLkVSUk9SLCB0ZXh0LCBlcnJvciwgcGFyYW1zKTtcclxuICB9XHJcblxyXG4gIHdhcm5pbmcodGV4dDogc3RyaW5nLCBwYXJhbXM/OiBhbnkpIHtcclxuICAgIHRoaXMuZW1pdChOb3RpZmljYXRpb25NZXNzYWdlVHlwZS5XQVJOSU5HLCB0ZXh0LCBudWxsLCBwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgdW5oYW5kZWxlZEVycm9yKGVycm9yOiBhbnksIHBhcmFtcz86IGFueSkge1xyXG4gICAgaWYgKGVycm9yKSB7XHJcbiAgICAgIGNvbnN0IGVycm9yS2V5ID0gdGhpcy5maW5kRXJyb3JLZXkoZXJyb3IpO1xyXG5cclxuICAgICAgaWYgKGVycm9yS2V5KSB7XHJcbiAgICAgICAgdGhpcy5lcnJvcihlcnJvcktleSwgZXJyb3IsIHBhcmFtcyA/PyB0aGlzLmRlZmF1bHRQYXJhbXMpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5kZWZhdWx0RXJyb3IoZXJyb3IpO1xyXG4gIH1cclxuXHJcbiAgZmluZEVycm9yVGl0bGVBbmRMb2NhbGl6YXRpb25LZXkoZXJyb3I6IHVua25vd24pOiB7IHRpdGxlOiBzdHJpbmcsIGRlc2NyaXB0aW9uOiBzdHJpbmcgfSB7XHJcbiAgICBjb25zdCBlcnJvckRlc2NyaXB0aW9uS2V5ID0gdGhpcy5maW5kRXJyb3JLZXkoZXJyb3IpO1xyXG4gICAgbGV0IGVycm9yVGl0bGVLZXkgPSBudWxsO1xyXG5cclxuICAgIGlmIChlcnJvckRlc2NyaXB0aW9uS2V5KSB7XHJcbiAgICAgIGVycm9yVGl0bGVLZXkgPSB0aGlzLmZpbmRQb3N0Zml4KGVycm9yRGVzY3JpcHRpb25LZXksIHRoaXMudGl0bGVQb3N0Rml4KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBkZXNjcmlwdGlvbjogZXJyb3JEZXNjcmlwdGlvbktleSxcclxuICAgICAgdGl0bGU6IGVycm9yVGl0bGVLZXlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmluZEVycm9yS2V5KGVycm9yOiBhbnkpIHtcclxuICAgIGlmICghZXJyb3IpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGVycm9yS2V5ID0gbnVsbDtcclxuICAgIGNvbnN0IGVycm9yVHJhbnNsYXRpb25zID0gYXZhaWxhYmxlTGFuZ3VhZ2VzLmVuLkVSUk9SUztcclxuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlICYmIGVycm9yVHJhbnNsYXRpb25zW3RoaXMubnVtZXJpY0Vycm9yS2V5UHJlZml4ICsgZXJyb3Iuc3RhdHVzXSkge1xyXG4gICAgICBlcnJvcktleSA9IHRoaXMubnVtZXJpY0Vycm9yS2V5UHJlZml4ICsgZXJyb3Iuc3RhdHVzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZXJyb3JUcmFuc2xhdGlvbnNbZXJyb3IuRXJyb3JDb2RlXSkge1xyXG4gICAgICBlcnJvcktleSA9IGVycm9yLkVycm9yQ29kZTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGVycm9yVHJhbnNsYXRpb25zW3RoaXMubnVtZXJpY0Vycm9yS2V5UHJlZml4ICsgZXJyb3IuRXJyb3JDb2RlXSkge1xyXG4gICAgICBlcnJvcktleSA9IHRoaXMubnVtZXJpY0Vycm9yS2V5UHJlZml4ICsgZXJyb3IuRXJyb3JDb2RlO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZXJyb3JUcmFuc2xhdGlvbnNbZXJyb3IuZXJyb3I/LkVycm9yQ29kZV0pIHtcclxuICAgICAgZXJyb3JLZXkgPSBlcnJvci5lcnJvcj8uRXJyb3JDb2RlO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZXJyb3JUcmFuc2xhdGlvbnNbZXJyb3IuZXJyb3JdKSB7XHJcbiAgICAgIGVycm9yS2V5ID0gZXJyb3IuZXJyb3I7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChlcnJvclRyYW5zbGF0aW9uc1t0aGlzLm51bWVyaWNFcnJvcktleVByZWZpeCArIGVycm9yLmVycm9yPy5FcnJvckNvZGVdKSB7XHJcbiAgICAgIGVycm9yS2V5ID0gdGhpcy5udW1lcmljRXJyb3JLZXlQcmVmaXggKyBlcnJvci5lcnJvcj8uRXJyb3JDb2RlXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFlcnJvcktleSkge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZXJyb3JUcmFuc2xhdGlvblN1YktleXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBjb25zdCBzdWJLZXkgPSB0aGlzLmVycm9yVHJhbnNsYXRpb25TdWJLZXlzW2ldO1xyXG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBlcnJvclRyYW5zbGF0aW9uc1tzdWJLZXldO1xyXG4gICAgICAgIGlmIChlbGVtZW50W2Vycm9yLkVycm9yQ29kZV0pIHtcclxuICAgICAgICAgIGVycm9yS2V5ID0gYCR7c3ViS2V5fS4ke2Vycm9yLkVycm9yQ29kZX1gO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5lcnJvcktleSArIChlcnJvcktleSA/PyB0aGlzLmRlZmF1bHRFcnJvcktleSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGVtaXQodHlwZTogTm90aWZpY2F0aW9uTWVzc2FnZVR5cGUsIHRleHQ6IHN0cmluZywgZXJyb3I6IGFueSwgcGFyYW1zPzogYW55KSB7XHJcbiAgICBjb25zdCBtZXNzYWdlOiBOb3RpZmljYXRpb25NZXNzYWdlID0ge1xyXG4gICAgICBib2R5OiB0ZXh0LFxyXG4gICAgICB0aXRsZTogdGhpcy5maW5kUG9zdGZpeCh0ZXh0LCB0aGlzLnRpdGxlUG9zdEZpeCksXHJcbiAgICAgIHR5cGUsXHJcbiAgICAgIGxvY2FsaXphdGlvblBhcmFtczogeyAuLi50aGlzLmRlZmF1bHRQYXJhbXMsIC4uLnBhcmFtcyB9LFxyXG4gICAgICBzdXBwb3J0OiB0aGlzLmNvbmZpZy5jb3JlQ29uZmlnLmNvbnRhY3RTdXBwb3J0ID8gdGhpcy5maW5kUG9zdGZpeCh0ZXh0LCB0aGlzLnN1cHBvcnRQb3N0Rml4KSA6IG51bGxcclxuICAgIH07XHJcbiAgICBpZiAoZXJyb3IpIHtcclxuICAgICAgbWVzc2FnZS5lcnJvciA9IGVycm9yO1xyXG4gICAgfVxyXG4gICAgdGhpcy5tZXNzYWdlU3ViamVjdC5uZXh0KG1lc3NhZ2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaW5kUG9zdGZpeCh0ZXh0OiBzdHJpbmcsIHBvc3RmaXg6IHN0cmluZykge1xyXG4gICAgY29uc3QgcGFydHMgPSB0ZXh0LnNwbGl0KFwiLlwiKTtcclxuICAgIGxldCBsb2NhbGl6YXRpb25PYmplY3QgPSBhdmFpbGFibGVMYW5ndWFnZXMuZW47XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhcnRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGlmIChpID4gMCkge1xyXG4gICAgICAgIGxvY2FsaXphdGlvbk9iamVjdCA9IGxvY2FsaXphdGlvbk9iamVjdFtwYXJ0c1tpIC0gMV1dO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghbG9jYWxpemF0aW9uT2JqZWN0W3BhcnRzW2ldXSkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBjb25zdCBrZXlXaXRoVGl0bGUgPSBwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXSArIHBvc3RmaXg7XHJcbiAgICByZXR1cm4gbG9jYWxpemF0aW9uT2JqZWN0W2tleVdpdGhUaXRsZV0gPyB0ZXh0ICsgcG9zdGZpeCA6IG51bGw7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIl19
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLWFsZXJ0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtY29tbW9uL3NlcnZpY2VzL3RsZC1hbGVydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUF1Qix1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7OztBQU12RSxNQUFNLE9BQU8sZUFBZTtJQUUxQixZQUE2QixNQUFpQztRQUFqQyxXQUFNLEdBQU4sTUFBTSxDQUEyQjtRQUV0RCxtQkFBYyxHQUFpQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBU3BELG9CQUFlLEdBQUcsZUFBZSxDQUFDO1FBQ2xDLGFBQVEsR0FBRyxTQUFTLENBQUM7UUFDckIsMEJBQXFCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLDRCQUF1QixHQUFHLENBQUMsNEJBQTRCLEVBQUUsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2xHLHlFQUF5RTtRQUN4RCxpQkFBWSxHQUFHLFFBQVEsQ0FBQztRQUN6QyxnSEFBZ0g7UUFDL0YsbUJBQWMsR0FBRyxVQUFVLENBQUM7SUFsQnFCLENBQUM7SUFJbkUsSUFBSSxhQUFhO1FBQ2YsT0FBTztZQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZO1lBQzFDLFlBQVksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZO1NBQ2xELENBQUM7SUFDSixDQUFD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TyxXQUFXLENBQUMsSUFBWSxFQUFFLE9BQWU7UUFDL0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QixJQUFJLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztRQUMvQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ1Qsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3ZEO1lBQ0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNqQyxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFDRCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUM7UUFDdkQsT0FBTyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2xFLENBQUM7OzRHQTFKVSxlQUFlO2dIQUFmLGVBQWUsY0FGZCxNQUFNOzJGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uTWVzc2FnZSwgTm90aWZpY2F0aW9uTWVzc2FnZVR5cGUgfSBmcm9tICdAdGlsZGUtbmxwL25neC1jb21tb24nO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGF2YWlsYWJsZUxhbmd1YWdlcyB9IGZyb20gJy4uLy4uLy4uL2kxOG4vYXZhaWxhYmxlLWxhbmd1YWdlcyc7XHJcbmltcG9ydCB7IFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL3RsZC10cmFuc2xhdGUtY29uZmlnLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGxkQWxlcnRTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjb25maWc6IFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UpIHsgfVxyXG5cclxuICBwcml2YXRlIG1lc3NhZ2VTdWJqZWN0OiBTdWJqZWN0PE5vdGlmaWNhdGlvbk1lc3NhZ2U+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgZ2V0IGRlZmF1bHRQYXJhbXMoKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBlbWFpbDogdGhpcy5jb25maWcuY29yZUNvbmZpZy5zdXBwb3J0RW1haWwsXHJcbiAgICAgIHJlZ2lzdGVyTGluazogdGhpcy5jb25maWcuY29yZUNvbmZpZy5yZWdpc3RlckxpbmtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRFcnJvcktleSA9IFwiRVJST1JfREVGQVVMVFwiO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZXJyb3JLZXkgPSBcIkVSUk9SUy5cIjtcclxuICBwcml2YXRlIHJlYWRvbmx5IG51bWVyaWNFcnJvcktleVByZWZpeCA9IFwiRV9cIjtcclxuICBwcml2YXRlIHJlYWRvbmx5IGVycm9yVHJhbnNsYXRpb25TdWJLZXlzID0gW1wiRklMRV9UUkFOU0xBVElPTl9TVUJTVEFUVVNcIiwgXCJGSUxFX1VQTE9BRFwiLCBcIkFVRElPXCJdO1xyXG4gIC8vIGlmIG1lc3NhZ2Uga2V5IGhhcyBrZXkgd2l0aCB0aGlzIHBvc3RmaXgsIG1lc3NhZ2Ugc2hvdWxkIGJlIHdpdGggdGl0bGVcclxuICBwcml2YXRlIHJlYWRvbmx5IHRpdGxlUG9zdEZpeCA9IFwiX1RJVExFXCI7XHJcbiAgLy8gaWYgbWVzc2FnZSBrZXkgaGFzIGtleSB3aXRoIHRoaXMgcG9zdGZpeCwgbWVzc2FnZSBzaG91bGQgYmUgd2l0aCBzdXBwb3J0IGluZm8sIGl0IGlzIGNvbmZpZ3VyZWQgYW5kIHR1cm5lZCBvblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgc3VwcG9ydFBvc3RGaXggPSBcIl9TVVBQT1JUXCI7XHJcblxyXG4gIGRlZmF1bHRFcnJvcihlcnJvcj86IGFueSkge1xyXG5cclxuICAgIGlmIChlcnJvcikge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgIH1cclxuICAgIHRoaXMuZXJyb3IoYCR7dGhpcy5lcnJvcktleX0ke3RoaXMuZGVmYXVsdEVycm9yS2V5fWAsIGVycm9yLCB0aGlzLmRlZmF1bHRQYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TWVzc2FnZXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIGJhc2ljKHRleHQ6IHN0cmluZywgcGFyYW1zPzogYW55KSB7XHJcbiAgICB0aGlzLmVtaXQoTm90aWZpY2F0aW9uTWVzc2FnZVR5cGUuQkFTSUMsIHRleHQsIG51bGwsIHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICBpbmZvKHRleHQ6IHN0cmluZywgcGFyYW1zPzogYW55KSB7XHJcbiAgICB0aGlzLmVtaXQoTm90aWZpY2F0aW9uTWVzc2FnZVR5cGUuSU5GTywgdGV4dCwgbnVsbCwgcGFyYW1zKTtcclxuICB9XHJcblxyXG4gIHN1Y2Nlc3ModGV4dDogc3RyaW5nLCBwYXJhbXM/OiBhbnkpIHtcclxuICAgIHRoaXMuZW1pdChOb3RpZmljYXRpb25NZXNzYWdlVHlwZS5TVUNDRVNTLCB0ZXh0LCBudWxsLCBwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgZXJyb3IodGV4dDogc3RyaW5nLCBlcnJvcjogYW55LCBwYXJhbXM/OiBhbnkpIHtcclxuICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xyXG4gICAgdGhpcy5lbWl0KE5vdGlmaWNhdGlvbk1lc3NhZ2VUeXBlLkVSUk9SLCB0ZXh0LCBlcnJvciwgcGFyYW1zKTtcclxuICB9XHJcblxyXG4gIHdhcm5pbmcodGV4dDogc3RyaW5nLCBwYXJhbXM/OiBhbnkpIHtcclxuICAgIHRoaXMuZW1pdChOb3RpZmljYXRpb25NZXNzYWdlVHlwZS5XQVJOSU5HLCB0ZXh0LCBudWxsLCBwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlTWVzc2FnZSh0eXBlOiBOb3RpZmljYXRpb25NZXNzYWdlVHlwZSwgdGV4dDogc3RyaW5nLCBwYXJhbXM/OiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuZW1pdCh0eXBlLCB0ZXh0LCBudWxsLCBwYXJhbXMsIHRydWUpO1xyXG4gIH1cclxuXHJcbiAgdW5oYW5kZWxlZEVycm9yKGVycm9yOiBhbnksIHBhcmFtcz86IGFueSkge1xyXG4gICAgaWYgKGVycm9yKSB7XHJcbiAgICAgIGNvbnN0IGVycm9yS2V5ID0gdGhpcy5maW5kRXJyb3JLZXkoZXJyb3IpO1xyXG5cclxuICAgICAgaWYgKGVycm9yS2V5KSB7XHJcbiAgICAgICAgdGhpcy5lcnJvcihlcnJvcktleSwgZXJyb3IsIHBhcmFtcyA/PyB0aGlzLmRlZmF1bHRQYXJhbXMpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5kZWZhdWx0RXJyb3IoZXJyb3IpO1xyXG4gIH1cclxuXHJcbiAgZmluZEVycm9yVGl0bGVBbmRMb2NhbGl6YXRpb25LZXkoZXJyb3I6IHVua25vd24pOiB7IHRpdGxlOiBzdHJpbmcsIGRlc2NyaXB0aW9uOiBzdHJpbmcgfSB7XHJcbiAgICBjb25zdCBlcnJvckRlc2NyaXB0aW9uS2V5ID0gdGhpcy5maW5kRXJyb3JLZXkoZXJyb3IpO1xyXG4gICAgbGV0IGVycm9yVGl0bGVLZXkgPSBudWxsO1xyXG5cclxuICAgIGlmIChlcnJvckRlc2NyaXB0aW9uS2V5KSB7XHJcbiAgICAgIGVycm9yVGl0bGVLZXkgPSB0aGlzLmZpbmRQb3N0Zml4KGVycm9yRGVzY3JpcHRpb25LZXksIHRoaXMudGl0bGVQb3N0Rml4KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBkZXNjcmlwdGlvbjogZXJyb3JEZXNjcmlwdGlvbktleSxcclxuICAgICAgdGl0bGU6IGVycm9yVGl0bGVLZXlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmluZEVycm9yS2V5KGVycm9yOiBhbnkpIHtcclxuICAgIGlmICghZXJyb3IpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGVycm9yS2V5ID0gbnVsbDtcclxuICAgIGNvbnN0IGVycm9yVHJhbnNsYXRpb25zID0gYXZhaWxhYmxlTGFuZ3VhZ2VzLmVuLkVSUk9SUztcclxuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlICYmIGVycm9yVHJhbnNsYXRpb25zW3RoaXMubnVtZXJpY0Vycm9yS2V5UHJlZml4ICsgZXJyb3Iuc3RhdHVzXSkge1xyXG4gICAgICBlcnJvcktleSA9IHRoaXMubnVtZXJpY0Vycm9yS2V5UHJlZml4ICsgZXJyb3Iuc3RhdHVzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZXJyb3JUcmFuc2xhdGlvbnNbZXJyb3IuRXJyb3JDb2RlXSkge1xyXG4gICAgICBlcnJvcktleSA9IGVycm9yLkVycm9yQ29kZTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGVycm9yVHJhbnNsYXRpb25zW3RoaXMubnVtZXJpY0Vycm9yS2V5UHJlZml4ICsgZXJyb3IuRXJyb3JDb2RlXSkge1xyXG4gICAgICBlcnJvcktleSA9IHRoaXMubnVtZXJpY0Vycm9yS2V5UHJlZml4ICsgZXJyb3IuRXJyb3JDb2RlO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZXJyb3JUcmFuc2xhdGlvbnNbZXJyb3IuZXJyb3I/LkVycm9yQ29kZV0pIHtcclxuICAgICAgZXJyb3JLZXkgPSBlcnJvci5lcnJvcj8uRXJyb3JDb2RlO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZXJyb3JUcmFuc2xhdGlvbnNbZXJyb3IuZXJyb3JdKSB7XHJcbiAgICAgIGVycm9yS2V5ID0gZXJyb3IuZXJyb3I7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChlcnJvclRyYW5zbGF0aW9uc1t0aGlzLm51bWVyaWNFcnJvcktleVByZWZpeCArIGVycm9yLmVycm9yPy5FcnJvckNvZGVdKSB7XHJcbiAgICAgIGVycm9yS2V5ID0gdGhpcy5udW1lcmljRXJyb3JLZXlQcmVmaXggKyBlcnJvci5lcnJvcj8uRXJyb3JDb2RlXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFlcnJvcktleSkge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZXJyb3JUcmFuc2xhdGlvblN1YktleXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBjb25zdCBzdWJLZXkgPSB0aGlzLmVycm9yVHJhbnNsYXRpb25TdWJLZXlzW2ldO1xyXG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBlcnJvclRyYW5zbGF0aW9uc1tzdWJLZXldO1xyXG4gICAgICAgIGlmIChlbGVtZW50W2Vycm9yLkVycm9yQ29kZV0pIHtcclxuICAgICAgICAgIGVycm9yS2V5ID0gYCR7c3ViS2V5fS4ke2Vycm9yLkVycm9yQ29kZX1gO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5lcnJvcktleSArIChlcnJvcktleSA/PyB0aGlzLmRlZmF1bHRFcnJvcktleSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGVtaXQodHlwZTogTm90aWZpY2F0aW9uTWVzc2FnZVR5cGUsIHRleHQ6IHN0cmluZywgZXJyb3I6IGFueSwgcGFyYW1zPzogYW55LCBkZWxldGVNc2c/OiBib29sZWFuKSB7XHJcbiAgICAvLyBpZiB0aGVyZSBpcyBubyB0aXRsZSBmb3IgdGhpcyB0ZXh0LCB0ZXh0IHdpbGwgYmUgc2hvd24gYXMgdGl0bGVcclxuICAgIGNvbnN0IHRpdGxlID0gdGhpcy5maW5kUG9zdGZpeCh0ZXh0LCB0aGlzLnRpdGxlUG9zdEZpeCkgPz8gdGV4dDtcclxuICAgIGNvbnN0IG1lc3NhZ2U6IE5vdGlmaWNhdGlvbk1lc3NhZ2UgPSB7XHJcbiAgICAgIGJvZHk6IHRleHQgPT09IHRpdGxlID8gbnVsbCA6IHRleHQsXHJcbiAgICAgIHRpdGxlLFxyXG4gICAgICB0eXBlLFxyXG4gICAgICBsb2NhbGl6YXRpb25QYXJhbXM6IHsgLi4udGhpcy5kZWZhdWx0UGFyYW1zLCAuLi5wYXJhbXMgfSxcclxuICAgICAgc3VwcG9ydDogdGhpcy5jb25maWcuY29yZUNvbmZpZy5jb250YWN0U3VwcG9ydCA/IHRoaXMuZmluZFBvc3RmaXgodGV4dCwgdGhpcy5zdXBwb3J0UG9zdEZpeCkgOiBudWxsLFxyXG4gICAgICBkZWxldGU6IGRlbGV0ZU1zZ1xyXG4gICAgfTtcclxuICAgIGlmIChlcnJvcikge1xyXG4gICAgICBtZXNzYWdlLmVycm9yID0gZXJyb3I7XHJcbiAgICB9XHJcbiAgICB0aGlzLm1lc3NhZ2VTdWJqZWN0Lm5leHQobWVzc2FnZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbmRQb3N0Zml4KHRleHQ6IHN0cmluZywgcG9zdGZpeDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBwYXJ0cyA9IHRleHQuc3BsaXQoXCIuXCIpO1xyXG4gICAgbGV0IGxvY2FsaXphdGlvbk9iamVjdCA9IGF2YWlsYWJsZUxhbmd1YWdlcy5lbjtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFydHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKGkgPiAwKSB7XHJcbiAgICAgICAgbG9jYWxpemF0aW9uT2JqZWN0ID0gbG9jYWxpemF0aW9uT2JqZWN0W3BhcnRzW2kgLSAxXV07XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFsb2NhbGl6YXRpb25PYmplY3RbcGFydHNbaV1dKSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IGtleVdpdGhUaXRsZSA9IHBhcnRzW3BhcnRzLmxlbmd0aCAtIDFdICsgcG9zdGZpeDtcclxuICAgIHJldHVybiBsb2NhbGl6YXRpb25PYmplY3Rba2V5V2l0aFRpdGxlXSA/IHRleHQgKyBwb3N0Zml4IDogbnVsbDtcclxuICB9XHJcblxyXG5cclxufVxyXG4iXX0=
@@ -172,7 +172,7 @@ export class TldTranslateTextComponent {
172
172
  }
173
173
  copy() {
174
174
  this.clipboard.copy(this.translatedText);
175
- this.alerts.info("TLD_TRANSLATE.TEXT_COPIED", { id: this.copyMessageId, closeButtonId: this.copyMessageCloseButtonId, parentId: this.copyButtonId });
175
+ this.alerts.success("TLD_TRANSLATE.TEXT_COPIED", { id: this.copyMessageId, closeButtonId: this.copyMessageCloseButtonId, parentId: this.copyButtonId });
176
176
  }
177
177
  switchFocusFromCopy(event) {
178
178
  const copyMessageCloseButton = document.getElementById(this.copyMessageCloseButtonId)?.getElementsByTagName("button")?.item(0);
@@ -271,4 +271,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
271
271
  }], onFileChange: [{
272
272
  type: Output
273
273
  }] } });
274
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXh0L2NvbXBvbmVudHMvdGxkLXRyYW5zbGF0ZS10ZXh0L3RsZC10cmFuc2xhdGUtdGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtdGV4dC9jb21wb25lbnRzL3RsZC10cmFuc2xhdGUtdGV4dC90bGQtdHJhbnNsYXRlLXRleHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFzQixXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBNkIsTUFBTSwyQkFBMkIsQ0FBQztBQUd0RixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZ0JwRCxNQUFNLE9BQU8seUJBQXlCO0lBaUZwQyxZQUNtQixvQkFBNkMsRUFDN0MsU0FBb0IsRUFDcEIsTUFBdUIsRUFDdkIsTUFBaUMsRUFDakMsZ0JBQWtDLEVBQ2xDLFNBQTJCLEVBQzNCLFlBQWdDLEVBQ2hDLGlCQUF1QyxFQUN2QyxXQUFvQyxFQUNwQyxrQkFBc0M7UUFUdEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUF5QjtRQUM3QyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLFdBQU0sR0FBTixNQUFNLENBQWlCO1FBQ3ZCLFdBQU0sR0FBTixNQUFNLENBQTJCO1FBQ2pDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBQ2hDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBc0I7UUFDdkMsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBQ3BDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUF0Ri9DLGlCQUFZLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFzQzFFLHlCQUFvQixHQUFZLElBQUksQ0FBQztRQUs1QixrQkFBYSxHQUFHLGtCQUFrQixDQUFDO1FBQ25DLDZCQUF3QixHQUFHLHdCQUF3QixDQUFDO1FBQ3BELGlCQUFZLEdBQUcsdUJBQXVCLENBQUM7UUE0Qi9CLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3pCLHNCQUFpQixHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBYTFELENBQUM7SUFwRkQsSUFBSSxRQUFRLEtBQUssT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQ3JELDZCQUE2QjtJQUM3QixJQUFJLGdCQUFnQixLQUFlLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUNyRixJQUFJLGlCQUFpQixLQUFlLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUN2RixJQUFJLEtBQUssS0FBYSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQzdELElBQUksU0FBUyxLQUFjLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDdEUsSUFBSSxTQUFTLEtBQWMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQy9FLElBQUksVUFBVSxLQUFjLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsV0FBVyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQ3hLLElBQUksUUFBUSxLQUFhLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDbkUsSUFBSSxlQUFlLEtBQWMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxlQUFlLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDekcsSUFBSSxNQUFNLEtBQUssT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUN2RCxJQUFJLGlCQUFpQixLQUFhLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDM0UsSUFBSSxhQUFhLEtBQWMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUN6RixJQUFJLGNBQWMsS0FBYSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQy9FLElBQUksb0JBQW9CLEtBQWEsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQzNGLElBQUksYUFBYSxLQUFjLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDOUUsSUFBSSx1QkFBdUIsS0FBYyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDbEcsSUFBSSwwQkFBMEIsS0FBYyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDeEcsSUFBSSwwQkFBMEIsS0FBYSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDdkcsSUFBSSwwQkFBMEIsS0FBYSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDdkcsSUFBSSxlQUFlLEtBQWMsT0FBTyxJQUFJLENBQUMsdUJBQXVCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsZUFBZSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQSxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQ3pJLElBQUksZ0JBQWdCLEtBQWMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUEsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUNwSSxJQUFJLFdBQVcsS0FBSyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUNwRSxJQUFJLGdCQUFnQixLQUFLLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0lBQzVFLElBQUksY0FBYyxLQUFLLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqRSxJQUFJLHVCQUF1QixLQUFLLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBQzFFLElBQUksYUFBYSxLQUFLLE9BQU8sQ0FBQyxJQUFJLENBQUMsdUJBQXVCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQSxDQUFDLENBQUM7SUFDM0csSUFBSSxxQkFBcUIsS0FBSyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFBLENBQUMsQ0FBQztJQUNuRixJQUFJLGtCQUFrQixLQUFLLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUEsQ0FBQyxDQUFDO0lBQzFJLElBQUkscUJBQXFCLEtBQUssT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQSxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQ3BGLElBQUksMEJBQTBCLEtBQUssT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsMEJBQTBCLENBQUEsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUNqRyxJQUFJLDBCQUEwQixLQUFLLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLDBCQUEwQixDQUFBLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDakcsSUFBSSxjQUFjLEtBQUssT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUEsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUl0RSxJQUFJLGNBQWMsS0FBSyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQVExRSxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsY0FBYyxDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFJLHdCQUF3QjtRQUMxQixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyx3QkFBd0IsQ0FBQztJQUM1RCxDQUFDO0lBRUQsSUFBSSxhQUFhLEtBQUssT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUN2RSxJQUFJLGVBQWUsS0FBSyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQzNFLElBQUksTUFBTSxLQUFLLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDN0QsSUFBSSxvQkFBb0IsS0FBSyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7SUFDckYsSUFBSSxxQkFBcUIsS0FBSyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUM7SUFDN0YsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLGtDQUFrQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDbkcsQ0FBQztJQUNELElBQUksVUFBVSxLQUFLLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQ2xFLElBQUksZ0JBQWdCLEtBQUssT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0lBQzdFLElBQUksZ0JBQWdCLEtBQUssT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0lBd0I3RSxRQUFRO1FBQ04sSUFBSSxDQUFDLG9CQUFvQixDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxhQUFhLEdBQUc7WUFDbkIsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUs7WUFDcEMsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFNBQVM7WUFDNUMsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLGlCQUFpQjtZQUNwRCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsYUFBYTtTQUM5QyxDQUFBO1FBRUQsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUYsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNsSSxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ3BHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ1QsT0FBTzthQUNSO1lBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDdkIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZKLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQzthQUNoRTtRQUNILENBQUMsQ0FBQyxDQUFDO1FBR0wsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFMUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUU7WUFDMUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUM1RSxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDekQsQ0FBQyxDQUFDLENBQUE7WUFFRixJQUFJLENBQUMsaUJBQWlCLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQzdFLFNBQVMsQ0FBQyxDQUFDLEtBQWdDLEVBQUUsRUFBRTtnQkFDOUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsMkJBQTJCLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztnQkFDbEksSUFBSSxLQUFLLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLEVBQUU7b0JBQ3pELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUFnQixjQUFjLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFBO2lCQUN6RTtZQUNILENBQUMsQ0FBQyxDQUFBO1NBQ0w7UUFFRCxJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQscUJBQXFCLENBQUMsQ0FBUztRQUM3QixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQywyQkFBMkIsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZKLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFLO1FBQ3ZCLE1BQU0sc0JBQXNCLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0gsSUFBSSxzQkFBc0IsRUFBRTtZQUMxQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsc0JBQXNCLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWE7UUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFVO1FBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLEtBQXdCLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsdUJBQXVCO1FBQ3JCLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxXQUFvQjtRQUNuQyxNQUFNLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUN4SyxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUNwRCx5QkFBeUI7UUFDekIsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNoQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLGtCQUFrQixJQUFJLE1BQU0sRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNwRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO2FBQ2xEO1lBRUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FDcEM7Z0JBQ0UsTUFBTTtnQkFDTiwyQkFBMkIsRUFBRSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLDJCQUEyQjthQUNyRyxDQUFDLENBQUM7WUFDTCxJQUFJLENBQUMsb0JBQW9CLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDdEQ7YUFDSTtZQUNILElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN6QztJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsTUFBYztRQUMxQixJQUFJLENBQUMsb0JBQW9CLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUE7SUFDM0csQ0FBQztJQUVELG9CQUFvQixDQUFDLGFBQXFCO1FBQ3hDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQXFCO1FBQ2hDLElBQUksS0FBSyxLQUFLLGNBQWMsQ0FBQyxpQkFBaUIsRUFBRTtZQUM5QyxJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUM7WUFDcEIsTUFBTSxhQUFhLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBRXpGLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUMzQyxJQUFJLE9BQU8sR0FBRyxDQUFDLEVBQUU7Z0JBQ2YsVUFBVSxJQUFJLEdBQUcsT0FBTyxVQUFVLENBQUM7YUFDcEM7WUFFRCxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDM0MsSUFBSSxPQUFPLEdBQUcsQ0FBQyxFQUFFO2dCQUNmLFVBQVUsSUFBSSxHQUFHLE9BQU8sVUFBVSxDQUFBO2FBQ25DO1lBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEtBQUssRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztTQUM5RDthQUNJLElBQUksS0FBSyxLQUFLLGNBQWMsQ0FBQyxTQUFTLEVBQUU7WUFDM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDOUM7YUFDSTtZQUNILElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDbkQ7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixJQUFJLENBQUMsb0JBQW9CLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNsRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELGdHQUFnRztJQUN4Riw2QkFBNkI7UUFDbkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7YUFDcEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQzs7c0hBdlBVLHlCQUF5QjswR0FBekIseUJBQXlCLGlSQ3hCdEMsZzFMQXVHQTsyRkQvRWEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLG9CQUFvQjtxWkFLQSxlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFHbkIsbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGlwYm9hcmQgfSBmcm9tICdAYW5ndWxhci9jZGsvY2xpcGJvYXJkJztcclxuaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50cyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEF1ZGlvRXJyb3JDYXNlLCBJVHJhbnNjcmlwdGlvblVwZGF0ZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vdGxkLWF1ZGlvL21vZGVscyc7XHJcbmltcG9ydCB7IElEaWN0YXRlQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL3RsZC1hdWRpby9tb2RlbHMvZGljdGF0ZS1jb25maWd1cmF0aW9uaS5tb2RlbCc7XHJcbmltcG9ydCB7IEF1ZGlvUmVjb3JkU2VydmljZSwgVGxkVm9pY2VJbnB1dFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90bGQtYXVkaW8vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBDb21tb24gfSBmcm9tICcuLi8uLi8uLi90bGQtY29tbW9uL21vZGVscyc7XHJcbmltcG9ydCB7IFRsZEFsZXJ0U2VydmljZSwgVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3RsZC1jb21tb24vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBUbGRTY3JvbGxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdGxkLWNvbW1vbi9zZXJ2aWNlcy9zY3JvbGwvdGxkLXNjcm9sbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlRmlsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90bGQtZG9jdW1lbnQvc2VydmljZXMnO1xyXG5pbXBvcnQgeyBJQWN0aXZlRGF0YSB9IGZyb20gJy4uLy4uLy4uL3RsZC10b29sdGlwL21vZGVscyc7XHJcbmltcG9ydCB7IFRsZFN5c3RlbVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90bGQtdG9vbHRpcC9zZXJ2aWNlcy90bGQtc3lzdGVtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUbGRUcmFuc2xhdGVUZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RsZC10cmFuc2xhdGUtdGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlU291cmNlQ29tcG9uZW50IH0gZnJvbSAnLi4vdGxkLXRyYW5zbGF0ZS1zb3VyY2UvdGxkLXRyYW5zbGF0ZS1zb3VyY2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZEVycm9yIH0gZnJvbSAnQHRpbGRlLW5scC9uZ3gtY29tbW9uJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RsZC10cmFuc2xhdGUtdGV4dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RsZC10cmFuc2xhdGUtdGV4dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGxkLXRyYW5zbGF0ZS10ZXh0LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRsZFRyYW5zbGF0ZVRleHRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZChcInNvdXJjZUNvbXBvbmVudFwiKSBzb3VyY2VDb21wb25lbnQ6IFRsZFRyYW5zbGF0ZVNvdXJjZUNvbXBvbmVudDtcclxuXHJcblxyXG4gIEBJbnB1dCgpIGZpbGVQcmV2aWV3UHJvZ3Jlc3M6IG51bWJlcjtcclxuICBAT3V0cHV0KCkgb25GaWxlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RmlsZVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZVtdPigpO1xyXG5cclxuICBhY3RpdmVEYXRhOiBJQWN0aXZlRGF0YTtcclxuICBnZXQgc3lzdGVtSWQoKSB7IHJldHVybiB0aGlzLmFjdGl2ZURhdGE/LnN5c3RlbUlkOyB9O1xyXG4gIC8vcGFyYW1zIGZyb20gY29uZmlnIHNlcnZpY2UuXHJcbiAgZ2V0IGFsbG93ZWRGaWxlVHlwZXMoKTogc3RyaW5nW10geyByZXR1cm4gdGhpcy5jb25maWcuZmlsZUNvbmZpZy5hbGxvd2VkRmlsZVR5cGVzOyB9O1xyXG4gIGdldCBleHRlbmRlZEZpbGVUeXBlcygpOiBzdHJpbmdbXSB7IHJldHVybiB0aGlzLmNvbmZpZy5maWxlQ29uZmlnLmV4dGVuZGVkRmlsZVR5cGVzOyB9O1xyXG4gIGdldCBhcHBJZCgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5jb25maWcuY29yZUNvbmZpZy5hcHBJZDsgfTtcclxuICBnZXQgaGlnaGxpZ2h0KCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5jb25maWcudGV4dENvbmZpZy5oaWdobGlnaHQ7IH07XHJcbiAgZ2V0IGdyYW1DaGVjaygpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuY29uZmlnLnRleHRDb25maWcuY2hlY2tTb3VyY2VHcmFtbWFyOyB9O1xyXG4gIGdldCBmaWxlVXBsb2FkKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5jb25maWcuZmlsZUNvbmZpZy5maWxlVXBsb2FkICYmICEodGhpcy5pc0RpY3RhdGluZyB8fCB0aGlzLmF1ZGlvU2VydmljZT8uaXNSZWNvcmRpbmcgfHwgdGhpcy52b2ljZUlucHV0U2VydmljZS5pc1Byb2Nlc3NpbmcpOyB9O1xyXG4gIGdldCBjbGllbnRJZCgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5jb25maWcuY29yZUNvbmZpZy5jbGllbnRJZDsgfTtcclxuICBnZXQgaGlkZUFjaGlldmVtZW50KCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5jb25maWcuY29yZUNvbmZpZy5oaWRlQWNoaWV2ZW1lbnQgfHwgIXRoaXMuaXNFbXB0eVRhcmdldDsgfTtcclxuICBnZXQgaXNBdXRoKCkgeyByZXR1cm4gdGhpcy5jb25maWcuY29yZUNvbmZpZy5pc0F1dGg7IH07XHJcbiAgZ2V0IG1heEZpbGVVcGxvYWRTaXplKCk6IG51bWJlciB7IHJldHVybiB0aGlzLmNvbmZpZy5maWxlQ29uZmlnLm1heFNpemU7IH07XHJcbiAgZ2V0IG11bHRpcGxlRmlsZXMoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmNvbmZpZy5maWxlQ29uZmlnLm51bWJlck9mRmlsZXNBbGxvd2VkID4gMTsgfTtcclxuICBnZXQgdHJhbnNsYXRpb25VcmwoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuY29uZmlnLnRleHRDb25maWcudHJhbnNsYXRpb25Vcmw7IH07XHJcbiAgZ2V0IHVwZGF0ZVRyYW5zbGF0aW9uVXJsKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLnVwZGF0ZVRyYW5zbGF0aW9uVXJsOyB9O1xyXG4gIGdldCB1c2VEaWN0aW9uYXJ5KCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5jb25maWcudGV4dENvbmZpZy51c2VEaWN0aW9uYXJ5OyB9O1xyXG4gIGdldCBhbGxvd1dlYnNpdGVUcmFuc2xhdGlvbigpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuY29uZmlnLnRleHRDb25maWcuYWxsb3dXZWJzaXRlVHJhbnNsYXRpb247IH07XHJcbiAgZ2V0IGF1dG9SZWRpcmVjdFRvV2ViVHJhbnNsYXRlKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5jb25maWcudGV4dENvbmZpZy5hdXRvUmVkaXJlY3RUb1dlYlRyYW5zbGF0ZTsgfTtcclxuICBnZXQgd2ViV2lkZ2V0UmVkaXJlY3RVcmxQcmVmaXgoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuY29uZmlnLnRleHRDb25maWcud2ViV2lkZ2V0UmVkaXJlY3RVcmxQcmVmaXg7IH07XHJcbiAgZ2V0IHdlYldpZGdldFJlZGlyZWN0VXJsUG9zZml4KCk6IHN0cmluZyB7IHJldHVybiB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLndlYldpZGdldFJlZGlyZWN0VXJsUG9zZml4OyB9O1xyXG4gIGdldCBzaG93U3VnZ2VzdGlvbnMoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmhhc1RyYW5zbGF0ZWRQYXJhZ3JhcGhzICYmIHRoaXMuY29uZmlnLnRleHRDb25maWcuc2hvd1N1Z2dlc3Rpb25zICYmICF0aGlzLnVybFRvVHJhbnNsYXRlIH07XHJcbiAgZ2V0IHRleHRhcmVhRGlzYWJsZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmF1ZGlvU2VydmljZS5pc1JlY29yZGluZyB8fCB0aGlzLnZvaWNlSW5wdXRTZXJ2aWNlLmlzUHJvY2Vzc2luZyB8fCB0aGlzLmlzRGljdGF0aW5nIH07XHJcbiAgZ2V0IGlzRGljdGF0aW5nKCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5pc0RpY3RhdGluZzsgfTtcclxuICBnZXQgbWF4RGljdGF0ZUxlbmd0aCgpIHsgcmV0dXJuIHRoaXMuY29uZmlnLmF1ZGlvQ29uZmlnLm1heGltdW1SZWNvcmRUaW1lOyB9XHJcbiAgZ2V0IHNvdXJjZUxhbmd1YWdlKCkgeyByZXR1cm4gdGhpcy5hY3RpdmVEYXRhPy5zb3VyY2VMYW5nLmxhbmc7IH1cclxuICBnZXQgaGFzVHJhbnNsYXRlZFBhcmFncmFwaHMoKSB7IHJldHVybiB0aGlzLnRhcmdldFBhcmFncmFwaHM/Lmxlbmd0aCA+IDAgfVxyXG4gIGdldCBpc0VtcHR5VGFyZ2V0KCkgeyByZXR1cm4gIXRoaXMuaGFzVHJhbnNsYXRlZFBhcmFncmFwaHMgJiYgIXRoaXMudXJsVG9UcmFuc2xhdGUgJiYgIXRoaXMuaGFzRGljdGlvbmFyeSB9XHJcbiAgZ2V0IHNob3dUYXJnZXRQbGFjZWhvbGRlcigpIHsgcmV0dXJuIHRoaXMuY29uZmlnLnRleHRDb25maWcuc2hvd1RhcmdldFBsYWNlaG9sZGVyIH1cclxuICBnZXQgc2hvd0V4dGVuc2lvblBvcHVwKCkgeyByZXR1cm4gdGhpcy5jb25maWcudGV4dENvbmZpZy5zaG93RXh0ZW5zaW9uUG9wdXAgJiYgdGhpcy52aXNpYmxlRXh0ZW5zaW9uQ291bnQgPCB0aGlzLmFsbG93ZWRGaWxlVHlwZXMubGVuZ3RoIH1cclxuICBnZXQgdmlzaWJsZUV4dGVuc2lvbkNvdW50KCkgeyByZXR1cm4gdGhpcy5jb25maWcudGV4dENvbmZpZy52aXNpYmxlRXh0ZW5zaW9uQ291bnQgfTtcclxuICBnZXQgdGV4dFRvU3BlZWNoVGFyZ2V0U2V0dGluZ3MoKSB7IHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnRleHRUb1NwZWVjaFRhcmdldFNldHRpbmdzIH07XHJcbiAgZ2V0IHRleHRUb1NwZWVjaFNvdXJjZVNldHRpbmdzKCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS50ZXh0VG9TcGVlY2hTb3VyY2VTZXR0aW5ncyB9O1xyXG4gIGdldCB1cGxvYWRJY29uTmFtZSgpIHsgcmV0dXJuIHRoaXMuY29uZmlnLmNvcmVDb25maWcudXBsb2FkSWNvbk5hbWUgfTtcclxuXHJcbiAgYXVkaW9JbnB1dFZpc2libGU6IGJvb2xlYW47XHJcbiAgdGFyZ2V0U2VudGVuY2VTZWxlY3Q6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGdldCB1cmxUb1RyYW5zbGF0ZSgpIHsgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UudXJsVG9UcmFuc2xhdGU7IH07XHJcblxyXG4gIGFsbG93ZWRUeXBlc1dpdGhvdXREb3RzOiBzdHJpbmdbXTtcclxuXHJcbiAgcmVhZG9ubHkgY29weU1lc3NhZ2VJZCA9IFwidGxkLWNvcHktc3VjY2Vzc1wiO1xyXG4gIHJlYWRvbmx5IGNvcHlNZXNzYWdlQ2xvc2VCdXR0b25JZCA9IFwidGxkLWNvcHktc3VjY2Vzcy1jbG9zZVwiO1xyXG4gIHJlYWRvbmx5IGNvcHlCdXR0b25JZCA9IFwidGxkLWNvcHktdG8tY2xpcGJvYXJkXCI7XHJcblxyXG4gIGdldCB0cmFuc2xhdGVkVGV4dCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UudHJhbnNsYXRlZFRleHQ7XHJcbiAgfVxyXG5cclxuICBnZXQgZmlyc3RQYXJhZ3JhcGhUcmFuc2xhdGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuZmlyc3RQYXJhZ3JhcGhUcmFuc2xhdGVkO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhhc0RpY3Rpb25hcnkoKSB7IHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmhhc0RpY3Rpb25hcnk7IH1cclxuICBnZXQgZGljdGlvbmFyeUVudHJ5KCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5kaWN0aW9uYXJ5RW50cnk7IH1cclxuICBnZXQgc291cmNlKCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zb3VyY2VUZXh0OyB9XHJcbiAgZ2V0IHRyYW5zbGF0ZVVybFJlZGlyZWN0KCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS50cmFuc2xhdGVVcmxSZWRpcmVjdDsgfVxyXG4gIGdldCBzaG93UHJvZ3Jlc3NJbmRpY2F0b3IoKSB7IHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnNob3VsZFNob3dQcm9ncmVzc0luZGljYXRvcjsgfVxyXG4gIGdldCBoaWRlU291cmNlQWN0aW9ucygpIHtcclxuICAgIHJldHVybiB0aGlzLnNvdXJjZSAmJiB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLmhpZGVTb3VyY2VBY3Rpb25zV2hlbkhhc1RleHRNb2JpbGUgJiYgdGhpcy5pc01vYmlsZTtcclxuICB9XHJcbiAgZ2V0IHBhcmFncmFwaHMoKSB7IHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnBhcmFncmFwaHM7IH07XHJcbiAgZ2V0IHNvdXJjZVBhcmFncmFwaHMoKSB7IHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnNvdXJjZVBhcmFncmFwaHM7IH1cclxuICBnZXQgdGFyZ2V0UGFyYWdyYXBocygpIHsgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UudGFyZ2V0UGFyYWdyYXBoczsgfVxyXG5cclxuICBkaWN0YXRlQ29uZmlnOiBJRGljdGF0ZUNvbmZpZ3VyYXRpb247XHJcbiAgdmlzaWJsZUV4dGVuc2lvbnM6IHN0cmluZztcclxuICBtYXhTaXplTUI6IG51bWJlcjtcclxuXHJcbiAgcHJpdmF0ZSBpc01vYmlsZTogYm9vbGVhbjtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBtb2JpbGVCcmVha3BvaW50cyA9IFtCcmVha3BvaW50cy5YU21hbGxdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlVGV4dFNlcnZpY2U6IFRsZFRyYW5zbGF0ZVRleHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjbGlwYm9hcmQ6IENsaXBib2FyZCxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnRzOiBUbGRBbGVydFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGxkU2Nyb2xsU2VydmljZTogVGxkU2Nyb2xsU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGxkU3lzdGVtOiBUbGRTeXN0ZW1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdWRpb1NlcnZpY2U6IEF1ZGlvUmVjb3JkU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdm9pY2VJbnB1dFNlcnZpY2U6IFRsZFZvaWNlSW5wdXRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaWxlU2VydmljZTogVGxkVHJhbnNsYXRlRmlsZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UubGlzdGVuT25DaGFuZ2VzKCk7XHJcbiAgICB0aGlzLmRpY3RhdGVDb25maWcgPSB7XHJcbiAgICAgIGFwcElkOiB0aGlzLmNvbmZpZy5hdWRpb0NvbmZpZy5hcHBJZCxcclxuICAgICAgYXBwU2VjcmV0OiB0aGlzLmNvbmZpZy5hdWRpb0NvbmZpZy5hcHBTZWNyZXQsXHJcbiAgICAgIG1heExlbmd0aDogdGhpcy5jb25maWcuYXVkaW9Db25maWcubWF4aW11bVJlY29yZFRpbWUsXHJcbiAgICAgIGFwaVVybDogdGhpcy5jb25maWcuYXVkaW9Db25maWcuZGljdGF0ZUFwaVVybFxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYWxsb3dlZFR5cGVzV2l0aG91dERvdHMgPSBbXTtcclxuICAgIHRoaXMuYWxsb3dlZEZpbGVUeXBlcy5mb3JFYWNoKGVsID0+IHRoaXMuYWxsb3dlZFR5cGVzV2l0aG91dERvdHMucHVzaChlbC5yZXBsYWNlKFwiLlwiLCBcIlwiKSkpO1xyXG4gICAgdGhpcy52aXNpYmxlRXh0ZW5zaW9ucyA9IHRoaXMuY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKHRoaXMuYWxsb3dlZFR5cGVzV2l0aG91dERvdHMuc2xpY2UoMCwgdGhpcy52aXNpYmxlRXh0ZW5zaW9uQ291bnQpLmpvaW4oXCIsIFwiKSk7XHJcbiAgICB0aGlzLm1heFNpemVNQiA9IENvbW1vbi5ieXRlc1RvTWIodGhpcy5jb25maWcuZmlsZUNvbmZpZy5tYXhTaXplKTtcclxuXHJcbiAgICB0aGlzLnRsZFN5c3RlbS5nZXRBY3RpdmVEYXRhKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgoeCwgeSkgPT4geCAmJiB5ICYmIHguc3lzdGVtSWQgPT0geS5zeXN0ZW1JZCkpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgoc3lzdCkgPT4ge1xyXG4gICAgICAgIGlmICghc3lzdCkge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmFjdGl2ZURhdGEgPSBzeXN0O1xyXG4gICAgICAgIHRoaXMuYXVkaW9JbnB1dFZpc2libGUgPSB0aGlzLmNvbmZpZy5hdWRpb0NvbmZpZy5hdWRpb1RleHRJbnB1dCAmJiB0aGlzLmNvbmZpZy5hdWRpb0NvbmZpZy5zb3VyY2VMYW5ndWFnZXM/LmluY2x1ZGVzKHRoaXMuYWN0aXZlRGF0YT8uc291cmNlTGFuZy5sYW5nKTtcclxuICAgICAgICBpZiAodGhpcy5hY3RpdmVEYXRhLnJldHJhbnNsYXRlKSB7XHJcbiAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnJldHJhbnNsYXRlKHsgc3lzdGVtQ2hhbmdlZDogdHJ1ZSB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuXHJcbiAgICB0aGlzLnRsZFNjcm9sbFNlcnZpY2Uuc3Vic2NyaWJlVG9TY3JvbGwoKTtcclxuXHJcbiAgICBpZiAodGhpcy5jb25maWcuYXVkaW9Db25maWcuYXVkaW9UZXh0SW5wdXQpIHtcclxuICAgICAgdGhpcy5hdWRpb1NlcnZpY2Uub25SZWNvcmRTdGFydC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmNoYW5nZVNvdXJjZSh7IHBocmFzZTogXCJcIiB9KTtcclxuICAgICAgfSlcclxuXHJcbiAgICAgIHRoaXMudm9pY2VJbnB1dFNlcnZpY2Uub25UcmFuc2NyaWJ0aW9uVGV4dFVwZGF0ZWQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IElUcmFuc2NyaXB0aW9uVXBkYXRlTW9kZWwpID0+IHtcclxuICAgICAgICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuY2hhbmdlU291cmNlKHsgcGhyYXNlOiBldmVudC50ZXh0LCBzd2FwU3lzdGVtczogZmFsc2UsIGRpc2FibGVBdXRvbWF0aWNUcmFuc2xhdGlvbjogIWV2ZW50LmNvbXBsZXRlZCB9KTtcclxuICAgICAgICAgIGlmIChldmVudC5jb21wbGV0ZWQgJiYgKCFldmVudC50ZXh0IHx8IGV2ZW50LnRleHQgPT09IFwiXCIpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWxlcnRzLndhcm5pbmcoYEVSUk9SUy5BVURJTy4ke0F1ZGlvRXJyb3JDYXNlLk5PX1RFWFRfUkVDT0dOSVpFRH1gKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpYmVUb0JyZWFrcG9pbnRPYnNlcnZlcigpO1xyXG4gIH1cclxuXHJcbiAgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKHM6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHMgJiYgc1swXS50b1VwcGVyQ2FzZSgpICsgcy5zbGljZSgxKTtcclxuICB9XHJcblxyXG4gIGNvcHkoKSB7XHJcbiAgICB0aGlzLmNsaXBib2FyZC5jb3B5KHRoaXMudHJhbnNsYXRlZFRleHQpO1xyXG4gICAgdGhpcy5hbGVydHMuaW5mbyhcIlRMRF9UUkFOU0xBVEUuVEVYVF9DT1BJRURcIiwgeyBpZDogdGhpcy5jb3B5TWVzc2FnZUlkLCBjbG9zZUJ1dHRvbklkOiB0aGlzLmNvcHlNZXNzYWdlQ2xvc2VCdXR0b25JZCwgcGFyZW50SWQ6IHRoaXMuY29weUJ1dHRvbklkIH0pO1xyXG4gIH1cclxuXHJcbiAgc3dpdGNoRm9jdXNGcm9tQ29weShldmVudCkge1xyXG4gICAgY29uc3QgY29weU1lc3NhZ2VDbG9zZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuY29weU1lc3NhZ2VDbG9zZUJ1dHRvbklkKT8uZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJidXR0b25cIik/Lml0ZW0oMCk7XHJcbiAgICBpZiAoY29weU1lc3NhZ2VDbG9zZUJ1dHRvbikge1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBjb3B5TWVzc2FnZUNsb3NlQnV0dG9uLmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmaWxlQ2hhbmdlKGZpbGVzOiBGaWxlW10pIHtcclxuICAgIHRoaXMub25GaWxlQ2hhbmdlLmVtaXQoZmlsZXMpO1xyXG4gIH1cclxuXHJcbiAgZmlsZVVwbG9hZEVycm9yKGVycm9yOiBhbnkpIHtcclxuICAgIHRoaXMuZmlsZVNlcnZpY2UuZmlsZVVwbG9hZEVycm9yKGVycm9yIGFzIEZpbGVVcGxvYWRFcnJvcik7XHJcbiAgfVxyXG5cclxuICBuYXZpZ2F0ZVRvVHJhbnNsYXRlZFVybCgpIHtcclxuICAgIHdpbmRvdy5sb2NhdGlvbi5yZXBsYWNlKHRoaXMudHJhbnNsYXRlVXJsUmVkaXJlY3QpO1xyXG4gIH1cclxuXHJcbiAgZGljdGF0ZVN0YXJ0U3RvcChpc0RpY3RhdGluZzogYm9vbGVhbikge1xyXG4gICAgY29uc3QgcGhyYXNlID0gYCR7dGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zb3VyY2VUZXh0fSR7dGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zb3VyY2VUZXh0Py5sZW5ndGggPiAwID8gXCIgXCIgOiBcIlwifSR7dGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zb3VyY2VUZXh0SHlwb3RoZXNpc31gO1xyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5pc0RpY3RhdGluZyA9IGlzRGljdGF0aW5nO1xyXG4gICAgLy8gVHJhbnNsYXRpb24gaGFzIGVuZGVkLlxyXG4gICAgaWYgKCFpc0RpY3RhdGluZykge1xyXG4gICAgICBpZiAodGhpcy5jb25maWcuYXVkaW9Db25maWcucHVuY3R1YXRpb25NZXNzYWdlICYmIHBocmFzZT8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHRoaXMuYWxlcnRzLndhcm5pbmcoXCJBVURJTy5QVU5DVFVBVElPTl9NRVNTQUdFXCIpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmNoYW5nZVNvdXJjZShcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwaHJhc2UsXHJcbiAgICAgICAgICBkaXNhYmxlQXV0b21hdGljVHJhbnNsYXRpb246IHRoaXMuaXNEaWN0YXRpbmcgfHwgdGhpcy5jb25maWcuYXVkaW9Db25maWcuZGlzYWJsZUF1dG9tYXRpY1RyYW5zbGF0aW9uXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuY2hhbmdlU291cmNlSHlwb3RoZXNpcyhcIlwiKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmNsZWFyU291cmNlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkaWN0YXRlUmVzdWx0KHJlc3VsdDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmNoYW5nZVNvdXJjZUh5cG90aGVzaXMoXCJcIik7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmNoYW5nZVNvdXJjZSh7IHBocmFzZTogcmVzdWx0LCBkaXNhYmxlQXV0b21hdGljVHJhbnNsYXRpb246IHRoaXMuaXNEaWN0YXRpbmcgfSlcclxuICB9XHJcblxyXG4gIGRpY3RhdGVQYXJ0aWFsUmVzdWx0KHBhcnRpYWxSZXN1bHQ6IHN0cmluZykge1xyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5jaGFuZ2VTb3VyY2VIeXBvdGhlc2lzKHBhcnRpYWxSZXN1bHQpO1xyXG4gIH1cclxuXHJcbiAgZGljdGF0ZUVycm9yKGVycm9yOiBBdWRpb0Vycm9yQ2FzZSkge1xyXG4gICAgaWYgKGVycm9yID09PSBBdWRpb0Vycm9yQ2FzZS5NQVhfVElNRV9FWENFRURFRCkge1xyXG4gICAgICBsZXQgdGltZVN0cmluZyA9IFwiXCI7XHJcbiAgICAgIGNvbnN0IG1heExlbmd0aFRpbWUgPSBuZXcgRGF0ZSgwLCAwLCAwLCAwLCAwLCB0aGlzLmNvbmZpZy5hdWRpb0NvbmZpZy5tYXhpbXVtUmVjb3JkVGltZSk7XHJcblxyXG4gICAgICBjb25zdCBtaW51dGVzID0gbWF4TGVuZ3RoVGltZS5nZXRNaW51dGVzKCk7XHJcbiAgICAgIGlmIChtaW51dGVzID4gMCkge1xyXG4gICAgICAgIHRpbWVTdHJpbmcgKz0gYCR7bWludXRlc30gbWludXRlc2A7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHNlY29uZHMgPSBtYXhMZW5ndGhUaW1lLmdldFNlY29uZHMoKTtcclxuICAgICAgaWYgKHNlY29uZHMgPiAwKSB7XHJcbiAgICAgICAgdGltZVN0cmluZyArPSBgJHtzZWNvbmRzfSBzZWNvbmRzYFxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuYWxlcnRzLndhcm5pbmcoYEVSUk9SUy5BVURJTy4ke2Vycm9yfWAsIHsgdGltZVN0cmluZyB9KTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGVycm9yID09PSBBdWRpb0Vycm9yQ2FzZS5OT19TUEVFQ0gpIHtcclxuICAgICAgdGhpcy5hbGVydHMud2FybmluZyhgRVJST1JTLkFVRElPLiR7ZXJyb3J9YCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5hbGVydHMudW5oYW5kZWxlZEVycm9yKHsgRXJyb3JDb2RlOiBlcnJvciB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsZWFyU291cmNlKCkge1xyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5jbGVhclNvdXJjZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnN0b3BMaXN0ZW5pbmdUb0NoYW5nZXMoKTtcclxuICAgIHRoaXMudGxkU2Nyb2xsU2VydmljZS51bnN1YnNjcmliZVRvU2Nyb2xsKCk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQobnVsbClcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIGNsb3NlUHJvZ3Jlc3NJbmRpY2F0b3IoKSB7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmhpZGVQcm9ncmVzc0luZGljYXRvcigpO1xyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zdG9wVHJhbnNsYXRpb24oKTtcclxuICB9XHJcblxyXG4gIC8vIG5lZWQgdG8gc3Vic2NyaWJlIHRvIGdldCBpZiBpcyBtb2JpbGUgdmlldyBzbyBpdCB3b3VsZCBiZSBwb3NzaWJsZSB0byBoaWRlIHNvdXJjZSBhY3Rpb24gcm93LlxyXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9CcmVha3BvaW50T2JzZXJ2ZXIoKSB7XHJcbiAgICB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlci5vYnNlcnZlKHRoaXMubW9iaWxlQnJlYWtwb2ludHMpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcclxuICAgICAgICB0aGlzLmlzTW9iaWxlID0gc3RhdGUubWF0Y2hlcztcclxuICAgICAgfSlcclxuICB9XHJcblxyXG59XHJcbiIsIjwhLS0gTk9URS4gdGxkLXNvdXJjZS1hbmQtdGFyZ2V0LXdyYXBwZXIgdXNlcyBtdWx0aXBsZSBjb250ZW50IHByb2plY3Rpb25zLCBzbyBtaWdodCBzZWVtIGNvbmZ1c2luZyBmaXJzdCwgYnV0IGVsZW1lbnRzIGFyZSBkaXNwbGF5ZWQgYXQgdGhlaXIgcGxhY2VzIGJhc2VkIG9uIHRsZC1zb3VyY2UtYW5kLXRhcmdldC13cmFwcGVyIGNvbXBvbmVudFxyXG5odHRwczovL2FuZ3VsYXIuaW8vZ3VpZGUvY29udGVudC1wcm9qZWN0aW9uI211bHRpLXNsb3QtY29udGVudC1wcm9qZWN0aW9uXHJcbi0tPlxyXG48dGxkLXNvdXJjZS1hbmQtdGFyZ2V0LXdyYXBwZXIgW3RleHRUb1NwZWVjaFNvdXJjZVNldHRpbmdzXT1cInRleHRUb1NwZWVjaFNvdXJjZVNldHRpbmdzXCJcclxuICBbY2xlYXJTb3VyY2VWaXNpYmxlXT1cInNvdXJjZT8ubGVuZ3RoPjBcIiAob25Tb3VyY2VDbGVhcik9XCJjbGVhclNvdXJjZSgpXCIgW2hpZGVBY2hpZXZlbWVudF09XCJoaWRlQWNoaWV2ZW1lbnRcIlxyXG4gIFtjbGVhckRpc2FibGVkXT1cInRleHRhcmVhRGlzYWJsZWRcIiBbY2xlYXJTb3VyY2VUb29sdGlwXT1cIidUTERfVFJBTlNMQVRFLkNMRUFSX1NPVVJDRV9UT09MVElQJ1wiXHJcbiAgW25nQ2xhc3NdPVwieydoaWdobGlnaHQtYWN0aXZlJzogaGlnaGxpZ2h0LCAnZ3JhbWNoZWNrLWFjdGl2ZSc6IGdyYW1DaGVjaywgJ2VtcHR5LXRhcmdldCc6IGlzRW1wdHlUYXJnZXR9XCI+XHJcbiAgPGRpdiBzb3VyY2VNYWluIGNsYXNzPVwic291cmNlLW1haW5cIiBmeExheW91dD1cImNvbHVtblwiPlxyXG4gICAgPHRsZC10cmFuc2xhdGUtc291cmNlIFt0ZXh0YXJlYURpc2FibGVkXT1cInRleHRhcmVhRGlzYWJsZWRcIiAjc291cmNlQ29tcG9uZW50IGZ4RmxleFxyXG4gICAgICBbc291cmNlUGFyYWdyYXBoc109XCJzb3VyY2VQYXJhZ3JhcGhzXCI+PC90bGQtdHJhbnNsYXRlLXNvdXJjZT5cclxuICA8L2Rpdj5cclxuICA8bmctY29udGFpbmVyIHNvdXJjZUFjdGlvbnMgKm5nSWY9XCIhaGlkZVNvdXJjZUFjdGlvbnNcIj5cclxuICAgIDxkaXYgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiIGNsYXNzPVwiYmFzaWMtcGFkZGluZ1wiIGZ4TGF5b3V0R2FwPVwiMWVtXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhdWRpb0lucHV0VmlzaWJsZVwiPlxyXG4gICAgICAgIDx0bGQtZGljdGF0ZSBbY29uZmlndXJhdGlvbl09XCJkaWN0YXRlQ29uZmlnXCIgW25nQ2xhc3NdPVwieydmdWxsLXdpZHRoJyA6ICFmaWxlVXBsb2FkfVwiXHJcbiAgICAgICAgICAoaXNEaWN0YXRpbmcpPVwiZGljdGF0ZVN0YXJ0U3RvcCgkZXZlbnQpXCIgKHJlc3VsdCk9XCJkaWN0YXRlUmVzdWx0KCRldmVudClcIlxyXG4gICAgICAgICAgKHBhcnRpYWxSZXN1bHQpPVwiZGljdGF0ZVBhcnRpYWxSZXN1bHQoJGV2ZW50KVwiIChvbkVycm9yKT1cImRpY3RhdGVFcnJvcigkZXZlbnQpXCIgW2xhbmd1YWdlXT1cInNvdXJjZUxhbmd1YWdlXCI+XHJcbiAgICAgICAgPC90bGQtZGljdGF0ZT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJmaWxlVXBsb2FkXCIgY2xhc3M9XCJmaWxlLXVwbG9hZC13cmFwcGVyXCI+XHJcbiAgICAgICAgPHRsZC1maWxlLXVwbG9hZCAoZmlsZUNoYW5nZSk9XCJmaWxlQ2hhbmdlKCRldmVudClcIiBbYWNjZXB0XT1cImFsbG93ZWRGaWxlVHlwZXNcIiBbbWF4U2l6ZV09XCJtYXhGaWxlVXBsb2FkU2l6ZVwiIFt1cGxvYWRJY29uTmFtZV09XCJ1cGxvYWRJY29uTmFtZVwiXHJcbiAgICAgICAgICBbZXh0ZW5kZWRBY2NlcHRMaXN0XT1cImV4dGVuZGVkRmlsZVR5cGVzXCIgW211bHRpcGxlXT1cIm11bHRpcGxlRmlsZXNcIiAoZXJyb3JFdmVudCk9XCJmaWxlVXBsb2FkRXJyb3IoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbZmlsZVByZXZpZXdQcm9ncmVzc109XCJmaWxlUHJldmlld1Byb2dyZXNzXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInVwbG9hZC1maWxlLXRleHRcIj5cclxuICAgICAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5mbyB0ZXh0LWwtc2VtaS1ib2xkXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cIidGSUxFX1VQTE9BRC5VUExPQUQnIHwgdHJhbnNsYXRlXCIgY2xhc3M9XCJhY2NlbnQtY29sb3JcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj4mbmJzcDs8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cIidGSUxFX1VQTE9BRC5EUkFHX0FORF9EUk9QJyB8IHRyYW5zbGF0ZVwiIGZ4SGlkZS5sdC1zbT48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cIidGSUxFX1VQTE9BRC4nKyAobXVsdGlwbGVGaWxlcz8gJ0ZJTEVTJyA6ICdGSUxFJykgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBbbmdDbGFzcy5sdC1zbV09XCInYWNjZW50LWNvbG9yJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlLXVwbG9hZC1leHRlbnNpb25zIHRleHQtbVwiXHJcbiAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIidGSUxFX1VQTE9BRC5MSU1JVFMnIHwgdHJhbnNsYXRlOiB7bWF4U2l6ZU1COiBtYXhTaXplTUIsIHZpc2libGVFeHRlbnNpb25zOiB2aXNpYmxlRXh0ZW5zaW9uc31cIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvdGxkLWZpbGUtdXBsb2FkPlxyXG4gICAgICAgIDx0bGQtb3Blbi1leHRlbnNpb24tZGlhbG9nICpuZ0lmPVwic2hvd0V4dGVuc2lvblBvcHVwXCIgW2V4dGVuc2lvbnNdPVwiYWxsb3dlZFR5cGVzV2l0aG91dERvdHNcIj5cclxuICAgICAgICA8L3RsZC1vcGVuLWV4dGVuc2lvbi1kaWFsb2c+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxkaXYgdGFyZ2V0TWFpbiBjbGFzcz1cInRhcmdldC1tYWluXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWhhc0RpY3Rpb25hcnk7IGVsc2UgZGljdGlvbmFyeVRhcmdldEJsb2NrXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0VtcHR5VGFyZ2V0OyBlbHNlIHRyYW5zbGF0ZWRUZXh0QmxvY2tcIj5cclxuICAgICAgICA8cCAqbmdJZj1cInNob3dUYXJnZXRQbGFjZWhvbGRlclwiIGNsYXNzPVwiZGVzY3JpcHRpb24tdGV4dCB0YXJnZXQtZW1wdHlcIlxyXG4gICAgICAgICAgW2lubmVySHRtbF09XCInVExEX1RSQU5TTEFURS5UQVJHRVRfREVTQ1JJUFRJT04nIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgPC9wPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8bmctY29udGFpbmVyIHRhcmdldEFjdGlvbnM+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGxkLXRyYW5zbGF0ZS10YXJnZXQtZm9vdGVyIGJhc2ljLXBhZGRpbmdcIiAqbmdJZj1cInNob3dTdWdnZXN0aW9ucyB8fCBzaG93UHJvZ3Jlc3NJbmRpY2F0b3JcIj5cclxuICAgICAgPHRsZC10cmFuc2xhdGUtc3VnZ2VzdCAqbmdJZj1cInNob3dTdWdnZXN0aW9uc1wiIFtzeXN0ZW1JZF09XCJzeXN0ZW1JZFwiIFt0YXJnZXRdPVwidGFyZ2V0UGFyYWdyYXBoc1wiXHJcbiAgICAgICAgW3NvdXJjZV09XCJzb3VyY2VQYXJhZ3JhcGhzXCI+XHJcbiAgICAgIDwvdGxkLXRyYW5zbGF0ZS1zdWdnZXN0PlxyXG4gICAgICA8cHJvZ3Jlc3MtaW5kaWNhdG9yIChvbkNsb3NlKT1cImNsb3NlUHJvZ3Jlc3NJbmRpY2F0b3IoKVwiICpuZ0lmPVwic2hvd1Byb2dyZXNzSW5kaWNhdG9yXCI+PC9wcm9ncmVzcy1pbmRpY2F0b3I+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC90bGQtc291cmNlLWFuZC10YXJnZXQtd3JhcHBlcj5cclxuXHJcblxyXG48IS0tIHRlbXBsYXRlcyB1c2VkIGZvciBlbHNlIGJsb2NrcyBpbiB0YXJnZXQgY29udGFpbmVyIC0tPlxyXG48bmctdGVtcGxhdGUgI3RyYW5zbGF0ZWRUZXh0QmxvY2s+XHJcbiAgPGRpdiBjbGFzcz1cInRyYW5zbGF0ZWQtc291cmNlXCIgW2NsYXNzLnNlbGVjdGFibGUtc2VudGVuY2VdPVwic2hvd1N1Z2dlc3Rpb25zXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXVybFRvVHJhbnNsYXRlXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0YXJnZXQtd3JhcHBlci1hY3Rpb24tYnV0dG9uc1wiPlxyXG4gICAgICAgIDxidXR0b24gKm5nSWY9XCJmaXJzdFBhcmFncmFwaFRyYW5zbGF0ZWRcIiBtYXQtaWNvbi1idXR0b24gY2xhc3M9XCJ0bGQtY29weS10cmFuc2xhdGlvblwiIChjbGljayk9XCJjb3B5KClcIlxyXG4gICAgICAgICAgbWF0VG9vbHRpcD1cInt7J1RPT0xUSVBTLkNPUFknIHwgdHJhbnNsYXRlfX1cIiBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImNvcHlNZXNzYWdlSWRcIlxyXG4gICAgICAgICAgKGtleWRvd24uVGFiKT1cInN3aXRjaEZvY3VzRnJvbUNvcHkoJGV2ZW50KVwiIFthdHRyLklkXT1cImNvcHlCdXR0b25JZFwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiIGFyaWEtaGlkZGVuPVwiZmFsc2VcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidBUklBX0xBQkVMUy5DT1BZJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICBjb250ZW50X2NvcHlcclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8dGxkLXRleHQtdG8tc3BlZWNoICpuZ0lmPVwidGV4dFRvU3BlZWNoVGFyZ2V0U2V0dGluZ3NcIiBbc2V0dGluZ3NdPVwidGV4dFRvU3BlZWNoVGFyZ2V0U2V0dGluZ3NcIj5cclxuICAgICAgICA8L3RsZC10ZXh0LXRvLXNwZWVjaD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHBhcmFncmFwaCBvZiB0YXJnZXRQYXJhZ3JhcGhzXCI+XHJcbiAgICAgICAgPHRsZC1oaWdobGlnaHQtdHJlZSBbaGlnaGxpZ2h0XT1cImhpZ2hsaWdodFwiIFt0cmVlXT1cInBhcmFncmFwaFwiIFtzZWxlY3RTZW50ZW5jZV09XCJzaG93U3VnZ2VzdGlvbnNcIj5cclxuICAgICAgICA8L3RsZC1oaWdobGlnaHQtdHJlZT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxkaXYgKm5nSWY9XCJ1cmxUb1RyYW5zbGF0ZVwiIGNsYXNzPVwidGFyZ2V0LXVybC1jb250YWluZXJcIj5cclxuICAgICAgPGEgW2F0dHIuaHJlZl09XCJ0cmFuc2xhdGVVcmxSZWRpcmVjdFwiIHRhcmdldD1cIl9ibGFua1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBjbGFzcz1cImdvLXRvLXdlYnRyYW5zbGF0ZVwiPlxyXG4gICAgICAgIHt7dXJsVG9UcmFuc2xhdGV9fVxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiBjb2xvcj1cImFjY2VudFwiIGFyaWEtaGlkZGVuPVwiZmFsc2VcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidBUklBX0xBQkVMUy5PUEVOX0lOX05FVydcIj5cclxuICAgICAgICAgIG9wZW5faW5fbmV3XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L2E+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGljdGlvbmFyeVRhcmdldEJsb2NrPlxyXG4gIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PVwiY29sdW1uXCIgY2xhc3M9XCJkaWN0aW9uYXJ5LXdyYXBwZXJcIj5cclxuICAgIDx0bGQtZGljdGlvbmFyeSBmeEZsZXggKm5nRm9yPVwibGV0IGRpY3Rpb25hcnkgb2YgZGljdGlvbmFyeUVudHJ5XCIgW2RpY3Rpb25hcnldPVwiZGljdGlvbmFyeVwiPlxyXG4gICAgPC90bGQtZGljdGlvbmFyeT5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
274
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXh0L2NvbXBvbmVudHMvdGxkLXRyYW5zbGF0ZS10ZXh0L3RsZC10cmFuc2xhdGUtdGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtdGV4dC9jb21wb25lbnRzL3RsZC10cmFuc2xhdGUtdGV4dC90bGQtdHJhbnNsYXRlLXRleHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFzQixXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBNkIsTUFBTSwyQkFBMkIsQ0FBQztBQUd0RixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZ0JwRCxNQUFNLE9BQU8seUJBQXlCO0lBaUZwQyxZQUNtQixvQkFBNkMsRUFDN0MsU0FBb0IsRUFDcEIsTUFBdUIsRUFDdkIsTUFBaUMsRUFDakMsZ0JBQWtDLEVBQ2xDLFNBQTJCLEVBQzNCLFlBQWdDLEVBQ2hDLGlCQUF1QyxFQUN2QyxXQUFvQyxFQUNwQyxrQkFBc0M7UUFUdEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUF5QjtR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RWEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLG9CQUFvQjtxWkFLQSxlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFHbkIsbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGlwYm9hcmQgfSBmcm9tICdAYW5ndWxhci9jZGsvY2xpcGJvYXJkJztcclxuaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50cyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEF1ZGlvRXJyb3JDYXNlLCBJVHJhbnNjcmlwdGlvblVwZGF0ZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vdGxkLWF1ZGlvL21vZGVscyc7XHJcbmltcG9ydCB7IElEaWN0YXRlQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL3RsZC1hdWRpby9tb2RlbHMvZGljdGF0ZS1jb25maWd1cmF0aW9uaS5tb2RlbCc7XHJcbmltcG9ydCB7IEF1ZGlvUmVjb3JkU2VydmljZSwgVGxkVm9pY2VJbnB1dFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90bGQtYXVkaW8vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBDb21tb24gfSBmcm9tICcuLi8uLi8uLi90bGQtY29tbW9uL21vZGVscyc7XHJcbmltcG9ydCB7IFRsZEFsZXJ0U2VydmljZSwgVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3RsZC1jb21tb24vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBUbGRTY3JvbGxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdGxkLWNvbW1vbi9zZXJ2aWNlcy9zY3JvbGwvdGxkLXNjcm9sbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlRmlsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90bGQtZG9jdW1lbnQvc2VydmljZXMnO1xyXG5pbXBvcnQgeyBJQWN0aXZlRGF0YSB9IGZyb20gJy4uLy4uLy4uL3RsZC10b29sdGlwL21vZGVscyc7XHJcbmltcG9ydCB7IFRsZFN5c3RlbVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90bGQtdG9vbHRpcC9zZXJ2aWNlcy90bGQtc3lzdGVtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUbGRUcmFuc2xhdGVUZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RsZC10cmFuc2xhdGUtdGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlU291cmNlQ29tcG9uZW50IH0gZnJvbSAnLi4vdGxkLXRyYW5zbGF0ZS1zb3VyY2UvdGxkLXRyYW5zbGF0ZS1zb3VyY2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZEVycm9yIH0gZnJvbSAnQHRpbGRlLW5scC9uZ3gtY29tbW9uJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RsZC10cmFuc2xhdGUtdGV4dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RsZC10cmFuc2xhdGUtdGV4dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGxkLXRyYW5zbGF0ZS10ZXh0LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRsZFRyYW5zbGF0ZVRleHRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZChcInNvdXJjZUNvbXBvbmVudFwiKSBzb3VyY2VDb21wb25lbnQ6IFRsZFRyYW5zbGF0ZVNvdXJjZUNvbXBvbmVudDtcclxuXHJcblxyXG4gIEBJbnB1dCgpIGZpbGVQcmV2aWV3UHJvZ3Jlc3M6IG51bWJlcjtcclxuICBAT3V0cHV0KCkgb25GaWxlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RmlsZVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZVtdPigpO1xyXG5cclxuICBhY3RpdmVEYXRhOiBJQWN0aXZlRGF0YTtcclxuICBnZXQgc3lzdGVtSWQoKSB7IHJldHVybiB0aGlzLmFjdGl2ZURhdGE/LnN5c3RlbUlkOyB9O1xyXG4gIC8vcGFyYW1zIGZyb20gY29uZmlnIHNlcnZpY2UuXHJcbiAgZ2V0IGFsbG93ZWRGaWxlVHlwZXMoKTogc3RyaW5nW10geyByZXR1cm4gdGhpcy5jb25maWcuZmlsZUNvbmZpZy5hbGxvd2VkRmlsZVR5cGVzOyB9O1xyXG4gIGdldCBleHRlbmRlZEZpbGVUeXBlcygpOiBzdHJpbmdbXSB7IHJldHVybiB0aGlzLmNvbmZpZy5maWxlQ29uZmlnLmV4dGVuZGVkRmlsZVR5cGVzOyB9O1xyXG4gIGdldCBhcHBJZCgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5jb25maWcuY29yZUNvbmZpZy5hcHBJZDsgfTtcclxuICBnZXQgaGlnaGxpZ2h0KCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5jb25maWcudGV4dENvbmZpZy5oaWdobGlnaHQ7IH07XHJcbiAgZ2V0IGdyYW1DaGVjaygpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuY29uZmlnLnRleHRDb25maWcuY2hlY2tTb3VyY2VHcmFtbWFyOyB9O1xyXG4gIGdldCBmaWxlVXBsb2FkKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5jb25maWcuZmlsZUNvbmZpZy5maWxlVXBsb2FkICYmICEodGhpcy5pc0RpY3RhdGluZyB8fCB0aGlzLmF1ZGlvU2VydmljZT8uaXNSZWNvcmRpbmcgfHwgdGhpcy52b2ljZUlucHV0U2VydmljZS5pc1Byb2Nlc3NpbmcpOyB9O1xyXG4gIGdldCBjbGllbnRJZCgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5jb25maWcuY29yZUNvbmZpZy5jbGllbnRJZDsgfTtcclxuICBnZXQgaGlkZUFjaGlldmVtZW50KCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5jb25maWcuY29yZUNvbmZpZy5oaWRlQWNoaWV2ZW1lbnQgfHwgIXRoaXMuaXNFbXB0eVRhcmdldDsgfTtcclxuICBnZXQgaXNBdXRoKCkgeyByZXR1cm4gdGhpcy5jb25maWcuY29yZUNvbmZpZy5pc0F1dGg7IH07XHJcbiAgZ2V0IG1heEZpbGVVcGxvYWRTaXplKCk6IG51bWJlciB7IHJldHVybiB0aGlzLmNvbmZpZy5maWxlQ29uZmlnLm1heFNpemU7IH07XHJcbiAgZ2V0IG11bHRpcGxlRmlsZXMoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmNvbmZpZy5maWxlQ29uZmlnLm51bWJlck9mRmlsZXNBbGxvd2VkID4gMTsgfTtcclxuICBnZXQgdHJhbnNsYXRpb25VcmwoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuY29uZmlnLnRleHRDb25maWcudHJhbnNsYXRpb25Vcmw7IH07XHJcbiAgZ2V0IHVwZGF0ZVRyYW5zbGF0aW9uVXJsKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLnVwZGF0ZVRyYW5zbGF0aW9uVXJsOyB9O1xyXG4gIGdldCB1c2VEaWN0aW9uYXJ5KCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5jb25maWcudGV4dENvbmZpZy51c2VEaWN0aW9uYXJ5OyB9O1xyXG4gIGdldCBhbGxvd1dlYnNpdGVUcmFuc2xhdGlvbigpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuY29uZmlnLnRleHRDb25maWcuYWxsb3dXZWJzaXRlVHJhbnNsYXRpb247IH07XHJcbiAgZ2V0IGF1dG9SZWRpcmVjdFRvV2ViVHJhbnNsYXRlKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5jb25maWcudGV4dENvbmZpZy5hdXRvUmVkaXJlY3RUb1dlYlRyYW5zbGF0ZTsgfTtcclxuICBnZXQgd2ViV2lkZ2V0UmVkaXJlY3RVcmxQcmVmaXgoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuY29uZmlnLnRleHRDb25maWcud2ViV2lkZ2V0UmVkaXJlY3RVcmxQcmVmaXg7IH07XHJcbiAgZ2V0IHdlYldpZGdldFJlZGlyZWN0VXJsUG9zZml4KCk6IHN0cmluZyB7IHJldHVybiB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLndlYldpZGdldFJlZGlyZWN0VXJsUG9zZml4OyB9O1xyXG4gIGdldCBzaG93U3VnZ2VzdGlvbnMoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmhhc1RyYW5zbGF0ZWRQYXJhZ3JhcGhzICYmIHRoaXMuY29uZmlnLnRleHRDb25maWcuc2hvd1N1Z2dlc3Rpb25zICYmICF0aGlzLnVybFRvVHJhbnNsYXRlIH07XHJcbiAgZ2V0IHRleHRhcmVhRGlzYWJsZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmF1ZGlvU2VydmljZS5pc1JlY29yZGluZyB8fCB0aGlzLnZvaWNlSW5wdXRTZXJ2aWNlLmlzUHJvY2Vzc2luZyB8fCB0aGlzLmlzRGljdGF0aW5nIH07XHJcbiAgZ2V0IGlzRGljdGF0aW5nKCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5pc0RpY3RhdGluZzsgfTtcclxuICBnZXQgbWF4RGljdGF0ZUxlbmd0aCgpIHsgcmV0dXJuIHRoaXMuY29uZmlnLmF1ZGlvQ29uZmlnLm1heGltdW1SZWNvcmRUaW1lOyB9XHJcbiAgZ2V0IHNvdXJjZUxhbmd1YWdlKCkgeyByZXR1cm4gdGhpcy5hY3RpdmVEYXRhPy5zb3VyY2VMYW5nLmxhbmc7IH1cclxuICBnZXQgaGFzVHJhbnNsYXRlZFBhcmFncmFwaHMoKSB7IHJldHVybiB0aGlzLnRhcmdldFBhcmFncmFwaHM/Lmxlbmd0aCA+IDAgfVxyXG4gIGdldCBpc0VtcHR5VGFyZ2V0KCkgeyByZXR1cm4gIXRoaXMuaGFzVHJhbnNsYXRlZFBhcmFncmFwaHMgJiYgIXRoaXMudXJsVG9UcmFuc2xhdGUgJiYgIXRoaXMuaGFzRGljdGlvbmFyeSB9XHJcbiAgZ2V0IHNob3dUYXJnZXRQbGFjZWhvbGRlcigpIHsgcmV0dXJuIHRoaXMuY29uZmlnLnRleHRDb25maWcuc2hvd1RhcmdldFBsYWNlaG9sZGVyIH1cclxuICBnZXQgc2hvd0V4dGVuc2lvblBvcHVwKCkgeyByZXR1cm4gdGhpcy5jb25maWcudGV4dENvbmZpZy5zaG93RXh0ZW5zaW9uUG9wdXAgJiYgdGhpcy52aXNpYmxlRXh0ZW5zaW9uQ291bnQgPCB0aGlzLmFsbG93ZWRGaWxlVHlwZXMubGVuZ3RoIH1cclxuICBnZXQgdmlzaWJsZUV4dGVuc2lvbkNvdW50KCkgeyByZXR1cm4gdGhpcy5jb25maWcudGV4dENvbmZpZy52aXNpYmxlRXh0ZW5zaW9uQ291bnQgfTtcclxuICBnZXQgdGV4dFRvU3BlZWNoVGFyZ2V0U2V0dGluZ3MoKSB7IHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnRleHRUb1NwZWVjaFRhcmdldFNldHRpbmdzIH07XHJcbiAgZ2V0IHRleHRUb1NwZWVjaFNvdXJjZVNldHRpbmdzKCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS50ZXh0VG9TcGVlY2hTb3VyY2VTZXR0aW5ncyB9O1xyXG4gIGdldCB1cGxvYWRJY29uTmFtZSgpIHsgcmV0dXJuIHRoaXMuY29uZmlnLmNvcmVDb25maWcudXBsb2FkSWNvbk5hbWUgfTtcclxuXHJcbiAgYXVkaW9JbnB1dFZpc2libGU6IGJvb2xlYW47XHJcbiAgdGFyZ2V0U2VudGVuY2VTZWxlY3Q6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGdldCB1cmxUb1RyYW5zbGF0ZSgpIHsgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UudXJsVG9UcmFuc2xhdGU7IH07XHJcblxyXG4gIGFsbG93ZWRUeXBlc1dpdGhvdXREb3RzOiBzdHJpbmdbXTtcclxuXHJcbiAgcmVhZG9ubHkgY29weU1lc3NhZ2VJZCA9IFwidGxkLWNvcHktc3VjY2Vzc1wiO1xyXG4gIHJlYWRvbmx5IGNvcHlNZXNzYWdlQ2xvc2VCdXR0b25JZCA9IFwidGxkLWNvcHktc3VjY2Vzcy1jbG9zZVwiO1xyXG4gIHJlYWRvbmx5IGNvcHlCdXR0b25JZCA9IFwidGxkLWNvcHktdG8tY2xpcGJvYXJkXCI7XHJcblxyXG4gIGdldCB0cmFuc2xhdGVkVGV4dCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UudHJhbnNsYXRlZFRleHQ7XHJcbiAgfVxyXG5cclxuICBnZXQgZmlyc3RQYXJhZ3JhcGhUcmFuc2xhdGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuZmlyc3RQYXJhZ3JhcGhUcmFuc2xhdGVkO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhhc0RpY3Rpb25hcnkoKSB7IHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmhhc0RpY3Rpb25hcnk7IH1cclxuICBnZXQgZGljdGlvbmFyeUVudHJ5KCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5kaWN0aW9uYXJ5RW50cnk7IH1cclxuICBnZXQgc291cmNlKCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zb3VyY2VUZXh0OyB9XHJcbiAgZ2V0IHRyYW5zbGF0ZVVybFJlZGlyZWN0KCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS50cmFuc2xhdGVVcmxSZWRpcmVjdDsgfVxyXG4gIGdldCBzaG93UHJvZ3Jlc3NJbmRpY2F0b3IoKSB7IHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnNob3VsZFNob3dQcm9ncmVzc0luZGljYXRvcjsgfVxyXG4gIGdldCBoaWRlU291cmNlQWN0aW9ucygpIHtcclxuICAgIHJldHVybiB0aGlzLnNvdXJjZSAmJiB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLmhpZGVTb3VyY2VBY3Rpb25zV2hlbkhhc1RleHRNb2JpbGUgJiYgdGhpcy5pc01vYmlsZTtcclxuICB9XHJcbiAgZ2V0IHBhcmFncmFwaHMoKSB7IHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnBhcmFncmFwaHM7IH07XHJcbiAgZ2V0IHNvdXJjZVBhcmFncmFwaHMoKSB7IHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnNvdXJjZVBhcmFncmFwaHM7IH1cclxuICBnZXQgdGFyZ2V0UGFyYWdyYXBocygpIHsgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UudGFyZ2V0UGFyYWdyYXBoczsgfVxyXG5cclxuICBkaWN0YXRlQ29uZmlnOiBJRGljdGF0ZUNvbmZpZ3VyYXRpb247XHJcbiAgdmlzaWJsZUV4dGVuc2lvbnM6IHN0cmluZztcclxuICBtYXhTaXplTUI6IG51bWJlcjtcclxuXHJcbiAgcHJpdmF0ZSBpc01vYmlsZTogYm9vbGVhbjtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBtb2JpbGVCcmVha3BvaW50cyA9IFtCcmVha3BvaW50cy5YU21hbGxdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlVGV4dFNlcnZpY2U6IFRsZFRyYW5zbGF0ZVRleHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjbGlwYm9hcmQ6IENsaXBib2FyZCxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnRzOiBUbGRBbGVydFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGxkU2Nyb2xsU2VydmljZTogVGxkU2Nyb2xsU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGxkU3lzdGVtOiBUbGRTeXN0ZW1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdWRpb1NlcnZpY2U6IEF1ZGlvUmVjb3JkU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdm9pY2VJbnB1dFNlcnZpY2U6IFRsZFZvaWNlSW5wdXRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaWxlU2VydmljZTogVGxkVHJhbnNsYXRlRmlsZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UubGlzdGVuT25DaGFuZ2VzKCk7XHJcbiAgICB0aGlzLmRpY3RhdGVDb25maWcgPSB7XHJcbiAgICAgIGFwcElkOiB0aGlzLmNvbmZpZy5hdWRpb0NvbmZpZy5hcHBJZCxcclxuICAgICAgYXBwU2VjcmV0OiB0aGlzLmNvbmZpZy5hdWRpb0NvbmZpZy5hcHBTZWNyZXQsXHJcbiAgICAgIG1heExlbmd0aDogdGhpcy5jb25maWcuYXVkaW9Db25maWcubWF4aW11bVJlY29yZFRpbWUsXHJcbiAgICAgIGFwaVVybDogdGhpcy5jb25maWcuYXVkaW9Db25maWcuZGljdGF0ZUFwaVVybFxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYWxsb3dlZFR5cGVzV2l0aG91dERvdHMgPSBbXTtcclxuICAgIHRoaXMuYWxsb3dlZEZpbGVUeXBlcy5mb3JFYWNoKGVsID0+IHRoaXMuYWxsb3dlZFR5cGVzV2l0aG91dERvdHMucHVzaChlbC5yZXBsYWNlKFwiLlwiLCBcIlwiKSkpO1xyXG4gICAgdGhpcy52aXNpYmxlRXh0ZW5zaW9ucyA9IHRoaXMuY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKHRoaXMuYWxsb3dlZFR5cGVzV2l0aG91dERvdHMuc2xpY2UoMCwgdGhpcy52aXNpYmxlRXh0ZW5zaW9uQ291bnQpLmpvaW4oXCIsIFwiKSk7XHJcbiAgICB0aGlzLm1heFNpemVNQiA9IENvbW1vbi5ieXRlc1RvTWIodGhpcy5jb25maWcuZmlsZUNvbmZpZy5tYXhTaXplKTtcclxuXHJcbiAgICB0aGlzLnRsZFN5c3RlbS5nZXRBY3RpdmVEYXRhKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgoeCwgeSkgPT4geCAmJiB5ICYmIHguc3lzdGVtSWQgPT0geS5zeXN0ZW1JZCkpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgoc3lzdCkgPT4ge1xyXG4gICAgICAgIGlmICghc3lzdCkge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmFjdGl2ZURhdGEgPSBzeXN0O1xyXG4gICAgICAgIHRoaXMuYXVkaW9JbnB1dFZpc2libGUgPSB0aGlzLmNvbmZpZy5hdWRpb0NvbmZpZy5hdWRpb1RleHRJbnB1dCAmJiB0aGlzLmNvbmZpZy5hdWRpb0NvbmZpZy5zb3VyY2VMYW5ndWFnZXM/LmluY2x1ZGVzKHRoaXMuYWN0aXZlRGF0YT8uc291cmNlTGFuZy5sYW5nKTtcclxuICAgICAgICBpZiAodGhpcy5hY3RpdmVEYXRhLnJldHJhbnNsYXRlKSB7XHJcbiAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnJldHJhbnNsYXRlKHsgc3lzdGVtQ2hhbmdlZDogdHJ1ZSB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuXHJcbiAgICB0aGlzLnRsZFNjcm9sbFNlcnZpY2Uuc3Vic2NyaWJlVG9TY3JvbGwoKTtcclxuXHJcbiAgICBpZiAodGhpcy5jb25maWcuYXVkaW9Db25maWcuYXVkaW9UZXh0SW5wdXQpIHtcclxuICAgICAgdGhpcy5hdWRpb1NlcnZpY2Uub25SZWNvcmRTdGFydC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmNoYW5nZVNvdXJjZSh7IHBocmFzZTogXCJcIiB9KTtcclxuICAgICAgfSlcclxuXHJcbiAgICAgIHRoaXMudm9pY2VJbnB1dFNlcnZpY2Uub25UcmFuc2NyaWJ0aW9uVGV4dFVwZGF0ZWQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IElUcmFuc2NyaXB0aW9uVXBkYXRlTW9kZWwpID0+IHtcclxuICAgICAgICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuY2hhbmdlU291cmNlKHsgcGhyYXNlOiBldmVudC50ZXh0LCBzd2FwU3lzdGVtczogZmFsc2UsIGRpc2FibGVBdXRvbWF0aWNUcmFuc2xhdGlvbjogIWV2ZW50LmNvbXBsZXRlZCB9KTtcclxuICAgICAgICAgIGlmIChldmVudC5jb21wbGV0ZWQgJiYgKCFldmVudC50ZXh0IHx8IGV2ZW50LnRleHQgPT09IFwiXCIpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWxlcnRzLndhcm5pbmcoYEVSUk9SUy5BVURJTy4ke0F1ZGlvRXJyb3JDYXNlLk5PX1RFWFRfUkVDT0dOSVpFRH1gKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpYmVUb0JyZWFrcG9pbnRPYnNlcnZlcigpO1xyXG4gIH1cclxuXHJcbiAgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKHM6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHMgJiYgc1swXS50b1VwcGVyQ2FzZSgpICsgcy5zbGljZSgxKTtcclxuICB9XHJcblxyXG4gIGNvcHkoKSB7XHJcbiAgICB0aGlzLmNsaXBib2FyZC5jb3B5KHRoaXMudHJhbnNsYXRlZFRleHQpO1xyXG4gICAgdGhpcy5hbGVydHMuc3VjY2VzcyhcIlRMRF9UUkFOU0xBVEUuVEVYVF9DT1BJRURcIiwgeyBpZDogdGhpcy5jb3B5TWVzc2FnZUlkLCBjbG9zZUJ1dHRvbklkOiB0aGlzLmNvcHlNZXNzYWdlQ2xvc2VCdXR0b25JZCwgcGFyZW50SWQ6IHRoaXMuY29weUJ1dHRvbklkIH0pO1xyXG4gIH1cclxuXHJcbiAgc3dpdGNoRm9jdXNGcm9tQ29weShldmVudCkge1xyXG4gICAgY29uc3QgY29weU1lc3NhZ2VDbG9zZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuY29weU1lc3NhZ2VDbG9zZUJ1dHRvbklkKT8uZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJidXR0b25cIik/Lml0ZW0oMCk7XHJcbiAgICBpZiAoY29weU1lc3NhZ2VDbG9zZUJ1dHRvbikge1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBjb3B5TWVzc2FnZUNsb3NlQnV0dG9uLmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmaWxlQ2hhbmdlKGZpbGVzOiBGaWxlW10pIHtcclxuICAgIHRoaXMub25GaWxlQ2hhbmdlLmVtaXQoZmlsZXMpO1xyXG4gIH1cclxuXHJcbiAgZmlsZVVwbG9hZEVycm9yKGVycm9yOiBhbnkpIHtcclxuICAgIHRoaXMuZmlsZVNlcnZpY2UuZmlsZVVwbG9hZEVycm9yKGVycm9yIGFzIEZpbGVVcGxvYWRFcnJvcik7XHJcbiAgfVxyXG5cclxuICBuYXZpZ2F0ZVRvVHJhbnNsYXRlZFVybCgpIHtcclxuICAgIHdpbmRvdy5sb2NhdGlvbi5yZXBsYWNlKHRoaXMudHJhbnNsYXRlVXJsUmVkaXJlY3QpO1xyXG4gIH1cclxuXHJcbiAgZGljdGF0ZVN0YXJ0U3RvcChpc0RpY3RhdGluZzogYm9vbGVhbikge1xyXG4gICAgY29uc3QgcGhyYXNlID0gYCR7dGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zb3VyY2VUZXh0fSR7dGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zb3VyY2VUZXh0Py5sZW5ndGggPiAwID8gXCIgXCIgOiBcIlwifSR7dGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zb3VyY2VUZXh0SHlwb3RoZXNpc31gO1xyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5pc0RpY3RhdGluZyA9IGlzRGljdGF0aW5nO1xyXG4gICAgLy8gVHJhbnNsYXRpb24gaGFzIGVuZGVkLlxyXG4gICAgaWYgKCFpc0RpY3RhdGluZykge1xyXG4gICAgICBpZiAodGhpcy5jb25maWcuYXVkaW9Db25maWcucHVuY3R1YXRpb25NZXNzYWdlICYmIHBocmFzZT8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHRoaXMuYWxlcnRzLndhcm5pbmcoXCJBVURJTy5QVU5DVFVBVElPTl9NRVNTQUdFXCIpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmNoYW5nZVNvdXJjZShcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwaHJhc2UsXHJcbiAgICAgICAgICBkaXNhYmxlQXV0b21hdGljVHJhbnNsYXRpb246IHRoaXMuaXNEaWN0YXRpbmcgfHwgdGhpcy5jb25maWcuYXVkaW9Db25maWcuZGlzYWJsZUF1dG9tYXRpY1RyYW5zbGF0aW9uXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuY2hhbmdlU291cmNlSHlwb3RoZXNpcyhcIlwiKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmNsZWFyU291cmNlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkaWN0YXRlUmVzdWx0KHJlc3VsdDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmNoYW5nZVNvdXJjZUh5cG90aGVzaXMoXCJcIik7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmNoYW5nZVNvdXJjZSh7IHBocmFzZTogcmVzdWx0LCBkaXNhYmxlQXV0b21hdGljVHJhbnNsYXRpb246IHRoaXMuaXNEaWN0YXRpbmcgfSlcclxuICB9XHJcblxyXG4gIGRpY3RhdGVQYXJ0aWFsUmVzdWx0KHBhcnRpYWxSZXN1bHQ6IHN0cmluZykge1xyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5jaGFuZ2VTb3VyY2VIeXBvdGhlc2lzKHBhcnRpYWxSZXN1bHQpO1xyXG4gIH1cclxuXHJcbiAgZGljdGF0ZUVycm9yKGVycm9yOiBBdWRpb0Vycm9yQ2FzZSkge1xyXG4gICAgaWYgKGVycm9yID09PSBBdWRpb0Vycm9yQ2FzZS5NQVhfVElNRV9FWENFRURFRCkge1xyXG4gICAgICBsZXQgdGltZVN0cmluZyA9IFwiXCI7XHJcbiAgICAgIGNvbnN0IG1heExlbmd0aFRpbWUgPSBuZXcgRGF0ZSgwLCAwLCAwLCAwLCAwLCB0aGlzLmNvbmZpZy5hdWRpb0NvbmZpZy5tYXhpbXVtUmVjb3JkVGltZSk7XHJcblxyXG4gICAgICBjb25zdCBtaW51dGVzID0gbWF4TGVuZ3RoVGltZS5nZXRNaW51dGVzKCk7XHJcbiAgICAgIGlmIChtaW51dGVzID4gMCkge1xyXG4gICAgICAgIHRpbWVTdHJpbmcgKz0gYCR7bWludXRlc30gbWludXRlc2A7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHNlY29uZHMgPSBtYXhMZW5ndGhUaW1lLmdldFNlY29uZHMoKTtcclxuICAgICAgaWYgKHNlY29uZHMgPiAwKSB7XHJcbiAgICAgICAgdGltZVN0cmluZyArPSBgJHtzZWNvbmRzfSBzZWNvbmRzYFxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuYWxlcnRzLndhcm5pbmcoYEVSUk9SUy5BVURJTy4ke2Vycm9yfWAsIHsgdGltZVN0cmluZyB9KTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGVycm9yID09PSBBdWRpb0Vycm9yQ2FzZS5OT19TUEVFQ0gpIHtcclxuICAgICAgdGhpcy5hbGVydHMud2FybmluZyhgRVJST1JTLkFVRElPLiR7ZXJyb3J9YCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5hbGVydHMudW5oYW5kZWxlZEVycm9yKHsgRXJyb3JDb2RlOiBlcnJvciB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsZWFyU291cmNlKCkge1xyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5jbGVhclNvdXJjZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnN0b3BMaXN0ZW5pbmdUb0NoYW5nZXMoKTtcclxuICAgIHRoaXMudGxkU2Nyb2xsU2VydmljZS51bnN1YnNjcmliZVRvU2Nyb2xsKCk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQobnVsbClcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIGNsb3NlUHJvZ3Jlc3NJbmRpY2F0b3IoKSB7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmhpZGVQcm9ncmVzc0luZGljYXRvcigpO1xyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zdG9wVHJhbnNsYXRpb24oKTtcclxuICB9XHJcblxyXG4gIC8vIG5lZWQgdG8gc3Vic2NyaWJlIHRvIGdldCBpZiBpcyBtb2JpbGUgdmlldyBzbyBpdCB3b3VsZCBiZSBwb3NzaWJsZSB0byBoaWRlIHNvdXJjZSBhY3Rpb24gcm93LlxyXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9CcmVha3BvaW50T2JzZXJ2ZXIoKSB7XHJcbiAgICB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlci5vYnNlcnZlKHRoaXMubW9iaWxlQnJlYWtwb2ludHMpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcclxuICAgICAgICB0aGlzLmlzTW9iaWxlID0gc3RhdGUubWF0Y2hlcztcclxuICAgICAgfSlcclxuICB9XHJcblxyXG59XHJcbiIsIjwhLS0gTk9URS4gdGxkLXNvdXJjZS1hbmQtdGFyZ2V0LXdyYXBwZXIgdXNlcyBtdWx0aXBsZSBjb250ZW50IHByb2plY3Rpb25zLCBzbyBtaWdodCBzZWVtIGNvbmZ1c2luZyBmaXJzdCwgYnV0IGVsZW1lbnRzIGFyZSBkaXNwbGF5ZWQgYXQgdGhlaXIgcGxhY2VzIGJhc2VkIG9uIHRsZC1zb3VyY2UtYW5kLXRhcmdldC13cmFwcGVyIGNvbXBvbmVudFxyXG5odHRwczovL2FuZ3VsYXIuaW8vZ3VpZGUvY29udGVudC1wcm9qZWN0aW9uI211bHRpLXNsb3QtY29udGVudC1wcm9qZWN0aW9uXHJcbi0tPlxyXG48dGxkLXNvdXJjZS1hbmQtdGFyZ2V0LXdyYXBwZXIgW3RleHRUb1NwZWVjaFNvdXJjZVNldHRpbmdzXT1cInRleHRUb1NwZWVjaFNvdXJjZVNldHRpbmdzXCJcclxuICBbY2xlYXJTb3VyY2VWaXNpYmxlXT1cInNvdXJjZT8ubGVuZ3RoPjBcIiAob25Tb3VyY2VDbGVhcik9XCJjbGVhclNvdXJjZSgpXCIgW2hpZGVBY2hpZXZlbWVudF09XCJoaWRlQWNoaWV2ZW1lbnRcIlxyXG4gIFtjbGVhckRpc2FibGVkXT1cInRleHRhcmVhRGlzYWJsZWRcIiBbY2xlYXJTb3VyY2VUb29sdGlwXT1cIidUTERfVFJBTlNMQVRFLkNMRUFSX1NPVVJDRV9UT09MVElQJ1wiXHJcbiAgW25nQ2xhc3NdPVwieydoaWdobGlnaHQtYWN0aXZlJzogaGlnaGxpZ2h0LCAnZ3JhbWNoZWNrLWFjdGl2ZSc6IGdyYW1DaGVjaywgJ2VtcHR5LXRhcmdldCc6IGlzRW1wdHlUYXJnZXR9XCI+XHJcbiAgPGRpdiBzb3VyY2VNYWluIGNsYXNzPVwic291cmNlLW1haW5cIiBmeExheW91dD1cImNvbHVtblwiPlxyXG4gICAgPHRsZC10cmFuc2xhdGUtc291cmNlIFt0ZXh0YXJlYURpc2FibGVkXT1cInRleHRhcmVhRGlzYWJsZWRcIiAjc291cmNlQ29tcG9uZW50IGZ4RmxleFxyXG4gICAgICBbc291cmNlUGFyYWdyYXBoc109XCJzb3VyY2VQYXJhZ3JhcGhzXCI+PC90bGQtdHJhbnNsYXRlLXNvdXJjZT5cclxuICA8L2Rpdj5cclxuICA8bmctY29udGFpbmVyIHNvdXJjZUFjdGlvbnMgKm5nSWY9XCIhaGlkZVNvdXJjZUFjdGlvbnNcIj5cclxuICAgIDxkaXYgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiIGNsYXNzPVwiYmFzaWMtcGFkZGluZ1wiIGZ4TGF5b3V0R2FwPVwiMWVtXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhdWRpb0lucHV0VmlzaWJsZVwiPlxyXG4gICAgICAgIDx0bGQtZGljdGF0ZSBbY29uZmlndXJhdGlvbl09XCJkaWN0YXRlQ29uZmlnXCIgW25nQ2xhc3NdPVwieydmdWxsLXdpZHRoJyA6ICFmaWxlVXBsb2FkfVwiXHJcbiAgICAgICAgICAoaXNEaWN0YXRpbmcpPVwiZGljdGF0ZVN0YXJ0U3RvcCgkZXZlbnQpXCIgKHJlc3VsdCk9XCJkaWN0YXRlUmVzdWx0KCRldmVudClcIlxyXG4gICAgICAgICAgKHBhcnRpYWxSZXN1bHQpPVwiZGljdGF0ZVBhcnRpYWxSZXN1bHQoJGV2ZW50KVwiIChvbkVycm9yKT1cImRpY3RhdGVFcnJvcigkZXZlbnQpXCIgW2xhbmd1YWdlXT1cInNvdXJjZUxhbmd1YWdlXCI+XHJcbiAgICAgICAgPC90bGQtZGljdGF0ZT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJmaWxlVXBsb2FkXCIgY2xhc3M9XCJmaWxlLXVwbG9hZC13cmFwcGVyXCI+XHJcbiAgICAgICAgPHRsZC1maWxlLXVwbG9hZCAoZmlsZUNoYW5nZSk9XCJmaWxlQ2hhbmdlKCRldmVudClcIiBbYWNjZXB0XT1cImFsbG93ZWRGaWxlVHlwZXNcIiBbbWF4U2l6ZV09XCJtYXhGaWxlVXBsb2FkU2l6ZVwiIFt1cGxvYWRJY29uTmFtZV09XCJ1cGxvYWRJY29uTmFtZVwiXHJcbiAgICAgICAgICBbZXh0ZW5kZWRBY2NlcHRMaXN0XT1cImV4dGVuZGVkRmlsZVR5cGVzXCIgW211bHRpcGxlXT1cIm11bHRpcGxlRmlsZXNcIiAoZXJyb3JFdmVudCk9XCJmaWxlVXBsb2FkRXJyb3IoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbZmlsZVByZXZpZXdQcm9ncmVzc109XCJmaWxlUHJldmlld1Byb2dyZXNzXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInVwbG9hZC1maWxlLXRleHRcIj5cclxuICAgICAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5mbyB0ZXh0LWwtc2VtaS1ib2xkXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cIidGSUxFX1VQTE9BRC5VUExPQUQnIHwgdHJhbnNsYXRlXCIgY2xhc3M9XCJhY2NlbnQtY29sb3JcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj4mbmJzcDs8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cIidGSUxFX1VQTE9BRC5EUkFHX0FORF9EUk9QJyB8IHRyYW5zbGF0ZVwiIGZ4SGlkZS5sdC1zbT48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cIidGSUxFX1VQTE9BRC4nKyAobXVsdGlwbGVGaWxlcz8gJ0ZJTEVTJyA6ICdGSUxFJykgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBbbmdDbGFzcy5sdC1zbV09XCInYWNjZW50LWNvbG9yJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlLXVwbG9hZC1leHRlbnNpb25zIHRleHQtbVwiXHJcbiAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIidGSUxFX1VQTE9BRC5MSU1JVFMnIHwgdHJhbnNsYXRlOiB7bWF4U2l6ZU1COiBtYXhTaXplTUIsIHZpc2libGVFeHRlbnNpb25zOiB2aXNpYmxlRXh0ZW5zaW9uc31cIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvdGxkLWZpbGUtdXBsb2FkPlxyXG4gICAgICAgIDx0bGQtb3Blbi1leHRlbnNpb24tZGlhbG9nICpuZ0lmPVwic2hvd0V4dGVuc2lvblBvcHVwXCIgW2V4dGVuc2lvbnNdPVwiYWxsb3dlZFR5cGVzV2l0aG91dERvdHNcIj5cclxuICAgICAgICA8L3RsZC1vcGVuLWV4dGVuc2lvbi1kaWFsb2c+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxkaXYgdGFyZ2V0TWFpbiBjbGFzcz1cInRhcmdldC1tYWluXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWhhc0RpY3Rpb25hcnk7IGVsc2UgZGljdGlvbmFyeVRhcmdldEJsb2NrXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0VtcHR5VGFyZ2V0OyBlbHNlIHRyYW5zbGF0ZWRUZXh0QmxvY2tcIj5cclxuICAgICAgICA8cCAqbmdJZj1cInNob3dUYXJnZXRQbGFjZWhvbGRlclwiIGNsYXNzPVwiZGVzY3JpcHRpb24tdGV4dCB0YXJnZXQtZW1wdHlcIlxyXG4gICAgICAgICAgW2lubmVySHRtbF09XCInVExEX1RSQU5TTEFURS5UQVJHRVRfREVTQ1JJUFRJT04nIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgPC9wPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8bmctY29udGFpbmVyIHRhcmdldEFjdGlvbnM+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGxkLXRyYW5zbGF0ZS10YXJnZXQtZm9vdGVyIGJhc2ljLXBhZGRpbmdcIiAqbmdJZj1cInNob3dTdWdnZXN0aW9ucyB8fCBzaG93UHJvZ3Jlc3NJbmRpY2F0b3JcIj5cclxuICAgICAgPHRsZC10cmFuc2xhdGUtc3VnZ2VzdCAqbmdJZj1cInNob3dTdWdnZXN0aW9uc1wiIFtzeXN0ZW1JZF09XCJzeXN0ZW1JZFwiIFt0YXJnZXRdPVwidGFyZ2V0UGFyYWdyYXBoc1wiXHJcbiAgICAgICAgW3NvdXJjZV09XCJzb3VyY2VQYXJhZ3JhcGhzXCI+XHJcbiAgICAgIDwvdGxkLXRyYW5zbGF0ZS1zdWdnZXN0PlxyXG4gICAgICA8cHJvZ3Jlc3MtaW5kaWNhdG9yIChvbkNsb3NlKT1cImNsb3NlUHJvZ3Jlc3NJbmRpY2F0b3IoKVwiICpuZ0lmPVwic2hvd1Byb2dyZXNzSW5kaWNhdG9yXCI+PC9wcm9ncmVzcy1pbmRpY2F0b3I+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC90bGQtc291cmNlLWFuZC10YXJnZXQtd3JhcHBlcj5cclxuXHJcblxyXG48IS0tIHRlbXBsYXRlcyB1c2VkIGZvciBlbHNlIGJsb2NrcyBpbiB0YXJnZXQgY29udGFpbmVyIC0tPlxyXG48bmctdGVtcGxhdGUgI3RyYW5zbGF0ZWRUZXh0QmxvY2s+XHJcbiAgPGRpdiBjbGFzcz1cInRyYW5zbGF0ZWQtc291cmNlXCIgW2NsYXNzLnNlbGVjdGFibGUtc2VudGVuY2VdPVwic2hvd1N1Z2dlc3Rpb25zXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXVybFRvVHJhbnNsYXRlXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0YXJnZXQtd3JhcHBlci1hY3Rpb24tYnV0dG9uc1wiPlxyXG4gICAgICAgIDxidXR0b24gKm5nSWY9XCJmaXJzdFBhcmFncmFwaFRyYW5zbGF0ZWRcIiBtYXQtaWNvbi1idXR0b24gY2xhc3M9XCJ0bGQtY29weS10cmFuc2xhdGlvblwiIChjbGljayk9XCJjb3B5KClcIlxyXG4gICAgICAgICAgbWF0VG9vbHRpcD1cInt7J1RPT0xUSVBTLkNPUFknIHwgdHJhbnNsYXRlfX1cIiBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImNvcHlNZXNzYWdlSWRcIlxyXG4gICAgICAgICAgKGtleWRvd24uVGFiKT1cInN3aXRjaEZvY3VzRnJvbUNvcHkoJGV2ZW50KVwiIFthdHRyLklkXT1cImNvcHlCdXR0b25JZFwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiIGFyaWEtaGlkZGVuPVwiZmFsc2VcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidBUklBX0xBQkVMUy5DT1BZJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICBjb250ZW50X2NvcHlcclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8dGxkLXRleHQtdG8tc3BlZWNoICpuZ0lmPVwidGV4dFRvU3BlZWNoVGFyZ2V0U2V0dGluZ3NcIiBbc2V0dGluZ3NdPVwidGV4dFRvU3BlZWNoVGFyZ2V0U2V0dGluZ3NcIj5cclxuICAgICAgICA8L3RsZC10ZXh0LXRvLXNwZWVjaD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHBhcmFncmFwaCBvZiB0YXJnZXRQYXJhZ3JhcGhzXCI+XHJcbiAgICAgICAgPHRsZC1oaWdobGlnaHQtdHJlZSBbaGlnaGxpZ2h0XT1cImhpZ2hsaWdodFwiIFt0cmVlXT1cInBhcmFncmFwaFwiIFtzZWxlY3RTZW50ZW5jZV09XCJzaG93U3VnZ2VzdGlvbnNcIj5cclxuICAgICAgICA8L3RsZC1oaWdobGlnaHQtdHJlZT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxkaXYgKm5nSWY9XCJ1cmxUb1RyYW5zbGF0ZVwiIGNsYXNzPVwidGFyZ2V0LXVybC1jb250YWluZXJcIj5cclxuICAgICAgPGEgW2F0dHIuaHJlZl09XCJ0cmFuc2xhdGVVcmxSZWRpcmVjdFwiIHRhcmdldD1cIl9ibGFua1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBjbGFzcz1cImdvLXRvLXdlYnRyYW5zbGF0ZVwiPlxyXG4gICAgICAgIHt7dXJsVG9UcmFuc2xhdGV9fVxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiBjb2xvcj1cImFjY2VudFwiIGFyaWEtaGlkZGVuPVwiZmFsc2VcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidBUklBX0xBQkVMUy5PUEVOX0lOX05FVydcIj5cclxuICAgICAgICAgIG9wZW5faW5fbmV3XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L2E+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGljdGlvbmFyeVRhcmdldEJsb2NrPlxyXG4gIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PVwiY29sdW1uXCIgY2xhc3M9XCJkaWN0aW9uYXJ5LXdyYXBwZXJcIj5cclxuICAgIDx0bGQtZGljdGlvbmFyeSBmeEZsZXggKm5nRm9yPVwibGV0IGRpY3Rpb25hcnkgb2YgZGljdGlvbmFyeUVudHJ5XCIgW2RpY3Rpb25hcnldPVwiZGljdGlvbmFyeVwiPlxyXG4gICAgPC90bGQtZGljdGlvbmFyeT5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19