@tuki-io/tuki-widgets 0.0.219-dev.53 → 0.0.219-dev.55
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/README.md +24 -24
- package/contact-center/cc-import/cc-import.module.d.ts +13 -0
- package/contact-center/cc-import/cc-import.service.d.ts +85 -0
- package/contact-center/cc-import/components/import-contact-center-panel/import-contact-center-panel.component.d.ts +56 -0
- package/contact-center/cc-import/components/import-contact-center-wizard/import-contact-center-wizard.component.d.ts +77 -0
- package/contact-center/cc-import/components/import-contact-center-wizard/import-contact-center-wizard.types.d.ts +3 -0
- package/contact-center/cc-import/constants/cc-import.constants.d.ts +37 -0
- package/contact-center/cc-import/mock/cc-import.mock.d.ts +4 -0
- package/contact-center/cc-import/types/cc-import.d.ts +73 -0
- package/contact-center/cc-import/types/uccx.d.ts +109 -0
- package/contact-center/cc-readiness/cc-readiness.module.d.ts +3 -3
- package/contact-center/public-api.d.ts +8 -0
- package/contact-center/shared/api.endpoints.d.ts +25 -0
- package/contact-center/shared/api.service.d.ts +3 -1
- package/contact-center/shared/components/card/card.component.d.ts +13 -0
- package/contact-center/shared/dcp-api.service.d.ts +15 -0
- package/contact-center/shared/shared.module.d.ts +11 -5
- package/esm2020/contact-center/cc-import/cc-import.module.mjs +45 -0
- package/esm2020/contact-center/cc-import/cc-import.service.mjs +228 -0
- package/esm2020/contact-center/cc-import/components/import-contact-center-panel/import-contact-center-panel.component.mjs +144 -0
- package/esm2020/contact-center/cc-import/components/import-contact-center-wizard/import-contact-center-wizard.component.mjs +243 -0
- package/esm2020/contact-center/cc-import/components/import-contact-center-wizard/import-contact-center-wizard.types.mjs +3 -0
- package/esm2020/contact-center/cc-import/constants/cc-import.constants.mjs +62 -0
- package/esm2020/contact-center/cc-import/mock/cc-import.mock.mjs +78 -0
- package/esm2020/contact-center/cc-import/types/cc-import.mjs +2 -0
- package/esm2020/contact-center/cc-import/types/uccx.mjs +24 -0
- package/esm2020/contact-center/cc-readiness/cc-readiness.module.mjs +7 -6
- package/esm2020/contact-center/cc-readiness/cc-readiness.service.mjs +1 -1
- package/esm2020/contact-center/cc-readiness/widgets/licences-requirement/licences-requirement.component.mjs +7 -7
- package/esm2020/contact-center/cc-readiness/widgets/summary-grid/summary-grid.component.mjs +2 -2
- package/esm2020/contact-center/public-api.mjs +9 -1
- package/esm2020/contact-center/shared/api.endpoints.mjs +26 -1
- package/esm2020/contact-center/shared/api.service.mjs +8 -3
- package/esm2020/contact-center/shared/components/card/card.component.mjs +24 -0
- package/esm2020/contact-center/shared/dcp-api.service.mjs +26 -0
- package/esm2020/contact-center/shared/shared.module.mjs +15 -5
- package/esm2020/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.mjs +3 -3
- package/esm2020/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.mjs +2 -2
- package/esm2020/di2mt/widgets/upgrade-overview/cards/pending-activation-users/pending-activation-users.component.mjs +17 -17
- package/esm2020/lib/widgets.component.mjs +9 -9
- package/esm2020/lib/widgets.module.mjs +1 -1
- package/esm2020/lib/widgets.service.mjs +1 -1
- package/esm2020/locations/public-api.mjs +1 -1
- package/esm2020/locations/src/app.constants.mjs +1 -1
- package/esm2020/locations/src/location-confirm-dialog/location-confirm-dialog.component.mjs +3 -3
- package/esm2020/locations/src/locations.component.mjs +47 -15
- package/esm2020/locations/src/locations.module.mjs +1 -1
- package/esm2020/locations/src/material.module.mjs +1 -1
- package/esm2020/locations/src/services/api.service.mjs +1 -1
- package/esm2020/locations/src/services/locations.service.mjs +1 -1
- package/esm2020/locations/src/types/location.mjs +1 -1
- package/esm2020/locations/src/utils/app-loader/app-loader.mjs +3 -3
- package/esm2020/meetings/src/app.constants.mjs +1 -1
- package/esm2020/meetings/src/components/live-meetings/live-meetings.component.mjs +3 -3
- package/esm2020/meetings/src/components/meeting-spaces/meeting-spaces.component.mjs +3 -3
- package/esm2020/meetings/src/meetings.component.mjs +3 -3
- package/esm2020/meetings/src/meetings.module.mjs +1 -1
- package/esm2020/meetings/src/services/live-meetings.service.mjs +1 -1
- package/esm2020/meetings/src/services/meeting-spaces.service.mjs +1 -1
- package/esm2020/meetings/src/types/live-meeting.mjs +1 -1
- package/esm2020/meetings/src/types/meeting-space.mjs +1 -1
- package/esm2020/meetings/src/utils/app-loader/app-loader.mjs +3 -3
- package/esm2020/public-api.mjs +1 -1
- package/esm2020/user-creation/src/app.constants.mjs +1 -1
- package/esm2020/user-creation/src/classes/notification.mjs +1 -1
- package/esm2020/user-creation/src/classes/site.mjs +1 -1
- package/esm2020/user-creation/src/environments/environment.mjs +1 -1
- package/esm2020/user-creation/src/interfaces/user-creation-wizard.interfaces.mjs +1 -1
- package/esm2020/user-creation/src/shared/components/notification/notification.component.mjs +3 -3
- package/esm2020/user-creation/src/shared/pipes/truncate.pipe.mjs +1 -1
- package/esm2020/user-creation/src/shared/services/notification.service.mjs +1 -1
- package/esm2020/user-creation/src/shared/services/user-creation-api.service.mjs +1 -1
- package/esm2020/user-creation/src/shared/services/utils.mjs +1 -1
- package/esm2020/user-creation/src/utils/app-loader/app-loader.mjs +3 -3
- package/esm2020/user-creation/src/utils/build-savable-end-user.mjs +1 -1
- package/esm2020/user-creation/src/utils/device-default-prefix.mjs +1 -1
- package/esm2020/user-creation/src/utils/device-name-dynamic-tokens.mjs +1 -1
- package/esm2020/user-creation/src/utils/device-name-validation.mjs +1 -1
- package/esm2020/user-creation/src/utils/model.mjs +1 -1
- package/esm2020/user-creation/src/utils/parse-device-name-rule.mjs +1 -1
- package/esm2020/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.mjs +3 -3
- package/esm2020/user-device-manage/public-api.mjs +4 -1
- package/esm2020/user-device-manage/src/app.constants.mjs +9 -3
- package/esm2020/user-device-manage/src/associate-lines/associate-lines.component.mjs +311 -0
- package/esm2020/user-device-manage/src/classes/device.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/deviceProfile.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/line-association-interface.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/line-association.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/line-call-info-display.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/line-directory.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/line.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/notification.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/recording-options.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/simplified-user.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/site-defaults.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/translation-pattern.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/types.mjs +1 -1
- package/esm2020/user-device-manage/src/common-functions.mjs +1 -1
- package/esm2020/user-device-manage/src/confirm-dialog/info-dialog.component.mjs +3 -3
- package/esm2020/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.mjs +3 -3
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.mjs +3 -3
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.mjs +3 -3
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line.component.mjs +1 -1
- package/esm2020/user-device-manage/src/device-info/device-info.component.mjs +3 -3
- package/esm2020/user-device-manage/src/device-manage-widget.component.mjs +34 -17
- package/esm2020/user-device-manage/src/device-settings/device-settings.component.mjs +207 -0
- package/esm2020/user-device-manage/src/environments/environment.mjs +1 -1
- package/esm2020/user-device-manage/src/interseptors/auth.interceptor.mjs +1 -1
- package/esm2020/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +3 -3
- package/esm2020/user-device-manage/src/line-key-config/line-key-config.component.mjs +401 -0
- package/esm2020/user-device-manage/src/material.module.mjs +1 -1
- package/esm2020/user-device-manage/src/notifications/notification.component.mjs +3 -3
- package/esm2020/user-device-manage/src/pipes/mac-address.pipe.mjs +1 -1
- package/esm2020/user-device-manage/src/services/api.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/device.service.mjs +32 -2
- package/esm2020/user-device-manage/src/services/dns.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/line.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/notification.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/removeKynFromIBM.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/site-settings.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/sorting-utils.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/user.service.mjs +34 -6
- package/esm2020/user-device-manage/src/services/utils.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/validation.service.mjs +1 -1
- package/esm2020/user-device-manage/src/user-device-manage.module.mjs +19 -4
- package/esm2020/user-device-manage/src/utils/app-loader/app-loader.mjs +3 -3
- package/esm2020/user-manage/public-api.mjs +1 -1
- package/esm2020/user-manage/src/app.constants.mjs +1 -1
- package/esm2020/user-manage/src/classes/device.mjs +1 -1
- package/esm2020/user-manage/src/classes/line-association-interface.mjs +1 -1
- package/esm2020/user-manage/src/classes/line-association.mjs +1 -1
- package/esm2020/user-manage/src/classes/line-call-info-display.mjs +1 -1
- package/esm2020/user-manage/src/classes/line-directory.mjs +1 -1
- package/esm2020/user-manage/src/classes/line.mjs +1 -1
- package/esm2020/user-manage/src/classes/notification.mjs +1 -1
- package/esm2020/user-manage/src/classes/pagination.mjs +1 -1
- package/esm2020/user-manage/src/classes/recording-options.mjs +1 -1
- package/esm2020/user-manage/src/classes/simplified-user.mjs +1 -1
- package/esm2020/user-manage/src/classes/table-data.mjs +1 -1
- package/esm2020/user-manage/src/classes/translation-pattern.mjs +1 -1
- package/esm2020/user-manage/src/classes/user-list.mjs +1 -1
- package/esm2020/user-manage/src/common-functions.mjs +1 -1
- package/esm2020/user-manage/src/device-list/device-list.component.mjs +3 -3
- package/esm2020/user-manage/src/device-list/device-row/device-row.component.mjs +3 -3
- package/esm2020/user-manage/src/environments/environment.mjs +1 -1
- package/esm2020/user-manage/src/interseptors/auth.interceptor.mjs +1 -1
- package/esm2020/user-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +3 -3
- package/esm2020/user-manage/src/material.module.mjs +1 -1
- package/esm2020/user-manage/src/notifications/notification.component.mjs +3 -3
- package/esm2020/user-manage/src/removeKynFromIBM.service.mjs +1 -1
- package/esm2020/user-manage/src/services/api.service.mjs +1 -1
- package/esm2020/user-manage/src/services/dcp-api.service.mjs +1 -1
- package/esm2020/user-manage/src/services/dns.service.mjs +1 -1
- package/esm2020/user-manage/src/services/line.service.mjs +1 -1
- package/esm2020/user-manage/src/services/notification.service.mjs +1 -1
- package/esm2020/user-manage/src/services/removeKynFromIBM.service.mjs +1 -1
- package/esm2020/user-manage/src/services/site-settings.service.mjs +1 -1
- package/esm2020/user-manage/src/services/sorting-utils.service.mjs +1 -1
- package/esm2020/user-manage/src/services/user.service.mjs +1 -1
- package/esm2020/user-manage/src/services/utils.service.mjs +1 -1
- package/esm2020/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.mjs +3 -3
- package/esm2020/user-manage/src/user-info/user-info.component.mjs +3 -3
- package/esm2020/user-manage/src/user-manage-widget.component.mjs +2 -2
- package/esm2020/user-manage/src/user-manage.module.mjs +1 -1
- package/esm2020/user-manage/src/utils/app-loader/app-loader.mjs +3 -3
- package/esm2020/user-manage/src/utils/pagination/pagination.component.mjs +3 -3
- package/esm2020/users-list/public-api.mjs +1 -1
- package/esm2020/users-list/src/app.constants.mjs +1 -1
- package/esm2020/users-list/src/classes/app-location.mjs +1 -1
- package/esm2020/users-list/src/classes/device.mjs +1 -1
- package/esm2020/users-list/src/classes/line.mjs +1 -1
- package/esm2020/users-list/src/classes/move-user.mjs +1 -1
- package/esm2020/users-list/src/classes/notification.mjs +1 -1
- package/esm2020/users-list/src/classes/simlified-user.mjs +1 -1
- package/esm2020/users-list/src/classes/table-data.mjs +1 -1
- package/esm2020/users-list/src/classes/user-list.mjs +1 -1
- package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.mjs +3 -3
- package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.mjs +3 -3
- package/esm2020/users-list/src/move-user-wizard/move-user-wizard.component.mjs +3 -3
- package/esm2020/users-list/src/services/api-webex.service.mjs +1 -1
- package/esm2020/users-list/src/services/api.service.mjs +1 -1
- package/esm2020/users-list/src/services/dns.service.mjs +1 -1
- package/esm2020/users-list/src/services/events-communication.service.mjs +1 -1
- package/esm2020/users-list/src/services/notification.service.mjs +1 -1
- package/esm2020/users-list/src/services/removeKynFromIBM.service.mjs +1 -1
- package/esm2020/users-list/src/services/site-settings.service.mjs +1 -1
- package/esm2020/users-list/src/services/user.service.mjs +1 -1
- package/esm2020/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.mjs +3 -3
- package/esm2020/users-list/src/utils/app-loader/app-loader.mjs +3 -3
- package/esm2020/users-list/src/utils/common-functions.mjs +1 -1
- package/esm2020/users-list/src/utils/notifications/notification.component.mjs +3 -3
- package/esm2020/users-list/src/utils/utils.service.mjs +1 -1
- package/esm2020/workspaces/public-api.mjs +1 -1
- package/esm2020/workspaces/src/app.constants.mjs +1 -1
- package/esm2020/workspaces/src/components/workspace-detail/workspace-detail.component.mjs +17 -4
- package/esm2020/workspaces/src/components/workspace-device-detail/workspace-device-detail.component.mjs +66 -0
- package/esm2020/workspaces/src/components/workspaces-filters/workspaces-filters.component.mjs +3 -3
- package/esm2020/workspaces/src/components/workspaces-table/workspaces-table.component.mjs +6 -3
- package/esm2020/workspaces/src/material.module.mjs +1 -1
- package/esm2020/workspaces/src/services/api.service.mjs +1 -1
- package/esm2020/workspaces/src/services/workspace-detail.service.mjs +43 -1
- package/esm2020/workspaces/src/services/workspaces-migration.service.mjs +1 -1
- package/esm2020/workspaces/src/services/workspaces.service.mjs +2 -1
- package/esm2020/workspaces/src/types/workspace.mjs +1 -1
- package/esm2020/workspaces/src/utils/app-loader/app-loader.mjs +3 -3
- package/esm2020/workspaces/src/utils/device-icon.mjs +1 -1
- package/esm2020/workspaces/src/workspaces.component.mjs +8 -8
- package/esm2020/workspaces/src/workspaces.module.mjs +4 -1
- package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs +999 -128
- package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs +20 -20
- package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-locations.mjs +51 -18
- package/fesm2015/tuki-io-tuki-widgets-locations.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-meetings.mjs +8 -8
- package/fesm2015/tuki-io-tuki-widgets-meetings.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs +6 -6
- package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs +1029 -51
- package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +18 -18
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +12 -12
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-workspaces.mjs +151 -25
- package/fesm2015/tuki-io-tuki-widgets-workspaces.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets.mjs +8 -8
- package/fesm2015/tuki-io-tuki-widgets.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs +990 -128
- package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs +20 -20
- package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-locations.mjs +50 -18
- package/fesm2020/tuki-io-tuki-widgets-locations.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-meetings.mjs +8 -8
- package/fesm2020/tuki-io-tuki-widgets-meetings.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs +6 -6
- package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs +1012 -50
- package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +18 -18
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +12 -12
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-workspaces.mjs +142 -25
- package/fesm2020/tuki-io-tuki-widgets-workspaces.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets.mjs +8 -8
- package/fesm2020/tuki-io-tuki-widgets.mjs.map +1 -1
- package/locations/src/locations.component.d.ts +7 -4
- package/locations/src/services/locations.service.d.ts +1 -0
- package/locations/src/types/location.d.ts +1 -0
- package/package.json +1 -1
- package/user-device-manage/public-api.d.ts +3 -0
- package/user-device-manage/src/app.constants.d.ts +6 -0
- package/user-device-manage/src/associate-lines/associate-lines.component.d.ts +95 -0
- package/user-device-manage/src/classes/device.d.ts +15 -0
- package/user-device-manage/src/classes/deviceProfile.d.ts +5 -0
- package/user-device-manage/src/device-associated-line/device-associated-line.component.d.ts +1 -0
- package/user-device-manage/src/device-manage-widget.component.d.ts +6 -1
- package/user-device-manage/src/device-settings/device-settings.component.d.ts +53 -0
- package/user-device-manage/src/line-key-config/line-key-config.component.d.ts +84 -0
- package/user-device-manage/src/services/device.service.d.ts +6 -1
- package/user-device-manage/src/services/user.service.d.ts +2 -1
- package/user-device-manage/src/user-device-manage.module.d.ts +10 -7
- package/workspaces/src/components/workspace-detail/workspace-detail.component.d.ts +6 -1
- package/workspaces/src/components/workspace-device-detail/workspace-device-detail.component.d.ts +25 -0
- package/workspaces/src/components/workspaces-table/workspaces-table.component.d.ts +1 -0
- package/workspaces/src/services/workspace-detail.service.d.ts +2 -0
- package/workspaces/src/types/workspace.d.ts +19 -0
- package/workspaces/src/workspaces.module.d.ts +8 -7
- package/contact-center/cc-readiness/components/card/card.component.d.ts +0 -6
- package/esm2020/contact-center/cc-readiness/components/card/card.component.mjs +0 -13
|
@@ -757,4 +757,4 @@ ValidationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", ve
|
|
|
757
757
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ValidationService, decorators: [{
|
|
758
758
|
type: Injectable
|
|
759
759
|
}], ctorParameters: function () { return [{ type: i1.SiteSettingsService }]; } });
|
|
760
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItZGV2aWNlLW1hbmFnZS9zcmMvc2VydmljZXMvdmFsaWRhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RyxPQUFPLEVBQVUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUV6RCxNQUFNLGNBQWMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUM3QyxNQUFNLFFBQVEsR0FBRyxJQUFJLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUMzQyxNQUFNLFNBQVMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO0FBR3JFLE1BQU0sT0FBTyxpQkFBaUI7SUFFNUIsWUFDVSxtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQTZIbEQsaUJBQVksR0FBRyxDQUFDLFNBQWlCLEVBQUUsRUFBRTtZQUNuQyxPQUFPLENBQUMsT0FBWSxFQUFFLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFO29CQUNwQixPQUFPLElBQUksQ0FBQztpQkFDYjtnQkFDRCxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDdEQsSUFBSSxlQUFlLENBQUMsS0FBSyxJQUFJLGVBQWUsQ0FBQyxLQUFLLEtBQUssT0FBTyxDQUFDLEtBQUssRUFBRTtvQkFDcEUsT0FBTzt3QkFDTCxZQUFZLEVBQUUsSUFBSTtxQkFDbkIsQ0FB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SSxDQUFDLElBQUksR0FBRyxJQUFJLEtBQUssSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFO29CQUN4RCxPQUFPLElBQUksQ0FBQztpQkFDYjthQUNGO1lBQ0QsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7SUFtQkQsbUJBQW1CLENBQUMsSUFBUyxFQUFFLElBQVM7UUFDdEMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDbEMsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxFQUFFO1lBQzNCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDekIsT0FBTyxJQUFJLENBQUM7YUFDYjtTQUNGO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzsrR0FqekJVLGlCQUFpQjttSEFBakIsaUJBQWlCOzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTaXRlU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi9zaXRlLXNldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGV2aWNlVHlwZXMsIE1haWxib3hRdW90YXNUeXBlLCBTcGVlZERpYWxUeXBlLCBWTU5vdGlmaWNhdGlvbnNUeXBlcyB9IGZyb20gJy4vLi4vY2xhc3Nlcy90eXBlcyc7XG5pbXBvcnQgeyBEZXZpY2UsIERldmljZUtpbmQgfSBmcm9tICcuLy4uL2NsYXNzZXMvZGV2aWNlJztcblxuY29uc3Qgc3BlZWREaWFsUmVnZXggPSBuZXcgUmVnRXhwKCdeW15cIl0qJCcpO1xuY29uc3QgQkxGUmVnZXggPSBuZXcgUmVnRXhwKCdeW15cIj48JiVdKiQnKTtcbmNvbnN0IHRpbWVSZWdleCA9IG5ldyBSZWdFeHAoJ14oWzAtMV1bMC05XXxbMl1bMC0zXSk6KFswLTVdWzAtOV0pJCcpO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvblNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2l0ZVNldHRpbmdzU2VydmljZTogU2l0ZVNldHRpbmdzU2VydmljZSxcbiAgKSB7XG4gIH1cblxuICBlMTY0TWFza0xhYmVsKGNvbnRyb2w6IGFueSkge1xuICAgIGNvbnN0IHJ1bGVUZXh0ID0gYF5bMC05KiMrWF17MCwyNH0kYDtcbiAgICBjb25zdCBydWxlID0gbmV3IFJlZ0V4cChydWxlVGV4dCwgJ2cnKTtcbiAgICBpZiAoY29udHJvbC52YWx1ZSAmJiBydWxlICYmICFydWxlLnRlc3QoY29udHJvbC52YWx1ZSkpIHtcbiAgICAgIHJldHVybiB7ZTE2NE1hc2tSdWxlOiB7cnVsZTogcnVsZVRleHR9fTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBpbmRleChjb250cm9sOiBhbnkpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHBhcnNlSW50KGNvbnRyb2wudmFsdWUpO1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCBwYXR0ZXJuID0gJ15bKzAtOV0qJCc7XG4gICAgaWYgKHZhbHVlICYmICFOdW1iZXIuaXNJbnRlZ2VyKHZhbHVlKSB8fCB2YWx1ZSA8IDEgfHwgdmFsdWUgPiAxOTkpIHtcbiAgICAgIHJldHVybiB7aW5kZXhSdWxlOiB0cnVlfTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBkaXNwbGF5TGFiZWwoY29udHJvbDogYW55KSB7XG4gICAgY29uc3QgcnVsZVRleHQgPSBgXlteXCJcIlwiXCIlJjw+XXswLDMwfSRgO1xuICAgIGNvbnN0IHJ1bGUgPSBuZXcgUmVnRXhwKHJ1bGVUZXh0LCAnZycpO1xuICAgIGlmIChydWxlICYmICFydWxlLnRlc3QoY29udHJvbC52YWx1ZSkpIHtcbiAgICAgIHJldHVybiB7bGFiZWxSdWxlOiB7cnVsZTogcnVsZVRleHQsIGNvdW50OiAzMH19O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG5cblxuICBkaXNwbGF5TGFiZWxBc2NpaShjb250cm9sOiBhbnkpIHtcbiAgICBjb25zdCBydWxlVGV4dCA9ICdeW2EtekEtWjAtOSAhIyRcXCcoKSorLC4vOjs9P0BcXFxcXl9gfX4tXXswLDMwfSQnO1xuICAgIGNvbnN0IHJ1bGUgPSBuZXcgUmVnRXhwKHJ1bGVUZXh0LCAnZycpO1xuICAgIGlmIChydWxlICYmICFydWxlLnRlc3QoY29udHJvbC52YWx1ZSkpIHtcbiAgICAgIHJldHVybiB7bGFiZWxSdWxlOiB7cnVsZTogcnVsZVRleHQsIGNvdW50OiAzMH19O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJlcXVpcmVkRm9yU3BlZWREaWFsUG9zaXRpb24odHlwZTogc3RyaW5nKSB7XG5cbiAgICByZXR1cm4gKGNvbnRyb2w6IGFueSkgPT4ge1xuICAgICAgY29uc3QgcGFyZW50ID0gY29udHJvbC5wYXJlbnQ7XG4gICAgICBpZiAodHlwZSA9PT0gU3BlZWREaWFsVHlwZS5zbG90QmFzaWMgfHwgIXBhcmVudCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGlmICghY29udHJvbC52YWx1ZSkge1xuICAgICAgICByZXR1cm4ge3JlcXVpcmVkOiB0cnVlfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG4gIH1cblxuICBzcGVlZERpYWxEZXN0aW5hdGlvbigpIHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IGFueSkgPT4ge1xuICAgICAgaWYgKCFjb250cm9sIHx8ICFjb250cm9sLnZhbHVlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgY29uc3QgbnVtYmVyT3JIb3N0TmFtZUlQID0gJycgK1xuICAgICAgICAnXihbMC05XFxcXCojK1BwQ2NGZixdKykkJyArXG4gICAgICAgICd8JyArXG4gICAgICAgICdeKCcgK1xuICAgICAgICAnKFthLXpBLVowLTldKXsxLDQ3fUAnICtcbiAgICAgICAgJygnICtcbiAgICAgICAgJygoPzpbMC05XXsxLDN9XFxcXC4pezN9WzAtOV17MSwzfSknICtcbiAgICAgICAgJ3wnICtcbiAgICAgICAgJyhbYS16QS1aMC05XVthLXpBLVowLTlcXFxcLV17MSw2MX1bYS16QS1aMC05XVxcXFwuW2EtekEtWl17Mix9KScgK1xuICAgICAgICAnKScgK1xuICAgICAgICAnKSQnO1xuICAgICAgY29uc3QgcnVsZSA9IG5ldyBSZWdFeHAobnVtYmVyT3JIb3N0TmFtZUlQLCAnZycpO1xuICAgICAgaWYgKHJ1bGUgJiYgIXJ1bGUudGVzdChjb250cm9sLnZhbHVlKSkge1xuICAgICAgICByZXR1cm4ge3BhdHRlcm46IHRydWV9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcblxuICB9XG5cbiAgcmVxdWlyZWRGb3JTcGVlZERpYWxEZXN0aW5hdGlvbih0eXBlOiBzdHJpbmcpIHtcblxuICAgIHJldHVybiAoY29udHJvbDogYW55KSA9PiB7XG4gICAgICBjb25zdCBwYXJlbnQgPSBjb250cm9sLnBhcmVudDtcbiAgICAgIGlmICgoIXBhcmVudCB8fCAhcGFyZW50LmdldCgnbGFiZWwnKSkgfHwgKHR5cGUgPT09IFNwZWVkRGlhbFR5cGUuc2xvdEJhc2ljICYmICFjb250cm9sLnZhbHVlICYmICFwYXJlbnQuZ2V0KCdsYWJlbCcpLnZhbHVlKSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG4gIH1cblxuXG4gIGxhYmVsUGF0dGVybkRlcGVuZGluZ09uVHlwZShjb250cm9sOiBhbnkpIHtcbiAgICBjb25zdCBwYXJlbnQgPSBjb250cm9sPy5wYXJlbnQ7XG4gICAgaWYgKCFwYXJlbnQgfHwgIXBhcmVudC5nZXQoJ3R5cGUnKSB8fCAhY29udHJvbC52YWx1ZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IHR5cGUgPSBwYXJlbnQuZ2V0KCd0eXBlJykudmFsdWU7XG4gICAgaWYgKCF0eXBlICYmICFzcGVlZERpYWxSZWdleC50ZXN0KGNvbnRyb2wudmFsdWUpKSB7XG4gICAgICByZXR1cm4ge2xhYmVsUnVsZToge3dyb25nOiAnXCInfX07XG4gICAgfVxuICAgIGlmICh0eXBlICYmICFCTEZSZWdleC50ZXN0KGNvbnRyb2wudmFsdWUpKSB7XG4gICAgICByZXR1cm4ge2xhYmVsUnVsZToge3dyb25nOiAnXCI+PCYlJ319O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGxhYmVsUGF0dGVybkJMRihjb250cm9sOiBhbnkpIHtcbiAgICBpZiAoY29udHJvbC52YWx1ZSAmJiAhQkxGUmVnZXgudGVzdChjb250cm9sLnZhbHVlKSkge1xuICAgICAgcmV0dXJuIHtsYWJlbFJ1bGU6IHt3cm9uZzogJ1wiPjwmJSd9fTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBsYWJlbFBhdHRlcm5TcGVlZERpYWwoY29udHJvbDogYW55KSB7XG4gICAgaWYgKGNvbnRyb2w/LnZhbHVlICYmICFzcGVlZERpYWxSZWdleC50ZXN0KGNvbnRyb2wudmFsdWUpKSB7XG4gICAgICByZXR1cm4ge2xhYmVsUnVsZToge3dyb25nOiAnXCInfX07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgbWF0Y2hDb250cm9sID0gKGZpZWxkTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBhbnkpID0+IHtcbiAgICAgIGlmICghY29udHJvbD8ucGFyZW50KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgY29uc3QgbWF0Y2hpbmdDb250cm9sID0gY29udHJvbC5wYXJlbnQuZ2V0KGZpZWxkTmFtZSk7XG4gICAgICBpZiAobWF0Y2hpbmdDb250cm9sLnZhbHVlICYmIG1hdGNoaW5nQ29udHJvbC52YWx1ZSAhPT0gY29udHJvbC52YWx1ZSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG1hdGNoQ29udHJvbDogdHJ1ZVxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbiAgfTtcblxuICBtYXRjaExlbmd0aCA9IChmaWVsZE5hbWU6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiAoY29udHJvbDogYW55KSA9PiB7XG4gICAgICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sLnZhbHVlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgY29uc3QgbWF0Y2hpbmdDb250cm9sID0gY29udHJvbC5wYXJlbnQuZ2V0KGZpZWxkTmFtZSk7XG4gICAgICBpZiAoKCghY29udHJvbC52YWx1ZS5zdGFydHNXaXRoKCcrJykgJiYgIW1hdGNoaW5nQ29udHJvbC52YWx1ZS5zdGFydHNXaXRoKCcrJykpIHx8XG4gICAgICAgIChjb250cm9sLnZhbHVlLnN0YXJ0c1dpdGgoJysnKSAmJiBtYXRjaGluZ0NvbnRyb2wudmFsdWUuc3RhcnRzV2l0aCgnKycpKSkgJiZcbiAgICAgICAgKCghY29udHJvbC52YWx1ZS5zdGFydHNXaXRoKCdcXFxcKycpICYmICFtYXRjaGluZ0NvbnRyb2wudmFsdWUuc3RhcnRzV2l0aCgnXFxcXCsnKSkgfHxcbiAgICAgICAgICAoY29udHJvbC52YWx1ZS5zdGFydHNXaXRoKCdcXFxcKycpICYmIG1hdGNoaW5nQ29udHJvbC52YWx1ZS5zdGFydHNXaXRoKCdcXFxcKycpKSkgJiZcbiAgICAgICAgbWF0Y2hpbmdDb250cm9sLnZhbHVlLmxlbmd0aCAhPT0gY29udHJvbC52YWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBtYXRjaExlbmd0aDogdHJ1ZVxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbiAgfTtcblxuICBkeW5hbWljTWF4TGVuZ3RoID0gKGxlbmd0aDE6IG51bWJlciwgbGVuZ3RoMjogbnVtYmVyKSA9PiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBhbnkpID0+IHtcbiAgICAgIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBjb25zdCBtYXhMZW5ndGggPSBTdHJpbmcoY29udHJvbC52YWx1ZSkuaW5jbHVkZXMoJ1snKSA/IGxlbmd0aDEgOiBsZW5ndGgyO1xuICAgICAgaWYgKGNvbnRyb2wudmFsdWUubGVuZ3RoID4gbWF4TGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbWF4TGVuZ3RoOiB0cnVlXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuICB9O1xuXG4gIGJpZ2dlclRoYW4gPSAoZmllbGROYW1lOiBzdHJpbmcpID0+IHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IGFueSkgPT4ge1xuICAgICAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbC52YWx1ZSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1hdGNoaW5nQ29udHJvbCA9IGNvbnRyb2wucGFyZW50LmdldChmaWVsZE5hbWUpO1xuICAgICAgaWYgKG1hdGNoaW5nQ29udHJvbC52YWx1ZS5sZW5ndGggPT09IGNvbnRyb2wudmFsdWUubGVuZ3RoICYmIG1hdGNoaW5nQ29udHJvbC52YWx1ZSAmJiBtYXRjaGluZ0NvbnRyb2wudmFsdWUgPiBjb250cm9sLnZhbHVlKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgYmlnZ2VyVGhhbjogdHJ1ZVxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbiAgfTtcblxuICByZXF1aXJlZEJ5VHlwZSA9IChmaWVsZE5hbWU6IHN0cmluZywgdHlwZTogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBhbnkpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgZmllbGROYW1lID09PSAncGhvbmVTeXN0ZW0nICYmICh0eXBlID09PSBWTU5vdGlmaWNhdGlvbnNUeXBlc1snUGhvbmUgRGV2aWNlJ10gfHwgdHlwZSA9PT0gVk1Ob3RpZmljYXRpb25zVHlwZXNbJ1BhZ2VyIERldmljZSddKSB8fFxuICAgICAgICBmaWVsZE5hbWUgPT09ICdodG1sVGVtcGxhdGUnICYmIHR5cGUgPT09IFZNTm90aWZpY2F0aW9uc1R5cGVzWydIVE1MIERldmljZSddXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICByZXF1aXJlZDogdHJ1ZVxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbiAgfTtcblxuICBzbWFsbGVyVGhhblF1b3RhID0gKGZpZWxkTmFtZTogc3RyaW5nLCBxdW90YVR5cGU6IHN0cmluZywgc2Vjb25kUXVvdGFUeXBlOiBzdHJpbmcpID0+IHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IGFueSkgPT4ge1xuICAgICAgaWYgKCFjb250cm9sLnBhcmVudCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1hdGNoaW5nQ29udHJvbCA9IGNvbnRyb2wucGFyZW50LmdldChmaWVsZE5hbWUpO1xuICAgICAgY29uc3QgcXVvdGFUeXBlQ29udHJvbCA9IGNvbnRyb2wucGFyZW50LmdldChxdW90YVR5cGUpO1xuICAgICAgY29uc3Qgc2Vjb25kUXVvdGFUeXBlQ29udHJvbCA9IGNvbnRyb2wucGFyZW50LmdldChzZWNvbmRRdW90YVR5cGUpO1xuXG4gICAgICBpZiAocXVvdGFUeXBlQ29udHJvbCAmJiBzZWNvbmRRdW90YVR5cGVDb250cm9sICYmIHNlY29uZFF1b3RhVHlwZUNvbnRyb2wudmFsdWUgPT09IE1haWxib3hRdW90YXNUeXBlLnN5c3RlbSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgaWYgKHF1b3RhVHlwZUNvbnRyb2wgJiYgcXVvdGFUeXBlQ29udHJvbC52YWx1ZSA9PT0gTWFpbGJveFF1b3Rhc1R5cGUuc3lzdGVtIHx8IG1hdGNoaW5nQ29udHJvbCAmJiBtYXRjaGluZ0NvbnRyb2wudmFsdWUgJiYgcGFyc2VJbnQobWF0Y2hpbmdDb250cm9sLnZhbHVlKSA8IHBhcnNlSW50KGNvbnRyb2wudmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgc21hbGxlclRoYW46IHRydWVcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG4gIH07XG5cbiAgYmlnZ2VyVGhhblF1b3RhID0gKGZpZWxkTmFtZTogc3RyaW5nLCBxdW90YVR5cGU6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiAoY29udHJvbDogYW55KSA9PiB7XG4gICAgICBpZiAoIWNvbnRyb2w/LnBhcmVudCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1hdGNoaW5nQ29udHJvbCA9IGNvbnRyb2wucGFyZW50LmdldChmaWVsZE5hbWUpO1xuICAgICAgY29uc3QgcXVvdGFUeXBlQ29udHJvbCA9IGNvbnRyb2wucGFyZW50LmdldChxdW90YVR5cGUpO1xuXG4gICAgICBpZiAocXVvdGFUeXBlQ29udHJvbCAmJiBxdW90YVR5cGVDb250cm9sLnZhbHVlID09PSBNYWlsYm94UXVvdGFzVHlwZS5jdXN0b20gJiYgbWF0Y2hpbmdDb250cm9sLnZhbHVlICYmIHBhcnNlSW50KG1hdGNoaW5nQ29udHJvbC52YWx1ZSkgPiBwYXJzZUludChjb250cm9sLnZhbHVlKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGJpZ2dlclRoYW46IHRydWVcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG4gIH07XG5cbiAgcmFuZ2VMaW1pdCA9IChmaWVsZE5hbWU6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiAoY29udHJvbDogYW55KSA9PiB7XG4gICAgICBpZiAoIWNvbnRyb2w/LnBhcmVudCB8fCAhY29udHJvbC52YWx1ZSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1hdGNoaW5nQ29udHJvbCA9IGNvbnRyb2wucGFyZW50LmdldChmaWVsZE5hbWUpO1xuICAgICAgaWYgKChjb250cm9sLnZhbHVlIC0gbWF0Y2hpbmdDb250cm9sLnZhbHVlKSA+IDUwMDAwKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcmFuZ2VMaW1pdDogdHJ1ZVxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbiAgfTtcblxuICBjb21wYXJlcGF0dGVyblBhcnRzID0gKGZpZWxkTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBhbnkpID0+IHtcbiAgICAgIGlmICghY29udHJvbD8udmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBjb25zdCBtYXRjaGVzID0gY29udHJvbC52YWx1ZS5tYXRjaCgvXFxbKC4qPylcXF0vKTtcbiAgICAgIGlmIChtYXRjaGVzKSB7XG4gICAgICAgIGNvbnN0IHN1Ym1hdGNoID0gbWF0Y2hlc1sxXTtcbiAgICAgICAgY29uc3Qgc3VibWF0Y2hzcGxpdDogbnVtYmVyW10gPSBzdWJtYXRjaC5zcGxpdCgnLScpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN1Ym1hdGNoc3BsaXQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBpZiAoc3VibWF0Y2hzcGxpdFtpXSA+PSBzdWJtYXRjaHNwbGl0W2kgKyAxXSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgY29tcGFyZXBhdHRlcm5QYXJ0czogdHJ1ZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG4gIH07XG5cbiAgbWF0Y2hQcmVmaXggPSAoZmllbGROYW1lOiBzdHJpbmcpID0+IHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IGFueSkgPT4ge1xuICAgICAgaWYgKCFjb250cm9sPy5wYXJlbnQgfHwgIWNvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBjb25zdCBtYXRjaGluZ0NvbnRyb2wgPSBjb250cm9sLnBhcmVudC5nZXQoZmllbGROYW1lKTtcbiAgICAgIGlmICgobWF0Y2hpbmdDb250cm9sLnZhbHVlLnN0YXJ0c1dpdGgoJysnKSB8fCBjb250cm9sLnZhbHVlLnN0YXJ0c1dpdGgoJysnKSB8fCBtYXRjaGluZ0NvbnRyb2wudmFsdWUuc3RhcnRzV2l0aCgnXFxcXCsnKSB8fCBjb250cm9sLnZhbHVlLnN0YXJ0c1dpdGgoJ1xcXFwrJykpICYmIChjb250cm9sLnZhbHVlLmNoYXJBdCgwKSAhPT0gbWF0Y2hpbmdDb250cm9sLnZhbHVlLmNoYXJBdCgwKSkpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBtYXRjaFByZWZpeDogdHJ1ZVxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbiAgfTtcblxuICBkZXZpY2VOYW1lVmFsaWRhdG9yID0gKGRldmljZTogRGV2aWNlKSA9PiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBhbnkpID0+IHtcbiAgICAgIGlmICghY29udHJvbC52YWx1ZSB8fCBkZXZpY2UuZGV2aWNlS2luZCA9PT0gRGV2aWNlS2luZC5kZXZpY2VQcm9maWxlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChkZXZpY2UuaXNDdGlSb3V0ZVBvaW50KSB7XG4gICAgICAgIGxldCBlcnIgPSAnJztcbiAgICAgICAgaWYgKCFjb250cm9sLnZhbHVlLm1hdGNoKC9eW2EtekEtWjAtOS1fLl0rJC8pKSB7XG4gICAgICAgICAgZXJyID0gJ3BhdHRlcm4nO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb250cm9sLnZhbHVlLnRyaW0oKS5sZW5ndGggPiAxNSkge1xuICAgICAgICAgIGVyciA9ICdtYXhMZW5ndGgnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBlcnIgPyB7bmFtZVJ1bGU6IGVycn0gOiBudWxsO1xuICAgICAgfVxuICAgICAgaWYgKGRldmljZS5kZXZpY2VEZWZhdWx0cyAmJiAhZGV2aWNlLmlzQ3RpUm91dGVQb2ludCkge1xuICAgICAgICBjb25zdCBydWxlVGV4dCA9IGRldmljZS5kZXZpY2VEZWZhdWx0cy5kZXZpY2VOYW1lUmVnZXg7XG4gICAgICAgIGNvbnN0IHJ1bGUgPSBuZXcgUmVnRXhwKHJ1bGVUZXh0LCAnZycpO1xuICAgICAgICBjb25zdCBjYXB0aW9uID0gZGV2aWNlLmRldmljZURlZmF1bHRzPy5kZXZpY2VOYW1lRXhwbGFpbmVkO1xuICAgICAgICBjb25zdCBtYXRjaCA9IChjb250cm9sLnZhbHVlIHx8ICcnKS5tYXRjaChydWxlKSB8fCBbXTtcbiAgICAgICAgY29uc3QgZXhhY3RNYXRjaCA9IG1hdGNoICYmIGNvbnRyb2wudmFsdWUgPT09IG1hdGNoWzBdO1xuICAgICAgICBpZiAocnVsZSAmJiAhZXhhY3RNYXRjaCkge1xuICAgICAgICAgIHJldHVybiB7bmFtZVJ1bGU6IHtjYXB0aW9ufX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG4gIH07XG5cbiAgZGV2aWNlTmFtZVZhbHVlVmFsaWRhdG9yID0gKGRldmljZTogRGV2aWNlLCBkZXZpY2VOYW1lOiBzdHJpbmcpID0+IHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IGFueSkgPT4ge1xuICAgICAgaWYgKCFjb250cm9sLnZhbHVlIHx8IGRldmljZS5kZXZpY2VLaW5kID09PSBEZXZpY2VLaW5kLmRldmljZVByb2ZpbGUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKGRldmljZS5uYW1lICYmIGRldmljZS5hbHJlYWR5VXNlZE5hbWUgJiYgZGV2aWNlLm5hbWUgPT09IGRldmljZS5hbHJlYWR5VXNlZE5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHtuYW1lUnVsZTogJ2FscmVhZHlVc2VkTmFtZSd9O1xuICAgICAgfVxuICAgICAgaWYgKGRldmljZS5pc0N0aVJvdXRlUG9pbnQpIHtcbiAgICAgICAgbGV0IGVyciA9ICcnO1xuICAgICAgICBpZiAoIWRldmljZU5hbWUubWF0Y2goL15bYS16QS1aMC05LV8uXSskLykpIHtcbiAgICAgICAgICBlcnIgPSAncGF0dGVybic7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRldmljZU5hbWUudHJpbSgpLmxlbmd0aCA+IDE1KSB7XG4gICAgICAgICAgZXJyID0gJ21heExlbmd0aCc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGVyciA/IHtuYW1lUnVsZTogZXJyfSA6IG51bGw7XG4gICAgICB9XG4gICAgIGlmIChkZXZpY2UuZGV2aWNlRGVmYXVsdHMgJiYgIWRldmljZS5pc0N0aVJvdXRlUG9pbnQpIHtcbiAgICAgICBjb25zdCBydWxlVGV4dCA9IGRldmljZS5kZXZpY2VEZWZhdWx0cy5kZXZpY2VOYW1lUmVnZXg7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdEZXYgbmFtZSBydWxlIC0gJywgcnVsZVRleHQpO1xuICAgICAgICBjb25zdCBydWxlID0gbmV3IFJlZ0V4cChydWxlVGV4dCwgJ2cnKTtcbiAgICAgICAgbGV0IGNhcHRpb24gPSBkZXZpY2UuZGV2aWNlRGVmYXVsdHMuZGV2aWNlTmFtZUV4cGxhaW5lZDtcbiAgICAgICAgaWYgKCFjYXB0aW9uKSB7XG4gICAgICAgICAgY2FwdGlvbiA9IHJ1bGVUZXh0O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG1hdGNoID0gKGRldmljZU5hbWUgfHwgJycpLm1hdGNoKHJ1bGUpIHx8IFtdO1xuICAgICAgICBjb25zdCBleGFjdE1hdGNoID0gbWF0Y2ggJiYgZGV2aWNlTmFtZSA9PT0gbWF0Y2hbMF07XG4gICAgICAgIGlmIChydWxlICYmICFleGFjdE1hdGNoKSB7XG4gICAgICAgICAgcmV0dXJuIHtuYW1lUnVsZToge2NhcHRpb259fTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbiAgfTtcblxuICBkZXZpY2VEdXBsaWNhdGluZ05hbWVWYWxpZGF0b3IgPSAodXNlcjogYW55LCBwa2lkID86IHN0cmluZywgcHJlZml4Pzogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBhbnkpID0+IHtcbiAgICAgIGlmICghY29udHJvbC52YWx1ZSB8fCAhdXNlciB8fCAhdXNlci5kZXZpY2VzIHx8IHVzZXIuZGV2aWNlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgZGV2aWNlTmFtZSA9IHByZWZpeCA/IGAke3ByZWZpeH0ke2NvbnRyb2wudmFsdWV9YCA6IGNvbnRyb2wudmFsdWU7XG4gICAgICBjb25zdCBkZXZpY2VzV2l0aFRoZVNhbWVOYW1lID0gdXNlci5kZXZpY2VzLmZpbHRlcigoZGV2aWNlOiBEZXZpY2UpID0+IGRldmljZS5uYW1lID09PSBkZXZpY2VOYW1lKTtcbiAgICAgIGlmIChkZXZpY2VzV2l0aFRoZVNhbWVOYW1lLmxlbmd0aCA+IDApIHtcbiAgICAgICAgaWYgKCFwa2lkKSB7ICAvLyBGb3IgbmV3IGRldmljZVxuICAgICAgICAgIHJldHVybiB7ZHVwbGljYXRlTmFtZVJ1bGU6IHRydWV9O1xuICAgICAgICB9IGVsc2UgaWYgKHBraWQgIT09IGRldmljZXNXaXRoVGhlU2FtZU5hbWVbMF0ucGtpZCkgeyAvLyBGb3IgdXBkYXRpbmcgZGV2aWNlLCBhdm9pZCB2YWxpZGF0aW5nIHdpdGggaXRzZWxmXG4gICAgICAgICAgcmV0dXJuIHtkdXBsaWNhdGVOYW1lUnVsZTogdHJ1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG4gIH07XG5cbiAgY29uZGl0aW9uYWxSZXF1aXJlZCA9IChmaWVsZE5hbWU6IHN0cmluZywgcmVxdWlyZWRDb25kaXRpb25WYWx1ZXM6IGFueVtdKSA9PiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IHBhcmVudDEgPSBjb250cm9sLnBhcmVudDtcbiAgICAgIGlmICghcGFyZW50MSB8fCAhcGFyZW50MS5nZXQoZmllbGROYW1lKSB8fCAhcGFyZW50MS5nZXQoZmllbGROYW1lKS52YWx1ZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAocmVxdWlyZWRDb25kaXRpb25WYWx1ZXMuaW5jbHVkZXMocGFyZW50MS5nZXQoZmllbGROYW1lKS52YWx1ZSkgJiYgIWNvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICByZXF1aXJlZDogdHJ1ZVxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbiAgfTtcblxuICBjb25kaXRpb25hbFJlcXVpcmVkRm9yR3JvdXBBZG1pbiA9IChmaWVsZE5hbWU6IHN0cmluZywgcmVxdWlyZWRDb25kaXRpb25WYWx1ZXM6IGFueVtdKSA9PiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IHBhcmVudDEgPSBjb250cm9sLnBhcmVudDtcbiAgICAgIGlmICghcGFyZW50MSB8fCAhcGFyZW50MS5nZXQoZmllbGROYW1lKSB8fCAhcGFyZW50MS5nZXQoZmllbGROYW1lKS52YWx1ZSB8fCAhcGFyZW50MS5nZXQoZmllbGROYW1lKS52YWx1ZS50eXBlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChyZXF1aXJlZENvbmRpdGlvblZhbHVlcy5pbmNsdWRlcyhwYXJlbnQxLmdldChmaWVsZE5hbWUpLnZhbHVlLnR5cGUpICYmICFjb250cm9sLnZhbHVlKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcmVxdWlyZWQ6IHRydWVcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG4gIH07XG5cbiAgY29uZGl0aW9uYWxTaXRlR3JvdXBDaGVja0Zvckdyb3VwQWRtaW4gPSAoZmllbGROYW1lOiBzdHJpbmcsIHJlcXVpcmVkQ29uZGl0aW9uVmFsdWVzOiBhbnlbXSkgPT4ge1xuICAgIHJldHVybiAoY29udHJvbDogYW55KSA9PiB7XG4gICAgICBjb25zdCBwYXJlbnQxID0gY29udHJvbC5wYXJlbnQ7XG4gICAgICBpZiAoIXBhcmVudDEgfHwgIXBhcmVudDEuZ2V0KGZpZWxkTmFtZSkgfHwgIXBhcmVudDEuZ2V0KGZpZWxkTmFtZSkudmFsdWUgfHwgIXBhcmVudDEuZ2V0KGZpZWxkTmFtZSkudmFsdWUudHlwZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAocGFyZW50MS5nZXQoZmllbGROYW1lKS52YWx1ZSAmJiByZXF1aXJlZENvbmRpdGlvblZhbHVlcy5pbmNsdWRlcyhwYXJlbnQxLmdldChmaWVsZE5hbWUpLnZhbHVlLnR5cGUpICYmXG4gICAgICAgIHBhcmVudDEuZ2V0KCdzaXRlR3JvdXAnKSAmJiBwYXJlbnQxLmdldCgnc2l0ZUdyb3VwJykudmFsdWUgJiZcbiAgICAgICAgcGFyZW50MS5nZXQoJ3NpdGVHcm91cCcpLnZhbHVlLnNpdGVHcm91cE1lbWJlcnMgJiYgcGFyZW50MS5nZXQoJ3NpdGVHcm91cCcpLnZhbHVlLnNpdGVHcm91cE1lbWJlcnMubGVuZ3RoIDwgMSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGhhc1NpdGVHcm91cEVycm9yOiB0cnVlXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuICB9O1xuXG4gIHJlcXVpcmVkSWZGaWVsZElzRW1wdHlGb3JCTEYgPSAoZmllbGROYW1lOiBhbnkpID0+IHtcbiAgICBjb25zdCBEQVRFX1BBVFRFUk4gPSAnXigwWzEtOV18MVswMTJdKVstIFxcLy5dKDBbMS05XXxbMTJdWzAtOV18M1swMV0pWy0gXFwvLl0oMTl8MjApXFxkXFxkJCc7XG4gICAgcmV0dXJuIChjb250cm9sOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IHBhcmVudCA9IGNvbnRyb2wucGFyZW50O1xuICAgICAgaWYgKCFwYXJlbnQgfHwgIXBhcmVudC5nZXQoZmllbGROYW1lKSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGlmICghcGFyZW50LmdldChmaWVsZE5hbWUpLnZhbHVlICYmICFjb250cm9sLnZhbHVlKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcmVxdWlyZWRFaXRoZXI6IHRydWUsXG4gICAgICAgICAgcmVxdWlyZWRCTEZETjogdHJ1ZVxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbiAgfTtcblxuXG4gIHZhbGlkRGF0ZSA9IChmaWVsZE5hbWU6IHN0cmluZykgPT4ge1xuXG4gICAgcmV0dXJuIChjb250cm9sOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IHBhcmVudCA9IGNvbnRyb2wucGFyZW50O1xuICAgICAgY29uc3QgcnVsZVRleHQgPSAnXigwWzEtOV18MVswMTJdKVstIFxcLy5dKDBbMS05XXxbMTJdWzAtOV18M1swMV0pWy0gXFwvLl0oMTl8MjApXFxkXFxkJCc7XG4gICAgICBjb25zdCBydWxlID0gbmV3IFJlZ0V4cChydWxlVGV4dCwgJ2cnKTtcbiAgICAgIGNvbnN0IHZhbCA9IGNvbnRyb2wudmFsdWUgJiYgY29udHJvbC52YWx1ZS5nZXREYXRlKCk7XG4gICAgICBpZiAocnVsZSAmJiAhcnVsZS50ZXN0KHZhbCkpIHtcbiAgICAgICAgcmV0dXJuIHtwYXR0ZXJuOiB0cnVlfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG4gIH07XG5cblxuICBtYXRjaE9wdGlvbiA9IChvcHRpb25UeXBlOiBzdHJpbmcsIGxpc3Q/OiBhbnksIGlzRnVsbExpc3Q/OiBib29sZWFuKSA9PiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBhbnkpID0+IHtcbiAgICAgIGlmICghY29udHJvbC52YWx1ZSB8fCBjb250cm9sLnZhbHVlID09PSBEZXZpY2VUeXBlcy5DVElfUk9VVEVfUE9JTlQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBsZXQgb3B0aW9uTGlzdCA9IGxpc3QgfHwgdGhpcy5nZXRPcHRpb25zTGlzdChvcHRpb25UeXBlKTtcbiAgICAgIGlmIChvcHRpb25MaXN0ICYmIG9wdGlvbkxpc3QubGVuZ3RoKSB7XG4gICAgICAgIGlmICghaXNGdWxsTGlzdCAmJiBvcHRpb25UeXBlID09PSAnZGlyZWN0b3J5TnVtYmVycycpIHtcbiAgICAgICAgICBvcHRpb25MaXN0ID0gb3B0aW9uTGlzdC5tYXAoKHN0cjogc3RyaW5nKSA9PiBzdHIuaW5kZXhPZignICcpID4gLTEgPyBzdHIuc3Vic3RyaW5nKDAsIHN0ci5pbmRleE9mKCcgJykpIDogc3RyKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIW9wdGlvbkxpc3QuaW5jbHVkZXMoY29udHJvbC52YWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbWF0Y2hPcHRpb25zOiB0cnVlXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbiAgfTtcblxuICBjb25maWRlbnRpYWxBY2Nlc3NMZXZlbCA9IChjb25maWRlbnRpYWxBY2Nlc3NNb2RlOiBzdHJpbmcpID0+IHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IGFueSkgPT4ge1xuICAgICAgaWYgKCFjb250cm9sLnZhbHVlICYmICFjb25maWRlbnRpYWxBY2Nlc3NNb2RlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgaWYgKCFjb250cm9sLnZhbHVlKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcmVxdWlyZWQ6IHRydWVcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG4gIH07XG5cbiAgbm9SZXN1bHRETiA9IChvcHRpb25UeXBlOiBzdHJpbmcsIGxpc3Q/OiBhbnkpID0+IHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IGFueSkgPT4ge1xuICAgICAgaWYgKCFjb250cm9sLnZhbHVlIHx8IGxpc3QgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBpZiAobGlzdCAmJiBsaXN0Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG5vUmVzdWx0RE5zOiB0cnVlXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuICB9O1xuXG4gIG1hdGNoRXh0ZW5zaW9uT3B0aW9uID0gKG9wdGlvblR5cGU6IHN0cmluZywgb3B0aW9uTGlzdD86IGFueSkgPT4ge1xuICAgIHJldHVybiAoY29udHJvbDogYW55KSA9PiB7XG4gICAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGNvbnRyb2wudmFsdWU7XG4gICAgICB9XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBjb25zdCBuZXdMaXN0ID0gW107XG4gICAgICBpZiAob3B0aW9uTGlzdCAmJiBvcHRpb25MaXN0Lmxlbmd0aCkge1xuICAgICAgICBvcHRpb25MaXN0LmZvckVhY2goKGxpc3Q6IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnN0IG5ld09wdGlvbkxpc3QgPSB0aGlzLmdldE1hdGNoRXhpc3RpbmdWbUxpbmVWYWx1ZShsaXN0KTtcbiAgICAgICAgICBuZXdMaXN0LnB1c2gobmV3T3B0aW9uTGlzdCk7XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGlmIChuZXdMaXN0ICYmICFuZXdMaXN0LmluY2x1ZGVzKGNvbnRyb2wudmFsdWUpKSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG1hdGNoT3B0aW9uczogdHJ1ZVxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoIW9wdGlvbkxpc3QgfHwgIW9wdGlvbkxpc3QubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbWF0Y2hPcHRpb25zOiB0cnVlXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuICB9O1xuXG4gIHB1YmxpYyBnZXRNYXRjaEV4aXN0aW5nVm1MaW5lVmFsdWUoZG5XaXRoVHlwZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBpbmQgPSBkbldpdGhUeXBlLmluZGV4T2YoJ1R5cGU6Jyk7XG4gICAgbGV0IGRuID0gZG5XaXRoVHlwZTtcbiAgICBpZiAoaW5kID4gLTEpIHtcbiAgICAgIGRuID0gZG5XaXRoVHlwZS5zbGljZSgwLCBpbmQpO1xuICAgICAgZG4gPSBkbi50cmltKCk7XG4gICAgfVxuICAgIHJldHVybiBkbjtcbiAgfVxuXG4gIHJlcXVpcmVkRWl0aGVyRm9yVm1FeHRlbnNpb24gPSAoZmllbGROYW1lMTogc3RyaW5nLCBmaWVsZE5hbWUyOiBzdHJpbmcpID0+IHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IGFueSkgPT4ge1xuICAgICAgaWYgKCFjb250cm9sLnBhcmVudCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1hdGNoQ29udHJvbDEgPSBjb250cm9sLnBhcmVudC5nZXQoZmllbGROYW1lMSkudmFsdWU7XG4gICAgICBjb25zdCBtYXRjaENvbnRyb2wyID0gY29udHJvbC5wYXJlbnQuZ2V0KGZpZWxkTmFtZTIpLnZhbHVlO1xuICAgICAgaWYgKCFtYXRjaENvbnRyb2wxICYmICFtYXRjaENvbnRyb2wyKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcmVxdWlyZWRFaXRoZXJGb3JWbUV4dGVuc2lvbjogdHJ1ZVxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbiAgfTtcblxuICByZXF1aXJlZEVpdGhlck9uZSA9IChmaWVsZE5hbWUxOiBzdHJpbmcsIGZpZWxkTmFtZTI6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiAoY29udHJvbDogYW55KSA9PiB7XG4gICAgICBpZiAoIWNvbnRyb2wucGFyZW50KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgY29uc3QgbWF0Y2hDb250cm9sMSA9IGNvbnRyb2wucGFyZW50LmdldChmaWVsZE5hbWUxKSAmJiBjb250cm9sLnBhcmVudC5nZXQoZmllbGROYW1lMSkudmFsdWU7XG4gICAgICBjb25zdCBtYXRjaENvbnRyb2wyID0gY29udHJvbC5wYXJlbnQuZ2V0KGZpZWxkTmFtZTIpICYmIGNvbnRyb2wucGFyZW50LmdldChmaWVsZE5hbWUyKS52YWx1ZTtcbiAgICAgIGlmICghbWF0Y2hDb250cm9sMSAmJiAhbWF0Y2hDb250cm9sMikge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHJlcXVpcmVkRWl0aGVyT25lOiB0cnVlXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuICB9O1xuXG4gIHJlcXVpcmVkQnlWYWx1ZSA9IChmaWVsZE5hbWU6IHN0cmluZywgcmVxdWVzdGVkRmllbGRWYWw6IGFueSkgPT4ge1xuICAgIHJldHVybiAoY29udHJvbDogYW55KSA9PiB7XG4gICAgICBpZiAoIWNvbnRyb2wgfHwgIWNvbnRyb2wucGFyZW50KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgY29uc3QgZmllbGRWYWwgPSBjb250cm9sLnBhcmVudC5nZXQoZmllbGROYW1lKSAmJiBjb250cm9sLnBhcmVudC5nZXQoZmllbGROYW1lKS52YWx1ZTtcbiAgICAgIGlmIChmaWVsZFZhbCAmJiBmaWVsZFZhbCA9PT0gcmVxdWVzdGVkRmllbGRWYWwgJiYgIWNvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICByZXF1aXJlZDogdHJ1ZVxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbiAgfTtcblxuICBPbmVFeHRlbnNpb25FbXB0eSA9IChmaWVsZE5hbWUxOiBzdHJpbmcsIGZpZWxkTmFtZTI6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiAoY29udHJvbDogYW55KSA9PiB7XG4gICAgICBpZiAoIWNvbnRyb2wucGFyZW50KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgY29uc3QgbWF0Y2hDb250cm9sMSA9IGNvbnRyb2wucGFyZW50LmdldChmaWVsZE5hbWUxKS52YWx1ZTtcbiAgICAgIGNvbnN0IG1hdGNoQ29udHJvbDIgPSBjb250cm9sLnBhcmVudC5nZXQoZmllbGROYW1lMikudmFsdWU7XG4gICAgICBpZiAobWF0Y2hDb250cm9sMSAmJiBtYXRjaENvbnRyb2wyKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgT25lRXh0ZW5zaW9uSXNFbXB0eTogdHJ1ZVxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbiAgfTtcblxuICByZXF1aXJlZEJ5Q29uZGl0aW9uID0gKHJlcXVpcmVkQnk6IHN0cmluZywgZmllbGROYW1lOiBhbnkpID0+IHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IGFueSkgPT4ge1xuICAgICAgaWYgKCFjb250cm9sLnBhcmVudCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJlcXVpcmVkQnlDb250cm9sID0gY29udHJvbC5wYXJlbnQuZ2V0KHJlcXVpcmVkQnkpLnZhbHVlO1xuICAgICAgY29uc3QgcmVxdWlyZWRDb250cm9sID0gY29udHJvbC5wYXJlbnQuZ2V0KGZpZWxkTmFtZSkudmFsdWU7XG4gICAgICBpZiAocmVxdWlyZWRCeUNvbnRyb2wgJiYgIXJlcXVpcmVkQ29udHJvbCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHJlcXVpcmVkOiB0cnVlXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuICB9O1xuXG4gIHByaXZhdGUgZ2V0T3B0aW9uc0xpc3QodG9rZW46IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICBzd2l0Y2ggKHRva2VuKSB7XG4gICAgICBjYXNlICdjc3MnOlxuICAgICAgY2FzZSAncmVyb3V0ZUNzcyc6XG4gICAgICBjYXNlICdjYWxsaW5nU2VhcmNoU3BhY2UnOlxuICAgICAgICByZXR1cm4gdGhpcy5zaXRlU2V0dGluZ3NTZXJ2aWNlLmNhbGxpbmdTZWFyY2hTcGFjZVR5cGVzO1xuICAgICAgY2FzZSAncmVyb3V0aW5nQ3NzJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuc2l0ZVNldHRpbmdzU2VydmljZS5zaXRlRGVmYXVsdHMgJiYgdGhpcy5zaXRlU2V0dGluZ3NTZXJ2aWNlLnNpdGVEZWZhdWx0cy5jc3NGaWx0ZXI7XG4gICAgICBjYXNlICdkZXZpY2VUeXBlJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuc2l0ZVNldHRpbmdzU2VydmljZS5kZXZpY2VUeXBlcztcbiAgICAgIGNhc2UgJ3JvdXRlUGFydGl0aW9uJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuc2l0ZVNldHRpbmdzU2VydmljZS5yb3V0ZVBhcnRpdGlvbk5hbWVzO1xuICAgICAgY2FzZSAncm91dGVQYXJ0aXRpb25GaWx0ZXJlZCc6XG4gICAgICAgIHJldHVybiB0aGlzLnNpdGVTZXR0aW5nc1NlcnZpY2UuZmlsdGVyZWRSb3V0ZVBhcnRpdGlvbk5hbWVzO1xuICAgICAgY2FzZSAnZGV2aWNlUG9vbHMnOlxuICAgICAgICByZXR1cm4gdGhpcy5zaXRlU2V0dGluZ3NTZXJ2aWNlLmRldmljZVBvb2xzO1xuICAgICAgY2FzZSAnYWxsUm91dGVQYXJ0aXRpb25zJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuc2l0ZVNldHRpbmdzU2VydmljZS5hbGxSb3V0ZVBhcnRpdGlvbk5hbWVzO1xuICAgICAgY2FzZSAnZGlyZWN0b3J5TnVtYmVycyc6XG4gICAgICAgIHJldHVybiB0aGlzLnNpdGVTZXR0aW5nc1NlcnZpY2UuZGlyZWN0b3J5TnVtYmVycztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gIH1cblxuICBhdXRvY29tcGxldGVUeXBlKGNvbnRyb2w6IGFueSkge1xuICAgIGlmICghY29udHJvbC52YWx1ZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgY29udHJvbC52YWx1ZSAhPT0gJ29iamVjdCcgJiYgY29udHJvbC52YWx1ZSAhPT0gJycpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN0cmluZ0VudGVyZWQ6IHRydWVcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cblxuICBwYXNzd29yZChjb250cm9sOiBhbnkpIHtcbiAgICBjb25zdCBydWxlTnVtZXJpYyA9IG5ldyBSZWdFeHAoL1xcZCsvLCAnZycpO1xuICAgIGNvbnN0IHJ1bGVDYXBpdGFscyA9IG5ldyBSZWdFeHAoL1tBLVpdKy8sICdnJyk7XG4gICAgY29uc3QgcnVsZVNtYWxsID0gbmV3IFJlZ0V4cCgvW2Etel0rLywgJ2cnKTtcbiAgICBjb25zdCBydWxlU3BlY2lhbCA9IG5ldyBSZWdFeHAoL1shQCMkJSZcXC89XFw/X1xcLiw6O1xcLVxcXFwrXSsvLCAnZycpO1xuXG4gICAgY29uc3QgaGFzTnVtZXJpYyA9ICtydWxlTnVtZXJpYy50ZXN0KGNvbnRyb2wudmFsdWUpO1xuICAgIGNvbnN0IGhhc0NhcGl0YWxzID0gK3J1bGVDYXBpdGFscy50ZXN0KGNvbnRyb2wudmFsdWUpO1xuICAgIGNvbnN0IGhhc1NtYWxsID0gK3J1bGVTbWFsbC50ZXN0KGNvbnRyb2wudmFsdWUpO1xuICAgIGNvbnN0IGhhc1NwZWNpYWwgPSArcnVsZVNwZWNpYWwudGVzdChjb250cm9sLnZhbHVlKTtcblxuICAgIGlmIChoYXNOdW1lcmljICsgaGFzQ2FwaXRhbHMgKyBoYXNTbWFsbCArIGhhc1NwZWNpYWwgPCAzKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB3ZWFrUGFzc3dvcmQ6IHRydWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB2ZXJpZnlBdXRvQW5zd2VyKGNvbnRyb2w6IGFueSkge1xuICAgIGlmICghY29udHJvbD8udmFsdWUgfHwgY29udHJvbC52YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBsZXQgYXV0b0Fuc3dlckVycm9yTGluZSA9IG51bGw7XG4gICAgaWYgKGNvbnRyb2wucGFyZW50ICYmIGNvbnRyb2wucGFyZW50LnBhcmVudCAmJiBjb250cm9sLnBhcmVudC5wYXJlbnQucGFyZW50ICYmIGNvbnRyb2wucGFyZW50LnBhcmVudC5wYXJlbnQucGFyZW50KSB7XG4gICAgICBjb25zdCBjb250cm9sU05SID0gY29udHJvbC5wYXJlbnQ7XG4gICAgICBjb25zdCBjb250cm9sVXNlciA9IGNvbnRyb2wucGFyZW50LnBhcmVudC5wYXJlbnQucGFyZW50O1xuICAgICAgY29uc3QgbGluZUFzc29jaWF0aW9ucyA9IGNvbnRyb2xTTlIuZ2V0KCdsaW5lQXNzb2NpYXRpb25zJyk7XG4gICAgICBjb25zdCBsaW5lcyA9IGNvbnRyb2xVc2VyLmdldCgnbGluZXMnKTtcbiAgICAgIGlmIChsaW5lcykge1xuICAgICAgICBsaW5lQXNzb2NpYXRpb25zLnZhbHVlLmZvckVhY2goKGxpbmVBc3NvY2lhdGlvbjogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3QgYXV0b0Fuc3dlckxpbmUgPSBsaW5lcy5jb250cm9scy5maW5kKChsaW5lOiBhbnkpID0+IGxpbmUuZ2V0KCdkaXJlY3RvcnlOdW1iZXInKS52YWx1ZS5kaXJlY3RvcnlOdW1iZXIgPT09IGxpbmVBc3NvY2lhdGlvbi5kaXJlY3RvcnlOdW1iZXIgJiYgbGluZS5nZXQoJ2RpcmVjdG9yeU51bWJlcicpLnZhbHVlLnJvdXRlUGFydGl0aW9uTmFtZSA9PT0gbGluZUFzc29jaWF0aW9uLnJvdXRlUGFydGl0aW9uTmFtZVxuICAgICAgICAgICAgJiYgbGluZS5nZXQoJ2F1dG9BbnN3ZXInKS52YWx1ZSAhPT0gJ0F1dG8gQW5zd2VyIE9mZicpO1xuICAgICAgICAgIGlmIChhdXRvQW5zd2VyTGluZSkge1xuICAgICAgICAgICAgYXV0b0Fuc3dlckVycm9yTGluZSA9IHtcbiAgICAgICAgICAgICAgYXV0b0Fuc3dlckVycm9yTGluZTogbGluZUFzc29jaWF0aW9uLmRpcmVjdG9yeU51bWJlclxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBhdXRvQW5zd2VyRXJyb3JMaW5lO1xuICB9XG5cbiAgdmVyaWZ5QmVnaW5FbmRUaW1lKGNvbnRyb2w6IGFueSkge1xuICAgIGNvbnN0IHBhcmVudCA9IGNvbnRyb2wucGFyZW50O1xuICAgIGlmICghcGFyZW50IHx8ICFwYXJlbnQuZ2V0KCdpc0FjdGl2ZScpIHx8ICFwYXJlbnQuZ2V0KCdhbGxEYXknKSB8fCAhcGFyZW50LmdldCgnZnJvbScpIHx8ICFwYXJlbnQuZ2V0KCd0bycpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAocGFyZW50LmdldCgnaXNBY3RpdmUnKS52YWx1ZSkge1xuICAgICAgaWYgKCFwYXJlbnQuZ2V0KCdhbGxEYXknKS52YWx1ZSkge1xuICAgICAgICBpZiAoIXBhcmVudC5nZXQoJ2Zyb20nKS52YWx1ZSB8fCBwYXJlbnQuZ2V0KCdmcm9tJykudmFsdWUgPT09ICdObyBPZmZpY2UgSG91cnMnXG4gICAgICAgICAgfHwgIXBhcmVudC5nZXQoJ3RvJykudmFsdWUgfHwgcGFyZW50LmdldCgndG8nKS52YWx1ZSA9PT0gJ05vIE9mZmljZSBIb3VycydcbiAgICAgICAgICB8fCBwYXJlbnQuZ2V0KCdmcm9tJykudmFsdWUgPiBwYXJlbnQuZ2V0KCd0bycpLnZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGZyb21HcmVhdGVyVGhhblRvOiB0cnVlXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdGltZShjb250cm9sOiBhbnkpIHtcbiAgICBpZiAoY29udHJvbC52YWx1ZSAmJiAhdGltZVJlZ2V4LnRlc3QoY29udHJvbC52YWx1ZSkpIHtcbiAgICAgIHJldHVybiB7dGltZUZvcm1hdDogdHJ1ZX07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cblxuICBwaW5NdWx0aUNoYXJhY3RlckNoZWNrID0gKGZpZWxkTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiAoY29udHJvbDogYW55KSA9PiB7XG4gICAgICBpZiAoIWNvbnRyb2wucGFyZW50KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgY29uc3QgbWF0Y2hpbmdDb250cm9sID0gY29udHJvbC5wYXJlbnQuZ2V0KGZpZWxkTmFtZSk7XG4gICAgICBjb25zdCBydWxlTXVsdGlDaGFyYWN0ZXIgPSBuZXcgUmVnRXhwKCcoWzAtOV0pXFxcXDF7Mn0nKTtcbiAgICAgIGlmIChtYXRjaGluZ0NvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgY29uc3QgaGFzTXVsdGlDaGFyYWN0ZXIgPSBydWxlTXVsdGlDaGFyYWN0ZXIudGVzdChtYXRjaGluZ0NvbnRyb2wudmFsdWUpO1xuICAgICAgICBpZiAoaGFzTXVsdGlDaGFyYWN0ZXIpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbXVsdGlDaGFyYWN0ZXI6IHRydWVcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfTtcblxuICBwaW5Db25zZWN1dGl2ZU51bWJlckNoZWNrID0gKGZpZWxkTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiAoY29udHJvbDogYW55KSA9PiB7XG4gICAgICBpZiAoIWNvbnRyb2wucGFyZW50KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgY29uc3QgbWF0Y2hpbmdDb250cm9sID0gY29udHJvbC5wYXJlbnQuZ2V0KGZpZWxkTmFtZSk7XG4gICAgICBjb25zdCBzdHJUb0NoZWNrID0gbWF0Y2hpbmdDb250cm9sLnZhbHVlO1xuICAgICAgaWYgKHN0clRvQ2hlY2sgJiYgc3RyVG9DaGVjay5sZW5ndGggPiAxKSB7XG4gICAgICAgIGNvbnN0IHJlc0FzYyA9IHRoaXMucGluT3JkZXJDaGVjayhzdHJUb0NoZWNrKTtcbiAgICAgICAgaWYgKHJlc0FzYyA9PT0gdHJ1ZSkge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjb25zZWN1dGl2ZU51bWJlcnM6IHRydWVcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfTtcblxuXG4gIHBpbk9yZGVyQ2hlY2soc3RyOiBzdHJpbmcpOiBhbnkge1xuICAgIGlmIChzdHIpIHtcbiAgICAgIGNvbnN0IGFycl9udW0gPSAoJycgKyBzdHIpLnNwbGl0KCcnKTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyX251bS5sZW5ndGggLSAyOyBpKyspIHtcbiAgICAgICAgY29uc3QgbnVtMSA9IHBhcnNlSW50KGFycl9udW1baV0pO1xuICAgICAgICBjb25zdCBudW0yID0gcGFyc2VJbnQoYXJyX251bVtpICsgMV0pO1xuICAgICAgICBjb25zdCBudW0zID0gcGFyc2VJbnQoYXJyX251bVtpICsgMl0pO1xuICAgICAgICBpZiAoKG51bTIgLSBudW0xKSA9PT0gMSAmJiAobnVtMyAtIG51bTIgPT09IG51bTIgLSBudW0xKSkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cblxuICBwaW5NYWlsYm94RXh0ZW5zaW9uQ2hlY2sgPSAoZmllbGROYW1lOiBzdHJpbmcsIGV4dGVuc2lvbjogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBhbnkpID0+IHtcbiAgICAgIGlmICghY29udHJvbC5wYXJlbnQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBjb25zdCBtYXRjaGluZ0NvbnRyb2wgPSBjb250cm9sLnBhcmVudC5nZXQoZmllbGROYW1lKTtcbiAgICAgIGNvbnN0IHN0clRvQ2hlY2sgPSBtYXRjaGluZ0NvbnRyb2wudmFsdWU7XG4gICAgICBpZiAoc3RyVG9DaGVjayA9PT0gZXh0ZW5zaW9uIHx8IHN0clRvQ2hlY2suaW5jbHVkZXMoZXh0ZW5zaW9uKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG1haWxib3hFeHRlbnNpb246IHRydWVcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG4gIH07XG5cbiAgaXNJdGVtQWxyZWFkeUluTGlzdChpdGVtOiBhbnksIGxpc3Q6IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmICghaXRlbSB8fCAhbGlzdCB8fCAhbGlzdC5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBsaXN0SXRlbSBvZiBsaXN0KSB7XG4gICAgICBpZiAoaXRlbS5lcXVhbHMobGlzdEl0ZW0pKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
|
|
760
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItZGV2aWNlLW1hbmFnZS9zcmMvc2VydmljZXMvdmFsaWRhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RyxPQUFPLEVBQVUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUV6RCxNQUFNLGNBQWMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUM3QyxNQUFNLFFBQVEsR0FBRyxJQUFJLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUMzQyxNQUFNLFNBQVMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO0FBR3JFLE1BQU0sT0FBTyxpQkFBaUI7SUFFNUIsWUFDVSxtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQTZIbEQsaUJBQVksR0FBRyxDQUFDLFNBQWlCLEVBQUUsRUFBRTtZQUNuQyxPQUFPLENBQUMsT0FBWSxFQUFFLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFO29CQUNwQixPQUFPLElBQUksQ0FBQztpQkFDYjtnQkFDRCxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDdEQsSUFBSSxlQUFlLENBQUMsS0FBSyxJQUFJLGVBQWUsQ0FBQyxLQUFLLEtBQUssT0FBTyxDQUFDLEtBQUssRUFBRTtvQkFDcEUsT0FBTzt3QkFDTCxZQUFZLEVBQUUsSUFBSTtxQkFDbkIsQ0FB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SSxDQUFDLElBQUksR0FBRyxJQUFJLEtBQUssSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFO29CQUN4RCxPQUFPLElBQUksQ0FBQztpQkFDYjthQUNGO1lBQ0QsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7SUFtQkQsbUJBQW1CLENBQUMsSUFBUyxFQUFFLElBQVM7UUFDdEMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDbEMsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxFQUFFO1lBQzNCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDekIsT0FBTyxJQUFJLENBQUM7YUFDYjtTQUNGO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzsrR0FqekJVLGlCQUFpQjttSEFBakIsaUJBQWlCOzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNpdGVTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuL3NpdGUtc2V0dGluZ3Muc2VydmljZSc7XHJcbmltcG9ydCB7IERldmljZVR5cGVzLCBNYWlsYm94UXVvdGFzVHlwZSwgU3BlZWREaWFsVHlwZSwgVk1Ob3RpZmljYXRpb25zVHlwZXMgfSBmcm9tICcuLy4uL2NsYXNzZXMvdHlwZXMnO1xyXG5pbXBvcnQgeyBEZXZpY2UsIERldmljZUtpbmQgfSBmcm9tICcuLy4uL2NsYXNzZXMvZGV2aWNlJztcclxuXHJcbmNvbnN0IHNwZWVkRGlhbFJlZ2V4ID0gbmV3IFJlZ0V4cCgnXlteXCJdKiQnKTtcclxuY29uc3QgQkxGUmVnZXggPSBuZXcgUmVnRXhwKCdeW15cIj48JiVdKiQnKTtcclxuY29uc3QgdGltZVJlZ2V4ID0gbmV3IFJlZ0V4cCgnXihbMC0xXVswLTldfFsyXVswLTNdKTooWzAtNV1bMC05XSkkJyk7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBWYWxpZGF0aW9uU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBzaXRlU2V0dGluZ3NTZXJ2aWNlOiBTaXRlU2V0dGluZ3NTZXJ2aWNlLFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgZTE2NE1hc2tMYWJlbChjb250cm9sOiBhbnkpIHtcclxuICAgIGNvbnN0IHJ1bGVUZXh0ID0gYF5bMC05KiMrWF17MCwyNH0kYDtcclxuICAgIGNvbnN0IHJ1bGUgPSBuZXcgUmVnRXhwKHJ1bGVUZXh0LCAnZycpO1xyXG4gICAgaWYgKGNvbnRyb2wudmFsdWUgJiYgcnVsZSAmJiAhcnVsZS50ZXN0KGNvbnRyb2wudmFsdWUpKSB7XHJcbiAgICAgIHJldHVybiB7ZTE2NE1hc2tSdWxlOiB7cnVsZTogcnVsZVRleHR9fTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgaW5kZXgoY29udHJvbDogYW55KSB7XHJcbiAgICBjb25zdCB2YWx1ZSA9IHBhcnNlSW50KGNvbnRyb2wudmFsdWUpO1xyXG4gICAgaWYgKCF2YWx1ZSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIGNvbnN0IHBhdHRlcm4gPSAnXlsrMC05XSokJztcclxuICAgIGlmICh2YWx1ZSAmJiAhTnVtYmVyLmlzSW50ZWdlcih2YWx1ZSkgfHwgdmFsdWUgPCAxIHx8IHZhbHVlID4gMTk5KSB7XHJcbiAgICAgIHJldHVybiB7aW5kZXhSdWxlOiB0cnVlfTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgZGlzcGxheUxhYmVsKGNvbnRyb2w6IGFueSkge1xyXG4gICAgY29uc3QgcnVsZVRleHQgPSBgXlteXCJcIlwiXCIlJjw+XXswLDMwfSRgO1xyXG4gICAgY29uc3QgcnVsZSA9IG5ldyBSZWdFeHAocnVsZVRleHQsICdnJyk7XHJcbiAgICBpZiAocnVsZSAmJiAhcnVsZS50ZXN0KGNvbnRyb2wudmFsdWUpKSB7XHJcbiAgICAgIHJldHVybiB7bGFiZWxSdWxlOiB7cnVsZTogcnVsZVRleHQsIGNvdW50OiAzMH19O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIGRpc3BsYXlMYWJlbEFzY2lpKGNvbnRyb2w6IGFueSkge1xyXG4gICAgY29uc3QgcnVsZVRleHQgPSAnXlthLXpBLVowLTkgISMkXFwnKCkqKywuLzo7PT9AXFxcXF5fYH1+LV17MCwzMH0kJztcclxuICAgIGNvbnN0IHJ1bGUgPSBuZXcgUmVnRXhwKHJ1bGVUZXh0LCAnZycpO1xyXG4gICAgaWYgKHJ1bGUgJiYgIXJ1bGUudGVzdChjb250cm9sLnZhbHVlKSkge1xyXG4gICAgICByZXR1cm4ge2xhYmVsUnVsZToge3J1bGU6IHJ1bGVUZXh0LCBjb3VudDogMzB9fTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcmVxdWlyZWRGb3JTcGVlZERpYWxQb3NpdGlvbih0eXBlOiBzdHJpbmcpIHtcclxuXHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBwYXJlbnQgPSBjb250cm9sLnBhcmVudDtcclxuICAgICAgaWYgKHR5cGUgPT09IFNwZWVkRGlhbFR5cGUuc2xvdEJhc2ljIHx8ICFwYXJlbnQpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHtcclxuICAgICAgICByZXR1cm4ge3JlcXVpcmVkOiB0cnVlfTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBzcGVlZERpYWxEZXN0aW5hdGlvbigpIHtcclxuICAgIHJldHVybiAoY29udHJvbDogYW55KSA9PiB7XHJcbiAgICAgIGlmICghY29udHJvbCB8fCAhY29udHJvbC52YWx1ZSkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IG51bWJlck9ySG9zdE5hbWVJUCA9ICcnICtcclxuICAgICAgICAnXihbMC05XFxcXCojK1BwQ2NGZixdKykkJyArXHJcbiAgICAgICAgJ3wnICtcclxuICAgICAgICAnXignICtcclxuICAgICAgICAnKFthLXpBLVowLTldKXsxLDQ3fUAnICtcclxuICAgICAgICAnKCcgK1xyXG4gICAgICAgICcoKD86WzAtOV17MSwzfVxcXFwuKXszfVswLTldezEsM30pJyArXHJcbiAgICAgICAgJ3wnICtcclxuICAgICAgICAnKFthLXpBLVowLTldW2EtekEtWjAtOVxcXFwtXXsxLDYxfVthLXpBLVowLTldXFxcXC5bYS16QS1aXXsyLH0pJyArXHJcbiAgICAgICAgJyknICtcclxuICAgICAgICAnKSQnO1xyXG4gICAgICBjb25zdCBydWxlID0gbmV3IFJlZ0V4cChudW1iZXJPckhvc3ROYW1lSVAsICdnJyk7XHJcbiAgICAgIGlmIChydWxlICYmICFydWxlLnRlc3QoY29udHJvbC52YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4ge3BhdHRlcm46IHRydWV9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfTtcclxuXHJcbiAgfVxyXG5cclxuICByZXF1aXJlZEZvclNwZWVkRGlhbERlc3RpbmF0aW9uKHR5cGU6IHN0cmluZykge1xyXG5cclxuICAgIHJldHVybiAoY29udHJvbDogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IHBhcmVudCA9IGNvbnRyb2wucGFyZW50O1xyXG4gICAgICBpZiAoKCFwYXJlbnQgfHwgIXBhcmVudC5nZXQoJ2xhYmVsJykpIHx8ICh0eXBlID09PSBTcGVlZERpYWxUeXBlLnNsb3RCYXNpYyAmJiAhY29udHJvbC52YWx1ZSAmJiAhcGFyZW50LmdldCgnbGFiZWwnKS52YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuXHJcbiAgbGFiZWxQYXR0ZXJuRGVwZW5kaW5nT25UeXBlKGNvbnRyb2w6IGFueSkge1xyXG4gICAgY29uc3QgcGFyZW50ID0gY29udHJvbD8ucGFyZW50O1xyXG4gICAgaWYgKCFwYXJlbnQgfHwgIXBhcmVudC5nZXQoJ3R5cGUnKSB8fCAhY29udHJvbC52YWx1ZSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIGNvbnN0IHR5cGUgPSBwYXJlbnQuZ2V0KCd0eXBlJykudmFsdWU7XHJcbiAgICBpZiAoIXR5cGUgJiYgIXNwZWVkRGlhbFJlZ2V4LnRlc3QoY29udHJvbC52YWx1ZSkpIHtcclxuICAgICAgcmV0dXJuIHtsYWJlbFJ1bGU6IHt3cm9uZzogJ1wiJ319O1xyXG4gICAgfVxyXG4gICAgaWYgKHR5cGUgJiYgIUJMRlJlZ2V4LnRlc3QoY29udHJvbC52YWx1ZSkpIHtcclxuICAgICAgcmV0dXJuIHtsYWJlbFJ1bGU6IHt3cm9uZzogJ1wiPjwmJSd9fTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgbGFiZWxQYXR0ZXJuQkxGKGNvbnRyb2w6IGFueSkge1xyXG4gICAgaWYgKGNvbnRyb2wudmFsdWUgJiYgIUJMRlJlZ2V4LnRlc3QoY29udHJvbC52YWx1ZSkpIHtcclxuICAgICAgcmV0dXJuIHtsYWJlbFJ1bGU6IHt3cm9uZzogJ1wiPjwmJSd9fTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgbGFiZWxQYXR0ZXJuU3BlZWREaWFsKGNvbnRyb2w6IGFueSkge1xyXG4gICAgaWYgKGNvbnRyb2w/LnZhbHVlICYmICFzcGVlZERpYWxSZWdleC50ZXN0KGNvbnRyb2wudmFsdWUpKSB7XHJcbiAgICAgIHJldHVybiB7bGFiZWxSdWxlOiB7d3Jvbmc6ICdcIid9fTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgbWF0Y2hDb250cm9sID0gKGZpZWxkTmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoIWNvbnRyb2w/LnBhcmVudCkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IG1hdGNoaW5nQ29udHJvbCA9IGNvbnRyb2wucGFyZW50LmdldChmaWVsZE5hbWUpO1xyXG4gICAgICBpZiAobWF0Y2hpbmdDb250cm9sLnZhbHVlICYmIG1hdGNoaW5nQ29udHJvbC52YWx1ZSAhPT0gY29udHJvbC52YWx1ZSkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBtYXRjaENvbnRyb2w6IHRydWVcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfTtcclxuICB9O1xyXG5cclxuICBtYXRjaExlbmd0aCA9IChmaWVsZE5hbWU6IHN0cmluZykgPT4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBhbnkpID0+IHtcclxuICAgICAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbC52YWx1ZSkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IG1hdGNoaW5nQ29udHJvbCA9IGNvbnRyb2wucGFyZW50LmdldChmaWVsZE5hbWUpO1xyXG4gICAgICBpZiAoKCghY29udHJvbC52YWx1ZS5zdGFydHNXaXRoKCcrJykgJiYgIW1hdGNoaW5nQ29udHJvbC52YWx1ZS5zdGFydHNXaXRoKCcrJykpIHx8XHJcbiAgICAgICAgKGNvbnRyb2wudmFsdWUuc3RhcnRzV2l0aCgnKycpICYmIG1hdGNoaW5nQ29udHJvbC52YWx1ZS5zdGFydHNXaXRoKCcrJykpKSAmJlxyXG4gICAgICAgICgoIWNvbnRyb2wudmFsdWUuc3RhcnRzV2l0aCgnXFxcXCsnKSAmJiAhbWF0Y2hpbmdDb250cm9sLnZhbHVlLnN0YXJ0c1dpdGgoJ1xcXFwrJykpIHx8XHJcbiAgICAgICAgICAoY29udHJvbC52YWx1ZS5zdGFydHNXaXRoKCdcXFxcKycpICYmIG1hdGNoaW5nQ29udHJvbC52YWx1ZS5zdGFydHNXaXRoKCdcXFxcKycpKSkgJiZcclxuICAgICAgICBtYXRjaGluZ0NvbnRyb2wudmFsdWUubGVuZ3RoICE9PSBjb250cm9sLnZhbHVlLmxlbmd0aCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBtYXRjaExlbmd0aDogdHJ1ZVxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9O1xyXG4gIH07XHJcblxyXG4gIGR5bmFtaWNNYXhMZW5ndGggPSAobGVuZ3RoMTogbnVtYmVyLCBsZW5ndGgyOiBudW1iZXIpID0+IHtcclxuICAgIHJldHVybiAoY29udHJvbDogYW55KSA9PiB7XHJcbiAgICAgIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wudmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBtYXhMZW5ndGggPSBTdHJpbmcoY29udHJvbC52YWx1ZSkuaW5jbHVkZXMoJ1snKSA/IGxlbmd0aDEgOiBsZW5ndGgyO1xyXG4gICAgICBpZiAoY29udHJvbC52YWx1ZS5sZW5ndGggPiBtYXhMZW5ndGgpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgbWF4TGVuZ3RoOiB0cnVlXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH07XHJcbiAgfTtcclxuXHJcbiAgYmlnZ2VyVGhhbiA9IChmaWVsZE5hbWU6IHN0cmluZykgPT4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBhbnkpID0+IHtcclxuICAgICAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbC52YWx1ZSkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IG1hdGNoaW5nQ29udHJvbCA9IGNvbnRyb2wucGFyZW50LmdldChmaWVsZE5hbWUpO1xyXG4gICAgICBpZiAobWF0Y2hpbmdDb250cm9sLnZhbHVlLmxlbmd0aCA9PT0gY29udHJvbC52YWx1ZS5sZW5ndGggJiYgbWF0Y2hpbmdDb250cm9sLnZhbHVlICYmIG1hdGNoaW5nQ29udHJvbC52YWx1ZSA+IGNvbnRyb2wudmFsdWUpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgYmlnZ2VyVGhhbjogdHJ1ZVxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9O1xyXG4gIH07XHJcblxyXG4gIHJlcXVpcmVkQnlUeXBlID0gKGZpZWxkTmFtZTogc3RyaW5nLCB0eXBlOiBzdHJpbmcpID0+IHtcclxuICAgIHJldHVybiAoY29udHJvbDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBmaWVsZE5hbWUgPT09ICdwaG9uZVN5c3RlbScgJiYgKHR5cGUgPT09IFZNTm90aWZpY2F0aW9uc1R5cGVzWydQaG9uZSBEZXZpY2UnXSB8fCB0eXBlID09PSBWTU5vdGlmaWNhdGlvbnNUeXBlc1snUGFnZXIgRGV2aWNlJ10pIHx8XHJcbiAgICAgICAgZmllbGROYW1lID09PSAnaHRtbFRlbXBsYXRlJyAmJiB0eXBlID09PSBWTU5vdGlmaWNhdGlvbnNUeXBlc1snSFRNTCBEZXZpY2UnXVxyXG4gICAgICApIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgcmVxdWlyZWQ6IHRydWVcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfTtcclxuICB9O1xyXG5cclxuICBzbWFsbGVyVGhhblF1b3RhID0gKGZpZWxkTmFtZTogc3RyaW5nLCBxdW90YVR5cGU6IHN0cmluZywgc2Vjb25kUXVvdGFUeXBlOiBzdHJpbmcpID0+IHtcclxuICAgIHJldHVybiAoY29udHJvbDogYW55KSA9PiB7XHJcbiAgICAgIGlmICghY29udHJvbC5wYXJlbnQpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBtYXRjaGluZ0NvbnRyb2wgPSBjb250cm9sLnBhcmVudC5nZXQoZmllbGROYW1lKTtcclxuICAgICAgY29uc3QgcXVvdGFUeXBlQ29udHJvbCA9IGNvbnRyb2wucGFyZW50LmdldChxdW90YVR5cGUpO1xyXG4gICAgICBjb25zdCBzZWNvbmRRdW90YVR5cGVDb250cm9sID0gY29udHJvbC5wYXJlbnQuZ2V0KHNlY29uZFF1b3RhVHlwZSk7XHJcblxyXG4gICAgICBpZiAocXVvdGFUeXBlQ29udHJvbCAmJiBzZWNvbmRRdW90YVR5cGVDb250cm9sICYmIHNlY29uZFF1b3RhVHlwZUNvbnRyb2wudmFsdWUgPT09IE1haWxib3hRdW90YXNUeXBlLnN5c3RlbSkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAocXVvdGFUeXBlQ29udHJvbCAmJiBxdW90YVR5cGVDb250cm9sLnZhbHVlID09PSBNYWlsYm94UXVvdGFzVHlwZS5zeXN0ZW0gfHwgbWF0Y2hpbmdDb250cm9sICYmIG1hdGNoaW5nQ29udHJvbC52YWx1ZSAmJiBwYXJzZUludChtYXRjaGluZ0NvbnRyb2wudmFsdWUpIDwgcGFyc2VJbnQoY29udHJvbC52YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgc21hbGxlclRoYW46IHRydWVcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfTtcclxuICB9O1xyXG5cclxuICBiaWdnZXJUaGFuUXVvdGEgPSAoZmllbGROYW1lOiBzdHJpbmcsIHF1b3RhVHlwZTogc3RyaW5nKSA9PiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoIWNvbnRyb2w/LnBhcmVudCkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IG1hdGNoaW5nQ29udHJvbCA9IGNvbnRyb2wucGFyZW50LmdldChmaWVsZE5hbWUpO1xyXG4gICAgICBjb25zdCBxdW90YVR5cGVDb250cm9sID0gY29udHJvbC5wYXJlbnQuZ2V0KHF1b3RhVHlwZSk7XHJcblxyXG4gICAgICBpZiAocXVvdGFUeXBlQ29udHJvbCAmJiBxdW90YVR5cGVDb250cm9sLnZhbHVlID09PSBNYWlsYm94UXVvdGFzVHlwZS5jdXN0b20gJiYgbWF0Y2hpbmdDb250cm9sLnZhbHVlICYmIHBhcnNlSW50KG1hdGNoaW5nQ29udHJvbC52YWx1ZSkgPiBwYXJzZUludChjb250cm9sLnZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBiaWdnZXJUaGFuOiB0cnVlXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH07XHJcbiAgfTtcclxuXHJcbiAgcmFuZ2VMaW1pdCA9IChmaWVsZE5hbWU6IHN0cmluZykgPT4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBhbnkpID0+IHtcclxuICAgICAgaWYgKCFjb250cm9sPy5wYXJlbnQgfHwgIWNvbnRyb2wudmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBtYXRjaGluZ0NvbnRyb2wgPSBjb250cm9sLnBhcmVudC5nZXQoZmllbGROYW1lKTtcclxuICAgICAgaWYgKChjb250cm9sLnZhbHVlIC0gbWF0Y2hpbmdDb250cm9sLnZhbHVlKSA+IDUwMDAwKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIHJhbmdlTGltaXQ6IHRydWVcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfTtcclxuICB9O1xyXG5cclxuICBjb21wYXJlcGF0dGVyblBhcnRzID0gKGZpZWxkTmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoIWNvbnRyb2w/LnZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgbWF0Y2hlcyA9IGNvbnRyb2wudmFsdWUubWF0Y2goL1xcWyguKj8pXFxdLyk7XHJcbiAgICAgIGlmIChtYXRjaGVzKSB7XHJcbiAgICAgICAgY29uc3Qgc3VibWF0Y2ggPSBtYXRjaGVzWzFdO1xyXG4gICAgICAgIGNvbnN0IHN1Ym1hdGNoc3BsaXQ6IG51bWJlcltdID0gc3VibWF0Y2guc3BsaXQoJy0nKTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN1Ym1hdGNoc3BsaXQubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIGlmIChzdWJtYXRjaHNwbGl0W2ldID49IHN1Ym1hdGNoc3BsaXRbaSArIDFdKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgY29tcGFyZXBhdHRlcm5QYXJ0czogdHJ1ZVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH07XHJcbiAgfTtcclxuXHJcbiAgbWF0Y2hQcmVmaXggPSAoZmllbGROYW1lOiBzdHJpbmcpID0+IHtcclxuICAgIHJldHVybiAoY29udHJvbDogYW55KSA9PiB7XHJcbiAgICAgIGlmICghY29udHJvbD8ucGFyZW50IHx8ICFjb250cm9sLnZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgbWF0Y2hpbmdDb250cm9sID0gY29udHJvbC5wYXJlbnQuZ2V0KGZpZWxkTmFtZSk7XHJcbiAgICAgIGlmICgobWF0Y2hpbmdDb250cm9sLnZhbHVlLnN0YXJ0c1dpdGgoJysnKSB8fCBjb250cm9sLnZhbHVlLnN0YXJ0c1dpdGgoJysnKSB8fCBtYXRjaGluZ0NvbnRyb2wudmFsdWUuc3RhcnRzV2l0aCgnXFxcXCsnKSB8fCBjb250cm9sLnZhbHVlLnN0YXJ0c1dpdGgoJ1xcXFwrJykpICYmIChjb250cm9sLnZhbHVlLmNoYXJBdCgwKSAhPT0gbWF0Y2hpbmdDb250cm9sLnZhbHVlLmNoYXJBdCgwKSkpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgbWF0Y2hQcmVmaXg6IHRydWVcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfTtcclxuICB9O1xyXG5cclxuICBkZXZpY2VOYW1lVmFsaWRhdG9yID0gKGRldmljZTogRGV2aWNlKSA9PiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoIWNvbnRyb2wudmFsdWUgfHwgZGV2aWNlLmRldmljZUtpbmQgPT09IERldmljZUtpbmQuZGV2aWNlUHJvZmlsZSkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBpZiAoZGV2aWNlLmlzQ3RpUm91dGVQb2ludCkge1xyXG4gICAgICAgIGxldCBlcnIgPSAnJztcclxuICAgICAgICBpZiAoIWNvbnRyb2wudmFsdWUubWF0Y2goL15bYS16QS1aMC05LV8uXSskLykpIHtcclxuICAgICAgICAgIGVyciA9ICdwYXR0ZXJuJztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGNvbnRyb2wudmFsdWUudHJpbSgpLmxlbmd0aCA+IDE1KSB7XHJcbiAgICAgICAgICBlcnIgPSAnbWF4TGVuZ3RoJztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGVyciA/IHtuYW1lUnVsZTogZXJyfSA6IG51bGw7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGRldmljZS5kZXZpY2VEZWZhdWx0cyAmJiAhZGV2aWNlLmlzQ3RpUm91dGVQb2ludCkge1xyXG4gICAgICAgIGNvbnN0IHJ1bGVUZXh0ID0gZGV2aWNlLmRldmljZURlZmF1bHRzLmRldmljZU5hbWVSZWdleDtcclxuICAgICAgICBjb25zdCBydWxlID0gbmV3IFJlZ0V4cChydWxlVGV4dCwgJ2cnKTtcclxuICAgICAgICBjb25zdCBjYXB0aW9uID0gZGV2aWNlLmRldmljZURlZmF1bHRzPy5kZXZpY2VOYW1lRXhwbGFpbmVkO1xyXG4gICAgICAgIGNvbnN0IG1hdGNoID0gKGNvbnRyb2wudmFsdWUgfHwgJycpLm1hdGNoKHJ1bGUpIHx8IFtdO1xyXG4gICAgICAgIGNvbnN0IGV4YWN0TWF0Y2ggPSBtYXRjaCAmJiBjb250cm9sLnZhbHVlID09PSBtYXRjaFswXTtcclxuICAgICAgICBpZiAocnVsZSAmJiAhZXhhY3RNYXRjaCkge1xyXG4gICAgICAgICAgcmV0dXJuIHtuYW1lUnVsZToge2NhcHRpb259fTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9O1xyXG4gIH07XHJcblxyXG4gIGRldmljZU5hbWVWYWx1ZVZhbGlkYXRvciA9IChkZXZpY2U6IERldmljZSwgZGV2aWNlTmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoIWNvbnRyb2wudmFsdWUgfHwgZGV2aWNlLmRldmljZUtpbmQgPT09IERldmljZUtpbmQuZGV2aWNlUHJvZmlsZSkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBpZiAoZGV2aWNlLm5hbWUgJiYgZGV2aWNlLmFscmVhZHlVc2VkTmFtZSAmJiBkZXZpY2UubmFtZSA9PT0gZGV2aWNlLmFscmVhZHlVc2VkTmFtZSkge1xyXG4gICAgICAgIHJldHVybiB7bmFtZVJ1bGU6ICdhbHJlYWR5VXNlZE5hbWUnfTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoZGV2aWNlLmlzQ3RpUm91dGVQb2ludCkge1xyXG4gICAgICAgIGxldCBlcnIgPSAnJztcclxuICAgICAgICBpZiAoIWRldmljZU5hbWUubWF0Y2goL15bYS16QS1aMC05LV8uXSskLykpIHtcclxuICAgICAgICAgIGVyciA9ICdwYXR0ZXJuJztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGRldmljZU5hbWUudHJpbSgpLmxlbmd0aCA+IDE1KSB7XHJcbiAgICAgICAgICBlcnIgPSAnbWF4TGVuZ3RoJztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGVyciA/IHtuYW1lUnVsZTogZXJyfSA6IG51bGw7XHJcbiAgICAgIH1cclxuICAgICBpZiAoZGV2aWNlLmRldmljZURlZmF1bHRzICYmICFkZXZpY2UuaXNDdGlSb3V0ZVBvaW50KSB7XHJcbiAgICAgICBjb25zdCBydWxlVGV4dCA9IGRldmljZS5kZXZpY2VEZWZhdWx0cy5kZXZpY2VOYW1lUmVnZXg7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ0RldiBuYW1lIHJ1bGUgLSAnLCBydWxlVGV4dCk7XHJcbiAgICAgICAgY29uc3QgcnVsZSA9IG5ldyBSZWdFeHAocnVsZVRleHQsICdnJyk7XHJcbiAgICAgICAgbGV0IGNhcHRpb24gPSBkZXZpY2UuZGV2aWNlRGVmYXVsdHMuZGV2aWNlTmFtZUV4cGxhaW5lZDtcclxuICAgICAgICBpZiAoIWNhcHRpb24pIHtcclxuICAgICAgICAgIGNhcHRpb24gPSBydWxlVGV4dDtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgbWF0Y2ggPSAoZGV2aWNlTmFtZSB8fCAnJykubWF0Y2gocnVsZSkgfHwgW107XHJcbiAgICAgICAgY29uc3QgZXhhY3RNYXRjaCA9IG1hdGNoICYmIGRldmljZU5hbWUgPT09IG1hdGNoWzBdO1xyXG4gICAgICAgIGlmIChydWxlICYmICFleGFjdE1hdGNoKSB7XHJcbiAgICAgICAgICByZXR1cm4ge25hbWVSdWxlOiB7Y2FwdGlvbn19O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH07XHJcbiAgfTtcclxuXHJcbiAgZGV2aWNlRHVwbGljYXRpbmdOYW1lVmFsaWRhdG9yID0gKHVzZXI6IGFueSwgcGtpZCA/OiBzdHJpbmcsIHByZWZpeD86IHN0cmluZykgPT4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBhbnkpID0+IHtcclxuICAgICAgaWYgKCFjb250cm9sLnZhbHVlIHx8ICF1c2VyIHx8ICF1c2VyLmRldmljZXMgfHwgdXNlci5kZXZpY2VzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBkZXZpY2VOYW1lID0gcHJlZml4ID8gYCR7cHJlZml4fSR7Y29udHJvbC52YWx1ZX1gIDogY29udHJvbC52YWx1ZTtcclxuICAgICAgY29uc3QgZGV2aWNlc1dpdGhUaGVTYW1lTmFtZSA9IHVzZXIuZGV2aWNlcy5maWx0ZXIoKGRldmljZTogRGV2aWNlKSA9PiBkZXZpY2UubmFtZSA9PT0gZGV2aWNlTmFtZSk7XHJcbiAgICAgIGlmIChkZXZpY2VzV2l0aFRoZVNhbWVOYW1lLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBpZiAoIXBraWQpIHsgIC8vIEZvciBuZXcgZGV2aWNlXHJcbiAgICAgICAgICByZXR1cm4ge2R1cGxpY2F0ZU5hbWVSdWxlOiB0cnVlfTtcclxuICAgICAgICB9IGVsc2UgaWYgKHBraWQgIT09IGRldmljZXNXaXRoVGhlU2FtZU5hbWVbMF0ucGtpZCkgeyAvLyBGb3IgdXBkYXRpbmcgZGV2aWNlLCBhdm9pZCB2YWxpZGF0aW5nIHdpdGggaXRzZWxmXHJcbiAgICAgICAgICByZXR1cm4ge2R1cGxpY2F0ZU5hbWVSdWxlOiB0cnVlfTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9O1xyXG4gIH07XHJcblxyXG4gIGNvbmRpdGlvbmFsUmVxdWlyZWQgPSAoZmllbGROYW1lOiBzdHJpbmcsIHJlcXVpcmVkQ29uZGl0aW9uVmFsdWVzOiBhbnlbXSkgPT4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgcGFyZW50MSA9IGNvbnRyb2wucGFyZW50O1xyXG4gICAgICBpZiAoIXBhcmVudDEgfHwgIXBhcmVudDEuZ2V0KGZpZWxkTmFtZSkgfHwgIXBhcmVudDEuZ2V0KGZpZWxkTmFtZSkudmFsdWUpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHJlcXVpcmVkQ29uZGl0aW9uVmFsdWVzLmluY2x1ZGVzKHBhcmVudDEuZ2V0KGZpZWxkTmFtZSkudmFsdWUpICYmICFjb250cm9sLnZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIHJlcXVpcmVkOiB0cnVlXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH07XHJcbiAgfTtcclxuXHJcbiAgY29uZGl0aW9uYWxSZXF1aXJlZEZvckdyb3VwQWRtaW4gPSAoZmllbGROYW1lOiBzdHJpbmcsIHJlcXVpcmVkQ29uZGl0aW9uVmFsdWVzOiBhbnlbXSkgPT4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgcGFyZW50MSA9IGNvbnRyb2wucGFyZW50O1xyXG4gICAgICBpZiAoIXBhcmVudDEgfHwgIXBhcmVudDEuZ2V0KGZpZWxkTmFtZSkgfHwgIXBhcmVudDEuZ2V0KGZpZWxkTmFtZSkudmFsdWUgfHwgIXBhcmVudDEuZ2V0KGZpZWxkTmFtZSkudmFsdWUudHlwZSkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBpZiAocmVxdWlyZWRDb25kaXRpb25WYWx1ZXMuaW5jbHVkZXMocGFyZW50MS5nZXQoZmllbGROYW1lKS52YWx1ZS50eXBlKSAmJiAhY29udHJvbC52YWx1ZSkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICByZXF1aXJlZDogdHJ1ZVxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9O1xyXG4gIH07XHJcblxyXG4gIGNvbmRpdGlvbmFsU2l0ZUdyb3VwQ2hlY2tGb3JHcm91cEFkbWluID0gKGZpZWxkTmFtZTogc3RyaW5nLCByZXF1aXJlZENvbmRpdGlvblZhbHVlczogYW55W10pID0+IHtcclxuICAgIHJldHVybiAoY29udHJvbDogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IHBhcmVudDEgPSBjb250cm9sLnBhcmVudDtcclxuICAgICAgaWYgKCFwYXJlbnQxIHx8ICFwYXJlbnQxLmdldChmaWVsZE5hbWUpIHx8ICFwYXJlbnQxLmdldChmaWVsZE5hbWUpLnZhbHVlIHx8ICFwYXJlbnQxLmdldChmaWVsZE5hbWUpLnZhbHVlLnR5cGUpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHBhcmVudDEuZ2V0KGZpZWxkTmFtZSkudmFsdWUgJiYgcmVxdWlyZWRDb25kaXRpb25WYWx1ZXMuaW5jbHVkZXMocGFyZW50MS5nZXQoZmllbGROYW1lKS52YWx1ZS50eXBlKSAmJlxyXG4gICAgICAgIHBhcmVudDEuZ2V0KCdzaXRlR3JvdXAnKSAmJiBwYXJlbnQxLmdldCgnc2l0ZUdyb3VwJykudmFsdWUgJiZcclxuICAgICAgICBwYXJlbnQxLmdldCgnc2l0ZUdyb3VwJykudmFsdWUuc2l0ZUdyb3VwTWVtYmVycyAmJiBwYXJlbnQxLmdldCgnc2l0ZUdyb3VwJykudmFsdWUuc2l0ZUdyb3VwTWVtYmVycy5sZW5ndGggPCAxKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGhhc1NpdGVHcm91cEVycm9yOiB0cnVlXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH07XHJcbiAgfTtcclxuXHJcbiAgcmVxdWlyZWRJZkZpZWxkSXNFbXB0eUZvckJMRiA9IChmaWVsZE5hbWU6IGFueSkgPT4ge1xyXG4gICAgY29uc3QgREFURV9QQVRURVJOID0gJ14oMFsxLTldfDFbMDEyXSlbLSBcXC8uXSgwWzEtOV18WzEyXVswLTldfDNbMDFdKVstIFxcLy5dKDE5fDIwKVxcZFxcZCQnO1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgcGFyZW50ID0gY29udHJvbC5wYXJlbnQ7XHJcbiAgICAgIGlmICghcGFyZW50IHx8ICFwYXJlbnQuZ2V0KGZpZWxkTmFtZSkpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIXBhcmVudC5nZXQoZmllbGROYW1lKS52YWx1ZSAmJiAhY29udHJvbC52YWx1ZSkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICByZXF1aXJlZEVpdGhlcjogdHJ1ZSxcclxuICAgICAgICAgIHJlcXVpcmVkQkxGRE46IHRydWVcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfTtcclxuICB9O1xyXG5cclxuXHJcbiAgdmFsaWREYXRlID0gKGZpZWxkTmFtZTogc3RyaW5nKSA9PiB7XHJcblxyXG4gICAgcmV0dXJuIChjb250cm9sOiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgcGFyZW50ID0gY29udHJvbC5wYXJlbnQ7XHJcbiAgICAgIGNvbnN0IHJ1bGVUZXh0ID0gJ14oMFsxLTldfDFbMDEyXSlbLSBcXC8uXSgwWzEtOV18WzEyXVswLTldfDNbMDFdKVstIFxcLy5dKDE5fDIwKVxcZFxcZCQnO1xyXG4gICAgICBjb25zdCBydWxlID0gbmV3IFJlZ0V4cChydWxlVGV4dCwgJ2cnKTtcclxuICAgICAgY29uc3QgdmFsID0gY29udHJvbC52YWx1ZSAmJiBjb250cm9sLnZhbHVlLmdldERhdGUoKTtcclxuICAgICAgaWYgKHJ1bGUgJiYgIXJ1bGUudGVzdCh2YWwpKSB7XHJcbiAgICAgICAgcmV0dXJuIHtwYXR0ZXJuOiB0cnVlfTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH07XHJcbiAgfTtcclxuXHJcblxyXG4gIG1hdGNoT3B0aW9uID0gKG9wdGlvblR5cGU6IHN0cmluZywgbGlzdD86IGFueSwgaXNGdWxsTGlzdD86IGJvb2xlYW4pID0+IHtcclxuICAgIHJldHVybiAoY29udHJvbDogYW55KSA9PiB7XHJcbiAgICAgIGlmICghY29udHJvbC52YWx1ZSB8fCBjb250cm9sLnZhbHVlID09PSBEZXZpY2VUeXBlcy5DVElfUk9VVEVfUE9JTlQpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICBsZXQgb3B0aW9uTGlzdCA9IGxpc3QgfHwgdGhpcy5nZXRPcHRpb25zTGlzdChvcHRpb25UeXBlKTtcclxuICAgICAgaWYgKG9wdGlvbkxpc3QgJiYgb3B0aW9uTGlzdC5sZW5ndGgpIHtcclxuICAgICAgICBpZiAoIWlzRnVsbExpc3QgJiYgb3B0aW9uVHlwZSA9PT0gJ2RpcmVjdG9yeU51bWJlcnMnKSB7XHJcbiAgICAgICAgICBvcHRpb25MaXN0ID0gb3B0aW9uTGlzdC5tYXAoKHN0cjogc3RyaW5nKSA9PiBzdHIuaW5kZXhPZignICcpID4gLTEgPyBzdHIuc3Vic3RyaW5nKDAsIHN0ci5pbmRleE9mKCcgJykpIDogc3RyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFvcHRpb25MaXN0LmluY2x1ZGVzKGNvbnRyb2wudmFsdWUpKSB7XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBtYXRjaE9wdGlvbnM6IHRydWVcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfTtcclxuICB9O1xyXG5cclxuICBjb25maWRlbnRpYWxBY2Nlc3NMZXZlbCA9IChjb25maWRlbnRpYWxBY2Nlc3NNb2RlOiBzdHJpbmcpID0+IHtcclxuICAgIHJldHVybiAoY29udHJvbDogYW55KSA9PiB7XHJcbiAgICAgIGlmICghY29udHJvbC52YWx1ZSAmJiAhY29uZmlkZW50aWFsQWNjZXNzTW9kZSkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghY29udHJvbC52YWx1ZSkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICByZXF1aXJlZDogdHJ1ZVxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9O1xyXG4gIH07XHJcblxyXG4gIG5vUmVzdWx0RE4gPSAob3B0aW9uVHlwZTogc3RyaW5nLCBsaXN0PzogYW55KSA9PiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoIWNvbnRyb2wudmFsdWUgfHwgbGlzdCA9PT0gbnVsbCkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChsaXN0ICYmIGxpc3QubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIG5vUmVzdWx0RE5zOiB0cnVlXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH07XHJcbiAgfTtcclxuXHJcbiAgbWF0Y2hFeHRlbnNpb25PcHRpb24gPSAob3B0aW9uVHlwZTogc3RyaW5nLCBvcHRpb25MaXN0PzogYW55KSA9PiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gY29udHJvbC52YWx1ZTtcclxuICAgICAgfVxyXG4gICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgIGNvbnN0IG5ld0xpc3QgPSBbXTtcclxuICAgICAgaWYgKG9wdGlvbkxpc3QgJiYgb3B0aW9uTGlzdC5sZW5ndGgpIHtcclxuICAgICAgICBvcHRpb25MaXN0LmZvckVhY2goKGxpc3Q6IGFueSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgbmV3T3B0aW9uTGlzdCA9IHRoaXMuZ2V0TWF0Y2hFeGlzdGluZ1ZtTGluZVZhbHVlKGxpc3QpO1xyXG4gICAgICAgICAgbmV3TGlzdC5wdXNoKG5ld09wdGlvbkxpc3QpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICBpZiAobmV3TGlzdCAmJiAhbmV3TGlzdC5pbmNsdWRlcyhjb250cm9sLnZhbHVlKSkge1xyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgbWF0Y2hPcHRpb25zOiB0cnVlXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmICghb3B0aW9uTGlzdCB8fCAhb3B0aW9uTGlzdC5sZW5ndGgpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgbWF0Y2hPcHRpb25zOiB0cnVlXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH07XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIGdldE1hdGNoRXhpc3RpbmdWbUxpbmVWYWx1ZShkbldpdGhUeXBlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgaW5kID0gZG5XaXRoVHlwZS5pbmRleE9mKCdUeXBlOicpO1xyXG4gICAgbGV0IGRuID0gZG5XaXRoVHlwZTtcclxuICAgIGlmIChpbmQgPiAtMSkge1xyXG4gICAgICBkbiA9IGRuV2l0aFR5cGUuc2xpY2UoMCwgaW5kKTtcclxuICAgICAgZG4gPSBkbi50cmltKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZG47XHJcbiAgfVxyXG5cclxuICByZXF1aXJlZEVpdGhlckZvclZtRXh0ZW5zaW9uID0gKGZpZWxkTmFtZTE6IHN0cmluZywgZmllbGROYW1lMjogc3RyaW5nKSA9PiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoIWNvbnRyb2wucGFyZW50KSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgbWF0Y2hDb250cm9sMSA9IGNvbnRyb2wucGFyZW50LmdldChmaWVsZE5hbWUxKS52YWx1ZTtcclxuICAgICAgY29uc3QgbWF0Y2hDb250cm9sMiA9IGNvbnRyb2wucGFyZW50LmdldChmaWVsZE5hbWUyKS52YWx1ZTtcclxuICAgICAgaWYgKCFtYXRjaENvbnRyb2wxICYmICFtYXRjaENvbnRyb2wyKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIHJlcXVpcmVkRWl0aGVyRm9yVm1FeHRlbnNpb246IHRydWVcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfTtcclxuICB9O1xyXG5cclxuICByZXF1aXJlZEVpdGhlck9uZSA9IChmaWVsZE5hbWUxOiBzdHJpbmcsIGZpZWxkTmFtZTI6IHN0cmluZykgPT4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBhbnkpID0+IHtcclxuICAgICAgaWYgKCFjb250cm9sLnBhcmVudCkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IG1hdGNoQ29udHJvbDEgPSBjb250cm9sLnBhcmVudC5nZXQoZmllbGROYW1lMSkgJiYgY29udHJvbC5wYXJlbnQuZ2V0KGZpZWxkTmFtZTEpLnZhbHVlO1xyXG4gICAgICBjb25zdCBtYXRjaENvbnRyb2wyID0gY29udHJvbC5wYXJlbnQuZ2V0KGZpZWxkTmFtZTIpICYmIGNvbnRyb2wucGFyZW50LmdldChmaWVsZE5hbWUyKS52YWx1ZTtcclxuICAgICAgaWYgKCFtYXRjaENvbnRyb2wxICYmICFtYXRjaENvbnRyb2wyKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIHJlcXVpcmVkRWl0aGVyT25lOiB0cnVlXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH07XHJcbiAgfTtcclxuXHJcbiAgcmVxdWlyZWRCeVZhbHVlID0gKGZpZWxkTmFtZTogc3RyaW5nLCByZXF1ZXN0ZWRGaWVsZFZhbDogYW55KSA9PiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoIWNvbnRyb2wgfHwgIWNvbnRyb2wucGFyZW50KSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgZmllbGRWYWwgPSBjb250cm9sLnBhcmVudC5nZXQoZmllbGROYW1lKSAmJiBjb250cm9sLnBhcmVudC5nZXQoZmllbGROYW1lKS52YWx1ZTtcclxuICAgICAgaWYgKGZpZWxkVmFsICYmIGZpZWxkVmFsID09PSByZXF1ZXN0ZWRGaWVsZFZhbCAmJiAhY29udHJvbC52YWx1ZSkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICByZXF1aXJlZDogdHJ1ZVxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9O1xyXG4gIH07XHJcblxyXG4gIE9uZUV4dGVuc2lvbkVtcHR5ID0gKGZpZWxkTmFtZTE6IHN0cmluZywgZmllbGROYW1lMjogc3RyaW5nKSA9PiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoIWNvbnRyb2wucGFyZW50KSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgbWF0Y2hDb250cm9sMSA9IGNvbnRyb2wucGFyZW50LmdldChmaWVsZE5hbWUxKS52YWx1ZTtcclxuICAgICAgY29uc3QgbWF0Y2hDb250cm9sMiA9IGNvbnRyb2wucGFyZW50LmdldChmaWVsZE5hbWUyKS52YWx1ZTtcclxuICAgICAgaWYgKG1hdGNoQ29udHJvbDEgJiYgbWF0Y2hDb250cm9sMikge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBPbmVFeHRlbnNpb25Jc0VtcHR5OiB0cnVlXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH07XHJcbiAgfTtcclxuXHJcbiAgcmVxdWlyZWRCeUNvbmRpdGlvbiA9IChyZXF1aXJlZEJ5OiBzdHJpbmcsIGZpZWxkTmFtZTogYW55KSA9PiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoIWNvbnRyb2wucGFyZW50KSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgcmVxdWlyZWRCeUNvbnRyb2wgPSBjb250cm9sLnBhcmVudC5nZXQocmVxdWlyZWRCeSkudmFsdWU7XHJcbiAgICAgIGNvbnN0IHJlcXVpcmVkQ29udHJvbCA9IGNvbnRyb2wucGFyZW50LmdldChmaWVsZE5hbWUpLnZhbHVlO1xyXG4gICAgICBpZiAocmVxdWlyZWRCeUNvbnRyb2wgJiYgIXJlcXVpcmVkQ29udHJvbCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICByZXF1aXJlZDogdHJ1ZVxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9O1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgZ2V0T3B0aW9uc0xpc3QodG9rZW46IHN0cmluZyk6IHN0cmluZ1tdIHtcclxuICAgIHN3aXRjaCAodG9rZW4pIHtcclxuICAgICAgY2FzZSAnY3NzJzpcclxuICAgICAgY2FzZSAncmVyb3V0ZUNzcyc6XHJcbiAgICAgIGNhc2UgJ2NhbGxpbmdTZWFyY2hTcGFjZSc6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2l0ZVNldHRpbmdzU2VydmljZS5jYWxsaW5nU2VhcmNoU3BhY2VUeXBlcztcclxuICAgICAgY2FzZSAncmVyb3V0aW5nQ3NzJzpcclxuICAgICAgICByZXR1cm4gdGhpcy5zaXRlU2V0dGluZ3NTZXJ2aWNlLnNpdGVEZWZhdWx0cyAmJiB0aGlzLnNpdGVTZXR0aW5nc1NlcnZpY2Uuc2l0ZURlZmF1bHRzLmNzc0ZpbHRlcjtcclxuICAgICAgY2FzZSAnZGV2aWNlVHlwZSc6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2l0ZVNldHRpbmdzU2VydmljZS5kZXZpY2VUeXBlcztcclxuICAgICAgY2FzZSAncm91dGVQYXJ0aXRpb24nOlxyXG4gICAgICAgIHJldHVybiB0aGlzLnNpdGVTZXR0aW5nc1NlcnZpY2Uucm91dGVQYXJ0aXRpb25OYW1lcztcclxuICAgICAgY2FzZSAncm91dGVQYXJ0aXRpb25GaWx0ZXJlZCc6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2l0ZVNldHRpbmdzU2VydmljZS5maWx0ZXJlZFJvdXRlUGFydGl0aW9uTmFtZXM7XHJcbiAgICAgIGNhc2UgJ2RldmljZVBvb2xzJzpcclxuICAgICAgICByZXR1cm4gdGhpcy5zaXRlU2V0dGluZ3NTZXJ2aWNlLmRldmljZVBvb2xzO1xyXG4gICAgICBjYXNlICdhbGxSb3V0ZVBhcnRpdGlvbnMnOlxyXG4gICAgICAgIHJldHVybiB0aGlzLnNpdGVTZXR0aW5nc1NlcnZpY2UuYWxsUm91dGVQYXJ0aXRpb25OYW1lcztcclxuICAgICAgY2FzZSAnZGlyZWN0b3J5TnVtYmVycyc6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2l0ZVNldHRpbmdzU2VydmljZS5kaXJlY3RvcnlOdW1iZXJzO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGF1dG9jb21wbGV0ZVR5cGUoY29udHJvbDogYW55KSB7XHJcbiAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICBpZiAodHlwZW9mIGNvbnRyb2wudmFsdWUgIT09ICdvYmplY3QnICYmIGNvbnRyb2wudmFsdWUgIT09ICcnKSB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgc3RyaW5nRW50ZXJlZDogdHJ1ZVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuXHJcbiAgcGFzc3dvcmQoY29udHJvbDogYW55KSB7XHJcbiAgICBjb25zdCBydWxlTnVtZXJpYyA9IG5ldyBSZWdFeHAoL1xcZCsvLCAnZycpO1xyXG4gICAgY29uc3QgcnVsZUNhcGl0YWxzID0gbmV3IFJlZ0V4cCgvW0EtWl0rLywgJ2cnKTtcclxuICAgIGNvbnN0IHJ1bGVTbWFsbCA9IG5ldyBSZWdFeHAoL1thLXpdKy8sICdnJyk7XHJcbiAgICBjb25zdCBydWxlU3BlY2lhbCA9IG5ldyBSZWdFeHAoL1shQCMkJSZcXC89XFw/X1xcLiw6O1xcLVxcXFwrXSsvLCAnZycpO1xyXG5cclxuICAgIGNvbnN0IGhhc051bWVyaWMgPSArcnVsZU51bWVyaWMudGVzdChjb250cm9sLnZhbHVlKTtcclxuICAgIGNvbnN0IGhhc0NhcGl0YWxzID0gK3J1bGVDYXBpdGFscy50ZXN0KGNvbnRyb2wudmFsdWUpO1xyXG4gICAgY29uc3QgaGFzU21hbGwgPSArcnVsZVNtYWxsLnRlc3QoY29udHJvbC52YWx1ZSk7XHJcbiAgICBjb25zdCBoYXNTcGVjaWFsID0gK3J1bGVTcGVjaWFsLnRlc3QoY29udHJvbC52YWx1ZSk7XHJcblxyXG4gICAgaWYgKGhhc051bWVyaWMgKyBoYXNDYXBpdGFscyArIGhhc1NtYWxsICsgaGFzU3BlY2lhbCA8IDMpIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICB3ZWFrUGFzc3dvcmQ6IHRydWVcclxuICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIHZlcmlmeUF1dG9BbnN3ZXIoY29udHJvbDogYW55KSB7XHJcbiAgICBpZiAoIWNvbnRyb2w/LnZhbHVlIHx8IGNvbnRyb2wudmFsdWUubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgbGV0IGF1dG9BbnN3ZXJFcnJvckxpbmUgPSBudWxsO1xyXG4gICAgaWYgKGNvbnRyb2wucGFyZW50ICYmIGNvbnRyb2wucGFyZW50LnBhcmVudCAmJiBjb250cm9sLnBhcmVudC5wYXJlbnQucGFyZW50ICYmIGNvbnRyb2wucGFyZW50LnBhcmVudC5wYXJlbnQucGFyZW50KSB7XHJcbiAgICAgIGNvbnN0IGNvbnRyb2xTTlIgPSBjb250cm9sLnBhcmVudDtcclxuICAgICAgY29uc3QgY29udHJvbFVzZXIgPSBjb250cm9sLnBhcmVudC5wYXJlbnQucGFyZW50LnBhcmVudDtcclxuICAgICAgY29uc3QgbGluZUFzc29jaWF0aW9ucyA9IGNvbnRyb2xTTlIuZ2V0KCdsaW5lQXNzb2NpYXRpb25zJyk7XHJcbiAgICAgIGNvbnN0IGxpbmVzID0gY29udHJvbFVzZXIuZ2V0KCdsaW5lcycpO1xyXG4gICAgICBpZiAobGluZXMpIHtcclxuICAgICAgICBsaW5lQXNzb2NpYXRpb25zLnZhbHVlLmZvckVhY2goKGxpbmVBc3NvY2lhdGlvbjogYW55KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBhdXRvQW5zd2VyTGluZSA9IGxpbmVzLmNvbnRyb2xzLmZpbmQoKGxpbmU6IGFueSkgPT4gbGluZS5nZXQoJ2RpcmVjdG9yeU51bWJlcicpLnZhbHVlLmRpcmVjdG9yeU51bWJlciA9PT0gbGluZUFzc29jaWF0aW9uLmRpcmVjdG9yeU51bWJlciAmJiBsaW5lLmdldCgnZGlyZWN0b3J5TnVtYmVyJykudmFsdWUucm91dGVQYXJ0aXRpb25OYW1lID09PSBsaW5lQXNzb2NpYXRpb24ucm91dGVQYXJ0aXRpb25OYW1lXHJcbiAgICAgICAgICAgICYmIGxpbmUuZ2V0KCdhdXRvQW5zd2VyJykudmFsdWUgIT09ICdBdXRvIEFuc3dlciBPZmYnKTtcclxuICAgICAgICAgIGlmIChhdXRvQW5zd2VyTGluZSkge1xyXG4gICAgICAgICAgICBhdXRvQW5zd2VyRXJyb3JMaW5lID0ge1xyXG4gICAgICAgICAgICAgIGF1dG9BbnN3ZXJFcnJvckxpbmU6IGxpbmVBc3NvY2lhdGlvbi5kaXJlY3RvcnlOdW1iZXJcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBhdXRvQW5zd2VyRXJyb3JMaW5lO1xyXG4gIH1cclxuXHJcbiAgdmVyaWZ5QmVnaW5FbmRUaW1lKGNvbnRyb2w6IGFueSkge1xyXG4gICAgY29uc3QgcGFyZW50ID0gY29udHJvbC5wYXJlbnQ7XHJcbiAgICBpZiAoIXBhcmVudCB8fCAhcGFyZW50LmdldCgnaXNBY3RpdmUnKSB8fCAhcGFyZW50LmdldCgnYWxsRGF5JykgfHwgIXBhcmVudC5nZXQoJ2Zyb20nKSB8fCAhcGFyZW50LmdldCgndG8nKSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAocGFyZW50LmdldCgnaXNBY3RpdmUnKS52YWx1ZSkge1xyXG4gICAgICBpZiAoIXBhcmVudC5nZXQoJ2FsbERheScpLnZhbHVlKSB7XHJcbiAgICAgICAgaWYgKCFwYXJlbnQuZ2V0KCdmcm9tJykudmFsdWUgfHwgcGFyZW50LmdldCgnZnJvbScpLnZhbHVlID09PSAnTm8gT2ZmaWNlIEhvdXJzJ1xyXG4gICAgICAgICAgfHwgIXBhcmVudC5nZXQoJ3RvJykudmFsdWUgfHwgcGFyZW50LmdldCgndG8nKS52YWx1ZSA9PT0gJ05vIE9mZmljZSBIb3VycydcclxuICAgICAgICAgIHx8IHBhcmVudC5nZXQoJ2Zyb20nKS52YWx1ZSA+IHBhcmVudC5nZXQoJ3RvJykudmFsdWUpIHtcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGZyb21HcmVhdGVyVGhhblRvOiB0cnVlXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgdGltZShjb250cm9sOiBhbnkpIHtcclxuICAgIGlmIChjb250cm9sLnZhbHVlICYmICF0aW1lUmVnZXgudGVzdChjb250cm9sLnZhbHVlKSkge1xyXG4gICAgICByZXR1cm4ge3RpbWVGb3JtYXQ6IHRydWV9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuXHJcbiAgcGluTXVsdGlDaGFyYWN0ZXJDaGVjayA9IChmaWVsZE5hbWU6IHN0cmluZykgPT4ge1xyXG4gICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgcmV0dXJuIChjb250cm9sOiBhbnkpID0+IHtcclxuICAgICAgaWYgKCFjb250cm9sLnBhcmVudCkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IG1hdGNoaW5nQ29udHJvbCA9IGNvbnRyb2wucGFyZW50LmdldChmaWVsZE5hbWUpO1xyXG4gICAgICBjb25zdCBydWxlTXVsdGlDaGFyYWN0ZXIgPSBuZXcgUmVnRXhwKCcoWzAtOV0pXFxcXDF7Mn0nKTtcclxuICAgICAgaWYgKG1hdGNoaW5nQ29udHJvbC52YWx1ZSkge1xyXG4gICAgICAgIGNvbnN0IGhhc011bHRpQ2hhcmFjdGVyID0gcnVsZU11bHRpQ2hhcmFjdGVyLnRlc3QobWF0Y2hpbmdDb250cm9sLnZhbHVlKTtcclxuICAgICAgICBpZiAoaGFzTXVsdGlDaGFyYWN0ZXIpIHtcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIG11bHRpQ2hhcmFjdGVyOiB0cnVlXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9O1xyXG5cclxuICBwaW5Db25zZWN1dGl2ZU51bWJlckNoZWNrID0gKGZpZWxkTmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgICAvLyBAdHMtaWdub3JlXHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoIWNvbnRyb2wucGFyZW50KSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgbWF0Y2hpbmdDb250cm9sID0gY29udHJvbC5wYXJlbnQuZ2V0KGZpZWxkTmFtZSk7XHJcbiAgICAgIGNvbnN0IHN0clRvQ2hlY2sgPSBtYXRjaGluZ0NvbnRyb2wudmFsdWU7XHJcbiAgICAgIGlmIChzdHJUb0NoZWNrICYmIHN0clRvQ2hlY2subGVuZ3RoID4gMSkge1xyXG4gICAgICAgIGNvbnN0IHJlc0FzYyA9IHRoaXMucGluT3JkZXJDaGVjayhzdHJUb0NoZWNrKTtcclxuICAgICAgICBpZiAocmVzQXNjID09PSB0cnVlKSB7XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBjb25zZWN1dGl2ZU51bWJlcnM6IHRydWVcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gIH07XHJcblxyXG5cclxuICBwaW5PcmRlckNoZWNrKHN0cjogc3RyaW5nKTogYW55IHtcclxuICAgIGlmIChzdHIpIHtcclxuICAgICAgY29uc3QgYXJyX251bSA9ICgnJyArIHN0cikuc3BsaXQoJycpO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycl9udW0ubGVuZ3RoIC0gMjsgaSsrKSB7XHJcbiAgICAgICAgY29uc3QgbnVtMSA9IHBhcnNlSW50KGFycl9udW1baV0pO1xyXG4gICAgICAgIGNvbnN0IG51bTIgPSBwYXJzZUludChhcnJfbnVtW2kgKyAxXSk7XHJcbiAgICAgICAgY29uc3QgbnVtMyA9IHBhcnNlSW50KGFycl9udW1baSArIDJdKTtcclxuICAgICAgICBpZiAoKG51bTIgLSBudW0xKSA9PT0gMSAmJiAobnVtMyAtIG51bTIgPT09IG51bTIgLSBudW0xKSkge1xyXG4gICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBwaW5NYWlsYm94RXh0ZW5zaW9uQ2hlY2sgPSAoZmllbGROYW1lOiBzdHJpbmcsIGV4dGVuc2lvbjogc3RyaW5nKSA9PiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoIWNvbnRyb2wucGFyZW50KSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgbWF0Y2hpbmdDb250cm9sID0gY29udHJvbC5wYXJlbnQuZ2V0KGZpZWxkTmFtZSk7XHJcbiAgICAgIGNvbnN0IHN0clRvQ2hlY2sgPSBtYXRjaGluZ0NvbnRyb2wudmFsdWU7XHJcbiAgICAgIGlmIChzdHJUb0NoZWNrID09PSBleHRlbnNpb24gfHwgc3RyVG9DaGVjay5pbmNsdWRlcyhleHRlbnNpb24pKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIG1haWxib3hFeHRlbnNpb246IHRydWVcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfTtcclxuICB9O1xyXG5cclxuICBpc0l0ZW1BbHJlYWR5SW5MaXN0KGl0ZW06IGFueSwgbGlzdDogYW55KTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIWl0ZW0gfHwgIWxpc3QgfHwgIWxpc3QubGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGZvciAoY29uc3QgbGlzdEl0ZW0gb2YgbGlzdCkge1xyXG4gICAgICBpZiAoaXRlbS5lcXVhbHMobGlzdEl0ZW0pKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -27,6 +27,9 @@ import { InfoDialogComponent } from './confirm-dialog/info-dialog.component';
|
|
|
27
27
|
import { ValidationService } from './services/validation.service';
|
|
28
28
|
import { DeviceInfoComponent } from './device-info/device-info.component';
|
|
29
29
|
import { MacAddressPipe } from './pipes/mac-address.pipe';
|
|
30
|
+
import { DeviceSettingsComponent } from './device-settings/device-settings.component';
|
|
31
|
+
import { LineKeyConfigComponent } from './line-key-config/line-key-config.component';
|
|
32
|
+
import { AssociateLinesComponent } from './associate-lines/associate-lines.component';
|
|
30
33
|
import * as i0 from "@angular/core";
|
|
31
34
|
export class UserDeviceManageModule {
|
|
32
35
|
}
|
|
@@ -42,13 +45,19 @@ UserDeviceManageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
|
|
|
42
45
|
AssociatedLineRowComponent,
|
|
43
46
|
InfoDialogComponent,
|
|
44
47
|
DeviceInfoComponent,
|
|
45
|
-
MacAddressPipe
|
|
48
|
+
MacAddressPipe,
|
|
49
|
+
DeviceSettingsComponent,
|
|
50
|
+
LineKeyConfigComponent,
|
|
51
|
+
AssociateLinesComponent], imports: [CommonModule,
|
|
46
52
|
BrowserModule,
|
|
47
53
|
BrowserAnimationsModule,
|
|
48
54
|
FormsModule,
|
|
49
55
|
ReactiveFormsModule,
|
|
50
56
|
HttpClientModule,
|
|
51
|
-
MaterialModule], exports: [DeviceManageWidgetComponent
|
|
57
|
+
MaterialModule], exports: [DeviceManageWidgetComponent,
|
|
58
|
+
DeviceSettingsComponent,
|
|
59
|
+
LineKeyConfigComponent,
|
|
60
|
+
AssociateLinesComponent] });
|
|
52
61
|
UserDeviceManageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserDeviceManageModule, providers: [
|
|
53
62
|
APIService,
|
|
54
63
|
UserService,
|
|
@@ -83,6 +92,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
83
92
|
InfoDialogComponent,
|
|
84
93
|
DeviceInfoComponent,
|
|
85
94
|
MacAddressPipe,
|
|
95
|
+
DeviceSettingsComponent,
|
|
96
|
+
LineKeyConfigComponent,
|
|
97
|
+
AssociateLinesComponent,
|
|
86
98
|
],
|
|
87
99
|
imports: [
|
|
88
100
|
CommonModule,
|
|
@@ -106,8 +118,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
106
118
|
{ provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true }
|
|
107
119
|
],
|
|
108
120
|
exports: [
|
|
109
|
-
DeviceManageWidgetComponent
|
|
121
|
+
DeviceManageWidgetComponent,
|
|
122
|
+
DeviceSettingsComponent,
|
|
123
|
+
LineKeyConfigComponent,
|
|
124
|
+
AssociateLinesComponent
|
|
110
125
|
]
|
|
111
126
|
}]
|
|
112
127
|
}] });
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1kZXZpY2UtbWFuYWdlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWRldmljZS1tYW5hZ2Uvc3JjL3VzZXItZGV2aWNlLW1hbmFnZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDOUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLDBCQUEwQixF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Vzt3QkFDWCxtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQixVQUFVO3dCQUNWLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLEVBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBQztxQkFDckU7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDJCQUEyQjt3QkFDM0IsdUJBQXVCO3dCQUN2QixzQkFBc0I7d0JBQ3RCLHVCQUF1QjtxQkFDeEI7aUJBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCcm93c2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBUElTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwcExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vdXRpbHMvYXBwLWxvYWRlci9hcHAtbG9hZGVyJztcclxuaW1wb3J0IHsgVXNlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3VzZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEhUVFBfSU5URVJDRVBUT1JTLCBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBBdXRoSW50ZXJjZXB0b3IgfSBmcm9tICcuL2ludGVyc2VwdG9ycy9hdXRoLmludGVyY2VwdG9yJztcclxuaW1wb3J0IHsgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4vbWF0ZXJpYWwubW9kdWxlJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZW1vdmVLeW5Gcm9tSUJNU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcmVtb3ZlS3luRnJvbUlCTS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2l0ZVNldHRpbmdzU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvc2l0ZS1zZXR0aW5ncy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTGF6eUxvYWRpbmdTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2xhenktbG9hZGluZy1zZWxlY3QvbGF6eS1sb2FkaW5nLXNlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEbnNTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9kbnMuc2VydmljZSc7XHJcbmltcG9ydCB7IExpbmVTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9saW5lLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEZXZpY2VMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9kZXZpY2UtbGlzdC9kZXZpY2UtbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEZXZpY2VNYW5hZ2VXaWRnZXRDb21wb25lbnQgfSBmcm9tICcuL2RldmljZS1tYW5hZ2Utd2lkZ2V0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERldmljZUFzc29jaWF0ZWRMaW5lQ29tcG9uZW50IH0gZnJvbSAnLi9kZXZpY2UtYXNzb2NpYXRlZC1saW5lL2RldmljZS1hc3NvY2lhdGVkLWxpbmUuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICBEZXZpY2VBc3NvY2lhdGVkTGluZUV4dGVuc2lvbkNvbXBvbmVudFxyXG59IGZyb20gJy4vZGV2aWNlLWFzc29jaWF0ZWQtbGluZS9kZXZpY2UtYXNzb2NpYXRlZC1saW5lLWV4dGVuc2lvbi9kZXZpY2UtYXNzb2NpYXRlZC1saW5lLWV4dGVuc2lvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIERldmljZUFzc29jaWF0ZWRMaW5lRGV0YWlsc0JveENvbXBvbmVudFxyXG59IGZyb20gJy4vZGV2aWNlLWFzc29jaWF0ZWQtbGluZS9kZXZpY2UtYXNzb2NpYXRlZC1saW5lLWRldGFpbHMtYm94L2RldmljZS1hc3NvY2lhdGVkLWxpbmUtZGV0YWlscy1ib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXNzb2NpYXRlZExpbmVSb3dDb21wb25lbnQgfSBmcm9tICcuL2RldmljZS1hc3NvY2lhdGVkLWxpbmUvYXNzb2NpYXRlZC1saW5lLXJvdy9hc3NvY2lhdGVkLWxpbmUtcm93LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERldmljZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2RldmljZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSW5mb0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29uZmlybS1kaWFsb2cvaW5mby1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVmFsaWRhdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3ZhbGlkYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IERldmljZUluZm9Db21wb25lbnQgfSBmcm9tICcuL2RldmljZS1pbmZvL2RldmljZS1pbmZvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hY0FkZHJlc3NQaXBlIH0gZnJvbSAnLi9waXBlcy9tYWMtYWRkcmVzcy5waXBlJztcclxuaW1wb3J0IHsgRGV2aWNlU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL2RldmljZS1zZXR0aW5ncy9kZXZpY2Utc2V0dGluZ3MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTGluZUtleUNvbmZpZ0NvbXBvbmVudCB9IGZyb20gJy4vbGluZS1rZXktY29uZmlnL2xpbmUta2V5LWNvbmZpZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBc3NvY2lhdGVMaW5lc0NvbXBvbmVudCB9IGZyb20gJy4vYXNzb2NpYXRlLWxpbmVzL2Fzc29jaWF0ZS1saW5lcy5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEFwcExvYWRlckNvbXBvbmVudCxcclxuICAgIE5vdGlmaWNhdGlvbnNDb21wb25lbnQsXHJcbiAgICBMYXp5TG9hZGluZ1NlbGVjdENvbXBvbmVudCxcclxuICAgIERldmljZUxpc3RDb21wb25lbnQsXHJcbiAgICBEZXZpY2VNYW5hZ2VXaWRnZXRDb21wb25lbnQsXHJcbiAgICBEZXZpY2VBc3NvY2lhdGVkTGluZUNvbXBvbmVudCxcclxuICAgIERldmljZUFzc29jaWF0ZWRMaW5lRXh0ZW5zaW9uQ29tcG9uZW50LFxyXG4gICAgRGV2aWNlQXNzb2NpYXRlZExpbmVEZXRhaWxzQm94Q29tcG9uZW50LFxyXG4gICAgQXNzb2NpYXRlZExpbmVSb3dDb21wb25lbnQsXHJcbiAgICBJbmZvRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgRGV2aWNlSW5mb0NvbXBvbmVudCxcclxuICAgIE1hY0FkZHJlc3NQaXBlLFxyXG4gICAgRGV2aWNlU2V0dGluZ3NDb21wb25lbnQsXHJcbiAgICBMaW5lS2V5Q29uZmlnQ29tcG9uZW50LFxyXG4gICAgQXNzb2NpYXRlTGluZXNDb21wb25lbnQsXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBCcm93c2VyTW9kdWxlLFxyXG4gICAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgTWF0ZXJpYWxNb2R1bGUsXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIEFQSVNlcnZpY2UsXHJcbiAgICBVc2VyU2VydmljZSxcclxuICAgIE5vdGlmaWNhdGlvblNlcnZpY2UsXHJcbiAgICBSZW1vdmVLeW5Gcm9tSUJNU2VydmljZSxcclxuICAgIFNpdGVTZXR0aW5nc1NlcnZpY2UsXHJcbiAgICBEbnNTZXJ2aWNlLFxyXG4gICAgTGluZVNlcnZpY2UsXHJcbiAgICBEZXZpY2VTZXJ2aWNlLFxyXG4gICAgVmFsaWRhdGlvblNlcnZpY2UsXHJcbiAgICB7cHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsIHVzZUNsYXNzOiBBdXRoSW50ZXJjZXB0b3IsIG11bHRpOiB0cnVlfVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgRGV2aWNlTWFuYWdlV2lkZ2V0Q29tcG9uZW50LFxyXG4gICAgRGV2aWNlU2V0dGluZ3NDb21wb25lbnQsXHJcbiAgICBMaW5lS2V5Q29uZmlnQ29tcG9uZW50LFxyXG4gICAgQXNzb2NpYXRlTGluZXNDb21wb25lbnRcclxuICBdXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlckRldmljZU1hbmFnZU1vZHVsZSB7XHJcbn1cclxuIl19
|
|
@@ -6,9 +6,9 @@ export class AppLoaderComponent {
|
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
8
|
AppLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
-
AppLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AppLoaderComponent, selector: "app-loader", ngImport: i0, template: "<div class=\"overlay\">\n <mat-progress-spinner\n class=\"page-spinner\"\n mode=\"indeterminate\"\n [diameter]=\"70\"\n strokeWidth=\"3\"></mat-progress-spinner>\n</div>\n", styles: [".overlay{position:fixed;width:100%;height:100%;inset:0;background-color:#fff3;z-index:200}\n"], dependencies: [{ kind: "component", type: i1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
9
|
+
AppLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AppLoaderComponent, selector: "app-loader", ngImport: i0, template: "<div class=\"overlay\">\r\n <mat-progress-spinner\r\n class=\"page-spinner\"\r\n mode=\"indeterminate\"\r\n [diameter]=\"70\"\r\n strokeWidth=\"3\"></mat-progress-spinner>\r\n</div>\r\n", styles: [".overlay{position:fixed;width:100%;height:100%;inset:0;background-color:#fff3;z-index:200}\n"], dependencies: [{ kind: "component", type: i1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
10
10
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppLoaderComponent, decorators: [{
|
|
11
11
|
type: Component,
|
|
12
|
-
args: [{ selector: 'app-loader', encapsulation: ViewEncapsulation.None, template: "<div class=\"overlay\">\n <mat-progress-spinner\n class=\"page-spinner\"\n mode=\"indeterminate\"\n [diameter]=\"70\"\n strokeWidth=\"3\"></mat-progress-spinner>\n</div>\n", styles: [".overlay{position:fixed;width:100%;height:100%;inset:0;background-color:#fff3;z-index:200}\n"] }]
|
|
12
|
+
args: [{ selector: 'app-loader', encapsulation: ViewEncapsulation.None, template: "<div class=\"overlay\">\r\n <mat-progress-spinner\r\n class=\"page-spinner\"\r\n mode=\"indeterminate\"\r\n [diameter]=\"70\"\r\n strokeWidth=\"3\"></mat-progress-spinner>\r\n</div>\r\n", styles: [".overlay{position:fixed;width:100%;height:100%;inset:0;background-color:#fff3;z-index:200}\n"] }]
|
|
13
13
|
}], ctorParameters: function () { return []; } });
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWRldmljZS1tYW5hZ2Uvc3JjL3V0aWxzL2FwcC1sb2FkZXIvYXBwLWxvYWRlci50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWRldmljZS1tYW5hZ2Uvc3JjL3V0aWxzL2FwcC1sb2FkZXIvYXBwLWxvYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFRN0QsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QjtJQUNBLENBQUM7O2dIQUZVLGtCQUFrQjtvR0FBbEIsa0JBQWtCLGtEQ1IvQix3TUFPQTs0RkRDYSxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0UsWUFBWSxpQkFHUCxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtbG9hZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXBwLWxvYWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYXBwLWxvYWRlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHBMb2FkZXJDb21wb25lbnQge1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm92ZXJsYXlcIj5cclxuICA8bWF0LXByb2dyZXNzLXNwaW5uZXJcclxuICAgIGNsYXNzPVwicGFnZS1zcGlubmVyXCJcclxuICAgIG1vZGU9XCJpbmRldGVybWluYXRlXCJcclxuICAgIFtkaWFtZXRlcl09XCI3MFwiXHJcbiAgICBzdHJva2VXaWR0aD1cIjNcIj48L21hdC1wcm9ncmVzcy1zcGlubmVyPlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -4,4 +4,4 @@ export * from "./src/services/user.service";
|
|
|
4
4
|
export * from "./src/services/utils.service";
|
|
5
5
|
export * from "./src/user-manage.module";
|
|
6
6
|
export * from "./src/user-manage-widget.component";
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLW1hbmFnZS9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLG9DQUFvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vc3JjL3NlcnZpY2VzL2FwaS5zZXJ2aWNlXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9zZXJ2aWNlcy9zaXRlLXNldHRpbmdzLnNlcnZpY2VcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vc3JjL3NlcnZpY2VzL3VzZXIuc2VydmljZVwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvc2VydmljZXMvdXRpbHMuc2VydmljZVwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvdXNlci1tYW5hZ2UubW9kdWxlXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy91c2VyLW1hbmFnZS13aWRnZXQuY29tcG9uZW50XCI7XHJcbiJdfQ==
|
|
@@ -58,4 +58,4 @@ export const RECORDING_MEDIA_SOURCE = [
|
|
|
58
58
|
"Phone Preferred"
|
|
59
59
|
];
|
|
60
60
|
export const ON_PREM_ID = 2542;
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLW1hbmFnZS9zcmMvYXBwLmNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUc7SUFDakIsVUFBVSxFQUFFLDRDQUE0QztJQUN4RCxnQkFBZ0IsRUFBRSwrREFBK0Q7SUFDakYsa0JBQWtCLEVBQUUsdUVBQXVFO0lBQzNGLDRCQUE0QixFQUFFLHVFQUF1RTtJQUNyRyw4QkFBOEIsRUFBRSx3RUFBd0U7SUFDeEcsa0JBQWtCLEVBQUUsMENBQTBDO0lBQzlELGtCQUFrQixFQUFFLHdDQUF3QztJQUM1RCxVQUFVLEVBQUUsc0NBQXNDO0lBQ2xELGtCQUFrQixFQUFFLHdCQUF3QjtJQUM1QyxRQUFRLEVBQUUsMENBQTBDO0lBQ3BELFlBQVksRUFBRSw0Q0FBNEM7SUFDMUQsYUFBYSxFQUFFLDZDQUE2QztJQUM1RCxzQkFBc0IsRUFBRSwyQ0FBMkM7SUFDbkUsV0FBVyxFQUFFLGdEQUFnRDtJQUM3RCxpQkFBaUIsRUFBRSwyRUFBMkU7SUFDOUYsaUJBQWlCLEVBQUUsMENBQTBDO0lBQzdELGNBQWMsRUFBRSxpRUFBaUU7SUFDakYsd0JBQXdCLEVBQUUsaUNBQWlDO0lBQzNELGtCQUFrQixFQUFFLGdEQUFnRDtJQUNwRSxvQkFBb0IsRUFBRSx3REFBd0Q7SUFDOUUsd0JBQXdCLEVBQUUsNENBQTRDO0lBQ3RFLDRCQUE0QixFQUFFLCtEQUErRDtJQUM3RixvQ0FBb0MsRUFBRSwrREFBK0Q7SUFDckcsa0NBQWtDLEVBQUUsbUZBQW1GO0lBQ3ZILGdDQUFnQyxFQUFFLDJEQUEyRDtJQUM3Rix1QkFBdUIsRUFBRSxtR0FBbUc7Q0FDN0gsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUMzQixLQUFLLEVBQUUsMEVBQTBFO1FBQ2pGLCtDQUErQztRQUMvQyx5REFBeUQ7Q0FDMUQsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQ2pDLElBQUksRUFBRSxFQUFFO0lBQ1IsS0FBSyxFQUFFLENBQUM7Q0FDVCxDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUc7SUFDckMsRUFBRTtJQUNGLEVBQUU7SUFDRixHQUFHO0lBQ0gsR0FBRztDQUNKLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsR0FBRztJQUNILEdBQUc7SUFDSCxHQUFHO0lBQ0gsR0FBRztDQUNKLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDN0IsR0FBRztJQUNILEdBQUc7SUFDSCxHQUFHO0lBQ0gsR0FBRztDQUNKLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRztJQUNwQyxtQkFBbUI7SUFDbkIsaUJBQWlCO0NBQ2xCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEFQSSA9IHtcclxuICBVU0VSX1RPS0VOOiAnL2FwaS9wcm92aXNpb24vOnNpdGVJZC91c2Vycy86dXNlcklkL3Rva2VuJyxcclxuICBXRUJFWF9VU0VSX1RPS0VOOiAnL2FwaS93ZWJleC9wcm92aXNpb25pbmcvY3VzdG9tZXJzLzpjdXN0b21lcklkL3BlcnNvbnMvOnVzZXJJZCcsXHJcbiAgV0VCRVhfVVNFUl9ERVZJQ0VTOiAnL2FwaS93ZWJleC9wcm92aXNpb25pbmcvY3VzdG9tZXJzLzpjdXN0b21lcklkL3BlcnNvbnMvOnVzZXJJZC9kZXZpY2VzJyxcclxuICBXRUJFWF9VU0VSX0RJUkVDVE9SWV9OVU1CRVJTOiAnL2FwaS93ZWJleC9wcm92aXNpb25pbmcvY3VzdG9tZXJzLzpjdXN0b21lcklkL3BlcnNvbnMvOnVzZXJJZC9udW1iZXJzJyxcclxuICBXRUJFWF9VU0VSX0RJUkVDVE9SWV9DQUxMRVJfSUQ6ICcvYXBpL3dlYmV4L3Byb3Zpc2lvbmluZy9jdXN0b21lcnMvOmN1c3RvbWVySWQvcGVyc29ucy86dXNlcklkL2NhbGxlcklkJyxcclxuICBVUERBVEVfVVNFUl9GSUVMRFM6ICcvYXBpL3Byb3Zpc2lvbi86c2l0ZUlkL3VzZXJGaWVsZHMvOnRva2VuJyxcclxuICBQRVJTSVNUX1VTRVJfQ0FDSEU6ICcvYXBpL3Byb3Zpc2lvbi86c2l0ZUlkL3NhdmVVc2VyLzp0b2tlbicsXHJcbiAgVVNFUl9CWV9JRDogJy9hcGkvcHJvdmlzaW9uLzpzaXRlSWQvdXNlcnMvOnVzZXJJZCcsXHJcbiAgUVVJQ0tfVVNFUlNfU0VBUkNIOiBcIi9hcGkvc2VhcmNoL3F1aWNrdXNlcnNcIixcclxuICBMT0NBVElPTjogXCIvYXBpL3Byb3Zpc2lvbi9vcHRpb25zLzpzaXRlSWQvbG9jYXRpb25zXCIsXHJcbiAgVVNFUl9MT0NBTEVTOiBcIi9hcGkvcHJvdmlzaW9uL29wdGlvbnMvOnNpdGVJZC91c2VybG9jYWxlc1wiLFxyXG4gIFVTRVJfUFJPRklMRVM6IFwiL2FwaS9wcm92aXNpb24vb3B0aW9ucy86c2l0ZUlkL3VzZXJwcm9maWxlc1wiLFxyXG4gIEFWQUlMQUJMRV9ETl9JTl9SQU5HRVM6IFwiL2FwaS9zaXRlcy86c2l0ZUlkL2F2YWlsYWJsZS1kbi1pbi1yYW5nZXNcIixcclxuICBERUxFVEVfTElORTogXCIvYXBpL3Byb3Zpc2lvbi86c2l0ZUlkL2RlbGV0ZUxpbmUvOnBraWQvOnRva2VuXCIsXHJcbiAgRElTQVNTT0NJQVRFX0xJTkU6IFwiL2FwaS9wcm92aXNpb24vOnNpdGVJZC86ZGV2aWNlTmFtZS9kZWxldGVMaW5lQXNzb2NpYXRpb24vOmxpbmVQa2lkLzp0b2tlblwiLFxyXG4gIENIRUNLX0RFTEVURV9MSU5FOiBcIi9hcGkvcHJvdmlzaW9uLzpzaXRlSWQvY2hlY2tsaW5lZGVsZXRpb25cIixcclxuICBBU1NPQ0lBVEVfTElORTogXCIvYXBpL3Byb3Zpc2lvbi86c2l0ZUlkLzpkZXZpY2VOYW1lL2NyZWF0ZUxpbmVBc3NvY2lhdGlvbi86dG9rZW5cIixcclxuICBDSEVDS19ERVNUSU5BVElPTl9OVU1CRVI6IFwiL2FwaS9wcm92aXNpb24vOnNpdGVJZC9jaGVjay1kblwiLFxyXG4gIFVQREFURV9MSU5FX0ZJRUxEUzogXCIvYXBpL3Byb3Zpc2lvbi86c2l0ZUlkL2xpbmVGaWVsZHMvOnBraWQvOnRva2VuXCIsXHJcbiAgVVBEQVRFX0RFVklDRV9GSUVMRFM6IFwiL2FwaS9wcm92aXNpb24vOnNpdGVJZC9kZXZpY2VGaWVsZHMvOmRldmljZU5hbWUvOnRva2VuXCIsXHJcbiAgVFJBTlNMQVRJT05fUEFUVEVSTl9DVUNNOiBcIi9kY3AvYXBpL3NpdGVzLzpjdWNtSWQvdHJhbnNsYXRpb24tcGF0dGVyblwiLFxyXG4gIExFQU5fVVNFUl9DT05WRVJTQVRJT05fU1RBUlQ6IFwiL2FwaS9wcm92aXNpb24vOnNpdGVJZC9sZWFuVXNlcnMvOnVzZXJJZC9sZWFuVXNlckRldGFpbHNUb2tlblwiLFxyXG4gIExFQU5fVVNFUl9ERVZJQ0VTX0NPTlZFUlNBVElPTl9TVEFSVDogXCIvYXBpL3Byb3Zpc2lvbi86c2l0ZUlkL2xlYW5Vc2Vycy86dXNlcklkL2xlYW5Vc2VyRGV2aWNlc1Rva2VuXCIsXHJcbiAgTEVBTl9VU0VSX0xJTkVTX0NPTlZFUlNBVElPTl9TVEFSVDogXCIvYXBpL3Byb3Zpc2lvbi86c2l0ZUlkL2xlYW5Vc2Vycy86dXNlcklkLzpsZWFuVXNlckRldmljZXNUb2tlbi9sZWFuVXNlckxpbmVzVG9rZW5cIixcclxuICBMRUFOX1VTRVJfU05SX0NPTlZFUlNBVElPTl9TVEFSVDogXCIvYXBpL3Byb3Zpc2lvbi86c2l0ZUlkL2xlYW5Vc2Vycy86dXNlcklkL2xlYW5Vc2VyU05SVG9rZW5cIixcclxuICBVUERBVEVfTEVBTl9VU0VSX0ZJRUxEUzogXCIvYXBpL3Byb3Zpc2lvbi86c2l0ZUlkL2xlYW5Vc2VyRmllbGRzLzpsZWFuVXNlckRldGFpbHNUb2tlbi86bGVhblVzZXJMaW5lc1Rva2VuLzpsZWFuVXNlclNOUlRva2VuXCIsXHJcbn07XHJcbmV4cG9ydCBjb25zdCBSRUdFWF9QQVRURVJOID0ge1xyXG4gIEVNQUlMOiAnXigoW148PigpXFxcXFtcXFxcXVxcXFxcXFxcLiw7OlxcXFxzQFwiXSsoXFxcXC5bXjw+KClcXFxcW1xcXFxdXFxcXFxcXFwuLDs6XFxcXHNAXCJdKykqKXwoXCIuK1wiKSknICtcclxuICAnQFthLXpBLVowLTldKD86W2EtekEtWjAtOS1dezAsNjJ9W2EtekEtWjAtOV0pJyArXHJcbiAgJz8oPzpcXFxcLlthLXpBLVowLTldKD86W2EtekEtWjAtOS1dezAsNjJ9W2EtekEtWjAtOV0pPykqJCdcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBQQUdJTkFUSU9OX0RFRkFVTFRTID0ge1xyXG4gIFNJWkU6IDEwLFxyXG4gIElOREVYOiAwXHJcbn1cclxuZXhwb3J0IGNvbnN0IFBBR0lOQVRJT05fU0laRV9PUFRJT05TID0gW1xyXG4gIDEwLFxyXG4gIDUwLFxyXG4gIDEwMCxcclxuICA1MDBcclxuXTtcclxuZXhwb3J0IGNvbnN0IENVQ1NfVE9fSUdOT1JFID0gW1xyXG4gIDE4OSxcclxuICAxOTQsXHJcbiAgMTkxLFxyXG4gIDE5MFxyXG5dO1xyXG5leHBvcnQgY29uc3QgQ1VDTVNfVE9fSUdOT1JFID0gW1xyXG4gIDI0OSxcclxuICAyNTUsXHJcbiAgMjUxLFxyXG4gIDI1MFxyXG5dO1xyXG5leHBvcnQgY29uc3QgUkVDT1JESU5HX01FRElBX1NPVVJDRSA9IFtcclxuICBcIkdhdGV3YXkgUHJlZmVycmVkXCIsXHJcbiAgXCJQaG9uZSBQcmVmZXJyZWRcIlxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IE9OX1BSRU1fSUQgPSAyNTQyOyJdfQ==
|
|
@@ -35,4 +35,4 @@ export var RecordingOptions;
|
|
|
35
35
|
RecordingOptions["auto_enabled"] = "Automatic Call Recording Enabled";
|
|
36
36
|
RecordingOptions["selective_enabled"] = "Selective Call Recording Enabled";
|
|
37
37
|
})(RecordingOptions || (RecordingOptions = {}));
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItbWFuYWdlL3NyYy9jbGFzc2VzL2RldmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3JELE1BQU0sT0FBTyxNQUFNO0lBeUJqQixZQUFZLE1BQVc7UUFuQnZCLCtCQUEwQixHQUFHLEtBQUssQ0FBQztRQWdCbkMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFJbEIsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztZQUNwQyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7WUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQztZQUM1QyxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUM7WUFDOUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDO1lBQzVDLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztZQUNoQyxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUM7WUFDOUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUM7WUFDNUQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQyxDQUFDLGdCQUFnQjtZQUNyRCxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxDQUFDLGdCQUFnQjtZQUN6QyxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUM7WUFFOUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDdkQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQzlFO0lBQ0gsQ0FBQztJQUVELGNBQWM7UUFDWixNQUFNLGNBQWMsR0FBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLE9BQU8sY0FBYyxDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQztJQUM5QyxDQUFDO0NBQ0Y7QUE2REQsTUFBTSxDQUFOLElBQVksZ0JBSVg7QUFKRCxXQUFZLGdCQUFnQjtJQUMxQix3REFBb0MsQ0FBQTtJQUNwQyxxRUFBaUQsQ0FBQTtJQUNqRCwwRUFBc0QsQ0FBQTtBQUN4RCxDQUFDLEVBSlcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUkzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldFNhdmFibGVEYXRhIH0gZnJvbSAnLi4vY29tbW9uLWZ1bmN0aW9ucyc7XG5pbXBvcnQgeyBFbnRpdHlDaGFuZ2VUeXBlIH0gZnJvbSAnLi9saW5lJztcbmltcG9ydCB7IExpbmVBc3NvY2lhdGlvbiB9IGZyb20gJy4vbGluZS1hc3NvY2lhdGlvbic7XG5pbXBvcnQgeyBMaW5lQXNzb2NpYXRpb25JbnRlcmZhY2UgfSBmcm9tICcuL2xpbmUtYXNzb2NpYXRpb24taW50ZXJmYWNlJztcblxuZXhwb3J0IGNsYXNzIERldmljZSB7XG4gIC8vIHNpbXBsaWZpZWQgVEVNUFxuICBuYW1lITogc3RyaW5nO1xuICBwa2lpZCE6IHN0cmluZ1xuICBkZXZpY2VUeXBlITogc3RyaW5nO1xuICBsaW5lQXNzb2NpYXRpb25zITogTGluZUFzc29jaWF0aW9uW10gfCBMaW5lQXNzb2NpYXRpb25JbnRlcmZhY2VbXTtcbiAgbGluZUFzc29jaWF0aW9uc0hhc0NoYW5nZXMgPSBmYWxzZTtcbiAgcHJvdG9jb2whOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uITogc3RyaW5nO1xuICBidXR0b25UZW1wbGF0ZSE6IHN0cmluZztcbiAgc29mdGtleVRlbXBsYXRlITogc3RyaW5nO1xuICBkZXZpY2VQb29sTmFtZSE6IHN0cmluZztcbiAgbG9jYXRpb24hOiBzdHJpbmc7XG4gIGNhbGxpbmdTZWFyY2hTcGFjZU5hbWUhOiBzdHJpbmc7XG4gIGZpcm13YXJlVmVyc2lvbiE6IHN0cmluZztcbiAgcmVnaXN0cmF0aW9uU3RhdHVzITogc3RyaW5nXG4gIGlwQWRkcmVzcyE6IHN0cmluZztcbiAgZGV2aWNlS2luZCE6IHN0cmluZztcbiAgaXNDdGlSb3V0ZVBvaW50ITogYm9vbGVhbjtcbiAgYWxyZWFkeVVzZWROYW1lITogc3RyaW5nO1xuICBkZXZpY2VEZWZhdWx0czogYW55O1xuICBhdmFpbGFibGVTbG90cyE6IG51bWJlcltdO1xuICBwbGFyU2VydmljZSA9IGZhbHNlO1xuICBkZXZpY2VSZWdTdGF0dXMhOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoZGV2aWNlOiBhbnkpIHtcbiAgICBpZiAoZGV2aWNlKSB7XG4gICAgICB0aGlzLm5hbWUgPSBkZXZpY2UubmFtZTtcbiAgICAgIHRoaXMucGtpaWQgPSBkZXZpY2UucGtpaWQ7XG4gICAgICB0aGlzLmRldmljZVR5cGUgPSBkZXZpY2UuZGV2aWNlVHlwZTtcbiAgICAgIHRoaXMucHJvdG9jb2wgPSBkZXZpY2UucHJvdG9jb2w7XG4gICAgICB0aGlzLmRlc2NyaXB0aW9uID0gZGV2aWNlLmRlc2NyaXB0aW9uO1xuICAgICAgdGhpcy5idXR0b25UZW1wbGF0ZSA9IGRldmljZS5idXR0b25UZW1wbGF0ZTtcbiAgICAgIHRoaXMuc29mdGtleVRlbXBsYXRlID0gZGV2aWNlLnNvZnRrZXlUZW1wbGF0ZTtcbiAgICAgIHRoaXMuZGV2aWNlUG9vbE5hbWUgPSBkZXZpY2UuZGV2aWNlUG9vbE5hbWU7XG4gICAgICB0aGlzLmxvY2F0aW9uID0gZGV2aWNlLmxvY2F0aW9uO1xuICAgICAgdGhpcy5maXJtd2FyZVZlcnNpb24gPSBkZXZpY2UuZmlybXdhcmVWZXJzaW9uO1xuICAgICAgdGhpcy5wbGFyU2VydmljZSA9IGRldmljZS5wbGFyU2VydmljZTtcbiAgICAgIHRoaXMuY2FsbGluZ1NlYXJjaFNwYWNlTmFtZSA9IGRldmljZS5jYWxsaW5nU2VhcmNoU3BhY2VOYW1lO1xuICAgICAgdGhpcy5yZWdpc3RyYXRpb25TdGF0dXMgPSAnVW5rbm93bic7IC8vIFRFTVAgZm9yIGRlbW9cbiAgICAgIHRoaXMuaXBBZGRyZXNzID0gJ05vbmUnOyAvLyBURU1QIGZvciBkZW1vXG4gICAgICB0aGlzLmRldmljZVJlZ1N0YXR1cyA9IGRldmljZS5kZXZpY2VSZWdTdGF0dXM7XG5cbiAgICAgIHRoaXMubGluZUFzc29jaWF0aW9ucyA9IGRldmljZS5saW5lQXNzb2NpYXRpb25zPy5sZW5ndGggP1xuICAgICAgICBkZXZpY2UubGluZUFzc29jaWF0aW9ucy5tYXAoKGxpbmU6IGFueSkgPT4gbmV3IExpbmVBc3NvY2lhdGlvbihsaW5lKSkgOiBbXTtcbiAgICB9XG4gIH1cblxuICBnZXRTYXZhYmxlRGF0YSgpIHtcbiAgICBjb25zdCBleGNsdWRlZEZpZWxkczogc3RyaW5nW10gPSBbJ2Zvcm0nXTtcbiAgICByZXR1cm4gZ2V0U2F2YWJsZURhdGEodGhpcywgZXhjbHVkZWRGaWVsZHMpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGV2aWNlSW50ZXJmYWNlIHtcbiAgbmFtZTogc3RyaW5nO1xuICBuZXdOYW1lOiBzdHJpbmc7XG4gIHBraWQ6IHN0cmluZztcbiAgZW50aXR5Q2hhbmdlVHlwZTogRW50aXR5Q2hhbmdlVHlwZTtcbiAgZGV2aWNlVHlwZTogc3RyaW5nO1xuICBwcm90b2NvbDogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBidXR0b25UZW1wbGF0ZTogc3RyaW5nO1xuICBzb2Z0a2V5VGVtcGxhdGU6IHN0cmluZztcbiAgZGV2aWNlUG9vbE5hbWU6IHN0cmluZztcbiAgbG9jYXRpb246IHN0cmluZztcbiAgdXNlckxvY2FsZTogc3RyaW5nO1xuICBlbmFibGVkRXh0ZW5zaW9uTW9iaWxpdHk6IGJvb2xlYW47XG4gIGNhbGxpbmdTZWFyY2hTcGFjZU5hbWU6IHN0cmluZztcbiAgc2VydmljZXM6IHN0cmluZ1tdO1xuICBuZXR3b3JrTG9jYWxlOiBzdHJpbmc7XG4gIHNlY3VyaXR5UHJvZmlsZTogc3RyaW5nO1xuICBsaW5lQXNzb2NpYXRpb25zOiBMaW5lQXNzb2NpYXRpb25JbnRlcmZhY2VbXTtcbiAgc3BlZWREaWFsczogU3BlZWREaWFsSW50ZXJmYWNlW107XG4gIHNpcFByb2ZpbGU6IHN0cmluZztcbiAgc3Vic2NyaWJlQ2FsbGluZ1NlYXJjaFNwYWNlTmFtZTogc3RyaW5nO1xuICBjb21tb25QaG9uZUNvbmZpZ05hbWU6IHN0cmluZztcbiAgY3RpUmVtb3RlRGV2aWNlOiBib29sZWFuO1xuICBmaXJzdEV4cGFuc2lvbk1vZHVsZTogc3RyaW5nO1xuICBzZWNvbmRFeHBhbnNpb25Nb2R1bGU6IHN0cmluZztcbiAgdGhpcmRFeHBhbnNpb25Nb2R1bGU6IHN0cmluZztcbiAgYnVpbHRJbkJyaWRnZTogc3RyaW5nO1xuICBleHRyYU9wdGlvbnM6IERldmljZUV4dHJhT3B0aW9uc0ludGVyZmFjZTtcbiAgZm9ybURpc2FibGVkQ29udHJvbHM6IHN0cmluZ1tdO1xuICBzaGFyZWRVc2Vyczogc3RyaW5nW107XG4gIGJ1c3lMYW1wRmllbGRzOiBCdXN5TGFtcEZpZWxkc0ludGVyZmFjZVtdO1xuICBtZWV0TWVFbmFibGVkOiBib29sZWFuO1xuICBkZXZpY2VLaW5kOiBhbnk7XG4gIGlzQ3RpUm91dGVQb2ludDogYm9vbGVhbjtcbiAgY3VjbUlkOiBzdHJpbmc7XG4gIHBsYXJEZXZpY2U6IGJvb2xlYW47XG4gIGZpcm13YXJlVmVyc2lvbjogYW55O1xuICBjZXJ0aWZpY2F0ZU9wZXJhdGlvbjogc3RyaW5nO1xuICBhdXRoZW50aWNhdGlvbk1vZGU6IHN0cmluZztcbiAgYXV0aGVudGljYXRpb25TdHJpbmc6IHN0cmluZztcbiAgcnNhS2V5U2l6ZTogc3RyaW5nO1xuICBvcGVyYXRpb25Db21wbGV0ZXNCeTogc3RyaW5nO1xuICBjZXJ0aWZpY2F0ZVN0YXR1czogc3RyaW5nO1xuICBkYXk6IHN0cmluZztcbiAgbW9udGg6IHN0cmluZztcbiAgeWVhcjogc3RyaW5nO1xuICBob3VyOiBzdHJpbmc7XG4gIHNlY3VyaXR5UHJvZmlsZVV1aWQ6IHN0cmluZztcbiAgZXhjbHVkZURldmljZUV4dHJhT3B0aW9uczogYm9vbGVhbjtcbiAgd2ViZXhVVUlEOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIFNwZWVkRGlhbEludGVyZmFjZSB7XG4gIGluZGV4OiBudW1iZXI7XG4gIHBvc2l0aW9uOiBudW1iZXI7XG4gIGRlc3RpbmF0aW9uOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGVkaXRNb2RlOiBib29sZWFuO1xufVxuZXhwb3J0IGVudW0gUmVjb3JkaW5nT3B0aW9ucyB7XG4gIGRpc2FibGVkID0gJ0NhbGwgUmVjb3JkaW5nIERpc2FibGVkJyxcbiAgYXV0b19lbmFibGVkID0gJ0F1dG9tYXRpYyBDYWxsIFJlY29yZGluZyBFbmFibGVkJyxcbiAgc2VsZWN0aXZlX2VuYWJsZWQgPSAnU2VsZWN0aXZlIENhbGwgUmVjb3JkaW5nIEVuYWJsZWQnXG59XG5leHBvcnQgaW50ZXJmYWNlIExpbmVDYWxsSW5mb0Rpc3BsYXlJbnRlcmZhY2Uge1xuICBjYWxsZXJOYW1lOiBzdHJpbmc7XG4gIGNhbGxlck51bWJlcjogc3RyaW5nO1xuICByZWRpcmVjdGVkTnVtYmVyOiBzdHJpbmc7XG4gIGRpYWxlZE51bWJlcjogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBTaXRlU2hvcnREYXRhSW50ZXJmYWNlIHtcbiAgaWQ6IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBEZXZpY2VFeHRyYU9wdGlvbnNJbnRlcmZhY2Uge1xuICBtZWRpYVJlc291cmNlR3JvdXBMaXN0OiBzdHJpbmc7XG4gIHVzZXJIb2xkTU9IQXVkaW9Tb3VyY2VJZDogbnVtYmVyO1xuICB1c2VySG9sZE1PSEF1ZGlvU291cmNlTmFtZTogc3RyaW5nO1xuICBuZXR3b3JrTU9IQXVkaW9Tb3VyY2VJZDogbnVtYmVyO1xuICBuZXR3b3JrTU9IQXVkaW9Tb3VyY2VOYW1lOiBzdHJpbmc7XG4gIGFhckNzczogc3RyaW5nO1xuICBhYXJHcm91cDogc3RyaW5nO1xuICBwcml2YWN5OiBzdHJpbmc7XG4gIGRldmljZU1vYmlsaXR5TW9kZTogc3RyaW5nO1xuICBtb2JpbGl0eVVzZXJJZDogc3RyaW5nO1xuICBwaG9uZVBlcnNvbmFsaXphdGlvbjogc3RyaW5nO1xuICBzZXJ2aWNlc1Byb3Zpc2lvbmluZzogc3RyaW5nO1xuICBwaG9uZUxvYWROYW1lOiBzdHJpbmc7XG4gIHBob25lSWRsZUJMRkFsZXJ0U2V0dGluZzogc3RyaW5nO1xuICBwaG9uZUJ1c3lCTEZBbGVydFNldHRpbmc6IHN0cmluZztcbiAgdXNlVHJ1c3RlZFJlbGF5UG9pbnQ6IHN0cmluZztcbiAgYWx3YXlzVXNlUHJpbWVMaW5lOiBzdHJpbmc7XG4gIGFsd2F5c1VzZVByaW1lTGluZUZvclZvaWNlTWVzc2FnZTogc3RyaW5nO1xuICBnZW9sb2NhdGlvbjogc3RyaW5nO1xuICBlbWVyZ2VuY3lMb2NhdGlvbjogc3RyaW5nO1xuICBpZ25vcmVQcmVzZW50YXRpb25JbmRpY2F0b3JzOiBib29sZWFuO1xuICBsb2dnZWRJbnRvSHVudEdyb3VwOiBib29sZWFuO1xuICBlbmFibGVkRXh0ZW5zaW9uTW9iaWxpdHk6IGJvb2xlYW47XG4gIHJlbW90ZURldmljZTogYm9vbGVhbjtcbiAgcHJvdGVjdGVkRGV2aWNlOiBib29sZWFuO1xuICBob3RsaW5lRGV2aWNlOiBib29sZWFuO1xuICB1c2VEZXZpY2VQb29sQ2dwbkluZ3Jlc3NETjogYm9vbGVhbjtcbiAgY2dwbkluZ3Jlc3NETjogc3RyaW5nO1xuICB1c2VEZXZpY2VQb29sQ2dwblRyYW5zZm9ybUNzczogYm9vbGVhbjtcbiAgY2dwblRyYW5zZm9ybWF0aW9uQ3NzOiBzdHJpbmc7XG4gIHBhY2tldENhcHR1cmVNb2RlOiBzdHJpbmc7XG4gIHBhY2tldENhcHR1cmVEdXJhdGlvbjogbnVtYmVyO1xuICBibGZQcmVzZW5jZUdyb3VwOiBzdHJpbmc7XG4gIHNpcERpYWxSdWxlczogc3RyaW5nO1xuICBtdHBQcmVmZXJyZWRPcmlnaW5hdGluZ0NvZGVjOiBzdHJpbmc7XG4gIHJlcm91dGVDc3M6IHN0cmluZztcbiAgc3Vic2NyaWJlQ3NzOiBzdHJpbmc7XG4gIG10cFJlcXVpcmVkOiBib29sZWFuO1xuICB1bmF0dGVuZGVkUG9ydDogYm9vbGVhbjtcbiAgcmVxdWlyZUR0bWZSZWNlcHRpb246IGJvb2xlYW47XG4gIGluZm9ybWF0aW9uVXJsOiBzdHJpbmc7XG4gIGRpcmVjdG9yeVVybDogc3RyaW5nO1xuICBtZXNzYWdlc1VybDogc3RyaW5nO1xuICBzZXJ2aWNlc1VybDogc3RyaW5nO1xuICBhdXRoZW50aWNhdGlvblVybDogc3RyaW5nO1xuICBwcm94eVNlcnZlclVybDogc3RyaW5nO1xuICBpZGxlVXJsOiBzdHJpbmc7XG4gIGlkbGVUaW1lb3V0OiBzdHJpbmc7XG4gIHNlY3VyZUF1dGhlbnRpY2F0aW9uVXJsOiBzdHJpbmc7XG4gIHNlY3VyZURpcmVjdG9yeVVybDogc3RyaW5nO1xuICBzZWN1cmVJZGxlVXJsOiBzdHJpbmc7XG4gIHNlY3VyZUluZm9ybWF0aW9uVXJsOiBzdHJpbmc7XG4gIHNlY3VyZU1lc3NhZ2VVcmw6IHN0cmluZztcbiAgc2VjdXJlU2VydmljZXNVcmw6IHN0cmluZztcbiAgbWxwcERvbWFpbjogc3RyaW5nO1xuICBtbHBwSW5kaWNhdGlvbjogc3RyaW5nO1xuICBtbHBwUHJlZW1wdGlvbjogc3RyaW5nO1xuICBjb25maWRlbnRpYWxBY2Nlc3NNb2RlOiBzdHJpbmc7XG4gIGNvbmZpZGVudGlhbEFjY2Vzc0xldmVsOiBzdHJpbmc7XG4gIGNvbmZpZGVudGlhbEFjY2Vzc0xldmVsTmFtZTogc3RyaW5nO1xuICBkb05vdERpc3R1cmI6IGJvb2xlYW47XG4gIGRuZE9wdGlvbjogc3RyaW5nO1xuICBkbmRJbmNvbWluZ0NhbGxBbGVydDogc3RyaW5nO1xuICBkaXNhYmxlU3BlYWtlcnBob25lOiBib29sZWFuO1xuICBkaXNhYmxlU3BlYWtlcnBob25lQW5kSGVhZHNldDogYm9vbGVhbjtcbiAgZm9yd2FyZGluZ0RlbGF5OiBib29sZWFuO1xuICBwY1BvcnQ6IGJvb2xlYW47XG4gIHNldHRpbmdzQWNjZXNzOiBzdHJpbmc7XG4gIGdyYXR1aXRvdXNBUlA6IGJvb2xlYW47XG4gIHBjVm9pY2VWbGFuQWNjZXNzOiBib29sZWFuO1xuICB2aWRlb0NhcGFiaWxpdGllczogYm9vbGVhbjtcbiAgd2ViQWNjZXNzOiBib29sZWFuO1xuICBkYXlzRGlzcGxheU5vdEFjdGl2ZTogc3RyaW5nW107XG4gIGRpc3BsYXlPblRpbWU6IHN0cmluZztcbiAgZGlzcGxheU9uRHVyYXRpb246IHN0cmluZztcbiAgZGlzcGxheUlkbGVUaW1lb3V0OiBzdHJpbmc7XG4gIHdpcmVsZXNzSGVhZHNldEhvb2tzd2l0Y2hDb250cm9sOiBib29sZWFuO1xuICBtaW5SaW5nVm9sdW1lOiBzdHJpbmc7XG4gIHNob3dBbGxDYWxsc09uUEw6IGJvb2xlYW47XG4gIGxpbmVNb2RlOiBzdHJpbmc7XG4gIGxhdGVudENhcGFiaWxpdHlSZWdpc3RyYXRpb246IHN0cmluZztcbiAgYW5hbG9nR2F0ZXdheVBvcnRJbmZvcm1hdGlvbjogQW5hbG9nR2F0ZXdheVBvcnRJbmZvcm1hdGlvbkludGVyRmFjZTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQW5hbG9nR2F0ZXdheVBvcnRJbmZvcm1hdGlvbkludGVyRmFjZSB7XG4gIHBvcnREaXJlY3Rpb246IHN0cmluZztcbiAgcHJlZml4RG46IHN0cmluZztcbiAgbnVtRGlnaXRzOiBudW1iZXI7XG4gIGV4cGVjdGVkRGlnaXRzOiBudW1iZXI7XG4gIHNtZGlQb3J0TnVtYmVyOiBudW1iZXI7XG4gIHRydW5rOiBzdHJpbmc7XG4gIHVuYXR0ZW5kZWRQb3J0OiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIEJ1c3lMYW1wRmllbGRzSW50ZXJmYWNlIHtcbiAgaW5kZXg6IG51bWJlcjtcbiAgcG9zaXRpb246IG51bWJlcjtcbiAgZGVzdGluYXRpb246IHN0cmluZztcbiAgZG5XaXRoUm91dGVQYXJ0aXRpb246IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgY2FsbFBpY2t1cDogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItbWFuYWdlL3NyYy9jbGFzc2VzL2RldmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3JELE1BQU0sT0FBTyxNQUFNO0lBeUJqQixZQUFZLE1BQVc7UUFuQnZCLCtCQUEwQixHQUFHLEtBQUssQ0FBQztRQWdCbkMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFJbEIsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztZQUNwQyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7WUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQztZQUM1QyxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUM7WUFDOUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDO1lBQzVDLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztZQUNoQyxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUM7WUFDOUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUM7WUFDNUQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQyxDQUFDLGdCQUFnQjtZQUNyRCxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxDQUFDLGdCQUFnQjtZQUN6QyxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUM7WUFFOUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDdkQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQzlFO0lBQ0gsQ0FBQztJQUVELGNBQWM7UUFDWixNQUFNLGNBQWMsR0FBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLE9BQU8sY0FBYyxDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQztJQUM5QyxDQUFDO0NBQ0Y7QUE2REQsTUFBTSxDQUFOLElBQVksZ0JBSVg7QUFKRCxXQUFZLGdCQUFnQjtJQUMxQix3REFBb0MsQ0FBQTtJQUNwQyxxRUFBaUQsQ0FBQTtJQUNqRCwwRUFBc0QsQ0FBQTtBQUN4RCxDQUFDLEVBSlcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUkzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldFNhdmFibGVEYXRhIH0gZnJvbSAnLi4vY29tbW9uLWZ1bmN0aW9ucyc7XHJcbmltcG9ydCB7IEVudGl0eUNoYW5nZVR5cGUgfSBmcm9tICcuL2xpbmUnO1xyXG5pbXBvcnQgeyBMaW5lQXNzb2NpYXRpb24gfSBmcm9tICcuL2xpbmUtYXNzb2NpYXRpb24nO1xyXG5pbXBvcnQgeyBMaW5lQXNzb2NpYXRpb25JbnRlcmZhY2UgfSBmcm9tICcuL2xpbmUtYXNzb2NpYXRpb24taW50ZXJmYWNlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBEZXZpY2Uge1xyXG4gIC8vIHNpbXBsaWZpZWQgVEVNUFxyXG4gIG5hbWUhOiBzdHJpbmc7XHJcbiAgcGtpaWQhOiBzdHJpbmdcclxuICBkZXZpY2VUeXBlITogc3RyaW5nO1xyXG4gIGxpbmVBc3NvY2lhdGlvbnMhOiBMaW5lQXNzb2NpYXRpb25bXSB8IExpbmVBc3NvY2lhdGlvbkludGVyZmFjZVtdO1xyXG4gIGxpbmVBc3NvY2lhdGlvbnNIYXNDaGFuZ2VzID0gZmFsc2U7XHJcbiAgcHJvdG9jb2whOiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb24hOiBzdHJpbmc7XHJcbiAgYnV0dG9uVGVtcGxhdGUhOiBzdHJpbmc7XHJcbiAgc29mdGtleVRlbXBsYXRlITogc3RyaW5nO1xyXG4gIGRldmljZVBvb2xOYW1lITogc3RyaW5nO1xyXG4gIGxvY2F0aW9uITogc3RyaW5nO1xyXG4gIGNhbGxpbmdTZWFyY2hTcGFjZU5hbWUhOiBzdHJpbmc7XHJcbiAgZmlybXdhcmVWZXJzaW9uITogc3RyaW5nO1xyXG4gIHJlZ2lzdHJhdGlvblN0YXR1cyE6IHN0cmluZ1xyXG4gIGlwQWRkcmVzcyE6IHN0cmluZztcclxuICBkZXZpY2VLaW5kITogc3RyaW5nO1xyXG4gIGlzQ3RpUm91dGVQb2ludCE6IGJvb2xlYW47XHJcbiAgYWxyZWFkeVVzZWROYW1lITogc3RyaW5nO1xyXG4gIGRldmljZURlZmF1bHRzOiBhbnk7XHJcbiAgYXZhaWxhYmxlU2xvdHMhOiBudW1iZXJbXTtcclxuICBwbGFyU2VydmljZSA9IGZhbHNlO1xyXG4gIGRldmljZVJlZ1N0YXR1cyE6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoZGV2aWNlOiBhbnkpIHtcclxuICAgIGlmIChkZXZpY2UpIHtcclxuICAgICAgdGhpcy5uYW1lID0gZGV2aWNlLm5hbWU7XHJcbiAgICAgIHRoaXMucGtpaWQgPSBkZXZpY2UucGtpaWQ7XHJcbiAgICAgIHRoaXMuZGV2aWNlVHlwZSA9IGRldmljZS5kZXZpY2VUeXBlO1xyXG4gICAgICB0aGlzLnByb3RvY29sID0gZGV2aWNlLnByb3RvY29sO1xyXG4gICAgICB0aGlzLmRlc2NyaXB0aW9uID0gZGV2aWNlLmRlc2NyaXB0aW9uO1xyXG4gICAgICB0aGlzLmJ1dHRvblRlbXBsYXRlID0gZGV2aWNlLmJ1dHRvblRlbXBsYXRlO1xyXG4gICAgICB0aGlzLnNvZnRrZXlUZW1wbGF0ZSA9IGRldmljZS5zb2Z0a2V5VGVtcGxhdGU7XHJcbiAgICAgIHRoaXMuZGV2aWNlUG9vbE5hbWUgPSBkZXZpY2UuZGV2aWNlUG9vbE5hbWU7XHJcbiAgICAgIHRoaXMubG9jYXRpb24gPSBkZXZpY2UubG9jYXRpb247XHJcbiAgICAgIHRoaXMuZmlybXdhcmVWZXJzaW9uID0gZGV2aWNlLmZpcm13YXJlVmVyc2lvbjtcclxuICAgICAgdGhpcy5wbGFyU2VydmljZSA9IGRldmljZS5wbGFyU2VydmljZTtcclxuICAgICAgdGhpcy5jYWxsaW5nU2VhcmNoU3BhY2VOYW1lID0gZGV2aWNlLmNhbGxpbmdTZWFyY2hTcGFjZU5hbWU7XHJcbiAgICAgIHRoaXMucmVnaXN0cmF0aW9uU3RhdHVzID0gJ1Vua25vd24nOyAvLyBURU1QIGZvciBkZW1vXHJcbiAgICAgIHRoaXMuaXBBZGRyZXNzID0gJ05vbmUnOyAvLyBURU1QIGZvciBkZW1vXHJcbiAgICAgIHRoaXMuZGV2aWNlUmVnU3RhdHVzID0gZGV2aWNlLmRldmljZVJlZ1N0YXR1cztcclxuXHJcbiAgICAgIHRoaXMubGluZUFzc29jaWF0aW9ucyA9IGRldmljZS5saW5lQXNzb2NpYXRpb25zPy5sZW5ndGggP1xyXG4gICAgICAgIGRldmljZS5saW5lQXNzb2NpYXRpb25zLm1hcCgobGluZTogYW55KSA9PiBuZXcgTGluZUFzc29jaWF0aW9uKGxpbmUpKSA6IFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0U2F2YWJsZURhdGEoKSB7XHJcbiAgICBjb25zdCBleGNsdWRlZEZpZWxkczogc3RyaW5nW10gPSBbJ2Zvcm0nXTtcclxuICAgIHJldHVybiBnZXRTYXZhYmxlRGF0YSh0aGlzLCBleGNsdWRlZEZpZWxkcyk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERldmljZUludGVyZmFjZSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIG5ld05hbWU6IHN0cmluZztcclxuICBwa2lkOiBzdHJpbmc7XHJcbiAgZW50aXR5Q2hhbmdlVHlwZTogRW50aXR5Q2hhbmdlVHlwZTtcclxuICBkZXZpY2VUeXBlOiBzdHJpbmc7XHJcbiAgcHJvdG9jb2w6IHN0cmluZztcclxuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gIGJ1dHRvblRlbXBsYXRlOiBzdHJpbmc7XHJcbiAgc29mdGtleVRlbXBsYXRlOiBzdHJpbmc7XHJcbiAgZGV2aWNlUG9vbE5hbWU6IHN0cmluZztcclxuICBsb2NhdGlvbjogc3RyaW5nO1xyXG4gIHVzZXJMb2NhbGU6IHN0cmluZztcclxuICBlbmFibGVkRXh0ZW5zaW9uTW9iaWxpdHk6IGJvb2xlYW47XHJcbiAgY2FsbGluZ1NlYXJjaFNwYWNlTmFtZTogc3RyaW5nO1xyXG4gIHNlcnZpY2VzOiBzdHJpbmdbXTtcclxuICBuZXR3b3JrTG9jYWxlOiBzdHJpbmc7XHJcbiAgc2VjdXJpdHlQcm9maWxlOiBzdHJpbmc7XHJcbiAgbGluZUFzc29jaWF0aW9uczogTGluZUFzc29jaWF0aW9uSW50ZXJmYWNlW107XHJcbiAgc3BlZWREaWFsczogU3BlZWREaWFsSW50ZXJmYWNlW107XHJcbiAgc2lwUHJvZmlsZTogc3RyaW5nO1xyXG4gIHN1YnNjcmliZUNhbGxpbmdTZWFyY2hTcGFjZU5hbWU6IHN0cmluZztcclxuICBjb21tb25QaG9uZUNvbmZpZ05hbWU6IHN0cmluZztcclxuICBjdGlSZW1vdGVEZXZpY2U6IGJvb2xlYW47XHJcbiAgZmlyc3RFeHBhbnNpb25Nb2R1bGU6IHN0cmluZztcclxuICBzZWNvbmRFeHBhbnNpb25Nb2R1bGU6IHN0cmluZztcclxuICB0aGlyZEV4cGFuc2lvbk1vZHVsZTogc3RyaW5nO1xyXG4gIGJ1aWx0SW5CcmlkZ2U6IHN0cmluZztcclxuICBleHRyYU9wdGlvbnM6IERldmljZUV4dHJhT3B0aW9uc0ludGVyZmFjZTtcclxuICBmb3JtRGlzYWJsZWRDb250cm9sczogc3RyaW5nW107XHJcbiAgc2hhcmVkVXNlcnM6IHN0cmluZ1tdO1xyXG4gIGJ1c3lMYW1wRmllbGRzOiBCdXN5TGFtcEZpZWxkc0ludGVyZmFjZVtdO1xyXG4gIG1lZXRNZUVuYWJsZWQ6IGJvb2xlYW47XHJcbiAgZGV2aWNlS2luZDogYW55O1xyXG4gIGlzQ3RpUm91dGVQb2ludDogYm9vbGVhbjtcclxuICBjdWNtSWQ6IHN0cmluZztcclxuICBwbGFyRGV2aWNlOiBib29sZWFuO1xyXG4gIGZpcm13YXJlVmVyc2lvbjogYW55O1xyXG4gIGNlcnRpZmljYXRlT3BlcmF0aW9uOiBzdHJpbmc7XHJcbiAgYXV0aGVudGljYXRpb25Nb2RlOiBzdHJpbmc7XHJcbiAgYXV0aGVudGljYXRpb25TdHJpbmc6IHN0cmluZztcclxuICByc2FLZXlTaXplOiBzdHJpbmc7XHJcbiAgb3BlcmF0aW9uQ29tcGxldGVzQnk6IHN0cmluZztcclxuICBjZXJ0aWZpY2F0ZVN0YXR1czogc3RyaW5nO1xyXG4gIGRheTogc3RyaW5nO1xyXG4gIG1vbnRoOiBzdHJpbmc7XHJcbiAgeWVhcjogc3RyaW5nO1xyXG4gIGhvdXI6IHN0cmluZztcclxuICBzZWN1cml0eVByb2ZpbGVVdWlkOiBzdHJpbmc7XHJcbiAgZXhjbHVkZURldmljZUV4dHJhT3B0aW9uczogYm9vbGVhbjtcclxuICB3ZWJleFVVSUQ6IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFNwZWVkRGlhbEludGVyZmFjZSB7XHJcbiAgaW5kZXg6IG51bWJlcjtcclxuICBwb3NpdGlvbjogbnVtYmVyO1xyXG4gIGRlc3RpbmF0aW9uOiBzdHJpbmc7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBlZGl0TW9kZTogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgZW51bSBSZWNvcmRpbmdPcHRpb25zIHtcclxuICBkaXNhYmxlZCA9ICdDYWxsIFJlY29yZGluZyBEaXNhYmxlZCcsXHJcbiAgYXV0b19lbmFibGVkID0gJ0F1dG9tYXRpYyBDYWxsIFJlY29yZGluZyBFbmFibGVkJyxcclxuICBzZWxlY3RpdmVfZW5hYmxlZCA9ICdTZWxlY3RpdmUgQ2FsbCBSZWNvcmRpbmcgRW5hYmxlZCdcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIExpbmVDYWxsSW5mb0Rpc3BsYXlJbnRlcmZhY2Uge1xyXG4gIGNhbGxlck5hbWU6IHN0cmluZztcclxuICBjYWxsZXJOdW1iZXI6IHN0cmluZztcclxuICByZWRpcmVjdGVkTnVtYmVyOiBzdHJpbmc7XHJcbiAgZGlhbGVkTnVtYmVyOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBTaXRlU2hvcnREYXRhSW50ZXJmYWNlIHtcclxuICBpZDogbnVtYmVyO1xyXG4gIG5hbWU6IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIERldmljZUV4dHJhT3B0aW9uc0ludGVyZmFjZSB7XHJcbiAgbWVkaWFSZXNvdXJjZUdyb3VwTGlzdDogc3RyaW5nO1xyXG4gIHVzZXJIb2xkTU9IQXVkaW9Tb3VyY2VJZDogbnVtYmVyO1xyXG4gIHVzZXJIb2xkTU9IQXVkaW9Tb3VyY2VOYW1lOiBzdHJpbmc7XHJcbiAgbmV0d29ya01PSEF1ZGlvU291cmNlSWQ6IG51bWJlcjtcclxuICBuZXR3b3JrTU9IQXVkaW9Tb3VyY2VOYW1lOiBzdHJpbmc7XHJcbiAgYWFyQ3NzOiBzdHJpbmc7XHJcbiAgYWFyR3JvdXA6IHN0cmluZztcclxuICBwcml2YWN5OiBzdHJpbmc7XHJcbiAgZGV2aWNlTW9iaWxpdHlNb2RlOiBzdHJpbmc7XHJcbiAgbW9iaWxpdHlVc2VySWQ6IHN0cmluZztcclxuICBwaG9uZVBlcnNvbmFsaXphdGlvbjogc3RyaW5nO1xyXG4gIHNlcnZpY2VzUHJvdmlzaW9uaW5nOiBzdHJpbmc7XHJcbiAgcGhvbmVMb2FkTmFtZTogc3RyaW5nO1xyXG4gIHBob25lSWRsZUJMRkFsZXJ0U2V0dGluZzogc3RyaW5nO1xyXG4gIHBob25lQnVzeUJMRkFsZXJ0U2V0dGluZzogc3RyaW5nO1xyXG4gIHVzZVRydXN0ZWRSZWxheVBvaW50OiBzdHJpbmc7XHJcbiAgYWx3YXlzVXNlUHJpbWVMaW5lOiBzdHJpbmc7XHJcbiAgYWx3YXlzVXNlUHJpbWVMaW5lRm9yVm9pY2VNZXNzYWdlOiBzdHJpbmc7XHJcbiAgZ2VvbG9jYXRpb246IHN0cmluZztcclxuICBlbWVyZ2VuY3lMb2NhdGlvbjogc3RyaW5nO1xyXG4gIGlnbm9yZVByZXNlbnRhdGlvbkluZGljYXRvcnM6IGJvb2xlYW47XHJcbiAgbG9nZ2VkSW50b0h1bnRHcm91cDogYm9vbGVhbjtcclxuICBlbmFibGVkRXh0ZW5zaW9uTW9iaWxpdHk6IGJvb2xlYW47XHJcbiAgcmVtb3RlRGV2aWNlOiBib29sZWFuO1xyXG4gIHByb3RlY3RlZERldmljZTogYm9vbGVhbjtcclxuICBob3RsaW5lRGV2aWNlOiBib29sZWFuO1xyXG4gIHVzZURldmljZVBvb2xDZ3BuSW5ncmVzc0ROOiBib29sZWFuO1xyXG4gIGNncG5JbmdyZXNzRE46IHN0cmluZztcclxuICB1c2VEZXZpY2VQb29sQ2dwblRyYW5zZm9ybUNzczogYm9vbGVhbjtcclxuICBjZ3BuVHJhbnNmb3JtYXRpb25Dc3M6IHN0cmluZztcclxuICBwYWNrZXRDYXB0dXJlTW9kZTogc3RyaW5nO1xyXG4gIHBhY2tldENhcHR1cmVEdXJhdGlvbjogbnVtYmVyO1xyXG4gIGJsZlByZXNlbmNlR3JvdXA6IHN0cmluZztcclxuICBzaXBEaWFsUnVsZXM6IHN0cmluZztcclxuICBtdHBQcmVmZXJyZWRPcmlnaW5hdGluZ0NvZGVjOiBzdHJpbmc7XHJcbiAgcmVyb3V0ZUNzczogc3RyaW5nO1xyXG4gIHN1YnNjcmliZUNzczogc3RyaW5nO1xyXG4gIG10cFJlcXVpcmVkOiBib29sZWFuO1xyXG4gIHVuYXR0ZW5kZWRQb3J0OiBib29sZWFuO1xyXG4gIHJlcXVpcmVEdG1mUmVjZXB0aW9uOiBib29sZWFuO1xyXG4gIGluZm9ybWF0aW9uVXJsOiBzdHJpbmc7XHJcbiAgZGlyZWN0b3J5VXJsOiBzdHJpbmc7XHJcbiAgbWVzc2FnZXNVcmw6IHN0cmluZztcclxuICBzZXJ2aWNlc1VybDogc3RyaW5nO1xyXG4gIGF1dGhlbnRpY2F0aW9uVXJsOiBzdHJpbmc7XHJcbiAgcHJveHlTZXJ2ZXJVcmw6IHN0cmluZztcclxuICBpZGxlVXJsOiBzdHJpbmc7XHJcbiAgaWRsZVRpbWVvdXQ6IHN0cmluZztcclxuICBzZWN1cmVBdXRoZW50aWNhdGlvblVybDogc3RyaW5nO1xyXG4gIHNlY3VyZURpcmVjdG9yeVVybDogc3RyaW5nO1xyXG4gIHNlY3VyZUlkbGVVcmw6IHN0cmluZztcclxuICBzZWN1cmVJbmZvcm1hdGlvblVybDogc3RyaW5nO1xyXG4gIHNlY3VyZU1lc3NhZ2VVcmw6IHN0cmluZztcclxuICBzZWN1cmVTZXJ2aWNlc1VybDogc3RyaW5nO1xyXG4gIG1scHBEb21haW46IHN0cmluZztcclxuICBtbHBwSW5kaWNhdGlvbjogc3RyaW5nO1xyXG4gIG1scHBQcmVlbXB0aW9uOiBzdHJpbmc7XHJcbiAgY29uZmlkZW50aWFsQWNjZXNzTW9kZTogc3RyaW5nO1xyXG4gIGNvbmZpZGVudGlhbEFjY2Vzc0xldmVsOiBzdHJpbmc7XHJcbiAgY29uZmlkZW50aWFsQWNjZXNzTGV2ZWxOYW1lOiBzdHJpbmc7XHJcbiAgZG9Ob3REaXN0dXJiOiBib29sZWFuO1xyXG4gIGRuZE9wdGlvbjogc3RyaW5nO1xyXG4gIGRuZEluY29taW5nQ2FsbEFsZXJ0OiBzdHJpbmc7XHJcbiAgZGlzYWJsZVNwZWFrZXJwaG9uZTogYm9vbGVhbjtcclxuICBkaXNhYmxlU3BlYWtlcnBob25lQW5kSGVhZHNldDogYm9vbGVhbjtcclxuICBmb3J3YXJkaW5nRGVsYXk6IGJvb2xlYW47XHJcbiAgcGNQb3J0OiBib29sZWFuO1xyXG4gIHNldHRpbmdzQWNjZXNzOiBzdHJpbmc7XHJcbiAgZ3JhdHVpdG91c0FSUDogYm9vbGVhbjtcclxuICBwY1ZvaWNlVmxhbkFjY2VzczogYm9vbGVhbjtcclxuICB2aWRlb0NhcGFiaWxpdGllczogYm9vbGVhbjtcclxuICB3ZWJBY2Nlc3M6IGJvb2xlYW47XHJcbiAgZGF5c0Rpc3BsYXlOb3RBY3RpdmU6IHN0cmluZ1tdO1xyXG4gIGRpc3BsYXlPblRpbWU6IHN0cmluZztcclxuICBkaXNwbGF5T25EdXJhdGlvbjogc3RyaW5nO1xyXG4gIGRpc3BsYXlJZGxlVGltZW91dDogc3RyaW5nO1xyXG4gIHdpcmVsZXNzSGVhZHNldEhvb2tzd2l0Y2hDb250cm9sOiBib29sZWFuO1xyXG4gIG1pblJpbmdWb2x1bWU6IHN0cmluZztcclxuICBzaG93QWxsQ2FsbHNPblBMOiBib29sZWFuO1xyXG4gIGxpbmVNb2RlOiBzdHJpbmc7XHJcbiAgbGF0ZW50Q2FwYWJpbGl0eVJlZ2lzdHJhdGlvbjogc3RyaW5nO1xyXG4gIGFuYWxvZ0dhdGV3YXlQb3J0SW5mb3JtYXRpb246IEFuYWxvZ0dhdGV3YXlQb3J0SW5mb3JtYXRpb25JbnRlckZhY2U7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBBbmFsb2dHYXRld2F5UG9ydEluZm9ybWF0aW9uSW50ZXJGYWNlIHtcclxuICBwb3J0RGlyZWN0aW9uOiBzdHJpbmc7XHJcbiAgcHJlZml4RG46IHN0cmluZztcclxuICBudW1EaWdpdHM6IG51bWJlcjtcclxuICBleHBlY3RlZERpZ2l0czogbnVtYmVyO1xyXG4gIHNtZGlQb3J0TnVtYmVyOiBudW1iZXI7XHJcbiAgdHJ1bms6IHN0cmluZztcclxuICB1bmF0dGVuZGVkUG9ydDogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQnVzeUxhbXBGaWVsZHNJbnRlcmZhY2Uge1xyXG4gIGluZGV4OiBudW1iZXI7XHJcbiAgcG9zaXRpb246IG51bWJlcjtcclxuICBkZXN0aW5hdGlvbjogc3RyaW5nO1xyXG4gIGRuV2l0aFJvdXRlUGFydGl0aW9uOiBzdHJpbmc7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBjYWxsUGlja3VwOiBib29sZWFuO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1hc3NvY2lhdGlvbi1pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1tYW5hZ2Uvc3JjL2NsYXNzZXMvbGluZS1hc3NvY2lhdGlvbi1pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlY29yZGluZ09wdGlvbnMgfSBmcm9tICcuL3JlY29yZGluZy1vcHRpb25zJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBMaW5lRGlyZWN0b3J5SW50ZXJmYWNlLCBUcmFuc2xhdGlvblBhdHRlcm5JbnRlcmZhY2UgfSBmcm9tICcuL2xpbmUnO1xyXG5pbXBvcnQgeyBMaW5lQ2FsbEluZm9EaXNwbGF5SW50ZXJmYWNlIH0gZnJvbSAnLi9kZXZpY2UnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMaW5lQXNzb2NpYXRpb25JbnRlcmZhY2Uge1xyXG4gIGluZGV4OiBudW1iZXI7XHJcbiAgcG9zaXRpb246IG51bWJlcjtcclxuICBhbGVydGluZ05hbWU6IHN0cmluZztcclxuICBlMTY0TWFzazogc3RyaW5nO1xyXG4gIHRleHRMYWJlbDogc3RyaW5nO1xyXG4gIGRpc3BsYXlMYWJlbDogc3RyaW5nO1xyXG4gIGRpc3BsYXlMYWJlbEFzY2lpOiBzdHJpbmc7XHJcbiAgZGlyZWN0b3J5TnVtYmVyOiBMaW5lRGlyZWN0b3J5SW50ZXJmYWNlO1xyXG4gIGRpZFBhdHRlcm46IFRyYW5zbGF0aW9uUGF0dGVybkludGVyZmFjZTtcclxuICBtYXBwZWREaWRzOiBBcnJheTxzdHJpbmc+O1xyXG4gIGxpbmVQa2lkOiBzdHJpbmc7XHJcbiAgbWF4TnVtYmVyT2ZDYWxsczogbnVtYmVyO1xyXG4gIGJ1c3lUcmlnZ2VyOiBudW1iZXI7XHJcbiAgcmVjb3JkaW5nT3B0aW9uOiBSZWNvcmRpbmdPcHRpb25zO1xyXG4gIHJlY29yZGluZ1Byb2ZpbGU6IHN0cmluZztcclxuICByZWNvcmRpbmdNZWRpYVNvdXJjZTogc3RyaW5nO1xyXG4gIHZpc3VhbE1XSTogc3RyaW5nO1xyXG4gIGF1ZGlibGVNV0k6IHN0cmluZztcclxuICByaW5nU2V0dGluZ19pZGxlOiBzdHJpbmc7XHJcbiAgcmluZ1NldHRpbmdfYWN0aXZlOiBzdHJpbmc7XHJcbiAgcGlja3VwQUFTX2lkbGU6IHN0cmluZztcclxuICBwaWNrdXBBQVNfYWN0aXZlOiBzdHJpbmc7XHJcbiAgbW9uaXRvckNTUzogc3RyaW5nO1xyXG4gIGxvZ01pc3NlZENhbGw6IHN0cmluZztcclxuICBjYWxsSW5mb0Rpc3BsYXk6IExpbmVDYWxsSW5mb0Rpc3BsYXlJbnRlcmZhY2U7XHJcbiAgbGluZUxvY2FsSWQ6IHN0cmluZztcclxuICBzaGFyZWRVc2Vyczogc3RyaW5nW107XHJcbiAgc2hhcmVkRGV2aWNlczogc3RyaW5nW107XHJcbiAgb3duZXJVc2VySWQ6IEFycmF5PHN0cmluZz47XHJcbiAgYXNzb2NpYXRlZDogYm9vbGVhbjtcclxuICBwb3B1bGF0ZVdpdGhEaWQ6IGJvb2xlYW47XHJcbiAgY2FsbGluZ1NlYXJjaFNwYWNlOiBzdHJpbmc7XHJcbiAgZm9ybTogRm9ybUdyb3VwO1xyXG4gIHByaW1hcnk/OiBib29sZWFuO1xyXG5cclxuICAvLyBAdHMtaWdub3JlXHJcbiAgZXF1YWxzKGxpbmU6IGFueSk7XHJcbn1cclxuIl19
|