@sumaris-net/ngx-components 2.0.2 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/public_api.mjs +2 -2
- package/esm2020/src/app/core/home/home.mjs +3 -3
- package/esm2020/src/app/shared/image/gallery/image-gallery.component.mjs +3 -3
- package/esm2020/src/app/shared/material/datetime/material.date.mjs +2 -2
- package/esm2020/src/app/shared/material/datetime/material.datetime.mjs +2 -2
- package/esm2020/src/app/social/job/job.model.mjs +1 -23
- package/esm2020/src/app/social/job/progression/job-progression.icon.mjs +11 -8
- package/esm2020/src/app/social/job/progression/job-progression.list.mjs +3 -3
- package/esm2020/src/app/social/job/progression/job-progression.model.mjs +23 -0
- package/esm2020/src/app/social/job/progression/job-progression.service.mjs +71 -0
- package/esm2020/src/app/social/job/testing/job-progression.testing.mjs +4 -5
- package/esm2020/src/app/social/job/testing/job-progression.testing.service.mjs +2 -2
- package/esm2020/src/app/social/user-event/notification/user-event-notification.list.mjs +2 -2
- package/fesm2015/sumaris-net.ngx-components.mjs +28 -25
- package/fesm2015/sumaris-net.ngx-components.mjs.map +1 -1
- package/fesm2020/sumaris-net.ngx-components.mjs +28 -24
- package/fesm2020/sumaris-net.ngx-components.mjs.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +1 -1
- package/src/app/social/job/job.model.d.ts +0 -11
- package/src/app/social/job/progression/job-progression.icon.d.ts +2 -2
- package/src/app/social/job/progression/job-progression.list.d.ts +1 -1
- package/src/app/social/job/progression/job-progression.model.d.ts +11 -0
- package/src/app/social/job/{job.service.d.ts → progression/job-progression.service.d.ts} +5 -5
- package/src/app/social/job/testing/job-progression.testing.d.ts +4 -4
- package/src/app/social/job/testing/job-progression.testing.service.d.ts +2 -2
- package/esm2020/src/app/social/job/job.service.mjs +0 -71
package/esm2020/public_api.mjs
CHANGED
|
@@ -221,7 +221,7 @@ export * from './src/app/social/user-event/user-event.service';
|
|
|
221
221
|
export * from './src/app/social/user-event/notification/user-event-notification.icon';
|
|
222
222
|
export * from './src/app/social/job/job.module';
|
|
223
223
|
export * from './src/app/social/job/job.model';
|
|
224
|
-
export * from './src/app/social/job/job.service';
|
|
224
|
+
export * from './src/app/social/job/progression/job-progression.service';
|
|
225
225
|
export * from './src/app/social/job/progression/job-progression.icon';
|
|
226
226
|
export * from './src/app/social/job/progression/job-progression.list';
|
|
227
227
|
export * from './src/app/social/message/message.module';
|
|
@@ -287,4 +287,4 @@ export * from './src/app/social/job/testing/job.testing.module';
|
|
|
287
287
|
export * from './src/app/social/job/testing/job-progression.testing';
|
|
288
288
|
export * from './src/app/social/job/testing/job-progression.testing.service';
|
|
289
289
|
export { MatAutocompleteConfigHolder } from './src/app/shared/material/autocomplete/material.autocomplete.config';
|
|
290
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYztBQUVkLGNBQWMsc0NBQXNDLENBQUM7QUFFckQsU0FBUztBQUNULGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUUzRSxrQkFBa0I7QUFDbEIsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUNuRixjQUFjLHFFQUFxRSxDQUFDO0FBQ3BGLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLG9FQUFvRSxDQUFDO0FBQ25GLGNBQWMsOENBQThDLENBQUM7QUFDN0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQzdFLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBQ25GLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUNqRixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDekUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQ25GLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDakYsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLG1EQUFtRCxDQUFD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QUMvRSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDZDQUE2QyxDQUFDO0FBRTVELGVBQWU7QUFDZixjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHNFQUFzRSxDQUFDO0FBQ3JGLGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLHVFQUF1RSxDQUFDO0FBQ3RGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRTNELGlCQUFpQjtBQUNqQixjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHFFQUFxRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRW52aXJvbm1lbnRcblxuZXhwb3J0ICogZnJvbSAnLi9zcmMvZW52aXJvbm1lbnRzL2Vudmlyb25tZW50LmNsYXNzJztcblxuLy8gU2hhcmVkXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2NvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xuZXhwb3J0IHtTaGFyZWRSb3V0aW5nTW9kdWxlfSBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3NoYXJlZC1yb3V0aW5nLm1vZHVsZSc7XG5cbi8vIFNoYXJlZCBtYXRlcmlhbFxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9tYXRlcmlhbC9tYXRlcmlhbC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9tYXRlcmlhbC9ib29sZWFuL2Jvb2xlYW4ubW9kdWxlJztcbmV4cG9ydCB7TWF0Qm9vbGVhbkZpZWxkfSBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2Jvb2xlYW4vbWF0ZXJpYWwuYm9vbGVhbic7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2F1dG9jb21wbGV0ZS9tYXRlcmlhbC5hdXRvY29tcGxldGUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlL21hdGVyaWFsLmF1dG9jb21wbGV0ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2F1dG9jb21wbGV0ZS9tYXRlcmlhbC5hdXRvY29tcGxldGUuY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlL21hdGVyaWFsLmF1dG9jb21wbGV0ZS51dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2NoaXBzL2NoaXBzLm1vZHVsZSc7XG5leHBvcnQge01hdENoaXBzRmllbGR9IGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvY2hpcHMvbWF0ZXJpYWwuY2hpcHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9tYXRlcmlhbC9tYXRlcmlhbC5hbmltYXRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvcGFnaW5hdG9yL21hdGVyaWFsLnBhZ2luYXRvci1pMThuJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvc3RlcHBlci9tYXRlcmlhbC5zdGVwcGVyLWkxOG4nO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9tYXRlcmlhbC9kYXRldGltZS9kYXRldGltZS5tb2R1bGUnO1xuZXhwb3J0IHtNYXREYXRlU2hvcnR9IGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvZGF0ZXRpbWUvbWF0ZXJpYWwuZGF0ZXNob3J0JztcbmV4cG9ydCB7TWF0RGF0ZVRpbWV9IGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvZGF0ZXRpbWUvbWF0ZXJpYWwuZGF0ZXRpbWUnO1xuZXhwb3J0IHtNYXREYXRlfSBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2RhdGV0aW1lL21hdGVyaWFsLmRhdGUnO1xuZXhwb3J0IHtNYXRMYXRMb25nRmllbGR9IGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvbGF0bG9uZy9tYXRlcmlhbC5sYXRsb25nJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvbGF0bG9uZy9tYXRlcmlhbC5sYXRsb25nLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2R1cmF0aW9uL2R1cmF0aW9uLm1vZHVsZSc7XG5leHBvcnQge01hdER1cmF0aW9ufSBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2R1cmF0aW9uL21hdGVyaWFsLmR1cmF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvbnVtcGFkL251bXBhZC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9tYXRlcmlhbC9udW1wYWQvbnVtcGFkLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL251bXBhZC9udW1wYWQuYXBwZW5kLXRvLWlucHV0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL251bXBhZC9udW1wYWQuY29udGFpbmVyJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvbnVtcGFkL251bXBhZC5jb250ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvbnVtcGFkL251bXBhZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9tYXRlcmlhbC9zd2lwZS9zd2lwZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9tYXRlcmlhbC9zd2lwZS9tYXRlcmlhbC5zd2lwZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2JhZGdlL2JhZGdlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2JhZGdlL2JhZGdlLmRpcmVjdGl2ZSc7XG5cbi8vIFNoYXJlZCBjb21wb25lbnRzXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2lucHV0cyc7XG5leHBvcnQge0FwcEZvcm1GaWVsZH0gZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9mb3JtL2ZpZWxkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2Zvcm0vbG9hZGluZy1zcGlubmVyJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvZm9ybS9maWVsZC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3Rvb2xiYXIvdG9vbGJhcic7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3Rvb2xiYXIvbW9kYWwtdG9vbGJhcic7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3Rvb2xiYXIvdG9vbGJhci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9pbnRlcmNlcHRvcnMvcHJvZ2Vzcy5pbnRlcmNlcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3RvYXN0L3RvYXN0cyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2hlbHAvaGVscC5tb2RhbCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2d1YXJkL2NvbXBvbmVudC1kaXJ0eS5ndWFyZCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3VwbG9hZC1maWxlL3VwbG9hZC1maWxlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvdXBsb2FkLWZpbGUvdXBsb2FkLWZpbGUtcG9wb3Zlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC91cGxvYWQtZmlsZS91cGxvYWQtZmlsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9pbWFnZS9nYWxsZXJ5L2ltYWdlLWdhbGxlcnkuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvaW1hZ2UvZ2FsbGVyeS9pbWFnZS1nYWxsZXJ5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2ltYWdlL2ltYWdlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvaW1hZ2UvaW1hZ2UubW9kdWxlJztcblxuLy8gU2hhcmVkIGRpcmVjdGl2ZXNcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvZGlyZWN0aXZlcy9kaXJlY3RpdmVzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2RpcmVjdGl2ZXMvYXV0b2ZvY3VzLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2RpcmVjdGl2ZXMvbmctdmFyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2RpcmVjdGl2ZXMvZHJhZy1hbmQtZHJvcC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9kaXJlY3RpdmVzL2F1dG90aXRsZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9kaXJlY3RpdmVzL3Jlc2l6YWJsZS9yZXNpemFibGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvZGlyZWN0aXZlcy9yZXNpemFibGUvcmVzaXphYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2RpcmVjdGl2ZXMvcmVzaXphYmxlL3Jlc2l6YWJsZS5tb2R1bGUnO1xuXG4vLyBTaGFyZWQgcGlwZXNcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvcGlwZXMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvZGF0ZS1mb3JtYXQucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3BpcGVzL2RhdGUtZnJvbS1ub3cucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3BpcGVzL2RhdGUtZGlmZi1kdXJhdGlvbi5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvbGF0bG9uZy1mb3JtYXQucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3BpcGVzL2hpZ2hsaWdodC5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvbnVtYmVyLWZvcm1hdC5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvZHVyYXRpb24ucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3BpcGVzL2ZpbGUtc2l6ZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvcHJvcGVydHkucGlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9waXBlcy9tYXRoLnBpcGVzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvYXJyYXlzLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9waXBlcy9tYXBzLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9waXBlcy9zdHJpbmcucGlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9waXBlcy90cmFuc2xhdGUtY29udGV4dC5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvbmctaW5pdC5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvZm9ybS5waXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3BpcGVzL2NvbG9ycy5waXBlJztcblxuLy8gU2hhcmVkIHNlcnZpY2VzXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2F1ZGlvL2F1ZGlvJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvZmlsZS9maWxlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9pbWFnZS9pbWFnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvc2VydmljZXMvc3RhcnRhYmxlLXNlcnZpY2UuY2xhc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9zZXJ2aWNlcy9lbnRpdHktc2VydmljZS5jbGFzcyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3NlcnZpY2VzL21lbW9yeS1lbnRpdHktc2VydmljZS5jbGFzcyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3NlcnZpY2VzL3Byb2dyZXNzLWJhci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvc2VydmljZXMvdHJhbnNsYXRlLWNvbnRleHQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3NlcnZpY2VzL2pvYi51dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3NlcnZpY2VzL3N0b3JhZ2Uvc3RvcmFnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvc2VydmljZXMvc3RvcmFnZS9zdG9yYWdlLnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvdmFsaWRhdG9yL2Zvcm0tZXJyb3ItYWRhcHRlci5jbGFzcyc7XG5cbi8vIFNoYXJlZCBvdGhlclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2RhdGVzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvZnVuY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvc2VydmljZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9mb3Jtcyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL29ic2VydmFibGVzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvZXZlbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvYWxlcnRzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvcGxhdGZvcm1zJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvZmlsZS9maWxlLnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvZmlsZS9jc3YudXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9maWxlL2ltYWdlcy51dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2ZpbGUvdXJpLnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvaG90a2V5cy9zaGFyZWQtaG90a2V5cy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9ob3RrZXlzL2hvdGtleXMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2hvdGtleXMvZGlhbG9nL2hvdGtleXMtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQge0NvbG9yLCBDb2xvck5hbWUsIENvbG9yU2NhbGUsIENvbG9yU2NhbGVMZWdlbmQsIENvbG9yU2NhbGVPcHRpb25zLCBDb2xvckdyYWRpZW50T3B0aW9ucywgQ29sb3JTY2FsZUxlZ2VuZEl0ZW19IGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvZ3JhcGgvZ3JhcGgtY29sb3JzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvZ3JhcGgvY29sb3JzLnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvZ2VzdHVyZS9nZXN0dXJlLWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2dlc3R1cmUvaGFtbWVyLnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvdmFsaWRhdG9yL3ZhbGlkYXRvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC92YWxpZGF0b3IvZm9ybS1lcnJvci1hZGFwdGVyLmNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvbGF0bG9uZy9sYXRsb25nLnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvZGVidWcvZGVidWcubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvZGVidWcvZGVidWcuY29tcG9uZW50JztcblxuLy8gQ29yZVxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvY29yZS5tb2R1bGUnO1xuXG4vLyBDb3JlIG1vZGVsXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9zZXJ2aWNlcy9tb2RlbC9hY2NvdW50Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL21vZGVsL2NvbmZpZy5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9zZXJ2aWNlcy9tb2RlbC9kZXBhcnRtZW50Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL21vZGVsL2VudGl0eS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9zZXJ2aWNlcy9tb2RlbC9maWx0ZXIubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvbW9kZWwvaGlzdG9yeS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9zZXJ2aWNlcy9tb2RlbC9tb2RlbC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL21vZGVsL3BlZXIubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvbW9kZWwvcGVyc29uLm1vZGVsJztcbmV4cG9ydCB7IElSZWZlcmVudGlhbFJlZiwgUmVmZXJlbnRpYWxSZWYsXG4gIEJhc2VSZWZlcmVudGlhbCwgUmVmZXJlbnRpYWwsIFJlZmVyZW50aWFsVXRpbHMsXG4gIFJlZmVyZW50aWFsQXNPYmplY3RPcHRpb25zLFxuICByZWZlcmVudGlhbFRvU3RyaW5nLCByZWZlcmVudGlhbHNUb1N0cmluZyxcbiAgSVN0YXR1cywgU3RhdHVzTGlzdCwgU3RhdHVzQnlJZCxcbiAgTUlOSUZZX0VOVElUWV9GT1JfTE9DQUxfU1RPUkFHRSwgTUlOSUZZX0VOVElUWV9GT1JfUE9EIH0gZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvbW9kZWwvcmVmZXJlbnRpYWwubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvbW9kZWwvc2V0dGluZ3MubW9kZWwnO1xuXG4vLyBHcmFwaFFMXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9ncmFwaHFsL2dyYXBocWwubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL2dyYXBocWwvZ3JhcGhxbC5zZXJ2aWNlJztcblxuLy8gQ29yZSBwaXBlc1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvcGlwZXMvYWNjb3VudC5waXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9zZXJ2aWNlcy9waXBlcy9kZXBhcnRtZW50LXRvLXN0cmluZy5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL3BpcGVzL3BlcnNvbi10by1zdHJpbmcucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9zZXJ2aWNlcy9waXBlcy91c2FnZS1tb2RlLnBpcGVzJztcblxuLy8gQ29yZSBzZXJ2aWNlc1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvcGxhdGZvcm0uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9zZXJ2aWNlcy9uZXR3b3JrLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xuZXhwb3J0IHtDT1JFX0NPTkZJR19PUFRJT05TfSBmcm9tICcuL3NyYy9hcHAvY29yZS9zZXJ2aWNlcy9jb25maWcvY29yZS5jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvbG9jYWwtc2V0dGluZ3Muc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9zZXJ2aWNlcy9hY2NvdW50LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvY3J5cHRvLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvYXV0aC1ndWFyZC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL2Jhc2U1OCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9zZXJ2aWNlcy9iYXNlLWdyYXBocWwtc2VydmljZS5jbGFzcyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9zZXJ2aWNlcy9iYXNlLWVudGl0eS1zZXJ2aWNlLmNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL3N0b3JhZ2UvZW50aXRpZXMtc3RvcmFnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL3N0b3JhZ2UvZW50aXR5LXN0b3JlLmNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL3ZhbGlkYXRvci9iYXNlLnZhbGlkYXRvci5jbGFzcyc7XG5cbi8vIENvcmUgY29tcG9uZW50c1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvZm9ybS9mb3JtLmNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL2Zvcm0vZm9ybS51dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9mb3JtL2Zvcm0ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL2Zvcm0vYnV0dG9ucy9mb3JtLWJ1dHRvbnMtYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9mb3JtL2J1dHRvbnMvZm9ybS1idXR0b25zLWJhci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvZm9ybS9lbnRpdHkvZWRpdG9yLmNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL2Zvcm0vZW50aXR5L2VudGl0eS1lZGl0b3IuY2xhc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvZm9ybS9lbnRpdHkvZW50aXR5LWVkaXRvci1tb2RhbC5jbGFzcyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9mb3JtL2VudGl0eS9lbnRpdHktbWV0YWRhdGEuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL2Zvcm0vZW50aXR5L2VudGl0eS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvZm9ybS9saXN0L2xpc3QuZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9mb3JtL2xpc3QvbGlzdC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvZm9ybS9wcm9wZXJ0aWVzL3Byb3BlcnRpZXMuZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9mb3JtL3Byb3BlcnRpZXMvcHJvcGVydGllcy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvZm9ybS90ZXh0LXBvcG92ZXIvdGV4dC1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9mb3JtL3RleHQtcG9wb3Zlci90ZXh0LXBvcG92ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL2Zvcm0vdGV4dC1wb3BvdmVyL3RleHQtcG9wb3Zlci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvdGFibGUvdGFibGUuY2xhc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvdGFibGUvdGFibGUudXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvdGFibGUvdGFibGUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL3RhYmxlL21lbW9yeS10YWJsZS5jbGFzcyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS90YWJsZS9lbnRpdGllcy10YWJsZS1kYXRhc291cmNlLmNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL3RhYmxlL3RhYmxlLXNlbGVjdC1jb2x1bW5zLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS90YWJsZS9hY3Rpb25zLWNvbHVtbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvaWNvbi9pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9pY29uL2ljb24ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL2hvbWUvaG9tZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9ob21lL2hvbWUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL3NldHRpbmdzL3NldHRpbmdzLnBhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2V0dGluZ3Mvc2V0dGluZ3MubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL2FjY291bnQvYWNjb3VudC5wYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL2FjY291bnQvYWNjb3VudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvYXV0aC9hdXRoLmZvcm0nO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvYXV0aC9hdXRoLm1vZGFsJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL2F1dGgvYXV0aC5tb2R1bGUnXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9yZWdpc3Rlci9yZWdpc3Rlci1jb25maXJtLnBhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvcmVnaXN0ZXIvcmVnaXN0ZXIuZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9yZWdpc3Rlci9yZWdpc3Rlci5tb2RhbCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9yZWdpc3Rlci9yZWdpc3Rlci5tb2R1bGUnXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9hYm91dC9hYm91dC5tb2RhbCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9hYm91dC9hYm91dC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvcGVlci9zZWxlY3QtcGVlci5tb2RhbCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9wZWVyL3NlbGVjdC1wZWVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9pbnN0YWxsL2luc3RhbGwtdXBncmFkZS1jYXJkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9pbnN0YWxsL2luc3RhbGwtdXBncmFkZS1jYXJkLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9tZW51L21lbnUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL21lbnUvbWVudS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9tZW51L21lbnUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL21lbnUvbWVudS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL29mZmxpbmUvdXBkYXRlLW9mZmxpbmUtbW9kZS1jYXJkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9vZmZsaW5lL3VwZGF0ZS1vZmZsaW5lLW1vZGUtY2FyZC5tb2R1bGUnO1xuXG4vLyBDb3JlIGRlY29yYXRvclxuZXhwb3J0IHtFbnRpdHlDbGFzcywgRW50aXR5Q2xhc3Nlc30gZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvbW9kZWwvZW50aXR5LmRlY29yYXRvcnMnO1xuXG5cbi8vIFNvY2lhbFxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NvY2lhbC9zb2NpYWwubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zb2NpYWwvc29jaWFsLmVycm9ycyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc29jaWFsL3VzZXItZXZlbnQvdXNlci1ldmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NvY2lhbC91c2VyLWV2ZW50L3VzZXItZXZlbnQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NvY2lhbC91c2VyLWV2ZW50L3VzZXItZXZlbnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc29jaWFsL3VzZXItZXZlbnQvbm90aWZpY2F0aW9uL3VzZXItZXZlbnQtbm90aWZpY2F0aW9uLmljb24nO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NvY2lhbC9qb2Ivam9iLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc29jaWFsL2pvYi9qb2IubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NvY2lhbC9qb2Ivam9iLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NvY2lhbC9qb2IvcHJvZ3Jlc3Npb24vam9iLXByb2dyZXNzaW9uLmljb24nO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NvY2lhbC9qb2IvcHJvZ3Jlc3Npb24vam9iLXByb2dyZXNzaW9uLmxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NvY2lhbC9tZXNzYWdlL21lc3NhZ2UubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zb2NpYWwvbWVzc2FnZS9tZXNzYWdlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zb2NpYWwvbWVzc2FnZS9tZXNzYWdlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NvY2lhbC9tZXNzYWdlL21lc3NhZ2UuZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc29jaWFsL21lc3NhZ2UvbWVzc2FnZS5tb2RhbCc7XG5cbi8vIEFkbWluXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvYWRtaW4vYWRtaW4ubW9kdWxlJztcbmV4cG9ydCB7QWRtaW5Sb3V0aW5nTW9kdWxlfSBmcm9tICcuL3NyYy9hcHAvYWRtaW4vYWRtaW4tcm91dGluZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2FkbWluL3NlcnZpY2VzL2ZpbHRlci9wZXJzb24uZmlsdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9hZG1pbi9zZXJ2aWNlcy92YWxpZGF0b3IvcGVyc29uLnZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvYWRtaW4vc2VydmljZXMvcGVyc29uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2FkbWluL3VzZXJzL3VzZXJzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvYWRtaW4vdXNlcnMvdXNlcnMnO1xuXG4vLyBTaGFyZWQgdGVzdHMgcGFnZVxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC90ZXN0aW5nL3Rlc3RzLnBhZ2UnO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRlc3RpbmcgbW9kdWxlIGFuZCBjb21wb25lbnRzXG4vL1xuLy8gVE9ETzogdG8gcmVtb3ZlIHdoZW4gbmd4LWNvbXBvbmVudHMgd2lsbCBiZSB3ZWxsIHRlc3RlZFxuLy8gKG9yIGV4cG9ydCBpbnRvIGEgc3ViIHBhY2thZ2UsIGxpa2UgJ0BzdW1hcmlzLW5ldC9uZ3gtY29tcG9uZW50cy90ZXN0aW5nJylcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTaGFyZWQgbWF0ZXJpYWwgdGVzdFxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9tYXRlcmlhbC9tYXRlcmlhbC50ZXN0aW5nLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2F1dG9jb21wbGV0ZS90ZXN0aW5nL2F1dG9jb21wbGV0ZS50ZXN0JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvbGF0bG9uZy90ZXN0aW5nL2xhdGxvbmcudGVzdCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL3N3aXBlL3Rlc3Rpbmcvc3dpcGUudGVzdCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2RhdGV0aW1lL3Rlc3RpbmcvbWF0LWRhdGUtdGltZS50ZXN0JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvZGF0ZXRpbWUvdGVzdGluZy9tYXQtZGF0ZS50ZXN0JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvY2hpcHMvdGVzdGluZy9jaGlwcy50ZXN0JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvbnVtcGFkL3Rlc3RpbmcvbnVtcGFkLnRlc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC90ZXN0aW5nL29ic2VydmFibGUudGVzdCc7XG5cbi8vIFNoYXJlZCBvdGhlciB0ZXN0XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3NoYXJlZC50ZXN0aW5nLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3VwbG9hZC1maWxlL3Rlc3RpbmcvdXBsb2FkLWZpbGUudGVzdGluZyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3VwbG9hZC1maWxlL3Rlc3RpbmcvdXBsb2FkLWZpbGUudGVzdGluZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC90b2FzdC90b2FzdC50ZXN0aW5nJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvdG9hc3QvdG9hc3QudGVzdGluZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9pbWFnZS9nYWxsZXJ5L3Rlc3RpbmcvZ2FsbGVyeS5zZXJ2aWNlLnRlc3RpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9pbWFnZS9nYWxsZXJ5L3Rlc3RpbmcvZ2FsbGVyeS50ZXN0aW5nJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvaW1hZ2UvZ2FsbGVyeS90ZXN0aW5nL2dhbGxlcnkudGVzdGluZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9hdWRpby9hdWRpby50ZXN0aW5nJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvYXVkaW8vYXVkaW8udGVzdGluZy5tb2R1bGUnO1xuXG4vLyBDb3JlIHRlc3RpbmdcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL2NvcmUudGVzdGluZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvdGVzdGluZy9yZWZlcmVudGlhbC1maWx0ZXIubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvdGVzdGluZy9yZWZlcmVudGlhbC52YWxpZGF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvZXJyb3JzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL3RhYmxlL3Rlc3RpbmcvdGFibGUudGVzdGluZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvdGFibGUvdGVzdGluZy90YWJsZS50ZXN0aW5nJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL2Zvcm0vdGV4dC1wb3BvdmVyL3Rlc3RpbmcvdGV4dC1wb3BvdmVyLnRlc3RpbmcubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL2Zvcm0vdGV4dC1wb3BvdmVyL3Rlc3RpbmcvdGV4dC1wb3BvdmVyLnRlc3RpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvZm9ybS9wcm9wZXJ0aWVzL3Rlc3RpbmcvcHJvcGVydGllcy1mb3JtLnRlc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvZm9ybS9wcm9wZXJ0aWVzL3Rlc3RpbmcvcHJvcGVydGllcy1mb3JtLnRlc3RpbmcubW9kdWxlJztcbmV4cG9ydCB7c3VnZ2VzdEZyb21BcnJheX0gZnJvbSBcIi4vc3JjL2FwcC9zaGFyZWQvc2VydmljZXNcIjtcblxuLy8gU29jaWFsIHRlc3RpbmdcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zb2NpYWwvc29jaWFsLnRlc3RpbmcubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zb2NpYWwvdXNlci1ldmVudC90ZXN0aW5nL3VzZXItZXZlbnQudGVzdGluZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NvY2lhbC91c2VyLWV2ZW50L3Rlc3RpbmcvdXNlci1ldmVudC50ZXN0aW5nJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zb2NpYWwvdXNlci1ldmVudC90ZXN0aW5nL3VzZXItZXZlbnQudGVzdGluZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zb2NpYWwvam9iL3Rlc3Rpbmcvam9iLnRlc3RpbmcubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zb2NpYWwvam9iL3Rlc3Rpbmcvam9iLXByb2dyZXNzaW9uLnRlc3RpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NvY2lhbC9qb2IvdGVzdGluZy9qb2ItcHJvZ3Jlc3Npb24udGVzdGluZy5zZXJ2aWNlJztcbmV4cG9ydCB7TWF0QXV0b2NvbXBsZXRlQ29uZmlnSG9sZGVyfSBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2F1dG9jb21wbGV0ZS9tYXRlcmlhbC5hdXRvY29tcGxldGUuY29uZmlnJztcbmV4cG9ydCB7TWF0QXV0b2NvbXBsZXRlRmllbGRBZGRPcHRpb25zfSBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2F1dG9jb21wbGV0ZS9tYXRlcmlhbC5hdXRvY29tcGxldGUuY29uZmlnJztcbmV4cG9ydCB7TWF0QXV0b2NvbXBsZXRlRmllbGRDb25maWd9IGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlL21hdGVyaWFsLmF1dG9jb21wbGV0ZS5jb25maWcnO1xuIl19
|
|
290
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYztBQUVkLGNBQWMsc0NBQXNDLENBQUM7QUFFckQsU0FBUztBQUNULGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUUzRSxrQkFBa0I7QUFDbEIsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUNuRixjQUFjLHFFQUFxRSxDQUFDO0FBQ3BGLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLG9FQUFvRSxDQUFDO0FBQ25GLGNBQWMsOENBQThDLENBQUM7QUFDN0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQzdFLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBQ25GLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUNqRixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDekUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQ25GLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDakYsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLG1EQUFtRCxDQUFD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QUMvRSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDZDQUE2QyxDQUFDO0FBRTVELGVBQWU7QUFDZixjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHNFQUFzRSxDQUFDO0FBQ3JGLGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLHVFQUF1RSxDQUFDO0FBQ3RGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRTNELGlCQUFpQjtBQUNqQixjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHFFQUFxRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRW52aXJvbm1lbnRcblxuZXhwb3J0ICogZnJvbSAnLi9zcmMvZW52aXJvbm1lbnRzL2Vudmlyb25tZW50LmNsYXNzJztcblxuLy8gU2hhcmVkXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2NvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xuZXhwb3J0IHtTaGFyZWRSb3V0aW5nTW9kdWxlfSBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3NoYXJlZC1yb3V0aW5nLm1vZHVsZSc7XG5cbi8vIFNoYXJlZCBtYXRlcmlhbFxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9tYXRlcmlhbC9tYXRlcmlhbC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9tYXRlcmlhbC9ib29sZWFuL2Jvb2xlYW4ubW9kdWxlJztcbmV4cG9ydCB7TWF0Qm9vbGVhbkZpZWxkfSBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2Jvb2xlYW4vbWF0ZXJpYWwuYm9vbGVhbic7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2F1dG9jb21wbGV0ZS9tYXRlcmlhbC5hdXRvY29tcGxldGUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlL21hdGVyaWFsLmF1dG9jb21wbGV0ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2F1dG9jb21wbGV0ZS9tYXRlcmlhbC5hdXRvY29tcGxldGUuY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlL21hdGVyaWFsLmF1dG9jb21wbGV0ZS51dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2NoaXBzL2NoaXBzLm1vZHVsZSc7XG5leHBvcnQge01hdENoaXBzRmllbGR9IGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvY2hpcHMvbWF0ZXJpYWwuY2hpcHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9tYXRlcmlhbC9tYXRlcmlhbC5hbmltYXRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvcGFnaW5hdG9yL21hdGVyaWFsLnBhZ2luYXRvci1pMThuJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvc3RlcHBlci9tYXRlcmlhbC5zdGVwcGVyLWkxOG4nO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9tYXRlcmlhbC9kYXRldGltZS9kYXRldGltZS5tb2R1bGUnO1xuZXhwb3J0IHtNYXREYXRlU2hvcnR9IGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvZGF0ZXRpbWUvbWF0ZXJpYWwuZGF0ZXNob3J0JztcbmV4cG9ydCB7TWF0RGF0ZVRpbWV9IGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvZGF0ZXRpbWUvbWF0ZXJpYWwuZGF0ZXRpbWUnO1xuZXhwb3J0IHtNYXREYXRlfSBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2RhdGV0aW1lL21hdGVyaWFsLmRhdGUnO1xuZXhwb3J0IHtNYXRMYXRMb25nRmllbGR9IGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvbGF0bG9uZy9tYXRlcmlhbC5sYXRsb25nJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvbGF0bG9uZy9tYXRlcmlhbC5sYXRsb25nLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2R1cmF0aW9uL2R1cmF0aW9uLm1vZHVsZSc7XG5leHBvcnQge01hdER1cmF0aW9ufSBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2R1cmF0aW9uL21hdGVyaWFsLmR1cmF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvbnVtcGFkL251bXBhZC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9tYXRlcmlhbC9udW1wYWQvbnVtcGFkLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL251bXBhZC9udW1wYWQuYXBwZW5kLXRvLWlucHV0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL251bXBhZC9udW1wYWQuY29udGFpbmVyJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvbnVtcGFkL251bXBhZC5jb250ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvbnVtcGFkL251bXBhZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9tYXRlcmlhbC9zd2lwZS9zd2lwZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9tYXRlcmlhbC9zd2lwZS9tYXRlcmlhbC5zd2lwZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2JhZGdlL2JhZGdlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2JhZGdlL2JhZGdlLmRpcmVjdGl2ZSc7XG5cbi8vIFNoYXJlZCBjb21wb25lbnRzXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2lucHV0cyc7XG5leHBvcnQge0FwcEZvcm1GaWVsZH0gZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9mb3JtL2ZpZWxkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2Zvcm0vbG9hZGluZy1zcGlubmVyJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvZm9ybS9maWVsZC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3Rvb2xiYXIvdG9vbGJhcic7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3Rvb2xiYXIvbW9kYWwtdG9vbGJhcic7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3Rvb2xiYXIvdG9vbGJhci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9pbnRlcmNlcHRvcnMvcHJvZ2Vzcy5pbnRlcmNlcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3RvYXN0L3RvYXN0cyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2hlbHAvaGVscC5tb2RhbCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2d1YXJkL2NvbXBvbmVudC1kaXJ0eS5ndWFyZCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3VwbG9hZC1maWxlL3VwbG9hZC1maWxlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvdXBsb2FkLWZpbGUvdXBsb2FkLWZpbGUtcG9wb3Zlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC91cGxvYWQtZmlsZS91cGxvYWQtZmlsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9pbWFnZS9nYWxsZXJ5L2ltYWdlLWdhbGxlcnkuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvaW1hZ2UvZ2FsbGVyeS9pbWFnZS1nYWxsZXJ5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2ltYWdlL2ltYWdlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvaW1hZ2UvaW1hZ2UubW9kdWxlJztcblxuLy8gU2hhcmVkIGRpcmVjdGl2ZXNcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvZGlyZWN0aXZlcy9kaXJlY3RpdmVzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2RpcmVjdGl2ZXMvYXV0b2ZvY3VzLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2RpcmVjdGl2ZXMvbmctdmFyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2RpcmVjdGl2ZXMvZHJhZy1hbmQtZHJvcC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9kaXJlY3RpdmVzL2F1dG90aXRsZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9kaXJlY3RpdmVzL3Jlc2l6YWJsZS9yZXNpemFibGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvZGlyZWN0aXZlcy9yZXNpemFibGUvcmVzaXphYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2RpcmVjdGl2ZXMvcmVzaXphYmxlL3Jlc2l6YWJsZS5tb2R1bGUnO1xuXG4vLyBTaGFyZWQgcGlwZXNcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvcGlwZXMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvZGF0ZS1mb3JtYXQucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3BpcGVzL2RhdGUtZnJvbS1ub3cucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3BpcGVzL2RhdGUtZGlmZi1kdXJhdGlvbi5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvbGF0bG9uZy1mb3JtYXQucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3BpcGVzL2hpZ2hsaWdodC5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvbnVtYmVyLWZvcm1hdC5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvZHVyYXRpb24ucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3BpcGVzL2ZpbGUtc2l6ZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvcHJvcGVydHkucGlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9waXBlcy9tYXRoLnBpcGVzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvYXJyYXlzLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9waXBlcy9tYXBzLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9waXBlcy9zdHJpbmcucGlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9waXBlcy90cmFuc2xhdGUtY29udGV4dC5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvbmctaW5pdC5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvZm9ybS5waXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3BpcGVzL2NvbG9ycy5waXBlJztcblxuLy8gU2hhcmVkIHNlcnZpY2VzXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2F1ZGlvL2F1ZGlvJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvZmlsZS9maWxlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9pbWFnZS9pbWFnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvc2VydmljZXMvc3RhcnRhYmxlLXNlcnZpY2UuY2xhc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9zZXJ2aWNlcy9lbnRpdHktc2VydmljZS5jbGFzcyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3NlcnZpY2VzL21lbW9yeS1lbnRpdHktc2VydmljZS5jbGFzcyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3NlcnZpY2VzL3Byb2dyZXNzLWJhci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvc2VydmljZXMvdHJhbnNsYXRlLWNvbnRleHQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3NlcnZpY2VzL2pvYi51dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3NlcnZpY2VzL3N0b3JhZ2Uvc3RvcmFnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvc2VydmljZXMvc3RvcmFnZS9zdG9yYWdlLnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvdmFsaWRhdG9yL2Zvcm0tZXJyb3ItYWRhcHRlci5jbGFzcyc7XG5cbi8vIFNoYXJlZCBvdGhlclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2RhdGVzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvZnVuY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvc2VydmljZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9mb3Jtcyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL29ic2VydmFibGVzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvZXZlbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvYWxlcnRzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvcGxhdGZvcm1zJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvZmlsZS9maWxlLnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvZmlsZS9jc3YudXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9maWxlL2ltYWdlcy51dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2ZpbGUvdXJpLnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvaG90a2V5cy9zaGFyZWQtaG90a2V5cy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9ob3RrZXlzL2hvdGtleXMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2hvdGtleXMvZGlhbG9nL2hvdGtleXMtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQge0NvbG9yLCBDb2xvck5hbWUsIENvbG9yU2NhbGUsIENvbG9yU2NhbGVMZWdlbmQsIENvbG9yU2NhbGVPcHRpb25zLCBDb2xvckdyYWRpZW50T3B0aW9ucywgQ29sb3JTY2FsZUxlZ2VuZEl0ZW19IGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvZ3JhcGgvZ3JhcGgtY29sb3JzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvZ3JhcGgvY29sb3JzLnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvZ2VzdHVyZS9nZXN0dXJlLWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2dlc3R1cmUvaGFtbWVyLnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvdmFsaWRhdG9yL3ZhbGlkYXRvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC92YWxpZGF0b3IvZm9ybS1lcnJvci1hZGFwdGVyLmNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvbGF0bG9uZy9sYXRsb25nLnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvZGVidWcvZGVidWcubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvZGVidWcvZGVidWcuY29tcG9uZW50JztcblxuLy8gQ29yZVxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvY29yZS5tb2R1bGUnO1xuXG4vLyBDb3JlIG1vZGVsXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9zZXJ2aWNlcy9tb2RlbC9hY2NvdW50Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL21vZGVsL2NvbmZpZy5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9zZXJ2aWNlcy9tb2RlbC9kZXBhcnRtZW50Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL21vZGVsL2VudGl0eS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9zZXJ2aWNlcy9tb2RlbC9maWx0ZXIubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvbW9kZWwvaGlzdG9yeS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9zZXJ2aWNlcy9tb2RlbC9tb2RlbC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL21vZGVsL3BlZXIubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvbW9kZWwvcGVyc29uLm1vZGVsJztcbmV4cG9ydCB7IElSZWZlcmVudGlhbFJlZiwgUmVmZXJlbnRpYWxSZWYsXG4gIEJhc2VSZWZlcmVudGlhbCwgUmVmZXJlbnRpYWwsIFJlZmVyZW50aWFsVXRpbHMsXG4gIFJlZmVyZW50aWFsQXNPYmplY3RPcHRpb25zLFxuICByZWZlcmVudGlhbFRvU3RyaW5nLCByZWZlcmVudGlhbHNUb1N0cmluZyxcbiAgSVN0YXR1cywgU3RhdHVzTGlzdCwgU3RhdHVzQnlJZCxcbiAgTUlOSUZZX0VOVElUWV9GT1JfTE9DQUxfU1RPUkFHRSwgTUlOSUZZX0VOVElUWV9GT1JfUE9EIH0gZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvbW9kZWwvcmVmZXJlbnRpYWwubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvbW9kZWwvc2V0dGluZ3MubW9kZWwnO1xuXG4vLyBHcmFwaFFMXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9ncmFwaHFsL2dyYXBocWwubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL2dyYXBocWwvZ3JhcGhxbC5zZXJ2aWNlJztcblxuLy8gQ29yZSBwaXBlc1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvcGlwZXMvYWNjb3VudC5waXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9zZXJ2aWNlcy9waXBlcy9kZXBhcnRtZW50LXRvLXN0cmluZy5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL3BpcGVzL3BlcnNvbi10by1zdHJpbmcucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9zZXJ2aWNlcy9waXBlcy91c2FnZS1tb2RlLnBpcGVzJztcblxuLy8gQ29yZSBzZXJ2aWNlc1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvcGxhdGZvcm0uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9zZXJ2aWNlcy9uZXR3b3JrLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xuZXhwb3J0IHtDT1JFX0NPTkZJR19PUFRJT05TfSBmcm9tICcuL3NyYy9hcHAvY29yZS9zZXJ2aWNlcy9jb25maWcvY29yZS5jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvbG9jYWwtc2V0dGluZ3Muc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9zZXJ2aWNlcy9hY2NvdW50LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvY3J5cHRvLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvYXV0aC1ndWFyZC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL2Jhc2U1OCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9zZXJ2aWNlcy9iYXNlLWdyYXBocWwtc2VydmljZS5jbGFzcyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9zZXJ2aWNlcy9iYXNlLWVudGl0eS1zZXJ2aWNlLmNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL3N0b3JhZ2UvZW50aXRpZXMtc3RvcmFnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL3N0b3JhZ2UvZW50aXR5LXN0b3JlLmNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL3ZhbGlkYXRvci9iYXNlLnZhbGlkYXRvci5jbGFzcyc7XG5cbi8vIENvcmUgY29tcG9uZW50c1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvZm9ybS9mb3JtLmNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL2Zvcm0vZm9ybS51dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9mb3JtL2Zvcm0ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL2Zvcm0vYnV0dG9ucy9mb3JtLWJ1dHRvbnMtYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9mb3JtL2J1dHRvbnMvZm9ybS1idXR0b25zLWJhci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvZm9ybS9lbnRpdHkvZWRpdG9yLmNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL2Zvcm0vZW50aXR5L2VudGl0eS1lZGl0b3IuY2xhc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvZm9ybS9lbnRpdHkvZW50aXR5LWVkaXRvci1tb2RhbC5jbGFzcyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9mb3JtL2VudGl0eS9lbnRpdHktbWV0YWRhdGEuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL2Zvcm0vZW50aXR5L2VudGl0eS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvZm9ybS9saXN0L2xpc3QuZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9mb3JtL2xpc3QvbGlzdC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvZm9ybS9wcm9wZXJ0aWVzL3Byb3BlcnRpZXMuZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9mb3JtL3Byb3BlcnRpZXMvcHJvcGVydGllcy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvZm9ybS90ZXh0LXBvcG92ZXIvdGV4dC1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9mb3JtL3RleHQtcG9wb3Zlci90ZXh0LXBvcG92ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL2Zvcm0vdGV4dC1wb3BvdmVyL3RleHQtcG9wb3Zlci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvdGFibGUvdGFibGUuY2xhc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvdGFibGUvdGFibGUudXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvdGFibGUvdGFibGUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL3RhYmxlL21lbW9yeS10YWJsZS5jbGFzcyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS90YWJsZS9lbnRpdGllcy10YWJsZS1kYXRhc291cmNlLmNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL3RhYmxlL3RhYmxlLXNlbGVjdC1jb2x1bW5zLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS90YWJsZS9hY3Rpb25zLWNvbHVtbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvaWNvbi9pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9pY29uL2ljb24ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL2hvbWUvaG9tZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9ob21lL2hvbWUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL3NldHRpbmdzL3NldHRpbmdzLnBhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2V0dGluZ3Mvc2V0dGluZ3MubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL2FjY291bnQvYWNjb3VudC5wYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL2FjY291bnQvYWNjb3VudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvYXV0aC9hdXRoLmZvcm0nO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvYXV0aC9hdXRoLm1vZGFsJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL2F1dGgvYXV0aC5tb2R1bGUnXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9yZWdpc3Rlci9yZWdpc3Rlci1jb25maXJtLnBhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvcmVnaXN0ZXIvcmVnaXN0ZXIuZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9yZWdpc3Rlci9yZWdpc3Rlci5tb2RhbCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9yZWdpc3Rlci9yZWdpc3Rlci5tb2R1bGUnXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9hYm91dC9hYm91dC5tb2RhbCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9hYm91dC9hYm91dC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvcGVlci9zZWxlY3QtcGVlci5tb2RhbCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9wZWVyL3NlbGVjdC1wZWVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9pbnN0YWxsL2luc3RhbGwtdXBncmFkZS1jYXJkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9pbnN0YWxsL2luc3RhbGwtdXBncmFkZS1jYXJkLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9tZW51L21lbnUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL21lbnUvbWVudS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9tZW51L21lbnUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL21lbnUvbWVudS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL29mZmxpbmUvdXBkYXRlLW9mZmxpbmUtbW9kZS1jYXJkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvY29yZS9vZmZsaW5lL3VwZGF0ZS1vZmZsaW5lLW1vZGUtY2FyZC5tb2R1bGUnO1xuXG4vLyBDb3JlIGRlY29yYXRvclxuZXhwb3J0IHtFbnRpdHlDbGFzcywgRW50aXR5Q2xhc3Nlc30gZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvbW9kZWwvZW50aXR5LmRlY29yYXRvcnMnO1xuXG5cbi8vIFNvY2lhbFxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NvY2lhbC9zb2NpYWwubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zb2NpYWwvc29jaWFsLmVycm9ycyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc29jaWFsL3VzZXItZXZlbnQvdXNlci1ldmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NvY2lhbC91c2VyLWV2ZW50L3VzZXItZXZlbnQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NvY2lhbC91c2VyLWV2ZW50L3VzZXItZXZlbnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc29jaWFsL3VzZXItZXZlbnQvbm90aWZpY2F0aW9uL3VzZXItZXZlbnQtbm90aWZpY2F0aW9uLmljb24nO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NvY2lhbC9qb2Ivam9iLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc29jaWFsL2pvYi9qb2IubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NvY2lhbC9qb2IvcHJvZ3Jlc3Npb24vam9iLXByb2dyZXNzaW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NvY2lhbC9qb2IvcHJvZ3Jlc3Npb24vam9iLXByb2dyZXNzaW9uLmljb24nO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NvY2lhbC9qb2IvcHJvZ3Jlc3Npb24vam9iLXByb2dyZXNzaW9uLmxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NvY2lhbC9tZXNzYWdlL21lc3NhZ2UubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zb2NpYWwvbWVzc2FnZS9tZXNzYWdlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zb2NpYWwvbWVzc2FnZS9tZXNzYWdlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NvY2lhbC9tZXNzYWdlL21lc3NhZ2UuZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc29jaWFsL21lc3NhZ2UvbWVzc2FnZS5tb2RhbCc7XG5cbi8vIEFkbWluXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvYWRtaW4vYWRtaW4ubW9kdWxlJztcbmV4cG9ydCB7QWRtaW5Sb3V0aW5nTW9kdWxlfSBmcm9tICcuL3NyYy9hcHAvYWRtaW4vYWRtaW4tcm91dGluZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2FkbWluL3NlcnZpY2VzL2ZpbHRlci9wZXJzb24uZmlsdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9hZG1pbi9zZXJ2aWNlcy92YWxpZGF0b3IvcGVyc29uLnZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvYWRtaW4vc2VydmljZXMvcGVyc29uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2FkbWluL3VzZXJzL3VzZXJzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvYWRtaW4vdXNlcnMvdXNlcnMnO1xuXG4vLyBTaGFyZWQgdGVzdHMgcGFnZVxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC90ZXN0aW5nL3Rlc3RzLnBhZ2UnO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRlc3RpbmcgbW9kdWxlIGFuZCBjb21wb25lbnRzXG4vL1xuLy8gVE9ETzogdG8gcmVtb3ZlIHdoZW4gbmd4LWNvbXBvbmVudHMgd2lsbCBiZSB3ZWxsIHRlc3RlZFxuLy8gKG9yIGV4cG9ydCBpbnRvIGEgc3ViIHBhY2thZ2UsIGxpa2UgJ0BzdW1hcmlzLW5ldC9uZ3gtY29tcG9uZW50cy90ZXN0aW5nJylcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTaGFyZWQgbWF0ZXJpYWwgdGVzdFxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9tYXRlcmlhbC9tYXRlcmlhbC50ZXN0aW5nLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2F1dG9jb21wbGV0ZS90ZXN0aW5nL2F1dG9jb21wbGV0ZS50ZXN0JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvbGF0bG9uZy90ZXN0aW5nL2xhdGxvbmcudGVzdCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL3N3aXBlL3Rlc3Rpbmcvc3dpcGUudGVzdCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2RhdGV0aW1lL3Rlc3RpbmcvbWF0LWRhdGUtdGltZS50ZXN0JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvZGF0ZXRpbWUvdGVzdGluZy9tYXQtZGF0ZS50ZXN0JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvY2hpcHMvdGVzdGluZy9jaGlwcy50ZXN0JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvbnVtcGFkL3Rlc3RpbmcvbnVtcGFkLnRlc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC90ZXN0aW5nL29ic2VydmFibGUudGVzdCc7XG5cbi8vIFNoYXJlZCBvdGhlciB0ZXN0XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3NoYXJlZC50ZXN0aW5nLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3VwbG9hZC1maWxlL3Rlc3RpbmcvdXBsb2FkLWZpbGUudGVzdGluZyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL3VwbG9hZC1maWxlL3Rlc3RpbmcvdXBsb2FkLWZpbGUudGVzdGluZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC90b2FzdC90b2FzdC50ZXN0aW5nJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvdG9hc3QvdG9hc3QudGVzdGluZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9pbWFnZS9nYWxsZXJ5L3Rlc3RpbmcvZ2FsbGVyeS5zZXJ2aWNlLnRlc3RpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9pbWFnZS9nYWxsZXJ5L3Rlc3RpbmcvZ2FsbGVyeS50ZXN0aW5nJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvaW1hZ2UvZ2FsbGVyeS90ZXN0aW5nL2dhbGxlcnkudGVzdGluZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9hdWRpby9hdWRpby50ZXN0aW5nJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvYXVkaW8vYXVkaW8udGVzdGluZy5tb2R1bGUnO1xuXG4vLyBDb3JlIHRlc3RpbmdcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL2NvcmUudGVzdGluZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvdGVzdGluZy9yZWZlcmVudGlhbC1maWx0ZXIubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvdGVzdGluZy9yZWZlcmVudGlhbC52YWxpZGF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvZXJyb3JzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL3RhYmxlL3Rlc3RpbmcvdGFibGUudGVzdGluZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvdGFibGUvdGVzdGluZy90YWJsZS50ZXN0aW5nJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL2Zvcm0vdGV4dC1wb3BvdmVyL3Rlc3RpbmcvdGV4dC1wb3BvdmVyLnRlc3RpbmcubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9jb3JlL2Zvcm0vdGV4dC1wb3BvdmVyL3Rlc3RpbmcvdGV4dC1wb3BvdmVyLnRlc3RpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvZm9ybS9wcm9wZXJ0aWVzL3Rlc3RpbmcvcHJvcGVydGllcy1mb3JtLnRlc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvcmUvZm9ybS9wcm9wZXJ0aWVzL3Rlc3RpbmcvcHJvcGVydGllcy1mb3JtLnRlc3RpbmcubW9kdWxlJztcbmV4cG9ydCB7c3VnZ2VzdEZyb21BcnJheX0gZnJvbSBcIi4vc3JjL2FwcC9zaGFyZWQvc2VydmljZXNcIjtcblxuLy8gU29jaWFsIHRlc3RpbmdcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zb2NpYWwvc29jaWFsLnRlc3RpbmcubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zb2NpYWwvdXNlci1ldmVudC90ZXN0aW5nL3VzZXItZXZlbnQudGVzdGluZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NvY2lhbC91c2VyLWV2ZW50L3Rlc3RpbmcvdXNlci1ldmVudC50ZXN0aW5nJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zb2NpYWwvdXNlci1ldmVudC90ZXN0aW5nL3VzZXItZXZlbnQudGVzdGluZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zb2NpYWwvam9iL3Rlc3Rpbmcvam9iLnRlc3RpbmcubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zb2NpYWwvam9iL3Rlc3Rpbmcvam9iLXByb2dyZXNzaW9uLnRlc3RpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3NvY2lhbC9qb2IvdGVzdGluZy9qb2ItcHJvZ3Jlc3Npb24udGVzdGluZy5zZXJ2aWNlJztcbmV4cG9ydCB7TWF0QXV0b2NvbXBsZXRlQ29uZmlnSG9sZGVyfSBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2F1dG9jb21wbGV0ZS9tYXRlcmlhbC5hdXRvY29tcGxldGUuY29uZmlnJztcbmV4cG9ydCB7TWF0QXV0b2NvbXBsZXRlRmllbGRBZGRPcHRpb25zfSBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2F1dG9jb21wbGV0ZS9tYXRlcmlhbC5hdXRvY29tcGxldGUuY29uZmlnJztcbmV4cG9ydCB7TWF0QXV0b2NvbXBsZXRlRmllbGRDb25maWd9IGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlL21hdGVyaWFsLmF1dG9jb21wbGV0ZS5jb25maWcnO1xuIl19
|
|
@@ -238,10 +238,10 @@ export class HomePage {
|
|
|
238
238
|
}
|
|
239
239
|
}
|
|
240
240
|
HomePage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: HomePage, deps: [{ token: i1.AccountService }, { token: i2.ModalController }, { token: i3.TranslateService }, { token: i2.ToastController }, { token: i4.ConfigService }, { token: i5.PlatformService }, { token: i0.ChangeDetectorRef }, { token: i6.NetworkService }, { token: i7.LocalSettingsService }, { token: ENVIRONMENT }, { token: APP_LOCALES }, { token: APP_HOME_BUTTONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
241
|
-
HomePage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: HomePage, selector: "app-page-home", ngImport: i0, template: "<app-toolbar [canGoBack]=\"false\"\n visible-xs visible-sm visible-mobile>\n\n <!-- change locale button -->\n <ion-button slot=\"end\" *ngIf=\"currentLocaleCode; let code\"\n [matMenuTriggerFor]=\"localeMenu\">\n <ion-label class=\"ion-text-uppercase\"> {{ code }}</ion-label>\n <mat-icon slot=\"end\">arrow_drop_down</mat-icon>\n </ion-button>\n</app-toolbar>\n\n<!-- change locale menu -->\n<mat-menu #localeMenu=\"matMenu\">\n <button *ngFor=\"let item of locales\"\n mat-menu-item\n (click)=\"changeLanguage(item.key)\">\n <ion-label>{{item.value}}</ion-label>\n </button>\n</mat-menu>\n\n<ion-content [ngStyle]=\"contentStyle\" no-padding-xs>\n\n <!-- loading spinner -->\n <div class=\"loading-page\" [class.cdk-visually-hidden]=\"!loading\">\n <div class=\"spinner\" *ngIf=\"loading && showSpinner\">\n <p [innerHTML]=\"'COMMON.LOADING_DOTS'|translate\"></p>\n <div class=\"sk-cube1 sk-cube\"></div>\n <div class=\"sk-cube2 sk-cube\"></div>\n <div class=\"sk-cube4 sk-cube\"></div>\n <div class=\"sk-cube3 sk-cube\"></div>\n </div>\n </div>\n\n <!-- Desktop: translucent top toolbar -->\n <div hidden-xs hidden-sm hidden-mobile>\n <ion-toolbar translucent>\n <ion-buttons slot=\"start\">\n <ion-menu-toggle>\n <ion-button color=\"light\" fill=\"clear\">\n <ion-icon slot=\"icon-only\" name=\"menu\"></ion-icon>\n </ion-button>\n </ion-menu-toggle>\n </ion-buttons>\n\n <ion-buttons slot=\"end\">\n <!-- change locale button -->\n <ion-button color=\"secondary\" fill=\"solid\"\n *ngIf=\"currentLocaleCode; let code\"\n [matMenuTriggerFor]=\"localeMenu\">\n <ion-label class=\"ion-text-uppercase\"> {{ code }}</ion-label>\n <mat-icon slot=\"end\">arrow_drop_down</mat-icon>\n </ion-button>\n </ion-buttons>\n </ion-toolbar>\n </div>\n\n <!-- Install (and upgrade) card -->\n <app-install-upgrade-card [isLogin]=\"isLogin\"\n [showInstallButton]=\"true\">\n </app-install-upgrade-card>\n\n <!-- Welcome card -->\n <ion-card *ngIf=\"!loading\"\n class=\"main welcome ion-padding ion-text-center ion-align-self-center\"\n @fadeInAnimation>\n <ion-card-header>\n <ion-card-title class=\"ion-text-center\">\n <span *ngIf=\"isWeb\" [innerHTML]=\"'HOME.WELCOME_WEB'|translate: {appName: appName}\"></span>\n <span *ngIf=\"!isWeb\" [innerHTML]=\"'HOME.WELCOME_APP'|translate: {appName: appName}\"></span>\n </ion-card-title>\n <ion-card-subtitle [innerHTML]=\"description\">\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content class=\"ion-no-padding\">\n <ion-text color=\"primary\">\n <img class=\"logo\" *ngIf=\"logo\" src=\"{{ logo }}\">\n </ion-text>\n <!-- register help text -->\n <ion-text *ngIf=\"!isLogin && canRegister\">\n <br/>\n <span translate>HOME.REGISTER_HELP</span>\n </ion-text>\n </ion-card-content>\n\n <ion-footer class=\"ion-padding-top\">\n\n <!-- If NOT login -->\n <ng-container *ngIf=\"!isLogin; else loginButtons;\">\n\n <ion-button *ngIf=\"canRegister\" expand=\"block\" color=\"tertiary\" (click)=\"register()\">\n <span translate>HOME.BTN_REGISTER</span>\n </ion-button>\n <ion-button expand=\"block\" color=\"light\" [routerLink]=\"['/']\" (click)=\"login()\">\n <span translate>AUTH.BTN_LOGIN</span>\n </ion-button>\n\n </ng-container>\n\n <!-- If user login -->\n <ng-template #loginButtons>\n\n <!-- Feature buttons -->\n <ng-container *ngIf=\"$filteredButtons | async as buttons\">\n <ng-container *ngFor=\"let item of buttons\">\n <ion-button *ngIf=\"item.path\"\n expand=\"block\" color=\"tertiary\"\n [class]=\"item.cssClass\"\n [routerLink]=\"item.path\"\n routerDirection=\"root\">\n <ion-icon slot=\"start\" class=\"ion-float-start\" *ngIf=\"item.icon\" [name]=\"item.icon\"></ion-icon>\n <mat-icon slot=\"start\" class=\"ion-float-start\" *ngIf=\"item.matIcon\">{{item.matIcon}}</mat-icon>\n <ion-text>{{'HOME.BTN_DATA_ENTRY'|translate: {name: (item.title | translate) } }}</ion-text>\n </ion-button>\n\n <!-- divider -->\n <div *ngIf=\"!item.path && !item.action\" [class]=\"item.cssClass\">\n <ion-label translate>{{item.title}} </ion-label>\n </div>\n </ng-container>\n\n <!--<p *ngIf=\"buttons.length\" class=\"visible-mobile\"> </p>-->\n </ng-container>\n\n <ion-button *ngIf=\"showAccountButton\" expand=\"block\" color=\"secondary\" [routerLink]=\"['/account']\">\n <ion-icon slot=\"start\" class=\"ion-float-start\" name=\"person-circle\"></ion-icon>\n <ion-text translate>HOME.BTN_MY_ACCOUNT</ion-text>\n </ion-button>\n\n <p hidden-xs hidden-sm hidden-mobile>\n <ion-text [innerHTML]=\"'HOME.NOT_THIS_ACCOUNT_QUESTION' | translate: {displayName: accountName }\"></ion-text>\n <br/>\n <ion-text>\n <a href=\"#\" (click)=\"logout($event)\">\n <span translate>HOME.BTN_DISCONNECT</span>\n </a>\n </ion-text>\n </p>\n\n\n </ng-template>\n\n </ion-footer>\n </ion-card>\n\n <!-- Page history -->\n <ion-grid *ngIf=\"!loading && isLogin && pageHistory.length; else bottomBanner\"\n class=\"history-container ion-align-self-center\">\n <ion-row>\n <ion-col size=\"12\" size-xl=\"\" *ngFor=\"let page of pageHistory; trackBy: getPagePath\"\n class=\"ion-text-center\">\n <ion-card class=\"ion-align-self-start ion-text-start\" @fadeInAnimation>\n <ion-card-header class=\"ion-no-padding\">\n <!-- top bar -->\n <ion-card-subtitle>\n <button type=\"button\" tabindex=\"-1\"\n (click)=\"settings.removePageHistory(page.path)\"\n mat-icon-button class=\"ion-float-start ion-no-margin\">\n <mat-icon>close</mat-icon>\n </button>\n <ion-label [innerHTML]=\"page.subtitle|translate\"></ion-label>\n <ion-text class=\"ion-float-end\" [title]=\"page.time|dateFormat:{time: true}\">\n <small><ion-icon name=\"time-outline\"></ion-icon> {{ page.time|dateFromNow }}</small> \n </ion-text>\n </ion-card-subtitle>\n\n <!-- main page -->\n <ion-card-title class=\"ion-no-margin ion-no-padding\">\n <ion-item detail=\"true\"\n tappable class=\"text-1x\"\n [routerLink]=\"page.path\"\n routerDirection=\"root\" lines=\"none\">\n <!-- page icon-->\n <ion-icon *ngIf=\"page.icon\" slot=\"start\" [name]=\"page.icon\"></ion-icon>\n <mat-icon *ngIf=\"page.matIcon\" slot=\"start\">{{page.matIcon}}</mat-icon>\n\n <ion-label color=\"primary\" [innerHTML]=\"page.title\"></ion-label>\n </ion-item>\n </ion-card-title>\n </ion-card-header>\n\n <!-- children pages -->\n <ion-card-content class=\"ion-no-padding ion-padding-start\" *ngIf=\"page.children?.length\">\n <ion-list class=\"ion-no-padding\">\n <ion-item detail=\"true\"\n *ngFor=\"let childPage of page.children\"\n tappable class=\"text-1x\"\n [routerLink]=\"childPage.path\"\n routerDirection=\"root\">\n <!-- page icon-->\n <ion-icon *ngIf=\"childPage.icon\" slot=\"start\" color=\"dark\" [name]=\"childPage.icon\"></ion-icon>\n <mat-icon *ngIf=\"childPage.matIcon\" slot=\"start\" color=\"dark\">{{childPage.matIcon}}</mat-icon>\n\n <ion-label color=\"dark\" [innerHTML]=\"childPage.title\"></ion-label>\n </ion-item>\n </ion-list>\n </ion-card-content>\n </ion-card>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n <!-- Display configured Departments logos -->\n <ng-template #bottomBanner>\n <div class=\"bottom-banner ion-text-center ion-padding\" *ngIf=\"!loadingBanner\" @fadeInAnimation>\n <a href=\"{{ item.siteUrl }}\" *ngFor=\"let item of $partners | async \">\n <img class=\"logo\" src=\"{{ item.logo }}\" alt=\"{{item.label}}\" [title]=\"item.label\" />\n </a>\n </div>\n </ng-template>\n\n\n</ion-content>\n", styles: ["h1,h2,h3,h4,h5{white-space:normal}.center,ion-content ion-card.welcome img{text-align:center;display:inline-block}ion-content{--background: transparent;background-size:cover;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;display:inline-block;padding:15px;background-color:var(--ion-color-primary)}ion-content .loading-page{display:block;height:100%;width:100%;position:absolute;background-color:var(--ion-color-primary);z-index:5;transition:background .5s linear;-webkit-transition:background 1.5s linear}ion-content .loading-page.hidden{background-color:rgba(var(--ion-color-primary),0)}ion-content ion-card{z-index:9}ion-content ion-card ion-card-header{display:block}ion-content ion-card ion-card-header ion-card-subtitle,ion-content ion-card ion-card-header ion-card-title{display:block;width:100%}ion-content ion-card.main{min-width:240px;max-width:400px;margin-left:auto;margin-right:auto}ion-content ion-card.welcome{background-color:#ffffffb3}ion-content ion-card.welcome button{margin-top:16px}ion-content ion-card.welcome img{max-width:250px}ion-content .history-container{margin-left:auto;margin-right:auto}ion-content .history-container ion-card{display:inline-block;box-sizing:border-box;z-index:8;min-width:240px;max-width:400px;width:100%;margin-left:auto;margin-right:auto;background-color:#ffffffb3}ion-content .history-container ion-card ion-card-header ion-card-subtitle{height:40px}ion-content .history-container ion-card ion-card-header ion-card-subtitle button[float-start]{z-index:99;margin:0}ion-content .history-container ion-card ion-card-header ion-card-subtitle ion-label{line-height:40px}ion-content .history-container ion-card ion-card-header ion-card-subtitle ion-label[float-end]{padding-right:16px;font-weight:400}ion-content .history-container ion-card ion-card-header ion-card-title ion-item{--ion-item-background: $transparent;--ion-item-icon-color: var(--ion-color-primary);--ion-item-text-color: var(--ion-color-primary)}ion-content .history-container ion-card ion-card-header ion-card-title ion-item ion-icon[slot=start],ion-content .history-container ion-card ion-card-header ion-card-title ion-item mat-icon[slot=start]{margin-right:unset;margin-inline-end:16px!important;color:var(--ion-item-icon-color)!important;fill:currentColor;stroke:currentColor}ion-content .history-container ion-card ion-card-header ion-card-title ion-item ion-text,ion-content .history-container ion-card ion-card-header ion-card-title ion-item ion-label{color:var(--ion-item-text-color)!important;text-size-adjust:100%}ion-content .history-container ion-card ion-card-content ion-list{--ion-item-background: var(--ion-color-transparent)}ion-content .history-container ion-card ion-card-content ion-list ion-item{--ion-item-icon-color: var(--ion-color-dark);--ion-item-text-color: var(--ion-color-dark)}ion-content .history-container ion-card ion-card-content ion-list ion-item ion-icon[slot=start],ion-content .history-container ion-card ion-card-content ion-list ion-item mat-icon[slot=start]{color:var(--ion-item-icon-color)!important;fill:currentColor;stroke:currentColor;margin-right:unset;margin-inline-end:16px!important}ion-content .history-container ion-card ion-card-content ion-list ion-item ion-text,ion-content .history-container ion-card ion-card-content ion-list ion-item ion-label{color:var(--ion-item-text-color)!important}ion-content .bottom-banner{background-color:#ffffffb3;min-width:240px;z-index:0;position:absolute;left:16px;right:16px;bottom:16px}ion-content .bottom-banner img.logo{max-height:50px;margin-left:8px}ion-content ion-text{text-align:center}@media screen and (max-width: 575px){ion-content ion-card{min-width:160px;width:calc(100% - 20px);max-width:100%;margin-left:10px;margin-right:10px}ion-content ion-card h1{margin-top:0;font-size:20px}ion-content ion-card ion-card-content ion-button{margin-top:8px}ion-content .bottom-banner{display:block;position:unset}ion-content .bottom-banner img.logo{max-height:30px}}@media screen and (max-width: 767px) and (min-width: 576px){ion-content{min-height:555px}ion-content .bottom-banner img.logo{max-height:40px}}@media screen and (min-width: 768px){ion-content{min-height:calc(100% - 100px)}}\n"], dependencies: [{ kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i8.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i2.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i2.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i2.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i2.IonCardHeader, selector: "ion-card-header", inputs: ["color", "mode", "translucent"] }, { kind: "component", type: i2.IonCardSubtitle, selector: "ion-card-subtitle", inputs: ["color", "mode"] }, { kind: "component", type: i2.IonCardTitle, selector: "ion-card-title", inputs: ["color", "mode"] }, { kind: "component", type: i2.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i2.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i2.IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i2.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i2.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i2.IonMenuToggle, selector: "ion-menu-toggle", inputs: ["autoHide", "menu"] }, { kind: "component", type: i2.IonRow, selector: "ion-row" }, { kind: "component", type: i2.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i2.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i2.RouterLinkDelegate, selector: ":not(a):not(area)[routerLink]", inputs: ["routerDirection", "routerAnimation"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i11.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i11.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i11.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i12.ToolbarComponent, selector: "app-toolbar", inputs: ["title", "color", "class", "backHref", "defaultBackHref", "hasValidate", "hasClose", "hasSearch", "canGoBack", "canShowMenu"], outputs: ["onValidate", "onClose", "onValidateAndClose", "onBackClick", "onSearch"] }, { kind: "directive", type: i13.RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: ["queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i14.AppInstallUpgradeCard, selector: "app-install-upgrade-card", inputs: ["isLogin", "showUpgradeWarning", "showOfflineWarning", "showInstallButton"] }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: i15.DateFormatPipe, name: "dateFormat" }, { kind: "pipe", type: i16.DateFromNowPipe, name: "dateFromNow" }], animations: [fadeInAnimation, slideUpDownAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
241
|
+
HomePage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: HomePage, selector: "app-page-home", ngImport: i0, template: "<app-toolbar [canGoBack]=\"false\"\n visible-xs visible-sm visible-mobile>\n\n <!-- change locale button -->\n <ion-button slot=\"end\" *ngIf=\"currentLocaleCode; let code\"\n [matMenuTriggerFor]=\"localeMenu\">\n <ion-label class=\"ion-text-uppercase\"> {{ code }}</ion-label>\n <mat-icon slot=\"end\">arrow_drop_down</mat-icon>\n </ion-button>\n</app-toolbar>\n\n<!-- change locale menu -->\n<mat-menu #localeMenu=\"matMenu\">\n <button *ngFor=\"let item of locales\"\n mat-menu-item\n (click)=\"changeLanguage(item.key)\">\n <ion-label>{{item.value}}</ion-label>\n </button>\n</mat-menu>\n\n<ion-content [ngStyle]=\"contentStyle\" no-padding-xs>\n\n <!-- loading spinner -->\n <div class=\"loading-page\" [class.cdk-visually-hidden]=\"!loading\">\n <div class=\"spinner\" *ngIf=\"loading && showSpinner\">\n <p [innerHTML]=\"'COMMON.LOADING_DOTS'|translate\"></p>\n <div class=\"sk-cube1 sk-cube\"></div>\n <div class=\"sk-cube2 sk-cube\"></div>\n <div class=\"sk-cube4 sk-cube\"></div>\n <div class=\"sk-cube3 sk-cube\"></div>\n </div>\n </div>\n\n <!-- Desktop: translucent top toolbar -->\n <div hidden-xs hidden-sm hidden-mobile>\n <ion-toolbar translucent>\n <ion-buttons slot=\"start\">\n <ion-menu-toggle>\n <ion-button color=\"light\" fill=\"clear\">\n <ion-icon slot=\"icon-only\" name=\"menu\"></ion-icon>\n </ion-button>\n </ion-menu-toggle>\n </ion-buttons>\n\n <ion-buttons slot=\"end\">\n <!-- change locale button -->\n <ion-button color=\"secondary\" fill=\"solid\"\n *ngIf=\"currentLocaleCode; let code\"\n [matMenuTriggerFor]=\"localeMenu\">\n <ion-label class=\"ion-text-uppercase\"> {{ code }}</ion-label>\n <mat-icon slot=\"end\">arrow_drop_down</mat-icon>\n </ion-button>\n </ion-buttons>\n </ion-toolbar>\n </div>\n\n <!-- Install (and upgrade) card -->\n <app-install-upgrade-card [isLogin]=\"isLogin\"\n [showInstallButton]=\"true\">\n </app-install-upgrade-card>\n\n <!-- Welcome card -->\n <ion-card *ngIf=\"!loading\"\n class=\"main welcome ion-padding ion-text-center ion-align-self-center\"\n @fadeInAnimation>\n <ion-card-header>\n <ion-card-title class=\"ion-text-center\">\n <span *ngIf=\"isWeb\" [innerHTML]=\"'HOME.WELCOME_WEB'|translate: {appName: appName}\"></span>\n <span *ngIf=\"!isWeb\" [innerHTML]=\"'HOME.WELCOME_APP'|translate: {appName: appName}\"></span>\n </ion-card-title>\n <ion-card-subtitle [innerHTML]=\"description\">\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content class=\"ion-no-padding\">\n <ion-text color=\"primary\">\n <img class=\"logo\" *ngIf=\"logo\" src=\"{{ logo }}\">\n </ion-text>\n <!-- register help text -->\n <ion-text *ngIf=\"!isLogin && canRegister\">\n <br/>\n <span translate>HOME.REGISTER_HELP</span>\n </ion-text>\n </ion-card-content>\n\n <ion-footer class=\"ion-padding-top\">\n\n <!-- If NOT login -->\n <ng-container *ngIf=\"!isLogin; else loginButtons;\">\n\n <ion-button *ngIf=\"canRegister\" expand=\"block\" color=\"tertiary\" (click)=\"register()\">\n <span translate>HOME.BTN_REGISTER</span>\n </ion-button>\n <ion-button expand=\"block\" color=\"light\" [routerLink]=\"['/']\" (click)=\"login()\">\n <span translate>AUTH.BTN_LOGIN</span>\n </ion-button>\n\n </ng-container>\n\n <!-- If user login -->\n <ng-template #loginButtons>\n\n <!-- Feature buttons -->\n <ng-container *ngIf=\"$filteredButtons | async as buttons\">\n <ng-container *ngFor=\"let item of buttons\">\n <ion-button *ngIf=\"item.path\"\n expand=\"block\" color=\"tertiary\"\n [class]=\"item.cssClass\"\n [routerLink]=\"item.path\"\n routerDirection=\"root\">\n <ion-icon slot=\"start\" class=\"ion-float-start\" *ngIf=\"item.icon\" [name]=\"item.icon\"></ion-icon>\n <mat-icon slot=\"start\" class=\"ion-float-start\" *ngIf=\"item.matIcon\">{{item.matIcon}}</mat-icon>\n <ion-text>{{'HOME.BTN_DATA_ENTRY'|translate: {name: (item.title | translate) } }}</ion-text>\n </ion-button>\n\n <!-- divider -->\n <div *ngIf=\"!item.path && !item.action\" [class]=\"item.cssClass\">\n <ion-label translate>{{item.title}} </ion-label>\n </div>\n </ng-container>\n\n <!--<p *ngIf=\"buttons.length\" class=\"visible-mobile\"> </p>-->\n </ng-container>\n\n <ion-button *ngIf=\"showAccountButton\" expand=\"block\" color=\"secondary\" [routerLink]=\"['/account']\">\n <ion-icon slot=\"start\" class=\"ion-float-start\" name=\"person-circle\"></ion-icon>\n <ion-text translate>HOME.BTN_MY_ACCOUNT</ion-text>\n </ion-button>\n\n <p hidden-xs hidden-sm hidden-mobile>\n <ion-text [innerHTML]=\"'HOME.NOT_THIS_ACCOUNT_QUESTION' | translate: {displayName: accountName }\"></ion-text>\n <br/>\n <ion-text>\n <a href=\"#\" (click)=\"logout($event)\">\n <span translate>HOME.BTN_DISCONNECT</span>\n </a>\n </ion-text>\n </p>\n\n\n </ng-template>\n\n </ion-footer>\n </ion-card>\n\n <!-- Page history -->\n <ion-grid *ngIf=\"!loading && isLogin && pageHistory.length; else bottomBanner\"\n class=\"history-container ion-align-self-center\">\n <ion-row>\n <ion-col size=\"12\" size-xl=\"\" *ngFor=\"let page of pageHistory; trackBy: getPagePath\"\n class=\"ion-text-center\">\n <ion-card class=\"ion-align-self-start ion-text-start\" @fadeInAnimation>\n <ion-card-header class=\"ion-no-padding\">\n <!-- top bar -->\n <ion-card-subtitle>\n <button type=\"button\" tabindex=\"-1\"\n (click)=\"settings.removePageHistory(page.path)\"\n mat-icon-button class=\"ion-float-start ion-no-margin\">\n <mat-icon>close</mat-icon>\n </button>\n <ion-label [innerHTML]=\"page.subtitle|translate\"></ion-label>\n <ion-text class=\"ion-float-end\" [title]=\"page.time|dateFormat:{time: true}\">\n <small><ion-icon name=\"time-outline\"></ion-icon> {{ page.time|dateFromNow }}</small> \n </ion-text>\n </ion-card-subtitle>\n\n <!-- main page -->\n <ion-card-title class=\"ion-no-margin ion-no-padding\">\n <ion-item detail=\"true\"\n tappable class=\"text-1x\"\n [routerLink]=\"page.path\"\n routerDirection=\"root\" lines=\"none\">\n <!-- page icon-->\n <ion-icon *ngIf=\"page.icon\" slot=\"start\" [name]=\"page.icon\"></ion-icon>\n <mat-icon *ngIf=\"page.matIcon\" slot=\"start\">{{page.matIcon}}</mat-icon>\n\n <ion-label color=\"primary\" [innerHTML]=\"page.title\"></ion-label>\n </ion-item>\n </ion-card-title>\n </ion-card-header>\n\n <!-- children pages -->\n <ion-card-content class=\"ion-no-padding ion-padding-start\" *ngIf=\"page.children?.length\">\n <ion-list class=\"ion-no-padding\">\n <ion-item detail=\"true\"\n *ngFor=\"let childPage of page.children\"\n tappable class=\"text-1x\"\n [routerLink]=\"childPage.path\"\n routerDirection=\"root\">\n <!-- page icon-->\n <ion-icon *ngIf=\"childPage.icon\" slot=\"start\" color=\"dark\" [name]=\"childPage.icon\"></ion-icon>\n <mat-icon *ngIf=\"childPage.matIcon\" slot=\"start\" color=\"dark\">{{childPage.matIcon}}</mat-icon>\n\n <ion-label color=\"dark\" [innerHTML]=\"childPage.title\"></ion-label>\n </ion-item>\n </ion-list>\n </ion-card-content>\n </ion-card>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n <!-- Display configured Departments logos -->\n <ng-template #bottomBanner>\n <div class=\"bottom-banner ion-text-center ion-padding\" *ngIf=\"!loadingBanner\" @fadeInAnimation>\n <a href=\"{{ item.siteUrl }}\" *ngFor=\"let item of $partners | async \">\n <img class=\"logo\" src=\"{{ item.logo }}\" alt=\"{{item.label}}\" [title]=\"item.label\" />\n </a>\n </div>\n </ng-template>\n\n\n</ion-content>\n", styles: ["h1,h2,h3,h4,h5{white-space:normal}.center,ion-content ion-card.welcome img{text-align:center;display:inline-block}ion-content{--background: transparent;background-size:cover;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;display:inline-block;padding:15px;background-color:var(--ion-color-primary)}ion-content .loading-page{display:block;height:100%;width:100%;position:absolute;background-color:var(--ion-color-primary);z-index:5;transition:background .5s linear;-webkit-transition:background 1.5s linear}ion-content .loading-page.hidden{background-color:rgba(var(--ion-color-primary),0)}ion-content ion-card{z-index:9}ion-content ion-card ion-card-header{display:block}ion-content ion-card ion-card-header ion-card-subtitle,ion-content ion-card ion-card-header ion-card-title{display:block;width:100%}ion-content ion-card.main{min-width:240px;max-width:400px;margin-left:auto;margin-right:auto}ion-content ion-card.welcome{background-color:#ffffffb3}ion-content ion-card.welcome button{margin-top:16px}ion-content ion-card.welcome img{max-width:250px}ion-content .history-container{margin-left:auto;margin-right:auto}ion-content .history-container ion-card{display:inline-block;box-sizing:border-box;z-index:8;min-width:240px;max-width:400px;width:100%;margin-left:auto;margin-right:auto;background-color:#ffffffb3}ion-content .history-container ion-card ion-card-header ion-card-subtitle{height:40px}ion-content .history-container ion-card ion-card-header ion-card-subtitle button[float-start]{z-index:99;margin:0}ion-content .history-container ion-card ion-card-header ion-card-subtitle ion-label{line-height:40px}ion-content .history-container ion-card ion-card-header ion-card-subtitle ion-label[float-end]{padding-right:16px;font-weight:400}ion-content .history-container ion-card ion-card-header ion-card-title ion-item{--ion-item-background: $transparent;--ion-item-icon-color: var(--ion-color-primary);--ion-item-text-color: var(--ion-color-primary)}ion-content .history-container ion-card ion-card-header ion-card-title ion-item ion-icon[slot=start],ion-content .history-container ion-card ion-card-header ion-card-title ion-item mat-icon[slot=start]{margin-right:unset;margin-inline-end:16px!important;color:var(--ion-item-icon-color)!important;fill:currentColor;stroke:currentColor}ion-content .history-container ion-card ion-card-header ion-card-title ion-item ion-text,ion-content .history-container ion-card ion-card-header ion-card-title ion-item ion-label{color:var(--ion-item-text-color)!important;-webkit-text-size-adjust:100%;text-size-adjust:100%}ion-content .history-container ion-card ion-card-content ion-list{--ion-item-background: var(--ion-color-transparent)}ion-content .history-container ion-card ion-card-content ion-list ion-item{--ion-item-icon-color: var(--ion-color-dark);--ion-item-text-color: var(--ion-color-dark)}ion-content .history-container ion-card ion-card-content ion-list ion-item ion-icon[slot=start],ion-content .history-container ion-card ion-card-content ion-list ion-item mat-icon[slot=start]{color:var(--ion-item-icon-color)!important;fill:currentColor;stroke:currentColor;margin-right:unset;margin-inline-end:16px!important}ion-content .history-container ion-card ion-card-content ion-list ion-item ion-text,ion-content .history-container ion-card ion-card-content ion-list ion-item ion-label{color:var(--ion-item-text-color)!important}ion-content .bottom-banner{background-color:#ffffffb3;min-width:240px;z-index:0;position:absolute;left:16px;right:16px;bottom:16px}ion-content .bottom-banner img.logo{max-height:50px;margin-left:8px}ion-content ion-text{text-align:center}@media screen and (max-width: 575px){ion-content ion-card{min-width:160px;width:calc(100% - 20px);max-width:100%;margin-left:10px;margin-right:10px}ion-content ion-card h1{margin-top:0;font-size:20px}ion-content ion-card ion-card-content ion-button{margin-top:8px}ion-content .bottom-banner{display:block;position:unset}ion-content .bottom-banner img.logo{max-height:30px}}@media screen and (max-width: 767px) and (min-width: 576px){ion-content{min-height:555px}ion-content .bottom-banner img.logo{max-height:40px}}@media screen and (min-width: 768px){ion-content{min-height:calc(100% - 100px)}}\n"], dependencies: [{ kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i8.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i2.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i2.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i2.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i2.IonCardHeader, selector: "ion-card-header", inputs: ["color", "mode", "translucent"] }, { kind: "component", type: i2.IonCardSubtitle, selector: "ion-card-subtitle", inputs: ["color", "mode"] }, { kind: "component", type: i2.IonCardTitle, selector: "ion-card-title", inputs: ["color", "mode"] }, { kind: "component", type: i2.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i2.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i2.IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i2.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i2.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i2.IonMenuToggle, selector: "ion-menu-toggle", inputs: ["autoHide", "menu"] }, { kind: "component", type: i2.IonRow, selector: "ion-row" }, { kind: "component", type: i2.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i2.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i2.RouterLinkDelegate, selector: ":not(a):not(area)[routerLink]", inputs: ["routerDirection", "routerAnimation"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i11.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i11.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i11.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i12.ToolbarComponent, selector: "app-toolbar", inputs: ["title", "color", "class", "backHref", "defaultBackHref", "hasValidate", "hasClose", "hasSearch", "canGoBack", "canShowMenu"], outputs: ["onValidate", "onClose", "onValidateAndClose", "onBackClick", "onSearch"] }, { kind: "directive", type: i13.RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: ["queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i14.AppInstallUpgradeCard, selector: "app-install-upgrade-card", inputs: ["isLogin", "showUpgradeWarning", "showOfflineWarning", "showInstallButton"] }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: i15.DateFormatPipe, name: "dateFormat" }, { kind: "pipe", type: i16.DateFromNowPipe, name: "dateFromNow" }], animations: [fadeInAnimation, slideUpDownAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
242
242
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: HomePage, decorators: [{
|
|
243
243
|
type: Component,
|
|
244
|
-
args: [{ selector: 'app-page-home', changeDetection: ChangeDetectionStrategy.OnPush, animations: [fadeInAnimation, slideUpDownAnimation], template: "<app-toolbar [canGoBack]=\"false\"\n visible-xs visible-sm visible-mobile>\n\n <!-- change locale button -->\n <ion-button slot=\"end\" *ngIf=\"currentLocaleCode; let code\"\n [matMenuTriggerFor]=\"localeMenu\">\n <ion-label class=\"ion-text-uppercase\"> {{ code }}</ion-label>\n <mat-icon slot=\"end\">arrow_drop_down</mat-icon>\n </ion-button>\n</app-toolbar>\n\n<!-- change locale menu -->\n<mat-menu #localeMenu=\"matMenu\">\n <button *ngFor=\"let item of locales\"\n mat-menu-item\n (click)=\"changeLanguage(item.key)\">\n <ion-label>{{item.value}}</ion-label>\n </button>\n</mat-menu>\n\n<ion-content [ngStyle]=\"contentStyle\" no-padding-xs>\n\n <!-- loading spinner -->\n <div class=\"loading-page\" [class.cdk-visually-hidden]=\"!loading\">\n <div class=\"spinner\" *ngIf=\"loading && showSpinner\">\n <p [innerHTML]=\"'COMMON.LOADING_DOTS'|translate\"></p>\n <div class=\"sk-cube1 sk-cube\"></div>\n <div class=\"sk-cube2 sk-cube\"></div>\n <div class=\"sk-cube4 sk-cube\"></div>\n <div class=\"sk-cube3 sk-cube\"></div>\n </div>\n </div>\n\n <!-- Desktop: translucent top toolbar -->\n <div hidden-xs hidden-sm hidden-mobile>\n <ion-toolbar translucent>\n <ion-buttons slot=\"start\">\n <ion-menu-toggle>\n <ion-button color=\"light\" fill=\"clear\">\n <ion-icon slot=\"icon-only\" name=\"menu\"></ion-icon>\n </ion-button>\n </ion-menu-toggle>\n </ion-buttons>\n\n <ion-buttons slot=\"end\">\n <!-- change locale button -->\n <ion-button color=\"secondary\" fill=\"solid\"\n *ngIf=\"currentLocaleCode; let code\"\n [matMenuTriggerFor]=\"localeMenu\">\n <ion-label class=\"ion-text-uppercase\"> {{ code }}</ion-label>\n <mat-icon slot=\"end\">arrow_drop_down</mat-icon>\n </ion-button>\n </ion-buttons>\n </ion-toolbar>\n </div>\n\n <!-- Install (and upgrade) card -->\n <app-install-upgrade-card [isLogin]=\"isLogin\"\n [showInstallButton]=\"true\">\n </app-install-upgrade-card>\n\n <!-- Welcome card -->\n <ion-card *ngIf=\"!loading\"\n class=\"main welcome ion-padding ion-text-center ion-align-self-center\"\n @fadeInAnimation>\n <ion-card-header>\n <ion-card-title class=\"ion-text-center\">\n <span *ngIf=\"isWeb\" [innerHTML]=\"'HOME.WELCOME_WEB'|translate: {appName: appName}\"></span>\n <span *ngIf=\"!isWeb\" [innerHTML]=\"'HOME.WELCOME_APP'|translate: {appName: appName}\"></span>\n </ion-card-title>\n <ion-card-subtitle [innerHTML]=\"description\">\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content class=\"ion-no-padding\">\n <ion-text color=\"primary\">\n <img class=\"logo\" *ngIf=\"logo\" src=\"{{ logo }}\">\n </ion-text>\n <!-- register help text -->\n <ion-text *ngIf=\"!isLogin && canRegister\">\n <br/>\n <span translate>HOME.REGISTER_HELP</span>\n </ion-text>\n </ion-card-content>\n\n <ion-footer class=\"ion-padding-top\">\n\n <!-- If NOT login -->\n <ng-container *ngIf=\"!isLogin; else loginButtons;\">\n\n <ion-button *ngIf=\"canRegister\" expand=\"block\" color=\"tertiary\" (click)=\"register()\">\n <span translate>HOME.BTN_REGISTER</span>\n </ion-button>\n <ion-button expand=\"block\" color=\"light\" [routerLink]=\"['/']\" (click)=\"login()\">\n <span translate>AUTH.BTN_LOGIN</span>\n </ion-button>\n\n </ng-container>\n\n <!-- If user login -->\n <ng-template #loginButtons>\n\n <!-- Feature buttons -->\n <ng-container *ngIf=\"$filteredButtons | async as buttons\">\n <ng-container *ngFor=\"let item of buttons\">\n <ion-button *ngIf=\"item.path\"\n expand=\"block\" color=\"tertiary\"\n [class]=\"item.cssClass\"\n [routerLink]=\"item.path\"\n routerDirection=\"root\">\n <ion-icon slot=\"start\" class=\"ion-float-start\" *ngIf=\"item.icon\" [name]=\"item.icon\"></ion-icon>\n <mat-icon slot=\"start\" class=\"ion-float-start\" *ngIf=\"item.matIcon\">{{item.matIcon}}</mat-icon>\n <ion-text>{{'HOME.BTN_DATA_ENTRY'|translate: {name: (item.title | translate) } }}</ion-text>\n </ion-button>\n\n <!-- divider -->\n <div *ngIf=\"!item.path && !item.action\" [class]=\"item.cssClass\">\n <ion-label translate>{{item.title}} </ion-label>\n </div>\n </ng-container>\n\n <!--<p *ngIf=\"buttons.length\" class=\"visible-mobile\"> </p>-->\n </ng-container>\n\n <ion-button *ngIf=\"showAccountButton\" expand=\"block\" color=\"secondary\" [routerLink]=\"['/account']\">\n <ion-icon slot=\"start\" class=\"ion-float-start\" name=\"person-circle\"></ion-icon>\n <ion-text translate>HOME.BTN_MY_ACCOUNT</ion-text>\n </ion-button>\n\n <p hidden-xs hidden-sm hidden-mobile>\n <ion-text [innerHTML]=\"'HOME.NOT_THIS_ACCOUNT_QUESTION' | translate: {displayName: accountName }\"></ion-text>\n <br/>\n <ion-text>\n <a href=\"#\" (click)=\"logout($event)\">\n <span translate>HOME.BTN_DISCONNECT</span>\n </a>\n </ion-text>\n </p>\n\n\n </ng-template>\n\n </ion-footer>\n </ion-card>\n\n <!-- Page history -->\n <ion-grid *ngIf=\"!loading && isLogin && pageHistory.length; else bottomBanner\"\n class=\"history-container ion-align-self-center\">\n <ion-row>\n <ion-col size=\"12\" size-xl=\"\" *ngFor=\"let page of pageHistory; trackBy: getPagePath\"\n class=\"ion-text-center\">\n <ion-card class=\"ion-align-self-start ion-text-start\" @fadeInAnimation>\n <ion-card-header class=\"ion-no-padding\">\n <!-- top bar -->\n <ion-card-subtitle>\n <button type=\"button\" tabindex=\"-1\"\n (click)=\"settings.removePageHistory(page.path)\"\n mat-icon-button class=\"ion-float-start ion-no-margin\">\n <mat-icon>close</mat-icon>\n </button>\n <ion-label [innerHTML]=\"page.subtitle|translate\"></ion-label>\n <ion-text class=\"ion-float-end\" [title]=\"page.time|dateFormat:{time: true}\">\n <small><ion-icon name=\"time-outline\"></ion-icon> {{ page.time|dateFromNow }}</small> \n </ion-text>\n </ion-card-subtitle>\n\n <!-- main page -->\n <ion-card-title class=\"ion-no-margin ion-no-padding\">\n <ion-item detail=\"true\"\n tappable class=\"text-1x\"\n [routerLink]=\"page.path\"\n routerDirection=\"root\" lines=\"none\">\n <!-- page icon-->\n <ion-icon *ngIf=\"page.icon\" slot=\"start\" [name]=\"page.icon\"></ion-icon>\n <mat-icon *ngIf=\"page.matIcon\" slot=\"start\">{{page.matIcon}}</mat-icon>\n\n <ion-label color=\"primary\" [innerHTML]=\"page.title\"></ion-label>\n </ion-item>\n </ion-card-title>\n </ion-card-header>\n\n <!-- children pages -->\n <ion-card-content class=\"ion-no-padding ion-padding-start\" *ngIf=\"page.children?.length\">\n <ion-list class=\"ion-no-padding\">\n <ion-item detail=\"true\"\n *ngFor=\"let childPage of page.children\"\n tappable class=\"text-1x\"\n [routerLink]=\"childPage.path\"\n routerDirection=\"root\">\n <!-- page icon-->\n <ion-icon *ngIf=\"childPage.icon\" slot=\"start\" color=\"dark\" [name]=\"childPage.icon\"></ion-icon>\n <mat-icon *ngIf=\"childPage.matIcon\" slot=\"start\" color=\"dark\">{{childPage.matIcon}}</mat-icon>\n\n <ion-label color=\"dark\" [innerHTML]=\"childPage.title\"></ion-label>\n </ion-item>\n </ion-list>\n </ion-card-content>\n </ion-card>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n <!-- Display configured Departments logos -->\n <ng-template #bottomBanner>\n <div class=\"bottom-banner ion-text-center ion-padding\" *ngIf=\"!loadingBanner\" @fadeInAnimation>\n <a href=\"{{ item.siteUrl }}\" *ngFor=\"let item of $partners | async \">\n <img class=\"logo\" src=\"{{ item.logo }}\" alt=\"{{item.label}}\" [title]=\"item.label\" />\n </a>\n </div>\n </ng-template>\n\n\n</ion-content>\n", styles: ["h1,h2,h3,h4,h5{white-space:normal}.center,ion-content ion-card.welcome img{text-align:center;display:inline-block}ion-content{--background: transparent;background-size:cover;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;display:inline-block;padding:15px;background-color:var(--ion-color-primary)}ion-content .loading-page{display:block;height:100%;width:100%;position:absolute;background-color:var(--ion-color-primary);z-index:5;transition:background .5s linear;-webkit-transition:background 1.5s linear}ion-content .loading-page.hidden{background-color:rgba(var(--ion-color-primary),0)}ion-content ion-card{z-index:9}ion-content ion-card ion-card-header{display:block}ion-content ion-card ion-card-header ion-card-subtitle,ion-content ion-card ion-card-header ion-card-title{display:block;width:100%}ion-content ion-card.main{min-width:240px;max-width:400px;margin-left:auto;margin-right:auto}ion-content ion-card.welcome{background-color:#ffffffb3}ion-content ion-card.welcome button{margin-top:16px}ion-content ion-card.welcome img{max-width:250px}ion-content .history-container{margin-left:auto;margin-right:auto}ion-content .history-container ion-card{display:inline-block;box-sizing:border-box;z-index:8;min-width:240px;max-width:400px;width:100%;margin-left:auto;margin-right:auto;background-color:#ffffffb3}ion-content .history-container ion-card ion-card-header ion-card-subtitle{height:40px}ion-content .history-container ion-card ion-card-header ion-card-subtitle button[float-start]{z-index:99;margin:0}ion-content .history-container ion-card ion-card-header ion-card-subtitle ion-label{line-height:40px}ion-content .history-container ion-card ion-card-header ion-card-subtitle ion-label[float-end]{padding-right:16px;font-weight:400}ion-content .history-container ion-card ion-card-header ion-card-title ion-item{--ion-item-background: $transparent;--ion-item-icon-color: var(--ion-color-primary);--ion-item-text-color: var(--ion-color-primary)}ion-content .history-container ion-card ion-card-header ion-card-title ion-item ion-icon[slot=start],ion-content .history-container ion-card ion-card-header ion-card-title ion-item mat-icon[slot=start]{margin-right:unset;margin-inline-end:16px!important;color:var(--ion-item-icon-color)!important;fill:currentColor;stroke:currentColor}ion-content .history-container ion-card ion-card-header ion-card-title ion-item ion-text,ion-content .history-container ion-card ion-card-header ion-card-title ion-item ion-label{color:var(--ion-item-text-color)!important;text-size-adjust:100%}ion-content .history-container ion-card ion-card-content ion-list{--ion-item-background: var(--ion-color-transparent)}ion-content .history-container ion-card ion-card-content ion-list ion-item{--ion-item-icon-color: var(--ion-color-dark);--ion-item-text-color: var(--ion-color-dark)}ion-content .history-container ion-card ion-card-content ion-list ion-item ion-icon[slot=start],ion-content .history-container ion-card ion-card-content ion-list ion-item mat-icon[slot=start]{color:var(--ion-item-icon-color)!important;fill:currentColor;stroke:currentColor;margin-right:unset;margin-inline-end:16px!important}ion-content .history-container ion-card ion-card-content ion-list ion-item ion-text,ion-content .history-container ion-card ion-card-content ion-list ion-item ion-label{color:var(--ion-item-text-color)!important}ion-content .bottom-banner{background-color:#ffffffb3;min-width:240px;z-index:0;position:absolute;left:16px;right:16px;bottom:16px}ion-content .bottom-banner img.logo{max-height:50px;margin-left:8px}ion-content ion-text{text-align:center}@media screen and (max-width: 575px){ion-content ion-card{min-width:160px;width:calc(100% - 20px);max-width:100%;margin-left:10px;margin-right:10px}ion-content ion-card h1{margin-top:0;font-size:20px}ion-content ion-card ion-card-content ion-button{margin-top:8px}ion-content .bottom-banner{display:block;position:unset}ion-content .bottom-banner img.logo{max-height:30px}}@media screen and (max-width: 767px) and (min-width: 576px){ion-content{min-height:555px}ion-content .bottom-banner img.logo{max-height:40px}}@media screen and (min-width: 768px){ion-content{min-height:calc(100% - 100px)}}\n"] }]
|
|
244
|
+
args: [{ selector: 'app-page-home', changeDetection: ChangeDetectionStrategy.OnPush, animations: [fadeInAnimation, slideUpDownAnimation], template: "<app-toolbar [canGoBack]=\"false\"\n visible-xs visible-sm visible-mobile>\n\n <!-- change locale button -->\n <ion-button slot=\"end\" *ngIf=\"currentLocaleCode; let code\"\n [matMenuTriggerFor]=\"localeMenu\">\n <ion-label class=\"ion-text-uppercase\"> {{ code }}</ion-label>\n <mat-icon slot=\"end\">arrow_drop_down</mat-icon>\n </ion-button>\n</app-toolbar>\n\n<!-- change locale menu -->\n<mat-menu #localeMenu=\"matMenu\">\n <button *ngFor=\"let item of locales\"\n mat-menu-item\n (click)=\"changeLanguage(item.key)\">\n <ion-label>{{item.value}}</ion-label>\n </button>\n</mat-menu>\n\n<ion-content [ngStyle]=\"contentStyle\" no-padding-xs>\n\n <!-- loading spinner -->\n <div class=\"loading-page\" [class.cdk-visually-hidden]=\"!loading\">\n <div class=\"spinner\" *ngIf=\"loading && showSpinner\">\n <p [innerHTML]=\"'COMMON.LOADING_DOTS'|translate\"></p>\n <div class=\"sk-cube1 sk-cube\"></div>\n <div class=\"sk-cube2 sk-cube\"></div>\n <div class=\"sk-cube4 sk-cube\"></div>\n <div class=\"sk-cube3 sk-cube\"></div>\n </div>\n </div>\n\n <!-- Desktop: translucent top toolbar -->\n <div hidden-xs hidden-sm hidden-mobile>\n <ion-toolbar translucent>\n <ion-buttons slot=\"start\">\n <ion-menu-toggle>\n <ion-button color=\"light\" fill=\"clear\">\n <ion-icon slot=\"icon-only\" name=\"menu\"></ion-icon>\n </ion-button>\n </ion-menu-toggle>\n </ion-buttons>\n\n <ion-buttons slot=\"end\">\n <!-- change locale button -->\n <ion-button color=\"secondary\" fill=\"solid\"\n *ngIf=\"currentLocaleCode; let code\"\n [matMenuTriggerFor]=\"localeMenu\">\n <ion-label class=\"ion-text-uppercase\"> {{ code }}</ion-label>\n <mat-icon slot=\"end\">arrow_drop_down</mat-icon>\n </ion-button>\n </ion-buttons>\n </ion-toolbar>\n </div>\n\n <!-- Install (and upgrade) card -->\n <app-install-upgrade-card [isLogin]=\"isLogin\"\n [showInstallButton]=\"true\">\n </app-install-upgrade-card>\n\n <!-- Welcome card -->\n <ion-card *ngIf=\"!loading\"\n class=\"main welcome ion-padding ion-text-center ion-align-self-center\"\n @fadeInAnimation>\n <ion-card-header>\n <ion-card-title class=\"ion-text-center\">\n <span *ngIf=\"isWeb\" [innerHTML]=\"'HOME.WELCOME_WEB'|translate: {appName: appName}\"></span>\n <span *ngIf=\"!isWeb\" [innerHTML]=\"'HOME.WELCOME_APP'|translate: {appName: appName}\"></span>\n </ion-card-title>\n <ion-card-subtitle [innerHTML]=\"description\">\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content class=\"ion-no-padding\">\n <ion-text color=\"primary\">\n <img class=\"logo\" *ngIf=\"logo\" src=\"{{ logo }}\">\n </ion-text>\n <!-- register help text -->\n <ion-text *ngIf=\"!isLogin && canRegister\">\n <br/>\n <span translate>HOME.REGISTER_HELP</span>\n </ion-text>\n </ion-card-content>\n\n <ion-footer class=\"ion-padding-top\">\n\n <!-- If NOT login -->\n <ng-container *ngIf=\"!isLogin; else loginButtons;\">\n\n <ion-button *ngIf=\"canRegister\" expand=\"block\" color=\"tertiary\" (click)=\"register()\">\n <span translate>HOME.BTN_REGISTER</span>\n </ion-button>\n <ion-button expand=\"block\" color=\"light\" [routerLink]=\"['/']\" (click)=\"login()\">\n <span translate>AUTH.BTN_LOGIN</span>\n </ion-button>\n\n </ng-container>\n\n <!-- If user login -->\n <ng-template #loginButtons>\n\n <!-- Feature buttons -->\n <ng-container *ngIf=\"$filteredButtons | async as buttons\">\n <ng-container *ngFor=\"let item of buttons\">\n <ion-button *ngIf=\"item.path\"\n expand=\"block\" color=\"tertiary\"\n [class]=\"item.cssClass\"\n [routerLink]=\"item.path\"\n routerDirection=\"root\">\n <ion-icon slot=\"start\" class=\"ion-float-start\" *ngIf=\"item.icon\" [name]=\"item.icon\"></ion-icon>\n <mat-icon slot=\"start\" class=\"ion-float-start\" *ngIf=\"item.matIcon\">{{item.matIcon}}</mat-icon>\n <ion-text>{{'HOME.BTN_DATA_ENTRY'|translate: {name: (item.title | translate) } }}</ion-text>\n </ion-button>\n\n <!-- divider -->\n <div *ngIf=\"!item.path && !item.action\" [class]=\"item.cssClass\">\n <ion-label translate>{{item.title}} </ion-label>\n </div>\n </ng-container>\n\n <!--<p *ngIf=\"buttons.length\" class=\"visible-mobile\"> </p>-->\n </ng-container>\n\n <ion-button *ngIf=\"showAccountButton\" expand=\"block\" color=\"secondary\" [routerLink]=\"['/account']\">\n <ion-icon slot=\"start\" class=\"ion-float-start\" name=\"person-circle\"></ion-icon>\n <ion-text translate>HOME.BTN_MY_ACCOUNT</ion-text>\n </ion-button>\n\n <p hidden-xs hidden-sm hidden-mobile>\n <ion-text [innerHTML]=\"'HOME.NOT_THIS_ACCOUNT_QUESTION' | translate: {displayName: accountName }\"></ion-text>\n <br/>\n <ion-text>\n <a href=\"#\" (click)=\"logout($event)\">\n <span translate>HOME.BTN_DISCONNECT</span>\n </a>\n </ion-text>\n </p>\n\n\n </ng-template>\n\n </ion-footer>\n </ion-card>\n\n <!-- Page history -->\n <ion-grid *ngIf=\"!loading && isLogin && pageHistory.length; else bottomBanner\"\n class=\"history-container ion-align-self-center\">\n <ion-row>\n <ion-col size=\"12\" size-xl=\"\" *ngFor=\"let page of pageHistory; trackBy: getPagePath\"\n class=\"ion-text-center\">\n <ion-card class=\"ion-align-self-start ion-text-start\" @fadeInAnimation>\n <ion-card-header class=\"ion-no-padding\">\n <!-- top bar -->\n <ion-card-subtitle>\n <button type=\"button\" tabindex=\"-1\"\n (click)=\"settings.removePageHistory(page.path)\"\n mat-icon-button class=\"ion-float-start ion-no-margin\">\n <mat-icon>close</mat-icon>\n </button>\n <ion-label [innerHTML]=\"page.subtitle|translate\"></ion-label>\n <ion-text class=\"ion-float-end\" [title]=\"page.time|dateFormat:{time: true}\">\n <small><ion-icon name=\"time-outline\"></ion-icon> {{ page.time|dateFromNow }}</small> \n </ion-text>\n </ion-card-subtitle>\n\n <!-- main page -->\n <ion-card-title class=\"ion-no-margin ion-no-padding\">\n <ion-item detail=\"true\"\n tappable class=\"text-1x\"\n [routerLink]=\"page.path\"\n routerDirection=\"root\" lines=\"none\">\n <!-- page icon-->\n <ion-icon *ngIf=\"page.icon\" slot=\"start\" [name]=\"page.icon\"></ion-icon>\n <mat-icon *ngIf=\"page.matIcon\" slot=\"start\">{{page.matIcon}}</mat-icon>\n\n <ion-label color=\"primary\" [innerHTML]=\"page.title\"></ion-label>\n </ion-item>\n </ion-card-title>\n </ion-card-header>\n\n <!-- children pages -->\n <ion-card-content class=\"ion-no-padding ion-padding-start\" *ngIf=\"page.children?.length\">\n <ion-list class=\"ion-no-padding\">\n <ion-item detail=\"true\"\n *ngFor=\"let childPage of page.children\"\n tappable class=\"text-1x\"\n [routerLink]=\"childPage.path\"\n routerDirection=\"root\">\n <!-- page icon-->\n <ion-icon *ngIf=\"childPage.icon\" slot=\"start\" color=\"dark\" [name]=\"childPage.icon\"></ion-icon>\n <mat-icon *ngIf=\"childPage.matIcon\" slot=\"start\" color=\"dark\">{{childPage.matIcon}}</mat-icon>\n\n <ion-label color=\"dark\" [innerHTML]=\"childPage.title\"></ion-label>\n </ion-item>\n </ion-list>\n </ion-card-content>\n </ion-card>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n <!-- Display configured Departments logos -->\n <ng-template #bottomBanner>\n <div class=\"bottom-banner ion-text-center ion-padding\" *ngIf=\"!loadingBanner\" @fadeInAnimation>\n <a href=\"{{ item.siteUrl }}\" *ngFor=\"let item of $partners | async \">\n <img class=\"logo\" src=\"{{ item.logo }}\" alt=\"{{item.label}}\" [title]=\"item.label\" />\n </a>\n </div>\n </ng-template>\n\n\n</ion-content>\n", styles: ["h1,h2,h3,h4,h5{white-space:normal}.center,ion-content ion-card.welcome img{text-align:center;display:inline-block}ion-content{--background: transparent;background-size:cover;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;display:inline-block;padding:15px;background-color:var(--ion-color-primary)}ion-content .loading-page{display:block;height:100%;width:100%;position:absolute;background-color:var(--ion-color-primary);z-index:5;transition:background .5s linear;-webkit-transition:background 1.5s linear}ion-content .loading-page.hidden{background-color:rgba(var(--ion-color-primary),0)}ion-content ion-card{z-index:9}ion-content ion-card ion-card-header{display:block}ion-content ion-card ion-card-header ion-card-subtitle,ion-content ion-card ion-card-header ion-card-title{display:block;width:100%}ion-content ion-card.main{min-width:240px;max-width:400px;margin-left:auto;margin-right:auto}ion-content ion-card.welcome{background-color:#ffffffb3}ion-content ion-card.welcome button{margin-top:16px}ion-content ion-card.welcome img{max-width:250px}ion-content .history-container{margin-left:auto;margin-right:auto}ion-content .history-container ion-card{display:inline-block;box-sizing:border-box;z-index:8;min-width:240px;max-width:400px;width:100%;margin-left:auto;margin-right:auto;background-color:#ffffffb3}ion-content .history-container ion-card ion-card-header ion-card-subtitle{height:40px}ion-content .history-container ion-card ion-card-header ion-card-subtitle button[float-start]{z-index:99;margin:0}ion-content .history-container ion-card ion-card-header ion-card-subtitle ion-label{line-height:40px}ion-content .history-container ion-card ion-card-header ion-card-subtitle ion-label[float-end]{padding-right:16px;font-weight:400}ion-content .history-container ion-card ion-card-header ion-card-title ion-item{--ion-item-background: $transparent;--ion-item-icon-color: var(--ion-color-primary);--ion-item-text-color: var(--ion-color-primary)}ion-content .history-container ion-card ion-card-header ion-card-title ion-item ion-icon[slot=start],ion-content .history-container ion-card ion-card-header ion-card-title ion-item mat-icon[slot=start]{margin-right:unset;margin-inline-end:16px!important;color:var(--ion-item-icon-color)!important;fill:currentColor;stroke:currentColor}ion-content .history-container ion-card ion-card-header ion-card-title ion-item ion-text,ion-content .history-container ion-card ion-card-header ion-card-title ion-item ion-label{color:var(--ion-item-text-color)!important;-webkit-text-size-adjust:100%;text-size-adjust:100%}ion-content .history-container ion-card ion-card-content ion-list{--ion-item-background: var(--ion-color-transparent)}ion-content .history-container ion-card ion-card-content ion-list ion-item{--ion-item-icon-color: var(--ion-color-dark);--ion-item-text-color: var(--ion-color-dark)}ion-content .history-container ion-card ion-card-content ion-list ion-item ion-icon[slot=start],ion-content .history-container ion-card ion-card-content ion-list ion-item mat-icon[slot=start]{color:var(--ion-item-icon-color)!important;fill:currentColor;stroke:currentColor;margin-right:unset;margin-inline-end:16px!important}ion-content .history-container ion-card ion-card-content ion-list ion-item ion-text,ion-content .history-container ion-card ion-card-content ion-list ion-item ion-label{color:var(--ion-item-text-color)!important}ion-content .bottom-banner{background-color:#ffffffb3;min-width:240px;z-index:0;position:absolute;left:16px;right:16px;bottom:16px}ion-content .bottom-banner img.logo{max-height:50px;margin-left:8px}ion-content ion-text{text-align:center}@media screen and (max-width: 575px){ion-content ion-card{min-width:160px;width:calc(100% - 20px);max-width:100%;margin-left:10px;margin-right:10px}ion-content ion-card h1{margin-top:0;font-size:20px}ion-content ion-card ion-card-content ion-button{margin-top:8px}ion-content .bottom-banner{display:block;position:unset}ion-content .bottom-banner img.logo{max-height:30px}}@media screen and (max-width: 767px) and (min-width: 576px){ion-content{min-height:555px}ion-content .bottom-banner img.logo{max-height:40px}}@media screen and (min-width: 768px){ion-content{min-height:calc(100% - 100px)}}\n"] }]
|
|
245
245
|
}], ctorParameters: function () { return [{ type: i1.AccountService }, { type: i2.ModalController }, { type: i3.TranslateService }, { type: i2.ToastController }, { type: i4.ConfigService }, { type: i5.PlatformService }, { type: i0.ChangeDetectorRef }, { type: i6.NetworkService }, { type: i7.LocalSettingsService }, { type: i17.Environment, decorators: [{
|
|
246
246
|
type: Inject,
|
|
247
247
|
args: [ENVIRONMENT]
|
|
@@ -254,4 +254,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImpor
|
|
|
254
254
|
type: Inject,
|
|
255
255
|
args: [APP_HOME_BUTTONS]
|
|
256
256
|
}] }]; } });
|
|
257
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9ob21lL2hvbWUudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvaG9tZS9ob21lLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBYSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkksT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXJELE9BQU8sRUFBVyxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUczRSxPQUFPLEVBQUUsV0FBVyxFQUErQixNQUFNLGtDQUFrQyxDQUFDO0FBSzVGLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRCxPQUFPLEVBQVksU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekQsT0FBTyxFQUFvQixNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUUsT0FBTyxFQUFlLFdBQVcsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRW5GLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXJFLE1BQU0sVUFBVSxjQUFjLENBQUMsS0FBZTtJ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LENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pCLENBQUM7O3FHQWhRVSxRQUFRLDZTQXdDVCxXQUFXLGFBQ1gsV0FBVyxhQUNDLGdCQUFnQjt5RkExQzNCLFFBQVEscURDdENyQiw4cVJBb05BLGlrU0RoTGMsQ0FBQyxlQUFlLEVBQUUsb0JBQW9CLENBQUM7MkZBRXhDLFFBQVE7a0JBUHBCLFNBQVM7K0JBQ0UsZUFBZSxtQkFHUix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLENBQUMsZUFBZSxFQUFFLG9CQUFvQixDQUFDOzswQkEwQ2hELE1BQU07MkJBQUMsV0FBVzs7MEJBQ2xCLE1BQU07MkJBQUMsV0FBVzs7MEJBQ2xCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEluamVjdCwgSW5qZWN0aW9uVG9rZW4sIE9uRGVzdHJveSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vZGFsQ29udHJvbGxlciwgVG9hc3RDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgUmVnaXN0ZXJNb2RhbCB9IGZyb20gJy4uL3JlZ2lzdGVyL3JlZ2lzdGVyLm1vZGFsJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2FjY291bnQuc2VydmljZSc7XG5pbXBvcnQgeyBBY2NvdW50LCBhY2NvdW50VG9TdHJpbmcgfSBmcm9tICcuLi9zZXJ2aWNlcy9tb2RlbC9hY2NvdW50Lm1vZGVsJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9zZXJ2aWNlcy9tb2RlbC9jb25maWcubW9kZWwnO1xuaW1wb3J0IHsgRGVwYXJ0bWVudCB9IGZyb20gJy4uL3NlcnZpY2VzL21vZGVsL2RlcGFydG1lbnQubW9kZWwnO1xuaW1wb3J0IHsgQVBQX0xPQ0FMRVMsIExvY2FsZUNvbmZpZywgTG9jYWxTZXR0aW5ncyB9IGZyb20gJy4uL3NlcnZpY2VzL21vZGVsL3NldHRpbmdzLm1vZGVsJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBQbGF0Zm9ybVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9wbGF0Zm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IExvY2FsU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbG9jYWwtc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFwcEF1dGhNb2RhbCB9IGZyb20gJy4uL2F1dGgvYXV0aC5tb2RhbCc7XG5pbXBvcnQgeyBOZXR3b3JrU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL25ldHdvcmsuc2VydmljZSc7XG5pbXBvcnQgeyBNZW51SXRlbSwgTWVudUl0ZW1zIH0gZnJvbSAnLi4vbWVudS9tZW51Lm1vZGVsJztcbmltcG9ydCB7IFNob3dUb2FzdE9wdGlvbnMsIFRvYXN0cyB9IGZyb20gJy4uLy4uL3NoYXJlZC90b2FzdC90b2FzdHMnO1xuaW1wb3J0IHsgZmFkZUluQW5pbWF0aW9uLCBzbGlkZVVwRG93bkFuaW1hdGlvbiB9IGZyb20gJy4uLy4uL3NoYXJlZC9tYXRlcmlhbC9tYXRlcmlhbC5hbmltYXRpb25zJztcbmltcG9ydCB7IGlzTm90TmlsLCBpc05vdE5pbE9yQmxhbmssIHRvQm9vbGVhbiB9IGZyb20gJy4uLy4uL3NoYXJlZC9mdW5jdGlvbnMnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnQsIEVOVklST05NRU5UIH0gZnJvbSAnLi4vLi4vLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50LmNsYXNzJztcbmltcG9ydCB7IEhpc3RvcnlQYWdlUmVmZXJlbmNlIH0gZnJvbSAnLi4vc2VydmljZXMvbW9kZWwvaGlzdG9yeS5tb2RlbCc7XG5pbXBvcnQgeyBDT1JFX0NPTkZJR19PUFRJT05TIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnL2NvcmUuY29uZmlnJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJhbmRvbUltYWdlKGZpbGVzOiBTdHJpbmdbXSkge1xuICBjb25zdCBpbWdJbmRleCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGZpbGVzLmxlbmd0aCk7XG4gIHJldHVybiBmaWxlc1tpbWdJbmRleF07XG59XG5cbmV4cG9ydCBjb25zdCBBUFBfSE9NRV9CVVRUT05TID0gbmV3IEluamVjdGlvblRva2VuPE1lbnVJdGVtW10+KCdob21lQnV0dG9uJyk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1wYWdlLWhvbWUnLFxuICB0ZW1wbGF0ZVVybDogJ2hvbWUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2hvbWUuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgYW5pbWF0aW9uczogW2ZhZGVJbkFuaW1hdGlvbiwgc2xpZGVVcERvd25BbmltYXRpb25dXG59KVxuZXhwb3J0IGNsYXNzIEhvbWVQYWdlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kZWJ1ZzogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfc3RhcnRlZCA9IGZhbHNlO1xuICBwcml2YXRlIF9zdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIHByaXZhdGUgX2NvbmZpZzogQ29uZmlndXJhdGlvbjtcblxuICBsb2FkaW5nID0gdHJ1ZTtcbiAgd2FpdGluZ05ldHdvcmsgPSBmYWxzZTtcbiAgc2hvd1NwaW5uZXIgPSB0cnVlO1xuICBhY2NvdW50TmFtZTogU3RyaW5nID0gJyc7XG4gIGlzTG9naW46IGJvb2xlYW47XG4gICRwYXJ0bmVycyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGVwYXJ0bWVudFtdPihudWxsKTtcbiAgbG9hZGluZ0Jhbm5lciA9IHRydWU7XG4gIGxvZ286IFN0cmluZztcbiAgZGVzY3JpcHRpb246IFN0cmluZztcbiAgYXBwTmFtZTogc3RyaW5nO1xuICBpc1dlYjogYm9vbGVhbjtcbiAgY2FuUmVnaXN0ZXI6IGJvb2xlYW47XG4gIGNvbnRlbnRTdHlsZTogYW55O1xuICBwYWdlSGlzdG9yeTogSGlzdG9yeVBhZ2VSZWZlcmVuY2VbXSA9IFtdO1xuICBvZmZsaW5lOiBib29sZWFuO1xuICAkZmlsdGVyZWRCdXR0b25zID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNZW51SXRlbVtdPih1bmRlZmluZWQpO1xuICByZWFkb25seSBzaG93QWNjb3VudEJ1dHRvbjogYm9vbGVhbjtcblxuICBnZXQgY3VycmVudExvY2FsZUNvZGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5sb2FkaW5nID8gJycgOlxuICAgICh0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZyB8fCB0aGlzLnRyYW5zbGF0ZS5kZWZhdWx0TGFuZykuc3Vic3RyKDAsIDIpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhY2NvdW50U2VydmljZTogQWNjb3VudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtb2RhbEN0cmw6IE1vZGFsQ29udHJvbGxlcixcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHRvYXN0Q29udHJvbGxlcjogVG9hc3RDb250cm9sbGVyLFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIHBsYXRmb3JtOiBQbGF0Zm9ybVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHVibGljIG5ldHdvcms6IE5ldHdvcmtTZXJ2aWNlLFxuICAgIHB1YmxpYyBzZXR0aW5nczogTG9jYWxTZXR0aW5nc1NlcnZpY2UsXG4gICAgQEluamVjdChFTlZJUk9OTUVOVCkgcHJvdGVjdGVkIGVudmlyb25tZW50OiBFbnZpcm9ubWVudCxcbiAgICBASW5qZWN0KEFQUF9MT0NBTEVTKSBwdWJsaWMgbG9jYWxlczogTG9jYWxlQ29uZmlnW10sXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChBUFBfSE9NRV9CVVRUT05TKSBwdWJsaWMgYnV0dG9uczogTWVudUl0ZW1bXVxuICApIHtcblxuICAgIHRoaXMuX2RlYnVnID0gIWVudmlyb25tZW50LnByb2R1Y3Rpb247XG4gICAgdGhpcy5zaG93U3Bpbm5lciA9ICF0aGlzLnBsYXRmb3JtLnN0YXJ0ZWQ7XG4gICAgdGhpcy5wbGF0Zm9ybS5yZWFkeSgpLnRoZW4oKCkgPT4gdGhpcy5zdGFydCgpKTtcbiAgICB0aGlzLnNob3dBY2NvdW50QnV0dG9uID0gdG9Cb29sZWFuKGVudmlyb25tZW50LmFjY291bnQ/LnNob3dBY2NvdW50QnV0dG9uLCB0cnVlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgYXN5bmMgbG9naW4oKSB7XG4gICAgY29uc3QgbW9kYWwgPSBhd2FpdCB0aGlzLm1vZGFsQ3RybC5jcmVhdGUoe1xuICAgICAgY29tcG9uZW50OiBBcHBBdXRoTW9kYWxcbiAgICB9KTtcbiAgICByZXR1cm4gbW9kYWwucHJlc2VudCgpO1xuICB9XG5cbiAgYXN5bmMgcmVnaXN0ZXIoKSB7XG4gICAgY29uc3QgbW9kYWwgPSBhd2FpdCB0aGlzLm1vZGFsQ3RybC5jcmVhdGUoe1xuICAgICAgY29tcG9uZW50OiBSZWdpc3Rlck1vZGFsLFxuICAgICAgYmFja2Ryb3BEaXNtaXNzOiBmYWxzZVxuICAgIH0pO1xuICAgIHJldHVybiBtb2RhbC5wcmVzZW50KCk7XG4gIH1cblxuICBhc3luYyBsb2dvdXQoZXZlbnQ6IGFueSkge1xuICAgIGF3YWl0IHRoaXMuYWNjb3VudFNlcnZpY2UubG9nb3V0KCk7XG5cbiAgICAvLyBJZiB3YXMgb2ZmbGluZSwgdHJ5IHRvIHJlY29ubmVjdCAoYmVjYXVzZSBjYW4gYmUgYSBmb3JjZWQgb2ZmbGluZSBtb2RlKVxuICAgIGlmICh0aGlzLm9mZmxpbmUpIHtcbiAgICAgIGF3YWl0IHRoaXMudHJ5T25saW5lKCk7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlTGFuZ3VhZ2UobG9jYWxlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNldHRpbmdzLmFwcGx5KHtsb2NhbGV9KVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBnZXRQYWdlUGF0aChpbmRleDogbnVtYmVyLCBwYWdlOiBIaXN0b3J5UGFnZVJlZmVyZW5jZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHBhZ2U/LnBhdGg7XG4gIH1cblxuXG4gIHRyeU9ubGluZSgpIHtcbiAgICB0aGlzLndhaXRpbmdOZXR3b3JrID0gdHJ1ZTtcbiAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgdGhpcy5uZXR3b3JrLnRyeU9ubGluZSh7XG4gICAgICBzaG93TG9hZGluZ1RvYXN0OiBmYWxzZSxcbiAgICAgIHNob3dPbmxpbmVUb2FzdDogdHJ1ZSxcbiAgICAgIHNob3dPZmZsaW5lVG9hc3Q6IGZhbHNlXG4gICAgfSlcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgdGhpcy53YWl0aW5nTmV0d29yayA9IGZhbHNlO1xuICAgICAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG5cbiAgfVxuXG4gIC8qIC0tIHByb3RlY3RlZCBtZXRob2QgIC0tICovXG5cbiAgcHJvdGVjdGVkIGFzeW5jIHN0YXJ0KCkge1xuICAgIGF3YWl0IHRoaXMuYWNjb3VudFNlcnZpY2UucmVhZHkoKTtcblxuICAgIHRoaXMuaXNMb2dpbiA9IHRoaXMuYWNjb3VudFNlcnZpY2UuaXNMb2dpbigpO1xuICAgIGlmICh0aGlzLmlzTG9naW4pIHtcbiAgICAgIHRoaXMub25Mb2dpbih0aGlzLmFjY291bnRTZXJ2aWNlLmFjY291bnQpO1xuICAgIH1cblxuICAgIHRoaXMub2ZmbGluZSA9IHRoaXMubmV0d29yay5vZmZsaW5lO1xuXG4gICAgLy8gTGlzdGVuIGxvZ2luL2xvZ291dCBldmVudHNcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKHRoaXMuYWNjb3VudFNlcnZpY2Uub25Mb2dpbi5zdWJzY3JpYmUoYWNjb3VudCA9PiB0aGlzLm9uTG9naW4oYWNjb3VudCkpKTtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKHRoaXMuYWNjb3VudFNlcnZpY2Uub25Mb2dvdXQuc3Vic2NyaWJlKCgpID0+IHRoaXMub25Mb2dvdXQoKSkpO1xuXG4gICAgLy8gTGlzdGVuIHBvZCBjb25maWdcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKHRoaXMuY29uZmlnU2VydmljZS5jb25maWcuc3Vic2NyaWJlKGNvbmZpZyA9PiB0aGlzLm9uQ29uZmlnTG9hZGVkKGNvbmZpZykpKTtcblxuICAgIC8vIExpc3RlbiBzZXR0aW5ncyBjaGFuZ2VzXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMuc2V0dGluZ3Mub25DaGFuZ2VcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgLy8gQWRkIGEgZGVsYXksIHRvIGF2b2lkIHRvIGFwcGx5IGNoYW5nZXMgdG8gb2Z0ZW5cbiAgICAgICAgICBkZWJvdW5jZVRpbWUoMzAwMCksXG4gICAgICAgICAgLy8gU3RhcnQgd2l0aCBjdXJyZW50IHNldHRpbmdzXG4gICAgICAgICAgc3RhcnRXaXRoKGF3YWl0IHRoaXMuc2V0dGluZ3MucmVhZHkoKSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB0aGlzLm9uU2V0dGluZ3NDaGFuZ2VkKHJlcykpKTtcblxuICAgIC8vIExpc3RlbiBuZXR3b3JrIGNoYW5nZXNcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy5uZXR3b3JrLm9uTmV0d29ya1N0YXR1c0NoYW5nZXNcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgLy9kZWJvdW5jZVRpbWUoNDUwKSxcbiAgICAgICAgICAvL3RhcCgoKSA9PiB0aGlzLndhaXRpbmdOZXR3b3JrID0gZmFsc2UpLFxuICAgICAgICAgIG1hcChjb25uZWN0aW9uVHlwZSA9PiBjb25uZWN0aW9uVHlwZSA9PT0gJ25vbmUnKSxcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZShvZmZsaW5lID0+IHtcbiAgICAgICAgICB0aGlzLm9mZmxpbmUgPSBvZmZsaW5lO1xuICAgICAgICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuX3N0YXJ0ZWQgPSB0cnVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIHNob3dUb2FzdChvcHRzOiBTaG93VG9hc3RPcHRpb25zKSB7XG4gICAgYXdhaXQgVG9hc3RzLnNob3codGhpcy50b2FzdENvbnRyb2xsZXIsIHRoaXMudHJhbnNsYXRlLCBvcHRzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkNvbmZpZ0xvYWRlZChjb25maWc6IENvbmZpZ3VyYXRpb24pIHtcbiAgICBjb25zb2xlLmRlYnVnKCdbaG9tZV0gQXBwbHlpbmcgY29uZmlndXJhdGlvbicsIGNvbmZpZyk7XG4gICAgdGhpcy5fY29uZmlnID0gY29uZmlnO1xuXG4gICAgdGhpcy5hcHBOYW1lID0gY29uZmlnLmxhYmVsIHx8IHRoaXMuZW52aXJvbm1lbnQuZGVmYXVsdEFwcE5hbWUgfHwgJ1NVTUFSaVMnO1xuICAgIHRoaXMubG9nbyA9IGNvbmZpZy5sYXJnZUxvZ28gfHwgY29uZmlnLnNtYWxsTG9nbyB8fCB1bmRlZmluZWQ7XG4gICAgdGhpcy5kZXNjcmlwdGlvbiA9IGNvbmZpZy5uYW1lO1xuICAgIHRoaXMuaXNXZWIgPSB0aGlzLnBsYXRmb3JtLmlzV2ViKCk7XG4gICAgdGhpcy5jYW5SZWdpc3RlciA9IGNvbmZpZy5nZXRQcm9wZXJ0eUFzQm9vbGVhbihDT1JFX0NPTkZJR19PUFRJT05TLlJFR0lTVFJBVElPTl9FTkFCTEUpO1xuXG4gICAgY29uc3QgcGFydG5lcnMgPSAoY29uZmlnLnBhcnRuZXJzIHx8IFtdKS5maWx0ZXIocCA9PiBwICYmIHAubG9nbyk7XG4gICAgdGhpcy4kcGFydG5lcnMubmV4dChwYXJ0bmVycyk7XG4gICAgdGhpcy5sb2FkaW5nQmFubmVyID0gKHBhcnRuZXJzLmxlbmd0aCA9PT0gMCk7XG5cbiAgICAvLyBJZiBub3QgYWxyZWFkeSBzZXQsIGNvbXB1dGUgdGhlIGJhY2tncm91bmQgaW1hZ2VcbiAgICBpZiAoIXRoaXMuY29udGVudFN0eWxlKSB7XG4gICAgICBjb25zdCBiYWNrZ3JvdW5kSW1hZ2VzID0gKGNvbmZpZy5iYWNrZ3JvdW5kSW1hZ2VzIHx8IFtdKVxuICAgICAgICAvLyBGaWx0ZXIgb24gbm90IG5pbCwgYmVjYXVzZSBjYW4gb2NjdXIgaWYgZGV0ZWN0ZWQgaGFzIG5vdCBleGlzdHMgKHNlZSBjb25maWctc2VydmljZS5qcylcbiAgICAgICAgLmZpbHRlcihpbWcgPT4gaXNOb3ROaWwoaW1nKVxuICAgICAgICAgIC8vIElmIG9mZmxpbmUsIGZpbHRlciBvbiBsb2NhbCBkYXRhVVJMIGltYWdlXG4gICAgICAgICAgJiYgKCF0aGlzLm9mZmxpbmUgfHwgIWltZy5zdGFydHNXaXRoKCdodHRwJykpKTtcblxuICAgICAgLy8gQmFja2dyb3VuZCBpbWFnZSBmb3VuZDogc2VsZWN0IG9uZSByYW5kb21seVxuICAgICAgaWYgKGJhY2tncm91bmRJbWFnZXMubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGJnSW1hZ2UgPSBnZXRSYW5kb21JbWFnZShiYWNrZ3JvdW5kSW1hZ2VzKTtcbiAgICAgICAgdGhpcy5jb250ZW50U3R5bGUgPSBiZ0ltYWdlICYmIHsnYmFja2dyb3VuZC1pbWFnZSc6IGB1cmwoJHtiZ0ltYWdlfSlgfSB8fCB7fTtcbiAgICAgIH1cblxuICAgICAgLy8gVXNlIGJhY2tncm91bmQgY29sb3JcbiAgICAgIGVsc2Uge1xuICAgICAgICBjb25zdCBwcmltYXJ5Q29sb3IgPSBjb25maWcucHJvcGVydGllcyAmJiBjb25maWcucHJvcGVydGllc1snc3VtYXJpcy5jb2xvci5wcmltYXJ5J10gfHwgJ3ZhcigtLWlvbi1jb2xvci1wcmltYXJ5KSc7XG4gICAgICAgIHRoaXMuY29udGVudFN0eWxlID0gcHJpbWFyeUNvbG9yICYmIHsnYmFja2dyb3VuZC1jb2xvcic6IHByaW1hcnlDb2xvcn0gfHwge307XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5yZWZyZXNoQnV0dG9ucygpO1xuICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG5cbiAgICAvLyBJZiBmaXJzdCBsb2FkLCBoaWRlIHRoZSBsb2FkaW5nIGluZGljYXRvclxuICAgIGlmICh0aGlzLmxvYWRpbmcpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0sIDUwMCk7IC8vIEFkZCBhIGRlbGF5LCBmb3IgYW5pbWF0aW9uXG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG9uU2V0dGluZ3NDaGFuZ2VkKHNldHRpbmdzOiBMb2NhbFNldHRpbmdzKSB7XG4gICAgaWYgKHNldHRpbmdzLnBhZ2VIaXN0b3J5ICE9PSB0aGlzLnBhZ2VIaXN0b3J5KSB7XG4gICAgICBjb25zb2xlLmRlYnVnKCdbaG9tZV0gUGFnZSBoaXN0b3J5IGxvYWRlZCcpO1xuICAgICAgdGhpcy5wYWdlSGlzdG9yeSA9IHNldHRpbmdzLnBhZ2VIaXN0b3J5IHx8IFtdO1xuICAgIH1cbiAgICAvLyBBbHdheXMgZm9yY2UgYSByZWZyZXNoIChzYW1lIGhpc3RvcnkgYXJyYXksIGJ1dCBjb250ZW50IG1heSBoYXZlIGNoYW5nZWQpXG4gICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkxvZ2luKGFjY291bnQ6IEFjY291bnQpIHtcbiAgICBpZiAoIWFjY291bnQpIHJldHVybjsgLy8gU2tpcFxuICAgIC8vY29uc29sZS5kZWJ1ZygnW2hvbWVdIExvZ2dlZCBhY2NvdW50OiAnLCBhY2NvdW50KTtcbiAgICB0aGlzLmlzTG9naW4gPSB0cnVlO1xuICAgIHRoaXMuYWNjb3VudE5hbWUgPSBhY2NvdW50VG9TdHJpbmcoYWNjb3VudCk7XG4gICAgdGhpcy5yZWZyZXNoQnV0dG9ucygpO1xuICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25Mb2dvdXQoKSB7XG4gICAgdGhpcy5pc0xvZ2luID0gZmFsc2U7XG4gICAgdGhpcy5hY2NvdW50TmFtZSA9ICcnO1xuICAgIHRoaXMucGFnZUhpc3RvcnkgPSBbXTtcbiAgICB0aGlzLnJlZnJlc2hCdXR0b25zKCk7XG4gICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWZyZXNoQnV0dG9ucygpIHtcbiAgICBpZiAoIXRoaXMuX2NvbmZpZykgcmV0dXJuOyAvLyBTa2lwICh3YWl0aW5nIGNvbmZpZyB0byBiZSBsb2FkZWQpXG4gICAgaWYgKHRoaXMuX2RlYnVnKSBjb25zb2xlLmRlYnVnKCdbaG9tZV0gUmVmcmVzaGluZyBidXR0b25zLi4uJyk7XG5cbiAgICBjb25zdCBmaWx0ZXJlZEJ1dHRvbnMgPSAodGhpcy5idXR0b25zIHx8IFtdKVxuICAgICAgLmZpbHRlcigoaXRlbSkgPT4gTWVudUl0ZW1zLmNoZWNrSWZWaXNpYmxlKGl0ZW0sIHRoaXMuYWNjb3VudFNlcnZpY2UsIHRoaXMuX2NvbmZpZywge1xuICAgICAgICBpc0xvZ2luOiB0aGlzLmlzTG9naW4sXG4gICAgICAgIGRlYnVnOiB0aGlzLl9kZWJ1ZyxcbiAgICAgICAgbG9nUHJlZml4OiAnW2hvbWVdJ1xuICAgICAgfSkpXG4gICAgICAubWFwKGl0ZW0gPT4ge1xuICAgICAgICAvLyBSZXBsYWNlIHRpdGxlIHVzaW5nIHByb3BlcnRpZXNcbiAgICAgICAgaWYgKGlzTm90TmlsT3JCbGFuayhpdGVtLnRpdGxlUHJvcGVydHkpICYmIHRoaXMuX2NvbmZpZykge1xuICAgICAgICAgIGNvbnN0IHRpdGxlID0gdGhpcy5fY29uZmlnLnByb3BlcnRpZXNbaXRlbS50aXRsZVByb3BlcnR5XTtcbiAgICAgICAgICBpZiAodGl0bGUpIHJldHVybiB7IC4uLml0ZW0sIHRpdGxlfTsgLy8gQ3JlYXRlIGEgY29weSwgdG8ga2VlcCB0aGUgb3JpZ2luYWwgaXRlbS50aXRsZVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLiRmaWx0ZXJlZEJ1dHRvbnMubmV4dChmaWx0ZXJlZEJ1dHRvbnMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG1hcmtGb3JDaGVjaygpIHtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cblxufVxuIiwiPGFwcC10b29sYmFyIFtjYW5Hb0JhY2tdPVwiZmFsc2VcIlxuICAgICAgICAgICAgIHZpc2libGUteHMgdmlzaWJsZS1zbSB2aXNpYmxlLW1vYmlsZT5cblxuICA8IS0tIGNoYW5nZSBsb2NhbGUgYnV0dG9uIC0tPlxuICA8aW9uLWJ1dHRvbiBzbG90PVwiZW5kXCIgKm5nSWY9XCJjdXJyZW50TG9jYWxlQ29kZTsgbGV0IGNvZGVcIlxuICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwibG9jYWxlTWVudVwiPlxuICAgIDxpb24tbGFiZWwgY2xhc3M9XCJpb24tdGV4dC11cHBlcmNhc2VcIj4mbmJzcDt7eyBjb2RlIH19PC9pb24tbGFiZWw+XG4gICAgPG1hdC1pY29uIHNsb3Q9XCJlbmRcIj5hcnJvd19kcm9wX2Rvd248L21hdC1pY29uPlxuICA8L2lvbi1idXR0b24+XG48L2FwcC10b29sYmFyPlxuXG48IS0tIGNoYW5nZSBsb2NhbGUgbWVudSAtLT5cbjxtYXQtbWVudSAjbG9jYWxlTWVudT1cIm1hdE1lbnVcIj5cbiAgPGJ1dHRvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsb2NhbGVzXCJcbiAgICAgICAgICBtYXQtbWVudS1pdGVtXG4gICAgICAgICAgKGNsaWNrKT1cImNoYW5nZUxhbmd1YWdlKGl0ZW0ua2V5KVwiPlxuICAgIDxpb24tbGFiZWw+e3tpdGVtLnZhbHVlfX08L2lvbi1sYWJlbD5cbiAgPC9idXR0b24+XG48L21hdC1tZW51PlxuXG48aW9uLWNvbnRlbnQgW25nU3R5bGVdPVwiY29udGVudFN0eWxlXCIgbm8tcGFkZGluZy14cz5cblxuICA8IS0tIGxvYWRpbmcgc3Bpbm5lciAtLT5cbiAgPGRpdiBjbGFzcz1cImxvYWRpbmctcGFnZVwiIFtjbGFzcy5jZGstdmlzdWFsbHktaGlkZGVuXT1cIiFsb2FkaW5nXCI+XG4gICAgPGRpdiBjbGFzcz1cInNwaW5uZXJcIiAqbmdJZj1cImxvYWRpbmcgJiYgc2hvd1NwaW5uZXJcIj5cbiAgICAgIDxwIFtpbm5lckhUTUxdPVwiJ0NPTU1PTi5MT0FESU5HX0RPVFMnfHRyYW5zbGF0ZVwiPjwvcD5cbiAgICAgIDxkaXYgY2xhc3M9XCJzay1jdWJlMSBzay1jdWJlXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic2stY3ViZTIgc2stY3ViZVwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNrLWN1YmU0IHNrLWN1YmVcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzay1jdWJlMyBzay1jdWJlXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDwhLS0gRGVza3RvcDogdHJhbnNsdWNlbnQgdG9wIHRvb2xiYXIgLS0+XG4gIDxkaXYgaGlkZGVuLXhzIGhpZGRlbi1zbSBoaWRkZW4tbW9iaWxlPlxuICAgIDxpb24tdG9vbGJhciB0cmFuc2x1Y2VudD5cbiAgICAgIDxpb24tYnV0dG9ucyBzbG90PVwic3RhcnRcIj5cbiAgICAgICAgPGlvbi1tZW51LXRvZ2dsZT5cbiAgICAgICAgICA8aW9uLWJ1dHRvbiBjb2xvcj1cImxpZ2h0XCIgZmlsbD1cImNsZWFyXCI+XG4gICAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJtZW51XCI+PC9pb24taWNvbj5cbiAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgIDwvaW9uLW1lbnUtdG9nZ2xlPlxuICAgICAgPC9pb24tYnV0dG9ucz5cblxuICAgICAgPGlvbi1idXR0b25zIHNsb3Q9XCJlbmRcIj5cbiAgICAgICAgPCEtLSBjaGFuZ2UgbG9jYWxlIGJ1dHRvbiAtLT5cbiAgICAgICAgPGlvbi1idXR0b24gY29sb3I9XCJzZWNvbmRhcnlcIiBmaWxsPVwic29saWRcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImN1cnJlbnRMb2NhbGVDb2RlOyBsZXQgY29kZVwiXG4gICAgICAgICAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJsb2NhbGVNZW51XCI+XG4gICAgICAgICAgPGlvbi1sYWJlbCBjbGFzcz1cImlvbi10ZXh0LXVwcGVyY2FzZVwiPiZuYnNwO3t7IGNvZGUgfX08L2lvbi1sYWJlbD5cbiAgICAgICAgICA8bWF0LWljb24gc2xvdD1cImVuZFwiPmFycm93X2Ryb3BfZG93bjwvbWF0LWljb24+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgIDwvaW9uLWJ1dHRvbnM+XG4gICAgPC9pb24tdG9vbGJhcj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBJbnN0YWxsIChhbmQgdXBncmFkZSkgY2FyZCAtLT5cbiAgPGFwcC1pbnN0YWxsLXVwZ3JhZGUtY2FyZCBbaXNMb2dpbl09XCJpc0xvZ2luXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd0luc3RhbGxCdXR0b25dPVwidHJ1ZVwiPlxuICA8L2FwcC1pbnN0YWxsLXVwZ3JhZGUtY2FyZD5cblxuICA8IS0tIFdlbGNvbWUgY2FyZCAtLT5cbiAgPGlvbi1jYXJkICpuZ0lmPVwiIWxvYWRpbmdcIlxuICAgICAgICAgICAgY2xhc3M9XCJtYWluIHdlbGNvbWUgaW9uLXBhZGRpbmcgaW9uLXRleHQtY2VudGVyIGlvbi1hbGlnbi1zZWxmLWNlbnRlclwiXG4gICAgICAgICAgICBAZmFkZUluQW5pbWF0aW9uPlxuICAgIDxpb24tY2FyZC1oZWFkZXI+XG4gICAgICA8aW9uLWNhcmQtdGl0bGUgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpc1dlYlwiIFtpbm5lckhUTUxdPVwiJ0hPTUUuV0VMQ09NRV9XRUInfHRyYW5zbGF0ZToge2FwcE5hbWU6IGFwcE5hbWV9XCI+PC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFpc1dlYlwiIFtpbm5lckhUTUxdPVwiJ0hPTUUuV0VMQ09NRV9BUFAnfHRyYW5zbGF0ZToge2FwcE5hbWU6IGFwcE5hbWV9XCI+PC9zcGFuPlxuICAgICAgPC9pb24tY2FyZC10aXRsZT5cbiAgICAgIDxpb24tY2FyZC1zdWJ0aXRsZSBbaW5uZXJIVE1MXT1cImRlc2NyaXB0aW9uXCI+XG4gICAgICA8L2lvbi1jYXJkLXN1YnRpdGxlPlxuICAgIDwvaW9uLWNhcmQtaGVhZGVyPlxuICAgIDxpb24tY2FyZC1jb250ZW50IGNsYXNzPVwiaW9uLW5vLXBhZGRpbmdcIj5cbiAgICAgIDxpb24tdGV4dCBjb2xvcj1cInByaW1hcnlcIj5cbiAgICAgICAgPGltZyBjbGFzcz1cImxvZ29cIiAqbmdJZj1cImxvZ29cIiBzcmM9XCJ7eyBsb2dvIH19XCI+XG4gICAgICA8L2lvbi10ZXh0PlxuICAgICAgPCEtLSByZWdpc3RlciBoZWxwIHRleHQgLS0+XG4gICAgICA8aW9uLXRleHQgKm5nSWY9XCIhaXNMb2dpbiAmJiBjYW5SZWdpc3RlclwiPlxuICAgICAgICA8YnIvPlxuICAgICAgICA8c3BhbiB0cmFuc2xhdGU+SE9NRS5SRUdJU1RFUl9IRUxQPC9zcGFuPlxuICAgICAgPC9pb24tdGV4dD5cbiAgICA8L2lvbi1jYXJkLWNvbnRlbnQ+XG5cbiAgICA8aW9uLWZvb3RlciBjbGFzcz1cImlvbi1wYWRkaW5nLXRvcFwiPlxuXG4gICAgICA8IS0tIElmIE5PVCBsb2dpbiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNMb2dpbjsgZWxzZSBsb2dpbkJ1dHRvbnM7XCI+XG5cbiAgICAgICAgPGlvbi1idXR0b24gKm5nSWY9XCJjYW5SZWdpc3RlclwiIGV4cGFuZD1cImJsb2NrXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiIChjbGljayk9XCJyZWdpc3RlcigpXCI+XG4gICAgICAgICAgPHNwYW4gdHJhbnNsYXRlPkhPTUUuQlROX1JFR0lTVEVSPC9zcGFuPlxuICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgIDxpb24tYnV0dG9uIGV4cGFuZD1cImJsb2NrXCIgY29sb3I9XCJsaWdodFwiIFtyb3V0ZXJMaW5rXT1cIlsnLyddXCIgKGNsaWNrKT1cImxvZ2luKClcIj5cbiAgICAgICAgICA8c3BhbiB0cmFuc2xhdGU+QVVUSC5CVE5fTE9HSU48L3NwYW4+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cblxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwhLS0gSWYgdXNlciBsb2dpbiAtLT5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjbG9naW5CdXR0b25zPlxuXG4gICAgICAgIDwhLS0gRmVhdHVyZSBidXR0b25zIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiJGZpbHRlcmVkQnV0dG9ucyB8IGFzeW5jIGFzIGJ1dHRvbnNcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGJ1dHRvbnNcIj5cbiAgICAgICAgICAgIDxpb24tYnV0dG9uICpuZ0lmPVwiaXRlbS5wYXRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cGFuZD1cImJsb2NrXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiaXRlbS5jc3NDbGFzc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJpdGVtLnBhdGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyRGlyZWN0aW9uPVwicm9vdFwiPlxuICAgICAgICAgICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgY2xhc3M9XCJpb24tZmxvYXQtc3RhcnRcIiAqbmdJZj1cIml0ZW0uaWNvblwiIFtuYW1lXT1cIml0ZW0uaWNvblwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBzbG90PVwic3RhcnRcIiBjbGFzcz1cImlvbi1mbG9hdC1zdGFydFwiICpuZ0lmPVwiaXRlbS5tYXRJY29uXCI+e3tpdGVtLm1hdEljb259fTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDxpb24tdGV4dD57eydIT01FLkJUTl9EQVRBX0VOVFJZJ3x0cmFuc2xhdGU6IHtuYW1lOiAoaXRlbS50aXRsZSB8IHRyYW5zbGF0ZSkgfSB9fTwvaW9uLXRleHQ+XG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XG5cbiAgICAgICAgICAgIDwhLS0gZGl2aWRlciAtLT5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhaXRlbS5wYXRoICYmICFpdGVtLmFjdGlvblwiIFtjbGFzc109XCJpdGVtLmNzc0NsYXNzXCI+XG4gICAgICAgICAgICAgIDxpb24tbGFiZWwgdHJhbnNsYXRlPnt7aXRlbS50aXRsZX19Jm5ic3A7PC9pb24tbGFiZWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgIDwhLS08cCAqbmdJZj1cImJ1dHRvbnMubGVuZ3RoXCIgY2xhc3M9XCJ2aXNpYmxlLW1vYmlsZVwiPiZuYnNwOzwvcD4tLT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPGlvbi1idXR0b24gKm5nSWY9XCJzaG93QWNjb3VudEJ1dHRvblwiIGV4cGFuZD1cImJsb2NrXCIgY29sb3I9XCJzZWNvbmRhcnlcIiBbcm91dGVyTGlua109XCJbJy9hY2NvdW50J11cIj5cbiAgICAgICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgY2xhc3M9XCJpb24tZmxvYXQtc3RhcnRcIiBuYW1lPVwicGVyc29uLWNpcmNsZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgPGlvbi10ZXh0IHRyYW5zbGF0ZT5IT01FLkJUTl9NWV9BQ0NPVU5UPC9pb24tdGV4dD5cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuXG4gICAgICAgIDxwIGhpZGRlbi14cyBoaWRkZW4tc20gaGlkZGVuLW1vYmlsZT5cbiAgICAgICAgICA8aW9uLXRleHQgW2lubmVySFRNTF09XCInSE9NRS5OT1RfVEhJU19BQ0NPVU5UX1FVRVNUSU9OJyB8IHRyYW5zbGF0ZToge2Rpc3BsYXlOYW1lOiBhY2NvdW50TmFtZSB9XCI+PC9pb24tdGV4dD5cbiAgICAgICAgICA8YnIvPlxuICAgICAgICAgIDxpb24tdGV4dD5cbiAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgKGNsaWNrKT1cImxvZ291dCgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5IT01FLkJUTl9ESVNDT05ORUNUPC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvaW9uLXRleHQ+XG4gICAgICAgIDwvcD5cblxuXG4gICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPC9pb24tZm9vdGVyPlxuICA8L2lvbi1jYXJkPlxuXG4gIDwhLS0gUGFnZSBoaXN0b3J5IC0tPlxuICA8aW9uLWdyaWQgKm5nSWY9XCIhbG9hZGluZyAmJiBpc0xvZ2luICYmIHBhZ2VIaXN0b3J5Lmxlbmd0aDsgZWxzZSBib3R0b21CYW5uZXJcIlxuICAgICAgICAgICAgY2xhc3M9XCJoaXN0b3J5LWNvbnRhaW5lciBpb24tYWxpZ24tc2VsZi1jZW50ZXJcIj5cbiAgICA8aW9uLXJvdz5cbiAgICAgIDxpb24tY29sIHNpemU9XCIxMlwiIHNpemUteGw9XCJcIiAqbmdGb3I9XCJsZXQgcGFnZSBvZiBwYWdlSGlzdG9yeTsgdHJhY2tCeTogZ2V0UGFnZVBhdGhcIlxuICAgICAgICAgICAgICAgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgPGlvbi1jYXJkIGNsYXNzPVwiaW9uLWFsaWduLXNlbGYtc3RhcnQgaW9uLXRleHQtc3RhcnRcIiBAZmFkZUluQW5pbWF0aW9uPlxuICAgICAgICAgIDxpb24tY2FyZC1oZWFkZXIgY2xhc3M9XCJpb24tbm8tcGFkZGluZ1wiPlxuICAgICAgICAgICAgPCEtLSB0b3AgYmFyIC0tPlxuICAgICAgICAgICAgPGlvbi1jYXJkLXN1YnRpdGxlPlxuICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2V0dGluZ3MucmVtb3ZlUGFnZUhpc3RvcnkocGFnZS5wYXRoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uIGNsYXNzPVwiaW9uLWZsb2F0LXN0YXJ0IGlvbi1uby1tYXJnaW5cIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGlvbi1sYWJlbCBbaW5uZXJIVE1MXT1cInBhZ2Uuc3VidGl0bGV8dHJhbnNsYXRlXCI+PC9pb24tbGFiZWw+XG4gICAgICAgICAgICAgIDxpb24tdGV4dCBjbGFzcz1cImlvbi1mbG9hdC1lbmRcIiBbdGl0bGVdPVwicGFnZS50aW1lfGRhdGVGb3JtYXQ6e3RpbWU6IHRydWV9XCI+XG4gICAgICAgICAgICAgICAgPHNtYWxsPjxpb24taWNvbiBuYW1lPVwidGltZS1vdXRsaW5lXCI+PC9pb24taWNvbj4mbmJzcDt7eyBwYWdlLnRpbWV8ZGF0ZUZyb21Ob3cgfX08L3NtYWxsPiZuYnNwO1xuICAgICAgICAgICAgICA8L2lvbi10ZXh0PlxuICAgICAgICAgICAgPC9pb24tY2FyZC1zdWJ0aXRsZT5cblxuICAgICAgICAgICAgPCEtLSBtYWluIHBhZ2UgLS0+XG4gICAgICAgICAgICA8aW9uLWNhcmQtdGl0bGUgY2xhc3M9XCJpb24tbm8tbWFyZ2luIGlvbi1uby1wYWRkaW5nXCI+XG4gICAgICAgICAgICAgIDxpb24taXRlbSAgZGV0YWlsPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgdGFwcGFibGUgY2xhc3M9XCJ0ZXh0LTF4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJwYWdlLnBhdGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckRpcmVjdGlvbj1cInJvb3RcIiBsaW5lcz1cIm5vbmVcIj5cbiAgICAgICAgICAgICAgICA8IS0tIHBhZ2UgaWNvbi0tPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiAqbmdJZj1cInBhZ2UuaWNvblwiICAgIHNsb3Q9XCJzdGFydFwiIFtuYW1lXT1cInBhZ2UuaWNvblwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwicGFnZS5tYXRJY29uXCIgc2xvdD1cInN0YXJ0XCI+e3twYWdlLm1hdEljb259fTwvbWF0LWljb24+XG5cbiAgICAgICAgICAgICAgICA8aW9uLWxhYmVsIGNvbG9yPVwicHJpbWFyeVwiIFtpbm5lckhUTUxdPVwicGFnZS50aXRsZVwiPjwvaW9uLWxhYmVsPlxuICAgICAgICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgICAgICAgPC9pb24tY2FyZC10aXRsZT5cbiAgICAgICAgICA8L2lvbi1jYXJkLWhlYWRlcj5cblxuICAgICAgICAgIDwhLS0gY2hpbGRyZW4gcGFnZXMgLS0+XG4gICAgICAgICAgPGlvbi1jYXJkLWNvbnRlbnQgY2xhc3M9XCJpb24tbm8tcGFkZGluZyBpb24tcGFkZGluZy1zdGFydFwiICpuZ0lmPVwicGFnZS5jaGlsZHJlbj8ubGVuZ3RoXCI+XG4gICAgICAgICAgICA8aW9uLWxpc3QgY2xhc3M9XCJpb24tbm8tcGFkZGluZ1wiPlxuICAgICAgICAgICAgICA8aW9uLWl0ZW0gIGRldGFpbD1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjaGlsZFBhZ2Ugb2YgcGFnZS5jaGlsZHJlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgdGFwcGFibGUgY2xhc3M9XCJ0ZXh0LTF4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImNoaWxkUGFnZS5wYXRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckRpcmVjdGlvbj1cInJvb3RcIj5cbiAgICAgICAgICAgICAgICA8IS0tIHBhZ2UgaWNvbi0tPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiAqbmdJZj1cImNoaWxkUGFnZS5pY29uXCIgICAgc2xvdD1cInN0YXJ0XCIgY29sb3I9XCJkYXJrXCIgW25hbWVdPVwiY2hpbGRQYWdlLmljb25cIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImNoaWxkUGFnZS5tYXRJY29uXCIgc2xvdD1cInN0YXJ0XCIgY29sb3I9XCJkYXJrXCI+e3tjaGlsZFBhZ2UubWF0SWNvbn19PC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgICAgIDxpb24tbGFiZWwgY29sb3I9XCJkYXJrXCIgW2lubmVySFRNTF09XCJjaGlsZFBhZ2UudGl0bGVcIj48L2lvbi1sYWJlbD5cbiAgICAgICAgICAgICAgPC9pb24taXRlbT5cbiAgICAgICAgICAgIDwvaW9uLWxpc3Q+XG4gICAgICAgICAgPC9pb24tY2FyZC1jb250ZW50PlxuICAgICAgICA8L2lvbi1jYXJkPlxuICAgICAgPC9pb24tY29sPlxuICAgIDwvaW9uLXJvdz5cbiAgPC9pb24tZ3JpZD5cblxuICA8IS0tIERpc3BsYXkgY29uZmlndXJlZCBEZXBhcnRtZW50cyBsb2dvcyAtLT5cbiAgPG5nLXRlbXBsYXRlICNib3R0b21CYW5uZXI+XG4gICAgPGRpdiBjbGFzcz1cImJvdHRvbS1iYW5uZXIgaW9uLXRleHQtY2VudGVyIGlvbi1wYWRkaW5nXCIgKm5nSWY9XCIhbG9hZGluZ0Jhbm5lclwiIEBmYWRlSW5BbmltYXRpb24+XG4gICAgICA8YSBocmVmPVwie3sgaXRlbS5zaXRlVXJsIH19XCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgJHBhcnRuZXJzIHwgYXN5bmMgXCI+XG4gICAgICAgIDxpbWcgY2xhc3M9XCJsb2dvXCIgc3JjPVwie3sgaXRlbS5sb2dvIH19XCIgYWx0PVwie3tpdGVtLmxhYmVsfX1cIiAgW3RpdGxlXT1cIml0ZW0ubGFiZWxcIiAvPlxuICAgICAgPC9hPlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuXG5cbjwvaW9uLWNvbnRlbnQ+XG4iXX0=
|
|
257
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9ob21lL2hvbWUudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvaG9tZS9ob21lLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBYSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkksT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXJELE9BQU8sRUFBVyxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUczRSxPQUFPLEVBQUUsV0FBVyxFQUErQixNQUFNLGtDQUFrQyxDQUFDO0FBSzVGLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRCxPQUFPLEVBQVksU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekQsT0FBTyxFQUFvQixNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUUsT0FBTyxFQUFlLFdBQVcsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRW5GLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXJFLE1BQU0sVUFBVSxjQUFjLENBQUMsS0FBZTtJ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LENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pCLENBQUM7O3FHQWhRVSxRQUFRLDZTQXdDVCxXQUFXLGFBQ1gsV0FBVyxhQUNDLGdCQUFnQjt5RkExQzNCLFFBQVEscURDdENyQiw4cVJBb05BLCtsU0RoTGMsQ0FBQyxlQUFlLEVBQUUsb0JBQW9CLENBQUM7MkZBRXhDLFFBQVE7a0JBUHBCLFNBQVM7K0JBQ0UsZUFBZSxtQkFHUix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLENBQUMsZUFBZSxFQUFFLG9CQUFvQixDQUFDOzswQkEwQ2hELE1BQU07MkJBQUMsV0FBVzs7MEJBQ2xCLE1BQU07MkJBQUMsV0FBVzs7MEJBQ2xCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEluamVjdCwgSW5qZWN0aW9uVG9rZW4sIE9uRGVzdHJveSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vZGFsQ29udHJvbGxlciwgVG9hc3RDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgUmVnaXN0ZXJNb2RhbCB9IGZyb20gJy4uL3JlZ2lzdGVyL3JlZ2lzdGVyLm1vZGFsJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2FjY291bnQuc2VydmljZSc7XG5pbXBvcnQgeyBBY2NvdW50LCBhY2NvdW50VG9TdHJpbmcgfSBmcm9tICcuLi9zZXJ2aWNlcy9tb2RlbC9hY2NvdW50Lm1vZGVsJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9zZXJ2aWNlcy9tb2RlbC9jb25maWcubW9kZWwnO1xuaW1wb3J0IHsgRGVwYXJ0bWVudCB9IGZyb20gJy4uL3NlcnZpY2VzL21vZGVsL2RlcGFydG1lbnQubW9kZWwnO1xuaW1wb3J0IHsgQVBQX0xPQ0FMRVMsIExvY2FsZUNvbmZpZywgTG9jYWxTZXR0aW5ncyB9IGZyb20gJy4uL3NlcnZpY2VzL21vZGVsL3NldHRpbmdzLm1vZGVsJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBQbGF0Zm9ybVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9wbGF0Zm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IExvY2FsU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbG9jYWwtc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFwcEF1dGhNb2RhbCB9IGZyb20gJy4uL2F1dGgvYXV0aC5tb2RhbCc7XG5pbXBvcnQgeyBOZXR3b3JrU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL25ldHdvcmsuc2VydmljZSc7XG5pbXBvcnQgeyBNZW51SXRlbSwgTWVudUl0ZW1zIH0gZnJvbSAnLi4vbWVudS9tZW51Lm1vZGVsJztcbmltcG9ydCB7IFNob3dUb2FzdE9wdGlvbnMsIFRvYXN0cyB9IGZyb20gJy4uLy4uL3NoYXJlZC90b2FzdC90b2FzdHMnO1xuaW1wb3J0IHsgZmFkZUluQW5pbWF0aW9uLCBzbGlkZVVwRG93bkFuaW1hdGlvbiB9IGZyb20gJy4uLy4uL3NoYXJlZC9tYXRlcmlhbC9tYXRlcmlhbC5hbmltYXRpb25zJztcbmltcG9ydCB7IGlzTm90TmlsLCBpc05vdE5pbE9yQmxhbmssIHRvQm9vbGVhbiB9IGZyb20gJy4uLy4uL3NoYXJlZC9mdW5jdGlvbnMnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnQsIEVOVklST05NRU5UIH0gZnJvbSAnLi4vLi4vLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50LmNsYXNzJztcbmltcG9ydCB7IEhpc3RvcnlQYWdlUmVmZXJlbmNlIH0gZnJvbSAnLi4vc2VydmljZXMvbW9kZWwvaGlzdG9yeS5tb2RlbCc7XG5pbXBvcnQgeyBDT1JFX0NPTkZJR19PUFRJT05TIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnL2NvcmUuY29uZmlnJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJhbmRvbUltYWdlKGZpbGVzOiBTdHJpbmdbXSkge1xuICBjb25zdCBpbWdJbmRleCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGZpbGVzLmxlbmd0aCk7XG4gIHJldHVybiBmaWxlc1tpbWdJbmRleF07XG59XG5cbmV4cG9ydCBjb25zdCBBUFBfSE9NRV9CVVRUT05TID0gbmV3IEluamVjdGlvblRva2VuPE1lbnVJdGVtW10+KCdob21lQnV0dG9uJyk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1wYWdlLWhvbWUnLFxuICB0ZW1wbGF0ZVVybDogJ2hvbWUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2hvbWUuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgYW5pbWF0aW9uczogW2ZhZGVJbkFuaW1hdGlvbiwgc2xpZGVVcERvd25BbmltYXRpb25dXG59KVxuZXhwb3J0IGNsYXNzIEhvbWVQYWdlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kZWJ1ZzogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfc3RhcnRlZCA9IGZhbHNlO1xuICBwcml2YXRlIF9zdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIHByaXZhdGUgX2NvbmZpZzogQ29uZmlndXJhdGlvbjtcblxuICBsb2FkaW5nID0gdHJ1ZTtcbiAgd2FpdGluZ05ldHdvcmsgPSBmYWxzZTtcbiAgc2hvd1NwaW5uZXIgPSB0cnVlO1xuICBhY2NvdW50TmFtZTogU3RyaW5nID0gJyc7XG4gIGlzTG9naW46IGJvb2xlYW47XG4gICRwYXJ0bmVycyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGVwYXJ0bWVudFtdPihudWxsKTtcbiAgbG9hZGluZ0Jhbm5lciA9IHRydWU7XG4gIGxvZ286IFN0cmluZztcbiAgZGVzY3JpcHRpb246IFN0cmluZztcbiAgYXBwTmFtZTogc3RyaW5nO1xuICBpc1dlYjogYm9vbGVhbjtcbiAgY2FuUmVnaXN0ZXI6IGJvb2xlYW47XG4gIGNvbnRlbnRTdHlsZTogYW55O1xuICBwYWdlSGlzdG9yeTogSGlzdG9yeVBhZ2VSZWZlcmVuY2VbXSA9IFtdO1xuICBvZmZsaW5lOiBib29sZWFuO1xuICAkZmlsdGVyZWRCdXR0b25zID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNZW51SXRlbVtdPih1bmRlZmluZWQpO1xuICByZWFkb25seSBzaG93QWNjb3VudEJ1dHRvbjogYm9vbGVhbjtcblxuICBnZXQgY3VycmVudExvY2FsZUNvZGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5sb2FkaW5nID8gJycgOlxuICAgICh0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZyB8fCB0aGlzLnRyYW5zbGF0ZS5kZWZhdWx0TGFuZykuc3Vic3RyKDAsIDIpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhY2NvdW50U2VydmljZTogQWNjb3VudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtb2RhbEN0cmw6IE1vZGFsQ29udHJvbGxlcixcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHRvYXN0Q29udHJvbGxlcjogVG9hc3RDb250cm9sbGVyLFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIHBsYXRmb3JtOiBQbGF0Zm9ybVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHVibGljIG5ldHdvcms6IE5ldHdvcmtTZXJ2aWNlLFxuICAgIHB1YmxpYyBzZXR0aW5nczogTG9jYWxTZXR0aW5nc1NlcnZpY2UsXG4gICAgQEluamVjdChFTlZJUk9OTUVOVCkgcHJvdGVjdGVkIGVudmlyb25tZW50OiBFbnZpcm9ubWVudCxcbiAgICBASW5qZWN0KEFQUF9MT0NBTEVTKSBwdWJsaWMgbG9jYWxlczogTG9jYWxlQ29uZmlnW10sXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChBUFBfSE9NRV9CVVRUT05TKSBwdWJsaWMgYnV0dG9uczogTWVudUl0ZW1bXVxuICApIHtcblxuICAgIHRoaXMuX2RlYnVnID0gIWVudmlyb25tZW50LnByb2R1Y3Rpb247XG4gICAgdGhpcy5zaG93U3Bpbm5lciA9ICF0aGlzLnBsYXRmb3JtLnN0YXJ0ZWQ7XG4gICAgdGhpcy5wbGF0Zm9ybS5yZWFkeSgpLnRoZW4oKCkgPT4gdGhpcy5zdGFydCgpKTtcbiAgICB0aGlzLnNob3dBY2NvdW50QnV0dG9uID0gdG9Cb29sZWFuKGVudmlyb25tZW50LmFjY291bnQ/LnNob3dBY2NvdW50QnV0dG9uLCB0cnVlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgYXN5bmMgbG9naW4oKSB7XG4gICAgY29uc3QgbW9kYWwgPSBhd2FpdCB0aGlzLm1vZGFsQ3RybC5jcmVhdGUoe1xuICAgICAgY29tcG9uZW50OiBBcHBBdXRoTW9kYWxcbiAgICB9KTtcbiAgICByZXR1cm4gbW9kYWwucHJlc2VudCgpO1xuICB9XG5cbiAgYXN5bmMgcmVnaXN0ZXIoKSB7XG4gICAgY29uc3QgbW9kYWwgPSBhd2FpdCB0aGlzLm1vZGFsQ3RybC5jcmVhdGUoe1xuICAgICAgY29tcG9uZW50OiBSZWdpc3Rlck1vZGFsLFxuICAgICAgYmFja2Ryb3BEaXNtaXNzOiBmYWxzZVxuICAgIH0pO1xuICAgIHJldHVybiBtb2RhbC5wcmVzZW50KCk7XG4gIH1cblxuICBhc3luYyBsb2dvdXQoZXZlbnQ6IGFueSkge1xuICAgIGF3YWl0IHRoaXMuYWNjb3VudFNlcnZpY2UubG9nb3V0KCk7XG5cbiAgICAvLyBJZiB3YXMgb2ZmbGluZSwgdHJ5IHRvIHJlY29ubmVjdCAoYmVjYXVzZSBjYW4gYmUgYSBmb3JjZWQgb2ZmbGluZSBtb2RlKVxuICAgIGlmICh0aGlzLm9mZmxpbmUpIHtcbiAgICAgIGF3YWl0IHRoaXMudHJ5T25saW5lKCk7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlTGFuZ3VhZ2UobG9jYWxlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNldHRpbmdzLmFwcGx5KHtsb2NhbGV9KVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBnZXRQYWdlUGF0aChpbmRleDogbnVtYmVyLCBwYWdlOiBIaXN0b3J5UGFnZVJlZmVyZW5jZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHBhZ2U/LnBhdGg7XG4gIH1cblxuXG4gIHRyeU9ubGluZSgpIHtcbiAgICB0aGlzLndhaXRpbmdOZXR3b3JrID0gdHJ1ZTtcbiAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgdGhpcy5uZXR3b3JrLnRyeU9ubGluZSh7XG4gICAgICBzaG93TG9hZGluZ1RvYXN0OiBmYWxzZSxcbiAgICAgIHNob3dPbmxpbmVUb2FzdDogdHJ1ZSxcbiAgICAgIHNob3dPZmZsaW5lVG9hc3Q6IGZhbHNlXG4gICAgfSlcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgdGhpcy53YWl0aW5nTmV0d29yayA9IGZhbHNlO1xuICAgICAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG5cbiAgfVxuXG4gIC8qIC0tIHByb3RlY3RlZCBtZXRob2QgIC0tICovXG5cbiAgcHJvdGVjdGVkIGFzeW5jIHN0YXJ0KCkge1xuICAgIGF3YWl0IHRoaXMuYWNjb3VudFNlcnZpY2UucmVhZHkoKTtcblxuICAgIHRoaXMuaXNMb2dpbiA9IHRoaXMuYWNjb3VudFNlcnZpY2UuaXNMb2dpbigpO1xuICAgIGlmICh0aGlzLmlzTG9naW4pIHtcbiAgICAgIHRoaXMub25Mb2dpbih0aGlzLmFjY291bnRTZXJ2aWNlLmFjY291bnQpO1xuICAgIH1cblxuICAgIHRoaXMub2ZmbGluZSA9IHRoaXMubmV0d29yay5vZmZsaW5lO1xuXG4gICAgLy8gTGlzdGVuIGxvZ2luL2xvZ291dCBldmVudHNcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKHRoaXMuYWNjb3VudFNlcnZpY2Uub25Mb2dpbi5zdWJzY3JpYmUoYWNjb3VudCA9PiB0aGlzLm9uTG9naW4oYWNjb3VudCkpKTtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKHRoaXMuYWNjb3VudFNlcnZpY2Uub25Mb2dvdXQuc3Vic2NyaWJlKCgpID0+IHRoaXMub25Mb2dvdXQoKSkpO1xuXG4gICAgLy8gTGlzdGVuIHBvZCBjb25maWdcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKHRoaXMuY29uZmlnU2VydmljZS5jb25maWcuc3Vic2NyaWJlKGNvbmZpZyA9PiB0aGlzLm9uQ29uZmlnTG9hZGVkKGNvbmZpZykpKTtcblxuICAgIC8vIExpc3RlbiBzZXR0aW5ncyBjaGFuZ2VzXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMuc2V0dGluZ3Mub25DaGFuZ2VcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgLy8gQWRkIGEgZGVsYXksIHRvIGF2b2lkIHRvIGFwcGx5IGNoYW5nZXMgdG8gb2Z0ZW5cbiAgICAgICAgICBkZWJvdW5jZVRpbWUoMzAwMCksXG4gICAgICAgICAgLy8gU3RhcnQgd2l0aCBjdXJyZW50IHNldHRpbmdzXG4gICAgICAgICAgc3RhcnRXaXRoKGF3YWl0IHRoaXMuc2V0dGluZ3MucmVhZHkoKSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB0aGlzLm9uU2V0dGluZ3NDaGFuZ2VkKHJlcykpKTtcblxuICAgIC8vIExpc3RlbiBuZXR3b3JrIGNoYW5nZXNcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy5uZXR3b3JrLm9uTmV0d29ya1N0YXR1c0NoYW5nZXNcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgLy9kZWJvdW5jZVRpbWUoNDUwKSxcbiAgICAgICAgICAvL3RhcCgoKSA9PiB0aGlzLndhaXRpbmdOZXR3b3JrID0gZmFsc2UpLFxuICAgICAgICAgIG1hcChjb25uZWN0aW9uVHlwZSA9PiBjb25uZWN0aW9uVHlwZSA9PT0gJ25vbmUnKSxcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZShvZmZsaW5lID0+IHtcbiAgICAgICAgICB0aGlzLm9mZmxpbmUgPSBvZmZsaW5lO1xuICAgICAgICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuX3N0YXJ0ZWQgPSB0cnVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIHNob3dUb2FzdChvcHRzOiBTaG93VG9hc3RPcHRpb25zKSB7XG4gICAgYXdhaXQgVG9hc3RzLnNob3codGhpcy50b2FzdENvbnRyb2xsZXIsIHRoaXMudHJhbnNsYXRlLCBvcHRzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkNvbmZpZ0xvYWRlZChjb25maWc6IENvbmZpZ3VyYXRpb24pIHtcbiAgICBjb25zb2xlLmRlYnVnKCdbaG9tZV0gQXBwbHlpbmcgY29uZmlndXJhdGlvbicsIGNvbmZpZyk7XG4gICAgdGhpcy5fY29uZmlnID0gY29uZmlnO1xuXG4gICAgdGhpcy5hcHBOYW1lID0gY29uZmlnLmxhYmVsIHx8IHRoaXMuZW52aXJvbm1lbnQuZGVmYXVsdEFwcE5hbWUgfHwgJ1NVTUFSaVMnO1xuICAgIHRoaXMubG9nbyA9IGNvbmZpZy5sYXJnZUxvZ28gfHwgY29uZmlnLnNtYWxsTG9nbyB8fCB1bmRlZmluZWQ7XG4gICAgdGhpcy5kZXNjcmlwdGlvbiA9IGNvbmZpZy5uYW1lO1xuICAgIHRoaXMuaXNXZWIgPSB0aGlzLnBsYXRmb3JtLmlzV2ViKCk7XG4gICAgdGhpcy5jYW5SZWdpc3RlciA9IGNvbmZpZy5nZXRQcm9wZXJ0eUFzQm9vbGVhbihDT1JFX0NPTkZJR19PUFRJT05TLlJFR0lTVFJBVElPTl9FTkFCTEUpO1xuXG4gICAgY29uc3QgcGFydG5lcnMgPSAoY29uZmlnLnBhcnRuZXJzIHx8IFtdKS5maWx0ZXIocCA9PiBwICYmIHAubG9nbyk7XG4gICAgdGhpcy4kcGFydG5lcnMubmV4dChwYXJ0bmVycyk7XG4gICAgdGhpcy5sb2FkaW5nQmFubmVyID0gKHBhcnRuZXJzLmxlbmd0aCA9PT0gMCk7XG5cbiAgICAvLyBJZiBub3QgYWxyZWFkeSBzZXQsIGNvbXB1dGUgdGhlIGJhY2tncm91bmQgaW1hZ2VcbiAgICBpZiAoIXRoaXMuY29udGVudFN0eWxlKSB7XG4gICAgICBjb25zdCBiYWNrZ3JvdW5kSW1hZ2VzID0gKGNvbmZpZy5iYWNrZ3JvdW5kSW1hZ2VzIHx8IFtdKVxuICAgICAgICAvLyBGaWx0ZXIgb24gbm90IG5pbCwgYmVjYXVzZSBjYW4gb2NjdXIgaWYgZGV0ZWN0ZWQgaGFzIG5vdCBleGlzdHMgKHNlZSBjb25maWctc2VydmljZS5qcylcbiAgICAgICAgLmZpbHRlcihpbWcgPT4gaXNOb3ROaWwoaW1nKVxuICAgICAgICAgIC8vIElmIG9mZmxpbmUsIGZpbHRlciBvbiBsb2NhbCBkYXRhVVJMIGltYWdlXG4gICAgICAgICAgJiYgKCF0aGlzLm9mZmxpbmUgfHwgIWltZy5zdGFydHNXaXRoKCdodHRwJykpKTtcblxuICAgICAgLy8gQmFja2dyb3VuZCBpbWFnZSBmb3VuZDogc2VsZWN0IG9uZSByYW5kb21seVxuICAgICAgaWYgKGJhY2tncm91bmRJbWFnZXMubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGJnSW1hZ2UgPSBnZXRSYW5kb21JbWFnZShiYWNrZ3JvdW5kSW1hZ2VzKTtcbiAgICAgICAgdGhpcy5jb250ZW50U3R5bGUgPSBiZ0ltYWdlICYmIHsnYmFja2dyb3VuZC1pbWFnZSc6IGB1cmwoJHtiZ0ltYWdlfSlgfSB8fCB7fTtcbiAgICAgIH1cblxuICAgICAgLy8gVXNlIGJhY2tncm91bmQgY29sb3JcbiAgICAgIGVsc2Uge1xuICAgICAgICBjb25zdCBwcmltYXJ5Q29sb3IgPSBjb25maWcucHJvcGVydGllcyAmJiBjb25maWcucHJvcGVydGllc1snc3VtYXJpcy5jb2xvci5wcmltYXJ5J10gfHwgJ3ZhcigtLWlvbi1jb2xvci1wcmltYXJ5KSc7XG4gICAgICAgIHRoaXMuY29udGVudFN0eWxlID0gcHJpbWFyeUNvbG9yICYmIHsnYmFja2dyb3VuZC1jb2xvcic6IHByaW1hcnlDb2xvcn0gfHwge307XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5yZWZyZXNoQnV0dG9ucygpO1xuICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG5cbiAgICAvLyBJZiBmaXJzdCBsb2FkLCBoaWRlIHRoZSBsb2FkaW5nIGluZGljYXRvclxuICAgIGlmICh0aGlzLmxvYWRpbmcpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0sIDUwMCk7IC8vIEFkZCBhIGRlbGF5LCBmb3IgYW5pbWF0aW9uXG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG9uU2V0dGluZ3NDaGFuZ2VkKHNldHRpbmdzOiBMb2NhbFNldHRpbmdzKSB7XG4gICAgaWYgKHNldHRpbmdzLnBhZ2VIaXN0b3J5ICE9PSB0aGlzLnBhZ2VIaXN0b3J5KSB7XG4gICAgICBjb25zb2xlLmRlYnVnKCdbaG9tZV0gUGFnZSBoaXN0b3J5IGxvYWRlZCcpO1xuICAgICAgdGhpcy5wYWdlSGlzdG9yeSA9IHNldHRpbmdzLnBhZ2VIaXN0b3J5IHx8IFtdO1xuICAgIH1cbiAgICAvLyBBbHdheXMgZm9yY2UgYSByZWZyZXNoIChzYW1lIGhpc3RvcnkgYXJyYXksIGJ1dCBjb250ZW50IG1heSBoYXZlIGNoYW5nZWQpXG4gICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkxvZ2luKGFjY291bnQ6IEFjY291bnQpIHtcbiAgICBpZiAoIWFjY291bnQpIHJldHVybjsgLy8gU2tpcFxuICAgIC8vY29uc29sZS5kZWJ1ZygnW2hvbWVdIExvZ2dlZCBhY2NvdW50OiAnLCBhY2NvdW50KTtcbiAgICB0aGlzLmlzTG9naW4gPSB0cnVlO1xuICAgIHRoaXMuYWNjb3VudE5hbWUgPSBhY2NvdW50VG9TdHJpbmcoYWNjb3VudCk7XG4gICAgdGhpcy5yZWZyZXNoQnV0dG9ucygpO1xuICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25Mb2dvdXQoKSB7XG4gICAgdGhpcy5pc0xvZ2luID0gZmFsc2U7XG4gICAgdGhpcy5hY2NvdW50TmFtZSA9ICcnO1xuICAgIHRoaXMucGFnZUhpc3RvcnkgPSBbXTtcbiAgICB0aGlzLnJlZnJlc2hCdXR0b25zKCk7XG4gICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWZyZXNoQnV0dG9ucygpIHtcbiAgICBpZiAoIXRoaXMuX2NvbmZpZykgcmV0dXJuOyAvLyBTa2lwICh3YWl0aW5nIGNvbmZpZyB0byBiZSBsb2FkZWQpXG4gICAgaWYgKHRoaXMuX2RlYnVnKSBjb25zb2xlLmRlYnVnKCdbaG9tZV0gUmVmcmVzaGluZyBidXR0b25zLi4uJyk7XG5cbiAgICBjb25zdCBmaWx0ZXJlZEJ1dHRvbnMgPSAodGhpcy5idXR0b25zIHx8IFtdKVxuICAgICAgLmZpbHRlcigoaXRlbSkgPT4gTWVudUl0ZW1zLmNoZWNrSWZWaXNpYmxlKGl0ZW0sIHRoaXMuYWNjb3VudFNlcnZpY2UsIHRoaXMuX2NvbmZpZywge1xuICAgICAgICBpc0xvZ2luOiB0aGlzLmlzTG9naW4sXG4gICAgICAgIGRlYnVnOiB0aGlzLl9kZWJ1ZyxcbiAgICAgICAgbG9nUHJlZml4OiAnW2hvbWVdJ1xuICAgICAgfSkpXG4gICAgICAubWFwKGl0ZW0gPT4ge1xuICAgICAgICAvLyBSZXBsYWNlIHRpdGxlIHVzaW5nIHByb3BlcnRpZXNcbiAgICAgICAgaWYgKGlzTm90TmlsT3JCbGFuayhpdGVtLnRpdGxlUHJvcGVydHkpICYmIHRoaXMuX2NvbmZpZykge1xuICAgICAgICAgIGNvbnN0IHRpdGxlID0gdGhpcy5fY29uZmlnLnByb3BlcnRpZXNbaXRlbS50aXRsZVByb3BlcnR5XTtcbiAgICAgICAgICBpZiAodGl0bGUpIHJldHVybiB7IC4uLml0ZW0sIHRpdGxlfTsgLy8gQ3JlYXRlIGEgY29weSwgdG8ga2VlcCB0aGUgb3JpZ2luYWwgaXRlbS50aXRsZVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLiRmaWx0ZXJlZEJ1dHRvbnMubmV4dChmaWx0ZXJlZEJ1dHRvbnMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG1hcmtGb3JDaGVjaygpIHtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cblxufVxuIiwiPGFwcC10b29sYmFyIFtjYW5Hb0JhY2tdPVwiZmFsc2VcIlxuICAgICAgICAgICAgIHZpc2libGUteHMgdmlzaWJsZS1zbSB2aXNpYmxlLW1vYmlsZT5cblxuICA8IS0tIGNoYW5nZSBsb2NhbGUgYnV0dG9uIC0tPlxuICA8aW9uLWJ1dHRvbiBzbG90PVwiZW5kXCIgKm5nSWY9XCJjdXJyZW50TG9jYWxlQ29kZTsgbGV0IGNvZGVcIlxuICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwibG9jYWxlTWVudVwiPlxuICAgIDxpb24tbGFiZWwgY2xhc3M9XCJpb24tdGV4dC11cHBlcmNhc2VcIj4mbmJzcDt7eyBjb2RlIH19PC9pb24tbGFiZWw+XG4gICAgPG1hdC1pY29uIHNsb3Q9XCJlbmRcIj5hcnJvd19kcm9wX2Rvd248L21hdC1pY29uPlxuICA8L2lvbi1idXR0b24+XG48L2FwcC10b29sYmFyPlxuXG48IS0tIGNoYW5nZSBsb2NhbGUgbWVudSAtLT5cbjxtYXQtbWVudSAjbG9jYWxlTWVudT1cIm1hdE1lbnVcIj5cbiAgPGJ1dHRvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsb2NhbGVzXCJcbiAgICAgICAgICBtYXQtbWVudS1pdGVtXG4gICAgICAgICAgKGNsaWNrKT1cImNoYW5nZUxhbmd1YWdlKGl0ZW0ua2V5KVwiPlxuICAgIDxpb24tbGFiZWw+e3tpdGVtLnZhbHVlfX08L2lvbi1sYWJlbD5cbiAgPC9idXR0b24+XG48L21hdC1tZW51PlxuXG48aW9uLWNvbnRlbnQgW25nU3R5bGVdPVwiY29udGVudFN0eWxlXCIgbm8tcGFkZGluZy14cz5cblxuICA8IS0tIGxvYWRpbmcgc3Bpbm5lciAtLT5cbiAgPGRpdiBjbGFzcz1cImxvYWRpbmctcGFnZVwiIFtjbGFzcy5jZGstdmlzdWFsbHktaGlkZGVuXT1cIiFsb2FkaW5nXCI+XG4gICAgPGRpdiBjbGFzcz1cInNwaW5uZXJcIiAqbmdJZj1cImxvYWRpbmcgJiYgc2hvd1NwaW5uZXJcIj5cbiAgICAgIDxwIFtpbm5lckhUTUxdPVwiJ0NPTU1PTi5MT0FESU5HX0RPVFMnfHRyYW5zbGF0ZVwiPjwvcD5cbiAgICAgIDxkaXYgY2xhc3M9XCJzay1jdWJlMSBzay1jdWJlXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic2stY3ViZTIgc2stY3ViZVwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNrLWN1YmU0IHNrLWN1YmVcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzay1jdWJlMyBzay1jdWJlXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDwhLS0gRGVza3RvcDogdHJhbnNsdWNlbnQgdG9wIHRvb2xiYXIgLS0+XG4gIDxkaXYgaGlkZGVuLXhzIGhpZGRlbi1zbSBoaWRkZW4tbW9iaWxlPlxuICAgIDxpb24tdG9vbGJhciB0cmFuc2x1Y2VudD5cbiAgICAgIDxpb24tYnV0dG9ucyBzbG90PVwic3RhcnRcIj5cbiAgICAgICAgPGlvbi1tZW51LXRvZ2dsZT5cbiAgICAgICAgICA8aW9uLWJ1dHRvbiBjb2xvcj1cImxpZ2h0XCIgZmlsbD1cImNsZWFyXCI+XG4gICAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJtZW51XCI+PC9pb24taWNvbj5cbiAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgIDwvaW9uLW1lbnUtdG9nZ2xlPlxuICAgICAgPC9pb24tYnV0dG9ucz5cblxuICAgICAgPGlvbi1idXR0b25zIHNsb3Q9XCJlbmRcIj5cbiAgICAgICAgPCEtLSBjaGFuZ2UgbG9jYWxlIGJ1dHRvbiAtLT5cbiAgICAgICAgPGlvbi1idXR0b24gY29sb3I9XCJzZWNvbmRhcnlcIiBmaWxsPVwic29saWRcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImN1cnJlbnRMb2NhbGVDb2RlOyBsZXQgY29kZVwiXG4gICAgICAgICAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJsb2NhbGVNZW51XCI+XG4gICAgICAgICAgPGlvbi1sYWJlbCBjbGFzcz1cImlvbi10ZXh0LXVwcGVyY2FzZVwiPiZuYnNwO3t7IGNvZGUgfX08L2lvbi1sYWJlbD5cbiAgICAgICAgICA8bWF0LWljb24gc2xvdD1cImVuZFwiPmFycm93X2Ryb3BfZG93bjwvbWF0LWljb24+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgIDwvaW9uLWJ1dHRvbnM+XG4gICAgPC9pb24tdG9vbGJhcj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBJbnN0YWxsIChhbmQgdXBncmFkZSkgY2FyZCAtLT5cbiAgPGFwcC1pbnN0YWxsLXVwZ3JhZGUtY2FyZCBbaXNMb2dpbl09XCJpc0xvZ2luXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd0luc3RhbGxCdXR0b25dPVwidHJ1ZVwiPlxuICA8L2FwcC1pbnN0YWxsLXVwZ3JhZGUtY2FyZD5cblxuICA8IS0tIFdlbGNvbWUgY2FyZCAtLT5cbiAgPGlvbi1jYXJkICpuZ0lmPVwiIWxvYWRpbmdcIlxuICAgICAgICAgICAgY2xhc3M9XCJtYWluIHdlbGNvbWUgaW9uLXBhZGRpbmcgaW9uLXRleHQtY2VudGVyIGlvbi1hbGlnbi1zZWxmLWNlbnRlclwiXG4gICAgICAgICAgICBAZmFkZUluQW5pbWF0aW9uPlxuICAgIDxpb24tY2FyZC1oZWFkZXI+XG4gICAgICA8aW9uLWNhcmQtdGl0bGUgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpc1dlYlwiIFtpbm5lckhUTUxdPVwiJ0hPTUUuV0VMQ09NRV9XRUInfHRyYW5zbGF0ZToge2FwcE5hbWU6IGFwcE5hbWV9XCI+PC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFpc1dlYlwiIFtpbm5lckhUTUxdPVwiJ0hPTUUuV0VMQ09NRV9BUFAnfHRyYW5zbGF0ZToge2FwcE5hbWU6IGFwcE5hbWV9XCI+PC9zcGFuPlxuICAgICAgPC9pb24tY2FyZC10aXRsZT5cbiAgICAgIDxpb24tY2FyZC1zdWJ0aXRsZSBbaW5uZXJIVE1MXT1cImRlc2NyaXB0aW9uXCI+XG4gICAgICA8L2lvbi1jYXJkLXN1YnRpdGxlPlxuICAgIDwvaW9uLWNhcmQtaGVhZGVyPlxuICAgIDxpb24tY2FyZC1jb250ZW50IGNsYXNzPVwiaW9uLW5vLXBhZGRpbmdcIj5cbiAgICAgIDxpb24tdGV4dCBjb2xvcj1cInByaW1hcnlcIj5cbiAgICAgICAgPGltZyBjbGFzcz1cImxvZ29cIiAqbmdJZj1cImxvZ29cIiBzcmM9XCJ7eyBsb2dvIH19XCI+XG4gICAgICA8L2lvbi10ZXh0PlxuICAgICAgPCEtLSByZWdpc3RlciBoZWxwIHRleHQgLS0+XG4gICAgICA8aW9uLXRleHQgKm5nSWY9XCIhaXNMb2dpbiAmJiBjYW5SZWdpc3RlclwiPlxuICAgICAgICA8YnIvPlxuICAgICAgICA8c3BhbiB0cmFuc2xhdGU+SE9NRS5SRUdJU1RFUl9IRUxQPC9zcGFuPlxuICAgICAgPC9pb24tdGV4dD5cbiAgICA8L2lvbi1jYXJkLWNvbnRlbnQ+XG5cbiAgICA8aW9uLWZvb3RlciBjbGFzcz1cImlvbi1wYWRkaW5nLXRvcFwiPlxuXG4gICAgICA8IS0tIElmIE5PVCBsb2dpbiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNMb2dpbjsgZWxzZSBsb2dpbkJ1dHRvbnM7XCI+XG5cbiAgICAgICAgPGlvbi1idXR0b24gKm5nSWY9XCJjYW5SZWdpc3RlclwiIGV4cGFuZD1cImJsb2NrXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiIChjbGljayk9XCJyZWdpc3RlcigpXCI+XG4gICAgICAgICAgPHNwYW4gdHJhbnNsYXRlPkhPTUUuQlROX1JFR0lTVEVSPC9zcGFuPlxuICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgIDxpb24tYnV0dG9uIGV4cGFuZD1cImJsb2NrXCIgY29sb3I9XCJsaWdodFwiIFtyb3V0ZXJMaW5rXT1cIlsnLyddXCIgKGNsaWNrKT1cImxvZ2luKClcIj5cbiAgICAgICAgICA8c3BhbiB0cmFuc2xhdGU+QVVUSC5CVE5fTE9HSU48L3NwYW4+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cblxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwhLS0gSWYgdXNlciBsb2dpbiAtLT5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjbG9naW5CdXR0b25zPlxuXG4gICAgICAgIDwhLS0gRmVhdHVyZSBidXR0b25zIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiJGZpbHRlcmVkQnV0dG9ucyB8IGFzeW5jIGFzIGJ1dHRvbnNcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGJ1dHRvbnNcIj5cbiAgICAgICAgICAgIDxpb24tYnV0dG9uICpuZ0lmPVwiaXRlbS5wYXRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cGFuZD1cImJsb2NrXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiaXRlbS5jc3NDbGFzc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJpdGVtLnBhdGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyRGlyZWN0aW9uPVwicm9vdFwiPlxuICAgICAgICAgICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgY2xhc3M9XCJpb24tZmxvYXQtc3RhcnRcIiAqbmdJZj1cIml0ZW0uaWNvblwiIFtuYW1lXT1cIml0ZW0uaWNvblwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBzbG90PVwic3RhcnRcIiBjbGFzcz1cImlvbi1mbG9hdC1zdGFydFwiICpuZ0lmPVwiaXRlbS5tYXRJY29uXCI+e3tpdGVtLm1hdEljb259fTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDxpb24tdGV4dD57eydIT01FLkJUTl9EQVRBX0VOVFJZJ3x0cmFuc2xhdGU6IHtuYW1lOiAoaXRlbS50aXRsZSB8IHRyYW5zbGF0ZSkgfSB9fTwvaW9uLXRleHQ+XG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XG5cbiAgICAgICAgICAgIDwhLS0gZGl2aWRlciAtLT5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhaXRlbS5wYXRoICYmICFpdGVtLmFjdGlvblwiIFtjbGFzc109XCJpdGVtLmNzc0NsYXNzXCI+XG4gICAgICAgICAgICAgIDxpb24tbGFiZWwgdHJhbnNsYXRlPnt7aXRlbS50aXRsZX19Jm5ic3A7PC9pb24tbGFiZWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgIDwhLS08cCAqbmdJZj1cImJ1dHRvbnMubGVuZ3RoXCIgY2xhc3M9XCJ2aXNpYmxlLW1vYmlsZVwiPiZuYnNwOzwvcD4tLT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPGlvbi1idXR0b24gKm5nSWY9XCJzaG93QWNjb3VudEJ1dHRvblwiIGV4cGFuZD1cImJsb2NrXCIgY29sb3I9XCJzZWNvbmRhcnlcIiBbcm91dGVyTGlua109XCJbJy9hY2NvdW50J11cIj5cbiAgICAgICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgY2xhc3M9XCJpb24tZmxvYXQtc3RhcnRcIiBuYW1lPVwicGVyc29uLWNpcmNsZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgPGlvbi10ZXh0IHRyYW5zbGF0ZT5IT01FLkJUTl9NWV9BQ0NPVU5UPC9pb24tdGV4dD5cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuXG4gICAgICAgIDxwIGhpZGRlbi14cyBoaWRkZW4tc20gaGlkZGVuLW1vYmlsZT5cbiAgICAgICAgICA8aW9uLXRleHQgW2lubmVySFRNTF09XCInSE9NRS5OT1RfVEhJU19BQ0NPVU5UX1FVRVNUSU9OJyB8IHRyYW5zbGF0ZToge2Rpc3BsYXlOYW1lOiBhY2NvdW50TmFtZSB9XCI+PC9pb24tdGV4dD5cbiAgICAgICAgICA8YnIvPlxuICAgICAgICAgIDxpb24tdGV4dD5cbiAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgKGNsaWNrKT1cImxvZ291dCgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5IT01FLkJUTl9ESVNDT05ORUNUPC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvaW9uLXRleHQ+XG4gICAgICAgIDwvcD5cblxuXG4gICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPC9pb24tZm9vdGVyPlxuICA8L2lvbi1jYXJkPlxuXG4gIDwhLS0gUGFnZSBoaXN0b3J5IC0tPlxuICA8aW9uLWdyaWQgKm5nSWY9XCIhbG9hZGluZyAmJiBpc0xvZ2luICYmIHBhZ2VIaXN0b3J5Lmxlbmd0aDsgZWxzZSBib3R0b21CYW5uZXJcIlxuICAgICAgICAgICAgY2xhc3M9XCJoaXN0b3J5LWNvbnRhaW5lciBpb24tYWxpZ24tc2VsZi1jZW50ZXJcIj5cbiAgICA8aW9uLXJvdz5cbiAgICAgIDxpb24tY29sIHNpemU9XCIxMlwiIHNpemUteGw9XCJcIiAqbmdGb3I9XCJsZXQgcGFnZSBvZiBwYWdlSGlzdG9yeTsgdHJhY2tCeTogZ2V0UGFnZVBhdGhcIlxuICAgICAgICAgICAgICAgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgPGlvbi1jYXJkIGNsYXNzPVwiaW9uLWFsaWduLXNlbGYtc3RhcnQgaW9uLXRleHQtc3RhcnRcIiBAZmFkZUluQW5pbWF0aW9uPlxuICAgICAgICAgIDxpb24tY2FyZC1oZWFkZXIgY2xhc3M9XCJpb24tbm8tcGFkZGluZ1wiPlxuICAgICAgICAgICAgPCEtLSB0b3AgYmFyIC0tPlxuICAgICAgICAgICAgPGlvbi1jYXJkLXN1YnRpdGxlPlxuICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2V0dGluZ3MucmVtb3ZlUGFnZUhpc3RvcnkocGFnZS5wYXRoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uIGNsYXNzPVwiaW9uLWZsb2F0LXN0YXJ0IGlvbi1uby1tYXJnaW5cIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGlvbi1sYWJlbCBbaW5uZXJIVE1MXT1cInBhZ2Uuc3VidGl0bGV8dHJhbnNsYXRlXCI+PC9pb24tbGFiZWw+XG4gICAgICAgICAgICAgIDxpb24tdGV4dCBjbGFzcz1cImlvbi1mbG9hdC1lbmRcIiBbdGl0bGVdPVwicGFnZS50aW1lfGRhdGVGb3JtYXQ6e3RpbWU6IHRydWV9XCI+XG4gICAgICAgICAgICAgICAgPHNtYWxsPjxpb24taWNvbiBuYW1lPVwidGltZS1vdXRsaW5lXCI+PC9pb24taWNvbj4mbmJzcDt7eyBwYWdlLnRpbWV8ZGF0ZUZyb21Ob3cgfX08L3NtYWxsPiZuYnNwO1xuICAgICAgICAgICAgICA8L2lvbi10ZXh0PlxuICAgICAgICAgICAgPC9pb24tY2FyZC1zdWJ0aXRsZT5cblxuICAgICAgICAgICAgPCEtLSBtYWluIHBhZ2UgLS0+XG4gICAgICAgICAgICA8aW9uLWNhcmQtdGl0bGUgY2xhc3M9XCJpb24tbm8tbWFyZ2luIGlvbi1uby1wYWRkaW5nXCI+XG4gICAgICAgICAgICAgIDxpb24taXRlbSAgZGV0YWlsPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgdGFwcGFibGUgY2xhc3M9XCJ0ZXh0LTF4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJwYWdlLnBhdGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckRpcmVjdGlvbj1cInJvb3RcIiBsaW5lcz1cIm5vbmVcIj5cbiAgICAgICAgICAgICAgICA8IS0tIHBhZ2UgaWNvbi0tPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiAqbmdJZj1cInBhZ2UuaWNvblwiICAgIHNsb3Q9XCJzdGFydFwiIFtuYW1lXT1cInBhZ2UuaWNvblwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwicGFnZS5tYXRJY29uXCIgc2xvdD1cInN0YXJ0XCI+e3twYWdlLm1hdEljb259fTwvbWF0LWljb24+XG5cbiAgICAgICAgICAgICAgICA8aW9uLWxhYmVsIGNvbG9yPVwicHJpbWFyeVwiIFtpbm5lckhUTUxdPVwicGFnZS50aXRsZVwiPjwvaW9uLWxhYmVsPlxuICAgICAgICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgICAgICAgPC9pb24tY2FyZC10aXRsZT5cbiAgICAgICAgICA8L2lvbi1jYXJkLWhlYWRlcj5cblxuICAgICAgICAgIDwhLS0gY2hpbGRyZW4gcGFnZXMgLS0+XG4gICAgICAgICAgPGlvbi1jYXJkLWNvbnRlbnQgY2xhc3M9XCJpb24tbm8tcGFkZGluZyBpb24tcGFkZGluZy1zdGFydFwiICpuZ0lmPVwicGFnZS5jaGlsZHJlbj8ubGVuZ3RoXCI+XG4gICAgICAgICAgICA8aW9uLWxpc3QgY2xhc3M9XCJpb24tbm8tcGFkZGluZ1wiPlxuICAgICAgICAgICAgICA8aW9uLWl0ZW0gIGRldGFpbD1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjaGlsZFBhZ2Ugb2YgcGFnZS5jaGlsZHJlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgdGFwcGFibGUgY2xhc3M9XCJ0ZXh0LTF4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImNoaWxkUGFnZS5wYXRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckRpcmVjdGlvbj1cInJvb3RcIj5cbiAgICAgICAgICAgICAgICA8IS0tIHBhZ2UgaWNvbi0tPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiAqbmdJZj1cImNoaWxkUGFnZS5pY29uXCIgICAgc2xvdD1cInN0YXJ0XCIgY29sb3I9XCJkYXJrXCIgW25hbWVdPVwiY2hpbGRQYWdlLmljb25cIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImNoaWxkUGFnZS5tYXRJY29uXCIgc2xvdD1cInN0YXJ0XCIgY29sb3I9XCJkYXJrXCI+e3tjaGlsZFBhZ2UubWF0SWNvbn19PC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgICAgIDxpb24tbGFiZWwgY29sb3I9XCJkYXJrXCIgW2lubmVySFRNTF09XCJjaGlsZFBhZ2UudGl0bGVcIj48L2lvbi1sYWJlbD5cbiAgICAgICAgICAgICAgPC9pb24taXRlbT5cbiAgICAgICAgICAgIDwvaW9uLWxpc3Q+XG4gICAgICAgICAgPC9pb24tY2FyZC1jb250ZW50PlxuICAgICAgICA8L2lvbi1jYXJkPlxuICAgICAgPC9pb24tY29sPlxuICAgIDwvaW9uLXJvdz5cbiAgPC9pb24tZ3JpZD5cblxuICA8IS0tIERpc3BsYXkgY29uZmlndXJlZCBEZXBhcnRtZW50cyBsb2dvcyAtLT5cbiAgPG5nLXRlbXBsYXRlICNib3R0b21CYW5uZXI+XG4gICAgPGRpdiBjbGFzcz1cImJvdHRvbS1iYW5uZXIgaW9uLXRleHQtY2VudGVyIGlvbi1wYWRkaW5nXCIgKm5nSWY9XCIhbG9hZGluZ0Jhbm5lclwiIEBmYWRlSW5BbmltYXRpb24+XG4gICAgICA8YSBocmVmPVwie3sgaXRlbS5zaXRlVXJsIH19XCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgJHBhcnRuZXJzIHwgYXN5bmMgXCI+XG4gICAgICAgIDxpbWcgY2xhc3M9XCJsb2dvXCIgc3JjPVwie3sgaXRlbS5sb2dvIH19XCIgYWx0PVwie3tpdGVtLmxhYmVsfX1cIiAgW3RpdGxlXT1cIml0ZW0ubGFiZWxcIiAvPlxuICAgICAgPC9hPlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuXG5cbjwvaW9uLWNvbnRlbnQ+XG4iXX0=
|