@igo2/geo 16.0.0-rc.2 → 16.0.0-rc.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +2 -2
- package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +2 -2
- package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +2 -2
- package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +2 -2
- package/esm2022/lib/datasource/shared/datasources/data.service.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/osm-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/wmts-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/xyz-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/options/options.service.mjs +1 -1
- package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +2 -2
- package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +2 -2
- package/esm2022/lib/directions/directions-results/directions-results.component.mjs +2 -2
- package/esm2022/lib/directions/directions-sources/directions-source.mjs +1 -1
- package/esm2022/lib/download/download-button/download-button.component.mjs +2 -2
- package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +2 -2
- package/esm2022/lib/draw/draw/draw-popup.component.mjs +2 -2
- package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +2 -2
- package/esm2022/lib/draw/shared/draw.enum.mjs +1 -1
- package/esm2022/lib/feature/feature-form/feature-form.component.mjs +2 -2
- package/esm2022/lib/feature/shared/feature-store.utils.mjs +1 -1
- package/esm2022/lib/feature/shared/index.mjs +1 -1
- package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +2 -2
- package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +2 -2
- package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +2 -2
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +2 -2
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +2 -2
- package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +2 -2
- package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +3 -3
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +2 -2
- package/esm2022/lib/filter/shared/ogc-filter.enum.mjs +1 -1
- package/esm2022/lib/filter/shared/ogc-filter.service.mjs +1 -1
- package/esm2022/lib/filter/shared/spatial-filter.enum.mjs +1 -1
- package/esm2022/lib/filter/shared/time-filter.enum.mjs +1 -1
- package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +2 -2
- package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +2 -2
- package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +2 -2
- package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +2 -2
- package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +2 -2
- package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +2 -2
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +2 -2
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +2 -2
- package/esm2022/lib/geometry/shared/geometry.errors.mjs +1 -1
- package/esm2022/lib/import-export/export-button/export-button.component.mjs +2 -2
- package/esm2022/lib/import-export/import-export/import-export.component.mjs +2 -2
- package/esm2022/lib/import-export/shared/export.type.mjs +1 -1
- package/esm2022/lib/import-export/shared/import.errors.mjs +1 -1
- package/esm2022/lib/layer/layer-item/layer-item.component.mjs +2 -2
- package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +2 -2
- package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +2 -2
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +2 -2
- package/esm2022/lib/layer/layer-list/layer-list.component.mjs +2 -2
- package/esm2022/lib/layer/layer-list/layer-list.enum.mjs +1 -1
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +2 -2
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +1 -1
- package/esm2022/lib/layer/shared/clusterParam.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/legend.interface.mjs +1 -1
- package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +2 -2
- package/esm2022/lib/layer/utils/layer.utils.mjs +1 -1
- package/esm2022/lib/layer/utils/outputLegend.mjs +1 -1
- package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +2 -2
- package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +2 -2
- package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +2 -2
- package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +5 -5
- package/esm2022/lib/map/index.mjs +1 -1
- package/esm2022/lib/map/info-section/info-section.component.mjs +2 -2
- package/esm2022/lib/map/map-center/map-center.component.mjs +2 -2
- package/esm2022/lib/map/menu-button/menu-button.component.mjs +2 -2
- package/esm2022/lib/map/offline-button/offline-button.component.mjs +2 -2
- package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +2 -2
- package/esm2022/lib/map/shared/controllers/index.mjs +1 -1
- package/esm2022/lib/map/shared/index.mjs +1 -1
- package/esm2022/lib/map/shared/map.interface.mjs +1 -1
- package/esm2022/lib/map/shared/projection.utils.mjs +1 -1
- package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +2 -2
- package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +2 -2
- package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +2 -2
- package/esm2022/lib/measure/measure.module.mjs +1 -1
- package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +2 -2
- package/esm2022/lib/measure/measurer/measurer-item.component.mjs +2 -2
- package/esm2022/lib/measure/shared/measure.enum.mjs +1 -1
- package/esm2022/lib/measure/shared/measure.interfaces.mjs +1 -1
- package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +2 -2
- package/esm2022/lib/offline/geoDB/geoDB.enums.mjs +1 -1
- package/esm2022/lib/offline/geoDB/geoDB.interface.mjs +1 -1
- package/esm2022/lib/offline/layerDB/index.mjs +1 -1
- package/esm2022/lib/offline/layerDB/layerDB.interface.mjs +1 -1
- package/esm2022/lib/overlay/shared/overlay.enum.mjs +1 -1
- package/esm2022/lib/overlay/shared/overlay.utils.mjs +1 -1
- package/esm2022/lib/print/print/print.component.mjs +2 -2
- package/esm2022/lib/print/print-form/print-form.component.mjs +2 -2
- package/esm2022/lib/print/shared/geopdf.mjs +1 -1
- package/esm2022/lib/query/shared/query.utils.mjs +1 -1
- package/esm2022/lib/search/search-bar/search-bar.component.mjs +2 -2
- package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +2 -2
- package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +2 -2
- package/esm2022/lib/search/search-results/search-results-item.component.mjs +2 -2
- package/esm2022/lib/search/search-results/search-results.component.mjs +2 -2
- package/esm2022/lib/search/search-selector/search-selector.component.mjs +2 -2
- package/esm2022/lib/search/search-settings/search-settings.component.mjs +2 -2
- package/esm2022/lib/search/shared/search.enums.mjs +1 -1
- package/esm2022/lib/search/shared/sources/coordinates.interfaces.mjs +1 -1
- package/esm2022/lib/search/shared/sources/icherche.mjs +2 -2
- package/esm2022/lib/search/shared/sources/ilayer.mjs +36 -34
- package/esm2022/lib/search/shared/sources/index.mjs +1 -1
- package/esm2022/lib/search/shared/sources/source.interfaces.mjs +1 -1
- package/esm2022/lib/search/shared/sources/storedqueries.interfaces.mjs +1 -1
- package/esm2022/lib/search/shared/sources/workspace.interfaces.mjs +1 -1
- package/esm2022/lib/style/shared/font.enum.mjs +1 -1
- package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +2 -2
- package/esm2022/lib/style/style-modal/shared/style-modal.interface.mjs +1 -1
- package/esm2022/lib/toast/toast.component.mjs +2 -2
- package/esm2022/lib/utils/googleLinks.mjs +1 -1
- package/esm2022/lib/utils/osmLinks.mjs +1 -1
- package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.interface.mjs +1 -1
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +2 -2
- package/esm2022/lib/workspace/confirmation-popup/index.mjs +1 -1
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +2 -2
- package/fesm2022/igo2-geo.mjs +105 -103
- package/fesm2022/igo2-geo.mjs.map +1 -1
- package/lib/directions/directions-results/directions-results.theming.scss +10 -10
- package/lib/directions/directions.theming.scss +6 -6
- package/lib/draw/draw.theming.scss +32 -32
- package/lib/feature/feature-details/feature-details.theming.scss +16 -16
- package/lib/feature/feature.theming.scss +4 -4
- package/lib/filter/ogc-filter-selection/ogc-filter-selection.theming.scss +18 -18
- package/lib/filter/time-filter-form/time-filter-form.theming.scss +5 -5
- package/lib/layer/layer-legend/layer-legend.theming.scss +10 -10
- package/lib/layer/layer-list-tool/layer-list-tool.theming.scss +34 -22
- package/lib/map/map-browser/map-browser.theming.scss +46 -46
- package/lib/map/map.theming.scss +9 -9
- package/lib/map/zoom-button/zoom-button.theming.scss +32 -32
- package/lib/measure/measure.theming.scss +5 -5
- package/lib/measure/measurer/measurer.theming.scss +26 -26
- package/lib/search/search-bar/search-bar.theming.scss +41 -36
- package/lib/search/search.theming.scss +7 -5
- package/lib/search/shared/sources/source.interfaces.d.ts +0 -1
- package/lib/workspace/confirmation-popup/confirmation-popup.theming.scss +14 -14
- package/lib/workspace/workspace.theming.scss +6 -6
- package/package.json +4 -4
|
@@ -659,7 +659,7 @@ export class DrawPopupComponent {
|
|
|
659
659
|
}
|
|
660
660
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrawPopupComponent, [{
|
|
661
661
|
type: Component,
|
|
662
|
-
args: [{ selector: 'igo-draw-popup-component', template: "<h2 mat-dialog-title>\n {{ 'igo.geo.draw.popupTitle' | translate }}\n</h2>\n\n<ng-container *ngIf=\"labelFlag !== labelType.Custom\">\n <div mat-dialog-content class=\"geometry-type-toggle\">\n <div class=\"button-toggle-container\">\n <mat-button-toggle-group\n (change)=\"onLabelTypeChange($event.value)\"\n [value]=\"customOrPredefined\"\n >\n <mat-button-toggle [value]=\"labelType.Custom\">\n {{ 'igo.geo.draw.labelType.custom' | translate }}\n </mat-button-toggle>\n <mat-button-toggle [value]=\"labelType.Predefined\">\n {{ 'igo.geo.draw.labelType.predefined' | translate }}\n </mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n <div>\n <p>\n {{ 'igo.geo.draw.builtInInstructions' | translate }}\n </p>\n <mat-radio-group *ngIf=\"olGeometryType !== 'Polygon'\">\n <mat-radio-button\n *ngFor=\"let option of arrayBuiltInType\"\n [value]=\"option.value\"\n [disabled]=\"optionAvailable(option.value)\"\n (change)=\"onLabelTypeChange($event.value)\"\n [checked]=\"option.checked\"\n >\n {{ getProperLengthLabel(option.value) }}\n </mat-radio-button>\n </mat-radio-group>\n <ng-container *ngIf=\"olGeometryType === 'Polygon'\">\n <mat-checkbox\n *ngFor=\"let option of arrayBuiltInType\"\n class=\"mat-typography\"\n [value]=\"option.value\"\n [disabled]=\"optionAvailable(option.value)\"\n (change)=\"onLabelTypeChange($event.source.value, $event.checked)\"\n [checked]=\"option.checked\"\n >\n {{ getProperLengthLabel(option.value) }}\n </mat-checkbox>\n </ng-container>\n <div *ngIf=\"labelFlag === labelType.Coordinates\" class=\"fields-container\">\n <mat-form-field class=\"readOnly-Input\">\n <mat-label>(Latitude, Longitude)</mat-label>\n <input\n #input\n matInput\n placeholder=\"(Latitude, Longitude)\"\n value=\"{{ currentCoordinates }}\"\n readonly\n />\n </mat-form-field>\n <mat-form-field class=\"unit-field\">\n <mat-select\n [value]=\"coordinatesMeasureUnit\"\n (selectionChange)=\"onChangeCoordinateUnit($event.value)\"\n >\n <mat-option *ngFor=\"let unit of allCoordinatesUnits\" [value]=\"unit\">\n {{ unit }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div\n *ngIf=\"labelFlag === labelType.Length || polygonCheck === 2\"\n class=\"fields-container\"\n >\n <mat-form-field class=\"readOnly-Input\">\n <mat-label>{{ lengthLabelT }}</mat-label>\n <input\n #input\n matInput\n placeholder=\"{{ lengthLabelT }}\"\n value=\"{{ currentLength }}\"\n readonly\n />\n </mat-form-field>\n <mat-form-field class=\"unit-field\">\n <mat-select\n [value]=\"lengthMeasureUnit\"\n (selectionChange)=\"onChangeLengthUnit($event.value)\"\n >\n <mat-option *ngFor=\"let unit of allLengthUnits\" [value]=\"unit\">\n {{ getLengthUnitEnum(unit) }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div\n *ngIf=\"labelFlag === labelType.Area || polygonCheck === 2\"\n class=\"fields-container\"\n >\n <mat-form-field class=\"readOnly-Input\">\n <mat-label>{{ 'igo.geo.draw.labelType.Area' | translate }}</mat-label>\n <input\n #input\n matInput\n placeholder=\"{{ 'igo.geo.draw.labelType.Area' | translate }}\"\n value=\"{{ currentArea }}\"\n readonly\n />\n </mat-form-field>\n <mat-form-field class=\"unit-field\">\n <mat-select\n [value]=\"areaMeasureUnit\"\n (selectionChange)=\"onChangeAreaUnit($event.value)\"\n >\n <mat-option *ngFor=\"let unit of allAreaUnits\" [value]=\"unit\">\n {{ getAreaUnitEnum(unit) }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n </div>\n\n <div mat-dialog-actions>\n <button mat-raised-button (click)=\"cancelDrawing()\">\n {{ 'igo.geo.draw.cancel' | translate }}\n </button>\n <button mat-raised-button color=\"primary\" (click)=\"confirm()\">\n {{ noLabelButton() }}\n </button>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"labelFlag === labelType.Custom\">\n <div mat-dialog-content class=\"geometry-type-toggle\">\n <div class=\"button-toggle-container\">\n <mat-button-toggle-group\n (change)=\"onLabelTypeChange($event.value)\"\n [value]=\"customOrPredefined\"\n >\n <mat-button-toggle [value]=\"labelType.Custom\">\n {{ 'igo.geo.draw.labelType.custom' | translate }}\n </mat-button-toggle>\n <mat-button-toggle [value]=\"labelType.Predefined\">\n {{ 'igo.geo.draw.labelType.predefined' | translate }}\n </mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n <p>\n {{ 'igo.geo.draw.dialogInstruction' | translate }}\n </p>\n <mat-form-field class=\"input\">\n <mat-label>{{ 'igo.geo.draw.dialogTitle' | translate }}</mat-label>\n <input\n #input\n matInput\n (select)=\"(true)\"\n (input)=\"getLabelLength($event.target.value)\"\n placeholder=\"{{ 'igo.geo.draw.dialogTitle' | translate }}\"\n value=\"{{ currentLabel }}\"\n cdkFocusInitial\n />\n </mat-form-field>\n </div>\n\n <div mat-dialog-actions>\n <button mat-raised-button (click)=\"cancelDrawing()\">\n {{ 'igo.geo.draw.cancel' | translate }}\n </button>\n <button mat-raised-button color=\"primary\" (click)=\"confirm(input.value)\">\n {{ noLabelButton() }}\n </button>\n </div>\n</ng-container>\n", styles: [":host .mat-mdc-radio-button~.mat-radio-button{margin-left:12px}:host .readOnly-Input{width:200px!important}:host .button-toggle-container{margin-bottom:12px}:host .unit-field{margin-left:12px}:host .unit-field ::ng-deep .mat-mdc-form-field-infix{width:-moz-fit-content;width:fit-content}:host .unit-field ::ng-deep .mat-mdc-select-min-line{padding-right:24px}:host .mat-mdc-form-field{position:sticky!important}:host .coordinatesInputView{top:5em!important}:host .mat-mdc-dialog-actions{display:flex!important;justify-content:flex-end}:host .input{width:auto!important}:host .mat-button-toggle-group,:host .mat-button-toggle{width:100%}:host mat-checkbox{margin-right:10px}:host ::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper{display:none}\n"] }]
|
|
662
|
+
args: [{ selector: 'igo-draw-popup-component', template: "<h2 mat-dialog-title>\r\n {{ 'igo.geo.draw.popupTitle' | translate }}\r\n</h2>\r\n\r\n<ng-container *ngIf=\"labelFlag !== labelType.Custom\">\r\n <div mat-dialog-content class=\"geometry-type-toggle\">\r\n <div class=\"button-toggle-container\">\r\n <mat-button-toggle-group\r\n (change)=\"onLabelTypeChange($event.value)\"\r\n [value]=\"customOrPredefined\"\r\n >\r\n <mat-button-toggle [value]=\"labelType.Custom\">\r\n {{ 'igo.geo.draw.labelType.custom' | translate }}\r\n </mat-button-toggle>\r\n <mat-button-toggle [value]=\"labelType.Predefined\">\r\n {{ 'igo.geo.draw.labelType.predefined' | translate }}\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </div>\r\n <div>\r\n <p>\r\n {{ 'igo.geo.draw.builtInInstructions' | translate }}\r\n </p>\r\n <mat-radio-group *ngIf=\"olGeometryType !== 'Polygon'\">\r\n <mat-radio-button\r\n *ngFor=\"let option of arrayBuiltInType\"\r\n [value]=\"option.value\"\r\n [disabled]=\"optionAvailable(option.value)\"\r\n (change)=\"onLabelTypeChange($event.value)\"\r\n [checked]=\"option.checked\"\r\n >\r\n {{ getProperLengthLabel(option.value) }}\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n <ng-container *ngIf=\"olGeometryType === 'Polygon'\">\r\n <mat-checkbox\r\n *ngFor=\"let option of arrayBuiltInType\"\r\n class=\"mat-typography\"\r\n [value]=\"option.value\"\r\n [disabled]=\"optionAvailable(option.value)\"\r\n (change)=\"onLabelTypeChange($event.source.value, $event.checked)\"\r\n [checked]=\"option.checked\"\r\n >\r\n {{ getProperLengthLabel(option.value) }}\r\n </mat-checkbox>\r\n </ng-container>\r\n <div *ngIf=\"labelFlag === labelType.Coordinates\" class=\"fields-container\">\r\n <mat-form-field class=\"readOnly-Input\">\r\n <mat-label>(Latitude, Longitude)</mat-label>\r\n <input\r\n #input\r\n matInput\r\n placeholder=\"(Latitude, Longitude)\"\r\n value=\"{{ currentCoordinates }}\"\r\n readonly\r\n />\r\n </mat-form-field>\r\n <mat-form-field class=\"unit-field\">\r\n <mat-select\r\n [value]=\"coordinatesMeasureUnit\"\r\n (selectionChange)=\"onChangeCoordinateUnit($event.value)\"\r\n >\r\n <mat-option *ngFor=\"let unit of allCoordinatesUnits\" [value]=\"unit\">\r\n {{ unit }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div\r\n *ngIf=\"labelFlag === labelType.Length || polygonCheck === 2\"\r\n class=\"fields-container\"\r\n >\r\n <mat-form-field class=\"readOnly-Input\">\r\n <mat-label>{{ lengthLabelT }}</mat-label>\r\n <input\r\n #input\r\n matInput\r\n placeholder=\"{{ lengthLabelT }}\"\r\n value=\"{{ currentLength }}\"\r\n readonly\r\n />\r\n </mat-form-field>\r\n <mat-form-field class=\"unit-field\">\r\n <mat-select\r\n [value]=\"lengthMeasureUnit\"\r\n (selectionChange)=\"onChangeLengthUnit($event.value)\"\r\n >\r\n <mat-option *ngFor=\"let unit of allLengthUnits\" [value]=\"unit\">\r\n {{ getLengthUnitEnum(unit) }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div\r\n *ngIf=\"labelFlag === labelType.Area || polygonCheck === 2\"\r\n class=\"fields-container\"\r\n >\r\n <mat-form-field class=\"readOnly-Input\">\r\n <mat-label>{{ 'igo.geo.draw.labelType.Area' | translate }}</mat-label>\r\n <input\r\n #input\r\n matInput\r\n placeholder=\"{{ 'igo.geo.draw.labelType.Area' | translate }}\"\r\n value=\"{{ currentArea }}\"\r\n readonly\r\n />\r\n </mat-form-field>\r\n <mat-form-field class=\"unit-field\">\r\n <mat-select\r\n [value]=\"areaMeasureUnit\"\r\n (selectionChange)=\"onChangeAreaUnit($event.value)\"\r\n >\r\n <mat-option *ngFor=\"let unit of allAreaUnits\" [value]=\"unit\">\r\n {{ getAreaUnitEnum(unit) }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div mat-dialog-actions>\r\n <button mat-raised-button (click)=\"cancelDrawing()\">\r\n {{ 'igo.geo.draw.cancel' | translate }}\r\n </button>\r\n <button mat-raised-button color=\"primary\" (click)=\"confirm()\">\r\n {{ noLabelButton() }}\r\n </button>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"labelFlag === labelType.Custom\">\r\n <div mat-dialog-content class=\"geometry-type-toggle\">\r\n <div class=\"button-toggle-container\">\r\n <mat-button-toggle-group\r\n (change)=\"onLabelTypeChange($event.value)\"\r\n [value]=\"customOrPredefined\"\r\n >\r\n <mat-button-toggle [value]=\"labelType.Custom\">\r\n {{ 'igo.geo.draw.labelType.custom' | translate }}\r\n </mat-button-toggle>\r\n <mat-button-toggle [value]=\"labelType.Predefined\">\r\n {{ 'igo.geo.draw.labelType.predefined' | translate }}\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </div>\r\n <p>\r\n {{ 'igo.geo.draw.dialogInstruction' | translate }}\r\n </p>\r\n <mat-form-field class=\"input\">\r\n <mat-label>{{ 'igo.geo.draw.dialogTitle' | translate }}</mat-label>\r\n <input\r\n #input\r\n matInput\r\n (select)=\"(true)\"\r\n (input)=\"getLabelLength($event.target.value)\"\r\n placeholder=\"{{ 'igo.geo.draw.dialogTitle' | translate }}\"\r\n value=\"{{ currentLabel }}\"\r\n cdkFocusInitial\r\n />\r\n </mat-form-field>\r\n </div>\r\n\r\n <div mat-dialog-actions>\r\n <button mat-raised-button (click)=\"cancelDrawing()\">\r\n {{ 'igo.geo.draw.cancel' | translate }}\r\n </button>\r\n <button mat-raised-button color=\"primary\" (click)=\"confirm(input.value)\">\r\n {{ noLabelButton() }}\r\n </button>\r\n </div>\r\n</ng-container>\r\n", styles: [":host .mat-mdc-radio-button~.mat-radio-button{margin-left:12px}:host .readOnly-Input{width:200px!important}:host .button-toggle-container{margin-bottom:12px}:host .unit-field{margin-left:12px}:host .unit-field ::ng-deep .mat-mdc-form-field-infix{width:-moz-fit-content;width:fit-content}:host .unit-field ::ng-deep .mat-mdc-select-min-line{padding-right:24px}:host .mat-mdc-form-field{position:sticky!important}:host .coordinatesInputView{top:5em!important}:host .mat-mdc-dialog-actions{display:flex!important;justify-content:flex-end}:host .input{width:auto!important}:host .mat-button-toggle-group,:host .mat-button-toggle{width:100%}:host mat-checkbox{margin-right:10px}:host ::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper{display:none}\n"] }]
|
|
663
663
|
}], function () { return [{ type: i1.LanguageService }, { type: i2.MatDialogRef }, { type: undefined, decorators: [{
|
|
664
664
|
type: Inject,
|
|
665
665
|
args: [MAT_DIALOG_DATA]
|
|
@@ -674,4 +674,4 @@ export class DrawPopupComponent {
|
|
|
674
674
|
}], areaMeasureUnit: [{
|
|
675
675
|
type: Input
|
|
676
676
|
}] }); })();
|
|
677
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhdy1wb3B1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kcmF3L2RyYXcvZHJhdy1wb3B1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kcmF3L2RyYXcvZHJhdy1wb3B1cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTdDLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQztBQUNuQyxPQUFPLE1BQU0sTUFBTSxnQkFBZ0IsQ0FBQztBQUNwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXRDLE9BQU8sRUFBVSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQ0wsZUFBZSxFQUNmLDJCQUEyQixFQUMzQixpQkFBaUIsRUFDakIsNkJBQTZCLEVBQzlCLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUNMLHFCQUFxQixFQUNyQix1QkFBdUIsRUFDdkIsWUFBWSxFQUNaLGtCQUFrQixFQUNuQixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0Is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QUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1NBQzVDO1FBRUQsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSyxTQUFTLENBQUMsV0FBVyxFQUFFO1lBQzlELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ2xFO2FBQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSyxTQUFTLENBQUMsTUFBTSxFQUFFO1lBQ2hFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzdEO2FBQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSyxTQUFTLENBQUMsSUFBSSxFQUFFO1lBQzlELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUMzRDthQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsV0FBVyxD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OzZEQTlCZCxrQkFBa0I7WUNoQy9CLDZCQUFxQjtZQUNuQixZQUNGOztZQUFBLGlCQUFLO1lBRUwsdUZBNkhlO1lBRWYsdUZBd0NlOztZQTFLYixlQUNGO1lBREUsaUZBQ0Y7WUFFZSxlQUFvQztZQUFwQyw2REFBb0M7WUErSHBDLGVBQW9DO1lBQXBDLDZEQUFvQzs7O3VGRG5HdEMsa0JBQWtCO2NBTDlCLFNBQVM7MkJBQ0UsMEJBQTBCOztzQkFrQ2pDLE1BQU07dUJBQUMsZUFBZTt3QkE3QmhCLFdBQVc7a0JBQW5CLEtBQUs7WUFDRyxTQUFTO2tCQUFqQixLQUFLO1lBQ0csc0JBQXNCO2tCQUE5QixLQUFLO1lBQ0csaUJBQWlCO2tCQUF6QixLQUFLO1lBQ0csZUFBZTtrQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcblxyXG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuXHJcbmltcG9ydCBPbEZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSc7XHJcbmltcG9ydCBDaXJjbGUgZnJvbSAnb2wvZ2VvbS9DaXJjbGUnO1xyXG5pbXBvcnQgeyBmcm9tQ2lyY2xlIH0gZnJvbSAnb2wvZ2VvbS9Qb2x5Z29uJztcclxuaW1wb3J0IHsgdHJhbnNmb3JtIH0gZnJvbSAnb2wvcHJvaic7XHJcbmltcG9ydCB7IGdldExlbmd0aCB9IGZyb20gJ29sL3NwaGVyZSc7XHJcblxyXG5pbXBvcnQgeyBJZ29NYXAsIHJvdW5kQ29vcmRUbyB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQnO1xyXG5pbXBvcnQge1xyXG4gIE1lYXN1cmVBcmVhVW5pdCxcclxuICBNZWFzdXJlQXJlYVVuaXRBYmJyZXZpYXRpb24sXHJcbiAgTWVhc3VyZUxlbmd0aFVuaXQsXHJcbiAgTWVhc3VyZUxlbmd0aFVuaXRBYmJyZXZpYXRpb25cclxufSBmcm9tICcuLi8uLi9tZWFzdXJlL3NoYXJlZC9tZWFzdXJlLmVudW0nO1xyXG5pbXBvcnQge1xyXG4gIG1lYXN1cmVPbEdlb21ldHJ5QXJlYSxcclxuICBtZWFzdXJlT2xHZW9tZXRyeUxlbmd0aCxcclxuICBtZXRlcnNUb1VuaXQsXHJcbiAgc3F1YXJlTWV0ZXJzVG9Vbml0XHJcbn0gZnJvbSAnLi4vLi4vbWVhc3VyZS9zaGFyZWQvbWVhc3VyZS51dGlscyc7XHJcbmltcG9ydCB7IENvb3JkaW5hdGVzVW5pdCwgR2VvbWV0cnlUeXBlLCBMYWJlbFR5cGUgfSBmcm9tICcuLi9zaGFyZWQvZHJhdy5lbnVtJztcclxuaW1wb3J0IHsgRER0b0RNUyB9IGZyb20gJy4uL3NoYXJlZC9kcmF3LnV0aWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWRyYXctcG9wdXAtY29tcG9uZW50JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHJhdy1wb3B1cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHJhdy1wb3B1cC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcmF3UG9wdXBDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGNvbmZpcm1GbGFnOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbGFiZWxGbGFnOiBMYWJlbFR5cGUgfCBbTGFiZWxUeXBlLCBMYWJlbFR5cGVdID0gTGFiZWxUeXBlLkN1c3RvbTtcclxuICBASW5wdXQoKSBjb29yZGluYXRlc01lYXN1cmVVbml0OiBDb29yZGluYXRlc1VuaXQ7XHJcbiAgQElucHV0KCkgbGVuZ3RoTWVhc3VyZVVuaXQ6IE1lYXN1cmVMZW5ndGhVbml0O1xyXG4gIEBJbnB1dCgpIGFyZWFNZWFzdXJlVW5pdDogTWVhc3VyZUFyZWFVbml0O1xyXG5cclxuICBwdWJsaWMgZ2VvbWV0cnlUeXBlID0gR2VvbWV0cnlUeXBlO1xyXG4gIHB1YmxpYyBsYWJlbFR5cGUgPSBMYWJlbFR5cGU7XHJcbiAgcHVibGljIGFycmF5QnVpbHRJblR5cGU6IGFueVtdID0gW107XHJcblxyXG4gIHB1YmxpYyBjdXJyZW50TGFiZWw6IHN0cmluZztcclxuICBwdWJsaWMgY3VycmVudENvb3JkaW5hdGVzOiBzdHJpbmc7XHJcbiAgcHVibGljIGN1cnJlbnRBcmVhOiBzdHJpbmc7XHJcbiAgcHVibGljIGN1cnJlbnRMZW5ndGg6IHN0cmluZztcclxuXHJcbiAgcHVibGljIG9sR2VvbWV0cnlUeXBlOiBHZW9tZXRyeVR5cGUgPSB1bmRlZmluZWQ7XHJcbiAgcHVibGljIGxlbmd0aEluTWV0ZXJzOiBzdHJpbmc7XHJcbiAgcHVibGljIGFyZWFJbk1ldGVyc1NxdWFyZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBjb29yZGluYXRlc0luREQ6IHN0cmluZztcclxuICBwdWJsaWMgY3VycmVudENvb3JkaW5hdGVzVW5pdDogc3RyaW5nO1xyXG5cclxuICBwcml2YXRlIGxvbmdsYXRERDogW251bWJlciwgbnVtYmVyXTtcclxuICBwcml2YXRlIGxhYmVsTGVuZ3RoOiBudW1iZXI7XHJcblxyXG4gIHB1YmxpYyBwb2x5Z29uQ2hlY2sgPSAwOyAvLyBDb3VudCBmb3IgcG9seWdvbiBsYWJlbCB0eXBlcyBjaGVja2JveGVzXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxEcmF3UG9wdXBDb21wb25lbnQ+LFxyXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiB7IG9sR2VvbWV0cnk6IGFueTsgbWFwOiBJZ29NYXAgfVxyXG4gICkge1xyXG4gICAgdGhpcy5jdXJyZW50TGFiZWwgPSB0aGlzLmRhdGEub2xHZW9tZXRyeS5nZXQoJ2RyYXcnKTtcclxuICAgIHRoaXMubGFiZWxMZW5ndGggPSB0aGlzLmN1cnJlbnRMYWJlbCA/IHRoaXMuY3VycmVudExhYmVsLmxlbmd0aCA6IDA7XHJcbiAgICBsZXQgb2xHZW9tZXRyeTtcclxuXHJcbiAgICBjb25zdCBwcm9qZWN0aW9uID0gdGhpcy5kYXRhLm1hcC5vbC5nZXRWaWV3KCkuZ2V0UHJvamVjdGlvbigpO1xyXG5cclxuICAgIGlmICh0aGlzLmRhdGEub2xHZW9tZXRyeSBpbnN0YW5jZW9mIE9sRmVhdHVyZSkge1xyXG4gICAgICBpZiAodGhpcy5kYXRhLm9sR2VvbWV0cnkuZ2V0KCdyYWQnKSkge1xyXG4gICAgICAgIGNvbnN0IGxvbmdpdHVkZUxhdGl0dWRlID0gW1xyXG4gICAgICAgICAgdGhpcy5kYXRhLm9sR2VvbWV0cnkuZ2V0KCdsb25naXR1ZGUnKSxcclxuICAgICAgICAgIHRoaXMuZGF0YS5vbEdlb21ldHJ5LmdldCgnbGF0aXR1ZGUnKVxyXG4gICAgICAgIF07XHJcbiAgICAgICAgdGhpcy5vbEdlb21ldHJ5VHlwZSA9IEdlb21ldHJ5VHlwZS5DaXJjbGU7XHJcbiAgICAgICAgb2xHZW9tZXRyeSA9IG5ldyBDaXJjbGUoXHJcbiAgICAgICAgICBsb25naXR1ZGVMYXRpdHVkZSxcclxuICAgICAgICAgIHRoaXMuZGF0YS5vbEdlb21ldHJ5LmdldCgncmFkJylcclxuICAgICAgICApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMub2xHZW9tZXRyeVR5cGUgPSB0aGlzLmRhdGEub2xHZW9tZXRyeS5nZXRHZW9tZXRyeSgpLmdldFR5cGUoKTtcclxuICAgICAgICBvbEdlb21ldHJ5ID0gdGhpcy5kYXRhLm9sR2VvbWV0cnkuZ2V0KCdnZW9tZXRyeScpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9sR2VvbWV0cnlUeXBlID0gdGhpcy5kYXRhLm9sR2VvbWV0cnkuZ2V0VHlwZSgpO1xyXG4gICAgICBvbEdlb21ldHJ5ID0gdGhpcy5kYXRhLm9sR2VvbWV0cnk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLm9sR2VvbWV0cnlUeXBlID09PSBHZW9tZXRyeVR5cGUuUG9pbnQgfHxcclxuICAgICAgdGhpcy5vbEdlb21ldHJ5VHlwZSA9PT0gR2VvbWV0cnlUeXBlLkNpcmNsZVxyXG4gICAgKSB7XHJcbiAgICAgIGlmICh0aGlzLmRhdGEub2xHZW9tZXRyeSBpbnN0YW5jZW9mIE9sRmVhdHVyZSkge1xyXG4gICAgICAgIGxldCBsb25naXR1ZGUgPSB0aGlzLmRhdGEub2xHZW9tZXRyeS5nZXQoJ2xvbmdpdHVkZScpO1xyXG4gICAgICAgIGxldCBsYXRpdHVkZSA9IHRoaXMuZGF0YS5vbEdlb21ldHJ5LmdldCgnbGF0aXR1ZGUnKTtcclxuICAgICAgICB0aGlzLmxvbmdsYXRERCA9IHJvdW5kQ29vcmRUbyhbbG9uZ2l0dWRlLCBsYXRpdHVkZV0sIDUpO1xyXG4gICAgICAgIHRoaXMuY29vcmRpbmF0ZXNJbkREID0gJygnICsgbGF0aXR1ZGUgKyAnLCAnICsgbG9uZ2l0dWRlICsgJyknO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGxldCBwb2ludDQzMjYgPSB0cmFuc2Zvcm0oXHJcbiAgICAgICAgICB0aGlzLmRhdGEub2xHZW9tZXRyeS5nZXRGbGF0Q29vcmRpbmF0ZXMoKSxcclxuICAgICAgICAgIHByb2plY3Rpb24sXHJcbiAgICAgICAgICAnRVBTRzo0MzI2J1xyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5sb25nbGF0REQgPSByb3VuZENvb3JkVG8oW3BvaW50NDMyNlswXSwgcG9pbnQ0MzI2WzFdXSwgNSk7XHJcbiAgICAgICAgdGhpcy5jb29yZGluYXRlc0luREQgPVxyXG4gICAgICAgICAgJygnICsgdGhpcy5sb25nbGF0RERbMV0gKyAnLCAnICsgdGhpcy5sb25nbGF0RERbMF0gKyAnKSc7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jdXJyZW50Q29vcmRpbmF0ZXMgPSB0aGlzLmNvb3JkaW5hdGVzSW5ERDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm9sR2VvbWV0cnlUeXBlID09PSBHZW9tZXRyeVR5cGUuTGluZVN0cmluZykge1xyXG4gICAgICB0aGlzLmxlbmd0aEluTWV0ZXJzID0gbWVhc3VyZU9sR2VvbWV0cnlMZW5ndGgoXHJcbiAgICAgICAgb2xHZW9tZXRyeSxcclxuICAgICAgICBwcm9qZWN0aW9uLmdldENvZGUoKVxyXG4gICAgICApLnRvRml4ZWQoMik7XHJcbiAgICAgIHRoaXMuY3VycmVudExlbmd0aCA9IHRoaXMubGVuZ3RoSW5NZXRlcnM7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMub2xHZW9tZXRyeVR5cGUgPT09IEdlb21ldHJ5VHlwZS5Qb2x5Z29uKSB7XHJcbiAgICAgIHRoaXMubGVuZ3RoSW5NZXRlcnMgPSBtZWFzdXJlT2xHZW9tZXRyeUxlbmd0aChcclxuICAgICAgICBvbEdlb21ldHJ5LFxyXG4gICAgICAgIHByb2plY3Rpb24uZ2V0Q29kZSgpXHJcbiAgICAgICkudG9GaXhlZCgyKTtcclxuICAgICAgdGhpcy5jdXJyZW50TGVuZ3RoID0gdGhpcy5sZW5ndGhJbk1ldGVycztcclxuICAgICAgdGhpcy5hcmVhSW5NZXRlcnNTcXVhcmUgPSBtZWFzdXJlT2xHZW9tZXRyeUFyZWEoXHJcbiAgICAgICAgb2xHZW9tZXRyeSxcclxuICAgICAgICBwcm9qZWN0aW9uLmdldENvZGUoKVxyXG4gICAgICApLnRvRml4ZWQoMik7XHJcbiAgICAgIHRoaXMuY3VycmVudEFyZWEgPSB0aGlzLmFyZWFJbk1ldGVyc1NxdWFyZTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5vbEdlb21ldHJ5VHlwZSA9PT0gR2VvbWV0cnlUeXBlLkNpcmNsZSkge1xyXG4gICAgICBsZXQgY2lyY3VsYXJQb2x5Z29uID0gZnJvbUNpcmNsZShvbEdlb21ldHJ5LCAxMDAwMCk7XHJcbiAgICAgIGNvbnN0IHJhZGl1cyA9IHRoaXMuZ2V0UmFkaXVzKGNpcmN1bGFyUG9seWdvbik7XHJcbiAgICAgIHRoaXMubGVuZ3RoSW5NZXRlcnMgPSByYWRpdXMudG9GaXhlZCgyKTtcclxuICAgICAgdGhpcy5jdXJyZW50TGVuZ3RoID0gdGhpcy5sZW5ndGhJbk1ldGVycztcclxuICAgICAgdGhpcy5hcmVhSW5NZXRlcnNTcXVhcmUgPSBtZWFzdXJlT2xHZW9tZXRyeUFyZWEoXHJcbiAgICAgICAgY2lyY3VsYXJQb2x5Z29uLFxyXG4gICAgICAgIHByb2plY3Rpb24uZ2V0Q29kZSgpXHJcbiAgICAgICkudG9GaXhlZCgyKTtcclxuICAgICAgdGhpcy5jdXJyZW50QXJlYSA9IHRoaXMuYXJlYUluTWV0ZXJzU3F1YXJlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChkYXRhLm9sR2VvbWV0cnkuZ2V0KCdsYWJlbFR5cGUnKSA9PT0gTGFiZWxUeXBlLkNvb3JkaW5hdGVzKSB7XHJcbiAgICAgIHRoaXMub25MYWJlbFR5cGVDaGFuZ2UoTGFiZWxUeXBlLlByZWRlZmluZWQpO1xyXG4gICAgICB0aGlzLm9uTGFiZWxUeXBlQ2hhbmdlKExhYmVsVHlwZS5Db29yZGluYXRlcywgdHJ1ZSk7XHJcbiAgICAgIHRoaXMuY29vcmRpbmF0ZXNNZWFzdXJlVW5pdCA9IGRhdGEub2xHZW9tZXRyeS5nZXQoJ21lYXN1cmVVbml0Jyk7XHJcbiAgICB9IGVsc2UgaWYgKGRhdGEub2xHZW9tZXRyeS5nZXQoJ2xhYmVsVHlwZScpID09PSBMYWJlbFR5cGUuTGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMub25MYWJlbFR5cGVDaGFuZ2UoTGFiZWxUeXBlLlByZWRlZmluZWQpO1xyXG4gICAgICB0aGlzLm9uTGFiZWxUeXBlQ2hhbmdlKExhYmVsVHlwZS5MZW5ndGgsIHRydWUpO1xyXG4gICAgICB0aGlzLmxlbmd0aE1lYXN1cmVVbml0ID0gZGF0YS5vbEdlb21ldHJ5LmdldCgnbWVhc3VyZVVuaXQnKTtcclxuICAgIH0gZWxzZSBpZiAoZGF0YS5vbEdlb21ldHJ5LmdldCgnbGFiZWxUeXBlJykgPT09IExhYmVsVHlwZS5BcmVhKSB7XHJcbiAgICAgIHRoaXMub25MYWJlbFR5cGVDaGFuZ2UoTGFiZWxUeXBlLlByZWRlZmluZWQpO1xyXG4gICAgICB0aGlzLm9uTGFiZWxUeXBlQ2hhbmdlKExhYmVsVHlwZS5BcmVhLCB0cnVlKTtcclxuICAgICAgdGhpcy5hcmVhTWVhc3VyZVVuaXQgPSBkYXRhLm9sR2VvbWV0cnkuZ2V0KCdtZWFzdXJlVW5pdCcpO1xyXG4gICAgfSBlbHNlIGlmIChkYXRhLm9sR2VvbWV0cnkuZ2V0KCdsYWJlbFR5cGUnKT8ubGVuZ3RoID09PSAyKSB7XHJcbiAgICAgIHRoaXMub25MYWJlbFR5cGVDaGFuZ2UoTGFiZWxUeXBlLlByZWRlZmluZWQpO1xyXG4gICAgICB0aGlzLm9uTGFiZWxUeXBlQ2hhbmdlKExhYmVsVHlwZS5MZW5ndGgsIHRydWUpO1xyXG4gICAgICB0aGlzLm9uTGFiZWxUeXBlQ2hhbmdlKExhYmVsVHlwZS5BcmVhLCB0cnVlKTtcclxuICAgICAgdGhpcy5sZW5ndGhNZWFzdXJlVW5pdCA9IGRhdGEub2xHZW9tZXRyeS5nZXQoJ21lYXN1cmVVbml0JylbMF07XHJcbiAgICAgIHRoaXMuYXJlYU1lYXN1cmVVbml0ID0gZGF0YS5vbEdlb21ldHJ5LmdldCgnbWVhc3VyZVVuaXQnKVsxXTtcclxuICAgIH1cclxuICAgIHRoaXMuYnVpbGRBcnJheVR5cGUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhUTUwgSW50ZXJhY3Rpb25zXHJcbiAgICovXHJcblxyXG4gIGNhbmNlbERyYXdpbmcoKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgY29uZmlybShpbnB1dD86IHN0cmluZykge1xyXG4gICAgdGhpcy5jb25maXJtRmxhZyA9IHRydWU7XHJcbiAgICBpZiAodGhpcy5sYWJlbEZsYWcgPT09IExhYmVsVHlwZS5QcmVkZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMubGFiZWxGbGFnID09PSBMYWJlbFR5cGUuQ3VzdG9tKSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHtcclxuICAgICAgICBsYWJlbDogaW5wdXRcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMubGFiZWxGbGFnID09PSBMYWJlbFR5cGUuQ29vcmRpbmF0ZXMpIHtcclxuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2Uoe1xyXG4gICAgICAgIGxhYmVsOiB0aGlzLmN1cnJlbnRDb29yZGluYXRlcyxcclxuICAgICAgICBtZWFzdXJlVW5pdDogdGhpcy5jb29yZGluYXRlc01lYXN1cmVVbml0XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLm9sR2VvbWV0cnlUeXBlID09PSBHZW9tZXRyeVR5cGUuUG9seWdvbikge1xyXG4gICAgICBpZiAodGhpcy5wb2x5Z29uQ2hlY2sgPT09IDIpIHtcclxuICAgICAgICB0aGlzLmxhYmVsRmxhZyA9IFtMYWJlbFR5cGUuTGVuZ3RoLCBMYWJlbFR5cGUuQXJlYV07XHJcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2Uoe1xyXG4gICAgICAgICAgbGFiZWw6XHJcbiAgICAgICAgICAgICdQOiAnICtcclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50TGVuZ3RoICtcclxuICAgICAgICAgICAgJyAnICtcclxuICAgICAgICAgICAgTWVhc3VyZUxlbmd0aFVuaXRBYmJyZXZpYXRpb25bTWVhc3VyZUxlbmd0aFVuaXQuTWV0ZXJzXSArXHJcbiAgICAgICAgICAgICdcXG4nICtcclxuICAgICAgICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZHJhdy5sYWJlbFR5cGUuQScpICtcclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50QXJlYSArXHJcbiAgICAgICAgICAgICcgJyArXHJcbiAgICAgICAgICAgIE1lYXN1cmVBcmVhVW5pdEFiYnJldmlhdGlvbltNZWFzdXJlQXJlYVVuaXQuU3F1YXJlTWV0ZXJzXSxcclxuICAgICAgICAgIG1lYXN1cmVVbml0OiBbdGhpcy5sZW5ndGhNZWFzdXJlVW5pdCwgdGhpcy5hcmVhTWVhc3VyZVVuaXRdXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5sYWJlbEZsYWcgPT09IExhYmVsVHlwZS5MZW5ndGhcclxuICAgICAgICAgID8gdGhpcy5kaWFsb2dSZWYuY2xvc2Uoe1xyXG4gICAgICAgICAgICAgIGxhYmVsOlxyXG4gICAgICAgICAgICAgICAgJ1A6ICcgK1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50TGVuZ3RoICtcclxuICAgICAgICAgICAgICAgICcgJyArXHJcbiAgICAgICAgICAgICAgICBNZWFzdXJlTGVuZ3RoVW5pdEFiYnJldmlhdGlvblt0aGlzLmxlbmd0aE1lYXN1cmVVbml0XSxcclxuICAgICAgICAgICAgICBtZWFzdXJlVW5pdDogdGhpcy5sZW5ndGhNZWFzdXJlVW5pdFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgOiB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7XHJcbiAgICAgICAgICAgICAgbGFiZWw6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRBcmVhICtcclxuICAgICAgICAgICAgICAgICcgJyArXHJcbiAgICAgICAgICAgICAgICBNZWFzdXJlQXJlYVVuaXRBYmJyZXZpYXRpb25bdGhpcy5hcmVhTWVhc3VyZVVuaXRdLFxyXG4gICAgICAgICAgICAgIG1lYXN1cmVVbml0OiB0aGlzLmFyZWFNZWFzdXJlVW5pdFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICh0aGlzLmxhYmVsRmxhZyA9PT0gTGFiZWxUeXBlLkxlbmd0aCkge1xyXG4gICAgICBpZiAodGhpcy5vbEdlb21ldHJ5VHlwZSA9PT0gR2VvbWV0cnlUeXBlLkNpcmNsZSkge1xyXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHtcclxuICAgICAgICAgIGxhYmVsOlxyXG4gICAgICAgICAgICAnUjogJyArXHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVudExlbmd0aCArXHJcbiAgICAgICAgICAgICcgJyArXHJcbiAgICAgICAgICAgIE1lYXN1cmVMZW5ndGhVbml0QWJicmV2aWF0aW9uW3RoaXMubGVuZ3RoTWVhc3VyZVVuaXRdLFxyXG4gICAgICAgICAgbWVhc3VyZVVuaXQ6IHRoaXMubGVuZ3RoTWVhc3VyZVVuaXRcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLm9sR2VvbWV0cnlUeXBlID09PSBHZW9tZXRyeVR5cGUuTGluZVN0cmluZykge1xyXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHtcclxuICAgICAgICAgIGxhYmVsOlxyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRMZW5ndGggK1xyXG4gICAgICAgICAgICAnICcgK1xyXG4gICAgICAgICAgICBNZWFzdXJlTGVuZ3RoVW5pdEFiYnJldmlhdGlvblt0aGlzLmxlbmd0aE1lYXN1cmVVbml0XSxcclxuICAgICAgICAgIG1lYXN1cmVVbml0OiB0aGlzLmxlbmd0aE1lYXN1cmVVbml0XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodGhpcy5sYWJlbEZsYWcgPT09IExhYmVsVHlwZS5BcmVhKSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHtcclxuICAgICAgICBsYWJlbDpcclxuICAgICAgICAgIHRoaXMuY3VycmVudEFyZWEgK1xyXG4gICAgICAgICAgJyAnICtcclxuICAgICAgICAgIE1lYXN1cmVBcmVhVW5pdEFiYnJldmlhdGlvblt0aGlzLmFyZWFNZWFzdXJlVW5pdF0sXHJcbiAgICAgICAgbWVhc3VyZVVuaXQ6IHRoaXMuYXJlYU1lYXN1cmVVbml0XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25MYWJlbFR5cGVDaGFuZ2UobGFiZWxUeXBlOiBMYWJlbFR5cGUsIGNoZWNrZWQ/OiBib29sZWFuKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIGxhYmVsVHlwZSAhPT0gTGFiZWxUeXBlLlByZWRlZmluZWQgJiZcclxuICAgICAgbGFiZWxUeXBlICE9PSBMYWJlbFR5cGUuQ3VzdG9tICYmXHJcbiAgICAgIHRoaXMub2xHZW9tZXRyeVR5cGUgPT09IEdlb21ldHJ5VHlwZS5Qb2x5Z29uXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5hcnJheUJ1aWx0SW5UeXBlLmZpbmQoKHR5cGUpID0+IHR5cGUudmFsdWUgPT09IGxhYmVsVHlwZSlcclxuICAgICAgICA/ICh0aGlzLmFycmF5QnVpbHRJblR5cGUuZmluZChcclxuICAgICAgICAgICAgKHR5cGUpID0+IHR5cGUudmFsdWUgPT09IGxhYmVsVHlwZVxyXG4gICAgICAgICAgKS5jaGVja2VkID0gY2hlY2tlZClcclxuICAgICAgICA6ICh0aGlzLmxhYmVsRmxhZyA9IHVuZGVmaW5lZCk7XHJcbiAgICAgIGNoZWNrZWRcclxuICAgICAgICA/ICh0aGlzLmxhYmVsRmxhZyA9IGxhYmVsVHlwZSlcclxuICAgICAgICA6ICh0aGlzLmxhYmVsRmxhZyA9IHRoaXMuYXJyYXlCdWlsdEluVHlwZS5maW5kKCh0eXBlKSA9PiB0eXBlLmNoZWNrZWQpXHJcbiAgICAgICAgICAgID8udmFsdWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5sYWJlbEZsYWcgPSBsYWJlbFR5cGU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGxhYmVsVHlwZSA9PT0gTGFiZWxUeXBlLlByZWRlZmluZWQpIHtcclxuICAgICAgaWYgKHRoaXMub2xHZW9tZXRyeVR5cGUgPT09IEdlb21ldHJ5VHlwZS5Qb2ludCkge1xyXG4gICAgICAgIHRoaXMubGFiZWxGbGFnID0gTGFiZWxUeXBlLkNvb3JkaW5hdGVzO1xyXG4gICAgICAgIHRoaXMuY3VycmVudENvb3JkaW5hdGVzID0gdGhpcy5jb29yZGluYXRlc0luREQ7XHJcbiAgICAgICAgdGhpcy5jb29yZGluYXRlc01lYXN1cmVVbml0ID0gQ29vcmRpbmF0ZXNVbml0LkRlY2ltYWxEZWdyZWU7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5vbEdlb21ldHJ5VHlwZSA9PT0gR2VvbWV0cnlUeXBlLkxpbmVTdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmxhYmVsRmxhZyA9IExhYmVsVHlwZS5MZW5ndGg7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50TGVuZ3RoID0gdGhpcy5sZW5ndGhJbk1ldGVycztcclxuICAgICAgICB0aGlzLmxlbmd0aE1lYXN1cmVVbml0ID0gTWVhc3VyZUxlbmd0aFVuaXQuTWV0ZXJzO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKGxhYmVsVHlwZSA9PT0gTGFiZWxUeXBlLkFyZWEpIHtcclxuICAgICAgdGhpcy5jdXJyZW50QXJlYSA9IHRoaXMuYXJlYUluTWV0ZXJzU3F1YXJlO1xyXG4gICAgICB0aGlzLmFyZWFNZWFzdXJlVW5pdCA9IE1lYXN1cmVBcmVhVW5pdC5TcXVhcmVNZXRlcnM7XHJcbiAgICB9IGVsc2UgaWYgKGxhYmVsVHlwZSA9PT0gTGFiZWxUeXBlLkxlbmd0aCkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRMZW5ndGggPSB0aGlzLmxlbmd0aEluTWV0ZXJzO1xyXG4gICAgICB0aGlzLmxlbmd0aE1lYXN1cmVVbml0ID0gTWVhc3VyZUxlbmd0aFVuaXQuTWV0ZXJzO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmxhYmVsRmxhZyA9PT0gTGFiZWxUeXBlLkNvb3JkaW5hdGVzKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudENvb3JkaW5hdGVzID0gdGhpcy5jb29yZGluYXRlc0luREQ7XHJcbiAgICAgIHRoaXMuY29vcmRpbmF0ZXNNZWFzdXJlVW5pdCA9IENvb3JkaW5hdGVzVW5pdC5EZWNpbWFsRGVncmVlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGxhYmVsdHlwZXMgPSBbdGhpcy5sYWJlbFR5cGUuTGVuZ3RoLCB0aGlzLmxhYmVsVHlwZS5BcmVhXTtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5vbEdlb21ldHJ5VHlwZSA9PT0gR2VvbWV0cnlUeXBlLlBvbHlnb24gJiZcclxuICAgICAgbGFiZWx0eXBlcy5pbmNsdWRlcyhsYWJlbFR5cGUpXHJcbiAgICApIHtcclxuICAgICAgY2hlY2tlZCA/ICh0aGlzLnBvbHlnb25DaGVjayArPSAxKSA6ICh0aGlzLnBvbHlnb25DaGVjayAtPSAxKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucG9seWdvbkNoZWNrID0gMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlTGVuZ3RoVW5pdChsZW5ndGhVbml0OiBNZWFzdXJlTGVuZ3RoVW5pdCkge1xyXG4gICAgdGhpcy5sZW5ndGhNZWFzdXJlVW5pdCA9IGxlbmd0aFVuaXQ7XHJcbiAgICB0aGlzLmN1cnJlbnRMZW5ndGggPSBtZXRlcnNUb1VuaXQoXHJcbiAgICAgIE51bWJlcih0aGlzLmxlbmd0aEluTWV0ZXJzKSxcclxuICAgICAgbGVuZ3RoVW5pdFxyXG4gICAgKS50b0ZpeGVkKDIpO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2VBcmVhVW5pdChhcmVhVW5pdDogTWVhc3VyZUFyZWFVbml0KSB7XHJcbiAgICB0aGlzLmFyZWFNZWFzdXJlVW5pdCA9IGFyZWFVbml0O1xyXG4gICAgdGhpcy5jdXJyZW50QXJlYSA9IHNxdWFyZU1ldGVyc1RvVW5pdChcclxuICAgICAgTnVtYmVyKHRoaXMuYXJlYUluTWV0ZXJzU3F1YXJlKSxcclxuICAgICAgYXJlYVVuaXRcclxuICAgICkudG9GaXhlZCgyKTtcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlQ29vcmRpbmF0ZVVuaXQoY29vcmRpbmF0ZXNVbml0OiBDb29yZGluYXRlc1VuaXQpIHtcclxuICAgIHRoaXMuY29vcmRpbmF0ZXNNZWFzdXJlVW5pdCA9IGNvb3JkaW5hdGVzVW5pdDtcclxuICAgIGxldCBjb29yZGluYXRlcyA9IEREdG9ETVModGhpcy5sb25nbGF0REQsIGNvb3JkaW5hdGVzVW5pdCk7XHJcbiAgICB0aGlzLmN1cnJlbnRDb29yZGluYXRlcyA9XHJcbiAgICAgICcoJyArIGNvb3JkaW5hdGVzWzFdICsgJywgJyArIGNvb3JkaW5hdGVzWzBdICsgJyknO1xyXG4gIH1cclxuXHJcbiAgYnVpbGRBcnJheVR5cGUoKSB7XHJcbiAgICBmb3IgKGNvbnN0IGxhYmVsVHlwZSBvZiBPYmplY3QudmFsdWVzKExhYmVsVHlwZSkpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIGxhYmVsVHlwZSAhPT0gTGFiZWxUeXBlLkN1c3RvbSAmJlxyXG4gICAgICAgIGxhYmVsVHlwZSAhPT0gTGFiZWxUeXBlLlByZWRlZmluZWRcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5hcnJheUJ1aWx0SW5UeXBlLnB1c2goe1xyXG4gICAgICAgICAgdmFsdWU6IGxhYmVsVHlwZSxcclxuICAgICAgICAgIGNoZWNrZWQ6XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0T3B0aW9ucyhsYWJlbFR5cGUpIHx8XHJcbiAgICAgICAgICAgIHRoaXMubGFiZWxGbGFnID09PSBsYWJlbFR5cGUgfHxcclxuICAgICAgICAgICAgKHRoaXMucG9seWdvbkNoZWNrID09PSAyICYmIGxhYmVsVHlwZSAhPT0gTGFiZWxUeXBlLkNvb3JkaW5hdGVzKVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBub0xhYmVsQnV0dG9uKCkge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmxhYmVsRmxhZyA9PT0gTGFiZWxUeXBlLlByZWRlZmluZWQgfHxcclxuICAgICAgKHRoaXMubGFiZWxGbGFnID09PSBMYWJlbFR5cGUuQ3VzdG9tICYmIHRoaXMubGFiZWxMZW5ndGggPT09IDApXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRyYXcubm9MYWJlbCcpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAnT0snO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGN1c3RvbU9yUHJlZGVmaW5lZCgpIHtcclxuICAgIGlmICh0aGlzLmxhYmVsRmxhZyA9PT0gTGFiZWxUeXBlLkN1c3RvbSkge1xyXG4gICAgICByZXR1cm4gTGFiZWxUeXBlLkN1c3RvbTtcclxuICAgIH1cclxuICAgIHJldHVybiBMYWJlbFR5cGUuUHJlZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIG9wdGlvbkF2YWlsYWJsZShjdXJyZW50T3B0aW9uOiBMYWJlbFR5cGUpIHtcclxuICAgIHN3aXRjaCAodGhpcy5vbEdlb21ldHJ5VHlwZSkge1xyXG4gICAgICBjYXNlIEdlb21ldHJ5VHlwZS5Qb2ludDpcclxuICAgICAgICBpZiAoY3VycmVudE9wdGlvbiA9PT0gTGFiZWxUeXBlLkNvb3JkaW5hdGVzKSB7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICBjYXNlIEdlb21ldHJ5VHlwZS5MaW5lU3RyaW5nOlxyXG4gICAgICAgIGlmIChjdXJyZW50T3B0aW9uID09PSBMYWJlbFR5cGUuTGVuZ3RoKSB7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICBjYXNlIEdlb21ldHJ5VHlwZS5Qb2x5Z29uOlxyXG4gICAgICAgIGlmIChjdXJyZW50T3B0aW9uID09PSBMYWJlbFR5cGUuQ29vcmRpbmF0ZXMpIHtcclxuICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IGFsbExlbmd0aFVuaXRzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiBPYmplY3QudmFsdWVzKE1lYXN1cmVMZW5ndGhVbml0KTtcclxuICB9XHJcblxyXG4gIGdldExlbmd0aFVuaXRFbnVtKGxlbmd0aFVuaXQ6IE1lYXN1cmVMZW5ndGhVbml0KSB7XHJcbiAgICByZXR1cm4gTWVhc3VyZUxlbmd0aFVuaXRBYmJyZXZpYXRpb25bbGVuZ3RoVW5pdF07XHJcbiAgfVxyXG5cclxuICBnZXQgYWxsQXJlYVVuaXRzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiBPYmplY3QudmFsdWVzKE1lYXN1cmVBcmVhVW5pdCk7XHJcbiAgfVxyXG5cclxuICBnZXQgYWxsQ29vcmRpbmF0ZXNVbml0cygpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhDb29yZGluYXRlc1VuaXQpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QXJlYVVuaXRFbnVtKGFyZWFVbml0OiBNZWFzdXJlQXJlYVVuaXQpIHtcclxuICAgIHJldHVybiBNZWFzdXJlQXJlYVVuaXRBYmJyZXZpYXRpb25bYXJlYVVuaXRdO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRSYWRpdXMob2xHZW9tZXRyeSk6IG51bWJlciB7XHJcbiAgICBjb25zdCBsZW5ndGggPSBnZXRMZW5ndGgob2xHZW9tZXRyeSk7XHJcbiAgICByZXR1cm4gTnVtYmVyKGxlbmd0aCAvICgyICogTWF0aC5QSSkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxlbmd0aExhYmVsVCgpIHtcclxuICAgIGlmICh0aGlzLm9sR2VvbWV0cnlUeXBlID09PSBHZW9tZXRyeVR5cGUuUG9seWdvbikge1xyXG4gICAgICByZXR1cm4gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgJ2lnby5nZW8ubWVhc3VyZS5wZXJpbWV0ZXInXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5vbEdlb21ldHJ5VHlwZSA9PT0gR2VvbWV0cnlUeXBlLkNpcmNsZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgJ2lnby5nZW8uc2VhcmNoLmNvb3JkaW5hdGVzLnJhZGl1cydcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgJ2lnby5nZW8uZHJhdy5sYWJlbFR5cGUuTGVuZ3RoJ1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldExhYmVsTGVuZ3RoKGV2ZW50Pykge1xyXG4gICAgdGhpcy5sYWJlbExlbmd0aCA9IGV2ZW50Lmxlbmd0aDtcclxuICB9XHJcblxyXG4gIHNlbGVjdE9wdGlvbnMob3B0aW9uKSB7XHJcbiAgICBpZiAodGhpcy5vbEdlb21ldHJ5VHlwZSA9PT0gR2VvbWV0cnlUeXBlLlBvaW50KSB7XHJcbiAgICAgIHJldHVybiBvcHRpb24gPT09IExhYmVsVHlwZS5Db29yZGluYXRlcztcclxuICAgIH0gZWxzZSBpZiAodGhpcy5vbEdlb21ldHJ5VHlwZSA9PT0gR2VvbWV0cnlUeXBlLkxpbmVTdHJpbmcpIHtcclxuICAgICAgcmV0dXJuIG9wdGlvbiA9PT0gTGFiZWxUeXBlLkxlbmd0aDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFByb3Blckxlbmd0aExhYmVsKG9wdGlvbikge1xyXG4gICAgaWYgKG9wdGlvbiA9PT0gTGFiZWxUeXBlLkxlbmd0aCkge1xyXG4gICAgICBpZiAodGhpcy5vbEdlb21ldHJ5VHlwZSA9PT0gR2VvbWV0cnlUeXBlLlBvbHlnb24pIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAnaWdvLmdlby5tZWFzdXJlLnBlcmltZXRlcidcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLm9sR2VvbWV0cnlUeXBlID09PSBHZW9tZXRyeVR5cGUuQ2lyY2xlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgJ2lnby5nZW8uc2VhcmNoLmNvb3JkaW5hdGVzLnJhZGl1cydcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAnaWdvLmdlby5kcmF3LmxhYmVsVHlwZS5MZW5ndGgnXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICdpZ28uZ2VvLmRyYXcubGFiZWxUeXBlLicgKyBvcHRpb25cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiIsIjxoMiBtYXQtZGlhbG9nLXRpdGxlPlxuICB7eyAnaWdvLmdlby5kcmF3LnBvcHVwVGl0bGUnIHwgdHJhbnNsYXRlIH19XG48L2gyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwibGFiZWxGbGFnICE9PSBsYWJlbFR5cGUuQ3VzdG9tXCI+XG4gIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50IGNsYXNzPVwiZ2VvbWV0cnktdHlwZS10b2dnbGVcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLXRvZ2dsZS1jb250YWluZXJcIj5cbiAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZS1ncm91cFxuICAgICAgICAoY2hhbmdlKT1cIm9uTGFiZWxUeXBlQ2hhbmdlKCRldmVudC52YWx1ZSlcIlxuICAgICAgICBbdmFsdWVdPVwiY3VzdG9tT3JQcmVkZWZpbmVkXCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIFt2YWx1ZV09XCJsYWJlbFR5cGUuQ3VzdG9tXCI+XG4gICAgICAgICAge3sgJ2lnby5nZW8uZHJhdy5sYWJlbFR5cGUuY3VzdG9tJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgW3ZhbHVlXT1cImxhYmVsVHlwZS5QcmVkZWZpbmVkXCI+XG4gICAgICAgICAge3sgJ2lnby5nZW8uZHJhdy5sYWJlbFR5cGUucHJlZGVmaW5lZCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+XG4gICAgPC9kaXY+XG4gICAgPGRpdj5cbiAgICAgIDxwPlxuICAgICAgICB7eyAnaWdvLmdlby5kcmF3LmJ1aWx0SW5JbnN0cnVjdGlvbnMnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3A+XG4gICAgICA8bWF0LXJhZGlvLWdyb3VwICpuZ0lmPVwib2xHZW9tZXRyeVR5cGUgIT09ICdQb2x5Z29uJ1wiPlxuICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgYXJyYXlCdWlsdEluVHlwZVwiXG4gICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIm9wdGlvbkF2YWlsYWJsZShvcHRpb24udmFsdWUpXCJcbiAgICAgICAgICAoY2hhbmdlKT1cIm9uTGFiZWxUeXBlQ2hhbmdlKCRldmVudC52YWx1ZSlcIlxuICAgICAgICAgIFtjaGVja2VkXT1cIm9wdGlvbi5jaGVja2VkXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGdldFByb3Blckxlbmd0aExhYmVsKG9wdGlvbi52YWx1ZSkgfX1cbiAgICAgICAgPC9tYXQtcmFkaW8tYnV0dG9uPlxuICAgICAgPC9tYXQtcmFkaW8tZ3JvdXA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib2xHZW9tZXRyeVR5cGUgPT09ICdQb2x5Z29uJ1wiPlxuICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBhcnJheUJ1aWx0SW5UeXBlXCJcbiAgICAgICAgICBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCJcbiAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwib3B0aW9uQXZhaWxhYmxlKG9wdGlvbi52YWx1ZSlcIlxuICAgICAgICAgIChjaGFuZ2UpPVwib25MYWJlbFR5cGVDaGFuZ2UoJGV2ZW50LnNvdXJjZS52YWx1ZSwgJGV2ZW50LmNoZWNrZWQpXCJcbiAgICAgICAgICBbY2hlY2tlZF09XCJvcHRpb24uY2hlY2tlZFwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBnZXRQcm9wZXJMZW5ndGhMYWJlbChvcHRpb24udmFsdWUpIH19XG4gICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8ZGl2ICpuZ0lmPVwibGFiZWxGbGFnID09PSBsYWJlbFR5cGUuQ29vcmRpbmF0ZXNcIiBjbGFzcz1cImZpZWxkcy1jb250YWluZXJcIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwicmVhZE9ubHktSW5wdXRcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPihMYXRpdHVkZSwgTG9uZ2l0dWRlKTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgI2lucHV0XG4gICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCIoTGF0aXR1ZGUsIExvbmdpdHVkZSlcIlxuICAgICAgICAgICAgdmFsdWU9XCJ7eyBjdXJyZW50Q29vcmRpbmF0ZXMgfX1cIlxuICAgICAgICAgICAgcmVhZG9ubHlcbiAgICAgICAgICAvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJ1bml0LWZpZWxkXCI+XG4gICAgICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgICAgIFt2YWx1ZV09XCJjb29yZGluYXRlc01lYXN1cmVVbml0XCJcbiAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25DaGFuZ2VDb29yZGluYXRlVW5pdCgkZXZlbnQudmFsdWUpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdW5pdCBvZiBhbGxDb29yZGluYXRlc1VuaXRzXCIgW3ZhbHVlXT1cInVuaXRcIj5cbiAgICAgICAgICAgICAge3sgdW5pdCB9fVxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cImxhYmVsRmxhZyA9PT0gbGFiZWxUeXBlLkxlbmd0aCB8fCBwb2x5Z29uQ2hlY2sgPT09IDJcIlxuICAgICAgICBjbGFzcz1cImZpZWxkcy1jb250YWluZXJcIlxuICAgICAgPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJyZWFkT25seS1JbnB1dFwiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgbGVuZ3RoTGFiZWxUIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAjaW5wdXRcbiAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IGxlbmd0aExhYmVsVCB9fVwiXG4gICAgICAgICAgICB2YWx1ZT1cInt7IGN1cnJlbnRMZW5ndGggfX1cIlxuICAgICAgICAgICAgcmVhZG9ubHlcbiAgICAgICAgICAvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJ1bml0LWZpZWxkXCI+XG4gICAgICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgICAgIFt2YWx1ZV09XCJsZW5ndGhNZWFzdXJlVW5pdFwiXG4gICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uQ2hhbmdlTGVuZ3RoVW5pdCgkZXZlbnQudmFsdWUpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdW5pdCBvZiBhbGxMZW5ndGhVbml0c1wiIFt2YWx1ZV09XCJ1bml0XCI+XG4gICAgICAgICAgICAgIHt7IGdldExlbmd0aFVuaXRFbnVtKHVuaXQpIH19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwibGFiZWxGbGFnID09PSBsYWJlbFR5cGUuQXJlYSB8fCBwb2x5Z29uQ2hlY2sgPT09IDJcIlxuICAgICAgICBjbGFzcz1cImZpZWxkcy1jb250YWluZXJcIlxuICAgICAgPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJyZWFkT25seS1JbnB1dFwiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgJ2lnby5nZW8uZHJhdy5sYWJlbFR5cGUuQXJlYScgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICNpbnB1dFxuICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ2lnby5nZW8uZHJhdy5sYWJlbFR5cGUuQXJlYScgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgdmFsdWU9XCJ7eyBjdXJyZW50QXJlYSB9fVwiXG4gICAgICAgICAgICByZWFkb25seVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInVuaXQtZmllbGRcIj5cbiAgICAgICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAgICAgW3ZhbHVlXT1cImFyZWFNZWFzdXJlVW5pdFwiXG4gICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uQ2hhbmdlQXJlYVVuaXQoJGV2ZW50LnZhbHVlKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHVuaXQgb2YgYWxsQXJlYVVuaXRzXCIgW3ZhbHVlXT1cInVuaXRcIj5cbiAgICAgICAgICAgICAge3sgZ2V0QXJlYVVuaXRFbnVtKHVuaXQpIH19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cImNhbmNlbERyYXdpbmcoKVwiPlxuICAgICAge3sgJ2lnby5nZW8uZHJhdy5jYW5jZWwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiY29uZmlybSgpXCI+XG4gICAgICB7eyBub0xhYmVsQnV0dG9uKCkgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhYmVsRmxhZyA9PT0gbGFiZWxUeXBlLkN1c3RvbVwiPlxuICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cImdlb21ldHJ5LXR5cGUtdG9nZ2xlXCI+XG4gICAgPGRpdiBjbGFzcz1cImJ1dHRvbi10b2dnbGUtY29udGFpbmVyXCI+XG4gICAgICA8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXBcbiAgICAgICAgKGNoYW5nZSk9XCJvbkxhYmVsVHlwZUNoYW5nZSgkZXZlbnQudmFsdWUpXCJcbiAgICAgICAgW3ZhbHVlXT1cImN1c3RvbU9yUHJlZGVmaW5lZFwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSBbdmFsdWVdPVwibGFiZWxUeXBlLkN1c3RvbVwiPlxuICAgICAgICAgIHt7ICdpZ28uZ2VvLmRyYXcubGFiZWxUeXBlLmN1c3RvbScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIFt2YWx1ZV09XCJsYWJlbFR5cGUuUHJlZGVmaW5lZFwiPlxuICAgICAgICAgIHt7ICdpZ28uZ2VvLmRyYXcubGFiZWxUeXBlLnByZWRlZmluZWQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICA8L21hdC1idXR0b24tdG9nZ2xlLWdyb3VwPlxuICAgIDwvZGl2PlxuICAgIDxwPlxuICAgICAge3sgJ2lnby5nZW8uZHJhdy5kaWFsb2dJbnN0cnVjdGlvbicgfCB0cmFuc2xhdGUgfX1cbiAgICA8L3A+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiaW5wdXRcIj5cbiAgICAgIDxtYXQtbGFiZWw+e3sgJ2lnby5nZW8uZHJhdy5kaWFsb2dUaXRsZScgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgIDxpbnB1dFxuICAgICAgICAjaW5wdXRcbiAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgKHNlbGVjdCk9XCIodHJ1ZSlcIlxuICAgICAgICAoaW5wdXQpPVwiZ2V0TGFiZWxMZW5ndGgoJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdpZ28uZ2VvLmRyYXcuZGlhbG9nVGl0bGUnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgdmFsdWU9XCJ7eyBjdXJyZW50TGFiZWwgfX1cIlxuICAgICAgICBjZGtGb2N1c0luaXRpYWxcbiAgICAgIC8+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnM+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiY2FuY2VsRHJhd2luZygpXCI+XG4gICAgICB7eyAnaWdvLmdlby5kcmF3LmNhbmNlbCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJjb25maXJtKGlucHV0LnZhbHVlKVwiPlxuICAgICAge3sgbm9MYWJlbEJ1dHRvbigpIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
677
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhdy1wb3B1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kcmF3L2RyYXcvZHJhdy1wb3B1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kcmF3L2RyYXcvZHJhdy1wb3B1cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTdDLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQztBQUNuQyxPQUFPLE1BQU0sTUFBTSxnQkFBZ0IsQ0FBQztBQUNwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXRDLE9BQU8sRUFBVSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQ0wsZUFBZSxFQUNmLDJCQUEyQixFQUMzQixpQkFBaUIsRUFDakIsNkJBQTZCLEVBQzlCLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUNMLHFCQUFxQixFQUNyQix1QkFBdUIsRUFDdkIsWUFBWSxFQUNaLGtCQUFrQixFQUNuQixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztJQ0R2Qyw0Q0FNQztJQUZDLGtPQUFVLGVBQUEsc0NBQStCLENBQUEsSUFBQztJQUcxQyxZQUNGO0lBQUEsaUJBQW1COzs7O0lBTmpCLHVDQUFzQixxREFBQSw4QkFBQTtJQUt0QixlQUNGO0lBREUsNkVBQ0Y7OztJQVRGLHVDQUFzRDtJQUNwRCxnSUFRbUI7SUFDckIsaUJBQWtCOzs7SUFSSyxlQUFtQjtJQUFuQixpREFBbUI7Ozs7SUFVeEMsd0NBT0M7SUFGQyx3TkFBVSxlQUFBLDhEQUFzRCxDQUFBLElBQUM7SUFHakUsWUFDRjtJQUFBLGlCQUFlOzs7O0lBTmIsd0NBQXNCLHVEQUFBLCtCQUFBO0lBS3RCLGVBQ0Y7SUFERSwrRUFDRjs7O0lBVkYsNkJBQW1EO0lBQ2pELHFIQVNlO0lBQ2pCLDBCQUFlOzs7SUFUUSxlQUFtQjtJQUFuQixpREFBbUI7OztJQTBCcEMscUNBQW9FO0lBQ2xFLFlBQ0Y7SUFBQSxpQkFBYTs7O0lBRndDLGdDQUFjO0lBQ2pFLGVBQ0Y7SUFERSx5Q0FDRjs7OztJQWxCTiwrQkFBMEUseUJBQUEsZ0JBQUE7SUFFM0QscUNBQXFCO0lBQUEsaUJBQVk7SUFDNUMsZ0NBTUU7SUFDSixpQkFBaUI7SUFDakIsMENBQW1DLHFCQUFBO0lBRy9CLGdOQUFtQixlQUFBLDRDQUFvQyxDQUFBLElBQUM7SUFFeEQsd0dBRWE7SUFDZixpQkFBYSxFQUFBLEVBQUE7OztJQVpYLGVBQWdDO0lBQWhDLDREQUFnQztJQU1oQyxlQUFnQztJQUFoQyxxREFBZ0M7SUFHSCxlQUFzQjtJQUF0QixvREFBc0I7OztJQXlCbkQscUNBQStEO0lBQzdELFlBQ0Y7SUFBQSxpQkFBYTs7OztJQUZtQyxnQ0FBYztJQUM1RCxlQUNGO0lBREUsb0VBQ0Y7Ozs7SUFyQk4sK0JBR0MseUJBQUEsZ0JBQUE7SUFFYyxZQUFrQjtJQUFBLGlCQUFZO0lBQ3pDLGdDQU1FO0lBQ0osaUJBQWlCO0lBQ2pCLDBDQUFtQyxxQkFBQTtJQUcvQixnTkFBbUIsZUFBQSx3Q0FBZ0MsQ0FBQSxJQUFDO0lBRXBELHdHQUVhO0lBQ2YsaUJBQWEsRUFBQSxFQUFBOzs7SUFqQkYsZUFBa0I7SUFBbEIseUNBQWtCO0lBSTNCLGVBQWdDO0lBQWhDLDREQUFnQztJQUNoQyx1REFBMkI7SUFNM0IsZUFBMkI7SUFBM0IsZ0RBQTJCO0lBR0UsZUFBaUI7SUFBakIsK0NBQWlCOzs7SUF5QjlDLHFDQUE2RDtJQUMzRCxZQUNGO0lBQUEsaUJBQWE7Ozs7SUFGaUMsZ0NBQWM7SUFDMUQsZUFDRjtJQURFLGtFQUNGOzs7O0lBckJOLCtCQUdDLHlCQUFBLGdCQUFBO0lBRWMsWUFBK0M7O0lBQUEsaUJBQVk7SUFDdEUsZ0NBTUU7O0lBQ0osaUJBQWlCO0lBQ2pCLDBDQUFtQyxxQkFBQTtJQUcvQixnTkFBbUIsZUFBQSxzQ0FBOEIsQ0FBQSxJQUFDO0lBRWxELDBHQUVhO0lBQ2YsaUJBQWEsRUFBQSxFQUFBOzs7SUFqQkYsZUFBK0M7SUFBL0MseUVBQStDO0lBSXhELGVBQTZEO0lBQTdELDRGQUE2RDtJQUM3RCxxREFBeUI7SUFNekIsZUFBeUI7SUFBekIsOENBQXlCO0lBR0ksZUFBZTtJQUFmLDZDQUFlOzs7O0lBNUd4RCw2QkFBcUQ7SUFDbkQsOEJBQXFELGFBQUEsaUNBQUE7SUFHL0MsbU1BQVUsZUFBQSx1Q0FBK0IsQ0FBQSxJQUFDO0lBRzFDLDRDQUE4QztJQUM1QyxZQUNGOztJQUFBLGlCQUFvQjtJQUNwQiw0Q0FBa0Q7SUFDaEQsWUFDRjs7SUFBQSxpQkFBb0IsRUFBQSxFQUFBO0lBR3hCLDRCQUFLLFNBQUE7SUFFRCxhQUNGOztJQUFBLGlCQUFJO0lBQ0osNEdBVWtCO0lBQ2xCLHNHQVdlO0lBQ2Ysb0ZBcUJNO0lBQ04sb0ZBd0JNO0lBQ04scUZBd0JNO0lBQ1IsaUJBQU0sRUFBQTtJQUdSLCtCQUF3QixpQkFBQTtJQUNJLDJLQUFTLGVBQUEsdUJBQWUsQ0FBQSxJQUFDO0lBQ2pELGFBQ0Y7O0lBQUEsaUJBQVM7SUFDVCxrQ0FBOEQ7SUFBcEIsMktBQVMsZUFBQSxpQkFBUyxDQUFBLElBQUM7SUFDM0QsYUFDRjtJQUFBLGlCQUFTLEVBQUE7SUFFYiwwQkFBZTs7O0lBeEhQLGVBQTRCO0lBQTVCLGlEQUE0QjtJQUVULGVBQTBCO0lBQTFCLCtDQUEwQjtJQUMzQyxlQUNGO0lBREUsdUZBQ0Y7SUFDbUIsZUFBOEI7SUFBOUIsbURBQThCO0lBQy9DLGVBQ0Y7SUFERSwyRkFDRjtJQUtBLGVBQ0Y7SUFERSwyRkFDRjtJQUNrQixlQUFrQztJQUFsQywwREFBa0M7SUFXckMsZUFBa0M7SUFBbEMsMERBQWtDO0lBWTNDLGVBQXlDO0lBQXpDLHdFQUF5QztJQXVCNUMsZUFBMEQ7SUFBMUQsZ0dBQTBEO0lBeUIxRCxlQUF3RDtJQUF4RCw4RkFBd0Q7SUE2QjNELGVBQ0Y7SUFERSw4RUFDRjtJQUVFLGVBQ0Y7SUFERSx1REFDRjs7OztJQUlKLDZCQUFxRDtJQUNuRCw4QkFBcUQsYUFBQSxpQ0FBQTtJQUcvQyxtTUFBVSxlQUFBLHVDQUErQixDQUFBLElBQUM7SUFHMUMsNENBQThDO0lBQzVDLFlBQ0Y7O0lBQUEsaUJBQW9CO0lBQ3BCLDRDQUFrRDtJQUNoRCxZQUNGOztJQUFBLGlCQUFvQixFQUFBLEVBQUE7SUFHeEIsMEJBQUc7SUFDRCxhQUNGOztJQUFBLGlCQUFJO0lBQ0osMkNBQThCLGlCQUFBO0lBQ2pCLGFBQTRDOztJQUFBLGlCQUFZO0lBQ25FLHNDQVFFO0lBTEEsZ0hBQVcsSUFBSSxJQUFFLG1LQUNSLGVBQUEsMkNBQW1DLENBQUEsSUFEM0I7O0lBSG5CLGlCQVFFLEVBQUEsRUFBQTtJQUlOLCtCQUF3QixpQkFBQTtJQUNJLDJLQUFTLGVBQUEsdUJBQWUsQ0FBQSxJQUFDO0lBQ2pELGFBQ0Y7O0lBQUEsaUJBQVM7SUFDVCxrQ0FBeUU7SUFBL0IsNE1BQVMsZUFBQSwyQkFBb0IsQ0FBQSxJQUFDO0lBQ3RFLGFBQ0Y7SUFBQSxpQkFBUyxFQUFBO0lBRWIsMEJBQWU7OztJQW5DUCxlQUE0QjtJQUE1QixpREFBNEI7SUFFVCxlQUEwQjtJQUExQiwrQ0FBMEI7SUFDM0MsZUFDRjtJQURFLHVGQUNGO0lBQ21CLGVBQThCO0lBQTlCLG1EQUE4QjtJQUMvQyxlQUNGO0lBREUsMkZBQ0Y7SUFJRixlQUNGO0lBREUseUZBQ0Y7SUFFYSxlQUE0QztJQUE1Qyx3RUFBNEM7SUFNckQsZUFBMEQ7SUFBMUQsMkZBQTBEO0lBQzFELHNEQUEwQjtJQVE1QixlQUNGO0lBREUsOEVBQ0Y7SUFFRSxlQUNGO0lBREUsdURBQ0Y7O0FEeklKLE1BQU0sT0FBTyxrQkFBa0I7SUE0Qm5CO0lBQ0Q7SUFDeUI7SUE3QnpCLFdBQVcsR0FBWSxLQUFLLENBQUM7SUFDN0IsU0FBUyxHQUF1QyxTQUFTLENBQUMsTUFBTSxDQUFDO0lBQ2pFLHNCQUFzQixDQUFrQjtJQUN4QyxpQkFBaUIsQ0FBb0I7SUFDckMsZUFBZSxDQUFrQjtJQUVuQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQzVCLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDdEIsZ0JBQWdCLEdBQVUsRUFBRSxDQUFDO0lBRTdCLFlBQVksQ0FBUztJQUNyQixrQkFBa0IsQ0FBUztJQUMzQixXQUFXLENBQVM7SUFDcEIsYUFBYSxDQUFTO0lBRXRCLGNBQWMsR0FBaUIsU0FBUyxDQUFDO0lBQ3pDLGNBQWMsQ0FBUztJQUN2QixrQkFBa0IsQ0FBUztJQUMzQixlQUFlLENBQVM7SUFDeEIsc0JBQXNCLENBQVM7SUFFOUIsU0FBUyxDQUFtQjtJQUM1QixXQUFXLENBQVM7SUFFckIsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDLDJDQUEyQztJQUVwRSxZQUNVLGVBQWdDLEVBQ2pDLFNBQTJDLEVBQ2xCLElBQXNDO1FBRjlELG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNqQyxjQUFTLEdBQVQsU0FBUyxDQUFrQztRQUNsQixTQUFJLEdBQUosSUFBSSxDQUFrQztRQUV0RSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEUsSUFBSSxVQUFVLENBQUM7UUFFZixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFOUQsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsWUFBWSxTQUFTLEVBQUU7WUFDN0MsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ25DLE1BQU0saUJBQWlCLEdBQUc7b0JBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUM7b0JBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUM7aUJBQ3JDLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLGNBQWMsR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDO2dCQUMxQyxVQUFVLEdBQUcsSUFBSSxNQUFNLENBQ3JCLGlCQUFpQixFQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQ2hDLENBQUM7YUFDSDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNuRSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ25EO1NBQ0Y7YUFBTTtZQUNMLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDckQsVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQ25DO1FBRUQsSUFDRSxJQUFJLENBQUMsY0FBYyxLQUFLLFlBQVksQ0FBQyxLQUFLO1lBQzFDLElBQUksQ0FBQyxjQUFjLEtBQUssWUFBWSxDQUFDLE1BQU0sRUFDM0M7WUFDQSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxZQUFZLFNBQVMsRUFBRTtnQkFDN0MsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUN0RCxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUN4RCxJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsR0FBRyxRQUFRLEdBQUcsSUFBSSxHQUFHLFNBQVMsR0FBRyxHQUFHLENBQUM7YUFDaEU7aUJBQU07Z0JBQ0wsSUFBSSxTQUFTLEdBQUcsU0FBUyxDQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRSxFQUN6QyxVQUFVLEVBQ1YsV0FBVyxDQUNaLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLFNBQVMsR0FBRyxZQUFZLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQy9ELElBQUksQ0FBQyxlQUFlO29CQUNsQixHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7YUFDNUQ7WUFDRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztTQUNoRDtRQUNELElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxZQUFZLENBQUMsVUFBVSxFQUFFO1lBQ25ELElBQUksQ0FBQyxjQUFjLEdBQUcsdUJBQXVCLENBQzNDLFVBQVUsRUFDVixVQUFVLENBQUMsT0FBTyxFQUFFLENBQ3JCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2IsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1NBQzFDO2FBQU0sSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLFlBQVksQ0FBQyxPQUFPLEVBQUU7WUFDdkQsSUFBSSxDQUFDLGNBQWMsR0FBRyx1QkFBdUIsQ0FDM0MsVUFBVSxFQUNWLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FDckIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDYixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDekMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLHFCQUFxQixDQUM3QyxVQUFVLEVBQ1YsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUNyQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNiLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1NBQzVDO2FBQU0sSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLFlBQVksQ0FBQyxNQUFNLEVBQUU7WUFDdEQsSUFBSSxlQUFlLEdBQUcsVUFBVSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNwRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQy9DLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDekMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLHFCQUFxQixDQUM3QyxlQUFlLEVBQ2YsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUNyQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNiLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1NBQzVDO1FBRUQsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSyxTQUFTLENBQUMsV0FBVyxFQUFFO1lBQzlELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ2xFO2FBQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSyxTQUFTLENBQUMsTUFBTSxFQUFFO1lBQ2hFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzdEO2FBQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSyxTQUFTLENBQUMsSUFBSSxFQUFFO1lBQzlELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUMzRDthQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsV0FBVyxD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OzZEQTlCZCxrQkFBa0I7WUNoQy9CLDZCQUFxQjtZQUNuQixZQUNGOztZQUFBLGlCQUFLO1lBRUwsdUZBNkhlO1lBRWYsdUZBd0NlOztZQTFLYixlQUNGO1lBREUsaUZBQ0Y7WUFFZSxlQUFvQztZQUFwQyw2REFBb0M7WUErSHBDLGVBQW9DO1lBQXBDLDZEQUFvQzs7O3VGRG5HdEMsa0JBQWtCO2NBTDlCLFNBQVM7MkJBQ0UsMEJBQTBCOztzQkFrQ2pDLE1BQU07dUJBQUMsZUFBZTt3QkE3QmhCLFdBQVc7a0JBQW5CLEtBQUs7WUFDRyxTQUFTO2tCQUFqQixLQUFLO1lBQ0csc0JBQXNCO2tCQUE5QixLQUFLO1lBQ0csaUJBQWlCO2tCQUF6QixLQUFLO1lBQ0csZUFBZTtrQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcblxyXG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuXHJcbmltcG9ydCBPbEZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSc7XHJcbmltcG9ydCBDaXJjbGUgZnJvbSAnb2wvZ2VvbS9DaXJjbGUnO1xyXG5pbXBvcnQgeyBmcm9tQ2lyY2xlIH0gZnJvbSAnb2wvZ2VvbS9Qb2x5Z29uJztcclxuaW1wb3J0IHsgdHJhbnNmb3JtIH0gZnJvbSAnb2wvcHJvaic7XHJcbmltcG9ydCB7IGdldExlbmd0aCB9IGZyb20gJ29sL3NwaGVyZSc7XHJcblxyXG5pbXBvcnQgeyBJZ29NYXAsIHJvdW5kQ29vcmRUbyB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQnO1xyXG5pbXBvcnQge1xyXG4gIE1lYXN1cmVBcmVhVW5pdCxcclxuICBNZWFzdXJlQXJlYVVuaXRBYmJyZXZpYXRpb24sXHJcbiAgTWVhc3VyZUxlbmd0aFVuaXQsXHJcbiAgTWVhc3VyZUxlbmd0aFVuaXRBYmJyZXZpYXRpb25cclxufSBmcm9tICcuLi8uLi9tZWFzdXJlL3NoYXJlZC9tZWFzdXJlLmVudW0nO1xyXG5pbXBvcnQge1xyXG4gIG1lYXN1cmVPbEdlb21ldHJ5QXJlYSxcclxuICBtZWFzdXJlT2xHZW9tZXRyeUxlbmd0aCxcclxuICBtZXRlcnNUb1VuaXQsXHJcbiAgc3F1YXJlTWV0ZXJzVG9Vbml0XHJcbn0gZnJvbSAnLi4vLi4vbWVhc3VyZS9zaGFyZWQvbWVhc3VyZS51dGlscyc7XHJcbmltcG9ydCB7IENvb3JkaW5hdGVzVW5pdCwgR2VvbWV0cnlUeXBlLCBMYWJlbFR5cGUgfSBmcm9tICcuLi9zaGFyZWQvZHJhdy5lbnVtJztcclxuaW1wb3J0IHsgRER0b0RNUyB9IGZyb20gJy4uL3NoYXJlZC9kcmF3LnV0aWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWRyYXctcG9wdXAtY29tcG9uZW50JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHJhdy1wb3B1cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHJhdy1wb3B1cC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcmF3UG9wdXBDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGNvbmZpcm1GbGFnOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbGFiZWxGbGFnOiBMYWJlbFR5cGUgfCBbTGFiZWxUeXBlLCBMYWJlbFR5cGVdID0gTGFiZWxUeXBlLkN1c3RvbTtcclxuICBASW5wdXQoKSBjb29yZGluYXRlc01lYXN1cmVVbml0OiBDb29yZGluYXRlc1VuaXQ7XHJcbiAgQElucHV0KCkgbGVuZ3RoTWVhc3VyZVVuaXQ6IE1lYXN1cmVMZW5ndGhVbml0O1xyXG4gIEBJbnB1dCgpIGFyZWFNZWFzdXJlVW5pdDogTWVhc3VyZUFyZWFVbml0O1xyXG5cclxuICBwdWJsaWMgZ2VvbWV0cnlUeXBlID0gR2VvbWV0cnlUeXBlO1xyXG4gIHB1YmxpYyBsYWJlbFR5cGUgPSBMYWJlbFR5cGU7XHJcbiAgcHVibGljIGFycmF5QnVpbHRJblR5cGU6IGFueVtdID0gW107XHJcblxyXG4gIHB1YmxpYyBjdXJyZW50TGFiZWw6IHN0cmluZztcclxuICBwdWJsaWMgY3VycmVudENvb3JkaW5hdGVzOiBzdHJpbmc7XHJcbiAgcHVibGljIGN1cnJlbnRBcmVhOiBzdHJpbmc7XHJcbiAgcHVibGljIGN1cnJlbnRMZW5ndGg6IHN0cmluZztcclxuXHJcbiAgcHVibGljIG9sR2VvbWV0cnlUeXBlOiBHZW9tZXRyeVR5cGUgPSB1bmRlZmluZWQ7XHJcbiAgcHVibGljIGxlbmd0aEluTWV0ZXJzOiBzdHJpbmc7XHJcbiAgcHVibGljIGFyZWFJbk1ldGVyc1NxdWFyZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBjb29yZGluYXRlc0luREQ6IHN0cmluZztcclxuICBwdWJsaWMgY3VycmVudENvb3JkaW5hdGVzVW5pdDogc3RyaW5nO1xyXG5cclxuICBwcml2YXRlIGxvbmdsYXRERDogW251bWJlciwgbnVtYmVyXTtcclxuICBwcml2YXRlIGxhYmVsTGVuZ3RoOiBudW1iZXI7XHJcblxyXG4gIHB1YmxpYyBwb2x5Z29uQ2hlY2sgPSAwOyAvLyBDb3VudCBmb3IgcG9seWdvbiBsYWJlbCB0eXBlcyBjaGVja2JveGVzXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxEcmF3UG9wdXBDb21wb25lbnQ+LFxyXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiB7IG9sR2VvbWV0cnk6IGFueTsgbWFwOiBJZ29NYXAgfVxyXG4gICkge1xyXG4gICAgdGhpcy5jdXJyZW50TGFiZWwgPSB0aGlzLmRhdGEub2xHZW9tZXRyeS5nZXQoJ2RyYXcnKTtcclxuICAgIHRoaXMubGFiZWxMZW5ndGggPSB0aGlzLmN1cnJlbnRMYWJlbCA/IHRoaXMuY3VycmVudExhYmVsLmxlbmd0aCA6IDA7XHJcbiAgICBsZXQgb2xHZW9tZXRyeTtcclxuXHJcbiAgICBjb25zdCBwcm9qZWN0aW9uID0gdGhpcy5kYXRhLm1hcC5vbC5nZXRWaWV3KCkuZ2V0UHJvamVjdGlvbigpO1xyXG5cclxuICAgIGlmICh0aGlzLmRhdGEub2xHZW9tZXRyeSBpbnN0YW5jZW9mIE9sRmVhdHVyZSkge1xyXG4gICAgICBpZiAodGhpcy5kYXRhLm9sR2VvbWV0cnkuZ2V0KCdyYWQnKSkge1xyXG4gICAgICAgIGNvbnN0IGxvbmdpdHVkZUxhdGl0dWRlID0gW1xyXG4gICAgICAgICAgdGhpcy5kYXRhLm9sR2VvbWV0cnkuZ2V0KCdsb25naXR1ZGUnKSxcclxuICAgICAgICAgIHRoaXMuZGF0YS5vbEdlb21ldHJ5LmdldCgnbGF0aXR1ZGUnKVxyXG4gICAgICAgIF07XHJcbiAgICAgICAgdGhpcy5vbEdlb21ldHJ5VHlwZSA9IEdlb21ldHJ5VHlwZS5DaXJjbGU7XHJcbiAgICAgICAgb2xHZW9tZXRyeSA9IG5ldyBDaXJjbGUoXHJcbiAgICAgICAgICBsb25naXR1ZGVMYXRpdHVkZSxcclxuICAgICAgICAgIHRoaXMuZGF0YS5vbEdlb21ldHJ5LmdldCgncmFkJylcclxuICAgICAgICApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMub2xHZW9tZXRyeVR5cGUgPSB0aGlzLmRhdGEub2xHZW9tZXRyeS5nZXRHZW9tZXRyeSgpLmdldFR5cGUoKTtcclxuICAgICAgICBvbEdlb21ldHJ5ID0gdGhpcy5kYXRhLm9sR2VvbWV0cnkuZ2V0KCdnZW9tZXRyeScpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9sR2VvbWV0cnlUeXBlID0gdGhpcy5kYXRhLm9sR2VvbWV0cnkuZ2V0VHlwZSgpO1xyXG4gICAgICBvbEdlb21ldHJ5ID0gdGhpcy5kYXRhLm9sR2VvbWV0cnk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLm9sR2VvbWV0cnlUeXBlID09PSBHZW9tZXRyeVR5cGUuUG9pbnQgfHxcclxuICAgICAgdGhpcy5vbEdlb21ldHJ5VHlwZSA9PT0gR2VvbWV0cnlUeXBlLkNpcmNsZVxyXG4gICAgKSB7XHJcbiAgICAgIGlmICh0aGlzLmRhdGEub2xHZW9tZXRyeSBpbnN0YW5jZW9mIE9sRmVhdHVyZSkge1xyXG4gICAgICAgIGxldCBsb25naXR1ZGUgPSB0aGlzLmRhdGEub2xHZW9tZXRyeS5nZXQoJ2xvbmdpdHVkZScpO1xyXG4gICAgICAgIGxldCBsYXRpdHVkZSA9IHRoaXMuZGF0YS5vbEdlb21ldHJ5LmdldCgnbGF0aXR1ZGUnKTtcclxuICAgICAgICB0aGlzLmxvbmdsYXRERCA9IHJvdW5kQ29vcmRUbyhbbG9uZ2l0dWRlLCBsYXRpdHVkZV0sIDUpO1xyXG4gICAgICAgIHRoaXMuY29vcmRpbmF0ZXNJbkREID0gJygnICsgbGF0aXR1ZGUgKyAnLCAnICsgbG9uZ2l0dWRlICsgJyknO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGxldCBwb2ludDQzMjYgPSB0cmFuc2Zvcm0oXHJcbiAgICAgICAgICB0aGlzLmRhdGEub2xHZW9tZXRyeS5nZXRGbGF0Q29vcmRpbmF0ZXMoKSxcclxuICAgICAgICAgIHByb2plY3Rpb24sXHJcbiAgICAgICAgICAnRVBTRzo0MzI2J1xyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5sb25nbGF0REQgPSByb3VuZENvb3JkVG8oW3BvaW50NDMyNlswXSwgcG9pbnQ0MzI2WzFdXSwgNSk7XHJcbiAgICAgICAgdGhpcy5jb29yZGluYXRlc0luREQgPVxyXG4gICAgICAgICAgJygnICsgdGhpcy5sb25nbGF0RERbMV0gKyAnLCAnICsgdGhpcy5sb25nbGF0RERbMF0gKyAnKSc7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jdXJyZW50Q29vcmRpbmF0ZXMgPSB0aGlzLmNvb3JkaW5hdGVzSW5ERDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm9sR2VvbWV0cnlUeXBlID09PSBHZW9tZXRyeVR5cGUuTGluZVN0cmluZykge1xyXG4gICAgICB0aGlzLmxlbmd0aEluTWV0ZXJzID0gbWVhc3VyZU9sR2VvbWV0cnlMZW5ndGgoXHJcbiAgICAgICAgb2xHZW9tZXRyeSxcclxuICAgICAgICBwcm9qZWN0aW9uLmdldENvZGUoKVxyXG4gICAgICApLnRvRml4ZWQoMik7XHJcbiAgICAgIHRoaXMuY3VycmVudExlbmd0aCA9IHRoaXMubGVuZ3RoSW5NZXRlcnM7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMub2xHZW9tZXRyeVR5cGUgPT09IEdlb21ldHJ5VHlwZS5Qb2x5Z29uKSB7XHJcbiAgICAgIHRoaXMubGVuZ3RoSW5NZXRlcnMgPSBtZWFzdXJlT2xHZW9tZXRyeUxlbmd0aChcclxuICAgICAgICBvbEdlb21ldHJ5LFxyXG4gICAgICAgIHByb2plY3Rpb24uZ2V0Q29kZSgpXHJcbiAgICAgICkudG9GaXhlZCgyKTtcclxuICAgICAgdGhpcy5jdXJyZW50TGVuZ3RoID0gdGhpcy5sZW5ndGhJbk1ldGVycztcclxuICAgICAgdGhpcy5hcmVhSW5NZXRlcnNTcXVhcmUgPSBtZWFzdXJlT2xHZW9tZXRyeUFyZWEoXHJcbiAgICAgICAgb2xHZW9tZXRyeSxcclxuICAgICAgICBwcm9qZWN0aW9uLmdldENvZGUoKVxyXG4gICAgICApLnRvRml4ZWQoMik7XHJcbiAgICAgIHRoaXMuY3VycmVudEFyZWEgPSB0aGlzLmFyZWFJbk1ldGVyc1NxdWFyZTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5vbEdlb21ldHJ5VHlwZSA9PT0gR2VvbWV0cnlUeXBlLkNpcmNsZSkge1xyXG4gICAgICBsZXQgY2lyY3VsYXJQb2x5Z29uID0gZnJvbUNpcmNsZShvbEdlb21ldHJ5LCAxMDAwMCk7XHJcbiAgICAgIGNvbnN0IHJhZGl1cyA9IHRoaXMuZ2V0UmFkaXVzKGNpcmN1bGFyUG9seWdvbik7XHJcbiAgICAgIHRoaXMubGVuZ3RoSW5NZXRlcnMgPSByYWRpdXMudG9GaXhlZCgyKTtcclxuICAgICAgdGhpcy5jdXJyZW50TGVuZ3RoID0gdGhpcy5sZW5ndGhJbk1ldGVycztcclxuICAgICAgdGhpcy5hcmVhSW5NZXRlcnNTcXVhcmUgPSBtZWFzdXJlT2xHZW9tZXRyeUFyZWEoXHJcbiAgICAgICAgY2lyY3VsYXJQb2x5Z29uLFxyXG4gICAgICAgIHByb2plY3Rpb24uZ2V0Q29kZSgpXHJcbiAgICAgICkudG9GaXhlZCgyKTtcclxuICAgICAgdGhpcy5jdXJyZW50QXJlYSA9IHRoaXMuYXJlYUluTWV0ZXJzU3F1YXJlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChkYXRhLm9sR2VvbWV0cnkuZ2V0KCdsYWJlbFR5cGUnKSA9PT0gTGFiZWxUeXBlLkNvb3JkaW5hdGVzKSB7XHJcbiAgICAgIHRoaXMub25MYWJlbFR5cGVDaGFuZ2UoTGFiZWxUeXBlLlByZWRlZmluZWQpO1xyXG4gICAgICB0aGlzLm9uTGFiZWxUeXBlQ2hhbmdlKExhYmVsVHlwZS5Db29yZGluYXRlcywgdHJ1ZSk7XHJcbiAgICAgIHRoaXMuY29vcmRpbmF0ZXNNZWFzdXJlVW5pdCA9IGRhdGEub2xHZW9tZXRyeS5nZXQoJ21lYXN1cmVVbml0Jyk7XHJcbiAgICB9IGVsc2UgaWYgKGRhdGEub2xHZW9tZXRyeS5nZXQoJ2xhYmVsVHlwZScpID09PSBMYWJlbFR5cGUuTGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMub25MYWJlbFR5cGVDaGFuZ2UoTGFiZWxUeXBlLlByZWRlZmluZWQpO1xyXG4gICAgICB0aGlzLm9uTGFiZWxUeXBlQ2hhbmdlKExhYmVsVHlwZS5MZW5ndGgsIHRydWUpO1xyXG4gICAgICB0aGlzLmxlbmd0aE1lYXN1cmVVbml0ID0gZGF0YS5vbEdlb21ldHJ5LmdldCgnbWVhc3VyZVVuaXQnKTtcclxuICAgIH0gZWxzZSBpZiAoZGF0YS5vbEdlb21ldHJ5LmdldCgnbGFiZWxUeXBlJykgPT09IExhYmVsVHlwZS5BcmVhKSB7XHJcbiAgICAgIHRoaXMub25MYWJlbFR5cGVDaGFuZ2UoTGFiZWxUeXBlLlByZWRlZmluZWQpO1xyXG4gICAgICB0aGlzLm9uTGFiZWxUeXBlQ2hhbmdlKExhYmVsVHlwZS5BcmVhLCB0cnVlKTtcclxuICAgICAgdGhpcy5hcmVhTWVhc3VyZVVuaXQgPSBkYXRhLm9sR2VvbWV0cnkuZ2V0KCdtZWFzdXJlVW5pdCcpO1xyXG4gICAgfSBlbHNlIGlmIChkYXRhLm9sR2VvbWV0cnkuZ2V0KCdsYWJlbFR5cGUnKT8ubGVuZ3RoID09PSAyKSB7XHJcbiAgICAgIHRoaXMub25MYWJlbFR5cGVDaGFuZ2UoTGFiZWxUeXBlLlByZWRlZmluZWQpO1xyXG4gICAgICB0aGlzLm9uTGFiZWxUeXBlQ2hhbmdlKExhYmVsVHlwZS5MZW5ndGgsIHRydWUpO1xyXG4gICAgICB0aGlzLm9uTGFiZWxUeXBlQ2hhbmdlKExhYmVsVHlwZS5BcmVhLCB0cnVlKTtcclxuICAgICAgdGhpcy5sZW5ndGhNZWFzdXJlVW5pdCA9IGRhdGEub2xHZW9tZXRyeS5nZXQoJ21lYXN1cmVVbml0JylbMF07XHJcbiAgICAgIHRoaXMuYXJlYU1lYXN1cmVVbml0ID0gZGF0YS5vbEdlb21ldHJ5LmdldCgnbWVhc3VyZVVuaXQnKVsxXTtcclxuICAgIH1cclxuICAgIHRoaXMuYnVpbGRBcnJheVR5cGUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhUTUwgSW50ZXJhY3Rpb25zXHJcbiAgICovXHJcblxyXG4gIGNhbmNlbERyYXdpbmcoKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgY29uZmlybShpbnB1dD86IHN0cmluZykge1xyXG4gICAgdGhpcy5jb25maXJtRmxhZyA9IHRydWU7XHJcbiAgICBpZiAodGhpcy5sYWJlbEZsYWcgPT09IExhYmVsVHlwZS5QcmVkZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMubGFiZWxGbGFnID09PSBMYWJlbFR5cGUuQ3VzdG9tKSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHtcclxuICAgICAgICBsYWJlbDogaW5wdXRcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMubGFiZWxGbGFnID09PSBMYWJlbFR5cGUuQ29vcmRpbmF0ZXMpIHtcclxuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2Uoe1xyXG4gICAgICAgIGxhYmVsOiB0aGlzLmN1cnJlbnRDb29yZGluYXRlcyxcclxuICAgICAgICBtZWFzdXJlVW5pdDogdGhpcy5jb29yZGluYXRlc01lYXN1cmVVbml0XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLm9sR2VvbWV0cnlUeXBlID09PSBHZW9tZXRyeVR5cGUuUG9seWdvbikge1xyXG4gICAgICBpZiAodGhpcy5wb2x5Z29uQ2hlY2sgPT09IDIpIHtcclxuICAgICAgICB0aGlzLmxhYmVsRmxhZyA9IFtMYWJlbFR5cGUuTGVuZ3RoLCBMYWJlbFR5cGUuQXJlYV07XHJcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2Uoe1xyXG4gICAgICAgICAgbGFiZWw6XHJcbiAgICAgICAgICAgICdQOiAnICtcclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50TGVuZ3RoICtcclxuICAgICAgICAgICAgJyAnICtcclxuICAgICAgICAgICAgTWVhc3VyZUxlbmd0aFVuaXRBYmJyZXZpYXRpb25bTWVhc3VyZUxlbmd0aFVuaXQuTWV0ZXJzXSArXHJcbiAgICAgICAgICAgICdcXG4nICtcclxuICAgICAgICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZHJhdy5sYWJlbFR5cGUuQScpICtcclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50QXJlYSArXHJcbiAgICAgICAgICAgICcgJyArXHJcbiAgICAgICAgICAgIE1lYXN1cmVBcmVhVW5pdEFiYnJldmlhdGlvbltNZWFzdXJlQXJlYVVuaXQuU3F1YXJlTWV0ZXJzXSxcclxuICAgICAgICAgIG1lYXN1cmVVbml0OiBbdGhpcy5sZW5ndGhNZWFzdXJlVW5pdCwgdGhpcy5hcmVhTWVhc3VyZVVuaXRdXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5sYWJlbEZsYWcgPT09IExhYmVsVHlwZS5MZW5ndGhcclxuICAgICAgICAgID8gdGhpcy5kaWFsb2dSZWYuY2xvc2Uoe1xyXG4gICAgICAgICAgICAgIGxhYmVsOlxyXG4gICAgICAgICAgICAgICAgJ1A6ICcgK1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50TGVuZ3RoICtcclxuICAgICAgICAgICAgICAgICcgJyArXHJcbiAgICAgICAgICAgICAgICBNZWFzdXJlTGVuZ3RoVW5pdEFiYnJldmlhdGlvblt0aGlzLmxlbmd0aE1lYXN1cmVVbml0XSxcclxuICAgICAgICAgICAgICBtZWFzdXJlVW5pdDogdGhpcy5sZW5ndGhNZWFzdXJlVW5pdFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgOiB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7XHJcbiAgICAgICAgICAgICAgbGFiZWw6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRBcmVhICtcclxuICAgICAgICAgICAgICAgICcgJyArXHJcbiAgICAgICAgICAgICAgICBNZWFzdXJlQXJlYVVuaXRBYmJyZXZpYXRpb25bdGhpcy5hcmVhTWVhc3VyZVVuaXRdLFxyXG4gICAgICAgICAgICAgIG1lYXN1cmVVbml0OiB0aGlzLmFyZWFNZWFzdXJlVW5pdFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICh0aGlzLmxhYmVsRmxhZyA9PT0gTGFiZWxUeXBlLkxlbmd0aCkge1xyXG4gICAgICBpZiAodGhpcy5vbEdlb21ldHJ5VHlwZSA9PT0gR2VvbWV0cnlUeXBlLkNpcmNsZSkge1xyXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHtcclxuICAgICAgICAgIGxhYmVsOlxyXG4gICAgICAgICAgICAnUjogJyArXHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVudExlbmd0aCArXHJcbiAgICAgICAgICAgICcgJyArXHJcbiAgICAgICAgICAgIE1lYXN1cmVMZW5ndGhVbml0QWJicmV2aWF0aW9uW3RoaXMubGVuZ3RoTWVhc3VyZVVuaXRdLFxyXG4gICAgICAgICAgbWVhc3VyZVVuaXQ6IHRoaXMubGVuZ3RoTWVhc3VyZVVuaXRcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLm9sR2VvbWV0cnlUeXBlID09PSBHZW9tZXRyeVR5cGUuTGluZVN0cmluZykge1xyXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHtcclxuICAgICAgICAgIGxhYmVsOlxyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRMZW5ndGggK1xyXG4gICAgICAgICAgICAnICcgK1xyXG4gICAgICAgICAgICBNZWFzdXJlTGVuZ3RoVW5pdEFiYnJldmlhdGlvblt0aGlzLmxlbmd0aE1lYXN1cmVVbml0XSxcclxuICAgICAgICAgIG1lYXN1cmVVbml0OiB0aGlzLmxlbmd0aE1lYXN1cmVVbml0XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodGhpcy5sYWJlbEZsYWcgPT09IExhYmVsVHlwZS5BcmVhKSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHtcclxuICAgICAgICBsYWJlbDpcclxuICAgICAgICAgIHRoaXMuY3VycmVudEFyZWEgK1xyXG4gICAgICAgICAgJyAnICtcclxuICAgICAgICAgIE1lYXN1cmVBcmVhVW5pdEFiYnJldmlhdGlvblt0aGlzLmFyZWFNZWFzdXJlVW5pdF0sXHJcbiAgICAgICAgbWVhc3VyZVVuaXQ6IHRoaXMuYXJlYU1lYXN1cmVVbml0XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25MYWJlbFR5cGVDaGFuZ2UobGFiZWxUeXBlOiBMYWJlbFR5cGUsIGNoZWNrZWQ/OiBib29sZWFuKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIGxhYmVsVHlwZSAhPT0gTGFiZWxUeXBlLlByZWRlZmluZWQgJiZcclxuICAgICAgbGFiZWxUeXBlICE9PSBMYWJlbFR5cGUuQ3VzdG9tICYmXHJcbiAgICAgIHRoaXMub2xHZW9tZXRyeVR5cGUgPT09IEdlb21ldHJ5VHlwZS5Qb2x5Z29uXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5hcnJheUJ1aWx0SW5UeXBlLmZpbmQoKHR5cGUpID0+IHR5cGUudmFsdWUgPT09IGxhYmVsVHlwZSlcclxuICAgICAgICA/ICh0aGlzLmFycmF5QnVpbHRJblR5cGUuZmluZChcclxuICAgICAgICAgICAgKHR5cGUpID0+IHR5cGUudmFsdWUgPT09IGxhYmVsVHlwZVxyXG4gICAgICAgICAgKS5jaGVja2VkID0gY2hlY2tlZClcclxuICAgICAgICA6ICh0aGlzLmxhYmVsRmxhZyA9IHVuZGVmaW5lZCk7XHJcbiAgICAgIGNoZWNrZWRcclxuICAgICAgICA/ICh0aGlzLmxhYmVsRmxhZyA9IGxhYmVsVHlwZSlcclxuICAgICAgICA6ICh0aGlzLmxhYmVsRmxhZyA9IHRoaXMuYXJyYXlCdWlsdEluVHlwZS5maW5kKCh0eXBlKSA9PiB0eXBlLmNoZWNrZWQpXHJcbiAgICAgICAgICAgID8udmFsdWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5sYWJlbEZsYWcgPSBsYWJlbFR5cGU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGxhYmVsVHlwZSA9PT0gTGFiZWxUeXBlLlByZWRlZmluZWQpIHtcclxuICAgICAgaWYgKHRoaXMub2xHZW9tZXRyeVR5cGUgPT09IEdlb21ldHJ5VHlwZS5Qb2ludCkge1xyXG4gICAgICAgIHRoaXMubGFiZWxGbGFnID0gTGFiZWxUeXBlLkNvb3JkaW5hdGVzO1xyXG4gICAgICAgIHRoaXMuY3VycmVudENvb3JkaW5hdGVzID0gdGhpcy5jb29yZGluYXRlc0luREQ7XHJcbiAgICAgICAgdGhpcy5jb29yZGluYXRlc01lYXN1cmVVbml0ID0gQ29vcmRpbmF0ZXNVbml0LkRlY2ltYWxEZWdyZWU7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5vbEdlb21ldHJ5VHlwZSA9PT0gR2VvbWV0cnlUeXBlLkxpbmVTdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmxhYmVsRmxhZyA9IExhYmVsVHlwZS5MZW5ndGg7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50TGVuZ3RoID0gdGhpcy5sZW5ndGhJbk1ldGVycztcclxuICAgICAgICB0aGlzLmxlbmd0aE1lYXN1cmVVbml0ID0gTWVhc3VyZUxlbmd0aFVuaXQuTWV0ZXJzO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKGxhYmVsVHlwZSA9PT0gTGFiZWxUeXBlLkFyZWEpIHtcclxuICAgICAgdGhpcy5jdXJyZW50QXJlYSA9IHRoaXMuYXJlYUluTWV0ZXJzU3F1YXJlO1xyXG4gICAgICB0aGlzLmFyZWFNZWFzdXJlVW5pdCA9IE1lYXN1cmVBcmVhVW5pdC5TcXVhcmVNZXRlcnM7XHJcbiAgICB9IGVsc2UgaWYgKGxhYmVsVHlwZSA9PT0gTGFiZWxUeXBlLkxlbmd0aCkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRMZW5ndGggPSB0aGlzLmxlbmd0aEluTWV0ZXJzO1xyXG4gICAgICB0aGlzLmxlbmd0aE1lYXN1cmVVbml0ID0gTWVhc3VyZUxlbmd0aFVuaXQuTWV0ZXJzO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmxhYmVsRmxhZyA9PT0gTGFiZWxUeXBlLkNvb3JkaW5hdGVzKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudENvb3JkaW5hdGVzID0gdGhpcy5jb29yZGluYXRlc0luREQ7XHJcbiAgICAgIHRoaXMuY29vcmRpbmF0ZXNNZWFzdXJlVW5pdCA9IENvb3JkaW5hdGVzVW5pdC5EZWNpbWFsRGVncmVlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGxhYmVsdHlwZXMgPSBbdGhpcy5sYWJlbFR5cGUuTGVuZ3RoLCB0aGlzLmxhYmVsVHlwZS5BcmVhXTtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5vbEdlb21ldHJ5VHlwZSA9PT0gR2VvbWV0cnlUeXBlLlBvbHlnb24gJiZcclxuICAgICAgbGFiZWx0eXBlcy5pbmNsdWRlcyhsYWJlbFR5cGUpXHJcbiAgICApIHtcclxuICAgICAgY2hlY2tlZCA/ICh0aGlzLnBvbHlnb25DaGVjayArPSAxKSA6ICh0aGlzLnBvbHlnb25DaGVjayAtPSAxKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucG9seWdvbkNoZWNrID0gMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlTGVuZ3RoVW5pdChsZW5ndGhVbml0OiBNZWFzdXJlTGVuZ3RoVW5pdCkge1xyXG4gICAgdGhpcy5sZW5ndGhNZWFzdXJlVW5pdCA9IGxlbmd0aFVuaXQ7XHJcbiAgICB0aGlzLmN1cnJlbnRMZW5ndGggPSBtZXRlcnNUb1VuaXQoXHJcbiAgICAgIE51bWJlcih0aGlzLmxlbmd0aEluTWV0ZXJzKSxcclxuICAgICAgbGVuZ3RoVW5pdFxyXG4gICAgKS50b0ZpeGVkKDIpO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2VBcmVhVW5pdChhcmVhVW5pdDogTWVhc3VyZUFyZWFVbml0KSB7XHJcbiAgICB0aGlzLmFyZWFNZWFzdXJlVW5pdCA9IGFyZWFVbml0O1xyXG4gICAgdGhpcy5jdXJyZW50QXJlYSA9IHNxdWFyZU1ldGVyc1RvVW5pdChcclxuICAgICAgTnVtYmVyKHRoaXMuYXJlYUluTWV0ZXJzU3F1YXJlKSxcclxuICAgICAgYXJlYVVuaXRcclxuICAgICkudG9GaXhlZCgyKTtcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlQ29vcmRpbmF0ZVVuaXQoY29vcmRpbmF0ZXNVbml0OiBDb29yZGluYXRlc1VuaXQpIHtcclxuICAgIHRoaXMuY29vcmRpbmF0ZXNNZWFzdXJlVW5pdCA9IGNvb3JkaW5hdGVzVW5pdDtcclxuICAgIGxldCBjb29yZGluYXRlcyA9IEREdG9ETVModGhpcy5sb25nbGF0REQsIGNvb3JkaW5hdGVzVW5pdCk7XHJcbiAgICB0aGlzLmN1cnJlbnRDb29yZGluYXRlcyA9XHJcbiAgICAgICcoJyArIGNvb3JkaW5hdGVzWzFdICsgJywgJyArIGNvb3JkaW5hdGVzWzBdICsgJyknO1xyXG4gIH1cclxuXHJcbiAgYnVpbGRBcnJheVR5cGUoKSB7XHJcbiAgICBmb3IgKGNvbnN0IGxhYmVsVHlwZSBvZiBPYmplY3QudmFsdWVzKExhYmVsVHlwZSkpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIGxhYmVsVHlwZSAhPT0gTGFiZWxUeXBlLkN1c3RvbSAmJlxyXG4gICAgICAgIGxhYmVsVHlwZSAhPT0gTGFiZWxUeXBlLlByZWRlZmluZWRcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5hcnJheUJ1aWx0SW5UeXBlLnB1c2goe1xyXG4gICAgICAgICAgdmFsdWU6IGxhYmVsVHlwZSxcclxuICAgICAgICAgIGNoZWNrZWQ6XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0T3B0aW9ucyhsYWJlbFR5cGUpIHx8XHJcbiAgICAgICAgICAgIHRoaXMubGFiZWxGbGFnID09PSBsYWJlbFR5cGUgfHxcclxuICAgICAgICAgICAgKHRoaXMucG9seWdvbkNoZWNrID09PSAyICYmIGxhYmVsVHlwZSAhPT0gTGFiZWxUeXBlLkNvb3JkaW5hdGVzKVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBub0xhYmVsQnV0dG9uKCkge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmxhYmVsRmxhZyA9PT0gTGFiZWxUeXBlLlByZWRlZmluZWQgfHxcclxuICAgICAgKHRoaXMubGFiZWxGbGFnID09PSBMYWJlbFR5cGUuQ3VzdG9tICYmIHRoaXMubGFiZWxMZW5ndGggPT09IDApXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRyYXcubm9MYWJlbCcpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAnT0snO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGN1c3RvbU9yUHJlZGVmaW5lZCgpIHtcclxuICAgIGlmICh0aGlzLmxhYmVsRmxhZyA9PT0gTGFiZWxUeXBlLkN1c3RvbSkge1xyXG4gICAgICByZXR1cm4gTGFiZWxUeXBlLkN1c3RvbTtcclxuICAgIH1cclxuICAgIHJldHVybiBMYWJlbFR5cGUuUHJlZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIG9wdGlvbkF2YWlsYWJsZShjdXJyZW50T3B0aW9uOiBMYWJlbFR5cGUpIHtcclxuICAgIHN3aXRjaCAodGhpcy5vbEdlb21ldHJ5VHlwZSkge1xyXG4gICAgICBjYXNlIEdlb21ldHJ5VHlwZS5Qb2ludDpcclxuICAgICAgICBpZiAoY3VycmVudE9wdGlvbiA9PT0gTGFiZWxUeXBlLkNvb3JkaW5hdGVzKSB7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICBjYXNlIEdlb21ldHJ5VHlwZS5MaW5lU3RyaW5nOlxyXG4gICAgICAgIGlmIChjdXJyZW50T3B0aW9uID09PSBMYWJlbFR5cGUuTGVuZ3RoKSB7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICBjYXNlIEdlb21ldHJ5VHlwZS5Qb2x5Z29uOlxyXG4gICAgICAgIGlmIChjdXJyZW50T3B0aW9uID09PSBMYWJlbFR5cGUuQ29vcmRpbmF0ZXMpIHtcclxuICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IGFsbExlbmd0aFVuaXRzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiBPYmplY3QudmFsdWVzKE1lYXN1cmVMZW5ndGhVbml0KTtcclxuICB9XHJcblxyXG4gIGdldExlbmd0aFVuaXRFbnVtKGxlbmd0aFVuaXQ6IE1lYXN1cmVMZW5ndGhVbml0KSB7XHJcbiAgICByZXR1cm4gTWVhc3VyZUxlbmd0aFVuaXRBYmJyZXZpYXRpb25bbGVuZ3RoVW5pdF07XHJcbiAgfVxyXG5cclxuICBnZXQgYWxsQXJlYVVuaXRzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiBPYmplY3QudmFsdWVzKE1lYXN1cmVBcmVhVW5pdCk7XHJcbiAgfVxyXG5cclxuICBnZXQgYWxsQ29vcmRpbmF0ZXNVbml0cygpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhDb29yZGluYXRlc1VuaXQpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QXJlYVVuaXRFbnVtKGFyZWFVbml0OiBNZWFzdXJlQXJlYVVuaXQpIHtcclxuICAgIHJldHVybiBNZWFzdXJlQXJlYVVuaXRBYmJyZXZpYXRpb25bYXJlYVVuaXRdO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRSYWRpdXMob2xHZW9tZXRyeSk6IG51bWJlciB7XHJcbiAgICBjb25zdCBsZW5ndGggPSBnZXRMZW5ndGgob2xHZW9tZXRyeSk7XHJcbiAgICByZXR1cm4gTnVtYmVyKGxlbmd0aCAvICgyICogTWF0aC5QSSkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxlbmd0aExhYmVsVCgpIHtcclxuICAgIGlmICh0aGlzLm9sR2VvbWV0cnlUeXBlID09PSBHZW9tZXRyeVR5cGUuUG9seWdvbikge1xyXG4gICAgICByZXR1cm4gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgJ2lnby5nZW8ubWVhc3VyZS5wZXJpbWV0ZXInXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5vbEdlb21ldHJ5VHlwZSA9PT0gR2VvbWV0cnlUeXBlLkNpcmNsZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgJ2lnby5nZW8uc2VhcmNoLmNvb3JkaW5hdGVzLnJhZGl1cydcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgJ2lnby5nZW8uZHJhdy5sYWJlbFR5cGUuTGVuZ3RoJ1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldExhYmVsTGVuZ3RoKGV2ZW50Pykge1xyXG4gICAgdGhpcy5sYWJlbExlbmd0aCA9IGV2ZW50Lmxlbmd0aDtcclxuICB9XHJcblxyXG4gIHNlbGVjdE9wdGlvbnMob3B0aW9uKSB7XHJcbiAgICBpZiAodGhpcy5vbEdlb21ldHJ5VHlwZSA9PT0gR2VvbWV0cnlUeXBlLlBvaW50KSB7XHJcbiAgICAgIHJldHVybiBvcHRpb24gPT09IExhYmVsVHlwZS5Db29yZGluYXRlcztcclxuICAgIH0gZWxzZSBpZiAodGhpcy5vbEdlb21ldHJ5VHlwZSA9PT0gR2VvbWV0cnlUeXBlLkxpbmVTdHJpbmcpIHtcclxuICAgICAgcmV0dXJuIG9wdGlvbiA9PT0gTGFiZWxUeXBlLkxlbmd0aDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFByb3Blckxlbmd0aExhYmVsKG9wdGlvbikge1xyXG4gICAgaWYgKG9wdGlvbiA9PT0gTGFiZWxUeXBlLkxlbmd0aCkge1xyXG4gICAgICBpZiAodGhpcy5vbEdlb21ldHJ5VHlwZSA9PT0gR2VvbWV0cnlUeXBlLlBvbHlnb24pIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAnaWdvLmdlby5tZWFzdXJlLnBlcmltZXRlcidcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLm9sR2VvbWV0cnlUeXBlID09PSBHZW9tZXRyeVR5cGUuQ2lyY2xlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgJ2lnby5nZW8uc2VhcmNoLmNvb3JkaW5hdGVzLnJhZGl1cydcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAnaWdvLmdlby5kcmF3LmxhYmVsVHlwZS5MZW5ndGgnXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICdpZ28uZ2VvLmRyYXcubGFiZWxUeXBlLicgKyBvcHRpb25cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiIsIjxoMiBtYXQtZGlhbG9nLXRpdGxlPlxyXG4gIHt7ICdpZ28uZ2VvLmRyYXcucG9wdXBUaXRsZScgfCB0cmFuc2xhdGUgfX1cclxuPC9oMj5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJsYWJlbEZsYWcgIT09IGxhYmVsVHlwZS5DdXN0b21cIj5cclxuICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cImdlb21ldHJ5LXR5cGUtdG9nZ2xlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLXRvZ2dsZS1jb250YWluZXJcIj5cclxuICAgICAgPG1hdC1idXR0b24tdG9nZ2xlLWdyb3VwXHJcbiAgICAgICAgKGNoYW5nZSk9XCJvbkxhYmVsVHlwZUNoYW5nZSgkZXZlbnQudmFsdWUpXCJcclxuICAgICAgICBbdmFsdWVdPVwiY3VzdG9tT3JQcmVkZWZpbmVkXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSBbdmFsdWVdPVwibGFiZWxUeXBlLkN1c3RvbVwiPlxyXG4gICAgICAgICAge3sgJ2lnby5nZW8uZHJhdy5sYWJlbFR5cGUuY3VzdG9tJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XHJcbiAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIFt2YWx1ZV09XCJsYWJlbFR5cGUuUHJlZGVmaW5lZFwiPlxyXG4gICAgICAgICAge3sgJ2lnby5nZW8uZHJhdy5sYWJlbFR5cGUucHJlZGVmaW5lZCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxyXG4gICAgICA8L21hdC1idXR0b24tdG9nZ2xlLWdyb3VwPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8cD5cclxuICAgICAgICB7eyAnaWdvLmdlby5kcmF3LmJ1aWx0SW5JbnN0cnVjdGlvbnMnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvcD5cclxuICAgICAgPG1hdC1yYWRpby1ncm91cCAqbmdJZj1cIm9sR2VvbWV0cnlUeXBlICE9PSAnUG9seWdvbidcIj5cclxuICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvblxyXG4gICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBhcnJheUJ1aWx0SW5UeXBlXCJcclxuICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIm9wdGlvbkF2YWlsYWJsZShvcHRpb24udmFsdWUpXCJcclxuICAgICAgICAgIChjaGFuZ2UpPVwib25MYWJlbFR5cGVDaGFuZ2UoJGV2ZW50LnZhbHVlKVwiXHJcbiAgICAgICAgICBbY2hlY2tlZF09XCJvcHRpb24uY2hlY2tlZFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3sgZ2V0UHJvcGVyTGVuZ3RoTGFiZWwob3B0aW9uLnZhbHVlKSB9fVxyXG4gICAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuICAgICAgPC9tYXQtcmFkaW8tZ3JvdXA+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvbEdlb21ldHJ5VHlwZSA9PT0gJ1BvbHlnb24nXCI+XHJcbiAgICAgICAgPG1hdC1jaGVja2JveFxyXG4gICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBhcnJheUJ1aWx0SW5UeXBlXCJcclxuICAgICAgICAgIGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIlxyXG4gICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwib3B0aW9uQXZhaWxhYmxlKG9wdGlvbi52YWx1ZSlcIlxyXG4gICAgICAgICAgKGNoYW5nZSk9XCJvbkxhYmVsVHlwZUNoYW5nZSgkZXZlbnQuc291cmNlLnZhbHVlLCAkZXZlbnQuY2hlY2tlZClcIlxyXG4gICAgICAgICAgW2NoZWNrZWRdPVwib3B0aW9uLmNoZWNrZWRcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt7IGdldFByb3Blckxlbmd0aExhYmVsKG9wdGlvbi52YWx1ZSkgfX1cclxuICAgICAgICA8L21hdC1jaGVja2JveD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJsYWJlbEZsYWcgPT09IGxhYmVsVHlwZS5Db29yZGluYXRlc1wiIGNsYXNzPVwiZmllbGRzLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInJlYWRPbmx5LUlucHV0XCI+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsPihMYXRpdHVkZSwgTG9uZ2l0dWRlKTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICNpbnB1dFxyXG4gICAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIihMYXRpdHVkZSwgTG9uZ2l0dWRlKVwiXHJcbiAgICAgICAgICAgIHZhbHVlPVwie3sgY3VycmVudENvb3JkaW5hdGVzIH19XCJcclxuICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJ1bml0LWZpZWxkXCI+XHJcbiAgICAgICAgICA8bWF0LXNlbGVjdFxyXG4gICAgICAgICAgICBbdmFsdWVdPVwiY29vcmRpbmF0ZXNNZWFzdXJlVW5pdFwiXHJcbiAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25DaGFuZ2VDb29yZGluYXRlVW5pdCgkZXZlbnQudmFsdWUpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHVuaXQgb2YgYWxsQ29vcmRpbmF0ZXNVbml0c1wiIFt2YWx1ZV09XCJ1bml0XCI+XHJcbiAgICAgICAgICAgICAge3sgdW5pdCB9fVxyXG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICAqbmdJZj1cImxhYmVsRmxhZyA9PT0gbGFiZWxUeXBlLkxlbmd0aCB8fCBwb2x5Z29uQ2hlY2sgPT09IDJcIlxyXG4gICAgICAgIGNsYXNzPVwiZmllbGRzLWNvbnRhaW5lclwiXHJcbiAgICAgID5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJyZWFkT25seS1JbnB1dFwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBsZW5ndGhMYWJlbFQgfX08L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAjaW5wdXRcclxuICAgICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBsZW5ndGhMYWJlbFQgfX1cIlxyXG4gICAgICAgICAgICB2YWx1ZT1cInt7IGN1cnJlbnRMZW5ndGggfX1cIlxyXG4gICAgICAgICAgICByZWFkb25seVxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInVuaXQtZmllbGRcIj5cclxuICAgICAgICAgIDxtYXQtc2VsZWN0XHJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJsZW5ndGhNZWFzdXJlVW5pdFwiXHJcbiAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25DaGFuZ2VMZW5ndGhVbml0KCRldmVudC52YWx1ZSlcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdW5pdCBvZiBhbGxMZW5ndGhVbml0c1wiIFt2YWx1ZV09XCJ1bml0XCI+XHJcbiAgICAgICAgICAgICAge3sgZ2V0TGVuZ3RoVW5pdEVudW0odW5pdCkgfX1cclxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgKm5nSWY9XCJsYWJlbEZsYWcgPT09IGxhYmVsVHlwZS5BcmVhIHx8IHBvbHlnb25DaGVjayA9PT0gMlwiXHJcbiAgICAgICAgY2xhc3M9XCJmaWVsZHMtY29udGFpbmVyXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInJlYWRPbmx5LUlucHV0XCI+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsPnt7ICdpZ28uZ2VvLmRyYXcubGFiZWxUeXBlLkFyZWEnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgI2lucHV0XHJcbiAgICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ2lnby5nZW8uZHJhdy5sYWJlbFR5cGUuQXJlYScgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICAgICAgICB2YWx1ZT1cInt7IGN1cnJlbnRBcmVhIH19XCJcclxuICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJ1bml0LWZpZWxkXCI+XHJcbiAgICAgICAgICA8bWF0LXNlbGVjdFxyXG4gICAgICAgICAgICBbdmFsdWVdPVwiYXJlYU1lYXN1cmVVbml0XCJcclxuICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvbkNoYW5nZUFyZWFVbml0KCRldmVudC52YWx1ZSlcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdW5pdCBvZiBhbGxBcmVhVW5pdHNcIiBbdmFsdWVdPVwidW5pdFwiPlxyXG4gICAgICAgICAgICAgIHt7IGdldEFyZWFVbml0RW51bSh1bml0KSB9fVxyXG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJjYW5jZWxEcmF3aW5nKClcIj5cclxuICAgICAge3sgJ2lnby5nZW8uZHJhdy5jYW5jZWwnIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImNvbmZpcm0oKVwiPlxyXG4gICAgICB7eyBub0xhYmVsQnV0dG9uKCkgfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJsYWJlbEZsYWcgPT09IGxhYmVsVHlwZS5DdXN0b21cIj5cclxuICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cImdlb21ldHJ5LXR5cGUtdG9nZ2xlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLXRvZ2dsZS1jb250YWluZXJcIj5cclxuICAgICAgPG1hdC1idXR0b24tdG9nZ2xlLWdyb3VwXHJcbiAgICAgICAgKGNoYW5nZSk9XCJvbkxhYmVsVHlwZUNoYW5nZSgkZXZlbnQudmFsdWUpXCJcclxuICAgICAgICBbdmFsdWVdPVwiY3VzdG9tT3JQcmVkZWZpbmVkXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSBbdmFsdWVdPVwibGFiZWxUeXBlLkN1c3RvbVwiPlxyXG4gICAgICAgICAge3sgJ2lnby5nZW8uZHJhdy5sYWJlbFR5cGUuY3VzdG9tJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XHJcbiAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIFt2YWx1ZV09XCJsYWJlbFR5cGUuUHJlZGVmaW5lZFwiPlxyXG4gICAgICAgICAge3sgJ2lnby5nZW8uZHJhdy5sYWJlbFR5cGUucHJlZGVmaW5lZCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxyXG4gICAgICA8L21hdC1idXR0b24tdG9nZ2xlLWdyb3VwPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8cD5cclxuICAgICAge3sgJ2lnby5nZW8uZHJhdy5kaWFsb2dJbnN0cnVjdGlvbicgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvcD5cclxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImlucHV0XCI+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3sgJ2lnby5nZW8uZHJhdy5kaWFsb2dUaXRsZScgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgI2lucHV0XHJcbiAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAoc2VsZWN0KT1cIih0cnVlKVwiXHJcbiAgICAgICAgKGlucHV0KT1cImdldExhYmVsTGVuZ3RoKCRldmVudC50YXJnZXQudmFsdWUpXCJcclxuICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdpZ28uZ2VvLmRyYXcuZGlhbG9nVGl0bGUnIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICB2YWx1ZT1cInt7IGN1cnJlbnRMYWJlbCB9fVwiXHJcbiAgICAgICAgY2RrRm9jdXNJbml0aWFsXHJcbiAgICAgIC8+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucz5cclxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cImNhbmNlbERyYXdpbmcoKVwiPlxyXG4gICAgICB7eyAnaWdvLmdlby5kcmF3LmNhbmNlbCcgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiY29uZmlybShpbnB1dC52YWx1ZSlcIj5cclxuICAgICAge3sgbm9MYWJlbEJ1dHRvbigpIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
|
|
@@ -43,6 +43,6 @@ export class DrawShorcutsComponent {
|
|
|
43
43
|
}
|
|
44
44
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrawShorcutsComponent, [{
|
|
45
45
|
type: Component,
|
|
46
|
-
args: [{ selector: 'igo-draw-shorcuts', template: "<mat-dialog-content>\n <div>\n <span class=\"shortcut mat-typography\">\n <mat-icon class=\"shortcut-icon\" svgIcon=\"keyboard-return\"></mat-icon\n >{{ 'igo.geo.draw.finish' | translate }}</span\n >\n </div>\n <div>\n <span class=\"shortcut mat-typography\">\n <mat-icon class=\"shortcut-icon\" svgIcon=\"backspace-outline\"></mat-icon\n >{{ 'igo.geo.draw.undo' | translate }}</span\n >\n </div>\n <div>\n <span class=\"shortcut mat-typography\">\n <mat-icon class=\"shortcut-icon\" svgIcon=\"keyboard-esc\"></mat-icon\n >{{ 'igo.geo.draw.abort' | translate }}</span\n >\n </div>\n <div>\n <span class=\"shortcut mat-typography\">\n <mat-icon class=\"shortcut-icon\" svgIcon=\"keyboard-space\"></mat-icon\n >{{ 'igo.geo.draw.move' | translate }}</span\n >\n </div>\n</mat-dialog-content>\n<mat-dialog-actions class=\"shortcuts-close\">\n <button mat-raised-button mat-dialog-close color=\"primary\">OK</button>\n</mat-dialog-actions>\n", styles: [".shortcut{display:flex;align-items:center}.shortcut-icon{margin-right:10px}.shortcuts-close{display:flex;justify-content:center}\n"] }]
|
|
46
|
+
args: [{ selector: 'igo-draw-shorcuts', template: "<mat-dialog-content>\r\n <div>\r\n <span class=\"shortcut mat-typography\">\r\n <mat-icon class=\"shortcut-icon\" svgIcon=\"keyboard-return\"></mat-icon\r\n >{{ 'igo.geo.draw.finish' | translate }}</span\r\n >\r\n </div>\r\n <div>\r\n <span class=\"shortcut mat-typography\">\r\n <mat-icon class=\"shortcut-icon\" svgIcon=\"backspace-outline\"></mat-icon\r\n >{{ 'igo.geo.draw.undo' | translate }}</span\r\n >\r\n </div>\r\n <div>\r\n <span class=\"shortcut mat-typography\">\r\n <mat-icon class=\"shortcut-icon\" svgIcon=\"keyboard-esc\"></mat-icon\r\n >{{ 'igo.geo.draw.abort' | translate }}</span\r\n >\r\n </div>\r\n <div>\r\n <span class=\"shortcut mat-typography\">\r\n <mat-icon class=\"shortcut-icon\" svgIcon=\"keyboard-space\"></mat-icon\r\n >{{ 'igo.geo.draw.move' | translate }}</span\r\n >\r\n </div>\r\n</mat-dialog-content>\r\n<mat-dialog-actions class=\"shortcuts-close\">\r\n <button mat-raised-button mat-dialog-close color=\"primary\">OK</button>\r\n</mat-dialog-actions>\r\n", styles: [".shortcut{display:flex;align-items:center}.shortcut-icon{margin-right:10px}.shortcuts-close{display:flex;justify-content:center}\n"] }]
|
|
47
47
|
}], null, null); })();
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhdy1zaG9yY3V0cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kcmF3L2RyYXcvZHJhdy1zaG9yY3V0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kcmF3L2RyYXcvZHJhdy1zaG9yY3V0cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFPMUMsTUFBTSxPQUFPLHFCQUFxQjsrRUFBckIscUJBQXFCOzZEQUFyQixxQkFBcUI7WUNQbEMsMENBQW9CLFVBQUEsY0FBQTtZQUdkLDhCQUNDO1lBQUEsWUFBdUM7O1lBQUEsaUJBQ3pDLEVBQUE7WUFFSCwyQkFBSyxjQUFBO1lBRUQsOEJBQ0M7WUFBQSxZQUFxQzs7WUFBQSxpQkFDdkMsRUFBQTtZQUVILDRCQUFLLGVBQUE7WUFFRCwrQkFDQztZQUFBLGFBQXNDOztZQUFBLGlCQUN4QyxFQUFBO1lBRUgsNEJBQUssZUFBQTtZQUVELCtCQUNDO1lBQUEsYUFBcUM7O1lBQUEsaUJBQ3ZDLEVBQUEsRUFBQTtZQUdMLDhDQUE0QyxpQkFBQTtZQUNpQixtQkFBRTtZQUFBLGlCQUFTLEVBQUE7O1lBdkJqRSxlQUF1QztZQUF2QyxpRUFBdUM7WUFNdkMsZUFBcUM7WUFBckMsZ0VBQXFDO1lBTXJDLGVBQXNDO1lBQXRDLGlFQUFzQztZQU10QyxlQUFxQztZQUFyQyxpRUFBcUM7Ozt1RkRmL0IscUJBQXFCO2NBTGpDLFNBQVM7MkJBQ0UsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1kcmF3LXNob3JjdXRzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHJhdy1zaG9yY3V0cy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHJhdy1zaG9yY3V0cy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcmF3U2hvcmN1dHNDb21wb25lbnQge31cclxuIiwiPG1hdC1kaWFsb2ctY29udGVudD5cclxuICA8ZGl2PlxyXG4gICAgPHNwYW4gY2xhc3M9XCJzaG9ydGN1dCBtYXQtdHlwb2dyYXBoeVwiPlxyXG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJzaG9ydGN1dC1pY29uXCIgc3ZnSWNvbj1cImtleWJvYXJkLXJldHVyblwiPjwvbWF0LWljb25cclxuICAgICAgPnt7ICdpZ28uZ2VvLmRyYXcuZmluaXNoJyB8IHRyYW5zbGF0ZSB9fTwvc3BhblxyXG4gICAgPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXY+XHJcbiAgICA8c3BhbiBjbGFzcz1cInNob3J0Y3V0IG1hdC10eXBvZ3JhcGh5XCI+XHJcbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInNob3J0Y3V0LWljb25cIiBzdmdJY29uPVwiYmFja3NwYWNlLW91dGxpbmVcIj48L21hdC1pY29uXHJcbiAgICAgID57eyAnaWdvLmdlby5kcmF3LnVuZG8nIHwgdHJhbnNsYXRlIH19PC9zcGFuXHJcbiAgICA+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdj5cclxuICAgIDxzcGFuIGNsYXNzPVwic2hvcnRjdXQgbWF0LXR5cG9ncmFwaHlcIj5cclxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwic2hvcnRjdXQtaWNvblwiIHN2Z0ljb249XCJrZXlib2FyZC1lc2NcIj48L21hdC1pY29uXHJcbiAgICAgID57eyAnaWdvLmdlby5kcmF3LmFib3J0JyB8IHRyYW5zbGF0ZSB9fTwvc3BhblxyXG4gICAgPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXY+XHJcbiAgICA8c3BhbiBjbGFzcz1cInNob3J0Y3V0IG1hdC10eXBvZ3JhcGh5XCI+XHJcbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInNob3J0Y3V0LWljb25cIiBzdmdJY29uPVwia2V5Ym9hcmQtc3BhY2VcIj48L21hdC1pY29uXHJcbiAgICAgID57eyAnaWdvLmdlby5kcmF3Lm1vdmUnIHwgdHJhbnNsYXRlIH19PC9zcGFuXHJcbiAgICA+XHJcbiAgPC9kaXY+XHJcbjwvbWF0LWRpYWxvZy1jb250ZW50PlxyXG48bWF0LWRpYWxvZy1hY3Rpb25zIGNsYXNzPVwic2hvcnRjdXRzLWNsb3NlXCI+XHJcbiAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBtYXQtZGlhbG9nLWNsb3NlIGNvbG9yPVwicHJpbWFyeVwiPk9LPC9idXR0b24+XHJcbjwvbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4iXX0=
|
|
@@ -18,4 +18,4 @@ export var CoordinatesUnit;
|
|
|
18
18
|
CoordinatesUnit["DecimalDegree"] = "DD";
|
|
19
19
|
CoordinatesUnit["DegreesMinutesSeconds"] = "DMS";
|
|
20
20
|
})(CoordinatesUnit || (CoordinatesUnit = {}));
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhdy5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZHJhdy9zaGFyZWQvZHJhdy5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFlBS1g7QUFMRCxXQUFZLFlBQVk7SUFDdEIsK0JBQWUsQ0FBQTtJQUNmLHlDQUF5QixDQUFBO0lBQ3pCLG1DQUFtQixDQUFBO0lBQ25CLGlDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFMVyxZQUFZLEtBQVosWUFBWSxRQUt2QjtBQUVELE1BQU0sQ0FBTixJQUFZLFNBTVg7QUFORCxXQUFZLFNBQVM7SUFDbkIsd0NBQTJCLENBQUE7SUFDM0IsOEJBQWlCLENBQUE7SUFDakIsMEJBQWEsQ0FBQTtJQUNiLHNDQUF5QixDQUFBO0lBQ3pCLDhCQUFpQixDQUFBO0FBQ25CLENBQUMsRUFOVyxTQUFTLEtBQVQsU0FBUyxRQU1wQjtBQUVELE1BQU0sQ0FBTixJQUFZLGVBR1g7QUFIRCxXQUFZLGVBQWU7SUFDekIsdUNBQW9CLENBQUE7SUFDcEIsZ0RBQTZCLENBQUE7QUFDL0IsQ0FBQyxFQUhXLGVBQWUsS0FBZixlQUFlLFFBRzFCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gR2VvbWV0cnlUeXBlIHtcclxuICBQb2ludCA9ICdQb2ludCcsXHJcbiAgTGluZVN0cmluZyA9ICdMaW5lU3RyaW5nJyxcclxuICBQb2x5Z29uID0gJ1BvbHlnb24nLFxyXG4gIENpcmNsZSA9ICdDaXJjbGUnXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIExhYmVsVHlwZSB7XHJcbiAgQ29vcmRpbmF0ZXMgPSAnQ29vcmRpbmF0ZXMnLFxyXG4gIExlbmd0aCA9ICdMZW5ndGgnLFxyXG4gIEFyZWEgPSAnQXJlYScsXHJcbiAgUHJlZGVmaW5lZCA9ICdQcmVkZWZpbmVkJyxcclxuICBDdXN0b20gPSAnQ3VzdG9tJ1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBDb29yZGluYXRlc1VuaXQge1xyXG4gIERlY2ltYWxEZWdyZWUgPSAnREQnLFxyXG4gIERlZ3JlZXNNaW51dGVzU2Vjb25kcyA9ICdETVMnXHJcbn1cclxuIl19
|
|
@@ -106,7 +106,7 @@ export class FeatureFormComponent {
|
|
|
106
106
|
}
|
|
107
107
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FeatureFormComponent, [{
|
|
108
108
|
type: Component,
|
|
109
|
-
args: [{ selector: 'igo-feature-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-form\n #igoForm\n [form]=\"form\"\n [formData]=\"feature$ | async\"\n (submitForm)=\"onSubmit($event)\"\n>\n <ng-content></ng-content>\n\n <ng-content select=\"[formButtons]\" formButtons></ng-content>\n</igo-form>\n", styles: [":host{display:block}igo-form{height:100%}\n"] }]
|
|
109
|
+
args: [{ selector: 'igo-feature-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-form\r\n #igoForm\r\n [form]=\"form\"\r\n [formData]=\"feature$ | async\"\r\n (submitForm)=\"onSubmit($event)\"\r\n>\r\n <ng-content></ng-content>\r\n\r\n <ng-content select=\"[formButtons]\" formButtons></ng-content>\r\n</igo-form>\r\n", styles: [":host{display:block}igo-form{height:100%}\n"] }]
|
|
110
110
|
}], function () { return []; }, { form: [{
|
|
111
111
|
type: Input
|
|
112
112
|
}], feature: [{
|
|
@@ -117,4 +117,4 @@ export class FeatureFormComponent {
|
|
|
117
117
|
type: ViewChild,
|
|
118
118
|
args: ['igoForm', { static: true }]
|
|
119
119
|
}] }); })();
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1mb3JtL2ZlYXR1cmUtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2ZlYXR1cmUtZm9ybS9mZWF0dXJlLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBUSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV2RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRW5DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7O0FBR2xEOzs7Ozs7R0FNRztBQU9ILE1BQU0sT0FBTyxvQkFBb0I7SUFDL0I7O09BRUc7SUFDTSxJQUFJLENBQU87SUFFcEI7O09BRUc7SUFDSCxJQUNJLE9BQU8sQ0FBQyxLQUEwQjtRQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ0QsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBQ1EsUUFBUSxHQUE2QixJQUFJLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUU3RTs7T0FFRztJQUNPLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBRVgsT0FBTyxDQUFnQjtJQUUvRCxnQkFBZSxDQUFDO0lBRWhCOzs7O09BSUc7SUFDSCxRQUFRLENBQUMsSUFBNEI7UUFDbkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssaUJBQWlCLENBQUMsSUFBNEI7UUFDcEQsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNoQixJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFO1lBQzdCLElBQVksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7U0FDM0I7YUFBTTtZQUNMLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDbkQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7Z0JBQ3JDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQzthQUM5QyxDQUFDLENBQUM7U0FDSjtRQUVELE1BQU0sY0FBYyxHQUFHLGFBQWEsQ0FBQztRQUNyQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtZQUNwRCxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUMzQixJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUU7Z0JBQ2xDLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNuRCxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDO2FBQzlCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzdCLElBQUksUUFBUSxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFBRTtZQUN4RCxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7U0FDbEM7UUFFRCxPQUFPO1lBQ0wsSUFBSSxFQUFFLElBQW1CO1lBQ3pCLElBQUksRUFBRSxPQUFPO1lBQ2IsUUFBUTtZQUNSLFVBQVUsRUFBRSxXQUFXO1lBQ3ZCLFVBQVU7U0FDWCxDQUFDO0lBQ0osQ0FBQzs4RUEvRVUsb0JBQW9COzZEQUFwQixvQkFBb0I7Ozs7Ozs7WUMvQmpDLHNDQUtDO1lBREMsbUhBQWMsb0JBQWdCLElBQUM7O1lBRS9CLGtCQUF5QjtZQUV6QiwwQ0FBNEQ7WUFDOUQsaUJBQVc7O1lBUFQsK0JBQWEsZ0RBQUE7Ozt1RkQ2QkYsb0JBQW9CO2NBTmhDLFNBQVM7MkJBQ0Usa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU07c0NBTXRDLElBQUk7a0JBQVosS0FBSztZQU1GLE9BQU87a0JBRFYsS0FBSztZQVlJLFVBQVU7a0JBQW5CLE1BQU07WUFFaUMsT0FBTztrQkFBOUMsU0FBUzttQkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEZvcm0sIGdldEVudGl0eVJldmlzaW9uIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHR5cGUgeyBGb3JtQ29tcG9uZW50IH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHsgdXVpZCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcclxuXHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgRkVBVFVSRSB9IGZyb20gJy4uL3NoYXJlZC9mZWF0dXJlLmVudW1zJztcclxuaW1wb3J0IHsgRmVhdHVyZSwgRmVhdHVyZU1ldGEgfSBmcm9tICcuLi9zaGFyZWQvZmVhdHVyZS5pbnRlcmZhY2VzJztcclxuXHJcbi8qKlxyXG4gKiBBIGNvbmZpZ3VyYWJsZSBmb3JtLCBvcHRpb25uYWxseSBib3VuZCB0byBhIGZlYXR1cmUuXHJcbiAqIFRoaXMgY29tcG9uZW50IGNyZWF0ZXMgYW4gZW50aXR5IGZvcm0gYW5kLCBvbiBzdWJtaXQsXHJcbiAqIHJldHVybnMgYSBmZWF0dXJlIG1hZGUgb3V0IG9mIHRoZSBzdWJtaXR0ZWQgZGF0YS4gSXQgYWxzb1xyXG4gKiBkb2VzIHRoaW5ncyBsaWtlIG1hbmFnaW5nIHRoZSBmZWF0dXJlIHZpc2liaWxpdHkgd2hpbGUgaXQncyBiZWluZyB1cGRhdGVkXHJcbiAqIGFzIHdlbGwgYXMgZGlzYWJsaW5nIHRoZSBzZWxlY3Rpb24gb2YgYW5vdGhlciBmZWF0dXJlLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tZmVhdHVyZS1mb3JtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmVhdHVyZS1mb3JtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mZWF0dXJlLWZvcm0uY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmVhdHVyZUZvcm1Db21wb25lbnQge1xyXG4gIC8qKlxyXG4gICAqIEZvcm1cclxuICAgKi9cclxuICBASW5wdXQoKSBmb3JtOiBGb3JtO1xyXG5cclxuICAvKipcclxuICAgKiBGZWF0dXJlIHRvIHVwZGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGZlYXR1cmUodmFsdWU6IEZlYXR1cmUgfCB1bmRlZmluZWQpIHtcclxuICAgIHRoaXMuZmVhdHVyZSQubmV4dCh2YWx1ZSk7XHJcbiAgfVxyXG4gIGdldCBmZWF0dXJlKCk6IEZlYXR1cmUgfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIHRoaXMuZmVhdHVyZSQudmFsdWU7XHJcbiAgfVxyXG4gIHJlYWRvbmx5IGZlYXR1cmUkOiBCZWhhdmlvclN1YmplY3Q8RmVhdHVyZT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHVuZGVmaW5lZCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgZm9ybSBpcyBzdWJtaXR0ZWRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgc3VibWl0Rm9ybSA9IG5ldyBFdmVudEVtaXR0ZXI8RmVhdHVyZT4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnaWdvRm9ybScsIHsgc3RhdGljOiB0cnVlIH0pIGlnb0Zvcm06IEZvcm1Db21wb25lbnQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgLyoqXHJcbiAgICogVHJhbnNmb3JtIHRoZSBmb3JtIGRhdGEgdG8gYSBmZWF0dXJlIGFuZCBlbWl0IGFuIGV2ZW50XHJcbiAgICogQHBhcmFtIGV2ZW50IEZvcm0gc3VibWl0IGV2ZW50XHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgb25TdWJtaXQoZGF0YTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSkge1xyXG4gICAgY29uc3QgZmVhdHVyZSA9IHRoaXMuZm9ybURhdGFUb0ZlYXR1cmUoZGF0YSk7XHJcbiAgICB0aGlzLnN1Ym1pdEZvcm0uZW1pdChmZWF0dXJlKTtcclxuICB9XHJcblxyXG4gIGdldERhdGEoKTogRmVhdHVyZSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtRGF0YVRvRmVhdHVyZSh0aGlzLmlnb0Zvcm0uZ2V0RGF0YSgpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRyYW5zZm9ybSB0aGUgZm9ybSBkYXRhIHRvIGEgZmVhdHVyZVxyXG4gICAqIEBwYXJhbSBkYXRhIEZvcm0gZGF0YVxyXG4gICAqIEByZXR1cm5zIEEgZmVhdHVyZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgZm9ybURhdGFUb0ZlYXR1cmUoZGF0YTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IEZlYXR1cmUge1xyXG4gICAgY29uc3QgcHJvcGVydGllcyA9IHt9O1xyXG4gICAgY29uc3QgbWV0YSA9IHt9O1xyXG4gICAgaWYgKHRoaXMuZmVhdHVyZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIChtZXRhIGFzIGFueSkuaWQgPSB1dWlkKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBPYmplY3QuYXNzaWduKHByb3BlcnRpZXMsIHRoaXMuZmVhdHVyZS5wcm9wZXJ0aWVzKTtcclxuICAgICAgT2JqZWN0LmFzc2lnbihtZXRhLCB0aGlzLmZlYXR1cmUubWV0YSwge1xyXG4gICAgICAgIHJldmlzaW9uOiBnZXRFbnRpdHlSZXZpc2lvbih0aGlzLmZlYXR1cmUpICsgMVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBwcm9wZXJ0eVByZWZpeCA9ICdwcm9wZXJ0aWVzLic7XHJcbiAgICBPYmplY3QuZW50cmllcyhkYXRhKS5mb3JFYWNoKChlbnRyeTogW3N0cmluZywgYW55XSkgPT4ge1xyXG4gICAgICBjb25zdCBba2V5LCB2YWx1ZV0gPSBlbnRyeTtcclxuICAgICAgaWYgKGtleS5zdGFydHNXaXRoKHByb3BlcnR5UHJlZml4KSkge1xyXG4gICAgICAgIGNvbnN0IHByb3BlcnR5ID0ga2V5LnN1YnN0cihwcm9wZXJ0eVByZWZpeC5sZW5ndGgpO1xyXG4gICAgICAgIHByb3BlcnRpZXNbcHJvcGVydHldID0gdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIGxldCBnZW9tZXRyeSA9IGRhdGEuZ2VvbWV0cnk7XHJcbiAgICBpZiAoZ2VvbWV0cnkgPT09IHVuZGVmaW5lZCAmJiB0aGlzLmZlYXR1cmUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBnZW9tZXRyeSA9IHRoaXMuZmVhdHVyZS5nZW9tZXRyeTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBtZXRhOiBtZXRhIGFzIEZlYXR1cmVNZXRhLFxyXG4gICAgICB0eXBlOiBGRUFUVVJFLFxyXG4gICAgICBnZW9tZXRyeSxcclxuICAgICAgcHJvamVjdGlvbjogJ0VQU0c6NDMyNicsXHJcbiAgICAgIHByb3BlcnRpZXNcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiIsIjxpZ28tZm9ybVxyXG4gICNpZ29Gb3JtXHJcbiAgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgW2Zvcm1EYXRhXT1cImZlYXR1cmUkIHwgYXN5bmNcIlxyXG4gIChzdWJtaXRGb3JtKT1cIm9uU3VibWl0KCRldmVudClcIlxyXG4+XHJcbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG5cclxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbZm9ybUJ1dHRvbnNdXCIgZm9ybUJ1dHRvbnM+PC9uZy1jb250ZW50PlxyXG48L2lnby1mb3JtPlxyXG4iXX0=
|
|
@@ -24,4 +24,4 @@ export function tryBindStoreLayer(store, layer) {
|
|
|
24
24
|
store.map.addLayer(store.layer);
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1zdG9yZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUtc3RvcmUudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBR3JFOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxLQUFtQixFQUFFLEtBQW1CO0lBQ3hFLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUU7UUFDN0IsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxTQUFTLEVBQUU7WUFDakMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2pDO1FBQ0QsT0FBTztLQUNSO0lBRUQsS0FBSyxHQUFHLEtBQUs7UUFDWCxDQUFDLENBQUMsS0FBSztRQUNQLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQztZQUNkLE1BQU0sRUFBRSxJQUFJLGlCQUFpQixFQUFFO1NBQ2hDLENBQUMsQ0FBQztJQUNQLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxTQUFTLEVBQUU7UUFDakMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ2pDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZlYXR1cmVEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZSc7XHJcbmltcG9ydCB7IFZlY3RvckxheWVyIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy92ZWN0b3ItbGF5ZXInO1xyXG5pbXBvcnQgeyBGZWF0dXJlU3RvcmUgfSBmcm9tICcuL3N0b3JlJztcclxuXHJcbi8qKlxyXG4gKiBUcnkgdG8gYmluZCBhIGxheWVyIHRvIGEgc3RvcmUgaWYgbm9uZSBpcyBib3VuZCBhbHJlYWR5LlxyXG4gKiBUaGUgbGF5ZXIgd2lsbCBhbHNvIGJlIGFkZGVkIHRvIHRoZSBzdG9yZSdzIG1hcC5cclxuICogSWYgbm8gbGF5ZXIgaXMgZ2l2ZW4gdG8gdGhhdCBmdW5jdGlvbiwgYSBiYXNpYyBvbmUgd2lsbCBiZSBjcmVhdGVkLlxyXG4gKiBAcGFyYW0gc3RvcmUgVGhlIHN0b3JlIHRvIGJpbmQgdGhlIGxheWVyXHJcbiAqIEBwYXJhbSBsYXllciBBbiBvcHRpb25hbCBWZWN0b3JMYXllclxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHRyeUJpbmRTdG9yZUxheWVyKHN0b3JlOiBGZWF0dXJlU3RvcmUsIGxheWVyPzogVmVjdG9yTGF5ZXIpIHtcclxuICBpZiAoc3RvcmUubGF5ZXIgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgaWYgKHN0b3JlLmxheWVyLm1hcCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHN0b3JlLm1hcC5hZGRMYXllcihzdG9yZS5sYXllcik7XHJcbiAgICB9XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICBsYXllciA9IGxheWVyXHJcbiAgICA/IGxheWVyXHJcbiAgICA6IG5ldyBWZWN0b3JMYXllcih7XHJcbiAgICAgICAgc291cmNlOiBuZXcgRmVhdHVyZURhdGFTb3VyY2UoKVxyXG4gICAgICB9KTtcclxuICBzdG9yZS5iaW5kTGF5ZXIobGF5ZXIpO1xyXG4gIGlmIChzdG9yZS5sYXllci5tYXAgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgc3RvcmUubWFwLmFkZExheWVyKHN0b3JlLmxheWVyKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -5,4 +5,4 @@ export * from './feature-store.utils';
|
|
|
5
5
|
export * from './store';
|
|
6
6
|
export * from './strategies';
|
|
7
7
|
export * from './strategies.utils';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL3NoYXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUuZW51bXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUuaW50ZXJmYWNlcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZS51dGlscyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZS1zdG9yZS51dGlscyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3N0cmF0ZWdpZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3N0cmF0ZWdpZXMudXRpbHMnO1xyXG4iXX0=
|
|
@@ -140,7 +140,7 @@ export class OgcFilterButtonComponent {
|
|
|
140
140
|
}
|
|
141
141
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OgcFilterButtonComponent, [{
|
|
142
142
|
type: Component,
|
|
143
|
-
args: [{ selector: 'igo-ogc-filter-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n *ngIf=\"\n header &&\n options.ogcFilters &&\n options.ogcFilters.enabled &&\n (options.ogcFilters.pushButtons ||\n options.ogcFilters.checkboxes ||\n options.ogcFilters.radioButtons ||\n options.ogcFilters.select ||\n options.ogcFilters.autocomplete ||\n options.ogcFilters.editable)\n \"\n mat-icon-button\n collapsibleButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.filter.filterBy' | translate\"\n [color]=\"color\"\n>\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"badge\"\n matBadgeColor=\"warn\"\n matBadgeSize=\"medium\"\n svgIcon=\"filter\"\n ></mat-icon>\n</button>\n\n<div\n #ogcFilter\n class=\"igo-layer-actions-container\"\n *ngIf=\"\n options.ogcFilters &&\n options.ogcFilters.enabled &&\n (options.ogcFilters.pushButtons ||\n options.ogcFilters.checkboxes ||\n options.ogcFilters.radioButtons ||\n options.ogcFilters.select ||\n options.ogcFilters.autocomplete ||\n options.ogcFilters.editable)\n \"\n>\n <igo-ogc-filterable-item\n *ngIf=\"ogcFilterCollapse && options.ogcFilters.enabled\"\n igoListItem\n [header]=\"false\"\n [map]=\"layer.map\"\n [layer]=\"layer\"\n >\n </igo-ogc-filterable-item>\n</div>\n" }]
|
|
143
|
+
args: [{ selector: 'igo-ogc-filter-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\r\n *ngIf=\"\r\n header &&\r\n options.ogcFilters &&\r\n options.ogcFilters.enabled &&\r\n (options.ogcFilters.pushButtons ||\r\n options.ogcFilters.checkboxes ||\r\n options.ogcFilters.radioButtons ||\r\n options.ogcFilters.select ||\r\n options.ogcFilters.autocomplete ||\r\n options.ogcFilters.editable)\r\n \"\r\n mat-icon-button\r\n collapsibleButton\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.filter.filterBy' | translate\"\r\n [color]=\"color\"\r\n>\r\n <mat-icon\r\n aria-hidden=\"false\"\r\n [matBadge]=\"badge\"\r\n matBadgeColor=\"warn\"\r\n matBadgeSize=\"medium\"\r\n svgIcon=\"filter\"\r\n ></mat-icon>\r\n</button>\r\n\r\n<div\r\n #ogcFilter\r\n class=\"igo-layer-actions-container\"\r\n *ngIf=\"\r\n options.ogcFilters &&\r\n options.ogcFilters.enabled &&\r\n (options.ogcFilters.pushButtons ||\r\n options.ogcFilters.checkboxes ||\r\n options.ogcFilters.radioButtons ||\r\n options.ogcFilters.select ||\r\n options.ogcFilters.autocomplete ||\r\n options.ogcFilters.editable)\r\n \"\r\n>\r\n <igo-ogc-filterable-item\r\n *ngIf=\"ogcFilterCollapse && options.ogcFilters.enabled\"\r\n igoListItem\r\n [header]=\"false\"\r\n [map]=\"layer.map\"\r\n [layer]=\"layer\"\r\n >\r\n </igo-ogc-filterable-item>\r\n</div>\r\n" }]
|
|
144
144
|
}], function () { return []; }, { layer: [{
|
|
145
145
|
type: Input
|
|
146
146
|
}], map: [{
|
|
@@ -150,4 +150,4 @@ export class OgcFilterButtonComponent {
|
|
|
150
150
|
}], header: [{
|
|
151
151
|
type: Input
|
|
152
152
|
}] }); })();
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2djLWZpbHRlci1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZmlsdGVyL29nYy1maWx0ZXItYnV0dG9uL29nYy1maWx0ZXItYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZpbHRlci9vZ2MtZmlsdGVyLWJ1dHRvbi9vZ2MtZmlsdGVyLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBRU4sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0lDUjFDLGlDQWtCQzs7SUFDQyw4QkFNWTtJQUNkLGlCQUFTOzs7SUFWUCw0RUFBb0QsdUJBQUE7SUFLbEQsZUFBa0I7SUFBbEIsdUNBQWtCOzs7SUFxQnBCLDZDQU8wQjs7O0lBSnhCLDhCQUFnQix5QkFBQSx1QkFBQTs7O0lBakJwQixpQ0FhQztJQUNDLHVIQU8wQjtJQUM1QixpQkFBTTs7O0lBUEQsZUFBcUQ7SUFBckQsb0ZBQXFEOztBRHZCMUQsTUFBTSxPQUFPLHdCQUF3QjtJQUM1QixPQUFPLENBQWlDO0lBRS9DLElBQUksS0FBSztRQUNQLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBaUIsQ0FBQztRQUM5QyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDWixJQUFJLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRTtZQUN4QyxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUU7Z0JBQ3RCLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUE2QixDQUFD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LENBQUM7SUFFaEIsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVO2FBQ2pDLE9BQXlDLENBQUM7SUFDL0MsQ0FBQztrRkE5SVUsd0JBQXdCOzZEQUF4Qix3QkFBd0I7WUNwQnJDLCtFQTBCUztZQUVULHlFQXNCTTs7WUFqREgsNFRBV0g7WUFtQkcsZUFVSDtZQVZHLDhTQVVIOzs7dUZEckJhLHdCQUF3QjtjQU5wQyxTQUFTOzJCQUNFLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTTtzQ0F1SDNDLEtBQUs7a0JBRFIsS0FBSztZQWFHLEdBQUc7a0JBQVgsS0FBSztZQUVHLEtBQUs7a0JBQWIsS0FBSztZQUVHLE1BQU07a0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgTGF5ZXIgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXJzL2xheWVyJztcclxuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZCc7XHJcbmltcG9ydCB7XHJcbiAgSWdvT2djU2VsZWN0b3IsXHJcbiAgT2djRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zXHJcbn0gZnJvbSAnLi4vc2hhcmVkL29nYy1maWx0ZXIuaW50ZXJmYWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLW9nYy1maWx0ZXItYnV0dG9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vb2djLWZpbHRlci1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL29nYy1maWx0ZXItYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIE9nY0ZpbHRlckJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIG9wdGlvbnM6IE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucztcclxuXHJcbiAgZ2V0IGJhZGdlKCkge1xyXG4gICAgY29uc3QgZmlsdGVyID0gdGhpcy5vcHRpb25zLm9nY0ZpbHRlcnMgYXMgYW55O1xyXG4gICAgbGV0IGNudCA9IDA7XHJcbiAgICBpZiAoZmlsdGVyICYmICFmaWx0ZXIuYWR2YW5jZWRPZ2NGaWx0ZXJzKSB7XHJcbiAgICAgIGlmIChmaWx0ZXIucHVzaEJ1dHRvbnMpIHtcclxuICAgICAgICBjb25zdCBwdXNoQnV0dG9ucyA9IGZpbHRlci5wdXNoQnV0dG9ucyBhcyBJZ29PZ2NTZWxlY3RvcjtcclxuICAgICAgICBjb25zdCBjdXJyZW50UHVzaEJ1dHRvbkdyb3VwID0gcHVzaEJ1dHRvbnMuZ3JvdXBzLmZpbmQoXHJcbiAgICAgICAgICAoZ3IpID0+IGdyLmVuYWJsZWRcclxuICAgICAgICApO1xyXG4gICAgICAgIGxldCBjbnRQdXNoQnV0dG9ucyA9IDA7XHJcbiAgICAgICAgaWYgKGN1cnJlbnRQdXNoQnV0dG9uR3JvdXApIHtcclxuICAgICAgICAgIGN1cnJlbnRQdXNoQnV0dG9uR3JvdXAuY29tcHV0ZWRTZWxlY3RvcnM/Lm1hcChcclxuICAgICAgICAgICAgKGNiKSA9PlxyXG4gICAgICAgICAgICAgIChjbnRQdXNoQnV0dG9ucyArPSAoY2Iuc2VsZWN0b3JzIGFzIGFueSk/LmZpbHRlcihcclxuICAgICAgICAgICAgICAgIChidXR0b24pID0+IGJ1dHRvbi5lbmFibGVkXHJcbiAgICAgICAgICAgICAgKS5sZW5ndGgpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjbnQgKz0gY250UHVzaEJ1dHRvbnM7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGZpbHRlci5jaGVja2JveGVzKSB7XHJcbiAgICAgICAgY29uc3QgY2hlY2tib3hlcyA9IGZpbHRlci5jaGVja2JveGVzIGFzIElnb09nY1NlbGVjdG9yO1xyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRDaGVja2JveEdyb3VwID0gY2hlY2tib3hlcy5ncm91cHMuZmluZCgoZ3IpID0+IGdyLmVuYWJsZWQpO1xyXG4gICAgICAgIGxldCBjbnRDaGVja2JveGVzID0gMDtcclxuICAgICAgICBpZiAoY3VycmVudENoZWNrYm94R3JvdXApIHtcclxuICAgICAgICAgIGN1cnJlbnRDaGVja2JveEdyb3VwLmNvbXB1dGVkU2VsZWN0b3JzPy5tYXAoXHJcbiAgICAgICAgICAgIChjYikgPT5cclxuICAgICAgICAgICAgICAoY250Q2hlY2tib3hlcyArPSAoY2Iuc2VsZWN0b3JzIGFzIGFueSk/LmZpbHRlcihcclxuICAgICAgICAgICAgICAgIChjaGVja2JveCkgPT4gY2hlY2tib3guZW5hYmxlZFxyXG4gICAgICAgICAgICAgICkubGVuZ3RoKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY250ICs9IGNudENoZWNrYm94ZXM7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGZpbHRlci5yYWRpb0J1dHRvbnMpIHtcclxuICAgICAgICBjb25zdCByYWRpb0J1dHRvbnMgPSBmaWx0ZXIucmFkaW9CdXR0b25zIGFzIElnb09nY1NlbGVjdG9yO1xyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRSYWRpb0J1dHRvbnNHcm91cCA9IHJhZGlvQnV0dG9ucy5ncm91cHMuZmluZChcclxuICAgICAgICAgIChncikgPT4gZ3IuZW5hYmxlZFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgbGV0IGNudFJhZGlvQnV0dG9ucyA9IDA7XHJcbiAgICAgICAgaWYgKGN1cnJlbnRSYWRpb0J1dHRvbnNHcm91cCkge1xyXG4gICAgICAgICAgY3VycmVudFJhZGlvQnV0dG9uc0dyb3VwLmNvbXB1dGVkU2VsZWN0b3JzPy5tYXAoXHJcbiAgICAgICAgICAgIChjYikgPT5cclxuICAgICAgICAgICAgICAoY250UmFkaW9CdXR0b25zICs9IChjYi5zZWxlY3RvcnMgYXMgYW55KT8uZmlsdGVyKFxyXG4gICAgICAgICAgICAgICAgKHJhZGlvKSA9PiByYWRpby5lbmFibGVkXHJcbiAgICAgICAgICAgICAgKS5sZW5ndGgpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjbnQgKz0gY250UmFkaW9CdXR0b25zO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChmaWx0ZXIuc2VsZWN0KSB7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0ID0gZmlsdGVyLnNlbGVjdCBhcyBJZ29PZ2NTZWxlY3RvcjtcclxuICAgICAgICBjb25zdCBjdXJyZW50U2VsZWN0R3JvdXAgPSBzZWxlY3QuZ3JvdXBzLmZpbmQoKGdyKSA9PiBnci5lbmFibGVkKTtcclxuICAgICAgICBsZXQgY250U2VsZWN0ID0gMDtcclxuICAgICAgICBpZiAoY3VycmVudFNlbGVjdEdyb3VwKSB7XHJcbiAgICAgICAgICBjdXJyZW50U2VsZWN0R3JvdXAuY29tcHV0ZWRTZWxlY3RvcnM/Lm1hcChcclxuICAgICAgICAgICAgKGNiKSA9PlxyXG4gICAgICAgICAgICAgIChjbnRTZWxlY3QgKz0gKGNiLnNlbGVjdG9ycyBhcyBhbnkpPy5maWx0ZXIoXHJcbiAgICAgICAgICAgICAgICAobXVsdGkpID0+IG11bHRpLmVuYWJsZWRcclxuICAgICAgICAgICAgICApLmxlbmd0aClcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNudCArPSBjbnRTZWxlY3Q7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGZpbHRlci5hdXRvY29tcGxldGUpIHtcclxuICAgICAgICBjb25zdCBhdXRvY29tcGxldGUgPSBmaWx0ZXIuYXV0b2NvbXBsZXRlIGFzIElnb09nY1NlbGVjdG9yO1xyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRBdXRvY29tcGxldGVHcm91cCA9IGF1dG9jb21wbGV0ZS5ncm91cHMuZmluZChcclxuICAgICAgICAgIChncikgPT4gZ3IuZW5hYmxlZFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgbGV0IGNudEF1dG9jb21wbGV0ZSA9IDA7XHJcbiAgICAgICAgaWYgKGN1cnJlbnRBdXRvY29tcGxldGVHcm91cCkge1xyXG4gICAgICAgICAgY3VycmVudEF1dG9jb21wbGV0ZUdyb3VwLmNvbXB1dGVkU2VsZWN0b3JzPy5tYXAoXHJcbiAgICAgICAgICAgIChjYikgPT5cclxuICAgICAgICAgICAgICAoY250QXV0b2NvbXBsZXRlICs9IChjYi5zZWxlY3RvcnMgYXMgYW55KT8uZmlsdGVyKFxyXG4gICAgICAgICAgICAgICAgKGF1dG9jb21wbGV0ZSkgPT4gYXV0b2NvbXBsZXRlLmVuYWJsZWRcclxuICAgICAgICAgICAgICApLmxlbmd0aClcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNudCArPSBjbnRBdXRvY29tcGxldGU7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoZmlsdGVyICYmIGZpbHRlci5maWx0ZXJzICYmICFmaWx0ZXIuZmlsdGVycy5maWx0ZXJzKSB7XHJcbiAgICAgIHJldHVybiAxO1xyXG4gICAgfSBlbHNlIGlmIChmaWx0ZXIgJiYgZmlsdGVyLmZpbHRlcnMgJiYgZmlsdGVyLmZpbHRlcnMuZmlsdGVycykge1xyXG4gICAgICByZXR1cm4gZmlsdGVyLmZpbHRlcnMuZmlsdGVycy5sZW5ndGg7XHJcbiAgICB9XHJcbiAgICBpZiAoXHJcbiAgICAgIGZpbHRlci5maWx0ZXJzICYmXHJcbiAgICAgIGZpbHRlci5maWx0ZXJzLm9wZXJhdG9yID09PSAnRHVyaW5nJyAmJlxyXG4gICAgICBmaWx0ZXIuZmlsdGVycy5hY3RpdmUgJiZcclxuICAgICAgZmlsdGVyLmludGVyZmFjZU9nY0ZpbHRlcnMgJiZcclxuICAgICAgZmlsdGVyLmludGVyZmFjZU9nY0ZpbHRlcnNbMF0uYWN0aXZlXHJcbiAgICApIHtcclxuICAgICAgY29uc3QgZmlsdGVyQWN0aXZlVmFsdWUgPSBmaWx0ZXIuaW50ZXJmYWNlT2djRmlsdGVyc1swXTtcclxuICAgICAgaWYgKGZpbHRlci5maWx0ZXJzLmNhbGVuZGFyTW9kZVllYXIpIHtcclxuICAgICAgICAvLyB5ZWFyIG1vZGUgY2hlY2sganVzdCB5ZWFyXHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgZmlsdGVyQWN0aXZlVmFsdWUuYmVnaW4uc3Vic3RyaW5nKDAsIDQpICE9PVxyXG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMubWluRGF0ZS5zdWJzdHJpbmcoMCwgNCkgfHxcclxuICAgICAgICAgIGZpbHRlckFjdGl2ZVZhbHVlLmVuZC5zdWJzdHJpbmcoMCwgNCkgIT09XHJcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucy5tYXhEYXRlLnN1YnN0cmluZygwLCA0KVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgY250ICs9IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKFxyXG4gICAgICAgIGZpbHRlckFjdGl2ZVZhbHVlLmJlZ2luICE9PSB0aGlzLm9wdGlvbnMubWluRGF0ZSB8fFxyXG4gICAgICAgIGZpbHRlckFjdGl2ZVZhbHVlLmVuZCAhPT0gdGhpcy5vcHRpb25zLm1heERhdGVcclxuICAgICAgKSB7XHJcbiAgICAgICAgY250ICs9IDE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBjbnQgPiAwID8gY250IDogdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgbGF5ZXIoKTogTGF5ZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xheWVyO1xyXG4gIH1cclxuICBzZXQgbGF5ZXIodmFsdWU6IExheWVyKSB7XHJcbiAgICB0aGlzLl9sYXllciA9IHZhbHVlO1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMub3B0aW9ucyA9IHRoaXMubGF5ZXIuZGF0YVNvdXJjZVxyXG4gICAgICAgIC5vcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucztcclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBfbGF5ZXI7XHJcblxyXG4gIEBJbnB1dCgpIG1hcDogSWdvTWFwO1xyXG5cclxuICBASW5wdXQoKSBjb2xvcjogc3RyaW5nID0gJ3ByaW1hcnknO1xyXG5cclxuICBASW5wdXQoKSBoZWFkZXI6IGJvb2xlYW47XHJcblxyXG4gIHB1YmxpYyBvZ2NGaWx0ZXJDb2xsYXBzZSA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5sYXllci5kYXRhU291cmNlXHJcbiAgICAgIC5vcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucztcclxuICB9XHJcbn1cclxuIiwiPGJ1dHRvblxuICAqbmdJZj1cIlxuICAgIGhlYWRlciAmJlxuICAgIG9wdGlvbnMub2djRmlsdGVycyAmJlxuICAgIG9wdGlvbnMub2djRmlsdGVycy5lbmFibGVkICYmXG4gICAgKG9wdGlvbnMub2djRmlsdGVycy5wdXNoQnV0dG9ucyB8fFxuICAgICAgb3B0aW9ucy5vZ2NGaWx0ZXJzLmNoZWNrYm94ZXMgfHxcbiAgICAgIG9wdGlvbnMub2djRmlsdGVycy5yYWRpb0J1dHRvbnMgfHxcbiAgICAgIG9wdGlvbnMub2djRmlsdGVycy5zZWxlY3QgfHxcbiAgICAgIG9wdGlvbnMub2djRmlsdGVycy5hdXRvY29tcGxldGUgfHxcbiAgICAgIG9wdGlvbnMub2djRmlsdGVycy5lZGl0YWJsZSlcbiAgXCJcbiAgbWF0LWljb24tYnV0dG9uXG4gIGNvbGxhcHNpYmxlQnV0dG9uXG4gIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5maWx0ZXIuZmlsdGVyQnknIHwgdHJhbnNsYXRlXCJcbiAgW2NvbG9yXT1cImNvbG9yXCJcbj5cbiAgPG1hdC1pY29uXG4gICAgYXJpYS1oaWRkZW49XCJmYWxzZVwiXG4gICAgW21hdEJhZGdlXT1cImJhZGdlXCJcbiAgICBtYXRCYWRnZUNvbG9yPVwid2FyblwiXG4gICAgbWF0QmFkZ2VTaXplPVwibWVkaXVtXCJcbiAgICBzdmdJY29uPVwiZmlsdGVyXCJcbiAgPjwvbWF0LWljb24+XG48L2J1dHRvbj5cblxuPGRpdlxuICAjb2djRmlsdGVyXG4gIGNsYXNzPVwiaWdvLWxheWVyLWFjdGlvbnMtY29udGFpbmVyXCJcbiAgKm5nSWY9XCJcbiAgICBvcHRpb25zLm9nY0ZpbHRlcnMgJiZcbiAgICBvcHRpb25zLm9nY0ZpbHRlcnMuZW5hYmxlZCAmJlxuICAgIChvcHRpb25zLm9nY0ZpbHRlcnMucHVzaEJ1dHRvbnMgfHxcbiAgICAgIG9wdGlvbnMub2djRmlsdGVycy5jaGVja2JveGVzIHx8XG4gICAgICBvcHRpb25zLm9nY0ZpbHRlcnMucmFkaW9CdXR0b25zIHx8XG4gICAgICBvcHRpb25zLm9nY0ZpbHRlcnMuc2VsZWN0IHx8XG4gICAgICBvcHRpb25zLm9nY0ZpbHRlcnMuYXV0b2NvbXBsZXRlIHx8XG4gICAgICBvcHRpb25zLm9nY0ZpbHRlcnMuZWRpdGFibGUpXG4gIFwiXG4+XG4gIDxpZ28tb2djLWZpbHRlcmFibGUtaXRlbVxuICAgICpuZ0lmPVwib2djRmlsdGVyQ29sbGFwc2UgJiYgb3B0aW9ucy5vZ2NGaWx0ZXJzLmVuYWJsZWRcIlxuICAgIGlnb0xpc3RJdGVtXG4gICAgW2hlYWRlcl09XCJmYWxzZVwiXG4gICAgW21hcF09XCJsYXllci5tYXBcIlxuICAgIFtsYXllcl09XCJsYXllclwiXG4gID5cbiAgPC9pZ28tb2djLWZpbHRlcmFibGUtaXRlbT5cbjwvZGl2PlxuIl19
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2djLWZpbHRlci1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZmlsdGVyL29nYy1maWx0ZXItYnV0dG9uL29nYy1maWx0ZXItYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZpbHRlci9vZ2MtZmlsdGVyLWJ1dHRvbi9vZ2MtZmlsdGVyLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBRU4sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0lDUjFDLGlDQWtCQzs7SUFDQyw4QkFNWTtJQUNkLGlCQUFTOzs7SUFWUCw0RUFBb0QsdUJBQUE7SUFLbEQsZUFBa0I7SUFBbEIsdUNBQWtCOzs7SUFxQnBCLDZDQU8wQjs7O0lBSnhCLDhCQUFnQix5QkFBQSx1QkFBQTs7O0lBakJwQixpQ0FhQztJQUNDLHVIQU8wQjtJQUM1QixpQkFBTTs7O0lBUEQsZUFBcUQ7SUFBckQsb0ZBQXFEOztBRHZCMUQsTUFBTSxPQUFPLHdCQUF3QjtJQUM1QixPQUFPLENBQWlDO0lBRS9DLElBQUksS0FBSztRQUNQLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBaUIsQ0FBQztRQUM5QyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDWixJQUFJLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRTtZQUN4QyxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUU7Z0JBQ3RCLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUE2QixDQUFD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LENBQUM7SUFFaEIsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVO2FBQ2pDLE9BQXlDLENBQUM7SUFDL0MsQ0FBQztrRkE5SVUsd0JBQXdCOzZEQUF4Qix3QkFBd0I7WUNwQnJDLCtFQTBCUztZQUVULHlFQXNCTTs7WUFqREgsNFRBUzRCO1lBcUI1QixlQVE2QjtZQVI3Qiw4U0FRNkI7Ozt1RkRuQm5CLHdCQUF3QjtjQU5wQyxTQUFTOzJCQUNFLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTTtzQ0F1SDNDLEtBQUs7a0JBRFIsS0FBSztZQWFHLEdBQUc7a0JBQVgsS0FBSztZQUVHLEtBQUs7a0JBQWIsS0FBSztZQUVHLE1BQU07a0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgTGF5ZXIgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXJzL2xheWVyJztcclxuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZCc7XHJcbmltcG9ydCB7XHJcbiAgSWdvT2djU2VsZWN0b3IsXHJcbiAgT2djRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zXHJcbn0gZnJvbSAnLi4vc2hhcmVkL29nYy1maWx0ZXIuaW50ZXJmYWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLW9nYy1maWx0ZXItYnV0dG9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vb2djLWZpbHRlci1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL29nYy1maWx0ZXItYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIE9nY0ZpbHRlckJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIG9wdGlvbnM6IE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucztcclxuXHJcbiAgZ2V0IGJhZGdlKCkge1xyXG4gICAgY29uc3QgZmlsdGVyID0gdGhpcy5vcHRpb25zLm9nY0ZpbHRlcnMgYXMgYW55O1xyXG4gICAgbGV0IGNudCA9IDA7XHJcbiAgICBpZiAoZmlsdGVyICYmICFmaWx0ZXIuYWR2YW5jZWRPZ2NGaWx0ZXJzKSB7XHJcbiAgICAgIGlmIChmaWx0ZXIucHVzaEJ1dHRvbnMpIHtcclxuICAgICAgICBjb25zdCBwdXNoQnV0dG9ucyA9IGZpbHRlci5wdXNoQnV0dG9ucyBhcyBJZ29PZ2NTZWxlY3RvcjtcclxuICAgICAgICBjb25zdCBjdXJyZW50UHVzaEJ1dHRvbkdyb3VwID0gcHVzaEJ1dHRvbnMuZ3JvdXBzLmZpbmQoXHJcbiAgICAgICAgICAoZ3IpID0+IGdyLmVuYWJsZWRcclxuICAgICAgICApO1xyXG4gICAgICAgIGxldCBjbnRQdXNoQnV0dG9ucyA9IDA7XHJcbiAgICAgICAgaWYgKGN1cnJlbnRQdXNoQnV0dG9uR3JvdXApIHtcclxuICAgICAgICAgIGN1cnJlbnRQdXNoQnV0dG9uR3JvdXAuY29tcHV0ZWRTZWxlY3RvcnM/Lm1hcChcclxuICAgICAgICAgICAgKGNiKSA9PlxyXG4gICAgICAgICAgICAgIChjbnRQdXNoQnV0dG9ucyArPSAoY2Iuc2VsZWN0b3JzIGFzIGFueSk/LmZpbHRlcihcclxuICAgICAgICAgICAgICAgIChidXR0b24pID0+IGJ1dHRvbi5lbmFibGVkXHJcbiAgICAgICAgICAgICAgKS5sZW5ndGgpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjbnQgKz0gY250UHVzaEJ1dHRvbnM7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGZpbHRlci5jaGVja2JveGVzKSB7XHJcbiAgICAgICAgY29uc3QgY2hlY2tib3hlcyA9IGZpbHRlci5jaGVja2JveGVzIGFzIElnb09nY1NlbGVjdG9yO1xyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRDaGVja2JveEdyb3VwID0gY2hlY2tib3hlcy5ncm91cHMuZmluZCgoZ3IpID0+IGdyLmVuYWJsZWQpO1xyXG4gICAgICAgIGxldCBjbnRDaGVja2JveGVzID0gMDtcclxuICAgICAgICBpZiAoY3VycmVudENoZWNrYm94R3JvdXApIHtcclxuICAgICAgICAgIGN1cnJlbnRDaGVja2JveEdyb3VwLmNvbXB1dGVkU2VsZWN0b3JzPy5tYXAoXHJcbiAgICAgICAgICAgIChjYikgPT5cclxuICAgICAgICAgICAgICAoY250Q2hlY2tib3hlcyArPSAoY2Iuc2VsZWN0b3JzIGFzIGFueSk/LmZpbHRlcihcclxuICAgICAgICAgICAgICAgIChjaGVja2JveCkgPT4gY2hlY2tib3guZW5hYmxlZFxyXG4gICAgICAgICAgICAgICkubGVuZ3RoKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY250ICs9IGNudENoZWNrYm94ZXM7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGZpbHRlci5yYWRpb0J1dHRvbnMpIHtcclxuICAgICAgICBjb25zdCByYWRpb0J1dHRvbnMgPSBmaWx0ZXIucmFkaW9CdXR0b25zIGFzIElnb09nY1NlbGVjdG9yO1xyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRSYWRpb0J1dHRvbnNHcm91cCA9IHJhZGlvQnV0dG9ucy5ncm91cHMuZmluZChcclxuICAgICAgICAgIChncikgPT4gZ3IuZW5hYmxlZFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgbGV0IGNudFJhZGlvQnV0dG9ucyA9IDA7XHJcbiAgICAgICAgaWYgKGN1cnJlbnRSYWRpb0J1dHRvbnNHcm91cCkge1xyXG4gICAgICAgICAgY3VycmVudFJhZGlvQnV0dG9uc0dyb3VwLmNvbXB1dGVkU2VsZWN0b3JzPy5tYXAoXHJcbiAgICAgICAgICAgIChjYikgPT5cclxuICAgICAgICAgICAgICAoY250UmFkaW9CdXR0b25zICs9IChjYi5zZWxlY3RvcnMgYXMgYW55KT8uZmlsdGVyKFxyXG4gICAgICAgICAgICAgICAgKHJhZGlvKSA9PiByYWRpby5lbmFibGVkXHJcbiAgICAgICAgICAgICAgKS5sZW5ndGgpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjbnQgKz0gY250UmFkaW9CdXR0b25zO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChmaWx0ZXIuc2VsZWN0KSB7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0ID0gZmlsdGVyLnNlbGVjdCBhcyBJZ29PZ2NTZWxlY3RvcjtcclxuICAgICAgICBjb25zdCBjdXJyZW50U2VsZWN0R3JvdXAgPSBzZWxlY3QuZ3JvdXBzLmZpbmQoKGdyKSA9PiBnci5lbmFibGVkKTtcclxuICAgICAgICBsZXQgY250U2VsZWN0ID0gMDtcclxuICAgICAgICBpZiAoY3VycmVudFNlbGVjdEdyb3VwKSB7XHJcbiAgICAgICAgICBjdXJyZW50U2VsZWN0R3JvdXAuY29tcHV0ZWRTZWxlY3RvcnM/Lm1hcChcclxuICAgICAgICAgICAgKGNiKSA9PlxyXG4gICAgICAgICAgICAgIChjbnRTZWxlY3QgKz0gKGNiLnNlbGVjdG9ycyBhcyBhbnkpPy5maWx0ZXIoXHJcbiAgICAgICAgICAgICAgICAobXVsdGkpID0+IG11bHRpLmVuYWJsZWRcclxuICAgICAgICAgICAgICApLmxlbmd0aClcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNudCArPSBjbnRTZWxlY3Q7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGZpbHRlci5hdXRvY29tcGxldGUpIHtcclxuICAgICAgICBjb25zdCBhdXRvY29tcGxldGUgPSBmaWx0ZXIuYXV0b2NvbXBsZXRlIGFzIElnb09nY1NlbGVjdG9yO1xyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRBdXRvY29tcGxldGVHcm91cCA9IGF1dG9jb21wbGV0ZS5ncm91cHMuZmluZChcclxuICAgICAgICAgIChncikgPT4gZ3IuZW5hYmxlZFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgbGV0IGNudEF1dG9jb21wbGV0ZSA9IDA7XHJcbiAgICAgICAgaWYgKGN1cnJlbnRBdXRvY29tcGxldGVHcm91cCkge1xyXG4gICAgICAgICAgY3VycmVudEF1dG9jb21wbGV0ZUdyb3VwLmNvbXB1dGVkU2VsZWN0b3JzPy5tYXAoXHJcbiAgICAgICAgICAgIChjYikgPT5cclxuICAgICAgICAgICAgICAoY250QXV0b2NvbXBsZXRlICs9IChjYi5zZWxlY3RvcnMgYXMgYW55KT8uZmlsdGVyKFxyXG4gICAgICAgICAgICAgICAgKGF1dG9jb21wbGV0ZSkgPT4gYXV0b2NvbXBsZXRlLmVuYWJsZWRcclxuICAgICAgICAgICAgICApLmxlbmd0aClcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNudCArPSBjbnRBdXRvY29tcGxldGU7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoZmlsdGVyICYmIGZpbHRlci5maWx0ZXJzICYmICFmaWx0ZXIuZmlsdGVycy5maWx0ZXJzKSB7XHJcbiAgICAgIHJldHVybiAxO1xyXG4gICAgfSBlbHNlIGlmIChmaWx0ZXIgJiYgZmlsdGVyLmZpbHRlcnMgJiYgZmlsdGVyLmZpbHRlcnMuZmlsdGVycykge1xyXG4gICAgICByZXR1cm4gZmlsdGVyLmZpbHRlcnMuZmlsdGVycy5sZW5ndGg7XHJcbiAgICB9XHJcbiAgICBpZiAoXHJcbiAgICAgIGZpbHRlci5maWx0ZXJzICYmXHJcbiAgICAgIGZpbHRlci5maWx0ZXJzLm9wZXJhdG9yID09PSAnRHVyaW5nJyAmJlxyXG4gICAgICBmaWx0ZXIuZmlsdGVycy5hY3RpdmUgJiZcclxuICAgICAgZmlsdGVyLmludGVyZmFjZU9nY0ZpbHRlcnMgJiZcclxuICAgICAgZmlsdGVyLmludGVyZmFjZU9nY0ZpbHRlcnNbMF0uYWN0aXZlXHJcbiAgICApIHtcclxuICAgICAgY29uc3QgZmlsdGVyQWN0aXZlVmFsdWUgPSBmaWx0ZXIuaW50ZXJmYWNlT2djRmlsdGVyc1swXTtcclxuICAgICAgaWYgKGZpbHRlci5maWx0ZXJzLmNhbGVuZGFyTW9kZVllYXIpIHtcclxuICAgICAgICAvLyB5ZWFyIG1vZGUgY2hlY2sganVzdCB5ZWFyXHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgZmlsdGVyQWN0aXZlVmFsdWUuYmVnaW4uc3Vic3RyaW5nKDAsIDQpICE9PVxyXG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMubWluRGF0ZS5zdWJzdHJpbmcoMCwgNCkgfHxcclxuICAgICAgICAgIGZpbHRlckFjdGl2ZVZhbHVlLmVuZC5zdWJzdHJpbmcoMCwgNCkgIT09XHJcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucy5tYXhEYXRlLnN1YnN0cmluZygwLCA0KVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgY250ICs9IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKFxyXG4gICAgICAgIGZpbHRlckFjdGl2ZVZhbHVlLmJlZ2luICE9PSB0aGlzLm9wdGlvbnMubWluRGF0ZSB8fFxyXG4gICAgICAgIGZpbHRlckFjdGl2ZVZhbHVlLmVuZCAhPT0gdGhpcy5vcHRpb25zLm1heERhdGVcclxuICAgICAgKSB7XHJcbiAgICAgICAgY250ICs9IDE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBjbnQgPiAwID8gY250IDogdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgbGF5ZXIoKTogTGF5ZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xheWVyO1xyXG4gIH1cclxuICBzZXQgbGF5ZXIodmFsdWU6IExheWVyKSB7XHJcbiAgICB0aGlzLl9sYXllciA9IHZhbHVlO1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMub3B0aW9ucyA9IHRoaXMubGF5ZXIuZGF0YVNvdXJjZVxyXG4gICAgICAgIC5vcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucztcclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBfbGF5ZXI7XHJcblxyXG4gIEBJbnB1dCgpIG1hcDogSWdvTWFwO1xyXG5cclxuICBASW5wdXQoKSBjb2xvcjogc3RyaW5nID0gJ3ByaW1hcnknO1xyXG5cclxuICBASW5wdXQoKSBoZWFkZXI6IGJvb2xlYW47XHJcblxyXG4gIHB1YmxpYyBvZ2NGaWx0ZXJDb2xsYXBzZSA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5sYXllci5kYXRhU291cmNlXHJcbiAgICAgIC5vcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucztcclxuICB9XHJcbn1cclxuIiwiPGJ1dHRvblxyXG4gICpuZ0lmPVwiXHJcbiAgICBoZWFkZXIgJiZcclxuICAgIG9wdGlvbnMub2djRmlsdGVycyAmJlxyXG4gICAgb3B0aW9ucy5vZ2NGaWx0ZXJzLmVuYWJsZWQgJiZcclxuICAgIChvcHRpb25zLm9nY0ZpbHRlcnMucHVzaEJ1dHRvbnMgfHxcclxuICAgICAgb3B0aW9ucy5vZ2NGaWx0ZXJzLmNoZWNrYm94ZXMgfHxcclxuICAgICAgb3B0aW9ucy5vZ2NGaWx0ZXJzLnJhZGlvQnV0dG9ucyB8fFxyXG4gICAgICBvcHRpb25zLm9nY0ZpbHRlcnMuc2VsZWN0IHx8XHJcbiAgICAgIG9wdGlvbnMub2djRmlsdGVycy5hdXRvY29tcGxldGUgfHxcclxuICAgICAgb3B0aW9ucy5vZ2NGaWx0ZXJzLmVkaXRhYmxlKVxyXG4gIFwiXHJcbiAgbWF0LWljb24tYnV0dG9uXHJcbiAgY29sbGFwc2libGVCdXR0b25cclxuICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxyXG4gIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLmZpbHRlci5maWx0ZXJCeScgfCB0cmFuc2xhdGVcIlxyXG4gIFtjb2xvcl09XCJjb2xvclwiXHJcbj5cclxuICA8bWF0LWljb25cclxuICAgIGFyaWEtaGlkZGVuPVwiZmFsc2VcIlxyXG4gICAgW21hdEJhZGdlXT1cImJhZGdlXCJcclxuICAgIG1hdEJhZGdlQ29sb3I9XCJ3YXJuXCJcclxuICAgIG1hdEJhZGdlU2l6ZT1cIm1lZGl1bVwiXHJcbiAgICBzdmdJY29uPVwiZmlsdGVyXCJcclxuICA+PC9tYXQtaWNvbj5cclxuPC9idXR0b24+XHJcblxyXG48ZGl2XHJcbiAgI29nY0ZpbHRlclxyXG4gIGNsYXNzPVwiaWdvLWxheWVyLWFjdGlvbnMtY29udGFpbmVyXCJcclxuICAqbmdJZj1cIlxyXG4gICAgb3B0aW9ucy5vZ2NGaWx0ZXJzICYmXHJcbiAgICBvcHRpb25zLm9nY0ZpbHRlcnMuZW5hYmxlZCAmJlxyXG4gICAgKG9wdGlvbnMub2djRmlsdGVycy5wdXNoQnV0dG9ucyB8fFxyXG4gICAgICBvcHRpb25zLm9nY0ZpbHRlcnMuY2hlY2tib3hlcyB8fFxyXG4gICAgICBvcHRpb25zLm9nY0ZpbHRlcnMucmFkaW9CdXR0b25zIHx8XHJcbiAgICAgIG9wdGlvbnMub2djRmlsdGVycy5zZWxlY3QgfHxcclxuICAgICAgb3B0aW9ucy5vZ2NGaWx0ZXJzLmF1dG9jb21wbGV0ZSB8fFxyXG4gICAgICBvcHRpb25zLm9nY0ZpbHRlcnMuZWRpdGFibGUpXHJcbiAgXCJcclxuPlxyXG4gIDxpZ28tb2djLWZpbHRlcmFibGUtaXRlbVxyXG4gICAgKm5nSWY9XCJvZ2NGaWx0ZXJDb2xsYXBzZSAmJiBvcHRpb25zLm9nY0ZpbHRlcnMuZW5hYmxlZFwiXHJcbiAgICBpZ29MaXN0SXRlbVxyXG4gICAgW2hlYWRlcl09XCJmYWxzZVwiXHJcbiAgICBbbWFwXT1cImxheWVyLm1hcFwiXHJcbiAgICBbbGF5ZXJdPVwibGF5ZXJcIlxyXG4gID5cclxuICA8L2lnby1vZ2MtZmlsdGVyYWJsZS1pdGVtPlxyXG48L2Rpdj5cclxuIl19
|