@acorex/components 5.0.46 → 5.0.49
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/esm2020/lib/alert/alert.component.mjs +32 -36
- package/esm2020/lib/badge/badge.component.mjs +9 -9
- package/esm2020/lib/base/events.class.mjs +4 -5
- package/esm2020/lib/base/mixin/button-mixin.class.mjs +2 -38
- package/esm2020/lib/base/mixin/color-look-mixing.class.mjs +48 -0
- package/esm2020/lib/base/mixin/mixin.class.mjs +5 -4
- package/esm2020/lib/base/mixin/selection-component.class.mjs +2 -2
- package/esm2020/lib/base/mixin/textbox-mixin.class.mjs +6 -2
- package/esm2020/lib/base/mixin/value-mixin.class.mjs +1 -1
- package/esm2020/lib/button/button.component.mjs +4 -3
- package/esm2020/lib/calendar/calendar.class.mjs +19 -2
- package/esm2020/lib/calendar/calendar.component.mjs +44 -20
- package/esm2020/lib/datepicker/datepicker.component.mjs +8 -6
- package/esm2020/lib/decorators/content.component.mjs +1 -1
- package/esm2020/lib/dialog/dialog.component.mjs +1 -1
- package/esm2020/lib/label/label.component.mjs +8 -5
- package/esm2020/lib/number-box/number-box.component.mjs +2 -2
- package/esm2020/lib/password-box/password-box.component.mjs +2 -2
- package/esm2020/lib/progress-bar/index.mjs +3 -0
- package/esm2020/lib/progress-bar/progress-bar.component.mjs +27 -0
- package/esm2020/lib/progress-bar/progress-bar.module.mjs +19 -0
- package/esm2020/lib/selectbox/selectbox.component.mjs +2 -2
- package/esm2020/lib/selection-list/selection-list.component.mjs +3 -3
- package/esm2020/lib/tabs/tab-item.component.mjs +45 -26
- package/esm2020/lib/tabs/tabs.class.mjs +1 -1
- package/esm2020/lib/tabs/tabs.component.mjs +29 -11
- package/esm2020/lib/textarea/textarea.component.mjs +2 -2
- package/esm2020/lib/textbox/textbox.component.mjs +3 -3
- package/esm2020/lib/time-box/time-box.component.mjs +2 -2
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/acorex-components.mjs +290 -162
- package/fesm2015/acorex-components.mjs.map +1 -1
- package/fesm2020/acorex-components.mjs +289 -162
- package/fesm2020/acorex-components.mjs.map +1 -1
- package/lib/alert/alert.component.d.ts +40 -10
- package/lib/badge/badge.component.d.ts +36 -4
- package/lib/base/events.class.d.ts +1 -2
- package/lib/base/mixin/button-mixin.class.d.ts +5 -18
- package/lib/base/mixin/color-look-mixing.class.d.ts +45 -0
- package/lib/base/mixin/mixin.class.d.ts +33 -33
- package/lib/base/mixin/textbox-mixin.class.d.ts +4 -0
- package/lib/button/button.component.d.ts +1 -1
- package/lib/calendar/calendar.class.d.ts +4 -0
- package/lib/calendar/calendar.component.d.ts +9 -4
- package/lib/datepicker/datepicker.component.d.ts +2 -32
- package/lib/label/label.component.d.ts +2 -1
- package/lib/number-box/number-box.component.d.ts +1 -1
- package/lib/password-box/password-box.component.d.ts +1 -1
- package/lib/progress-bar/index.d.ts +2 -0
- package/lib/progress-bar/progress-bar.component.d.ts +12 -0
- package/lib/progress-bar/progress-bar.module.d.ts +8 -0
- package/lib/selectbox/selectbox.component.d.ts +1 -1
- package/lib/tabs/tab-item.component.d.ts +39 -5
- package/lib/tabs/tabs.class.d.ts +2 -2
- package/lib/tabs/tabs.component.d.ts +7 -3
- package/lib/textarea/textarea.component.d.ts +1 -1
- package/lib/textbox/textbox.component.d.ts +1 -1
- package/lib/time-box/time-box.component.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -206,4 +206,4 @@ export const VALUE_INPUTS = [
|
|
|
206
206
|
'checked'
|
|
207
207
|
];
|
|
208
208
|
export const VALUE_OUTPUT = ['valueChange', 'onValueChanged'];
|
|
209
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtbWl4aW4uY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvbWl4aW4vdmFsdWUtbWl4aW4uY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsb0JBQW9CLEdBQ3JCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUs3QyxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsTUFBTSxVQUFVLHFCQUFxQixDQUE2QyxJQUFXOztJQUUzRixZQUFPLEtBQU0sU0FBUSxJQUFJO1lBZ0t2Qjs7Y0FFRTtZQUNGLFlBQVksR0FBRyxJQUFXO2dCQUN4QixLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztnQkFsS2pCOzs7a0JBR0U7Z0JBQ0YsbUJBQWMsR0FBMkMsSUFBSSxZQUFZLEVBQTRCLENBQUM7Z0JBRXRHLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7Z0JBR3pELG9CQUFxQixLQUFLLEVBQUM7Z0JBWTNCLHFCQUFzQixJQUFJLEVBQUM7Z0JBUzNCLHdCQUFjO2dCQVFkLHdCQUF3QixDQUFDLEVBQUM7Z0JBUTFCLDZCQUFxQixJQUFJLFlBQVksRUFBRSxFQUFDO2dCQUN4Qyx3QkFBZ0IsSUFBSSxPQUFPLEVBQUUsRUFBQztnQkFFOUIseUJBQVk7Z0JBYVosaUJBQXdDLE9BQU8sRUFBQztZQXFHaEQsQ0FBQztZQXhKRDs7Y0FFRTtZQUNGLElBQUksUUFBUTtnQkFDVixPQUFPLHVCQUFBLElBQUksaUJBQVUsQ0FBQztZQUN4QixDQUFDO1lBQ0QsSUFBSSxRQUFR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cmNlTnVtYmVyUHJvcGVydHksXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcclxuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS1jb21wb25lbnRzLmNsYXNzJztcclxuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cmF0Y3Rvcic7XHJcbmltcG9ydCB7IEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICcuLi9ldmVudHMuY2xhc3MnO1xyXG5pbXBvcnQgeyBBWFZhbGlkYXRpb25SdWxlUmVzdWx0IH0gZnJvbSAnLi4vLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uLmNsYXNzJztcclxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX1ZhbHVlQ29tcG9uZW5ldE1peGluPFRCYXNlIGV4dGVuZHMgQ29uc3RydWN0b3I8QVhCYXNlQ29tcG9uZW50Pj4oQmFzZTogVEJhc2UpIHtcclxuXHJcbiAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgQmFzZSB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAqICBGaXJlcyBlYWNoIHRpbWUgdGhlIHVzZXIgcHJlc3MgYSBrZXkuXHJcbiAgICAqICBAZXZlbnRcclxuICAgICovXHJcbiAgICBvblZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYVmFsdWVDaGFuZ2VkRXZlbnQ8YW55Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYVmFsdWVDaGFuZ2VkRXZlbnQ8YW55Pj4oKTtcclxuXHJcbiAgICB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcblxyXG4gICAgI3JlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAqICBJZiBzZXQgdG8gdHJ1ZSwgdXNlciBjYW5ub3QgY2hhbmdlIHRoZSB2YWx1ZSBvZiBjb21wb25lbnQuXHJcbiAgICAqL1xyXG4gICAgZ2V0IHJlYWRvbmx5KCkge1xyXG4gICAgICByZXR1cm4gdGhpcy4jcmVhZG9ubHk7XHJcbiAgICB9XHJcbiAgICBzZXQgcmVhZG9ubHkodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgdGhpcy4jcmVhZG9ubHkgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgICNhbGxvd051bGw6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgZ2V0IGFsbG93TnVsbCgpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuI2FsbG93TnVsbDtcclxuICAgIH1cclxuICAgIHNldCBhbGxvd051bGwodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgdGhpcy4jYWxsb3dOdWxsID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgI25hbWU6IHN0cmluZztcclxuICAgIGdldCBuYW1lKCkge1xyXG4gICAgICByZXR1cm4gdGhpcy4jbmFtZTtcclxuICAgIH1cclxuICAgIHNldCBuYW1lKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgdGhpcy4jbmFtZSA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgICNkZWJvdW5jZVRpbWU6IG51bWJlciA9IDA7XHJcbiAgICBnZXQgZGVib3VuY2VUaW1lKCkge1xyXG4gICAgICByZXR1cm4gdGhpcy4jZGVib3VuY2VUaW1lO1xyXG4gICAgfVxyXG4gICAgc2V0IGRlYm91bmNlVGltZSh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICAgIHRoaXMuI2RlYm91bmNlVGltZSA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICAjdmFsdWVTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcbiAgICAjdmFsdWVTdWJqZWN0ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgICAjdmFsdWU6IGFueTtcclxuICAgIGdldCB2YWx1ZSgpOiBhbnkge1xyXG4gICAgICByZXR1cm4gdGhpcy4jdmFsdWU7XHJcbiAgICB9XHJcbiAgICBzZXQgdmFsdWUodjogYW55KSB7XHJcbiAgICAgIHYgPSB0aGlzLl9vbkludGVybmFsVmFsdWVDaGFuZ2luZyh2KTtcclxuICAgICAgaWYgKCF0aGlzLl9pc0luaXRlZCB8fCB0aGlzLmRlYm91bmNlVGltZSA9PSAwKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0VmFsdWUodik7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy4jdmFsdWVTdWJqZWN0Lm5leHQodik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAjc3RhdGU6ICdjbGVhcicgfCAnc3VjY2VzcycgfCAnZXJyb3InID0gJ2NsZWFyJztcclxuXHJcbiAgICBnZXQgc3RhdGUoKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLiNzdGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICBfZW1pdE9uVmFsdWVDaGFuZ2VkRXZlbnQob2xkVmFsdWU/OiBhbnksIG5ld1ZhbHVlPzogYW55KSB7XHJcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChuZXdWYWx1ZSk7XHJcbiAgICAgIHRoaXMub25WYWx1ZUNoYW5nZWQuZW1pdCh7XHJcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgIHZhbHVlOiBuZXdWYWx1ZSxcclxuICAgICAgICBvbGRWYWx1ZTogb2xkVmFsdWUsXHJcbiAgICAgICAgbmFtZTogdGhpcy5uYW1lXHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLl9vblZhbHVlQ2hhbmdlZChvbGRWYWx1ZSwgdGhpcy4jdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIF9vbkludGVybmFsVmFsdWVDaGFuZ2luZyh2YWx1ZTogYW55KSB7XHJcbiAgICAgIC8vIGlmICh0aGlzLnJlYWRvbmx5KVxyXG4gICAgICAvLyAgIHJldHVybiB0aGlzLnZhbHVlO1xyXG4gICAgICByZXR1cm4gdGhpcy5fb25WYWx1ZUNoYW5naW5nKHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBfb25WYWx1ZUNoYW5naW5nKHZhbHVlOiBhbnkpIHtcclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG4gICAgX29uVmFsdWVDaGFuZ2VkKG9sZFZhbHVlOiBhbnksIG5ld1ZhbHVlOiBhbnkpOiB2b2lkIHsgfVxyXG5cclxuICAgIF9vbkludGVybmFsSW5pdCgpIHtcclxuICAgICAgdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5zZXRBdHRyaWJ1dGUoJ2F4LWZvcm0taW5wdXQnLCAndHJ1ZScpO1xyXG4gICAgICB0aGlzLiN2YWx1ZVN1YnNjcmlwdGlvbiA9IHRoaXMuI3ZhbHVlU3ViamVjdFxyXG4gICAgICAgIC5waXBlKGRlYm91bmNlVGltZSh0aGlzLiNkZWJvdW5jZVRpbWUpKVxyXG4gICAgICAgIC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgodikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fc2V0VmFsdWUodik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIHN1cGVyLl9vbkludGVybmFsSW5pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIF9vbkludGVybmFsRGVzdHJveSgpIHtcclxuICAgICAgdGhpcy4jdmFsdWVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgc3VwZXIub25EZXN0cm95KCk7XHJcbiAgICB9XHJcblxyXG4gICAgX3NldFZhbHVlKHY6IGFueSkge1xyXG4gICAgICBjb25zdCBvbGQgPSB0aGlzLiN2YWx1ZTtcclxuICAgICAgLy8gVE9ETzogY2hlY2sgcmVhbCBlcXVhbGl0eVxyXG4gICAgICBpZiAodiAhPSBvbGQpIHtcclxuICAgICAgICB0aGlzLiN2YWx1ZSA9IHY7XHJcbiAgICAgICAgdGhpcy5fZW1pdE9uVmFsdWVDaGFuZ2VkRXZlbnQob2xkLCB0aGlzLiN2YWx1ZSk7XHJcbiAgICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIGlmICh2ID09IG51bGwgfHwgdiA9PSB1bmRlZmluZWQgfHwgdiA9PSAnJykge1xyXG4gICAgICAgICAgdGhpcy5fc2V0U3RhdGUoJ2NsZWFyJyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlmICh0aGlzLl9pc0luaXRlZCkge1xyXG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRlKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY2xlYXIoKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHZhbGlkYXRlKCk6IFByb21pc2U8QVhWYWxpZGF0aW9uUnVsZVJlc3VsdD4ge1xyXG4gICAgICBjb25zdCBydWxlcyA9IEFycmF5LmZyb20oXHJcbiAgICAgICAgdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yQWxsKCdheC12YWxpZGF0aW9uLXJ1bGUnKVxyXG4gICAgICApLmZpbHRlcigoYykgPT4gKGMgYXMgYW55KS5fX2F4Q29udGV4dF9fLmVuYWJsZWQpO1xyXG4gICAgICAvL1xyXG4gICAgICBpZiAoIXJ1bGVzIHx8IHJ1bGVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIHRoaXMuX3NldFN0YXRlKCdjbGVhcicpO1xyXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyByZXN1bHQ6IHRydWUsIHZhbHVlOiB0aGlzLnZhbHVlIH0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gbmV3IFByb21pc2U8QVhWYWxpZGF0aW9uUnVsZVJlc3VsdD4oKHJlc29sdmUpID0+IHtcclxuICAgICAgICBQcm9taXNlLmFsbChcclxuICAgICAgICAgIHJ1bGVzXHJcbiAgICAgICAgICAgIC5maWx0ZXIoKGMpID0+IHR5cGVvZiAoYyBhcyBhbnkpPy52YWxpZGF0ZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgLm1hcCgoYykgPT4ge1xyXG4gICAgICAgICAgICAgIHJldHVybiAoYyBhcyBhbnkpLnZhbGlkYXRlKHRoaXMudmFsdWUpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICkudGhlbigoZCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZXJyb3IgPSBkLmZpbmQoKGMpID0+IGMucmVzdWx0ID09PSBmYWxzZSk7XHJcbiAgICAgICAgICBpZiAoZXJyb3IpIHtcclxuICAgICAgICAgICAgdGhpcy5fc2V0U3RhdGUoJ2Vycm9yJywgZXJyb3IubWVzc2FnZSk7XHJcbiAgICAgICAgICAgIHJlc29sdmUoeyByZXN1bHQ6IGZhbHNlLCB2YWx1ZTogdGhpcy52YWx1ZSB9KTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3NldFN0YXRlKCdzdWNjZXNzJyk7XHJcbiAgICAgICAgICAgIHJlc29sdmUoeyByZXN1bHQ6IHRydWUsIHZhbHVlOiB0aGlzLnZhbHVlIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgICogIEBpZ25vcmVcclxuICAgICovXHJcbiAgICBjb25zdHJ1Y3RvciguLi5hcmdzOiBhbnlbXSkge1xyXG4gICAgICBzdXBlciguLi5hcmdzKTtcclxuICAgIH1cclxuXHJcbiAgICBfc2V0U3RhdGUoc3RhdGU6ICdjbGVhcicgfCAnc3VjY2VzcycgfCAnZXJyb3InLCAuLi5hcmdzKSB7XHJcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuX2dldEhvc3RFbGVtZW50KCkuY2xhc3NMaXN0LmNvbnRhaW5zKCdheC1lZGl0b3ItY29udGFpbmVyJykgP1xyXG4gICAgICAgIHRoaXMuX2dldEhvc3RFbGVtZW50KCkgOlxyXG4gICAgICAgIHRoaXMuX2dldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcignLmF4LWVkaXRvci1jb250YWluZXInKTtcclxuICAgICAgY29uc3QgZm9ybUZpZWxkID0gY29udGFpbmVyPy5jbG9zZXN0KCcuYXgtZm9ybS1maWVsZCcpO1xyXG4gICAgICBjb25zdCBsYWJlbCA9IGZvcm1GaWVsZD8ucXVlcnlTZWxlY3RvcignYXgtbGFiZWwnKSB8fCBmb3JtRmllbGQ/LnF1ZXJ5U2VsZWN0b3IoJ2xhYmVsJyk7XHJcbiAgICAgIGxldCB0YXJnZXQgPSBjb250YWluZXIgfHwgdGhpcy5fZ2V0SW5uZXJFbGVtZW50KCk7XHJcbiAgICAgIGlmICh0YXJnZXQucXVlcnlTZWxlY3RvcignLmF4LWVycm9yLWNvbnRhaW5lcicpKSB7XHJcbiAgICAgICAgdGFyZ2V0ID0gdGFyZ2V0LnF1ZXJ5U2VsZWN0b3IoJy5heC1lcnJvci1jb250YWluZXInKTtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBwYXJlbnQgPSB0YXJnZXQucGFyZW50RWxlbWVudDtcclxuXHJcbiAgICAgIHN3aXRjaCAoc3RhdGUpIHtcclxuXHJcbiAgICAgICAgY2FzZSAnY2xlYXInOlxyXG4gICAgICAgICAgdGhpcy4jc3RhdGUgPSAnY2xlYXInO1xyXG4gICAgICAgICAgaWYgKHBhcmVudC5xdWVyeVNlbGVjdG9yKCdzcGFuLmF4LWVycm9yLW1zZycpKSB7XHJcbiAgICAgICAgICAgIHBhcmVudC5yZW1vdmVDaGlsZChwYXJlbnQucXVlcnlTZWxlY3Rvcignc3Bhbi5heC1lcnJvci1tc2cnKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBsYWJlbD8uY2xhc3NMaXN0LnJlbW92ZSgnYXgtc3RhdGUtZXJyb3InKTtcclxuICAgICAgICAgIHRhcmdldC5jbGFzc0xpc3QucmVtb3ZlKCdheC1zdGF0ZS1lcnJvcicsICdheC1zdGF0ZS1zdWNjZXNzJyk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdzdWNjZXNzJzpcclxuICAgICAgICAgIHRoaXMuX3NldFN0YXRlKCdjbGVhcicpO1xyXG4gICAgICAgICAgdGFyZ2V0LmNsYXNzTGlzdC5hZGQoJ2F4LXN0YXRlLXN1Y2Nlc3MnKTtcclxuICAgICAgICAgIHRoaXMuI3N0YXRlID0gJ3N1Y2Nlc3MnO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnZXJyb3InOlxyXG4gICAgICAgICAgdGhpcy5fc2V0U3RhdGUoJ2NsZWFyJyk7XHJcbiAgICAgICAgICBpZiAoYXJnc1swXSkge1xyXG4gICAgICAgICAgICBjb25zdCBzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgICAgICAgICBzcGFuLmlubmVyVGV4dCA9IGFyZ3NbMF07XHJcbiAgICAgICAgICAgIHNwYW4uY2xhc3NMaXN0LmFkZCgnYXgtZXJyb3ItbXNnJyk7XHJcbiAgICAgICAgICAgIHBhcmVudC5hcHBlbmRDaGlsZChzcGFuKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGxhYmVsPy5jbGFzc0xpc3QuYWRkKCdheC1zdGF0ZS1lcnJvcicpO1xyXG4gICAgICAgICAgdGFyZ2V0LmNsYXNzTGlzdC5hZGQoJ2F4LXN0YXRlLWVycm9yJyk7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIHRoaXMuI3N0YXRlID0gJ2Vycm9yJztcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG5leHBvcnQgY29uc3QgVkFMVUVfSU5QVVRTID0gW1xyXG4gICdyZWFkb25seScsXHJcbiAgJ2FsbG93TnVsbCcsXHJcbiAgJ3ZhbHVlJyxcclxuICAnZGVib3VuY2VUaW1lJyxcclxuICAnbmFtZScsXHJcbiAgJ2NoZWNrZWQnXHJcbl07XHJcbmV4cG9ydCBjb25zdCBWQUxVRV9PVVRQVVQgPSBbJ3ZhbHVlQ2hhbmdlJywgJ29uVmFsdWVDaGFuZ2VkJ107Il19
|
|
209
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtbWl4aW4uY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvbWl4aW4vdmFsdWUtbWl4aW4uY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsb0JBQW9CLEdBQ3JCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUs3QyxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsTUFBTSxVQUFVLHFCQUFxQixDQUE2QyxJQUFXOztJQUUzRixZQUFPLEtBQU0sU0FBUSxJQUFJO1lBaUt2Qjs7Y0FFRTtZQUNGLFlBQVksR0FBRyxJQUFXO2dCQUN4QixLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztnQkFuS2pCOzs7a0JBR0U7Z0JBQ0YsbUJBQWMsR0FBMkMsSUFBSSxZQUFZLEVBQTRCLENBQUM7Z0JBRXRHLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7Z0JBR3pELG9CQUFxQixLQUFLLEVBQUM7Z0JBWTNCLHFCQUFzQixJQUFJLEVBQUM7Z0JBUzNCLHdCQUFjO2dCQVFkLHdCQUF3QixDQUFDLEVBQUM7Z0JBUTFCLDZCQUFxQixJQUFJLFlBQVksRUFBRSxFQUFDO2dCQUN4Qyx3QkFBZ0IsSUFBSSxPQUFPLEVBQUUsRUFBQztnQkFFOUIseUJBQVk7Z0JBYVosaUJBQXdDLE9BQU8sRUFBQztZQXNHaEQsQ0FBQztZQXpKRDs7Y0FFRTtZQUNGLElBQUksUUFBUTtnQkFDVixPQUFPLHVCQUFBLElBQUksaUJBQVUsQ0FBQztZQUN4QixDQUFDO1lBQ0QsSUFBSSxRQUFR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cmNlTnVtYmVyUHJvcGVydHksXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcclxuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS1jb21wb25lbnRzLmNsYXNzJztcclxuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cmF0Y3Rvcic7XHJcbmltcG9ydCB7IEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICcuLi9ldmVudHMuY2xhc3MnO1xyXG5pbXBvcnQgeyBBWFZhbGlkYXRpb25SdWxlUmVzdWx0IH0gZnJvbSAnLi4vLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uLmNsYXNzJztcclxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX1ZhbHVlQ29tcG9uZW5ldE1peGluPFRCYXNlIGV4dGVuZHMgQ29uc3RydWN0b3I8QVhCYXNlQ29tcG9uZW50Pj4oQmFzZTogVEJhc2UpIHtcclxuXHJcbiAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgQmFzZSB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAqICBGaXJlcyBlYWNoIHRpbWUgdGhlIHVzZXIgcHJlc3MgYSBrZXkuXHJcbiAgICAqICBAZXZlbnRcclxuICAgICovXHJcbiAgICBvblZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYVmFsdWVDaGFuZ2VkRXZlbnQ8YW55Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYVmFsdWVDaGFuZ2VkRXZlbnQ8YW55Pj4oKTtcclxuXHJcbiAgICB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcblxyXG4gICAgI3JlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAqICBJZiBzZXQgdG8gdHJ1ZSwgdXNlciBjYW5ub3QgY2hhbmdlIHRoZSB2YWx1ZSBvZiBjb21wb25lbnQuXHJcbiAgICAqL1xyXG4gICAgZ2V0IHJlYWRvbmx5KCkge1xyXG4gICAgICByZXR1cm4gdGhpcy4jcmVhZG9ubHk7XHJcbiAgICB9XHJcbiAgICBzZXQgcmVhZG9ubHkodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgdGhpcy4jcmVhZG9ubHkgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgICNhbGxvd051bGw6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgZ2V0IGFsbG93TnVsbCgpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuI2FsbG93TnVsbDtcclxuICAgIH1cclxuICAgIHNldCBhbGxvd051bGwodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgdGhpcy4jYWxsb3dOdWxsID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgI25hbWU6IHN0cmluZztcclxuICAgIGdldCBuYW1lKCkge1xyXG4gICAgICByZXR1cm4gdGhpcy4jbmFtZTtcclxuICAgIH1cclxuICAgIHNldCBuYW1lKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgdGhpcy4jbmFtZSA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgICNkZWJvdW5jZVRpbWU6IG51bWJlciA9IDA7XHJcbiAgICBnZXQgZGVib3VuY2VUaW1lKCkge1xyXG4gICAgICByZXR1cm4gdGhpcy4jZGVib3VuY2VUaW1lO1xyXG4gICAgfVxyXG4gICAgc2V0IGRlYm91bmNlVGltZSh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICAgIHRoaXMuI2RlYm91bmNlVGltZSA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICAjdmFsdWVTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcbiAgICAjdmFsdWVTdWJqZWN0ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgICAjdmFsdWU6IGFueTtcclxuICAgIGdldCB2YWx1ZSgpOiBhbnkge1xyXG4gICAgICByZXR1cm4gdGhpcy4jdmFsdWU7XHJcbiAgICB9XHJcbiAgICBzZXQgdmFsdWUodjogYW55KSB7XHJcbiAgICAgIHYgPSB0aGlzLl9vbkludGVybmFsVmFsdWVDaGFuZ2luZyh2KTtcclxuICAgICAgaWYgKCF0aGlzLl9pc0luaXRlZCB8fCB0aGlzLmRlYm91bmNlVGltZSA9PSAwKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0VmFsdWUodik7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy4jdmFsdWVTdWJqZWN0Lm5leHQodik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAjc3RhdGU6ICdjbGVhcicgfCAnc3VjY2VzcycgfCAnZXJyb3InID0gJ2NsZWFyJztcclxuXHJcbiAgICBnZXQgc3RhdGUoKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLiNzdGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICBfZW1pdE9uVmFsdWVDaGFuZ2VkRXZlbnQob2xkVmFsdWU/OiBhbnksIG5ld1ZhbHVlPzogYW55KSB7XHJcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChuZXdWYWx1ZSk7XHJcbiAgICAgIHRoaXMub25WYWx1ZUNoYW5nZWQuZW1pdCh7XHJcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgIHZhbHVlOiBuZXdWYWx1ZSxcclxuICAgICAgICBvbGRWYWx1ZTogb2xkVmFsdWUsXHJcbiAgICAgICAgbmFtZTogdGhpcy5uYW1lXHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLl9vblZhbHVlQ2hhbmdlZChvbGRWYWx1ZSwgdGhpcy4jdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIF9vbkludGVybmFsVmFsdWVDaGFuZ2luZyh2YWx1ZTogYW55KSB7XHJcbiAgICAgIC8vIGlmICh0aGlzLnJlYWRvbmx5KVxyXG4gICAgICAvLyAgIHJldHVybiB0aGlzLnZhbHVlO1xyXG4gICAgICByZXR1cm4gdGhpcy5fb25WYWx1ZUNoYW5naW5nKHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBfb25WYWx1ZUNoYW5naW5nKHZhbHVlOiBhbnkpIHtcclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBfb25WYWx1ZUNoYW5nZWQob2xkVmFsdWU6IGFueSwgbmV3VmFsdWU6IGFueSk6IHZvaWQgeyB9XHJcblxyXG4gICAgX29uSW50ZXJuYWxJbml0KCkge1xyXG4gICAgICB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLnNldEF0dHJpYnV0ZSgnYXgtZm9ybS1pbnB1dCcsICd0cnVlJyk7XHJcbiAgICAgIHRoaXMuI3ZhbHVlU3Vic2NyaXB0aW9uID0gdGhpcy4jdmFsdWVTdWJqZWN0XHJcbiAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKHRoaXMuI2RlYm91bmNlVGltZSkpXHJcbiAgICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcclxuICAgICAgICAuc3Vic2NyaWJlKCh2KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9zZXRWYWx1ZSh2KTtcclxuICAgICAgICB9KTtcclxuICAgICAgc3VwZXIuX29uSW50ZXJuYWxJbml0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgX29uSW50ZXJuYWxEZXN0cm95KCkge1xyXG4gICAgICB0aGlzLiN2YWx1ZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICBzdXBlci5vbkRlc3Ryb3koKTtcclxuICAgIH1cclxuXHJcbiAgICBfc2V0VmFsdWUodjogYW55KSB7XHJcbiAgICAgIGNvbnN0IG9sZCA9IHRoaXMuI3ZhbHVlO1xyXG4gICAgICAvLyBUT0RPOiBjaGVjayByZWFsIGVxdWFsaXR5XHJcbiAgICAgIGlmICh2ICE9IG9sZCkge1xyXG4gICAgICAgIHRoaXMuI3ZhbHVlID0gdjtcclxuICAgICAgICB0aGlzLl9lbWl0T25WYWx1ZUNoYW5nZWRFdmVudChvbGQsIHRoaXMuI3ZhbHVlKTtcclxuICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgaWYgKHYgPT0gbnVsbCB8fCB2ID09IHVuZGVmaW5lZCB8fCB2ID09ICcnKSB7XHJcbiAgICAgICAgICB0aGlzLl9zZXRTdGF0ZSgnY2xlYXInKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaWYgKHRoaXMuX2lzSW5pdGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGUoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjbGVhcigpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgdmFsaWRhdGUoKTogUHJvbWlzZTxBWFZhbGlkYXRpb25SdWxlUmVzdWx0PiB7XHJcbiAgICAgIGNvbnN0IHJ1bGVzID0gQXJyYXkuZnJvbShcclxuICAgICAgICB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3JBbGwoJ2F4LXZhbGlkYXRpb24tcnVsZScpXHJcbiAgICAgICkuZmlsdGVyKChjKSA9PiAoYyBhcyBhbnkpLl9fYXhDb250ZXh0X18uZW5hYmxlZCk7XHJcbiAgICAgIC8vXHJcbiAgICAgIGlmICghcnVsZXMgfHwgcnVsZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0U3RhdGUoJ2NsZWFyJyk7XHJcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IHJlc3VsdDogdHJ1ZSwgdmFsdWU6IHRoaXMudmFsdWUgfSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxBWFZhbGlkYXRpb25SdWxlUmVzdWx0PigocmVzb2x2ZSkgPT4ge1xyXG4gICAgICAgIFByb21pc2UuYWxsKFxyXG4gICAgICAgICAgcnVsZXNcclxuICAgICAgICAgICAgLmZpbHRlcigoYykgPT4gdHlwZW9mIChjIGFzIGFueSk/LnZhbGlkYXRlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICAubWFwKChjKSA9PiB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIChjIGFzIGFueSkudmFsaWRhdGUodGhpcy52YWx1ZSk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKS50aGVuKChkKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBlcnJvciA9IGQuZmluZCgoYykgPT4gYy5yZXN1bHQgPT09IGZhbHNlKTtcclxuICAgICAgICAgIGlmIChlcnJvcikge1xyXG4gICAgICAgICAgICB0aGlzLl9zZXRTdGF0ZSgnZXJyb3InLCBlcnJvci5tZXNzYWdlKTtcclxuICAgICAgICAgICAgcmVzb2x2ZSh7IHJlc3VsdDogZmFsc2UsIHZhbHVlOiB0aGlzLnZhbHVlIH0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5fc2V0U3RhdGUoJ3N1Y2Nlc3MnKTtcclxuICAgICAgICAgICAgcmVzb2x2ZSh7IHJlc3VsdDogdHJ1ZSwgdmFsdWU6IHRoaXMudmFsdWUgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAgKiAgQGlnbm9yZVxyXG4gICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XHJcbiAgICAgIHN1cGVyKC4uLmFyZ3MpO1xyXG4gICAgfVxyXG5cclxuICAgIF9zZXRTdGF0ZShzdGF0ZTogJ2NsZWFyJyB8ICdzdWNjZXNzJyB8ICdlcnJvcicsIC4uLmFyZ3MpIHtcclxuICAgICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5jbGFzc0xpc3QuY29udGFpbnMoJ2F4LWVkaXRvci1jb250YWluZXInKSA/XHJcbiAgICAgICAgdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKSA6XHJcbiAgICAgICAgdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCcuYXgtZWRpdG9yLWNvbnRhaW5lcicpO1xyXG4gICAgICBjb25zdCBmb3JtRmllbGQgPSBjb250YWluZXI/LmNsb3Nlc3QoJy5heC1mb3JtLWZpZWxkJyk7XHJcbiAgICAgIGNvbnN0IGxhYmVsID0gZm9ybUZpZWxkPy5xdWVyeVNlbGVjdG9yKCdheC1sYWJlbCcpIHx8IGZvcm1GaWVsZD8ucXVlcnlTZWxlY3RvcignbGFiZWwnKTtcclxuICAgICAgbGV0IHRhcmdldCA9IGNvbnRhaW5lciB8fCB0aGlzLl9nZXRJbm5lckVsZW1lbnQoKTtcclxuICAgICAgaWYgKHRhcmdldC5xdWVyeVNlbGVjdG9yKCcuYXgtZXJyb3ItY29udGFpbmVyJykpIHtcclxuICAgICAgICB0YXJnZXQgPSB0YXJnZXQucXVlcnlTZWxlY3RvcignLmF4LWVycm9yLWNvbnRhaW5lcicpO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHBhcmVudCA9IHRhcmdldC5wYXJlbnRFbGVtZW50O1xyXG5cclxuICAgICAgc3dpdGNoIChzdGF0ZSkge1xyXG5cclxuICAgICAgICBjYXNlICdjbGVhcic6XHJcbiAgICAgICAgICB0aGlzLiNzdGF0ZSA9ICdjbGVhcic7XHJcbiAgICAgICAgICBpZiAocGFyZW50LnF1ZXJ5U2VsZWN0b3IoJ3NwYW4uYXgtZXJyb3ItbXNnJykpIHtcclxuICAgICAgICAgICAgcGFyZW50LnJlbW92ZUNoaWxkKHBhcmVudC5xdWVyeVNlbGVjdG9yKCdzcGFuLmF4LWVycm9yLW1zZycpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGxhYmVsPy5jbGFzc0xpc3QucmVtb3ZlKCdheC1zdGF0ZS1lcnJvcicpO1xyXG4gICAgICAgICAgdGFyZ2V0LmNsYXNzTGlzdC5yZW1vdmUoJ2F4LXN0YXRlLWVycm9yJywgJ2F4LXN0YXRlLXN1Y2Nlc3MnKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxyXG4gICAgICAgICAgdGhpcy5fc2V0U3RhdGUoJ2NsZWFyJyk7XHJcbiAgICAgICAgICB0YXJnZXQuY2xhc3NMaXN0LmFkZCgnYXgtc3RhdGUtc3VjY2VzcycpO1xyXG4gICAgICAgICAgdGhpcy4jc3RhdGUgPSAnc3VjY2Vzcyc7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdlcnJvcic6XHJcbiAgICAgICAgICB0aGlzLl9zZXRTdGF0ZSgnY2xlYXInKTtcclxuICAgICAgICAgIGlmIChhcmdzWzBdKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XHJcbiAgICAgICAgICAgIHNwYW4uaW5uZXJUZXh0ID0gYXJnc1swXTtcclxuICAgICAgICAgICAgc3Bhbi5jbGFzc0xpc3QuYWRkKCdheC1lcnJvci1tc2cnKTtcclxuICAgICAgICAgICAgcGFyZW50LmFwcGVuZENoaWxkKHNwYW4pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgbGFiZWw/LmNsYXNzTGlzdC5hZGQoJ2F4LXN0YXRlLWVycm9yJyk7XHJcbiAgICAgICAgICB0YXJnZXQuY2xhc3NMaXN0LmFkZCgnYXgtc3RhdGUtZXJyb3InKTtcclxuICAgICAgICAgIFxyXG4gICAgICAgICAgdGhpcy4jc3RhdGUgPSAnZXJyb3InO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbmV4cG9ydCBjb25zdCBWQUxVRV9JTlBVVFMgPSBbXHJcbiAgJ3JlYWRvbmx5JyxcclxuICAnYWxsb3dOdWxsJyxcclxuICAndmFsdWUnLFxyXG4gICdkZWJvdW5jZVRpbWUnLFxyXG4gICduYW1lJyxcclxuICAnY2hlY2tlZCdcclxuXTtcclxuZXhwb3J0IGNvbnN0IFZBTFVFX09VVFBVVCA9IFsndmFsdWVDaGFuZ2UnLCAnb25WYWx1ZUNoYW5nZWQnXTsiXX0=
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, HostBinding, HostListener, ViewEncapsulation } from '@angular/core';
|
|
2
2
|
import { BUTTON_INPUTS, BUTTON_OUTPUT } from '../base/mixin/button-mixin.class';
|
|
3
|
+
import { COLOR_LOOK_INPUTS } from '../base/mixin/color-look-mixing.class';
|
|
3
4
|
import { AXBaseButtonMixin } from '../base/mixin/mixin.class';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "@angular/common";
|
|
@@ -39,10 +40,10 @@ export class AXButtonComponent extends AXBaseButtonMixin {
|
|
|
39
40
|
}
|
|
40
41
|
}
|
|
41
42
|
AXButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: AXButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
-
AXButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: AXButtonComponent, selector: "ax-button", inputs: { disabled: "disabled", tabIndex: "tabIndex", size: "size",
|
|
43
|
+
AXButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: AXButtonComponent, selector: "ax-button", inputs: { disabled: "disabled", tabIndex: "tabIndex", size: "size", color: "color", look: "look", text: "text", submitBehavior: "submitBehavior", cancelBehavior: "cancelBehavior", toggleable: "toggleable", selected: "selected" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", onClick: "onClick", selectedChange: "selectedChange", toggleableChange: "toggleableChange" }, host: { attributes: { "role": "button" }, listeners: { "keyup": "onKeydownHandler($event)", "click": "_emitOnClickEvent($event)", "focus": "_emitOnFocusEvent($event)", "blur": "_emitOnBlurEvent($event)" }, properties: { "class": "this.__hostClass" } }, usesInheritance: true, ngImport: i0, template: "<!-- <button [ngClass]=\"_classes\" class=\"{{cssClass}} ax-{{size}}\" [disabled]=\"disabled\" [tabindex]=\"tabIndex\" [attr.style]=\"cssStyle\" (click)=\"_emitOnClickEvent($event)\" (focus)=\"_emitOnFocusEvent($event)\" (blur)=\"_emitOnBlurEvent($event)\">\r\n <ng-content select=\"ax-prefix,ax-loading,ax-icon\">\r\n </ng-content>\r\n <span *ngIf=\"text\">{{text}}</span>\r\n <ng-content select=\"ax-suffix\">\r\n </ng-content>\r\n <ng-content select=\"ax-dropdown-panel\">\r\n </ng-content>\r\n</button> -->\r\n<!-- <button [ngClass]=\"_classes\" class=\"{{cssClass}} ax-{{size}}\" [disabled]=\"disabled\" [tabindex]=\"tabIndex\" [attr.style]=\"cssStyle\" (click)=\"_emitOnClickEvent($event)\" (focus)=\"_emitOnFocusEvent($event)\" (blur)=\"_emitOnBlurEvent($event)\"> -->\r\n<ng-content select=\"ax-prefix,ax-loading,ax-icon\">\r\n</ng-content>\r\n<span *ngIf=\"text\">{{text}}</span>\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ng-content select=\"ax-dropdown-panel\">\r\n</ng-content>\r\n<!-- </button> -->", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
43
44
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: AXButtonComponent, decorators: [{
|
|
44
45
|
type: Component,
|
|
45
|
-
args: [{ selector: 'ax-button', inputs: ['disabled', 'tabIndex', 'size', ...BUTTON_INPUTS], outputs: [...BUTTON_OUTPUT], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { role: 'button' }, template: "<!-- <button [ngClass]=\"_classes\" class=\"{{cssClass}} ax-{{size}}\" [disabled]=\"disabled\" [tabindex]=\"tabIndex\" [attr.style]=\"cssStyle\" (click)=\"_emitOnClickEvent($event)\" (focus)=\"_emitOnFocusEvent($event)\" (blur)=\"_emitOnBlurEvent($event)\">\r\n <ng-content select=\"ax-prefix,ax-loading,ax-icon\">\r\n </ng-content>\r\n <span *ngIf=\"text\">{{text}}</span>\r\n <ng-content select=\"ax-suffix\">\r\n </ng-content>\r\n <ng-content select=\"ax-dropdown-panel\">\r\n </ng-content>\r\n</button> -->\r\n<!-- <button [ngClass]=\"_classes\" class=\"{{cssClass}} ax-{{size}}\" [disabled]=\"disabled\" [tabindex]=\"tabIndex\" [attr.style]=\"cssStyle\" (click)=\"_emitOnClickEvent($event)\" (focus)=\"_emitOnFocusEvent($event)\" (blur)=\"_emitOnBlurEvent($event)\"> -->\r\n<ng-content select=\"ax-prefix,ax-loading,ax-icon\">\r\n</ng-content>\r\n<span *ngIf=\"text\">{{text}}</span>\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ng-content select=\"ax-dropdown-panel\">\r\n</ng-content>\r\n<!-- </button> -->" }]
|
|
46
|
+
args: [{ selector: 'ax-button', inputs: ['disabled', 'tabIndex', 'size', ...COLOR_LOOK_INPUTS, ...BUTTON_INPUTS], outputs: [...BUTTON_OUTPUT], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { role: 'button' }, template: "<!-- <button [ngClass]=\"_classes\" class=\"{{cssClass}} ax-{{size}}\" [disabled]=\"disabled\" [tabindex]=\"tabIndex\" [attr.style]=\"cssStyle\" (click)=\"_emitOnClickEvent($event)\" (focus)=\"_emitOnFocusEvent($event)\" (blur)=\"_emitOnBlurEvent($event)\">\r\n <ng-content select=\"ax-prefix,ax-loading,ax-icon\">\r\n </ng-content>\r\n <span *ngIf=\"text\">{{text}}</span>\r\n <ng-content select=\"ax-suffix\">\r\n </ng-content>\r\n <ng-content select=\"ax-dropdown-panel\">\r\n </ng-content>\r\n</button> -->\r\n<!-- <button [ngClass]=\"_classes\" class=\"{{cssClass}} ax-{{size}}\" [disabled]=\"disabled\" [tabindex]=\"tabIndex\" [attr.style]=\"cssStyle\" (click)=\"_emitOnClickEvent($event)\" (focus)=\"_emitOnFocusEvent($event)\" (blur)=\"_emitOnBlurEvent($event)\"> -->\r\n<ng-content select=\"ax-prefix,ax-loading,ax-icon\">\r\n</ng-content>\r\n<span *ngIf=\"text\">{{text}}</span>\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ng-content select=\"ax-dropdown-panel\">\r\n</ng-content>\r\n<!-- </button> -->" }]
|
|
46
47
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { onKeydownHandler: [{
|
|
47
48
|
type: HostListener,
|
|
48
49
|
args: ['keyup', ['$event']]
|
|
@@ -59,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImpor
|
|
|
59
60
|
type: HostBinding,
|
|
60
61
|
args: ['class']
|
|
61
62
|
}] } });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQWMsV0FBVyxFQUFFLFlBQVksRUFBUyxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2SixPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFFOUQ7Ozs7R0FJRztBQVVILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxpQkFBaUI7SUFFcEQ7O01BRUU7SUFDRixZQUFZLFVBQXNCLEVBQUUsR0FBc0I7UUFDdEQsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBR0QsZ0JBQWdCLENBQUMsQ0FBZ0I7UUFDN0IsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtZQUNwQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDbEM7SUFDTCxDQUFDO0lBR0QsaUJBQWlCLENBQUMsQ0FBYTtRQUMzQixJQUFJLElBQUksQ0FBQyxRQUFRO1lBQ2IsT0FBTztRQUNYLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUNsQztRQUNELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBR0QsaUJBQWlCLENBQUMsQ0FBYTtRQUMzQixLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUlELGdCQUFnQixDQUFDLENBQWE7UUFDMUIsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUNZLFdBQVc7UUFDbkIsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEYsQ0FBQzs7OEdBeENRLGlCQUFpQjtrR0FBakIsaUJBQWlCLDByQkNuQjlCLDJnQ0FpQmtCOzJGREVMLGlCQUFpQjtrQkFUN0IsU0FBUzsrQkFDSSxXQUFXLFVBRWIsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLGlCQUFpQixFQUFFLEdBQUcsYUFBYSxDQUFDLFdBQ3ZFLENBQUMsR0FBRyxhQUFhLENBQUMsbUJBQ1YsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQixFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7aUlBWXhCLGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFRakMsaUJBQWlCO3NCQURoQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFXakMsaUJBQWlCO3NCQURoQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFPakMsZ0JBQWdCO3NCQURmLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU1wQixXQUFXO3NCQUR0QixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJVVFRPTl9JTlBVVFMsIEJVVFRPTl9PVVRQVVQgfSBmcm9tICcuLi9iYXNlL21peGluL2J1dHRvbi1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IENPTE9SX0xPT0tfSU5QVVRTIH0gZnJvbSAnLi4vYmFzZS9taXhpbi9jb2xvci1sb29rLW1peGluZy5jbGFzcyc7XHJcbmltcG9ydCB7IEFYQmFzZUJ1dHRvbk1peGluIH0gZnJvbSAnLi4vYmFzZS9taXhpbi9taXhpbi5jbGFzcyc7XHJcblxyXG4vKipcclxuICogVGhlIEJ1dHRvbiBpcyBhIGNvbXBvbmVudCB3aGljaCBkZXRlY3RzIHVzZXIgaW50ZXJhY3Rpb24gYW5kIHRyaWdnZXJzIGEgY29ycmVzcG9uZGluZyBldmVudFxyXG4gKlxyXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2F4LWJ1dHRvbicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICAgIGlucHV0czogWydkaXNhYmxlZCcsICd0YWJJbmRleCcsICdzaXplJywgLi4uQ09MT1JfTE9PS19JTlBVVFMsIC4uLkJVVFRPTl9JTlBVVFNdLFxyXG4gICAgb3V0cHV0czogWy4uLkJVVFRPTl9PVVRQVVRdLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgaG9zdDogeyByb2xlOiAnYnV0dG9uJyB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWEJ1dHRvbkNvbXBvbmVudCBleHRlbmRzIEFYQmFzZUJ1dHRvbk1peGluIHtcclxuXHJcbiAgICAvKipcclxuICAgICogIEBpZ25vcmVcclxuICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdrZXl1cCcsIFsnJGV2ZW50J10pXHJcbiAgICBvbktleWRvd25IYW5kbGVyKGU6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgICAgICBpZiAoZS5jb2RlID09PSAnRW50ZXInKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2dldEhvc3RFbGVtZW50KCkuY2xpY2soKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxyXG4gICAgX2VtaXRPbkNsaWNrRXZlbnQoZTogTW91c2VFdmVudCkge1xyXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgaWYgKHRoaXMudG9nZ2xlYWJsZSkge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkID0gIXRoaXMuc2VsZWN0ZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN1cGVyLl9lbWl0T25DbGlja0V2ZW50KGUpO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJywgWyckZXZlbnQnXSlcclxuICAgIF9lbWl0T25Gb2N1c0V2ZW50KGU6IE1vdXNlRXZlbnQpIHtcclxuICAgICAgICBzdXBlci5fZW1pdE9uRm9jdXNFdmVudChlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignYmx1cicsIFsnJGV2ZW50J10pXHJcbiAgICBfZW1pdE9uQmx1ckV2ZW50KGU6IE1vdXNlRXZlbnQpIHtcclxuICAgICAgICBzdXBlci5fZW1pdE9uQmx1ckV2ZW50KGUpO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxyXG4gICAgcHJpdmF0ZSBnZXQgX19ob3N0Q2xhc3MoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gT2JqZWN0LmVudHJpZXModGhpcy5fY2xhc3NlcykuZmlsdGVyKGMgPT4gY1sxXSkubWFwKGMgPT4gY1swXSkuam9pbignICcpO1xyXG4gICAgfVxyXG59XHJcbiIsIjwhLS0gPGJ1dHRvbiBbbmdDbGFzc109XCJfY2xhc3Nlc1wiIGNsYXNzPVwie3tjc3NDbGFzc319IGF4LXt7c2l6ZX19XCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3RhYmluZGV4XT1cInRhYkluZGV4XCIgW2F0dHIuc3R5bGVdPVwiY3NzU3R5bGVcIiAoY2xpY2spPVwiX2VtaXRPbkNsaWNrRXZlbnQoJGV2ZW50KVwiIChmb2N1cyk9XCJfZW1pdE9uRm9jdXNFdmVudCgkZXZlbnQpXCIgKGJsdXIpPVwiX2VtaXRPbkJsdXJFdmVudCgkZXZlbnQpXCI+XHJcbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtcHJlZml4LGF4LWxvYWRpbmcsYXgtaWNvblwiPlxyXG4gIDwvbmctY29udGVudD5cclxuICA8c3BhbiAqbmdJZj1cInRleHRcIj57e3RleHR9fTwvc3Bhbj5cclxuICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1zdWZmaXhcIj5cclxuICA8L25nLWNvbnRlbnQ+XHJcbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtZHJvcGRvd24tcGFuZWxcIj5cclxuICA8L25nLWNvbnRlbnQ+XHJcbjwvYnV0dG9uPiAtLT5cclxuPCEtLSA8YnV0dG9uIFtuZ0NsYXNzXT1cIl9jbGFzc2VzXCIgY2xhc3M9XCJ7e2Nzc0NsYXNzfX0gYXgte3tzaXplfX1cIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbdGFiaW5kZXhdPVwidGFiSW5kZXhcIiBbYXR0ci5zdHlsZV09XCJjc3NTdHlsZVwiIChjbGljayk9XCJfZW1pdE9uQ2xpY2tFdmVudCgkZXZlbnQpXCIgKGZvY3VzKT1cIl9lbWl0T25Gb2N1c0V2ZW50KCRldmVudClcIiAoYmx1cik9XCJfZW1pdE9uQmx1ckV2ZW50KCRldmVudClcIj4gLS0+XHJcbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXByZWZpeCxheC1sb2FkaW5nLGF4LWljb25cIj5cclxuPC9uZy1jb250ZW50PlxyXG48c3BhbiAqbmdJZj1cInRleHRcIj57e3RleHR9fTwvc3Bhbj5cclxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtc3VmZml4XCI+XHJcbjwvbmctY29udGVudD5cclxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtZHJvcGRvd24tcGFuZWxcIj5cclxuPC9uZy1jb250ZW50PlxyXG48IS0tIDwvYnV0dG9uPiAtLT4iXX0=
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { AXConfig } from "@acorex/core";
|
|
1
2
|
import { EventEmitter, Injectable, Input, Output } from "@angular/core";
|
|
2
3
|
import { AXBaseComponent } from "../base";
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
@@ -6,6 +7,8 @@ export class AXCalendarBaseComponent extends AXBaseComponent {
|
|
|
6
7
|
super(elementRef, cdr);
|
|
7
8
|
this.activeViewChange = new EventEmitter();
|
|
8
9
|
this._activeView = 'days';
|
|
10
|
+
this.typeChange = new EventEmitter();
|
|
11
|
+
this._type = AXConfig.get(`dateTime.calendar`);
|
|
9
12
|
this.depthChange = new EventEmitter();
|
|
10
13
|
this._depth = 'days';
|
|
11
14
|
this.minChange = new EventEmitter();
|
|
@@ -19,6 +22,15 @@ export class AXCalendarBaseComponent extends AXBaseComponent {
|
|
|
19
22
|
set activeView(v) {
|
|
20
23
|
this._setOption({ name: 'activeView', value: v });
|
|
21
24
|
}
|
|
25
|
+
get type() {
|
|
26
|
+
return this._type || AXConfig.get(`dateTime.calendar`);
|
|
27
|
+
}
|
|
28
|
+
set type(v) {
|
|
29
|
+
this._setOption({
|
|
30
|
+
name: 'type',
|
|
31
|
+
value: v
|
|
32
|
+
});
|
|
33
|
+
}
|
|
22
34
|
get depth() {
|
|
23
35
|
return this._depth;
|
|
24
36
|
}
|
|
@@ -64,6 +76,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImpor
|
|
|
64
76
|
type: Output
|
|
65
77
|
}], activeView: [{
|
|
66
78
|
type: Input
|
|
79
|
+
}], typeChange: [{
|
|
80
|
+
type: Output
|
|
81
|
+
}], type: [{
|
|
82
|
+
type: Input
|
|
67
83
|
}], depthChange: [{
|
|
68
84
|
type: Output
|
|
69
85
|
}], depth: [{
|
|
@@ -91,7 +107,8 @@ export const CALENDAR_INPUTS = [
|
|
|
91
107
|
'min',
|
|
92
108
|
'max',
|
|
93
109
|
'disabledDates',
|
|
110
|
+
'type',
|
|
94
111
|
'holidayDates',
|
|
95
112
|
];
|
|
96
|
-
export const CALENDAR_OUTPUTS = ['depthChange'];
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
113
|
+
export const CALENDAR_OUTPUTS = ['depthChange', 'typeChange'];
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFpQyxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFRMUMsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGVBQWU7SUFHeEQsWUFBWSxVQUFzQixFQUFFLEdBQXNCO1FBQ3RELEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFJM0IscUJBQWdCLEdBQXFDLElBQUksWUFBWSxFQUFzQixDQUFDO1FBRXBGLGdCQUFXLEdBQXVCLE1BQU0sQ0FBQztRQVcxQyxlQUFVLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFFN0QsVUFBSyxHQUFXLFFBQVEsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQWUxRCxnQkFBVyxHQUFzQyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUVqRixXQUFNLEdBQXdCLE1BQU0sQ0FBQztRQWdCN0MsY0FBUyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBYXpELGNBQVMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQVl6RCx3QkFBbUIsR0FBMEMsSUFBSSxZQUFZLEVBQTJCLENBQUM7UUFZekcsdUJBQWtCLEdBQXlDLElBQUksWUFBWSxFQUEwQixDQUFDO0lBeEZ0RyxDQUFDO0lBTUQsSUFDVyxVQUFVO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBQ0QsSUFBVyxVQUFVLENBQUMsQ0FB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dXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ29uZmlnIH0gZnJvbSBcIkBhY29yZXgvY29yZVwiO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50IH0gZnJvbSBcIi4uL2Jhc2VcIjtcclxuXHJcbmV4cG9ydCB0eXBlIEFYQ2FsZW5kYXJWaWV3VHlwZSA9ICd5ZWFycycgfCAnbW9udGhzJyB8ICdkYXlzJztcclxuZXhwb3J0IHR5cGUgQVhDYWxlbmRhclZpZXdEZXB0aCA9IEFYQ2FsZW5kYXJWaWV3VHlwZTtcclxuZXhwb3J0IHR5cGUgQVhDYWxlbmRhckRpc2FibGVkRGF0ZXMgPSBEYXRlW10gfCAoKGRhdGU6IERhdGUpID0+IGJvb2xlYW4pO1xyXG5leHBvcnQgdHlwZSBBWENhbGVuZGFySG9saWRheURhdGVzID0gRGF0ZVtdIHwgKChkYXRlOiBEYXRlKSA9PiBib29sZWFuKTtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFYQ2FsZW5kYXJCYXNlQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlQ29tcG9uZW50IHtcclxuXHJcblxyXG4gICAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBhY3RpdmVWaWV3Q2hhbmdlOiBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhclZpZXdUeXBlPiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhclZpZXdUeXBlPigpO1xyXG5cclxuICAgIHByaXZhdGUgX2FjdGl2ZVZpZXc6IEFYQ2FsZW5kYXJWaWV3VHlwZSA9ICdkYXlzJztcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IGFjdGl2ZVZpZXcoKTogQVhDYWxlbmRhclZpZXdUeXBlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fYWN0aXZlVmlldztcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgYWN0aXZlVmlldyh2OiBBWENhbGVuZGFyVmlld1R5cGUpIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oeyBuYW1lOiAnYWN0aXZlVmlldycsIHZhbHVlOiB2IH0pO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyB0eXBlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIFxyXG4gICAgcHJpdmF0ZSBfdHlwZTogc3RyaW5nID0gQVhDb25maWcuZ2V0KGBkYXRlVGltZS5jYWxlbmRhcmApO1xyXG4gIFxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgdHlwZSgpOiBzdHJpbmcge1xyXG4gICAgICByZXR1cm4gdGhpcy5fdHlwZSB8fCBBWENvbmZpZy5nZXQoYGRhdGVUaW1lLmNhbGVuZGFyYCk7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IHR5cGUodjogc3RyaW5nKSB7XHJcbiAgICAgIHRoaXMuX3NldE9wdGlvbih7XHJcbiAgICAgICAgbmFtZTogJ3R5cGUnLFxyXG4gICAgICAgIHZhbHVlOiB2XHJcbiAgICAgIH0pXHJcbiAgICB9XHJcblxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgZGVwdGhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFyVmlld0RlcHRoPiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhclZpZXdEZXB0aD4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9kZXB0aDogQVhDYWxlbmRhclZpZXdEZXB0aCA9ICdkYXlzJztcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IGRlcHRoKCk6IEFYQ2FsZW5kYXJWaWV3RGVwdGgge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kZXB0aDtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgZGVwdGgodjogQVhDYWxlbmRhclZpZXdEZXB0aCkge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbih7XHJcbiAgICAgICAgICAgIG5hbWU6ICdkZXB0aCcsIFxyXG4gICAgICAgICAgICB2YWx1ZTogdiwgXHJcbiAgICAgICAgICAgIGJlZm9yZUNhbGxiYWNrOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9hY3RpdmVWaWV3ID0gdjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgbWluQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfbWluOiBEYXRlO1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgbWluKCk6IERhdGUge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9taW47XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IG1pbih2OiBEYXRlKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKHsgbmFtZTogJ21pbicsIHZhbHVlOiB2IH0pO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIG1heENoYW5nZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xyXG5cclxuICAgIHByaXZhdGUgX21heDogRGF0ZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IG1heCgpOiBEYXRlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbWF4O1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBtYXgodjogRGF0ZSkge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbih7IG5hbWU6ICdtYXgnLCB2YWx1ZTogdiB9KTtcclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIGRpc2FibGVkRGF0ZXNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFyRGlzYWJsZWREYXRlcz4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJEaXNhYmxlZERhdGVzPigpO1xyXG5cclxuICAgIHByaXZhdGUgX2Rpc2FibGVkRGF0ZXM6IEFYQ2FsZW5kYXJEaXNhYmxlZERhdGVzO1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgZGlzYWJsZWREYXRlcygpOiBBWENhbGVuZGFyRGlzYWJsZWREYXRlcyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkRGF0ZXM7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IGRpc2FibGVkRGF0ZXModjogQVhDYWxlbmRhckRpc2FibGVkRGF0ZXMpIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oeyBuYW1lOiAnZGlzYWJsZWREYXRlcycsIHZhbHVlOiB2IH0pO1xyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgaG9saWRheURhdGVzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhckhvbGlkYXlEYXRlcz4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJIb2xpZGF5RGF0ZXM+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfaG9saWRheURhdGVzOiBBWENhbGVuZGFySG9saWRheURhdGVzO1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgaG9saWRheURhdGVzKCk6IEFYQ2FsZW5kYXJIb2xpZGF5RGF0ZXMge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9ob2xpZGF5RGF0ZXM7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IGhvbGlkYXlEYXRlcyh2OiBBWENhbGVuZGFySG9saWRheURhdGVzKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKHsgbmFtZTogJ2hvbGlkYXlEYXRlcycsIHZhbHVlOiB2IH0pO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbmV4cG9ydCBjb25zdCBDQUxFTkRBUl9JTlBVVFMgPSBbXHJcbiAgICAnZGVwdGgnLFxyXG4gICAgJ2FjdGl2ZVZpZXcnLFxyXG4gICAgJ21pbicsXHJcbiAgICAnbWF4JyxcclxuICAgICdkaXNhYmxlZERhdGVzJyxcclxuICAgICd0eXBlJyxcclxuICAgICdob2xpZGF5RGF0ZXMnLFxyXG5dO1xyXG5leHBvcnQgY29uc3QgQ0FMRU5EQVJfT1VUUFVUUyA9IFsnZGVwdGhDaGFuZ2UnLCd0eXBlQ2hhbmdlJ107XHJcbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AXDateTime, AXDateTimeRange } from '@acorex/core';
|
|
2
|
-
import { Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, } from '@angular/core';
|
|
2
|
+
import { Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, Output, EventEmitter, } from '@angular/core';
|
|
3
3
|
import { _ClickableComponenetMixin } from '../base/mixin/clickable-mixin.class';
|
|
4
4
|
import { INTERACTIVE_INPUTS, INTERACTIVE_OUTPUT, _InteractiveComponenetMixin } from '../base/mixin/interactive-mixin.class';
|
|
5
5
|
import { VALUE_INPUTS, VALUE_OUTPUT, _ValueComponenetMixin } from '../base/mixin/value-mixin.class';
|
|
@@ -14,10 +14,12 @@ export class AXCalendarComponent extends AXCalendarComponentMixin {
|
|
|
14
14
|
constructor(elementRef, cdr) {
|
|
15
15
|
super(elementRef, cdr);
|
|
16
16
|
this.cdr = cdr;
|
|
17
|
-
this._today = new AXDateTime(new Date());
|
|
17
|
+
this._today = new AXDateTime(new Date(), this.type);
|
|
18
18
|
this._navText = '';
|
|
19
19
|
this._todayText = '';
|
|
20
20
|
this._slots = [];
|
|
21
|
+
this._dayNames = [];
|
|
22
|
+
this.onSlotClick = new EventEmitter();
|
|
21
23
|
}
|
|
22
24
|
get _viewRange() {
|
|
23
25
|
const current = this._viewStartDate || this._today;
|
|
@@ -26,22 +28,32 @@ export class AXCalendarComponent extends AXCalendarComponentMixin {
|
|
|
26
28
|
let y = current.startOf('year').year;
|
|
27
29
|
let min = y - (y % 10) - 1;
|
|
28
30
|
let max = min + 11;
|
|
29
|
-
return new AXDateTimeRange(AXDateTime.
|
|
31
|
+
return new AXDateTimeRange(AXDateTime.from({ year: min, month: 1, date: 1, calendar: this._viewStartDate.calendar.name() }), AXDateTime.from({ year: max, month: 12, date: 28, calendar: this._viewStartDate.calendar.name() }));
|
|
30
32
|
case 'months':
|
|
31
|
-
//TODO: check add month function
|
|
32
33
|
return new AXDateTimeRange(current.startOf('year'), current.endOf('year').add('day', -1));
|
|
33
34
|
default:
|
|
34
35
|
//return new AXDateTimeRange(current.startOf('month').startOf('week'), current.endOf('month').endOf('week'));
|
|
35
36
|
return new AXDateTimeRange(current.startOf('month'), current.endOf('month'));
|
|
36
37
|
}
|
|
37
38
|
}
|
|
39
|
+
_initValues() {
|
|
40
|
+
this._today = new AXDateTime(new Date(), this.type);
|
|
41
|
+
this._dayNames = this._today.calendar.dayShortNames;
|
|
42
|
+
}
|
|
43
|
+
_refresh() {
|
|
44
|
+
this._initValues();
|
|
45
|
+
this.navTo(this.value || this._today);
|
|
46
|
+
}
|
|
38
47
|
onInit() {
|
|
48
|
+
this._initValues();
|
|
39
49
|
this.goToday();
|
|
40
50
|
}
|
|
41
51
|
_genearteSlots() {
|
|
42
52
|
if (!this._viewStartDate)
|
|
43
53
|
return;
|
|
44
54
|
const vr = this._viewRange;
|
|
55
|
+
// just for tailwind
|
|
56
|
+
//'ax-col-start-1','ax-col-start-2','ax-col-start-3','ax-col-start-4','ax-col-start-5','ax-col-start-6','ax-col-start-7'
|
|
45
57
|
// year view
|
|
46
58
|
if (this.activeView == 'years') {
|
|
47
59
|
const a = vr.enumurate('year');
|
|
@@ -61,6 +73,7 @@ export class AXCalendarComponent extends AXCalendarComponentMixin {
|
|
|
61
73
|
'ax-state-selected': this.value && this.depth == 'years' && d.equal(this.value, 'year'),
|
|
62
74
|
};
|
|
63
75
|
}
|
|
76
|
+
// r.cssClass[`ax-col-start-2`] = i == 0;
|
|
64
77
|
return r;
|
|
65
78
|
});
|
|
66
79
|
this._navText = `${vr.startTime.year} - ${vr.endTime.year}`;
|
|
@@ -115,13 +128,11 @@ export class AXCalendarComponent extends AXCalendarComponentMixin {
|
|
|
115
128
|
// 'ax-state-event': d.dayOfMonth == 12,
|
|
116
129
|
};
|
|
117
130
|
}
|
|
118
|
-
// just for tailwind
|
|
119
|
-
//'ax-col-start-1','ax-col-start-2','ax-col-start-3','ax-col-start-4','ax-col-start-5','ax-col-start-6','ax-col-start-7'
|
|
120
131
|
r.cssClass[`ax-col-start-${vr.startTime.dayOfWeek}`] = i == 0;
|
|
121
132
|
return r;
|
|
122
133
|
});
|
|
123
134
|
this._navText = this._viewStartDate.format('MMMM YYYY');
|
|
124
|
-
this._todayText = this._today.format(
|
|
135
|
+
this._todayText = this._today.format();
|
|
125
136
|
}
|
|
126
137
|
}
|
|
127
138
|
_handlePrevClick(e) {
|
|
@@ -130,26 +141,31 @@ export class AXCalendarComponent extends AXCalendarComponentMixin {
|
|
|
130
141
|
_handleNextClick(e) {
|
|
131
142
|
this.next();
|
|
132
143
|
}
|
|
133
|
-
_handleSlotClick(slot) {
|
|
144
|
+
_handleSlotClick(e, slot) {
|
|
134
145
|
if (slot.disabled || this.disabled)
|
|
135
146
|
return;
|
|
136
147
|
if (this.activeView == 'days') {
|
|
137
|
-
this.
|
|
148
|
+
this._setDate(slot.date);
|
|
138
149
|
}
|
|
139
150
|
else if (this.activeView == 'months' && this.depth == 'days') {
|
|
140
151
|
this.activeView = 'days';
|
|
141
152
|
this.navTo(slot.date);
|
|
142
153
|
}
|
|
143
154
|
else if (this.activeView == 'months' && this.depth == 'months') {
|
|
144
|
-
this.
|
|
155
|
+
this._setDate(slot.date);
|
|
145
156
|
}
|
|
146
157
|
else if (this.activeView == 'years' && (this.depth == 'days' || this.depth == 'months')) {
|
|
147
158
|
this.activeView = 'months';
|
|
148
159
|
this.navTo(slot.date);
|
|
149
160
|
}
|
|
150
161
|
else if (this.activeView == 'years' && this.depth == 'years') {
|
|
151
|
-
this.
|
|
162
|
+
this._setDate(slot.date);
|
|
152
163
|
}
|
|
164
|
+
this.onSlotClick.emit({
|
|
165
|
+
component: this,
|
|
166
|
+
item: slot.date,
|
|
167
|
+
nativeEvent: e
|
|
168
|
+
});
|
|
153
169
|
}
|
|
154
170
|
_handleNavClick(e) {
|
|
155
171
|
if (this.activeView == 'days')
|
|
@@ -161,13 +177,16 @@ export class AXCalendarComponent extends AXCalendarComponentMixin {
|
|
|
161
177
|
if (option.name == 'depth' || option.name == 'activeView') {
|
|
162
178
|
this._genearteSlots();
|
|
163
179
|
}
|
|
180
|
+
if (option.name == 'type') {
|
|
181
|
+
this._refresh();
|
|
182
|
+
}
|
|
164
183
|
}
|
|
165
184
|
_onValueChanged(oldValue, newValue) {
|
|
166
|
-
this._viewStartDate = new AXDateTime(newValue);
|
|
185
|
+
this._viewStartDate = new AXDateTime(newValue, this.type);
|
|
167
186
|
this._genearteSlots();
|
|
168
187
|
}
|
|
169
188
|
_handleGoToday() {
|
|
170
|
-
this.
|
|
189
|
+
this._setDate(this._today.date);
|
|
171
190
|
this.goToday();
|
|
172
191
|
}
|
|
173
192
|
next() {
|
|
@@ -186,13 +205,13 @@ export class AXCalendarComponent extends AXCalendarComponentMixin {
|
|
|
186
205
|
else if (this.activeView == 'months')
|
|
187
206
|
this.navTo(this._viewStartDate.add('year', sign * 1));
|
|
188
207
|
else
|
|
189
|
-
this.navTo(this._viewStartDate.add('year', sign *
|
|
208
|
+
this.navTo(this._viewStartDate.add('year', sign * 10));
|
|
190
209
|
}
|
|
191
210
|
goToday() {
|
|
192
|
-
this.navTo(this._today
|
|
211
|
+
this.navTo(this._today);
|
|
193
212
|
}
|
|
194
213
|
navTo(date) {
|
|
195
|
-
this._viewStartDate = AXDateTime.convert(date, this._today.calendar.name());
|
|
214
|
+
this._viewStartDate = AXDateTime.convert(date, this._today.calendar.name()).startOf();
|
|
196
215
|
this._genearteSlots();
|
|
197
216
|
}
|
|
198
217
|
get __hostClass() {
|
|
@@ -201,6 +220,9 @@ export class AXCalendarComponent extends AXCalendarComponentMixin {
|
|
|
201
220
|
};
|
|
202
221
|
return Object.entries(_classes).filter(c => c[1]).map(c => c[0]).join(' ');
|
|
203
222
|
}
|
|
223
|
+
_setDate(value) {
|
|
224
|
+
this.value = AXDateTime.convert(value, this._today.calendar.name()).startOf().date;
|
|
225
|
+
}
|
|
204
226
|
isDisabled(date) {
|
|
205
227
|
if (Array.isArray(this.disabledDates) && this.disabledDates.length != 0) {
|
|
206
228
|
;
|
|
@@ -225,12 +247,14 @@ export class AXCalendarComponent extends AXCalendarComponentMixin {
|
|
|
225
247
|
}
|
|
226
248
|
}
|
|
227
249
|
AXCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: AXCalendarComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
228
|
-
AXCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: AXCalendarComponent, selector: "ax-calendar", inputs: { readonly: "readonly", allowNull: "allowNull", value: "value", debounceTime: "debounceTime", name: "name", checked: "checked", disabled: "disabled", tabIndex: "tabIndex", depth: "depth", activeView: "activeView", min: "min", max: "max", disabledDates: "disabledDates", holidayDates: "holidayDates" }, outputs: { valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", depthChange: "depthChange" }, host: { properties: { "class": "this.__hostClass" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"ax-calendar-header\">\r\n <ax-button class=\"ax-nav-button\" [text]=\"_navText\" color=\"light\" look=\"blank\" (onClick)=\"_handleNavClick($event)\" [disabled]=\"disabled\">\r\n </ax-button>\r\n <ax-button class=\"ax-prev-button\" color=\"light\" look=\"blank\" (onClick)=\"_handlePrevClick($event)\" [disabled]=\"disabled\">\r\n <ax-prefix>\r\n <ax-icon icon=\"ax-ic ax-ic-chevron ax-transform ax-rotate-90\"></ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n <ax-button class=\"ax-next-button\" color=\"light\" look=\"blank\" (onClick)=\"_handleNextClick($event)\" [disabled]=\"disabled\">\r\n <ax-prefix>\r\n <ax-icon icon=\"ax-ic ax-ic-chevron ax-transform ax--rotate-90\"></ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n</div>\r\n<div class=\"ax-calendar-body\">\r\n <div [ngSwitch]=\"activeView\">\r\n <ng-container *ngSwitchCase=\"'years'\">\r\n <div class=\"ax-calendar-slots ax-calendar-slots-year\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [ngClass]=\"slot.cssClass\" \r\n (click)=\"_handleSlotClick(slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'months'\">\r\n <div class=\"ax-calendar-slots ax-calendar-slots-month\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [title]=\"slot.tooltip\" [ngClass]=\"slot.cssClass\" \r\n (click)=\"_handleSlotClick(slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <div class=\"ax-calendar-week\">\r\n <div
|
|
250
|
+
AXCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: AXCalendarComponent, selector: "ax-calendar", inputs: { readonly: "readonly", allowNull: "allowNull", value: "value", debounceTime: "debounceTime", name: "name", checked: "checked", disabled: "disabled", tabIndex: "tabIndex", depth: "depth", activeView: "activeView", min: "min", max: "max", disabledDates: "disabledDates", type: "type", holidayDates: "holidayDates" }, outputs: { valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", depthChange: "depthChange", typeChange: "typeChange", onSlotClick: "onSlotClick" }, host: { properties: { "class": "this.__hostClass" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"ax-calendar-header\">\r\n <ax-button class=\"ax-nav-button\" [text]=\"_navText\" color=\"light\" look=\"blank\" (onClick)=\"_handleNavClick($event)\" [disabled]=\"disabled\">\r\n </ax-button>\r\n <ax-button class=\"ax-prev-button\" color=\"light\" look=\"blank\" (onClick)=\"_handlePrevClick($event)\" [disabled]=\"disabled\">\r\n <ax-prefix>\r\n <ax-icon icon=\"ax-ic ax-ic-chevron ax-transform ax-rotate-90\"></ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n <ax-button class=\"ax-next-button\" color=\"light\" look=\"blank\" (onClick)=\"_handleNextClick($event)\" [disabled]=\"disabled\">\r\n <ax-prefix>\r\n <ax-icon icon=\"ax-ic ax-ic-chevron ax-transform ax--rotate-90\"></ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n</div>\r\n<div class=\"ax-calendar-body\">\r\n <div [ngSwitch]=\"activeView\">\r\n <ng-container *ngSwitchCase=\"'years'\">\r\n <div class=\"ax-calendar-slots ax-calendar-slots-year\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [ngClass]=\"slot.cssClass\" \r\n (click)=\"_handleSlotClick($event,slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'months'\">\r\n <div class=\"ax-calendar-slots ax-calendar-slots-month\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [title]=\"slot.tooltip\" [ngClass]=\"slot.cssClass\" \r\n (click)=\"_handleSlotClick($event,slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <div class=\"ax-calendar-week\">\r\n <div *ngFor=\"let d of _dayNames\">{{d}}</div>\r\n </div>\r\n <div class=\"ax-calendar-slots ax-calendar-slots-day\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [title]=\"slot.tooltip\" [ngClass]=\"slot.cssClass\"\r\n (click)=\"_handleSlotClick($event,slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n</div>\r\n<div class=\"ax-calendar-footer\">\r\n <ax-button class=\"dark:ax-text-danger\" [text]=\"_todayText\" color=\"dark\" look=\"blank\" size=\"sm\" (onClick)=\"_handleGoToday()\" [disabled]=\"disabled\"></ax-button>\r\n</div>", components: [{ type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "size", "color", "look", "text", "submitBehavior", "cancelBehavior", "toggleable", "selected"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange"] }, { type: i2.AXDecoratorPrefixComponent, selector: "ax-prefix" }, { type: i3.AXIconComponent, selector: "ax-icon", inputs: ["icon"] }], directives: [{ type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgSwitchDefault, selector: "[ngSwitchDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
229
251
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: AXCalendarComponent, decorators: [{
|
|
230
252
|
type: Component,
|
|
231
|
-
args: [{ selector: 'ax-calendar', changeDetection: ChangeDetectionStrategy.OnPush, inputs: [...VALUE_INPUTS, ...INTERACTIVE_INPUTS, ...CALENDAR_INPUTS], outputs: [...VALUE_OUTPUT, ...INTERACTIVE_OUTPUT, ...CALENDAR_OUTPUTS], encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-calendar-header\">\r\n <ax-button class=\"ax-nav-button\" [text]=\"_navText\" color=\"light\" look=\"blank\" (onClick)=\"_handleNavClick($event)\" [disabled]=\"disabled\">\r\n </ax-button>\r\n <ax-button class=\"ax-prev-button\" color=\"light\" look=\"blank\" (onClick)=\"_handlePrevClick($event)\" [disabled]=\"disabled\">\r\n <ax-prefix>\r\n <ax-icon icon=\"ax-ic ax-ic-chevron ax-transform ax-rotate-90\"></ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n <ax-button class=\"ax-next-button\" color=\"light\" look=\"blank\" (onClick)=\"_handleNextClick($event)\" [disabled]=\"disabled\">\r\n <ax-prefix>\r\n <ax-icon icon=\"ax-ic ax-ic-chevron ax-transform ax--rotate-90\"></ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n</div>\r\n<div class=\"ax-calendar-body\">\r\n <div [ngSwitch]=\"activeView\">\r\n <ng-container *ngSwitchCase=\"'years'\">\r\n <div class=\"ax-calendar-slots ax-calendar-slots-year\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [ngClass]=\"slot.cssClass\" \r\n (click)=\"_handleSlotClick(slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'months'\">\r\n <div class=\"ax-calendar-slots ax-calendar-slots-month\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [title]=\"slot.tooltip\" [ngClass]=\"slot.cssClass\" \r\n (click)=\"_handleSlotClick(slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <div class=\"ax-calendar-week\">\r\n <div
|
|
232
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: {
|
|
253
|
+
args: [{ selector: 'ax-calendar', changeDetection: ChangeDetectionStrategy.OnPush, inputs: [...VALUE_INPUTS, ...INTERACTIVE_INPUTS, ...CALENDAR_INPUTS], outputs: [...VALUE_OUTPUT, ...INTERACTIVE_OUTPUT, ...CALENDAR_OUTPUTS], encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-calendar-header\">\r\n <ax-button class=\"ax-nav-button\" [text]=\"_navText\" color=\"light\" look=\"blank\" (onClick)=\"_handleNavClick($event)\" [disabled]=\"disabled\">\r\n </ax-button>\r\n <ax-button class=\"ax-prev-button\" color=\"light\" look=\"blank\" (onClick)=\"_handlePrevClick($event)\" [disabled]=\"disabled\">\r\n <ax-prefix>\r\n <ax-icon icon=\"ax-ic ax-ic-chevron ax-transform ax-rotate-90\"></ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n <ax-button class=\"ax-next-button\" color=\"light\" look=\"blank\" (onClick)=\"_handleNextClick($event)\" [disabled]=\"disabled\">\r\n <ax-prefix>\r\n <ax-icon icon=\"ax-ic ax-ic-chevron ax-transform ax--rotate-90\"></ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n</div>\r\n<div class=\"ax-calendar-body\">\r\n <div [ngSwitch]=\"activeView\">\r\n <ng-container *ngSwitchCase=\"'years'\">\r\n <div class=\"ax-calendar-slots ax-calendar-slots-year\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [ngClass]=\"slot.cssClass\" \r\n (click)=\"_handleSlotClick($event,slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'months'\">\r\n <div class=\"ax-calendar-slots ax-calendar-slots-month\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [title]=\"slot.tooltip\" [ngClass]=\"slot.cssClass\" \r\n (click)=\"_handleSlotClick($event,slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <div class=\"ax-calendar-week\">\r\n <div *ngFor=\"let d of _dayNames\">{{d}}</div>\r\n </div>\r\n <div class=\"ax-calendar-slots ax-calendar-slots-day\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [title]=\"slot.tooltip\" [ngClass]=\"slot.cssClass\"\r\n (click)=\"_handleSlotClick($event,slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n</div>\r\n<div class=\"ax-calendar-footer\">\r\n <ax-button class=\"dark:ax-text-danger\" [text]=\"_todayText\" color=\"dark\" look=\"blank\" size=\"sm\" (onClick)=\"_handleGoToday()\" [disabled]=\"disabled\"></ax-button>\r\n</div>" }]
|
|
254
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { onSlotClick: [{
|
|
255
|
+
type: Output
|
|
256
|
+
}], __hostClass: [{
|
|
233
257
|
type: HostBinding,
|
|
234
258
|
args: ['class']
|
|
235
259
|
}] } });
|
|
236
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNELE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUd2QixXQUFXLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUgsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7OztBQUc5RixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyx5QkFBeUIsQ0FDL0QsMkJBQTJCLENBQUMscUJBQXFCLENBQU0sdUJBQXVCLENBQUMsQ0FBQyxDQUNqRixDQUFDO0FBV0YsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHdCQUF3QjtJQWlDL0QsWUFBWSxVQUFzQixFQUFVLEdBQXNCO1FBQ2hFLEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFEbUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFUbEUsV0FBTSxHQUFHLElBQUksVUFB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LFlBQVksSUFBSSxVQUFVLEVBQUU7WUFDL0MsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNyQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLFNBQVMsQ0FBQyxJQUFnQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDO0lBQ3BELENBQUM7O2dIQXhQVSxtQkFBbUI7b0dBQW5CLG1CQUFtQixva0JDN0JoQyxzK0VBZ0RNOzJGRG5CTyxtQkFBbUI7a0JBUi9CLFNBQVM7K0JBQ0UsYUFBYSxtQkFFTix1QkFBdUIsQ0FBQyxNQUFNLFVBQ3ZDLENBQUMsR0FBRyxZQUFZLEVBQUUsR0FBRyxrQkFBa0IsRUFBRSxHQUFHLGVBQWUsQ0FBQyxXQUMzRCxDQUFDLEdBQUcsWUFBWSxFQUFFLEdBQUcsa0JBQWtCLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQyxpQkFDdkQsaUJBQWlCLENBQUMsSUFBSTtpSUEyTnpCLFdBQVc7c0JBRHRCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGF0ZVRpbWUsIEFYRGF0ZVRpbWVSYW5nZSB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYQ2xpY2tFdmVudCwgQVhDb21wb25lbnRPcHRpb25DaGFuZ2VkIH0gZnJvbSAnLi4vYmFzZSc7XHJcbmltcG9ydCB7IF9DbGlja2FibGVDb21wb25lbmV0TWl4aW4gfSBmcm9tICcuLi9iYXNlL21peGluL2NsaWNrYWJsZS1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IElOVEVSQUNUSVZFX0lOUFVUUywgSU5URVJBQ1RJVkVfT1VUUFVULCBfSW50ZXJhY3RpdmVDb21wb25lbmV0TWl4aW4gfSBmcm9tICcuLi9iYXNlL21peGluL2ludGVyYWN0aXZlLW1peGluLmNsYXNzJztcclxuaW1wb3J0IHsgVkFMVUVfSU5QVVRTLCBWQUxVRV9PVVRQVVQsIF9WYWx1ZUNvbXBvbmVuZXRNaXhpbiB9IGZyb20gJy4uL2Jhc2UvbWl4aW4vdmFsdWUtbWl4aW4uY2xhc3MnO1xyXG5pbXBvcnQgeyBBWENhbGVuZGFyQmFzZUNvbXBvbmVudCwgQ0FMRU5EQVJfSU5QVVRTLCBDQUxFTkRBUl9PVVRQVVRTIH0gZnJvbSAnLi9jYWxlbmRhci5jbGFzcyc7XHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IEFYQ2FsZW5kYXJDb21wb25lbnRNaXhpbiA9IF9DbGlja2FibGVDb21wb25lbmV0TWl4aW4oXHJcbiAgX0ludGVyYWN0aXZlQ29tcG9uZW5ldE1peGluKF9WYWx1ZUNvbXBvbmVuZXRNaXhpbjxhbnk+KEFYQ2FsZW5kYXJCYXNlQ29tcG9uZW50KSlcclxuKTtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LWNhbGVuZGFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGlucHV0czogWy4uLlZBTFVFX0lOUFVUUywgLi4uSU5URVJBQ1RJVkVfSU5QVVRTLCAuLi5DQUxFTkRBUl9JTlBVVFNdLFxyXG4gIG91dHB1dHM6IFsuLi5WQUxVRV9PVVRQVVQsIC4uLklOVEVSQUNUSVZFX09VVFBVVCwgLi4uQ0FMRU5EQVJfT1VUUFVUU10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYQ2FsZW5kYXJDb21wb25lbnQgZXh0ZW5kcyBBWENhbGVuZGFyQ29tcG9uZW50TWl4aW4ge1xyXG5cclxuICBwcml2YXRlIGdldCBfdmlld1JhbmdlKCk6IEFYRGF0ZVRpbWVSYW5nZSB7XHJcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5fdmlld1N0YXJ0RGF0ZSB8fCB0aGlzLl90b2RheTtcclxuICAgIHN3aXRjaCAodGhpcy5hY3RpdmVWaWV3KSB7XHJcbiAgICAgIGNhc2UgJ3llYXJzJzpcclxuICAgICAgICBsZXQgeSA9IGN1cnJlbnQuc3RhcnRPZigneWVhcicpLnllYXI7XHJcbiAgICAgICAgbGV0IG1pbiA9IHkgLSAoeSAlIDEwKSAtIDE7XHJcbiAgICAgICAgbGV0IG1heCA9IG1pbiArIDExO1xyXG4gICAgICAgIHJldHVybiBuZXcgQVhEYXRlVGltZVJhbmdlKFxyXG4gICAgICAgICAgQVhEYXRlVGltZS5jb252ZXJ0KG5ldyBEYXRlKG1pbiwgMCksIHRoaXMuX3RvZGF5LmNhbGVuZGFyLm5hbWUoKSksXHJcbiAgICAgICAgICBBWERhdGVUaW1lLmNvbnZlcnQobmV3IERhdGUobWF4LCAwKSwgdGhpcy5fdG9kYXkuY2FsZW5kYXIubmFtZSgpKVxyXG4gICAgICAgICk7XHJcbiAgICAgIGNhc2UgJ21vbnRocyc6XHJcbiAgICAgICAgLy9UT0RPOiBjaGVjayBhZGQgbW9udGggZnVuY3Rpb25cclxuICAgICAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWVSYW5nZShjdXJyZW50LnN0YXJ0T2YoJ3llYXInKSwgY3VycmVudC5lbmRPZigneWVhcicpLmFkZCgnZGF5JywgLTEpKTtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICAvL3JldHVybiBuZXcgQVhEYXRlVGltZVJhbmdlKGN1cnJlbnQuc3RhcnRPZignbW9udGgnKS5zdGFydE9mKCd3ZWVrJyksIGN1cnJlbnQuZW5kT2YoJ21vbnRoJykuZW5kT2YoJ3dlZWsnKSk7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lUmFuZ2UoY3VycmVudC5zdGFydE9mKCdtb250aCcpLCBjdXJyZW50LmVuZE9mKCdtb250aCcpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuXHJcbiAgX3RvZGF5ID0gbmV3IEFYRGF0ZVRpbWUobmV3IERhdGUoKSk7XHJcbiAgcHJpdmF0ZSBfdmlld1N0YXJ0RGF0ZTogQVhEYXRlVGltZTtcclxuXHJcbiAgX25hdlRleHQ6IHN0cmluZyA9ICcnO1xyXG4gIF90b2RheVRleHQ6IHN0cmluZyA9ICcnO1xyXG5cclxuICBfc2xvdHM6IGFueVtdID0gW11cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcclxuXHJcbiAgfVxyXG5cclxuICBvbkluaXQoKSB7XHJcbiAgICB0aGlzLmdvVG9kYXkoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dlbmVhcnRlU2xvdHMoKSB7XHJcbiAgICBpZiAoIXRoaXMuX3ZpZXdTdGFydERhdGUpXHJcbiAgICAgIHJldHVybjtcclxuICAgIGNvbnN0IHZyID0gdGhpcy5fdmlld1JhbmdlO1xyXG4gICAgLy8geWVhciB2aWV3XHJcbiAgICBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICd5ZWFycycpIHtcclxuICAgICAgY29uc3QgYSA9IHZyLmVudW11cmF0ZSgneWVhcicpO1xyXG4gICAgICB0aGlzLl9zbG90cyA9IGEubWFwKChkLCBpKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcjogYW55ID0ge307XHJcbiAgICAgICAgci5kYXRlID0gZC5kYXRlO1xyXG4gICAgICAgIHIudGV4dCA9IGQuZm9ybWF0KCdZWVlZJyk7XHJcbiAgICAgICAgci5kaXNhYmxlZCA9ICh0aGlzLm1pbiAmJiBkLmNvbXBhcmUodGhpcy5taW4sICd5ZWFyJykgPT0gLTEpIHx8ICh0aGlzLm1heCAmJiBkLmNvbXBhcmUodGhpcy5tYXgsICd5ZWFyJykgPT0gMSk7XHJcbiAgICAgICAgaWYgKHIuZGlzYWJsZWQpIHtcclxuICAgICAgICAgIHIuY3NzQ2xhc3MgPSB7XHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1kaXNhYmxlZCc6IHIuZGlzYWJsZWQsXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgci5jc3NDbGFzcyA9IHtcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLXRvZGF5JzogZC5lcXVhbCh0aGlzLl90b2RheSwgJ3llYXInKSxcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLXNlbGVjdGVkJzogdGhpcy52YWx1ZSAmJiB0aGlzLmRlcHRoID09ICd5ZWFycycgJiYgZC5lcXVhbCh0aGlzLnZhbHVlLCAneWVhcicpLFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcjtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuX25hdlRleHQgPSBgJHt2ci5zdGFydFRpbWUueWVhcn0gLSAke3ZyLmVuZFRpbWUueWVhcn1gO1xyXG4gICAgICB0aGlzLl90b2RheVRleHQgPSB0aGlzLl90b2RheS5mb3JtYXQoJ1lZWVknKTtcclxuICAgIH1cclxuICAgIC8vIG1vbnRoIHZpZXdcclxuICAgIGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnbW9udGhzJykge1xyXG4gICAgICBjb25zdCBhID0gdnIuZW51bXVyYXRlKCdtb250aCcpO1xyXG4gICAgICB0aGlzLl9zbG90cyA9IGEubWFwKChkLCBpKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcjogYW55ID0ge307XHJcbiAgICAgICAgci5kYXRlID0gZC5kYXRlO1xyXG4gICAgICAgIHIudGV4dCA9IGQuZm9ybWF0KCdNTU0nKTtcclxuICAgICAgICByLnRvb2x0aXAgPSBkLmZvcm1hdCgnTU1NTSBZWVlZJyk7XHJcbiAgICAgICAgci5kaXNhYmxlZCA9ICh0aGlzLm1pbiAmJiBkLmNvbXBhcmUodGhpcy5taW4sICdtb250aCcpID09IC0xKSB8fCAodGhpcy5tYXggJiYgZC5jb21wYXJlKHRoaXMubWF4LCAnbW9udGgnKSA9PSAxKTtcclxuICAgICAgICBpZiAoci5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgci5jc3NDbGFzcyA9IHtcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLWRpc2FibGVkJzogci5kaXNhYmxlZCxcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICByLmNzc0NsYXNzID0ge1xyXG4gICAgICAgICAgICAnYXgtc3RhdGUtdG9kYXknOiBkLmVxdWFsKHRoaXMuX3RvZGF5LCAnbW9udGgnKSxcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLXNlbGVjdGVkJzogdGhpcy52YWx1ZSAmJiB0aGlzLmRlcHRoID09ICdtb250aHMnICYmIGQuZXF1YWwodGhpcy52YWx1ZSwgJ21vbnRoJyksXHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1vdGhlcic6IGQueWVhciAhPSB0aGlzLl92aWV3U3RhcnREYXRlLnllYXJcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHI7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLl9uYXZUZXh0ID0gdGhpcy5fdmlld1N0YXJ0RGF0ZS5mb3JtYXQoJ1lZWVknKTtcclxuICAgICAgdGhpcy5fdG9kYXlUZXh0ID0gdGhpcy5fdG9kYXkuZm9ybWF0KCdNTU1NIFlZWVknKTtcclxuICAgIH1cclxuICAgIC8vIGRheSB2aWV3XHJcbiAgICBlbHNlIHtcclxuICAgICAgY29uc3QgYSA9IHZyLmVudW11cmF0ZSgnZGF5Jyk7XHJcbiAgICAgIHRoaXMuX3Nsb3RzID0gYS5tYXAoKGQsIGkpID0+IHtcclxuICAgICAgICBjb25zdCByOiBhbnkgPSB7fTtcclxuICAgICAgICByLmRhdGUgPSBkLmRhdGU7XHJcbiAgICAgICAgci50ZXh0ID0gZC5kYXlPZk1vbnRoO1xyXG4gICAgICAgIHIudG9vbHRpcCA9IGQuZm9ybWF0KCk7XHJcbiAgICAgICAgci5kaXNhYmxlZCA9ICh0aGlzLm1pbiAmJiBkLmNvbXBhcmUodGhpcy5taW4sICdkYXknKSA9PSAtMSkgfHwgKHRoaXMubWF4ICYmIGQuY29tcGFyZSh0aGlzLm1heCwgJ2RheScpID09IDEpO1xyXG4gICAgICAgIGlmIChyLmRpc2FibGVkIHx8IHRoaXMuaXNEaXNhYmxlZChkKSkge1xyXG4gICAgICAgICAgci5jc3NDbGFzcyA9IHtcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLWRpc2FibGVkJzogdHJ1ZSxcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICByLmNzc0NsYXNzID0ge1xyXG4gICAgICAgICAgICAnYXgtc3RhdGUtdG9kYXknOiBkLmVxdWFsKHRoaXMuX3RvZGF5LCAnZGF5JyksXHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1zZWxlY3RlZCc6IHRoaXMudmFsdWUgJiYgZC5lcXVhbCh0aGlzLnZhbHVlLCAnZGF5JyksXHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1ob2xpZGF5JzogdGhpcy5pc0hvbGlkYXkoZCkgfHwgdGhpcy5pc1dlZWtlbmQoZCksXHJcbiAgICAgICAgICAgIC8vICdheC1zdGF0ZS1ldmVudC1pbmZvJzogZC5kYXlPZk1vbnRoID09IDEyLFxyXG4gICAgICAgICAgICAvLyAnYXgtc3RhdGUtZXZlbnQnOiBkLmRheU9mTW9udGggPT0gMTIsXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGp1c3QgZm9yIHRhaWx3aW5kXHJcbiAgICAgICAgLy8nYXgtY29sLXN0YXJ0LTEnLCdheC1jb2wtc3RhcnQtMicsJ2F4LWNvbC1zdGFydC0zJywnYXgtY29sLXN0YXJ0LTQnLCdheC1jb2wtc3RhcnQtNScsJ2F4LWNvbC1zdGFydC02JywnYXgtY29sLXN0YXJ0LTcnXHJcbiAgICAgICAgci5jc3NDbGFzc1tgYXgtY29sLXN0YXJ0LSR7dnIuc3RhcnRUaW1lLmRheU9mV2Vla31gXSA9IGkgPT0gMFxyXG4gICAgICAgIHJldHVybiByO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5fbmF2VGV4dCA9IHRoaXMuX3ZpZXdTdGFydERhdGUuZm9ybWF0KCdNTU1NIFlZWVknKTtcclxuICAgICAgdGhpcy5fdG9kYXlUZXh0ID0gdGhpcy5fdG9kYXkuZm9ybWF0KCdERERELCBNTU1NIGRkLCBZWVlZJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgX2hhbmRsZVByZXZDbGljayhlOiBBWENsaWNrRXZlbnQpIHtcclxuICAgIHRoaXMucHJldigpO1xyXG4gIH1cclxuXHJcbiAgX2hhbmRsZU5leHRDbGljayhlOiBBWENsaWNrRXZlbnQpIHtcclxuICAgIHRoaXMubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgX2hhbmRsZVNsb3RDbGljayhzbG90KSB7XHJcbiAgICBpZiAoc2xvdC5kaXNhYmxlZCB8fCB0aGlzLmRpc2FibGVkKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdkYXlzJykge1xyXG4gICAgICB0aGlzLnZhbHVlID0gc2xvdC5kYXRlO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdtb250aHMnICYmIHRoaXMuZGVwdGggPT0gJ2RheXMnKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlVmlldyA9ICdkYXlzJztcclxuICAgICAgdGhpcy5uYXZUbyhzbG90LmRhdGUpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdtb250aHMnICYmIHRoaXMuZGVwdGggPT0gJ21vbnRocycpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IHNsb3QuZGF0ZTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAneWVhcnMnICYmICh0aGlzLmRlcHRoID09ICdkYXlzJyB8fCB0aGlzLmRlcHRoID09ICdtb250aHMnKSkge1xyXG4gICAgICB0aGlzLmFjdGl2ZVZpZXcgPSAnbW9udGhzJztcclxuICAgICAgdGhpcy5uYXZUbyhzbG90LmRhdGUpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICd5ZWFycycgJiYgdGhpcy5kZXB0aCA9PSAneWVhcnMnKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBzbG90LmRhdGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBfaGFuZGxlTmF2Q2xpY2soZTogQVhDbGlja0V2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdkYXlzJylcclxuICAgICAgdGhpcy5hY3RpdmVWaWV3ID0gJ21vbnRocyc7XHJcbiAgICBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRocycpXHJcbiAgICAgIHRoaXMuYWN0aXZlVmlldyA9ICd5ZWFycyc7XHJcbiAgfVxyXG5cclxuICBfb25PcHRpb25DaGFuZ2VkKG9wdGlvbjogQVhDb21wb25lbnRPcHRpb25DaGFuZ2VkKSB7XHJcbiAgICBpZiAob3B0aW9uLm5hbWUgPT0gJ2RlcHRoJyB8fCBvcHRpb24ubmFtZSA9PSAnYWN0aXZlVmlldycpIHtcclxuICAgICAgdGhpcy5fZ2VuZWFydGVTbG90cygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgX29uVmFsdWVDaGFuZ2VkKG9sZFZhbHVlLCBuZXdWYWx1ZSkge1xyXG4gICAgdGhpcy5fdmlld1N0YXJ0RGF0ZSA9IG5ldyBBWERhdGVUaW1lKG5ld1ZhbHVlKTtcclxuICAgIHRoaXMuX2dlbmVhcnRlU2xvdHMoKTtcclxuICB9XHJcblxyXG4gIF9oYW5kbGVHb1RvZGF5KCkge1xyXG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuX3RvZGF5LmRhdGU7XHJcbiAgICB0aGlzLmdvVG9kYXkoKTtcclxuICB9XHJcblxyXG4gIG5leHQoKSB7XHJcbiAgICB0aGlzLl9uYXZOZXh0UHJldihmYWxzZSlcclxuICB9XHJcblxyXG4gIHByZXYoKSB7XHJcbiAgICB0aGlzLl9uYXZOZXh0UHJldih0cnVlKVxyXG4gIH1cclxuXHJcbiAgZm9jdXMoKSB7XHJcbiAgICAodGhpcy5fZ2V0SG9zdEVsZW1lbnQoKSBhcyBIVE1MRGl2RWxlbWVudCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oJy5heC1jYWxlbmRhci1zbG90cz5kaXYnKT8uZm9jdXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX25hdk5leHRQcmV2KHByZXY6IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IHNpZ24gPSAocHJldiA/IC0xIDogMSk7XHJcbiAgICBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdkYXlzJylcclxuICAgICAgdGhpcy5uYXZUbyh0aGlzLl92aWV3U3RhcnREYXRlLmFkZCgnbW9udGgnLCBzaWduICogMSkpO1xyXG4gICAgZWxzZSBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdtb250aHMnKVxyXG4gICAgICB0aGlzLm5hdlRvKHRoaXMuX3ZpZXdTdGFydERhdGUuYWRkKCd5ZWFyJywgc2lnbiAqIDEpKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5uYXZUbyh0aGlzLl92aWV3U3RhcnREYXRlLmFkZCgneWVhcicsIHNpZ24gKiAxMikpO1xyXG4gIH1cclxuXHJcbiAgZ29Ub2RheSgpIHtcclxuICAgIHRoaXMubmF2VG8odGhpcy5fdG9kYXkuc3RhcnRPZigpKTtcclxuICB9XHJcblxyXG5cclxuICBuYXZUbyhkYXRlOiBEYXRlIHwgQVhEYXRlVGltZSkge1xyXG4gICAgdGhpcy5fdmlld1N0YXJ0RGF0ZSA9IEFYRGF0ZVRpbWUuY29udmVydChkYXRlLCB0aGlzLl90b2RheS5jYWxlbmRhci5uYW1lKCkpO1xyXG4gICAgdGhpcy5fZ2VuZWFydGVTbG90cygpO1xyXG4gIH1cclxuXHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxyXG4gIHByaXZhdGUgZ2V0IF9faG9zdENsYXNzKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBfY2xhc3NlcyA9IHtcclxuICAgICAgJ2F4LXN0YXRlLWRpc2FibGVkJzogdGhpcy5kaXNhYmxlZFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKF9jbGFzc2VzKS5maWx0ZXIoYyA9PiBjWzFdKS5tYXAoYyA9PiBjWzBdKS5qb2luKCcgJyk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBpc0Rpc2FibGVkKGRhdGU6IEFYRGF0ZVRpbWUpOiBib29sZWFuIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuZGlzYWJsZWREYXRlcykgJiYgdGhpcy5kaXNhYmxlZERhdGVzLmxlbmd0aCAhPSAwKSB7XHJcbiAgICAgIDtcclxuICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWREYXRlcy5zb21lKGQgPT4gZGF0ZS5lcXVhbChkLCAnZGF5JykpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodHlwZW9mIHRoaXMuZGlzYWJsZWREYXRlcyA9PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkRGF0ZXMoZGF0ZS5kYXRlKTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNIb2xpZGF5KGRhdGU6IEFYRGF0ZVRpbWUpOiBib29sZWFuIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuaG9saWRheURhdGVzKSAmJiB0aGlzLmhvbGlkYXlEYXRlcy5sZW5ndGggIT0gMCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5ob2xpZGF5RGF0ZXMuc29tZShkID0+IGRhdGUuZXF1YWwoZCwgJ2RheScpKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHR5cGVvZiB0aGlzLmhvbGlkYXlEYXRlcyA9PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmhvbGlkYXlEYXRlcyhkYXRlLmRhdGUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc1dlZWtlbmQoZGF0ZTogQVhEYXRlVGltZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGRhdGUuZGF5T2ZXZWVrID09IDcgfHwgZGF0ZS5kYXlPZldlZWsgPT0gMTtcclxuICB9XHJcblxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItaGVhZGVyXCI+XHJcbiAgICA8YXgtYnV0dG9uIGNsYXNzPVwiYXgtbmF2LWJ1dHRvblwiIFt0ZXh0XT1cIl9uYXZUZXh0XCIgY29sb3I9XCJsaWdodFwiIGxvb2s9XCJibGFua1wiIChvbkNsaWNrKT1cIl9oYW5kbGVOYXZDbGljaygkZXZlbnQpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XHJcbiAgICA8L2F4LWJ1dHRvbj5cclxuICAgIDxheC1idXR0b24gY2xhc3M9XCJheC1wcmV2LWJ1dHRvblwiIGNvbG9yPVwibGlnaHRcIiBsb29rPVwiYmxhbmtcIiAob25DbGljayk9XCJfaGFuZGxlUHJldkNsaWNrKCRldmVudClcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cclxuICAgICAgICA8YXgtcHJlZml4PlxyXG4gICAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiYXgtaWMgYXgtaWMtY2hldnJvbiBheC10cmFuc2Zvcm0gYXgtcm90YXRlLTkwXCI+PC9heC1pY29uPlxyXG4gICAgICAgIDwvYXgtcHJlZml4PlxyXG4gICAgPC9heC1idXR0b24+XHJcbiAgICA8YXgtYnV0dG9uIGNsYXNzPVwiYXgtbmV4dC1idXR0b25cIiBjb2xvcj1cImxpZ2h0XCIgbG9vaz1cImJsYW5rXCIgKG9uQ2xpY2spPVwiX2hhbmRsZU5leHRDbGljaygkZXZlbnQpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XHJcbiAgICAgICAgPGF4LXByZWZpeD5cclxuICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImF4LWljIGF4LWljLWNoZXZyb24gYXgtdHJhbnNmb3JtIGF4LS1yb3RhdGUtOTBcIj48L2F4LWljb24+XHJcbiAgICAgICAgPC9heC1wcmVmaXg+XHJcbiAgICA8L2F4LWJ1dHRvbj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1ib2R5XCI+XHJcbiAgICA8ZGl2IFtuZ1N3aXRjaF09XCJhY3RpdmVWaWV3XCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3llYXJzJ1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItc2xvdHMgYXgtY2FsZW5kYXItc2xvdHMteWVhclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiB0YWJpbmRleD1cIjBcIiAqbmdGb3I9XCJsZXQgc2xvdCBvZiBfc2xvdHNcIiBbbmdDbGFzc109XCJzbG90LmNzc0NsYXNzXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVTbG90Q2xpY2soc2xvdClcIj57e3Nsb3QudGV4dH19PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidtb250aHMnXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1zbG90cyBheC1jYWxlbmRhci1zbG90cy1tb250aFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiB0YWJpbmRleD1cIjBcIiAqbmdGb3I9XCJsZXQgc2xvdCBvZiBfc2xvdHNcIiBbdGl0bGVdPVwic2xvdC50b29sdGlwXCIgW25nQ2xhc3NdPVwic2xvdC5jc3NDbGFzc1wiIFxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfaGFuZGxlU2xvdENsaWNrKHNsb3QpXCI+e3tzbG90LnRleHR9fTwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci13ZWVrXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlNVPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2Pk1PPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlRVPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PldFPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlRIPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PkZSPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlNBPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItc2xvdHMgYXgtY2FsZW5kYXItc2xvdHMtZGF5XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IHRhYmluZGV4PVwiMFwiICpuZ0Zvcj1cImxldCBzbG90IG9mIF9zbG90c1wiIFt0aXRsZV09XCJzbG90LnRvb2x0aXBcIiAgW25nQ2xhc3NdPVwic2xvdC5jc3NDbGFzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVTbG90Q2xpY2soc2xvdClcIj57e3Nsb3QudGV4dH19PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcblxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLWZvb3RlclwiPlxyXG4gICAgPGF4LWJ1dHRvbiBjbGFzcz1cImRhcms6YXgtdGV4dC1kYW5nZXJcIiBbdGV4dF09XCJfdG9kYXlUZXh0XCIgY29sb3I9XCJkYXJrXCIgbG9vaz1cImJsYW5rXCIgc2l6ZT1cInNtXCIgKG9uQ2xpY2spPVwiX2hhbmRsZUdvVG9kYXkoKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPjwvYXgtYnV0dG9uPlxyXG48L2Rpdj4iXX0=
|
|
260
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBWSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JFLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUd2QixXQUFXLEVBRVgsTUFBTSxFQUNOLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1SCxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7O0FBRzlGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLHlCQUF5QixDQUMvRCwyQkFBMkIsQ0FBQyxxQkFBcUIsQ0FBTSx1QkFBdUIsQ0FBQyxDQUFDLENBQ2pGLENBQUM7QUFXRixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsd0JBQXdCO0lBb0MvRCxZQUFZLFVBQXNCLEVBQVUsR0FBc0I7UUFDaEUsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQURtQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWRs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QUksQ0FBQyxZQUFZLElBQUksVUFBVSxFQUFFO1lBQy9DLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDckM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTyxTQUFTLENBQUMsSUFBZ0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQztJQUNwRCxDQUFDOztnSEFyUlUsbUJBQW1CO29HQUFuQixtQkFBbUIsd29CQ2hDaEMsczFFQTBDTTsyRkRWTyxtQkFBbUI7a0JBUi9CLFNBQVM7K0JBQ0UsYUFBYSxtQkFFTix1QkFBdUIsQ0FBQyxNQUFNLFVBQ3ZDLENBQUMsR0FBRyxZQUFZLEVBQUUsR0FBRyxrQkFBa0IsRUFBRSxHQUFHLGVBQWUsQ0FBQyxXQUMzRCxDQUFDLEdBQUcsWUFBWSxFQUFFLEdBQUcsa0JBQWtCLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQyxpQkFDdkQsaUJBQWlCLENBQUMsSUFBSTtpSUFvQ3JDLFdBQVc7c0JBRFYsTUFBTTtnQkFpTkssV0FBVztzQkFEdEIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDb25maWcsIEFYRGF0ZVRpbWUsIEFYRGF0ZVRpbWVSYW5nZSB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhDbGlja0V2ZW50LCBBWENvbXBvbmVudE9wdGlvbkNoYW5nZWQsIEFYSXRlbUNsaWNrRXZlbnQgfSBmcm9tICcuLi9iYXNlJztcclxuaW1wb3J0IHsgX0NsaWNrYWJsZUNvbXBvbmVuZXRNaXhpbiB9IGZyb20gJy4uL2Jhc2UvbWl4aW4vY2xpY2thYmxlLW1peGluLmNsYXNzJztcclxuaW1wb3J0IHsgSU5URVJBQ1RJVkVfSU5QVVRTLCBJTlRFUkFDVElWRV9PVVRQVVQsIF9JbnRlcmFjdGl2ZUNvbXBvbmVuZXRNaXhpbiB9IGZyb20gJy4uL2Jhc2UvbWl4aW4vaW50ZXJhY3RpdmUtbWl4aW4uY2xhc3MnO1xyXG5pbXBvcnQgeyBWQUxVRV9JTlBVVFMsIFZBTFVFX09VVFBVVCwgX1ZhbHVlQ29tcG9uZW5ldE1peGluIH0gZnJvbSAnLi4vYmFzZS9taXhpbi92YWx1ZS1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IEFYQ2FsZW5kYXJCYXNlQ29tcG9uZW50LCBDQUxFTkRBUl9JTlBVVFMsIENBTEVOREFSX09VVFBVVFMgfSBmcm9tICcuL2NhbGVuZGFyLmNsYXNzJztcclxuXHJcblxyXG5leHBvcnQgY29uc3QgQVhDYWxlbmRhckNvbXBvbmVudE1peGluID0gX0NsaWNrYWJsZUNvbXBvbmVuZXRNaXhpbihcclxuICBfSW50ZXJhY3RpdmVDb21wb25lbmV0TWl4aW4oX1ZhbHVlQ29tcG9uZW5ldE1peGluPGFueT4oQVhDYWxlbmRhckJhc2VDb21wb25lbnQpKVxyXG4pO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtY2FsZW5kYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgaW5wdXRzOiBbLi4uVkFMVUVfSU5QVVRTLCAuLi5JTlRFUkFDVElWRV9JTlBVVFMsIC4uLkNBTEVOREFSX0lOUFVUU10sXHJcbiAgb3V0cHV0czogWy4uLlZBTFVFX09VVFBVVCwgLi4uSU5URVJBQ1RJVkVfT1VUUFVULCAuLi5DQUxFTkRBUl9PVVRQVVRTXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhDYWxlbmRhckNvbXBvbmVudCBleHRlbmRzIEFYQ2FsZW5kYXJDb21wb25lbnRNaXhpbiB7XHJcblxyXG4gIHByaXZhdGUgZ2V0IF92aWV3UmFuZ2UoKTogQVhEYXRlVGltZVJhbmdlIHtcclxuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLl92aWV3U3RhcnREYXRlIHx8IHRoaXMuX3RvZGF5O1xyXG4gICAgc3dpdGNoICh0aGlzLmFjdGl2ZVZpZXcpIHtcclxuICAgICAgY2FzZSAneWVhcnMnOlxyXG4gICAgICAgIGxldCB5ID0gY3VycmVudC5zdGFydE9mKCd5ZWFyJykueWVhcjtcclxuICAgICAgICBsZXQgbWluID0geSAtICh5ICUgMTApIC0gMTtcclxuICAgICAgICBsZXQgbWF4ID0gbWluICsgMTE7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lUmFuZ2UoXHJcbiAgICAgICAgICBBWERhdGVUaW1lLmZyb20oeyB5ZWFyOiBtaW4sIG1vbnRoOiAxLCBkYXRlOiAxLCBjYWxlbmRhcjogdGhpcy5fdmlld1N0YXJ0RGF0ZS5jYWxlbmRhci5uYW1lKCkgfSksXHJcbiAgICAgICAgICBBWERhdGVUaW1lLmZyb20oeyB5ZWFyOiBtYXgsIG1vbnRoOiAxMiwgZGF0ZTogMjgsIGNhbGVuZGFyOiB0aGlzLl92aWV3U3RhcnREYXRlLmNhbGVuZGFyLm5hbWUoKSB9KSxcclxuICAgICAgICApO1xyXG4gICAgICBjYXNlICdtb250aHMnOlxyXG4gICAgICAgIHJldHVybiBuZXcgQVhEYXRlVGltZVJhbmdlKGN1cnJlbnQuc3RhcnRPZigneWVhcicpLCBjdXJyZW50LmVuZE9mKCd5ZWFyJykuYWRkKCdkYXknLCAtMSkpO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIC8vcmV0dXJuIG5ldyBBWERhdGVUaW1lUmFuZ2UoY3VycmVudC5zdGFydE9mKCdtb250aCcpLnN0YXJ0T2YoJ3dlZWsnKSwgY3VycmVudC5lbmRPZignbW9udGgnKS5lbmRPZignd2VlaycpKTtcclxuICAgICAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWVSYW5nZShjdXJyZW50LnN0YXJ0T2YoJ21vbnRoJyksIGN1cnJlbnQuZW5kT2YoJ21vbnRoJykpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIF90b2RheSA9IG5ldyBBWERhdGVUaW1lKG5ldyBEYXRlKCksIHRoaXMudHlwZSk7XHJcbiAgcHJpdmF0ZSBfdmlld1N0YXJ0RGF0ZTogQVhEYXRlVGltZTtcclxuXHJcbiAgX25hdlRleHQ6IHN0cmluZyA9ICcnO1xyXG4gIF90b2RheVRleHQ6IHN0cmluZyA9ICcnO1xyXG5cclxuICBfc2xvdHM6IGFueVtdID0gW107XHJcbiAgX2RheU5hbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuXHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG9uU2xvdENsaWNrOiBFdmVudEVtaXR0ZXI8QVhJdGVtQ2xpY2tFdmVudDxEYXRlPj4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYSXRlbUNsaWNrRXZlbnQ8RGF0ZT4+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIF9pbml0VmFsdWVzKCkge1xyXG4gICAgdGhpcy5fdG9kYXkgPSBuZXcgQVhEYXRlVGltZShuZXcgRGF0ZSgpLCB0aGlzLnR5cGUpO1xyXG4gICAgdGhpcy5fZGF5TmFtZXMgPSB0aGlzLl90b2RheS5jYWxlbmRhci5kYXlTaG9ydE5hbWVzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcmVmcmVzaCgpIHtcclxuICAgIHRoaXMuX2luaXRWYWx1ZXMoKTtcclxuICAgIHRoaXMubmF2VG8odGhpcy52YWx1ZSB8fCB0aGlzLl90b2RheSk7XHJcbiAgfVxyXG5cclxuICBvbkluaXQoKSB7XHJcbiAgICB0aGlzLl9pbml0VmFsdWVzKCk7XHJcbiAgICB0aGlzLmdvVG9kYXkoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dlbmVhcnRlU2xvdHMoKSB7XHJcbiAgICBpZiAoIXRoaXMuX3ZpZXdTdGFydERhdGUpXHJcbiAgICAgIHJldHVybjtcclxuICAgIGNvbnN0IHZyID0gdGhpcy5fdmlld1JhbmdlO1xyXG4gICAgLy8ganVzdCBmb3IgdGFpbHdpbmRcclxuICAgIC8vJ2F4LWNvbC1zdGFydC0xJywnYXgtY29sLXN0YXJ0LTInLCdheC1jb2wtc3RhcnQtMycsJ2F4LWNvbC1zdGFydC00JywnYXgtY29sLXN0YXJ0LTUnLCdheC1jb2wtc3RhcnQtNicsJ2F4LWNvbC1zdGFydC03J1xyXG4gICAgLy8geWVhciB2aWV3XHJcbiAgICBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICd5ZWFycycpIHtcclxuICAgICAgY29uc3QgYSA9IHZyLmVudW11cmF0ZSgneWVhcicpO1xyXG4gICAgICB0aGlzLl9zbG90cyA9IGEubWFwKChkLCBpKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcjogYW55ID0ge307XHJcbiAgICAgICAgci5kYXRlID0gZC5kYXRlO1xyXG4gICAgICAgIHIudGV4dCA9IGQuZm9ybWF0KCdZWVlZJyk7XHJcbiAgICAgICAgci5kaXNhYmxlZCA9ICh0aGlzLm1pbiAmJiBkLmNvbXBhcmUodGhpcy5taW4sICd5ZWFyJykgPT0gLTEpIHx8ICh0aGlzLm1heCAmJiBkLmNvbXBhcmUodGhpcy5tYXgsICd5ZWFyJykgPT0gMSk7XHJcbiAgICAgICAgaWYgKHIuZGlzYWJsZWQpIHtcclxuICAgICAgICAgIHIuY3NzQ2xhc3MgPSB7XHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1kaXNhYmxlZCc6IHIuZGlzYWJsZWQsXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgci5jc3NDbGFzcyA9IHtcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLXRvZGF5JzogZC5lcXVhbCh0aGlzLl90b2RheSwgJ3llYXInKSxcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLXNlbGVjdGVkJzogdGhpcy52YWx1ZSAmJiB0aGlzLmRlcHRoID09ICd5ZWFycycgJiYgZC5lcXVhbCh0aGlzLnZhbHVlLCAneWVhcicpLFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyByLmNzc0NsYXNzW2BheC1jb2wtc3RhcnQtMmBdID0gaSA9PSAwO1xyXG4gICAgICAgIHJldHVybiByO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMuX25hdlRleHQgPSBgJHt2ci5zdGFydFRpbWUueWVhcn0gLSAke3ZyLmVuZFRpbWUueWVhcn1gO1xyXG4gICAgICB0aGlzLl90b2RheVRleHQgPSB0aGlzLl90b2RheS5mb3JtYXQoJ1lZWVknKTtcclxuICAgIH1cclxuICAgIC8vIG1vbnRoIHZpZXdcclxuICAgIGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnbW9udGhzJykge1xyXG4gICAgICBjb25zdCBhID0gdnIuZW51bXVyYXRlKCdtb250aCcpO1xyXG4gICAgICB0aGlzLl9zbG90cyA9IGEubWFwKChkLCBpKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcjogYW55ID0ge307XHJcbiAgICAgICAgci5kYXRlID0gZC5kYXRlO1xyXG4gICAgICAgIHIudGV4dCA9IGQuZm9ybWF0KCdNTU0nKTtcclxuICAgICAgICByLnRvb2x0aXAgPSBkLmZvcm1hdCgnTU1NTSBZWVlZJyk7XHJcbiAgICAgICAgci5kaXNhYmxlZCA9ICh0aGlzLm1pbiAmJiBkLmNvbXBhcmUodGhpcy5taW4sICdtb250aCcpID09IC0xKSB8fCAodGhpcy5tYXggJiYgZC5jb21wYXJlKHRoaXMubWF4LCAnbW9udGgnKSA9PSAxKTtcclxuICAgICAgICBpZiAoci5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgci5jc3NDbGFzcyA9IHtcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLWRpc2FibGVkJzogci5kaXNhYmxlZCxcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICByLmNzc0NsYXNzID0ge1xyXG4gICAgICAgICAgICAnYXgtc3RhdGUtdG9kYXknOiBkLmVxdWFsKHRoaXMuX3RvZGF5LCAnbW9udGgnKSxcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLXNlbGVjdGVkJzogdGhpcy52YWx1ZSAmJiB0aGlzLmRlcHRoID09ICdtb250aHMnICYmIGQuZXF1YWwodGhpcy52YWx1ZSwgJ21vbnRoJyksXHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1vdGhlcic6IGQueWVhciAhPSB0aGlzLl92aWV3U3RhcnREYXRlLnllYXJcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHI7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLl9uYXZUZXh0ID0gdGhpcy5fdmlld1N0YXJ0RGF0ZS5mb3JtYXQoJ1lZWVknKTtcclxuICAgICAgdGhpcy5fdG9kYXlUZXh0ID0gdGhpcy5fdG9kYXkuZm9ybWF0KCdNTU1NIFlZWVknKTtcclxuICAgIH1cclxuICAgIC8vIGRheSB2aWV3XHJcbiAgICBlbHNlIHtcclxuICAgICAgY29uc3QgYSA9IHZyLmVudW11cmF0ZSgnZGF5Jyk7XHJcbiAgICAgIHRoaXMuX3Nsb3RzID0gYS5tYXAoKGQsIGkpID0+IHtcclxuICAgICAgICBjb25zdCByOiBhbnkgPSB7fTtcclxuICAgICAgICByLmRhdGUgPSBkLmRhdGU7XHJcbiAgICAgICAgci50ZXh0ID0gZC5kYXlPZk1vbnRoO1xyXG4gICAgICAgIHIudG9vbHRpcCA9IGQuZm9ybWF0KCk7XHJcbiAgICAgICAgci5kaXNhYmxlZCA9ICh0aGlzLm1pbiAmJiBkLmNvbXBhcmUodGhpcy5taW4sICdkYXknKSA9PSAtMSkgfHwgKHRoaXMubWF4ICYmIGQuY29tcGFyZSh0aGlzLm1heCwgJ2RheScpID09IDEpO1xyXG4gICAgICAgIGlmIChyLmRpc2FibGVkIHx8IHRoaXMuaXNEaXNhYmxlZChkKSkge1xyXG4gICAgICAgICAgci5jc3NDbGFzcyA9IHtcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLWRpc2FibGVkJzogdHJ1ZSxcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICByLmNzc0NsYXNzID0ge1xyXG4gICAgICAgICAgICAnYXgtc3RhdGUtdG9kYXknOiBkLmVxdWFsKHRoaXMuX3RvZGF5LCAnZGF5JyksXHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1zZWxlY3RlZCc6IHRoaXMudmFsdWUgJiYgZC5lcXVhbCh0aGlzLnZhbHVlLCAnZGF5JyksXHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1ob2xpZGF5JzogdGhpcy5pc0hvbGlkYXkoZCkgfHwgdGhpcy5pc1dlZWtlbmQoZCksXHJcbiAgICAgICAgICAgIC8vICdheC1zdGF0ZS1ldmVudC1pbmZvJzogZC5kYXlPZk1vbnRoID09IDEyLFxyXG4gICAgICAgICAgICAvLyAnYXgtc3RhdGUtZXZlbnQnOiBkLmRheU9mTW9udGggPT0gMTIsXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByLmNzc0NsYXNzW2BheC1jb2wtc3RhcnQtJHt2ci5zdGFydFRpbWUuZGF5T2ZXZWVrfWBdID0gaSA9PSAwXHJcbiAgICAgICAgcmV0dXJuIHI7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLl9uYXZUZXh0ID0gdGhpcy5fdmlld1N0YXJ0RGF0ZS5mb3JtYXQoJ01NTU0gWVlZWScpO1xyXG4gICAgICB0aGlzLl90b2RheVRleHQgPSB0aGlzLl90b2RheS5mb3JtYXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBfaGFuZGxlUHJldkNsaWNrKGU6IEFYQ2xpY2tFdmVudCkge1xyXG4gICAgdGhpcy5wcmV2KCk7XHJcbiAgfVxyXG5cclxuICBfaGFuZGxlTmV4dENsaWNrKGU6IEFYQ2xpY2tFdmVudCkge1xyXG4gICAgdGhpcy5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBfaGFuZGxlU2xvdENsaWNrKGU6IE1vdXNlRXZlbnQsIHNsb3QpIHtcclxuICAgIGlmIChzbG90LmRpc2FibGVkIHx8IHRoaXMuZGlzYWJsZWQpXHJcbiAgICAgIHJldHVybjtcclxuICAgIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ2RheXMnKSB7XHJcbiAgICAgIHRoaXMuX3NldERhdGUoc2xvdC5kYXRlKVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdtb250aHMnICYmIHRoaXMuZGVwdGggPT0gJ2RheXMnKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlVmlldyA9ICdkYXlzJztcclxuICAgICAgdGhpcy5uYXZUbyhzbG90LmRhdGUpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdtb250aHMnICYmIHRoaXMuZGVwdGggPT0gJ21vbnRocycpIHtcclxuICAgICAgdGhpcy5fc2V0RGF0ZShzbG90LmRhdGUpXHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ3llYXJzJyAmJiAodGhpcy5kZXB0aCA9PSAnZGF5cycgfHwgdGhpcy5kZXB0aCA9PSAnbW9udGhzJykpIHtcclxuICAgICAgdGhpcy5hY3RpdmVWaWV3ID0gJ21vbnRocyc7XHJcbiAgICAgIHRoaXMubmF2VG8oc2xvdC5kYXRlKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAneWVhcnMnICYmIHRoaXMuZGVwdGggPT0gJ3llYXJzJykge1xyXG4gICAgICB0aGlzLl9zZXREYXRlKHNsb3QuZGF0ZSlcclxuICAgIH1cclxuICAgIHRoaXMub25TbG90Q2xpY2suZW1pdCh7XHJcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgaXRlbTogc2xvdC5kYXRlLFxyXG4gICAgICBuYXRpdmVFdmVudDogZVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIF9oYW5kbGVOYXZDbGljayhlOiBBWENsaWNrRXZlbnQpIHtcclxuICAgIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ2RheXMnKVxyXG4gICAgICB0aGlzLmFjdGl2ZVZpZXcgPSAnbW9udGhzJztcclxuICAgIGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnbW9udGhzJylcclxuICAgICAgdGhpcy5hY3RpdmVWaWV3ID0gJ3llYXJzJztcclxuICB9XHJcblxyXG4gIF9vbk9wdGlvbkNoYW5nZWQob3B0aW9uOiBBWENvbXBvbmVudE9wdGlvbkNoYW5nZWQpIHtcclxuICAgIGlmIChvcHRpb24ubmFtZSA9PSAnZGVwdGgnIHx8IG9wdGlvbi5uYW1lID09ICdhY3RpdmVWaWV3Jykge1xyXG4gICAgICB0aGlzLl9nZW5lYXJ0ZVNsb3RzKCk7XHJcbiAgICB9XHJcbiAgICBpZiAob3B0aW9uLm5hbWUgPT0gJ3R5cGUnKSB7XHJcbiAgICAgIHRoaXMuX3JlZnJlc2goKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIF9vblZhbHVlQ2hhbmdlZChvbGRWYWx1ZSwgbmV3VmFsdWUpIHtcclxuICAgIHRoaXMuX3ZpZXdTdGFydERhdGUgPSBuZXcgQVhEYXRlVGltZShuZXdWYWx1ZSwgdGhpcy50eXBlKTtcclxuICAgIHRoaXMuX2dlbmVhcnRlU2xvdHMoKTtcclxuICB9XHJcblxyXG4gIF9oYW5kbGVHb1RvZGF5KCkge1xyXG4gICAgdGhpcy5fc2V0RGF0ZSh0aGlzLl90b2RheS5kYXRlKVxyXG4gICAgdGhpcy5nb1RvZGF5KCk7XHJcbiAgfVxyXG5cclxuICBuZXh0KCkge1xyXG4gICAgdGhpcy5fbmF2TmV4dFByZXYoZmFsc2UpXHJcbiAgfVxyXG5cclxuICBwcmV2KCkge1xyXG4gICAgdGhpcy5fbmF2TmV4dFByZXYodHJ1ZSlcclxuICB9XHJcblxyXG4gIGZvY3VzKCkge1xyXG4gICAgKHRoaXMuX2dldEhvc3RFbGVtZW50KCkgYXMgSFRNTERpdkVsZW1lbnQpLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KCcuYXgtY2FsZW5kYXItc2xvdHM+ZGl2Jyk/LmZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9uYXZOZXh0UHJldihwcmV2OiBib29sZWFuKSB7XHJcbiAgICBjb25zdCBzaWduID0gKHByZXYgPyAtMSA6IDEpO1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnZGF5cycpXHJcbiAgICAgIHRoaXMubmF2VG8odGhpcy5fdmlld1N0YXJ0RGF0ZS5hZGQoJ21vbnRoJywgc2lnbiAqIDEpKTtcclxuICAgIGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnbW9udGhzJylcclxuICAgICAgdGhpcy5uYXZUbyh0aGlzLl92aWV3U3RhcnREYXRlLmFkZCgneWVhcicsIHNpZ24gKiAxKSk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMubmF2VG8odGhpcy5fdmlld1N0YXJ0RGF0ZS5hZGQoJ3llYXInLCBzaWduICogMTApKTtcclxuICB9XHJcblxyXG4gIGdvVG9kYXkoKSB7XHJcbiAgICB0aGlzLm5hdlRvKHRoaXMuX3RvZGF5KTtcclxuICB9XHJcblxyXG5cclxuICBuYXZUbyhkYXRlOiBEYXRlIHwgQVhEYXRlVGltZSkge1xyXG4gICAgdGhpcy5fdmlld1N0YXJ0RGF0ZSA9IEFYRGF0ZVRpbWUuY29udmVydChkYXRlLCB0aGlzLl90b2RheS5jYWxlbmRhci5uYW1lKCkpLnN0YXJ0T2YoKTtcclxuICAgIHRoaXMuX2dlbmVhcnRlU2xvdHMoKTtcclxuICB9XHJcblxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcclxuICBwcml2YXRlIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgX2NsYXNzZXMgPSB7XHJcbiAgICAgICdheC1zdGF0ZS1kaXNhYmxlZCc6IHRoaXMuZGlzYWJsZWRcclxuICAgIH1cclxuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhfY2xhc3NlcykuZmlsdGVyKGMgPT4gY1sxXSkubWFwKGMgPT4gY1swXSkuam9pbignICcpO1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgX3NldERhdGUodmFsdWU6IERhdGUpIHtcclxuICAgIHRoaXMudmFsdWUgPSBBWERhdGVUaW1lLmNvbnZlcnQodmFsdWUsIHRoaXMuX3RvZGF5LmNhbGVuZGFyLm5hbWUoKSkuc3RhcnRPZigpLmRhdGU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzRGlzYWJsZWQoZGF0ZTogQVhEYXRlVGltZSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5kaXNhYmxlZERhdGVzKSAmJiB0aGlzLmRpc2FibGVkRGF0ZXMubGVuZ3RoICE9IDApIHtcclxuICAgICAgO1xyXG4gICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZERhdGVzLnNvbWUoZCA9PiBkYXRlLmVxdWFsKGQsICdkYXknKSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0eXBlb2YgdGhpcy5kaXNhYmxlZERhdGVzID09ICdmdW5jdGlvbicpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWREYXRlcyhkYXRlLmRhdGUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0hvbGlkYXkoZGF0ZTogQVhEYXRlVGltZSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5ob2xpZGF5RGF0ZXMpICYmIHRoaXMuaG9saWRheURhdGVzLmxlbmd0aCAhPSAwKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmhvbGlkYXlEYXRlcy5zb21lKGQgPT4gZGF0ZS5lcXVhbChkLCAnZGF5JykpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodHlwZW9mIHRoaXMuaG9saWRheURhdGVzID09ICdmdW5jdGlvbicpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaG9saWRheURhdGVzKGRhdGUuZGF0ZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzV2Vla2VuZChkYXRlOiBBWERhdGVUaW1lKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gZGF0ZS5kYXlPZldlZWsgPT0gNyB8fCBkYXRlLmRheU9mV2VlayA9PSAxO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLWhlYWRlclwiPlxyXG4gICAgPGF4LWJ1dHRvbiBjbGFzcz1cImF4LW5hdi1idXR0b25cIiBbdGV4dF09XCJfbmF2VGV4dFwiIGNvbG9yPVwibGlnaHRcIiBsb29rPVwiYmxhbmtcIiAob25DbGljayk9XCJfaGFuZGxlTmF2Q2xpY2soJGV2ZW50KVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gICAgPC9heC1idXR0b24+XHJcbiAgICA8YXgtYnV0dG9uIGNsYXNzPVwiYXgtcHJldi1idXR0b25cIiBjb2xvcj1cImxpZ2h0XCIgbG9vaz1cImJsYW5rXCIgKG9uQ2xpY2spPVwiX2hhbmRsZVByZXZDbGljaygkZXZlbnQpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XHJcbiAgICAgICAgPGF4LXByZWZpeD5cclxuICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImF4LWljIGF4LWljLWNoZXZyb24gYXgtdHJhbnNmb3JtIGF4LXJvdGF0ZS05MFwiPjwvYXgtaWNvbj5cclxuICAgICAgICA8L2F4LXByZWZpeD5cclxuICAgIDwvYXgtYnV0dG9uPlxyXG4gICAgPGF4LWJ1dHRvbiBjbGFzcz1cImF4LW5leHQtYnV0dG9uXCIgY29sb3I9XCJsaWdodFwiIGxvb2s9XCJibGFua1wiIChvbkNsaWNrKT1cIl9oYW5kbGVOZXh0Q2xpY2soJGV2ZW50KVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gICAgICAgIDxheC1wcmVmaXg+XHJcbiAgICAgICAgICAgIDxheC1pY29uIGljb249XCJheC1pYyBheC1pYy1jaGV2cm9uIGF4LXRyYW5zZm9ybSBheC0tcm90YXRlLTkwXCI+PC9heC1pY29uPlxyXG4gICAgICAgIDwvYXgtcHJlZml4PlxyXG4gICAgPC9heC1idXR0b24+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItYm9keVwiPlxyXG4gICAgPGRpdiBbbmdTd2l0Y2hdPVwiYWN0aXZlVmlld1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid5ZWFycydcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLXNsb3RzIGF4LWNhbGVuZGFyLXNsb3RzLXllYXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgdGFiaW5kZXg9XCIwXCIgKm5nRm9yPVwibGV0IHNsb3Qgb2YgX3Nsb3RzXCIgW25nQ2xhc3NdPVwic2xvdC5jc3NDbGFzc1wiIFxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfaGFuZGxlU2xvdENsaWNrKCRldmVudCxzbG90KVwiPnt7c2xvdC50ZXh0fX08L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ21vbnRocydcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLXNsb3RzIGF4LWNhbGVuZGFyLXNsb3RzLW1vbnRoXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IHRhYmluZGV4PVwiMFwiICpuZ0Zvcj1cImxldCBzbG90IG9mIF9zbG90c1wiIFt0aXRsZV09XCJzbG90LnRvb2x0aXBcIiBbbmdDbGFzc109XCJzbG90LmNzc0NsYXNzXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVTbG90Q2xpY2soJGV2ZW50LHNsb3QpXCI+e3tzbG90LnRleHR9fTwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci13ZWVrXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBkIG9mIF9kYXlOYW1lc1wiPnt7ZH19PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItc2xvdHMgYXgtY2FsZW5kYXItc2xvdHMtZGF5XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IHRhYmluZGV4PVwiMFwiICpuZ0Zvcj1cImxldCBzbG90IG9mIF9zbG90c1wiIFt0aXRsZV09XCJzbG90LnRvb2x0aXBcIiAgW25nQ2xhc3NdPVwic2xvdC5jc3NDbGFzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVTbG90Q2xpY2soJGV2ZW50LHNsb3QpXCI+e3tzbG90LnRleHR9fTwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1mb290ZXJcIj5cclxuICAgIDxheC1idXR0b24gY2xhc3M9XCJkYXJrOmF4LXRleHQtZGFuZ2VyXCIgW3RleHRdPVwiX3RvZGF5VGV4dFwiIGNvbG9yPVwiZGFya1wiIGxvb2s9XCJibGFua1wiIHNpemU9XCJzbVwiIChvbkNsaWNrKT1cIl9oYW5kbGVHb1RvZGF5KClcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj48L2F4LWJ1dHRvbj5cclxuPC9kaXY+Il19
|