@igo2/geo 1.14.2 → 1.14.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/assets/icons/cross_black_18px.svg +88 -88
- package/assets/icons/place_blue_36px.svg +55 -55
- package/assets/icons/place_green_36px.svg +55 -55
- package/assets/icons/place_red_36px.svg +55 -55
- package/assets/icons/place_yellow_36px.svg +55 -55
- package/esm2020/lib/catalog/shared/index.mjs +1 -1
- package/esm2020/lib/datasource/index.mjs +1 -1
- package/esm2020/lib/datasource/shared/capabilities.service.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/index.mjs +1 -1
- package/esm2020/lib/directions/directions-buttons/index.mjs +1 -1
- package/esm2020/lib/directions/directions-inputs/index.mjs +1 -1
- package/esm2020/lib/directions/directions-results/index.mjs +1 -1
- package/esm2020/lib/directions/directions-sources/index.mjs +1 -1
- package/esm2020/lib/directions/directions-sources/osrm-directions-source.mjs +1 -1
- package/esm2020/lib/directions/index.mjs +1 -1
- package/esm2020/lib/directions/shared/directions-source.service.mjs +1 -1
- package/esm2020/lib/directions/shared/directions.enum.mjs +1 -1
- package/esm2020/lib/directions/shared/index.mjs +1 -1
- package/esm2020/lib/download/download-button/index.mjs +1 -1
- package/esm2020/lib/download/index.mjs +1 -1
- package/esm2020/lib/download/shared/download.interface.mjs +1 -1
- package/esm2020/lib/download/shared/index.mjs +1 -1
- package/esm2020/lib/draw/draw/draw-popup.component.mjs +2 -2
- package/esm2020/lib/draw/index.mjs +1 -1
- package/esm2020/lib/feature/shared/feature.enums.mjs +1 -1
- package/esm2020/lib/geometry/shared/controls/index.mjs +1 -1
- package/esm2020/lib/geometry/shared/index.mjs +1 -1
- package/esm2020/lib/import-export/export-button/index.mjs +1 -1
- package/esm2020/lib/import-export/import-export/index.mjs +1 -1
- package/esm2020/lib/import-export/shared/export.errors.mjs +1 -1
- package/esm2020/lib/import-export/shared/index.mjs +1 -1
- package/esm2020/lib/layer/layer-legend/layer-legend.component.mjs +2 -2
- package/esm2020/lib/layer/shared/layers/index.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/layer.interface.mjs +1 -1
- package/esm2020/lib/map/baselayers-switcher/mini-basemap.component.mjs +10 -11
- package/esm2020/lib/map/menu-button/menu-button.component.mjs +2 -2
- package/esm2020/lib/map/shared/map.mjs +9 -4
- package/esm2020/lib/map/swipe-control/swipe-control.component.mjs +2 -2
- package/esm2020/lib/measure/shared/index.mjs +1 -1
- package/esm2020/lib/metadata/metadata-button/index.mjs +1 -1
- package/esm2020/lib/metadata/metadata-button/metadata-button.component.mjs +2 -2
- package/esm2020/lib/metadata/shared/index.mjs +1 -1
- package/esm2020/lib/metadata/shared/metadata.service.mjs +1 -1
- package/esm2020/lib/offline/geoDB/index.mjs +1 -1
- package/esm2020/lib/offline/shared/index.mjs +1 -1
- package/esm2020/lib/overlay/index.mjs +1 -1
- package/esm2020/lib/print/index.mjs +1 -1
- package/esm2020/lib/print/print-form/index.mjs +1 -1
- package/esm2020/lib/print/shared/index.mjs +1 -1
- package/esm2020/lib/query/index.mjs +1 -1
- package/esm2020/lib/query/shared/index.mjs +1 -1
- package/esm2020/lib/query/shared/query.enums.mjs +1 -1
- package/esm2020/lib/search/search-bar/search-bar.component.mjs +2 -2
- package/esm2020/lib/search/shared/index.mjs +1 -1
- package/esm2020/lib/search/shared/sources/coordinates.mjs +1 -1
- package/esm2020/lib/search/shared/sources/icherche.mjs +1 -1
- package/esm2020/lib/search/shared/sources/ilayer.mjs +1 -1
- package/esm2020/lib/search/shared/sources/nominatim.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/sources/nominatim.mjs +1 -1
- package/esm2020/lib/search/shared/sources/storedqueries.mjs +1 -1
- package/esm2020/lib/toast/index.mjs +1 -1
- package/esm2020/lib/toast/toast.component.mjs +2 -2
- package/esm2020/lib/wkt/index.mjs +1 -1
- package/esm2020/lib/wkt/shared/index.mjs +1 -1
- package/esm2020/lib/workspace/index.mjs +1 -1
- package/esm2020/lib/workspace/shared/index.mjs +1 -1
- package/esm2020/lib/workspace/widgets/index.mjs +1 -1
- package/esm2020/lib/workspace/widgets/widgets.mjs +1 -1
- package/fesm2015/igo2-geo.mjs +30 -25
- package/fesm2015/igo2-geo.mjs.map +1 -1
- package/fesm2020/igo2-geo.mjs +29 -25
- package/fesm2020/igo2-geo.mjs.map +1 -1
- package/lib/layer/shared/layers/layer.interface.d.ts +2 -0
- package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +1 -1
- package/package.json +4 -4
|
@@ -250,4 +250,4 @@ __decorate([
|
|
|
250
250
|
type: Inject,
|
|
251
251
|
args: ['options']
|
|
252
252
|
}] }, { type: i2.StorageService }]; }, { search: [] }); })();
|
|
253
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9taW5hdGltLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zb3VyY2VzL25vbWluYXRpbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTlELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxPQUFPLEVBQTRCLE1BQU0sa0JBQWtCLENBQUM7QUFJckUsT0FBTyxFQUFFLFlBQVksRUFBYyxNQUFNLFVBQVUsQ0FBQztBQUdwRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBRXpDOztHQUVHO0FBRUgsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFlBQVk7SUFJckQsWUFDVSxJQUFnQixFQUNMLE9BQTRCLEVBQy9DLGNBQThCO1FBRTlCLEtBQUssQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFKdkIsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUsxQixDQUFDO0lBRUQsS0FBSztRQUNILE9BQU8scUJBQXFCLENBQUMsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ08saUJBQWlCO1FBQ3pCLE9BQU87WUFDTCxLQUFLLEVBQUUsaUJBQWlCO1lBQ3hCLFNBQVMsRUFBRSw0Q0FBNEM7WUFDdkQsUUFBUSxFQUFFO2dCQUNSO29CQUNFLElBQUksRUFB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RkFGWCxxQkFBcUIsMENBTXRCLFNBQVM7MkVBTlIscUJBQXFCLFdBQXJCLHFCQUFxQjtBQStIaEM7SUFIQyxTQUFTLENBQUM7UUFDVCxhQUFhLEVBQUUsRUFBRTtLQUNsQixDQUFDO21EQVlEO3VGQTFJVSxxQkFBcUI7Y0FEakMsVUFBVTs7c0JBT04sTUFBTTt1QkFBQyxTQUFTO3FEQXlIbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRkVBVFVSRSwgRmVhdHVyZSwgRmVhdHVyZUdlb21ldHJ5IH0gZnJvbSAnLi4vLi4vLi4vZmVhdHVyZSc7XG5cbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XG5pbXBvcnQgeyBTZWFyY2hSZXN1bHQgfSBmcm9tICcuLi9zZWFyY2guaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTZWFyY2hTb3VyY2UsIFRleHRTZWFyY2ggfSBmcm9tICcuL3NvdXJjZSc7XG5pbXBvcnQgeyBTZWFyY2hTb3VyY2VPcHRpb25zLCBUZXh0U2VhcmNoT3B0aW9ucyB9IGZyb20gJy4vc291cmNlLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgTm9taW5hdGltRGF0YSB9IGZyb20gJy4vbm9taW5hdGltLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgY29tcHV0ZVRlcm1TaW1pbGFyaXR5IH0gZnJvbSAnLi4vc2VhcmNoLnV0aWxzJztcbmltcG9ydCB7IENhY2hlYWJsZSB9IGZyb20gJ3RzLWNhY2hlYWJsZSc7XG5cbi8qKlxuICogTm9taW5hdGltIHNlYXJjaCBzb3VyY2VcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5vbWluYXRpbVNlYXJjaFNvdXJjZSBleHRlbmRzIFNlYXJjaFNvdXJjZSBpbXBsZW1lbnRzIFRleHRTZWFyY2gge1xuICBzdGF0aWMgaWQgPSAnbm9taW5hdGltJztcbiAgc3RhdGljIHR5cGUgPSBGRUFUVVJFO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBASW5qZWN0KCdvcHRpb25zJykgb3B0aW9uczogU2VhcmNoU291cmNlT3B0aW9ucyxcbiAgICBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIob3B0aW9ucywgc3RvcmFnZVNlcnZpY2UpO1xuICB9XG5cbiAgZ2V0SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gTm9taW5hdGltU2VhcmNoU291cmNlLmlkO1xuICB9XG5cbiAgZ2V0VHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBOb21pbmF0aW1TZWFyY2hTb3VyY2UudHlwZTtcbiAgfVxuXG4gIC8qXG4gICAqIFNvdXJjZSA6IGh0dHBzOi8vd2lraS5vcGVuc3RyZWV0bWFwLm9yZy93aWtpL0tleTphbWVuaXR5XG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0RGVmYXVsdE9wdGlvbnMoKTogU2VhcmNoU291cmNlT3B0aW9ucyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiAnTm9taW5hdGltIChPU00pJyxcbiAgICAgIHNlYXJjaFVybDogJ2h0dHBzOi8vbm9taW5hdGltLm9wZW5zdHJlZXRtYXAub3JnL3NlYXJjaCcsXG4gICAgICBzZXR0aW5nczogW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgICAgICB0aXRsZTogJ3Jlc3VsdHMgdHlwZScsXG4gICAgICAgICAgbmFtZTogJ2FtZW5pdHknLFxuICAgICAgICAgIHZhbHVlczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aXRsZTogJ2lnby5nZW8uc2VhcmNoLm5vbWluYXRpbS50eXBlLmZvb2QnLFxuICAgICAgICAgICAgICB2YWx1ZTpcbiAgICAgICAgICAgICAgICAnYmFyLGJicSxiaWVyZ2F0ZW4sY2FmZSxkcmlua2luZ193YXRlcixmYXN0X2Zvb2QsZm9vZF9jb3VydCxpY2VfY3JlYW0scHViLHJlc3RhdXJhbnQnLFxuICAgICAgICAgICAgICBlbmFibGVkOiBmYWxzZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGl0bGU6ICdpZ28uZ2VvLnNlYXJjaC5ub21pbmF0aW0udHlwZS5oZWFsdGgnLFxuICAgICAgICAgICAgICB2YWx1ZTpcbiAgICAgICAgICAgICAgICAnYmFieV9oYXRjaCxjbGluaWMsZGVudGlzdCxkb2N0b3JzLGhvc3BpdGFsLG51cnNpbmdfaG9tZSxwaGFybWFjeSxzb2NpYWxfZmFjaWxpdHksdmV0ZXJpbmFyeScsXG4gICAgICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aXRsZTogJ2lnby5nZW8uc2VhcmNoLm5vbWluYXRpbS50eXBlLmVudGVydGFpbm1lbnQnLFxuICAgICAgICAgICAgICB2YWx1ZTpcbiAgICAgICAgICAgICAgICAnYXJ0c19jZW50cmUsYnJvdGhlbCxjYXNpbm8sY2luZW1hLGNvbW11bml0eV9jZW50ZXJfZm91bnRhaW4sZ2FtYmxpbmcsbmlnaHRjbHViLHBsYW5ldGFyaXVtIFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICxwdWJsaWNfYm9va2Nhc2Usc29jaWFsX2NlbnRyZSxzdHJpcGNsdWIsc3R1ZGlvLHN3aW5nZXJjbHViLHRoZWF0cmUsaW50ZXJuZXRfY2FmZScsXG4gICAgICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aXRsZTogJ2lnby5nZW8uc2VhcmNoLm5vbWluYXRpbS50eXBlLmZpbmFuY2UnLFxuICAgICAgICAgICAgICB2YWx1ZTogJ2F0bSxiYW5rLGJ1cmVhdV9kZV9jaGFuZ2UnLFxuICAgICAgICAgICAgICBlbmFibGVkOiBmYWxzZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdyYWRpb2J1dHRvbicsXG4gICAgICAgICAgdGl0bGU6ICdyZXN1bHRzIGxpbWl0JyxcbiAgICAgICAgICBuYW1lOiAnbGltaXQnLFxuICAgICAgICAgIHZhbHVlczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aXRsZTogJzEwJyxcbiAgICAgICAgICAgICAgdmFsdWU6IDEwLFxuICAgICAgICAgICAgICBlbmFibGVkOiB0cnVlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aXRsZTogJzIwJyxcbiAgICAgICAgICAgICAgdmFsdWU6IDIwLFxuICAgICAgICAgICAgICBlbmFibGVkOiBmYWxzZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGl0bGU6ICc1MCcsXG4gICAgICAgICAgICAgIHZhbHVlOiA1MCxcbiAgICAgICAgICAgICAgZW5hYmxlZDogZmFsc2VcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAncmFkaW9idXR0b24nLFxuICAgICAgICAgIHRpdGxlOiAncmVzdHJpY3RFeHRlbnQnLFxuICAgICAgICAgIG5hbWU6ICdjb3VudHJ5Y29kZXMnLFxuICAgICAgICAgIHZhbHVlczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aXRsZTogJ2lnby5nZW8uc2VhcmNoLm5vbWluYXRpbS5jb3VudHJ5LmNhbmFkYScsXG4gICAgICAgICAgICAgIHZhbHVlOiAnQ0EnLFxuICAgICAgICAgICAgICBlbmFibGVkOiB0cnVlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aXRsZTogJ2lnby5nZW8uc2VhcmNoLm5vbWluYXRpbS5jb3VudHJ5LmFsbCcsXG4gICAgICAgICAgICAgIHZhbHVlOiBudWxsLFxuICAgICAgICAgICAgICBlbmFibGVkOiBmYWxzZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdyYWRpb2J1dHRvbicsXG4gICAgICAgICAgdGl0bGU6ICdtdWx0aXBsZSBvYmplY3QnLFxuICAgICAgICAgIG5hbWU6ICdkZWR1cGUnLFxuICAgICAgICAgIHZhbHVlczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aXRsZTogJ2lnby5nZW8uc2VhcmNoLnNlYXJjaFNvdXJjZXMuc2V0dGluZ3MudHJ1ZScsXG4gICAgICAgICAgICAgIHZhbHVlOiAwLFxuICAgICAgICAgICAgICBlbmFibGVkOiBmYWxzZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGl0bGU6ICdpZ28uZ2VvLnNlYXJjaC5zZWFyY2hTb3VyY2VzLnNldHRpbmdzLmZhbHNlJyxcbiAgICAgICAgICAgICAgdmFsdWU6IDEsXG4gICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFNlYXJjaCBhIHBsYWNlIGJ5IG5hbWVcbiAgICogQHBhcmFtIHRlcm0gUGxhY2UgbmFtZVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIDxTZWFyY2hSZXN1bHQ8RmVhdHVyZT5bXVxuICAgKi9cbiAgQENhY2hlYWJsZSh7XG4gICAgbWF4Q2FjaGVDb3VudDogMjBcbiAgfSlcbiAgc2VhcmNoKFxuICAgIHRlcm06IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBvcHRpb25zPzogVGV4dFNlYXJjaE9wdGlvbnNcbiAgKTogT2JzZXJ2YWJsZTxTZWFyY2hSZXN1bHQ8RmVhdHVyZT5bXT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuY29tcHV0ZVNlYXJjaFJlcXVlc3RQYXJhbXModGVybSwgb3B0aW9ucyB8fCB7fSk7XG4gICAgaWYgKCFwYXJhbXMuZ2V0KCdxJykpIHtcbiAgICAgIHJldHVybiBvZihbXSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQodGhpcy5zZWFyY2hVcmwsIHsgcGFyYW1zIH0pXG4gICAgICAucGlwZShtYXAoKHJlc3BvbnNlOiBOb21pbmF0aW1EYXRhW10pID0+IHRoaXMuZXh0cmFjdFJlc3VsdHMocmVzcG9uc2UsIHRlcm0pKSk7XG4gIH1cblxuICBwcml2YXRlIGNvbXB1dGVTZWFyY2hSZXF1ZXN0UGFyYW1zKFxuICAgIHRlcm06IHN0cmluZyxcbiAgICBvcHRpb25zOiBUZXh0U2VhcmNoT3B0aW9uc1xuICApOiBIdHRwUGFyYW1zIHtcbiAgICByZXR1cm4gbmV3IEh0dHBQYXJhbXMoe1xuICAgICAgZnJvbU9iamVjdDogT2JqZWN0LmFzc2lnbihcbiAgICAgICAge1xuICAgICAgICAgIHE6IHRoaXMuY29tcHV0ZVRlcm0odGVybSksXG4gICAgICAgICAgZm9ybWF0OiAnanNvbidcbiAgICAgICAgfSxcbiAgICAgICAgdGhpcy5wYXJhbXMsXG4gICAgICAgIG9wdGlvbnMucGFyYW1zIHx8IHt9XG4gICAgICApXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RSZXN1bHRzKHJlc3BvbnNlOiBOb21pbmF0aW1EYXRhW10sIHRlcm06IHN0cmluZyk6IFNlYXJjaFJlc3VsdDxGZWF0dXJlPltdIHtcbiAgICByZXR1cm4gcmVzcG9uc2UubWFwKChkYXRhOiBOb21pbmF0aW1EYXRhKSA9PiB0aGlzLmRhdGFUb1Jlc3VsdChkYXRhLCB0ZXJtKSk7XG4gIH1cblxuICBwcml2YXRlIGRhdGFUb1Jlc3VsdChkYXRhOiBOb21pbmF0aW1EYXRhLCB0ZXJtOiBzdHJpbmcpOiBTZWFyY2hSZXN1bHQ8RmVhdHVyZT4ge1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPSB0aGlzLmNvbXB1dGVQcm9wZXJ0aWVzKGRhdGEpO1xuICAgIGNvbnN0IGdlb21ldHJ5ID0gdGhpcy5jb21wdXRlR2VvbWV0cnkoZGF0YSk7XG4gICAgY29uc3QgZXh0ZW50ID0gdGhpcy5jb21wdXRlRXh0ZW50KGRhdGEpO1xuICAgIGNvbnN0IGlkID0gW3RoaXMuZ2V0SWQoKSwgJ3BsYWNlJywgZGF0YS5wbGFjZV9pZF0uam9pbignLicpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHNvdXJjZTogdGhpcyxcbiAgICAgIG1ldGE6IHtcbiAgICAgICAgZGF0YVR5cGU6IEZFQVRVUkUsXG4gICAgICAgIGlkLFxuICAgICAgICB0aXRsZTogZGF0YS5kaXNwbGF5X25hbWUsXG4gICAgICAgIGljb246ICdtYXAtbWFya2VyJyxcbiAgICAgICAgc2NvcmU6IGNvbXB1dGVUZXJtU2ltaWxhcml0eSh0ZXJtLnRyaW0oKSwgZGF0YS5kaXNwbGF5X25hbWUpXG4gICAgICB9LFxuICAgICAgZGF0YToge1xuICAgICAgICB0eXBlOiBGRUFUVVJFLFxuICAgICAgICBwcm9qZWN0aW9uOiAnRVBTRzo0MzI2JyxcbiAgICAgICAgZ2VvbWV0cnksXG4gICAgICAgIGV4dGVudCxcbiAgICAgICAgcHJvcGVydGllcyxcbiAgICAgICAgbWV0YToge1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIHRpdGxlOiBkYXRhLmRpc3BsYXlfbmFtZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgY29tcHV0ZVByb3BlcnRpZXMoZGF0YTogTm9taW5hdGltRGF0YSk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiB7XG4gICAgICBkaXNwbGF5X25hbWU6IGRhdGEuZGlzcGxheV9uYW1lLFxuICAgICAgcGxhY2VfaWQ6IGRhdGEucGxhY2VfaWQsXG4gICAgICBvc21fdHlwZTogZGF0YS5vc21fdHlwZSxcbiAgICAgIGNsYXNzOiBkYXRhLmNsYXNzLFxuICAgICAgdHlwZTogZGF0YS50eXBlXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgY29tcHV0ZUdlb21ldHJ5KGRhdGE6IE5vbWluYXRpbURhdGEpOiBGZWF0dXJlR2VvbWV0cnkge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiAnUG9pbnQnLFxuICAgICAgY29vcmRpbmF0ZXM6IFtwYXJzZUZsb2F0KGRhdGEubG9uKSwgcGFyc2VGbG9hdChkYXRhLmxhdCldXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgY29tcHV0ZUV4dGVudChkYXRhOiBOb21pbmF0aW1EYXRhKTogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0ge1xuICAgIHJldHVybiBbXG4gICAgICBwYXJzZUZsb2F0KGRhdGEuYm91bmRpbmdib3hbMl0pLFxuICAgICAgcGFyc2VGbG9hdChkYXRhLmJvdW5kaW5nYm94WzBdKSxcbiAgICAgIHBhcnNlRmxvYXQoZGF0YS5ib3VuZGluZ2JveFszXSksXG4gICAgICBwYXJzZUZsb2F0KGRhdGEuYm91bmRpbmdib3hbMV0pXG4gICAgXTtcbiAgfVxuXG4gIHByaXZhdGUgY29tcHV0ZVRlcm0odGVybTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jb21wdXRlVGVybVRhZ3ModGVybSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGhhc2h0YWcgZnJvbSBxdWVyeSBpbiBOb21pbmF0aW0ncyBmb3JtYXQgKCtbXSlcbiAgICogQHBhcmFtIHRlcm0gUXVlcnkgd2l0aCBoYXNodGFnXG4gICAqL1xuICBwcml2YXRlIGNvbXB1dGVUZXJtVGFncyh0ZXJtOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGhhc2h0YWdzID0gc3VwZXIuZ2V0SGFzaHRhZ3NWYWxpZCh0ZXJtLCAnYW1lbml0eScpO1xuICAgIGlmICghaGFzaHRhZ3MpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVUZXJtU2V0dGluZ3ModGVybSk7XG4gICAgfVxuXG4gICAgaWYgKCFoYXNodGFncy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHRlcm0gPSB0ZXJtLnJlcGxhY2UoLygjW15cXHNdKikvZywgJycpO1xuICAgIGhhc2h0YWdzLmZvckVhY2godGFnID0+IHtcbiAgICAgIHRlcm0gKz0gJytbJyArIHRhZyArICddJztcbiAgICB9KTtcblxuICAgIHJldHVybiB0ZXJtO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBoYXNodGFnIGZyb20gc2V0dGluZ3MgaW4gTm9taW5hdGltJ3MgZm9ybWF0ICgrW10pXG4gICAqIEBwYXJhbSB0ZXJtIFF1ZXJ5XG4gICAqL1xuICBwcml2YXRlIGNvbXB1dGVUZXJtU2V0dGluZ3ModGVybTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICB0aGlzLm9wdGlvbnMuc2V0dGluZ3MuZm9yRWFjaChzZXR0aW5ncyA9PiB7XG4gICAgICBpZiAoc2V0dGluZ3MubmFtZSA9PT0gJ2FtZW5pdHknKSB7XG4gICAgICAgIHNldHRpbmdzLnZhbHVlcy5mb3JFYWNoKGNvbmYgPT4ge1xuICAgICAgICAgIGlmIChjb25mLmVuYWJsZWQgJiYgdHlwZW9mIGNvbmYudmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBjb25zdCBzcGxpdHRlZCA9IGNvbmYudmFsdWUuc3BsaXQoJywnKTtcbiAgICAgICAgICAgIHNwbGl0dGVkLmZvckVhY2godmFsdWUgPT4ge1xuICAgICAgICAgICAgICB0ZXJtICs9ICcrWycgKyB2YWx1ZSArICddJztcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHRlcm07XG4gIH1cbn1cbiJdfQ==
|
|
253
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9taW5hdGltLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zb3VyY2VzL25vbWluYXRpbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTlELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxPQUFPLEVBQTRCLE1BQU0sa0JBQWtCLENBQUM7QUFJckUsT0FBTyxFQUFFLFlBQVksRUFBYyxNQUFNLFVBQVUsQ0FBQztBQUdwRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBRXpDOztHQUVHO0FBRUgsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFlBQVk7SUFJckQsWUFDVSxJQUFnQixFQUNMLE9BQTRCLEVBQy9DLGNBQThCO1FBRTlCLEtBQUssQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFKdkIsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUsxQixDQUFDO0lBRUQsS0FBSztRQUNILE9BQU8scUJBQXFCLENBQUMsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ08saUJBQWlCO1FBQ3pCLE9BQU87WUFDTCxLQUFLLEVBQUUsaUJBQWlCO1lBQ3hCLFNBQVMsRUFBRSw0Q0FBNEM7WUFDdkQsUUFBUSxFQUFFO2dCQUNSO29CQUNFLElBQUksRUFB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RkFGWCxxQkFBcUIsMENBTXRCLFNBQVM7MkVBTlIscUJBQXFCLFdBQXJCLHFCQUFxQjs7SUE0SC9CLFNBQVMsQ0FBQztRQUNULGFBQWEsRUFBRSxFQUFFO0tBQ2xCLENBQUM7bURBWUQ7dUZBMUlVLHFCQUFxQjtjQURqQyxVQUFVOztzQkFPTixNQUFNO3VCQUFDLFNBQVM7cURBeUhuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGRUFUVVJFLCBGZWF0dXJlLCBGZWF0dXJlR2VvbWV0cnkgfSBmcm9tICcuLi8uLi8uLi9mZWF0dXJlJztcblxuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCB7IFNlYXJjaFJlc3VsdCB9IGZyb20gJy4uL3NlYXJjaC5pbnRlcmZhY2VzJztcbmltcG9ydCB7IFNlYXJjaFNvdXJjZSwgVGV4dFNlYXJjaCB9IGZyb20gJy4vc291cmNlJztcbmltcG9ydCB7IFNlYXJjaFNvdXJjZU9wdGlvbnMsIFRleHRTZWFyY2hPcHRpb25zIH0gZnJvbSAnLi9zb3VyY2UuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBOb21pbmF0aW1EYXRhIH0gZnJvbSAnLi9ub21pbmF0aW0uaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBjb21wdXRlVGVybVNpbWlsYXJpdHkgfSBmcm9tICcuLi9zZWFyY2gudXRpbHMnO1xuaW1wb3J0IHsgQ2FjaGVhYmxlIH0gZnJvbSAndHMtY2FjaGVhYmxlJztcblxuLyoqXG4gKiBOb21pbmF0aW0gc2VhcmNoIHNvdXJjZVxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTm9taW5hdGltU2VhcmNoU291cmNlIGV4dGVuZHMgU2VhcmNoU291cmNlIGltcGxlbWVudHMgVGV4dFNlYXJjaCB7XG4gIHN0YXRpYyBpZCA9ICdub21pbmF0aW0nO1xuICBzdGF0aWMgdHlwZSA9IEZFQVRVUkU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIEBJbmplY3QoJ29wdGlvbnMnKSBvcHRpb25zOiBTZWFyY2hTb3VyY2VPcHRpb25zLFxuICAgIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZVxuICApIHtcbiAgICBzdXBlcihvcHRpb25zLCBzdG9yYWdlU2VydmljZSk7XG4gIH1cblxuICBnZXRJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBOb21pbmF0aW1TZWFyY2hTb3VyY2UuaWQ7XG4gIH1cblxuICBnZXRUeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIE5vbWluYXRpbVNlYXJjaFNvdXJjZS50eXBlO1xuICB9XG5cbiAgLypcbiAgICogU291cmNlIDogaHR0cHM6Ly93aWtpLm9wZW5zdHJlZXRtYXAub3JnL3dpa2kvS2V5OmFtZW5pdHlcbiAgICovXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0T3B0aW9ucygpOiBTZWFyY2hTb3VyY2VPcHRpb25zIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6ICdOb21pbmF0aW0gKE9TTSknLFxuICAgICAgc2VhcmNoVXJsOiAnaHR0cHM6Ly9ub21pbmF0aW0ub3BlbnN0cmVldG1hcC5vcmcvc2VhcmNoJyxcbiAgICAgIHNldHRpbmdzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgICAgIHRpdGxlOiAncmVzdWx0cyB0eXBlJyxcbiAgICAgICAgICBuYW1lOiAnYW1lbml0eScsXG4gICAgICAgICAgdmFsdWVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnaWdvLmdlby5zZWFyY2gubm9taW5hdGltLnR5cGUuZm9vZCcsXG4gICAgICAgICAgICAgIHZhbHVlOlxuICAgICAgICAgICAgICAgICdiYXIsYmJxLGJpZXJnYXRlbixjYWZlLGRyaW5raW5nX3dhdGVyLGZhc3RfZm9vZCxmb29kX2NvdXJ0LGljZV9jcmVhbSxwdWIscmVzdGF1cmFudCcsXG4gICAgICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aXRsZTogJ2lnby5nZW8uc2VhcmNoLm5vbWluYXRpbS50eXBlLmhlYWx0aCcsXG4gICAgICAgICAgICAgIHZhbHVlOlxuICAgICAgICAgICAgICAgICdiYWJ5X2hhdGNoLGNsaW5pYyxkZW50aXN0LGRvY3RvcnMsaG9zcGl0YWwsbnVyc2luZ19ob21lLHBoYXJtYWN5LHNvY2lhbF9mYWNpbGl0eSx2ZXRlcmluYXJ5JyxcbiAgICAgICAgICAgICAgZW5hYmxlZDogZmFsc2VcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnaWdvLmdlby5zZWFyY2gubm9taW5hdGltLnR5cGUuZW50ZXJ0YWlubWVudCcsXG4gICAgICAgICAgICAgIHZhbHVlOlxuICAgICAgICAgICAgICAgICdhcnRzX2NlbnRyZSxicm90aGVsLGNhc2lubyxjaW5lbWEsY29tbXVuaXR5X2NlbnRlcl9mb3VudGFpbixnYW1ibGluZyxuaWdodGNsdWIscGxhbmV0YXJpdW0gXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLHB1YmxpY19ib29rY2FzZSxzb2NpYWxfY2VudHJlLHN0cmlwY2x1YixzdHVkaW8sc3dpbmdlcmNsdWIsdGhlYXRyZSxpbnRlcm5ldF9jYWZlJyxcbiAgICAgICAgICAgICAgZW5hYmxlZDogZmFsc2VcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnaWdvLmdlby5zZWFyY2gubm9taW5hdGltLnR5cGUuZmluYW5jZScsXG4gICAgICAgICAgICAgIHZhbHVlOiAnYXRtLGJhbmssYnVyZWF1X2RlX2NoYW5nZScsXG4gICAgICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ3JhZGlvYnV0dG9uJyxcbiAgICAgICAgICB0aXRsZTogJ3Jlc3VsdHMgbGltaXQnLFxuICAgICAgICAgIG5hbWU6ICdsaW1pdCcsXG4gICAgICAgICAgdmFsdWVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnMTAnLFxuICAgICAgICAgICAgICB2YWx1ZTogMTAsXG4gICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWVcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnMjAnLFxuICAgICAgICAgICAgICB2YWx1ZTogMjAsXG4gICAgICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aXRsZTogJzUwJyxcbiAgICAgICAgICAgICAgdmFsdWU6IDUwLFxuICAgICAgICAgICAgICBlbmFibGVkOiBmYWxzZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdyYWRpb2J1dHRvbicsXG4gICAgICAgICAgdGl0bGU6ICdyZXN0cmljdEV4dGVudCcsXG4gICAgICAgICAgbmFtZTogJ2NvdW50cnljb2RlcycsXG4gICAgICAgICAgdmFsdWVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnaWdvLmdlby5zZWFyY2gubm9taW5hdGltLmNvdW50cnkuY2FuYWRhJyxcbiAgICAgICAgICAgICAgdmFsdWU6ICdDQScsXG4gICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWVcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnaWdvLmdlby5zZWFyY2gubm9taW5hdGltLmNvdW50cnkuYWxsJyxcbiAgICAgICAgICAgICAgdmFsdWU6IG51bGwsXG4gICAgICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ3JhZGlvYnV0dG9uJyxcbiAgICAgICAgICB0aXRsZTogJ211bHRpcGxlIG9iamVjdCcsXG4gICAgICAgICAgbmFtZTogJ2RlZHVwZScsXG4gICAgICAgICAgdmFsdWVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnaWdvLmdlby5zZWFyY2guc2VhcmNoU291cmNlcy5zZXR0aW5ncy50cnVlJyxcbiAgICAgICAgICAgICAgdmFsdWU6IDAsXG4gICAgICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aXRsZTogJ2lnby5nZW8uc2VhcmNoLnNlYXJjaFNvdXJjZXMuc2V0dGluZ3MuZmFsc2UnLFxuICAgICAgICAgICAgICB2YWx1ZTogMSxcbiAgICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogU2VhcmNoIGEgcGxhY2UgYnkgbmFtZVxuICAgKiBAcGFyYW0gdGVybSBQbGFjZSBuYW1lXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgPFNlYXJjaFJlc3VsdDxGZWF0dXJlPltdXG4gICAqL1xuICBAQ2FjaGVhYmxlKHtcbiAgICBtYXhDYWNoZUNvdW50OiAyMFxuICB9KVxuICBzZWFyY2goXG4gICAgdGVybTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIG9wdGlvbnM/OiBUZXh0U2VhcmNoT3B0aW9uc1xuICApOiBPYnNlcnZhYmxlPFNlYXJjaFJlc3VsdDxGZWF0dXJlPltdPiB7XG4gICAgY29uc3QgcGFyYW1zID0gdGhpcy5jb21wdXRlU2VhcmNoUmVxdWVzdFBhcmFtcyh0ZXJtLCBvcHRpb25zIHx8IHt9KTtcbiAgICBpZiAoIXBhcmFtcy5nZXQoJ3EnKSkge1xuICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldCh0aGlzLnNlYXJjaFVybCwgeyBwYXJhbXMgfSlcbiAgICAgIC5waXBlKG1hcCgocmVzcG9uc2U6IE5vbWluYXRpbURhdGFbXSkgPT4gdGhpcy5leHRyYWN0UmVzdWx0cyhyZXNwb25zZSwgdGVybSkpKTtcbiAgfVxuXG4gIHByaXZhdGUgY29tcHV0ZVNlYXJjaFJlcXVlc3RQYXJhbXMoXG4gICAgdGVybTogc3RyaW5nLFxuICAgIG9wdGlvbnM6IFRleHRTZWFyY2hPcHRpb25zXG4gICk6IEh0dHBQYXJhbXMge1xuICAgIHJldHVybiBuZXcgSHR0cFBhcmFtcyh7XG4gICAgICBmcm9tT2JqZWN0OiBPYmplY3QuYXNzaWduKFxuICAgICAgICB7XG4gICAgICAgICAgcTogdGhpcy5jb21wdXRlVGVybSh0ZXJtKSxcbiAgICAgICAgICBmb3JtYXQ6ICdqc29uJ1xuICAgICAgICB9LFxuICAgICAgICB0aGlzLnBhcmFtcyxcbiAgICAgICAgb3B0aW9ucy5wYXJhbXMgfHwge31cbiAgICAgIClcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdFJlc3VsdHMocmVzcG9uc2U6IE5vbWluYXRpbURhdGFbXSwgdGVybTogc3RyaW5nKTogU2VhcmNoUmVzdWx0PEZlYXR1cmU+W10ge1xuICAgIHJldHVybiByZXNwb25zZS5tYXAoKGRhdGE6IE5vbWluYXRpbURhdGEpID0+IHRoaXMuZGF0YVRvUmVzdWx0KGRhdGEsIHRlcm0pKTtcbiAgfVxuXG4gIHByaXZhdGUgZGF0YVRvUmVzdWx0KGRhdGE6IE5vbWluYXRpbURhdGEsIHRlcm06IHN0cmluZyk6IFNlYXJjaFJlc3VsdDxGZWF0dXJlPiB7XG4gICAgY29uc3QgcHJvcGVydGllcyA9IHRoaXMuY29tcHV0ZVByb3BlcnRpZXMoZGF0YSk7XG4gICAgY29uc3QgZ2VvbWV0cnkgPSB0aGlzLmNvbXB1dGVHZW9tZXRyeShkYXRhKTtcbiAgICBjb25zdCBleHRlbnQgPSB0aGlzLmNvbXB1dGVFeHRlbnQoZGF0YSk7XG4gICAgY29uc3QgaWQgPSBbdGhpcy5nZXRJZCgpLCAncGxhY2UnLCBkYXRhLnBsYWNlX2lkXS5qb2luKCcuJyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgc291cmNlOiB0aGlzLFxuICAgICAgbWV0YToge1xuICAgICAgICBkYXRhVHlwZTogRkVBVFVSRSxcbiAgICAgICAgaWQsXG4gICAgICAgIHRpdGxlOiBkYXRhLmRpc3BsYXlfbmFtZSxcbiAgICAgICAgaWNvbjogJ21hcC1tYXJrZXInLFxuICAgICAgICBzY29yZTogY29tcHV0ZVRlcm1TaW1pbGFyaXR5KHRlcm0udHJpbSgpLCBkYXRhLmRpc3BsYXlfbmFtZSlcbiAgICAgIH0sXG4gICAgICBkYXRhOiB7XG4gICAgICAgIHR5cGU6IEZFQVRVUkUsXG4gICAgICAgIHByb2plY3Rpb246ICdFUFNHOjQzMjYnLFxuICAgICAgICBnZW9tZXRyeSxcbiAgICAgICAgZXh0ZW50LFxuICAgICAgICBwcm9wZXJ0aWVzLFxuICAgICAgICBtZXRhOiB7XG4gICAgICAgICAgaWQsXG4gICAgICAgICAgdGl0bGU6IGRhdGEuZGlzcGxheV9uYW1lXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wdXRlUHJvcGVydGllcyhkYXRhOiBOb21pbmF0aW1EYXRhKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRpc3BsYXlfbmFtZTogZGF0YS5kaXNwbGF5X25hbWUsXG4gICAgICBwbGFjZV9pZDogZGF0YS5wbGFjZV9pZCxcbiAgICAgIG9zbV90eXBlOiBkYXRhLm9zbV90eXBlLFxuICAgICAgY2xhc3M6IGRhdGEuY2xhc3MsXG4gICAgICB0eXBlOiBkYXRhLnR5cGVcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wdXRlR2VvbWV0cnkoZGF0YTogTm9taW5hdGltRGF0YSk6IEZlYXR1cmVHZW9tZXRyeSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6ICdQb2ludCcsXG4gICAgICBjb29yZGluYXRlczogW3BhcnNlRmxvYXQoZGF0YS5sb24pLCBwYXJzZUZsb2F0KGRhdGEubGF0KV1cbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wdXRlRXh0ZW50KGRhdGE6IE5vbWluYXRpbURhdGEpOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHBhcnNlRmxvYXQoZGF0YS5ib3VuZGluZ2JveFsyXSksXG4gICAgICBwYXJzZUZsb2F0KGRhdGEuYm91bmRpbmdib3hbMF0pLFxuICAgICAgcGFyc2VGbG9hdChkYXRhLmJvdW5kaW5nYm94WzNdKSxcbiAgICAgIHBhcnNlRmxvYXQoZGF0YS5ib3VuZGluZ2JveFsxXSlcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wdXRlVGVybSh0ZXJtOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvbXB1dGVUZXJtVGFncyh0ZXJtKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgaGFzaHRhZyBmcm9tIHF1ZXJ5IGluIE5vbWluYXRpbSdzIGZvcm1hdCAoK1tdKVxuICAgKiBAcGFyYW0gdGVybSBRdWVyeSB3aXRoIGhhc2h0YWdcbiAgICovXG4gIHByaXZhdGUgY29tcHV0ZVRlcm1UYWdzKHRlcm06IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgaGFzaHRhZ3MgPSBzdXBlci5nZXRIYXNodGFnc1ZhbGlkKHRlcm0sICdhbWVuaXR5Jyk7XG4gICAgaWYgKCFoYXNodGFncykge1xuICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZVRlcm1TZXR0aW5ncyh0ZXJtKTtcbiAgICB9XG5cbiAgICBpZiAoIWhhc2h0YWdzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgdGVybSA9IHRlcm0ucmVwbGFjZSgvKCNbXlxcc10qKS9nLCAnJyk7XG4gICAgaGFzaHRhZ3MuZm9yRWFjaCh0YWcgPT4ge1xuICAgICAgdGVybSArPSAnK1snICsgdGFnICsgJ10nO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRlcm07XG4gIH1cblxuICAvKipcbiAgICogQWRkIGhhc2h0YWcgZnJvbSBzZXR0aW5ncyBpbiBOb21pbmF0aW0ncyBmb3JtYXQgKCtbXSlcbiAgICogQHBhcmFtIHRlcm0gUXVlcnlcbiAgICovXG4gIHByaXZhdGUgY29tcHV0ZVRlcm1TZXR0aW5ncyh0ZXJtOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHRoaXMub3B0aW9ucy5zZXR0aW5ncy5mb3JFYWNoKHNldHRpbmdzID0+IHtcbiAgICAgIGlmIChzZXR0aW5ncy5uYW1lID09PSAnYW1lbml0eScpIHtcbiAgICAgICAgc2V0dGluZ3MudmFsdWVzLmZvckVhY2goY29uZiA9PiB7XG4gICAgICAgICAgaWYgKGNvbmYuZW5hYmxlZCAmJiB0eXBlb2YgY29uZi52YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGNvbnN0IHNwbGl0dGVkID0gY29uZi52YWx1ZS5zcGxpdCgnLCcpO1xuICAgICAgICAgICAgc3BsaXR0ZWQuZm9yRWFjaCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgIHRlcm0gKz0gJytbJyArIHZhbHVlICsgJ10nO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gdGVybTtcbiAgfVxufVxuIl19
|
|
@@ -422,4 +422,4 @@ __decorate([
|
|
|
422
422
|
type: Inject,
|
|
423
423
|
args: ['options']
|
|
424
424
|
}] }]; }, { reverseSearch: [] }); })();
|
|
425
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVkcXVlcmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zaGFyZWQvc291cmNlcy9zdG9yZWRxdWVyaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHOUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLE9BQU8sRUFBVyxNQUFNLGtCQUFrQixDQUFDO0FBR3BELE9BQU8sRUFBRSxZQUFZLEVBQTZCLE1BQU0sVUFBVSxDQUFDO0FBZ0JuRSxPQUFPLEtBQUssUUFBUSxNQUFNLFdBQVcsQ0FBQztBQUV0QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBRXpDOztHQUVHO0FBRUgsTUFBTSxPQUFPLHlCQUEwQixTQUFRLFlBQVk7SUFjekQsWUFDVSxJQUFnQixFQUNoQixlQUFnQyxFQUN4QyxjQUE4QixFQUNYLE9BQTRCO1FBRS9DLEtBQUssQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFMdkIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFLeEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE9BQTJDLENBQUM7UUFDeEUsSUFBSSxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxFQUFFO1lBQ3JFLE9BQU87U0FDUjtRQUVELE1BQU0sb0JBQW9CLEdBQUcs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QUNGLENBQUM7SUFDSixDQUFDO0lBRU8saUJBQWlCLENBQ3ZCLElBQThCO1FBRTlCLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQ3ZDLElBQUksQ0FBQyxVQUFVLEVBQ2YsZ0NBQWdDLENBQUMsbUJBQW1CLENBQ3JELENBQUM7UUFDRixNQUFNLE9BQU8sR0FBRztZQUNkLEtBQUssRUFBRSw0QkFBNEIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsR0FBRyxjQUFjO1NBQ3BILENBQUM7UUFDRixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEYsQ0FBQzs7QUE5TE0sbUNBQUUsR0FBRyxzQkFBc0IsQ0FBQztBQUM1QixxQ0FBSSxHQUFHLE9BQU8sQ0FBQztBQUNmLG9EQUFtQixHQUFhLEVBQUcsQ0FBQTtnSEFKL0IsZ0NBQWdDLDJHQWFqQyxTQUFTO3NGQWJSLGdDQUFnQyxXQUFoQyxnQ0FBZ0M7QUFzRTNDO0lBSEMsU0FBUyxDQUFDO1FBQ1QsYUFBYSxFQUFFLEVBQUU7S0FDbEIsQ0FBQztxRUF3QkQ7dUZBN0ZVLGdDQUFnQztjQUQ1QyxVQUFVOztzQkFjTixNQUFNO3VCQUFDLFNBQVM7d0JBeURuQixhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IE9iamVjdFV0aWxzIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xuaW1wb3J0IHsgRkVBVFVSRSwgRmVhdHVyZSB9IGZyb20gJy4uLy4uLy4uL2ZlYXR1cmUnO1xuXG5pbXBvcnQgeyBTZWFyY2hSZXN1bHQgfSBmcm9tICcuLi9zZWFyY2guaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTZWFyY2hTb3VyY2UsIFRleHRTZWFyY2gsIFJldmVyc2VTZWFyY2ggfSBmcm9tICcuL3NvdXJjZSc7XG5pbXBvcnQge1xuICBTZWFyY2hTb3VyY2VPcHRpb25zLFxuICBUZXh0U2VhcmNoT3B0aW9ucyxcbiAgUmV2ZXJzZVNlYXJjaE9wdGlvbnNcbn0gZnJvbSAnLi9zb3VyY2UuaW50ZXJmYWNlcyc7XG5pbXBvcnQge1xuICBTdG9yZWRRdWVyaWVzRGF0YSxcbiAgU3RvcmVkUXVlcmllc1Jlc3BvbnNlLFxuICBTdG9yZWRRdWVyaWVzUmV2ZXJzZURhdGEsXG4gIFN0b3JlZFF1ZXJpZXNSZXZlcnNlUmVzcG9uc2UsXG4gIFN0b3JlZFF1ZXJpZXNTZWFyY2hTb3VyY2VPcHRpb25zLFxuICBTdG9yZWRRdWVyaWVzRmllbGRzLFxuICBTdG9yZWRRdWVyaWVzUmV2ZXJzZVNlYXJjaFNvdXJjZU9wdGlvbnNcbn0gZnJvbSAnLi9zdG9yZWRxdWVyaWVzLmludGVyZmFjZXMnO1xuXG5pbXBvcnQgKiBhcyBvbGZvcm1hdCBmcm9tICdvbC9mb3JtYXQnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlLCBTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuaW1wb3J0IHsgY29tcHV0ZVRlcm1TaW1pbGFyaXR5IH0gZnJvbSAnLi4vc2VhcmNoLnV0aWxzJztcbmltcG9ydCB7IENhY2hlYWJsZSB9IGZyb20gJ3RzLWNhY2hlYWJsZSc7XG5cbi8qKlxuICogU3RvcmVkUXVlcmllcyBzZWFyY2ggc291cmNlXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTdG9yZWRRdWVyaWVzU2VhcmNoU291cmNlIGV4dGVuZHMgU2VhcmNoU291cmNlXG4gIGltcGxlbWVudHMgVGV4dFNlYXJjaCB7XG4gIHN0YXRpYyBpZCA9ICdzdG9yZWRxdWVyaWVzJztcbiAgc3RhdGljIHR5cGUgPSBGRUFUVVJFO1xuICBzdGF0aWMgcHJvcGVydGllc0JsYWNrbGlzdDogc3RyaW5nW10gPSBbXG4gICAgJ2JvdW5kZWRCeScsXG4gICAgJ2lkJyxcbiAgICAnY29vcmRfeCcsXG4gICAgJ2Nvb3JkX3knXG4gIF07XG4gIHB1YmxpYyByZXN1bHRUaXRsZTogJ3RpdGxlJztcbiAgcHVibGljIHN0b3JlZFF1ZXJpZXNPcHRpb25zOiBTdG9yZWRRdWVyaWVzU2VhcmNoU291cmNlT3B0aW9ucztcbiAgcHVibGljIG11bHRpcGxlRmllbGRzUXVlcnk6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXG4gICAgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ29wdGlvbnMnKSBvcHRpb25zOiBTZWFyY2hTb3VyY2VPcHRpb25zXG4gICkge1xuICAgIHN1cGVyKG9wdGlvbnMsIHN0b3JhZ2VTZXJ2aWNlKTtcbiAgICB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zID0gb3B0aW9ucyBhcyBTdG9yZWRRdWVyaWVzU2VhcmNoU291cmNlT3B0aW9ucztcbiAgICBpZiAodGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucyAmJiAhdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5hdmFpbGFibGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZWZhdWx0U3RvcmVkcXVlcnlJZCA9ICdydHNzJztcbiAgICBjb25zdCBkZWZhdWx0RmllbGRTcGxpdHRlcjogU3RvcmVkUXVlcmllc0ZpZWxkc1tdID0gW1xuICAgICAgeyBuYW1lOiAncnRzcycsIGRlZmF1bHRWYWx1ZTogJy05OScgfSxcbiAgICAgIHsgbmFtZTogJ2NoYWluYWdlJywgZGVmYXVsdFZhbHVlOiAnMCcsIHNwbGl0UHJlZml4OiAnXFxcXCsnIH1cbiAgICBdO1xuICAgIGNvbnN0IGRlZmF1bHRPdXRwdXRmb3JtYXQgPSAndGV4dC94bWw7IHN1YnR5cGU9Z21sLzMuMS4xJztcbiAgICBjb25zdCBkZWZhdWx0U3JzbmFtZSA9ICdFUFNHOjQzMjYnO1xuICAgIGNvbnN0IGRlZmF1bHRSZXN1bHRUaXRsZSA9ICd0aXRsZSc7XG5cbiAgICBpZiAoIXRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMpIHtcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAnIE5vIGNvbmZpZ3VyYXRpb24gZm9yIHRoaXMgc2VhcmNoIHNvdXJjZSAoc3RvcmVkcXVlcmllcykuIFlvdSB3aWxsIHVzZSB0aGUgZGVmYXVsdCB2YWx1ZXMnXG4gICAgICApO1xuICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucyA9IHtcbiAgICAgICAgc3RvcmVkcXVlcnlfaWQ6IGRlZmF1bHRTdG9yZWRxdWVyeUlkLFxuICAgICAgICBmaWVsZHM6IGRlZmF1bHRGaWVsZFNwbGl0dGVyLFxuICAgICAgICBvdXRwdXRmb3JtYXQ6IGRlZmF1bHRPdXRwdXRmb3JtYXQsXG4gICAgICAgIHNyc25hbWU6IGRlZmF1bHRTcnNuYW1lLFxuICAgICAgICByZXN1bHRUaXRsZTogZGVmYXVsdFJlc3VsdFRpdGxlXG4gICAgICB9O1xuICAgICAgdGhpcy5yZXN1bHRUaXRsZSA9IGRlZmF1bHRSZXN1bHRUaXRsZTtcbiAgICAgIGNvbnNvbGUubG9nKCdEZWZhdWx0IHZhbHVlcycsIHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5zdG9yZWRxdWVyeV9pZCkge1xuICAgICAgY29uc3QgZXJyID1cbiAgICAgICAgJ1N0b3JlZCBRdWVyaWVzIDpZb3UgaGF2ZSB0byBzZXQgXCJzdG9yZWRxdWVyeV9pZFwiIGludG8gU3RvcmVkUXVlcmllcyBvcHRpb25zLiBleDogc3RvcmVkcXVlcnlfaWQ6IFwibmFtZW9mc3RvcmVkcXVlcmllXCInO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGVycik7XG4gICAgfVxuICAgIGlmICghdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5maWVsZHMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1N0b3JlZCBRdWVyaWVzIDpZb3UgaGF2ZSB0byBzZXQgXCJmaWVsZHNcIiBpbnRvIG9wdGlvbnMuIGV4OiBmaWVsZHM6IHtcIm5hbWVcIjogXCJydHNzXCIsIFwiZGVmYXVsdFZhbHVlXCI6IFwiLTk5XCJ9J1xuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLm91dHB1dGZvcm1hdCA9XG4gICAgICB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLm91dHB1dGZvcm1hdCB8fCAndGV4dC94bWw7IHN1YnR5cGU9Z21sLzMuMS4xJztcbiAgICB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLnNyc25hbWUgPVxuICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5zcnNuYW1lIHx8ICdFUFNHOjQzMjYnO1xuXG4gICAgY29uc3Qgc3RvcmVkUXVlcnlJZCA9IHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMuc3RvcmVkcXVlcnlfaWQudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAoXG4gICAgICBzdG9yZWRRdWVyeUlkLmluY2x1ZGVzKCdnZXRmZWF0dXJlYnlpZCcpICYmXG4gICAgICB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLm91dHB1dGZvcm1hdFxuICAgICAgICAudG9Mb3dlckNhc2UoKVxuICAgICAgICAuaW5jbHVkZXMoJ2dldGZlYXR1cmVieWlkJylcbiAgICApIHtcbiAgICAgIGxldCBlcnIgPVxuICAgICAgICAnWW91IG11c3Qgc2V0IGEgZ2VvanNvbiBmb3JtYXQgZm9yIHlvdXIgc3RvcmVkIHF1ZXJ5LiBUaGlzIGlzIGR1ZSB0byBhbiBvcGVubGF5ZXJzIGlzc3VlKSc7XG4gICAgICBlcnIgKz0gJyAod2ZzIDEuMS4wICYgZ21sIDMuMS4xIGxpbWl0YXRpb24pJztcbiAgICAgIHRocm93IG5ldyBFcnJvcihlcnIpO1xuICAgIH1cblxuICAgIGlmICghKHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMuZmllbGRzIGluc3RhbmNlb2YgQXJyYXkpKSB7XG4gICAgICB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLmZpZWxkcyA9IFt0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLmZpZWxkc107XG4gICAgfVxuXG4gICAgdGhpcy5tdWx0aXBsZUZpZWxkc1F1ZXJ5ID1cbiAgICAgIHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMuZmllbGRzLmxlbmd0aCA+IDEgPyB0cnVlIDogZmFsc2U7XG5cbiAgICB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLmZpZWxkcy5mb3JFYWNoKChmaWVsZCwgaW5kZXgpID0+IHtcbiAgICAgIGlmICh0aGlzLm11bHRpcGxlRmllbGRzUXVlcnkgJiYgIWZpZWxkLnNwbGl0UHJlZml4ICYmIGluZGV4ICE9PSAwKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAnU3RvcmVkIFF1ZXJpZXMgOllvdSBtdXN0IHNldCBhIGZpZWxkIHNwbGl0ZXIgaW50byB5b3VyIGZpZWxkIGRlZmluaXRpb24gKG9wdGlvbmFsIGZvciB0aGUgZmlyc3Qgb25lISknXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAoIWZpZWxkLmRlZmF1bHRWYWx1ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgJ1N0b3JlZCBRdWVyaWVzIDpZb3UgbXVzdCBzZXQgYSBmaWVsZCBkZWZhdWx0IHZhbHVlIGludG8geW91ciBmaWVsZCBkZWZpbml0aW9uJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5yZXN1bHRUaXRsZSA9XG4gICAgICB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLnJlc3VsdFRpdGxlIHx8IHRoaXMucmVzdWx0VGl0bGU7XG4gIH1cblxuICBnZXRJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBTdG9yZWRRdWVyaWVzU2VhcmNoU291cmNlLmlkO1xuICB9XG5cbiAgZ2V0VHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBTdG9yZWRRdWVyaWVzU2VhcmNoU291cmNlLnR5cGU7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0RGVmYXVsdE9wdGlvbnMoKTogU2VhcmNoU291cmNlT3B0aW9ucyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiAnU3RvcmVkIFF1ZXJpZXMnLFxuICAgICAgc2VhcmNoVXJsOiAnaHR0cHM6Ly93cy5tYXBzZXJ2ZXIudHJhbnNwb3J0cy5nb3V2LnFjLmNhL3N3dHEnXG4gICAgfTtcbiAgfVxuXG4gIC8vIFVSTCBDQUxMIEVYQU1QTEVTOlxuICAvLyAgR2V0RmVhdHVyZUJ5SWQgKG1hbmRhdG9yeSBzdG9yZWRxdWVyeSBmb3Igd2ZzIHNlcnZlcikgKG91dHB1dGZvcm1hdCBtdXN0IGJlIGluIGdlb2pzb24pXG4gLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuICAvLyAgaHR0cHM6Ly93cy5tYXBzZXJ2ZXIudHJhbnNwb3J0cy5nb3V2LnFjLmNhL3N3dHE/c2VydmljZT13ZnMmdmVyc2lvbj0yLjAuMCZyZXF1ZXN0PUdldEZlYXR1cmUmc3RvcmVkcXVlcnlfaWQ9dXJuOm9nYzpkZWY6cXVlcnk6T0dDLVdGUzo6R2V0RmVhdHVyZUJ5SWQmc3JzbmFtZT1lcHNnOjQzMjYmb3V0cHV0Zm9ybWF0PWdlb2pzb24mSUQ9YV9udW1fcm91dGUuMTMyXG4gIC8vICBDdXN0b20gU3RvcmVkUXVlcnlcbiAvKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovXG4gIC8vICBodHRwczovL3dzLm1hcHNlcnZlci50cmFuc3BvcnRzLmdvdXYucWMuY2Evc3d0cT9zZXJ2aWNlPXdmcyZ2ZXJzaW9uPTEuMS4wJnJlcXVlc3Q9R2V0RmVhdHVyZSZzdG9yZWRxdWVyeV9pZD1ydHNzJnNyc25hbWU9ZXBzZzo0MzI2Jm91dHB1dGZvcm1hdD10ZXh0L3htbDslMjBzdWJ0eXBlPWdtbC8zLjEuMSZydHNzPTAwMTM4MDExMTAwMDBjJmNoYWluYWdlPTEyXG5cbiAgLyoqXG4gICAqIFNlYXJjaCBhIGxvY2F0aW9uIGJ5IG5hbWUgb3Iga2V5d29yZFxuICAgKiBAcGFyYW0gdGVybSBMb2NhdGlvbiBuYW1lIG9yIGtleXdvcmRcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiA8U2VhcmNoUmVzdWx0PEZlYXR1cmU+W11cbiAgICovXG5cbiAgQENhY2hlYWJsZSh7XG4gICAgbWF4Q2FjaGVDb3VudDogMjBcbiAgfSlcbiAgc2VhcmNoKFxuICAgIHRlcm06IHN0cmluZyxcbiAgICBvcHRpb25zPzogVGV4dFNlYXJjaE9wdGlvbnNcbiAgKTogT2JzZXJ2YWJsZTxTZWFyY2hSZXN1bHQ8RmVhdHVyZT5bXT4ge1xuICAgIGNvbnN0IHN0b3JlZHF1ZXJpZXNQYXJhbXMgPSB0aGlzLnRlcm1TcGxpdHRlcihcbiAgICAgIHRlcm0sXG4gICAgICB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLmZpZWxkc1xuICAgICk7XG4gICAgY29uc3QgcGFyYW1zID0gdGhpcy5jb21wdXRlUmVxdWVzdFBhcmFtcyhcbiAgICAgIG9wdGlvbnMgfHwge30sXG4gICAgICBzdG9yZWRxdWVyaWVzUGFyYW1zXG4gICAgKTtcbiAgICB0aGlzLm9wdGlvbnMucGFyYW1zID0gdGhpcy5vcHRpb25zLnBhcmFtcyA/IHRoaXMub3B0aW9ucy5wYXJhbXMgOiB7fTtcbiAgICB0aGlzLm9wdGlvbnMucGFyYW1zLnBhZ2UgPSBvcHRpb25zLnBhZ2UgPyBTdHJpbmcob3B0aW9ucy5wYWdlKSA6ICcxJztcblxuICAgIGlmIChcbiAgICAgIG5ldyBSZWdFeHAoJy4qP2dtbC4qPycsICdpJykudGVzdCh0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLm91dHB1dGZvcm1hdClcbiAgICApIHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgLmdldCh0aGlzLnNlYXJjaFVybCwgeyBwYXJhbXMsIHJlc3BvbnNlVHlwZTogJ3RleHQnIH0pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcChyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICBsZXQgcmVzdWx0QXJyYXkgPSB0aGlzLmV4dHJhY3RSZXN1bHRzKHRoaXMuZXh0cmFjdFdGU0RhdGEocmVzcG9uc2UpLCB0ZXJtKTtcbiAgICAgICAgICAgIHJlc3VsdEFycmF5LnNvcnQoKGEsIGIpID0+XG4gICAgICAgICAgICAgIChhLm1ldGEuc2NvcmUgPiBiLm1ldGEuc2NvcmUpID8gMSA6XG4gICAgICAgICAgICAgIChhLm1ldGEuc2NvcmUgPT09IGIubWV0YS5zY29yZSkgPyAoKGEubWV0YS50aXRsZUh0bWwgPCBiLm1ldGEudGl0bGVIdG1sKSA/IDEgOiAtMSkgOiAtMSk7XG4gICAgICAgICAgICByZXN1bHRBcnJheS5yZXZlcnNlKCk7XG4gICAgICAgICAgICBpZiAocmVzdWx0QXJyYXkubGVuZ3RoID4gTnVtYmVyKHRoaXMub3B0aW9ucy5wYXJhbXMubGltaXQpKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGlkeEVuZCA9IE51bWJlcih0aGlzLm9wdGlvbnMucGFyYW1zLmxpbWl0KSAqIE51bWJlcih0aGlzLm9wdGlvbnMucGFyYW1zLnBhZ2UpO1xuICAgICAgICAgICAgICBjb25zdCByZXN1bHRUb3RMZW5naHQgPSByZXN1bHRBcnJheS5sZW5ndGg7XG4gICAgICAgICAgICAgIHJlc3VsdEFycmF5ID0gcmVzdWx0QXJyYXkuc2xpY2UoMCwgaWR4RW5kKTtcbiAgICAgICAgICAgICAgaWYgKGlkeEVuZCA8IHJlc3VsdFRvdExlbmdodCkge1xuICAgICAgICAgICAgICAgIHJlc3VsdEFycmF5W3Jlc3VsdEFycmF5Lmxlbmd0aCAtIDEgXS5tZXRhLm5leHRQYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXN1bHRBcnJheVtyZXN1bHRBcnJheS5sZW5ndGggLSAxIF0ubWV0YS5uZXh0UGFnZSA9IGZhbHNlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0QXJyYXk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zZWFyY2hVcmwsIHsgcGFyYW1zIH0pLnBpcGUoXG4gICAgICAgIG1hcChyZXNwb25zZSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZXh0cmFjdFJlc3VsdHModGhpcy5leHRyYWN0V0ZTRGF0YShyZXNwb25zZSksIHRlcm0pO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEZvcm1hdEZyb21PcHRpb25zKCkge1xuICAgIGxldCBvbEZvcm1hdENscztcblxuICAgIGNvbnN0IG91dHB1dEZvcm1hdCA9IHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMub3V0cHV0Zm9ybWF0O1xuICAgIGNvbnN0IHBhdHRlcm5HbWwzID0gbmV3IFJlZ0V4cCgnLio/Z21sLio/JywgJ2knKTtcbiAgICBjb25zdCBwYXR0ZXJuR2VvanNvbiA9IG5ldyBSZWdFeHAoJy4qP2pzb24uKj8nLCAnaScpO1xuXG4gICAgaWYgKHBhdHRlcm5HZW9qc29uLnRlc3Qob3V0cHV0Rm9ybWF0KSkge1xuICAgICAgb2xGb3JtYXRDbHMgPSBvbGZvcm1hdC5HZW9KU09OO1xuICAgIH1cbiAgICBpZiAocGF0dGVybkdtbDMudGVzdChvdXRwdXRGb3JtYXQpKSB7XG4gICAgICBvbEZvcm1hdENscyA9IG9sZm9ybWF0LldGUztcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IG9sRm9ybWF0Q2xzKCk7XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RXRlNEYXRhKHJlcykge1xuICAgIGNvbnN0IG9sRm9ybWF0ID0gdGhpcy5nZXRGb3JtYXRGcm9tT3B0aW9ucygpO1xuICAgIGNvbnN0IGdlb2pzb24gPSBvbGZvcm1hdC5HZW9KU09OO1xuICAgIGNvbnN0IHdmc2ZlYXR1cmVzID0gb2xGb3JtYXQucmVhZEZlYXR1cmVzKHJlcyk7XG4gICAgY29uc3QgZmVhdHVyZXMgPSBKU09OLnBhcnNlKG5ldyBnZW9qc29uKCkud3JpdGVGZWF0dXJlcyh3ZnNmZWF0dXJlcykpO1xuICAgIHJldHVybiBmZWF0dXJlcztcbiAgfVxuXG4gIHByaXZhdGUgdGVybVNwbGl0dGVyKHRlcm06IHN0cmluZywgZmllbGRzOiBTdG9yZWRRdWVyaWVzRmllbGRzW10pOiB7fSB7XG4gICAgY29uc3Qgc3BsaXR0ZWRUZXJtID0ge307XG4gICAgbGV0IHJlbWFpbmluZ1Rlcm0gPSB0ZXJtO1xuICAgIGxldCBjbnQgPSAwO1xuXG4gICAgLy8gVXNlZCB0byBidWlsZCB0aGUgZGVmYXVsdCB2YWx1ZXNcbiAgICBmaWVsZHMuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICBzcGxpdHRlZFRlcm1bZmllbGQubmFtZV0gPSBmaWVsZC5kZWZhdWx0VmFsdWU7XG4gICAgICBjb25zdCBzcGxpdHRlclJlZ2V4ID0gbmV3IFJlZ0V4cChmaWVsZC5zcGxpdFByZWZpeCArICcoLispJywgJ2knKTtcbiAgICAgIGlmIChzcGxpdHRlclJlZ2V4LnRlc3QocmVtYWluaW5nVGVybSkpIHtcbiAgICAgICAgY250ID0gZmllbGQuc3BsaXRQcmVmaXggPyAoY250ICs9IDEpIDogY250O1xuICAgICAgICByZW1haW5pbmdUZXJtID0gcmVtYWluaW5nVGVybS5zcGxpdChzcGxpdHRlclJlZ2V4KVsxXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAoY250ID09PSAwKSB7XG4gICAgICBzcGxpdHRlZFRlcm1bZmllbGRzWzBdLm5hbWVdID0gdGVybTtcbiAgICAgIHJldHVybiBzcGxpdHRlZFRlcm07XG4gICAgfVxuICAgIHJlbWFpbmluZ1Rlcm0gPSB0ZXJtO1xuICAgIGNvbnN0IGxvY2FsRmllbGRzID0gWy4uLmZpZWxkc10ucmV2ZXJzZSgpO1xuICAgIGxvY2FsRmllbGRzLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgY29uc3Qgc3BsaXR0ZXJSZWdleCA9IG5ldyBSZWdFeHAoZmllbGQuc3BsaXRQcmVmaXggfHwgJycgKyAnKC4rKScsICdpJyk7XG4gICAgICBpZiAocmVtYWluaW5nVGVybSB8fCByZW1haW5pbmdUZXJtICE9PSAnJykge1xuICAgICAgICBjb25zdCB2YWx1ZXMgPSByZW1haW5pbmdUZXJtLnNwbGl0KHNwbGl0dGVyUmVnZXgpO1xuICAgICAgICByZW1haW5pbmdUZXJtID0gdmFsdWVzWzBdO1xuICAgICAgICBpZiAodmFsdWVzWzFdKSB7XG4gICAgICAgICAgc3BsaXR0ZWRUZXJtW2ZpZWxkLm5hbWVdID0gdmFsdWVzWzFdLnRyaW0oKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBzcGxpdHRlZFRlcm07XG4gIH1cblxuICBwcml2YXRlIGNvbXB1dGVSZXF1ZXN0UGFyYW1zKFxuICAgIG9wdGlvbnM6IFRleHRTZWFyY2hPcHRpb25zLFxuICAgIHF1ZXJ5UGFyYW1zXG4gICk6IEh0dHBQYXJhbXMge1xuICAgIGNvbnN0IHdmc3ZlcnNpb24gPSB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLnN0b3JlZHF1ZXJ5X2lkXG4gICAgICAudG9Mb3dlckNhc2UoKVxuICAgICAgLmluY2x1ZGVzKCdnZXRmZWF0dXJlYnlpZCcpXG4gICAgICA/ICcyLjAuMCdcbiAgICAgIDogJzEuMS4wJztcbiAgICByZXR1cm4gbmV3IEh0dHBQYXJhbXMoe1xuICAgICAgZnJvbU9iamVjdDogT2JqZWN0LmFzc2lnbihcbiAgICAgICAge1xuICAgICAgICAgIHNlcnZpY2U6ICd3ZnMnLFxuICAgICAgICAgIHZlcnNpb246IHdmc3ZlcnNpb24sXG4gICAgICAgICAgcmVxdWVzdDogJ0dldEZlYXR1cmUnLFxuICAgICAgICAgIHN0b3JlZHF1ZXJ5X2lkOiB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLnN0b3JlZHF1ZXJ5X2lkLFxuICAgICAgICAgIHNyc25hbWU6IHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMuc3JzbmFtZSxcbiAgICAgICAgICBvdXRwdXRmb3JtYXQ6IHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMub3V0cHV0Zm9ybWF0XG4gICAgICAgIH0sXG4gICAgICAgIHF1ZXJ5UGFyYW1zLFxuICAgICAgICB0aGlzLnBhcmFtcyxcbiAgICAgICAgb3B0aW9ucy5wYXJhbXMgfHwge31cbiAgICAgIClcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdFJlc3VsdHMoXG4gICAgcmVzcG9uc2U6IFN0b3JlZFF1ZXJpZXNSZXNwb25zZSwgdGVybTogc3RyaW5nXG4gICk6IFNlYXJjaFJlc3VsdDxGZWF0dXJlPltdIHtcbiAgICByZXR1cm4gcmVzcG9uc2UuZmVhdHVyZXMubWFwKChkYXRhOiBTdG9yZWRRdWVyaWVzRGF0YSkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YVRvUmVzdWx0KGRhdGEsIHRlcm0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBkYXRhVG9SZXN1bHQoZGF0YTogU3RvcmVkUXVlcmllc0RhdGEsIHRlcm06IHN0cmluZyk6IFNlYXJjaFJlc3VsdDxGZWF0dXJlPiB7XG4gICAgY29uc3QgcHJvcGVydGllcyA9IHRoaXMuY29tcHV0ZVByb3BlcnRpZXMoZGF0YSk7XG4gICAgY29uc3QgaWQgPSBbdGhpcy5nZXRJZCgpLCBwcm9wZXJ0aWVzLnR5cGUsIGRhdGEuaWRdLmpvaW4oJy4nKTtcbiAgICBjb25zdCB0aXRsZSA9IGRhdGEucHJvcGVydGllc1t0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLnJlc3VsdFRpdGxlXVxuICAgICAgPyB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLnJlc3VsdFRpdGxlXG4gICAgICA6IHRoaXMucmVzdWx0VGl0bGU7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNvdXJjZTogdGhpcyxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgdHlwZTogRkVBVFVSRSxcbiAgICAgICAgcHJvamVjdGlvbjogJ0VQU0c6NDMyNicsXG4gICAgICAgIGdlb21ldHJ5OiBkYXRhLmdlb21ldHJ5LFxuICAgICAgICAvLyBleHRlbnQ6IGRhdGEuYmJveCxcbiAgICAgICAgcHJvcGVydGllcyxcbiAgICAgICAgbWV0YToge1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIHRpdGxlOiBkYXRhLnByb3BlcnRpZXNbdGl0bGVdXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBtZXRhOiB7XG4gICAgICAgIGRhdGFUeXBlOiBGRUFUVVJFLFxuICAgICAgICBpZCxcbiAgICAgICAgdGl0bGU6IGRhdGEucHJvcGVydGllcy50aXRsZSxcbiAgICAgICAgdGl0bGVIdG1sOiBkYXRhLnByb3BlcnRpZXNbdGl0bGVdLFxuICAgICAgICBpY29uOiAnbWFwLW1hcmtlcicsXG4gICAgICAgIHNjb3JlOiAoZGF0YS5wcm9wZXJ0aWVzLnRpdGxlKSA/XG4gICAgICAgIGNvbXB1dGVUZXJtU2ltaWxhcml0eSh0ZXJtLnRyaW0oKSwgZGF0YS5wcm9wZXJ0aWVzLnRpdGxlKSA6XG4gICAgICAgIGNvbXB1dGVUZXJtU2ltaWxhcml0eSh0ZXJtLnRyaW0oKSwgZGF0YS5wcm9wZXJ0aWVzW3RpdGxlXSksXG5cbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wdXRlUHJvcGVydGllcyhkYXRhOiBTdG9yZWRRdWVyaWVzRGF0YSk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPSBPYmplY3QuYXNzaWduKFxuICAgICAge30sXG4gICAgICBPYmplY3RVdGlscy5yZW1vdmVLZXlzKFxuICAgICAgICBkYXRhLnByb3BlcnRpZXMsXG4gICAgICAgIFN0b3JlZFF1ZXJpZXNTZWFyY2hTb3VyY2UucHJvcGVydGllc0JsYWNrbGlzdFxuICAgICAgKSxcbiAgICAgIHsgUm91dGU6ICc8c3BhbiBjbGFzcz1cInJvdXRpbmdcIj4gPHU+JyArIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLnNlZVJvdXRpbmcnKSArICc8L3U+IDwvc3Bhbj4nIH1cbiAgICApO1xuICAgIHJldHVybiBwcm9wZXJ0aWVzO1xuICB9XG59XG5cbi8qKlxuICogU3RvcmVkUXVlcmllc1JldmVyc2Ugc2VhcmNoIHNvdXJjZVxuICovXG5cbi8vIEVYQU1QTEUgQ0FMTFNcbiAvKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovXG4vLyBodHRwczovL3dzLm1hcHNlcnZlci50cmFuc3BvcnRzLmdvdXYucWMuY2Evc3d0cT9zZXJ2aWNlPXdmcyZ2ZXJzaW9uPTEuMS4wJnJlcXVlc3Q9R2V0RmVhdHVyZSZzdG9yZWRxdWVyeV9pZD1saW1fYWRtJnNyc25hbWU9ZXBzZzo0MzI2Jm91dHB1dGZvcm1hdD10ZXh0L3htbDslMjBzdWJ0eXBlPWdtbC8zLjEuMSZsb25nPS03MS4yOTI0NjkmbGF0PTQ2Ljc0ODEwN1xuLy9cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFN0b3JlZFF1ZXJpZXNSZXZlcnNlU2VhcmNoU291cmNlIGV4dGVuZHMgU2VhcmNoU291cmNlXG4gIGltcGxlbWVudHMgUmV2ZXJzZVNlYXJjaCB7XG4gIHN0YXRpYyBpZCA9ICdzdG9yZWRxdWVyaWVzcmV2ZXJzZSc7XG4gIHN0YXRpYyB0eXBlID0gRkVBVFVSRTtcbiAgc3RhdGljIHByb3BlcnRpZXNCbGFja2xpc3Q6IHN0cmluZ1tdID0gW107XG4gIHB1YmxpYyByZXN1bHRUaXRsZTogJ3RpdGxlJztcbiAgcHVibGljIHN0b3JlZFF1ZXJpZXNPcHRpb25zOiBTdG9yZWRRdWVyaWVzUmV2ZXJzZVNlYXJjaFNvdXJjZU9wdGlvbnM7XG4gIHB1YmxpYyBtdWx0aXBsZUZpZWxkc1F1ZXJ5OiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxuICAgIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcbiAgICBASW5qZWN0KCdvcHRpb25zJykgb3B0aW9uczogU2VhcmNoU291cmNlT3B0aW9uc1xuICApIHtcbiAgICBzdXBlcihvcHRpb25zLCBzdG9yYWdlU2VydmljZSk7XG4gICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucyA9IG9wdGlvbnMgYXMgU3RvcmVkUXVlcmllc1JldmVyc2VTZWFyY2hTb3VyY2VPcHRpb25zO1xuXG4gICAgaWYgKCF0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zIHx8ICh0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zICYmICF0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLmF2YWlsYWJsZSkgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLnN0b3JlZHF1ZXJ5X2lkKSB7XG4gICAgICBjb25zdCBlcnIgPVxuICAgICAgICAnU3RvcmVkIFF1ZXJpZXMgOllvdSBoYXZlIHRvIHNldCBcInN0b3JlZHF1ZXJ5X2lkXCIgaW50byBTdG9yZWRRdWVyaWVzIG9wdGlvbnMuIGV4OiBzdG9yZWRxdWVyeV9pZDogXCJuYW1lb2ZzdG9yZWRxdWVyaWVcIic7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLmxvbmdGaWVsZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnU3RvcmVkIFF1ZXJpZXMgOllvdSBoYXZlIHRvIHNldCBcImxvbmdGaWVsZFwiIHRvIG1hcCB0aGUgbG9uZ2l0dWRlIGNvb3JkaW5hdGUgdG8gdGhlIHF1ZXJ5IHBhcmFtcy4nXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMubGF0RmllbGQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1N0b3JlZCBRdWVyaWVzIDpZb3UgaGF2ZSB0byBzZXQgXCJsYXRGaWVsZFwiIHRvIG1hcCB0aGUgbGF0aXR1ZGUgY29vcmRpbmF0ZSB0byB0aGUgcXVlcnkgcGFyYW1zLidcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5vdXRwdXRmb3JtYXQgPVxuICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5vdXRwdXRmb3JtYXQgfHwgJ3RleHQveG1sOyBzdWJ0eXBlPWdtbC8zLjEuMSc7XG4gICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5zcnNuYW1lID1cbiAgICAgIHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMuc3JzbmFtZSB8fCAnRVBTRzo0MzI2JztcbiAgICB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLnJlc3VsdFRpdGxlID1cbiAgICAgIHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMucmVzdWx0VGl0bGUgfHwgdGhpcy5yZXN1bHRUaXRsZTtcbiAgfVxuXG4gIGdldElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFN0b3JlZFF1ZXJpZXNSZXZlcnNlU2VhcmNoU291cmNlLmlkO1xuICB9XG5cbiAgZ2V0VHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBTdG9yZWRRdWVyaWVzUmV2ZXJzZVNlYXJjaFNvdXJjZS50eXBlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldERlZmF1bHRPcHRpb25zKCk6IFNlYXJjaFNvdXJjZU9wdGlvbnMge1xuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogJ1N0b3JlZCBRdWVyaWVzIChyZXZlcnNlKScsXG4gICAgICBzZWFyY2hVcmw6ICdodHRwczovL3dzLm1hcHNlcnZlci50cmFuc3BvcnRzLmdvdXYucWMuY2Evc3d0cSdcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFNlYXJjaCBhIGxvY2F0aW9uIGJ5IGNvb3JkaW5hdGVzXG4gICAqIEBwYXJhbSBsb25MYXQgTG9jYXRpb24gY29vcmRpbmF0ZXNcbiAgICogQHBhcmFtIGRpc3RhbmNlIFNlYXJjaCByYWlkdXMgYXJvdW5kIGxvbkxhdFxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIDxTZWFyY2hSZXN1bHQ8RmVhdHVyZT5bXVxuICAgKi9cbiAgQENhY2hlYWJsZSh7XG4gICAgbWF4Q2FjaGVDb3VudDogMjBcbiAgfSlcbiAgcmV2ZXJzZVNlYXJjaChcbiAgICBsb25MYXQ6IFtudW1iZXIsIG51bWJlcl0sXG4gICAgb3B0aW9ucz86IFJldmVyc2VTZWFyY2hPcHRpb25zXG4gICk6IE9ic2VydmFibGU8U2VhcmNoUmVzdWx0PEZlYXR1cmU+W10+IHtcbiAgICBjb25zdCBwYXJhbXMgPSB0aGlzLmNvbXB1dGVSZXF1ZXN0UGFyYW1zKGxvbkxhdCwgb3B0aW9ucyB8fCB7fSk7XG5cbiAgICBpZiAoXG4gICAgICBuZXcgUmVnRXhwKCcuKj9nbWwuKj8nLCAnaScpLnRlc3QodGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5vdXRwdXRmb3JtYXQpXG4gICAgKSB7XG4gICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgIC5nZXQodGhpcy5zZWFyY2hVcmwsIHsgcGFyYW1zLCByZXNwb25zZVR5cGU6ICd0ZXh0JyB9KVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXh0cmFjdFJlc3VsdHModGhpcy5leHRyYWN0V0ZTRGF0YShyZXNwb25zZSkpO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc2VhcmNoVXJsLCB7IHBhcmFtcyB9KS5waXBlKFxuICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLmV4dHJhY3RSZXN1bHRzKHRoaXMuZXh0cmFjdFdGU0RhdGEocmVzcG9uc2UpKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRGb3JtYXRGcm9tT3B0aW9ucygpIHtcbiAgICBsZXQgb2xGb3JtYXRDbHM7XG5cbiAgICBjb25zdCBvdXRwdXRGb3JtYXQgPSB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLm91dHB1dGZvcm1hdDtcbiAgICBjb25zdCBwYXR0ZXJuR21sMyA9IG5ldyBSZWdFeHAoJy4qP2dtbC4qPycsICdpJyk7XG4gICAgY29uc3QgcGF0dGVybkdlb2pzb24gPSBuZXcgUmVnRXhwKCcuKj9qc29uLio/JywgJ2knKTtcblxuICAgIGlmIChwYXR0ZXJuR2VvanNvbi50ZXN0KG91dHB1dEZvcm1hdCkpIHtcbiAgICAgIG9sRm9ybWF0Q2xzID0gb2xmb3JtYXQuR2VvSlNPTjtcbiAgICB9XG4gICAgaWYgKHBhdHRlcm5HbWwzLnRlc3Qob3V0cHV0Rm9ybWF0KSkge1xuICAgICAgb2xGb3JtYXRDbHMgPSBvbGZvcm1hdC5XRlM7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBvbEZvcm1hdENscygpO1xuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0V0ZTRGF0YShyZXMpIHtcbiAgICBjb25zdCBvbEZvcm1hdCA9IHRoaXMuZ2V0Rm9ybWF0RnJvbU9wdGlvbnMoKTtcbiAgICBjb25zdCBnZW9qc29uID0gb2xmb3JtYXQuR2VvSlNPTjtcbiAgICBjb25zdCB3ZnNmZWF0dXJlcyA9IG9sRm9ybWF0LnJlYWRGZWF0dXJlcyhyZXMpO1xuICAgIGNvbnN0IGZlYXR1cmVzID0gSlNPTi5wYXJzZShuZXcgZ2VvanNvbigpLndyaXRlRmVhdHVyZXMod2ZzZmVhdHVyZXMpKTtcbiAgICByZXR1cm4gZmVhdHVyZXM7XG4gIH1cblxuICBwcml2YXRlIGNvbXB1dGVSZXF1ZXN0UGFyYW1zKFxuICAgIGxvbkxhdDogW251bWJlciwgbnVtYmVyXSxcbiAgICBvcHRpb25zPzogUmV2ZXJzZVNlYXJjaE9wdGlvbnNcbiAgKTogSHR0cFBhcmFtcyB7XG4gICAgY29uc3QgbG9uZ0xhdFBhcmFtcyA9IHt9O1xuICAgIGxvbmdMYXRQYXJhbXNbdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5sb25nRmllbGRdID0gbG9uTGF0WzBdO1xuICAgIGxvbmdMYXRQYXJhbXNbdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5sYXRGaWVsZF0gPSBsb25MYXRbMV07XG5cbiAgICByZXR1cm4gbmV3IEh0dHBQYXJhbXMoe1xuICAgICAgZnJvbU9iamVjdDogT2JqZWN0LmFzc2lnbihcbiAgICAgICAge1xuICAgICAgICAgIHNlcnZpY2U6ICdXRlMnLFxuICAgICAgICAgIHZlcnNpb246ICcxLjEuMCcsXG4gICAgICAgICAgcmVxdWVzdDogJ0dldEZlYXR1cmUnLFxuICAgICAgICAgIHN0b3JlZHF1ZXJ5X2lkOiB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLnN0b3JlZHF1ZXJ5X2lkLFxuICAgICAgICAgIHNyc25hbWU6IHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMuc3JzbmFtZSxcbiAgICAgICAgICBvdXRwdXRmb3JtYXQ6IHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMub3V0cHV0Zm9ybWF0XG4gICAgICAgIH0sXG4gICAgICAgIGxvbmdMYXRQYXJhbXMsXG4gICAgICAgIHRoaXMucGFyYW1zLFxuICAgICAgICBvcHRpb25zLnBhcmFtcyB8fCB7fVxuICAgICAgKVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0UmVzdWx0cyhcbiAgICByZXNwb25zZTogU3RvcmVkUXVlcmllc1JldmVyc2VSZXNwb25zZVxuICApOiBTZWFyY2hSZXN1bHQ8RmVhdHVyZT5bXSB7XG4gICAgcmV0dXJuIHJlc3BvbnNlLmZlYXR1cmVzLm1hcCgoZGF0YTogU3RvcmVkUXVlcmllc1JldmVyc2VEYXRhKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5kYXRhVG9SZXN1bHQoZGF0YSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGRhdGFUb1Jlc3VsdChkYXRhOiBTdG9yZWRRdWVyaWVzUmV2ZXJzZURhdGEpOiBTZWFyY2hSZXN1bHQ8RmVhdHVyZT4ge1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPSB0aGlzLmNvbXB1dGVQcm9wZXJ0aWVzKGRhdGEpO1xuICAgIGNvbnN0IGlkID0gW3RoaXMuZ2V0SWQoKSwgcHJvcGVydGllcy50eXBlLCBkYXRhLmlkXS5qb2luKCcuJyk7XG4gICAgY29uc3QgdGl0bGUgPSBkYXRhLnByb3BlcnRpZXNbdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5yZXN1bHRUaXRsZV1cbiAgICAgID8gdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5yZXN1bHRUaXRsZVxuICAgICAgOiB0aGlzLnJlc3VsdFRpdGxlO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHNvdXJjZTogdGhpcyxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgdHlwZTogRkVBVFVSRSxcbiAgICAgICAgcHJvamVjdGlvbjogJ0VQU0c6NDMyNicsXG4gICAgICAgIGdlb21ldHJ5OiBkYXRhLmdlb21ldHJ5LFxuICAgICAgICBwcm9wZXJ0aWVzLFxuICAgICAgICBtZXRhOiB7XG4gICAgICAgICAgaWQsXG4gICAgICAgICAgdGl0bGU6IGRhdGEucHJvcGVydGllc1t0aXRsZV1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIG1ldGE6IHtcbiAgICAgICAgZGF0YVR5cGU6IEZFQVRVUkUsXG4gICAgICAgIGlkLFxuICAgICAgICB0aXRsZTogZGF0YS5wcm9wZXJ0aWVzW3RpdGxlXSxcbiAgICAgICAgaWNvbjogJ21hcC1tYXJrZXInXG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgY29tcHV0ZVByb3BlcnRpZXMoXG4gICAgZGF0YTogU3RvcmVkUXVlcmllc1JldmVyc2VEYXRhXG4gICk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPSBPYmplY3RVdGlscy5yZW1vdmVLZXlzKFxuICAgICAgZGF0YS5wcm9wZXJ0aWVzLFxuICAgICAgU3RvcmVkUXVlcmllc1JldmVyc2VTZWFyY2hTb3VyY2UucHJvcGVydGllc0JsYWNrbGlzdFxuICAgICk7XG4gICAgY29uc3Qgcm91dGluZyA9IHtcbiAgICAgIFJvdXRlOiAnPHNwYW4gY2xhc3M9XCJyb3V0aW5nXCI+IDx1PicgKyB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5zZWVSb3V0aW5nJykgKyAnPC91PiA8L3NwYW4+J1xuICAgIH07XG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24ocHJvcGVydGllcywgeyB0eXBlOiBkYXRhLnByb3BlcnRpZXMuZG9jX3R5cGUgfSwgcm91dGluZyk7XG4gIH1cbn1cbiJdfQ==
|
|
425
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVkcXVlcmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zaGFyZWQvc291cmNlcy9zdG9yZWRxdWVyaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHOUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLE9BQU8sRUFBVyxNQUFNLGtCQUFrQixDQUFDO0FBR3BELE9BQU8sRUFBRSxZQUFZLEVBQTZCLE1BQU0sVUFBVSxDQUFDO0FBZ0JuRSxPQUFPLEtBQUssUUFBUSxNQUFNLFdBQVcsQ0FBQztBQUV0QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBRXpDOztHQUVHO0FBRUgsTUFBTSxPQUFPLHlCQUEwQixTQUFRLFlBQVk7SUFjekQsWUFDVSxJQUFnQixFQUNoQixlQUFnQyxFQUN4QyxjQUE4QixFQUNYLE9BQTRCO1FBRS9DLEtBQUssQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFMdkIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFLeEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE9BQTJDLENBQUM7UUFDeEUsSUFBSSxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxFQUFFO1lBQ3JFLE9BQU87U0FDUjtRQUVELE1BQU0sb0JBQW9CLEdBQUcs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Q0FBQztJQUNKLENBQUM7SUFFTyxpQkFBaUIsQ0FDdkIsSUFBOEI7UUFFOUIsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FDdkMsSUFBSSxDQUFDLFVBQVUsRUFDZixnQ0FBZ0MsQ0FBQyxtQkFBbUIsQ0FDckQsQ0FBQztRQUNGLE1BQU0sT0FBTyxHQUFHO1lBQ2QsS0FBSyxFQUFFLDRCQUE0QixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLGNBQWM7U0FDcEgsQ0FBQztRQUNGLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoRixDQUFDOztBQTlMTSxtQ0FBRSxHQUFHLHNCQUFzQixDQUFDO0FBQzVCLHFDQUFJLEdBQUcsT0FBTyxDQUFDO0FBQ2Ysb0RBQW1CLEdBQWEsRUFBRyxDQUFBO2dIQUovQixnQ0FBZ0MsMkdBYWpDLFNBQVM7c0ZBYlIsZ0NBQWdDLFdBQWhDLGdDQUFnQzs7SUFtRTFDLFNBQVMsQ0FBQztRQUNULGFBQWEsRUFBRSxFQUFFO0tBQ2xCLENBQUM7cUVBd0JEO3VGQTdGVSxnQ0FBZ0M7Y0FENUMsVUFBVTs7c0JBY04sTUFBTTt1QkFBQyxTQUFTO3dCQXlEbkIsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBPYmplY3RVdGlscyB9IGZyb20gJ0BpZ28yL3V0aWxzJztcbmltcG9ydCB7IEZFQVRVUkUsIEZlYXR1cmUgfSBmcm9tICcuLi8uLi8uLi9mZWF0dXJlJztcblxuaW1wb3J0IHsgU2VhcmNoUmVzdWx0IH0gZnJvbSAnLi4vc2VhcmNoLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgU2VhcmNoU291cmNlLCBUZXh0U2VhcmNoLCBSZXZlcnNlU2VhcmNoIH0gZnJvbSAnLi9zb3VyY2UnO1xuaW1wb3J0IHtcbiAgU2VhcmNoU291cmNlT3B0aW9ucyxcbiAgVGV4dFNlYXJjaE9wdGlvbnMsXG4gIFJldmVyc2VTZWFyY2hPcHRpb25zXG59IGZyb20gJy4vc291cmNlLmludGVyZmFjZXMnO1xuaW1wb3J0IHtcbiAgU3RvcmVkUXVlcmllc0RhdGEsXG4gIFN0b3JlZFF1ZXJpZXNSZXNwb25zZSxcbiAgU3RvcmVkUXVlcmllc1JldmVyc2VEYXRhLFxuICBTdG9yZWRRdWVyaWVzUmV2ZXJzZVJlc3BvbnNlLFxuICBTdG9yZWRRdWVyaWVzU2VhcmNoU291cmNlT3B0aW9ucyxcbiAgU3RvcmVkUXVlcmllc0ZpZWxkcyxcbiAgU3RvcmVkUXVlcmllc1JldmVyc2VTZWFyY2hTb3VyY2VPcHRpb25zXG59IGZyb20gJy4vc3RvcmVkcXVlcmllcy5pbnRlcmZhY2VzJztcblxuaW1wb3J0ICogYXMgb2xmb3JtYXQgZnJvbSAnb2wvZm9ybWF0JztcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSwgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCB7IGNvbXB1dGVUZXJtU2ltaWxhcml0eSB9IGZyb20gJy4uL3NlYXJjaC51dGlscyc7XG5pbXBvcnQgeyBDYWNoZWFibGUgfSBmcm9tICd0cy1jYWNoZWFibGUnO1xuXG4vKipcbiAqIFN0b3JlZFF1ZXJpZXMgc2VhcmNoIHNvdXJjZVxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU3RvcmVkUXVlcmllc1NlYXJjaFNvdXJjZSBleHRlbmRzIFNlYXJjaFNvdXJjZVxuICBpbXBsZW1lbnRzIFRleHRTZWFyY2gge1xuICBzdGF0aWMgaWQgPSAnc3RvcmVkcXVlcmllcyc7XG4gIHN0YXRpYyB0eXBlID0gRkVBVFVSRTtcbiAgc3RhdGljIHByb3BlcnRpZXNCbGFja2xpc3Q6IHN0cmluZ1tdID0gW1xuICAgICdib3VuZGVkQnknLFxuICAgICdpZCcsXG4gICAgJ2Nvb3JkX3gnLFxuICAgICdjb29yZF95J1xuICBdO1xuICBwdWJsaWMgcmVzdWx0VGl0bGU6ICd0aXRsZSc7XG4gIHB1YmxpYyBzdG9yZWRRdWVyaWVzT3B0aW9uczogU3RvcmVkUXVlcmllc1NlYXJjaFNvdXJjZU9wdGlvbnM7XG4gIHB1YmxpYyBtdWx0aXBsZUZpZWxkc1F1ZXJ5OiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxuICAgIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcbiAgICBASW5qZWN0KCdvcHRpb25zJykgb3B0aW9uczogU2VhcmNoU291cmNlT3B0aW9uc1xuICApIHtcbiAgICBzdXBlcihvcHRpb25zLCBzdG9yYWdlU2VydmljZSk7XG4gICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucyA9IG9wdGlvbnMgYXMgU3RvcmVkUXVlcmllc1NlYXJjaFNvdXJjZU9wdGlvbnM7XG4gICAgaWYgKHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMgJiYgIXRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMuYXZhaWxhYmxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVmYXVsdFN0b3JlZHF1ZXJ5SWQgPSAncnRzcyc7XG4gICAgY29uc3QgZGVmYXVsdEZpZWxkU3BsaXR0ZXI6IFN0b3JlZFF1ZXJpZXNGaWVsZHNbXSA9IFtcbiAgICAgIHsgbmFtZTogJ3J0c3MnLCBkZWZhdWx0VmFsdWU6ICctOTknIH0sXG4gICAgICB7IG5hbWU6ICdjaGFpbmFnZScsIGRlZmF1bHRWYWx1ZTogJzAnLCBzcGxpdFByZWZpeDogJ1xcXFwrJyB9XG4gICAgXTtcbiAgICBjb25zdCBkZWZhdWx0T3V0cHV0Zm9ybWF0ID0gJ3RleHQveG1sOyBzdWJ0eXBlPWdtbC8zLjEuMSc7XG4gICAgY29uc3QgZGVmYXVsdFNyc25hbWUgPSAnRVBTRzo0MzI2JztcbiAgICBjb25zdCBkZWZhdWx0UmVzdWx0VGl0bGUgPSAndGl0bGUnO1xuXG4gICAgaWYgKCF0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zKSB7XG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgJyBObyBjb25maWd1cmF0aW9uIGZvciB0aGlzIHNlYXJjaCBzb3VyY2UgKHN0b3JlZHF1ZXJpZXMpLiBZb3Ugd2lsbCB1c2UgdGhlIGRlZmF1bHQgdmFsdWVzJ1xuICAgICAgKTtcbiAgICAgIHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMgPSB7XG4gICAgICAgIHN0b3JlZHF1ZXJ5X2lkOiBkZWZhdWx0U3RvcmVkcXVlcnlJZCxcbiAgICAgICAgZmllbGRzOiBkZWZhdWx0RmllbGRTcGxpdHRlcixcbiAgICAgICAgb3V0cHV0Zm9ybWF0OiBkZWZhdWx0T3V0cHV0Zm9ybWF0LFxuICAgICAgICBzcnNuYW1lOiBkZWZhdWx0U3JzbmFtZSxcbiAgICAgICAgcmVzdWx0VGl0bGU6IGRlZmF1bHRSZXN1bHRUaXRsZVxuICAgICAgfTtcbiAgICAgIHRoaXMucmVzdWx0VGl0bGUgPSBkZWZhdWx0UmVzdWx0VGl0bGU7XG4gICAgICBjb25zb2xlLmxvZygnRGVmYXVsdCB2YWx1ZXMnLCB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMuc3RvcmVkcXVlcnlfaWQpIHtcbiAgICAgIGNvbnN0IGVyciA9XG4gICAgICAgICdTdG9yZWQgUXVlcmllcyA6WW91IGhhdmUgdG8gc2V0IFwic3RvcmVkcXVlcnlfaWRcIiBpbnRvIFN0b3JlZFF1ZXJpZXMgb3B0aW9ucy4gZXg6IHN0b3JlZHF1ZXJ5X2lkOiBcIm5hbWVvZnN0b3JlZHF1ZXJpZVwiJztcbiAgICAgIHRocm93IG5ldyBFcnJvcihlcnIpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMuZmllbGRzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdTdG9yZWQgUXVlcmllcyA6WW91IGhhdmUgdG8gc2V0IFwiZmllbGRzXCIgaW50byBvcHRpb25zLiBleDogZmllbGRzOiB7XCJuYW1lXCI6IFwicnRzc1wiLCBcImRlZmF1bHRWYWx1ZVwiOiBcIi05OVwifSdcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5vdXRwdXRmb3JtYXQgPVxuICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5vdXRwdXRmb3JtYXQgfHwgJ3RleHQveG1sOyBzdWJ0eXBlPWdtbC8zLjEuMSc7XG4gICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5zcnNuYW1lID1cbiAgICAgIHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMuc3JzbmFtZSB8fCAnRVBTRzo0MzI2JztcblxuICAgIGNvbnN0IHN0b3JlZFF1ZXJ5SWQgPSB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLnN0b3JlZHF1ZXJ5X2lkLnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKFxuICAgICAgc3RvcmVkUXVlcnlJZC5pbmNsdWRlcygnZ2V0ZmVhdHVyZWJ5aWQnKSAmJlxuICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5vdXRwdXRmb3JtYXRcbiAgICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgICAgLmluY2x1ZGVzKCdnZXRmZWF0dXJlYnlpZCcpXG4gICAgKSB7XG4gICAgICBsZXQgZXJyID1cbiAgICAgICAgJ1lvdSBtdXN0IHNldCBhIGdlb2pzb24gZm9ybWF0IGZvciB5b3VyIHN0b3JlZCBxdWVyeS4gVGhpcyBpcyBkdWUgdG8gYW4gb3BlbmxheWVycyBpc3N1ZSknO1xuICAgICAgZXJyICs9ICcgKHdmcyAxLjEuMCAmIGdtbCAzLjEuMSBsaW1pdGF0aW9uKSc7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyKTtcbiAgICB9XG5cbiAgICBpZiAoISh0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLmZpZWxkcyBpbnN0YW5jZW9mIEFycmF5KSkge1xuICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5maWVsZHMgPSBbdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5maWVsZHNdO1xuICAgIH1cblxuICAgIHRoaXMubXVsdGlwbGVGaWVsZHNRdWVyeSA9XG4gICAgICB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLmZpZWxkcy5sZW5ndGggPiAxID8gdHJ1ZSA6IGZhbHNlO1xuXG4gICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5maWVsZHMuZm9yRWFjaCgoZmllbGQsIGluZGV4KSA9PiB7XG4gICAgICBpZiAodGhpcy5tdWx0aXBsZUZpZWxkc1F1ZXJ5ICYmICFmaWVsZC5zcGxpdFByZWZpeCAmJiBpbmRleCAhPT0gMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgJ1N0b3JlZCBRdWVyaWVzIDpZb3UgbXVzdCBzZXQgYSBmaWVsZCBzcGxpdGVyIGludG8geW91ciBmaWVsZCBkZWZpbml0aW9uIChvcHRpb25hbCBmb3IgdGhlIGZpcnN0IG9uZSEpJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgICAgaWYgKCFmaWVsZC5kZWZhdWx0VmFsdWUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICdTdG9yZWQgUXVlcmllcyA6WW91IG11c3Qgc2V0IGEgZmllbGQgZGVmYXVsdCB2YWx1ZSBpbnRvIHlvdXIgZmllbGQgZGVmaW5pdGlvbidcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMucmVzdWx0VGl0bGUgPVxuICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5yZXN1bHRUaXRsZSB8fCB0aGlzLnJlc3VsdFRpdGxlO1xuICB9XG5cbiAgZ2V0SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gU3RvcmVkUXVlcmllc1NlYXJjaFNvdXJjZS5pZDtcbiAgfVxuXG4gIGdldFR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gU3RvcmVkUXVlcmllc1NlYXJjaFNvdXJjZS50eXBlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldERlZmF1bHRPcHRpb25zKCk6IFNlYXJjaFNvdXJjZU9wdGlvbnMge1xuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogJ1N0b3JlZCBRdWVyaWVzJyxcbiAgICAgIHNlYXJjaFVybDogJ2h0dHBzOi8vd3MubWFwc2VydmVyLnRyYW5zcG9ydHMuZ291di5xYy5jYS9zd3RxJ1xuICAgIH07XG4gIH1cblxuICAvLyBVUkwgQ0FMTCBFWEFNUExFUzpcbiAgLy8gIEdldEZlYXR1cmVCeUlkIChtYW5kYXRvcnkgc3RvcmVkcXVlcnkgZm9yIHdmcyBzZXJ2ZXIpIChvdXRwdXRmb3JtYXQgbXVzdCBiZSBpbiBnZW9qc29uKVxuIC8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cbiAgLy8gIGh0dHBzOi8vd3MubWFwc2VydmVyLnRyYW5zcG9ydHMuZ291di5xYy5jYS9zd3RxP3NlcnZpY2U9d2ZzJnZlcnNpb249Mi4wLjAmcmVxdWVzdD1HZXRGZWF0dXJlJnN0b3JlZHF1ZXJ5X2lkPXVybjpvZ2M6ZGVmOnF1ZXJ5Ok9HQy1XRlM6OkdldEZlYXR1cmVCeUlkJnNyc25hbWU9ZXBzZzo0MzI2Jm91dHB1dGZvcm1hdD1nZW9qc29uJklEPWFfbnVtX3JvdXRlLjEzMlxuICAvLyAgQ3VzdG9tIFN0b3JlZFF1ZXJ5XG4gLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuICAvLyAgaHR0cHM6Ly93cy5tYXBzZXJ2ZXIudHJhbnNwb3J0cy5nb3V2LnFjLmNhL3N3dHE/c2VydmljZT13ZnMmdmVyc2lvbj0xLjEuMCZyZXF1ZXN0PUdldEZlYXR1cmUmc3RvcmVkcXVlcnlfaWQ9cnRzcyZzcnNuYW1lPWVwc2c6NDMyNiZvdXRwdXRmb3JtYXQ9dGV4dC94bWw7JTIwc3VidHlwZT1nbWwvMy4xLjEmcnRzcz0wMDEzODAxMTEwMDAwYyZjaGFpbmFnZT0xMlxuXG4gIC8qKlxuICAgKiBTZWFyY2ggYSBsb2NhdGlvbiBieSBuYW1lIG9yIGtleXdvcmRcbiAgICogQHBhcmFtIHRlcm0gTG9jYXRpb24gbmFtZSBvciBrZXl3b3JkXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgPFNlYXJjaFJlc3VsdDxGZWF0dXJlPltdXG4gICAqL1xuXG4gIEBDYWNoZWFibGUoe1xuICAgIG1heENhY2hlQ291bnQ6IDIwXG4gIH0pXG4gIHNlYXJjaChcbiAgICB0ZXJtOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IFRleHRTZWFyY2hPcHRpb25zXG4gICk6IE9ic2VydmFibGU8U2VhcmNoUmVzdWx0PEZlYXR1cmU+W10+IHtcbiAgICBjb25zdCBzdG9yZWRxdWVyaWVzUGFyYW1zID0gdGhpcy50ZXJtU3BsaXR0ZXIoXG4gICAgICB0ZXJtLFxuICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5maWVsZHNcbiAgICApO1xuICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuY29tcHV0ZVJlcXVlc3RQYXJhbXMoXG4gICAgICBvcHRpb25zIHx8IHt9LFxuICAgICAgc3RvcmVkcXVlcmllc1BhcmFtc1xuICAgICk7XG4gICAgdGhpcy5vcHRpb25zLnBhcmFtcyA9IHRoaXMub3B0aW9ucy5wYXJhbXMgPyB0aGlzLm9wdGlvbnMucGFyYW1zIDoge307XG4gICAgdGhpcy5vcHRpb25zLnBhcmFtcy5wYWdlID0gb3B0aW9ucy5wYWdlID8gU3RyaW5nKG9wdGlvbnMucGFnZSkgOiAnMSc7XG5cbiAgICBpZiAoXG4gICAgICBuZXcgUmVnRXhwKCcuKj9nbWwuKj8nLCAnaScpLnRlc3QodGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5vdXRwdXRmb3JtYXQpXG4gICAgKSB7XG4gICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgIC5nZXQodGhpcy5zZWFyY2hVcmwsIHsgcGFyYW1zLCByZXNwb25zZVR5cGU6ICd0ZXh0JyB9KVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgbGV0IHJlc3VsdEFycmF5ID0gdGhpcy5leHRyYWN0UmVzdWx0cyh0aGlzLmV4dHJhY3RXRlNEYXRhKHJlc3BvbnNlKSwgdGVybSk7XG4gICAgICAgICAgICByZXN1bHRBcnJheS5zb3J0KChhLCBiKSA9PlxuICAgICAgICAgICAgICAoYS5tZXRhLnNjb3JlID4gYi5tZXRhLnNjb3JlKSA/IDEgOlxuICAgICAgICAgICAgICAoYS5tZXRhLnNjb3JlID09PSBiLm1ldGEuc2NvcmUpID8gKChhLm1ldGEudGl0bGVIdG1sIDwgYi5tZXRhLnRpdGxlSHRtbCkgPyAxIDogLTEpIDogLTEpO1xuICAgICAgICAgICAgcmVzdWx0QXJyYXkucmV2ZXJzZSgpO1xuICAgICAgICAgICAgaWYgKHJlc3VsdEFycmF5Lmxlbmd0aCA+IE51bWJlcih0aGlzLm9wdGlvbnMucGFyYW1zLmxpbWl0KSkge1xuICAgICAgICAgICAgICBjb25zdCBpZHhFbmQgPSBOdW1iZXIodGhpcy5vcHRpb25zLnBhcmFtcy5saW1pdCkgKiBOdW1iZXIodGhpcy5vcHRpb25zLnBhcmFtcy5wYWdlKTtcbiAgICAgICAgICAgICAgY29uc3QgcmVzdWx0VG90TGVuZ2h0ID0gcmVzdWx0QXJyYXkubGVuZ3RoO1xuICAgICAgICAgICAgICByZXN1bHRBcnJheSA9IHJlc3VsdEFycmF5LnNsaWNlKDAsIGlkeEVuZCk7XG4gICAgICAgICAgICAgIGlmIChpZHhFbmQgPCByZXN1bHRUb3RMZW5naHQpIHtcbiAgICAgICAgICAgICAgICByZXN1bHRBcnJheVtyZXN1bHRBcnJheS5sZW5ndGggLSAxIF0ubWV0YS5uZXh0UGFnZSA9IHRydWU7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0QXJyYXlbcmVzdWx0QXJyYXkubGVuZ3RoIC0gMSBdLm1ldGEubmV4dFBhZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdEFycmF5O1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc2VhcmNoVXJsLCB7IHBhcmFtcyB9KS5waXBlKFxuICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLmV4dHJhY3RSZXN1bHRzKHRoaXMuZXh0cmFjdFdGU0RhdGEocmVzcG9uc2UpLCB0ZXJtKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRGb3JtYXRGcm9tT3B0aW9ucygpIHtcbiAgICBsZXQgb2xGb3JtYXRDbHM7XG5cbiAgICBjb25zdCBvdXRwdXRGb3JtYXQgPSB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLm91dHB1dGZvcm1hdDtcbiAgICBjb25zdCBwYXR0ZXJuR21sMyA9IG5ldyBSZWdFeHAoJy4qP2dtbC4qPycsICdpJyk7XG4gICAgY29uc3QgcGF0dGVybkdlb2pzb24gPSBuZXcgUmVnRXhwKCcuKj9qc29uLio/JywgJ2knKTtcblxuICAgIGlmIChwYXR0ZXJuR2VvanNvbi50ZXN0KG91dHB1dEZvcm1hdCkpIHtcbiAgICAgIG9sRm9ybWF0Q2xzID0gb2xmb3JtYXQuR2VvSlNPTjtcbiAgICB9XG4gICAgaWYgKHBhdHRlcm5HbWwzLnRlc3Qob3V0cHV0Rm9ybWF0KSkge1xuICAgICAgb2xGb3JtYXRDbHMgPSBvbGZvcm1hdC5XRlM7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBvbEZvcm1hdENscygpO1xuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0V0ZTRGF0YShyZXMpIHtcbiAgICBjb25zdCBvbEZvcm1hdCA9IHRoaXMuZ2V0Rm9ybWF0RnJvbU9wdGlvbnMoKTtcbiAgICBjb25zdCBnZW9qc29uID0gb2xmb3JtYXQuR2VvSlNPTjtcbiAgICBjb25zdCB3ZnNmZWF0dXJlcyA9IG9sRm9ybWF0LnJlYWRGZWF0dXJlcyhyZXMpO1xuICAgIGNvbnN0IGZlYXR1cmVzID0gSlNPTi5wYXJzZShuZXcgZ2VvanNvbigpLndyaXRlRmVhdHVyZXMod2ZzZmVhdHVyZXMpKTtcbiAgICByZXR1cm4gZmVhdHVyZXM7XG4gIH1cblxuICBwcml2YXRlIHRlcm1TcGxpdHRlcih0ZXJtOiBzdHJpbmcsIGZpZWxkczogU3RvcmVkUXVlcmllc0ZpZWxkc1tdKToge30ge1xuICAgIGNvbnN0IHNwbGl0dGVkVGVybSA9IHt9O1xuICAgIGxldCByZW1haW5pbmdUZXJtID0gdGVybTtcbiAgICBsZXQgY250ID0gMDtcblxuICAgIC8vIFVzZWQgdG8gYnVpbGQgdGhlIGRlZmF1bHQgdmFsdWVzXG4gICAgZmllbGRzLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgc3BsaXR0ZWRUZXJtW2ZpZWxkLm5hbWVdID0gZmllbGQuZGVmYXVsdFZhbHVlO1xuICAgICAgY29uc3Qgc3BsaXR0ZXJSZWdleCA9IG5ldyBSZWdFeHAoZmllbGQuc3BsaXRQcmVmaXggKyAnKC4rKScsICdpJyk7XG4gICAgICBpZiAoc3BsaXR0ZXJSZWdleC50ZXN0KHJlbWFpbmluZ1Rlcm0pKSB7XG4gICAgICAgIGNudCA9IGZpZWxkLnNwbGl0UHJlZml4ID8gKGNudCArPSAxKSA6IGNudDtcbiAgICAgICAgcmVtYWluaW5nVGVybSA9IHJlbWFpbmluZ1Rlcm0uc3BsaXQoc3BsaXR0ZXJSZWdleClbMV07XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKGNudCA9PT0gMCkge1xuICAgICAgc3BsaXR0ZWRUZXJtW2ZpZWxkc1swXS5uYW1lXSA9IHRlcm07XG4gICAgICByZXR1cm4gc3BsaXR0ZWRUZXJtO1xuICAgIH1cbiAgICByZW1haW5pbmdUZXJtID0gdGVybTtcbiAgICBjb25zdCBsb2NhbEZpZWxkcyA9IFsuLi5maWVsZHNdLnJldmVyc2UoKTtcbiAgICBsb2NhbEZpZWxkcy5mb3JFYWNoKGZpZWxkID0+IHtcbiAgICAgIGNvbnN0IHNwbGl0dGVyUmVnZXggPSBuZXcgUmVnRXhwKGZpZWxkLnNwbGl0UHJlZml4IHx8ICcnICsgJyguKyknLCAnaScpO1xuICAgICAgaWYgKHJlbWFpbmluZ1Rlcm0gfHwgcmVtYWluaW5nVGVybSAhPT0gJycpIHtcbiAgICAgICAgY29uc3QgdmFsdWVzID0gcmVtYWluaW5nVGVybS5zcGxpdChzcGxpdHRlclJlZ2V4KTtcbiAgICAgICAgcmVtYWluaW5nVGVybSA9IHZhbHVlc1swXTtcbiAgICAgICAgaWYgKHZhbHVlc1sxXSkge1xuICAgICAgICAgIHNwbGl0dGVkVGVybVtmaWVsZC5uYW1lXSA9IHZhbHVlc1sxXS50cmltKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gc3BsaXR0ZWRUZXJtO1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wdXRlUmVxdWVzdFBhcmFtcyhcbiAgICBvcHRpb25zOiBUZXh0U2VhcmNoT3B0aW9ucyxcbiAgICBxdWVyeVBhcmFtc1xuICApOiBIdHRwUGFyYW1zIHtcbiAgICBjb25zdCB3ZnN2ZXJzaW9uID0gdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5zdG9yZWRxdWVyeV9pZFxuICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgIC5pbmNsdWRlcygnZ2V0ZmVhdHVyZWJ5aWQnKVxuICAgICAgPyAnMi4wLjAnXG4gICAgICA6ICcxLjEuMCc7XG4gICAgcmV0dXJuIG5ldyBIdHRwUGFyYW1zKHtcbiAgICAgIGZyb21PYmplY3Q6IE9iamVjdC5hc3NpZ24oXG4gICAgICAgIHtcbiAgICAgICAgICBzZXJ2aWNlOiAnd2ZzJyxcbiAgICAgICAgICB2ZXJzaW9uOiB3ZnN2ZXJzaW9uLFxuICAgICAgICAgIHJlcXVlc3Q6ICdHZXRGZWF0dXJlJyxcbiAgICAgICAgICBzdG9yZWRxdWVyeV9pZDogdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5zdG9yZWRxdWVyeV9pZCxcbiAgICAgICAgICBzcnNuYW1lOiB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLnNyc25hbWUsXG4gICAgICAgICAgb3V0cHV0Zm9ybWF0OiB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLm91dHB1dGZvcm1hdFxuICAgICAgICB9LFxuICAgICAgICBxdWVyeVBhcmFtcyxcbiAgICAgICAgdGhpcy5wYXJhbXMsXG4gICAgICAgIG9wdGlvbnMucGFyYW1zIHx8IHt9XG4gICAgICApXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RSZXN1bHRzKFxuICAgIHJlc3BvbnNlOiBTdG9yZWRRdWVyaWVzUmVzcG9uc2UsIHRlcm06IHN0cmluZ1xuICApOiBTZWFyY2hSZXN1bHQ8RmVhdHVyZT5bXSB7XG4gICAgcmV0dXJuIHJlc3BvbnNlLmZlYXR1cmVzLm1hcCgoZGF0YTogU3RvcmVkUXVlcmllc0RhdGEpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGFUb1Jlc3VsdChkYXRhLCB0ZXJtKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZGF0YVRvUmVzdWx0KGRhdGE6IFN0b3JlZFF1ZXJpZXNEYXRhLCB0ZXJtOiBzdHJpbmcpOiBTZWFyY2hSZXN1bHQ8RmVhdHVyZT4ge1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPSB0aGlzLmNvbXB1dGVQcm9wZXJ0aWVzKGRhdGEpO1xuICAgIGNvbnN0IGlkID0gW3RoaXMuZ2V0SWQoKSwgcHJvcGVydGllcy50eXBlLCBkYXRhLmlkXS5qb2luKCcuJyk7XG4gICAgY29uc3QgdGl0bGUgPSBkYXRhLnByb3BlcnRpZXNbdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5yZXN1bHRUaXRsZV1cbiAgICAgID8gdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5yZXN1bHRUaXRsZVxuICAgICAgOiB0aGlzLnJlc3VsdFRpdGxlO1xuICAgIHJldHVybiB7XG4gICAgICBzb3VyY2U6IHRoaXMsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIHR5cGU6IEZFQVRVUkUsXG4gICAgICAgIHByb2plY3Rpb246ICdFUFNHOjQzMjYnLFxuICAgICAgICBnZW9tZXRyeTogZGF0YS5nZW9tZXRyeSxcbiAgICAgICAgLy8gZXh0ZW50OiBkYXRhLmJib3gsXG4gICAgICAgIHByb3BlcnRpZXMsXG4gICAgICAgIG1ldGE6IHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICB0aXRsZTogZGF0YS5wcm9wZXJ0aWVzW3RpdGxlXVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgbWV0YToge1xuICAgICAgICBkYXRhVHlwZTogRkVBVFVSRSxcbiAgICAgICAgaWQsXG4gICAgICAgIHRpdGxlOiBkYXRhLnByb3BlcnRpZXMudGl0bGUsXG4gICAgICAgIHRpdGxlSHRtbDogZGF0YS5wcm9wZXJ0aWVzW3RpdGxlXSxcbiAgICAgICAgaWNvbjogJ21hcC1tYXJrZXInLFxuICAgICAgICBzY29yZTogKGRhdGEucHJvcGVydGllcy50aXRsZSkgP1xuICAgICAgICBjb21wdXRlVGVybVNpbWlsYXJpdHkodGVybS50cmltKCksIGRhdGEucHJvcGVydGllcy50aXRsZSkgOlxuICAgICAgICBjb21wdXRlVGVybVNpbWlsYXJpdHkodGVybS50cmltKCksIGRhdGEucHJvcGVydGllc1t0aXRsZV0pLFxuXG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgY29tcHV0ZVByb3BlcnRpZXMoZGF0YTogU3RvcmVkUXVlcmllc0RhdGEpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHt9LFxuICAgICAgT2JqZWN0VXRpbHMucmVtb3ZlS2V5cyhcbiAgICAgICAgZGF0YS5wcm9wZXJ0aWVzLFxuICAgICAgICBTdG9yZWRRdWVyaWVzU2VhcmNoU291cmNlLnByb3BlcnRpZXNCbGFja2xpc3RcbiAgICAgICksXG4gICAgICB7IFJvdXRlOiAnPHNwYW4gY2xhc3M9XCJyb3V0aW5nXCI+IDx1PicgKyB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5zZWVSb3V0aW5nJykgKyAnPC91PiA8L3NwYW4+JyB9XG4gICAgKTtcbiAgICByZXR1cm4gcHJvcGVydGllcztcbiAgfVxufVxuXG4vKipcbiAqIFN0b3JlZFF1ZXJpZXNSZXZlcnNlIHNlYXJjaCBzb3VyY2VcbiAqL1xuXG4vLyBFWEFNUExFIENBTExTXG4gLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuLy8gaHR0cHM6Ly93cy5tYXBzZXJ2ZXIudHJhbnNwb3J0cy5nb3V2LnFjLmNhL3N3dHE/c2VydmljZT13ZnMmdmVyc2lvbj0xLjEuMCZyZXF1ZXN0PUdldEZlYXR1cmUmc3RvcmVkcXVlcnlfaWQ9bGltX2FkbSZzcnNuYW1lPWVwc2c6NDMyNiZvdXRwdXRmb3JtYXQ9dGV4dC94bWw7JTIwc3VidHlwZT1nbWwvMy4xLjEmbG9uZz0tNzEuMjkyNDY5JmxhdD00Ni43NDgxMDdcbi8vXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTdG9yZWRRdWVyaWVzUmV2ZXJzZVNlYXJjaFNvdXJjZSBleHRlbmRzIFNlYXJjaFNvdXJjZVxuICBpbXBsZW1lbnRzIFJldmVyc2VTZWFyY2gge1xuICBzdGF0aWMgaWQgPSAnc3RvcmVkcXVlcmllc3JldmVyc2UnO1xuICBzdGF0aWMgdHlwZSA9IEZFQVRVUkU7XG4gIHN0YXRpYyBwcm9wZXJ0aWVzQmxhY2tsaXN0OiBzdHJpbmdbXSA9IFtdO1xuICBwdWJsaWMgcmVzdWx0VGl0bGU6ICd0aXRsZSc7XG4gIHB1YmxpYyBzdG9yZWRRdWVyaWVzT3B0aW9uczogU3RvcmVkUXVlcmllc1JldmVyc2VTZWFyY2hTb3VyY2VPcHRpb25zO1xuICBwdWJsaWMgbXVsdGlwbGVGaWVsZHNRdWVyeTogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcbiAgICBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXG4gICAgQEluamVjdCgnb3B0aW9ucycpIG9wdGlvbnM6IFNlYXJjaFNvdXJjZU9wdGlvbnNcbiAgKSB7XG4gICAgc3VwZXIob3B0aW9ucywgc3RvcmFnZVNlcnZpY2UpO1xuICAgIHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMgPSBvcHRpb25zIGFzIFN0b3JlZFF1ZXJpZXNSZXZlcnNlU2VhcmNoU291cmNlT3B0aW9ucztcblxuICAgIGlmICghdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucyB8fCAodGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucyAmJiAhdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5hdmFpbGFibGUpICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5zdG9yZWRxdWVyeV9pZCkge1xuICAgICAgY29uc3QgZXJyID1cbiAgICAgICAgJ1N0b3JlZCBRdWVyaWVzIDpZb3UgaGF2ZSB0byBzZXQgXCJzdG9yZWRxdWVyeV9pZFwiIGludG8gU3RvcmVkUXVlcmllcyBvcHRpb25zLiBleDogc3RvcmVkcXVlcnlfaWQ6IFwibmFtZW9mc3RvcmVkcXVlcmllXCInO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGVycik7XG4gICAgfVxuICAgIGlmICghdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5sb25nRmllbGQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1N0b3JlZCBRdWVyaWVzIDpZb3UgaGF2ZSB0byBzZXQgXCJsb25nRmllbGRcIiB0byBtYXAgdGhlIGxvbmdpdHVkZSBjb29yZGluYXRlIHRvIHRoZSBxdWVyeSBwYXJhbXMuJ1xuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLmxhdEZpZWxkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdTdG9yZWQgUXVlcmllcyA6WW91IGhhdmUgdG8gc2V0IFwibGF0RmllbGRcIiB0byBtYXAgdGhlIGxhdGl0dWRlIGNvb3JkaW5hdGUgdG8gdGhlIHF1ZXJ5IHBhcmFtcy4nXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMub3V0cHV0Zm9ybWF0ID1cbiAgICAgIHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMub3V0cHV0Zm9ybWF0IHx8ICd0ZXh0L3htbDsgc3VidHlwZT1nbWwvMy4xLjEnO1xuICAgIHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMuc3JzbmFtZSA9XG4gICAgICB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLnNyc25hbWUgfHwgJ0VQU0c6NDMyNic7XG4gICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5yZXN1bHRUaXRsZSA9XG4gICAgICB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLnJlc3VsdFRpdGxlIHx8IHRoaXMucmVzdWx0VGl0bGU7XG4gIH1cblxuICBnZXRJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBTdG9yZWRRdWVyaWVzUmV2ZXJzZVNlYXJjaFNvdXJjZS5pZDtcbiAgfVxuXG4gIGdldFR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gU3RvcmVkUXVlcmllc1JldmVyc2VTZWFyY2hTb3VyY2UudHlwZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0T3B0aW9ucygpOiBTZWFyY2hTb3VyY2VPcHRpb25zIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6ICdTdG9yZWQgUXVlcmllcyAocmV2ZXJzZSknLFxuICAgICAgc2VhcmNoVXJsOiAnaHR0cHM6Ly93cy5tYXBzZXJ2ZXIudHJhbnNwb3J0cy5nb3V2LnFjLmNhL3N3dHEnXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWFyY2ggYSBsb2NhdGlvbiBieSBjb29yZGluYXRlc1xuICAgKiBAcGFyYW0gbG9uTGF0IExvY2F0aW9uIGNvb3JkaW5hdGVzXG4gICAqIEBwYXJhbSBkaXN0YW5jZSBTZWFyY2ggcmFpZHVzIGFyb3VuZCBsb25MYXRcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiA8U2VhcmNoUmVzdWx0PEZlYXR1cmU+W11cbiAgICovXG4gIEBDYWNoZWFibGUoe1xuICAgIG1heENhY2hlQ291bnQ6IDIwXG4gIH0pXG4gIHJldmVyc2VTZWFyY2goXG4gICAgbG9uTGF0OiBbbnVtYmVyLCBudW1iZXJdLFxuICAgIG9wdGlvbnM/OiBSZXZlcnNlU2VhcmNoT3B0aW9uc1xuICApOiBPYnNlcnZhYmxlPFNlYXJjaFJlc3VsdDxGZWF0dXJlPltdPiB7XG4gICAgY29uc3QgcGFyYW1zID0gdGhpcy5jb21wdXRlUmVxdWVzdFBhcmFtcyhsb25MYXQsIG9wdGlvbnMgfHwge30pO1xuXG4gICAgaWYgKFxuICAgICAgbmV3IFJlZ0V4cCgnLio/Z21sLio/JywgJ2knKS50ZXN0KHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMub3V0cHV0Zm9ybWF0KVxuICAgICkge1xuICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAuZ2V0KHRoaXMuc2VhcmNoVXJsLCB7IHBhcmFtcywgcmVzcG9uc2VUeXBlOiAndGV4dCcgfSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmV4dHJhY3RSZXN1bHRzKHRoaXMuZXh0cmFjdFdGU0RhdGEocmVzcG9uc2UpKTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNlYXJjaFVybCwgeyBwYXJhbXMgfSkucGlwZShcbiAgICAgICAgbWFwKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5leHRyYWN0UmVzdWx0cyh0aGlzLmV4dHJhY3RXRlNEYXRhKHJlc3BvbnNlKSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rm9ybWF0RnJvbU9wdGlvbnMoKSB7XG4gICAgbGV0IG9sRm9ybWF0Q2xzO1xuXG4gICAgY29uc3Qgb3V0cHV0Rm9ybWF0ID0gdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5vdXRwdXRmb3JtYXQ7XG4gICAgY29uc3QgcGF0dGVybkdtbDMgPSBuZXcgUmVnRXhwKCcuKj9nbWwuKj8nLCAnaScpO1xuICAgIGNvbnN0IHBhdHRlcm5HZW9qc29uID0gbmV3IFJlZ0V4cCgnLio/anNvbi4qPycsICdpJyk7XG5cbiAgICBpZiAocGF0dGVybkdlb2pzb24udGVzdChvdXRwdXRGb3JtYXQpKSB7XG4gICAgICBvbEZvcm1hdENscyA9IG9sZm9ybWF0Lkdlb0pTT047XG4gICAgfVxuICAgIGlmIChwYXR0ZXJuR21sMy50ZXN0KG91dHB1dEZvcm1hdCkpIHtcbiAgICAgIG9sRm9ybWF0Q2xzID0gb2xmb3JtYXQuV0ZTO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgb2xGb3JtYXRDbHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdFdGU0RhdGEocmVzKSB7XG4gICAgY29uc3Qgb2xGb3JtYXQgPSB0aGlzLmdldEZvcm1hdEZyb21PcHRpb25zKCk7XG4gICAgY29uc3QgZ2VvanNvbiA9IG9sZm9ybWF0Lkdlb0pTT047XG4gICAgY29uc3Qgd2ZzZmVhdHVyZXMgPSBvbEZvcm1hdC5yZWFkRmVhdHVyZXMocmVzKTtcbiAgICBjb25zdCBmZWF0dXJlcyA9IEpTT04ucGFyc2UobmV3IGdlb2pzb24oKS53cml0ZUZlYXR1cmVzKHdmc2ZlYXR1cmVzKSk7XG4gICAgcmV0dXJuIGZlYXR1cmVzO1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wdXRlUmVxdWVzdFBhcmFtcyhcbiAgICBsb25MYXQ6IFtudW1iZXIsIG51bWJlcl0sXG4gICAgb3B0aW9ucz86IFJldmVyc2VTZWFyY2hPcHRpb25zXG4gICk6IEh0dHBQYXJhbXMge1xuICAgIGNvbnN0IGxvbmdMYXRQYXJhbXMgPSB7fTtcbiAgICBsb25nTGF0UGFyYW1zW3RoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMubG9uZ0ZpZWxkXSA9IGxvbkxhdFswXTtcbiAgICBsb25nTGF0UGFyYW1zW3RoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMubGF0RmllbGRdID0gbG9uTGF0WzFdO1xuXG4gICAgcmV0dXJuIG5ldyBIdHRwUGFyYW1zKHtcbiAgICAgIGZyb21PYmplY3Q6IE9iamVjdC5hc3NpZ24oXG4gICAgICAgIHtcbiAgICAgICAgICBzZXJ2aWNlOiAnV0ZTJyxcbiAgICAgICAgICB2ZXJzaW9uOiAnMS4xLjAnLFxuICAgICAgICAgIHJlcXVlc3Q6ICdHZXRGZWF0dXJlJyxcbiAgICAgICAgICBzdG9yZWRxdWVyeV9pZDogdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5zdG9yZWRxdWVyeV9pZCxcbiAgICAgICAgICBzcnNuYW1lOiB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLnNyc25hbWUsXG4gICAgICAgICAgb3V0cHV0Zm9ybWF0OiB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLm91dHB1dGZvcm1hdFxuICAgICAgICB9LFxuICAgICAgICBsb25nTGF0UGFyYW1zLFxuICAgICAgICB0aGlzLnBhcmFtcyxcbiAgICAgICAgb3B0aW9ucy5wYXJhbXMgfHwge31cbiAgICAgIClcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdFJlc3VsdHMoXG4gICAgcmVzcG9uc2U6IFN0b3JlZFF1ZXJpZXNSZXZlcnNlUmVzcG9uc2VcbiAgKTogU2VhcmNoUmVzdWx0PEZlYXR1cmU+W10ge1xuICAgIHJldHVybiByZXNwb25zZS5mZWF0dXJlcy5tYXAoKGRhdGE6IFN0b3JlZFF1ZXJpZXNSZXZlcnNlRGF0YSkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YVRvUmVzdWx0KGRhdGEpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBkYXRhVG9SZXN1bHQoZGF0YTogU3RvcmVkUXVlcmllc1JldmVyc2VEYXRhKTogU2VhcmNoUmVzdWx0PEZlYXR1cmU+IHtcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0gdGhpcy5jb21wdXRlUHJvcGVydGllcyhkYXRhKTtcbiAgICBjb25zdCBpZCA9IFt0aGlzLmdldElkKCksIHByb3BlcnRpZXMudHlwZSwgZGF0YS5pZF0uam9pbignLicpO1xuICAgIGNvbnN0IHRpdGxlID0gZGF0YS5wcm9wZXJ0aWVzW3RoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMucmVzdWx0VGl0bGVdXG4gICAgICA/IHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMucmVzdWx0VGl0bGVcbiAgICAgIDogdGhpcy5yZXN1bHRUaXRsZTtcblxuICAgIHJldHVybiB7XG4gICAgICBzb3VyY2U6IHRoaXMsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIHR5cGU6IEZFQVRVUkUsXG4gICAgICAgIHByb2plY3Rpb246ICdFUFNHOjQzMjYnLFxuICAgICAgICBnZW9tZXRyeTogZGF0YS5nZW9tZXRyeSxcbiAgICAgICAgcHJvcGVydGllcyxcbiAgICAgICAgbWV0YToge1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIHRpdGxlOiBkYXRhLnByb3BlcnRpZXNbdGl0bGVdXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBtZXRhOiB7XG4gICAgICAgIGRhdGFUeXBlOiBGRUFUVVJFLFxuICAgICAgICBpZCxcbiAgICAgICAgdGl0bGU6IGRhdGEucHJvcGVydGllc1t0aXRsZV0sXG4gICAgICAgIGljb246ICdtYXAtbWFya2VyJ1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGNvbXB1dGVQcm9wZXJ0aWVzKFxuICAgIGRhdGE6IFN0b3JlZFF1ZXJpZXNSZXZlcnNlRGF0YVxuICApOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0gT2JqZWN0VXRpbHMucmVtb3ZlS2V5cyhcbiAgICAgIGRhdGEucHJvcGVydGllcyxcbiAgICAgIFN0b3JlZFF1ZXJpZXNSZXZlcnNlU2VhcmNoU291cmNlLnByb3BlcnRpZXNCbGFja2xpc3RcbiAgICApO1xuICAgIGNvbnN0IHJvdXRpbmcgPSB7XG4gICAgICBSb3V0ZTogJzxzcGFuIGNsYXNzPVwicm91dGluZ1wiPiA8dT4nICsgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uc2VlUm91dGluZycpICsgJzwvdT4gPC9zcGFuPidcbiAgICB9O1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHByb3BlcnRpZXMsIHsgdHlwZTogZGF0YS5wcm9wZXJ0aWVzLmRvY190eXBlIH0sIHJvdXRpbmcpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './toast.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi90b2FzdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90b2FzdC5jb21wb25lbnQnO1xyXG4iXX0=
|
|
@@ -97,10 +97,10 @@ ToastComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ToastCompone
|
|
|
97
97
|
i0.ɵɵproperty("ngIf", ctx.feature.geometry);
|
|
98
98
|
i0.ɵɵadvance(1);
|
|
99
99
|
i0.ɵɵproperty("feature", ctx.feature);
|
|
100
|
-
} }, dependencies: [i1.NgIf, i2.MatIcon, i3.MatButton, i4.PanelComponent, i4.FlexibleComponent, i5.FeatureDetailsComponent], styles: ["[_nghost-%COMP%]{position:absolute;bottom:
|
|
100
|
+
} }, dependencies: [i1.NgIf, i2.MatIcon, i3.MatButton, i4.PanelComponent, i4.FlexibleComponent, i5.FeatureDetailsComponent], styles: ["[_nghost-%COMP%]{position:absolute;bottom:0;width:100%;max-height:calc(100% - 50px);background-color:#fff}igo-feature-details[_ngcontent-%COMP%] table{width:100%}"] });
|
|
101
101
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToastComponent, [{
|
|
102
102
|
type: Component,
|
|
103
|
-
args: [{ selector: 'igo-toast', template: "<igo-flexible #flex\n collapsedMobile=\"51px\"\n expandedMobile=\"300px\"\n [state]=\"state\"\n (swipeup)=\"swipe($event.type)\"\n (swipedown)=\"swipe($event.type)\">\n\n <igo-panel [title]=\"title\">\n <button\n mat-icon-button\n panelLeftButton\n (click)=\"toggle()\">\n <mat-icon [svgIcon]=\"['collapsed', 'initial'].indexOf(flex.state) >= 0 ? 'arrow_upward' : 'arrow_downward'\"></mat-icon>\n </button>\n\n <button mat-icon-button panelRightButton class=\"igo-icon-button\" (click)=\"zoomToFeatureExtent()\" *ngIf=\"feature.geometry\">\n <mat-icon svgIcon=\"zoom-in\"></mat-icon>\n </button>\n\n <igo-feature-details [feature]=\"feature\"></igo-feature-details>\n </igo-panel>\n\n</igo-flexible>\n", styles: [":host{position:absolute;bottom:
|
|
103
|
+
args: [{ selector: 'igo-toast', template: "<igo-flexible #flex\n collapsedMobile=\"51px\"\n expandedMobile=\"300px\"\n [state]=\"state\"\n (swipeup)=\"swipe($event.type)\"\n (swipedown)=\"swipe($event.type)\">\n\n <igo-panel [title]=\"title\">\n <button\n mat-icon-button\n panelLeftButton\n (click)=\"toggle()\">\n <mat-icon [svgIcon]=\"['collapsed', 'initial'].indexOf(flex.state) >= 0 ? 'arrow_upward' : 'arrow_downward'\"></mat-icon>\n </button>\n\n <button mat-icon-button panelRightButton class=\"igo-icon-button\" (click)=\"zoomToFeatureExtent()\" *ngIf=\"feature.geometry\">\n <mat-icon svgIcon=\"zoom-in\"></mat-icon>\n </button>\n\n <igo-feature-details [feature]=\"feature\"></igo-feature-details>\n </igo-panel>\n\n</igo-flexible>\n", styles: [":host{position:absolute;bottom:0;width:100%;max-height:calc(100% - 50px);background-color:#fff}igo-feature-details ::ng-deep table{width:100%}\n"] }]
|
|
104
104
|
}], function () { return []; }, { expanded: [{
|
|
105
105
|
type: Input
|
|
106
106
|
}], map: [{
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './shared';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi93a3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NoYXJlZCc7XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './wkt.service';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi93a3Qvc2hhcmVkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi93a3Quc2VydmljZSc7XHJcbiJdfQ==
|
|
@@ -5,4 +5,4 @@ export * from './workspace-selector/workspace-selector.module';
|
|
|
5
5
|
export * from './workspace-updator/workspace-updator.directive';
|
|
6
6
|
export * from './workspace-updator/workspace-updator.module';
|
|
7
7
|
export * from './widgets/index';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi93b3Jrc3BhY2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NoYXJlZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlybWF0aW9uLXBvcHVwL2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi93b3Jrc3BhY2Utc2VsZWN0b3Ivd29ya3NwYWNlLXNlbGVjdG9yLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vd29ya3NwYWNlLXNlbGVjdG9yL3dvcmtzcGFjZS1zZWxlY3Rvci5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3dvcmtzcGFjZS11cGRhdG9yL3dvcmtzcGFjZS11cGRhdG9yLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vd29ya3NwYWNlLXVwZGF0b3Ivd29ya3NwYWNlLXVwZGF0b3IubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi93aWRnZXRzL2luZGV4JztcclxuIl19
|
|
@@ -5,4 +5,4 @@ export * from './feature-workspace.service';
|
|
|
5
5
|
export * from './edition-workspace';
|
|
6
6
|
export * from './edition-workspace.service';
|
|
7
7
|
export * from './workspace.utils';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi93b3Jrc3BhY2Uvc2hhcmVkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3dmcy13b3Jrc3BhY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3dmcy13b3Jrc3BhY2Uuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZS13b3Jrc3BhY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUtd29ya3NwYWNlLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2VkaXRpb24td29ya3NwYWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9lZGl0aW9uLXdvcmtzcGFjZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi93b3Jrc3BhY2UudXRpbHMnO1xyXG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export * from './widgets';
|
|
2
2
|
export * from './ogc-filter/ogc-filter.component';
|
|
3
3
|
export * from './ogc-filter/ogc-filter.module';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi93b3Jrc3BhY2Uvd2lkZ2V0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3dpZGdldHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL29nYy1maWx0ZXIvb2djLWZpbHRlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL29nYy1maWx0ZXIvb2djLWZpbHRlci5tb2R1bGUnO1xyXG4iXX0=
|
|
@@ -12,4 +12,4 @@ export function provideOgcFilterWidget() {
|
|
|
12
12
|
deps: [WidgetService]
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3dvcmtzcGFjZS93aWRnZXRzL3dpZGdldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxPQUFPLEVBQVUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXJELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXZFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FBUyxpQkFBaUIsQ0FBQyxDQUFDO0FBRTdFLE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxhQUE0QjtJQUNqRSxPQUFPLGFBQWEsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUNsRCxDQUFDO0FBRUQsTUFBTSxVQUFVLHNCQUFzQjtJQUNwQyxPQUFPO1FBQ0wsT0FBTyxFQUFFLGVBQWU7UUFDeEIsVUFBVSxFQUFFLHNCQUFzQjtRQUNsQyxJQUFJLEVBQUUsQ0FBQyxhQUFhLENBQUM7S0FDdEIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgV2lkZ2V0LCBXaWRnZXRTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuXHJcbmltcG9ydCB7IE9nY0ZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vb2djLWZpbHRlci9vZ2MtZmlsdGVyLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgY29uc3QgT2djRmlsdGVyV2lkZ2V0ID0gbmV3IEluamVjdGlvblRva2VuPFdpZGdldD4oJ09nY0ZpbHRlcldpZGdldCcpO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG9nY0ZpbHRlcldpZGdldEZhY3Rvcnkod2lkZ2V0U2VydmljZTogV2lkZ2V0U2VydmljZSk6IFdpZGdldCB7XHJcbiAgcmV0dXJuIHdpZGdldFNlcnZpY2UuY3JlYXRlKE9nY0ZpbHRlckNvbXBvbmVudCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlT2djRmlsdGVyV2lkZ2V0KCkge1xyXG4gIHJldHVybiB7XHJcbiAgICBwcm92aWRlOiBPZ2NGaWx0ZXJXaWRnZXQsXHJcbiAgICB1c2VGYWN0b3J5OiBvZ2NGaWx0ZXJXaWRnZXRGYWN0b3J5LFxyXG4gICAgZGVwczogW1dpZGdldFNlcnZpY2VdXHJcbiAgfTtcclxufVxyXG4iXX0=
|