vcomply-workflow-engine 6.0.52 → 6.0.53
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.
- package/esm2022/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.mjs +2 -2
- package/esm2022/lib/add-multiple-risk/add-multiple-risk.component.mjs +2 -2
- package/esm2022/lib/constants/assets.constants.mjs +57 -0
- package/esm2022/lib/constants/link-responsibility.constants.mjs +2 -2
- package/esm2022/lib/log-an-issue/log-an-issue.component.mjs +2 -2
- package/esm2022/lib/more-option/more-option.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/assignee/assignee.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/case-assignees/case-assignees.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/case-category/case-category.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/case-details/case-details.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/case-owners/case-owners.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/case-priority/case-priority.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/case-resolution-deadline/case-resolution-deadline.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/case-type-dropdown/case-dropdown.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/due-date/due-date.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/field-holder/field-holder.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/linked assessment/linked-assessment.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/linked-responsibilities/linked-responsibilities.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/rc-details/rc-details.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/report-date/report-date.component.mjs +2 -2
- package/esm2022/lib/report-a-case/workflow-case/workflow-case.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic/logic.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/assessment-list/assessment-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/audit-category-list/audit-category-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/category-list/category-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/category-list-selection/category-list-selection/category-list-selection.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/category-multiselect/category-multi-select.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/checkbox-list/checkbox-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/format-and-evidence/format-and-evidence.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/framework-list/framework-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/group-users-list/group-users-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/link-program/link-program/link-program.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/owner-list/owner-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/policy-access/policy-access.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/policy-template/constants/template.constant.mjs +2 -2
- package/esm2022/lib/sharedComponents/program-listing/program-listing.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/radio-list/radio-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/radio-list-with-pagination/radio-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/review-frequency/review-frequency.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/roles-list/roles-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/select-approvers/select-approvers.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/users-radio-list/users-radio-list.component.mjs +2 -2
- package/esm2022/lib/ui-kit/pagination/pagination/pagination.component.mjs +2 -2
- package/esm2022/lib/workflow/shared/components/attributes/attributes-checkbox/attributes-checkbox.component.mjs +2 -2
- package/esm2022/lib/workflow/shared/constants/cdn-link.constant.mjs +2 -2
- package/esm2022/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.mjs +2 -2
- package/esm2022/lib/workflow-assessment/workflow-assessment.component.mjs +2 -2
- package/esm2022/lib/workflow-compliance/workflow-compliance.component.mjs +2 -2
- package/esm2022/lib/workflow-policy/workflow-policy.component.mjs +2 -2
- package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.mjs +2 -2
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.mjs +2 -2
- package/esm2022/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.mjs +2 -2
- package/esm2022/lib/workflow-program/create-program-ui/role-list/role-list.component.mjs +2 -2
- package/esm2022/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.mjs +2 -2
- package/esm2022/lib/workflow-program/workflow-program.component.mjs +2 -2
- package/esm2022/lib/workflow-risk/workflow-risk.component.mjs +2 -2
- package/esm2022/lib/workflow-survey-form/workflow-survey-form.component.mjs +2 -2
- package/fesm2022/vcomply-workflow-engine.mjs +14 -15
- package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
- package/package.json +1 -1
- package/esm2022/lib/constants/assessts.constants.mjs +0 -57
- /package/lib/constants/{assessts.constants.d.ts → assets.constants.d.ts} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { ASSETS } from '../../../constants/
|
|
2
|
+
import { ASSETS } from '../../../constants/assets.constants';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "../frequency.service";
|
|
5
5
|
import * as i2 from "@angular/forms";
|
|
@@ -224,4 +224,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
224
224
|
}], selectedResponsibility: [{
|
|
225
225
|
type: Output
|
|
226
226
|
}] } });
|
|
227
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QvZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QvZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBTy9ELE1BQU0sT0FBTyxvQ0FBb0M7SUEyRC9DLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBeEQ3QyxrQ0FBNkIsR0FBUSxFQUFFLENBQUM7UUFDakQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixXQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ04sZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEMsMkJBQXNCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN0RCx5QkFBb0IsR0FBUSxFQUFFLENBQUM7UUFDL0IseUJBQW9CLEdBQVksS0FBSyxDQUFDO1FBQ3RDLDZCQUF3QixHQUFRLEVBQUUsQ0FBQztRQUVuQyxlQUFVLEdBQUcsQ0FBQyxDQUFD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RUFBRSxnQkFBZ0IsQ0FBQztZQUNwRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYSxHQUFHLEdBQUcsRUFBRSxjQUFjLENBQUM7WUFDaEUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGFBQWEsR0FBRyxHQUFHLEVBQUUsY0FBYyxDQUFDO1lBQ2hFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxXQUFXLEdBQUcsR0FBRyxFQUFFLFlBQVksQ0FBQztRQUM5RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCwyRUFBMkU7SUFDM0UseUJBQXlCO1FBQ3ZCLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUMvRCwrQkFBK0IsQ0FDaEMsQ0FBQztRQUNGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUNuRCxxQkFBcUIsQ0FDdEIsQ0FBQztJQUNKLENBQUM7K0dBM05VLG9DQUFvQzttR0FBcEMsb0NBQW9DLGdVQ1RqRCxtM21CQWdkQTs7NEZEdmNhLG9DQUFvQztrQkFMaEQsU0FBUzsrQkFDRSxtQ0FBbUM7dUdBS3BDLDRCQUE0QjtzQkFBcEMsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csNkJBQTZCO3NCQUFyQyxLQUFLO2dCQUdJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csc0JBQXNCO3NCQUEvQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRnJlcXVlbmN5U2VydmljZSB9IGZyb20gJy4uL2ZyZXF1ZW5jeS5zZXJ2aWNlJztcbmltcG9ydCB7IEFTU0VUUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9hc3Nlc3N0cy5jb25zdGFudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mcmVxdWVuY3ktcmVzcG9uc2liaWxpdHktbGlzdC5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGcmVxdWVuY3lSZXNwb25zaWJpbGl0eUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBvbkNvbXBsZXRpb25PZlJlc3BvbnNpYmlsaXR5OiBhbnk7XG4gIEBJbnB1dCgpIGZlYXR1cmU6IGFueTtcbiAgQElucHV0KCkgc2VsZWN0ZWRSZXNwb25zaWJpbGl0eURldGFpbHM6IGFueSA9IFtdO1xuICBhbmltYXRpb24gPSBmYWxzZTtcbiAgQVNTRVRTID0gQVNTRVRTO1xuICBAT3V0cHV0KCkgYmFja0J1dHRvbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHNlbGVjdGVkUmVzcG9uc2liaWxpdHkgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHJlc3BvbnNpYmlsaXRpZXNEYXRhOiBhbnkgPSB7fTtcbiAgcmVzcG9uc2liaWxpdHlMb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUlkOiBhbnkgPSBbXTtcbiAgc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlczogYW55O1xuICBjdXJyZW50VGFiID0gMTtcbiAgcmVzcG9uc2liaWxpdHlUYWJzOiBhbnkgPSBbXG4gICAgeyBuYW1lOiAnUkVHVUxBVElPTlMnLCB0eXBlOiAxIH0sXG4gICAgeyBuYW1lOiAnU1RBTkRBUkRTJywgdHlwZTogMiB9LFxuICAgIHsgbmFtZTogJ0lOVEVSTkFMIENPTlRST0xTJywgdHlwZTogMyB9LFxuICAgIHsgbmFtZTogJ09USEVSUycsIHR5cGU6IDAgfSxcbiAgXTtcbiAgcmVzcG9uc2liaWxpdHlUYWJDb3VudCA9IHtcbiAgICByZWd1bGF0aW9uQ291bnQ6IDAsXG4gICAgc3RhbmRhcmRDb3VudDogMCxcbiAgICBpbnRlcm5hbENvdW50OiAwLFxuICAgIG90aGVyc0NvdW50OiAwLFxuICB9O1xuICByZXNwb25zaWJpbGl0eVNlYXJjaFRleHQ6IHN0cmluZyA9ICcnO1xuICByZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlOiBudW1iZXIgPSAxO1xuICBpc1ZhbGlkT2JqID0gZmFsc2U7XG5cbiAgcmVzcG9uc2liaWxpdHlQYXlsb2FkID0ge1xuICAgIHR5cGU6ICdhY3RpdmUnLFxuICAgIHBhZ2luYXRpb25UeXBlOiAnbGFyZ2UnLFxuICAgIGE6ICcnLFxuICAgIHNlYXJjaFRleHQ6ICcnLFxuICAgIGZpbHRlckRhdGE6IHtcbiAgICAgIGFwcExpc3Q6IFtdLFxuICAgICAgcmlza0lkczogW10sXG4gICAgICByZXZpZXdlcklkOiBbXSxcbiAgICAgIHJlc3BvbnNpYmlsaXR5Q2VudGVyOiBbXSxcbiAgICAgIGVudHJ1c3RlZEJ5OiBbXSxcbiAgICAgIGVudHJ1c3RlZFRvOiBbXSxcbiAgICAgIHJlc3BvbnNpYmlsaXR5Q2F0ZWdvcnk6IFtdLFxuICAgICAgY29tcGxpYW5jZVR5cGU6IFsxXSxcbiAgICB9LFxuICAgIHBhZ2VObzogMSxcbiAgICBzb3J0T2JqOiB7XG4gICAgICBzb3J0Qnk6ICcnLFxuICAgICAgdHlwZTogJycsXG4gICAgfSxcbiAgICBwYWdlTmFtZTogJ292ZXJ2aWV3JyxcbiAgfTtcbiAgcmVzcG9uc2liaWxpdHlMaXN0OiBhbnk7XG4gIHJlZ3VsYXRpb25Db3VudDogYW55ID0gMDtcbiAgc3RhbmRhcmRzQ291bnQ6IGFueSA9IDA7XG4gIGludGVybmFsc0NvdW50OiBhbnkgPSAwO1xuICBvdGhlcnNDb3VudDogYW55ID0gMDtcbiAgZmVhdHVyZUZsYWdfb25fY29tcGxldGlvbl9vZjogYW55O1xuICBpc09uQ29tcGxldGlvblJjOiBib29sZWFuID0gZmFsc2U7XG4gIGNsb3NlOiBhbnk7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnJlcXVlbmN5U2VydmljZTogRnJlcXVlbmN5U2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZlYXR1cmVGbGFnSW5pdGlhbGl6YXRpb24oKTtcbiAgICBpZiAodGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5RGV0YWlscykge1xuICAgICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWRbMF0gPSBPYmplY3Qua2V5cyhcbiAgICAgICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5RGV0YWlsc1xuICAgICAgKT8ubGVuZ3RoXG4gICAgICAgID8gdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5RGV0YWlscz8uUmVwb3J0SWRcbiAgICAgICAgOiBbXTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcyA9IE9iamVjdC5rZXlzKFxuICAgICAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzXG4gICAgICApPy5sZW5ndGhcbiAgICAgICAgPyB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzXG4gICAgICAgIDoge307XG4gICAgICB0aGlzLmlzVmFsaWRPYmogPSB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzXG4gICAgICAgID8gT2JqZWN0LmtleXModGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5RGV0YWlscyk/Lmxlbmd0aCA+IDBcbiAgICAgICAgOiBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5hbmltYXRpb24gPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5hbmltYXRpb24gPSBmYWxzZTtcbiAgICB9LCAzMDApO1xuICAgIC8vIHRoaXMuZmlsdGVyQnlSZXNwb25zaWJpbGl0eVR5cGUoMik7XG4gICAgLy8gdGhpcy5maWx0ZXJCeVJlc3BvbnNpYmlsaXR5VHlwZSgzKTtcbiAgICAvLyB0aGlzLmZpbHRlckJ5UmVzcG9uc2liaWxpdHlUeXBlKDApO1xuICAgIC8vIHRoaXMuZmlsdGVyQnlSZXNwb25zaWJpbGl0eVR5cGUoMSk7XG4gICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0eUxpc3QoKTtcbiAgICB0aGlzLnNldFJlc3BvbnNpYmlsaXRpZXNDb3VudCgpO1xuICB9XG5cbiAgYmFjaygpIHtcbiAgICB0aGlzLmJhY2tCdXR0b24uZW1pdCgnYmFja1RvT25Db21wbGV0aW9uJyk7XG4gIH1cblxuICBmaWx0ZXJCeVJlc3BvbnNpYmlsaXR5VHlwZSh0eXBlOiBudW1iZXIpIHtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5UGF5bG9hZC5maWx0ZXJEYXRhLmNvbXBsaWFuY2VUeXBlID0gW107XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVBheWxvYWQuZmlsdGVyRGF0YS5jb21wbGlhbmNlVHlwZS5wdXNoKHR5cGUpO1xuICAgIHRoaXMuZnJlcXVlbmN5U2VydmljZVxuICAgICAgPy5nZXRSZXNwb25zaWJpbGl0eUxpc3QodGhpcy5yZXNwb25zaWJpbGl0eVBheWxvYWQpXG4gICAgICAuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5TGlzdCA9IHJlc1swXTtcbiAgICAgICAgaWYgKHRoaXMucmVzcG9uc2liaWxpdHlMaXN0KSB7XG4gICAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgICAgIHRoaXMub3RoZXJzQ291bnQgPVxuICAgICAgICAgICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlMaXN0Wyd0b3RhbF9yZXNwb25zaWJpbGl0aWVzJ107XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICB0aGlzLnJlZ3VsYXRpb25Db3VudCA9XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUxpc3RbJ3RvdGFsX3Jlc3BvbnNpYmlsaXRpZXMnXTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgIHRoaXMuc3RhbmRhcmRzQ291bnQgPVxuICAgICAgICAgICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlMaXN0Wyd0b3RhbF9yZXNwb25zaWJpbGl0aWVzJ107XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAzOlxuICAgICAgICAgICAgICB0aGlzLmludGVybmFsc0NvdW50ID1cbiAgICAgICAgICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5TGlzdFsndG90YWxfcmVzcG9uc2liaWxpdGllcyddO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBnZXRSZXNwb25zaWJpbGl0eUxpc3QoKSB7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUxvYWRlciA9IHRydWU7XG4gICAgdGhpcy5mcmVxdWVuY3lTZXJ2aWNlXG4gICAgICA/LmdldFJlc3BvbnNpYmlsaXR5TGlzdCh0aGlzLnJlc3BvbnNpYmlsaXR5UGF5bG9hZClcbiAgICAgIC5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdGllc0RhdGEgPSByZXNbMF07XG5cbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUxvYWRlciA9IGZhbHNlO1xuICAgICAgfSk7XG4gIH1cblxuICByZXNwb25zaWJpbGl0eVBhZ2VDaGFuZ2UocGFnZU51bWJlcjogbnVtYmVyKSB7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlID0gcGFnZU51bWJlcjtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5UGF5bG9hZC5wYWdlTm8gPSB0aGlzLnJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2U7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVBheWxvYWQuc2VhcmNoVGV4dCA9IHRoaXMucmVzcG9uc2liaWxpdHlTZWFyY2hUZXh0O1xuICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdHlMaXN0KCk7XG4gIH1cblxuICBzZWxlY3RSZXNwb25zaWJpbGl0eShldmVudD86IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcyA9IHt9O1xuICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUlkID0gW107XG4gICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWRbMF0gPSBldmVudD8uUmVwb3J0SWQ7XG4gICAgY29uc3QgdmFsdWUgPSB7XG4gICAgICBSZXBvcnRJZDogZXZlbnQ/LlJlcG9ydElkLFxuICAgICAgUmVwb3J0TmFtZTpcbiAgICAgICAgKGV2ZW50Py5Db250cm9sSWQgPyBldmVudD8uQ29udHJvbElkICsgJyAnIDogJycpICsgZXZlbnQ/LlJlcG9ydE5hbWUsXG4gICAgICBub3RpZmljYXRpb25fcGVuZGluZzogZXZlbnQ/LlBlbmRpbmdGbGFnLFxuICAgICAgcmVwb3J0X25hbWU6IGV2ZW50Py5SZXBvcnROYW1lLFxuICAgICAgdHJhc2hfZmxhZzogZXZlbnQ/LlRyYXNoRmxhZyxcbiAgICAgIF9pZDogZXZlbnQ/LkVuY3J5cHRlZFJlcG9ydElkLFxuICAgIH07XG4gICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzID0gdmFsdWU7XG4gICAgdGhpcy5pc1ZhbGlkT2JqID0gdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzXG4gICAgICA/IE9iamVjdC5rZXlzKHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcyk/Lmxlbmd0aCA+IDBcbiAgICAgIDogZmFsc2U7XG4gIH1cblxuICBkZWxldGVJdGVtKGl0ZW06IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcyA9IHt9O1xuICAgIHRoaXMuaXNWYWxpZE9iaiA9IGZhbHNlO1xuICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUlkID0gW107XG4gIH1cbiAgc2F2ZShldmVudDogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzID0ge307XG4gICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWQgPSBbXTtcbiAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZFswXSA9IGV2ZW50WzBdPy5SZXBvcnRJZDtcbiAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXMgPSBldmVudFswXTtcbiAgICB0aGlzLmlzVmFsaWRPYmogPSB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXNcbiAgICAgID8gT2JqZWN0LmtleXModGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzKT8ubGVuZ3RoID4gMFxuICAgICAgOiBmYWxzZTtcbiAgICB0aGlzLmJhY2tCdXR0b24uZW1pdCgnYmFja1RvT25Db21wbGV0aW9uJyk7XG4gICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5LmVtaXQodGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzKTtcbiAgfVxuXG4gIG9uQ2xpY2tUYWJDaGFuZ2UodGFiOiBhbnkpIHtcbiAgICB0aGlzLmN1cnJlbnRUYWIgPSB0YWI/LnR5cGU7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVBheWxvYWQuZmlsdGVyRGF0YS5jb21wbGlhbmNlVHlwZSA9IFt0aGlzLmN1cnJlbnRUYWJdO1xuICAgIC8vIHRoaXMucmVzcG9uc2liaWxpdHlTZWFyY2hUZXh0ID0gJyc7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlID0gMTtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5UGF5bG9hZC5wYWdlTm8gPSB0aGlzLnJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2U7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVBheWxvYWQuc2VhcmNoVGV4dCA9IHRoaXMucmVzcG9uc2liaWxpdHlTZWFyY2hUZXh0O1xuICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdHlMaXN0KCk7XG4gIH1cblxuICBzZWFyY2goKSB7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVBheWxvYWQuc2VhcmNoVGV4dCA9IHRoaXMucmVzcG9uc2liaWxpdHlTZWFyY2hUZXh0O1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZSA9IDE7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVBheWxvYWQucGFnZU5vID0gdGhpcy5yZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlO1xuICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdHlMaXN0KCk7XG4gICAgdGhpcy5zZXRSZXNwb25zaWJpbGl0aWVzQ291bnQoKTtcbiAgfVxuXG4gIHNldFJlc3BvbnNpYmlsaXRpZXNDb3VudCgpIHtcbiAgICBjb25zdCBwYXlsb2FkID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLnJlc3BvbnNpYmlsaXR5UGF5bG9hZCkpO1xuICAgIHBheWxvYWQuZmlsdGVyRGF0YS5jb21wbGlhbmNlVHlwZSA9IFswLCAxLCAyLCAzXTtcbiAgICB0aGlzLmZyZXF1ZW5jeVNlcnZpY2VcbiAgICAgID8uZ2V0UmVzcG9uc2liaWxpdGllc0NvdW50KHBheWxvYWQpXG4gICAgICAuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5VGFiQ291bnQucmVndWxhdGlvbkNvdW50ID0gcmVzPy5yZWd1bGF0aW9uX2NvdW50O1xuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5VGFiQ291bnQuc3RhbmRhcmRDb3VudCA9IHJlcz8uc3RhbmRhcmRfY291bnQ7XG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlUYWJDb3VudC5pbnRlcm5hbENvdW50ID0gcmVzPy5pbnRlcm5hbF9jb3VudDtcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eVRhYkNvdW50Lm90aGVyc0NvdW50ID0gcmVzPy5vdGhlcnNfY291bnQ7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8vIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBpbml0aWFsaXplIGFsbCB0aGUgRmVhdHVyZSBmbGFnIGJhc2VkIHZhcmlhYmxlc1xuICBmZWF0dXJlRmxhZ0luaXRpYWxpemF0aW9uKCkge1xuICAgIHRoaXMuZmVhdHVyZUZsYWdfb25fY29tcGxldGlvbl9vZiA9IHRoaXMuZmVhdHVyZS5pc0ZlYXR1cmVFbmFibGVkKFxuICAgICAgJ2ZmX2ZyZXF1ZW5jeV9vbl9jb21wbGV0aW9uX29mJ1xuICAgICk7XG4gICAgdGhpcy5pc09uQ29tcGxldGlvblJjID0gdGhpcy5mZWF0dXJlLmlzRmVhdHVyZUVuYWJsZWQoXG4gICAgICAnZmZfb25fY29tcGxldGlvbl9yYydcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3RcIiBbY2xhc3MuYW5pbWF0ZV09XCJhbmltYXRpb25cIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QtaGVhZCB2eC1wLTMgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW5cIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgIDxpIGNsYXNzPVwiaWNvbnMgYXJyb3cgdngtZnMtMTYgdngtbGFiZWwtdHh0IHZ4LW1yLTFcIiAoY2xpY2spPVwiYmFjaygpXCJcbiAgICAgICAgPiYjeGU5MWQ7PC9pXG4gICAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTQgdngtZnctNTAwIHZ4LWxhYmVsLXR4dFwiPlNlbGVjdCBhIFJlc3BvbnNpYmlsaXR5PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QtYm9keVwiPlxuICAgIDwhLS0gPGFwcC1sb2FkZXItaW5saW5lICpuZ0lmPVwib3RoZXJzQ291bnQgPT09IDBcIj48L2FwcC1sb2FkZXItaW5saW5lPiAtLT5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cInJlc3BvbnNpYmlsaXRpZXNEYXRhPy5hbGxSZXNwb25zaWJpbGl0eUNvdW50ICE9PSAwXCJcbiAgICAgIGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtbWItMlwiXG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInZ4LXRhYmxlLWNhcmQgdngtYmctd2hpdGUgdngtZC1mbGV4IHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1hbGlnbi1jZW50ZXIgdngtbXItMSB2eC1wdC0yIHZ4LXBiLTIgdngtcGwtMyB2eC1wci0zIHZ4LXctMTAwXCJcbiAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJjdXJyZW50VGFiID09PSAxXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2tUYWJDaGFuZ2UocmVzcG9uc2liaWxpdHlUYWJzWzBdKVwiXG4gICAgICAgIFtjbGFzcy5wb2ludGVyLW5vbmVdPVwicmVzcG9uc2liaWxpdHlMb2FkZXJcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdCB2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICBjbGFzcz1cInZ4LXBhcmFncmFwaC10eHQgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlclwiXG4gICAgICAgICAgICAgID5SRUdVTEFUSU9OUzwvbGFiZWxcbiAgICAgICAgICAgID5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodCB2eC1kLWZsZXggdngtanVzdGlmeS1lbmQgdngtdy0xMDBcIj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJ2eC10eHQtd2hpdGUgdngtZnctNTAwIHZ4LWQtaW5saW5lLWJsb2NrIHZ4LXRleHQtY2VudGVyXCJcbiAgICAgICAgICAgID57eyByZXNwb25zaWJpbGl0eVRhYkNvdW50Py5yZWd1bGF0aW9uQ291bnQgfX08L3NwYW5cbiAgICAgICAgICA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidngtdGFibGUtY2FyZCB2eC1iZy13aGl0ZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlciB2eC1tci0xIHZ4LXB0LTIgdngtcGItMiB2eC1wbC0zIHZ4LXByLTMgdngtdy0xMDBcIlxuICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImN1cnJlbnRUYWIgPT09IDJcIlxuICAgICAgICAoY2xpY2spPVwib25DbGlja1RhYkNoYW5nZShyZXNwb25zaWJpbGl0eVRhYnNbMV0pXCJcbiAgICAgICAgW2NsYXNzLnBvaW50ZXItbm9uZV09XCJyZXNwb25zaWJpbGl0eUxvYWRlclwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0IHZ4LWQtYmxvY2sgdngtdy0xMDBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgIGNsYXNzPVwidngtcGFyYWdyYXBoLXR4dCB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyXCJcbiAgICAgICAgICAgICAgPlNUQU5EQVJEUzwvbGFiZWxcbiAgICAgICAgICAgID5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodCB2eC1kLWZsZXggdngtanVzdGlmeS1lbmQgdngtdy0xMDBcIj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJ2eC10eHQtd2hpdGUgdngtZnctNTAwIHZ4LWQtaW5saW5lLWJsb2NrIHZ4LXRleHQtY2VudGVyXCJcbiAgICAgICAgICAgID57eyByZXNwb25zaWJpbGl0eVRhYkNvdW50Py5zdGFuZGFyZENvdW50IH19PC9zcGFuXG4gICAgICAgICAgPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInZ4LXRhYmxlLWNhcmQgdngtYmctd2hpdGUgdngtZC1mbGV4IHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1hbGlnbi1jZW50ZXIgdngtbXItMSB2eC1wdC0yIHZ4LXBiLTIgdngtcGwtMyB2eC1wci0zIHZ4LXctMTAwXCJcbiAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJjdXJyZW50VGFiID09PSAzXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2tUYWJDaGFuZ2UocmVzcG9uc2liaWxpdHlUYWJzWzJdKVwiXG4gICAgICAgIFtjbGFzcy5wb2ludGVyLW5vbmVdPVwicmVzcG9uc2liaWxpdHlMb2FkZXJcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdCB2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICBjbGFzcz1cInZ4LXBhcmFncmFwaC10eHQgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlclwiXG4gICAgICAgICAgICAgID5JTlRFUk5BTCBDT05UUk9MUzwvbGFiZWxcbiAgICAgICAgICAgID5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodCB2eC1kLWZsZXggdngtanVzdGlmeS1lbmQgdngtdy0xMDBcIj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJ2eC10eHQtd2hpdGUgdngtZnctNTAwIHZ4LWQtaW5saW5lLWJsb2NrIHZ4LXRleHQtY2VudGVyXCJcbiAgICAgICAgICAgID57eyByZXNwb25zaWJpbGl0eVRhYkNvdW50Py5pbnRlcm5hbENvdW50IH19PC9zcGFuXG4gICAgICAgICAgPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInZ4LXRhYmxlLWNhcmQgdngtYmctd2hpdGUgdngtZC1mbGV4IHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1hbGlnbi1jZW50ZXIgdngtbXItMSB2eC1wdC0yIHZ4LXBiLTIgdngtcGwtMyB2eC1wci0zIHZ4LXctMTAwXCJcbiAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJjdXJyZW50VGFiID09PSAwXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2tUYWJDaGFuZ2UocmVzcG9uc2liaWxpdHlUYWJzWzNdKVwiXG4gICAgICAgIFtjbGFzcy5wb2ludGVyLW5vbmVdPVwicmVzcG9uc2liaWxpdHlMb2FkZXJcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdCB2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICBjbGFzcz1cInZ4LXBhcmFncmFwaC10eHQgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlclwiXG4gICAgICAgICAgICAgID5PVEhFUlM8L2xhYmVsXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHQgdngtZC1mbGV4IHZ4LWp1c3RpZnktZW5kIHZ4LXctMTAwXCI+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwidngtdHh0LXdoaXRlIHZ4LWZ3LTUwMCB2eC1kLWlubGluZS1ibG9jayB2eC10ZXh0LWNlbnRlclwiXG4gICAgICAgICAgICA+e3sgcmVzcG9uc2liaWxpdHlUYWJDb3VudD8ub3RoZXJzQ291bnQgfX08L3NwYW5cbiAgICAgICAgICA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1yZXNwb25zaWJpbGl0eS1saXN0LXNlYXJjaCB2eC1tYi0yXCI+XG4gICAgICA8aSBjbGFzcz1cImljb25zIHZ4LWZzLTEyXCI+JiN4ZTkwYjs8L2k+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cInJlc3BvbnNpYmlsaXR5U2VhcmNoVGV4dFwiXG4gICAgICAgIChrZXl1cC5lbnRlcik9XCJzZWFyY2goKVwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoIFJlc3BvbnNpYmlsaXRpZXNcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgICA8YXBwLXBhZ2luYXRpb25cbiAgICAgICpuZ0lmPVwiIXJlc3BvbnNpYmlsaXR5TG9hZGVyICYmIHJlc3BvbnNpYmlsaXRpZXNEYXRhPy50b3RhbF9wYWdlcyA+IDFcIlxuICAgICAgW3N0YXJ0XT1cInJlc3BvbnNpYmlsaXRpZXNEYXRhPy5yZXNwb25zaWJpbGl0aWVzX2Zyb21cIlxuICAgICAgW2VuZF09XCJyZXNwb25zaWJpbGl0aWVzRGF0YT8ucmVzcG9uc2liaWxpdGllc190b1wiXG4gICAgICBbdG90YWxdPVwicmVzcG9uc2liaWxpdGllc0RhdGE/LnRvdGFsX3Jlc3BvbnNpYmlsaXRpZXNcIlxuICAgICAgW3BhZ2VDb3VudF09XCJyZXNwb25zaWJpbGl0aWVzRGF0YT8udG90YWxfcGFnZXNcIlxuICAgICAgW2N1cnJlbnRQYWdlXT1cInJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2VcIlxuICAgICAgKHNlbGVjdGVkUGFnZSk9XCJyZXNwb25zaWJpbGl0eVBhZ2VDaGFuZ2UoJGV2ZW50KVwiXG4gICAgPlxuICAgIDwvYXBwLXBhZ2luYXRpb24+XG4gICAgPGFwcC1sb2FkZXItaW5saW5lICpuZ0lmPVwicmVzcG9uc2liaWxpdHlMb2FkZXJcIj48L2FwcC1sb2FkZXItaW5saW5lPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QtbWlkIHZ4LW1iLTRcIlxuICAgICAgW2NsYXNzLndpdGgtcGFnaW5hdGlvbl09XCJcbiAgICAgICAgIXJlc3BvbnNpYmlsaXR5TG9hZGVyICYmIHJlc3BvbnNpYmlsaXRpZXNEYXRhPy50b3RhbF9wYWdlcyA+IDFcbiAgICAgIFwiXG4gICAgPlxuICAgICAgPGFwcC1uby1kYXRhXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgcmVzcG9uc2liaWxpdGllc0RhdGE/LmRhdGE/Lmxlbmd0aCA9PT0gMCAmJiAhcmVzcG9uc2liaWxpdHlMb2FkZXJcbiAgICAgICAgXCJcbiAgICAgICAgW25vRGF0YUltYWdlXT1cIkFTU0VUUy5zZWFyY2hfZGF0YVwiXG4gICAgICAgIFtub0RhdGFUZXh0XT1cIidObyBEYXRhIHRvIERpc3BsYXknXCJcbiAgICAgID48L2FwcC1uby1kYXRhPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cInJlc3BvbnNpYmlsaXRpZXNEYXRhPy5kYXRhPy5sZW5ndGggPiAwICYmICFyZXNwb25zaWJpbGl0eUxvYWRlclwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1oZWFkZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAjXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTEgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHJlc3BvbnNpYmlsaXR5XCJcbiAgICAgICAgICAgICAgW2NsYXNzLndpdGgtcmNdPVwiaXNPbkNvbXBsZXRpb25SY1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIFJFU1BPTlNJQklMSVRJRVNcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgcmVzcG9uc2liaWxpdHktY2VudGVyXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJpc09uQ29tcGxldGlvblJjXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgUkVTUE9OU0lCSUxJVFkgQ0VOVEVSXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTEgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHByb2dyYW1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBQUk9HUkFNU1xuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtYm9keVwiPlxuICAgICAgICAgIDwhLS0gd2hlbiBjbGljayBvbiByYWRpbyB0aGVuIGFjdGl2ZSBjbGFzcyBzaG91bGQgYmUgdHJ1ZSAtLT5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInRhYmxlLXJvd1wiXG4gICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cIlxuICAgICAgICAgICAgICBzZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWQ/LmluY2x1ZGVzKHJlc3BvbnNpYmlsaXR5Py5SZXBvcnRJZClcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgbGV0IHJlc3BvbnNpYmlsaXR5IG9mIHJlc3BvbnNpYmlsaXRpZXNEYXRhPy5kYXRhO1xuICAgICAgICAgICAgICBsZXQgaSA9IGluZGV4XG4gICAgICAgICAgICBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgc2VyaWFsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwic3Itbm9cIlxuICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cInJlc3BvbnNpYmlsaXRpZXNEYXRhPy5yZXNwb25zaWJpbGl0aWVzX2Zyb20gKyBpXCJcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxuICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHJlc3BvbnNpYmlsaXRpZXNEYXRhPy5yZXNwb25zaWJpbGl0aWVzX2Zyb20gKyBpIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8YXBwLWNzLXJhZGlvXG4gICAgICAgICAgICAgICAgW25hbWVdPVwiJ3Jlc3BvbnNpYmlsaXR5J1wiXG4gICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiXG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWQ/LmluY2x1ZGVzKHJlc3BvbnNpYmlsaXR5Py5SZXBvcnRJZClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIChjaGVja2VkRXZlbnQpPVwic2VsZWN0UmVzcG9uc2liaWxpdHkocmVzcG9uc2liaWxpdHkpXCJcbiAgICAgICAgICAgICAgPjwvYXBwLWNzLXJhZGlvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHJlc3BvbnNpYmlsaXR5XCJcbiAgICAgICAgICAgICAgW2NsYXNzLndpdGgtcmNdPVwiaXNPbkNvbXBsZXRpb25SY1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInZhbHVlIHZ4LWZzLTEyIHZ4LWxhYmVsLXR4dCB2eC1wci01XCJcbiAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJyZXNwb25zaWJpbGl0eT8uUmVwb3J0TmFtZVwiXG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHJlc3BvbnNpYmlsaXR5Py5Db250cm9sSWQgfX0ge3sgcmVzcG9uc2liaWxpdHk/LlJlcG9ydE5hbWUgfX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgcmVzcG9uc2liaWxpdHktY2VudGVyXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJpc09uQ29tcGxldGlvblJjXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3JhbS1pbm5lciB2eC1kLWJsb2NrXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicHJvZ3JhbS12YWx1ZSB2eC1mcy0xMSB2eC1sYWJlbC10eHQgdngtcHItNVwiXG4gICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIlxuICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Py5SQ19kZXRhaWxzX2FycmF5Py5sZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgICAgID8gcmVzcG9uc2liaWxpdHk/LlJDX2RldGFpbHNfYXJyYXlbMF0/LnJjX25hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgIDogJy0tJ1xuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Py5SQ19kZXRhaWxzX2FycmF5Py5sZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgICAgID8gcmVzcG9uc2liaWxpdHk/LlJDX2RldGFpbHNfYXJyYXlbMF0/LnJjX25hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgIDogXCItLVwiXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgICByZXNwb25zaWJpbGl0eT8uUkNfZGV0YWlsc19hcnJheT8ubGVuZ3RoICYmXG4gICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2liaWxpdHk/LlJDX2RldGFpbHNfYXJyYXkgYXMgcmNBcnJheVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tcGFydCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LXByLTNcIlxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicmNBcnJheVswXT8ucGFyZW50X3JjX25hbWVzPy5sZW5ndGhcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tYm94IHZ4LWZzLTkgdngtZnctNjAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbXItMiB2eC1saC0zXCJcbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBXaXRoaW5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi12YWx1ZSB2eC1mcy0xMSB2eC1wYXJhZ3JhcGgtdHh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICByY0FycmF5WzBdPy5wYXJlbnRfcmNfbmFtZXMgfCByY1RyZWVUb29sVGlwXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyByY0FycmF5WzBdPy5wYXJlbnRfcmNfbmFtZXMgfCByY1RyZWVUb29sVGlwIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJyZXNwb25zaWJpbGl0eT8uUkNfZGV0YWlsc19hcnJheT8ubGVuZ3RoID4gMVwiXG4gICAgICAgICAgICAgICAgICBhcHBQb3BvdmVyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwicmNQb3B1cC5wb3BvdmVyKClcIlxuICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwcm9ncmFtLWNvdW50IHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC10eHQtd2hpdGUgdngtcC0wIHZ4LXBsLTEgdngtcHItMSB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgK3t7IHJlc3BvbnNpYmlsaXR5Py5SQ19kZXRhaWxzX2FycmF5Py5sZW5ndGggLSAxIH19XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGFwcC1wb3BvdmVyICNyY1BvcHVwPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndmLWFjdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImFjdGlvbi1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGRhdGEgb2YgcmVzcG9uc2liaWxpdHk/LlJDX2RldGFpbHNfYXJyYXk/LnNsaWNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2liaWxpdHk/LlJDX2RldGFpbHNfYXJyYXk/Lmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItY2FyZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZC1ibG9jayB2eC13LTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImRhdGE/LnJjX25hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyBkYXRhPy5yY19uYW1lIH19PC9zcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZGF0YT8ucGFyZW50X3JjX25hbWVzPy5sZW5ndGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tcGFydCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LXByLTNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tYm94IHZ4LWZzLTkgdngtZnctNjAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbXItMiB2eC1saC0zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2l0aGluXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tdmFsdWUgdngtZnMtMTEgdngtcGFyYWdyYXBoLXR4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE/LnBhcmVudF9yY19uYW1lcyB8IHJjVHJlZVRvb2xUaXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZGF0YT8ucGFyZW50X3JjX25hbWVzIHwgcmNUcmVlVG9vbFRpcCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvYXBwLXBvcG92ZXI+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHByb2dyYW1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3JhbS1pbm5lciB2eC1kLWJsb2NrXCI+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwcm9ncmFtLXZhbHVlIHZ4LWZzLTExIHZ4LWxhYmVsLXR4dCB2eC1wci01XCJcbiAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIlxuICAgICAgICAgICAgICAgICAgICByZXNwb25zaWJpbGl0eT8uY2F0ZWdvcnlfZGV0YWlsc19hcnJheVswXT8uY2F0ZWdvcnlfbmFtZSA/P1xuICAgICAgICAgICAgICAgICAgICAnLS0nXG4gICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICByZXNwb25zaWJpbGl0eT8uY2F0ZWdvcnlfZGV0YWlsc19hcnJheVswXT8uY2F0ZWdvcnlfbmFtZSA/P1xuICAgICAgICAgICAgICAgICAgICAgIFwiLS1cIlxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICByZXNwb25zaWJpbGl0eT8uY2F0ZWdvcnlfZGV0YWlsc19hcnJheVswXVxuICAgICAgICAgICAgICAgICAgICAgID8ucGFyZW50X2NhdGVnb3J5X25hbWU/Lmxlbmd0aFxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2l0aGluLXBhcnQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1wci0zXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2l0aGluLWJveCB2eC1mcy05IHZ4LWZ3LTYwMCB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LW1yLTIgdngtbGgtMyB2eC10eHQtYmx1ZVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIFdpdGhpblxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2l0aGluLXZhbHVlIHZ4LWZzLTExIHZ4LXBhcmFncmFwaC10eHRcIlxuICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJcbiAgICAgICAgICAgICAgICAgICAgICByZXNwb25zaWJpbGl0eT8uY2F0ZWdvcnlfZGV0YWlsc19hcnJheVswXT8ucGFyZW50X2NhdGVnb3J5X25hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgID8uc2xpY2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgPy5yZXZlcnNlKClcbiAgICAgICAgICAgICAgICAgICAgICAgID8uam9pbignIDwgJylcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICByZXNwb25zaWJpbGl0eT8uY2F0ZWdvcnlfZGV0YWlsc19hcnJheVswXT8ucGFyZW50X2NhdGVnb3J5X25hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgID8uc2xpY2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgPy5yZXZlcnNlKClcbiAgICAgICAgICAgICAgICAgICAgICAgID8uam9pbihcIiA8IFwiKVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJyZXNwb25zaWJpbGl0eT8uY2F0ZWdvcnlfZGV0YWlsc19hcnJheT8ubGVuZ3RoID49IDJcIlxuICAgICAgICAgICAgICAgIGFwcFBvcG92ZXJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwicHJvZ3JhbVBvcHVwLnBvcG92ZXIoKVwiXG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicHJvZ3JhbS1jb3VudCB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHh0LXdoaXRlIHZ4LXAtMCB2eC1wbC0xIHZ4LXByLTEgdngtbS0wIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXJcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgK3t7IHJlc3BvbnNpYmlsaXR5Py5jYXRlZ29yeV9kZXRhaWxzX2FycmF5Py5sZW5ndGggLSAxIH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YXBwLXBvcG92ZXIgI3Byb2dyYW1Qb3B1cD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2YtYWN0aW9uLWxpc3RcIj5cbiAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImFjdGlvbi1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHN1YkNhdGVnb3J5IG9mIHJlc3BvbnNpYmlsaXR5Py5jYXRlZ29yeV9kZXRhaWxzX2FycmF5XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgc2xpY2UgOiAxXG4gICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItY2FyZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtYmxvY2sgdngtdy0xMDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJzdWJDYXRlZ29yeT8uY2F0ZWdvcnlfbmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgc3ViQ2F0ZWdvcnk/LmNhdGVnb3J5X25hbWUgfX08L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Py5jYXRlZ29yeV9kZXRhaWxzX2FycmF5WzBdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8ucGFyZW50X2NhdGVnb3J5X25hbWU/Lmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tcGFydCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LXByLTNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tYm94IHZ4LWZzLTkgdngtZnctNjAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbXItMiB2eC1saC0zIHZ4LXR4dC1ibHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaXRoaW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi12YWx1ZSB2eC1mcy0xMSB2eC1wYXJhZ3JhcGgtdHh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zaWJpbGl0eT8uY2F0ZWdvcnlfZGV0YWlsc19hcnJheVswXT8ucGFyZW50X2NhdGVnb3J5X25hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LnNsaWNlKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LnJldmVyc2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8uam9pbignIDwgJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Py5jYXRlZ29yeV9kZXRhaWxzX2FycmF5WzBdPy5wYXJlbnRfY2F0ZWdvcnlfbmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8uc2xpY2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8ucmV2ZXJzZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5qb2luKFwiIDwgXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9hcHAtcG9wb3Zlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxhcHAtZmxvYXRpbmctYmFyXG4gICAgICBbc2VsZWN0ZWREYXRhXT1cImlzVmFsaWRPYmogPyBbc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlc10gOiBbXVwiXG4gICAgICBbZGlzcGxheUVsZW1lbnRLZXldPVwiJ1JlcG9ydE5hbWUnXCJcbiAgICAgIChjbG9zZUxpc3QpPVwiYmFjaygpXCJcbiAgICAgIChjbG9zZUV2ZW50KT1cInNhdmUoJGV2ZW50KVwiXG4gICAgICAoZGVsZXRlRXZlbnQpPVwiZGVsZXRlSXRlbSgkZXZlbnQpXCJcbiAgICAgIFtpc0Rpc2FibGVkXT1cIiFpc1ZhbGlkT2JqXCJcbiAgICA+PC9hcHAtZmxvYXRpbmctYmFyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
227
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QvZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QvZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBTzdELE1BQU0sT0FBTyxvQ0FBb0M7SUEyRC9DLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBeEQ3QyxrQ0FBNkIsR0FBUSxFQUFFLENBQUM7UUFDakQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixXQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ04sZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEMsMkJBQXNCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN0RCx5QkFBb0IsR0FBUSxFQUFFLENBQUM7UUFDL0IseUJBQW9CLEdBQVksS0FBSyxDQUFDO1FBQ3RDLDZCQUF3QixHQUFRLEVBQUUsQ0FBQztRQUVuQyxlQUFVLEdBQUcsQ0FBQyxDQUFD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RUFBRSxnQkFBZ0IsQ0FBQztZQUNwRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYSxHQUFHLEdBQUcsRUFBRSxjQUFjLENBQUM7WUFDaEUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGFBQWEsR0FBRyxHQUFHLEVBQUUsY0FBYyxDQUFDO1lBQ2hFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxXQUFXLEdBQUcsR0FBRyxFQUFFLFlBQVksQ0FBQztRQUM5RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCwyRUFBMkU7SUFDM0UseUJBQXlCO1FBQ3ZCLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUMvRCwrQkFBK0IsQ0FDaEMsQ0FBQztRQUNGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUNuRCxxQkFBcUIsQ0FDdEIsQ0FBQztJQUNKLENBQUM7K0dBM05VLG9DQUFvQzttR0FBcEMsb0NBQW9DLGdVQ1RqRCxtM21CQWdkQTs7NEZEdmNhLG9DQUFvQztrQkFMaEQsU0FBUzsrQkFDRSxtQ0FBbUM7dUdBS3BDLDRCQUE0QjtzQkFBcEMsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csNkJBQTZCO3NCQUFyQyxLQUFLO2dCQUdJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csc0JBQXNCO3NCQUEvQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRnJlcXVlbmN5U2VydmljZSB9IGZyb20gJy4uL2ZyZXF1ZW5jeS5zZXJ2aWNlJztcbmltcG9ydCB7IEFTU0VUUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9hc3NldHMuY29uc3RhbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWZyZXF1ZW5jeS1yZXNwb25zaWJpbGl0eS1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZyZXF1ZW5jeS1yZXNwb25zaWJpbGl0eS1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QuY29tcG9uZW50Lmxlc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRnJlcXVlbmN5UmVzcG9uc2liaWxpdHlMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgb25Db21wbGV0aW9uT2ZSZXNwb25zaWJpbGl0eTogYW55O1xuICBASW5wdXQoKSBmZWF0dXJlOiBhbnk7XG4gIEBJbnB1dCgpIHNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzOiBhbnkgPSBbXTtcbiAgYW5pbWF0aW9uID0gZmFsc2U7XG4gIEFTU0VUUyA9IEFTU0VUUztcbiAgQE91dHB1dCgpIGJhY2tCdXR0b24gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBzZWxlY3RlZFJlc3BvbnNpYmlsaXR5ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICByZXNwb25zaWJpbGl0aWVzRGF0YTogYW55ID0ge307XG4gIHJlc3BvbnNpYmlsaXR5TG9hZGVyOiBib29sZWFuID0gZmFsc2U7XG4gIHNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZDogYW55ID0gW107XG4gIHNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXM6IGFueTtcbiAgY3VycmVudFRhYiA9IDE7XG4gIHJlc3BvbnNpYmlsaXR5VGFiczogYW55ID0gW1xuICAgIHsgbmFtZTogJ1JFR1VMQVRJT05TJywgdHlwZTogMSB9LFxuICAgIHsgbmFtZTogJ1NUQU5EQVJEUycsIHR5cGU6IDIgfSxcbiAgICB7IG5hbWU6ICdJTlRFUk5BTCBDT05UUk9MUycsIHR5cGU6IDMgfSxcbiAgICB7IG5hbWU6ICdPVEhFUlMnLCB0eXBlOiAwIH0sXG4gIF07XG4gIHJlc3BvbnNpYmlsaXR5VGFiQ291bnQgPSB7XG4gICAgcmVndWxhdGlvbkNvdW50OiAwLFxuICAgIHN0YW5kYXJkQ291bnQ6IDAsXG4gICAgaW50ZXJuYWxDb3VudDogMCxcbiAgICBvdGhlcnNDb3VudDogMCxcbiAgfTtcbiAgcmVzcG9uc2liaWxpdHlTZWFyY2hUZXh0OiBzdHJpbmcgPSAnJztcbiAgcmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZTogbnVtYmVyID0gMTtcbiAgaXNWYWxpZE9iaiA9IGZhbHNlO1xuXG4gIHJlc3BvbnNpYmlsaXR5UGF5bG9hZCA9IHtcbiAgICB0eXBlOiAnYWN0aXZlJyxcbiAgICBwYWdpbmF0aW9uVHlwZTogJ2xhcmdlJyxcbiAgICBhOiAnJyxcbiAgICBzZWFyY2hUZXh0OiAnJyxcbiAgICBmaWx0ZXJEYXRhOiB7XG4gICAgICBhcHBMaXN0OiBbXSxcbiAgICAgIHJpc2tJZHM6IFtdLFxuICAgICAgcmV2aWV3ZXJJZDogW10sXG4gICAgICByZXNwb25zaWJpbGl0eUNlbnRlcjogW10sXG4gICAgICBlbnRydXN0ZWRCeTogW10sXG4gICAgICBlbnRydXN0ZWRUbzogW10sXG4gICAgICByZXNwb25zaWJpbGl0eUNhdGVnb3J5OiBbXSxcbiAgICAgIGNvbXBsaWFuY2VUeXBlOiBbMV0sXG4gICAgfSxcbiAgICBwYWdlTm86IDEsXG4gICAgc29ydE9iajoge1xuICAgICAgc29ydEJ5OiAnJyxcbiAgICAgIHR5cGU6ICcnLFxuICAgIH0sXG4gICAgcGFnZU5hbWU6ICdvdmVydmlldycsXG4gIH07XG4gIHJlc3BvbnNpYmlsaXR5TGlzdDogYW55O1xuICByZWd1bGF0aW9uQ291bnQ6IGFueSA9IDA7XG4gIHN0YW5kYXJkc0NvdW50OiBhbnkgPSAwO1xuICBpbnRlcm5hbHNDb3VudDogYW55ID0gMDtcbiAgb3RoZXJzQ291bnQ6IGFueSA9IDA7XG4gIGZlYXR1cmVGbGFnX29uX2NvbXBsZXRpb25fb2Y6IGFueTtcbiAgaXNPbkNvbXBsZXRpb25SYzogYm9vbGVhbiA9IGZhbHNlO1xuICBjbG9zZTogYW55O1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZyZXF1ZW5jeVNlcnZpY2U6IEZyZXF1ZW5jeVNlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZmVhdHVyZUZsYWdJbml0aWFsaXphdGlvbigpO1xuICAgIGlmICh0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZFswXSA9IE9iamVjdC5rZXlzKFxuICAgICAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzXG4gICAgICApPy5sZW5ndGhcbiAgICAgICAgPyB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzPy5SZXBvcnRJZFxuICAgICAgICA6IFtdO1xuICAgICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzID0gT2JqZWN0LmtleXMoXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eURldGFpbHNcbiAgICAgICk/Lmxlbmd0aFxuICAgICAgICA/IHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eURldGFpbHNcbiAgICAgICAgOiB7fTtcbiAgICAgIHRoaXMuaXNWYWxpZE9iaiA9IHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eURldGFpbHNcbiAgICAgICAgPyBPYmplY3Qua2V5cyh0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzKT8ubGVuZ3RoID4gMFxuICAgICAgICA6IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLmFuaW1hdGlvbiA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xuICAgIH0sIDMwMCk7XG4gICAgLy8gdGhpcy5maWx0ZXJCeVJlc3BvbnNpYmlsaXR5VHlwZSgyKTtcbiAgICAvLyB0aGlzLmZpbHRlckJ5UmVzcG9uc2liaWxpdHlUeXBlKDMpO1xuICAgIC8vIHRoaXMuZmlsdGVyQnlSZXNwb25zaWJpbGl0eVR5cGUoMCk7XG4gICAgLy8gdGhpcy5maWx0ZXJCeVJlc3BvbnNpYmlsaXR5VHlwZSgxKTtcbiAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXR5TGlzdCgpO1xuICAgIHRoaXMuc2V0UmVzcG9uc2liaWxpdGllc0NvdW50KCk7XG4gIH1cblxuICBiYWNrKCkge1xuICAgIHRoaXMuYmFja0J1dHRvbi5lbWl0KCdiYWNrVG9PbkNvbXBsZXRpb24nKTtcbiAgfVxuXG4gIGZpbHRlckJ5UmVzcG9uc2liaWxpdHlUeXBlKHR5cGU6IG51bWJlcikge1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlQYXlsb2FkLmZpbHRlckRhdGEuY29tcGxpYW5jZVR5cGUgPSBbXTtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5UGF5bG9hZC5maWx0ZXJEYXRhLmNvbXBsaWFuY2VUeXBlLnB1c2godHlwZSk7XG4gICAgdGhpcy5mcmVxdWVuY3lTZXJ2aWNlXG4gICAgICA/LmdldFJlc3BvbnNpYmlsaXR5TGlzdCh0aGlzLnJlc3BvbnNpYmlsaXR5UGF5bG9hZClcbiAgICAgIC5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlMaXN0ID0gcmVzWzBdO1xuICAgICAgICBpZiAodGhpcy5yZXNwb25zaWJpbGl0eUxpc3QpIHtcbiAgICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgdGhpcy5vdGhlcnNDb3VudCA9XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUxpc3RbJ3RvdGFsX3Jlc3BvbnNpYmlsaXRpZXMnXTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgIHRoaXMucmVndWxhdGlvbkNvdW50ID1cbiAgICAgICAgICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5TGlzdFsndG90YWxfcmVzcG9uc2liaWxpdGllcyddO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgICAgdGhpcy5zdGFuZGFyZHNDb3VudCA9XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUxpc3RbJ3RvdGFsX3Jlc3BvbnNpYmlsaXRpZXMnXTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxzQ291bnQgPVxuICAgICAgICAgICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlMaXN0Wyd0b3RhbF9yZXNwb25zaWJpbGl0aWVzJ107XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIGdldFJlc3BvbnNpYmlsaXR5TGlzdCgpIHtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5TG9hZGVyID0gdHJ1ZTtcbiAgICB0aGlzLmZyZXF1ZW5jeVNlcnZpY2VcbiAgICAgID8uZ2V0UmVzcG9uc2liaWxpdHlMaXN0KHRoaXMucmVzcG9uc2liaWxpdHlQYXlsb2FkKVxuICAgICAgLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0aWVzRGF0YSA9IHJlc1swXTtcblxuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5TG9hZGVyID0gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIHJlc3BvbnNpYmlsaXR5UGFnZUNoYW5nZShwYWdlTnVtYmVyOiBudW1iZXIpIHtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2UgPSBwYWdlTnVtYmVyO1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlQYXlsb2FkLnBhZ2VObyA9IHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZTtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5UGF5bG9hZC5zZWFyY2hUZXh0ID0gdGhpcy5yZXNwb25zaWJpbGl0eVNlYXJjaFRleHQ7XG4gICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0eUxpc3QoKTtcbiAgfVxuXG4gIHNlbGVjdFJlc3BvbnNpYmlsaXR5KGV2ZW50PzogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzID0ge307XG4gICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWQgPSBbXTtcbiAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZFswXSA9IGV2ZW50Py5SZXBvcnRJZDtcbiAgICBjb25zdCB2YWx1ZSA9IHtcbiAgICAgIFJlcG9ydElkOiBldmVudD8uUmVwb3J0SWQsXG4gICAgICBSZXBvcnROYW1lOlxuICAgICAgICAoZXZlbnQ/LkNvbnRyb2xJZCA/IGV2ZW50Py5Db250cm9sSWQgKyAnICcgOiAnJykgKyBldmVudD8uUmVwb3J0TmFtZSxcbiAgICAgIG5vdGlmaWNhdGlvbl9wZW5kaW5nOiBldmVudD8uUGVuZGluZ0ZsYWcsXG4gICAgICByZXBvcnRfbmFtZTogZXZlbnQ/LlJlcG9ydE5hbWUsXG4gICAgICB0cmFzaF9mbGFnOiBldmVudD8uVHJhc2hGbGFnLFxuICAgICAgX2lkOiBldmVudD8uRW5jcnlwdGVkUmVwb3J0SWQsXG4gICAgfTtcbiAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXMgPSB2YWx1ZTtcbiAgICB0aGlzLmlzVmFsaWRPYmogPSB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXNcbiAgICAgID8gT2JqZWN0LmtleXModGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzKT8ubGVuZ3RoID4gMFxuICAgICAgOiBmYWxzZTtcbiAgfVxuXG4gIGRlbGV0ZUl0ZW0oaXRlbTogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzID0ge307XG4gICAgdGhpcy5pc1ZhbGlkT2JqID0gZmFsc2U7XG4gICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWQgPSBbXTtcbiAgfVxuICBzYXZlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXMgPSB7fTtcbiAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZCA9IFtdO1xuICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUlkWzBdID0gZXZlbnRbMF0/LlJlcG9ydElkO1xuICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcyA9IGV2ZW50WzBdO1xuICAgIHRoaXMuaXNWYWxpZE9iaiA9IHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlc1xuICAgICAgPyBPYmplY3Qua2V5cyh0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXMpPy5sZW5ndGggPiAwXG4gICAgICA6IGZhbHNlO1xuICAgIHRoaXMuYmFja0J1dHRvbi5lbWl0KCdiYWNrVG9PbkNvbXBsZXRpb24nKTtcbiAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHkuZW1pdCh0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXMpO1xuICB9XG5cbiAgb25DbGlja1RhYkNoYW5nZSh0YWI6IGFueSkge1xuICAgIHRoaXMuY3VycmVudFRhYiA9IHRhYj8udHlwZTtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5UGF5bG9hZC5maWx0ZXJEYXRhLmNvbXBsaWFuY2VUeXBlID0gW3RoaXMuY3VycmVudFRhYl07XG4gICAgLy8gdGhpcy5yZXNwb25zaWJpbGl0eVNlYXJjaFRleHQgPSAnJztcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2UgPSAxO1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlQYXlsb2FkLnBhZ2VObyA9IHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZTtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5UGF5bG9hZC5zZWFyY2hUZXh0ID0gdGhpcy5yZXNwb25zaWJpbGl0eVNlYXJjaFRleHQ7XG4gICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0eUxpc3QoKTtcbiAgfVxuXG4gIHNlYXJjaCgpIHtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5UGF5bG9hZC5zZWFyY2hUZXh0ID0gdGhpcy5yZXNwb25zaWJpbGl0eVNlYXJjaFRleHQ7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlID0gMTtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5UGF5bG9hZC5wYWdlTm8gPSB0aGlzLnJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2U7XG4gICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0eUxpc3QoKTtcbiAgICB0aGlzLnNldFJlc3BvbnNpYmlsaXRpZXNDb3VudCgpO1xuICB9XG5cbiAgc2V0UmVzcG9uc2liaWxpdGllc0NvdW50KCkge1xuICAgIGNvbnN0IHBheWxvYWQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMucmVzcG9uc2liaWxpdHlQYXlsb2FkKSk7XG4gICAgcGF5bG9hZC5maWx0ZXJEYXRhLmNvbXBsaWFuY2VUeXBlID0gWzAsIDEsIDIsIDNdO1xuICAgIHRoaXMuZnJlcXVlbmN5U2VydmljZVxuICAgICAgPy5nZXRSZXNwb25zaWJpbGl0aWVzQ291bnQocGF5bG9hZClcbiAgICAgIC5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlUYWJDb3VudC5yZWd1bGF0aW9uQ291bnQgPSByZXM/LnJlZ3VsYXRpb25fY291bnQ7XG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlUYWJDb3VudC5zdGFuZGFyZENvdW50ID0gcmVzPy5zdGFuZGFyZF9jb3VudDtcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eVRhYkNvdW50LmludGVybmFsQ291bnQgPSByZXM/LmludGVybmFsX2NvdW50O1xuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5VGFiQ291bnQub3RoZXJzQ291bnQgPSByZXM/Lm90aGVyc19jb3VudDtcbiAgICAgIH0pO1xuICB9XG5cbiAgLy8gVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGluaXRpYWxpemUgYWxsIHRoZSBGZWF0dXJlIGZsYWcgYmFzZWQgdmFyaWFibGVzXG4gIGZlYXR1cmVGbGFnSW5pdGlhbGl6YXRpb24oKSB7XG4gICAgdGhpcy5mZWF0dXJlRmxhZ19vbl9jb21wbGV0aW9uX29mID0gdGhpcy5mZWF0dXJlLmlzRmVhdHVyZUVuYWJsZWQoXG4gICAgICAnZmZfZnJlcXVlbmN5X29uX2NvbXBsZXRpb25fb2YnXG4gICAgKTtcbiAgICB0aGlzLmlzT25Db21wbGV0aW9uUmMgPSB0aGlzLmZlYXR1cmUuaXNGZWF0dXJlRW5hYmxlZChcbiAgICAgICdmZl9vbl9jb21wbGV0aW9uX3JjJ1xuICAgICk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktcmVzcG9uc2liaWxpdHktbGlzdFwiIFtjbGFzcy5hbmltYXRlXT1cImFuaW1hdGlvblwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJmcmVxdWVuY3ktcmVzcG9uc2liaWxpdHktbGlzdC1oZWFkIHZ4LXAtMyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlblwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgPGkgY2xhc3M9XCJpY29ucyBhcnJvdyB2eC1mcy0xNiB2eC1sYWJlbC10eHQgdngtbXItMVwiIChjbGljayk9XCJiYWNrKClcIlxuICAgICAgICA+JiN4ZTkxZDs8L2lcbiAgICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+U2VsZWN0IGEgUmVzcG9uc2liaWxpdHk8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktcmVzcG9uc2liaWxpdHktbGlzdC1ib2R5XCI+XG4gICAgPCEtLSA8YXBwLWxvYWRlci1pbmxpbmUgKm5nSWY9XCJvdGhlcnNDb3VudCA9PT0gMFwiPjwvYXBwLWxvYWRlci1pbmxpbmU+IC0tPlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwicmVzcG9uc2liaWxpdGllc0RhdGE/LmFsbFJlc3BvbnNpYmlsaXR5Q291bnQgIT09IDBcIlxuICAgICAgY2xhc3M9XCJ2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1tYi0yXCJcbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidngtdGFibGUtY2FyZCB2eC1iZy13aGl0ZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlciB2eC1tci0xIHZ4LXB0LTIgdngtcGItMiB2eC1wbC0zIHZ4LXByLTMgdngtdy0xMDBcIlxuICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImN1cnJlbnRUYWIgPT09IDFcIlxuICAgICAgICAoY2xpY2spPVwib25DbGlja1RhYkNoYW5nZShyZXNwb25zaWJpbGl0eVRhYnNbMF0pXCJcbiAgICAgICAgW2NsYXNzLnBvaW50ZXItbm9uZV09XCJyZXNwb25zaWJpbGl0eUxvYWRlclwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0IHZ4LWQtYmxvY2sgdngtdy0xMDBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgIGNsYXNzPVwidngtcGFyYWdyYXBoLXR4dCB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyXCJcbiAgICAgICAgICAgICAgPlJFR1VMQVRJT05TPC9sYWJlbFxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0IHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWVuZCB2eC13LTEwMFwiPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cInZ4LXR4dC13aGl0ZSB2eC1mdy01MDAgdngtZC1pbmxpbmUtYmxvY2sgdngtdGV4dC1jZW50ZXJcIlxuICAgICAgICAgICAgPnt7IHJlc3BvbnNpYmlsaXR5VGFiQ291bnQ/LnJlZ3VsYXRpb25Db3VudCB9fTwvc3BhblxuICAgICAgICAgID5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ2eC10YWJsZS1jYXJkIHZ4LWJnLXdoaXRlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyIHZ4LW1yLTEgdngtcHQtMiB2eC1wYi0yIHZ4LXBsLTMgdngtcHItMyB2eC13LTEwMFwiXG4gICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiY3VycmVudFRhYiA9PT0gMlwiXG4gICAgICAgIChjbGljayk9XCJvbkNsaWNrVGFiQ2hhbmdlKHJlc3BvbnNpYmlsaXR5VGFic1sxXSlcIlxuICAgICAgICBbY2xhc3MucG9pbnRlci1ub25lXT1cInJlc3BvbnNpYmlsaXR5TG9hZGVyXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQgdngtZC1ibG9jayB2eC13LTEwMFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgY2xhc3M9XCJ2eC1wYXJhZ3JhcGgtdHh0IHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2UgdngtZC1mbGV4IHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1hbGlnbi1jZW50ZXJcIlxuICAgICAgICAgICAgICA+U1RBTkRBUkRTPC9sYWJlbFxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0IHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWVuZCB2eC13LTEwMFwiPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cInZ4LXR4dC13aGl0ZSB2eC1mdy01MDAgdngtZC1pbmxpbmUtYmxvY2sgdngtdGV4dC1jZW50ZXJcIlxuICAgICAgICAgICAgPnt7IHJlc3BvbnNpYmlsaXR5VGFiQ291bnQ/LnN0YW5kYXJkQ291bnQgfX08L3NwYW5cbiAgICAgICAgICA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidngtdGFibGUtY2FyZCB2eC1iZy13aGl0ZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlciB2eC1tci0xIHZ4LXB0LTIgdngtcGItMiB2eC1wbC0zIHZ4LXByLTMgdngtdy0xMDBcIlxuICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImN1cnJlbnRUYWIgPT09IDNcIlxuICAgICAgICAoY2xpY2spPVwib25DbGlja1RhYkNoYW5nZShyZXNwb25zaWJpbGl0eVRhYnNbMl0pXCJcbiAgICAgICAgW2NsYXNzLnBvaW50ZXItbm9uZV09XCJyZXNwb25zaWJpbGl0eUxvYWRlclwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0IHZ4LWQtYmxvY2sgdngtdy0xMDBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgIGNsYXNzPVwidngtcGFyYWdyYXBoLXR4dCB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyXCJcbiAgICAgICAgICAgICAgPklOVEVSTkFMIENPTlRST0xTPC9sYWJlbFxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0IHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWVuZCB2eC13LTEwMFwiPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cInZ4LXR4dC13aGl0ZSB2eC1mdy01MDAgdngtZC1pbmxpbmUtYmxvY2sgdngtdGV4dC1jZW50ZXJcIlxuICAgICAgICAgICAgPnt7IHJlc3BvbnNpYmlsaXR5VGFiQ291bnQ/LmludGVybmFsQ291bnQgfX08L3NwYW5cbiAgICAgICAgICA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidngtdGFibGUtY2FyZCB2eC1iZy13aGl0ZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlciB2eC1tci0xIHZ4LXB0LTIgdngtcGItMiB2eC1wbC0zIHZ4LXByLTMgdngtdy0xMDBcIlxuICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImN1cnJlbnRUYWIgPT09IDBcIlxuICAgICAgICAoY2xpY2spPVwib25DbGlja1RhYkNoYW5nZShyZXNwb25zaWJpbGl0eVRhYnNbM10pXCJcbiAgICAgICAgW2NsYXNzLnBvaW50ZXItbm9uZV09XCJyZXNwb25zaWJpbGl0eUxvYWRlclwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0IHZ4LWQtYmxvY2sgdngtdy0xMDBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgIGNsYXNzPVwidngtcGFyYWdyYXBoLXR4dCB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyXCJcbiAgICAgICAgICAgICAgPk9USEVSUzwvbGFiZWxcbiAgICAgICAgICAgID5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodCB2eC1kLWZsZXggdngtanVzdGlmeS1lbmQgdngtdy0xMDBcIj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJ2eC10eHQtd2hpdGUgdngtZnctNTAwIHZ4LWQtaW5saW5lLWJsb2NrIHZ4LXRleHQtY2VudGVyXCJcbiAgICAgICAgICAgID57eyByZXNwb25zaWJpbGl0eVRhYkNvdW50Py5vdGhlcnNDb3VudCB9fTwvc3BhblxuICAgICAgICAgID5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3Qtc2VhcmNoIHZ4LW1iLTJcIj5cbiAgICAgIDxpIGNsYXNzPVwiaWNvbnMgdngtZnMtMTJcIj4mI3hlOTBiOzwvaT5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIFsobmdNb2RlbCldPVwicmVzcG9uc2liaWxpdHlTZWFyY2hUZXh0XCJcbiAgICAgICAgKGtleXVwLmVudGVyKT1cInNlYXJjaCgpXCJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2ggUmVzcG9uc2liaWxpdGllc1wiXG4gICAgICAvPlxuICAgIDwvZGl2PlxuICAgIDxhcHAtcGFnaW5hdGlvblxuICAgICAgKm5nSWY9XCIhcmVzcG9uc2liaWxpdHlMb2FkZXIgJiYgcmVzcG9uc2liaWxpdGllc0RhdGE/LnRvdGFsX3BhZ2VzID4gMVwiXG4gICAgICBbc3RhcnRdPVwicmVzcG9uc2liaWxpdGllc0RhdGE/LnJlc3BvbnNpYmlsaXRpZXNfZnJvbVwiXG4gICAgICBbZW5kXT1cInJlc3BvbnNpYmlsaXRpZXNEYXRhPy5yZXNwb25zaWJpbGl0aWVzX3RvXCJcbiAgICAgIFt0b3RhbF09XCJyZXNwb25zaWJpbGl0aWVzRGF0YT8udG90YWxfcmVzcG9uc2liaWxpdGllc1wiXG4gICAgICBbcGFnZUNvdW50XT1cInJlc3BvbnNpYmlsaXRpZXNEYXRhPy50b3RhbF9wYWdlc1wiXG4gICAgICBbY3VycmVudFBhZ2VdPVwicmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZVwiXG4gICAgICAoc2VsZWN0ZWRQYWdlKT1cInJlc3BvbnNpYmlsaXR5UGFnZUNoYW5nZSgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9hcHAtcGFnaW5hdGlvbj5cbiAgICA8YXBwLWxvYWRlci1pbmxpbmUgKm5nSWY9XCJyZXNwb25zaWJpbGl0eUxvYWRlclwiPjwvYXBwLWxvYWRlci1pbmxpbmU+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJmcmVxdWVuY3ktcmVzcG9uc2liaWxpdHktbGlzdC1taWQgdngtbWItNFwiXG4gICAgICBbY2xhc3Mud2l0aC1wYWdpbmF0aW9uXT1cIlxuICAgICAgICAhcmVzcG9uc2liaWxpdHlMb2FkZXIgJiYgcmVzcG9uc2liaWxpdGllc0RhdGE/LnRvdGFsX3BhZ2VzID4gMVxuICAgICAgXCJcbiAgICA+XG4gICAgICA8YXBwLW5vLWRhdGFcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICByZXNwb25zaWJpbGl0aWVzRGF0YT8uZGF0YT8ubGVuZ3RoID09PSAwICYmICFyZXNwb25zaWJpbGl0eUxvYWRlclxuICAgICAgICBcIlxuICAgICAgICBbbm9EYXRhSW1hZ2VdPVwiQVNTRVRTLnNlYXJjaF9kYXRhXCJcbiAgICAgICAgW25vRGF0YVRleHRdPVwiJ05vIERhdGEgdG8gRGlzcGxheSdcIlxuICAgICAgPjwvYXBwLW5vLWRhdGE+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0lmPVwicmVzcG9uc2liaWxpdGllc0RhdGE/LmRhdGE/Lmxlbmd0aCA+IDAgJiYgIXJlc3BvbnNpYmlsaXR5TG9hZGVyXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWhlYWRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yb3dcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTEgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHNlcmlhbFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICNcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgcmVzcG9uc2liaWxpdHlcIlxuICAgICAgICAgICAgICBbY2xhc3Mud2l0aC1yY109XCJpc09uQ29tcGxldGlvblJjXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgUkVTUE9OU0lCSUxJVElFU1xuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciByZXNwb25zaWJpbGl0eS1jZW50ZXJcIlxuICAgICAgICAgICAgICAqbmdJZj1cImlzT25Db21wbGV0aW9uUmNcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBSRVNQT05TSUJJTElUWSBDRU5URVJcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgcHJvZ3JhbVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIFBST0dSQU1TXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1ib2R5XCI+XG4gICAgICAgICAgPCEtLSB3aGVuIGNsaWNrIG9uIHJhZGlvIHRoZW4gYWN0aXZlIGNsYXNzIHNob3VsZCBiZSB0cnVlIC0tPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwidGFibGUtcm93XCJcbiAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiXG4gICAgICAgICAgICAgIHNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZD8uaW5jbHVkZXMocmVzcG9uc2liaWxpdHk/LlJlcG9ydElkKVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgICBsZXQgcmVzcG9uc2liaWxpdHkgb2YgcmVzcG9uc2liaWxpdGllc0RhdGE/LmRhdGE7XG4gICAgICAgICAgICAgIGxldCBpID0gaW5kZXhcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzci1ub1wiXG4gICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwicmVzcG9uc2liaWxpdGllc0RhdGE/LnJlc3BvbnNpYmlsaXRpZXNfZnJvbSArIGlcIlxuICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgcmVzcG9uc2liaWxpdGllc0RhdGE/LnJlc3BvbnNpYmlsaXRpZXNfZnJvbSArIGkgfX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxhcHAtY3MtcmFkaW9cbiAgICAgICAgICAgICAgICBbbmFtZV09XCIncmVzcG9uc2liaWxpdHknXCJcbiAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJcbiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZD8uaW5jbHVkZXMocmVzcG9uc2liaWxpdHk/LlJlcG9ydElkKVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgKGNoZWNrZWRFdmVudCk9XCJzZWxlY3RSZXNwb25zaWJpbGl0eShyZXNwb25zaWJpbGl0eSlcIlxuICAgICAgICAgICAgICA+PC9hcHAtY3MtcmFkaW8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgcmVzcG9uc2liaWxpdHlcIlxuICAgICAgICAgICAgICBbY2xhc3Mud2l0aC1yY109XCJpc09uQ29tcGxldGlvblJjXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidmFsdWUgdngtZnMtMTIgdngtbGFiZWwtdHh0IHZ4LXByLTVcIlxuICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cInJlc3BvbnNpYmlsaXR5Py5SZXBvcnROYW1lXCJcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgcmVzcG9uc2liaWxpdHk/LkNvbnRyb2xJZCB9fSB7eyByZXNwb25zaWJpbGl0eT8uUmVwb3J0TmFtZSB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciByZXNwb25zaWJpbGl0eS1jZW50ZXJcIlxuICAgICAgICAgICAgICAqbmdJZj1cImlzT25Db21wbGV0aW9uUmNcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmFtLWlubmVyIHZ4LWQtYmxvY2tcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwcm9ncmFtLXZhbHVlIHZ4LWZzLTExIHZ4LWxhYmVsLXR4dCB2eC1wci01XCJcbiAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2liaWxpdHk/LlJDX2RldGFpbHNfYXJyYXk/Lmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgPyByZXNwb25zaWJpbGl0eT8uUkNfZGV0YWlsc19hcnJheVswXT8ucmNfbmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgOiAnLS0nXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2liaWxpdHk/LlJDX2RldGFpbHNfYXJyYXk/Lmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgPyByZXNwb25zaWJpbGl0eT8uUkNfZGV0YWlsc19hcnJheVswXT8ucmNfbmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBcIi0tXCJcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Py5SQ19kZXRhaWxzX2FycmF5Py5sZW5ndGggJiZcbiAgICAgICAgICAgICAgICAgICAgICByZXNwb25zaWJpbGl0eT8uUkNfZGV0YWlsc19hcnJheSBhcyByY0FycmF5XG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi1wYXJ0IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtcHItM1wiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJyY0FycmF5WzBdPy5wYXJlbnRfcmNfbmFtZXM/Lmxlbmd0aFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi1ib3ggdngtZnMtOSB2eC1mdy02MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1tci0yIHZ4LWxoLTNcIlxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIFdpdGhpblxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2l0aGluLXZhbHVlIHZ4LWZzLTExIHZ4LXBhcmFncmFwaC10eHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJjQXJyYXlbMF0/LnBhcmVudF9yY19uYW1lcyB8IHJjVHJlZVRvb2xUaXBcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHJjQXJyYXlbMF0/LnBhcmVudF9yY19uYW1lcyB8IHJjVHJlZVRvb2xUaXAgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cInJlc3BvbnNpYmlsaXR5Py5SQ19kZXRhaWxzX2FycmF5Py5sZW5ndGggPiAxXCJcbiAgICAgICAgICAgICAgICAgIGFwcFBvcG92ZXJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyY1BvcHVwLnBvcG92ZXIoKVwiXG4gICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInByb2dyYW0tY291bnQgdngtZnMtMTEgdngtZnctNTAwIHZ4LXR4dC13aGl0ZSB2eC1wLTAgdngtcGwtMSB2eC1wci0xIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAre3sgcmVzcG9uc2liaWxpdHk/LlJDX2RldGFpbHNfYXJyYXk/Lmxlbmd0aCAtIDEgfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YXBwLXBvcG92ZXIgI3JjUG9wdXA+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2YtYWN0aW9uLWxpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiYWN0aW9uLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZGF0YSBvZiByZXNwb25zaWJpbGl0eT8uUkNfZGV0YWlsc19hcnJheT8uc2xpY2UoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgMSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zaWJpbGl0eT8uUkNfZGV0YWlsc19hcnJheT8ubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jYXJkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiZGF0YT8ucmNfbmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7IGRhdGE/LnJjX25hbWUgfX08L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJkYXRhPy5wYXJlbnRfcmNfbmFtZXM/Lmxlbmd0aFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi1wYXJ0IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtcHItM1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi1ib3ggdngtZnMtOSB2eC1mdy02MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1tci0yIHZ4LWxoLTNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaXRoaW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi12YWx1ZSB2eC1mcy0xMSB2eC1wYXJhZ3JhcGgtdHh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YT8ucGFyZW50X3JjX25hbWVzIHwgcmNUcmVlVG9vbFRpcFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBkYXRhPy5wYXJlbnRfcmNfbmFtZXMgfCByY1RyZWVUb29sVGlwIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9hcHAtcG9wb3Zlcj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgcHJvZ3JhbVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmFtLWlubmVyIHZ4LWQtYmxvY2tcIj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInByb2dyYW0tdmFsdWUgdngtZnMtMTEgdngtbGFiZWwtdHh0IHZ4LXByLTVcIlxuICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Py5jYXRlZ29yeV9kZXRhaWxzX2FycmF5WzBdPy5jYXRlZ29yeV9uYW1lID8/XG4gICAgICAgICAgICAgICAgICAgICctLSdcbiAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Py5jYXRlZ29yeV9kZXRhaWxzX2FycmF5WzBdPy5jYXRlZ29yeV9uYW1lID8/XG4gICAgICAgICAgICAgICAgICAgICAgXCItLVwiXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Py5jYXRlZ29yeV9kZXRhaWxzX2FycmF5WzBdXG4gICAgICAgICAgICAgICAgICAgICAgPy5wYXJlbnRfY2F0ZWdvcnlfbmFtZT8ubGVuZ3RoXG4gICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tcGFydCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LXByLTNcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tYm94IHZ4LWZzLTkgdngtZnctNjAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbXItMiB2eC1saC0zIHZ4LXR4dC1ibHVlXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgV2l0aGluXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tdmFsdWUgdngtZnMtMTEgdngtcGFyYWdyYXBoLXR4dFwiXG4gICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIlxuICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Py5jYXRlZ29yeV9kZXRhaWxzX2FycmF5WzBdPy5wYXJlbnRfY2F0ZWdvcnlfbmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgPy5zbGljZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICA/LnJldmVyc2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgPy5qb2luKCcgPCAnKVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Py5jYXRlZ29yeV9kZXRhaWxzX2FycmF5WzBdPy5wYXJlbnRfY2F0ZWdvcnlfbmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgPy5zbGljZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICA/LnJldmVyc2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgPy5qb2luKFwiIDwgXCIpXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdJZj1cInJlc3BvbnNpYmlsaXR5Py5jYXRlZ29yeV9kZXRhaWxzX2FycmF5Py5sZW5ndGggPj0gMlwiXG4gICAgICAgICAgICAgICAgYXBwUG9wb3ZlclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJwcm9ncmFtUG9wdXAucG9wb3ZlcigpXCJcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwcm9ncmFtLWNvdW50IHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC10eHQtd2hpdGUgdngtcC0wIHZ4LXBsLTEgdngtcHItMSB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAre3sgcmVzcG9uc2liaWxpdHk/LmNhdGVnb3J5X2RldGFpbHNfYXJyYXk/Lmxlbmd0aCAtIDEgfX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxhcHAtcG9wb3ZlciAjcHJvZ3JhbVBvcHVwPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Zi1hY3Rpb24tbGlzdFwiPlxuICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiYWN0aW9uLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgc3ViQ2F0ZWdvcnkgb2YgcmVzcG9uc2liaWxpdHk/LmNhdGVnb3J5X2RldGFpbHNfYXJyYXlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCBzbGljZSA6IDFcbiAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jYXJkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZC1ibG9jayB2eC13LTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cInN1YkNhdGVnb3J5Py5jYXRlZ29yeV9uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyBzdWJDYXRlZ29yeT8uY2F0ZWdvcnlfbmFtZSB9fTwvc3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2liaWxpdHk/LmNhdGVnb3J5X2RldGFpbHNfYXJyYXlbMF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5wYXJlbnRfY2F0ZWdvcnlfbmFtZT8ubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi1wYXJ0IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtcHItM1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi1ib3ggdngtZnMtOSB2eC1mdy02MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1tci0yIHZ4LWxoLTMgdngtdHh0LWJsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdpdGhpblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2l0aGluLXZhbHVlIHZ4LWZzLTExIHZ4LXBhcmFncmFwaC10eHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Py5jYXRlZ29yeV9kZXRhaWxzX2FycmF5WzBdPy5wYXJlbnRfY2F0ZWdvcnlfbmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8uc2xpY2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8ucmV2ZXJzZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5qb2luKCcgPCAnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2liaWxpdHk/LmNhdGVnb3J5X2RldGFpbHNfYXJyYXlbMF0/LnBhcmVudF9jYXRlZ29yeV9uYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5zbGljZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5yZXZlcnNlKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LmpvaW4oXCIgPCBcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2FwcC1wb3BvdmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGFwcC1mbG9hdGluZy1iYXJcbiAgICAgIFtzZWxlY3RlZERhdGFdPVwiaXNWYWxpZE9iaiA/IFtzZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzXSA6IFtdXCJcbiAgICAgIFtkaXNwbGF5RWxlbWVudEtleV09XCInUmVwb3J0TmFtZSdcIlxuICAgICAgKGNsb3NlTGlzdCk9XCJiYWNrKClcIlxuICAgICAgKGNsb3NlRXZlbnQpPVwic2F2ZSgkZXZlbnQpXCJcbiAgICAgIChkZWxldGVFdmVudCk9XCJkZWxldGVJdGVtKCRldmVudClcIlxuICAgICAgW2lzRGlzYWJsZWRdPVwiIWlzVmFsaWRPYmpcIlxuICAgID48L2FwcC1mbG9hdGluZy1iYXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -8,7 +8,7 @@ import { TooltipModule } from '../../ui-kit/tooltip/tooltip.module';
|
|
|
8
8
|
import { FloatingBarModule } from '../floating-bar/floating-bar.module';
|
|
9
9
|
import { PipesModule } from '../../pipes/pipes.module';
|
|
10
10
|
import { FormgroupModule } from '../../formgroup/formgroup.module';
|
|
11
|
-
import { ASSETS } from '../../constants/
|
|
11
|
+
import { ASSETS } from '../../constants/assets.constants';
|
|
12
12
|
import * as i0 from "@angular/core";
|
|
13
13
|
import * as i1 from "../../ui-kit/snack-bar/snack-bar.service";
|
|
14
14
|
import * as i2 from "@angular/common";
|
|
@@ -262,4 +262,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
262
262
|
}], isDisabledSelected: [{
|
|
263
263
|
type: Input
|
|
264
264
|
}] } });
|
|
265
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtdXNlcnMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2dyb3VwLXVzZXJzLWxpc3QvZ3JvdXAtdXNlcnMtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2dyb3VwLXVzZXJzLWxpc3QvZ3JvdXAtdXNlcnMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxHQUdiLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDckYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7Ozs7O0FBaUI1RCxNQUFNLE9BQU8sdUJBQXVCO0lBeUJsQyxZQUFvQixRQUF5QjtR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bEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNuYWNrQmFyU2VydmljZSB9IGZyb20gJy4uLy4uL3VpLWtpdC9zbmFjay1iYXIvc25hY2stYmFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tICcuLi8uLi91aS1raXQvcG9wb3Zlci9wb3BvdmVyLm1vZHVsZSc7XG5pbXBvcnQgeyBDbGlja091dHNpZGVNb2R1bGUgfSBmcm9tICcuLi8uLi91aS1raXQvY2xpY2stb3V0c2lkZS9jbGljay1vdXRzaWRlLm1vZHVsZSc7XG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vLi4vdWkta2l0L3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUnO1xuaW1wb3J0IHsgRmxvYXRpbmdCYXJNb2R1bGUgfSBmcm9tICcuLi9mbG9hdGluZy1iYXIvZmxvYXRpbmctYmFyLm1vZHVsZSc7XG5pbXBvcnQgeyBQaXBlc01vZHVsZSB9IGZyb20gJy4uLy4uL3BpcGVzL3BpcGVzLm1vZHVsZSc7XG5pbXBvcnQgeyBGb3JtZ3JvdXBNb2R1bGUgfSBmcm9tICcuLi8uLi9mb3JtZ3JvdXAvZm9ybWdyb3VwLm1vZHVsZSc7XG5pbXBvcnQgeyBBU1NFVFMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvYXNzZXNzdHMuY29uc3RhbnRzJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1ncm91cC11c2Vycy1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dyb3VwLXVzZXJzLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ncm91cC11c2Vycy1saXN0LmNvbXBvbmVudC5sZXNzJywgJy4uLy4uL2Zvcm1zLmxlc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBQb3BvdmVyTW9kdWxlLFxuICAgIENsaWNrT3V0c2lkZU1vZHVsZSxcbiAgICBUb29sdGlwTW9kdWxlLFxuICAgIEZsb2F0aW5nQmFyTW9kdWxlLFxuICAgIFBpcGVzTW9kdWxlLFxuICAgIEZvcm1ncm91cE1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgR3JvdXBVc2Vyc0xpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGdyb3Vwc0VuYWJsZWQ6IGFueTtcbiAgQElucHV0KCkgdXNlcnNMaXN0ID0gW107XG4gIEBJbnB1dCgpIGdyb3Vwc0xpc3Q6IGFueVtdID0gW107XG4gIEBJbnB1dCgpIHNlbGVjdGVkVXNlcnMgPSBbXTtcbiAgQElucHV0KCkgdXNlcklkS2V5ID0gJyc7XG4gIEBJbnB1dCgpIGdyb3VwSWRLZXkgPSAnJztcbiAgQElucHV0KCkgb3BlbmVkRnJvbSA9ICcnO1xuICBAT3V0cHV0KCkgc2F2ZVNlbGVjdGVkTGlzdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGNsb3NlVXNlcnNMaXN0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBASW5wdXQoKSBzZWxlY3RlZEdyb3VwczogYW55W10gPSBbXTtcbiAgQElucHV0KCkgYXNzaWduZWVHcm91cHNMaXN0OiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBkaXNhYmxlZElkOiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBmcm9tUmVzcG9uc2liaWxpdHk6IGFueTtcbiAgQElucHV0KCkgcmV2aWV3ZXJJZHM6IGFueVtdID0gW107XG4gIEBJbnB1dCgpIG92ZXJzZWVySWRzOiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBhc3NpZ25vcklkOiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBsb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgaXNEaXNhYmxlZFNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEFTU0VUUyA9IEFTU0VUUztcbiAgc2VhcmNoID0gJyc7XG4gIHNlbGVjdGVkSWRzOiBhbnlbXSA9IFtdO1xuICBhbmltYXRpb24gPSBmYWxzZTtcbiAgc2VsZWN0ZWRHcm91cElkczogYW55W10gPSBbXTtcbiAgc2VsZWN0ZWRncm91cExpc3Q6IGFueVtdID0gW107XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc25hY2tiYXI6IFNuYWNrQmFyU2VydmljZSkge31cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkSWRzID0gdGhpcy5zZWxlY3RlZFVzZXJzLm1hcCgoZWxlOiBhbnkpID0+IHtcbiAgICAgIGlmIChlbGVbdGhpcy51c2VySWRLZXldKSB7XG4gICAgICAgIHJldHVybiBlbGVbdGhpcy51c2VySWRLZXldO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuc2VsZWN0ZWRHcm91cElkcyA9IHRoaXMuc2VsZWN0ZWRHcm91cHM/Lm1hcCgoZWxlOiBhbnkpID0+IHtcbiAgICAgIGlmIChlbGVbdGhpcy5ncm91cElkS2V5XSkge1xuICAgICAgICByZXR1cm4gZWxlW3RoaXMuZ3JvdXBJZEtleV07XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hbmltYXRpb24gPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5hbmltYXRpb24gPSBmYWxzZTtcbiAgICB9LCAzMDApO1xuICB9XG5cbiAgc2VsZWN0VXNlcih1c2VyOiBhbnksIG1vZGU6IGFueSkge1xuICAgIGlmIChtb2RlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSWRzLnB1c2godXNlcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZElkcy5maW5kSW5kZXgoXG4gICAgICAgIChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQgPT0gdXNlclxuICAgICAgKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJZHMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB9XG4gICAgdGhpcy5zZXRMaXN0KCk7XG4gIH1cbiAgZGVsZXRlRXZlbnQoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZElkcy5maW5kSW5kZXgoXG4gICAgICAoZWxlbWVudDogYW55KSA9PiBlbGVtZW50ID09IGV2ZW50W3RoaXMudXNlcklkS2V5XVxuICAgICk7XG4gICAgdGhpcy5zZWxlY3RlZElkcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHRoaXMuc2V0TGlzdCgpO1xuICB9XG5cbiAgZGVsZXRlR3JvdXBFdmVudChldmVudDogYW55KSB7XG4gICAgY29uc3QgZ3JvdXBpbmRleCA9IHRoaXMuc2VsZWN0ZWRHcm91cElkcy5maW5kSW5kZXgoXG4gICAgICAoZWxlbWVudDogYW55KSA9PiBlbGVtZW50ID09IGV2ZW50Wydncm91cF9pZCddXG4gICAgKTtcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXBJZHMuc3BsaWNlKGdyb3VwaW5kZXgsIDEpO1xuICAgIHRoaXMuc2V0Z3JvdXBMaXN0KCk7XG4gIH1cblxuICBzZWxlY3RBbGwobW9kZTogYW55KSB7XG4gICAgaWYgKG1vZGUpIHtcbiAgICAgIGxldCBsaXN0ID0gWy4uLnRoaXMudXNlcnNMaXN0XTtcbiAgICAgIGlmICghdGhpcy5pc0Rpc2FibGVkU2VsZWN0ZWQpIHtcbiAgICAgICAgbGlzdCA9IGxpc3QuZmlsdGVyKFxuICAgICAgICAgICh1c2VyOiBhbnkpID0+ICF0aGlzLmRpc2FibGVkSWQuaW5jbHVkZXModXNlclt0aGlzLnVzZXJJZEtleV0pXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2VsZWN0ZWRJZHMgPSBbXTtcbiAgICAgIGxpc3QuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSWRzLnB1c2goZWxlbWVudFt0aGlzLnVzZXJJZEtleV0pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghdGhpcy5pc0Rpc2FibGVkU2VsZWN0ZWQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZElkcyA9IFtdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZElkcyA9IHRoaXMuc2VsZWN0ZWRJZHMuZmlsdGVyKChpZDogbnVtYmVyKSA9PlxuICAgICAgICAgIHRoaXMuZGlzYWJsZWRJZC5pbmNsdWRlcyhpZClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5zZXRMaXN0KCk7XG4gIH1cblxuICBzZWxlY3RBbGxHcm91cHMobW9kZTogYW55KSB7XG4gICAgaWYgKG1vZGUpIHtcbiAgICAgIGNvbnN0IGdyb3VwbGlzdCA9IFsuLi50aGlzLmFzc2lnbmVlR3JvdXBzTGlzdF07XG4gICAgICB0aGlzLnNlbGVjdGVkR3JvdXBJZHMgPSBbXTtcbiAgICAgIGdyb3VwbGlzdC5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cElkcy5wdXNoKGVsZW1lbnRbdGhpcy5ncm91cElkS2V5XSk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cHMgPSBncm91cGxpc3Q7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cElkcyA9IFtdO1xuICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwcyA9IFtdO1xuICAgIH1cbiAgICB0aGlzLnNldGdyb3VwTGlzdCgpO1xuICB9XG5cbiAgdmFsaWRhdGlvbkNoZWNrKGlzQ2hlY2tlZDogYm9vbGVhbikge1xuICAgIGlmIChpc0NoZWNrZWQpIHtcbiAgICAgIHRoaXMuc25hY2tiYXIuc2hvdygnWW91IGNhbiBzZWxlY3QgYSBtYXhpbXVtIG9mIDE5IHVzZXJzLicsICdhbGVydCcpO1xuICAgIH1cbiAgfVxuXG4gIHNldExpc3QoKSB7XG4gICAgY29uc3QgZGF0YTogYW55ID0gW107XG4gICAgY29uc3QgdXNlckxpc3QgPSBjbG9uZURlZXAodGhpcy51c2Vyc0xpc3QpO1xuICAgIGNvbnN0IHNlbGVjdGVkSWRzID0gY2xvbmVEZWVwKHRoaXMuc2VsZWN0ZWRJZHMpO1xuICAgIHVzZXJMaXN0LmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgaWYgKHNlbGVjdGVkSWRzLmluY2x1ZGVzKGVsZW1lbnRbdGhpcy51c2VySWRLZXldKSkge1xuICAgICAgICBkYXRhLnB1c2goZWxlbWVudCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5zZWxlY3RlZFVzZXJzID0gZGF0YTtcbiAgfVxuICBzZXRncm91cExpc3QoKSB7XG4gICAgY29uc3QgZGF0YTogYW55ID0gW107XG4gICAgY29uc3QgZ3JvdXBzbGlzdCA9IGNsb25lRGVlcCh0aGlzLmFzc2lnbmVlR3JvdXBzTGlzdCk7XG4gICAgY29uc3Qgc2VsZWN0ZWRHcm91cElkcyA9IGNsb25lRGVlcCh0aGlzLnNlbGVjdGVkR3JvdXBJZHMpO1xuICAgIGdyb3Vwc2xpc3QuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XG4gICAgICBpZiAoc2VsZWN0ZWRHcm91cElkcy5pbmNsdWRlcyhlbGVtZW50W3RoaXMuZ3JvdXBJZEtleV0pKSB7XG4gICAgICAgIGRhdGEucHVzaChlbGVtZW50KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXBzID0gZGF0YTtcbiAgfVxuXG4gIGNoZWNrU2VsZWN0QWxsKCkge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLnVzZXJzTGlzdC5ldmVyeSgodXNlcjogYW55KSA9PlxuICAgICAgdGhpcy5zZWxlY3RlZElkcy5pbmNsdWRlcyh1c2VyW3RoaXMudXNlcklkS2V5XSlcbiAgICApO1xuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgY2hlY2tzZWxlY3RBbGxncm91cHMoKSB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuYXNzaWduZWVHcm91cHNMaXN0LmV2ZXJ5KChncm91cDogYW55KSA9PlxuICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwSWRzLmluY2x1ZGVzKGdyb3VwW3RoaXMuZ3JvdXBJZEtleV0pXG4gICAgKTtcbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIHNhdmUoc2VsZWN0ZWRJZHM6IGFueSkge1xuICAgIGxldCBzZWxlY3RlZERhdGE7XG4gICAgaWYgKHRoaXMuYXNzaWduZWVHcm91cHNMaXN0Lmxlbmd0aCkge1xuICAgICAgc2VsZWN0ZWREYXRhID0geyB1c2VyczogdGhpcy5zZWxlY3RlZElkcywgZ3JvdXBzOiB0aGlzLnNlbGVjdGVkR3JvdXBJZHMgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2VsZWN0ZWREYXRhID0gc2VsZWN0ZWRJZHM7XG4gICAgfVxuICAgIHRoaXMuc2F2ZVNlbGVjdGVkTGlzdC5lbWl0KHNlbGVjdGVkRGF0YSk7XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLmNsb3NlVXNlcnNMaXN0LmVtaXQoKTtcbiAgfVxuXG4gIHNlbGVjdEdyb3VwKGdyb3VwSWRzOiBhbnksIG1vZGU6IGFueSkge1xuICAgIGlmIChtb2RlKSB7XG4gICAgICBncm91cElkcy5mb3JFYWNoKCh1c2VySWQ6IGFueSkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRJZHMuaW5jbHVkZXModXNlcklkKSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMucHVzaCh1c2VySWQpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgZ3JvdXBJZHMuZm9yRWFjaCgodXNlcklkOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkSWRzLmZpbmRJbmRleChcbiAgICAgICAgICAoZWxlbWVudDogYW55KSA9PiBlbGVtZW50ID09IHVzZXJJZFxuICAgICAgICApO1xuICAgICAgICB0aGlzLnNlbGVjdGVkSWRzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5zZXRMaXN0KCk7XG4gIH1cblxuICBzZWxlY3RHcm91cEVsZW1lbnQoZGF0YTogYW55LCBtb2RlOiBhbnkpIHtcbiAgICBpZiAobW9kZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZGdyb3VwTGlzdC5wdXNoKGRhdGEpO1xuICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwSWRzLnB1c2goZGF0YVt0aGlzLmdyb3VwSWRLZXldKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkZ3JvdXBMaXN0LmZpbmRJbmRleChcbiAgICAgICAgKGVsZTogeyBbeDogc3RyaW5nXTogYW55IH0pID0+XG4gICAgICAgICAgZWxlW3RoaXMuZ3JvdXBJZEtleV0gPT09IGRhdGFbdGhpcy5ncm91cElkS2V5XVxuICAgICAgKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRncm91cExpc3Quc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIGNvbnN0IGlkSW5kZXggPSB0aGlzLnNlbGVjdGVkR3JvdXBJZHMuZmluZEluZGV4KFxuICAgICAgICAoZWxlKSA9PiBlbGUgPT09IGRhdGFbdGhpcy5ncm91cElkS2V5XVxuICAgICAgKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cElkcy5zcGxpY2UoaWRJbmRleCwgMSk7XG4gICAgfVxuICAgIHRoaXMuc2V0Z3JvdXBMaXN0KCk7XG4gIH1cblxuICBjaGVja0dyb3VwTGlzdChncm91cElkczogYW55W10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gZ3JvdXBJZHM/Lmxlbmd0aCBcbiAgICAgID8gZ3JvdXBJZHMuZXZlcnkoaWQgPT4gdGhpcy5zZWxlY3RlZElkcy5pbmNsdWRlcyhpZCkpXG4gICAgICA6IGZhbHNlO1xuICB9XG4gIFxuICBoaWRlR3JvdXAoZ3JvdXBJZHM6IGFueVtdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGdyb3VwSWRzPy5sZW5ndGhcbiAgICAgID8gdGhpcy51c2Vyc0xpc3QuZXZlcnkodXNlciA9PiAhZ3JvdXBJZHMuaW5jbHVkZXModXNlclt0aGlzLnVzZXJJZEtleV0pKVxuICAgICAgOiBmYWxzZTtcbiAgfSAgXG5cbiAgY3VycmVudFRhYiA9ICdVU0VSJztcbiAgc3dpdGNoVGFiKHRhYjogc3RyaW5nKSB7XG4gICAgdGhpcy5jdXJyZW50VGFiID0gdGFiO1xuICAgIHRoaXMuc2VhcmNoID0gJyc7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhZGQtcmlzay1ncm91cC11c2VyLWxpc3RcIiBbY2xhc3MuYW5pbWF0ZV09XCJhbmltYXRpb25cIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYWRkLXJpc2stZ3JvdXAtdXNlci1saXN0LWhlYWQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcGwtNCB2eC1wci00XCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+U2VsZWN0IFVzZXIocyk8L2Rpdj5cbiAgICA8IS0tIDxidXR0b24gY2xhc3M9XCJhZGQtcmlzay1ncm91cC11c2VyLWxpc3QtY2xvc2VcIiAoY2xpY2spPVwiY2xvc2UoKVwiPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MGQ7PC9pPlxuICAgICAgICA8L2J1dHRvbj4gLS0+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYWRkLXJpc2stZ3JvdXAtdXNlci1saXN0LWJvZHlcIj5cbiAgICA8YXBwLWxvYWRlci1pbmxpbmUgKm5nSWY9XCJsb2FkZXJcIj48L2FwcC1sb2FkZXItaW5saW5lPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiYWRkLXJpc2stZ3JvdXAtdXNlci1saXN0LXRhYiB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LW10LTEgdngtbWItMlwiXG4gICAgICAqbmdJZj1cImdyb3Vwc0VuYWJsZWRcIlxuICAgID5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKGNsaWNrKT1cInN3aXRjaFRhYignVVNFUicpXCJcbiAgICAgICAgY2xhc3M9XCJ0YWItYnRuIHZ4LWZzLTExIHZ4LWZ3LTYwMCB2eC1wYXJhZ3JhcGgtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtcGItMiB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1saC00XCJcbiAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJjdXJyZW50VGFiID09PSAnVVNFUidcIlxuICAgICAgPlxuICAgICAgICBVU0VSU1xuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwidngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXIgdngtbWwtMiB2eC1saC00XCJcbiAgICAgICAgICA+e3tcbiAgICAgICAgICAgIHNlYXJjaD8ubGVuZ3RoICYmIGN1cnJlbnRUYWIgPT09IFwiVVNFUlwiXG4gICAgICAgICAgICAgID8gKHVzZXJzTGlzdCB8IHNlYXJjaCA6IHNlYXJjaCk/Lmxlbmd0aFxuICAgICAgICAgICAgICA6IHVzZXJzTGlzdD8ubGVuZ3RoXG4gICAgICAgICAgfX08L3NwYW5cbiAgICAgICAgPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIChjbGljayk9XCJzd2l0Y2hUYWIoJ0dST1VQJylcIlxuICAgICAgICBjbGFzcz1cInRhYi1idG4gdngtZnMtMTEgdngtZnctNjAwIHZ4LXBhcmFncmFwaC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1wYi0yIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWxoLTRcIlxuICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImN1cnJlbnRUYWIgPT09ICdHUk9VUCdcIlxuICAgICAgPlxuICAgICAgICBVU0VSIEdST1VQU1xuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwidngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXIgdngtbWwtMiB2eC1saC00XCJcbiAgICAgICAgICA+e3tcbiAgICAgICAgICAgIHNlYXJjaD8ubGVuZ3RoICYmIGN1cnJlbnRUYWIgPT09IFwiR1JPVVBcIlxuICAgICAgICAgICAgICA/IChhc3NpZ25lZUdyb3Vwc0xpc3QgfCBzZWFyY2ggOiBzZWFyY2gpPy5sZW5ndGhcbiAgICAgICAgICAgICAgOiBhc3NpZ25lZUdyb3Vwc0xpc3Q/Lmxlbmd0aFxuICAgICAgICAgIH19PC9zcGFuXG4gICAgICAgID5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtYmxvY2sgdngtbWItMlwiPlxuICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MGI7PC9pPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cInt7XG4gICAgICAgICAgY3VycmVudFRhYiA9PT0gJ1VTRVInID8gJ1NlYXJjaCBVc2VyKHMpJyA6ICdTZWFyY2ggVXNlciBHcm91cChzKSdcbiAgICAgICAgfX0gXCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFncm91cHNFbmFibGVkXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidXNlcnNMaXN0IHwgc2VhcmNoIDogc2VhcmNoIGFzIHVzZXJsaXN0XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJncm91cHNMaXN0IHwgc2VhcmNoIDogc2VhcmNoIGFzIGdyb3VwbGlzdFwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiYm9keS10b3BcIlxuICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgKHVzZXJsaXN0Py5sZW5ndGggPiAwIHx8XG4gICAgICAgICAgICAgICAgKHVzZXJsaXN0Py5sZW5ndGggPiAwICYmIGdyb3VwbGlzdD8ubGVuZ3RoID4gMCkpICYmXG4gICAgICAgICAgICAgIHNlYXJjaD8udHJpbSgpPy5sZW5ndGggPT09IDBcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGFwcC1jcy1jaGVja2JveFxuICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgIChvcGVuZWRGcm9tID09PSAnUklTS19UUkVBVE1FTlQnICYmIHVzZXJzTGlzdD8ubGVuZ3RoIDwgMTkpIHx8XG4gICAgICAgICAgICAgICAgb3BlbmVkRnJvbSAhPT0gJ1JJU0tfVFJFQVRNRU5UJ1xuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBbbmdWYWx1ZV09XCJjaGVja1NlbGVjdEFsbCgpXCJcbiAgICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0QWxsKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3Ryb25nPlxuICAgICAgICAgICAgICAgIHt7IGNoZWNrU2VsZWN0QWxsKCkgPyBcIkRlc2VsZWN0IEFsbFwiIDogXCJTZWxlY3QgQWxsXCIgfX1cbiAgICAgICAgICAgICAgPC9zdHJvbmc+XG4gICAgICAgICAgICA8L2FwcC1jcy1jaGVja2JveD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImxpc3QtYmxvY2tcIlxuICAgICAgICAgICAgW2NsYXNzLndpdGhvdXQtZ3JvdXBdPVwiIWdyb3Vwc0VuYWJsZWRcIlxuICAgICAgICAgICAgW2NsYXNzLndpdGgtbm8tZGF0YV09XCJcbiAgICAgICAgICAgICAgdXNlcmxpc3Q/Lmxlbmd0aCA9PT0gMCAmJiBncm91cGxpc3Q/Lmxlbmd0aCA9PT0gMCAmJiAhbG9hZGVyXG4gICAgICAgICAgICBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDx1bCBjbGFzcz1cImdyb3VwLXVzZXItbGlzdFwiICpuZ0lmPVwiZ3JvdXBsaXN0Py5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGdyb3VwIG9mIGdyb3VwbGlzdFwiPlxuICAgICAgICAgICAgICAgIDxsaSAqbmdJZj1cIiFoaWRlR3JvdXAoZ3JvdXAudXNlcklkcylcIj5cbiAgICAgICAgICAgICAgICAgIDxhcHAtY3MtY2hlY2tib3hcbiAgICAgICAgICAgICAgICAgICAgW25nVmFsdWVdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgY2hlY2tHcm91cExpc3QoZ3JvdXAudXNlcklkcykgJiZcbiAgICAgICAgICAgICAgICAgICAgICBncm91cC51c2VySWRzPy5sZW5ndGggIT09IDBcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0R3JvdXAoZ3JvdXAudXNlcklkcywgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAob3BlbmVkRnJvbSA9PT0gJ1JJU0tfVFJFQVRNRU5UJyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRVc2Vycz8ubGVuZ3RoICsgZ3JvdXAudXNlcklkcz8ubGVuZ3RoID4gMTkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICFjaGVja0dyb3VwTGlzdChncm91cC51c2VySWRzKSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICBncm91cC51c2VySWRzPy5sZW5ndGggPT09IDBcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxuICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRpb25DaGVjayhcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5lZEZyb20gPT09ICdSSVNLX1RSRUFUTUVOVCcgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRVc2Vycz8ubGVuZ3RoICsgZ3JvdXAudXNlcklkcz8ubGVuZ3RoID4gMTkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIWNoZWNrR3JvdXBMaXN0KGdyb3VwLnVzZXJJZHMpXG4gICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgID57eyBncm91cC5ncm91cE5hbWVcbiAgICAgICAgICAgICAgICAgICAgICB9fTxzcGFuIGNsYXNzPVwiY291bnRlclwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICBncm91cC51c2VySWRzPy5sZW5ndGggPiAxXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8gZ3JvdXAudXNlcklkcz8ubGVuZ3RoICsgXCIgVVNFUlNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICA6IGdyb3VwLnVzZXJJZHM/Lmxlbmd0aCArIFwiIFVTRVJcIlxuICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPjwvc3BhblxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8L2FwcC1jcy1jaGVja2JveD5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJncm91cC11c2VyLWxpc3RcIiAqbmdJZj1cInVzZXJsaXN0Py5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCB1c2VyIG9mIHVzZXJsaXN0XCJcbiAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJcbiAgICAgICAgICAgICAgICAgIHVzZXJcbiAgICAgICAgICAgICAgICAgICAgfCB0b29sdGlwTWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICAgIDogZnJvbVJlc3BvbnNpYmlsaXR5XG4gICAgICAgICAgICAgICAgICAgICAgOiByZXZpZXdlcklkc1xuICAgICAgICAgICAgICAgICAgICAgIDogb3ZlcnNlZXJJZHNcbiAgICAgICAgICAgICAgICAgICAgICA6IGFzc2lnbm9ySWRcbiAgICAgICAgICAgICAgICAgICAgICA6IFtdXG4gICAgICAgICAgICAgICAgICAgICAgOiAnbXlfbWVtYmVyX2lkJ1xuICAgICAgICAgICAgICAgICAgICAgIDogKG9wZW5lZEZyb20gPT09ICdSSVNLX1RSRUFUTUVOVCcgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRVc2Vycz8ubGVuZ3RoID09PSAxOSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAhc2VsZWN0ZWRJZHM/LmluY2x1ZGVzKHVzZXJbdXNlcklkS2V5XSkpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkSWQ/LmluY2x1ZGVzKHVzZXJbdXNlcklkS2V5XSlcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGFwcC1jcy1jaGVja2JveFxuICAgICAgICAgICAgICAgICAgW25nVmFsdWVdPVwic2VsZWN0ZWRJZHM/LmluY2x1ZGVzKHVzZXJbdXNlcklkS2V5XSlcIlxuICAgICAgICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0VXNlcih1c2VyW3VzZXJJZEtleV0sICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIlxuICAgICAgICAgICAgICAgICAgICAob3BlbmVkRnJvbSA9PT0gJ1JJU0tfVFJFQVRNRU5UJyAmJlxuICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkVXNlcnM/Lmxlbmd0aCA9PT0gMTkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAhc2VsZWN0ZWRJZHM/LmluY2x1ZGVzKHVzZXJbdXNlcklkS2V5XSkpIHx8XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkSWQ/LmluY2x1ZGVzKHVzZXJbdXNlcklkS2V5XSlcbiAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXG4gICAgICAgICAgICAgICAgICAgIHZhbGlkYXRpb25DaGVjayhcbiAgICAgICAgICAgICAgICAgICAgICBvcGVuZWRGcm9tID09PSAnUklTS19UUkVBVE1FTlQnICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFVzZXJzPy5sZW5ndGggPT09IDE5ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAhc2VsZWN0ZWRJZHM/LmluY2x1ZGVzKHVzZXJbdXNlcklkS2V5XSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hbWVcIj57eyB1c2VyLmVtcGxveWVlX25hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9hcHAtY3MtY2hlY2tib3g+XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgPGFwcC1uby1kYXRhXG4gICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgdXNlcmxpc3Q/Lmxlbmd0aCA9PT0gMCAmJiBncm91cGxpc3Q/Lmxlbmd0aCA9PT0gMCAmJiAhbG9hZGVyXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIFtub0RhdGFJbWFnZV09XCJBU1NFVFMuc2VhcmNoX2RhdGFcIlxuICAgICAgICAgICAgICBbbm9EYXRhVGV4dF09XCInTm8gVXNlcnMgRm91bmQnXCJcbiAgICAgICAgICAgID48L2FwcC1uby1kYXRhPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRUYWIgPT09ICdVU0VSJyAmJiBncm91cHNFbmFibGVkICYmICFsb2FkZXJcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ1c2Vyc0xpc3QgfCBzZWFyY2ggOiBzZWFyY2ggYXMgdXNlcmxpc3RcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiYm9keS10b3BcIlxuICAgICAgICAgICpuZ0lmPVwidXNlcmxpc3Q/Lmxlbmd0aCA+IDAgJiYgc2VhcmNoPy50cmltKCk/Lmxlbmd0aCA9PT0gMFwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94XG4gICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAob3BlbmVkRnJvbSA9PT0gJ1JJU0tfVFJFQVRNRU5UJyAmJiB1c2Vyc0xpc3Q/Lmxlbmd0aCA8IDE5KSB8fFxuICAgICAgICAgICAgICBvcGVuZWRGcm9tICE9PSAnUklTS19UUkVBVE1FTlQnXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW25nVmFsdWVdPVwiY2hlY2tTZWxlY3RBbGwoKVwiXG4gICAgICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJzZWxlY3RBbGwoJGV2ZW50KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHN0cm9uZz5cbiAgICAgICAgICAgICAge3sgY2hlY2tTZWxlY3RBbGwoKSA/IFwiRGVzZWxlY3QgQWxsXCIgOiBcIlNlbGVjdCBBbGxcIiB9fVxuICAgICAgICAgICAgPC9zdHJvbmc+XG4gICAgICAgICAgPC9hcHAtY3MtY2hlY2tib3g+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImxpc3QtYmxvY2tcIlxuICAgICAgICAgIFtjbGFzcy53aXRoLW5vLWRhdGFdPVwidXNlcmxpc3Q/Lmxlbmd0aCA9PT0gMCAmJiAhbG9hZGVyXCJcbiAgICAgICAgPlxuICAgICAgICAgIDx1bCBjbGFzcz1cImdyb3VwLXVzZXItbGlzdFwiICpuZ0lmPVwidXNlcmxpc3Q/Lmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgdXNlciBvZiB1c2VybGlzdFwiXG4gICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIlxuICAgICAgICAgICAgICAgIHVzZXJcbiAgICAgICAgICAgICAgICAgIHwgdG9vbHRpcE1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgOiBmcm9tUmVzcG9uc2liaWxpdHlcbiAgICAgICAgICAgICAgICAgICAgOiByZXZpZXdlcklkc1xuICAgICAgICAgICAgICAgICAgICA6IG92ZXJzZWVySWRzXG4gICAgICAgICAgICAgICAgICAgIDogYXNzaWdub3JJZFxuICAgICAgICAgICAgICAgICAgICA6IFtdXG4gICAgICAgICAgICAgICAgICAgIDogJ215X21lbWJlcl9pZCdcbiAgICAgICAgICAgICAgICAgICAgOiAob3BlbmVkRnJvbSA9PT0gJ1JJU0tfVFJFQVRNRU5UJyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRVc2Vycz8ubGVuZ3RoID09PSAxOSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgIXNlbGVjdGVkSWRzPy5pbmNsdWRlcyh1c2VyW3VzZXJJZEtleV0pKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWRJZD8uaW5jbHVkZXModXNlclt1c2VySWRLZXldKVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgW25nVmFsdWVdPVwic2VsZWN0ZWRJZHM/LmluY2x1ZGVzKHVzZXJbdXNlcklkS2V5XSlcIlxuICAgICAgICAgICAgICAgIChuZ1ZhbHVlQ2hhbmdlKT1cInNlbGVjdFVzZXIodXNlclt1c2VySWRLZXldLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiXG4gICAgICAgICAgICAgICAgICAob3BlbmVkRnJvbSA9PT0gJ1JJU0tfVFJFQVRNRU5UJyAmJlxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFVzZXJzPy5sZW5ndGggPT09IDE5ICYmXG4gICAgICAgICAgICAgICAgICAgICFzZWxlY3RlZElkcz8uaW5jbHVkZXModXNlclt1c2VySWRLZXldKSkgfHxcbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkSWQ/LmluY2x1ZGVzKHVzZXJbdXNlcklkS2V5XSlcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJcbiAgICAgICAgICAgICAgICAgIHZhbGlkYXRpb25DaGVjayhcbiAgICAgICAgICAgICAgICAgICAgb3BlbmVkRnJvbSA9PT0gJ1JJU0tfVFJFQVRNRU5UJyAmJlxuICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkVXNlcnM/Lmxlbmd0aCA9PT0gMTkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAhc2VsZWN0ZWRJZHM/LmluY2x1ZGVzKHVzZXJbdXNlcklkS2V5XSlcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuYW1lXCI+e3sgdXNlci5lbXBsb3llZV9uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8L2FwcC1jcy1jaGVja2JveD5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgICA8YXBwLW5vLWRhdGFcbiAgICAgICAgICAgICpuZ0lmPVwidXNlcmxpc3Q/Lmxlbmd0aCA9PT0gMCAmJiAhbG9hZGVyXCJcbiAgICAgICAgICAgIFtub0RhdGFJbWFnZV09XCJBU1NFVFMuc2VhcmNoX2RhdGFcIlxuICAgICAgICAgICAgW25vRGF0YVRleHRdPVwiJ05vIFVzZXJzIEZvdW5kJ1wiXG4gICAgICAgICAgPjwvYXBwLW5vLWRhdGE+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRUYWIgPT09ICdHUk9VUCcgJiYgZ3JvdXBzRW5hYmxlZCAmJiAhbG9hZGVyXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXNzaWduZWVHcm91cHNMaXN0IHwgc2VhcmNoIDogc2VhcmNoIGFzIGdyb3VwbGlzdFwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJib2R5LXRvcFwiXG4gICAgICAgICAgKm5nSWY9XCJncm91cGxpc3Q/Lmxlbmd0aCA+IDAgJiYgc2VhcmNoPy50cmltKCk/Lmxlbmd0aCA9PT0gMFwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94XG4gICAgICAgICAgICBbbmdWYWx1ZV09XCJjaGVja3NlbGVjdEFsbGdyb3VwcygpXCJcbiAgICAgICAgICAgIChuZ1ZhbHVlQ2hhbmdlKT1cInNlbGVjdEFsbEdyb3VwcygkZXZlbnQpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3Ryb25nPlxuICAgICAgICAgICAgICB7eyBjaGVja3NlbGVjdEFsbGdyb3VwcygpID8gXCJEZXNlbGVjdCBBbGxcIiA6IFwiU2VsZWN0IEFsbFwiIH19XG4gICAgICAgICAgICA8L3N0cm9uZz5cbiAgICAgICAgICA8L2FwcC1jcy1jaGVja2JveD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImxpc3QtYmxvY2tcIlxuICAgICAgICAgIFtjbGFzcy53aXRoLW5vLWRhdGFdPVwiZ3JvdXBsaXN0Py5sZW5ndGggPT09IDAgJiYgIWxvYWRlclwiXG4gICAgICAgID5cbiAgICAgICAgICA8dWwgY2xhc3M9XCJncm91cC11c2VyLWxpc3RcIiAqbmdJZj1cImdyb3VwbGlzdD8ubGVuZ3RoID4gMFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBncm91cCBvZiBncm91cGxpc3Q7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgICBbbmdWYWx1ZV09XCJzZWxlY3RlZEdyb3VwSWRzPy5pbmNsdWRlcyhncm91cFtncm91cElkS2V5XSlcIlxuICAgICAgICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0R3JvdXBFbGVtZW50KGdyb3VwLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJcbiAgICAgICAgICAgICAgICAgICAgb3BlbmVkRnJvbSA9PT0gJ1JJU0tfVFJFQVRNRU5UJyAmJlxuICAgICAgICAgICAgICAgICAgICBncm91cC5tZW1iZXJfaWRzPy5sZW5ndGggPiAxOSAmJlxuICAgICAgICAgICAgICAgICAgICAhY2hlY2tHcm91cExpc3QoZ3JvdXA/Lm1lbWJlcl9pZHMpXG4gICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxuICAgICAgICAgICAgICAgICAgICB2YWxpZGF0aW9uQ2hlY2soXG4gICAgICAgICAgICAgICAgICAgICAgb3BlbmVkRnJvbSA9PT0gJ1JJU0tfVFJFQVRNRU5UJyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXAubWVtYmVyX2lkcz8ubGVuZ3RoID4gMTkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICFjaGVja0dyb3VwTGlzdChncm91cD8ubWVtYmVyX2lkcylcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hbWUgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC13LTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZ3JvdXAtbmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiZ3JvdXA/Lmdyb3VwX25hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgID57eyBncm91cD8uZ3JvdXBfbmFtZSB9fTwvc3BhblxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY291bnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgPnt7IGdyb3VwW1wibWVtYmVyX2NvdW50XCJdIH19XG4gICAgICAgICAgICAgICAgICAgICAge3sgZ3JvdXA/Lm1lbWJlcl9jb3VudCA+IDEgPyBcIlVTRVJTXCIgOiBcIlVTRVJcIiB9fTwvc3BhblxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9hcHAtY3MtY2hlY2tib3g+XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICAgIDxhcHAtbm8tZGF0YVxuICAgICAgICAgICAgKm5nSWY9XCJncm91cGxpc3Q/Lmxlbmd0aCA9PT0gMCAmJiAhbG9hZGVyXCJcbiAgICAgICAgICAgIFtub0RhdGFJbWFnZV09XCJBU1NFVFMuc2VhcmNoX2RhdGFcIlxuICAgICAgICAgICAgW25vRGF0YVRleHRdPVwiJ05vIEdyb3VwcyBGb3VuZCdcIlxuICAgICAgICAgID48L2FwcC1uby1kYXRhPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPGFwcC1mbG9hdGluZy1iYXJcbiAgICAgIFtzZWxlY3RlZERhdGFdPVwic2VsZWN0ZWRVc2Vyc1wiXG4gICAgICBbc2VsZWN0ZWRHcm91cHNdPVwic2VsZWN0ZWRHcm91cHNcIlxuICAgICAgW2Rpc3BsYXlFbGVtZW50S2V5XT1cIidlbXBsb3llZV9uYW1lJ1wiXG4gICAgICBbZWxlbWVudElkXT1cInVzZXJJZEtleVwiXG4gICAgICBbc2luZ3VsYXJUZXh0XT1cIidVc2VyIHNlbGVjdGVkJ1wiXG4gICAgICBbcGx1cmFsVGV4dF09XCInVXNlcnMgc2VsZWN0ZWQnXCJcbiAgICAgIChjbG9zZUV2ZW50KT1cInNhdmUoc2VsZWN0ZWRJZHMpXCJcbiAgICAgIChjbG9zZUxpc3QpPVwiY2xvc2UoKVwiXG4gICAgICAoZGVsZXRlRXZlbnQpPVwiZGVsZXRlRXZlbnQoJGV2ZW50KVwiXG4gICAgICAoZGVsZXRlR3JvdXBFdmVudCk9XCJkZWxldGVHcm91cEV2ZW50KCRldmVudClcIlxuICAgICAgW2dyb3Vwc0VuYWJsZWRdPVwiZ3JvdXBzRW5hYmxlZFwiXG4gICAgICBbbm9uUmVtb3ZhYmxlVXNlcnNMaXN0XT1cImlzRGlzYWJsZWRTZWxlY3RlZCA/IGRpc2FibGVkSWQgOiBbXVwiXG4gICAgICBbaXNEaXNhYmxlZF09XCJcbiAgICAgICAgZ3JvdXBzTGlzdD8ubGVuZ3RoICsgdXNlcnNMaXN0Py5sZW5ndGggPT09IDAgfHxcbiAgICAgICAgKHNlbGVjdGVkVXNlcnM/Lmxlbmd0aCA9PT0gMCAmJiBzZWxlY3RlZEdyb3Vwcz8ubGVuZ3RoID09PSAwKVxuICAgICAgXCJcbiAgICA+XG4gICAgPC9hcHAtZmxvYXRpbmctYmFyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
265
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtdXNlcnMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2dyb3VwLXVzZXJzLWxpc3QvZ3JvdXAtdXNlcnMtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2dyb3VwLXVzZXJzLWxpc3QvZ3JvdXAtdXNlcnMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxHQUdiLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDckYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7O0FBaUIxRCxNQUFNLE9BQU8sdUJBQXVCO0lBeUJsQyxZQUFvQixRQUF5QjtR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bEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNuYWNrQmFyU2VydmljZSB9IGZyb20gJy4uLy4uL3VpLWtpdC9zbmFjay1iYXIvc25hY2stYmFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tICcuLi8uLi91aS1raXQvcG9wb3Zlci9wb3BvdmVyLm1vZHVsZSc7XG5pbXBvcnQgeyBDbGlja091dHNpZGVNb2R1bGUgfSBmcm9tICcuLi8uLi91aS1raXQvY2xpY2stb3V0c2lkZS9jbGljay1vdXRzaWRlLm1vZHVsZSc7XG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vLi4vdWkta2l0L3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUnO1xuaW1wb3J0IHsgRmxvYXRpbmdCYXJNb2R1bGUgfSBmcm9tICcuLi9mbG9hdGluZy1iYXIvZmxvYXRpbmctYmFyLm1vZHVsZSc7XG5pbXBvcnQgeyBQaXBlc01vZHVsZSB9IGZyb20gJy4uLy4uL3BpcGVzL3BpcGVzLm1vZHVsZSc7XG5pbXBvcnQgeyBGb3JtZ3JvdXBNb2R1bGUgfSBmcm9tICcuLi8uLi9mb3JtZ3JvdXAvZm9ybWdyb3VwLm1vZHVsZSc7XG5pbXBvcnQgeyBBU1NFVFMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvYXNzZXRzLmNvbnN0YW50cyc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZ3JvdXAtdXNlcnMtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9ncm91cC11c2Vycy1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ3JvdXAtdXNlcnMtbGlzdC5jb21wb25lbnQubGVzcycsICcuLi8uLi9mb3Jtcy5sZXNzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUG9wb3Zlck1vZHVsZSxcbiAgICBDbGlja091dHNpZGVNb2R1bGUsXG4gICAgVG9vbHRpcE1vZHVsZSxcbiAgICBGbG9hdGluZ0Jhck1vZHVsZSxcbiAgICBQaXBlc01vZHVsZSxcbiAgICBGb3JtZ3JvdXBNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEdyb3VwVXNlcnNMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBncm91cHNFbmFibGVkOiBhbnk7XG4gIEBJbnB1dCgpIHVzZXJzTGlzdCA9IFtdO1xuICBASW5wdXQoKSBncm91cHNMaXN0OiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBzZWxlY3RlZFVzZXJzID0gW107XG4gIEBJbnB1dCgpIHVzZXJJZEtleSA9ICcnO1xuICBASW5wdXQoKSBncm91cElkS2V5ID0gJyc7XG4gIEBJbnB1dCgpIG9wZW5lZEZyb20gPSAnJztcbiAgQE91dHB1dCgpIHNhdmVTZWxlY3RlZExpc3QgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBjbG9zZVVzZXJzTGlzdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQElucHV0KCkgc2VsZWN0ZWRHcm91cHM6IGFueVtdID0gW107XG4gIEBJbnB1dCgpIGFzc2lnbmVlR3JvdXBzTGlzdDogYW55W10gPSBbXTtcbiAgQElucHV0KCkgZGlzYWJsZWRJZDogYW55W10gPSBbXTtcbiAgQElucHV0KCkgZnJvbVJlc3BvbnNpYmlsaXR5OiBhbnk7XG4gIEBJbnB1dCgpIHJldmlld2VySWRzOiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBvdmVyc2VlcklkczogYW55W10gPSBbXTtcbiAgQElucHV0KCkgYXNzaWdub3JJZDogYW55W10gPSBbXTtcbiAgQElucHV0KCkgbG9hZGVyOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlzRGlzYWJsZWRTZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBBU1NFVFMgPSBBU1NFVFM7XG4gIHNlYXJjaCA9ICcnO1xuICBzZWxlY3RlZElkczogYW55W10gPSBbXTtcbiAgYW5pbWF0aW9uID0gZmFsc2U7XG4gIHNlbGVjdGVkR3JvdXBJZHM6IGFueVtdID0gW107XG4gIHNlbGVjdGVkZ3JvdXBMaXN0OiBhbnlbXSA9IFtdO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNuYWNrYmFyOiBTbmFja0JhclNlcnZpY2UpIHsgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRJZHMgPSB0aGlzLnNlbGVjdGVkVXNlcnMubWFwKChlbGU6IGFueSkgPT4ge1xuICAgICAgaWYgKGVsZVt0aGlzLnVzZXJJZEtleV0pIHtcbiAgICAgICAgcmV0dXJuIGVsZVt0aGlzLnVzZXJJZEtleV07XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5zZWxlY3RlZEdyb3VwSWRzID0gdGhpcy5zZWxlY3RlZEdyb3Vwcz8ubWFwKChlbGU6IGFueSkgPT4ge1xuICAgICAgaWYgKGVsZVt0aGlzLmdyb3VwSWRLZXldKSB7XG4gICAgICAgIHJldHVybiBlbGVbdGhpcy5ncm91cElkS2V5XTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFuaW1hdGlvbiA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xuICAgIH0sIDMwMCk7XG4gIH1cblxuICBzZWxlY3RVc2VyKHVzZXI6IGFueSwgbW9kZTogYW55KSB7XG4gICAgaWYgKG1vZGUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJZHMucHVzaCh1c2VyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkSWRzLmZpbmRJbmRleChcbiAgICAgICAgKGVsZW1lbnQ6IGFueSkgPT4gZWxlbWVudCA9PSB1c2VyXG4gICAgICApO1xuICAgICAgdGhpcy5zZWxlY3RlZElkcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgICB0aGlzLnNldExpc3QoKTtcbiAgfVxuICBkZWxldGVFdmVudChldmVudDogYW55KSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkSWRzLmZpbmRJbmRleChcbiAgICAgIChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQgPT0gZXZlbnRbdGhpcy51c2VySWRLZXldXG4gICAgKTtcbiAgICB0aGlzLnNlbGVjdGVkSWRzLnNwbGljZShpbmRleCwgMSk7XG4gICAgdGhpcy5zZXRMaXN0KCk7XG4gIH1cblxuICBkZWxldGVHcm91cEV2ZW50KGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBncm91cGluZGV4ID0gdGhpcy5zZWxlY3RlZEdyb3VwSWRzLmZpbmRJbmRleChcbiAgICAgIChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQgPT0gZXZlbnRbJ2dyb3VwX2lkJ11cbiAgICApO1xuICAgIHRoaXMuc2VsZWN0ZWRHcm91cElkcy5zcGxpY2UoZ3JvdXBpbmRleCwgMSk7XG4gICAgdGhpcy5zZXRncm91cExpc3QoKTtcbiAgfVxuXG4gIHNlbGVjdEFsbChtb2RlOiBhbnkpIHtcbiAgICBpZiAobW9kZSkge1xuICAgICAgbGV0IGxpc3QgPSBbLi4udGhpcy51c2Vyc0xpc3RdO1xuICAgICAgaWYgKCF0aGlzLmlzRGlzYWJsZWRTZWxlY3RlZCkge1xuICAgICAgICBsaXN0ID0gbGlzdC5maWx0ZXIoXG4gICAgICAgICAgKHVzZXI6IGFueSkgPT4gIXRoaXMuZGlzYWJsZWRJZC5pbmNsdWRlcyh1c2VyW3RoaXMudXNlcklkS2V5XSlcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5zZWxlY3RlZElkcyA9IFtdO1xuICAgICAgbGlzdC5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMucHVzaChlbGVtZW50W3RoaXMudXNlcklkS2V5XSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCF0aGlzLmlzRGlzYWJsZWRTZWxlY3RlZCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSWRzID0gW107XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSWRzID0gdGhpcy5zZWxlY3RlZElkcy5maWx0ZXIoKGlkOiBudW1iZXIpID0+XG4gICAgICAgICAgdGhpcy5kaXNhYmxlZElkLmluY2x1ZGVzKGlkKVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnNldExpc3QoKTtcbiAgfVxuXG4gIHNlbGVjdEFsbEdyb3Vwcyhtb2RlOiBhbnkpIHtcbiAgICBpZiAobW9kZSkge1xuICAgICAgY29uc3QgZ3JvdXBsaXN0ID0gWy4uLnRoaXMuYXNzaWduZWVHcm91cHNMaXN0XTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cElkcyA9IFtdO1xuICAgICAgZ3JvdXBsaXN0LmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwSWRzLnB1c2goZWxlbWVudFt0aGlzLmdyb3VwSWRLZXldKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwcyA9IGdyb3VwbGlzdDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwSWRzID0gW107XG4gICAgICB0aGlzLnNlbGVjdGVkR3JvdXBzID0gW107XG4gICAgfVxuICAgIHRoaXMuc2V0Z3JvdXBMaXN0KCk7XG4gIH1cblxuICB2YWxpZGF0aW9uQ2hlY2soaXNDaGVja2VkOiBib29sZWFuKSB7XG4gICAgaWYgKGlzQ2hlY2tlZCkge1xuICAgICAgdGhpcy5zbmFja2Jhci5zaG93KCdZb3UgY2FuIHNlbGVjdCBhIG1heGltdW0gb2YgMTkgdXNlcnMuJywgJ2FsZXJ0Jyk7XG4gICAgfVxuICB9XG5cbiAgc2V0TGlzdCgpIHtcbiAgICBjb25zdCBkYXRhOiBhbnkgPSBbXTtcbiAgICBjb25zdCB1c2VyTGlzdCA9IGNsb25lRGVlcCh0aGlzLnVzZXJzTGlzdCk7XG4gICAgY29uc3Qgc2VsZWN0ZWRJZHMgPSBjbG9uZURlZXAodGhpcy5zZWxlY3RlZElkcyk7XG4gICAgdXNlckxpc3QuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XG4gICAgICBpZiAoc2VsZWN0ZWRJZHMuaW5jbHVkZXMoZWxlbWVudFt0aGlzLnVzZXJJZEtleV0pKSB7XG4gICAgICAgIGRhdGEucHVzaChlbGVtZW50KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnNlbGVjdGVkVXNlcnMgPSBkYXRhO1xuICB9XG4gIHNldGdyb3VwTGlzdCgpIHtcbiAgICBjb25zdCBkYXRhOiBhbnkgPSBbXTtcbiAgICBjb25zdCBncm91cHNsaXN0ID0gY2xvbmVEZWVwKHRoaXMuYXNzaWduZWVHcm91cHNMaXN0KTtcbiAgICBjb25zdCBzZWxlY3RlZEdyb3VwSWRzID0gY2xvbmVEZWVwKHRoaXMuc2VsZWN0ZWRHcm91cElkcyk7XG4gICAgZ3JvdXBzbGlzdC5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcbiAgICAgIGlmIChzZWxlY3RlZEdyb3VwSWRzLmluY2x1ZGVzKGVsZW1lbnRbdGhpcy5ncm91cElkS2V5XSkpIHtcbiAgICAgICAgZGF0YS5wdXNoKGVsZW1lbnQpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuc2VsZWN0ZWRHcm91cHMgPSBkYXRhO1xuICB9XG5cbiAgY2hlY2tTZWxlY3RBbGwoKSB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMudXNlcnNMaXN0LmV2ZXJ5KCh1c2VyOiBhbnkpID0+XG4gICAgICB0aGlzLnNlbGVjdGVkSWRzLmluY2x1ZGVzKHVzZXJbdGhpcy51c2VySWRLZXldKVxuICAgICk7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBjaGVja3NlbGVjdEFsbGdyb3VwcygpIHtcbiAgICBjb25zdCBkYXRhID0gdGhpcy5hc3NpZ25lZUdyb3Vwc0xpc3QuZXZlcnkoKGdyb3VwOiBhbnkpID0+XG4gICAgICB0aGlzLnNlbGVjdGVkR3JvdXBJZHMuaW5jbHVkZXMoZ3JvdXBbdGhpcy5ncm91cElkS2V5XSlcbiAgICApO1xuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgc2F2ZShzZWxlY3RlZElkczogYW55KSB7XG4gICAgbGV0IHNlbGVjdGVkRGF0YTtcbiAgICBpZiAodGhpcy5hc3NpZ25lZUdyb3Vwc0xpc3QubGVuZ3RoKSB7XG4gICAgICBzZWxlY3RlZERhdGEgPSB7IHVzZXJzOiB0aGlzLnNlbGVjdGVkSWRzLCBncm91cHM6IHRoaXMuc2VsZWN0ZWRHcm91cElkcyB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBzZWxlY3RlZERhdGEgPSBzZWxlY3RlZElkcztcbiAgICB9XG4gICAgdGhpcy5zYXZlU2VsZWN0ZWRMaXN0LmVtaXQoc2VsZWN0ZWREYXRhKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMuY2xvc2VVc2Vyc0xpc3QuZW1pdCgpO1xuICB9XG5cbiAgc2VsZWN0R3JvdXAoZ3JvdXBJZHM6IGFueSwgbW9kZTogYW55KSB7XG4gICAgaWYgKG1vZGUpIHtcbiAgICAgIGdyb3VwSWRzLmZvckVhY2goKHVzZXJJZDogYW55KSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RlZElkcy5pbmNsdWRlcyh1c2VySWQpKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZElkcy5wdXNoKHVzZXJJZCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBncm91cElkcy5mb3JFYWNoKCh1c2VySWQ6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRJZHMuZmluZEluZGV4KFxuICAgICAgICAgIChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQgPT0gdXNlcklkXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLnNldExpc3QoKTtcbiAgfVxuXG4gIHNlbGVjdEdyb3VwRWxlbWVudChkYXRhOiBhbnksIG1vZGU6IGFueSkge1xuICAgIGlmIChtb2RlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkZ3JvdXBMaXN0LnB1c2goZGF0YSk7XG4gICAgICB0aGlzLnNlbGVjdGVkR3JvdXBJZHMucHVzaChkYXRhW3RoaXMuZ3JvdXBJZEtleV0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRncm91cExpc3QuZmluZEluZGV4KFxuICAgICAgICAoZWxlOiB7IFt4OiBzdHJpbmddOiBhbnkgfSkgPT5cbiAgICAgICAgICBlbGVbdGhpcy5ncm91cElkS2V5XSA9PT0gZGF0YVt0aGlzLmdyb3VwSWRLZXldXG4gICAgICApO1xuICAgICAgdGhpcy5zZWxlY3RlZGdyb3VwTGlzdC5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgY29uc3QgaWRJbmRleCA9IHRoaXMuc2VsZWN0ZWRHcm91cElkcy5maW5kSW5kZXgoXG4gICAgICAgIChlbGUpID0+IGVsZSA9PT0gZGF0YVt0aGlzLmdyb3VwSWRLZXldXG4gICAgICApO1xuICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwSWRzLnNwbGljZShpZEluZGV4LCAxKTtcbiAgICB9XG4gICAgdGhpcy5zZXRncm91cExpc3QoKTtcbiAgfVxuXG4gIGNoZWNrR3JvdXBMaXN0KGdyb3VwSWRzOiBhbnlbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBncm91cElkcz8ubGVuZ3RoXG4gICAgICA/IGdyb3VwSWRzLmV2ZXJ5KGlkID0+IHRoaXMuc2VsZWN0ZWRJZHMuaW5jbHVkZXMoaWQpKVxuICAgICAgOiBmYWxzZTtcbiAgfVxuXG4gIGhpZGVHcm91cChncm91cElkczogYW55W10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gZ3JvdXBJZHM/Lmxlbmd0aFxuICAgICAgPyB0aGlzLnVzZXJzTGlzdC5ldmVyeSh1c2VyID0+ICFncm91cElkcy5pbmNsdWRlcyh1c2VyW3RoaXMudXNlcklkS2V5XSkpXG4gICAgICA6IGZhbHNlO1xuICB9XG5cbiAgY3VycmVudFRhYiA9ICdVU0VSJztcbiAgc3dpdGNoVGFiKHRhYjogc3RyaW5nKSB7XG4gICAgdGhpcy5jdXJyZW50VGFiID0gdGFiO1xuICAgIHRoaXMuc2VhcmNoID0gJyc7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhZGQtcmlzay1ncm91cC11c2VyLWxpc3RcIiBbY2xhc3MuYW5pbWF0ZV09XCJhbmltYXRpb25cIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYWRkLXJpc2stZ3JvdXAtdXNlci1saXN0LWhlYWQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcGwtNCB2eC1wci00XCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+U2VsZWN0IFVzZXIocyk8L2Rpdj5cbiAgICA8IS0tIDxidXR0b24gY2xhc3M9XCJhZGQtcmlzay1ncm91cC11c2VyLWxpc3QtY2xvc2VcIiAoY2xpY2spPVwiY2xvc2UoKVwiPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MGQ7PC9pPlxuICAgICAgICA8L2J1dHRvbj4gLS0+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYWRkLXJpc2stZ3JvdXAtdXNlci1saXN0LWJvZHlcIj5cbiAgICA8YXBwLWxvYWRlci1pbmxpbmUgKm5nSWY9XCJsb2FkZXJcIj48L2FwcC1sb2FkZXItaW5saW5lPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiYWRkLXJpc2stZ3JvdXAtdXNlci1saXN0LXRhYiB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LW10LTEgdngtbWItMlwiXG4gICAgICAqbmdJZj1cImdyb3Vwc0VuYWJsZWRcIlxuICAgID5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKGNsaWNrKT1cInN3aXRjaFRhYignVVNFUicpXCJcbiAgICAgICAgY2xhc3M9XCJ0YWItYnRuIHZ4LWZzLTExIHZ4LWZ3LTYwMCB2eC1wYXJhZ3JhcGgtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtcGItMiB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1saC00XCJcbiAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJjdXJyZW50VGFiID09PSAnVVNFUidcIlxuICAgICAgPlxuICAgICAgICBVU0VSU1xuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwidngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXIgdngtbWwtMiB2eC1saC00XCJcbiAgICAgICAgICA+e3tcbiAgICAgICAgICAgIHNlYXJjaD8ubGVuZ3RoICYmIGN1cnJlbnRUYWIgPT09IFwiVVNFUlwiXG4gICAgICAgICAgICAgID8gKHVzZXJzTGlzdCB8IHNlYXJjaCA6IHNlYXJjaCk/Lmxlbmd0aFxuICAgICAgICAgICAgICA6IHVzZXJzTGlzdD8ubGVuZ3RoXG4gICAgICAgICAgfX08L3NwYW5cbiAgICAgICAgPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIChjbGljayk9XCJzd2l0Y2hUYWIoJ0dST1VQJylcIlxuICAgICAgICBjbGFzcz1cInRhYi1idG4gdngtZnMtMTEgdngtZnctNjAwIHZ4LXBhcmFncmFwaC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1wYi0yIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWxoLTRcIlxuICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImN1cnJlbnRUYWIgPT09ICdHUk9VUCdcIlxuICAgICAgPlxuICAgICAgICBVU0VSIEdST1VQU1xuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwidngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXIgdngtbWwtMiB2eC1saC00XCJcbiAgICAgICAgICA+e3tcbiAgICAgICAgICAgIHNlYXJjaD8ubGVuZ3RoICYmIGN1cnJlbnRUYWIgPT09IFwiR1JPVVBcIlxuICAgICAgICAgICAgICA/IChhc3NpZ25lZUdyb3Vwc0xpc3QgfCBzZWFyY2ggOiBzZWFyY2gpPy5sZW5ndGhcbiAgICAgICAgICAgICAgOiBhc3NpZ25lZUdyb3Vwc0xpc3Q/Lmxlbmd0aFxuICAgICAgICAgIH19PC9zcGFuXG4gICAgICAgID5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtYmxvY2sgdngtbWItMlwiPlxuICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MGI7PC9pPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cInt7XG4gICAgICAgICAgY3VycmVudFRhYiA9PT0gJ1VTRVInID8gJ1NlYXJjaCBVc2VyKHMpJyA6ICdTZWFyY2ggVXNlciBHcm91cChzKSdcbiAgICAgICAgfX0gXCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFncm91cHNFbmFibGVkXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidXNlcnNMaXN0IHwgc2VhcmNoIDogc2VhcmNoIGFzIHVzZXJsaXN0XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJncm91cHNMaXN0IHwgc2VhcmNoIDogc2VhcmNoIGFzIGdyb3VwbGlzdFwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiYm9keS10b3BcIlxuICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgKHVzZXJsaXN0Py5sZW5ndGggPiAwIHx8XG4gICAgICAgICAgICAgICAgKHVzZXJsaXN0Py5sZW5ndGggPiAwICYmIGdyb3VwbGlzdD8ubGVuZ3RoID4gMCkpICYmXG4gICAgICAgICAgICAgIHNlYXJjaD8udHJpbSgpPy5sZW5ndGggPT09IDBcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGFwcC1jcy1jaGVja2JveFxuICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgIChvcGVuZWRGcm9tID09PSAnUklTS19UUkVBVE1FTlQnICYmIHVzZXJzTGlzdD8ubGVuZ3RoIDwgMTkpIHx8XG4gICAgICAgICAgICAgICAgb3BlbmVkRnJvbSAhPT0gJ1JJU0tfVFJFQVRNRU5UJ1xuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBbbmdWYWx1ZV09XCJjaGVja1NlbGVjdEFsbCgpXCJcbiAgICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0QWxsKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3Ryb25nPlxuICAgICAgICAgICAgICAgIHt7IGNoZWNrU2VsZWN0QWxsKCkgPyBcIkRlc2VsZWN0IEFsbFwiIDogXCJTZWxlY3QgQWxsXCIgfX1cbiAgICAgICAgICAgICAgPC9zdHJvbmc+XG4gICAgICAgICAgICA8L2FwcC1jcy1jaGVja2JveD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImxpc3QtYmxvY2tcIlxuICAgICAgICAgICAgW2NsYXNzLndpdGhvdXQtZ3JvdXBdPVwiIWdyb3Vwc0VuYWJsZWRcIlxuICAgICAgICAgICAgW2NsYXNzLndpdGgtbm8tZGF0YV09XCJcbiAgICAgICAgICAgICAgdXNlcmxpc3Q/Lmxlbmd0aCA9PT0gMCAmJiBncm91cGxpc3Q/Lmxlbmd0aCA9PT0gMCAmJiAhbG9hZGVyXG4gICAgICAgICAgICBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDx1bCBjbGFzcz1cImdyb3VwLXVzZXItbGlzdFwiICpuZ0lmPVwiZ3JvdXBsaXN0Py5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGdyb3VwIG9mIGdyb3VwbGlzdFwiPlxuICAgICAgICAgICAgICAgIDxsaSAqbmdJZj1cIiFoaWRlR3JvdXAoZ3JvdXAudXNlcklkcylcIj5cbiAgICAgICAgICAgICAgICAgIDxhcHAtY3MtY2hlY2tib3hcbiAgICAgICAgICAgICAgICAgICAgW25nVmFsdWVdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgY2hlY2tHcm91cExpc3QoZ3JvdXAudXNlcklkcykgJiZcbiAgICAgICAgICAgICAgICAgICAgICBncm91cC51c2VySWRzPy5sZW5ndGggIT09IDBcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0R3JvdXAoZ3JvdXAudXNlcklkcywgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAob3BlbmVkRnJvbSA9PT0gJ1JJU0tfVFJFQVRNRU5UJyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRVc2Vycz8ubGVuZ3RoICsgZ3JvdXAudXNlcklkcz8ubGVuZ3RoID4gMTkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICFjaGVja0dyb3VwTGlzdChncm91cC51c2VySWRzKSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICBncm91cC51c2VySWRzPy5sZW5ndGggPT09IDBcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxuICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRpb25DaGVjayhcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5lZEZyb20gPT09ICdSSVNLX1RSRUFUTUVOVCcgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRVc2Vycz8ubGVuZ3RoICsgZ3JvdXAudXNlcklkcz8ubGVuZ3RoID4gMTkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIWNoZWNrR3JvdXBMaXN0KGdyb3VwLnVzZXJJZHMpXG4gICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgID57eyBncm91cC5ncm91cE5hbWVcbiAgICAgICAgICAgICAgICAgICAgICB9fTxzcGFuIGNsYXNzPVwiY291bnRlclwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICBncm91cC51c2VySWRzPy5sZW5ndGggPiAxXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8gZ3JvdXAudXNlcklkcz8ubGVuZ3RoICsgXCIgVVNFUlNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICA6IGdyb3VwLnVzZXJJZHM/Lmxlbmd0aCArIFwiIFVTRVJcIlxuICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPjwvc3BhblxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8L2FwcC1jcy1jaGVja2JveD5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJncm91cC11c2VyLWxpc3RcIiAqbmdJZj1cInVzZXJsaXN0Py5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCB1c2VyIG9mIHVzZXJsaXN0XCJcbiAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJcbiAgICAgICAgICAgICAgICAgIHVzZXJcbiAgICAgICAgICAgICAgICAgICAgfCB0b29sdGlwTWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICAgIDogZnJvbVJlc3BvbnNpYmlsaXR5XG4gICAgICAgICAgICAgICAgICAgICAgOiByZXZpZXdlcklkc1xuICAgICAgICAgICAgICAgICAgICAgIDogb3ZlcnNlZXJJZHNcbiAgICAgICAgICAgICAgICAgICAgICA6IGFzc2lnbm9ySWRcbiAgICAgICAgICAgICAgICAgICAgICA6IFtdXG4gICAgICAgICAgICAgICAgICAgICAgOiAnbXlfbWVtYmVyX2lkJ1xuICAgICAgICAgICAgICAgICAgICAgIDogKG9wZW5lZEZyb20gPT09ICdSSVNLX1RSRUFUTUVOVCcgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRVc2Vycz8ubGVuZ3RoID09PSAxOSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAhc2VsZWN0ZWRJZHM/LmluY2x1ZGVzKHVzZXJbdXNlcklkS2V5XSkpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkSWQ/LmluY2x1ZGVzKHVzZXJbdXNlcklkS2V5XSlcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGFwcC1jcy1jaGVja2JveFxuICAgICAgICAgICAgICAgICAgW25nVmFsdWVdPVwic2VsZWN0ZWRJZHM/LmluY2x1ZGVzKHVzZXJbdXNlcklkS2V5XSlcIlxuICAgICAgICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0VXNlcih1c2VyW3VzZXJJZEtleV0sICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIlxuICAgICAgICAgICAgICAgICAgICAob3BlbmVkRnJvbSA9PT0gJ1JJU0tfVFJFQVRNRU5UJyAmJlxuICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkVXNlcnM/Lmxlbmd0aCA9PT0gMTkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAhc2VsZWN0ZWRJZHM/LmluY2x1ZGVzKHVzZXJbdXNlcklkS2V5XSkpIHx8XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkSWQ/LmluY2x1ZGVzKHVzZXJbdXNlcklkS2V5XSlcbiAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXG4gICAgICAgICAgICAgICAgICAgIHZhbGlkYXRpb25DaGVjayhcbiAgICAgICAgICAgICAgICAgICAgICBvcGVuZWRGcm9tID09PSAnUklTS19UUkVBVE1FTlQnICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFVzZXJzPy5sZW5ndGggPT09IDE5ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAhc2VsZWN0ZWRJZHM/LmluY2x1ZGVzKHVzZXJbdXNlcklkS2V5XSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hbWVcIj57eyB1c2VyLmVtcGxveWVlX25hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9hcHAtY3MtY2hlY2tib3g+XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgPGFwcC1uby1kYXRhXG4gICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgdXNlcmxpc3Q/Lmxlbmd0aCA9PT0gMCAmJiBncm91cGxpc3Q/Lmxlbmd0aCA9PT0gMCAmJiAhbG9hZGVyXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIFtub0RhdGFJbWFnZV09XCJBU1NFVFMuc2VhcmNoX2RhdGFcIlxuICAgICAgICAgICAgICBbbm9EYXRhVGV4dF09XCInTm8gVXNlcnMgRm91bmQnXCJcbiAgICAgICAgICAgID48L2FwcC1uby1kYXRhPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRUYWIgPT09ICdVU0VSJyAmJiBncm91cHNFbmFibGVkICYmICFsb2FkZXJcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ1c2Vyc0xpc3QgfCBzZWFyY2ggOiBzZWFyY2ggYXMgdXNlcmxpc3RcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiYm9keS10b3BcIlxuICAgICAgICAgICpuZ0lmPVwidXNlcmxpc3Q/Lmxlbmd0aCA+IDAgJiYgc2VhcmNoPy50cmltKCk/Lmxlbmd0aCA9PT0gMFwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94XG4gICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAob3BlbmVkRnJvbSA9PT0gJ1JJU0tfVFJFQVRNRU5UJyAmJiB1c2Vyc0xpc3Q/Lmxlbmd0aCA8IDE5KSB8fFxuICAgICAgICAgICAgICBvcGVuZWRGcm9tICE9PSAnUklTS19UUkVBVE1FTlQnXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW25nVmFsdWVdPVwiY2hlY2tTZWxlY3RBbGwoKVwiXG4gICAgICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJzZWxlY3RBbGwoJGV2ZW50KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHN0cm9uZz5cbiAgICAgICAgICAgICAge3sgY2hlY2tTZWxlY3RBbGwoKSA/IFwiRGVzZWxlY3QgQWxsXCIgOiBcIlNlbGVjdCBBbGxcIiB9fVxuICAgICAgICAgICAgPC9zdHJvbmc+XG4gICAgICAgICAgPC9hcHAtY3MtY2hlY2tib3g+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImxpc3QtYmxvY2tcIlxuICAgICAgICAgIFtjbGFzcy53aXRoLW5vLWRhdGFdPVwidXNlcmxpc3Q/Lmxlbmd0aCA9PT0gMCAmJiAhbG9hZGVyXCJcbiAgICAgICAgPlxuICAgICAgICAgIDx1bCBjbGFzcz1cImdyb3VwLXVzZXItbGlzdFwiICpuZ0lmPVwidXNlcmxpc3Q/Lmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgdXNlciBvZiB1c2VybGlzdFwiXG4gICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIlxuICAgICAgICAgICAgICAgIHVzZXJcbiAgICAgICAgICAgICAgICAgIHwgdG9vbHRpcE1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgOiBmcm9tUmVzcG9uc2liaWxpdHlcbiAgICAgICAgICAgICAgICAgICAgOiByZXZpZXdlcklkc1xuICAgICAgICAgICAgICAgICAgICA6IG92ZXJzZWVySWRzXG4gICAgICAgICAgICAgICAgICAgIDogYXNzaWdub3JJZFxuICAgICAgICAgICAgICAgICAgICA6IFtdXG4gICAgICAgICAgICAgICAgICAgIDogJ215X21lbWJlcl9pZCdcbiAgICAgICAgICAgICAgICAgICAgOiAob3BlbmVkRnJvbSA9PT0gJ1JJU0tfVFJFQVRNRU5UJyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRVc2Vycz8ubGVuZ3RoID09PSAxOSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgIXNlbGVjdGVkSWRzPy5pbmNsdWRlcyh1c2VyW3VzZXJJZEtleV0pKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWRJZD8uaW5jbHVkZXModXNlclt1c2VySWRLZXldKVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgW25nVmFsdWVdPVwic2VsZWN0ZWRJZHM/LmluY2x1ZGVzKHVzZXJbdXNlcklkS2V5XSlcIlxuICAgICAgICAgICAgICAgIChuZ1ZhbHVlQ2hhbmdlKT1cInNlbGVjdFVzZXIodXNlclt1c2VySWRLZXldLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiXG4gICAgICAgICAgICAgICAgICAob3BlbmVkRnJvbSA9PT0gJ1JJU0tfVFJFQVRNRU5UJyAmJlxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFVzZXJzPy5sZW5ndGggPT09IDE5ICYmXG4gICAgICAgICAgICAgICAgICAgICFzZWxlY3RlZElkcz8uaW5jbHVkZXModXNlclt1c2VySWRLZXldKSkgfHxcbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkSWQ/LmluY2x1ZGVzKHVzZXJbdXNlcklkS2V5XSlcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJcbiAgICAgICAgICAgICAgICAgIHZhbGlkYXRpb25DaGVjayhcbiAgICAgICAgICAgICAgICAgICAgb3BlbmVkRnJvbSA9PT0gJ1JJU0tfVFJFQVRNRU5UJyAmJlxuICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkVXNlcnM/Lmxlbmd0aCA9PT0gMTkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAhc2VsZWN0ZWRJZHM/LmluY2x1ZGVzKHVzZXJbdXNlcklkS2V5XSlcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuYW1lXCI+e3sgdXNlci5lbXBsb3llZV9uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8L2FwcC1jcy1jaGVja2JveD5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgICA8YXBwLW5vLWRhdGFcbiAgICAgICAgICAgICpuZ0lmPVwidXNlcmxpc3Q/Lmxlbmd0aCA9PT0gMCAmJiAhbG9hZGVyXCJcbiAgICAgICAgICAgIFtub0RhdGFJbWFnZV09XCJBU1NFVFMuc2VhcmNoX2RhdGFcIlxuICAgICAgICAgICAgW25vRGF0YVRleHRdPVwiJ05vIFVzZXJzIEZvdW5kJ1wiXG4gICAgICAgICAgPjwvYXBwLW5vLWRhdGE+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRUYWIgPT09ICdHUk9VUCcgJiYgZ3JvdXBzRW5hYmxlZCAmJiAhbG9hZGVyXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXNzaWduZWVHcm91cHNMaXN0IHwgc2VhcmNoIDogc2VhcmNoIGFzIGdyb3VwbGlzdFwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJib2R5LXRvcFwiXG4gICAgICAgICAgKm5nSWY9XCJncm91cGxpc3Q/Lmxlbmd0aCA+IDAgJiYgc2VhcmNoPy50cmltKCk/Lmxlbmd0aCA9PT0gMFwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94XG4gICAgICAgICAgICBbbmdWYWx1ZV09XCJjaGVja3NlbGVjdEFsbGdyb3VwcygpXCJcbiAgICAgICAgICAgIChuZ1ZhbHVlQ2hhbmdlKT1cInNlbGVjdEFsbEdyb3VwcygkZXZlbnQpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3Ryb25nPlxuICAgICAgICAgICAgICB7eyBjaGVja3NlbGVjdEFsbGdyb3VwcygpID8gXCJEZXNlbGVjdCBBbGxcIiA6IFwiU2VsZWN0IEFsbFwiIH19XG4gICAgICAgICAgICA8L3N0cm9uZz5cbiAgICAgICAgICA8L2FwcC1jcy1jaGVja2JveD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImxpc3QtYmxvY2tcIlxuICAgICAgICAgIFtjbGFzcy53aXRoLW5vLWRhdGFdPVwiZ3JvdXBsaXN0Py5sZW5ndGggPT09IDAgJiYgIWxvYWRlclwiXG4gICAgICAgID5cbiAgICAgICAgICA8dWwgY2xhc3M9XCJncm91cC11c2VyLWxpc3RcIiAqbmdJZj1cImdyb3VwbGlzdD8ubGVuZ3RoID4gMFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBncm91cCBvZiBncm91cGxpc3Q7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgICBbbmdWYWx1ZV09XCJzZWxlY3RlZEdyb3VwSWRzPy5pbmNsdWRlcyhncm91cFtncm91cElkS2V5XSlcIlxuICAgICAgICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0R3JvdXBFbGVtZW50KGdyb3VwLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJcbiAgICAgICAgICAgICAgICAgICAgb3BlbmVkRnJvbSA9PT0gJ1JJU0tfVFJFQVRNRU5UJyAmJlxuICAgICAgICAgICAgICAgICAgICBncm91cC5tZW1iZXJfaWRzPy5sZW5ndGggPiAxOSAmJlxuICAgICAgICAgICAgICAgICAgICAhY2hlY2tHcm91cExpc3QoZ3JvdXA/Lm1lbWJlcl9pZHMpXG4gICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxuICAgICAgICAgICAgICAgICAgICB2YWxpZGF0aW9uQ2hlY2soXG4gICAgICAgICAgICAgICAgICAgICAgb3BlbmVkRnJvbSA9PT0gJ1JJU0tfVFJFQVRNRU5UJyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXAubWVtYmVyX2lkcz8ubGVuZ3RoID4gMTkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICFjaGVja0dyb3VwTGlzdChncm91cD8ubWVtYmVyX2lkcylcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hbWUgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC13LTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZ3JvdXAtbmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiZ3JvdXA/Lmdyb3VwX25hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgID57eyBncm91cD8uZ3JvdXBfbmFtZSB9fTwvc3BhblxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY291bnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgPnt7IGdyb3VwW1wibWVtYmVyX2NvdW50XCJdIH19XG4gICAgICAgICAgICAgICAgICAgICAge3sgZ3JvdXA/Lm1lbWJlcl9jb3VudCA+IDEgPyBcIlVTRVJTXCIgOiBcIlVTRVJcIiB9fTwvc3BhblxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9hcHAtY3MtY2hlY2tib3g+XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICAgIDxhcHAtbm8tZGF0YVxuICAgICAgICAgICAgKm5nSWY9XCJncm91cGxpc3Q/Lmxlbmd0aCA9PT0gMCAmJiAhbG9hZGVyXCJcbiAgICAgICAgICAgIFtub0RhdGFJbWFnZV09XCJBU1NFVFMuc2VhcmNoX2RhdGFcIlxuICAgICAgICAgICAgW25vRGF0YVRleHRdPVwiJ05vIEdyb3VwcyBGb3VuZCdcIlxuICAgICAgICAgID48L2FwcC1uby1kYXRhPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPGFwcC1mbG9hdGluZy1iYXJcbiAgICAgIFtzZWxlY3RlZERhdGFdPVwic2VsZWN0ZWRVc2Vyc1wiXG4gICAgICBbc2VsZWN0ZWRHcm91cHNdPVwic2VsZWN0ZWRHcm91cHNcIlxuICAgICAgW2Rpc3BsYXlFbGVtZW50S2V5XT1cIidlbXBsb3llZV9uYW1lJ1wiXG4gICAgICBbZWxlbWVudElkXT1cInVzZXJJZEtleVwiXG4gICAgICBbc2luZ3VsYXJUZXh0XT1cIidVc2VyIHNlbGVjdGVkJ1wiXG4gICAgICBbcGx1cmFsVGV4dF09XCInVXNlcnMgc2VsZWN0ZWQnXCJcbiAgICAgIChjbG9zZUV2ZW50KT1cInNhdmUoc2VsZWN0ZWRJZHMpXCJcbiAgICAgIChjbG9zZUxpc3QpPVwiY2xvc2UoKVwiXG4gICAgICAoZGVsZXRlRXZlbnQpPVwiZGVsZXRlRXZlbnQoJGV2ZW50KVwiXG4gICAgICAoZGVsZXRlR3JvdXBFdmVudCk9XCJkZWxldGVHcm91cEV2ZW50KCRldmVudClcIlxuICAgICAgW2dyb3Vwc0VuYWJsZWRdPVwiZ3JvdXBzRW5hYmxlZFwiXG4gICAgICBbbm9uUmVtb3ZhYmxlVXNlcnNMaXN0XT1cImlzRGlzYWJsZWRTZWxlY3RlZCA/IGRpc2FibGVkSWQgOiBbXVwiXG4gICAgICBbaXNEaXNhYmxlZF09XCJcbiAgICAgICAgZ3JvdXBzTGlzdD8ubGVuZ3RoICsgdXNlcnNMaXN0Py5sZW5ndGggPT09IDAgfHxcbiAgICAgICAgKHNlbGVjdGVkVXNlcnM/Lmxlbmd0aCA9PT0gMCAmJiBzZWxlY3RlZEdyb3Vwcz8ubGVuZ3RoID09PSAwKVxuICAgICAgXCJcbiAgICA+XG4gICAgPC9hcHAtZmxvYXRpbmctYmFyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|