@igo2/geo 1.9.3 → 1.11.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/bundles/igo2-geo.umd.js +3569 -1190
- package/bundles/igo2-geo.umd.js.map +1 -1
- package/esm2015/lib/catalog/catalog-browser/catalog-browser.component.js +2 -2
- package/esm2015/lib/catalog/catalog-library/add-catalog-dialog.component.js +72 -53
- package/esm2015/lib/catalog/catalog-library/catalog-library.component.js +7 -6
- package/esm2015/lib/catalog/shared/catalog.service.js +5 -2
- package/esm2015/lib/datasource/shared/capabilities.service.js +26 -12
- package/esm2015/lib/datasource/shared/datasources/arcgisrest-datasource.js +84 -14
- package/esm2015/lib/datasource/shared/datasources/datasource.interface.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/imagearcgisrest-datasource.js +7 -10
- package/esm2015/lib/datasource/shared/datasources/mvt-datasource.js +2 -2
- package/esm2015/lib/datasource/shared/datasources/tilearcgisrest-datasource.js +7 -9
- package/esm2015/lib/datasource/shared/datasources/wfs-datasource.js +3 -1
- package/esm2015/lib/datasource/shared/datasources/wms-datasource.js +7 -1
- package/esm2015/lib/datasource/shared/datasources/wms-wfs.utils.js +5 -2
- package/esm2015/lib/directions/directions-buttons/directions-buttons.component.js +15 -8
- package/esm2015/lib/directions/directions-inputs/directions-inputs.component.js +12 -4
- package/esm2015/lib/directions/directions-sources/osrm-directions-source.js +3 -1
- package/esm2015/lib/directions/directions.component.js +66 -15
- package/esm2015/lib/directions/shared/directions.enum.js +6 -1
- package/esm2015/lib/directions/shared/directions.interface.js +1 -1
- package/esm2015/lib/directions/shared/directions.utils.js +4 -37
- package/esm2015/lib/draw/draw/draw.component.js +2 -1
- package/esm2015/lib/feature/shared/feature.utils.js +2 -1
- package/esm2015/lib/feature/shared/strategies/in-map-extent.js +17 -4
- package/esm2015/lib/filter/filter.module.js +7 -4
- package/esm2015/lib/filter/ogc-filter-button/ogc-filter-button.component.js +15 -1
- package/esm2015/lib/filter/ogc-filter-selection/ogc-filter-selection.component.js +31 -13
- package/esm2015/lib/filter/ogc-filter-time/ogc-filter-time.component.js +296 -161
- package/esm2015/lib/filter/shared/ogc-filter.interface.js +1 -1
- package/esm2015/lib/filter/shared/ogc-filter.js +8 -1
- package/esm2015/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.js +185 -95
- package/esm2015/lib/geometry/shared/controls/draw.js +7 -2
- package/esm2015/lib/geometry/shared/controls/modify.js +1 -1
- package/esm2015/lib/geometry/shared/controls/slice.js +1 -1
- package/esm2015/lib/import-export/import-export/import-export.component.js +226 -66
- package/esm2015/lib/import-export/shared/export.interface.js +1 -1
- package/esm2015/lib/layer/layer-legend/layer-legend.component.js +32 -26
- package/esm2015/lib/layer/layer.module.js +8 -5
- package/esm2015/lib/layer/shared/layer.service.js +20 -17
- package/esm2015/lib/layer/shared/layers/image-layer.js +9 -4
- package/esm2015/lib/layer/shared/layers/layer.interface.js +1 -1
- package/esm2015/lib/layer/shared/layers/layer.js +23 -5
- package/esm2015/lib/layer/shared/layers/tile-layer.js +23 -3
- package/esm2015/lib/layer/shared/layers/vector-layer.interface.js +1 -1
- package/esm2015/lib/layer/shared/layers/vector-layer.js +32 -14
- package/esm2015/lib/layer/shared/layers/vectortile-layer.interface.js +1 -1
- package/esm2015/lib/layer/shared/layers/vectortile-layer.js +13 -3
- package/esm2015/lib/layer/shared/style.service.js +21 -16
- package/esm2015/lib/layer/shared/vector-style.interface.js +1 -1
- package/esm2015/lib/layer/utils/index.js +2 -1
- package/esm2015/lib/layer/utils/layer.utils.js +11 -0
- package/esm2015/lib/layer/utils/layerSync-watcher.js +10 -6
- package/esm2015/lib/map/home-extent-button/home-extent-button.component.js +69 -0
- package/esm2015/lib/map/home-extent-button/index.js +2 -0
- package/esm2015/lib/map/index.js +3 -1
- package/esm2015/lib/map/info-section/index.js +2 -0
- package/esm2015/lib/map/info-section/info-section.component.js +36 -0
- package/esm2015/lib/map/map-browser/map-browser.component.js +1 -1
- package/esm2015/lib/map/map-center/map-center.component.js +1 -1
- package/esm2015/lib/map/map.module.js +11 -1
- package/esm2015/lib/map/shared/hover-feature.directive.js +229 -78
- package/esm2015/lib/map/shared/map.js +2 -2
- package/esm2015/lib/map/shared/mapOffline.directive.js +17 -6
- package/esm2015/lib/measure/measurer/measurer.component.js +8 -2
- package/esm2015/lib/query/shared/query.directive.js +6 -3
- package/esm2015/lib/query/shared/query.interfaces.js +1 -1
- package/esm2015/lib/query/shared/query.service.js +57 -14
- package/esm2015/lib/query/shared/query.utils.js +19 -1
- package/esm2015/lib/search/search-bar/search-bar.component.js +4 -2
- package/esm2015/lib/search/search-results/search-results-add-button.component.js +7 -7
- package/esm2015/lib/search/shared/search-pointer-summary.directive.js +16 -5
- package/esm2015/lib/search/shared/search.interfaces.js +1 -1
- package/esm2015/lib/search/shared/sources/icherche.js +3 -2
- package/esm2015/lib/search/shared/sources/source.js +2 -2
- package/esm2015/lib/search/shared/sources/storedqueries.js +3 -7
- package/esm2015/lib/workspace/confirmation-popup/confirmation-popup.component.js +56 -0
- package/esm2015/lib/workspace/confirmation-popup/confirmation-popup.module.js +38 -0
- package/esm2015/lib/workspace/confirmation-popup/index.js +3 -0
- package/esm2015/lib/workspace/index.js +2 -1
- package/esm2015/lib/workspace/shared/edition-workspace.js +271 -0
- package/esm2015/lib/workspace/shared/edition-workspace.service.js +619 -0
- package/esm2015/lib/workspace/shared/feature-workspace.js +18 -1
- package/esm2015/lib/workspace/shared/feature-workspace.service.js +27 -6
- package/esm2015/lib/workspace/shared/index.js +3 -1
- package/esm2015/lib/workspace/shared/wfs-workspace.js +18 -1
- package/esm2015/lib/workspace/shared/wfs-workspace.service.js +27 -5
- package/esm2015/lib/workspace/shared/wms-workspace.service.js +59 -15
- package/esm2015/lib/workspace/shared/workspace.utils.js +1 -1
- package/esm2015/lib/workspace/workspace-selector/workspace-selector.directive.js +40 -10
- package/esm2015/lib/workspace/workspace-updator/workspace-updator.directive.js +22 -8
- package/esm2015/lib/workspace/workspace.module.js +19 -7
- package/fesm2015/igo2-geo.js +2946 -794
- package/fesm2015/igo2-geo.js.map +1 -1
- package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +1 -1
- package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +2 -0
- package/lib/datasource/shared/datasources/datasource.interface.d.ts +45 -0
- package/lib/datasource/shared/datasources/wfs-datasource.d.ts +1 -0
- package/lib/datasource/shared/datasources/wms-wfs.utils.d.ts +1 -1
- package/lib/directions/directions-buttons/directions-buttons.component.d.ts +2 -1
- package/lib/directions/directions-inputs/directions-inputs.component.d.ts +1 -0
- package/lib/directions/directions.component.d.ts +7 -3
- package/lib/directions/shared/directions.enum.d.ts +4 -0
- package/lib/directions/shared/directions.interface.d.ts +3 -1
- package/lib/directions/shared/directions.utils.d.ts +0 -4
- package/lib/filter/filter.module.d.ts +1 -1
- package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +6 -0
- package/lib/filter/shared/ogc-filter.interface.d.ts +1 -0
- package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +7 -2
- package/lib/geometry/shared/controls/draw.d.ts +8 -4
- package/lib/geometry/shared/controls/modify.d.ts +3 -4
- package/lib/geometry/shared/controls/slice.d.ts +3 -4
- package/lib/import-export/import-export/import-export.component.d.ts +2 -0
- package/lib/import-export/shared/export.interface.d.ts +2 -1
- package/lib/layer/layer-legend/layer-legend.component.d.ts +0 -1
- package/lib/layer/layer.module.d.ts +1 -1
- package/lib/layer/shared/layer.service.d.ts +1 -1
- package/lib/layer/shared/layers/layer.d.ts +7 -0
- package/lib/layer/shared/layers/layer.interface.d.ts +8 -0
- package/lib/layer/shared/layers/tile-layer.d.ts +10 -1
- package/lib/layer/shared/layers/vector-layer.d.ts +2 -1
- package/lib/layer/shared/layers/vector-layer.interface.d.ts +1 -0
- package/lib/layer/shared/layers/vectortile-layer.interface.d.ts +1 -0
- package/lib/layer/shared/style.service.d.ts +4 -1
- package/lib/layer/shared/vector-style.interface.d.ts +9 -5
- package/lib/layer/utils/index.d.ts +1 -0
- package/lib/layer/utils/layer.utils.d.ts +2 -0
- package/lib/map/home-extent-button/home-extent-button.component.d.ts +20 -0
- package/lib/map/home-extent-button/index.d.ts +1 -0
- package/lib/map/index.d.ts +2 -0
- package/lib/map/info-section/index.d.ts +1 -0
- package/lib/map/info-section/info-section.component.d.ts +7 -0
- package/lib/map/map.module.d.ts +19 -17
- package/lib/map/shared/hover-feature.directive.d.ts +14 -5
- package/lib/map/shared/mapOffline.directive.d.ts +1 -0
- package/lib/query/shared/query.interfaces.d.ts +3 -0
- package/lib/query/shared/query.service.d.ts +9 -1
- package/lib/query/shared/query.utils.d.ts +12 -0
- package/lib/search/shared/search-pointer-summary.directive.d.ts +6 -0
- package/lib/search/shared/search.interfaces.d.ts +1 -0
- package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +23 -0
- package/lib/workspace/confirmation-popup/confirmation-popup.module.d.ts +14 -0
- package/lib/workspace/confirmation-popup/index.d.ts +2 -0
- package/lib/workspace/index.d.ts +1 -0
- package/lib/workspace/shared/edition-workspace.d.ts +81 -0
- package/lib/workspace/shared/edition-workspace.service.d.ts +45 -0
- package/lib/workspace/shared/feature-workspace.d.ts +3 -0
- package/lib/workspace/shared/feature-workspace.service.d.ts +2 -0
- package/lib/workspace/shared/index.d.ts +2 -0
- package/lib/workspace/shared/wfs-workspace.d.ts +3 -0
- package/lib/workspace/shared/wfs-workspace.service.d.ts +2 -0
- package/lib/workspace/shared/wms-workspace.service.d.ts +2 -0
- package/lib/workspace/shared/workspace.utils.d.ts +3 -2
- package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +10 -3
- package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +3 -1
- package/lib/workspace/workspace.module.d.ts +8 -5
- package/package.json +4 -4
- package/style/geo.theming.scss +1 -0
|
@@ -134,7 +134,7 @@ export class CatalogBrowserComponent {
|
|
|
134
134
|
*/
|
|
135
135
|
addLayersToMap(layers) {
|
|
136
136
|
const layers$ = layers.map((layer) => {
|
|
137
|
-
if (layer.options.sourceOptions.optionsFromApi
|
|
137
|
+
if (!layer.options.sourceOptions.optionsFromApi) {
|
|
138
138
|
layer.options.sourceOptions.optionsFromApi = true;
|
|
139
139
|
}
|
|
140
140
|
return this.layerService.createAsyncLayer(layer.options);
|
|
@@ -245,4 +245,4 @@ CatalogBrowserComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Cat
|
|
|
245
245
|
}], toggleCollapsedGroup: [{
|
|
246
246
|
type: Input
|
|
247
247
|
}] }); })();
|
|
248
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1icm93c2VyL2NhdGFsb2ctYnJvd3Nlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctYnJvd3Nlci9jYXRhbG9nLWJyb3dzZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsdUJBQXVCLEVBSXhCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxHQUFHLEVBQW1CLE1BQU0sTUFBTSxDQUFDO0FBRTVDLE9BQU8sRUFBZSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUsvRCxPQUFPLEVBTUwsZUFBZSxFQUNoQixNQUFNLFdBQVcsQ0FBQzs7Ozs7SUNyQmYsNkJBQW9DO0lBQ2xDLG9EQVNrRDtJQURoRCxzUUFBMEMsbVFBQUE7O0lBRTVDLGlCQUE0QjtJQUM5QiwwQkFBZTs7OztJQVZYLGVBQW1CO0lBQW5CLHdDQUFtQixrQkFBQSw2QkFBQSx3REFBQSxpREFBQSxzREFBQSxnREFBQTs7OztJQVl2Qiw2QkFBb0M7SUFDbEMsb0RBTTZDO0lBQTNDLHNRQUEwQzs7SUFDNUMsaUJBQTRCO0lBQzlCLDBCQUFlOzs7O0lBTlgsZUFBYztJQUFkLCtCQUFjLHdEQUFBLGlEQUFBLGdEQUFBOzs7SUFqQmxCLHdHQVllO0lBRWYsd0dBU2U7Ozs7SUF2QkEsOENBQW1CO0lBY25CLGVBQW1CO0lBQW5CLDhDQUFtQjs7QURTdEM7O0dBRUc7QUFNSCxNQUFNLE9BQU8sdUJBQXVCO0lBZ0NsQyxZQUNVLFlBQTBCLEVBQzFCLEtBQXdCO1FBRHhCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFVBQUss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LE1BQU0sQ0FBQyxDQUFDLElBQWlCLEVBQUUsRUFBRTtZQUN0RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQztZQUN4RCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQztRQUM5QyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUE0QixDQUFDLENBQUM7SUFDekQsQ0FBQzs7OEZBbE5VLHVCQUF1QjswRUFBdkIsdUJBQXVCO1FDakNwQyxtQ0FBbUQ7UUFDakQsd0ZBeUJjOztRQUNoQixpQkFBVzs7UUEzQkQsa0NBQW9CLG9CQUFBO1FBQ0EsZUFBcUM7UUFBckMscUVBQXFDOzt1RkRnQ3RELHVCQUF1QjtjQUxuQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0IsV0FBVyxFQUFFLGtDQUFrQztnQkFDL0MsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQ7K0ZBV1Usa0JBQWtCO2tCQUExQixLQUFLO1lBS0csT0FBTztrQkFBZixLQUFLO1lBS0csS0FBSztrQkFBYixLQUFLO1lBS0csR0FBRztrQkFBWCxLQUFLO1lBS0csb0JBQW9CO2tCQUE1QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgT25Jbml0LFxyXG4gIE9uRGVzdHJveVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgemlwLCBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEVudGl0eVN0b3JlLCBFbnRpdHlTdG9yZVdhdGNoZXIgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBMYXllciB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllcnMvbGF5ZXInO1xyXG5pbXBvcnQgeyBMYXllclNlcnZpY2UgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcCc7XHJcblxyXG5pbXBvcnQge1xyXG4gIENhdGFsb2csXHJcbiAgQ2F0YWxvZ0l0ZW0sXHJcbiAgQ2F0YWxvZ0l0ZW1MYXllcixcclxuICBDYXRhbG9nSXRlbUdyb3VwLFxyXG4gIENhdGFsb2dJdGVtU3RhdGUsXHJcbiAgQ2F0YWxvZ0l0ZW1UeXBlXHJcbn0gZnJvbSAnLi4vc2hhcmVkJztcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnQgdG8gYnJvd3NlIGEgY2F0YWxvZydzIGdyb3VwcyBhbmQgbGF5ZXJzIGFuZCBkaXNwbGF5IHRoZW0gb24gYSBtYXAuXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1jYXRhbG9nLWJyb3dzZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXRhbG9nLWJyb3dzZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXRhbG9nQnJvd3NlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAvKipcclxuICAgKiBDYXRhbG9nIGl0ZW1zIHN0b3JlIHdhdGNoZXJcclxuICAgKi9cclxuICBwcml2YXRlIHdhdGNoZXI6IEVudGl0eVN0b3JlV2F0Y2hlcjxDYXRhbG9nSXRlbT47XHJcblxyXG4gLy8gcHJpdmF0ZSByZXNvbHV0aW9uJCQ6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgZ2V0IHJlc29sdXRpb24kKCk6IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+IHsgcmV0dXJuIHRoaXMubWFwLnZpZXdDb250cm9sbGVyLnJlc29sdXRpb24kOyB9XHJcblxyXG4gIEBJbnB1dCgpIGNhdGFsb2dBbGxvd0xlZ2VuZCA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBDYXRhbG9nXHJcbiAgICovXHJcbiAgQElucHV0KCkgY2F0YWxvZzogQ2F0YWxvZztcclxuXHJcbiAgLyoqXHJcbiAgICogU3RvcmUgaG9sZGluZyB0aGUgY2F0YWxvZydzIGl0ZW1zXHJcbiAgICovXHJcbiAgQElucHV0KCkgc3RvcmU6IEVudGl0eVN0b3JlPENhdGFsb2dJdGVtLCBDYXRhbG9nSXRlbVN0YXRlPjtcclxuXHJcbiAgLyoqXHJcbiAgICogTWFwIHRvIGFkZCB0aGUgY2F0YWxvZyBpdGVtcyB0b1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1hcDogSWdvTWFwO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIGEgZ3JvdXAgY2FuIGJlIHRvZ2dsZWQgd2hlbiBpdCdzIGNvbGxhcHNlZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHRvZ2dsZUNvbGxhcHNlZEdyb3VwOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGxheWVyU2VydmljZTogTGF5ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgY29uc3QgY3VycmVudEl0ZW1zID0gdGhpcy5tYXAubGF5ZXJzLm1hcCgobGF5ZXI6IExheWVyKSA9PiB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgaWQ6IGxheWVyLm9wdGlvbnMuc291cmNlLmlkLFxyXG4gICAgICAgIHRpdGxlOiBsYXllci50aXRsZSxcclxuICAgICAgICB0eXBlOiBDYXRhbG9nSXRlbVR5cGUuTGF5ZXJcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGVNYW55KGN1cnJlbnRJdGVtcywgeyBhZGRlZDogdHJ1ZSB9LCB0cnVlKTtcclxuICAgIGlmICh0aGlzLmNhdGFsb2cgJiYgdGhpcy5jYXRhbG9nLnNvcnREaXJlY3Rpb24gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnN0b3JlLnZpZXcuc29ydCh7XHJcbiAgICAgICAgZGlyZWN0aW9uOiB0aGlzLmNhdGFsb2cuc29ydERpcmVjdGlvbixcclxuICAgICAgICB2YWx1ZUFjY2Vzc29yOiAoaXRlbTogQ2F0YWxvZ0l0ZW0pID0+IGl0ZW0udGl0bGVcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY2F0YWxvZ1Nob3dMZWdlbmQgPSB0aGlzLmNhdGFsb2cgPyB0aGlzLmNhdGFsb2cuc2hvd0xlZ2VuZCA6IGZhbHNlO1xyXG4gICAgdGhpcy5jYXRhbG9nQWxsb3dMZWdlbmQgPSBjYXRhbG9nU2hvd0xlZ2VuZCA/IGNhdGFsb2dTaG93TGVnZW5kIDogdGhpcy5jYXRhbG9nQWxsb3dMZWdlbmQ7XHJcblxyXG4gICAgdGhpcy53YXRjaGVyID0gbmV3IEVudGl0eVN0b3JlV2F0Y2hlcih0aGlzLnN0b3JlLCB0aGlzLmNkUmVmKTtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMud2F0Y2hlci5kZXN0cm95KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBpc0dyb3VwKGl0ZW06IENhdGFsb2dJdGVtKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gaXRlbS50eXBlID09PSBDYXRhbG9nSXRlbVR5cGUuR3JvdXA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBpc0xheWVyKGl0ZW06IENhdGFsb2dJdGVtKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gaXRlbS50eXBlID09PSBDYXRhbG9nSXRlbVR5cGUuTGF5ZXI7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXaGVuIGEgbGF5ZXIgaXMgYWRkZWQgb3IgcmVtb3ZlZCwgYWRkIG9yIHJlbW92ZSBpdCBmcm9tIHRoZSBtYXBcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKiBAcGFyYW0gZXZlbnQgTGF5ZXIgYWRkZWQgZXZlbnRcclxuICAgKi9cclxuICBvbkxheWVyQWRkZWRDaGFuZ2UoZXZlbnQ6IHsgYWRkZWQ6IGJvb2xlYW47IGxheWVyOiBDYXRhbG9nSXRlbUxheWVyIH0pIHtcclxuICAgIGNvbnN0IGxheWVyID0gZXZlbnQubGF5ZXI7XHJcbiAgICB0aGlzLnN0b3JlLnN0YXRlLnVwZGF0ZShsYXllciwgeyBhZGRlZDogZXZlbnQuYWRkZWQgfSwgZmFsc2UpO1xyXG4gICAgZXZlbnQuYWRkZWQgPyB0aGlzLmFkZExheWVyVG9NYXAobGF5ZXIpIDogdGhpcy5yZW1vdmVMYXllckZyb21NYXAobGF5ZXIpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hlbiBhIGZyb3VwIGlzIGFkZGVkIG9yIHJlbW92ZWQsIGFkZCBvciByZW1vdmUgaXQgZnJvbSB0aGUgbWFwXHJcbiAgICogQGludGVybmFsXHJcbiAgICogQHBhcmFtIGV2ZW50IEdyb3VwIGFkZGVkIGV2ZW50XHJcbiAgICovXHJcbiAgb25Hcm91cEFkZGVkQ2hhbmdlKGV2ZW50OiB7IGFkZGVkOiBib29sZWFuOyBncm91cDogQ2F0YWxvZ0l0ZW1Hcm91cCB9KSB7XHJcbiAgICBjb25zdCBncm91cCA9IGV2ZW50Lmdyb3VwO1xyXG4gICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGUoZ3JvdXAsIHsgYWRkZWQ6IGV2ZW50LmFkZGVkIH0sIGZhbHNlKTtcclxuICAgIGV2ZW50LmFkZGVkID8gdGhpcy5hZGRHcm91cFRvTWFwKGdyb3VwKSA6IHRoaXMucmVtb3ZlR3JvdXBGcm9tTWFwKGdyb3VwKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCBsYXllciB0byBtYXBcclxuICAgKiBAcGFyYW0gbGF5ZXIgQ2F0YWxvZyBsYXllclxyXG4gICAqL1xyXG4gIHByaXZhdGUgYWRkTGF5ZXJUb01hcChsYXllcjogQ2F0YWxvZ0l0ZW1MYXllcikge1xyXG4gICAgdGhpcy5hZGRMYXllcnNUb01hcChbbGF5ZXJdKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSBsYXllciBmcm9tIG1hcFxyXG4gICAqIEBwYXJhbSBsYXllciBDYXRhbG9nIGxheWVyXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZW1vdmVMYXllckZyb21NYXAobGF5ZXI6IENhdGFsb2dJdGVtTGF5ZXIpIHtcclxuICAgIHRoaXMucmVtb3ZlTGF5ZXJzRnJvbU1hcChbbGF5ZXJdKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCBtdWx0aXBsZSBsYXllcnMgdG8gbWFwXHJcbiAgICogQHBhcmFtIGxheWVycyBDYXRhbG9nIGxheWVyc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgYWRkTGF5ZXJzVG9NYXAobGF5ZXJzOiBDYXRhbG9nSXRlbUxheWVyW10pIHtcclxuICAgIGNvbnN0IGxheWVycyQgPSBsYXllcnMubWFwKChsYXllcjogQ2F0YWxvZ0l0ZW1MYXllcikgPT4ge1xyXG4gICAgICBpZiAobGF5ZXIub3B0aW9ucy5zb3VyY2VPcHRpb25zLm9wdGlvbnNGcm9tQXBpID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBsYXllci5vcHRpb25zLnNvdXJjZU9wdGlvbnMub3B0aW9uc0Zyb21BcGkgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0aGlzLmxheWVyU2VydmljZS5jcmVhdGVBc3luY0xheWVyKGxheWVyLm9wdGlvbnMpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgemlwKC4uLmxheWVycyQpLnN1YnNjcmliZSgob0xheWVyczogTGF5ZXJbXSkgPT4ge1xyXG4gICAgICB0aGlzLnN0b3JlLnN0YXRlLnVwZGF0ZU1hbnkobGF5ZXJzLCB7IGFkZGVkOiB0cnVlIH0pO1xyXG4gICAgICB0aGlzLm1hcC5hZGRMYXllcnMob0xheWVycyk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSBtdWx0aXBsZSBsYXllcnMgZnJvbSBtYXBcclxuICAgKiBAcGFyYW0gbGF5ZXJzIENhdGFsb2cgbGF5ZXJzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZW1vdmVMYXllcnNGcm9tTWFwKGxheWVyczogQ2F0YWxvZ0l0ZW1MYXllcltdKSB7XHJcbiAgICBsYXllcnMuZm9yRWFjaCgobGF5ZXI6IENhdGFsb2dJdGVtTGF5ZXIpID0+IHtcclxuICAgICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGUobGF5ZXIsIHsgYWRkZWQ6IGZhbHNlIH0pO1xyXG4gICAgICBpZiAobGF5ZXIub3B0aW9ucy5iYXNlTGF5ZXIgPT09IHRydWUpIHtcclxuICAgICAgICBjb25zdCBvTGF5ZXIgPSB0aGlzLm1hcC5nZXRMYXllckJ5SWQobGF5ZXIub3B0aW9ucy5pZCk7XHJcbiAgICAgICAgaWYgKG9MYXllciAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICB0aGlzLm1hcC5yZW1vdmVMYXllcihvTGF5ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBvTGF5ZXIgPSB0aGlzLm1hcC5nZXRMYXllckJ5SWQobGF5ZXIuaWQpO1xyXG4gICAgICAgIGlmIChvTGF5ZXIgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgdGhpcy5tYXAucmVtb3ZlTGF5ZXIob0xheWVyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU29ydCB0aGUgbGF5ZXJzIGJ5IHRpdGxlLiBhc2Mgb3IgZGVzYy5cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBwcml2YXRlIHNvcnRDYXRhbG9nSXRlbXNCeVRpdGxlKGl0ZW1zOiBDYXRhbG9nSXRlbVtdLCBkaXJlY3Rpb24pIHtcclxuICAgIGNvbnN0IHJldHVybkl0ZW0gPSBpdGVtcy5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgIGNvbnN0IHRpdGxlQSA9IGEudGl0bGUubm9ybWFsaXplKCdORkQnKS5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJyk7XHJcbiAgICAgIGNvbnN0IHRpdGxlQiA9IGIudGl0bGUubm9ybWFsaXplKCdORkQnKS5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJyk7XHJcblxyXG4gICAgICBpZiAodGl0bGVBIDwgdGl0bGVCKSB7XHJcbiAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aXRsZUEgPiB0aXRsZUIpIHtcclxuICAgICAgICByZXR1cm4gMTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gMDtcclxuICAgIH0pO1xyXG4gICAgc3dpdGNoIChkaXJlY3Rpb24pIHtcclxuICAgICAgY2FzZSAnYXNjJzpcclxuICAgICAgICByZXR1cm4gcmV0dXJuSXRlbTtcclxuICAgICAgY2FzZSAnZGVzYyc6XHJcbiAgICAgICAgcmV0dXJuIHJldHVybkl0ZW0ucmV2ZXJzZSgpO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBpdGVtcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCBhbGwgdGhlIGxheWVycyBvZiBhIGdyb3VwIHRvIG1hcFxyXG4gICAqIEBwYXJhbSBncm91cCBDYXRhbG9nIGdyb3VwXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhZGRHcm91cFRvTWFwKGdyb3VwOiBDYXRhbG9nSXRlbUdyb3VwKSB7XHJcbiAgICBsZXQgbGF5ZXJzID0gZ3JvdXAuaXRlbXMuZmlsdGVyKChpdGVtOiBDYXRhbG9nSXRlbSkgPT4ge1xyXG4gICAgICBjb25zdCBhZGRlZCA9IHRoaXMuc3RvcmUuc3RhdGUuZ2V0KGl0ZW0pLmFkZGVkIHx8IGZhbHNlO1xyXG4gICAgICByZXR1cm4gdGhpcy5pc0xheWVyKGl0ZW0pICYmIGFkZGVkID09PSBmYWxzZTtcclxuICAgIH0pO1xyXG4gICAgaWYgKGdyb3VwLnNvcnREaXJlY3Rpb24gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBsYXllcnMgPSB0aGlzLnNvcnRDYXRhbG9nSXRlbXNCeVRpdGxlKGxheWVycywgZ3JvdXAuc29ydERpcmVjdGlvbik7XHJcbiAgICB9XHJcbiAgICB0aGlzLmFkZExheWVyc1RvTWFwKGxheWVycy5yZXZlcnNlKCkgYXMgQ2F0YWxvZ0l0ZW1MYXllcltdKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSBhbGwgdGhlIGxheWVycyBvZiBhIGdyb3VwIGZyb20gbWFwXHJcbiAgICogQHBhcmFtIGdyb3VwIENhdGFsb2cgZ3JvdXBcclxuICAgKi9cclxuICBwcml2YXRlIHJlbW92ZUdyb3VwRnJvbU1hcChncm91cDogQ2F0YWxvZ0l0ZW1Hcm91cCkge1xyXG4gICAgY29uc3QgbGF5ZXJzID0gZ3JvdXAuaXRlbXMuZmlsdGVyKChpdGVtOiBDYXRhbG9nSXRlbSkgPT4ge1xyXG4gICAgICBjb25zdCBhZGRlZCA9IHRoaXMuc3RvcmUuc3RhdGUuZ2V0KGl0ZW0pLmFkZGVkIHx8IGZhbHNlO1xyXG4gICAgICByZXR1cm4gdGhpcy5pc0xheWVyKGl0ZW0pICYmIGFkZGVkID09PSB0cnVlO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnJlbW92ZUxheWVyc0Zyb21NYXAobGF5ZXJzIGFzIENhdGFsb2dJdGVtTGF5ZXJbXSk7XHJcbiAgfVxyXG59XHJcbiIsIjxpZ28tbGlzdCBbbmF2aWdhdGlvbl09XCJmYWxzZVwiIFtzZWxlY3Rpb25dPVwiZmFsc2VcIj5cclxuICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LWl0ZW0gW25nRm9yT2ZdPVwic3RvcmUudmlldy5hbGwkKCkgfCBhc3luY1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzR3JvdXAoaXRlbSlcIj5cclxuICAgICAgPGlnby1jYXRhbG9nLWJyb3dzZXItZ3JvdXBcclxuICAgICAgICBbY2F0YWxvZ109XCJjYXRhbG9nXCJcclxuICAgICAgICBbZ3JvdXBdPVwiaXRlbVwiXHJcbiAgICAgICAgW3N0YXRlXT1cInN0b3JlLnN0YXRlXCJcclxuICAgICAgICBbcmVzb2x1dGlvbl09XCJyZXNvbHV0aW9uJCB8IGFzeW5jXCJcclxuICAgICAgICBbY2F0YWxvZ0FsbG93TGVnZW5kXT1cImNhdGFsb2dBbGxvd0xlZ2VuZFwiXHJcbiAgICAgICAgW2NvbGxhcHNlZF09XCIoc3RvcmUuY291bnQgPT09IDEpID8gZmFsc2UgOiB0cnVlXCJcclxuICAgICAgICBbdG9nZ2xlQ29sbGFwc2VkXT1cInRvZ2dsZUNvbGxhcHNlZEdyb3VwXCJcclxuICAgICAgICAoYWRkZWRDaGFuZ2UpPVwib25Hcm91cEFkZGVkQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgIChsYXllckFkZGVkQ2hhbmdlKT1cIm9uTGF5ZXJBZGRlZENoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgIDwvaWdvLWNhdGFsb2ctYnJvd3Nlci1ncm91cD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0xheWVyKGl0ZW0pXCI+XHJcbiAgICAgIDxpZ28tY2F0YWxvZy1icm93c2VyLWxheWVyXHJcbiAgICAgICAgaWdvTGlzdEl0ZW1cclxuICAgICAgICBbbGF5ZXJdPVwiaXRlbVwiXHJcbiAgICAgICAgW3Jlc29sdXRpb25dPVwicmVzb2x1dGlvbiQgfCBhc3luY1wiXHJcbiAgICAgICAgW2NhdGFsb2dBbGxvd0xlZ2VuZF09XCJjYXRhbG9nQWxsb3dMZWdlbmRcIlxyXG4gICAgICAgIFthZGRlZF09XCJzdG9yZS5zdGF0ZS5nZXQoaXRlbSkuYWRkZWRcIlxyXG4gICAgICAgIChhZGRlZENoYW5nZSk9XCJvbkxheWVyQWRkZWRDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICA8L2lnby1jYXRhbG9nLWJyb3dzZXItbGF5ZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2lnby1saXN0PlxyXG4iXX0=
|
|
248
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1icm93c2VyL2NhdGFsb2ctYnJvd3Nlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctYnJvd3Nlci9jYXRhbG9nLWJyb3dzZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsdUJBQXVCLEVBSXhCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxHQUFHLEVBQW1CLE1BQU0sTUFBTSxDQUFDO0FBRTVDLE9BQU8sRUFBZSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUsvRCxPQUFPLEVBTUwsZUFBZSxFQUNoQixNQUFNLFdBQVcsQ0FBQzs7Ozs7SUNyQmYsNkJBQW9DO0lBQ2xDLG9EQVNrRDtJQURoRCxzUUFBMEMsbVFBQUE7O0lBRTVDLGlCQUE0QjtJQUM5QiwwQkFBZTs7OztJQVZYLGVBQW1CO0lBQW5CLHdDQUFtQixrQkFBQSw2QkFBQSx3REFBQSxpREFBQSxzREFBQSxnREFBQTs7OztJQVl2Qiw2QkFBb0M7SUFDbEMsb0RBTTZDO0lBQTNDLHNRQUEwQzs7SUFDNUMsaUJBQTRCO0lBQzlCLDBCQUFlOzs7O0lBTlgsZUFBYztJQUFkLCtCQUFjLHdEQUFBLGlEQUFBLGdEQUFBOzs7SUFqQmxCLHdHQVllO0lBRWYsd0dBU2U7Ozs7SUF2QkEsOENBQW1CO0lBY25CLGVBQW1CO0lBQW5CLDhDQUFtQjs7QURTdEM7O0dBRUc7QUFNSCxNQUFNLE9BQU8sdUJBQXVCO0lBZ0NsQyxZQUNVLFlBQTBCLEVBQzFCLEtBQXdCO1FBRHhCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFVBQUss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LENBQUMsQ0FBQyxJQUFpQixFQUFFLEVBQUU7WUFDdEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUM7WUFDeEQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBNEIsQ0FBQyxDQUFDO0lBQ3pELENBQUM7OzhGQWxOVSx1QkFBdUI7MEVBQXZCLHVCQUF1QjtRQ2pDcEMsbUNBQW1EO1FBQ2pELHdGQXlCYzs7UUFDaEIsaUJBQVc7O1FBM0JELGtDQUFvQixvQkFBQTtRQUNBLGVBQXFDO1FBQXJDLHFFQUFxQzs7dUZEZ0N0RCx1QkFBdUI7Y0FMbkMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxxQkFBcUI7Z0JBQy9CLFdBQVcsRUFBRSxrQ0FBa0M7Z0JBQy9DLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEOytGQVdVLGtCQUFrQjtrQkFBMUIsS0FBSztZQUtHLE9BQU87a0JBQWYsS0FBSztZQUtHLEtBQUs7a0JBQWIsS0FBSztZQUtHLEdBQUc7a0JBQVgsS0FBSztZQUtHLG9CQUFvQjtrQkFBNUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIE9uSW5pdCxcclxuICBPbkRlc3Ryb3lcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IHppcCwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBFbnRpdHlTdG9yZSwgRW50aXR5U3RvcmVXYXRjaGVyIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHsgTGF5ZXIgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXJzL2xheWVyJztcclxuaW1wb3J0IHsgTGF5ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAnO1xyXG5cclxuaW1wb3J0IHtcclxuICBDYXRhbG9nLFxyXG4gIENhdGFsb2dJdGVtLFxyXG4gIENhdGFsb2dJdGVtTGF5ZXIsXHJcbiAgQ2F0YWxvZ0l0ZW1Hcm91cCxcclxuICBDYXRhbG9nSXRlbVN0YXRlLFxyXG4gIENhdGFsb2dJdGVtVHlwZVxyXG59IGZyb20gJy4uL3NoYXJlZCc7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50IHRvIGJyb3dzZSBhIGNhdGFsb2cncyBncm91cHMgYW5kIGxheWVycyBhbmQgZGlzcGxheSB0aGVtIG9uIGEgbWFwLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tY2F0YWxvZy1icm93c2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2F0YWxvZy1icm93c2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2F0YWxvZ0Jyb3dzZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgLyoqXHJcbiAgICogQ2F0YWxvZyBpdGVtcyBzdG9yZSB3YXRjaGVyXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB3YXRjaGVyOiBFbnRpdHlTdG9yZVdhdGNoZXI8Q2F0YWxvZ0l0ZW0+O1xyXG5cclxuIC8vIHByaXZhdGUgcmVzb2x1dGlvbiQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGdldCByZXNvbHV0aW9uJCgpOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPiB7IHJldHVybiB0aGlzLm1hcC52aWV3Q29udHJvbGxlci5yZXNvbHV0aW9uJDsgfVxyXG5cclxuICBASW5wdXQoKSBjYXRhbG9nQWxsb3dMZWdlbmQgPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2F0YWxvZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNhdGFsb2c6IENhdGFsb2c7XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0b3JlIGhvbGRpbmcgdGhlIGNhdGFsb2cncyBpdGVtc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHN0b3JlOiBFbnRpdHlTdG9yZTxDYXRhbG9nSXRlbSwgQ2F0YWxvZ0l0ZW1TdGF0ZT47XHJcblxyXG4gIC8qKlxyXG4gICAqIE1hcCB0byBhZGQgdGhlIGNhdGFsb2cgaXRlbXMgdG9cclxuICAgKi9cclxuICBASW5wdXQoKSBtYXA6IElnb01hcDtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciBhIGdyb3VwIGNhbiBiZSB0b2dnbGVkIHdoZW4gaXQncyBjb2xsYXBzZWRcclxuICAgKi9cclxuICBASW5wdXQoKSB0b2dnbGVDb2xsYXBzZWRHcm91cDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBsYXllclNlcnZpY2U6IExheWVyU2VydmljZSxcclxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnN0IGN1cnJlbnRJdGVtcyA9IHRoaXMubWFwLmxheWVycy5tYXAoKGxheWVyOiBMYXllcikgPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGlkOiBsYXllci5vcHRpb25zLnNvdXJjZS5pZCxcclxuICAgICAgICB0aXRsZTogbGF5ZXIudGl0bGUsXHJcbiAgICAgICAgdHlwZTogQ2F0YWxvZ0l0ZW1UeXBlLkxheWVyXHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc3RvcmUuc3RhdGUudXBkYXRlTWFueShjdXJyZW50SXRlbXMsIHsgYWRkZWQ6IHRydWUgfSwgdHJ1ZSk7XHJcbiAgICBpZiAodGhpcy5jYXRhbG9nICYmIHRoaXMuY2F0YWxvZy5zb3J0RGlyZWN0aW9uICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5zdG9yZS52aWV3LnNvcnQoe1xyXG4gICAgICAgIGRpcmVjdGlvbjogdGhpcy5jYXRhbG9nLnNvcnREaXJlY3Rpb24sXHJcbiAgICAgICAgdmFsdWVBY2Nlc3NvcjogKGl0ZW06IENhdGFsb2dJdGVtKSA9PiBpdGVtLnRpdGxlXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGNhdGFsb2dTaG93TGVnZW5kID0gdGhpcy5jYXRhbG9nID8gdGhpcy5jYXRhbG9nLnNob3dMZWdlbmQgOiBmYWxzZTtcclxuICAgIHRoaXMuY2F0YWxvZ0FsbG93TGVnZW5kID0gY2F0YWxvZ1Nob3dMZWdlbmQgPyBjYXRhbG9nU2hvd0xlZ2VuZCA6IHRoaXMuY2F0YWxvZ0FsbG93TGVnZW5kO1xyXG5cclxuICAgIHRoaXMud2F0Y2hlciA9IG5ldyBFbnRpdHlTdG9yZVdhdGNoZXIodGhpcy5zdG9yZSwgdGhpcy5jZFJlZik7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLndhdGNoZXIuZGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgaXNHcm91cChpdGVtOiBDYXRhbG9nSXRlbSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGl0ZW0udHlwZSA9PT0gQ2F0YWxvZ0l0ZW1UeXBlLkdyb3VwO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgaXNMYXllcihpdGVtOiBDYXRhbG9nSXRlbSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGl0ZW0udHlwZSA9PT0gQ2F0YWxvZ0l0ZW1UeXBlLkxheWVyO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hlbiBhIGxheWVyIGlzIGFkZGVkIG9yIHJlbW92ZWQsIGFkZCBvciByZW1vdmUgaXQgZnJvbSB0aGUgbWFwXHJcbiAgICogQGludGVybmFsXHJcbiAgICogQHBhcmFtIGV2ZW50IExheWVyIGFkZGVkIGV2ZW50XHJcbiAgICovXHJcbiAgb25MYXllckFkZGVkQ2hhbmdlKGV2ZW50OiB7IGFkZGVkOiBib29sZWFuOyBsYXllcjogQ2F0YWxvZ0l0ZW1MYXllciB9KSB7XHJcbiAgICBjb25zdCBsYXllciA9IGV2ZW50LmxheWVyO1xyXG4gICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGUobGF5ZXIsIHsgYWRkZWQ6IGV2ZW50LmFkZGVkIH0sIGZhbHNlKTtcclxuICAgIGV2ZW50LmFkZGVkID8gdGhpcy5hZGRMYXllclRvTWFwKGxheWVyKSA6IHRoaXMucmVtb3ZlTGF5ZXJGcm9tTWFwKGxheWVyKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZW4gYSBmcm91cCBpcyBhZGRlZCBvciByZW1vdmVkLCBhZGQgb3IgcmVtb3ZlIGl0IGZyb20gdGhlIG1hcFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqIEBwYXJhbSBldmVudCBHcm91cCBhZGRlZCBldmVudFxyXG4gICAqL1xyXG4gIG9uR3JvdXBBZGRlZENoYW5nZShldmVudDogeyBhZGRlZDogYm9vbGVhbjsgZ3JvdXA6IENhdGFsb2dJdGVtR3JvdXAgfSkge1xyXG4gICAgY29uc3QgZ3JvdXAgPSBldmVudC5ncm91cDtcclxuICAgIHRoaXMuc3RvcmUuc3RhdGUudXBkYXRlKGdyb3VwLCB7IGFkZGVkOiBldmVudC5hZGRlZCB9LCBmYWxzZSk7XHJcbiAgICBldmVudC5hZGRlZCA/IHRoaXMuYWRkR3JvdXBUb01hcChncm91cCkgOiB0aGlzLnJlbW92ZUdyb3VwRnJvbU1hcChncm91cCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgbGF5ZXIgdG8gbWFwXHJcbiAgICogQHBhcmFtIGxheWVyIENhdGFsb2cgbGF5ZXJcclxuICAgKi9cclxuICBwcml2YXRlIGFkZExheWVyVG9NYXAobGF5ZXI6IENhdGFsb2dJdGVtTGF5ZXIpIHtcclxuICAgIHRoaXMuYWRkTGF5ZXJzVG9NYXAoW2xheWVyXSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgbGF5ZXIgZnJvbSBtYXBcclxuICAgKiBAcGFyYW0gbGF5ZXIgQ2F0YWxvZyBsYXllclxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVtb3ZlTGF5ZXJGcm9tTWFwKGxheWVyOiBDYXRhbG9nSXRlbUxheWVyKSB7XHJcbiAgICB0aGlzLnJlbW92ZUxheWVyc0Zyb21NYXAoW2xheWVyXSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgbXVsdGlwbGUgbGF5ZXJzIHRvIG1hcFxyXG4gICAqIEBwYXJhbSBsYXllcnMgQ2F0YWxvZyBsYXllcnNcclxuICAgKi9cclxuICBwcml2YXRlIGFkZExheWVyc1RvTWFwKGxheWVyczogQ2F0YWxvZ0l0ZW1MYXllcltdKSB7XHJcbiAgICBjb25zdCBsYXllcnMkID0gbGF5ZXJzLm1hcCgobGF5ZXI6IENhdGFsb2dJdGVtTGF5ZXIpID0+IHtcclxuICAgICAgaWYgKCFsYXllci5vcHRpb25zLnNvdXJjZU9wdGlvbnMub3B0aW9uc0Zyb21BcGkpIHtcclxuICAgICAgICBsYXllci5vcHRpb25zLnNvdXJjZU9wdGlvbnMub3B0aW9uc0Zyb21BcGkgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0aGlzLmxheWVyU2VydmljZS5jcmVhdGVBc3luY0xheWVyKGxheWVyLm9wdGlvbnMpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgemlwKC4uLmxheWVycyQpLnN1YnNjcmliZSgob0xheWVyczogTGF5ZXJbXSkgPT4ge1xyXG4gICAgICB0aGlzLnN0b3JlLnN0YXRlLnVwZGF0ZU1hbnkobGF5ZXJzLCB7IGFkZGVkOiB0cnVlIH0pO1xyXG4gICAgICB0aGlzLm1hcC5hZGRMYXllcnMob0xheWVycyk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSBtdWx0aXBsZSBsYXllcnMgZnJvbSBtYXBcclxuICAgKiBAcGFyYW0gbGF5ZXJzIENhdGFsb2cgbGF5ZXJzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZW1vdmVMYXllcnNGcm9tTWFwKGxheWVyczogQ2F0YWxvZ0l0ZW1MYXllcltdKSB7XHJcbiAgICBsYXllcnMuZm9yRWFjaCgobGF5ZXI6IENhdGFsb2dJdGVtTGF5ZXIpID0+IHtcclxuICAgICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGUobGF5ZXIsIHsgYWRkZWQ6IGZhbHNlIH0pO1xyXG4gICAgICBpZiAobGF5ZXIub3B0aW9ucy5iYXNlTGF5ZXIgPT09IHRydWUpIHtcclxuICAgICAgICBjb25zdCBvTGF5ZXIgPSB0aGlzLm1hcC5nZXRMYXllckJ5SWQobGF5ZXIub3B0aW9ucy5pZCk7XHJcbiAgICAgICAgaWYgKG9MYXllciAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICB0aGlzLm1hcC5yZW1vdmVMYXllcihvTGF5ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBvTGF5ZXIgPSB0aGlzLm1hcC5nZXRMYXllckJ5SWQobGF5ZXIuaWQpO1xyXG4gICAgICAgIGlmIChvTGF5ZXIgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgdGhpcy5tYXAucmVtb3ZlTGF5ZXIob0xheWVyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU29ydCB0aGUgbGF5ZXJzIGJ5IHRpdGxlLiBhc2Mgb3IgZGVzYy5cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBwcml2YXRlIHNvcnRDYXRhbG9nSXRlbXNCeVRpdGxlKGl0ZW1zOiBDYXRhbG9nSXRlbVtdLCBkaXJlY3Rpb24pIHtcclxuICAgIGNvbnN0IHJldHVybkl0ZW0gPSBpdGVtcy5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgIGNvbnN0IHRpdGxlQSA9IGEudGl0bGUubm9ybWFsaXplKCdORkQnKS5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJyk7XHJcbiAgICAgIGNvbnN0IHRpdGxlQiA9IGIudGl0bGUubm9ybWFsaXplKCdORkQnKS5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJyk7XHJcblxyXG4gICAgICBpZiAodGl0bGVBIDwgdGl0bGVCKSB7XHJcbiAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aXRsZUEgPiB0aXRsZUIpIHtcclxuICAgICAgICByZXR1cm4gMTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gMDtcclxuICAgIH0pO1xyXG4gICAgc3dpdGNoIChkaXJlY3Rpb24pIHtcclxuICAgICAgY2FzZSAnYXNjJzpcclxuICAgICAgICByZXR1cm4gcmV0dXJuSXRlbTtcclxuICAgICAgY2FzZSAnZGVzYyc6XHJcbiAgICAgICAgcmV0dXJuIHJldHVybkl0ZW0ucmV2ZXJzZSgpO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBpdGVtcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCBhbGwgdGhlIGxheWVycyBvZiBhIGdyb3VwIHRvIG1hcFxyXG4gICAqIEBwYXJhbSBncm91cCBDYXRhbG9nIGdyb3VwXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhZGRHcm91cFRvTWFwKGdyb3VwOiBDYXRhbG9nSXRlbUdyb3VwKSB7XHJcbiAgICBsZXQgbGF5ZXJzID0gZ3JvdXAuaXRlbXMuZmlsdGVyKChpdGVtOiBDYXRhbG9nSXRlbSkgPT4ge1xyXG4gICAgICBjb25zdCBhZGRlZCA9IHRoaXMuc3RvcmUuc3RhdGUuZ2V0KGl0ZW0pLmFkZGVkIHx8IGZhbHNlO1xyXG4gICAgICByZXR1cm4gdGhpcy5pc0xheWVyKGl0ZW0pICYmIGFkZGVkID09PSBmYWxzZTtcclxuICAgIH0pO1xyXG4gICAgaWYgKGdyb3VwLnNvcnREaXJlY3Rpb24gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBsYXllcnMgPSB0aGlzLnNvcnRDYXRhbG9nSXRlbXNCeVRpdGxlKGxheWVycywgZ3JvdXAuc29ydERpcmVjdGlvbik7XHJcbiAgICB9XHJcbiAgICB0aGlzLmFkZExheWVyc1RvTWFwKGxheWVycy5yZXZlcnNlKCkgYXMgQ2F0YWxvZ0l0ZW1MYXllcltdKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSBhbGwgdGhlIGxheWVycyBvZiBhIGdyb3VwIGZyb20gbWFwXHJcbiAgICogQHBhcmFtIGdyb3VwIENhdGFsb2cgZ3JvdXBcclxuICAgKi9cclxuICBwcml2YXRlIHJlbW92ZUdyb3VwRnJvbU1hcChncm91cDogQ2F0YWxvZ0l0ZW1Hcm91cCkge1xyXG4gICAgY29uc3QgbGF5ZXJzID0gZ3JvdXAuaXRlbXMuZmlsdGVyKChpdGVtOiBDYXRhbG9nSXRlbSkgPT4ge1xyXG4gICAgICBjb25zdCBhZGRlZCA9IHRoaXMuc3RvcmUuc3RhdGUuZ2V0KGl0ZW0pLmFkZGVkIHx8IGZhbHNlO1xyXG4gICAgICByZXR1cm4gdGhpcy5pc0xheWVyKGl0ZW0pICYmIGFkZGVkID09PSB0cnVlO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnJlbW92ZUxheWVyc0Zyb21NYXAobGF5ZXJzIGFzIENhdGFsb2dJdGVtTGF5ZXJbXSk7XHJcbiAgfVxyXG59XHJcbiIsIjxpZ28tbGlzdCBbbmF2aWdhdGlvbl09XCJmYWxzZVwiIFtzZWxlY3Rpb25dPVwiZmFsc2VcIj5cclxuICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LWl0ZW0gW25nRm9yT2ZdPVwic3RvcmUudmlldy5hbGwkKCkgfCBhc3luY1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzR3JvdXAoaXRlbSlcIj5cclxuICAgICAgPGlnby1jYXRhbG9nLWJyb3dzZXItZ3JvdXBcclxuICAgICAgICBbY2F0YWxvZ109XCJjYXRhbG9nXCJcclxuICAgICAgICBbZ3JvdXBdPVwiaXRlbVwiXHJcbiAgICAgICAgW3N0YXRlXT1cInN0b3JlLnN0YXRlXCJcclxuICAgICAgICBbcmVzb2x1dGlvbl09XCJyZXNvbHV0aW9uJCB8IGFzeW5jXCJcclxuICAgICAgICBbY2F0YWxvZ0FsbG93TGVnZW5kXT1cImNhdGFsb2dBbGxvd0xlZ2VuZFwiXHJcbiAgICAgICAgW2NvbGxhcHNlZF09XCIoc3RvcmUuY291bnQgPT09IDEpID8gZmFsc2UgOiB0cnVlXCJcclxuICAgICAgICBbdG9nZ2xlQ29sbGFwc2VkXT1cInRvZ2dsZUNvbGxhcHNlZEdyb3VwXCJcclxuICAgICAgICAoYWRkZWRDaGFuZ2UpPVwib25Hcm91cEFkZGVkQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgIChsYXllckFkZGVkQ2hhbmdlKT1cIm9uTGF5ZXJBZGRlZENoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgIDwvaWdvLWNhdGFsb2ctYnJvd3Nlci1ncm91cD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0xheWVyKGl0ZW0pXCI+XHJcbiAgICAgIDxpZ28tY2F0YWxvZy1icm93c2VyLWxheWVyXHJcbiAgICAgICAgaWdvTGlzdEl0ZW1cclxuICAgICAgICBbbGF5ZXJdPVwiaXRlbVwiXHJcbiAgICAgICAgW3Jlc29sdXRpb25dPVwicmVzb2x1dGlvbiQgfCBhc3luY1wiXHJcbiAgICAgICAgW2NhdGFsb2dBbGxvd0xlZ2VuZF09XCJjYXRhbG9nQWxsb3dMZWdlbmRcIlxyXG4gICAgICAgIFthZGRlZF09XCJzdG9yZS5zdGF0ZS5nZXQoaXRlbSkuYWRkZWRcIlxyXG4gICAgICAgIChhZGRlZENoYW5nZSk9XCJvbkxheWVyQWRkZWRDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICA8L2lnby1jYXRhbG9nLWJyb3dzZXItbGF5ZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2lnby1saXN0PlxyXG4iXX0=
|
|
@@ -16,52 +16,62 @@ import * as i9 from "@angular/material/button";
|
|
|
16
16
|
import * as i10 from "@angular/material/core";
|
|
17
17
|
import * as i11 from "@angular/material/tooltip";
|
|
18
18
|
import * as i12 from "@ngx-translate/core";
|
|
19
|
-
function
|
|
20
|
-
i0.ɵɵelementStart(0, "mat-option",
|
|
19
|
+
function AddCatalogDialogComponent_mat_option_11_Template(rf, ctx) { if (rf & 1) {
|
|
20
|
+
i0.ɵɵelementStart(0, "mat-option", 17);
|
|
21
21
|
i0.ɵɵtext(1);
|
|
22
22
|
i0.ɵɵelementEnd();
|
|
23
23
|
} if (rf & 2) {
|
|
24
|
-
const
|
|
25
|
-
i0.ɵɵproperty("matTooltip",
|
|
24
|
+
const predefinedCatalog_r7 = ctx.$implicit;
|
|
25
|
+
i0.ɵɵproperty("matTooltip", predefinedCatalog_r7.title)("value", predefinedCatalog_r7);
|
|
26
26
|
i0.ɵɵadvance(1);
|
|
27
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
27
|
+
i0.ɵɵtextInterpolate1(" ", predefinedCatalog_r7.title, " ");
|
|
28
28
|
} }
|
|
29
|
-
function
|
|
29
|
+
function AddCatalogDialogComponent_mat_option_18_Template(rf, ctx) { if (rf & 1) {
|
|
30
30
|
i0.ɵɵelementStart(0, "mat-option", 17);
|
|
31
|
-
i0.ɵɵ
|
|
32
|
-
i0.ɵɵ
|
|
31
|
+
i0.ɵɵtext(1);
|
|
32
|
+
i0.ɵɵelementEnd();
|
|
33
|
+
} if (rf & 2) {
|
|
34
|
+
const predefinedCatalog_r8 = ctx.$implicit;
|
|
35
|
+
i0.ɵɵproperty("matTooltip", predefinedCatalog_r8.url)("value", predefinedCatalog_r8);
|
|
36
|
+
i0.ɵɵadvance(1);
|
|
37
|
+
i0.ɵɵtextInterpolate1(" ", predefinedCatalog_r8.url, " ");
|
|
38
|
+
} }
|
|
39
|
+
function AddCatalogDialogComponent_mat_option_23_Template(rf, ctx) { if (rf & 1) {
|
|
40
|
+
i0.ɵɵelementStart(0, "mat-option", 18);
|
|
41
|
+
i0.ɵɵlistener("click", function AddCatalogDialogComponent_mat_option_23_Template_mat_option_click_0_listener($event) { return $event.stopPropagation(); });
|
|
42
|
+
i0.ɵɵelementStart(1, "p", 19);
|
|
33
43
|
i0.ɵɵtext(2);
|
|
34
44
|
i0.ɵɵelementEnd();
|
|
35
45
|
i0.ɵɵelementEnd();
|
|
36
46
|
} if (rf & 2) {
|
|
37
|
-
const
|
|
38
|
-
i0.ɵɵproperty("value",
|
|
47
|
+
const type_r9 = ctx.$implicit;
|
|
48
|
+
i0.ɵɵproperty("value", type_r9);
|
|
39
49
|
i0.ɵɵadvance(2);
|
|
40
|
-
i0.ɵɵtextInterpolate(
|
|
50
|
+
i0.ɵɵtextInterpolate(type_r9);
|
|
41
51
|
} }
|
|
42
52
|
const _c0 = function (a0, a1) { return { value: a0, email: a1 }; };
|
|
43
|
-
function
|
|
53
|
+
function AddCatalogDialogComponent_span_24_Template(rf, ctx) { if (rf & 1) {
|
|
44
54
|
i0.ɵɵelementStart(0, "span");
|
|
45
|
-
i0.ɵɵelementStart(1, "p",
|
|
55
|
+
i0.ɵɵelementStart(1, "p", 20);
|
|
46
56
|
i0.ɵɵtext(2);
|
|
47
57
|
i0.ɵɵelementEnd();
|
|
48
58
|
i0.ɵɵelementEnd();
|
|
49
59
|
} if (rf & 2) {
|
|
50
|
-
const
|
|
60
|
+
const ctx_r5 = i0.ɵɵnextContext();
|
|
51
61
|
i0.ɵɵadvance(2);
|
|
52
|
-
i0.ɵɵtextInterpolate(
|
|
62
|
+
i0.ɵɵtextInterpolate(ctx_r5.languageService.translate.instant("igo.geo.catalog.externalProvider.unavailableWithEmail", i0.ɵɵpureFunction2(1, _c0, ctx_r5.addedCatalog.url, ctx_r5.emailAddress)));
|
|
53
63
|
} }
|
|
54
64
|
const _c1 = function (a0) { return { value: a0 }; };
|
|
55
|
-
function
|
|
65
|
+
function AddCatalogDialogComponent_span_25_Template(rf, ctx) { if (rf & 1) {
|
|
56
66
|
i0.ɵɵelementStart(0, "span");
|
|
57
|
-
i0.ɵɵelementStart(1, "p",
|
|
67
|
+
i0.ɵɵelementStart(1, "p", 20);
|
|
58
68
|
i0.ɵɵtext(2);
|
|
59
69
|
i0.ɵɵelementEnd();
|
|
60
70
|
i0.ɵɵelementEnd();
|
|
61
71
|
} if (rf & 2) {
|
|
62
|
-
const
|
|
72
|
+
const ctx_r6 = i0.ɵɵnextContext();
|
|
63
73
|
i0.ɵɵadvance(2);
|
|
64
|
-
i0.ɵɵtextInterpolate(
|
|
74
|
+
i0.ɵɵtextInterpolate(ctx_r6.languageService.translate.instant("igo.geo.catalog.unavailable", i0.ɵɵpureFunction1(1, _c1, ctx_r6.addedCatalog.url)));
|
|
65
75
|
} }
|
|
66
76
|
export class AddCatalogDialogComponent {
|
|
67
77
|
constructor(formBuilder, languageService, configService, dialogRef, data) {
|
|
@@ -109,7 +119,7 @@ export class AddCatalogDialogComponent {
|
|
|
109
119
|
this.addedCatalogType$$.unsubscribe();
|
|
110
120
|
this.storeViewAll$$.unsubscribe();
|
|
111
121
|
}
|
|
112
|
-
|
|
122
|
+
changeUrlOrTitle(catalog) {
|
|
113
123
|
this.form.patchValue(catalog);
|
|
114
124
|
this.error = false;
|
|
115
125
|
this.computePredefinedCatalogList();
|
|
@@ -127,7 +137,7 @@ export class AddCatalogDialogComponent {
|
|
|
127
137
|
}
|
|
128
138
|
}
|
|
129
139
|
AddCatalogDialogComponent.ɵfac = function AddCatalogDialogComponent_Factory(t) { return new (t || AddCatalogDialogComponent)(i0.ɵɵdirectiveInject(i1.FormBuilder), i0.ɵɵdirectiveInject(i2.LanguageService), i0.ɵɵdirectiveInject(i2.ConfigService), i0.ɵɵdirectiveInject(i3.MatDialogRef), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA, 8)); };
|
|
130
|
-
AddCatalogDialogComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AddCatalogDialogComponent, selectors: [["igo-add-catalog-dialog"]], decls:
|
|
140
|
+
AddCatalogDialogComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AddCatalogDialogComponent, selectors: [["igo-add-catalog-dialog"]], decls: 34, vars: 25, consts: [["mat-dialog-title", "", 1, "mat-typography"], ["mat-dialog-content", "", 1, "mat-typography"], [1, "igo-form", 3, "formGroup"], [1, "igo-input-container"], ["type", "text", "formControlName", "title", "matInput", "", 3, "placeholder", "matAutocomplete"], [3, "optionSelected"], ["auto2", "matAutocomplete"], ["matTooltipShowDelay", "500", 3, "matTooltip", "value", 4, "ngFor", "ngForOf"], ["type", "text", "formControlName", "url", "placeholder", "URL", "matInput", "", 3, "matAutocomplete"], ["auto", "matAutocomplete"], ["formControlName", "type", "placeholder", "Type"], [3, "value", "click", 4, "ngFor", "ngForOf"], [4, "ngIf"], ["mat-dialog-actions", "", 2, "justify-content", "center"], [1, "igo-form-button-group", "add-catalog-button-top-padding"], ["mat-raised-button", "", "type", "button", 3, "click"], ["id", "addCatalogBtnDialog", "mat-raised-button", "", "type", "button", "color", "primary", 3, "disabled", "click"], ["matTooltipShowDelay", "500", 3, "matTooltip", "value"], [3, "value", "click"], ["mat-line", ""], [1, "error"]], template: function AddCatalogDialogComponent_Template(rf, ctx) { if (rf & 1) {
|
|
131
141
|
i0.ɵɵelementStart(0, "h1", 0);
|
|
132
142
|
i0.ɵɵtext(1);
|
|
133
143
|
i0.ɵɵpipe(2, "translate");
|
|
@@ -137,56 +147,65 @@ AddCatalogDialogComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: A
|
|
|
137
147
|
i0.ɵɵelementStart(5, "div", 3);
|
|
138
148
|
i0.ɵɵelementStart(6, "mat-form-field");
|
|
139
149
|
i0.ɵɵelement(7, "input", 4);
|
|
140
|
-
i0.ɵɵ
|
|
141
|
-
i0.ɵɵ
|
|
142
|
-
i0.ɵɵ
|
|
143
|
-
i0.ɵɵ
|
|
150
|
+
i0.ɵɵpipe(8, "translate");
|
|
151
|
+
i0.ɵɵelementStart(9, "mat-autocomplete", 5, 6);
|
|
152
|
+
i0.ɵɵlistener("optionSelected", function AddCatalogDialogComponent_Template_mat_autocomplete_optionSelected_9_listener($event) { return ctx.changeUrlOrTitle($event.option.value); });
|
|
153
|
+
i0.ɵɵtemplate(11, AddCatalogDialogComponent_mat_option_11_Template, 2, 3, "mat-option", 7);
|
|
154
|
+
i0.ɵɵpipe(12, "async");
|
|
155
|
+
i0.ɵɵelementEnd();
|
|
144
156
|
i0.ɵɵelementEnd();
|
|
145
157
|
i0.ɵɵelementEnd();
|
|
158
|
+
i0.ɵɵelementStart(13, "div", 3);
|
|
159
|
+
i0.ɵɵelementStart(14, "mat-form-field");
|
|
160
|
+
i0.ɵɵelement(15, "input", 8);
|
|
161
|
+
i0.ɵɵelementStart(16, "mat-autocomplete", 5, 9);
|
|
162
|
+
i0.ɵɵlistener("optionSelected", function AddCatalogDialogComponent_Template_mat_autocomplete_optionSelected_16_listener($event) { return ctx.changeUrlOrTitle($event.option.value); });
|
|
163
|
+
i0.ɵɵtemplate(18, AddCatalogDialogComponent_mat_option_18_Template, 2, 3, "mat-option", 7);
|
|
164
|
+
i0.ɵɵpipe(19, "async");
|
|
146
165
|
i0.ɵɵelementEnd();
|
|
147
|
-
i0.ɵɵelementStart(12, "div", 3);
|
|
148
|
-
i0.ɵɵelementStart(13, "mat-form-field");
|
|
149
|
-
i0.ɵɵelement(14, "input", 8);
|
|
150
|
-
i0.ɵɵpipe(15, "translate");
|
|
151
166
|
i0.ɵɵelementEnd();
|
|
152
167
|
i0.ɵɵelementEnd();
|
|
153
|
-
i0.ɵɵelementStart(
|
|
154
|
-
i0.ɵɵelementStart(
|
|
155
|
-
i0.ɵɵelementStart(
|
|
156
|
-
i0.ɵɵtemplate(
|
|
168
|
+
i0.ɵɵelementStart(20, "div", 3);
|
|
169
|
+
i0.ɵɵelementStart(21, "mat-form-field");
|
|
170
|
+
i0.ɵɵelementStart(22, "mat-select", 10);
|
|
171
|
+
i0.ɵɵtemplate(23, AddCatalogDialogComponent_mat_option_23_Template, 3, 2, "mat-option", 11);
|
|
157
172
|
i0.ɵɵelementEnd();
|
|
158
173
|
i0.ɵɵelementEnd();
|
|
159
174
|
i0.ɵɵelementEnd();
|
|
160
175
|
i0.ɵɵelementEnd();
|
|
161
|
-
i0.ɵɵtemplate(
|
|
162
|
-
i0.ɵɵtemplate(
|
|
176
|
+
i0.ɵɵtemplate(24, AddCatalogDialogComponent_span_24_Template, 3, 4, "span", 12);
|
|
177
|
+
i0.ɵɵtemplate(25, AddCatalogDialogComponent_span_25_Template, 3, 3, "span", 12);
|
|
163
178
|
i0.ɵɵelementEnd();
|
|
164
|
-
i0.ɵɵelementStart(
|
|
165
|
-
i0.ɵɵelementStart(
|
|
166
|
-
i0.ɵɵelementStart(
|
|
167
|
-
i0.ɵɵlistener("click", function
|
|
168
|
-
i0.ɵɵtext(
|
|
169
|
-
i0.ɵɵpipe(
|
|
179
|
+
i0.ɵɵelementStart(26, "div", 13);
|
|
180
|
+
i0.ɵɵelementStart(27, "div", 14);
|
|
181
|
+
i0.ɵɵelementStart(28, "button", 15);
|
|
182
|
+
i0.ɵɵlistener("click", function AddCatalogDialogComponent_Template_button_click_28_listener() { return ctx.cancel(); });
|
|
183
|
+
i0.ɵɵtext(29);
|
|
184
|
+
i0.ɵɵpipe(30, "translate");
|
|
170
185
|
i0.ɵɵelementEnd();
|
|
171
|
-
i0.ɵɵelementStart(
|
|
172
|
-
i0.ɵɵlistener("click", function
|
|
173
|
-
i0.ɵɵtext(
|
|
174
|
-
i0.ɵɵpipe(
|
|
186
|
+
i0.ɵɵelementStart(31, "button", 16);
|
|
187
|
+
i0.ɵɵlistener("click", function AddCatalogDialogComponent_Template_button_click_31_listener() { return ctx.addCatalog(ctx.form.value); });
|
|
188
|
+
i0.ɵɵtext(32);
|
|
189
|
+
i0.ɵɵpipe(33, "translate");
|
|
175
190
|
i0.ɵɵelementEnd();
|
|
176
191
|
i0.ɵɵelementEnd();
|
|
177
192
|
i0.ɵɵelementEnd();
|
|
178
193
|
} if (rf & 2) {
|
|
179
|
-
const _r0 = i0.ɵɵreference(
|
|
194
|
+
const _r0 = i0.ɵɵreference(10);
|
|
195
|
+
const _r2 = i0.ɵɵreference(17);
|
|
180
196
|
i0.ɵɵadvance(1);
|
|
181
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2,
|
|
197
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 13, "igo.geo.catalog.library.addTitle"));
|
|
182
198
|
i0.ɵɵadvance(3);
|
|
183
199
|
i0.ɵɵproperty("formGroup", ctx.form);
|
|
184
200
|
i0.ɵɵadvance(3);
|
|
201
|
+
i0.ɵɵpropertyInterpolate("placeholder", i0.ɵɵpipeBind1(8, 15, "igo.geo.printForm.title"));
|
|
185
202
|
i0.ɵɵproperty("matAutocomplete", _r0);
|
|
186
|
-
i0.ɵɵadvance(3);
|
|
187
|
-
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(11, 13, ctx.predefinedCatalogsList$));
|
|
188
203
|
i0.ɵɵadvance(4);
|
|
189
|
-
i0.ɵɵ
|
|
204
|
+
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(12, 17, ctx.predefinedCatalogsList$));
|
|
205
|
+
i0.ɵɵadvance(4);
|
|
206
|
+
i0.ɵɵproperty("matAutocomplete", _r2);
|
|
207
|
+
i0.ɵɵadvance(3);
|
|
208
|
+
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(19, 19, ctx.predefinedCatalogsList$));
|
|
190
209
|
i0.ɵɵadvance(5);
|
|
191
210
|
i0.ɵɵproperty("ngForOf", ctx.typeCapabilities);
|
|
192
211
|
i0.ɵɵadvance(1);
|
|
@@ -194,11 +213,11 @@ AddCatalogDialogComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: A
|
|
|
194
213
|
i0.ɵɵadvance(1);
|
|
195
214
|
i0.ɵɵproperty("ngIf", ctx.error && ctx.addedCatalog && !ctx.emailAddress);
|
|
196
215
|
i0.ɵɵadvance(4);
|
|
197
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(
|
|
216
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(30, 21, "igo.geo.catalog.library.cancel"), " ");
|
|
198
217
|
i0.ɵɵadvance(2);
|
|
199
218
|
i0.ɵɵproperty("disabled", !ctx.form.valid);
|
|
200
219
|
i0.ɵɵadvance(1);
|
|
201
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(
|
|
220
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(33, 23, "igo.geo.catalog.library.add"), " ");
|
|
202
221
|
} }, directives: [i3.MatDialogTitle, i3.MatDialogContent, i1.ɵNgNoValidate, i1.NgControlStatusGroup, i1.FormGroupDirective, i4.MatFormField, i1.DefaultValueAccessor, i5.MatInput, i6.MatAutocompleteTrigger, i1.NgControlStatus, i1.FormControlName, i6.MatAutocomplete, i7.NgForOf, i8.MatSelect, i7.NgIf, i3.MatDialogActions, i9.MatButton, i10.MatOption, i11.MatTooltip, i10.MatLine], pipes: [i12.TranslatePipe, i7.AsyncPipe], styles: ["mat-form-field[_ngcontent-%COMP%]{width:100%}.add-catalog-button-top-padding[_ngcontent-%COMP%]{padding-top:25px}.igo-form[_ngcontent-%COMP%]{padding:10px 5px 5px}.igo-form-button-group[_ngcontent-%COMP%]{text-align:center}button[_ngcontent-%COMP%]{cursor:pointer}button#addCatalogBtnDialog[disabled=true][_ngcontent-%COMP%]{cursor:default;background-color:#0000001f;color:#00000042}.error[_ngcontent-%COMP%]{color:red}"] });
|
|
203
222
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AddCatalogDialogComponent, [{
|
|
204
223
|
type: Component,
|
|
@@ -213,4 +232,4 @@ AddCatalogDialogComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: A
|
|
|
213
232
|
type: Inject,
|
|
214
233
|
args: [MAT_DIALOG_DATA]
|
|
215
234
|
}] }]; }, null); })();
|
|
216
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWNhdGFsb2ctZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1saWJyYXJ5L2FkZC1jYXRhbG9nLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctbGlicmFyeS9hZGQtY2F0YWxvZy1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBcUIsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7Ozs7Ozs7OztJQ0ExQyxzQ0FDbUU7SUFDakUsWUFDRjtJQUFBLGlCQUFhOzs7SUFGWCxxREFBb0MsK0JBQUE7SUFDcEMsZUFDRjtJQURFLHlEQUNGOzs7SUFpQkEsc0NBR3FDO0lBQW5DLDhIQUFTLHdCQUF3QixJQUFDO0lBQ2hDLDZCQUFZO0lBQUEsWUFBUTtJQUFBLGlCQUFJO0lBQzVCLGlCQUFhOzs7SUFIWCwrQkFBYztJQUVBLGVBQVE7SUFBUiw2QkFBUTs7OztJQU1oQyw0QkFBb0Q7SUFDbEQsNkJBQWlCO0lBQUEsWUFBZ0o7SUFBQSxpQkFBSTtJQUN2SyxpQkFBTzs7O0lBRFksZUFBZ0o7SUFBaEosaU1BQWdKOzs7O0lBRW5LLDRCQUFxRDtJQUNuRCw2QkFBaUI7SUFBQSxZQUFpRztJQUFBLGlCQUFJO0lBQ3hILGlCQUFPOzs7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K0VBRU87UUFDUCwrRUFFTztRQUNULGlCQUFNO1FBQ04sZ0NBQXdEO1FBQ3RELGdDQUFrRTtRQUNoRSxtQ0FHcUI7UUFBbkIsdUdBQVMsWUFBUSxJQUFDO1FBQ2xCLGFBQ0Y7O1FBQUEsaUJBQVM7UUFDVCxtQ0FNbUM7UUFBakMsdUdBQVMsOEJBQXNCLElBQUM7UUFDaEMsYUFDRjs7UUFBQSxpQkFBUztRQUNYLGlCQUFNO1FBQ1IsaUJBQU07OztRQTlEc0MsZUFBa0Q7UUFBbEQsK0VBQWtEO1FBRXJFLGVBQWtCO1FBQWxCLG9DQUFrQjtRQUdpQyxlQUF3QjtRQUF4QixxQ0FBd0I7UUFFaEQsZUFBb0M7UUFBcEMsNkVBQW9DO1FBWTlFLGVBQXVEO1FBQXZELDBGQUF1RDtRQVNwQyxlQUFtQjtRQUFuQiw4Q0FBbUI7UUFTdkMsZUFBMkM7UUFBM0Msd0VBQTJDO1FBRzNDLGVBQTRDO1FBQTVDLHlFQUE0QztRQVUvQyxlQUNGO1FBREUseUZBQ0Y7UUFNRSxlQUF3QjtRQUF4QiwwQ0FBd0I7UUFFeEIsZUFDRjtRQURFLHNGQUNGOzt1RkQ3Q1MseUJBQXlCO2NBTHJDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxXQUFXLEVBQUUscUNBQXFDO2dCQUNsRCxTQUFTLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQzthQUNuRDs7c0JBbUJJLFFBQVE7O3NCQUNSLE1BQU07dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExhbmd1YWdlU2VydmljZSwgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95LCBPcHRpb25hbCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEVudGl0eVN0b3JlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHsgVHlwZUNhcGFiaWxpdGllcyB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2UnO1xyXG5pbXBvcnQgeyBDYXRhbG9nIH0gZnJvbSAnLi4vc2hhcmVkL2NhdGFsb2cuYWJzdHJhY3QnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tYWRkLWNhdGFsb2ctZGlhbG9nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLWNhdGFsb2ctZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hZGQtY2F0YWxvZy1kaWFsb2cuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRkQ2F0YWxvZ0RpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwdWJsaWMgZm9ybTogRm9ybUdyb3VwO1xyXG4gIHByaXZhdGUgZGVmYXVsdEFkZGVkQ2F0YWxvZ1R5cGUgPSAnd21zJztcclxuICBwcml2YXRlIGFkZGVkQ2F0YWxvZ1R5cGUkJDogU3Vic2NyaXB0aW9uO1xyXG4gIHB1YmxpYyBwcmVkZWZpbmVkQ2F0YWxvZ3NMaXN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q2F0YWxvZ1tdPihbXSk7XHJcbiAgdHlwZUNhcGFiaWxpdGllczogc3RyaW5nW107XHJcbiAgcHJlZGVmaW5lZENhdGFsb2dzOiBDYXRhbG9nW10gPSBbXTtcclxuICBzdG9yZTogRW50aXR5U3RvcmU8Q2F0YWxvZz47XHJcbiAgZXJyb3IgPSBmYWxzZTtcclxuICBhZGRlZENhdGFsb2c6IENhdGFsb2c7XHJcbiAgZW1haWxBZGRyZXNzOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBzdG9yZVZpZXdBbGwkJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHVibGljIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxyXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEFkZENhdGFsb2dEaWFsb2dDb21wb25lbnQ+LFxyXG4gICAgQE9wdGlvbmFsKClcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKVxyXG4gICAgcHVibGljIGRhdGE6IHsgcHJlZGVmaW5lZENhdGFsb2dzOiBDYXRhbG9nW107IHN0b3JlOiBFbnRpdHlTdG9yZTxDYXRhbG9nPjsgZXJyb3I6IGJvb2xlYW47IGFkZGVkQ2F0YWxvZzogQ2F0YWxvZyB9XHJcbiAgKSB7XHJcbiAgICB0aGlzLnN0b3JlID0gZGF0YS5zdG9yZTtcclxuICAgIHRoaXMucHJlZGVmaW5lZENhdGFsb2dzID0gZGF0YS5wcmVkZWZpbmVkQ2F0YWxvZ3M7XHJcbiAgICB0aGlzLmVycm9yID0gZGF0YS5lcnJvcjtcclxuICAgIHRoaXMuYWRkZWRDYXRhbG9nID0gZGF0YS5hZGRlZENhdGFsb2c7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgaWQ6IFsnJywgW11dLFxyXG4gICAgICB0aXRsZTogWycnLCBbXV0sXHJcbiAgICAgIHVybDogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxyXG4gICAgICB0eXBlOiBbdGhpcy5kZWZhdWx0QWRkZWRDYXRhbG9nVHlwZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc3RvcmUuc3RhdGUuY2xlYXIoKTtcclxuICAgIHRoaXMudHlwZUNhcGFiaWxpdGllcyA9IE9iamVjdC5rZXlzKFR5cGVDYXBhYmlsaXRpZXMpO1xyXG5cclxuICAgIHRoaXMuYWRkZWRDYXRhbG9nVHlwZSQkID0gdGhpcy5mb3JtXHJcbiAgICAgIC5nZXQoJ3R5cGUnKVxyXG4gICAgICAudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuICAgICAgICBpZiAodmFsdWUgPT09ICd3bXRzJykge1xyXG4gICAgICAgICAgdGhpcy5mb3JtLmdldCgndGl0bGUnKS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmZvcm0uZ2V0KCd0aXRsZScpLnNldFZhbGlkYXRvcnMoW10pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmZvcm0uZ2V0KCd0aXRsZScpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgdGhpcy5jb21wdXRlUHJlZGVmaW5lZENhdGFsb2dMaXN0KCk7XHJcbiAgICB0aGlzLnN0b3JlVmlld0FsbCQkID0gdGhpcy5zdG9yZS52aWV3XHJcbiAgICAgIC5hbGwkKClcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNvbXB1dGVQcmVkZWZpbmVkQ2F0YWxvZ0xpc3QoKSk7XHJcblxyXG4gICAgdGhpcy5lbWFpbEFkZHJlc3MgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCdlbWFpbEFkZHJlc3MnKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5hZGRlZENhdGFsb2dUeXBlJCQudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuc3RvcmVWaWV3QWxsJCQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZVVybChjYXRhbG9nOiBDYXRhbG9nKSB7XHJcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZShjYXRhbG9nKTtcclxuICAgIHRoaXMuZXJyb3IgPSBmYWxzZTtcclxuICAgIHRoaXMuY29tcHV0ZVByZWRlZmluZWRDYXRhbG9nTGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgY29tcHV0ZVByZWRlZmluZWRDYXRhbG9nTGlzdCgpIHtcclxuICAgIHRoaXMucHJlZGVmaW5lZENhdGFsb2dzTGlzdCQubmV4dChcclxuICAgICAgdGhpcy5wcmVkZWZpbmVkQ2F0YWxvZ3MuZmlsdGVyKChjKSA9PiAhdGhpcy5zdG9yZS5nZXQoYy5pZCkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgYWRkQ2F0YWxvZyhhZGRlZENhdGFsb2c6IENhdGFsb2cpIHtcclxuICAgIHRoaXMuZXJyb3IgPSBmYWxzZTtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGFkZGVkQ2F0YWxvZyk7XHJcbiAgfVxyXG5cclxuICBjYW5jZWwoKSB7XHJcbiAgICB0aGlzLmVycm9yID0gZmFsc2U7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8aDEgbWF0LWRpYWxvZy10aXRsZSBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+e3snaWdvLmdlby5jYXRhbG9nLmxpYnJhcnkuYWRkVGl0bGUnIHwgdHJhbnNsYXRlfX08L2gxPlxyXG48ZGl2IG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+XHJcbiAgPGZvcm0gY2xhc3M9XCJpZ28tZm9ybVwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImlnby1pbnB1dC1jb250YWluZXJcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGZvcm1Db250cm9sTmFtZT1cInVybFwiIHBsYWNlaG9sZGVyPVwiVVJMXCIgbWF0SW5wdXQgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCI+XHJcbiAgICAgICAgPG1hdC1hdXRvY29tcGxldGUgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIiAob3B0aW9uU2VsZWN0ZWQpPSdjaGFuZ2VVcmwoJGV2ZW50Lm9wdGlvbi52YWx1ZSknPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHByZWRlZmluZWRDYXRhbG9nIG9mIChwcmVkZWZpbmVkQ2F0YWxvZ3NMaXN0JCB8IGFzeW5jKVwiIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJwcmVkZWZpbmVkQ2F0YWxvZy51cmxcIiBbdmFsdWVdPVwicHJlZGVmaW5lZENhdGFsb2dcIj5cclxuICAgICAgICAgICAge3twcmVkZWZpbmVkQ2F0YWxvZy51cmx9fVxyXG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImlnby1pbnB1dC1jb250YWluZXJcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInRpdGxlXCJcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3snaWdvLmdlby5wcmludEZvcm0udGl0bGUnIHwgdHJhbnNsYXRlfX1cIj5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImlnby1pbnB1dC1jb250YWluZXJcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0XHJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0eXBlXCJcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiVHlwZVwiPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb25cclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHR5cGUgb2YgdHlwZUNhcGFiaWxpdGllc1wiXHJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ0eXBlXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxyXG4gICAgICAgICAgICAgIDxwIG1hdC1saW5lPnt7dHlwZX19PC9wPlxyXG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZm9ybT5cclxuICA8c3BhbiAqbmdJZj1cImVycm9yICYmIGFkZGVkQ2F0YWxvZyAmJiBlbWFpbEFkZHJlc3NcIj5cclxuICAgIDxwIGNsYXNzPVwiZXJyb3JcIj57e2xhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5jYXRhbG9nLmV4dGVybmFsUHJvdmlkZXIudW5hdmFpbGFibGVXaXRoRW1haWwnLCB7IHZhbHVlOiBhZGRlZENhdGFsb2cudXJsLCBlbWFpbDogZW1haWxBZGRyZXNzIH0pfX08L3A+XHJcbiAgPC9zcGFuPlxyXG4gIDxzcGFuICpuZ0lmPVwiZXJyb3IgJiYgYWRkZWRDYXRhbG9nICYmICFlbWFpbEFkZHJlc3NcIj5cclxuICAgIDxwIGNsYXNzPVwiZXJyb3JcIj57e2xhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5jYXRhbG9nLnVuYXZhaWxhYmxlJywgeyB2YWx1ZTogYWRkZWRDYXRhbG9nLnVybCB9KX19PC9wPlxyXG4gIDwvc3Bhbj5cclxuPC9kaXY+XHJcbjxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIHN0eWxlPVwianVzdGlmeS1jb250ZW50OiBjZW50ZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwiaWdvLWZvcm0tYnV0dG9uLWdyb3VwIGFkZC1jYXRhbG9nLWJ1dHRvbi10b3AtcGFkZGluZ1wiPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICBtYXQtcmFpc2VkLWJ1dHRvblxyXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgKGNsaWNrKT1cImNhbmNlbCgpXCI+XHJcbiAgICAgIHt7J2lnby5nZW8uY2F0YWxvZy5saWJyYXJ5LmNhbmNlbCcgfCB0cmFuc2xhdGV9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIGlkPVwiYWRkQ2F0YWxvZ0J0bkRpYWxvZ1wiXHJcbiAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXHJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiIWZvcm0udmFsaWRcIlxyXG4gICAgICAoY2xpY2spPVwiYWRkQ2F0YWxvZyhmb3JtLnZhbHVlKVwiPlxyXG4gICAgICB7eydpZ28uZ2VvLmNhdGFsb2cubGlicmFyeS5hZGQnIHwgdHJhbnNsYXRlfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
235
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWNhdGFsb2ctZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1saWJyYXJ5L2FkZC1jYXRhbG9nLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctbGlicmFyeS9hZGQtY2F0YWxvZy1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBcUIsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7Ozs7Ozs7OztJQ0ExQyxzQ0FDcUU7SUFDbkUsWUFDRjtJQUFBLGlCQUFhOzs7SUFGWCx1REFBc0MsK0JBQUE7SUFDdEMsZUFDRjtJQURFLDJEQUNGOzs7SUFRQSxzQ0FDbUU7SUFDakUsWUFDRjtJQUFBLGlCQUFhOzs7SUFGWCxxREFBb0MsK0JBQUE7SUFDcEMsZUFDRjtJQURFLHlEQUNGOzs7SUFTQSxzQ0FHcUM7SUFBbkMsOEhBQVMsd0JBQXdCLElBQUM7SUFDaEMsNkJBQVk7SUFBQSxZQUFRO0lBQUEsaUJBQUk7SUFDNUIsaUJBQWE7OztJQUhYLCtCQUFjO0lBRUEsZUFBUTtJQUFSLDZCQUFROzs7O0lBTWhDLDRCQUFvRDtJQUNsRCw2QkFBaUI7SUFBQSxZQUFnSjtJQUFBLGlCQUFJO0lBQ3ZLLGlCQUFPOzs7SUFEWSxlQUFnSjtJ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QUdhOztRQUNmLGlCQUFtQjtRQUNyQixpQkFBaUI7UUFDbkIsaUJBQU07UUFDTiwrQkFBaUM7UUFDL0IsdUNBQWdCO1FBQ2QsdUNBRXFCO1FBQ25CLDJGQUthO1FBQ2YsaUJBQWE7UUFDZixpQkFBaUI7UUFDbkIsaUJBQU07UUFDUixpQkFBTztRQUNQLCtFQUVPO1FBQ1AsK0VBRU87UUFDVCxpQkFBTTtRQUNOLGdDQUF3RDtRQUN0RCxnQ0FBa0U7UUFDaEUsbUNBR3FCO1FBQW5CLHVHQUFTLFlBQVEsSUFBQztRQUNsQixhQUNGOztRQUFBLGlCQUFTO1FBQ1QsbUNBTW1DO1FBQWpDLHVHQUFTLDhCQUFzQixJQUFDO1FBQ2hDLGFBQ0Y7O1FBQUEsaUJBQVM7UUFDWCxpQkFBTTtRQUNSLGlCQUFNOzs7O1FBakVzQyxlQUFrRDtRQUFsRCwrRUFBa0Q7UUFFckUsZUFBa0I7UUFBbEIsb0NBQWtCO1FBR1EsZUFBdUQ7UUFBdkQseUZBQXVEO1FBQVUscUNBQXlCO1FBRXpGLGVBQW9DO1FBQXBDLDZFQUFvQztRQVNaLGVBQXdCO1FBQXhCLHFDQUF3QjtRQUVoRCxlQUFvQztRQUFwQyw2RUFBb0M7UUFhM0QsZUFBbUI7UUFBbkIsOENBQW1CO1FBU3ZDLGVBQTJDO1FBQTNDLHdFQUEyQztRQUczQyxlQUE0QztRQUE1Qyx5RUFBNEM7UUFVL0MsZUFDRjtRQURFLHlGQUNGO1FBTUUsZUFBd0I7UUFBeEIsMENBQXdCO1FBRXhCLGVBQ0Y7UUFERSxzRkFDRjs7dUZEaERTLHlCQUF5QjtjQUxyQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsV0FBVyxFQUFFLHFDQUFxQztnQkFDbEQsU0FBUyxFQUFFLENBQUMscUNBQXFDLENBQUM7YUFDbkQ7O3NCQW1CSSxRQUFROztzQkFDUixNQUFNO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UsIENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSwgT3B0aW9uYWwsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBFbnRpdHlTdG9yZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7IFR5cGVDYXBhYmlsaXRpZXMgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlJztcclxuaW1wb3J0IHsgQ2F0YWxvZyB9IGZyb20gJy4uL3NoYXJlZC9jYXRhbG9nLmFic3RyYWN0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWFkZC1jYXRhbG9nLWRpYWxvZycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1jYXRhbG9nLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWRkLWNhdGFsb2ctZGlhbG9nLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFkZENhdGFsb2dEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcclxuICBwcml2YXRlIGRlZmF1bHRBZGRlZENhdGFsb2dUeXBlID0gJ3dtcyc7XHJcbiAgcHJpdmF0ZSBhZGRlZENhdGFsb2dUeXBlJCQ6IFN1YnNjcmlwdGlvbjtcclxuICBwdWJsaWMgcHJlZGVmaW5lZENhdGFsb2dzTGlzdCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PENhdGFsb2dbXT4oW10pO1xyXG4gIHR5cGVDYXBhYmlsaXRpZXM6IHN0cmluZ1tdO1xyXG4gIHByZWRlZmluZWRDYXRhbG9nczogQ2F0YWxvZ1tdID0gW107XHJcbiAgc3RvcmU6IEVudGl0eVN0b3JlPENhdGFsb2c+O1xyXG4gIGVycm9yID0gZmFsc2U7XHJcbiAgYWRkZWRDYXRhbG9nOiBDYXRhbG9nO1xyXG4gIGVtYWlsQWRkcmVzczogc3RyaW5nO1xyXG4gIHByaXZhdGUgc3RvcmVWaWV3QWxsJCQ6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcclxuICAgIHB1YmxpYyBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcclxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxBZGRDYXRhbG9nRGlhbG9nQ29tcG9uZW50PixcclxuICAgIEBPcHRpb25hbCgpXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSlcclxuICAgIHB1YmxpYyBkYXRhOiB7IHByZWRlZmluZWRDYXRhbG9nczogQ2F0YWxvZ1tdOyBzdG9yZTogRW50aXR5U3RvcmU8Q2F0YWxvZz47IGVycm9yOiBib29sZWFuOyBhZGRlZENhdGFsb2c6IENhdGFsb2cgfVxyXG4gICkge1xyXG4gICAgdGhpcy5zdG9yZSA9IGRhdGEuc3RvcmU7XHJcbiAgICB0aGlzLnByZWRlZmluZWRDYXRhbG9ncyA9IGRhdGEucHJlZGVmaW5lZENhdGFsb2dzO1xyXG4gICAgdGhpcy5lcnJvciA9IGRhdGEuZXJyb3I7XHJcbiAgICB0aGlzLmFkZGVkQ2F0YWxvZyA9IGRhdGEuYWRkZWRDYXRhbG9nO1xyXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgIGlkOiBbJycsIFtdXSxcclxuICAgICAgdGl0bGU6IFsnJywgW11dLFxyXG4gICAgICB1cmw6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcclxuICAgICAgdHlwZTogW3RoaXMuZGVmYXVsdEFkZGVkQ2F0YWxvZ1R5cGUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnN0b3JlLnN0YXRlLmNsZWFyKCk7XHJcbiAgICB0aGlzLnR5cGVDYXBhYmlsaXRpZXMgPSBPYmplY3Qua2V5cyhUeXBlQ2FwYWJpbGl0aWVzKTtcclxuXHJcbiAgICB0aGlzLmFkZGVkQ2F0YWxvZ1R5cGUkJCA9IHRoaXMuZm9ybVxyXG4gICAgICAuZ2V0KCd0eXBlJylcclxuICAgICAgLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XHJcbiAgICAgICAgaWYgKHZhbHVlID09PSAnd210cycpIHtcclxuICAgICAgICAgIHRoaXMuZm9ybS5nZXQoJ3RpdGxlJykuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5mb3JtLmdldCgndGl0bGUnKS5zZXRWYWxpZGF0b3JzKFtdKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5mb3JtLmdldCgndGl0bGUnKS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIHRoaXMuY29tcHV0ZVByZWRlZmluZWRDYXRhbG9nTGlzdCgpO1xyXG4gICAgdGhpcy5zdG9yZVZpZXdBbGwkJCA9IHRoaXMuc3RvcmUudmlld1xyXG4gICAgICAuYWxsJCgpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jb21wdXRlUHJlZGVmaW5lZENhdGFsb2dMaXN0KCkpO1xyXG5cclxuICAgIHRoaXMuZW1haWxBZGRyZXNzID0gdGhpcy5jb25maWdTZXJ2aWNlLmdldENvbmZpZygnZW1haWxBZGRyZXNzJyk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuYWRkZWRDYXRhbG9nVHlwZSQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLnN0b3JlVmlld0FsbCQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VVcmxPclRpdGxlKGNhdGFsb2c6IENhdGFsb2cpIHtcclxuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKGNhdGFsb2cpO1xyXG4gICAgdGhpcy5lcnJvciA9IGZhbHNlO1xyXG4gICAgdGhpcy5jb21wdXRlUHJlZGVmaW5lZENhdGFsb2dMaXN0KCk7XHJcbiAgfVxyXG5cclxuICBjb21wdXRlUHJlZGVmaW5lZENhdGFsb2dMaXN0KCkge1xyXG4gICAgdGhpcy5wcmVkZWZpbmVkQ2F0YWxvZ3NMaXN0JC5uZXh0KFxyXG4gICAgICB0aGlzLnByZWRlZmluZWRDYXRhbG9ncy5maWx0ZXIoKGMpID0+ICF0aGlzLnN0b3JlLmdldChjLmlkKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBhZGRDYXRhbG9nKGFkZGVkQ2F0YWxvZzogQ2F0YWxvZykge1xyXG4gICAgdGhpcy5lcnJvciA9IGZhbHNlO1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoYWRkZWRDYXRhbG9nKTtcclxuICB9XHJcblxyXG4gIGNhbmNlbCgpIHtcclxuICAgIHRoaXMuZXJyb3IgPSBmYWxzZTtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxoMSBtYXQtZGlhbG9nLXRpdGxlIGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIj57eydpZ28uZ2VvLmNhdGFsb2cubGlicmFyeS5hZGRUaXRsZScgfCB0cmFuc2xhdGV9fTwvaDE+XHJcbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50IGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIj5cclxuICA8Zm9ybSBjbGFzcz1cImlnby1mb3JtXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaWdvLWlucHV0LWNvbnRhaW5lclwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIiBwbGFjZWhvbGRlcj1cInt7J2lnby5nZW8ucHJpbnRGb3JtLnRpdGxlJyB8IHRyYW5zbGF0ZX19XCIgbWF0SW5wdXQgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvMlwiPlxyXG4gICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlICNhdXRvMj1cIm1hdEF1dG9jb21wbGV0ZVwiIChvcHRpb25TZWxlY3RlZCk9J2NoYW5nZVVybE9yVGl0bGUoJGV2ZW50Lm9wdGlvbi52YWx1ZSknPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHByZWRlZmluZWRDYXRhbG9nIG9mIChwcmVkZWZpbmVkQ2F0YWxvZ3NMaXN0JCB8IGFzeW5jKVwiIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJwcmVkZWZpbmVkQ2F0YWxvZy50aXRsZVwiIFt2YWx1ZV09XCJwcmVkZWZpbmVkQ2F0YWxvZ1wiPlxyXG4gICAgICAgICAgICB7e3ByZWRlZmluZWRDYXRhbG9nLnRpdGxlfX1cclxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1hdXRvY29tcGxldGU+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJpZ28taW5wdXQtY29udGFpbmVyXCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBmb3JtQ29udHJvbE5hbWU9XCJ1cmxcIiBwbGFjZWhvbGRlcj1cIlVSTFwiIG1hdElucHV0IFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiPlxyXG4gICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCIgKG9wdGlvblNlbGVjdGVkKT0nY2hhbmdlVXJsT3JUaXRsZSgkZXZlbnQub3B0aW9uLnZhbHVlKSc+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgcHJlZGVmaW5lZENhdGFsb2cgb2YgKHByZWRlZmluZWRDYXRhbG9nc0xpc3QkIHwgYXN5bmMpXCIgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICAgICAgICAgIFttYXRUb29sdGlwXT1cInByZWRlZmluZWRDYXRhbG9nLnVybFwiIFt2YWx1ZV09XCJwcmVkZWZpbmVkQ2F0YWxvZ1wiPlxyXG4gICAgICAgICAgICB7e3ByZWRlZmluZWRDYXRhbG9nLnVybH19XHJcbiAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaWdvLWlucHV0LWNvbnRhaW5lclwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPG1hdC1zZWxlY3RcclxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInR5cGVcIlxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJUeXBlXCI+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvblxyXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgdHlwZSBvZiB0eXBlQ2FwYWJpbGl0aWVzXCJcclxuICAgICAgICAgICAgW3ZhbHVlXT1cInR5cGVcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XHJcbiAgICAgICAgICAgICAgPHAgbWF0LWxpbmU+e3t0eXBlfX08L3A+XHJcbiAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9mb3JtPlxyXG4gIDxzcGFuICpuZ0lmPVwiZXJyb3IgJiYgYWRkZWRDYXRhbG9nICYmIGVtYWlsQWRkcmVzc1wiPlxyXG4gICAgPHAgY2xhc3M9XCJlcnJvclwiPnt7bGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmNhdGFsb2cuZXh0ZXJuYWxQcm92aWRlci51bmF2YWlsYWJsZVdpdGhFbWFpbCcsIHsgdmFsdWU6IGFkZGVkQ2F0YWxvZy51cmwsIGVtYWlsOiBlbWFpbEFkZHJlc3MgfSl9fTwvcD5cclxuICA8L3NwYW4+XHJcbiAgPHNwYW4gKm5nSWY9XCJlcnJvciAmJiBhZGRlZENhdGFsb2cgJiYgIWVtYWlsQWRkcmVzc1wiPlxyXG4gICAgPHAgY2xhc3M9XCJlcnJvclwiPnt7bGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmNhdGFsb2cudW5hdmFpbGFibGUnLCB7IHZhbHVlOiBhZGRlZENhdGFsb2cudXJsIH0pfX08L3A+XHJcbiAgPC9zcGFuPlxyXG48L2Rpdj5cclxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgc3R5bGU9XCJqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJpZ28tZm9ybS1idXR0b24tZ3JvdXAgYWRkLWNhdGFsb2ctYnV0dG9uLXRvcC1wYWRkaW5nXCI+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXHJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAoY2xpY2spPVwiY2FuY2VsKClcIj5cclxuICAgICAge3snaWdvLmdlby5jYXRhbG9nLmxpYnJhcnkuY2FuY2VsJyB8IHRyYW5zbGF0ZX19XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxidXR0b25cclxuICAgICAgaWQ9XCJhZGRDYXRhbG9nQnRuRGlhbG9nXCJcclxuICAgICAgbWF0LXJhaXNlZC1idXR0b25cclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCIhZm9ybS52YWxpZFwiXHJcbiAgICAgIChjbGljayk9XCJhZGRDYXRhbG9nKGZvcm0udmFsdWUpXCI+XHJcbiAgICAgIHt7J2lnby5nZW8uY2F0YWxvZy5saWJyYXJ5LmFkZCcgfCB0cmFuc2xhdGV9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -72,6 +72,7 @@ export class CatalogLibaryComponent {
|
|
|
72
72
|
this.store.state.clear();
|
|
73
73
|
this.predefinedCatalogs = this.predefinedCatalogs.map(c => {
|
|
74
74
|
c.id = Md5.hashStr((c.type || 'wms') + standardizeUrl(c.url));
|
|
75
|
+
c.title = c.title === '' || !c.title ? c.url : c.title;
|
|
75
76
|
return c;
|
|
76
77
|
});
|
|
77
78
|
}
|
|
@@ -126,23 +127,23 @@ export class CatalogLibaryComponent {
|
|
|
126
127
|
this.messageService.error(message, title);
|
|
127
128
|
throw e;
|
|
128
129
|
}))
|
|
129
|
-
.subscribe((
|
|
130
|
+
.subscribe((capabilities) => {
|
|
130
131
|
let title;
|
|
131
132
|
let version;
|
|
132
133
|
switch (addedCatalog.type) {
|
|
133
134
|
case 'wms':
|
|
134
|
-
title = addedCatalog.title ||
|
|
135
|
-
version = addedCatalog.version ||
|
|
135
|
+
title = addedCatalog.title || capabilities.Service.Title;
|
|
136
|
+
version = addedCatalog.version || capabilities.version;
|
|
136
137
|
break;
|
|
137
138
|
case 'arcgisrest':
|
|
138
139
|
case 'imagearcgisrest':
|
|
139
140
|
case 'tilearcgisrest':
|
|
140
|
-
title = addedCatalog.title ||
|
|
141
|
+
title = addedCatalog.title || capabilities.mapName;
|
|
141
142
|
break;
|
|
142
143
|
case 'wmts':
|
|
143
144
|
title =
|
|
144
145
|
addedCatalog.title ||
|
|
145
|
-
|
|
146
|
+
capabilities.ServiceIdentification.ServiceType;
|
|
146
147
|
break;
|
|
147
148
|
default:
|
|
148
149
|
title = addedCatalog.title;
|
|
@@ -220,4 +221,4 @@ CatalogLibaryComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Cata
|
|
|
220
221
|
}], catalogSelectChange: [{
|
|
221
222
|
type: Output
|
|
222
223
|
}] }); })();
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1saWJyYXJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1saWJyYXJ5L2NhdGFsb2ctbGlicmFyeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctbGlicmFyeS9jYXRhbG9nLWxpYnJhcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWix1QkFBdUIsRUFHeEIsTUFBTSxlQUFlLENBQUM7QUFLdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUc3QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFMUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7SUNuQnZFLG1EQU1zQztJQURwQyxpVEFBMEMsc1JBQUE7SUFFNUMsaUJBQTJCOzs7O0lBSnpCLGdDQUFXLHVCQUFBOzs7O0lBUWpCLDhCQUFtRDtJQUNqRCxpQ0FLK0I7SUFBN0IsZ01BQTRCOztJQUM1QixZQUNBOztJQUFBLDhCQUEwQztJQUM1QyxpQkFBUztJQUNYLGlCQUFNOztJQVBGLGVBQTJEO0lBQTNELG1GQUEyRDtJQUkzRCxlQUNBO0lBREEsdUZBQ0E7O0FERUo7O0dBRUc7QUFPSCxNQUFNLE9BQU8sc0JBQXNCO0lBdUNqQyxZQUNVLG1CQUF3QyxFQUN4QyxjQUE4QixFQUM5QixlQUFnQyxFQUNoQyxjQUE4QixFQUM5QixNQUFpQjtR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dkJJLGtDQUFvQjtRQUNHLGVBQWlDO1FBQWpDLGlFQUFpQztRQVk1RCxlQUF1QjtRQUF2Qiw0Q0FBdUI7O3VGRG1CaEIsc0JBQXNCO2NBTmxDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUscUJBQXFCO2dCQUMvQixXQUFXLEVBQUUsa0NBQWtDO2dCQUMvQyxTQUFTLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztnQkFDL0MsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQ7c0xBS1UsS0FBSztrQkFBYixLQUFLO1lBS0csR0FBRztrQkFBWCxLQUFLO1lBS0csaUJBQWlCO2tCQUF6QixLQUFLO1lBS0csa0JBQWtCO2tCQUExQixLQUFLO1lBS0ksbUJBQW1CO2tCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBPbkluaXQsXHJcbiAgT25EZXN0cm95XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcblxyXG5pbXBvcnQgeyBFbnRpdHlTdG9yZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSwgTWVzc2FnZVNlcnZpY2UsIFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7IE9iamVjdFV0aWxzIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgTWQ1IH0gZnJvbSAndHMtbWQ1JztcclxuaW1wb3J0IHsgQ2FwYWJpbGl0aWVzU2VydmljZSB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2UnO1xyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAnO1xyXG5pbXBvcnQgeyBzdGFuZGFyZGl6ZVVybCB9IGZyb20gJy4uLy4uL3V0aWxzL2lkLWdlbmVyYXRvcic7XHJcbmltcG9ydCB7IENhdGFsb2cgfSBmcm9tICcuLi9zaGFyZWQvY2F0YWxvZy5hYnN0cmFjdCc7XHJcbmltcG9ydCB7IEFkZENhdGFsb2dEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2FkZC1jYXRhbG9nLWRpYWxvZy5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudCB0byBicm93c2UgYSBsaXN0IG9mIGF2YWlsYWJsZSBjYXRhbG9nc1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tY2F0YWxvZy1saWJyYXJ5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2F0YWxvZy1saWJyYXJ5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jYXRhbG9nLWxpYnJhcnkuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2F0YWxvZ0xpYmFyeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAvKipcclxuICAgKiBTdG9yZSBob2xkaW5nIHRoZSBjYXRhbG9nc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHN0b3JlOiBFbnRpdHlTdG9yZTxDYXRhbG9nPjtcclxuXHJcbiAgLyoqXHJcbiAgICogTWFwIHRvIGFkZCB0aGUgY2F0YWxvZyBpdGVtcyB0b1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1hcDogSWdvTWFwO1xyXG5cclxuICAvKipcclxuICAgKiBEZXRlcm1pbmUgaWYgdGhlIGZvcm0gdG8gYWRkIGEgY2F0YWxvZyBpcyBhbGxvd2VkXHJcbiAgICovXHJcbiAgQElucHV0KCkgYWRkQ2F0YWxvZ0FsbG93ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogRGV0ZXJtaW5lIGlmIHRoZSBmb3JtIHRvIGFkZCBhIGNhdGFsb2cgaXMgYWxsb3dlZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHByZWRlZmluZWRDYXRhbG9nczogQ2F0YWxvZ1tdID0gW107XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IGVtaXR0ZWQgYSBjYXRhbG9nIGlzIHNlbGVjdGVkIG9yIHVuc2VsZWN0ZWRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgY2F0YWxvZ1NlbGVjdENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgc2VsZWN0ZWQ6IGJvb2xlYW47XHJcbiAgICBjYXRhbG9nOiBDYXRhbG9nO1xyXG4gIH0+KCk7XHJcblxyXG4gIHN1Ym1pdERpc2FibGVkID0gdHJ1ZTtcclxuICBwcml2YXRlIGFkZGluZ0NhdGFsb2ckJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBnZXQgYWRkZWRDYXRhbG9ncygpOiBDYXRhbG9nW10ge1xyXG4gICAgcmV0dXJuICh0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldCgnYWRkZWRDYXRhbG9ncycpIHx8IFtdKSBhcyBDYXRhbG9nW107XHJcbiAgfVxyXG4gIHNldCBhZGRlZENhdGFsb2dzKGNhdGFsb2dzOiBDYXRhbG9nW10pIHtcclxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0KCdhZGRlZENhdGFsb2dzJywgY2F0YWxvZ3MpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNhcGFiaWxpdGllc1NlcnZpY2U6IENhcGFiaWxpdGllc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2dcclxuICApIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zdG9yZS5zdGF0ZS5jbGVhcigpO1xyXG5cclxuICAgIHRoaXMucHJlZGVmaW5lZENhdGFsb2dzID0gdGhpcy5wcmVkZWZpbmVkQ2F0YWxvZ3MubWFwKGMgPT4ge1xyXG4gICAgICBjLmlkID0gTWQ1Lmhhc2hTdHIoXHJcbiAgICAgICAgKGMudHlwZSB8fCAnd21zJykgKyBzdGFuZGFyZGl6ZVVybChjLnVybClcclxuICAgICAgKSBhcyBzdHJpbmc7XHJcbiAgICAgIHJldHVybiBjO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRDYXRhbG9ncygpOiBPYnNlcnZhYmxlPENhdGFsb2dbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmUudmlldy5hbGwkKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXaGVuIGEgY2F0YWxvZyBpcyBzZWxlY3RlZCwgdXBkYXRlIGl0J3Mgc3RhdGUgaW4gdGhlIHN0b3JlXHJcbiAgICogYW5kIGVtaXQgdGhlIGNhdGFsb2cgc2VsZWN0IGNoYW5nZSBldmVudFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG9uQ2F0YWxvZ1NlbGVjdChjYXRhbG9nOiBDYXRhbG9nKSB7XHJcbiAgICB0aGlzLnN0b3JlLnN0YXRlLnVwZGF0ZShcclxuICAgICAgY2F0YWxvZyxcclxuICAgICAge1xyXG4gICAgICAgIHNlbGVjdGVkOiB0cnVlLFxyXG4gICAgICAgIGZvY3VzZWQ6IHRydWVcclxuICAgICAgfSxcclxuICAgICAgdHJ1ZVxyXG4gICAgKTtcclxuICAgIHRoaXMuY2F0YWxvZ1NlbGVjdENoYW5nZS5lbWl0KHsgc2VsZWN0ZWQ6IHRydWUsIGNhdGFsb2cgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVuc3Vic2NyaWJlQWRkaW5nQ2F0YWxvZygpIHtcclxuICAgIGlmICh0aGlzLmFkZGluZ0NhdGFsb2ckJCkge1xyXG4gICAgICB0aGlzLmFkZGluZ0NhdGFsb2ckJC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWRkQ2F0YWxvZyhhZGRlZENhdGFsb2c6IENhdGFsb2cpIHtcclxuICAgIGlmICghYWRkZWRDYXRhbG9nKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGxldCBpZCA9IE1kNS5oYXNoU3RyKFxyXG4gICAgICBhZGRlZENhdGFsb2cudHlwZSArIHN0YW5kYXJkaXplVXJsKGFkZGVkQ2F0YWxvZy51cmwpXHJcbiAgICApIGFzIHN0cmluZztcclxuICAgIGNvbnN0IHByZWRlZmluZWRDYXRhbG9nID0gdGhpcy5wcmVkZWZpbmVkQ2F0YWxvZ3MuZmluZChcclxuICAgICAgKGMpID0+IGMuaWQgPT09IGFkZGVkQ2F0YWxvZy5pZFxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAocHJlZGVmaW5lZENhdGFsb2cpIHtcclxuICAgICAgYWRkZWRDYXRhbG9nLnZlcnNpb24gPSBwcmVkZWZpbmVkQ2F0YWxvZy52ZXJzaW9uO1xyXG4gICAgICBhZGRlZENhdGFsb2cuZXh0ZXJuYWxQcm92aWRlciA9IHByZWRlZmluZWRDYXRhbG9nLmV4dGVybmFsUHJvdmlkZXI7XHJcbiAgICAgIGlkID0gcHJlZGVmaW5lZENhdGFsb2cuaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuc3RvcmUuZ2V0KGlkKSkge1xyXG4gICAgICBjb25zdCB0aXRsZSA9IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICdpZ28uZ2VvLmNhdGFsb2cubGlicmFyeS5pbmxpc3QudGl0bGUnXHJcbiAgICAgICk7XHJcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAnaWdvLmdlby5jYXRhbG9nLmxpYnJhcnkuaW5saXN0Lm1lc3NhZ2UnXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWxlcnQobWVzc2FnZSwgdGl0bGUpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlQWRkaW5nQ2F0YWxvZygpO1xyXG5cclxuICAgIHRoaXMuYWRkaW5nQ2F0YWxvZyQkID0gdGhpcy5jYXBhYmlsaXRpZXNTZXJ2aWNlXHJcbiAgICAuZ2V0Q2FwYWJpbGl0aWVzKGFkZGVkQ2F0YWxvZy50eXBlIGFzIGFueSwgYWRkZWRDYXRhbG9nLnVybCwgYWRkZWRDYXRhbG9nLnZlcnNpb24pXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGUpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHRpdGxlID0gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAgICdpZ28uZ2VvLmNhdGFsb2cudW5hdmFpbGFibGVUaXRsZSdcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBpZiAoZS5lcnJvcikge1xyXG4gICAgICAgICAgICB0aGlzLmFkZENhdGFsb2dEaWFsb2codHJ1ZSwgYWRkZWRDYXRhbG9nKTtcclxuICAgICAgICAgICAgZS5lcnJvci5jYXVnaHQgPSB0cnVlO1xyXG4gICAgICAgICAgICByZXR1cm4gZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICAgJ2lnby5nZW8uY2F0YWxvZy51bmF2YWlsYWJsZScsXHJcbiAgICAgICAgICAgIHsgdmFsdWU6IGFkZGVkQ2F0YWxvZy51cmwgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuZXJyb3IobWVzc2FnZSwgdGl0bGUpO1xyXG4gICAgICAgICAgdGhyb3cgZTtcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKGNhcGFiaWxpZXMpID0+IHtcclxuICAgICAgICBsZXQgdGl0bGU7XHJcbiAgICAgICAgbGV0IHZlcnNpb247XHJcbiAgICAgICAgc3dpdGNoIChhZGRlZENhdGFsb2cudHlwZSkge1xyXG4gICAgICAgICAgY2FzZSAnd21zJzpcclxuICAgICAgICAgICAgdGl0bGUgPSBhZGRlZENhdGFsb2cudGl0bGUgfHwgY2FwYWJpbGllcy5TZXJ2aWNlLlRpdGxlO1xyXG4gICAgICAgICAgICB2ZXJzaW9uID0gYWRkZWRDYXRhbG9nLnZlcnNpb24gfHwgY2FwYWJpbGllcy52ZXJzaW9uO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgJ2FyY2dpc3Jlc3QnOlxyXG4gICAgICAgICAgY2FzZSAnaW1hZ2VhcmNnaXNyZXN0JzpcclxuICAgICAgICAgIGNhc2UgJ3RpbGVhcmNnaXNyZXN0JzpcclxuICAgICAgICAgICAgdGl0bGUgPSBhZGRlZENhdGFsb2cudGl0bGUgfHwgY2FwYWJpbGllcy5tYXBOYW1lO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgJ3dtdHMnOlxyXG4gICAgICAgICAgICB0aXRsZSA9XHJcbiAgICAgICAgICAgICAgYWRkZWRDYXRhbG9nLnRpdGxlIHx8XHJcbiAgICAgICAgICAgICAgY2FwYWJpbGllcy5TZXJ2aWNlSWRlbnRpZmljYXRpb24uU2VydmljZVR5cGU7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgdGl0bGUgPSBhZGRlZENhdGFsb2cudGl0bGU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBjYXRhbG9nVG9BZGQgPSBPYmplY3RVdGlscy5yZW1vdmVVbmRlZmluZWQoXHJcbiAgICAgICAgICBPYmplY3QuYXNzaWduKHt9LFxyXG4gICAgICAgICAgICBwcmVkZWZpbmVkQ2F0YWxvZyxcclxuICAgICAgICAgICAgT2JqZWN0VXRpbHMucmVtb3ZlVW5kZWZpbmVkKHtcclxuICAgICAgICAgICAgICBpZCxcclxuICAgICAgICAgICAgICB0aXRsZSxcclxuICAgICAgICAgICAgICB1cmw6IGFkZGVkQ2F0YWxvZy51cmwsXHJcbiAgICAgICAgICAgICAgdHlwZTogYWRkZWRDYXRhbG9nLnR5cGUgfHwgJ3dtcycsXHJcbiAgICAgICAgICAgICAgZXh0ZXJuYWxQcm92aWRlcjogYWRkZWRDYXRhbG9nLmV4dGVybmFsUHJvdmlkZXIgfHwgZmFsc2UsXHJcbiAgICAgICAgICAgICAgcmVtb3ZhYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICAgIHZlcnNpb25cclxuICAgICAgICAgICAgfSkpIGFzIENhdGFsb2cpO1xyXG4gICAgICAgIHRoaXMuc3RvcmUuaW5zZXJ0KGNhdGFsb2dUb0FkZCk7XHJcbiAgICAgICAgY29uc3QgbmV3Q2F0YWxvZ3MgPSB0aGlzLmFkZGVkQ2F0YWxvZ3Muc2xpY2UoMCk7XHJcbiAgICAgICAgbmV3Q2F0YWxvZ3MucHVzaChjYXRhbG9nVG9BZGQpO1xyXG4gICAgICAgIHRoaXMuYWRkZWRDYXRhbG9ncyA9IG5ld0NhdGFsb2dzO1xyXG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmVBZGRpbmdDYXRhbG9nKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlQWRkaW5nQ2F0YWxvZygpO1xyXG4gIH1cclxuXHJcbiAgb25DYXRhbG9nUmVtb3ZlKGNhdGFsb2cpIHtcclxuICAgIHRoaXMuc3RvcmUuZGVsZXRlKGNhdGFsb2cpO1xyXG4gICAgdGhpcy5hZGRlZENhdGFsb2dzID0gdGhpcy5hZGRlZENhdGFsb2dzXHJcbiAgICAgIC5zbGljZSgwKVxyXG4gICAgICAuZmlsdGVyKChjKSA9PiBjLmlkICE9PSBjYXRhbG9nLmlkKTtcclxuICB9XHJcblxyXG4gIGFkZENhdGFsb2dEaWFsb2coZXJyb3I/LCBhZGRlZENhdGFsb2c/OiBDYXRhbG9nKSB7XHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEFkZENhdGFsb2dEaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgd2lkdGg6ICc3MDBweCcsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBwcmVkZWZpbmVkQ2F0YWxvZ3M6IHRoaXMucHJlZGVmaW5lZENhdGFsb2dzLFxyXG4gICAgICAgIHN0b3JlOiB0aGlzLnN0b3JlLFxyXG4gICAgICAgIGVycm9yLFxyXG4gICAgICAgIGFkZGVkQ2F0YWxvZ1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKGNhdGFsb2cpID0+IHtcclxuICAgICAgdGhpcy5hZGRDYXRhbG9nKGNhdGFsb2cpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxpZ28tbGlzdCBbbmF2aWdhdGlvbl09XCJmYWxzZVwiPlxyXG4gIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtY2F0YWxvZyBbbmdGb3JPZl09XCJnZXRDYXRhbG9ncygpIHwgYXN5bmNcIj5cclxuICAgIDxpZ28tY2F0YWxvZy1saWJyYXJ5LWl0ZW1cclxuICAgICAgaWdvTGlzdEl0ZW1cclxuICAgICAgY29sb3I9XCJhY2NlbnRcIlxyXG4gICAgICBbbWFwXT1cIm1hcFwiXHJcbiAgICAgIFtjYXRhbG9nXT1cImNhdGFsb2dcIlxyXG4gICAgICAoY2F0YWxvZ1JlbW92ZSk9XCJvbkNhdGFsb2dSZW1vdmUoY2F0YWxvZylcIlxyXG4gICAgICAoc2VsZWN0KT1cIm9uQ2F0YWxvZ1NlbGVjdChjYXRhbG9nKVwiPlxyXG4gICAgPC9pZ28tY2F0YWxvZy1saWJyYXJ5LWl0ZW0+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9pZ28tbGlzdD5cclxuXHJcbjxkaXYgKm5nSWY9XCJhZGRDYXRhbG9nQWxsb3dlZFwiIGNsYXNzPWJ0bkFkZENhdGFsb2c+XHJcbiAgPGJ1dHRvblxyXG4gICAgbWF0LXJhaXNlZC1idXR0b25cclxuICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLmNhdGFsb2cubGlicmFyeS5hZGRCdG4nIHwgdHJhbnNsYXRlXCJcclxuICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCJcclxuICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAoY2xpY2spPVwiYWRkQ2F0YWxvZ0RpYWxvZygpXCI+XHJcbiAgICB7eydpZ28uZ2VvLmNhdGFsb2cubGlicmFyeS5hZGRCdG4nIHwgdHJhbnNsYXRlfX1cclxuICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiZWFydGgtcGx1c1wiPjwvbWF0LWljb24+XHJcbiAgPC9idXR0b24+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
224
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1saWJyYXJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1saWJyYXJ5L2NhdGFsb2ctbGlicmFyeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctbGlicmFyeS9jYXRhbG9nLWxpYnJhcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWix1QkFBdUIsRUFHeEIsTUFBTSxlQUFlLENBQUM7QUFLdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUc3QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFMUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7SUNuQnZFLG1EQU1zQztJQURwQyxpVEFBMEMsc1JBQUE7SUFFNUMsaUJBQTJCOzs7O0lBSnpCLGdDQUFXLHVCQUFBOzs7O0lBUWpCLDhCQUFtRDtJQUNqRCxpQ0FLK0I7SUFBN0IsZ01BQTRCOztJQUM1QixZQUNBOztJQUFBLDhCQUEwQztJQUM1QyxpQkFBUztJQUNYLGlCQUFNOztJQVBGLGVBQTJEO0lBQTNELG1GQUEyRDtJQUkzRCxlQUNBO0lBREEsdUZBQ0E7O0FERUo7O0dBRUc7QUFPSCxNQUFNLE9BQU8sc0JBQXNCO0lBdUNqQyxZQUNVLG1CQUF3QyxFQUN4QyxjQUE4QixFQUM5QixlQUFnQyxFQUNoQyxjQUE4QixFQUM5QixNQUFpQjtR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VUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7NEZBeE1VLHNCQUFzQjt5RUFBdEIsc0JBQXNCO1FDaENuQyxtQ0FBK0I7UUFDN0IsdUZBU2M7O1FBQ2hCLGlCQUFXO1FBRVgsdUVBVU07O1FBdkJJLGtDQUFvQjtRQUNHLGVBQWlDO1FBQWpDLGlFQUFpQztRQVk1RCxlQUF1QjtRQUF2Qiw0Q0FBdUI7O3VGRG1CaEIsc0JBQXNCO2NBTmxDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUscUJBQXFCO2dCQUMvQixXQUFXLEVBQUUsa0NBQWtDO2dCQUMvQyxTQUFTLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztnQkFDL0MsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQ7c0xBS1UsS0FBSztrQkFBYixLQUFLO1lBS0csR0FBRztrQkFBWCxLQUFLO1lBS0csaUJBQWlCO2tCQUF6QixLQUFLO1lBS0csa0JBQWtCO2tCQUExQixLQUFLO1lBS0ksbUJBQW1CO2tCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBPbkluaXQsXHJcbiAgT25EZXN0cm95XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcblxyXG5pbXBvcnQgeyBFbnRpdHlTdG9yZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSwgTWVzc2FnZVNlcnZpY2UsIFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7IE9iamVjdFV0aWxzIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgTWQ1IH0gZnJvbSAndHMtbWQ1JztcclxuaW1wb3J0IHsgQ2FwYWJpbGl0aWVzU2VydmljZSB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2UnO1xyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAnO1xyXG5pbXBvcnQgeyBzdGFuZGFyZGl6ZVVybCB9IGZyb20gJy4uLy4uL3V0aWxzL2lkLWdlbmVyYXRvcic7XHJcbmltcG9ydCB7IENhdGFsb2cgfSBmcm9tICcuLi9zaGFyZWQvY2F0YWxvZy5hYnN0cmFjdCc7XHJcbmltcG9ydCB7IEFkZENhdGFsb2dEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2FkZC1jYXRhbG9nLWRpYWxvZy5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudCB0byBicm93c2UgYSBsaXN0IG9mIGF2YWlsYWJsZSBjYXRhbG9nc1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tY2F0YWxvZy1saWJyYXJ5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2F0YWxvZy1saWJyYXJ5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jYXRhbG9nLWxpYnJhcnkuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2F0YWxvZ0xpYmFyeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAvKipcclxuICAgKiBTdG9yZSBob2xkaW5nIHRoZSBjYXRhbG9nc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHN0b3JlOiBFbnRpdHlTdG9yZTxDYXRhbG9nPjtcclxuXHJcbiAgLyoqXHJcbiAgICogTWFwIHRvIGFkZCB0aGUgY2F0YWxvZyBpdGVtcyB0b1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1hcDogSWdvTWFwO1xyXG5cclxuICAvKipcclxuICAgKiBEZXRlcm1pbmUgaWYgdGhlIGZvcm0gdG8gYWRkIGEgY2F0YWxvZyBpcyBhbGxvd2VkXHJcbiAgICovXHJcbiAgQElucHV0KCkgYWRkQ2F0YWxvZ0FsbG93ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogRGV0ZXJtaW5lIGlmIHRoZSBmb3JtIHRvIGFkZCBhIGNhdGFsb2cgaXMgYWxsb3dlZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHByZWRlZmluZWRDYXRhbG9nczogQ2F0YWxvZ1tdID0gW107XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IGVtaXR0ZWQgYSBjYXRhbG9nIGlzIHNlbGVjdGVkIG9yIHVuc2VsZWN0ZWRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgY2F0YWxvZ1NlbGVjdENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgc2VsZWN0ZWQ6IGJvb2xlYW47XHJcbiAgICBjYXRhbG9nOiBDYXRhbG9nO1xyXG4gIH0+KCk7XHJcblxyXG4gIHN1Ym1pdERpc2FibGVkID0gdHJ1ZTtcclxuICBwcml2YXRlIGFkZGluZ0NhdGFsb2ckJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBnZXQgYWRkZWRDYXRhbG9ncygpOiBDYXRhbG9nW10ge1xyXG4gICAgcmV0dXJuICh0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldCgnYWRkZWRDYXRhbG9ncycpIHx8IFtdKSBhcyBDYXRhbG9nW107XHJcbiAgfVxyXG4gIHNldCBhZGRlZENhdGFsb2dzKGNhdGFsb2dzOiBDYXRhbG9nW10pIHtcclxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0KCdhZGRlZENhdGFsb2dzJywgY2F0YWxvZ3MpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNhcGFiaWxpdGllc1NlcnZpY2U6IENhcGFiaWxpdGllc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2dcclxuICApIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zdG9yZS5zdGF0ZS5jbGVhcigpO1xyXG5cclxuICAgIHRoaXMucHJlZGVmaW5lZENhdGFsb2dzID0gdGhpcy5wcmVkZWZpbmVkQ2F0YWxvZ3MubWFwKGMgPT4ge1xyXG4gICAgICBjLmlkID0gTWQ1Lmhhc2hTdHIoXHJcbiAgICAgICAgKGMudHlwZSB8fCAnd21zJykgKyBzdGFuZGFyZGl6ZVVybChjLnVybClcclxuICAgICAgKSBhcyBzdHJpbmc7XHJcbiAgICAgIGMudGl0bGUgPSBjLnRpdGxlID09PSAnJyB8fCAhYy50aXRsZSA/IGMudXJsIDogYy50aXRsZTtcclxuICAgICAgcmV0dXJuIGM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldENhdGFsb2dzKCk6IE9ic2VydmFibGU8Q2F0YWxvZ1tdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yZS52aWV3LmFsbCQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZW4gYSBjYXRhbG9nIGlzIHNlbGVjdGVkLCB1cGRhdGUgaXQncyBzdGF0ZSBpbiB0aGUgc3RvcmVcclxuICAgKiBhbmQgZW1pdCB0aGUgY2F0YWxvZyBzZWxlY3QgY2hhbmdlIGV2ZW50XHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgb25DYXRhbG9nU2VsZWN0KGNhdGFsb2c6IENhdGFsb2cpIHtcclxuICAgIHRoaXMuc3RvcmUuc3RhdGUudXBkYXRlKFxyXG4gICAgICBjYXRhbG9nLFxyXG4gICAgICB7XHJcbiAgICAgICAgc2VsZWN0ZWQ6IHRydWUsXHJcbiAgICAgICAgZm9jdXNlZDogdHJ1ZVxyXG4gICAgICB9LFxyXG4gICAgICB0cnVlXHJcbiAgICApO1xyXG4gICAgdGhpcy5jYXRhbG9nU2VsZWN0Q2hhbmdlLmVtaXQoeyBzZWxlY3RlZDogdHJ1ZSwgY2F0YWxvZyB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdW5zdWJzY3JpYmVBZGRpbmdDYXRhbG9nKCkge1xyXG4gICAgaWYgKHRoaXMuYWRkaW5nQ2F0YWxvZyQkKSB7XHJcbiAgICAgIHRoaXMuYWRkaW5nQ2F0YWxvZyQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhZGRDYXRhbG9nKGFkZGVkQ2F0YWxvZzogQ2F0YWxvZykge1xyXG4gICAgaWYgKCFhZGRlZENhdGFsb2cpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbGV0IGlkID0gTWQ1Lmhhc2hTdHIoXHJcbiAgICAgIGFkZGVkQ2F0YWxvZy50eXBlICsgc3RhbmRhcmRpemVVcmwoYWRkZWRDYXRhbG9nLnVybClcclxuICAgICkgYXMgc3RyaW5nO1xyXG4gICAgY29uc3QgcHJlZGVmaW5lZENhdGFsb2cgPSB0aGlzLnByZWRlZmluZWRDYXRhbG9ncy5maW5kKFxyXG4gICAgICAoYykgPT4gYy5pZCA9PT0gYWRkZWRDYXRhbG9nLmlkXHJcbiAgICApO1xyXG5cclxuICAgIGlmIChwcmVkZWZpbmVkQ2F0YWxvZykge1xyXG4gICAgICBhZGRlZENhdGFsb2cudmVyc2lvbiA9IHByZWRlZmluZWRDYXRhbG9nLnZlcnNpb247XHJcbiAgICAgIGFkZGVkQ2F0YWxvZy5leHRlcm5hbFByb3ZpZGVyID0gcHJlZGVmaW5lZENhdGFsb2cuZXh0ZXJuYWxQcm92aWRlcjtcclxuICAgICAgaWQgPSBwcmVkZWZpbmVkQ2F0YWxvZy5pZDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5zdG9yZS5nZXQoaWQpKSB7XHJcbiAgICAgIGNvbnN0IHRpdGxlID0gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgJ2lnby5nZW8uY2F0YWxvZy5saWJyYXJ5LmlubGlzdC50aXRsZSdcclxuICAgICAgKTtcclxuICAgICAgY29uc3QgbWVzc2FnZSA9IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICdpZ28uZ2VvLmNhdGFsb2cubGlicmFyeS5pbmxpc3QubWVzc2FnZSdcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hbGVydChtZXNzYWdlLCB0aXRsZSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMudW5zdWJzY3JpYmVBZGRpbmdDYXRhbG9nKCk7XHJcblxyXG4gICAgdGhpcy5hZGRpbmdDYXRhbG9nJCQgPSB0aGlzLmNhcGFiaWxpdGllc1NlcnZpY2VcclxuICAgIC5nZXRDYXBhYmlsaXRpZXMoYWRkZWRDYXRhbG9nLnR5cGUgYXMgYW55LCBhZGRlZENhdGFsb2cudXJsLCBhZGRlZENhdGFsb2cudmVyc2lvbilcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5jYXRhbG9nLnVuYXZhaWxhYmxlVGl0bGUnKTtcclxuICAgICAgICAgIGlmIChlLmVycm9yKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWRkQ2F0YWxvZ0RpYWxvZyh0cnVlLCBhZGRlZENhdGFsb2cpO1xyXG4gICAgICAgICAgICBlLmVycm9yLmNhdWdodCA9IHRydWU7XHJcbiAgICAgICAgICAgIHJldHVybiBlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY29uc3QgbWVzc2FnZSA9IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmNhdGFsb2cudW5hdmFpbGFibGUnLCB7IHZhbHVlOiBhZGRlZENhdGFsb2cudXJsIH0pO1xyXG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5lcnJvcihtZXNzYWdlLCB0aXRsZSk7XHJcbiAgICAgICAgICB0aHJvdyBlO1xyXG4gICAgICAgIH0pXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoY2FwYWJpbGl0aWVzKSA9PiB7XHJcbiAgICAgICAgbGV0IHRpdGxlO1xyXG4gICAgICAgIGxldCB2ZXJzaW9uO1xyXG4gICAgICAgIHN3aXRjaCAoYWRkZWRDYXRhbG9nLnR5cGUpIHtcclxuICAgICAgICAgIGNhc2UgJ3dtcyc6XHJcbiAgICAgICAgICAgIHRpdGxlID0gYWRkZWRDYXRhbG9nLnRpdGxlIHx8IGNhcGFiaWxpdGllcy5TZXJ2aWNlLlRpdGxlO1xyXG4gICAgICAgICAgICB2ZXJzaW9uID0gYWRkZWRDYXRhbG9nLnZlcnNpb24gfHwgY2FwYWJpbGl0aWVzLnZlcnNpb247XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSAnYXJjZ2lzcmVzdCc6XHJcbiAgICAgICAgICBjYXNlICdpbWFnZWFyY2dpc3Jlc3QnOlxyXG4gICAgICAgICAgY2FzZSAndGlsZWFyY2dpc3Jlc3QnOlxyXG4gICAgICAgICAgICB0aXRsZSA9IGFkZGVkQ2F0YWxvZy50aXRsZSB8fCBjYXBhYmlsaXRpZXMubWFwTmFtZTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlICd3bXRzJzpcclxuICAgICAgICAgICAgdGl0bGUgPVxyXG4gICAgICAgICAgICAgIGFkZGVkQ2F0YWxvZy50aXRsZSB8fFxyXG4gICAgICAgICAgICAgIGNhcGFiaWxpdGllcy5TZXJ2aWNlSWRlbnRpZmljYXRpb24uU2VydmljZVR5cGU7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgdGl0bGUgPSBhZGRlZENhdGFsb2cudGl0bGU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBjYXRhbG9nVG9BZGQgPSBPYmplY3RVdGlscy5yZW1vdmVVbmRlZmluZWQoXHJcbiAgICAgICAgICBPYmplY3QuYXNzaWduKHt9LFxyXG4gICAgICAgICAgICBwcmVkZWZpbmVkQ2F0YWxvZyxcclxuICAgICAgICAgICAgT2JqZWN0VXRpbHMucmVtb3ZlVW5kZWZpbmVkKHtcclxuICAgICAgICAgICAgICBpZCxcclxuICAgICAgICAgICAgICB0aXRsZSxcclxuICAgICAgICAgICAgICB1cmw6IGFkZGVkQ2F0YWxvZy51cmwsXHJcbiAgICAgICAgICAgICAgdHlwZTogYWRkZWRDYXRhbG9nLnR5cGUgfHwgJ3dtcycsXHJcbiAgICAgICAgICAgICAgZXh0ZXJuYWxQcm92aWRlcjogYWRkZWRDYXRhbG9nLmV4dGVybmFsUHJvdmlkZXIgfHwgZmFsc2UsXHJcbiAgICAgICAgICAgICAgcmVtb3ZhYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICAgIHZlcnNpb25cclxuICAgICAgICAgICAgfSkpIGFzIENhdGFsb2cpO1xyXG4gICAgICAgIHRoaXMuc3RvcmUuaW5zZXJ0KGNhdGFsb2dUb0FkZCk7XHJcbiAgICAgICAgY29uc3QgbmV3Q2F0YWxvZ3MgPSB0aGlzLmFkZGVkQ2F0YWxvZ3Muc2xpY2UoMCk7XHJcbiAgICAgICAgbmV3Q2F0YWxvZ3MucHVzaChjYXRhbG9nVG9BZGQpO1xyXG4gICAgICAgIHRoaXMuYWRkZWRDYXRhbG9ncyA9IG5ld0NhdGFsb2dzO1xyXG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmVBZGRpbmdDYXRhbG9nKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlQWRkaW5nQ2F0YWxvZygpO1xyXG4gIH1cclxuXHJcbiAgb25DYXRhbG9nUmVtb3ZlKGNhdGFsb2cpIHtcclxuICAgIHRoaXMuc3RvcmUuZGVsZXRlKGNhdGFsb2cpO1xyXG4gICAgdGhpcy5hZGRlZENhdGFsb2dzID0gdGhpcy5hZGRlZENhdGFsb2dzXHJcbiAgICAgIC5zbGljZSgwKVxyXG4gICAgICAuZmlsdGVyKChjKSA9PiBjLmlkICE9PSBjYXRhbG9nLmlkKTtcclxuICB9XHJcblxyXG4gIGFkZENhdGFsb2dEaWFsb2coZXJyb3I/LCBhZGRlZENhdGFsb2c/OiBDYXRhbG9nKSB7XHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEFkZENhdGFsb2dEaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgd2lkdGg6ICc3MDBweCcsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBwcmVkZWZpbmVkQ2F0YWxvZ3M6IHRoaXMucHJlZGVmaW5lZENhdGFsb2dzLFxyXG4gICAgICAgIHN0b3JlOiB0aGlzLnN0b3JlLFxyXG4gICAgICAgIGVycm9yLFxyXG4gICAgICAgIGFkZGVkQ2F0YWxvZ1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKGNhdGFsb2cpID0+IHtcclxuICAgICAgdGhpcy5hZGRDYXRhbG9nKGNhdGFsb2cpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxpZ28tbGlzdCBbbmF2aWdhdGlvbl09XCJmYWxzZVwiPlxyXG4gIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtY2F0YWxvZyBbbmdGb3JPZl09XCJnZXRDYXRhbG9ncygpIHwgYXN5bmNcIj5cclxuICAgIDxpZ28tY2F0YWxvZy1saWJyYXJ5LWl0ZW1cclxuICAgICAgaWdvTGlzdEl0ZW1cclxuICAgICAgY29sb3I9XCJhY2NlbnRcIlxyXG4gICAgICBbbWFwXT1cIm1hcFwiXHJcbiAgICAgIFtjYXRhbG9nXT1cImNhdGFsb2dcIlxyXG4gICAgICAoY2F0YWxvZ1JlbW92ZSk9XCJvbkNhdGFsb2dSZW1vdmUoY2F0YWxvZylcIlxyXG4gICAgICAoc2VsZWN0KT1cIm9uQ2F0YWxvZ1NlbGVjdChjYXRhbG9nKVwiPlxyXG4gICAgPC9pZ28tY2F0YWxvZy1saWJyYXJ5LWl0ZW0+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9pZ28tbGlzdD5cclxuXHJcbjxkaXYgKm5nSWY9XCJhZGRDYXRhbG9nQWxsb3dlZFwiIGNsYXNzPWJ0bkFkZENhdGFsb2c+XHJcbiAgPGJ1dHRvblxyXG4gICAgbWF0LXJhaXNlZC1idXR0b25cclxuICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLmNhdGFsb2cubGlicmFyeS5hZGRCdG4nIHwgdHJhbnNsYXRlXCJcclxuICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCJcclxuICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAoY2xpY2spPVwiYWRkQ2F0YWxvZ0RpYWxvZygpXCI+XHJcbiAgICB7eydpZ28uZ2VvLmNhdGFsb2cubGlicmFyeS5hZGRCdG4nIHwgdHJhbnNsYXRlfX1cclxuICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiZWFydGgtcGx1c1wiPjwvbWF0LWljb24+XHJcbiAgPC9idXR0b24+XHJcbjwvZGl2PlxyXG4iXX0=
|