@seniorsistemas/data-seniorx-core 2.0.1 → 2.1.0
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/core/config/dynamic-view-builder.config.d.ts +3 -0
- package/core/constants/dynamic-view-builder.const.d.ts +15 -0
- package/core/constants/picklist.const.d.ts +4 -0
- package/core/constants/timeline.const.d.ts +6 -0
- package/core/types/confirm.type.d.ts +1 -0
- package/core/types/dynamic-view-builder.type.d.ts +130 -0
- package/core/types/row-card.type.d.ts +10 -0
- package/core/types/timeline.type.d.ts +22 -0
- package/esm2022/core/config/dynamic-view-builder.config.mjs +396 -0
- package/esm2022/core/config/row-card.type.config.mjs +2 -1
- package/esm2022/core/constants/dynamic-view-builder.const.mjs +24 -0
- package/esm2022/core/constants/picklist.const.mjs +5 -1
- package/esm2022/core/constants/timeline.const.mjs +6 -0
- package/esm2022/core/handlers/sqlFormatter.mjs +3 -2
- package/esm2022/core/types/confirm.type.mjs +1 -1
- package/esm2022/core/types/dynamic-view-builder.type.mjs +2 -0
- package/esm2022/core/types/row-card.type.mjs +1 -1
- package/esm2022/core/types/timeline.type.mjs +2 -0
- package/esm2022/core/utils/layout.util.mjs +4 -4
- package/esm2022/core/utils/number-input.util.mjs +2 -2
- package/esm2022/features/breadcrumb/breadcrumb.component.mjs +21 -3
- package/esm2022/features/button/button.component.mjs +5 -5
- package/esm2022/features/card-list/card/card.component.mjs +4 -6
- package/esm2022/features/card-list/card-list.component.mjs +4 -7
- package/esm2022/features/code-editor/code-editor.component.mjs +5 -5
- package/esm2022/features/color-picker/color-picker.component.mjs +4 -4
- package/esm2022/features/combobox/combobox.component.mjs +8 -8
- package/esm2022/features/confirm/confirm.component.mjs +8 -4
- package/esm2022/features/country-phone-picker/country-phone-picker.component.mjs +6 -8
- package/esm2022/features/empty-state/empty-state.component.mjs +3 -3
- package/esm2022/features/hyperlink/hyperlink.component.mjs +10 -12
- package/esm2022/features/icon-picker/icon-picker.component.mjs +3 -3
- package/esm2022/features/info-sign/info-sign.component.mjs +3 -3
- package/esm2022/features/list/list.component.mjs +1 -1
- package/esm2022/features/loading-state/loading-state.component.mjs +20 -25
- package/esm2022/features/localized-number-input/localized-number-input.component.mjs +4 -4
- package/esm2022/features/mask/mask.component.mjs +4 -4
- package/esm2022/features/modal/modal.component.mjs +5 -5
- package/esm2022/features/modalc/modalc.component.mjs +1 -1
- package/esm2022/features/number-input/number-input.component.mjs +4 -4
- package/esm2022/features/numeric/numeric.component.mjs +4 -6
- package/esm2022/features/paginator/paginator.component.mjs +2 -2
- package/esm2022/features/password-strength/password-strength.component.mjs +3 -3
- package/esm2022/features/picklist/picklist.component.mjs +50 -9
- package/esm2022/features/radio/radio.component.mjs +12 -12
- package/esm2022/features/row-card-list/row-card/row-card.component.mjs +32 -9
- package/esm2022/features/row-card-list/row-card-list.component.mjs +3 -3
- package/esm2022/features/searchbox/searchbox.component.mjs +1 -1
- package/esm2022/features/sidebar/sidebar.component.mjs +7 -3
- package/esm2022/features/switch/switch.component.mjs +3 -3
- package/esm2022/features/table/table.component.mjs +3 -3
- package/esm2022/features/textarea/textarea.component.mjs +4 -4
- package/esm2022/features/textbox/textbox.component.mjs +4 -4
- package/esm2022/features/timeline/timeline.component.mjs +90 -0
- package/esm2022/features/toast/toast.component.mjs +4 -6
- package/esm2022/features/tooltip/tooltip.component.mjs +3 -3
- package/esm2022/features/visual-sql-editor/visual-sql-editor.component.mjs +2810 -0
- package/esm2022/locales/en.json +202 -1
- package/esm2022/locales/es-CO.json +202 -1
- package/esm2022/locales/pt.json +202 -1
- package/esm2022/public-api.mjs +6 -1
- package/features/breadcrumb/breadcrumb.component.d.ts +2 -0
- package/features/button/button.component.d.ts +2 -2
- package/features/code-editor/code-editor.component.d.ts +2 -2
- package/features/hyperlink/hyperlink.component.d.ts +3 -3
- package/features/loading-state/loading-state.component.d.ts +3 -4
- package/features/modal/modal.component.d.ts +2 -2
- package/features/picklist/picklist.component.d.ts +10 -1
- package/features/radio/radio.component.d.ts +4 -4
- package/features/row-card-list/row-card/row-card.component.d.ts +8 -1
- package/features/sidebar/sidebar.component.d.ts +2 -1
- package/features/timeline/timeline.component.d.ts +27 -0
- package/features/visual-sql-editor/visual-sql-editor.component.d.ts +560 -0
- package/fesm2022/seniorsistemas-data-seniorx-core.mjs +4161 -176
- package/fesm2022/seniorsistemas-data-seniorx-core.mjs.map +1 -1
- package/package.json +2 -2
- package/public-api.d.ts +7 -0
- package/src/locales/en.json +211 -1
- package/src/locales/es-CO.json +211 -1
- package/src/locales/pt.json +211 -1
- package/styles.css +1 -1
|
@@ -56,4 +56,4 @@ export const mockRowCardList = [
|
|
|
56
56
|
tag: 'tag'
|
|
57
57
|
},
|
|
58
58
|
];
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWNhcmQudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvY29yZS90eXBlcy9yb3ctY2FyZC50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThDQSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQWM7SUFDeEM7UUFDRSxFQUFFLEVBQUUsR0FBRztRQUNQLFVBQVUsRUFBRSxVQUFVO1FBQ3RCLGFBQWEsRUFBRSxhQUFhO1FBQzVCLGNBQWMsRUFBRSxnQkFBZ0I7UUFDaEMsR0FBRyxFQUFFLEtBQUs7S0FDWDtJQUNEO1FBQ0UsRUFBRSxFQUFFLEdBQUc7UUFDUCxVQUFVLEVBQUUsVUFBVTtRQUN0QixhQUFhLEVBQUUsYUFBYTtRQUM1QixjQUFjLEVBQUUsZ0JBQWdCO1FBQ2hDLEdBQUcsRUFBRSxLQUFLO0tBQ1g7SUFDRDtRQUNFLEVBQUUsRUFBRSxHQUFHO1FBQ1AsVUFBVSxFQUFFLFVBQVU7UUFDdEIsYUFBYSxFQUFFLGFBQWE7UUFDNUIsY0FBYyxFQUFFLGdCQUFnQjtRQUNoQyxHQUFHLEVBQUUsS0FBSztLQUNYO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsR0FBRztRQUNQLFVBQVUsRUFBRSxVQUFVO1FBQ3RCLGFBQWEsRUFBRSxhQUFhO1FBQzVCLGNBQWMsRUFBRSxnQkFBZ0I7UUFDaEMsR0FBRyxFQUFFLEtBQUs7S0FDWDtJQUNEO1FBQ0UsRUFBRSxFQUFFLEdBQUc7UUFDUCxVQUFVLEVBQUUsVUFBVTtRQUN0QixhQUFhLEVBQUUsYUFBYTtRQUM1QixjQUFjLEVBQUUsZ0JBQWdCO1FBQ2hDLEdBQUcsRUFBRSxLQUFLO0tBQ1g7SUFDRDtRQUNFLEVBQUUsRUFBRSxHQUFHO1FBQ1AsVUFBVSxFQUFFLFVBQVU7UUFDdEIsYUFBYSxFQUFFLGFBQWE7UUFDNUIsY0FBYyxFQUFFLGdCQUFnQjtRQUNoQyxHQUFHLEVBQUUsS0FBSztLQUNYO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsR0FBRztRQUNQLFVBQVUsRUFBRSxVQUFVO1FBQ3RCLGFBQWEsRUFBRSxhQUFhO1FBQzVCLGNBQWMsRUFBRSxnQkFBZ0I7UUFDaEMsR0FBRyxFQUFFLEtBQUs7S0FDWDtJQUNEO1FBQ0UsRUFBRSxFQUFFLEdBQUc7UUFDUCxVQUFVLEVBQUUsVUFBVTtRQUN0QixhQUFhLEVBQUUsYUFBYTtRQUM1QixjQUFjLEVBQUUsZ0JBQWdCO1FBQ2hDLEdBQUcsRUFBRSxLQUFLO0tBQ1g7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCYWRnZUNvbG9yIH0gZnJvbSBcIi4vYmFkZ2UudHlwZVwiO1xuaW1wb3J0IHsgUHJpb3JpdHkgfSBmcm9tIFwiLi9zZW1hbnRpY3MudHlwZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJvd0NhcmRCYWRnZSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGNvbG9yPzogQmFkZ2VDb2xvcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcHRpb25zUm93Q2FyZCB7XG4gIGV4cGFuZGFibGU/OiBib29sZWFuO1xuICBidXR0b25MYWJlbD86IHN0cmluZztcbiAgYnV0dG9uSWNvbj86IHN0cmluZztcbiAgYnV0dG9uUHJpb3JpdHk/OiBQcmlvcml0eTtcbiAgbGVmdFRpdGxlQ29sb3I/OiBzdHJpbmc7XG4gIGxlZnRTdWJ0aXRsZUNvbG9yPzogc3RyaW5nO1xuICBpbmZvVG9vbHRpcD86IHN0cmluZyB8IG51bGw7XG4gIHN0YXR1c1Rvb2x0aXA/OiBzdHJpbmcgfCBudWxsO1xuICByaWdodFRpdGxlQ29sb3I/OiBzdHJpbmc7XG4gIHJpZ2h0U3VidGl0bGVDb2xvcj86IHN0cmluZztcbiAgYmFkZ2VUaXRsZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSb3dDYXJkTGlzdE9wdGlvbnMge1xuICBlbmFibGVQYWdpbmF0aW9uPzogYm9vbGVhbjtcbiAgdG90YWxSZWNvcmRzTGFiZWw/OiBzdHJpbmc7XG4gIGluaXRpYWxSb3dzPzogbnVtYmVyO1xuICByb3dzUGVyUGFnZU9wdGlvbnM/OiBudW1iZXJbXTtcbiAgY3VzdG9tQ2FyZD86IE9wdGlvbnNSb3dDYXJkO1xuICBlbXB0eT86IHsgdGl0bGU/OiBzdHJpbmc7IG1lc3NhZ2U/OiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSb3dDYXJkIHtcbiAgd3JhcHBlckRldGFpbD86IHN0cmluZyB8IG51bGw7XG4gIGlkOiBzdHJpbmc7XG4gIGxlZnRfdGl0bGU6IHN0cmluZztcbiAgbGVmdF9zdWJ0aXRsZT86IHN0cmluZztcbiAgcmlnaHRfdGl0bGU/OiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgdGFnPzogc3RyaW5nO1xuICByaWdodF9zdWJ0aXRsZT86IHN0cmluZztcbiAgaGFzQm9yZGVyPzogYm9vbGVhbjtcbiAgYmFkZ2U/OiBSb3dDYXJkQmFkZ2U7XG4gIGJ1dHRvbkxhYmVsPzogc3RyaW5nO1xuICBtZXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG5cbmV4cG9ydCBjb25zdCBtb2NrUm93Q2FyZExpc3Q6IFJvd0NhcmRbXSA9IFtcbiAge1xuICAgIGlkOiAnMScsXG4gICAgbGVmdF90aXRsZTogJ1RJVFVMTyAxJyxcbiAgICBsZWZ0X3N1YnRpdGxlOiAnRGVzY3Jpw6fDo28gMScsXG4gICAgcmlnaHRfc3VidGl0bGU6ICdyaWdodF9zdWJ0aXRsZScsXG4gICAgdGFnOiAndGFnJ1xuICB9LFxuICB7XG4gICAgaWQ6ICcyJyxcbiAgICBsZWZ0X3RpdGxlOiAnVElUVUxPIDInLFxuICAgIGxlZnRfc3VidGl0bGU6ICdEZXNjcmnDp8OjbyAyJyxcbiAgICByaWdodF9zdWJ0aXRsZTogJ3JpZ2h0X3N1YnRpdGxlJyxcbiAgICB0YWc6ICd0YWcnXG4gIH0sXG4gIHtcbiAgICBpZDogJzMnLFxuICAgIGxlZnRfdGl0bGU6ICdUSVRVTE8gMycsXG4gICAgbGVmdF9zdWJ0aXRsZTogJ0Rlc2NyacOnw6NvIDMnLFxuICAgIHJpZ2h0X3N1YnRpdGxlOiAncmlnaHRfc3VidGl0bGUnLFxuICAgIHRhZzogJ3RhZycsXG4gIH0sXG4gIHtcbiAgICBpZDogJzQnLFxuICAgIGxlZnRfdGl0bGU6ICdUSVRVTE8gNCcsXG4gICAgbGVmdF9zdWJ0aXRsZTogJ0Rlc2NyacOnw6NvIDQnLFxuICAgIHJpZ2h0X3N1YnRpdGxlOiAncmlnaHRfc3VidGl0bGUnLFxuICAgIHRhZzogJ3RhZydcbiAgfSxcbiAge1xuICAgIGlkOiAnNScsXG4gICAgbGVmdF90aXRsZTogJ1RJVFVMTyA1JyxcbiAgICBsZWZ0X3N1YnRpdGxlOiAnRGVzY3Jpw6fDo28gNScsXG4gICAgcmlnaHRfc3VidGl0bGU6ICdyaWdodF9zdWJ0aXRsZScsXG4gICAgdGFnOiAndGFnJ1xuICB9LFxuICB7XG4gICAgaWQ6ICc2JyxcbiAgICBsZWZ0X3RpdGxlOiAnVElUVUxPIDYnLFxuICAgIGxlZnRfc3VidGl0bGU6ICdEZXNjcmnDp8OjbyA2JyxcbiAgICByaWdodF9zdWJ0aXRsZTogJ3JpZ2h0X3N1YnRpdGxlJyxcbiAgICB0YWc6ICd0YWcnXG4gIH0sXG4gIHtcbiAgICBpZDogJzcnLFxuICAgIGxlZnRfdGl0bGU6ICdUSVRVTE8gNycsXG4gICAgbGVmdF9zdWJ0aXRsZTogJ0Rlc2NyacOnw6NvIDcnLFxuICAgIHJpZ2h0X3N1YnRpdGxlOiAncmlnaHRfc3VidGl0bGUnLFxuICAgIHRhZzogJ3RhZydcbiAgfSxcbiAge1xuICAgIGlkOiAnOCcsXG4gICAgbGVmdF90aXRsZTogJ1RJVFVMTyA4JyxcbiAgICBsZWZ0X3N1YnRpdGxlOiAnRGVzY3Jpw6fDo28gOCcsXG4gICAgcmlnaHRfc3VidGl0bGU6ICdyaWdodF9zdWJ0aXRsZScsXG4gICAgdGFnOiAndGFnJ1xuICB9LFxuXTtcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvY29yZS90eXBlcy90aW1lbGluZS50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBUaW1lbGluZVN0ZXBTdGF0ZSA9ICdwZW5kaW5nJyB8ICdhY3RpdmUnIHwgJ2NvbXBsZXRlZCcgfCAnZGlzYWJsZWQnO1xuZXhwb3J0IHR5cGUgVGltZWxpbmVPcmllbnRhdGlvbiA9ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCc7XG5leHBvcnQgdHlwZSBUaW1lbGluZVRyYW5zbGF0ZVBhcmFtcyA9IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkPjtcblxuZXhwb3J0IGludGVyZmFjZSBUaW1lbGluZUl0ZW0ge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBsYWJlbFBhcmFtcz86IFRpbWVsaW5lVHJhbnNsYXRlUGFyYW1zO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgZGVzY3JpcHRpb25QYXJhbXM/OiBUaW1lbGluZVRyYW5zbGF0ZVBhcmFtcztcbiAgaW5kaWNhdG9yTGFiZWw/OiBzdHJpbmc7XG4gIGluZGljYXRvckxhYmVsUGFyYW1zPzogVGltZWxpbmVUcmFuc2xhdGVQYXJhbXM7XG4gIGljb25DbGFzcz86IHN0cmluZztcbiAgYXJpYUxhYmVsPzogc3RyaW5nO1xuICBhcmlhTGFiZWxQYXJhbXM/OiBUaW1lbGluZVRyYW5zbGF0ZVBhcmFtcztcbiAgc3RhdGU/OiBUaW1lbGluZVN0ZXBTdGF0ZTtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRpbWVsaW5lU3RlcFNlbGVjdEV2ZW50IHtcbiAgaW5kZXg6IG51bWJlcjtcbiAgaXRlbTogVGltZWxpbmVJdGVtO1xuICBzdGF0ZTogVGltZWxpbmVTdGVwU3RhdGU7XG59XG4iXX0=
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
const MOBILE_MAX_WIDTH_PX = 768;
|
|
2
2
|
const TABLET_MAX_WIDTH_PX = 1024;
|
|
3
3
|
export function isMobile() {
|
|
4
|
-
return window.innerWidth <= MOBILE_MAX_WIDTH_PX;
|
|
4
|
+
return globalThis.window.innerWidth <= MOBILE_MAX_WIDTH_PX;
|
|
5
5
|
}
|
|
6
6
|
export function isTablet() {
|
|
7
|
-
return window.innerWidth > MOBILE_MAX_WIDTH_PX && window.innerWidth <= TABLET_MAX_WIDTH_PX;
|
|
7
|
+
return globalThis.window.innerWidth > MOBILE_MAX_WIDTH_PX && globalThis.window.innerWidth <= TABLET_MAX_WIDTH_PX;
|
|
8
8
|
}
|
|
9
9
|
export function isDesktop() {
|
|
10
|
-
return window.innerWidth > TABLET_MAX_WIDTH_PX;
|
|
10
|
+
return globalThis.window.innerWidth > TABLET_MAX_WIDTH_PX;
|
|
11
11
|
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2NvcmUvdXRpbHMvbGF5b3V0LnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLENBQUM7QUFDaEMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUM7QUFFakMsTUFBTSxVQUFVLFFBQVE7SUFDdEIsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLFVBQVUsSUFBSSxtQkFBbUIsQ0FBQztBQUM3RCxDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVE7SUFDdEIsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxtQkFBbUIsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLFVBQVUsSUFBSSxtQkFBbUIsQ0FBQztBQUNuSCxDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVM7SUFDdkIsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQztBQUM1RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgTU9CSUxFX01BWF9XSURUSF9QWCA9IDc2ODtcbmNvbnN0IFRBQkxFVF9NQVhfV0lEVEhfUFggPSAxMDI0O1xuXG5leHBvcnQgZnVuY3Rpb24gaXNNb2JpbGUoKTogYm9vbGVhbiB7XG4gIHJldHVybiBnbG9iYWxUaGlzLndpbmRvdy5pbm5lcldpZHRoIDw9IE1PQklMRV9NQVhfV0lEVEhfUFg7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1RhYmxldCgpOiBib29sZWFuIHtcbiAgcmV0dXJuIGdsb2JhbFRoaXMud2luZG93LmlubmVyV2lkdGggPiBNT0JJTEVfTUFYX1dJRFRIX1BYICYmIGdsb2JhbFRoaXMud2luZG93LmlubmVyV2lkdGggPD0gVEFCTEVUX01BWF9XSURUSF9QWDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGVza3RvcCgpOiBib29sZWFuIHtcbiAgcmV0dXJuIGdsb2JhbFRoaXMud2luZG93LmlubmVyV2lkdGggPiBUQUJMRVRfTUFYX1dJRFRIX1BYO1xufVxuIl19
|
|
@@ -71,7 +71,7 @@ export function parseNumberInputValue(value, separators) {
|
|
|
71
71
|
}
|
|
72
72
|
const sanitized = trimmed.split(separators.group).join('');
|
|
73
73
|
const endsWithDecimal = sanitized.endsWith(separators.decimal);
|
|
74
|
-
const canonical = sanitized.
|
|
74
|
+
const canonical = sanitized.replaceAll(separators.decimal, '.');
|
|
75
75
|
const parsed = Number.parseFloat(canonical);
|
|
76
76
|
if (!Number.isFinite(parsed)) {
|
|
77
77
|
return { value: null, complete: false, empty: false };
|
|
@@ -134,4 +134,4 @@ function groupIntegerDigits(integerPart, thousandsSeparator) {
|
|
|
134
134
|
}
|
|
135
135
|
return groupedInteger;
|
|
136
136
|
}
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWlucHV0LnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2NvcmUvdXRpbHMvbnVtYmVyLWlucHV0LnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHFDQUFxQyxFQUNyQyxtQ0FBbUMsRUFDbkMsK0JBQStCLEVBQ2hDLE1BQU0saUNBQWlDLENBQUM7QUFVekMsTUFBTSxnQ0FBZ0MsR0FBRyxPQUFPLENBQUM7QUFDakQsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLENBQUM7QUFDckMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUV0QyxNQUFNLFVBQVUsNEJBQTRCLENBQUMsTUFBaUM7SUFDNUUsSUFBSSxDQUFDO1FBQ0gsTUFBTSxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sSUFBSSxTQUFTLENBQUMsQ0FBQyxhQUFhLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUV6RyxPQUFPO1lBQ0wsT0FBTyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLEVBQUUsS0FBSyxJQUFJLHFDQUFxQztZQUN0RyxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsRUFBRSxLQUFLLElBQUksbUNBQW1DO1NBQ2pHLENBQUM7SUFDSixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTztZQUNMLE9BQU8sRUFBRSxxQ0FBcUM7WUFDOUMsS0FBSyxFQUFFLG1DQUFtQztTQUMzQyxDQUFDO0lBQ0osQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsMkJBQTJCLENBQUMsS0FBYSxFQUFFLGdCQUF3QjtJQUNqRixJQUFJ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LENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUNaLENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFDLFdBQW1CLEVBQUUsa0JBQTBCO0lBQ3pFLElBQUksY0FBYyxHQUFHLEVBQUUsQ0FBQztJQUV4QixLQUFLLElBQUksS0FBSyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLElBQUksMEJBQTBCLEVBQUUsQ0FBQztRQUNwRixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLEdBQUcsMEJBQTBCLENBQUMsQ0FBQztRQUM5RCxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM5QyxjQUFjLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxrQkFBa0IsR0FBRyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzdGLENBQUM7SUFFRCxPQUFPLGNBQWMsQ0FBQztBQUN4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTlVNQkVSX0lOUFVUX0RFRkFVTFRfREVDSU1BTF9GQUxMQkFDSyxcbiAgTlVNQkVSX0lOUFVUX0RFRkFVTFRfR1JPVVBfRkFMTEJBQ0ssXG4gIE5VTUJFUl9JTlBVVF9NSU5fSU5URUdFUl9ESUdJVFNcbn0gZnJvbSAnLi4vY29uc3RhbnRzL251bWJlci1pbnB1dC5jb25zdCc7XG5pbXBvcnQgdHlwZSB7IE51bWJlcklucHV0UGFyc2VSZXN1bHQsIE51bWJlcklucHV0U2VwYXJhdG9ycyB9IGZyb20gJy4uL3R5cGVzL251bWJlci1pbnB1dC50eXBlJztcblxudHlwZSBTYW5pdGl6ZU51bWJlcklucHV0Q29uZmlnID0ge1xuICBhbGxvd05lZ2F0aXZlOiBib29sZWFuO1xuICBkZWNpbWFsU2VwYXJhdG9yOiBzdHJpbmc7XG4gIHByZWNpc2lvbjogbnVtYmVyO1xuICBzY2FsZTogbnVtYmVyO1xufTtcblxuY29uc3QgTlVNQkVSX0lOUFVUX1NBTVBMRV9GT1JNQVRfVkFMVUUgPSAxMjM0NS42O1xuY29uc3QgTlVNQkVSX0lOUFVUX0dST1VQSU5HX1NJWkUgPSAzO1xuY29uc3QgREVDSU1BTF9DQU5ESURBVEVTID0gWycuJywgJywnXTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVOdW1iZXJJbnB1dFNlcGFyYXRvcnMobG9jYWxlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogTnVtYmVySW5wdXRTZXBhcmF0b3JzIHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJ0cyA9IG5ldyBJbnRsLk51bWJlckZvcm1hdChsb2NhbGUgPz8gdW5kZWZpbmVkKS5mb3JtYXRUb1BhcnRzKE5VTUJFUl9JTlBVVF9TQU1QTEVfRk9STUFUX1ZBTFVFKTtcblxuICAgIHJldHVybiB7XG4gICAgICBkZWNpbWFsOiBwYXJ0cy5maW5kKChwYXJ0KSA9PiBwYXJ0LnR5cGUgPT09ICdkZWNpbWFsJyk/LnZhbHVlID8/IE5VTUJFUl9JTlBVVF9ERUZBVUxUX0RFQ0lNQUxfRkFMTEJBQ0ssXG4gICAgICBncm91cDogcGFydHMuZmluZCgocGFydCkgPT4gcGFydC50eXBlID09PSAnZ3JvdXAnKT8udmFsdWUgPz8gTlVNQkVSX0lOUFVUX0RFRkFVTFRfR1JPVVBfRkFMTEJBQ0tcbiAgICB9O1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4ge1xuICAgICAgZGVjaW1hbDogTlVNQkVSX0lOUFVUX0RFRkFVTFRfREVDSU1BTF9GQUxMQkFDSyxcbiAgICAgIGdyb3VwOiBOVU1CRVJfSU5QVVRfREVGQVVMVF9HUk9VUF9GQUxMQkFDS1xuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkTnVtYmVySW5wdXRQbGFjZWhvbGRlcihzY2FsZTogbnVtYmVyLCBkZWNpbWFsU2VwYXJhdG9yOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoc2NhbGUgPD0gMCkge1xuICAgIHJldHVybiAnMCc7XG4gIH1cblxuICByZXR1cm4gYDAke2RlY2ltYWxTZXBhcmF0b3J9JHsnMCcucmVwZWF0KHNjYWxlKX1gO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlTnVtYmVySW5wdXRNYXhMZW5ndGgoXG4gIHByZWNpc2lvbjogbnVtYmVyLFxuICBzY2FsZTogbnVtYmVyLFxuICBhbGxvd05lZ2F0aXZlOiBib29sZWFuLFxuICBkZWNpbWFsU2VwYXJhdG9yOiBzdHJpbmcsXG4gIHRob3VzYW5kc1NlcGFyYXRvcjogc3RyaW5nXG4pOiBudW1iZXIge1xuICBjb25zdCBpbnRlZ2VyRGlnaXRzID0gTWF0aC5tYXgoTlVNQkVSX0lOUFVUX01JTl9JTlRFR0VSX0RJR0lUUywgcHJlY2lzaW9uIC0gc2NhbGUpO1xuICBjb25zdCBncm91cGluZ0NvdW50ID0gTWF0aC5tYXgoMCwgTWF0aC5jZWlsKGludGVnZXJEaWdpdHMgLyBOVU1CRVJfSU5QVVRfR1JPVVBJTkdfU0laRSkgLSAxKTtcblxuICByZXR1cm4gKFxuICAgIHByZWNpc2lvblxuICAgICsgKHNjYWxlID4gMCA/IGRlY2ltYWxTZXBhcmF0b3IubGVuZ3RoIDogMClcbiAgICArIChncm91cGluZ0NvdW50ICogdGhvdXNhbmRzU2VwYXJhdG9yLmxlbmd0aClcbiAgICArIChhbGxvd05lZ2F0aXZlID8gMSA6IDApXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXROdW1iZXJJbnB1dFZhbHVlKFxuICB2YWx1ZTogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgc2NhbGU6IG51bWJlcixcbiAgZGVjaW1hbFNlcGFyYXRvcjogc3RyaW5nLFxuICB0aG91c2FuZHNTZXBhcmF0b3I6IHN0cmluZyxcbiAgdXNlR3JvdXBpbmcgPSB0cnVlXG4pOiBzdHJpbmcge1xuICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCAhTnVtYmVyLmlzRmluaXRlKHZhbHVlKSkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGNvbnN0IHNpZ24gPSB2YWx1ZSA8IDAgPyAnLScgOiAnJztcbiAgY29uc3QgYWJzb2x1dGUgPSBNYXRoLmFicyh2YWx1ZSk7XG4gIGNvbnN0IGZpeGVkID0gYWJzb2x1dGUudG9GaXhlZChNYXRoLm1heCgwLCBzY2FsZSkpO1xuICBjb25zdCBbaW50ZWdlclBhcnQsIGZyYWN0aW9uUGFydCA9ICcnXSA9IGZpeGVkLnNwbGl0KCcuJyk7XG4gIGNvbnN0IGdyb3VwZWRJbnRlZ2VyID0gdXNlR3JvdXBpbmdcbiAgICA/IGdyb3VwSW50ZWdlckRpZ2l0cyhpbnRlZ2VyUGFydCwgdGhvdXNhbmRzU2VwYXJhdG9yKVxuICAgIDogaW50ZWdlclBhcnQ7XG5cbiAgaWYgKHNjYWxlIDw9IDApIHtcbiAgICByZXR1cm4gYCR7c2lnbn0ke2dyb3VwZWRJbnRlZ2VyfWA7XG4gIH1cblxuICByZXR1cm4gYCR7c2lnbn0ke2dyb3VwZWRJbnRlZ2VyfSR7ZGVjaW1hbFNlcGFyYXRvcn0ke2ZyYWN0aW9uUGFydH1gO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2FuaXRpemVOdW1iZXJJbnB1dFZhbHVlKHJhd1ZhbHVlOiBzdHJpbmcsIGNvbmZpZzogU2FuaXRpemVOdW1iZXJJbnB1dENvbmZpZyk6IHN0cmluZyB7XG4gIGNvbnN0IHZhbHVlID0gU3RyaW5nKHJhd1ZhbHVlID8/ICcnKS5yZXBsYWNlKC9cXHMrL2csICcnKTtcbiAgY29uc3QgbmVnYXRpdmUgPSBjb25maWcuYWxsb3dOZWdhdGl2ZSAmJiB2YWx1ZS5zdGFydHNXaXRoKCctJykgPyAnLScgOiAnJztcbiAgY29uc3QgdW5zaWduZWQgPSB2YWx1ZS5yZXBsYWNlKC8tL2csICcnKTtcbiAgY29uc3QgZGVjaW1hbEluZGV4ID0gZmluZERlY2ltYWxJbmRleCh1bnNpZ25lZCwgY29uZmlnLmRlY2ltYWxTZXBhcmF0b3IpO1xuXG4gIGNvbnN0IGludGVnZXJTb3VyY2UgPSBkZWNpbWFsSW5kZXggPj0gMCA/IHVuc2lnbmVkLnNsaWNlKDAsIGRlY2ltYWxJbmRleCkgOiB1bnNpZ25lZDtcbiAgY29uc3QgZnJhY3Rpb25Tb3VyY2UgPSBkZWNpbWFsSW5kZXggPj0gMCA/IHVuc2lnbmVkLnNsaWNlKGRlY2ltYWxJbmRleCArIDEpIDogJyc7XG5cbiAgY29uc3QgbWF4U2NhbGUgPSBNYXRoLm1heCgwLCBjb25maWcuc2NhbGUpO1xuICBjb25zdCBtYXhJbnRlZ2VyRGlnaXRzID0gTWF0aC5tYXgoTlVNQkVSX0lOUFVUX01JTl9JTlRFR0VSX0RJR0lUUywgTWF0aC5tYXgoMCwgY29uZmlnLnByZWNpc2lvbiAtIG1heFNjYWxlKSk7XG5cbiAgY29uc3QgaW50ZWdlckRpZ2l0cyA9IGludGVnZXJTb3VyY2UucmVwbGFjZSgvXFxEL2csICcnKS5zbGljZSgwLCBtYXhJbnRlZ2VyRGlnaXRzKTtcbiAgY29uc3QgZnJhY3Rpb25EaWdpdHMgPSBtYXhTY2FsZSA+IDAgPyBmcmFjdGlvblNvdXJjZS5yZXBsYWNlKC9cXEQvZywgJycpLnNsaWNlKDAsIG1heFNjYWxlKSA6ICcnO1xuICBjb25zdCBrZWVwRGVjaW1hbFNlcGFyYXRvciA9IG1heFNjYWxlID4gMCAmJiBkZWNpbWFsSW5kZXggPj0gMDtcblxuICByZXR1cm4gYCR7bmVnYXRpdmV9JHtpbnRlZ2VyRGlnaXRzfSR7a2VlcERlY2ltYWxTZXBhcmF0b3IgPyBjb25maWcuZGVjaW1hbFNlcGFyYXRvciA6ICcnfSR7ZnJhY3Rpb25EaWdpdHN9YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlTnVtYmVySW5wdXRWYWx1ZSh2YWx1ZTogc3RyaW5nLCBzZXBhcmF0b3JzOiBOdW1iZXJJbnB1dFNlcGFyYXRvcnMpOiBOdW1iZXJJbnB1dFBhcnNlUmVzdWx0IHtcbiAgY29uc3QgdHJpbW1lZCA9IFN0cmluZyh2YWx1ZSA/PyAnJykudHJpbSgpO1xuXG4gIGlmICghdHJpbW1lZCkge1xuICAgIHJldHVybiB7IHZhbHVlOiBudWxsLCBjb21wbGV0ZTogdHJ1ZSwgZW1wdHk6IHRydWUgfTtcbiAgfVxuXG4gIGlmICh0cmltbWVkID09PSAnLScpIHtcbiAgICByZXR1cm4geyB2YWx1ZTogbnVsbCwgY29tcGxldGU6IGZhbHNlLCBlbXB0eTogZmFsc2UgfTtcbiAgfVxuXG4gIGNvbnN0IHNhbml0aXplZCA9IHRyaW1tZWQuc3BsaXQoc2VwYXJhdG9ycy5ncm91cCkuam9pbignJyk7XG4gIGNvbnN0IGVuZHNXaXRoRGVjaW1hbCA9IHNhbml0aXplZC5lbmRzV2l0aChzZXBhcmF0b3JzLmRlY2ltYWwpO1xuICBjb25zdCBjYW5vbmljYWwgPSBzYW5pdGl6ZWQucmVwbGFjZShzZXBhcmF0b3JzLmRlY2ltYWwsICcuJyk7XG4gIGNvbnN0IHBhcnNlZCA9IE51bWJlci5wYXJzZUZsb2F0KGNhbm9uaWNhbCk7XG5cbiAgaWYgKCFOdW1iZXIuaXNGaW5pdGUocGFyc2VkKSkge1xuICAgIHJldHVybiB7IHZhbHVlOiBudWxsLCBjb21wbGV0ZTogZmFsc2UsIGVtcHR5OiBmYWxzZSB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB2YWx1ZTogcGFyc2VkLFxuICAgIGNvbXBsZXRlOiAhZW5kc1dpdGhEZWNpbWFsLFxuICAgIGVtcHR5OiBmYWxzZVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xhbXBOdW1iZXJJbnB1dFZhbHVlKHZhbHVlOiBudW1iZXIsIG1pbj86IG51bWJlciwgbWF4PzogbnVtYmVyKTogbnVtYmVyIHtcbiAgbGV0IG5leHRWYWx1ZSA9IHZhbHVlO1xuXG4gIGlmICh0eXBlb2YgbWluID09PSAnbnVtYmVyJyAmJiBOdW1iZXIuaXNGaW5pdGUobWluKSkge1xuICAgIG5leHRWYWx1ZSA9IE1hdGgubWF4KG5leHRWYWx1ZSwgbWluKTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgbWF4ID09PSAnbnVtYmVyJyAmJiBOdW1iZXIuaXNGaW5pdGUobWF4KSkge1xuICAgIG5leHRWYWx1ZSA9IE1hdGgubWluKG5leHRWYWx1ZSwgbWF4KTtcbiAgfVxuXG4gIHJldHVybiBuZXh0VmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVOdW1iZXJJbnB1dFZhbHVlKFxuICB2YWx1ZTogbnVtYmVyLFxuICBwcmVjaXNpb246IG51bWJlcixcbiAgc2NhbGU6IG51bWJlcixcbiAgYWxsb3dOZWdhdGl2ZTogYm9vbGVhbixcbiAgbWluPzogbnVtYmVyLFxuICBtYXg/OiBudW1iZXJcbik6IG51bWJlciB7XG4gIGlmICghTnVtYmVyLmlzRmluaXRlKHZhbHVlKSkge1xuICAgIHJldHVybiBOdW1iZXIuTmFOO1xuICB9XG5cbiAgY29uc3Qgc2FmZVNjYWxlID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oc2NhbGUsIHByZWNpc2lvbikpO1xuICBjb25zdCBmYWN0b3IgPSAxMCAqKiBzYWZlU2NhbGU7XG4gIGxldCBuZXh0VmFsdWUgPSBNYXRoLnJvdW5kKHZhbHVlICogZmFjdG9yKSAvIGZhY3RvcjtcblxuICBpZiAoIWFsbG93TmVnYXRpdmUpIHtcbiAgICBuZXh0VmFsdWUgPSBNYXRoLmFicyhuZXh0VmFsdWUpO1xuICB9XG5cbiAgY29uc3QgaW50ZWdlckRpZ2l0cyA9IE1hdGgubWF4KE5VTUJFUl9JTlBVVF9NSU5fSU5URUdFUl9ESUdJVFMsIE1hdGgubWF4KDAsIHByZWNpc2lvbiAtIHNhZmVTY2FsZSkpO1xuICBjb25zdCBtYXhBYnNWYWx1ZSA9ICgxMCAqKiBpbnRlZ2VyRGlnaXRzKSAtIChzYWZlU2NhbGUgPiAwID8gMSAvIGZhY3RvciA6IDEpO1xuXG4gIGlmIChNYXRoLmFicyhuZXh0VmFsdWUpID4gbWF4QWJzVmFsdWUpIHtcbiAgICBuZXh0VmFsdWUgPSBNYXRoLnNpZ24obmV4dFZhbHVlIHx8IDEpICogbWF4QWJzVmFsdWU7XG4gIH1cblxuICByZXR1cm4gY2xhbXBOdW1iZXJJbnB1dFZhbHVlKG5leHRWYWx1ZSwgbWluLCBtYXgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY291bnROdW1iZXJJbnB1dERpZ2l0cyh2YWx1ZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgcmV0dXJuIFN0cmluZyh2YWx1ZSA/PyAnJykucmVwbGFjZSgvXFxEL2csICcnKS5sZW5ndGg7XG59XG5cbmZ1bmN0aW9uIGZpbmREZWNpbWFsSW5kZXgodmFsdWU6IHN0cmluZywgZGVjaW1hbFNlcGFyYXRvcjogc3RyaW5nKTogbnVtYmVyIHtcbiAgY29uc3QgcHJlZmVycmVkSW5kZXggPSB2YWx1ZS5pbmRleE9mKGRlY2ltYWxTZXBhcmF0b3IpO1xuICBpZiAocHJlZmVycmVkSW5kZXggPj0gMCkge1xuICAgIHJldHVybiBwcmVmZXJyZWRJbmRleDtcbiAgfVxuXG4gIGZvciAoY29uc3QgY2FuZGlkYXRlIG9mIERFQ0lNQUxfQ0FORElEQVRFUykge1xuICAgIGNvbnN0IGluZGV4ID0gdmFsdWUuaW5kZXhPZihjYW5kaWRhdGUpO1xuICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICByZXR1cm4gaW5kZXg7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIC0xO1xufVxuXG5mdW5jdGlvbiBncm91cEludGVnZXJEaWdpdHMoaW50ZWdlclBhcnQ6IHN0cmluZywgdGhvdXNhbmRzU2VwYXJhdG9yOiBzdHJpbmcpOiBzdHJpbmcge1xuICBsZXQgZ3JvdXBlZEludGVnZXIgPSAnJztcblxuICBmb3IgKGxldCBpbmRleCA9IGludGVnZXJQYXJ0Lmxlbmd0aDsgaW5kZXggPiAwOyBpbmRleCAtPSBOVU1CRVJfSU5QVVRfR1JPVVBJTkdfU0laRSkge1xuICAgIGNvbnN0IHN0YXJ0ID0gTWF0aC5tYXgoMCwgaW5kZXggLSBOVU1CRVJfSU5QVVRfR1JPVVBJTkdfU0laRSk7XG4gICAgY29uc3QgY2h1bmsgPSBpbnRlZ2VyUGFydC5zbGljZShzdGFydCwgaW5kZXgpO1xuICAgIGdyb3VwZWRJbnRlZ2VyID0gZ3JvdXBlZEludGVnZXIgPyBgJHtjaHVua30ke3Rob3VzYW5kc1NlcGFyYXRvcn0ke2dyb3VwZWRJbnRlZ2VyfWAgOiBjaHVuaztcbiAgfVxuXG4gIHJldHVybiBncm91cGVkSW50ZWdlcjtcbn1cbiJdfQ==
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWlucHV0LnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2NvcmUvdXRpbHMvbnVtYmVyLWlucHV0LnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHFDQUFxQyxFQUNyQyxtQ0FBbUMsRUFDbkMsK0JBQStCLEVBQ2hDLE1BQU0saUNBQWlDLENBQUM7QUFVekMsTUFBTSxnQ0FBZ0MsR0FBRyxPQUFPLENBQUM7QUFDakQsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLENBQUM7QUFDckMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUV0QyxNQUFNLFVBQVUsNEJBQTRCLENBQUMsTUFBaUM7SUFDNUUsSUFBSSxDQUFDO1FBQ0gsTUFBTSxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sSUFBSSxTQUFTLENBQUMsQ0FBQyxhQUFhLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUV6RyxPQUFPO1lBQ0wsT0FBTyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLEVBQUUsS0FBSyxJQUFJLHFDQUFxQztZQUN0RyxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsRUFBRSxLQUFLLElBQUksbUNBQW1DO1NBQ2pHLENBQUM7SUFDSixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTztZQUNMLE9BQU8sRUFBRSxxQ0FBcUM7WUFDOUMsS0FBSyxFQUFFLG1DQUFtQztTQUMzQyxDQUFDO0lBQ0osQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsMkJBQTJCLENBQUMsS0FBYSxFQUFFLGdCQUF3QjtJQUNqRixJQUFJ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LENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUNaLENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFDLFdBQW1CLEVBQUUsa0JBQTBCO0lBQ3pFLElBQUksY0FBYyxHQUFHLEVBQUUsQ0FBQztJQUV4QixLQUFLLElBQUksS0FBSyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLElBQUksMEJBQTBCLEVBQUUsQ0FBQztRQUNwRixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLEdBQUcsMEJBQTBCLENBQUMsQ0FBQztRQUM5RCxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM5QyxjQUFjLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxrQkFBa0IsR0FBRyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzdGLENBQUM7SUFFRCxPQUFPLGNBQWMsQ0FBQztBQUN4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTlVNQkVSX0lOUFVUX0RFRkFVTFRfREVDSU1BTF9GQUxMQkFDSyxcbiAgTlVNQkVSX0lOUFVUX0RFRkFVTFRfR1JPVVBfRkFMTEJBQ0ssXG4gIE5VTUJFUl9JTlBVVF9NSU5fSU5URUdFUl9ESUdJVFNcbn0gZnJvbSAnLi4vY29uc3RhbnRzL251bWJlci1pbnB1dC5jb25zdCc7XG5pbXBvcnQgdHlwZSB7IE51bWJlcklucHV0UGFyc2VSZXN1bHQsIE51bWJlcklucHV0U2VwYXJhdG9ycyB9IGZyb20gJy4uL3R5cGVzL251bWJlci1pbnB1dC50eXBlJztcblxudHlwZSBTYW5pdGl6ZU51bWJlcklucHV0Q29uZmlnID0ge1xuICBhbGxvd05lZ2F0aXZlOiBib29sZWFuO1xuICBkZWNpbWFsU2VwYXJhdG9yOiBzdHJpbmc7XG4gIHByZWNpc2lvbjogbnVtYmVyO1xuICBzY2FsZTogbnVtYmVyO1xufTtcblxuY29uc3QgTlVNQkVSX0lOUFVUX1NBTVBMRV9GT1JNQVRfVkFMVUUgPSAxMjM0NS42O1xuY29uc3QgTlVNQkVSX0lOUFVUX0dST1VQSU5HX1NJWkUgPSAzO1xuY29uc3QgREVDSU1BTF9DQU5ESURBVEVTID0gWycuJywgJywnXTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVOdW1iZXJJbnB1dFNlcGFyYXRvcnMobG9jYWxlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogTnVtYmVySW5wdXRTZXBhcmF0b3JzIHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJ0cyA9IG5ldyBJbnRsLk51bWJlckZvcm1hdChsb2NhbGUgPz8gdW5kZWZpbmVkKS5mb3JtYXRUb1BhcnRzKE5VTUJFUl9JTlBVVF9TQU1QTEVfRk9STUFUX1ZBTFVFKTtcblxuICAgIHJldHVybiB7XG4gICAgICBkZWNpbWFsOiBwYXJ0cy5maW5kKChwYXJ0KSA9PiBwYXJ0LnR5cGUgPT09ICdkZWNpbWFsJyk/LnZhbHVlID8/IE5VTUJFUl9JTlBVVF9ERUZBVUxUX0RFQ0lNQUxfRkFMTEJBQ0ssXG4gICAgICBncm91cDogcGFydHMuZmluZCgocGFydCkgPT4gcGFydC50eXBlID09PSAnZ3JvdXAnKT8udmFsdWUgPz8gTlVNQkVSX0lOUFVUX0RFRkFVTFRfR1JPVVBfRkFMTEJBQ0tcbiAgICB9O1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4ge1xuICAgICAgZGVjaW1hbDogTlVNQkVSX0lOUFVUX0RFRkFVTFRfREVDSU1BTF9GQUxMQkFDSyxcbiAgICAgIGdyb3VwOiBOVU1CRVJfSU5QVVRfREVGQVVMVF9HUk9VUF9GQUxMQkFDS1xuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkTnVtYmVySW5wdXRQbGFjZWhvbGRlcihzY2FsZTogbnVtYmVyLCBkZWNpbWFsU2VwYXJhdG9yOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoc2NhbGUgPD0gMCkge1xuICAgIHJldHVybiAnMCc7XG4gIH1cblxuICByZXR1cm4gYDAke2RlY2ltYWxTZXBhcmF0b3J9JHsnMCcucmVwZWF0KHNjYWxlKX1gO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlTnVtYmVySW5wdXRNYXhMZW5ndGgoXG4gIHByZWNpc2lvbjogbnVtYmVyLFxuICBzY2FsZTogbnVtYmVyLFxuICBhbGxvd05lZ2F0aXZlOiBib29sZWFuLFxuICBkZWNpbWFsU2VwYXJhdG9yOiBzdHJpbmcsXG4gIHRob3VzYW5kc1NlcGFyYXRvcjogc3RyaW5nXG4pOiBudW1iZXIge1xuICBjb25zdCBpbnRlZ2VyRGlnaXRzID0gTWF0aC5tYXgoTlVNQkVSX0lOUFVUX01JTl9JTlRFR0VSX0RJR0lUUywgcHJlY2lzaW9uIC0gc2NhbGUpO1xuICBjb25zdCBncm91cGluZ0NvdW50ID0gTWF0aC5tYXgoMCwgTWF0aC5jZWlsKGludGVnZXJEaWdpdHMgLyBOVU1CRVJfSU5QVVRfR1JPVVBJTkdfU0laRSkgLSAxKTtcblxuICByZXR1cm4gKFxuICAgIHByZWNpc2lvblxuICAgICsgKHNjYWxlID4gMCA/IGRlY2ltYWxTZXBhcmF0b3IubGVuZ3RoIDogMClcbiAgICArIChncm91cGluZ0NvdW50ICogdGhvdXNhbmRzU2VwYXJhdG9yLmxlbmd0aClcbiAgICArIChhbGxvd05lZ2F0aXZlID8gMSA6IDApXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXROdW1iZXJJbnB1dFZhbHVlKFxuICB2YWx1ZTogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgc2NhbGU6IG51bWJlcixcbiAgZGVjaW1hbFNlcGFyYXRvcjogc3RyaW5nLFxuICB0aG91c2FuZHNTZXBhcmF0b3I6IHN0cmluZyxcbiAgdXNlR3JvdXBpbmcgPSB0cnVlXG4pOiBzdHJpbmcge1xuICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCAhTnVtYmVyLmlzRmluaXRlKHZhbHVlKSkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGNvbnN0IHNpZ24gPSB2YWx1ZSA8IDAgPyAnLScgOiAnJztcbiAgY29uc3QgYWJzb2x1dGUgPSBNYXRoLmFicyh2YWx1ZSk7XG4gIGNvbnN0IGZpeGVkID0gYWJzb2x1dGUudG9GaXhlZChNYXRoLm1heCgwLCBzY2FsZSkpO1xuICBjb25zdCBbaW50ZWdlclBhcnQsIGZyYWN0aW9uUGFydCA9ICcnXSA9IGZpeGVkLnNwbGl0KCcuJyk7XG4gIGNvbnN0IGdyb3VwZWRJbnRlZ2VyID0gdXNlR3JvdXBpbmdcbiAgICA/IGdyb3VwSW50ZWdlckRpZ2l0cyhpbnRlZ2VyUGFydCwgdGhvdXNhbmRzU2VwYXJhdG9yKVxuICAgIDogaW50ZWdlclBhcnQ7XG5cbiAgaWYgKHNjYWxlIDw9IDApIHtcbiAgICByZXR1cm4gYCR7c2lnbn0ke2dyb3VwZWRJbnRlZ2VyfWA7XG4gIH1cblxuICByZXR1cm4gYCR7c2lnbn0ke2dyb3VwZWRJbnRlZ2VyfSR7ZGVjaW1hbFNlcGFyYXRvcn0ke2ZyYWN0aW9uUGFydH1gO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2FuaXRpemVOdW1iZXJJbnB1dFZhbHVlKHJhd1ZhbHVlOiBzdHJpbmcsIGNvbmZpZzogU2FuaXRpemVOdW1iZXJJbnB1dENvbmZpZyk6IHN0cmluZyB7XG4gIGNvbnN0IHZhbHVlID0gU3RyaW5nKHJhd1ZhbHVlID8/ICcnKS5yZXBsYWNlKC9cXHMrL2csICcnKTtcbiAgY29uc3QgbmVnYXRpdmUgPSBjb25maWcuYWxsb3dOZWdhdGl2ZSAmJiB2YWx1ZS5zdGFydHNXaXRoKCctJykgPyAnLScgOiAnJztcbiAgY29uc3QgdW5zaWduZWQgPSB2YWx1ZS5yZXBsYWNlKC8tL2csICcnKTtcbiAgY29uc3QgZGVjaW1hbEluZGV4ID0gZmluZERlY2ltYWxJbmRleCh1bnNpZ25lZCwgY29uZmlnLmRlY2ltYWxTZXBhcmF0b3IpO1xuXG4gIGNvbnN0IGludGVnZXJTb3VyY2UgPSBkZWNpbWFsSW5kZXggPj0gMCA/IHVuc2lnbmVkLnNsaWNlKDAsIGRlY2ltYWxJbmRleCkgOiB1bnNpZ25lZDtcbiAgY29uc3QgZnJhY3Rpb25Tb3VyY2UgPSBkZWNpbWFsSW5kZXggPj0gMCA/IHVuc2lnbmVkLnNsaWNlKGRlY2ltYWxJbmRleCArIDEpIDogJyc7XG5cbiAgY29uc3QgbWF4U2NhbGUgPSBNYXRoLm1heCgwLCBjb25maWcuc2NhbGUpO1xuICBjb25zdCBtYXhJbnRlZ2VyRGlnaXRzID0gTWF0aC5tYXgoTlVNQkVSX0lOUFVUX01JTl9JTlRFR0VSX0RJR0lUUywgTWF0aC5tYXgoMCwgY29uZmlnLnByZWNpc2lvbiAtIG1heFNjYWxlKSk7XG5cbiAgY29uc3QgaW50ZWdlckRpZ2l0cyA9IGludGVnZXJTb3VyY2UucmVwbGFjZSgvXFxEL2csICcnKS5zbGljZSgwLCBtYXhJbnRlZ2VyRGlnaXRzKTtcbiAgY29uc3QgZnJhY3Rpb25EaWdpdHMgPSBtYXhTY2FsZSA+IDAgPyBmcmFjdGlvblNvdXJjZS5yZXBsYWNlKC9cXEQvZywgJycpLnNsaWNlKDAsIG1heFNjYWxlKSA6ICcnO1xuICBjb25zdCBrZWVwRGVjaW1hbFNlcGFyYXRvciA9IG1heFNjYWxlID4gMCAmJiBkZWNpbWFsSW5kZXggPj0gMDtcblxuICByZXR1cm4gYCR7bmVnYXRpdmV9JHtpbnRlZ2VyRGlnaXRzfSR7a2VlcERlY2ltYWxTZXBhcmF0b3IgPyBjb25maWcuZGVjaW1hbFNlcGFyYXRvciA6ICcnfSR7ZnJhY3Rpb25EaWdpdHN9YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlTnVtYmVySW5wdXRWYWx1ZSh2YWx1ZTogc3RyaW5nLCBzZXBhcmF0b3JzOiBOdW1iZXJJbnB1dFNlcGFyYXRvcnMpOiBOdW1iZXJJbnB1dFBhcnNlUmVzdWx0IHtcbiAgY29uc3QgdHJpbW1lZCA9IFN0cmluZyh2YWx1ZSA/PyAnJykudHJpbSgpO1xuXG4gIGlmICghdHJpbW1lZCkge1xuICAgIHJldHVybiB7IHZhbHVlOiBudWxsLCBjb21wbGV0ZTogdHJ1ZSwgZW1wdHk6IHRydWUgfTtcbiAgfVxuXG4gIGlmICh0cmltbWVkID09PSAnLScpIHtcbiAgICByZXR1cm4geyB2YWx1ZTogbnVsbCwgY29tcGxldGU6IGZhbHNlLCBlbXB0eTogZmFsc2UgfTtcbiAgfVxuXG4gIGNvbnN0IHNhbml0aXplZCA9IHRyaW1tZWQuc3BsaXQoc2VwYXJhdG9ycy5ncm91cCkuam9pbignJyk7XG4gIGNvbnN0IGVuZHNXaXRoRGVjaW1hbCA9IHNhbml0aXplZC5lbmRzV2l0aChzZXBhcmF0b3JzLmRlY2ltYWwpO1xuICBjb25zdCBjYW5vbmljYWwgPSBzYW5pdGl6ZWQucmVwbGFjZUFsbChzZXBhcmF0b3JzLmRlY2ltYWwsICcuJyk7XG4gIGNvbnN0IHBhcnNlZCA9IE51bWJlci5wYXJzZUZsb2F0KGNhbm9uaWNhbCk7XG5cbiAgaWYgKCFOdW1iZXIuaXNGaW5pdGUocGFyc2VkKSkge1xuICAgIHJldHVybiB7IHZhbHVlOiBudWxsLCBjb21wbGV0ZTogZmFsc2UsIGVtcHR5OiBmYWxzZSB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB2YWx1ZTogcGFyc2VkLFxuICAgIGNvbXBsZXRlOiAhZW5kc1dpdGhEZWNpbWFsLFxuICAgIGVtcHR5OiBmYWxzZVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xhbXBOdW1iZXJJbnB1dFZhbHVlKHZhbHVlOiBudW1iZXIsIG1pbj86IG51bWJlciwgbWF4PzogbnVtYmVyKTogbnVtYmVyIHtcbiAgbGV0IG5leHRWYWx1ZSA9IHZhbHVlO1xuXG4gIGlmICh0eXBlb2YgbWluID09PSAnbnVtYmVyJyAmJiBOdW1iZXIuaXNGaW5pdGUobWluKSkge1xuICAgIG5leHRWYWx1ZSA9IE1hdGgubWF4KG5leHRWYWx1ZSwgbWluKTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgbWF4ID09PSAnbnVtYmVyJyAmJiBOdW1iZXIuaXNGaW5pdGUobWF4KSkge1xuICAgIG5leHRWYWx1ZSA9IE1hdGgubWluKG5leHRWYWx1ZSwgbWF4KTtcbiAgfVxuXG4gIHJldHVybiBuZXh0VmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVOdW1iZXJJbnB1dFZhbHVlKFxuICB2YWx1ZTogbnVtYmVyLFxuICBwcmVjaXNpb246IG51bWJlcixcbiAgc2NhbGU6IG51bWJlcixcbiAgYWxsb3dOZWdhdGl2ZTogYm9vbGVhbixcbiAgbWluPzogbnVtYmVyLFxuICBtYXg/OiBudW1iZXJcbik6IG51bWJlciB7XG4gIGlmICghTnVtYmVyLmlzRmluaXRlKHZhbHVlKSkge1xuICAgIHJldHVybiBOdW1iZXIuTmFOO1xuICB9XG5cbiAgY29uc3Qgc2FmZVNjYWxlID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oc2NhbGUsIHByZWNpc2lvbikpO1xuICBjb25zdCBmYWN0b3IgPSAxMCAqKiBzYWZlU2NhbGU7XG4gIGxldCBuZXh0VmFsdWUgPSBNYXRoLnJvdW5kKHZhbHVlICogZmFjdG9yKSAvIGZhY3RvcjtcblxuICBpZiAoIWFsbG93TmVnYXRpdmUpIHtcbiAgICBuZXh0VmFsdWUgPSBNYXRoLmFicyhuZXh0VmFsdWUpO1xuICB9XG5cbiAgY29uc3QgaW50ZWdlckRpZ2l0cyA9IE1hdGgubWF4KE5VTUJFUl9JTlBVVF9NSU5fSU5URUdFUl9ESUdJVFMsIE1hdGgubWF4KDAsIHByZWNpc2lvbiAtIHNhZmVTY2FsZSkpO1xuICBjb25zdCBtYXhBYnNWYWx1ZSA9ICgxMCAqKiBpbnRlZ2VyRGlnaXRzKSAtIChzYWZlU2NhbGUgPiAwID8gMSAvIGZhY3RvciA6IDEpO1xuXG4gIGlmIChNYXRoLmFicyhuZXh0VmFsdWUpID4gbWF4QWJzVmFsdWUpIHtcbiAgICBuZXh0VmFsdWUgPSBNYXRoLnNpZ24obmV4dFZhbHVlIHx8IDEpICogbWF4QWJzVmFsdWU7XG4gIH1cblxuICByZXR1cm4gY2xhbXBOdW1iZXJJbnB1dFZhbHVlKG5leHRWYWx1ZSwgbWluLCBtYXgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY291bnROdW1iZXJJbnB1dERpZ2l0cyh2YWx1ZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgcmV0dXJuIFN0cmluZyh2YWx1ZSA/PyAnJykucmVwbGFjZSgvXFxEL2csICcnKS5sZW5ndGg7XG59XG5cbmZ1bmN0aW9uIGZpbmREZWNpbWFsSW5kZXgodmFsdWU6IHN0cmluZywgZGVjaW1hbFNlcGFyYXRvcjogc3RyaW5nKTogbnVtYmVyIHtcbiAgY29uc3QgcHJlZmVycmVkSW5kZXggPSB2YWx1ZS5pbmRleE9mKGRlY2ltYWxTZXBhcmF0b3IpO1xuICBpZiAocHJlZmVycmVkSW5kZXggPj0gMCkge1xuICAgIHJldHVybiBwcmVmZXJyZWRJbmRleDtcbiAgfVxuXG4gIGZvciAoY29uc3QgY2FuZGlkYXRlIG9mIERFQ0lNQUxfQ0FORElEQVRFUykge1xuICAgIGNvbnN0IGluZGV4ID0gdmFsdWUuaW5kZXhPZihjYW5kaWRhdGUpO1xuICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICByZXR1cm4gaW5kZXg7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIC0xO1xufVxuXG5mdW5jdGlvbiBncm91cEludGVnZXJEaWdpdHMoaW50ZWdlclBhcnQ6IHN0cmluZywgdGhvdXNhbmRzU2VwYXJhdG9yOiBzdHJpbmcpOiBzdHJpbmcge1xuICBsZXQgZ3JvdXBlZEludGVnZXIgPSAnJztcblxuICBmb3IgKGxldCBpbmRleCA9IGludGVnZXJQYXJ0Lmxlbmd0aDsgaW5kZXggPiAwOyBpbmRleCAtPSBOVU1CRVJfSU5QVVRfR1JPVVBJTkdfU0laRSkge1xuICAgIGNvbnN0IHN0YXJ0ID0gTWF0aC5tYXgoMCwgaW5kZXggLSBOVU1CRVJfSU5QVVRfR1JPVVBJTkdfU0laRSk7XG4gICAgY29uc3QgY2h1bmsgPSBpbnRlZ2VyUGFydC5zbGljZShzdGFydCwgaW5kZXgpO1xuICAgIGdyb3VwZWRJbnRlZ2VyID0gZ3JvdXBlZEludGVnZXIgPyBgJHtjaHVua30ke3Rob3VzYW5kc1NlcGFyYXRvcn0ke2dyb3VwZWRJbnRlZ2VyfWAgOiBjaHVuaztcbiAgfVxuXG4gIHJldHVybiBncm91cGVkSW50ZWdlcjtcbn1cbiJdfQ==
|
|
@@ -18,6 +18,7 @@ export class BreadcrumbComponent {
|
|
|
18
18
|
enableLinksSignal = signal(true);
|
|
19
19
|
homeItem = signal(undefined);
|
|
20
20
|
trailItems = signal([]);
|
|
21
|
+
isAtHome = signal(false);
|
|
21
22
|
ariaLabelText = computed(() => this.ariaLabelSignal());
|
|
22
23
|
set homeUrl(value) {
|
|
23
24
|
this.homeUrlSignal.set(value ?? undefined);
|
|
@@ -100,12 +101,14 @@ export class BreadcrumbComponent {
|
|
|
100
101
|
if (items !== undefined) {
|
|
101
102
|
this.homeItem.set(this.getCurrentHomeFromItems(items));
|
|
102
103
|
this.trailItems.set(this.getCurrentItemsFromItems(items));
|
|
104
|
+
this.isAtHome.set(this.checkIsAtHome());
|
|
103
105
|
return;
|
|
104
106
|
}
|
|
105
107
|
const currentRoute = this.activatedRoute.root;
|
|
106
108
|
const validRoutes = this.getActiveBranch(currentRoute);
|
|
107
109
|
this.homeItem.set(this.getCurrentHome(validRoutes));
|
|
108
110
|
this.trailItems.set(this.getCurrentItems(validRoutes));
|
|
111
|
+
this.isAtHome.set(this.checkIsAtHome());
|
|
109
112
|
}
|
|
110
113
|
getActiveBranch(route) {
|
|
111
114
|
const branch = [];
|
|
@@ -239,12 +242,27 @@ export class BreadcrumbComponent {
|
|
|
239
242
|
}
|
|
240
243
|
return String(title);
|
|
241
244
|
}
|
|
245
|
+
checkIsAtHome() {
|
|
246
|
+
const home = this.homeItem();
|
|
247
|
+
if (!home?.routerLink) {
|
|
248
|
+
return false;
|
|
249
|
+
}
|
|
250
|
+
const homeUrl = Array.isArray(home.routerLink)
|
|
251
|
+
? home.routerLink.join('/')
|
|
252
|
+
: String(home.routerLink);
|
|
253
|
+
return this.router.isActive(homeUrl, {
|
|
254
|
+
paths: 'exact',
|
|
255
|
+
queryParams: 'subset',
|
|
256
|
+
fragment: 'ignored',
|
|
257
|
+
matrixParams: 'ignored'
|
|
258
|
+
});
|
|
259
|
+
}
|
|
242
260
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadcrumbComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
243
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BreadcrumbComponent, isStandalone: true, selector: "sdc-breadcrumb", inputs: { homeUrl: "homeUrl", targetHomeUrl: "targetHomeUrl", enableLinks: ["enableLinks", "enableLinks", booleanAttribute], ariaLabel: "ariaLabel", items: "items" }, ngImport: i0, template: "<nav\n class=\"sdc-breadcrumb\"\n [attr.aria-label]=\"(ariaLabelText() || 'platform.datacore.accessibility.breadcrumb_navigation') | translate\"\n>\n <ol class=\"sdc-breadcrumb-list\">\n @if (homeItem()) {\n <li class=\"sdc-breadcrumb-item sdc-breadcrumb-item--home\">\n @if (canUseRouterLink(homeItem()!)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [routerLink]=\"routerLinkOf(homeItem()!)\"\n [queryParams]=\"queryParamsOf(homeItem()!)\"\n [fragment]=\"homeItem()!.fragment\"\n [queryParamsHandling]=\"homeItem()!.queryParamsHandling\"\n [preserveFragment]=\"homeItem()!.preserveFragment\"\n [skipLocationChange]=\"homeItem()!.skipLocationChange\"\n [replaceUrl]=\"homeItem()!.replaceUrl\"\n [state]=\"homeItem()!.state\"\n [attr.target]=\"targetAttrOf(homeItem()!)\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (homeItem()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"homeItem()!.icon\" aria-hidden=\"true\"></span>\n }\n </a>\n } @else if (canUseUrl(homeItem()!)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [attr.href]=\"hrefOf(homeItem()!)\"\n [attr.target]=\"targetAttrOf(homeItem()!)\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (homeItem()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"homeItem()!.icon\" aria-hidden=\"true\"></span>\n }\n </a>\n } @else {\n <span\n class=\"sdc-breadcrumb-text sdc-breadcrumb-text--home\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (homeItem()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"homeItem()!.icon\" aria-hidden=\"true\"></span>\n }\n </span>\n }\n </li>\n }\n\n @for (item of trailItems(); track $index) {\n <li class=\"sdc-breadcrumb-separator\" aria-hidden=\"true\"></li>\n\n <li\n class=\"sdc-breadcrumb-item\"\n [class.sdc-breadcrumb-item--current]=\"item.disabled\"\n [class.sdc-breadcrumb-item--previous]=\"!item.disabled && $index === trailItems().length - 2\"\n >\n @if (canNavigate(item)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [routerLink]=\"hasRouterLink(item) ? routerLinkOf(item) : null\"\n [queryParams]=\"queryParamsOf(item)\"\n [fragment]=\"item.fragment\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"item.preserveFragment\"\n [skipLocationChange]=\"item.skipLocationChange\"\n [replaceUrl]=\"item.replaceUrl\"\n [state]=\"item.state\"\n [attr.href]=\"!hasRouterLink(item) && hasUrl(item) ? hrefOf(item) : null\"\n [attr.target]=\"targetAttrOf(item)\"\n >\n <span class=\"sdc-breadcrumb-item-label\">{{ (item.label || '') | translate }}</span>\n <span class=\"sdc-breadcrumb-sr-only\">{{ ' (' + ($index + 1) + ')' }}</span>\n </a>\n } @else if (!item.disabled) {\n <span class=\"sdc-breadcrumb-text\">\n <span class=\"sdc-breadcrumb-item-label\">{{ (item.label || '') | translate }}</span>\n </span>\n } @else {\n <span class=\"sdc-breadcrumb-current\" aria-current=\"page\">{{ (item.label || '') | translate }}</span>\n }\n </li>\n }\n </ol>\n</nav>\n", styles: ["@charset \"UTF-8\";:host{display:block}.sdc-breadcrumb{font-size:12px;line-height:1.2;padding:0;background:transparent}.sdc-breadcrumb-list{list-style:none;display:flex;align-items:center;gap:0;margin:0;padding:0}.sdc-breadcrumb-item{display:inline-flex;align-items:center;min-height:18px}.sdc-breadcrumb-link{display:inline-flex;align-items:center;gap:var(--sdc-breadcrumb-link-gap, 8px);color:var(--sdc-breadcrumb-text-color, inherit);text-decoration:none!important;outline:none}.sdc-breadcrumb-item--home .sdc-breadcrumb-link,.sdc-breadcrumb-item--previous .sdc-breadcrumb-link{color:var(--sdc-breadcrumb-link-color, var(--sdc-primary-600, #2563eb))}.sdc-breadcrumb-text{display:inline-flex;align-items:center;gap:var(--sdc-breadcrumb-link-gap, 8px);color:var(--sdc-breadcrumb-text-color, inherit)}.sdc-breadcrumb-link:hover,.sdc-breadcrumb-link:active,.sdc-breadcrumb-link:visited{text-decoration:none!important}.sdc-breadcrumb-link:focus-visible{outline:2px solid var(--sdc-primary-600, #2563eb);outline-offset:2px;border-radius:4px}.sdc-breadcrumb-item-icon{color:var(--sdc-breadcrumb-text-color, inherit);font-size:12px;line-height:1}.sdc-breadcrumb-item--home .sdc-breadcrumb-item-icon,.sdc-breadcrumb-item--previous .sdc-breadcrumb-item-icon{color:var(--sdc-breadcrumb-link-color, var(--sdc-primary-600, #2563eb))}.sdc-breadcrumb-text .sdc-breadcrumb-item-icon{color:currentColor}.sdc-breadcrumb-item-label{font-weight:400}.sdc-breadcrumb-separator{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--sdc-breadcrumb-separator-padding-x, 8px);color:var(--sdc-breadcrumb-separator-color, #667085);font-size:var(--sdc-breadcrumb-separator-size, 17px);line-height:1;transform:translateY(var(--sdc-breadcrumb-separator-translate-y, -1.6px))}.sdc-breadcrumb-separator:before{content:\"\\203a\"}.sdc-breadcrumb-current{color:var(--sdc-breadcrumb-current-color, #666872);font-weight:400}.sdc-breadcrumb-sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sdc-breadcrumb-item--current .sdc-breadcrumb-link{color:var(--sdc-breadcrumb-current-color, #666872);pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
261
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BreadcrumbComponent, isStandalone: true, selector: "sdc-breadcrumb", inputs: { homeUrl: "homeUrl", targetHomeUrl: "targetHomeUrl", enableLinks: ["enableLinks", "enableLinks", booleanAttribute], ariaLabel: "ariaLabel", items: "items" }, ngImport: i0, template: "<nav\n class=\"sdc-breadcrumb\"\n [attr.aria-label]=\"(ariaLabelText() || 'platform.datacore.accessibility.breadcrumb_navigation') | translate\"\n>\n <ol class=\"sdc-breadcrumb-list\">\n @if (homeItem()) {\n <li class=\"sdc-breadcrumb-item sdc-breadcrumb-item--home\" [class.sdc-breadcrumb-item--current]=\"isAtHome()\">\n @if (!isAtHome() && canUseRouterLink(homeItem()!)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [routerLink]=\"routerLinkOf(homeItem()!)\"\n [queryParams]=\"queryParamsOf(homeItem()!)\"\n [fragment]=\"homeItem()!.fragment\"\n [queryParamsHandling]=\"homeItem()!.queryParamsHandling\"\n [preserveFragment]=\"homeItem()!.preserveFragment\"\n [skipLocationChange]=\"homeItem()!.skipLocationChange\"\n [replaceUrl]=\"homeItem()!.replaceUrl\"\n [state]=\"homeItem()!.state\"\n [attr.target]=\"targetAttrOf(homeItem()!)\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (homeItem()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"homeItem()!.icon\" aria-hidden=\"true\"></span>\n }\n </a>\n } @else if (!isAtHome() && canUseUrl(homeItem()!)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [attr.href]=\"hrefOf(homeItem()!)\"\n [attr.target]=\"targetAttrOf(homeItem()!)\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (homeItem()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"homeItem()!.icon\" aria-hidden=\"true\"></span>\n }\n </a>\n } @else {\n <span\n class=\"sdc-breadcrumb-text sdc-breadcrumb-text--home\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (homeItem()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"homeItem()!.icon\" aria-hidden=\"true\"></span>\n }\n </span>\n }\n </li>\n }\n\n @for (item of trailItems(); track $index) {\n <li class=\"sdc-breadcrumb-separator\" aria-hidden=\"true\"></li>\n\n <li\n class=\"sdc-breadcrumb-item\"\n [class.sdc-breadcrumb-item--current]=\"item.disabled\"\n [class.sdc-breadcrumb-item--previous]=\"!item.disabled && $index === trailItems().length - 2\"\n >\n @if (canNavigate(item)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [routerLink]=\"hasRouterLink(item) ? routerLinkOf(item) : null\"\n [queryParams]=\"queryParamsOf(item)\"\n [fragment]=\"item.fragment\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"item.preserveFragment\"\n [skipLocationChange]=\"item.skipLocationChange\"\n [replaceUrl]=\"item.replaceUrl\"\n [state]=\"item.state\"\n [attr.href]=\"!hasRouterLink(item) && hasUrl(item) ? hrefOf(item) : null\"\n [attr.target]=\"targetAttrOf(item)\"\n >\n <span class=\"sdc-breadcrumb-item-label\">{{ (item.label || '') | translate }}</span>\n <span class=\"sdc-breadcrumb-sr-only\">{{ ' (' + ($index + 1) + ')' }}</span>\n </a>\n } @else if (!item.disabled) {\n <span class=\"sdc-breadcrumb-text\">\n <span class=\"sdc-breadcrumb-item-label\">{{ (item.label || '') | translate }}</span>\n </span>\n } @else {\n <span class=\"sdc-breadcrumb-current\" aria-current=\"page\">{{ (item.label || '') | translate }}</span>\n }\n </li>\n }\n </ol>\n</nav>\n", styles: ["@charset \"UTF-8\";:host{display:block}.sdc-breadcrumb{font-size:12px;line-height:1.2;padding:0;background:transparent}.sdc-breadcrumb-list{list-style:none;display:flex;align-items:center;gap:0;margin:0;padding:0}.sdc-breadcrumb-item{display:inline-flex;align-items:center;min-height:18px}.sdc-breadcrumb-link{display:inline-flex;align-items:center;gap:var(--sdc-breadcrumb-link-gap, 8px);color:var(--sdc-breadcrumb-text-color, inherit);text-decoration:none!important;outline:none}.sdc-breadcrumb-item--home .sdc-breadcrumb-link,.sdc-breadcrumb-item--previous .sdc-breadcrumb-link{color:var(--sdc-breadcrumb-link-color, var(--sdc-primary-600, #2563eb))}.sdc-breadcrumb-item--home.sdc-breadcrumb-item--current .sdc-breadcrumb-text,.sdc-breadcrumb-item--home.sdc-breadcrumb-item--current .sdc-breadcrumb-item-icon{color:var(--sdc-breadcrumb-current-color, #666872);cursor:default}.sdc-breadcrumb-text{display:inline-flex;align-items:center;gap:var(--sdc-breadcrumb-link-gap, 8px);color:var(--sdc-breadcrumb-text-color, inherit)}.sdc-breadcrumb-link:hover,.sdc-breadcrumb-link:active,.sdc-breadcrumb-link:visited{text-decoration:none!important}.sdc-breadcrumb-link:focus-visible{outline:2px solid var(--sdc-primary-600, #2563eb);outline-offset:2px;border-radius:4px}.sdc-breadcrumb-item-icon{color:var(--sdc-breadcrumb-text-color, inherit);font-size:12px;line-height:1}.sdc-breadcrumb-item--home .sdc-breadcrumb-item-icon,.sdc-breadcrumb-item--previous .sdc-breadcrumb-item-icon{color:var(--sdc-breadcrumb-link-color, var(--sdc-primary-600, #2563eb))}.sdc-breadcrumb-text .sdc-breadcrumb-item-icon{color:currentColor}.sdc-breadcrumb-item-label{font-weight:400}.sdc-breadcrumb-separator{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--sdc-breadcrumb-separator-padding-x, 8px);color:var(--sdc-breadcrumb-separator-color, #667085);font-size:var(--sdc-breadcrumb-separator-size, 17px);line-height:1;transform:translateY(var(--sdc-breadcrumb-separator-translate-y, -1.6px))}.sdc-breadcrumb-separator:before{content:\"\\203a\"}.sdc-breadcrumb-current{color:var(--sdc-breadcrumb-current-color, #666872);font-weight:400}.sdc-breadcrumb-sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sdc-breadcrumb-item--current .sdc-breadcrumb-link{color:var(--sdc-breadcrumb-current-color, #666872);pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
244
262
|
}
|
|
245
263
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadcrumbComponent, decorators: [{
|
|
246
264
|
type: Component,
|
|
247
|
-
args: [{ selector: 'sdc-breadcrumb', standalone: true, imports: [CommonModule, RouterModule, TranslateModule], encapsulation: ViewEncapsulation.Emulated, changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav\n class=\"sdc-breadcrumb\"\n [attr.aria-label]=\"(ariaLabelText() || 'platform.datacore.accessibility.breadcrumb_navigation') | translate\"\n>\n <ol class=\"sdc-breadcrumb-list\">\n @if (homeItem()) {\n <li class=\"sdc-breadcrumb-item sdc-breadcrumb-item--home\">\n @if (canUseRouterLink(homeItem()!)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [routerLink]=\"routerLinkOf(homeItem()!)\"\n [queryParams]=\"queryParamsOf(homeItem()!)\"\n [fragment]=\"homeItem()!.fragment\"\n [queryParamsHandling]=\"homeItem()!.queryParamsHandling\"\n [preserveFragment]=\"homeItem()!.preserveFragment\"\n [skipLocationChange]=\"homeItem()!.skipLocationChange\"\n [replaceUrl]=\"homeItem()!.replaceUrl\"\n [state]=\"homeItem()!.state\"\n [attr.target]=\"targetAttrOf(homeItem()!)\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (homeItem()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"homeItem()!.icon\" aria-hidden=\"true\"></span>\n }\n </a>\n } @else if (canUseUrl(homeItem()!)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [attr.href]=\"hrefOf(homeItem()!)\"\n [attr.target]=\"targetAttrOf(homeItem()!)\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (homeItem()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"homeItem()!.icon\" aria-hidden=\"true\"></span>\n }\n </a>\n } @else {\n <span\n class=\"sdc-breadcrumb-text sdc-breadcrumb-text--home\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (homeItem()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"homeItem()!.icon\" aria-hidden=\"true\"></span>\n }\n </span>\n }\n </li>\n }\n\n @for (item of trailItems(); track $index) {\n <li class=\"sdc-breadcrumb-separator\" aria-hidden=\"true\"></li>\n\n <li\n class=\"sdc-breadcrumb-item\"\n [class.sdc-breadcrumb-item--current]=\"item.disabled\"\n [class.sdc-breadcrumb-item--previous]=\"!item.disabled && $index === trailItems().length - 2\"\n >\n @if (canNavigate(item)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [routerLink]=\"hasRouterLink(item) ? routerLinkOf(item) : null\"\n [queryParams]=\"queryParamsOf(item)\"\n [fragment]=\"item.fragment\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"item.preserveFragment\"\n [skipLocationChange]=\"item.skipLocationChange\"\n [replaceUrl]=\"item.replaceUrl\"\n [state]=\"item.state\"\n [attr.href]=\"!hasRouterLink(item) && hasUrl(item) ? hrefOf(item) : null\"\n [attr.target]=\"targetAttrOf(item)\"\n >\n <span class=\"sdc-breadcrumb-item-label\">{{ (item.label || '') | translate }}</span>\n <span class=\"sdc-breadcrumb-sr-only\">{{ ' (' + ($index + 1) + ')' }}</span>\n </a>\n } @else if (!item.disabled) {\n <span class=\"sdc-breadcrumb-text\">\n <span class=\"sdc-breadcrumb-item-label\">{{ (item.label || '') | translate }}</span>\n </span>\n } @else {\n <span class=\"sdc-breadcrumb-current\" aria-current=\"page\">{{ (item.label || '') | translate }}</span>\n }\n </li>\n }\n </ol>\n</nav>\n", styles: ["@charset \"UTF-8\";:host{display:block}.sdc-breadcrumb{font-size:12px;line-height:1.2;padding:0;background:transparent}.sdc-breadcrumb-list{list-style:none;display:flex;align-items:center;gap:0;margin:0;padding:0}.sdc-breadcrumb-item{display:inline-flex;align-items:center;min-height:18px}.sdc-breadcrumb-link{display:inline-flex;align-items:center;gap:var(--sdc-breadcrumb-link-gap, 8px);color:var(--sdc-breadcrumb-text-color, inherit);text-decoration:none!important;outline:none}.sdc-breadcrumb-item--home .sdc-breadcrumb-link,.sdc-breadcrumb-item--previous .sdc-breadcrumb-link{color:var(--sdc-breadcrumb-link-color, var(--sdc-primary-600, #2563eb))}.sdc-breadcrumb-text{display:inline-flex;align-items:center;gap:var(--sdc-breadcrumb-link-gap, 8px);color:var(--sdc-breadcrumb-text-color, inherit)}.sdc-breadcrumb-link:hover,.sdc-breadcrumb-link:active,.sdc-breadcrumb-link:visited{text-decoration:none!important}.sdc-breadcrumb-link:focus-visible{outline:2px solid var(--sdc-primary-600, #2563eb);outline-offset:2px;border-radius:4px}.sdc-breadcrumb-item-icon{color:var(--sdc-breadcrumb-text-color, inherit);font-size:12px;line-height:1}.sdc-breadcrumb-item--home .sdc-breadcrumb-item-icon,.sdc-breadcrumb-item--previous .sdc-breadcrumb-item-icon{color:var(--sdc-breadcrumb-link-color, var(--sdc-primary-600, #2563eb))}.sdc-breadcrumb-text .sdc-breadcrumb-item-icon{color:currentColor}.sdc-breadcrumb-item-label{font-weight:400}.sdc-breadcrumb-separator{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--sdc-breadcrumb-separator-padding-x, 8px);color:var(--sdc-breadcrumb-separator-color, #667085);font-size:var(--sdc-breadcrumb-separator-size, 17px);line-height:1;transform:translateY(var(--sdc-breadcrumb-separator-translate-y, -1.6px))}.sdc-breadcrumb-separator:before{content:\"\\203a\"}.sdc-breadcrumb-current{color:var(--sdc-breadcrumb-current-color, #666872);font-weight:400}.sdc-breadcrumb-sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sdc-breadcrumb-item--current .sdc-breadcrumb-link{color:var(--sdc-breadcrumb-current-color, #666872);pointer-events:none}\n"] }]
|
|
265
|
+
args: [{ selector: 'sdc-breadcrumb', standalone: true, imports: [CommonModule, RouterModule, TranslateModule], encapsulation: ViewEncapsulation.Emulated, changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav\n class=\"sdc-breadcrumb\"\n [attr.aria-label]=\"(ariaLabelText() || 'platform.datacore.accessibility.breadcrumb_navigation') | translate\"\n>\n <ol class=\"sdc-breadcrumb-list\">\n @if (homeItem()) {\n <li class=\"sdc-breadcrumb-item sdc-breadcrumb-item--home\" [class.sdc-breadcrumb-item--current]=\"isAtHome()\">\n @if (!isAtHome() && canUseRouterLink(homeItem()!)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [routerLink]=\"routerLinkOf(homeItem()!)\"\n [queryParams]=\"queryParamsOf(homeItem()!)\"\n [fragment]=\"homeItem()!.fragment\"\n [queryParamsHandling]=\"homeItem()!.queryParamsHandling\"\n [preserveFragment]=\"homeItem()!.preserveFragment\"\n [skipLocationChange]=\"homeItem()!.skipLocationChange\"\n [replaceUrl]=\"homeItem()!.replaceUrl\"\n [state]=\"homeItem()!.state\"\n [attr.target]=\"targetAttrOf(homeItem()!)\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (homeItem()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"homeItem()!.icon\" aria-hidden=\"true\"></span>\n }\n </a>\n } @else if (!isAtHome() && canUseUrl(homeItem()!)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [attr.href]=\"hrefOf(homeItem()!)\"\n [attr.target]=\"targetAttrOf(homeItem()!)\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (homeItem()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"homeItem()!.icon\" aria-hidden=\"true\"></span>\n }\n </a>\n } @else {\n <span\n class=\"sdc-breadcrumb-text sdc-breadcrumb-text--home\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (homeItem()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"homeItem()!.icon\" aria-hidden=\"true\"></span>\n }\n </span>\n }\n </li>\n }\n\n @for (item of trailItems(); track $index) {\n <li class=\"sdc-breadcrumb-separator\" aria-hidden=\"true\"></li>\n\n <li\n class=\"sdc-breadcrumb-item\"\n [class.sdc-breadcrumb-item--current]=\"item.disabled\"\n [class.sdc-breadcrumb-item--previous]=\"!item.disabled && $index === trailItems().length - 2\"\n >\n @if (canNavigate(item)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [routerLink]=\"hasRouterLink(item) ? routerLinkOf(item) : null\"\n [queryParams]=\"queryParamsOf(item)\"\n [fragment]=\"item.fragment\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"item.preserveFragment\"\n [skipLocationChange]=\"item.skipLocationChange\"\n [replaceUrl]=\"item.replaceUrl\"\n [state]=\"item.state\"\n [attr.href]=\"!hasRouterLink(item) && hasUrl(item) ? hrefOf(item) : null\"\n [attr.target]=\"targetAttrOf(item)\"\n >\n <span class=\"sdc-breadcrumb-item-label\">{{ (item.label || '') | translate }}</span>\n <span class=\"sdc-breadcrumb-sr-only\">{{ ' (' + ($index + 1) + ')' }}</span>\n </a>\n } @else if (!item.disabled) {\n <span class=\"sdc-breadcrumb-text\">\n <span class=\"sdc-breadcrumb-item-label\">{{ (item.label || '') | translate }}</span>\n </span>\n } @else {\n <span class=\"sdc-breadcrumb-current\" aria-current=\"page\">{{ (item.label || '') | translate }}</span>\n }\n </li>\n }\n </ol>\n</nav>\n", styles: ["@charset \"UTF-8\";:host{display:block}.sdc-breadcrumb{font-size:12px;line-height:1.2;padding:0;background:transparent}.sdc-breadcrumb-list{list-style:none;display:flex;align-items:center;gap:0;margin:0;padding:0}.sdc-breadcrumb-item{display:inline-flex;align-items:center;min-height:18px}.sdc-breadcrumb-link{display:inline-flex;align-items:center;gap:var(--sdc-breadcrumb-link-gap, 8px);color:var(--sdc-breadcrumb-text-color, inherit);text-decoration:none!important;outline:none}.sdc-breadcrumb-item--home .sdc-breadcrumb-link,.sdc-breadcrumb-item--previous .sdc-breadcrumb-link{color:var(--sdc-breadcrumb-link-color, var(--sdc-primary-600, #2563eb))}.sdc-breadcrumb-item--home.sdc-breadcrumb-item--current .sdc-breadcrumb-text,.sdc-breadcrumb-item--home.sdc-breadcrumb-item--current .sdc-breadcrumb-item-icon{color:var(--sdc-breadcrumb-current-color, #666872);cursor:default}.sdc-breadcrumb-text{display:inline-flex;align-items:center;gap:var(--sdc-breadcrumb-link-gap, 8px);color:var(--sdc-breadcrumb-text-color, inherit)}.sdc-breadcrumb-link:hover,.sdc-breadcrumb-link:active,.sdc-breadcrumb-link:visited{text-decoration:none!important}.sdc-breadcrumb-link:focus-visible{outline:2px solid var(--sdc-primary-600, #2563eb);outline-offset:2px;border-radius:4px}.sdc-breadcrumb-item-icon{color:var(--sdc-breadcrumb-text-color, inherit);font-size:12px;line-height:1}.sdc-breadcrumb-item--home .sdc-breadcrumb-item-icon,.sdc-breadcrumb-item--previous .sdc-breadcrumb-item-icon{color:var(--sdc-breadcrumb-link-color, var(--sdc-primary-600, #2563eb))}.sdc-breadcrumb-text .sdc-breadcrumb-item-icon{color:currentColor}.sdc-breadcrumb-item-label{font-weight:400}.sdc-breadcrumb-separator{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--sdc-breadcrumb-separator-padding-x, 8px);color:var(--sdc-breadcrumb-separator-color, #667085);font-size:var(--sdc-breadcrumb-separator-size, 17px);line-height:1;transform:translateY(var(--sdc-breadcrumb-separator-translate-y, -1.6px))}.sdc-breadcrumb-separator:before{content:\"\\203a\"}.sdc-breadcrumb-current{color:var(--sdc-breadcrumb-current-color, #666872);font-weight:400}.sdc-breadcrumb-sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sdc-breadcrumb-item--current .sdc-breadcrumb-link{color:var(--sdc-breadcrumb-current-color, #666872);pointer-events:none}\n"] }]
|
|
248
266
|
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i1.Router }], propDecorators: { homeUrl: [{
|
|
249
267
|
type: Input
|
|
250
268
|
}], targetHomeUrl: [{
|
|
@@ -257,4 +275,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
257
275
|
}], items: [{
|
|
258
276
|
type: Input
|
|
259
277
|
}] } });
|
|
260
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQWtCLGFBQWEsRUFBRSxjQUFjLEVBQVUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QyxPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLGdDQUFnQyxFQUNoQyw4QkFBOEIsRUFDOUIsMEJBQTBCLEVBQzFCLHFCQUFxQixFQUN0QixNQUFNLHVDQUF1QyxDQUFDOzs7O0FBWS9DLE1BQU0sT0FBTyxtQkFBbUI7SUFpRVg7SUFDQTtJQWpFRixhQUFhLEdBQUcsTUFBTSxDQUFxQixTQUFTLENBQUMsQ0FBQztJQUN0RCxtQkFBbUIsR0FBRyxNQUFNLENBQVMsOEJBQThCLENBQUMsQ0FBQztJQUNyRSxlQUFlLEdBQUcsTUFBTSxDQUFxQixTQUFTLENBQUMsQ0FBQztJQUN4RCxtQkFBbUIsR0FBRyxNQUFNLENBQStCLFNBQVMsQ0FBQyxDQUFDO0lBQ3RFLGlC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TztzQkFEVixLQUFLO2dCQVdGLGFBQWE7c0JBRGhCLEtBQUs7Z0JBV0YsV0FBVztzQkFEZCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQVVsQyxTQUFTO3NCQURaLEtBQUs7Z0JBTUYsS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgY29tcHV0ZWQsXG4gIHNpZ25hbFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBOYXZpZ2F0aW9uRW5kLCBQUklNQVJZX09VVExFVCwgUm91dGVyLCBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIEJSRUFEQ1JVTUJfQUNUSVZFX0VYQUNUX09QVElPTlMsXG4gIEJSRUFEQ1JVTUJfQUNUSVZFX1NVQlNFVF9PUFRJT05TLFxuICBCUkVBRENSVU1CX0RFRkFVTFRfVEFSR0VUX0hPTUUsXG4gIEJSRUFEQ1JVTUJfSE9NRV9JQ09OX0NMQVNTLFxuICBCUkVBRENSVU1CX0lOREVYX1pFUk9cbn0gZnJvbSAnLi4vLi4vY29yZS9jb25zdGFudHMvYnJlYWRjcnVtYi5jb25zdCc7XG5pbXBvcnQgdHlwZSB7IEJyZWFkY3J1bWJJdGVtLCBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbCwgQnJlYWRjcnVtYk1hdGNoT3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvYnJlYWRjcnVtYi50eXBlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2RjLWJyZWFkY3J1bWInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnJlYWRjcnVtYi5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQnJlYWRjcnVtYkNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaG9tZVVybFNpZ25hbCA9IHNpZ25hbDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGFyZ2V0SG9tZVVybFNpZ25hbCA9IHNpZ25hbDxzdHJpbmc+KEJSRUFEQ1JVTUJfREVGQVVMVF9UQVJHRVRfSE9NRSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXJpYUxhYmVsU2lnbmFsID0gc2lnbmFsPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBpdGVtT3ZlcnJpZGVzU2lnbmFsID0gc2lnbmFsPEJyZWFkY3J1bWJJdGVtW10gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZW5hYmxlTGlua3NTaWduYWwgPSBzaWduYWwodHJ1ZSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGhvbWVJdGVtID0gc2lnbmFsPEJyZWFkY3J1bWJJdGVtVmlld01vZGVsIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHJhaWxJdGVtcyA9IHNpZ25hbDxCcmVhZGNydW1iSXRlbVZpZXdNb2RlbFtdPihbXSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGFyaWFMYWJlbFRleHQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmFyaWFMYWJlbFNpZ25hbCgpKTtcblxuICBASW5wdXQoKVxuICBzZXQgaG9tZVVybCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5ob21lVXJsU2lnbmFsLnNldCh2YWx1ZSA/PyB1bmRlZmluZWQpO1xuICAgIHRoaXMucmVidWlsZCgpO1xuICB9XG5cbiAgZ2V0IGhvbWVVcmwoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5ob21lVXJsU2lnbmFsKCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgdGFyZ2V0SG9tZVVybCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy50YXJnZXRIb21lVXJsU2lnbmFsLnNldCh2YWx1ZSA/PyBCUkVBRENSVU1CX0RFRkFVTFRfVEFSR0VUX0hPTUUpO1xuICAgIHRoaXMucmVidWlsZCgpO1xuICB9XG5cbiAgZ2V0IHRhcmdldEhvbWVVcmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50YXJnZXRIb21lVXJsU2lnbmFsKCk7XG4gIH1cblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgc2V0IGVuYWJsZUxpbmtzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5lbmFibGVMaW5rc1NpZ25hbC5zZXQodmFsdWUpO1xuICB9XG5cbiAgZ2V0IGVuYWJsZUxpbmtzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVuYWJsZUxpbmtzU2lnbmFsKCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgYXJpYUxhYmVsKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLmFyaWFMYWJlbFNpZ25hbC5zZXQodmFsdWUpO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGl0ZW1zKHZhbHVlOiBCcmVhZGNydW1iSXRlbVtdIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSBBcnJheS5pc0FycmF5KHZhbHVlKVxuICAgICAgPyB2YWx1ZS5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICBxdWVyeVBhcmFtczogaXRlbS5xdWVyeVBhcmFtcyA/IHsgLi4uaXRlbS5xdWVyeVBhcmFtcyB9IDogdW5kZWZpbmVkLFxuICAgICAgICAgIHN0YXRlOiBpdGVtLnN0YXRlID8geyAuLi5pdGVtLnN0YXRlIH0gOiB1bmRlZmluZWRcbiAgICAgICAgfSkpXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIHRoaXMuaXRlbU92ZXJyaWRlc1NpZ25hbC5zZXQobm9ybWFsaXplZCk7XG4gICAgdGhpcy5yZWJ1aWxkKCk7XG4gIH1cblxuICBnZXQgaXRlbXMoKTogQnJlYWRjcnVtYkl0ZW1bXSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbU92ZXJyaWRlc1NpZ25hbCgpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlclxuICApIHtcbiAgICB0aGlzLnJvdXRlci5ldmVudHNcbiAgICAgIC5waXBlKGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksIHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlYnVpbGQoKSk7XG5cbiAgICB0aGlzLnJlYnVpbGQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwcmV2ZW50KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFzUm91dGVyTGluayhpdGVtOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbCB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIWl0ZW0gJiYgaXRlbS5yb3V0ZXJMaW5rICE9IG51bGw7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFzVXJsKGl0ZW06IEJyZWFkY3J1bWJJdGVtVmlld01vZGVsIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhaXRlbT8udXJsO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNhblVzZVJvdXRlckxpbmsoaXRlbTogQnJlYWRjcnVtYkl0ZW1WaWV3TW9kZWwgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lbmFibGVMaW5rc1NpZ25hbCgpICYmIHRoaXMuaGFzUm91dGVyTGluayhpdGVtKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjYW5Vc2VVcmwoaXRlbTogQnJlYWRjcnVtYkl0ZW1WaWV3TW9kZWwgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lbmFibGVMaW5rc1NpZ25hbCgpICYmICF0aGlzLmhhc1JvdXRlckxpbmsoaXRlbSkgJiYgdGhpcy5oYXNVcmwoaXRlbSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2FuTmF2aWdhdGUoaXRlbTogQnJlYWRjcnVtYkl0ZW1WaWV3TW9kZWwgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lbmFibGVMaW5rc1NpZ25hbCgpICYmICFpdGVtPy5kaXNhYmxlZCAmJiAodGhpcy5oYXNSb3V0ZXJMaW5rKGl0ZW0pIHx8IHRoaXMuaGFzVXJsKGl0ZW0pKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByb3V0ZXJMaW5rT2YoaXRlbTogQnJlYWRjcnVtYkl0ZW1WaWV3TW9kZWwpOiBCcmVhZGNydW1iSXRlbVsncm91dGVyTGluayddIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gaXRlbS5yb3V0ZXJMaW5rO1xuICB9XG5cbiAgcHJvdGVjdGVkIHF1ZXJ5UGFyYW1zT2YoaXRlbTogQnJlYWRjcnVtYkl0ZW1WaWV3TW9kZWwpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGl0ZW0ucXVlcnlQYXJhbXM7XG4gIH1cblxuICBwcm90ZWN0ZWQgaHJlZk9mKGl0ZW06IEJyZWFkY3J1bWJJdGVtVmlld01vZGVsKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIGl0ZW0udXJsID8/IG51bGw7XG4gIH1cblxuICBwcm90ZWN0ZWQgdGFyZ2V0QXR0ck9mKGl0ZW06IEJyZWFkY3J1bWJJdGVtVmlld01vZGVsKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIGl0ZW0udGFyZ2V0ID8/IG51bGw7XG4gIH1cblxuICBwcml2YXRlIHJlYnVpbGQoKTogdm9pZCB7XG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLml0ZW1PdmVycmlkZXNTaWduYWwoKTtcblxuICAgIGlmIChpdGVtcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmhvbWVJdGVtLnNldCh0aGlzLmdldEN1cnJlbnRIb21lRnJvbUl0ZW1zKGl0ZW1zKSk7XG4gICAgICB0aGlzLnRyYWlsSXRlbXMuc2V0KHRoaXMuZ2V0Q3VycmVudEl0ZW1zRnJvbUl0ZW1zKGl0ZW1zKSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY3VycmVudFJvdXRlID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5yb290O1xuICAgIGNvbnN0IHZhbGlkUm91dGVzID0gdGhpcy5nZXRBY3RpdmVCcmFuY2goY3VycmVudFJvdXRlKTtcblxuICAgIHRoaXMuaG9tZUl0ZW0uc2V0KHRoaXMuZ2V0Q3VycmVudEhvbWUodmFsaWRSb3V0ZXMpKTtcbiAgICB0aGlzLnRyYWlsSXRlbXMuc2V0KHRoaXMuZ2V0Q3VycmVudEl0ZW1zKHZhbGlkUm91dGVzKSk7XG4gIH1cblxuICBwcml2YXRlIGdldEFjdGl2ZUJyYW5jaChyb3V0ZTogQWN0aXZhdGVkUm91dGUpOiBBY3RpdmF0ZWRSb3V0ZVtdIHtcbiAgICBjb25zdCBicmFuY2g6IEFjdGl2YXRlZFJvdXRlW10gPSBbXTtcbiAgICBsZXQgY3VycmVudDogQWN0aXZhdGVkUm91dGUgfCBudWxsID0gcm91dGU7XG5cbiAgICB3aGlsZSAoY3VycmVudCkge1xuICAgICAgY29uc3Qgcm91dGVDb25maWcgPSBjdXJyZW50LnJvdXRlQ29uZmlnO1xuICAgICAgY29uc3QgaGFzUmVuZGVyYWJsZSA9ICEhcm91dGVDb25maWc/LmNvbXBvbmVudCB8fCAhIXJvdXRlQ29uZmlnPy5sb2FkQ29tcG9uZW50O1xuICAgICAgY29uc3QgaGFzUm91dGVUaXRsZSA9ICEhKGN1cnJlbnQuc25hcHNob3Q/LmRhdGE/Llsncm91dGVUaXRsZSddID8/IHJvdXRlQ29uZmlnPy5kYXRhPy5bJ3JvdXRlVGl0bGUnXSk7XG4gICAgICBjb25zdCBoYXNQYXRoID0gISFyb3V0ZUNvbmZpZz8ucGF0aDtcblxuICAgICAgaWYgKGhhc1BhdGggJiYgKGhhc1JlbmRlcmFibGUgfHwgaGFzUm91dGVUaXRsZSkgJiYgY3VycmVudC5vdXRsZXQgPT09IFBSSU1BUllfT1VUTEVUKSB7XG4gICAgICAgIGJyYW5jaC5wdXNoKGN1cnJlbnQpO1xuICAgICAgfVxuXG4gICAgICBjdXJyZW50ID0gY3VycmVudC5jaGlsZHJlbi5maW5kKChjaGlsZCkgPT4gY2hpbGQub3V0bGV0ID09PSBQUklNQVJZX09VVExFVCkgPz8gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gYnJhbmNoO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdXJyZW50SG9tZShyb3V0ZXM6IEFjdGl2YXRlZFJvdXRlW10pOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaG9tZVVybCA9IHRoaXMuaG9tZVVybFNpZ25hbCgpO1xuICAgIGNvbnN0IHRhcmdldCA9IHRoaXMudGFyZ2V0SG9tZVVybFNpZ25hbCgpO1xuXG4gICAgaWYgKGhvbWVVcmwpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGxhYmVsOiAnJyxcbiAgICAgICAgcm91dGVyTGluazogW2hvbWVVcmxdLFxuICAgICAgICBpY29uOiBCUkVBRENSVU1CX0hPTUVfSUNPTl9DTEFTUyxcbiAgICAgICAgcm91dGVyTGlua0FjdGl2ZU9wdGlvbnM6IEJSRUFEQ1JVTUJfQUNUSVZFX1NVQlNFVF9PUFRJT05TLFxuICAgICAgICB0YXJnZXRcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKCFyb3V0ZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IGlzU2luZ2xlID0gcm91dGVzLmxlbmd0aCA9PT0gMTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi50aGlzLmdldE1lbnVJdGVtKHJvdXRlc1tCUkVBRENSVU1CX0lOREVYX1pFUk9dLCBpc1NpbmdsZSksXG4gICAgICBpY29uOiBCUkVBRENSVU1CX0hPTUVfSUNPTl9DTEFTUyxcbiAgICAgIGxhYmVsOiAnJyxcbiAgICAgIHJvdXRlckxpbmtBY3RpdmVPcHRpb25zOiBCUkVBRENSVU1CX0FDVElWRV9TVUJTRVRfT1BUSU9OUyxcbiAgICAgIHRhcmdldFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldEN1cnJlbnRJdGVtcyhyb3V0ZXM6IEFjdGl2YXRlZFJvdXRlW10pOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbFtdIHtcbiAgICBpZiAoIXJvdXRlcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBmcm9tUm91dGVzID0gdGhpcy5ob21lVXJsU2lnbmFsKCkgPyByb3V0ZXMgOiByb3V0ZXMuc2xpY2UoMSk7XG5cbiAgICBpZiAoIWZyb21Sb3V0ZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgbGFzdEluZGV4ID0gZnJvbVJvdXRlcy5sZW5ndGggLSAxO1xuICAgIHJldHVybiBmcm9tUm91dGVzLm1hcCgocm91dGUsIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5nZXRNZW51SXRlbShyb3V0ZSwgaW5kZXggPT09IGxhc3RJbmRleCk7XG4gICAgICBpZiAoaXRlbS5yb3V0ZXJMaW5rICYmIGluZGV4IDwgbGFzdEluZGV4IC0gMSkge1xuICAgICAgICBjb25zdCB7IHJvdXRlckxpbmssIHVybCwgLi4ucmVzdCB9ID0gaXRlbTtcbiAgICAgICAgcmV0dXJuIHJlc3QgYXMgQnJlYWRjcnVtYkl0ZW1WaWV3TW9kZWw7XG4gICAgICB9XG4gICAgICByZXR1cm4gaXRlbTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q3VycmVudEhvbWVGcm9tSXRlbXMoaXRlbXM6IEJyZWFkY3J1bWJJdGVtW10pOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaG9tZVVybCA9IHRoaXMuaG9tZVVybFNpZ25hbCgpO1xuICAgIGNvbnN0IHRhcmdldCA9IHRoaXMudGFyZ2V0SG9tZVVybFNpZ25hbCgpO1xuXG4gICAgaWYgKGhvbWVVcmwpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGxhYmVsOiAnJyxcbiAgICAgICAgcm91dGVyTGluazogW2hvbWVVcmxdLFxuICAgICAgICBpY29uOiBCUkVBRENSVU1CX0hPTUVfSUNPTl9DTEFTUyxcbiAgICAgICAgcm91dGVyTGlua0FjdGl2ZU9wdGlvbnM6IEJSRUFEQ1JVTUJfQUNUSVZFX1NVQlNFVF9PUFRJT05TLFxuICAgICAgICB0YXJnZXRcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKCFpdGVtcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnRoaXMudG9JdGVtVm0oaXRlbXNbQlJFQURDUlVNQl9JTkRFWF9aRVJPXSwgdHJ1ZSwgQlJFQURDUlVNQl9BQ1RJVkVfU1VCU0VUX09QVElPTlMpLFxuICAgICAgaWNvbjogaXRlbXNbQlJFQURDUlVNQl9JTkRFWF9aRVJPXS5pY29uID8/IEJSRUFEQ1JVTUJfSE9NRV9JQ09OX0NMQVNTLFxuICAgICAgbGFiZWw6ICcnLFxuICAgICAgdGFyZ2V0OiBpdGVtc1tCUkVBRENSVU1CX0lOREVYX1pFUk9dLnRhcmdldCA/PyB0YXJnZXRcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdXJyZW50SXRlbXNGcm9tSXRlbXMoaXRlbXM6IEJyZWFkY3J1bWJJdGVtW10pOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbFtdIHtcbiAgICBpZiAoIWl0ZW1zLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGNvbnN0IGZyb21JdGVtcyA9IHRoaXMuaG9tZVVybFNpZ25hbCgpID8gaXRlbXMgOiBpdGVtcy5zbGljZSgxKTtcblxuICAgIGlmICghZnJvbUl0ZW1zLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGNvbnN0IGxhc3RJbmRleCA9IGZyb21JdGVtcy5sZW5ndGggLSAxO1xuICAgIHJldHVybiBmcm9tSXRlbXMubWFwKChpdGVtLCBpbmRleCkgPT4gdGhpcy50b0l0ZW1WbShpdGVtLCBpdGVtLmRpc2FibGVkID8/IGluZGV4ID09PSBsYXN0SW5kZXgpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TWVudUl0ZW0ocm91dGU6IEFjdGl2YXRlZFJvdXRlLCBkaXNhYmxlZCA9IGZhbHNlKTogQnJlYWRjcnVtYkl0ZW1WaWV3TW9kZWwge1xuICAgIGNvbnN0IGxhYmVsID0gdGhpcy5nZXRUaXRsZShyb3V0ZSk7XG4gICAgY29uc3QgaGFzTGluayA9IHJvdXRlLnNuYXBzaG90Py5kYXRhPy5bJ2JyZWFkY3J1bWJMaW5rJ10gIT09IGZhbHNlICYmXG4gICAgICByb3V0ZS5yb3V0ZUNvbmZpZz8uZGF0YT8uWydicmVhZGNydW1iTGluayddICE9PSBmYWxzZTtcblxuICAgIGlmICghaGFzTGluaykge1xuICAgICAgcmV0dXJuIHsgbGFiZWwsIGRpc2FibGVkOiBmYWxzZSB9O1xuICAgIH1cblxuICAgIGNvbnN0IHBhdGhGcm9tUm9vdCA9IHJvdXRlLnBhdGhGcm9tUm9vdDtcbiAgICBjb25zdCBzdG9wSW5kZXggPSBwYXRoRnJvbVJvb3QuaW5kZXhPZihyb3V0ZSk7XG5cbiAgICBjb25zdCBwYXJ0cyA9IHBhdGhGcm9tUm9vdFxuICAgICAgLnNsaWNlKEJSRUFEQ1JVTUJfSU5ERVhfWkVSTywgc3RvcEluZGV4ICsgMSlcbiAgICAgIC5mbGF0TWFwKChjdXJyZW50Um91dGUpID0+IChjdXJyZW50Um91dGUuc25hcHNob3Q/LnVybCA/PyBbXSkubWFwKCh1cmxQYXJ0KSA9PiB1cmxQYXJ0LnBhdGgpKVxuICAgICAgLmZpbHRlcigocGF0aCk6IHBhdGggaXMgc3RyaW5nID0+IEJvb2xlYW4ocGF0aCkpO1xuXG4gICAgY29uc3Qgcm91dGVyTGluayA9IFsnLycsIC4uLnBhcnRzXTtcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IChyb3V0ZS5zbmFwc2hvdD8ucXVlcnlQYXJhbXMgPz8ge30pIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxhYmVsLFxuICAgICAgcm91dGVyTGluayxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgcXVlcnlQYXJhbXMsXG4gICAgICByb3V0ZXJMaW5rQWN0aXZlT3B0aW9uczogQlJFQURDUlVNQl9BQ1RJVkVfRVhBQ1RfT1BUSU9OU1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHRvSXRlbVZtKFxuICAgIGl0ZW06IEJyZWFkY3J1bWJJdGVtLFxuICAgIGRpc2FibGVkID0gZmFsc2UsXG4gICAgcm91dGVyTGlua0FjdGl2ZU9wdGlvbnM6IEJyZWFkY3J1bWJNYXRjaE9wdGlvbnMgPSBCUkVBRENSVU1CX0FDVElWRV9FWEFDVF9PUFRJT05TXG4gICk6IEJyZWFkY3J1bWJJdGVtVmlld01vZGVsIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uaXRlbSxcbiAgICAgIGxhYmVsOiBTdHJpbmcoaXRlbS5sYWJlbCA/PyAnJyksXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIHJvdXRlckxpbmtBY3RpdmVPcHRpb25zOiBpdGVtLnJvdXRlckxpbmtBY3RpdmVPcHRpb25zID8/IHJvdXRlckxpbmtBY3RpdmVPcHRpb25zXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGl0bGUocm91dGU6IEFjdGl2YXRlZFJvdXRlKTogc3RyaW5nIHtcbiAgICBjb25zdCB0aXRsZSA9XG4gICAgICByb3V0ZS5zbmFwc2hvdD8uZGF0YT8uWydicmVhZGNydW1iVGl0bGUnXSA/P1xuICAgICAgcm91dGUucm91dGVDb25maWc/LmRhdGE/LlsnYnJlYWRjcnVtYlRpdGxlJ10gPz9cbiAgICAgIHJvdXRlLnNuYXBzaG90Py5kYXRhPy5bJ3JvdXRlVGl0bGUnXSA/P1xuICAgICAgcm91dGUucm91dGVDb25maWc/LmRhdGE/Llsncm91dGVUaXRsZSddO1xuXG4gICAgaWYgKCF0aXRsZSkge1xuICAgICAgY29uc3QgcGF0aCA9IHJvdXRlLnJvdXRlQ29uZmlnPy5wYXRoID8/ICcnO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyByb3V0ZVRpdGxlIGRlZmluZWQgZm9yIHRoZSByb3V0ZSAvJHtwYXRofWApO1xuICAgIH1cblxuICAgIHJldHVybiBTdHJpbmcodGl0bGUpO1xuICB9XG59XG4iLCI8bmF2XG4gIGNsYXNzPVwic2RjLWJyZWFkY3J1bWJcIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cIihhcmlhTGFiZWxUZXh0KCkgfHwgJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHkuYnJlYWRjcnVtYl9uYXZpZ2F0aW9uJykgfCB0cmFuc2xhdGVcIlxuPlxuICA8b2wgY2xhc3M9XCJzZGMtYnJlYWRjcnVtYi1saXN0XCI+XG4gICAgQGlmIChob21lSXRlbSgpKSB7XG4gICAgICA8bGkgY2xhc3M9XCJzZGMtYnJlYWRjcnVtYi1pdGVtIHNkYy1icmVhZGNydW1iLWl0ZW0tLWhvbWVcIj5cbiAgICAgICAgQGlmIChjYW5Vc2VSb3V0ZXJMaW5rKGhvbWVJdGVtKCkhKSkge1xuICAgICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cInNkYy1icmVhZGNydW1iLWxpbmtcIlxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwicm91dGVyTGlua09mKGhvbWVJdGVtKCkhKVwiXG4gICAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwicXVlcnlQYXJhbXNPZihob21lSXRlbSgpISlcIlxuICAgICAgICAgICAgW2ZyYWdtZW50XT1cImhvbWVJdGVtKCkhLmZyYWdtZW50XCJcbiAgICAgICAgICAgIFtxdWVyeVBhcmFtc0hhbmRsaW5nXT1cImhvbWVJdGVtKCkhLnF1ZXJ5UGFyYW1zSGFuZGxpbmdcIlxuICAgICAgICAgICAgW3ByZXNlcnZlRnJhZ21lbnRdPVwiaG9tZUl0ZW0oKSEucHJlc2VydmVGcmFnbWVudFwiXG4gICAgICAgICAgICBbc2tpcExvY2F0aW9uQ2hhbmdlXT1cImhvbWVJdGVtKCkhLnNraXBMb2NhdGlvbkNoYW5nZVwiXG4gICAgICAgICAgICBbcmVwbGFjZVVybF09XCJob21lSXRlbSgpIS5yZXBsYWNlVXJsXCJcbiAgICAgICAgICAgIFtzdGF0ZV09XCJob21lSXRlbSgpIS5zdGF0ZVwiXG4gICAgICAgICAgICBbYXR0ci50YXJnZXRdPVwidGFyZ2V0QXR0ck9mKGhvbWVJdGVtKCkhKVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5LmJyZWFkY3J1bWJfaG9tZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIEBpZiAoaG9tZUl0ZW0oKSEuaWNvbikge1xuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNkYy1icmVhZGNydW1iLWl0ZW0taWNvblwiIFtjbGFzc109XCJob21lSXRlbSgpIS5pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgfSBAZWxzZSBpZiAoY2FuVXNlVXJsKGhvbWVJdGVtKCkhKSkge1xuICAgICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cInNkYy1icmVhZGNydW1iLWxpbmtcIlxuICAgICAgICAgICAgW2F0dHIuaHJlZl09XCJocmVmT2YoaG9tZUl0ZW0oKSEpXCJcbiAgICAgICAgICAgIFthdHRyLnRhcmdldF09XCJ0YXJnZXRBdHRyT2YoaG9tZUl0ZW0oKSEpXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHkuYnJlYWRjcnVtYl9ob21lJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgQGlmIChob21lSXRlbSgpIS5pY29uKSB7XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItaXRlbS1pY29uXCIgW2NsYXNzXT1cImhvbWVJdGVtKCkhLmljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9hPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJzZGMtYnJlYWRjcnVtYi10ZXh0IHNkYy1icmVhZGNydW1iLXRleHQtLWhvbWVcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCIncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5icmVhZGNydW1iX2hvbWUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKGhvbWVJdGVtKCkhLmljb24pIHtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtYnJlYWRjcnVtYi1pdGVtLWljb25cIiBbY2xhc3NdPVwiaG9tZUl0ZW0oKSEuaWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvbGk+XG4gICAgfVxuXG4gICAgQGZvciAoaXRlbSBvZiB0cmFpbEl0ZW1zKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgPGxpIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItc2VwYXJhdG9yXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9saT5cblxuICAgICAgPGxpXG4gICAgICAgIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItaXRlbVwiXG4gICAgICAgIFtjbGFzcy5zZGMtYnJlYWRjcnVtYi1pdGVtLS1jdXJyZW50XT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICBbY2xhc3Muc2RjLWJyZWFkY3J1bWItaXRlbS0tcHJldmlvdXNdPVwiIWl0ZW0uZGlzYWJsZWQgJiYgJGluZGV4ID09PSB0cmFpbEl0ZW1zKCkubGVuZ3RoIC0gMlwiXG4gICAgICA+XG4gICAgICAgIEBpZiAoY2FuTmF2aWdhdGUoaXRlbSkpIHtcbiAgICAgICAgICA8YVxuICAgICAgICAgICAgY2xhc3M9XCJzZGMtYnJlYWRjcnVtYi1saW5rXCJcbiAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImhhc1JvdXRlckxpbmsoaXRlbSkgPyByb3V0ZXJMaW5rT2YoaXRlbSkgOiBudWxsXCJcbiAgICAgICAgICAgIFtxdWVyeVBhcmFtc109XCJxdWVyeVBhcmFtc09mKGl0ZW0pXCJcbiAgICAgICAgICAgIFtmcmFnbWVudF09XCJpdGVtLmZyYWdtZW50XCJcbiAgICAgICAgICAgIFtxdWVyeVBhcmFtc0hhbmRsaW5nXT1cIml0ZW0ucXVlcnlQYXJhbXNIYW5kbGluZ1wiXG4gICAgICAgICAgICBbcHJlc2VydmVGcmFnbWVudF09XCJpdGVtLnByZXNlcnZlRnJhZ21lbnRcIlxuICAgICAgICAgICAgW3NraXBMb2NhdGlvbkNoYW5nZV09XCJpdGVtLnNraXBMb2NhdGlvbkNoYW5nZVwiXG4gICAgICAgICAgICBbcmVwbGFjZVVybF09XCJpdGVtLnJlcGxhY2VVcmxcIlxuICAgICAgICAgICAgW3N0YXRlXT1cIml0ZW0uc3RhdGVcIlxuICAgICAgICAgICAgW2F0dHIuaHJlZl09XCIhaGFzUm91dGVyTGluayhpdGVtKSAmJiBoYXNVcmwoaXRlbSkgPyBocmVmT2YoaXRlbSkgOiBudWxsXCJcbiAgICAgICAgICAgIFthdHRyLnRhcmdldF09XCJ0YXJnZXRBdHRyT2YoaXRlbSlcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItaXRlbS1sYWJlbFwiPnt7IChpdGVtLmxhYmVsIHx8ICcnKSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItc3Itb25seVwiPnt7ICcgKCcgKyAoJGluZGV4ICsgMSkgKyAnKScgfX08L3NwYW4+XG4gICAgICAgICAgPC9hPlxuICAgICAgICB9IEBlbHNlIGlmICghaXRlbS5kaXNhYmxlZCkge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItdGV4dFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtYnJlYWRjcnVtYi1pdGVtLWxhYmVsXCI+e3sgKGl0ZW0ubGFiZWwgfHwgJycpIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtYnJlYWRjcnVtYi1jdXJyZW50XCIgYXJpYS1jdXJyZW50PVwicGFnZVwiPnt7IChpdGVtLmxhYmVsIHx8ICcnKSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgPC9saT5cbiAgICB9XG4gIDwvb2w+XG48L25hdj5cbiJdfQ==
|
|
278
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQWtCLGFBQWEsRUFBRSxjQUFjLEVBQVUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QyxPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLGdDQUFnQyxFQUNoQyw4QkFBOEIsRUFDOUIsMEJBQTBCLEVBQzFCLHFCQUFxQixFQUN0QixNQUFNLHVDQUF1QyxDQUFDOzs7O0FBWS9DLE1BQU0sT0FBTyxtQkFBbUI7SUFrRVg7SUFDQTtJQWxFRixhQUFhLEdBQUcsTUFBTSxDQUFxQixTQUFTLENBQUMsQ0FBQztJQUN0RCxtQkFBbUIsR0FBRyxNQUFNLENBQVMsOEJBQThCLENBQUMsQ0FBQztJQUNyRSxlQUFlLEdBQUcsTUFBTSxDQUFxQixTQUFTLENBQUMsQ0FBQztJQUN4RCxtQkFBbUIsR0FBRyxNQUFNLENBQStCLFNBQVMsQ0FBQyxDQUFDO0lBQ3RFLGlC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QUFDLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQztZQUN0QixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDNUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUMzQixDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU1QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRTtZQUNuQyxLQUFLLEVBQUUsT0FBTztZQUNkLFdBQVcsRUFBRSxRQUFRO1lBQ3JCLFFBQVEsRUFBRSxTQUFTO1lBQ25CLFlBQVksRUFBRSxTQUFTO1NBQ3hCLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBaFVVLG1CQUFtQjs0RkFBbkIsbUJBQW1CLDRKQWlDVixnQkFBZ0IscUVDbEV0Qyxxd0hBcUZBLGk1RUQxRFksWUFBWSw4QkFBRSxZQUFZLCtRQUFFLGVBQWU7OzRGQU0xQyxtQkFBbUI7a0JBVC9CLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxlQUFlLENBQUMsaUJBR3ZDLGlCQUFpQixDQUFDLFFBQVEsbUJBQ3hCLHVCQUF1QixDQUFDLE1BQU07d0dBZ0IzQyxPQUFPO3NCQURWLEtBQUs7Z0JBV0YsYUFBYTtzQkFEaEIsS0FBSztnQkFXRixXQUFXO3NCQURkLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBVWxDLFNBQVM7c0JBRFosS0FBSztnQkFNRixLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBib29sZWFuQXR0cmlidXRlLFxuICBjb21wdXRlZCxcbiAgc2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQsIFBSSU1BUllfT1VUTEVULCBSb3V0ZXIsIFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgQlJFQURDUlVNQl9BQ1RJVkVfRVhBQ1RfT1BUSU9OUyxcbiAgQlJFQURDUlVNQl9BQ1RJVkVfU1VCU0VUX09QVElPTlMsXG4gIEJSRUFEQ1JVTUJfREVGQVVMVF9UQVJHRVRfSE9NRSxcbiAgQlJFQURDUlVNQl9IT01FX0lDT05fQ0xBU1MsXG4gIEJSRUFEQ1JVTUJfSU5ERVhfWkVST1xufSBmcm9tICcuLi8uLi9jb3JlL2NvbnN0YW50cy9icmVhZGNydW1iLmNvbnN0JztcbmltcG9ydCB0eXBlIHsgQnJlYWRjcnVtYkl0ZW0sIEJyZWFkY3J1bWJJdGVtVmlld01vZGVsLCBCcmVhZGNydW1iTWF0Y2hPcHRpb25zIH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcy9icmVhZGNydW1iLnR5cGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtYnJlYWRjcnVtYicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJvdXRlck1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9icmVhZGNydW1iLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBCcmVhZGNydW1iQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBob21lVXJsU2lnbmFsID0gc2lnbmFsPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0YXJnZXRIb21lVXJsU2lnbmFsID0gc2lnbmFsPHN0cmluZz4oQlJFQURDUlVNQl9ERUZBVUxUX1RBUkdFVF9IT01FKTtcbiAgcHJpdmF0ZSByZWFkb25seSBhcmlhTGFiZWxTaWduYWwgPSBzaWduYWw8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBwcml2YXRlIHJlYWRvbmx5IGl0ZW1PdmVycmlkZXNTaWduYWwgPSBzaWduYWw8QnJlYWRjcnVtYkl0ZW1bXSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBlbmFibGVMaW5rc1NpZ25hbCA9IHNpZ25hbCh0cnVlKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaG9tZUl0ZW0gPSBzaWduYWw8QnJlYWRjcnVtYkl0ZW1WaWV3TW9kZWwgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHByb3RlY3RlZCByZWFkb25seSB0cmFpbEl0ZW1zID0gc2lnbmFsPEJyZWFkY3J1bWJJdGVtVmlld01vZGVsW10+KFtdKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzQXRIb21lID0gc2lnbmFsKGZhbHNlKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXJpYUxhYmVsVGV4dCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuYXJpYUxhYmVsU2lnbmFsKCkpO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBob21lVXJsKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLmhvbWVVcmxTaWduYWwuc2V0KHZhbHVlID8/IHVuZGVmaW5lZCk7XG4gICAgdGhpcy5yZWJ1aWxkKCk7XG4gIH1cblxuICBnZXQgaG9tZVVybCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmhvbWVVcmxTaWduYWwoKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCB0YXJnZXRIb21lVXJsKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLnRhcmdldEhvbWVVcmxTaWduYWwuc2V0KHZhbHVlID8/IEJSRUFEQ1JVTUJfREVGQVVMVF9UQVJHRVRfSE9NRSk7XG4gICAgdGhpcy5yZWJ1aWxkKCk7XG4gIH1cblxuICBnZXQgdGFyZ2V0SG9tZVVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRhcmdldEhvbWVVcmxTaWduYWwoKTtcbiAgfVxuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBzZXQgZW5hYmxlTGlua3ModmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmVuYWJsZUxpbmtzU2lnbmFsLnNldCh2YWx1ZSk7XG4gIH1cblxuICBnZXQgZW5hYmxlTGlua3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZW5hYmxlTGlua3NTaWduYWwoKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBhcmlhTGFiZWwodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuYXJpYUxhYmVsU2lnbmFsLnNldCh2YWx1ZSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgaXRlbXModmFsdWU6IEJyZWFkY3J1bWJJdGVtW10gfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgY29uc3Qgbm9ybWFsaXplZCA9IEFycmF5LmlzQXJyYXkodmFsdWUpXG4gICAgICA/IHZhbHVlLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgIHF1ZXJ5UGFyYW1zOiBpdGVtLnF1ZXJ5UGFyYW1zID8geyAuLi5pdGVtLnF1ZXJ5UGFyYW1zIH0gOiB1bmRlZmluZWQsXG4gICAgICAgICAgc3RhdGU6IGl0ZW0uc3RhdGUgPyB7IC4uLml0ZW0uc3RhdGUgfSA6IHVuZGVmaW5lZFxuICAgICAgICB9KSlcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgdGhpcy5pdGVtT3ZlcnJpZGVzU2lnbmFsLnNldChub3JtYWxpemVkKTtcbiAgICB0aGlzLnJlYnVpbGQoKTtcbiAgfVxuXG4gIGdldCBpdGVtcygpOiBCcmVhZGNydW1iSXRlbVtdIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtT3ZlcnJpZGVzU2lnbmFsKCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyXG4gICkge1xuICAgIHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgLnBpcGUoZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSwgdGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVidWlsZCgpKTtcblxuICAgIHRoaXMucmVidWlsZCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHByZXZlbnQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYXNSb3V0ZXJMaW5rKGl0ZW06IEJyZWFkY3J1bWJJdGVtVmlld01vZGVsIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhaXRlbSAmJiBpdGVtLnJvdXRlckxpbmsgIT0gbnVsbDtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYXNVcmwoaXRlbTogQnJlYWRjcnVtYkl0ZW1WaWV3TW9kZWwgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISFpdGVtPy51cmw7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2FuVXNlUm91dGVyTGluayhpdGVtOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbCB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVuYWJsZUxpbmtzU2lnbmFsKCkgJiYgdGhpcy5oYXNSb3V0ZXJMaW5rKGl0ZW0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNhblVzZVVybChpdGVtOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbCB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVuYWJsZUxpbmtzU2lnbmFsKCkgJiYgIXRoaXMuaGFzUm91dGVyTGluayhpdGVtKSAmJiB0aGlzLmhhc1VybChpdGVtKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjYW5OYXZpZ2F0ZShpdGVtOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbCB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVuYWJsZUxpbmtzU2lnbmFsKCkgJiYgIWl0ZW0/LmRpc2FibGVkICYmICh0aGlzLmhhc1JvdXRlckxpbmsoaXRlbSkgfHwgdGhpcy5oYXNVcmwoaXRlbSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJvdXRlckxpbmtPZihpdGVtOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbCk6IEJyZWFkY3J1bWJJdGVtWydyb3V0ZXJMaW5rJ10gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBpdGVtLnJvdXRlckxpbms7XG4gIH1cblxuICBwcm90ZWN0ZWQgcXVlcnlQYXJhbXNPZihpdGVtOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gaXRlbS5xdWVyeVBhcmFtcztcbiAgfVxuXG4gIHByb3RlY3RlZCBocmVmT2YoaXRlbTogQnJlYWRjcnVtYkl0ZW1WaWV3TW9kZWwpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gaXRlbS51cmwgPz8gbnVsbDtcbiAgfVxuXG4gIHByb3RlY3RlZCB0YXJnZXRBdHRyT2YoaXRlbTogQnJlYWRjcnVtYkl0ZW1WaWV3TW9kZWwpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gaXRlbS50YXJnZXQgPz8gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgcmVidWlsZCgpOiB2b2lkIHtcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuaXRlbU92ZXJyaWRlc1NpZ25hbCgpO1xuXG4gICAgaWYgKGl0ZW1zICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuaG9tZUl0ZW0uc2V0KHRoaXMuZ2V0Q3VycmVudEhvbWVGcm9tSXRlbXMoaXRlbXMpKTtcbiAgICAgIHRoaXMudHJhaWxJdGVtcy5zZXQodGhpcy5nZXRDdXJyZW50SXRlbXNGcm9tSXRlbXMoaXRlbXMpKTtcbiAgICAgIHRoaXMuaXNBdEhvbWUuc2V0KHRoaXMuY2hlY2tJc0F0SG9tZSgpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50Um91dGUgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnJvb3Q7XG4gICAgY29uc3QgdmFsaWRSb3V0ZXMgPSB0aGlzLmdldEFjdGl2ZUJyYW5jaChjdXJyZW50Um91dGUpO1xuXG4gICAgdGhpcy5ob21lSXRlbS5zZXQodGhpcy5nZXRDdXJyZW50SG9tZSh2YWxpZFJvdXRlcykpO1xuICAgIHRoaXMudHJhaWxJdGVtcy5zZXQodGhpcy5nZXRDdXJyZW50SXRlbXModmFsaWRSb3V0ZXMpKTtcbiAgICB0aGlzLmlzQXRIb21lLnNldCh0aGlzLmNoZWNrSXNBdEhvbWUoKSk7XG4gIH1cblxuICBwcml2YXRlIGdldEFjdGl2ZUJyYW5jaChyb3V0ZTogQWN0aXZhdGVkUm91dGUpOiBBY3RpdmF0ZWRSb3V0ZVtdIHtcbiAgICBjb25zdCBicmFuY2g6IEFjdGl2YXRlZFJvdXRlW10gPSBbXTtcbiAgICBsZXQgY3VycmVudDogQWN0aXZhdGVkUm91dGUgfCBudWxsID0gcm91dGU7XG5cbiAgICB3aGlsZSAoY3VycmVudCkge1xuICAgICAgY29uc3Qgcm91dGVDb25maWcgPSBjdXJyZW50LnJvdXRlQ29uZmlnO1xuICAgICAgY29uc3QgaGFzUmVuZGVyYWJsZSA9ICEhcm91dGVDb25maWc/LmNvbXBvbmVudCB8fCAhIXJvdXRlQ29uZmlnPy5sb2FkQ29tcG9uZW50O1xuICAgICAgY29uc3QgaGFzUm91dGVUaXRsZSA9ICEhKGN1cnJlbnQuc25hcHNob3Q/LmRhdGE/Llsncm91dGVUaXRsZSddID8/IHJvdXRlQ29uZmlnPy5kYXRhPy5bJ3JvdXRlVGl0bGUnXSk7XG4gICAgICBjb25zdCBoYXNQYXRoID0gISFyb3V0ZUNvbmZpZz8ucGF0aDtcblxuICAgICAgaWYgKGhhc1BhdGggJiYgKGhhc1JlbmRlcmFibGUgfHwgaGFzUm91dGVUaXRsZSkgJiYgY3VycmVudC5vdXRsZXQgPT09IFBSSU1BUllfT1VUTEVUKSB7XG4gICAgICAgIGJyYW5jaC5wdXNoKGN1cnJlbnQpO1xuICAgICAgfVxuXG4gICAgICBjdXJyZW50ID0gY3VycmVudC5jaGlsZHJlbi5maW5kKChjaGlsZCkgPT4gY2hpbGQub3V0bGV0ID09PSBQUklNQVJZX09VVExFVCkgPz8gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gYnJhbmNoO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdXJyZW50SG9tZShyb3V0ZXM6IEFjdGl2YXRlZFJvdXRlW10pOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaG9tZVVybCA9IHRoaXMuaG9tZVVybFNpZ25hbCgpO1xuICAgIGNvbnN0IHRhcmdldCA9IHRoaXMudGFyZ2V0SG9tZVVybFNpZ25hbCgpO1xuXG4gICAgaWYgKGhvbWVVcmwpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGxhYmVsOiAnJyxcbiAgICAgICAgcm91dGVyTGluazogW2hvbWVVcmxdLFxuICAgICAgICBpY29uOiBCUkVBRENSVU1CX0hPTUVfSUNPTl9DTEFTUyxcbiAgICAgICAgcm91dGVyTGlua0FjdGl2ZU9wdGlvbnM6IEJSRUFEQ1JVTUJfQUNUSVZFX1NVQlNFVF9PUFRJT05TLFxuICAgICAgICB0YXJnZXRcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKCFyb3V0ZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IGlzU2luZ2xlID0gcm91dGVzLmxlbmd0aCA9PT0gMTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi50aGlzLmdldE1lbnVJdGVtKHJvdXRlc1tCUkVBRENSVU1CX0lOREVYX1pFUk9dLCBpc1NpbmdsZSksXG4gICAgICBpY29uOiBCUkVBRENSVU1CX0hPTUVfSUNPTl9DTEFTUyxcbiAgICAgIGxhYmVsOiAnJyxcbiAgICAgIHJvdXRlckxpbmtBY3RpdmVPcHRpb25zOiBCUkVBRENSVU1CX0FDVElWRV9TVUJTRVRfT1BUSU9OUyxcbiAgICAgIHRhcmdldFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldEN1cnJlbnRJdGVtcyhyb3V0ZXM6IEFjdGl2YXRlZFJvdXRlW10pOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbFtdIHtcbiAgICBpZiAoIXJvdXRlcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBmcm9tUm91dGVzID0gdGhpcy5ob21lVXJsU2lnbmFsKCkgPyByb3V0ZXMgOiByb3V0ZXMuc2xpY2UoMSk7XG5cbiAgICBpZiAoIWZyb21Sb3V0ZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgbGFzdEluZGV4ID0gZnJvbVJvdXRlcy5sZW5ndGggLSAxO1xuICAgIHJldHVybiBmcm9tUm91dGVzLm1hcCgocm91dGUsIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5nZXRNZW51SXRlbShyb3V0ZSwgaW5kZXggPT09IGxhc3RJbmRleCk7XG4gICAgICBpZiAoaXRlbS5yb3V0ZXJMaW5rICYmIGluZGV4IDwgbGFzdEluZGV4IC0gMSkge1xuICAgICAgICBjb25zdCB7IHJvdXRlckxpbmssIHVybCwgLi4ucmVzdCB9ID0gaXRlbTtcbiAgICAgICAgcmV0dXJuIHJlc3QgYXMgQnJlYWRjcnVtYkl0ZW1WaWV3TW9kZWw7XG4gICAgICB9XG4gICAgICByZXR1cm4gaXRlbTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q3VycmVudEhvbWVGcm9tSXRlbXMoaXRlbXM6IEJyZWFkY3J1bWJJdGVtW10pOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaG9tZVVybCA9IHRoaXMuaG9tZVVybFNpZ25hbCgpO1xuICAgIGNvbnN0IHRhcmdldCA9IHRoaXMudGFyZ2V0SG9tZVVybFNpZ25hbCgpO1xuXG4gICAgaWYgKGhvbWVVcmwpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGxhYmVsOiAnJyxcbiAgICAgICAgcm91dGVyTGluazogW2hvbWVVcmxdLFxuICAgICAgICBpY29uOiBCUkVBRENSVU1CX0hPTUVfSUNPTl9DTEFTUyxcbiAgICAgICAgcm91dGVyTGlua0FjdGl2ZU9wdGlvbnM6IEJSRUFEQ1JVTUJfQUNUSVZFX1NVQlNFVF9PUFRJT05TLFxuICAgICAgICB0YXJnZXRcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKCFpdGVtcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnRoaXMudG9JdGVtVm0oaXRlbXNbQlJFQURDUlVNQl9JTkRFWF9aRVJPXSwgdHJ1ZSwgQlJFQURDUlVNQl9BQ1RJVkVfU1VCU0VUX09QVElPTlMpLFxuICAgICAgaWNvbjogaXRlbXNbQlJFQURDUlVNQl9JTkRFWF9aRVJPXS5pY29uID8/IEJSRUFEQ1JVTUJfSE9NRV9JQ09OX0NMQVNTLFxuICAgICAgbGFiZWw6ICcnLFxuICAgICAgdGFyZ2V0OiBpdGVtc1tCUkVBRENSVU1CX0lOREVYX1pFUk9dLnRhcmdldCA/PyB0YXJnZXRcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdXJyZW50SXRlbXNGcm9tSXRlbXMoaXRlbXM6IEJyZWFkY3J1bWJJdGVtW10pOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbFtdIHtcbiAgICBpZiAoIWl0ZW1zLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGNvbnN0IGZyb21JdGVtcyA9IHRoaXMuaG9tZVVybFNpZ25hbCgpID8gaXRlbXMgOiBpdGVtcy5zbGljZSgxKTtcblxuICAgIGlmICghZnJvbUl0ZW1zLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGNvbnN0IGxhc3RJbmRleCA9IGZyb21JdGVtcy5sZW5ndGggLSAxO1xuICAgIHJldHVybiBmcm9tSXRlbXMubWFwKChpdGVtLCBpbmRleCkgPT4gdGhpcy50b0l0ZW1WbShpdGVtLCBpdGVtLmRpc2FibGVkID8/IGluZGV4ID09PSBsYXN0SW5kZXgpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TWVudUl0ZW0ocm91dGU6IEFjdGl2YXRlZFJvdXRlLCBkaXNhYmxlZCA9IGZhbHNlKTogQnJlYWRjcnVtYkl0ZW1WaWV3TW9kZWwge1xuICAgIGNvbnN0IGxhYmVsID0gdGhpcy5nZXRUaXRsZShyb3V0ZSk7XG4gICAgY29uc3QgaGFzTGluayA9IHJvdXRlLnNuYXBzaG90Py5kYXRhPy5bJ2JyZWFkY3J1bWJMaW5rJ10gIT09IGZhbHNlICYmXG4gICAgICByb3V0ZS5yb3V0ZUNvbmZpZz8uZGF0YT8uWydicmVhZGNydW1iTGluayddICE9PSBmYWxzZTtcblxuICAgIGlmICghaGFzTGluaykge1xuICAgICAgcmV0dXJuIHsgbGFiZWwsIGRpc2FibGVkOiBmYWxzZSB9O1xuICAgIH1cblxuICAgIGNvbnN0IHBhdGhGcm9tUm9vdCA9IHJvdXRlLnBhdGhGcm9tUm9vdDtcbiAgICBjb25zdCBzdG9wSW5kZXggPSBwYXRoRnJvbVJvb3QuaW5kZXhPZihyb3V0ZSk7XG5cbiAgICBjb25zdCBwYXJ0cyA9IHBhdGhGcm9tUm9vdFxuICAgICAgLnNsaWNlKEJSRUFEQ1JVTUJfSU5ERVhfWkVSTywgc3RvcEluZGV4ICsgMSlcbiAgICAgIC5mbGF0TWFwKChjdXJyZW50Um91dGUpID0+IChjdXJyZW50Um91dGUuc25hcHNob3Q/LnVybCA/PyBbXSkubWFwKCh1cmxQYXJ0KSA9PiB1cmxQYXJ0LnBhdGgpKVxuICAgICAgLmZpbHRlcigocGF0aCk6IHBhdGggaXMgc3RyaW5nID0+IEJvb2xlYW4ocGF0aCkpO1xuXG4gICAgY29uc3Qgcm91dGVyTGluayA9IFsnLycsIC4uLnBhcnRzXTtcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IChyb3V0ZS5zbmFwc2hvdD8ucXVlcnlQYXJhbXMgPz8ge30pIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxhYmVsLFxuICAgICAgcm91dGVyTGluayxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgcXVlcnlQYXJhbXMsXG4gICAgICByb3V0ZXJMaW5rQWN0aXZlT3B0aW9uczogQlJFQURDUlVNQl9BQ1RJVkVfRVhBQ1RfT1BUSU9OU1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHRvSXRlbVZtKFxuICAgIGl0ZW06IEJyZWFkY3J1bWJJdGVtLFxuICAgIGRpc2FibGVkID0gZmFsc2UsXG4gICAgcm91dGVyTGlua0FjdGl2ZU9wdGlvbnM6IEJyZWFkY3J1bWJNYXRjaE9wdGlvbnMgPSBCUkVBRENSVU1CX0FDVElWRV9FWEFDVF9PUFRJT05TXG4gICk6IEJyZWFkY3J1bWJJdGVtVmlld01vZGVsIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uaXRlbSxcbiAgICAgIGxhYmVsOiBTdHJpbmcoaXRlbS5sYWJlbCA/PyAnJyksXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIHJvdXRlckxpbmtBY3RpdmVPcHRpb25zOiBpdGVtLnJvdXRlckxpbmtBY3RpdmVPcHRpb25zID8/IHJvdXRlckxpbmtBY3RpdmVPcHRpb25zXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGl0bGUocm91dGU6IEFjdGl2YXRlZFJvdXRlKTogc3RyaW5nIHtcbiAgICBjb25zdCB0aXRsZSA9XG4gICAgICByb3V0ZS5zbmFwc2hvdD8uZGF0YT8uWydicmVhZGNydW1iVGl0bGUnXSA/P1xuICAgICAgcm91dGUucm91dGVDb25maWc/LmRhdGE/LlsnYnJlYWRjcnVtYlRpdGxlJ10gPz9cbiAgICAgIHJvdXRlLnNuYXBzaG90Py5kYXRhPy5bJ3JvdXRlVGl0bGUnXSA/P1xuICAgICAgcm91dGUucm91dGVDb25maWc/LmRhdGE/Llsncm91dGVUaXRsZSddO1xuXG4gICAgaWYgKCF0aXRsZSkge1xuICAgICAgY29uc3QgcGF0aCA9IHJvdXRlLnJvdXRlQ29uZmlnPy5wYXRoID8/ICcnO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyByb3V0ZVRpdGxlIGRlZmluZWQgZm9yIHRoZSByb3V0ZSAvJHtwYXRofWApO1xuICAgIH1cblxuICAgIHJldHVybiBTdHJpbmcodGl0bGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0lzQXRIb21lKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGhvbWUgPSB0aGlzLmhvbWVJdGVtKCk7XG4gICAgaWYgKCFob21lPy5yb3V0ZXJMaW5rKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgaG9tZVVybCA9IEFycmF5LmlzQXJyYXkoaG9tZS5yb3V0ZXJMaW5rKVxuICAgICAgPyBob21lLnJvdXRlckxpbmsuam9pbignLycpXG4gICAgICA6IFN0cmluZyhob21lLnJvdXRlckxpbmspO1xuXG4gICAgcmV0dXJuIHRoaXMucm91dGVyLmlzQWN0aXZlKGhvbWVVcmwsIHtcbiAgICAgIHBhdGhzOiAnZXhhY3QnLFxuICAgICAgcXVlcnlQYXJhbXM6ICdzdWJzZXQnLFxuICAgICAgZnJhZ21lbnQ6ICdpZ25vcmVkJyxcbiAgICAgIG1hdHJpeFBhcmFtczogJ2lnbm9yZWQnXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxuYXZcbiAgY2xhc3M9XCJzZGMtYnJlYWRjcnVtYlwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiKGFyaWFMYWJlbFRleHQoKSB8fCAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5icmVhZGNydW1iX25hdmlnYXRpb24nKSB8IHRyYW5zbGF0ZVwiXG4+XG4gIDxvbCBjbGFzcz1cInNkYy1icmVhZGNydW1iLWxpc3RcIj5cbiAgICBAaWYgKGhvbWVJdGVtKCkpIHtcbiAgICAgIDxsaSBjbGFzcz1cInNkYy1icmVhZGNydW1iLWl0ZW0gc2RjLWJyZWFkY3J1bWItaXRlbS0taG9tZVwiIFtjbGFzcy5zZGMtYnJlYWRjcnVtYi1pdGVtLS1jdXJyZW50XT1cImlzQXRIb21lKClcIj5cbiAgICAgICAgQGlmICghaXNBdEhvbWUoKSAmJiBjYW5Vc2VSb3V0ZXJMaW5rKGhvbWVJdGVtKCkhKSkge1xuICAgICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cInNkYy1icmVhZGNydW1iLWxpbmtcIlxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwicm91dGVyTGlua09mKGhvbWVJdGVtKCkhKVwiXG4gICAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwicXVlcnlQYXJhbXNPZihob21lSXRlbSgpISlcIlxuICAgICAgICAgICAgW2ZyYWdtZW50XT1cImhvbWVJdGVtKCkhLmZyYWdtZW50XCJcbiAgICAgICAgICAgIFtxdWVyeVBhcmFtc0hhbmRsaW5nXT1cImhvbWVJdGVtKCkhLnF1ZXJ5UGFyYW1zSGFuZGxpbmdcIlxuICAgICAgICAgICAgW3ByZXNlcnZlRnJhZ21lbnRdPVwiaG9tZUl0ZW0oKSEucHJlc2VydmVGcmFnbWVudFwiXG4gICAgICAgICAgICBbc2tpcExvY2F0aW9uQ2hhbmdlXT1cImhvbWVJdGVtKCkhLnNraXBMb2NhdGlvbkNoYW5nZVwiXG4gICAgICAgICAgICBbcmVwbGFjZVVybF09XCJob21lSXRlbSgpIS5yZXBsYWNlVXJsXCJcbiAgICAgICAgICAgIFtzdGF0ZV09XCJob21lSXRlbSgpIS5zdGF0ZVwiXG4gICAgICAgICAgICBbYXR0ci50YXJnZXRdPVwidGFyZ2V0QXR0ck9mKGhvbWVJdGVtKCkhKVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5LmJyZWFkY3J1bWJfaG9tZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIEBpZiAoaG9tZUl0ZW0oKSEuaWNvbikge1xuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNkYy1icmVhZGNydW1iLWl0ZW0taWNvblwiIFtjbGFzc109XCJob21lSXRlbSgpIS5pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgfSBAZWxzZSBpZiAoIWlzQXRIb21lKCkgJiYgY2FuVXNlVXJsKGhvbWVJdGVtKCkhKSkge1xuICAgICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cInNkYy1icmVhZGNydW1iLWxpbmtcIlxuICAgICAgICAgICAgW2F0dHIuaHJlZl09XCJocmVmT2YoaG9tZUl0ZW0oKSEpXCJcbiAgICAgICAgICAgIFthdHRyLnRhcmdldF09XCJ0YXJnZXRBdHRyT2YoaG9tZUl0ZW0oKSEpXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHkuYnJlYWRjcnVtYl9ob21lJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgQGlmIChob21lSXRlbSgpIS5pY29uKSB7XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItaXRlbS1pY29uXCIgW2NsYXNzXT1cImhvbWVJdGVtKCkhLmljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9hPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJzZGMtYnJlYWRjcnVtYi10ZXh0IHNkYy1icmVhZGNydW1iLXRleHQtLWhvbWVcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCIncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5icmVhZGNydW1iX2hvbWUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKGhvbWVJdGVtKCkhLmljb24pIHtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtYnJlYWRjcnVtYi1pdGVtLWljb25cIiBbY2xhc3NdPVwiaG9tZUl0ZW0oKSEuaWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvbGk+XG4gICAgfVxuXG4gICAgQGZvciAoaXRlbSBvZiB0cmFpbEl0ZW1zKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgPGxpIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItc2VwYXJhdG9yXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9saT5cblxuICAgICAgPGxpXG4gICAgICAgIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItaXRlbVwiXG4gICAgICAgIFtjbGFzcy5zZGMtYnJlYWRjcnVtYi1pdGVtLS1jdXJyZW50XT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICBbY2xhc3Muc2RjLWJyZWFkY3J1bWItaXRlbS0tcHJldmlvdXNdPVwiIWl0ZW0uZGlzYWJsZWQgJiYgJGluZGV4ID09PSB0cmFpbEl0ZW1zKCkubGVuZ3RoIC0gMlwiXG4gICAgICA+XG4gICAgICAgIEBpZiAoY2FuTmF2aWdhdGUoaXRlbSkpIHtcbiAgICAgICAgICA8YVxuICAgICAgICAgICAgY2xhc3M9XCJzZGMtYnJlYWRjcnVtYi1saW5rXCJcbiAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImhhc1JvdXRlckxpbmsoaXRlbSkgPyByb3V0ZXJMaW5rT2YoaXRlbSkgOiBudWxsXCJcbiAgICAgICAgICAgIFtxdWVyeVBhcmFtc109XCJxdWVyeVBhcmFtc09mKGl0ZW0pXCJcbiAgICAgICAgICAgIFtmcmFnbWVudF09XCJpdGVtLmZyYWdtZW50XCJcbiAgICAgICAgICAgIFtxdWVyeVBhcmFtc0hhbmRsaW5nXT1cIml0ZW0ucXVlcnlQYXJhbXNIYW5kbGluZ1wiXG4gICAgICAgICAgICBbcHJlc2VydmVGcmFnbWVudF09XCJpdGVtLnByZXNlcnZlRnJhZ21lbnRcIlxuICAgICAgICAgICAgW3NraXBMb2NhdGlvbkNoYW5nZV09XCJpdGVtLnNraXBMb2NhdGlvbkNoYW5nZVwiXG4gICAgICAgICAgICBbcmVwbGFjZVVybF09XCJpdGVtLnJlcGxhY2VVcmxcIlxuICAgICAgICAgICAgW3N0YXRlXT1cIml0ZW0uc3RhdGVcIlxuICAgICAgICAgICAgW2F0dHIuaHJlZl09XCIhaGFzUm91dGVyTGluayhpdGVtKSAmJiBoYXNVcmwoaXRlbSkgPyBocmVmT2YoaXRlbSkgOiBudWxsXCJcbiAgICAgICAgICAgIFthdHRyLnRhcmdldF09XCJ0YXJnZXRBdHRyT2YoaXRlbSlcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItaXRlbS1sYWJlbFwiPnt7IChpdGVtLmxhYmVsIHx8ICcnKSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItc3Itb25seVwiPnt7ICcgKCcgKyAoJGluZGV4ICsgMSkgKyAnKScgfX08L3NwYW4+XG4gICAgICAgICAgPC9hPlxuICAgICAgICB9IEBlbHNlIGlmICghaXRlbS5kaXNhYmxlZCkge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItdGV4dFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtYnJlYWRjcnVtYi1pdGVtLWxhYmVsXCI+e3sgKGl0ZW0ubGFiZWwgfHwgJycpIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtYnJlYWRjcnVtYi1jdXJyZW50XCIgYXJpYS1jdXJyZW50PVwicGFnZVwiPnt7IChpdGVtLmxhYmVsIHx8ICcnKSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgPC9saT5cbiAgICB9XG4gIDwvb2w+XG48L25hdj5cbiJdfQ==
|
|
@@ -50,7 +50,7 @@ export class ButtonComponent {
|
|
|
50
50
|
}
|
|
51
51
|
this.rebuildResolvedMenuOptions();
|
|
52
52
|
}
|
|
53
|
-
|
|
53
|
+
clicked = new EventEmitter();
|
|
54
54
|
resolvedMenuOptions = [];
|
|
55
55
|
get hostWidth() {
|
|
56
56
|
return this.widthStyle;
|
|
@@ -71,7 +71,7 @@ export class ButtonComponent {
|
|
|
71
71
|
event.stopPropagation?.();
|
|
72
72
|
return;
|
|
73
73
|
}
|
|
74
|
-
this.
|
|
74
|
+
this.clicked.emit(event);
|
|
75
75
|
}
|
|
76
76
|
rebuildResolvedMenuOptions() {
|
|
77
77
|
this.resolvedMenuOptions = this.wrapMenuCommands(this.menuOptions);
|
|
@@ -123,7 +123,7 @@ export class ButtonComponent {
|
|
|
123
123
|
});
|
|
124
124
|
}
|
|
125
125
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
126
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ButtonComponent, isStandalone: true, selector: "sdc-button", inputs: { id: "id", label: "label", ariaLabel: "ariaLabel", disabled: "disabled", width: "width", priority: "priority", size: "size", type: "type", icon: "icon", rightIcon: "rightIcon", auxiliary: "auxiliary", caret: "caret", tooltip: "tooltip", animation: "animation", slide: "slide", styleClass: "styleClass", badge: "badge", menuOptions: "menuOptions", menuContext: "menuContext", legacyModel: ["model", "legacyModel"] }, outputs: {
|
|
126
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ButtonComponent, isStandalone: true, selector: "sdc-button", inputs: { id: "id", label: "label", ariaLabel: "ariaLabel", disabled: "disabled", width: "width", priority: "priority", size: "size", type: "type", icon: "icon", rightIcon: "rightIcon", auxiliary: "auxiliary", caret: "caret", tooltip: "tooltip", animation: "animation", slide: "slide", styleClass: "styleClass", badge: "badge", menuOptions: "menuOptions", menuContext: "menuContext", legacyModel: ["model", "legacyModel"] }, outputs: { clicked: "clicked" }, host: { listeners: { "click": "onHostClick($event)" }, properties: { "style.width": "this.hostWidth" } }, ngImport: i0, template: "<div class=\"sdc-button-wrapper\">\n <s-button\n class=\"sdc-button-el\"\n (clicked)=\"handleClick($event)\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [size]=\"size\"\n [type]=\"type\"\n [priority]=\"priority\"\n [label]=\"label | translate\"\n [iconClass]=\"icon\"\n [rightIconClass]=\"rightIcon\"\n [auxiliary]=\"auxiliary\"\n [caret]=\"caret!\"\n [tooltip]=\"tooltip ? (tooltip | translate) : undefined\"\n [animation]=\"animation!\"\n [slide]=\"slide!\"\n [badge]=\"badge\"\n [styleClass]=\"styleClass!\"\n [menuOptions]=\"resolvedMenuOptions\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-label]=\"ariaLabel ? (ariaLabel | translate) : (label ? (label | translate) : null)\"\n >\n </s-button>\n</div>\n", styles: [":host{display:inline-block;vertical-align:top}.sdc-button-wrapper,.sdc-button-el{display:block;width:100%}::ng-deep .sdc-button-el button{width:100%;vertical-align:top}::ng-deep .s-button-priority-primary .s-button-icon{color:#fff!important}::ng-deep s-button button:disabled{pointer-events:none;cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
127
127
|
}
|
|
128
128
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
129
129
|
type: Component,
|
|
@@ -169,7 +169,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
169
169
|
}], legacyModel: [{
|
|
170
170
|
type: Input,
|
|
171
171
|
args: ['model']
|
|
172
|
-
}],
|
|
172
|
+
}], clicked: [{
|
|
173
173
|
type: Output
|
|
174
174
|
}], hostWidth: [{
|
|
175
175
|
type: HostBinding,
|
|
@@ -178,4 +178,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
178
178
|
type: HostListener,
|
|
179
179
|
args: ['click', ['$event']]
|
|
180
180
|
}] } });
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQXFCLFlBQVksRUFBa0IsTUFBTSwyQ0FBMkMsQ0FBQztBQUk1RyxPQUFPLEVBQXFCLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7QUFXeEYsTUFBTSxPQUFPLGVBQWU7SUFDakIsRUFBRSxHQUFHLFdBQVcsQ0FBQztJQUNqQixLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ1gsU0FBUyxDQUFVO0lBQ25CLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsS0FBSyxHQUFjLE1BQU0sQ0FBQztJQUMxQixRQUFRLEdBQW1CLFNBQVMsQ0FBQztJQUNyQyxJQUFJLEdBQWUsU0FBUyxDQUFDO0lBQzdCLElBQUksR0FBVyxRQUFRLENBQUM7SUFDeEIsSUFBSSxDQUFVO0lBQ2QsU0FBUyxDQUFVO0lBQ25CLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDbEIsS0FBSyxHQUFHLElBQUksQ0FBQztJQUNiLE9BQU8sQ0FBVTtJQUNqQixTQUFTLENBQVk7SUFDckIsS0FBSyxDQUFXO0lBQ2hCLFVBQVUsQ0FBVTtJQUNwQixLQUFLLENBQXFCO0lBRTNCLFlBQVksR0FBeUIsRUFBRSxDQUFDO0lBQ3hDLGtCQUFrQixHQUFnQyxJQUFJLENBQUM7SUFDdkQsWUFBWSxDQUFXO0lBRS9CLElBQ0ksV0FBVyxDQUFDLEtBQThDO1FBQzVELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFDSSxXQUFXLENBQUMsS0FBYztRQUM1QixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUNJLFdBQVcsQ0FBQyxLQUF5QztRQUN2RCxJQUFJLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0RCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDakMsQ0FBQztRQUVELElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFUyxPQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVMsQ0FBQztJQUVwQyxtQkFBbUIsR0FBeUIsRUFBRSxDQUFDO0lBRXpELElBQ2MsU0FBUztRQUNyQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQWMsVUFBVTtRQUN0QixPQUFPLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFHUyxXQUFXLENBQUMsS0FBaUI7UUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixPQUFPO1FBQ1QsQ0FBQztRQUVELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVTLFdBQVcsQ0FBQyxLQUFZO1FBQ2hDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLEtBQUssQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO1lBQ3pCLEtBQUssQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDO1lBQzFCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVPLDBCQUEwQjtRQUNoQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsUUFBOEIsRUFBRTtRQUN2RCxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN4QixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBb0QsQ0FBQztZQUNsRixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBRXZGLE1BQU0sV0FBVyxHQUF1QjtnQkFDdEMsR0FBRyxJQUFJO2dCQUNQLE9BQU87YUFDUixDQUFDO1lBRUYsSUFBSSxlQUFlLEVBQUUsQ0FBQztnQkFDcEIsV0FBVyxDQUFDLE9BQU8sR0FBRyxDQUFDLGFBQXVCLEVBQVEsRUFBRTtvQkFDdEQsTUFBTSxPQUFPLEdBQTZCO3dCQUN4QyxhQUFhO3dCQUNiLE9BQU8sRUFBRSxJQUFJLENBQUMsWUFBWTt3QkFDMUIsSUFBSSxFQUFFLFdBQVc7d0JBQ2pCLElBQUksRUFBRyxJQUEyQixDQUFDLElBQUk7cUJBQ3hDLENBQUM7b0JBQ0YsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUMzQixDQUFDLENBQUM7WUFDSixDQUFDO1lBRUQsT0FBTyxXQUFXLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sYUFBYSxDQUFDLFFBQWdDLEVBQUU7UUFDdEQsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDeEIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ25CLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDM0IsQ0FBQztZQUVELE9BQU87Z0JBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRTtnQkFDdkIsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNwQixRQUFRLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRO2dCQUN6QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0JBQ3JCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDckIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO29CQUNuQixDQUFDLENBQUMsQ0FBQyxhQUF1QixFQUFRLEVBQUU7d0JBQ2hDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQzs0QkFDYixhQUFhOzRCQUNiLElBQUk7NEJBQ0osT0FBTyxFQUFFLElBQUksQ0FBQyxZQUFZO3lCQUNsQixDQUFDLENBQUM7b0JBQ2QsQ0FBQztvQkFDSCxDQUFDLENBQUMsU0FBUztnQkFDYixPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO2FBQ3pFLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBN0lVLGVBQWU7NEZBQWYsZUFBZSwwbkJDM0I1Qix3d0JBeUJBLHNYRE5ZLFlBQVksOEJBQUUsWUFBWSxzV0FBRSxlQUFlOzs0RkFRMUMsZUFBZTtrQkFUM0IsU0FBUzs4QkFDQyxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsZUFBZSxDQUFDLGNBQzFDLElBQUksWUFDTixZQUFZLG1CQUdMLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLFFBQVE7OEJBR2hDLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQU9GLFdBQVc7c0JBRGQsS0FBSztnQkFXRixXQUFXO3NCQURkLEtBQUs7Z0JBV0YsV0FBVztzQkFEZCxLQUFLO3VCQUFDLE9BQU87Z0JBV0osT0FBTztzQkFBaEIsTUFBTTtnQkFLTyxTQUFTO3NCQUR0QixXQUFXO3VCQUFDLGFBQWE7Z0JBVWhCLFdBQVc7c0JBRHBCLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEJ1dHRvbkJhZGdlQ29uZmlnLCBCdXR0b25Nb2R1bGUsIEJ1dHRvblByaW9yaXR5IH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgVGllcmVkTWVudUl0ZW1EYXRhIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy90aWVyZWQtbWVudSc7XG5cbmltcG9ydCB7IEJ1dHRvbkxlZ2FjeU1lbnVJdGVtLCBCdXR0b25NZW51Q29tbWFuZFBheWxvYWQsIEJ1dHRvblNpemUgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL2J1dHRvbi50eXBlJztcbmltcG9ydCB7IEJ1dHRvbiwgRGltZW5zaW9uLCBnZXREaW1lbnNpb25TdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL3NlbWFudGljcy50eXBlJztcblxuQENvbXBvbmVudCh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEJ1dHRvbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzZGMtYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWRcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaWQgPSAnYnV0dG9uLWlkJztcbiAgQElucHV0KCkgbGFiZWwgPSAnJztcbiAgQElucHV0KCkgYXJpYUxhYmVsPzogc3RyaW5nO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSB3aWR0aDogRGltZW5zaW9uID0gJ2F1dG8nO1xuICBASW5wdXQoKSBwcmlvcml0eTogQnV0dG9uUHJpb3JpdHkgPSAncHJpbWFyeSc7XG4gIEBJbnB1dCgpIHNpemU6IEJ1dHRvblNpemUgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIHR5cGU6IEJ1dHRvbiA9ICdidXR0b24nO1xuICBASW5wdXQoKSBpY29uPzogc3RyaW5nO1xuICBASW5wdXQoKSByaWdodEljb24/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGF1eGlsaWFyeSA9IGZhbHNlO1xuICBASW5wdXQoKSBjYXJldCA9IHRydWU7XG4gIEBJbnB1dCgpIHRvb2x0aXA/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGFuaW1hdGlvbj86ICdyb3RhdGUnO1xuICBASW5wdXQoKSBzbGlkZT86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHN0eWxlQ2xhc3M/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGJhZGdlPzogQnV0dG9uQmFkZ2VDb25maWc7XG5cbiAgcHJpdmF0ZSBfbWVudU9wdGlvbnM6IFRpZXJlZE1lbnVJdGVtRGF0YVtdID0gW107XG4gIHByaXZhdGUgX2xlZ2FjeU1lbnVPcHRpb25zOiBUaWVyZWRNZW51SXRlbURhdGFbXSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9tZW51Q29udGV4dD86IHVua25vd247XG5cbiAgQElucHV0KClcbiAgc2V0IG1lbnVPcHRpb25zKHZhbHVlOiBUaWVyZWRNZW51SXRlbURhdGFbXSB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9tZW51T3B0aW9ucyA9IHZhbHVlID8/IFtdO1xuICAgIHRoaXMucmVidWlsZFJlc29sdmVkTWVudU9wdGlvbnMoKTtcbiAgfVxuXG4gIGdldCBtZW51T3B0aW9ucygpOiBUaWVyZWRNZW51SXRlbURhdGFbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2xlZ2FjeU1lbnVPcHRpb25zID8/IHRoaXMuX21lbnVPcHRpb25zO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IG1lbnVDb250ZXh0KHZhbHVlOiB1bmtub3duKSB7XG4gICAgdGhpcy5fbWVudUNvbnRleHQgPSB2YWx1ZTtcbiAgICB0aGlzLnJlYnVpbGRSZXNvbHZlZE1lbnVPcHRpb25zKCk7XG4gIH1cblxuICBnZXQgbWVudUNvbnRleHQoKTogdW5rbm93biB7XG4gICAgcmV0dXJuIHRoaXMuX21lbnVDb250ZXh0O1xuICB9XG5cbiAgQElucHV0KCdtb2RlbCcpXG4gIHNldCBsZWdhY3lNb2RlbCh2YWx1ZTogQnV0dG9uTGVnYWN5TWVudUl0ZW1bXSB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZT8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLl9sZWdhY3lNZW51T3B0aW9ucyA9IHRoaXMubWFwTGVnYWN5TWVudSh2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2xlZ2FjeU1lbnVPcHRpb25zID0gbnVsbDtcbiAgICB9XG5cbiAgICB0aGlzLnJlYnVpbGRSZXNvbHZlZE1lbnVPcHRpb25zKCk7XG4gIH1cblxuICBAT3V0cHV0KCkgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgcHJvdGVjdGVkIHJlc29sdmVkTWVudU9wdGlvbnM6IFRpZXJlZE1lbnVJdGVtRGF0YVtdID0gW107XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aCcpXG4gIHByb3RlY3RlZCBnZXQgaG9zdFdpZHRoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMud2lkdGhTdHlsZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgd2lkdGhTdHlsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBTdHJpbmcoZ2V0RGltZW5zaW9uU3R5bGVzKCd3aWR0aCcsIHRoaXMud2lkdGgpWyd3aWR0aCddID8/ICdhdXRvJyk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIHByb3RlY3RlZCBvbkhvc3RDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0Py4oKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbj8uKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5vbkNsaWNrLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWJ1aWxkUmVzb2x2ZWRNZW51T3B0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLnJlc29sdmVkTWVudU9wdGlvbnMgPSB0aGlzLndyYXBNZW51Q29tbWFuZHModGhpcy5tZW51T3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIHdyYXBNZW51Q29tbWFuZHMoaXRlbXM6IFRpZXJlZE1lbnVJdGVtRGF0YVtdID0gW10pOiBUaWVyZWRNZW51SXRlbURhdGFbXSB7XG4gICAgcmV0dXJuIGl0ZW1zLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgY29uc3Qgb3JpZ2luYWxDb21tYW5kID0gaXRlbS5jb21tYW5kIGFzICgocGF5bG9hZD86IHVua25vd24pID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xuICAgICAgY29uc3Qgc3VibWVudSA9IGl0ZW0uc3VibWVudT8ubGVuZ3RoID8gdGhpcy53cmFwTWVudUNvbW1hbmRzKGl0ZW0uc3VibWVudSkgOiB1bmRlZmluZWQ7XG5cbiAgICAgIGNvbnN0IHdyYXBwZWRJdGVtOiBUaWVyZWRNZW51SXRlbURhdGEgPSB7XG4gICAgICAgIC4uLml0ZW0sXG4gICAgICAgIHN1Ym1lbnVcbiAgICAgIH07XG5cbiAgICAgIGlmIChvcmlnaW5hbENvbW1hbmQpIHtcbiAgICAgICAgd3JhcHBlZEl0ZW0uY29tbWFuZCA9IChvcmlnaW5hbEV2ZW50PzogdW5rbm93bik6IHZvaWQgPT4ge1xuICAgICAgICAgIGNvbnN0IHBheWxvYWQ6IEJ1dHRvbk1lbnVDb21tYW5kUGF5bG9hZCA9IHtcbiAgICAgICAgICAgIG9yaWdpbmFsRXZlbnQsXG4gICAgICAgICAgICBjb250ZXh0OiB0aGlzLl9tZW51Q29udGV4dCxcbiAgICAgICAgICAgIGl0ZW06IHdyYXBwZWRJdGVtLFxuICAgICAgICAgICAgZGF0YTogKGl0ZW0gYXMgeyBkYXRhPzogdW5rbm93biB9KS5kYXRhXG4gICAgICAgICAgfTtcbiAgICAgICAgICBvcmlnaW5hbENvbW1hbmQocGF5bG9hZCk7XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB3cmFwcGVkSXRlbTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbWFwTGVnYWN5TWVudShpdGVtczogQnV0dG9uTGVnYWN5TWVudUl0ZW1bXSA9IFtdKTogVGllcmVkTWVudUl0ZW1EYXRhW10ge1xuICAgIHJldHVybiBpdGVtcy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgIGlmIChpdGVtLnNlcGFyYXRvcikge1xuICAgICAgICByZXR1cm4geyBkaXZpZGVyOiB0cnVlIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGxhYmVsOiBpdGVtLmxhYmVsID8/ICcnLFxuICAgICAgICBpY29uQ2xhc3M6IGl0ZW0uaWNvbixcbiAgICAgICAgZGlzYWJsZWQ6ICEhaXRlbS5kaXNhYmxlZCxcbiAgICAgICAgdmlzaWJsZTogaXRlbS52aXNpYmxlLFxuICAgICAgICBkYXRhS2V5OiBpdGVtLmRhdGFLZXksXG4gICAgICAgIGNvbW1hbmQ6IGl0ZW0uY29tbWFuZFxuICAgICAgICAgID8gKG9yaWdpbmFsRXZlbnQ/OiB1bmtub3duKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgIGl0ZW0uY29tbWFuZD8uKHtcbiAgICAgICAgICAgICAgICBvcmlnaW5hbEV2ZW50LFxuICAgICAgICAgICAgICAgIGl0ZW0sXG4gICAgICAgICAgICAgICAgY29udGV4dDogdGhpcy5fbWVudUNvbnRleHRcbiAgICAgICAgICAgICAgfSBhcyBuZXZlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIHN1Ym1lbnU6IGl0ZW0uaXRlbXM/Lmxlbmd0aCA/IHRoaXMubWFwTGVnYWN5TWVudShpdGVtLml0ZW1zKSA6IHVuZGVmaW5lZFxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNkYy1idXR0b24td3JhcHBlclwiPlxuICA8cy1idXR0b25cbiAgICBjbGFzcz1cInNkYy1idXR0b24tZWxcIlxuICAgIChjbGlja2VkKT1cImhhbmRsZUNsaWNrKCRldmVudClcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2lkXT1cImlkXCJcbiAgICBbc2l6ZV09XCJzaXplXCJcbiAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICBbcHJpb3JpdHldPVwicHJpb3JpdHlcIlxuICAgIFtsYWJlbF09XCJsYWJlbCB8IHRyYW5zbGF0ZVwiXG4gICAgW2ljb25DbGFzc109XCJpY29uXCJcbiAgICBbcmlnaHRJY29uQ2xhc3NdPVwicmlnaHRJY29uXCJcbiAgICBbYXV4aWxpYXJ5XT1cImF1eGlsaWFyeVwiXG4gICAgW2NhcmV0XT1cImNhcmV0IVwiXG4gICAgW3Rvb2x0aXBdPVwidG9vbHRpcCA/ICh0b29sdGlwIHwgdHJhbnNsYXRlKSA6IHVuZGVmaW5lZFwiXG4gICAgW2FuaW1hdGlvbl09XCJhbmltYXRpb24hXCJcbiAgICBbc2xpZGVdPVwic2xpZGUhXCJcbiAgICBbYmFkZ2VdPVwiYmFkZ2VcIlxuICAgIFtzdHlsZUNsYXNzXT1cInN0eWxlQ2xhc3MhXCJcbiAgICBbbWVudU9wdGlvbnNdPVwicmVzb2x2ZWRNZW51T3B0aW9uc1wiXG4gICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWwgPyAoYXJpYUxhYmVsIHwgdHJhbnNsYXRlKSA6IChsYWJlbCA/IChsYWJlbCB8IHRyYW5zbGF0ZSkgOiBudWxsKVwiXG4gID5cbiAgPC9zLWJ1dHRvbj5cbjwvZGl2PlxuIl19
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQXFCLFlBQVksRUFBa0IsTUFBTSwyQ0FBMkMsQ0FBQztBQUk1RyxPQUFPLEVBQXFCLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7QUFXeEYsTUFBTSxPQUFPLGVBQWU7SUFDakIsRUFBRSxHQUFHLFdBQVcsQ0FBQztJQUNqQixLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ1gsU0FBUyxDQUFVO0lBQ25CLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsS0FBSyxHQUFjLE1BQU0sQ0FBQztJQUMxQixRQUFRLEdBQW1CLFNBQVMsQ0FBQztJQUNyQyxJQUFJLEdBQWUsU0FBUyxDQUFDO0lBQzdCLElBQUksR0FBVyxRQUFRLENBQUM7SUFDeEIsSUFBSSxDQUFVO0lBQ2QsU0FBUyxDQUFVO0lBQ25CLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDbEIsS0FBSyxHQUFHLElBQUksQ0FBQztJQUNiLE9BQU8sQ0FBVTtJQUNqQixTQUFTLENBQVk7SUFDckIsS0FBSyxDQUFXO0lBQ2hCLFVBQVUsQ0FBVTtJQUNwQixLQUFLLENBQXFCO0lBRTNC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QUNMLENBQUM7d0dBN0lVLGVBQWU7NEZBQWYsZUFBZSwwbkJDM0I1Qix3d0JBeUJBLHNYRE5ZLFlBQVksOEJBQUUsWUFBWSxzV0FBRSxlQUFlOzs0RkFRMUMsZUFBZTtrQkFUM0IsU0FBUzs4QkFDQyxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsZUFBZSxDQUFDLGNBQzFDLElBQUksWUFDTixZQUFZLG1CQUdMLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLFFBQVE7OEJBR2hDLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQU9GLFdBQVc7c0JBRGQsS0FBSztnQkFXRixXQUFXO3NCQURkLEtBQUs7Z0JBV0YsV0FBVztzQkFEZCxLQUFLO3VCQUFDLE9BQU87Z0JBV0osT0FBTztzQkFBaEIsTUFBTTtnQkFLTyxTQUFTO3NCQUR0QixXQUFXO3VCQUFDLGFBQWE7Z0JBVWhCLFdBQVc7c0JBRHBCLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEJ1dHRvbkJhZGdlQ29uZmlnLCBCdXR0b25Nb2R1bGUsIEJ1dHRvblByaW9yaXR5IH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgVGllcmVkTWVudUl0ZW1EYXRhIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy90aWVyZWQtbWVudSc7XG5cbmltcG9ydCB7IEJ1dHRvbkxlZ2FjeU1lbnVJdGVtLCBCdXR0b25NZW51Q29tbWFuZFBheWxvYWQsIEJ1dHRvblNpemUgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL2J1dHRvbi50eXBlJztcbmltcG9ydCB7IEJ1dHRvbiwgRGltZW5zaW9uLCBnZXREaW1lbnNpb25TdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL3NlbWFudGljcy50eXBlJztcblxuQENvbXBvbmVudCh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEJ1dHRvbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzZGMtYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWRcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaWQgPSAnYnV0dG9uLWlkJztcbiAgQElucHV0KCkgbGFiZWwgPSAnJztcbiAgQElucHV0KCkgYXJpYUxhYmVsPzogc3RyaW5nO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSB3aWR0aDogRGltZW5zaW9uID0gJ2F1dG8nO1xuICBASW5wdXQoKSBwcmlvcml0eTogQnV0dG9uUHJpb3JpdHkgPSAncHJpbWFyeSc7XG4gIEBJbnB1dCgpIHNpemU6IEJ1dHRvblNpemUgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIHR5cGU6IEJ1dHRvbiA9ICdidXR0b24nO1xuICBASW5wdXQoKSBpY29uPzogc3RyaW5nO1xuICBASW5wdXQoKSByaWdodEljb24/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGF1eGlsaWFyeSA9IGZhbHNlO1xuICBASW5wdXQoKSBjYXJldCA9IHRydWU7XG4gIEBJbnB1dCgpIHRvb2x0aXA/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGFuaW1hdGlvbj86ICdyb3RhdGUnO1xuICBASW5wdXQoKSBzbGlkZT86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHN0eWxlQ2xhc3M/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGJhZGdlPzogQnV0dG9uQmFkZ2VDb25maWc7XG5cbiAgcHJpdmF0ZSBfbWVudU9wdGlvbnM6IFRpZXJlZE1lbnVJdGVtRGF0YVtdID0gW107XG4gIHByaXZhdGUgX2xlZ2FjeU1lbnVPcHRpb25zOiBUaWVyZWRNZW51SXRlbURhdGFbXSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9tZW51Q29udGV4dD86IHVua25vd247XG5cbiAgQElucHV0KClcbiAgc2V0IG1lbnVPcHRpb25zKHZhbHVlOiBUaWVyZWRNZW51SXRlbURhdGFbXSB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9tZW51T3B0aW9ucyA9IHZhbHVlID8/IFtdO1xuICAgIHRoaXMucmVidWlsZFJlc29sdmVkTWVudU9wdGlvbnMoKTtcbiAgfVxuXG4gIGdldCBtZW51T3B0aW9ucygpOiBUaWVyZWRNZW51SXRlbURhdGFbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2xlZ2FjeU1lbnVPcHRpb25zID8/IHRoaXMuX21lbnVPcHRpb25zO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IG1lbnVDb250ZXh0KHZhbHVlOiB1bmtub3duKSB7XG4gICAgdGhpcy5fbWVudUNvbnRleHQgPSB2YWx1ZTtcbiAgICB0aGlzLnJlYnVpbGRSZXNvbHZlZE1lbnVPcHRpb25zKCk7XG4gIH1cblxuICBnZXQgbWVudUNvbnRleHQoKTogdW5rbm93biB7XG4gICAgcmV0dXJuIHRoaXMuX21lbnVDb250ZXh0O1xuICB9XG5cbiAgQElucHV0KCdtb2RlbCcpXG4gIHNldCBsZWdhY3lNb2RlbCh2YWx1ZTogQnV0dG9uTGVnYWN5TWVudUl0ZW1bXSB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZT8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLl9sZWdhY3lNZW51T3B0aW9ucyA9IHRoaXMubWFwTGVnYWN5TWVudSh2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2xlZ2FjeU1lbnVPcHRpb25zID0gbnVsbDtcbiAgICB9XG5cbiAgICB0aGlzLnJlYnVpbGRSZXNvbHZlZE1lbnVPcHRpb25zKCk7XG4gIH1cblxuICBAT3V0cHV0KCkgY2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgcHJvdGVjdGVkIHJlc29sdmVkTWVudU9wdGlvbnM6IFRpZXJlZE1lbnVJdGVtRGF0YVtdID0gW107XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aCcpXG4gIHByb3RlY3RlZCBnZXQgaG9zdFdpZHRoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMud2lkdGhTdHlsZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgd2lkdGhTdHlsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBTdHJpbmcoZ2V0RGltZW5zaW9uU3R5bGVzKCd3aWR0aCcsIHRoaXMud2lkdGgpWyd3aWR0aCddID8/ICdhdXRvJyk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIHByb3RlY3RlZCBvbkhvc3RDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0Py4oKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbj8uKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jbGlja2VkLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWJ1aWxkUmVzb2x2ZWRNZW51T3B0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLnJlc29sdmVkTWVudU9wdGlvbnMgPSB0aGlzLndyYXBNZW51Q29tbWFuZHModGhpcy5tZW51T3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIHdyYXBNZW51Q29tbWFuZHMoaXRlbXM6IFRpZXJlZE1lbnVJdGVtRGF0YVtdID0gW10pOiBUaWVyZWRNZW51SXRlbURhdGFbXSB7XG4gICAgcmV0dXJuIGl0ZW1zLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgY29uc3Qgb3JpZ2luYWxDb21tYW5kID0gaXRlbS5jb21tYW5kIGFzICgocGF5bG9hZD86IHVua25vd24pID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xuICAgICAgY29uc3Qgc3VibWVudSA9IGl0ZW0uc3VibWVudT8ubGVuZ3RoID8gdGhpcy53cmFwTWVudUNvbW1hbmRzKGl0ZW0uc3VibWVudSkgOiB1bmRlZmluZWQ7XG5cbiAgICAgIGNvbnN0IHdyYXBwZWRJdGVtOiBUaWVyZWRNZW51SXRlbURhdGEgPSB7XG4gICAgICAgIC4uLml0ZW0sXG4gICAgICAgIHN1Ym1lbnVcbiAgICAgIH07XG5cbiAgICAgIGlmIChvcmlnaW5hbENvbW1hbmQpIHtcbiAgICAgICAgd3JhcHBlZEl0ZW0uY29tbWFuZCA9IChvcmlnaW5hbEV2ZW50PzogdW5rbm93bik6IHZvaWQgPT4ge1xuICAgICAgICAgIGNvbnN0IHBheWxvYWQ6IEJ1dHRvbk1lbnVDb21tYW5kUGF5bG9hZCA9IHtcbiAgICAgICAgICAgIG9yaWdpbmFsRXZlbnQsXG4gICAgICAgICAgICBjb250ZXh0OiB0aGlzLl9tZW51Q29udGV4dCxcbiAgICAgICAgICAgIGl0ZW06IHdyYXBwZWRJdGVtLFxuICAgICAgICAgICAgZGF0YTogKGl0ZW0gYXMgeyBkYXRhPzogdW5rbm93biB9KS5kYXRhXG4gICAgICAgICAgfTtcbiAgICAgICAgICBvcmlnaW5hbENvbW1hbmQocGF5bG9hZCk7XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB3cmFwcGVkSXRlbTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbWFwTGVnYWN5TWVudShpdGVtczogQnV0dG9uTGVnYWN5TWVudUl0ZW1bXSA9IFtdKTogVGllcmVkTWVudUl0ZW1EYXRhW10ge1xuICAgIHJldHVybiBpdGVtcy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgIGlmIChpdGVtLnNlcGFyYXRvcikge1xuICAgICAgICByZXR1cm4geyBkaXZpZGVyOiB0cnVlIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGxhYmVsOiBpdGVtLmxhYmVsID8/ICcnLFxuICAgICAgICBpY29uQ2xhc3M6IGl0ZW0uaWNvbixcbiAgICAgICAgZGlzYWJsZWQ6ICEhaXRlbS5kaXNhYmxlZCxcbiAgICAgICAgdmlzaWJsZTogaXRlbS52aXNpYmxlLFxuICAgICAgICBkYXRhS2V5OiBpdGVtLmRhdGFLZXksXG4gICAgICAgIGNvbW1hbmQ6IGl0ZW0uY29tbWFuZFxuICAgICAgICAgID8gKG9yaWdpbmFsRXZlbnQ/OiB1bmtub3duKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgIGl0ZW0uY29tbWFuZD8uKHtcbiAgICAgICAgICAgICAgICBvcmlnaW5hbEV2ZW50LFxuICAgICAgICAgICAgICAgIGl0ZW0sXG4gICAgICAgICAgICAgICAgY29udGV4dDogdGhpcy5fbWVudUNvbnRleHRcbiAgICAgICAgICAgICAgfSBhcyBuZXZlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIHN1Ym1lbnU6IGl0ZW0uaXRlbXM/Lmxlbmd0aCA/IHRoaXMubWFwTGVnYWN5TWVudShpdGVtLml0ZW1zKSA6IHVuZGVmaW5lZFxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNkYy1idXR0b24td3JhcHBlclwiPlxuICA8cy1idXR0b25cbiAgICBjbGFzcz1cInNkYy1idXR0b24tZWxcIlxuICAgIChjbGlja2VkKT1cImhhbmRsZUNsaWNrKCRldmVudClcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2lkXT1cImlkXCJcbiAgICBbc2l6ZV09XCJzaXplXCJcbiAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICBbcHJpb3JpdHldPVwicHJpb3JpdHlcIlxuICAgIFtsYWJlbF09XCJsYWJlbCB8IHRyYW5zbGF0ZVwiXG4gICAgW2ljb25DbGFzc109XCJpY29uXCJcbiAgICBbcmlnaHRJY29uQ2xhc3NdPVwicmlnaHRJY29uXCJcbiAgICBbYXV4aWxpYXJ5XT1cImF1eGlsaWFyeVwiXG4gICAgW2NhcmV0XT1cImNhcmV0IVwiXG4gICAgW3Rvb2x0aXBdPVwidG9vbHRpcCA/ICh0b29sdGlwIHwgdHJhbnNsYXRlKSA6IHVuZGVmaW5lZFwiXG4gICAgW2FuaW1hdGlvbl09XCJhbmltYXRpb24hXCJcbiAgICBbc2xpZGVdPVwic2xpZGUhXCJcbiAgICBbYmFkZ2VdPVwiYmFkZ2VcIlxuICAgIFtzdHlsZUNsYXNzXT1cInN0eWxlQ2xhc3MhXCJcbiAgICBbbWVudU9wdGlvbnNdPVwicmVzb2x2ZWRNZW51T3B0aW9uc1wiXG4gICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWwgPyAoYXJpYUxhYmVsIHwgdHJhbnNsYXRlKSA6IChsYWJlbCA/IChsYWJlbCB8IHRyYW5zbGF0ZSkgOiBudWxsKVwiXG4gID5cbiAgPC9zLWJ1dHRvbj5cbjwvZGl2PlxuIl19
|