tango-app-ui-manage-settings 3.7.7 → 3.7.9

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.
@@ -115,6 +115,7 @@ export class ConfigurationsComponent {
115
115
  isNormalized: data?.featureConfigs?.isNormalized,
116
116
  isPasserByData: data?.featureConfigs?.isPasserByData,
117
117
  isFootfallDirectory: data?.featureConfigs?.isFootfallDirectory,
118
+ isFootfallDirectoryonlyTango: data?.featureConfigs?.isFootfallDirectoryonlyTango,
118
119
  isVMS: data?.featureConfigs?.isVMS,
119
120
  isFootfallDirectoryAudit: data?.featureConfigs?.isFootfallDirectoryAudit,
120
121
  isFootfallDirectoryLimit: data?.featureConfigs?.isFootfallDirectoryLimit,
@@ -280,4 +281,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
280
281
  type: ViewChild,
281
282
  args: ['accordion', { static: true }]
282
283
  }] } });
283
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tbWFuYWdlLXNldHRpbmdzL3NyYy9saWIvY29tcG9uZW50cy9jb25maWd1cmF0aW9ucy9jb25maWd1cmF0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL2NvbmZpZ3VyYXRpb25zL2NvbmZpZ3VyYXRpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc1RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUTFDLE1BQU0sT0FBTyx1QkFBdUI7SUFlZDtJQUFxQztJQUE4QjtJQWR2RixVQUFVLENBQU07SUFDQyxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUMxQyxzQkFBc0IsQ0FBTTtJQUM1Qix1QkFBdUIsQ0FBTTtJQUM3Qix3QkFBd0IsQ0FBTTtJQUM5QixzQkFBc0IsQ0FBTTtJQUM1QixvQkFBb0IsQ0FBTTtJQUMxQixRQUFRLENBQU87SUFDZixjQUFjLEdBQVcsS0FBSyxDQUFBO0lBQ1ksU0FBUyxDQUFNO0lBQ3pELGdCQUFnQixHQUFZLEtBQUssQ0FBQztJQUlsQyxZQUFvQixTQUEyQixFQUFVLE9BQXFCLEVBQVMsRUFBcUI7UUFBeEYsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFjO1FBQVMsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDMUcsTUFBTSxJQUFJLEdBQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUNsRCxJQUFJ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LElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7d0JBQ3pELGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztxQkFDckM7aUJBQ0o7cUJBQU0sSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNoQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ3JDO2FBQ0o7U0FDSjtRQUNELE9BQU8sZ0JBQWdCLENBQUM7SUFDNUIsQ0FBQzt3R0E1UVksdUJBQXVCOzRGQUF2Qix1QkFBdUIsZ0xDWHBDLDhpWkEwUFU7OzRGRC9PRyx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0Usb0JBQW9CO2lKQWNZLFNBQVM7c0JBQWxELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25EZXN0cm95LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2xpZW50QXBpU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NsaWVudC1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1zaGFyZWQnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1jb25maWd1cmF0aW9ucycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpZ3VyYXRpb25zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vY29uZmlndXJhdGlvbnMuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgY2xpZW50RGF0YTogYW55O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHRpY2tldENvbmZpZ1ByZXZWYWx1ZXM6IGFueTtcclxuICBmZWF0dXJlQ29uZmlnUHJldlZhbHVlczogYW55O1xyXG4gIGZvb3RmYWxsQ29uZmlnUHJldlZhbHVlczogYW55O1xyXG4gIGRvbWFpbkNvbmZpZ1ByZXZWYWx1ZXM6IGFueTtcclxuICB1c2VyQ29uZmlnUHJldlZhbHVlczogYW55O1xyXG4gIHVzZXJSb2xlOnN0cmluZ1xyXG4gIHpvbmVTdWJzY3JpYmVkOmJvb2xlYW4gPSBmYWxzZVxyXG4gIEBWaWV3Q2hpbGQoJ2FjY29yZGlvbicsIHsgc3RhdGljOiB0cnVlIH0pIGFjY29yZGlvbjogYW55O1xyXG4gIGlzVk1TRW5hYmxlZFVzZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNsaWVudEFwaTogQ2xpZW50QXBpU2VydmljZSwgcHJpdmF0ZSB0b2FzdGVyOiBUb2FzdFNlcnZpY2UsIHB1YmxpYyBnczpHbG9iYWxTdGF0ZVNlcnZpY2UpIHtcclxuICAgIGNvbnN0IHVzZXI6YW55ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXItaW5mbycpXHJcbiAgICB0aGlzLnVzZXJSb2xlICA9IEpTT04ucGFyc2UodXNlcik/LnJvbGVcclxuICAgIFxyXG4gICAgdGhpcy5jbGllbnRBcGkuY2xpZW50Rm9ybURhdGEucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICBpZiAoZS50eXBlID09PSAnc3VibWl0Jykge1xyXG4gICAgICAgIHRoaXMuc3VibWl0Rm9ybShlKVxyXG4gICAgICB9IGVsc2UgaWYgKGUudHlwZSA9PT0gJ2NhbmNlbCcpIHtcclxuICAgICAgICB0aGlzLnJlc2V0Rm9ybShlKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG5cclxuICAgIHRoaXMuY2xpZW50QXBpLmNsaWVudERhdGEucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICBpZiAoZSkge1xyXG4gICAgICAgIHRoaXMuY2xpZW50RGF0YSA9IGVcclxuICAgICAgICBjb25zb2xlLmxvZyhcIvCfmoAgfiBDb25maWd1cmF0aW9uc0NvbXBvbmVudCB+IGNvbnN0cnVjdG9yIH4gdGhpcy5jbGllbnREYXRhOlwiLCB0aGlzLmNsaWVudERhdGEucGxhbkRldGFpbHMucHJvZHVjdC5maWx0ZXIoKGVsZTphbnkpPT5lbGUucHJvZHVjdE5hbWU9PT0ndGFuZ29ab25lJykpXHJcbiAgICAgICAgaWYodGhpcy5jbGllbnREYXRhLnBsYW5EZXRhaWxzLnByb2R1Y3QuZmlsdGVyKChlbGU6YW55KT0+ZWxlLnByb2R1Y3ROYW1lPT09J3RhbmdvWm9uZScpLmxlbmd0aD4wKXtcclxuICAgICAgICAgIHRoaXMuem9uZVN1YnNjcmliZWQgPSAgdHJ1ZVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnBvcHVsYXRlVGlja2V0Q29uZmlndXJhdGlvbihlKVxyXG4gICAgICAgIHRoaXMucG9wdWxhdGVGZWF0dXJlQ29uZmlndXJhdGlvbihlKVxyXG4gICAgICAgIHRoaXMucG9wdWxhdGVGb290ZmFsbENvbmZpZ3VyYXRpb24oZSlcclxuICAgICAgICB0aGlzLnBvcHVsYXRlRG9tYWluRGV0YWlsQ29uZmlndXJhdGlvbihlKVxyXG4gICAgICAgIHRoaXMucG9wdWxhdGVVc2VyQ29uZmlndXJhdGlvbihlKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBvcGVuSXRlbSgpIHtcclxuICAgIHRoaXMucG9wdWxhdGVUaWNrZXRDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YSlcclxuICAgIHRoaXMucG9wdWxhdGVGZWF0dXJlQ29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEpXHJcbiAgICB0aGlzLnBvcHVsYXRlRm9vdGZhbGxDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YSlcclxuICAgIHRoaXMucG9wdWxhdGVEb21haW5EZXRhaWxDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YSlcclxuICAgIHRoaXMucG9wdWxhdGVVc2VyQ29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEpXHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZVRpY2tldENvbmZpZ3VyYXRpb24oZGF0YTogYW55KSB7XHJcbiAgICBsZXQgb2JqID0ge1xyXG4gICAgICBpbnN0YWxsYXRpb25SZUFzc2lnbjogZGF0YT8udGlja2V0Q29uZmlncz8uaW5zdGFsbGF0aW9uUmVBc3NpZ24sXHJcbiAgICAgIHNlbmRUb0FkbWluOiBkYXRhPy50aWNrZXRDb25maWdzPy5hbGVydFNlbnRUbz8uYWRtaW4sXHJcbiAgICAgIHNlbmRUb1VzZXI6IGRhdGE/LnRpY2tldENvbmZpZ3M/LmFsZXJ0U2VudFRvPy51c2VyLFxyXG4gICAgICBkb3duVGltZVR5cGU6IGRhdGE/LnRpY2tldENvbmZpZ3M/LmRvd25UaW1lVHlwZSxcclxuICAgICAgaW5mcmFEb3duVGltZTogZGF0YT8udGlja2V0Q29uZmlncz8uaW5mcmFEb3duVGltZSxcclxuICAgICAgTWluRmlsZXNDb3VudDogZGF0YT8udGlja2V0Q29uZmlncz8uTWluRmlsZXNDb3VudCxcclxuICAgICAgaXNSY2FUaWNrZXRBc3NpZ246IGRhdGE/LnRpY2tldENvbmZpZ3M/LmlzUmNhVGlja2V0QXNzaWduLFxyXG4gICAgICByY2FUaWNrZXRBc3NpZ246IGRhdGE/LnRpY2tldENvbmZpZ3M/LnJjYVRpY2tldEFzc2lnbixcclxuICAgICAgaXNSZWZyZXNoQWxlcnQ6IGRhdGE/LnRpY2tldENvbmZpZ3M/LmlzUmVmcmVzaEFsZXJ0LFxyXG4gICAgICByZWZyZXNoQWxlcnQ6IGRhdGE/LnRpY2tldENvbmZpZ3M/LnJlZnJlc2hBbGVydCxcclxuICAgICAgaXNTdGF0dXNDaGVja0FsZXJ0OiBkYXRhPy50aWNrZXRDb25maWdzPy5pc1N0YXR1c0NoZWNrQWxlcnQsXHJcbiAgICAgIHN0YXR1c0NoZWNrQWxlcnQ6IGRhdGE/LnRpY2tldENvbmZpZ3M/LnN0YXR1c0NoZWNrQWxlcnQsXHJcbiAgICAgIHJlVHJhaW46IGRhdGE/LnRpY2tldENvbmZpZ3M/LnJlVHJhaW4sXHJcbiAgICAgIGFjY3VyYWN5UGVyY2VudGFnZTogZGF0YT8udGlja2V0Q29uZmlncz8uYWNjdXJhY3lQZXJjZW50YWdlLFxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudGlja2V0Q29uZmlnUHJldlZhbHVlcyA9IG9ialxyXG5cclxuICAgIHRoaXMuY2xpZW50QXBpLmNsaWVudEZvcm1EYXRhLm5leHQoeyB2YWx1ZTogeyAuLi5vYmogfSwgdHlwZTogJ2lucHV0JywgZm9ybTogJ3RpY2tldC1jb25maWd1cmF0aW9uJyB9KVxyXG4gIH1cclxuXHJcbiAgcG9wdWxhdGVGZWF0dXJlQ29uZmlndXJhdGlvbihkYXRhOiBhbnkpIHtcclxuICAgIGlmIChkYXRhPy5mZWF0dXJlQ29uZmlncz8uaXNWTVMpIHRoaXMuaXNWTVNFbmFibGVkVXNlciA9IHRydWU7XHJcbiAgICBlbHNlIHRoaXMuaXNWTVNFbmFibGVkVXNlciA9IGZhbHNlO1xyXG4gICAgbGV0IG9iaiA9IHtcclxuICAgICAgb3BlbjogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/Lm9wZW4sXHJcbiAgICAgIGNsb3NlOiBkYXRhPy5mZWF0dXJlQ29uZmlncz8uY2xvc2UsXHJcbiAgICAgIGluZnJhQWxlcnRDb25kaXRpb246IGRhdGE/LmZlYXR1cmVDb25maWdzPy5pbmZyYUFsZXJ0Py5jb25kaXRpb24sXHJcbiAgICAgIGluZnJhQWxlcnRWYWx1ZTogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmluZnJhQWxlcnQ/LnZhbHVlLFxyXG4gICAgICBib3VuY2VkTGltaXRDb25kaXRpb246IGRhdGE/LmZlYXR1cmVDb25maWdzPy5ib3VuY2VkTGltaXQ/LmNvbmRpdGlvbixcclxuICAgICAgYm91bmNlZExpbWl0VmFsdWU6IGRhdGE/LmZlYXR1cmVDb25maWdzPy5ib3VuY2VkTGltaXQ/LnZhbHVlLFxyXG4gICAgICBjb252ZXJzaW9uQ29uZGl0aW9uOiBkYXRhPy5mZWF0dXJlQ29uZmlncz8uY29udmVyc2lvbj8uY29uZGl0aW9uLFxyXG4gICAgICBjb252ZXJzaW9uVmFsdWU6IGRhdGE/LmZlYXR1cmVDb25maWdzPy5jb252ZXJzaW9uPy52YWx1ZSxcclxuICAgICAgYmlsbGFibGVDYWxjdWxhdGlvbjogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmJpbGxhYmxlQ2FsY3VsYXRpb24sXHJcbiAgICAgIG1pc3NlZE9wcG9ydHVuaXR5Q2FsY3VsYXRpb246IGRhdGE/LmZlYXR1cmVDb25maWdzPy5taXNzZWRPcHBvcnR1bml0eUNhbGN1bGF0aW9uLFxyXG4gICAgICBjb252ZXJzaW9uQ2FsY3VsYXRpb246IGRhdGE/LmZlYXR1cmVDb25maWdzPy5jb252ZXJzaW9uQ2FsY3VsYXRpb24sXHJcbiAgICAgIGlzTm9ybWFsaXplZDogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzTm9ybWFsaXplZCxcclxuICAgICAgaXNQYXNzZXJCeURhdGE6IGRhdGE/LmZlYXR1cmVDb25maWdzPy5pc1Bhc3NlckJ5RGF0YSxcclxuICAgICAgaXNGb290ZmFsbERpcmVjdG9yeTogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzRm9vdGZhbGxEaXJlY3RvcnksXHJcbiAgICAgIGlzVk1TOiBkYXRhPy5mZWF0dXJlQ29uZmlncz8uaXNWTVMsXHJcbiAgICAgIGlzRm9vdGZhbGxEaXJlY3RvcnlBdWRpdCA6IGRhdGE/LmZlYXR1cmVDb25maWdzPy5pc0Zvb3RmYWxsRGlyZWN0b3J5QXVkaXQsXHJcbiAgICAgIGlzRm9vdGZhbGxEaXJlY3RvcnlMaW1pdCA6IGRhdGE/LmZlYXR1cmVDb25maWdzPy5pc0Zvb3RmYWxsRGlyZWN0b3J5TGltaXQsXHJcbiAgICAgIGlzRXhjbHVkZWRBcmVhOmRhdGE/LmZlYXR1cmVDb25maWdzPy5pc0V4Y2x1ZGVkQXJlYSxcclxuICAgICAgaXNDYW1lcmFEaXNhYmxlZDogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzQ2FtZXJhRGlzYWJsZWQsXHJcbiAgICAgIGlzYmlsbGluZ0Rpc2FibGVkOmRhdGE/LmZlYXR1cmVDb25maWdzPy5pc2JpbGxpbmdEaXNhYmxlZCxcclxuICAgICAgaXNOZXdEYXNoYm9hcmQ6ZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzTmV3RGFzaGJvYXJkLFxyXG4gICAgICB1cGRhdGVGZWF0dXJlQ29uZmlnOmRhdGE/LmZlYXR1cmVDb25maWdzPy51cGRhdGVGZWF0dXJlQ29uZmlnLFxyXG4gICAgICBpc0Zvb3RmYWxsQXVkaXRTdG9yZXM6ZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzRm9vdGZhbGxBdWRpdFN0b3JlcyxcclxuICAgICAgaXNOZXdUcmFmZmljOmRhdGE/LmZlYXR1cmVDb25maWdzPy5pc05ld1RyYWZmaWMsXHJcbiAgICAgIGlzTmV3Wm9uZTpkYXRhPy5mZWF0dXJlQ29uZmlncz8uaXNOZXdab25lLFxyXG4gICAgICBpc05ld1JlcG9ydHM6ZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzTmV3UmVwb3J0cyxcclxuICAgICAgaXNOZXdab25lVjI6IGRhdGE/LmZlYXR1cmVDb25maWdzPy5pc05ld1pvbmVWMixcclxuICAgICAgaXNSZXZvcHM6IGRhdGE/LmZlYXR1cmVDb25maWdzPy5pc1Jldm9wcyxcclxuICAgICAgaXNOT0I6IGRhdGE/LmZlYXR1cmVDb25maWdzPy5pc05PQixcclxuICAgICAgaXNab25ld2lzZU5PQiA6IGRhdGE/LmZlYXR1cmVDb25maWdzPy5pc1pvbmV3aXNlTk9CLFxyXG4gICAgICBpc1RyYXg6ZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzVHJheCxcclxuICAgICAgaXNDb250cm9sQ2VudGVyOmRhdGE/LmZlYXR1cmVDb25maWdzPy5pc0NvbnRyb2xDZW50ZXIsXHJcbiAgICAgIHN0cmVhbUJ5OmRhdGE/LmZlYXR1cmVDb25maWdzPy5zdHJlYW1CeSxcclxuICAgICAgaXNDYW1lcmFFZGl0OmRhdGE/LmZlYXR1cmVDb25maWdzPy5pc0NhbWVyYUVkaXQsXHJcbiAgICAgIGlzQUlNYW5hZ2VyOmRhdGE/LmZlYXR1cmVDb25maWdzPy5pc0FJTWFuYWdlcixcclxuICAgICAgaXNBSU1hbmFnZXJBY2Nlc3NDb250cm9sOmRhdGE/LmZlYXR1cmVDb25maWdzPy5pc0FJTWFuYWdlckFjY2Vzc0NvbnRyb2wsXHJcbiAgICAgIGxvZ2luU1NPOmRhdGE/LmZlYXR1cmVDb25maWdzPy5sb2dpblNTT1xyXG4gICAgfSBcclxuICAgIHRoaXMuZmVhdHVyZUNvbmZpZ1ByZXZWYWx1ZXMgPSBvYmpcclxuICAgIHRoaXMuY2xpZW50QXBpLmNsaWVudEZvcm1EYXRhLm5leHQoeyB2YWx1ZTogeyAuLi5vYmogfSwgdHlwZTogJ2lucHV0JywgZm9ybTogJ2ZlYXR1cmUtY29uZmlndXJhdGlvbicgfSlcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwiY2xpZW50LWRldGFpbHNcIiwgSlNPTi5zdHJpbmdpZnkob2JqKSk7XHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZUZvb3RmYWxsQ29uZmlndXJhdGlvbihkYXRhOiBhbnkpIHtcclxuICAgIGlmICghZGF0YT8uZm9vdGZhbGxEaXJlY3RvcnlDb25maWdzKSByZXR1cm47XHJcbiAgICBsZXQgb2JqID0ge1xyXG4gICAgICBhbGxvd1RpY2tldENyZWF0aW9uOiBkYXRhPy5mb290ZmFsbERpcmVjdG9yeUNvbmZpZ3M/LmFsbG93VGlja2V0Q3JlYXRpb24gPz8gMyxcclxuICAgICAgaXNBdXRvQ2xvc2VFbmFibGU6IGRhdGE/LmZvb3RmYWxsRGlyZWN0b3J5Q29uZmlncz8uaXNBdXRvQ2xvc2VFbmFibGUsXHJcbiAgICAgIGF1dG9DbG9zZUFjY3VyYWN5OiBkYXRhPy5mb290ZmFsbERpcmVjdG9yeUNvbmZpZ3M/LmF1dG9DbG9zZUFjY3VyYWN5ID8/ICc5NSUnLFxyXG4gICAgICB0YW5nb1JldmlldzogZGF0YT8uZm9vdGZhbGxEaXJlY3RvcnlDb25maWdzPy50YW5nb1JldmlldyA/PyAnODUlJyxcclxuICAgICAgYWNjdXJhY3lCcmVhY2g6ICBkYXRhLmZvb3RmYWxsRGlyZWN0b3J5Q29uZmlncz8uYWNjdXJhY3lCcmVhY2ggfHwge30sXHJcbiAgICAgIHJldmlzaW9uOiBkYXRhPy5mb290ZmFsbERpcmVjdG9yeUNvbmZpZ3M/LnJldmlzaW9uID8/IFtdLFxyXG4gICAgICB0YWdnaW5nTGltaXRhdGlvbjogZGF0YT8uZm9vdGZhbGxEaXJlY3RvcnlDb25maWdzPy50YWdnaW5nTGltaXRhdGlvbiA/PyBbXSxcclxuICAgICAgc3RvcmVMaXN0OiBkYXRhPy5mb290ZmFsbERpcmVjdG9yeUNvbmZpZ3M/LnN0b3JlTGlzdCA/PyBkYXRhPy5mb290ZmFsbERpcmVjdG9yeUNvbmZpZ3M/LmFjY3VyYWN5QnJlYWNoPy5zdG9yZUxpc3QgPz8gW11cclxuXHJcbiAgICB9XHJcbiAgICB0aGlzLmZvb3RmYWxsQ29uZmlnUHJldlZhbHVlcyA9IG9iajtcclxuICAgIHRoaXMuY2xpZW50QXBpLmNsaWVudEZvcm1EYXRhLm5leHQoeyB2YWx1ZTogeyAuLi5vYmogfSwgdHlwZTogJ2lucHV0JywgZm9ybTogJ2Zvb3RmYWxsRGlyZWN0b3J5Q29uZmlncycgfSlcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwiZm9vdGZhbGwtY29uZmlnXCIsIEpTT04uc3RyaW5naWZ5KG9iaikpO1xyXG4gIH1cclxuXHJcbiAgcG9wdWxhdGVEb21haW5EZXRhaWxDb25maWd1cmF0aW9uKGRhdGE6IGFueSkge1xyXG4gICAgbGV0IG9iaiA9IHtcclxuICAgICAgZG9tYWluTmFtZTogZGF0YT8uZG9tYWluQ29uZmlnPy5zc29Mb2dpbj8uZG9tYWluTmFtZSxcclxuICAgICAgaXNFbmFibGU6IGRhdGE/LmRvbWFpbkNvbmZpZz8uc3NvTG9naW4/LmlzRW5hYmxlLFxyXG4gICAgICBlbmFibGVXaGl0ZWxpc3Rpbmc6IGRhdGE/LmRvbWFpbkNvbmZpZz8uaXBXaGl0ZWxpc3Rpbmc/LmVuYWJsZVdoaXRlbGlzdGluZyxcclxuICAgICAgYWxsb3dlZElwczogZGF0YT8uZG9tYWluQ29uZmlnPy5pcFdoaXRlbGlzdGluZz8uYWxsb3dlZElwcyxcclxuICAgICAgZW5hYmxlT3RwOiBkYXRhPy5kb21haW5Db25maWc/LmVuYWJsZU90cCxcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmRvbWFpbkNvbmZpZ1ByZXZWYWx1ZXMgPSBvYmpcclxuXHJcbiAgICB0aGlzLmNsaWVudEFwaS5jbGllbnRGb3JtRGF0YS5uZXh0KHsgdmFsdWU6IHsgLi4ub2JqIH0sIHR5cGU6ICdpbnB1dCcsIGZvcm06ICdkb21haW4tZGV0YWlscycgfSlcclxuICAgIFxyXG4gIH1cclxuXHJcbiAgcG9wdWxhdGVVc2VyQ29uZmlndXJhdGlvbihkYXRhOiBhbnkpIHtcclxuICAgIGxldCBvYmogPSB7XHJcbiAgICAgIGNzbTogZGF0YT8uYXNzaWduZWRVc2Vycz8uY3NtLFxyXG4gICAgICBvcHM6IGRhdGE/LmFzc2lnbmVkVXNlcnM/Lm9wcyxcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnVzZXJDb25maWdQcmV2VmFsdWVzID0gb2JqXHJcblxyXG4gICAgdGhpcy5jbGllbnRBcGkuY2xpZW50Rm9ybURhdGEubmV4dCh7IHZhbHVlOiB7IC4uLm9iaiB9LCB0eXBlOiAnaW5wdXQnLCBmb3JtOiAndXNlci1jb25maWd1cmF0aW9uJyB9KVxyXG4gIH1cclxuXHJcblxyXG5cclxuICBzdWJtaXRGb3JtKGU6IGFueSkge1xyXG4gICAgaWYgKGUuZm9ybSA9PT0gJ3RpY2tldC1jb25maWd1cmF0aW9uJykge1xyXG4gICAgICBjb25zdCBkYXRhID0gIHRoaXMuZ2V0RGlmZmVyZW50RW50cmllcyh0aGlzLnRpY2tldENvbmZpZ1ByZXZWYWx1ZXMsIGUudmFsdWUpICAgICBcclxuICAgICAgdGhpcy5jbGllbnRBcGkudXBkYXRlVGlja2V0Q29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEuY2xpZW50SWQsIGRhdGEpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0ZXIuZ2V0U3VjY2Vzc1RvYXN0KGUuZGF0YT8ucmVzdWx0KVxyXG4gICAgICAgICAgdGhpcy5jbGllbnRBcGkuY2xpZW50Rm9ybURhdGEubmV4dCh7IHZhbHVlOiBudWxsLCB0eXBlOiAnc3VibWl0dGVkJywgZm9ybTogJ251bGwnIH0pXHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGUpID0+IHtcclxuICAgICAgICAgIHRoaXMudG9hc3Rlci5nZXRFcnJvclRvYXN0KGUuZXJyb3I/LmVycm9yKVxyXG4gICAgICAgICAgdGhpcy5wb3B1bGF0ZVRpY2tldENvbmZpZ3VyYXRpb24odGhpcy5jbGllbnREYXRhKVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuXHJcbiAgICB9IGVsc2VcclxuICAgICAgaWYgKGUuZm9ybSA9PT0gJ2ZlYXR1cmUtY29uZmlndXJhdGlvbicpIHtcclxuICAgICAgICBjb25zdCBkYXRhID0gIHRoaXMuZ2V0RGlmZmVyZW50RW50cmllcyh0aGlzLmZlYXR1cmVDb25maWdQcmV2VmFsdWVzLCBlLnZhbHVlKVxyXG4gICAgICAgIGNvbnNvbGUubG9nKGRhdGEpXHJcbiAgICAgICAgdGhpcy5jbGllbnRBcGkudXBkYXRlRmVhdHVyZUNvbmZpZ3VyYXRpb24odGhpcy5jbGllbnREYXRhLmNsaWVudElkLCBkYXRhKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6IChlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3Rlci5nZXRTdWNjZXNzVG9hc3QoZS5kYXRhPy5yZXN1bHQpXHJcbiAgICAgICAgICAgIHRoaXMuY2xpZW50QXBpLmNsaWVudEZvcm1EYXRhLm5leHQoeyB2YWx1ZTogbnVsbCwgdHlwZTogJ3N1Ym1pdHRlZCcsIGZvcm06ICdudWxsJyB9KVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGVycm9yOiAoZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0ZXIuZ2V0RXJyb3JUb2FzdChlLmVycm9yPy5lcnJvcilcclxuICAgICAgICAgICAgdGhpcy5wb3B1bGF0ZUZlYXR1cmVDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG5cclxuICAgICAgfSBlbHNlXHJcbiAgICAgICAgaWYgKGUuZm9ybSA9PT0gJ2RvbWFpbi1kZXRhaWxzJykge1xyXG4gICAgICAgICAgY29uc3QgZGF0YSA9ICB0aGlzLmdldERpZmZlcmVudEVudHJpZXModGhpcy5kb21haW5Db25maWdQcmV2VmFsdWVzLCBlLnZhbHVlKSAgICAgXHJcbiAgICAgICAgICB0aGlzLmNsaWVudEFwaS51cGRhdGVEb21haW5EZXRhaWxDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YS5jbGllbnRJZCwgZGF0YSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICAgIG5leHQ6IChlKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy50b2FzdGVyLmdldFN1Y2Nlc3NUb2FzdChlLmRhdGE/LnJlc3VsdClcclxuICAgICAgICAgICAgICB0aGlzLmNsaWVudEFwaS5jbGllbnRGb3JtRGF0YS5uZXh0KHsgdmFsdWU6IG51bGwsIHR5cGU6ICdzdWJtaXR0ZWQnLCBmb3JtOiAnbnVsbCcgfSlcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZXJyb3I6IChlKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy50b2FzdGVyLmdldEVycm9yVG9hc3QoZS5lcnJvcj8uZXJyb3IpXHJcbiAgICAgICAgICAgICAgdGhpcy5wb3B1bGF0ZURvbWFpbkRldGFpbENvbmZpZ3VyYXRpb24odGhpcy5jbGllbnREYXRhKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG5cclxuICAgICAgICB9IGVsc2UgaWYgKGUuZm9ybSA9PT0gJ2Zvb3RmYWxsRGlyZWN0b3J5Q29uZmlncycpIHtcclxuICAgICAgICAgIC8vIGNvbnN0IGRhdGEgPSB0aGlzLmdldERpZmZlcmVudEVudHJpZXModGhpcy5mb290ZmFsbENvbmZpZ1ByZXZWYWx1ZXMsIGUudmFsdWUpO1xyXG4gICAgICAgICAgY29uc3QgZGF0YSA9IGUudmFsdWU7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZygndXBkYXRlIGZvb3RmYWxsIGNvbmZpZyBqc29uID09PicsIGRhdGEpXHJcbiAgICAgICAgICB0aGlzLmNsaWVudEFwaS51cGRhdGVGb290ZmFsbERpcmVjdG9yeUNvbmZpZyh0aGlzLmNsaWVudERhdGEuY2xpZW50SWQsIGRhdGEpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgICBuZXh0OiAoZSkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMudG9hc3Rlci5nZXRTdWNjZXNzVG9hc3QoJ0Zvb3RmYWxsIGNvbmZpZ3VyYXRpb24gZGV0YWlscyB1cGRhdGVkIHN1Y2Nlc3NmdWxseS4nKVxyXG4gICAgICAgICAgICAgIHRoaXMuY2xpZW50QXBpLmNsaWVudEZvcm1EYXRhLm5leHQoeyB2YWx1ZTogbnVsbCwgdHlwZTogJ3N1Ym1pdHRlZCcsIGZvcm06ICdudWxsJyB9KVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBlcnJvcjogKGUpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnRvYXN0ZXIuZ2V0RXJyb3JUb2FzdChlLmVycm9yPy5lcnJvcilcclxuICAgICAgICAgICAgICB0aGlzLnBvcHVsYXRlRm9vdGZhbGxDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgcmVzZXRGb3JtKGU6IGFueSkge1xyXG4gICAgaWYgKGUuZm9ybSA9PT0gJ3RpY2tldC1jb25maWd1cmF0aW9uJykge1xyXG4gICAgICB0aGlzLnBvcHVsYXRlVGlja2V0Q29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEpXHJcbiAgICB9IGVsc2VcclxuICAgICAgaWYgKGUuZm9ybSA9PT0gJ2ZlYXR1cmUtY29uZmlndXJhdGlvbicpIHtcclxuICAgICAgICB0aGlzLnBvcHVsYXRlRmVhdHVyZUNvbmZpZ3VyYXRpb24odGhpcy5jbGllbnREYXRhKVxyXG4gICAgICB9IGVsc2VcclxuICAgICAgICBpZiAoZS5mb3JtID09PSAnZG9tYWluLWRldGFpbHMnKSB7XHJcbiAgICAgICAgICB0aGlzLnBvcHVsYXRlRG9tYWluRGV0YWlsQ29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEpXHJcbiAgICAgICAgfSBlbHNlXHJcbiAgICAgICAgICBpZiAoZS5mb3JtID09PSAndXNlci1jb25maWd1cmF0aW9uJykge1xyXG4gICAgICAgICAgICB0aGlzLnBvcHVsYXRlVXNlckNvbmZpZ3VyYXRpb24odGhpcy5jbGllbnREYXRhKVxyXG4gICAgICAgICAgfSBlbHNlXHJcbiAgICAgICAgICBpZiAoZS5mb3JtID09PSAnZm9vdGZhbGxEaXJlY3RvcnlDb25maWdzJykge1xyXG4gICAgICAgICAgICB0aGlzLnBvcHVsYXRlRm9vdGZhbGxDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YSlcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB0aGlzLmFjY29yZGlvbi5jb2xsYXBzZUFsbCgpXHJcblxyXG4gIH1cclxuXHJcbiBnZXREaWZmZXJlbnRFbnRyaWVzKG9iajE6IFJlY29yZDxzdHJpbmcsIGFueT4sIG9iajI6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcclxuICAgIGNvbnN0IGRpZmZlcmVudEVudHJpZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcclxuICAgIGZvciAoY29uc3Qga2V5IGluIG9iajIpIHtcclxuICAgICAgICBpZiAob2JqMS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG9iajFba2V5XSkgJiYgQXJyYXkuaXNBcnJheShvYmoyW2tleV0pKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoSlNPTi5zdHJpbmdpZnkob2JqMVtrZXldKSAhPT0gSlNPTi5zdHJpbmdpZnkob2JqMltrZXldKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpZmZlcmVudEVudHJpZXNba2V5XSA9IG9iajJba2V5XTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIGlmIChvYmoxW2tleV0gIT09IG9iajJba2V5XSkge1xyXG4gICAgICAgICAgICAgICAgZGlmZmVyZW50RW50cmllc1trZXldID0gb2JqMltrZXldO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGRpZmZlcmVudEVudHJpZXM7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uICNhY2NvcmRpb249XCJuZ2JBY2NvcmRpb25cIiBbY2xvc2VPdGhlcnNdPVwidHJ1ZVwiIFtkZXN0cm95T25IaWRlXT1cInRydWVcIiAgKHNob3cpPVwib3Blbkl0ZW0oKVwiID5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy51c2VyVHlwZSA9PT0gJ3RhbmdvJyBcIiBjbGFzcz1cInNldHRpbmdzLWFjY29yZGlhbi1jYXJkIG1iLTYgXCIgIG5nYkFjY29yZGlvbkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgbmdiQWNjb3JkaW9uSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtYWluaGVhZGluZ1wiIG5nYkFjY29yZGlvbkJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuID5BdWRpdCBDb25maWd1cmF0aW9uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Db2xsYXBzZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItYXVkaXQtY29uZmlndXJhdGlvbj48L2xpYi1hdWRpdC1jb25maWd1cmF0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAndGFuZ28nIFwiIGNsYXNzPVwic2V0dGluZ3MtYWNjb3JkaWFuLWNhcmQgbWItNlwiIG5nYkFjY29yZGlvbkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgbmdiQWNjb3JkaW9uSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtYWluaGVhZGluZ1wiIG5nYkFjY29yZGlvbkJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuID5FbXBsb3llZSBUcmFpbmluZzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Db2xsYXBzZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItZW1wbG95ZWUtdHJhaW5pbmc+PC9saWItZW1wbG95ZWUtdHJhaW5pbmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8udXNlclR5cGUgPT09ICd0YW5nbycgXCIgY2xhc3M9XCJzZXR0aW5ncy1hY2NvcmRpYW4tY2FyZCBtYi02XCIgbmdiQWNjb3JkaW9uSXRlbT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIiBuZ2JBY2NvcmRpb25IZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1haW5oZWFkaW5nXCIgbmdiQWNjb3JkaW9uQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gPlRpY2tldCBDb25maWd1cmF0aW9uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Db2xsYXBzZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItdGlja2V0LWNvbmZpZ3VyYXRpb24+PC9saWItdGlja2V0LWNvbmZpZ3VyYXRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc1ZNU0VuYWJsZWRVc2VyXCIgY2xhc3M9XCJzZXR0aW5ncy1hY2NvcmRpYW4tY2FyZCBtYi02XCIgbmdiQWNjb3JkaW9uSXRlbT5cclxuICAgICAgICAgICAgICAgIDwhLS0gPGRpdiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy51c2VyVHlwZSA9PT0gJ3RhbmdvJ1wiIGNsYXNzPVwic2V0dGluZ3MtYWNjb3JkaWFuLWNhcmQgbWItNlwiIG5nYkFjY29yZGlvbkl0ZW0+IC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiIG5nYkFjY29yZGlvbkhlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWFpbmhlYWRpbmdcIiBuZ2JBY2NvcmRpb25CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiA+Rm9vdGZhbGwgRGlyZWN0b3J5IENvbmZpZ3VyYXRpb248L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkNvbGxhcHNlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQm9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1mb290ZmFsbC1jb25maWd1cmF0aW9uPjwvbGliLWZvb3RmYWxsLWNvbmZpZ3VyYXRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8udXNlclR5cGUgPT09ICd0YW5nbycgXCIgY2xhc3M9XCJzZXR0aW5ncy1hY2NvcmRpYW4tY2FyZCBtYi02XCIgbmdiQWNjb3JkaW9uSXRlbT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIiBuZ2JBY2NvcmRpb25IZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1haW5oZWFkaW5nXCIgbmdiQWNjb3JkaW9uQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gPkVtYWlsIENvbmZpZ3VyYXRpb248L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkNvbGxhcHNlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQm9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8bGliLWVtYWlsLWNvbmZpZ3VyYXRpb24+PC9saWItZW1haWwtY29uZmlndXJhdGlvbj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1lbWFpbC1zY2hlZHVsZXI+PC9saWItZW1haWwtc2NoZWR1bGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAndGFuZ28nIFwiIGNsYXNzPVwic2V0dGluZ3MtYWNjb3JkaWFuLWNhcmQgbWItNlwiIG5nYkFjY29yZGlvbkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgbmdiQWNjb3JkaW9uSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtYWluaGVhZGluZ1wiIG5nYkFjY29yZGlvbkJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuID5SZXBvcnQgQ29uZmlndXJhdGlvbjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQ29sbGFwc2U+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Cb2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLXJlcG9ydC1jb25maWd1cmF0aW9uPjwvbGliLXJlcG9ydC1jb25maWd1cmF0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAndGFuZ28nIFwiIGNsYXNzPVwic2V0dGluZ3MtYWNjb3JkaWFuLWNhcmQgbWItNlwiIG5nYkFjY29yZGlvbkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgbmdiQWNjb3JkaW9uSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtYWluaGVhZGluZ1wiIG5nYkFjY29yZGlvbkJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuID5Vc2VyIENvbmZpZ3VyYXRpb248L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkNvbGxhcHNlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQm9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi11c2VyLWNvbmZpZ3VyYXRpb24+PC9saWItdXNlci1jb25maWd1cmF0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidXNlclJvbGUgIT09ICd1c2VyJ1wiIGNsYXNzPVwic2V0dGluZ3MtYWNjb3JkaWFuLWNhcmQgbWItNlwiICBuZ2JBY2NvcmRpb25JdGVtPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiIG5nYkFjY29yZGlvbkhlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWFpbmhlYWRpbmdcIiBuZ2JBY2NvcmRpb25CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiA+U2VjdXJpdHkgRmVhdHVyZXM8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkNvbGxhcHNlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQm9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGliLWRvbWFpbi1kZXRhaWxzPjwvbGliLWRvbWFpbi1kZXRhaWxzPiAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXR0aW5ncy1hY2NvcmRpYW4tY2FyZCBtYi02XCIgbmdiQWNjb3JkaW9uSXRlbT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIiBuZ2JBY2NvcmRpb25IZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1haW5oZWFkaW5nXCIgbmdiQWNjb3JkaW9uQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gPkZlYXR1cmUgQ29uZmlndXJhdGlvbjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQ29sbGFwc2U+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Cb2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLWZlYXR1cmUtY29uZmlndXJhdGlvbj48L2xpYi1mZWF0dXJlLWNvbmZpZ3VyYXRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8udXNlclR5cGUgPT09ICd0YW5nbydcIiBjbGFzcz1cInNldHRpbmdzLWFjY29yZGlhbi1jYXJkIG1iLTZcIiBuZ2JBY2NvcmRpb25JdGVtPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiIG5nYkFjY29yZGlvbkhlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWFpbmhlYWRpbmdcIiBuZ2JBY2NvcmRpb25CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiA+RGFzaGJvYXJkIENvbmZpZ3VyYXRpb248L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkNvbGxhcHNlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQm9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1kYXNoYm9hcmQtY29uZmlndXJhdGlvbj48L2xpYi1kYXNoYm9hcmQtY29uZmlndXJhdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlICE9PSAndGFuZ28nXCIgY2xhc3M9XCJzZXR0aW5ncy1hY2NvcmRpYW4tY2FyZCBtYi02XCIgbmdiQWNjb3JkaW9uSXRlbT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIiBuZ2JBY2NvcmRpb25IZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1haW5oZWFkaW5nXCIgbmdiQWNjb3JkaW9uQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gPkNvbnRyb2wgQ2VudGVyIENvbmZpZ3VyYXRpb248L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkNvbGxhcHNlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQm9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1jb250cm9sLWNlbnRlci1jb25maWd1cmF0aW9uPjwvbGliLWNvbnRyb2wtY2VudGVyLWNvbmZpZ3VyYXRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2V0dGluZ3MtYWNjb3JkaWFuLWNhcmQgbWItNlwiIG5nYkFjY29yZGlvbkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgbmdiQWNjb3JkaW9uSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtYWluaGVhZGluZ1wiIG5nYkFjY29yZGlvbkJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuID5TdG9yZSBUaW1lIENvbmZpZ3VyYXRpb248L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkNvbGxhcHNlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQm9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1zdG9yZS10aW1lLWNvbmZpZ3VyYXRpb24+PC9saWItc3RvcmUtdGltZS1jb25maWd1cmF0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2V0dGluZ3MtYWNjb3JkaWFuLWNhcmQgbWItNlwiIG5nYkFjY29yZGlvbkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgbmdiQWNjb3JkaW9uSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtYWluaGVhZGluZ1wiIG5nYkFjY29yZGlvbkJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuID5SZXZPcCBUYWcgQ29uZmlndXJhdGlvbjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQ29sbGFwc2U+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Cb2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1yZXZvcC1jb25maWd1cmF0aW9uPjwvbGliLXJldm9wLWNvbmZpZ3VyYXRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS0gWm9uZSBjb25maWd1YXJhdGlvbiAtLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInpvbmVTdWJzY3JpYmVkJiYodXNlclJvbGUgPT09ICdhZG1pbicgfHwgdXNlclJvbGUgPT09ICdzdXBlcmFkbWluJykgJiYgXHJcbiAgICAgICAgICAgICgoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8uVGFuZ29FeWVfWm9uZVRhZ19pc0FkZCB8fCAoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8uVGFuZ29FeWVfWm9uZVRhZ19pc0VkaXQpXCIgY2xhc3M9XCJzZXR0aW5ncy1hY2NvcmRpYW4tY2FyZCBtYi02XCIgbmdiQWNjb3JkaW9uSXRlbT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIiBuZ2JBY2NvcmRpb25IZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1haW5oZWFkaW5nXCIgbmdiQWNjb3JkaW9uQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gPlpvbmUgQ29uZmlndXJhdGlvbjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQ29sbGFwc2U+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Cb2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi16b25lLWNvbmZpZ3VyYXRpb24+PC9saWItem9uZS1jb25maWd1cmF0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PiJdfQ==
284
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tbWFuYWdlLXNldHRpbmdzL3NyYy9saWIvY29tcG9uZW50cy9jb25maWd1cmF0aW9ucy9jb25maWd1cmF0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL2NvbmZpZ3VyYXRpb25zL2NvbmZpZ3VyYXRpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc1RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUTFDLE1BQU0sT0FBTyx1QkFBdUI7SUFlZDtJQUFxQztJQUE4QjtJQWR2RixVQUFVLENBQU07SUFDQyxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUMxQyxzQkFBc0IsQ0FBTTtJQUM1Qix1QkFBdUIsQ0FBTTtJQUM3Qix3QkFBd0IsQ0FBTTtJQUM5QixzQkFBc0IsQ0FBTTtJQUM1QixvQkFBb0IsQ0FBTTtJQUMxQixRQUFRLENBQU87SUFDZixjQUFjLEdBQVcsS0FBSyxDQUFBO0lBQ1ksU0FBUyxDQUFNO0lBQ3pELGdCQUFnQixHQUFZLEtBQUssQ0FBQztJQUlsQyxZQUFvQixTQUEyQixFQUFVLE9BQXFCLEVBQVMsRUFBcUI7UUFBeEYsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFjO1FBQVMsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDMUcsTUFBTSxJQUFJLEdBQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUNsRCxJQUFJ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LENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7d0JBQ3pELGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztxQkFDckM7aUJBQ0o7cUJBQU0sSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNoQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ3JDO2FBQ0o7U0FDSjtRQUNELE9BQU8sZ0JBQWdCLENBQUM7SUFDNUIsQ0FBQzt3R0E3UVksdUJBQXVCOzRGQUF2Qix1QkFBdUIsZ0xDWHBDLDhpWkEwUFU7OzRGRC9PRyx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0Usb0JBQW9CO2lKQWNZLFNBQVM7c0JBQWxELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25EZXN0cm95LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2xpZW50QXBpU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NsaWVudC1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1zaGFyZWQnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1jb25maWd1cmF0aW9ucycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpZ3VyYXRpb25zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vY29uZmlndXJhdGlvbnMuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgY2xpZW50RGF0YTogYW55O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHRpY2tldENvbmZpZ1ByZXZWYWx1ZXM6IGFueTtcclxuICBmZWF0dXJlQ29uZmlnUHJldlZhbHVlczogYW55O1xyXG4gIGZvb3RmYWxsQ29uZmlnUHJldlZhbHVlczogYW55O1xyXG4gIGRvbWFpbkNvbmZpZ1ByZXZWYWx1ZXM6IGFueTtcclxuICB1c2VyQ29uZmlnUHJldlZhbHVlczogYW55O1xyXG4gIHVzZXJSb2xlOnN0cmluZ1xyXG4gIHpvbmVTdWJzY3JpYmVkOmJvb2xlYW4gPSBmYWxzZVxyXG4gIEBWaWV3Q2hpbGQoJ2FjY29yZGlvbicsIHsgc3RhdGljOiB0cnVlIH0pIGFjY29yZGlvbjogYW55O1xyXG4gIGlzVk1TRW5hYmxlZFVzZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNsaWVudEFwaTogQ2xpZW50QXBpU2VydmljZSwgcHJpdmF0ZSB0b2FzdGVyOiBUb2FzdFNlcnZpY2UsIHB1YmxpYyBnczpHbG9iYWxTdGF0ZVNlcnZpY2UpIHtcclxuICAgIGNvbnN0IHVzZXI6YW55ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXItaW5mbycpXHJcbiAgICB0aGlzLnVzZXJSb2xlICA9IEpTT04ucGFyc2UodXNlcik/LnJvbGVcclxuICAgIFxyXG4gICAgdGhpcy5jbGllbnRBcGkuY2xpZW50Rm9ybURhdGEucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICBpZiAoZS50eXBlID09PSAnc3VibWl0Jykge1xyXG4gICAgICAgIHRoaXMuc3VibWl0Rm9ybShlKVxyXG4gICAgICB9IGVsc2UgaWYgKGUudHlwZSA9PT0gJ2NhbmNlbCcpIHtcclxuICAgICAgICB0aGlzLnJlc2V0Rm9ybShlKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG5cclxuICAgIHRoaXMuY2xpZW50QXBpLmNsaWVudERhdGEucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICBpZiAoZSkge1xyXG4gICAgICAgIHRoaXMuY2xpZW50RGF0YSA9IGVcclxuICAgICAgICBjb25zb2xlLmxvZyhcIvCfmoAgfiBDb25maWd1cmF0aW9uc0NvbXBvbmVudCB+IGNvbnN0cnVjdG9yIH4gdGhpcy5jbGllbnREYXRhOlwiLCB0aGlzLmNsaWVudERhdGEucGxhbkRldGFpbHMucHJvZHVjdC5maWx0ZXIoKGVsZTphbnkpPT5lbGUucHJvZHVjdE5hbWU9PT0ndGFuZ29ab25lJykpXHJcbiAgICAgICAgaWYodGhpcy5jbGllbnREYXRhLnBsYW5EZXRhaWxzLnByb2R1Y3QuZmlsdGVyKChlbGU6YW55KT0+ZWxlLnByb2R1Y3ROYW1lPT09J3RhbmdvWm9uZScpLmxlbmd0aD4wKXtcclxuICAgICAgICAgIHRoaXMuem9uZVN1YnNjcmliZWQgPSAgdHJ1ZVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnBvcHVsYXRlVGlja2V0Q29uZmlndXJhdGlvbihlKVxyXG4gICAgICAgIHRoaXMucG9wdWxhdGVGZWF0dXJlQ29uZmlndXJhdGlvbihlKVxyXG4gICAgICAgIHRoaXMucG9wdWxhdGVGb290ZmFsbENvbmZpZ3VyYXRpb24oZSlcclxuICAgICAgICB0aGlzLnBvcHVsYXRlRG9tYWluRGV0YWlsQ29uZmlndXJhdGlvbihlKVxyXG4gICAgICAgIHRoaXMucG9wdWxhdGVVc2VyQ29uZmlndXJhdGlvbihlKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBvcGVuSXRlbSgpIHtcclxuICAgIHRoaXMucG9wdWxhdGVUaWNrZXRDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YSlcclxuICAgIHRoaXMucG9wdWxhdGVGZWF0dXJlQ29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEpXHJcbiAgICB0aGlzLnBvcHVsYXRlRm9vdGZhbGxDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YSlcclxuICAgIHRoaXMucG9wdWxhdGVEb21haW5EZXRhaWxDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YSlcclxuICAgIHRoaXMucG9wdWxhdGVVc2VyQ29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEpXHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZVRpY2tldENvbmZpZ3VyYXRpb24oZGF0YTogYW55KSB7XHJcbiAgICBsZXQgb2JqID0ge1xyXG4gICAgICBpbnN0YWxsYXRpb25SZUFzc2lnbjogZGF0YT8udGlja2V0Q29uZmlncz8uaW5zdGFsbGF0aW9uUmVBc3NpZ24sXHJcbiAgICAgIHNlbmRUb0FkbWluOiBkYXRhPy50aWNrZXRDb25maWdzPy5hbGVydFNlbnRUbz8uYWRtaW4sXHJcbiAgICAgIHNlbmRUb1VzZXI6IGRhdGE/LnRpY2tldENvbmZpZ3M/LmFsZXJ0U2VudFRvPy51c2VyLFxyXG4gICAgICBkb3duVGltZVR5cGU6IGRhdGE/LnRpY2tldENvbmZpZ3M/LmRvd25UaW1lVHlwZSxcclxuICAgICAgaW5mcmFEb3duVGltZTogZGF0YT8udGlja2V0Q29uZmlncz8uaW5mcmFEb3duVGltZSxcclxuICAgICAgTWluRmlsZXNDb3VudDogZGF0YT8udGlja2V0Q29uZmlncz8uTWluRmlsZXNDb3VudCxcclxuICAgICAgaXNSY2FUaWNrZXRBc3NpZ246IGRhdGE/LnRpY2tldENvbmZpZ3M/LmlzUmNhVGlja2V0QXNzaWduLFxyXG4gICAgICByY2FUaWNrZXRBc3NpZ246IGRhdGE/LnRpY2tldENvbmZpZ3M/LnJjYVRpY2tldEFzc2lnbixcclxuICAgICAgaXNSZWZyZXNoQWxlcnQ6IGRhdGE/LnRpY2tldENvbmZpZ3M/LmlzUmVmcmVzaEFsZXJ0LFxyXG4gICAgICByZWZyZXNoQWxlcnQ6IGRhdGE/LnRpY2tldENvbmZpZ3M/LnJlZnJlc2hBbGVydCxcclxuICAgICAgaXNTdGF0dXNDaGVja0FsZXJ0OiBkYXRhPy50aWNrZXRDb25maWdzPy5pc1N0YXR1c0NoZWNrQWxlcnQsXHJcbiAgICAgIHN0YXR1c0NoZWNrQWxlcnQ6IGRhdGE/LnRpY2tldENvbmZpZ3M/LnN0YXR1c0NoZWNrQWxlcnQsXHJcbiAgICAgIHJlVHJhaW46IGRhdGE/LnRpY2tldENvbmZpZ3M/LnJlVHJhaW4sXHJcbiAgICAgIGFjY3VyYWN5UGVyY2VudGFnZTogZGF0YT8udGlja2V0Q29uZmlncz8uYWNjdXJhY3lQZXJjZW50YWdlLFxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudGlja2V0Q29uZmlnUHJldlZhbHVlcyA9IG9ialxyXG5cclxuICAgIHRoaXMuY2xpZW50QXBpLmNsaWVudEZvcm1EYXRhLm5leHQoeyB2YWx1ZTogeyAuLi5vYmogfSwgdHlwZTogJ2lucHV0JywgZm9ybTogJ3RpY2tldC1jb25maWd1cmF0aW9uJyB9KVxyXG4gIH1cclxuXHJcbiAgcG9wdWxhdGVGZWF0dXJlQ29uZmlndXJhdGlvbihkYXRhOiBhbnkpIHtcclxuICAgIGlmIChkYXRhPy5mZWF0dXJlQ29uZmlncz8uaXNWTVMpIHRoaXMuaXNWTVNFbmFibGVkVXNlciA9IHRydWU7XHJcbiAgICBlbHNlIHRoaXMuaXNWTVNFbmFibGVkVXNlciA9IGZhbHNlO1xyXG4gICAgbGV0IG9iaiA9IHtcclxuICAgICAgb3BlbjogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/Lm9wZW4sXHJcbiAgICAgIGNsb3NlOiBkYXRhPy5mZWF0dXJlQ29uZmlncz8uY2xvc2UsXHJcbiAgICAgIGluZnJhQWxlcnRDb25kaXRpb246IGRhdGE/LmZlYXR1cmVDb25maWdzPy5pbmZyYUFsZXJ0Py5jb25kaXRpb24sXHJcbiAgICAgIGluZnJhQWxlcnRWYWx1ZTogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmluZnJhQWxlcnQ/LnZhbHVlLFxyXG4gICAgICBib3VuY2VkTGltaXRDb25kaXRpb246IGRhdGE/LmZlYXR1cmVDb25maWdzPy5ib3VuY2VkTGltaXQ/LmNvbmRpdGlvbixcclxuICAgICAgYm91bmNlZExpbWl0VmFsdWU6IGRhdGE/LmZlYXR1cmVDb25maWdzPy5ib3VuY2VkTGltaXQ/LnZhbHVlLFxyXG4gICAgICBjb252ZXJzaW9uQ29uZGl0aW9uOiBkYXRhPy5mZWF0dXJlQ29uZmlncz8uY29udmVyc2lvbj8uY29uZGl0aW9uLFxyXG4gICAgICBjb252ZXJzaW9uVmFsdWU6IGRhdGE/LmZlYXR1cmVDb25maWdzPy5jb252ZXJzaW9uPy52YWx1ZSxcclxuICAgICAgYmlsbGFibGVDYWxjdWxhdGlvbjogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmJpbGxhYmxlQ2FsY3VsYXRpb24sXHJcbiAgICAgIG1pc3NlZE9wcG9ydHVuaXR5Q2FsY3VsYXRpb246IGRhdGE/LmZlYXR1cmVDb25maWdzPy5taXNzZWRPcHBvcnR1bml0eUNhbGN1bGF0aW9uLFxyXG4gICAgICBjb252ZXJzaW9uQ2FsY3VsYXRpb246IGRhdGE/LmZlYXR1cmVDb25maWdzPy5jb252ZXJzaW9uQ2FsY3VsYXRpb24sXHJcbiAgICAgIGlzTm9ybWFsaXplZDogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzTm9ybWFsaXplZCxcclxuICAgICAgaXNQYXNzZXJCeURhdGE6IGRhdGE/LmZlYXR1cmVDb25maWdzPy5pc1Bhc3NlckJ5RGF0YSxcclxuICAgICAgaXNGb290ZmFsbERpcmVjdG9yeTogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzRm9vdGZhbGxEaXJlY3RvcnksXHJcbiAgICAgIGlzRm9vdGZhbGxEaXJlY3Rvcnlvbmx5VGFuZ286IGRhdGE/LmZlYXR1cmVDb25maWdzPy5pc0Zvb3RmYWxsRGlyZWN0b3J5b25seVRhbmdvLFxyXG4gICAgICBpc1ZNUzogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzVk1TLFxyXG4gICAgICBpc0Zvb3RmYWxsRGlyZWN0b3J5QXVkaXQgOiBkYXRhPy5mZWF0dXJlQ29uZmlncz8uaXNGb290ZmFsbERpcmVjdG9yeUF1ZGl0LFxyXG4gICAgICBpc0Zvb3RmYWxsRGlyZWN0b3J5TGltaXQgOiBkYXRhPy5mZWF0dXJlQ29uZmlncz8uaXNGb290ZmFsbERpcmVjdG9yeUxpbWl0LFxyXG4gICAgICBpc0V4Y2x1ZGVkQXJlYTpkYXRhPy5mZWF0dXJlQ29uZmlncz8uaXNFeGNsdWRlZEFyZWEsXHJcbiAgICAgIGlzQ2FtZXJhRGlzYWJsZWQ6IGRhdGE/LmZlYXR1cmVDb25maWdzPy5pc0NhbWVyYURpc2FibGVkLFxyXG4gICAgICBpc2JpbGxpbmdEaXNhYmxlZDpkYXRhPy5mZWF0dXJlQ29uZmlncz8uaXNiaWxsaW5nRGlzYWJsZWQsXHJcbiAgICAgIGlzTmV3RGFzaGJvYXJkOmRhdGE/LmZlYXR1cmVDb25maWdzPy5pc05ld0Rhc2hib2FyZCxcclxuICAgICAgdXBkYXRlRmVhdHVyZUNvbmZpZzpkYXRhPy5mZWF0dXJlQ29uZmlncz8udXBkYXRlRmVhdHVyZUNvbmZpZyxcclxuICAgICAgaXNGb290ZmFsbEF1ZGl0U3RvcmVzOmRhdGE/LmZlYXR1cmVDb25maWdzPy5pc0Zvb3RmYWxsQXVkaXRTdG9yZXMsXHJcbiAgICAgIGlzTmV3VHJhZmZpYzpkYXRhPy5mZWF0dXJlQ29uZmlncz8uaXNOZXdUcmFmZmljLFxyXG4gICAgICBpc05ld1pvbmU6ZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzTmV3Wm9uZSxcclxuICAgICAgaXNOZXdSZXBvcnRzOmRhdGE/LmZlYXR1cmVDb25maWdzPy5pc05ld1JlcG9ydHMsXHJcbiAgICAgIGlzTmV3Wm9uZVYyOiBkYXRhPy5mZWF0dXJlQ29uZmlncz8uaXNOZXdab25lVjIsXHJcbiAgICAgIGlzUmV2b3BzOiBkYXRhPy5mZWF0dXJlQ29uZmlncz8uaXNSZXZvcHMsXHJcbiAgICAgIGlzTk9COiBkYXRhPy5mZWF0dXJlQ29uZmlncz8uaXNOT0IsXHJcbiAgICAgIGlzWm9uZXdpc2VOT0IgOiBkYXRhPy5mZWF0dXJlQ29uZmlncz8uaXNab25ld2lzZU5PQixcclxuICAgICAgaXNUcmF4OmRhdGE/LmZlYXR1cmVDb25maWdzPy5pc1RyYXgsXHJcbiAgICAgIGlzQ29udHJvbENlbnRlcjpkYXRhPy5mZWF0dXJlQ29uZmlncz8uaXNDb250cm9sQ2VudGVyLFxyXG4gICAgICBzdHJlYW1CeTpkYXRhPy5mZWF0dXJlQ29uZmlncz8uc3RyZWFtQnksXHJcbiAgICAgIGlzQ2FtZXJhRWRpdDpkYXRhPy5mZWF0dXJlQ29uZmlncz8uaXNDYW1lcmFFZGl0LFxyXG4gICAgICBpc0FJTWFuYWdlcjpkYXRhPy5mZWF0dXJlQ29uZmlncz8uaXNBSU1hbmFnZXIsXHJcbiAgICAgIGlzQUlNYW5hZ2VyQWNjZXNzQ29udHJvbDpkYXRhPy5mZWF0dXJlQ29uZmlncz8uaXNBSU1hbmFnZXJBY2Nlc3NDb250cm9sLFxyXG4gICAgICBsb2dpblNTTzpkYXRhPy5mZWF0dXJlQ29uZmlncz8ubG9naW5TU09cclxuICAgIH0gXHJcbiAgICB0aGlzLmZlYXR1cmVDb25maWdQcmV2VmFsdWVzID0gb2JqXHJcbiAgICB0aGlzLmNsaWVudEFwaS5jbGllbnRGb3JtRGF0YS5uZXh0KHsgdmFsdWU6IHsgLi4ub2JqIH0sIHR5cGU6ICdpbnB1dCcsIGZvcm06ICdmZWF0dXJlLWNvbmZpZ3VyYXRpb24nIH0pXHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcImNsaWVudC1kZXRhaWxzXCIsIEpTT04uc3RyaW5naWZ5KG9iaikpO1xyXG4gIH1cclxuXHJcbiAgcG9wdWxhdGVGb290ZmFsbENvbmZpZ3VyYXRpb24oZGF0YTogYW55KSB7XHJcbiAgICBpZiAoIWRhdGE/LmZvb3RmYWxsRGlyZWN0b3J5Q29uZmlncykgcmV0dXJuO1xyXG4gICAgbGV0IG9iaiA9IHtcclxuICAgICAgYWxsb3dUaWNrZXRDcmVhdGlvbjogZGF0YT8uZm9vdGZhbGxEaXJlY3RvcnlDb25maWdzPy5hbGxvd1RpY2tldENyZWF0aW9uID8/IDMsXHJcbiAgICAgIGlzQXV0b0Nsb3NlRW5hYmxlOiBkYXRhPy5mb290ZmFsbERpcmVjdG9yeUNvbmZpZ3M/LmlzQXV0b0Nsb3NlRW5hYmxlLFxyXG4gICAgICBhdXRvQ2xvc2VBY2N1cmFjeTogZGF0YT8uZm9vdGZhbGxEaXJlY3RvcnlDb25maWdzPy5hdXRvQ2xvc2VBY2N1cmFjeSA/PyAnOTUlJyxcclxuICAgICAgdGFuZ29SZXZpZXc6IGRhdGE/LmZvb3RmYWxsRGlyZWN0b3J5Q29uZmlncz8udGFuZ29SZXZpZXcgPz8gJzg1JScsXHJcbiAgICAgIGFjY3VyYWN5QnJlYWNoOiAgZGF0YS5mb290ZmFsbERpcmVjdG9yeUNvbmZpZ3M/LmFjY3VyYWN5QnJlYWNoIHx8IHt9LFxyXG4gICAgICByZXZpc2lvbjogZGF0YT8uZm9vdGZhbGxEaXJlY3RvcnlDb25maWdzPy5yZXZpc2lvbiA/PyBbXSxcclxuICAgICAgdGFnZ2luZ0xpbWl0YXRpb246IGRhdGE/LmZvb3RmYWxsRGlyZWN0b3J5Q29uZmlncz8udGFnZ2luZ0xpbWl0YXRpb24gPz8gW10sXHJcbiAgICAgIHN0b3JlTGlzdDogZGF0YT8uZm9vdGZhbGxEaXJlY3RvcnlDb25maWdzPy5zdG9yZUxpc3QgPz8gZGF0YT8uZm9vdGZhbGxEaXJlY3RvcnlDb25maWdzPy5hY2N1cmFjeUJyZWFjaD8uc3RvcmVMaXN0ID8/IFtdXHJcblxyXG4gICAgfVxyXG4gICAgdGhpcy5mb290ZmFsbENvbmZpZ1ByZXZWYWx1ZXMgPSBvYmo7XHJcbiAgICB0aGlzLmNsaWVudEFwaS5jbGllbnRGb3JtRGF0YS5uZXh0KHsgdmFsdWU6IHsgLi4ub2JqIH0sIHR5cGU6ICdpbnB1dCcsIGZvcm06ICdmb290ZmFsbERpcmVjdG9yeUNvbmZpZ3MnIH0pXHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcImZvb3RmYWxsLWNvbmZpZ1wiLCBKU09OLnN0cmluZ2lmeShvYmopKTtcclxuICB9XHJcblxyXG4gIHBvcHVsYXRlRG9tYWluRGV0YWlsQ29uZmlndXJhdGlvbihkYXRhOiBhbnkpIHtcclxuICAgIGxldCBvYmogPSB7XHJcbiAgICAgIGRvbWFpbk5hbWU6IGRhdGE/LmRvbWFpbkNvbmZpZz8uc3NvTG9naW4/LmRvbWFpbk5hbWUsXHJcbiAgICAgIGlzRW5hYmxlOiBkYXRhPy5kb21haW5Db25maWc/LnNzb0xvZ2luPy5pc0VuYWJsZSxcclxuICAgICAgZW5hYmxlV2hpdGVsaXN0aW5nOiBkYXRhPy5kb21haW5Db25maWc/LmlwV2hpdGVsaXN0aW5nPy5lbmFibGVXaGl0ZWxpc3RpbmcsXHJcbiAgICAgIGFsbG93ZWRJcHM6IGRhdGE/LmRvbWFpbkNvbmZpZz8uaXBXaGl0ZWxpc3Rpbmc/LmFsbG93ZWRJcHMsXHJcbiAgICAgIGVuYWJsZU90cDogZGF0YT8uZG9tYWluQ29uZmlnPy5lbmFibGVPdHAsXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kb21haW5Db25maWdQcmV2VmFsdWVzID0gb2JqXHJcblxyXG4gICAgdGhpcy5jbGllbnRBcGkuY2xpZW50Rm9ybURhdGEubmV4dCh7IHZhbHVlOiB7IC4uLm9iaiB9LCB0eXBlOiAnaW5wdXQnLCBmb3JtOiAnZG9tYWluLWRldGFpbHMnIH0pXHJcbiAgICBcclxuICB9XHJcblxyXG4gIHBvcHVsYXRlVXNlckNvbmZpZ3VyYXRpb24oZGF0YTogYW55KSB7XHJcbiAgICBsZXQgb2JqID0ge1xyXG4gICAgICBjc206IGRhdGE/LmFzc2lnbmVkVXNlcnM/LmNzbSxcclxuICAgICAgb3BzOiBkYXRhPy5hc3NpZ25lZFVzZXJzPy5vcHMsXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy51c2VyQ29uZmlnUHJldlZhbHVlcyA9IG9ialxyXG5cclxuICAgIHRoaXMuY2xpZW50QXBpLmNsaWVudEZvcm1EYXRhLm5leHQoeyB2YWx1ZTogeyAuLi5vYmogfSwgdHlwZTogJ2lucHV0JywgZm9ybTogJ3VzZXItY29uZmlndXJhdGlvbicgfSlcclxuICB9XHJcblxyXG5cclxuXHJcbiAgc3VibWl0Rm9ybShlOiBhbnkpIHtcclxuICAgIGlmIChlLmZvcm0gPT09ICd0aWNrZXQtY29uZmlndXJhdGlvbicpIHtcclxuICAgICAgY29uc3QgZGF0YSA9ICB0aGlzLmdldERpZmZlcmVudEVudHJpZXModGhpcy50aWNrZXRDb25maWdQcmV2VmFsdWVzLCBlLnZhbHVlKSAgICAgXHJcbiAgICAgIHRoaXMuY2xpZW50QXBpLnVwZGF0ZVRpY2tldENvbmZpZ3VyYXRpb24odGhpcy5jbGllbnREYXRhLmNsaWVudElkLCBkYXRhKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAoZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy50b2FzdGVyLmdldFN1Y2Nlc3NUb2FzdChlLmRhdGE/LnJlc3VsdClcclxuICAgICAgICAgIHRoaXMuY2xpZW50QXBpLmNsaWVudEZvcm1EYXRhLm5leHQoeyB2YWx1ZTogbnVsbCwgdHlwZTogJ3N1Ym1pdHRlZCcsIGZvcm06ICdudWxsJyB9KVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0ZXIuZ2V0RXJyb3JUb2FzdChlLmVycm9yPy5lcnJvcilcclxuICAgICAgICAgIHRoaXMucG9wdWxhdGVUaWNrZXRDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcblxyXG4gICAgfSBlbHNlXHJcbiAgICAgIGlmIChlLmZvcm0gPT09ICdmZWF0dXJlLWNvbmZpZ3VyYXRpb24nKSB7XHJcbiAgICAgICAgY29uc3QgZGF0YSA9ICB0aGlzLmdldERpZmZlcmVudEVudHJpZXModGhpcy5mZWF0dXJlQ29uZmlnUHJldlZhbHVlcywgZS52YWx1ZSlcclxuICAgICAgICBjb25zb2xlLmxvZyhkYXRhKVxyXG4gICAgICAgIHRoaXMuY2xpZW50QXBpLnVwZGF0ZUZlYXR1cmVDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YS5jbGllbnRJZCwgZGF0YSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAoZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0ZXIuZ2V0U3VjY2Vzc1RvYXN0KGUuZGF0YT8ucmVzdWx0KVxyXG4gICAgICAgICAgICB0aGlzLmNsaWVudEFwaS5jbGllbnRGb3JtRGF0YS5uZXh0KHsgdmFsdWU6IG51bGwsIHR5cGU6ICdzdWJtaXR0ZWQnLCBmb3JtOiAnbnVsbCcgfSlcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnJvcjogKGUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy50b2FzdGVyLmdldEVycm9yVG9hc3QoZS5lcnJvcj8uZXJyb3IpXHJcbiAgICAgICAgICAgIHRoaXMucG9wdWxhdGVGZWF0dXJlQ29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuXHJcbiAgICAgIH0gZWxzZVxyXG4gICAgICAgIGlmIChlLmZvcm0gPT09ICdkb21haW4tZGV0YWlscycpIHtcclxuICAgICAgICAgIGNvbnN0IGRhdGEgPSAgdGhpcy5nZXREaWZmZXJlbnRFbnRyaWVzKHRoaXMuZG9tYWluQ29uZmlnUHJldlZhbHVlcywgZS52YWx1ZSkgICAgIFxyXG4gICAgICAgICAgdGhpcy5jbGllbnRBcGkudXBkYXRlRG9tYWluRGV0YWlsQ29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEuY2xpZW50SWQsIGRhdGEpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgICBuZXh0OiAoZSkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMudG9hc3Rlci5nZXRTdWNjZXNzVG9hc3QoZS5kYXRhPy5yZXN1bHQpXHJcbiAgICAgICAgICAgICAgdGhpcy5jbGllbnRBcGkuY2xpZW50Rm9ybURhdGEubmV4dCh7IHZhbHVlOiBudWxsLCB0eXBlOiAnc3VibWl0dGVkJywgZm9ybTogJ251bGwnIH0pXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGVycm9yOiAoZSkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMudG9hc3Rlci5nZXRFcnJvclRvYXN0KGUuZXJyb3I/LmVycm9yKVxyXG4gICAgICAgICAgICAgIHRoaXMucG9wdWxhdGVEb21haW5EZXRhaWxDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuXHJcbiAgICAgICAgfSBlbHNlIGlmIChlLmZvcm0gPT09ICdmb290ZmFsbERpcmVjdG9yeUNvbmZpZ3MnKSB7XHJcbiAgICAgICAgICAvLyBjb25zdCBkYXRhID0gdGhpcy5nZXREaWZmZXJlbnRFbnRyaWVzKHRoaXMuZm9vdGZhbGxDb25maWdQcmV2VmFsdWVzLCBlLnZhbHVlKTtcclxuICAgICAgICAgIGNvbnN0IGRhdGEgPSBlLnZhbHVlO1xyXG4gICAgICAgICAgY29uc29sZS5sb2coJ3VwZGF0ZSBmb290ZmFsbCBjb25maWcganNvbiA9PT4nLCBkYXRhKVxyXG4gICAgICAgICAgdGhpcy5jbGllbnRBcGkudXBkYXRlRm9vdGZhbGxEaXJlY3RvcnlDb25maWcodGhpcy5jbGllbnREYXRhLmNsaWVudElkLCBkYXRhKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgbmV4dDogKGUpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnRvYXN0ZXIuZ2V0U3VjY2Vzc1RvYXN0KCdGb290ZmFsbCBjb25maWd1cmF0aW9uIGRldGFpbHMgdXBkYXRlZCBzdWNjZXNzZnVsbHkuJylcclxuICAgICAgICAgICAgICB0aGlzLmNsaWVudEFwaS5jbGllbnRGb3JtRGF0YS5uZXh0KHsgdmFsdWU6IG51bGwsIHR5cGU6ICdzdWJtaXR0ZWQnLCBmb3JtOiAnbnVsbCcgfSlcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZXJyb3I6IChlKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy50b2FzdGVyLmdldEVycm9yVG9hc3QoZS5lcnJvcj8uZXJyb3IpXHJcbiAgICAgICAgICAgICAgdGhpcy5wb3B1bGF0ZUZvb3RmYWxsQ29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG5cclxuICB9XHJcblxyXG4gIHJlc2V0Rm9ybShlOiBhbnkpIHtcclxuICAgIGlmIChlLmZvcm0gPT09ICd0aWNrZXQtY29uZmlndXJhdGlvbicpIHtcclxuICAgICAgdGhpcy5wb3B1bGF0ZVRpY2tldENvbmZpZ3VyYXRpb24odGhpcy5jbGllbnREYXRhKVxyXG4gICAgfSBlbHNlXHJcbiAgICAgIGlmIChlLmZvcm0gPT09ICdmZWF0dXJlLWNvbmZpZ3VyYXRpb24nKSB7XHJcbiAgICAgICAgdGhpcy5wb3B1bGF0ZUZlYXR1cmVDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YSlcclxuICAgICAgfSBlbHNlXHJcbiAgICAgICAgaWYgKGUuZm9ybSA9PT0gJ2RvbWFpbi1kZXRhaWxzJykge1xyXG4gICAgICAgICAgdGhpcy5wb3B1bGF0ZURvbWFpbkRldGFpbENvbmZpZ3VyYXRpb24odGhpcy5jbGllbnREYXRhKVxyXG4gICAgICAgIH0gZWxzZVxyXG4gICAgICAgICAgaWYgKGUuZm9ybSA9PT0gJ3VzZXItY29uZmlndXJhdGlvbicpIHtcclxuICAgICAgICAgICAgdGhpcy5wb3B1bGF0ZVVzZXJDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YSlcclxuICAgICAgICAgIH0gZWxzZVxyXG4gICAgICAgICAgaWYgKGUuZm9ybSA9PT0gJ2Zvb3RmYWxsRGlyZWN0b3J5Q29uZmlncycpIHtcclxuICAgICAgICAgICAgdGhpcy5wb3B1bGF0ZUZvb3RmYWxsQ29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEpXHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgdGhpcy5hY2NvcmRpb24uY29sbGFwc2VBbGwoKVxyXG5cclxuICB9XHJcblxyXG4gZ2V0RGlmZmVyZW50RW50cmllcyhvYmoxOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBvYmoyOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogUmVjb3JkPHN0cmluZywgYW55PiB7XHJcbiAgICBjb25zdCBkaWZmZXJlbnRFbnRyaWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XHJcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBvYmoyKSB7XHJcbiAgICAgICAgaWYgKG9iajEuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShvYmoxW2tleV0pICYmIEFycmF5LmlzQXJyYXkob2JqMltrZXldKSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KG9iajFba2V5XSkgIT09IEpTT04uc3RyaW5naWZ5KG9iajJba2V5XSkpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaWZmZXJlbnRFbnRyaWVzW2tleV0gPSBvYmoyW2tleV07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAob2JqMVtrZXldICE9PSBvYmoyW2tleV0pIHtcclxuICAgICAgICAgICAgICAgIGRpZmZlcmVudEVudHJpZXNba2V5XSA9IG9iajJba2V5XTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBkaWZmZXJlbnRFbnRyaWVzO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbiAjYWNjb3JkaW9uPVwibmdiQWNjb3JkaW9uXCIgW2Nsb3NlT3RoZXJzXT1cInRydWVcIiBbZGVzdHJveU9uSGlkZV09XCJ0cnVlXCIgIChzaG93KT1cIm9wZW5JdGVtKClcIiA+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8udXNlclR5cGUgPT09ICd0YW5nbycgXCIgY2xhc3M9XCJzZXR0aW5ncy1hY2NvcmRpYW4tY2FyZCBtYi02IFwiICBuZ2JBY2NvcmRpb25JdGVtPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiIG5nYkFjY29yZGlvbkhlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWFpbmhlYWRpbmdcIiBuZ2JBY2NvcmRpb25CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiA+QXVkaXQgQ29uZmlndXJhdGlvbjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQ29sbGFwc2U+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Cb2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLWF1ZGl0LWNvbmZpZ3VyYXRpb24+PC9saWItYXVkaXQtY29uZmlndXJhdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy51c2VyVHlwZSA9PT0gJ3RhbmdvJyBcIiBjbGFzcz1cInNldHRpbmdzLWFjY29yZGlhbi1jYXJkIG1iLTZcIiBuZ2JBY2NvcmRpb25JdGVtPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiIG5nYkFjY29yZGlvbkhlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWFpbmhlYWRpbmdcIiBuZ2JBY2NvcmRpb25CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiA+RW1wbG95ZWUgVHJhaW5pbmc8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQ29sbGFwc2U+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Cb2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLWVtcGxveWVlLXRyYWluaW5nPjwvbGliLWVtcGxveWVlLXRyYWluaW5nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAndGFuZ28nIFwiIGNsYXNzPVwic2V0dGluZ3MtYWNjb3JkaWFuLWNhcmQgbWItNlwiIG5nYkFjY29yZGlvbkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgbmdiQWNjb3JkaW9uSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtYWluaGVhZGluZ1wiIG5nYkFjY29yZGlvbkJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuID5UaWNrZXQgQ29uZmlndXJhdGlvbjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQ29sbGFwc2U+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Cb2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLXRpY2tldC1jb25maWd1cmF0aW9uPjwvbGliLXRpY2tldC1jb25maWd1cmF0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNWTVNFbmFibGVkVXNlclwiIGNsYXNzPVwic2V0dGluZ3MtYWNjb3JkaWFuLWNhcmQgbWItNlwiIG5nYkFjY29yZGlvbkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxkaXYgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8udXNlclR5cGUgPT09ICd0YW5nbydcIiBjbGFzcz1cInNldHRpbmdzLWFjY29yZGlhbi1jYXJkIG1iLTZcIiBuZ2JBY2NvcmRpb25JdGVtPiAtLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIiBuZ2JBY2NvcmRpb25IZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1haW5oZWFkaW5nXCIgbmdiQWNjb3JkaW9uQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gPkZvb3RmYWxsIERpcmVjdG9yeSBDb25maWd1cmF0aW9uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Db2xsYXBzZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItZm9vdGZhbGwtY29uZmlndXJhdGlvbj48L2xpYi1mb290ZmFsbC1jb25maWd1cmF0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAndGFuZ28nIFwiIGNsYXNzPVwic2V0dGluZ3MtYWNjb3JkaWFuLWNhcmQgbWItNlwiIG5nYkFjY29yZGlvbkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgbmdiQWNjb3JkaW9uSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtYWluaGVhZGluZ1wiIG5nYkFjY29yZGlvbkJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuID5FbWFpbCBDb25maWd1cmF0aW9uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Db2xsYXBzZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGxpYi1lbWFpbC1jb25maWd1cmF0aW9uPjwvbGliLWVtYWlsLWNvbmZpZ3VyYXRpb24+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItZW1haWwtc2NoZWR1bGVyPjwvbGliLWVtYWlsLXNjaGVkdWxlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy51c2VyVHlwZSA9PT0gJ3RhbmdvJyBcIiBjbGFzcz1cInNldHRpbmdzLWFjY29yZGlhbi1jYXJkIG1iLTZcIiBuZ2JBY2NvcmRpb25JdGVtPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiIG5nYkFjY29yZGlvbkhlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWFpbmhlYWRpbmdcIiBuZ2JBY2NvcmRpb25CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiA+UmVwb3J0IENvbmZpZ3VyYXRpb248L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkNvbGxhcHNlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQm9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1yZXBvcnQtY29uZmlndXJhdGlvbj48L2xpYi1yZXBvcnQtY29uZmlndXJhdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy51c2VyVHlwZSA9PT0gJ3RhbmdvJyBcIiBjbGFzcz1cInNldHRpbmdzLWFjY29yZGlhbi1jYXJkIG1iLTZcIiBuZ2JBY2NvcmRpb25JdGVtPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiIG5nYkFjY29yZGlvbkhlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWFpbmhlYWRpbmdcIiBuZ2JBY2NvcmRpb25CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiA+VXNlciBDb25maWd1cmF0aW9uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Db2xsYXBzZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItdXNlci1jb25maWd1cmF0aW9uPjwvbGliLXVzZXItY29uZmlndXJhdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInVzZXJSb2xlICE9PSAndXNlcidcIiBjbGFzcz1cInNldHRpbmdzLWFjY29yZGlhbi1jYXJkIG1iLTZcIiAgbmdiQWNjb3JkaW9uSXRlbT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIiBuZ2JBY2NvcmRpb25IZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1haW5oZWFkaW5nXCIgbmdiQWNjb3JkaW9uQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gPlNlY3VyaXR5IEZlYXR1cmVzPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Db2xsYXBzZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1kb21haW4tZGV0YWlscz48L2xpYi1kb21haW4tZGV0YWlscz4gICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2V0dGluZ3MtYWNjb3JkaWFuLWNhcmQgbWItNlwiIG5nYkFjY29yZGlvbkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgbmdiQWNjb3JkaW9uSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtYWluaGVhZGluZ1wiIG5nYkFjY29yZGlvbkJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuID5GZWF0dXJlIENvbmZpZ3VyYXRpb248L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkNvbGxhcHNlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQm9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1mZWF0dXJlLWNvbmZpZ3VyYXRpb24+PC9saWItZmVhdHVyZS1jb25maWd1cmF0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAndGFuZ28nXCIgY2xhc3M9XCJzZXR0aW5ncy1hY2NvcmRpYW4tY2FyZCBtYi02XCIgbmdiQWNjb3JkaW9uSXRlbT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIiBuZ2JBY2NvcmRpb25IZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1haW5oZWFkaW5nXCIgbmdiQWNjb3JkaW9uQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gPkRhc2hib2FyZCBDb25maWd1cmF0aW9uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Db2xsYXBzZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItZGFzaGJvYXJkLWNvbmZpZ3VyYXRpb24+PC9saWItZGFzaGJvYXJkLWNvbmZpZ3VyYXRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICBcclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy51c2VyVHlwZSAhPT0gJ3RhbmdvJ1wiIGNsYXNzPVwic2V0dGluZ3MtYWNjb3JkaWFuLWNhcmQgbWItNlwiIG5nYkFjY29yZGlvbkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgbmdiQWNjb3JkaW9uSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtYWluaGVhZGluZ1wiIG5nYkFjY29yZGlvbkJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuID5Db250cm9sIENlbnRlciBDb25maWd1cmF0aW9uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Db2xsYXBzZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItY29udHJvbC1jZW50ZXItY29uZmlndXJhdGlvbj48L2xpYi1jb250cm9sLWNlbnRlci1jb25maWd1cmF0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNldHRpbmdzLWFjY29yZGlhbi1jYXJkIG1iLTZcIiBuZ2JBY2NvcmRpb25JdGVtPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiIG5nYkFjY29yZGlvbkhlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWFpbmhlYWRpbmdcIiBuZ2JBY2NvcmRpb25CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiA+U3RvcmUgVGltZSBDb25maWd1cmF0aW9uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Db2xsYXBzZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItc3RvcmUtdGltZS1jb25maWd1cmF0aW9uPjwvbGliLXN0b3JlLXRpbWUtY29uZmlndXJhdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNldHRpbmdzLWFjY29yZGlhbi1jYXJkIG1iLTZcIiBuZ2JBY2NvcmRpb25JdGVtPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiIG5nYkFjY29yZGlvbkhlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWFpbmhlYWRpbmdcIiBuZ2JBY2NvcmRpb25CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiA+UmV2T3AgVGFnIENvbmZpZ3VyYXRpb248L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkNvbGxhcHNlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQm9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItcmV2b3AtY29uZmlndXJhdGlvbj48L2xpYi1yZXZvcC1jb25maWd1cmF0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8IS0tIFpvbmUgY29uZmlndWFyYXRpb24gLS0+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ6b25lU3Vic2NyaWJlZCYmKHVzZXJSb2xlID09PSAnYWRtaW4nIHx8IHVzZXJSb2xlID09PSAnc3VwZXJhZG1pbicpICYmIFxyXG4gICAgICAgICAgICAoKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LlRhbmdvRXllX1pvbmVUYWdfaXNBZGQgfHwgKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LlRhbmdvRXllX1pvbmVUYWdfaXNFZGl0KVwiIGNsYXNzPVwic2V0dGluZ3MtYWNjb3JkaWFuLWNhcmQgbWItNlwiIG5nYkFjY29yZGlvbkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgbmdiQWNjb3JkaW9uSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtYWluaGVhZGluZ1wiIG5nYkFjY29yZGlvbkJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuID5ab25lIENvbmZpZ3VyYXRpb248L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkNvbGxhcHNlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQm9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItem9uZS1jb25maWd1cmF0aW9uPjwvbGliLXpvbmUtY29uZmlndXJhdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj4iXX0=