@angular/common 18.2.5 → 18.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/http/index.mjs +2 -2
- package/esm2022/http/public_api.mjs +2 -2
- package/esm2022/http/src/backend.mjs +2 -2
- package/esm2022/http/src/client.mjs +5 -5
- package/esm2022/http/src/context.mjs +2 -2
- package/esm2022/http/src/errors.mjs +2 -2
- package/esm2022/http/src/fetch.mjs +5 -5
- package/esm2022/http/src/headers.mjs +2 -2
- package/esm2022/http/src/interceptor.mjs +5 -5
- package/esm2022/http/src/jsonp.mjs +8 -8
- package/esm2022/http/src/module.mjs +14 -14
- package/esm2022/http/src/params.mjs +2 -2
- package/esm2022/http/src/private_export.mjs +2 -2
- package/esm2022/http/src/provider.mjs +2 -2
- package/esm2022/http/src/request.mjs +2 -2
- package/esm2022/http/src/response.mjs +2 -2
- package/esm2022/http/src/transfer_cache.mjs +2 -2
- package/esm2022/http/src/xhr.mjs +5 -5
- package/esm2022/http/src/xsrf.mjs +8 -8
- package/esm2022/http/testing/index.mjs +2 -2
- package/esm2022/http/testing/public_api.mjs +2 -2
- package/esm2022/http/testing/src/api.mjs +2 -2
- package/esm2022/http/testing/src/backend.mjs +5 -5
- package/esm2022/http/testing/src/module.mjs +6 -6
- package/esm2022/http/testing/src/provider.mjs +2 -2
- package/esm2022/http/testing/src/request.mjs +2 -2
- package/esm2022/index.mjs +2 -2
- package/esm2022/public_api.mjs +2 -2
- package/esm2022/src/common.mjs +2 -2
- package/esm2022/src/common_module.mjs +6 -6
- package/esm2022/src/cookie.mjs +2 -2
- package/esm2022/src/directives/index.mjs +2 -2
- package/esm2022/src/directives/ng_class.mjs +5 -5
- package/esm2022/src/directives/ng_component_outlet.mjs +5 -5
- package/esm2022/src/directives/ng_for_of.mjs +5 -5
- package/esm2022/src/directives/ng_if.mjs +5 -5
- package/esm2022/src/directives/ng_optimized_image/asserts.mjs +2 -2
- package/esm2022/src/directives/ng_optimized_image/error_helper.mjs +2 -2
- package/esm2022/src/directives/ng_optimized_image/image_loaders/cloudflare_loader.mjs +2 -2
- package/esm2022/src/directives/ng_optimized_image/image_loaders/cloudinary_loader.mjs +2 -2
- package/esm2022/src/directives/ng_optimized_image/image_loaders/constants.mjs +2 -2
- package/esm2022/src/directives/ng_optimized_image/image_loaders/image_loader.mjs +2 -2
- package/esm2022/src/directives/ng_optimized_image/image_loaders/imagekit_loader.mjs +2 -2
- package/esm2022/src/directives/ng_optimized_image/image_loaders/imgix_loader.mjs +2 -2
- package/esm2022/src/directives/ng_optimized_image/image_loaders/netlify_loader.mjs +2 -2
- package/esm2022/src/directives/ng_optimized_image/index.mjs +2 -2
- package/esm2022/src/directives/ng_optimized_image/lcp_image_observer.mjs +5 -5
- package/esm2022/src/directives/ng_optimized_image/ng_optimized_image.mjs +5 -5
- package/esm2022/src/directives/ng_optimized_image/preconnect_link_checker.mjs +5 -5
- package/esm2022/src/directives/ng_optimized_image/preload-link-creator.mjs +5 -5
- package/esm2022/src/directives/ng_optimized_image/tokens.mjs +2 -2
- package/esm2022/src/directives/ng_optimized_image/url.mjs +2 -2
- package/esm2022/src/directives/ng_plural.mjs +8 -8
- package/esm2022/src/directives/ng_style.mjs +5 -5
- package/esm2022/src/directives/ng_switch.mjs +11 -11
- package/esm2022/src/directives/ng_template_outlet.mjs +5 -5
- package/esm2022/src/dom_adapter.mjs +2 -2
- package/esm2022/src/dom_tokens.mjs +2 -2
- package/esm2022/src/errors.mjs +2 -2
- package/esm2022/src/i18n/currencies.mjs +2 -2
- package/esm2022/src/i18n/format_date.mjs +2 -2
- package/esm2022/src/i18n/format_number.mjs +2 -2
- package/esm2022/src/i18n/locale_data.mjs +2 -2
- package/esm2022/src/i18n/locale_data_api.mjs +2 -2
- package/esm2022/src/i18n/localization.mjs +8 -8
- package/esm2022/src/location/hash_location_strategy.mjs +5 -5
- package/esm2022/src/location/index.mjs +2 -2
- package/esm2022/src/location/location.mjs +5 -5
- package/esm2022/src/location/location_strategy.mjs +8 -8
- package/esm2022/src/location/platform_location.mjs +8 -8
- package/esm2022/src/location/util.mjs +2 -2
- package/esm2022/src/navigation/navigation_types.mjs +2 -2
- package/esm2022/src/navigation/platform_navigation.mjs +5 -5
- package/esm2022/src/pipes/async_pipe.mjs +5 -5
- package/esm2022/src/pipes/case_conversion_pipes.mjs +11 -11
- package/esm2022/src/pipes/date_pipe.mjs +5 -5
- package/esm2022/src/pipes/date_pipe_config.mjs +2 -2
- package/esm2022/src/pipes/i18n_plural_pipe.mjs +5 -5
- package/esm2022/src/pipes/i18n_select_pipe.mjs +5 -5
- package/esm2022/src/pipes/index.mjs +2 -2
- package/esm2022/src/pipes/invalid_pipe_argument_error.mjs +2 -2
- package/esm2022/src/pipes/json_pipe.mjs +5 -5
- package/esm2022/src/pipes/keyvalue_pipe.mjs +5 -5
- package/esm2022/src/pipes/number_pipe.mjs +11 -11
- package/esm2022/src/pipes/slice_pipe.mjs +5 -5
- package/esm2022/src/platform_id.mjs +2 -2
- package/esm2022/src/private_export.mjs +2 -2
- package/esm2022/src/version.mjs +3 -3
- package/esm2022/src/viewport_scroller.mjs +2 -2
- package/esm2022/src/xhr.mjs +2 -2
- package/esm2022/testing/index.mjs +2 -2
- package/esm2022/testing/public_api.mjs +2 -2
- package/esm2022/testing/src/location_mock.mjs +5 -5
- package/esm2022/testing/src/mock_location_strategy.mjs +5 -5
- package/esm2022/testing/src/mock_platform_location.mjs +8 -8
- package/esm2022/testing/src/navigation/fake_navigation.mjs +2 -2
- package/esm2022/testing/src/navigation/navigation_types.mjs +2 -2
- package/esm2022/testing/src/navigation/provide_fake_platform_navigation.mjs +2 -2
- package/esm2022/testing/src/private_export.mjs +2 -2
- package/esm2022/testing/src/provide_location_mocks.mjs +2 -2
- package/esm2022/testing/src/testing.mjs +2 -2
- package/esm2022/upgrade/index.mjs +2 -2
- package/esm2022/upgrade/public_api.mjs +2 -2
- package/esm2022/upgrade/src/index.mjs +2 -2
- package/esm2022/upgrade/src/location_shim.mjs +2 -2
- package/esm2022/upgrade/src/location_upgrade_module.mjs +6 -6
- package/esm2022/upgrade/src/params.mjs +2 -2
- package/esm2022/upgrade/src/utils.mjs +2 -2
- package/fesm2022/common.mjs +117 -117
- package/fesm2022/common.mjs.map +1 -1
- package/fesm2022/http/testing.mjs +8 -8
- package/fesm2022/http/testing.mjs.map +1 -1
- package/fesm2022/http.mjs +37 -37
- package/fesm2022/http.mjs.map +1 -1
- package/fesm2022/testing.mjs +16 -16
- package/fesm2022/testing.mjs.map +1 -1
- package/fesm2022/upgrade.mjs +5 -5
- package/fesm2022/upgrade.mjs.map +1 -1
- package/http/index.d.ts +1 -1
- package/http/testing/index.d.ts +1 -1
- package/index.d.ts +1 -1
- package/locales/af-NA.d.ts +1 -1
- package/locales/af-NA.mjs +2 -2
- package/locales/af.d.ts +1 -1
- package/locales/af.mjs +2 -2
- package/locales/agq.d.ts +1 -1
- package/locales/agq.mjs +2 -2
- package/locales/ak.d.ts +1 -1
- package/locales/ak.mjs +2 -2
- package/locales/am.d.ts +1 -1
- package/locales/am.mjs +2 -2
- package/locales/ar-AE.d.ts +1 -1
- package/locales/ar-AE.mjs +2 -2
- package/locales/ar-BH.d.ts +1 -1
- package/locales/ar-BH.mjs +2 -2
- package/locales/ar-DJ.d.ts +1 -1
- package/locales/ar-DJ.mjs +2 -2
- package/locales/ar-DZ.d.ts +1 -1
- package/locales/ar-DZ.mjs +2 -2
- package/locales/ar-EG.d.ts +1 -1
- package/locales/ar-EG.mjs +2 -2
- package/locales/ar-EH.d.ts +1 -1
- package/locales/ar-EH.mjs +2 -2
- package/locales/ar-ER.d.ts +1 -1
- package/locales/ar-ER.mjs +2 -2
- package/locales/ar-IL.d.ts +1 -1
- package/locales/ar-IL.mjs +2 -2
- package/locales/ar-IQ.d.ts +1 -1
- package/locales/ar-IQ.mjs +2 -2
- package/locales/ar-JO.d.ts +1 -1
- package/locales/ar-JO.mjs +2 -2
- package/locales/ar-KM.d.ts +1 -1
- package/locales/ar-KM.mjs +2 -2
- package/locales/ar-KW.d.ts +1 -1
- package/locales/ar-KW.mjs +2 -2
- package/locales/ar-LB.d.ts +1 -1
- package/locales/ar-LB.mjs +2 -2
- package/locales/ar-LY.d.ts +1 -1
- package/locales/ar-LY.mjs +2 -2
- package/locales/ar-MA.d.ts +1 -1
- package/locales/ar-MA.mjs +2 -2
- package/locales/ar-MR.d.ts +1 -1
- package/locales/ar-MR.mjs +2 -2
- package/locales/ar-OM.d.ts +1 -1
- package/locales/ar-OM.mjs +2 -2
- package/locales/ar-PS.d.ts +1 -1
- package/locales/ar-PS.mjs +2 -2
- package/locales/ar-QA.d.ts +1 -1
- package/locales/ar-QA.mjs +2 -2
- package/locales/ar-SA.d.ts +1 -1
- package/locales/ar-SA.mjs +2 -2
- package/locales/ar-SD.d.ts +1 -1
- package/locales/ar-SD.mjs +2 -2
- package/locales/ar-SO.d.ts +1 -1
- package/locales/ar-SO.mjs +2 -2
- package/locales/ar-SS.d.ts +1 -1
- package/locales/ar-SS.mjs +2 -2
- package/locales/ar-SY.d.ts +1 -1
- package/locales/ar-SY.mjs +2 -2
- package/locales/ar-TD.d.ts +1 -1
- package/locales/ar-TD.mjs +2 -2
- package/locales/ar-TN.d.ts +1 -1
- package/locales/ar-TN.mjs +2 -2
- package/locales/ar-YE.d.ts +1 -1
- package/locales/ar-YE.mjs +2 -2
- package/locales/ar.d.ts +1 -1
- package/locales/ar.mjs +2 -2
- package/locales/as.d.ts +1 -1
- package/locales/as.mjs +2 -2
- package/locales/asa.d.ts +1 -1
- package/locales/asa.mjs +2 -2
- package/locales/ast.d.ts +1 -1
- package/locales/ast.mjs +2 -2
- package/locales/az-Cyrl.d.ts +1 -1
- package/locales/az-Cyrl.mjs +2 -2
- package/locales/az-Latn.d.ts +1 -1
- package/locales/az-Latn.mjs +2 -2
- package/locales/az.d.ts +1 -1
- package/locales/az.mjs +2 -2
- package/locales/bas.d.ts +1 -1
- package/locales/bas.mjs +2 -2
- package/locales/be-tarask.d.ts +1 -1
- package/locales/be-tarask.mjs +2 -2
- package/locales/be.d.ts +1 -1
- package/locales/be.mjs +2 -2
- package/locales/bem.d.ts +1 -1
- package/locales/bem.mjs +2 -2
- package/locales/bez.d.ts +1 -1
- package/locales/bez.mjs +2 -2
- package/locales/bg.d.ts +1 -1
- package/locales/bg.mjs +2 -2
- package/locales/bm.d.ts +1 -1
- package/locales/bm.mjs +2 -2
- package/locales/bn-IN.d.ts +1 -1
- package/locales/bn-IN.mjs +2 -2
- package/locales/bn.d.ts +1 -1
- package/locales/bn.mjs +2 -2
- package/locales/bo-IN.d.ts +1 -1
- package/locales/bo-IN.mjs +2 -2
- package/locales/bo.d.ts +1 -1
- package/locales/bo.mjs +2 -2
- package/locales/br.d.ts +1 -1
- package/locales/br.mjs +2 -2
- package/locales/brx.d.ts +1 -1
- package/locales/brx.mjs +2 -2
- package/locales/bs-Cyrl.d.ts +1 -1
- package/locales/bs-Cyrl.mjs +2 -2
- package/locales/bs-Latn.d.ts +1 -1
- package/locales/bs-Latn.mjs +2 -2
- package/locales/bs.d.ts +1 -1
- package/locales/bs.mjs +2 -2
- package/locales/ca-AD.d.ts +1 -1
- package/locales/ca-AD.mjs +2 -2
- package/locales/ca-ES-valencia.d.ts +1 -1
- package/locales/ca-ES-valencia.mjs +2 -2
- package/locales/ca-FR.d.ts +1 -1
- package/locales/ca-FR.mjs +2 -2
- package/locales/ca-IT.d.ts +1 -1
- package/locales/ca-IT.mjs +2 -2
- package/locales/ca.d.ts +1 -1
- package/locales/ca.mjs +2 -2
- package/locales/ccp-IN.d.ts +1 -1
- package/locales/ccp-IN.mjs +2 -2
- package/locales/ccp.d.ts +1 -1
- package/locales/ccp.mjs +2 -2
- package/locales/ce.d.ts +1 -1
- package/locales/ce.mjs +2 -2
- package/locales/ceb.d.ts +1 -1
- package/locales/ceb.mjs +2 -2
- package/locales/cgg.d.ts +1 -1
- package/locales/cgg.mjs +2 -2
- package/locales/chr.d.ts +1 -1
- package/locales/chr.mjs +2 -2
- package/locales/ckb-IR.d.ts +1 -1
- package/locales/ckb-IR.mjs +2 -2
- package/locales/ckb.d.ts +1 -1
- package/locales/ckb.mjs +2 -2
- package/locales/cs.d.ts +1 -1
- package/locales/cs.mjs +2 -2
- package/locales/cy.d.ts +1 -1
- package/locales/cy.mjs +2 -2
- package/locales/da-GL.d.ts +1 -1
- package/locales/da-GL.mjs +2 -2
- package/locales/da.d.ts +1 -1
- package/locales/da.mjs +2 -2
- package/locales/dav.d.ts +1 -1
- package/locales/dav.mjs +2 -2
- package/locales/de-AT.d.ts +1 -1
- package/locales/de-AT.mjs +2 -2
- package/locales/de-BE.d.ts +1 -1
- package/locales/de-BE.mjs +2 -2
- package/locales/de-CH.d.ts +1 -1
- package/locales/de-CH.mjs +2 -2
- package/locales/de-IT.d.ts +1 -1
- package/locales/de-IT.mjs +2 -2
- package/locales/de-LI.d.ts +1 -1
- package/locales/de-LI.mjs +2 -2
- package/locales/de-LU.d.ts +1 -1
- package/locales/de-LU.mjs +2 -2
- package/locales/de.d.ts +1 -1
- package/locales/de.mjs +2 -2
- package/locales/dje.d.ts +1 -1
- package/locales/dje.mjs +2 -2
- package/locales/doi.d.ts +1 -1
- package/locales/doi.mjs +2 -2
- package/locales/dsb.d.ts +1 -1
- package/locales/dsb.mjs +2 -2
- package/locales/dua.d.ts +1 -1
- package/locales/dua.mjs +2 -2
- package/locales/dyo.d.ts +1 -1
- package/locales/dyo.mjs +2 -2
- package/locales/dz.d.ts +1 -1
- package/locales/dz.mjs +2 -2
- package/locales/ebu.d.ts +1 -1
- package/locales/ebu.mjs +2 -2
- package/locales/ee-TG.d.ts +1 -1
- package/locales/ee-TG.mjs +2 -2
- package/locales/ee.d.ts +1 -1
- package/locales/ee.mjs +2 -2
- package/locales/el-CY.d.ts +1 -1
- package/locales/el-CY.mjs +2 -2
- package/locales/el.d.ts +1 -1
- package/locales/el.mjs +2 -2
- package/locales/en-001.d.ts +1 -1
- package/locales/en-001.mjs +2 -2
- package/locales/en-150.d.ts +1 -1
- package/locales/en-150.mjs +2 -2
- package/locales/en-AE.d.ts +1 -1
- package/locales/en-AE.mjs +2 -2
- package/locales/en-AG.d.ts +1 -1
- package/locales/en-AG.mjs +2 -2
- package/locales/en-AI.d.ts +1 -1
- package/locales/en-AI.mjs +2 -2
- package/locales/en-AS.d.ts +1 -1
- package/locales/en-AS.mjs +2 -2
- package/locales/en-AT.d.ts +1 -1
- package/locales/en-AT.mjs +2 -2
- package/locales/en-AU.d.ts +1 -1
- package/locales/en-AU.mjs +2 -2
- package/locales/en-BB.d.ts +1 -1
- package/locales/en-BB.mjs +2 -2
- package/locales/en-BE.d.ts +1 -1
- package/locales/en-BE.mjs +2 -2
- package/locales/en-BI.d.ts +1 -1
- package/locales/en-BI.mjs +2 -2
- package/locales/en-BM.d.ts +1 -1
- package/locales/en-BM.mjs +2 -2
- package/locales/en-BS.d.ts +1 -1
- package/locales/en-BS.mjs +2 -2
- package/locales/en-BW.d.ts +1 -1
- package/locales/en-BW.mjs +2 -2
- package/locales/en-BZ.d.ts +1 -1
- package/locales/en-BZ.mjs +2 -2
- package/locales/en-CA.d.ts +1 -1
- package/locales/en-CA.mjs +2 -2
- package/locales/en-CC.d.ts +1 -1
- package/locales/en-CC.mjs +2 -2
- package/locales/en-CH.d.ts +1 -1
- package/locales/en-CH.mjs +2 -2
- package/locales/en-CK.d.ts +1 -1
- package/locales/en-CK.mjs +2 -2
- package/locales/en-CM.d.ts +1 -1
- package/locales/en-CM.mjs +2 -2
- package/locales/en-CX.d.ts +1 -1
- package/locales/en-CX.mjs +2 -2
- package/locales/en-CY.d.ts +1 -1
- package/locales/en-CY.mjs +2 -2
- package/locales/en-DE.d.ts +1 -1
- package/locales/en-DE.mjs +2 -2
- package/locales/en-DG.d.ts +1 -1
- package/locales/en-DG.mjs +2 -2
- package/locales/en-DK.d.ts +1 -1
- package/locales/en-DK.mjs +2 -2
- package/locales/en-DM.d.ts +1 -1
- package/locales/en-DM.mjs +2 -2
- package/locales/en-ER.d.ts +1 -1
- package/locales/en-ER.mjs +2 -2
- package/locales/en-FI.d.ts +1 -1
- package/locales/en-FI.mjs +2 -2
- package/locales/en-FJ.d.ts +1 -1
- package/locales/en-FJ.mjs +2 -2
- package/locales/en-FK.d.ts +1 -1
- package/locales/en-FK.mjs +2 -2
- package/locales/en-FM.d.ts +1 -1
- package/locales/en-FM.mjs +2 -2
- package/locales/en-GB.d.ts +1 -1
- package/locales/en-GB.mjs +2 -2
- package/locales/en-GD.d.ts +1 -1
- package/locales/en-GD.mjs +2 -2
- package/locales/en-GG.d.ts +1 -1
- package/locales/en-GG.mjs +2 -2
- package/locales/en-GH.d.ts +1 -1
- package/locales/en-GH.mjs +2 -2
- package/locales/en-GI.d.ts +1 -1
- package/locales/en-GI.mjs +2 -2
- package/locales/en-GM.d.ts +1 -1
- package/locales/en-GM.mjs +2 -2
- package/locales/en-GU.d.ts +1 -1
- package/locales/en-GU.mjs +2 -2
- package/locales/en-GY.d.ts +1 -1
- package/locales/en-GY.mjs +2 -2
- package/locales/en-HK.d.ts +1 -1
- package/locales/en-HK.mjs +2 -2
- package/locales/en-IE.d.ts +1 -1
- package/locales/en-IE.mjs +2 -2
- package/locales/en-IL.d.ts +1 -1
- package/locales/en-IL.mjs +2 -2
- package/locales/en-IM.d.ts +1 -1
- package/locales/en-IM.mjs +2 -2
- package/locales/en-IN.d.ts +1 -1
- package/locales/en-IN.mjs +2 -2
- package/locales/en-IO.d.ts +1 -1
- package/locales/en-IO.mjs +2 -2
- package/locales/en-JE.d.ts +1 -1
- package/locales/en-JE.mjs +2 -2
- package/locales/en-JM.d.ts +1 -1
- package/locales/en-JM.mjs +2 -2
- package/locales/en-KE.d.ts +1 -1
- package/locales/en-KE.mjs +2 -2
- package/locales/en-KI.d.ts +1 -1
- package/locales/en-KI.mjs +2 -2
- package/locales/en-KN.d.ts +1 -1
- package/locales/en-KN.mjs +2 -2
- package/locales/en-KY.d.ts +1 -1
- package/locales/en-KY.mjs +2 -2
- package/locales/en-LC.d.ts +1 -1
- package/locales/en-LC.mjs +2 -2
- package/locales/en-LR.d.ts +1 -1
- package/locales/en-LR.mjs +2 -2
- package/locales/en-LS.d.ts +1 -1
- package/locales/en-LS.mjs +2 -2
- package/locales/en-MG.d.ts +1 -1
- package/locales/en-MG.mjs +2 -2
- package/locales/en-MH.d.ts +1 -1
- package/locales/en-MH.mjs +2 -2
- package/locales/en-MO.d.ts +1 -1
- package/locales/en-MO.mjs +2 -2
- package/locales/en-MP.d.ts +1 -1
- package/locales/en-MP.mjs +2 -2
- package/locales/en-MS.d.ts +1 -1
- package/locales/en-MS.mjs +2 -2
- package/locales/en-MT.d.ts +1 -1
- package/locales/en-MT.mjs +2 -2
- package/locales/en-MU.d.ts +1 -1
- package/locales/en-MU.mjs +2 -2
- package/locales/en-MV.d.ts +1 -1
- package/locales/en-MV.mjs +2 -2
- package/locales/en-MW.d.ts +1 -1
- package/locales/en-MW.mjs +2 -2
- package/locales/en-MY.d.ts +1 -1
- package/locales/en-MY.mjs +2 -2
- package/locales/en-NA.d.ts +1 -1
- package/locales/en-NA.mjs +2 -2
- package/locales/en-NF.d.ts +1 -1
- package/locales/en-NF.mjs +2 -2
- package/locales/en-NG.d.ts +1 -1
- package/locales/en-NG.mjs +2 -2
- package/locales/en-NL.d.ts +1 -1
- package/locales/en-NL.mjs +2 -2
- package/locales/en-NR.d.ts +1 -1
- package/locales/en-NR.mjs +2 -2
- package/locales/en-NU.d.ts +1 -1
- package/locales/en-NU.mjs +2 -2
- package/locales/en-NZ.d.ts +1 -1
- package/locales/en-NZ.mjs +2 -2
- package/locales/en-PG.d.ts +1 -1
- package/locales/en-PG.mjs +2 -2
- package/locales/en-PH.d.ts +1 -1
- package/locales/en-PH.mjs +2 -2
- package/locales/en-PK.d.ts +1 -1
- package/locales/en-PK.mjs +2 -2
- package/locales/en-PN.d.ts +1 -1
- package/locales/en-PN.mjs +2 -2
- package/locales/en-PR.d.ts +1 -1
- package/locales/en-PR.mjs +2 -2
- package/locales/en-PW.d.ts +1 -1
- package/locales/en-PW.mjs +2 -2
- package/locales/en-RW.d.ts +1 -1
- package/locales/en-RW.mjs +2 -2
- package/locales/en-SB.d.ts +1 -1
- package/locales/en-SB.mjs +2 -2
- package/locales/en-SC.d.ts +1 -1
- package/locales/en-SC.mjs +2 -2
- package/locales/en-SD.d.ts +1 -1
- package/locales/en-SD.mjs +2 -2
- package/locales/en-SE.d.ts +1 -1
- package/locales/en-SE.mjs +2 -2
- package/locales/en-SG.d.ts +1 -1
- package/locales/en-SG.mjs +2 -2
- package/locales/en-SH.d.ts +1 -1
- package/locales/en-SH.mjs +2 -2
- package/locales/en-SI.d.ts +1 -1
- package/locales/en-SI.mjs +2 -2
- package/locales/en-SL.d.ts +1 -1
- package/locales/en-SL.mjs +2 -2
- package/locales/en-SS.d.ts +1 -1
- package/locales/en-SS.mjs +2 -2
- package/locales/en-SX.d.ts +1 -1
- package/locales/en-SX.mjs +2 -2
- package/locales/en-SZ.d.ts +1 -1
- package/locales/en-SZ.mjs +2 -2
- package/locales/en-TC.d.ts +1 -1
- package/locales/en-TC.mjs +2 -2
- package/locales/en-TK.d.ts +1 -1
- package/locales/en-TK.mjs +2 -2
- package/locales/en-TO.d.ts +1 -1
- package/locales/en-TO.mjs +2 -2
- package/locales/en-TT.d.ts +1 -1
- package/locales/en-TT.mjs +2 -2
- package/locales/en-TV.d.ts +1 -1
- package/locales/en-TV.mjs +2 -2
- package/locales/en-TZ.d.ts +1 -1
- package/locales/en-TZ.mjs +2 -2
- package/locales/en-UG.d.ts +1 -1
- package/locales/en-UG.mjs +2 -2
- package/locales/en-UM.d.ts +1 -1
- package/locales/en-UM.mjs +2 -2
- package/locales/en-VC.d.ts +1 -1
- package/locales/en-VC.mjs +2 -2
- package/locales/en-VG.d.ts +1 -1
- package/locales/en-VG.mjs +2 -2
- package/locales/en-VI.d.ts +1 -1
- package/locales/en-VI.mjs +2 -2
- package/locales/en-VU.d.ts +1 -1
- package/locales/en-VU.mjs +2 -2
- package/locales/en-WS.d.ts +1 -1
- package/locales/en-WS.mjs +2 -2
- package/locales/en-ZA.d.ts +1 -1
- package/locales/en-ZA.mjs +2 -2
- package/locales/en-ZM.d.ts +1 -1
- package/locales/en-ZM.mjs +2 -2
- package/locales/en-ZW.d.ts +1 -1
- package/locales/en-ZW.mjs +2 -2
- package/locales/en.d.ts +1 -1
- package/locales/en.mjs +2 -2
- package/locales/eo.d.ts +1 -1
- package/locales/eo.mjs +2 -2
- package/locales/es-419.d.ts +1 -1
- package/locales/es-419.mjs +2 -2
- package/locales/es-AR.d.ts +1 -1
- package/locales/es-AR.mjs +2 -2
- package/locales/es-BO.d.ts +1 -1
- package/locales/es-BO.mjs +2 -2
- package/locales/es-BR.d.ts +1 -1
- package/locales/es-BR.mjs +2 -2
- package/locales/es-BZ.d.ts +1 -1
- package/locales/es-BZ.mjs +2 -2
- package/locales/es-CL.d.ts +1 -1
- package/locales/es-CL.mjs +2 -2
- package/locales/es-CO.d.ts +1 -1
- package/locales/es-CO.mjs +2 -2
- package/locales/es-CR.d.ts +1 -1
- package/locales/es-CR.mjs +2 -2
- package/locales/es-CU.d.ts +1 -1
- package/locales/es-CU.mjs +2 -2
- package/locales/es-DO.d.ts +1 -1
- package/locales/es-DO.mjs +2 -2
- package/locales/es-EA.d.ts +1 -1
- package/locales/es-EA.mjs +2 -2
- package/locales/es-EC.d.ts +1 -1
- package/locales/es-EC.mjs +2 -2
- package/locales/es-GQ.d.ts +1 -1
- package/locales/es-GQ.mjs +2 -2
- package/locales/es-GT.d.ts +1 -1
- package/locales/es-GT.mjs +2 -2
- package/locales/es-HN.d.ts +1 -1
- package/locales/es-HN.mjs +2 -2
- package/locales/es-IC.d.ts +1 -1
- package/locales/es-IC.mjs +2 -2
- package/locales/es-MX.d.ts +1 -1
- package/locales/es-MX.mjs +2 -2
- package/locales/es-NI.d.ts +1 -1
- package/locales/es-NI.mjs +2 -2
- package/locales/es-PA.d.ts +1 -1
- package/locales/es-PA.mjs +2 -2
- package/locales/es-PE.d.ts +1 -1
- package/locales/es-PE.mjs +2 -2
- package/locales/es-PH.d.ts +1 -1
- package/locales/es-PH.mjs +2 -2
- package/locales/es-PR.d.ts +1 -1
- package/locales/es-PR.mjs +2 -2
- package/locales/es-PY.d.ts +1 -1
- package/locales/es-PY.mjs +2 -2
- package/locales/es-SV.d.ts +1 -1
- package/locales/es-SV.mjs +2 -2
- package/locales/es-US.d.ts +1 -1
- package/locales/es-US.mjs +2 -2
- package/locales/es-UY.d.ts +1 -1
- package/locales/es-UY.mjs +2 -2
- package/locales/es-VE.d.ts +1 -1
- package/locales/es-VE.mjs +2 -2
- package/locales/es.d.ts +1 -1
- package/locales/es.mjs +2 -2
- package/locales/et.d.ts +1 -1
- package/locales/et.mjs +2 -2
- package/locales/eu.d.ts +1 -1
- package/locales/eu.mjs +2 -2
- package/locales/ewo.d.ts +1 -1
- package/locales/ewo.mjs +2 -2
- package/locales/extra/af-NA.d.ts +1 -1
- package/locales/extra/af-NA.mjs +2 -2
- package/locales/extra/af.d.ts +1 -1
- package/locales/extra/af.mjs +2 -2
- package/locales/extra/agq.d.ts +1 -1
- package/locales/extra/agq.mjs +2 -2
- package/locales/extra/ak.d.ts +1 -1
- package/locales/extra/ak.mjs +2 -2
- package/locales/extra/am.d.ts +1 -1
- package/locales/extra/am.mjs +2 -2
- package/locales/extra/ar-AE.d.ts +1 -1
- package/locales/extra/ar-AE.mjs +2 -2
- package/locales/extra/ar-BH.d.ts +1 -1
- package/locales/extra/ar-BH.mjs +2 -2
- package/locales/extra/ar-DJ.d.ts +1 -1
- package/locales/extra/ar-DJ.mjs +2 -2
- package/locales/extra/ar-DZ.d.ts +1 -1
- package/locales/extra/ar-DZ.mjs +2 -2
- package/locales/extra/ar-EG.d.ts +1 -1
- package/locales/extra/ar-EG.mjs +2 -2
- package/locales/extra/ar-EH.d.ts +1 -1
- package/locales/extra/ar-EH.mjs +2 -2
- package/locales/extra/ar-ER.d.ts +1 -1
- package/locales/extra/ar-ER.mjs +2 -2
- package/locales/extra/ar-IL.d.ts +1 -1
- package/locales/extra/ar-IL.mjs +2 -2
- package/locales/extra/ar-IQ.d.ts +1 -1
- package/locales/extra/ar-IQ.mjs +2 -2
- package/locales/extra/ar-JO.d.ts +1 -1
- package/locales/extra/ar-JO.mjs +2 -2
- package/locales/extra/ar-KM.d.ts +1 -1
- package/locales/extra/ar-KM.mjs +2 -2
- package/locales/extra/ar-KW.d.ts +1 -1
- package/locales/extra/ar-KW.mjs +2 -2
- package/locales/extra/ar-LB.d.ts +1 -1
- package/locales/extra/ar-LB.mjs +2 -2
- package/locales/extra/ar-LY.d.ts +1 -1
- package/locales/extra/ar-LY.mjs +2 -2
- package/locales/extra/ar-MA.d.ts +1 -1
- package/locales/extra/ar-MA.mjs +2 -2
- package/locales/extra/ar-MR.d.ts +1 -1
- package/locales/extra/ar-MR.mjs +2 -2
- package/locales/extra/ar-OM.d.ts +1 -1
- package/locales/extra/ar-OM.mjs +2 -2
- package/locales/extra/ar-PS.d.ts +1 -1
- package/locales/extra/ar-PS.mjs +2 -2
- package/locales/extra/ar-QA.d.ts +1 -1
- package/locales/extra/ar-QA.mjs +2 -2
- package/locales/extra/ar-SA.d.ts +1 -1
- package/locales/extra/ar-SA.mjs +2 -2
- package/locales/extra/ar-SD.d.ts +1 -1
- package/locales/extra/ar-SD.mjs +2 -2
- package/locales/extra/ar-SO.d.ts +1 -1
- package/locales/extra/ar-SO.mjs +2 -2
- package/locales/extra/ar-SS.d.ts +1 -1
- package/locales/extra/ar-SS.mjs +2 -2
- package/locales/extra/ar-SY.d.ts +1 -1
- package/locales/extra/ar-SY.mjs +2 -2
- package/locales/extra/ar-TD.d.ts +1 -1
- package/locales/extra/ar-TD.mjs +2 -2
- package/locales/extra/ar-TN.d.ts +1 -1
- package/locales/extra/ar-TN.mjs +2 -2
- package/locales/extra/ar-YE.d.ts +1 -1
- package/locales/extra/ar-YE.mjs +2 -2
- package/locales/extra/ar.d.ts +1 -1
- package/locales/extra/ar.mjs +2 -2
- package/locales/extra/as.d.ts +1 -1
- package/locales/extra/as.mjs +2 -2
- package/locales/extra/asa.d.ts +1 -1
- package/locales/extra/asa.mjs +2 -2
- package/locales/extra/ast.d.ts +1 -1
- package/locales/extra/ast.mjs +2 -2
- package/locales/extra/az-Cyrl.d.ts +1 -1
- package/locales/extra/az-Cyrl.mjs +2 -2
- package/locales/extra/az-Latn.d.ts +1 -1
- package/locales/extra/az-Latn.mjs +2 -2
- package/locales/extra/az.d.ts +1 -1
- package/locales/extra/az.mjs +2 -2
- package/locales/extra/bas.d.ts +1 -1
- package/locales/extra/bas.mjs +2 -2
- package/locales/extra/be-tarask.d.ts +1 -1
- package/locales/extra/be-tarask.mjs +2 -2
- package/locales/extra/be.d.ts +1 -1
- package/locales/extra/be.mjs +2 -2
- package/locales/extra/bem.d.ts +1 -1
- package/locales/extra/bem.mjs +2 -2
- package/locales/extra/bez.d.ts +1 -1
- package/locales/extra/bez.mjs +2 -2
- package/locales/extra/bg.d.ts +1 -1
- package/locales/extra/bg.mjs +2 -2
- package/locales/extra/bm.d.ts +1 -1
- package/locales/extra/bm.mjs +2 -2
- package/locales/extra/bn-IN.d.ts +1 -1
- package/locales/extra/bn-IN.mjs +2 -2
- package/locales/extra/bn.d.ts +1 -1
- package/locales/extra/bn.mjs +2 -2
- package/locales/extra/bo-IN.d.ts +1 -1
- package/locales/extra/bo-IN.mjs +2 -2
- package/locales/extra/bo.d.ts +1 -1
- package/locales/extra/bo.mjs +2 -2
- package/locales/extra/br.d.ts +1 -1
- package/locales/extra/br.mjs +2 -2
- package/locales/extra/brx.d.ts +1 -1
- package/locales/extra/brx.mjs +2 -2
- package/locales/extra/bs-Cyrl.d.ts +1 -1
- package/locales/extra/bs-Cyrl.mjs +2 -2
- package/locales/extra/bs-Latn.d.ts +1 -1
- package/locales/extra/bs-Latn.mjs +2 -2
- package/locales/extra/bs.d.ts +1 -1
- package/locales/extra/bs.mjs +2 -2
- package/locales/extra/ca-AD.d.ts +1 -1
- package/locales/extra/ca-AD.mjs +2 -2
- package/locales/extra/ca-ES-valencia.d.ts +1 -1
- package/locales/extra/ca-ES-valencia.mjs +2 -2
- package/locales/extra/ca-FR.d.ts +1 -1
- package/locales/extra/ca-FR.mjs +2 -2
- package/locales/extra/ca-IT.d.ts +1 -1
- package/locales/extra/ca-IT.mjs +2 -2
- package/locales/extra/ca.d.ts +1 -1
- package/locales/extra/ca.mjs +2 -2
- package/locales/extra/ccp-IN.d.ts +1 -1
- package/locales/extra/ccp-IN.mjs +2 -2
- package/locales/extra/ccp.d.ts +1 -1
- package/locales/extra/ccp.mjs +2 -2
- package/locales/extra/ce.d.ts +1 -1
- package/locales/extra/ce.mjs +2 -2
- package/locales/extra/ceb.d.ts +1 -1
- package/locales/extra/ceb.mjs +2 -2
- package/locales/extra/cgg.d.ts +1 -1
- package/locales/extra/cgg.mjs +2 -2
- package/locales/extra/chr.d.ts +1 -1
- package/locales/extra/chr.mjs +2 -2
- package/locales/extra/ckb-IR.d.ts +1 -1
- package/locales/extra/ckb-IR.mjs +2 -2
- package/locales/extra/ckb.d.ts +1 -1
- package/locales/extra/ckb.mjs +2 -2
- package/locales/extra/cs.d.ts +1 -1
- package/locales/extra/cs.mjs +2 -2
- package/locales/extra/cy.d.ts +1 -1
- package/locales/extra/cy.mjs +2 -2
- package/locales/extra/da-GL.d.ts +1 -1
- package/locales/extra/da-GL.mjs +2 -2
- package/locales/extra/da.d.ts +1 -1
- package/locales/extra/da.mjs +2 -2
- package/locales/extra/dav.d.ts +1 -1
- package/locales/extra/dav.mjs +2 -2
- package/locales/extra/de-AT.d.ts +1 -1
- package/locales/extra/de-AT.mjs +2 -2
- package/locales/extra/de-BE.d.ts +1 -1
- package/locales/extra/de-BE.mjs +2 -2
- package/locales/extra/de-CH.d.ts +1 -1
- package/locales/extra/de-CH.mjs +2 -2
- package/locales/extra/de-IT.d.ts +1 -1
- package/locales/extra/de-IT.mjs +2 -2
- package/locales/extra/de-LI.d.ts +1 -1
- package/locales/extra/de-LI.mjs +2 -2
- package/locales/extra/de-LU.d.ts +1 -1
- package/locales/extra/de-LU.mjs +2 -2
- package/locales/extra/de.d.ts +1 -1
- package/locales/extra/de.mjs +2 -2
- package/locales/extra/dje.d.ts +1 -1
- package/locales/extra/dje.mjs +2 -2
- package/locales/extra/doi.d.ts +1 -1
- package/locales/extra/doi.mjs +2 -2
- package/locales/extra/dsb.d.ts +1 -1
- package/locales/extra/dsb.mjs +2 -2
- package/locales/extra/dua.d.ts +1 -1
- package/locales/extra/dua.mjs +2 -2
- package/locales/extra/dyo.d.ts +1 -1
- package/locales/extra/dyo.mjs +2 -2
- package/locales/extra/dz.d.ts +1 -1
- package/locales/extra/dz.mjs +2 -2
- package/locales/extra/ebu.d.ts +1 -1
- package/locales/extra/ebu.mjs +2 -2
- package/locales/extra/ee-TG.d.ts +1 -1
- package/locales/extra/ee-TG.mjs +2 -2
- package/locales/extra/ee.d.ts +1 -1
- package/locales/extra/ee.mjs +2 -2
- package/locales/extra/el-CY.d.ts +1 -1
- package/locales/extra/el-CY.mjs +2 -2
- package/locales/extra/el.d.ts +1 -1
- package/locales/extra/el.mjs +2 -2
- package/locales/extra/en-001.d.ts +1 -1
- package/locales/extra/en-001.mjs +2 -2
- package/locales/extra/en-150.d.ts +1 -1
- package/locales/extra/en-150.mjs +2 -2
- package/locales/extra/en-AE.d.ts +1 -1
- package/locales/extra/en-AE.mjs +2 -2
- package/locales/extra/en-AG.d.ts +1 -1
- package/locales/extra/en-AG.mjs +2 -2
- package/locales/extra/en-AI.d.ts +1 -1
- package/locales/extra/en-AI.mjs +2 -2
- package/locales/extra/en-AS.d.ts +1 -1
- package/locales/extra/en-AS.mjs +2 -2
- package/locales/extra/en-AT.d.ts +1 -1
- package/locales/extra/en-AT.mjs +2 -2
- package/locales/extra/en-AU.d.ts +1 -1
- package/locales/extra/en-AU.mjs +2 -2
- package/locales/extra/en-BB.d.ts +1 -1
- package/locales/extra/en-BB.mjs +2 -2
- package/locales/extra/en-BE.d.ts +1 -1
- package/locales/extra/en-BE.mjs +2 -2
- package/locales/extra/en-BI.d.ts +1 -1
- package/locales/extra/en-BI.mjs +2 -2
- package/locales/extra/en-BM.d.ts +1 -1
- package/locales/extra/en-BM.mjs +2 -2
- package/locales/extra/en-BS.d.ts +1 -1
- package/locales/extra/en-BS.mjs +2 -2
- package/locales/extra/en-BW.d.ts +1 -1
- package/locales/extra/en-BW.mjs +2 -2
- package/locales/extra/en-BZ.d.ts +1 -1
- package/locales/extra/en-BZ.mjs +2 -2
- package/locales/extra/en-CA.d.ts +1 -1
- package/locales/extra/en-CA.mjs +2 -2
- package/locales/extra/en-CC.d.ts +1 -1
- package/locales/extra/en-CC.mjs +2 -2
- package/locales/extra/en-CH.d.ts +1 -1
- package/locales/extra/en-CH.mjs +2 -2
- package/locales/extra/en-CK.d.ts +1 -1
- package/locales/extra/en-CK.mjs +2 -2
- package/locales/extra/en-CM.d.ts +1 -1
- package/locales/extra/en-CM.mjs +2 -2
- package/locales/extra/en-CX.d.ts +1 -1
- package/locales/extra/en-CX.mjs +2 -2
- package/locales/extra/en-CY.d.ts +1 -1
- package/locales/extra/en-CY.mjs +2 -2
- package/locales/extra/en-DE.d.ts +1 -1
- package/locales/extra/en-DE.mjs +2 -2
- package/locales/extra/en-DG.d.ts +1 -1
- package/locales/extra/en-DG.mjs +2 -2
- package/locales/extra/en-DK.d.ts +1 -1
- package/locales/extra/en-DK.mjs +2 -2
- package/locales/extra/en-DM.d.ts +1 -1
- package/locales/extra/en-DM.mjs +2 -2
- package/locales/extra/en-ER.d.ts +1 -1
- package/locales/extra/en-ER.mjs +2 -2
- package/locales/extra/en-FI.d.ts +1 -1
- package/locales/extra/en-FI.mjs +2 -2
- package/locales/extra/en-FJ.d.ts +1 -1
- package/locales/extra/en-FJ.mjs +2 -2
- package/locales/extra/en-FK.d.ts +1 -1
- package/locales/extra/en-FK.mjs +2 -2
- package/locales/extra/en-FM.d.ts +1 -1
- package/locales/extra/en-FM.mjs +2 -2
- package/locales/extra/en-GB.d.ts +1 -1
- package/locales/extra/en-GB.mjs +2 -2
- package/locales/extra/en-GD.d.ts +1 -1
- package/locales/extra/en-GD.mjs +2 -2
- package/locales/extra/en-GG.d.ts +1 -1
- package/locales/extra/en-GG.mjs +2 -2
- package/locales/extra/en-GH.d.ts +1 -1
- package/locales/extra/en-GH.mjs +2 -2
- package/locales/extra/en-GI.d.ts +1 -1
- package/locales/extra/en-GI.mjs +2 -2
- package/locales/extra/en-GM.d.ts +1 -1
- package/locales/extra/en-GM.mjs +2 -2
- package/locales/extra/en-GU.d.ts +1 -1
- package/locales/extra/en-GU.mjs +2 -2
- package/locales/extra/en-GY.d.ts +1 -1
- package/locales/extra/en-GY.mjs +2 -2
- package/locales/extra/en-HK.d.ts +1 -1
- package/locales/extra/en-HK.mjs +2 -2
- package/locales/extra/en-IE.d.ts +1 -1
- package/locales/extra/en-IE.mjs +2 -2
- package/locales/extra/en-IL.d.ts +1 -1
- package/locales/extra/en-IL.mjs +2 -2
- package/locales/extra/en-IM.d.ts +1 -1
- package/locales/extra/en-IM.mjs +2 -2
- package/locales/extra/en-IN.d.ts +1 -1
- package/locales/extra/en-IN.mjs +2 -2
- package/locales/extra/en-IO.d.ts +1 -1
- package/locales/extra/en-IO.mjs +2 -2
- package/locales/extra/en-JE.d.ts +1 -1
- package/locales/extra/en-JE.mjs +2 -2
- package/locales/extra/en-JM.d.ts +1 -1
- package/locales/extra/en-JM.mjs +2 -2
- package/locales/extra/en-KE.d.ts +1 -1
- package/locales/extra/en-KE.mjs +2 -2
- package/locales/extra/en-KI.d.ts +1 -1
- package/locales/extra/en-KI.mjs +2 -2
- package/locales/extra/en-KN.d.ts +1 -1
- package/locales/extra/en-KN.mjs +2 -2
- package/locales/extra/en-KY.d.ts +1 -1
- package/locales/extra/en-KY.mjs +2 -2
- package/locales/extra/en-LC.d.ts +1 -1
- package/locales/extra/en-LC.mjs +2 -2
- package/locales/extra/en-LR.d.ts +1 -1
- package/locales/extra/en-LR.mjs +2 -2
- package/locales/extra/en-LS.d.ts +1 -1
- package/locales/extra/en-LS.mjs +2 -2
- package/locales/extra/en-MG.d.ts +1 -1
- package/locales/extra/en-MG.mjs +2 -2
- package/locales/extra/en-MH.d.ts +1 -1
- package/locales/extra/en-MH.mjs +2 -2
- package/locales/extra/en-MO.d.ts +1 -1
- package/locales/extra/en-MO.mjs +2 -2
- package/locales/extra/en-MP.d.ts +1 -1
- package/locales/extra/en-MP.mjs +2 -2
- package/locales/extra/en-MS.d.ts +1 -1
- package/locales/extra/en-MS.mjs +2 -2
- package/locales/extra/en-MT.d.ts +1 -1
- package/locales/extra/en-MT.mjs +2 -2
- package/locales/extra/en-MU.d.ts +1 -1
- package/locales/extra/en-MU.mjs +2 -2
- package/locales/extra/en-MV.d.ts +1 -1
- package/locales/extra/en-MV.mjs +2 -2
- package/locales/extra/en-MW.d.ts +1 -1
- package/locales/extra/en-MW.mjs +2 -2
- package/locales/extra/en-MY.d.ts +1 -1
- package/locales/extra/en-MY.mjs +2 -2
- package/locales/extra/en-NA.d.ts +1 -1
- package/locales/extra/en-NA.mjs +2 -2
- package/locales/extra/en-NF.d.ts +1 -1
- package/locales/extra/en-NF.mjs +2 -2
- package/locales/extra/en-NG.d.ts +1 -1
- package/locales/extra/en-NG.mjs +2 -2
- package/locales/extra/en-NL.d.ts +1 -1
- package/locales/extra/en-NL.mjs +2 -2
- package/locales/extra/en-NR.d.ts +1 -1
- package/locales/extra/en-NR.mjs +2 -2
- package/locales/extra/en-NU.d.ts +1 -1
- package/locales/extra/en-NU.mjs +2 -2
- package/locales/extra/en-NZ.d.ts +1 -1
- package/locales/extra/en-NZ.mjs +2 -2
- package/locales/extra/en-PG.d.ts +1 -1
- package/locales/extra/en-PG.mjs +2 -2
- package/locales/extra/en-PH.d.ts +1 -1
- package/locales/extra/en-PH.mjs +2 -2
- package/locales/extra/en-PK.d.ts +1 -1
- package/locales/extra/en-PK.mjs +2 -2
- package/locales/extra/en-PN.d.ts +1 -1
- package/locales/extra/en-PN.mjs +2 -2
- package/locales/extra/en-PR.d.ts +1 -1
- package/locales/extra/en-PR.mjs +2 -2
- package/locales/extra/en-PW.d.ts +1 -1
- package/locales/extra/en-PW.mjs +2 -2
- package/locales/extra/en-RW.d.ts +1 -1
- package/locales/extra/en-RW.mjs +2 -2
- package/locales/extra/en-SB.d.ts +1 -1
- package/locales/extra/en-SB.mjs +2 -2
- package/locales/extra/en-SC.d.ts +1 -1
- package/locales/extra/en-SC.mjs +2 -2
- package/locales/extra/en-SD.d.ts +1 -1
- package/locales/extra/en-SD.mjs +2 -2
- package/locales/extra/en-SE.d.ts +1 -1
- package/locales/extra/en-SE.mjs +2 -2
- package/locales/extra/en-SG.d.ts +1 -1
- package/locales/extra/en-SG.mjs +2 -2
- package/locales/extra/en-SH.d.ts +1 -1
- package/locales/extra/en-SH.mjs +2 -2
- package/locales/extra/en-SI.d.ts +1 -1
- package/locales/extra/en-SI.mjs +2 -2
- package/locales/extra/en-SL.d.ts +1 -1
- package/locales/extra/en-SL.mjs +2 -2
- package/locales/extra/en-SS.d.ts +1 -1
- package/locales/extra/en-SS.mjs +2 -2
- package/locales/extra/en-SX.d.ts +1 -1
- package/locales/extra/en-SX.mjs +2 -2
- package/locales/extra/en-SZ.d.ts +1 -1
- package/locales/extra/en-SZ.mjs +2 -2
- package/locales/extra/en-TC.d.ts +1 -1
- package/locales/extra/en-TC.mjs +2 -2
- package/locales/extra/en-TK.d.ts +1 -1
- package/locales/extra/en-TK.mjs +2 -2
- package/locales/extra/en-TO.d.ts +1 -1
- package/locales/extra/en-TO.mjs +2 -2
- package/locales/extra/en-TT.d.ts +1 -1
- package/locales/extra/en-TT.mjs +2 -2
- package/locales/extra/en-TV.d.ts +1 -1
- package/locales/extra/en-TV.mjs +2 -2
- package/locales/extra/en-TZ.d.ts +1 -1
- package/locales/extra/en-TZ.mjs +2 -2
- package/locales/extra/en-UG.d.ts +1 -1
- package/locales/extra/en-UG.mjs +2 -2
- package/locales/extra/en-UM.d.ts +1 -1
- package/locales/extra/en-UM.mjs +2 -2
- package/locales/extra/en-VC.d.ts +1 -1
- package/locales/extra/en-VC.mjs +2 -2
- package/locales/extra/en-VG.d.ts +1 -1
- package/locales/extra/en-VG.mjs +2 -2
- package/locales/extra/en-VI.d.ts +1 -1
- package/locales/extra/en-VI.mjs +2 -2
- package/locales/extra/en-VU.d.ts +1 -1
- package/locales/extra/en-VU.mjs +2 -2
- package/locales/extra/en-WS.d.ts +1 -1
- package/locales/extra/en-WS.mjs +2 -2
- package/locales/extra/en-ZA.d.ts +1 -1
- package/locales/extra/en-ZA.mjs +2 -2
- package/locales/extra/en-ZM.d.ts +1 -1
- package/locales/extra/en-ZM.mjs +2 -2
- package/locales/extra/en-ZW.d.ts +1 -1
- package/locales/extra/en-ZW.mjs +2 -2
- package/locales/extra/en.d.ts +1 -1
- package/locales/extra/en.mjs +2 -2
- package/locales/extra/eo.d.ts +1 -1
- package/locales/extra/eo.mjs +2 -2
- package/locales/extra/es-419.d.ts +1 -1
- package/locales/extra/es-419.mjs +2 -2
- package/locales/extra/es-AR.d.ts +1 -1
- package/locales/extra/es-AR.mjs +2 -2
- package/locales/extra/es-BO.d.ts +1 -1
- package/locales/extra/es-BO.mjs +2 -2
- package/locales/extra/es-BR.d.ts +1 -1
- package/locales/extra/es-BR.mjs +2 -2
- package/locales/extra/es-BZ.d.ts +1 -1
- package/locales/extra/es-BZ.mjs +2 -2
- package/locales/extra/es-CL.d.ts +1 -1
- package/locales/extra/es-CL.mjs +2 -2
- package/locales/extra/es-CO.d.ts +1 -1
- package/locales/extra/es-CO.mjs +2 -2
- package/locales/extra/es-CR.d.ts +1 -1
- package/locales/extra/es-CR.mjs +2 -2
- package/locales/extra/es-CU.d.ts +1 -1
- package/locales/extra/es-CU.mjs +2 -2
- package/locales/extra/es-DO.d.ts +1 -1
- package/locales/extra/es-DO.mjs +2 -2
- package/locales/extra/es-EA.d.ts +1 -1
- package/locales/extra/es-EA.mjs +2 -2
- package/locales/extra/es-EC.d.ts +1 -1
- package/locales/extra/es-EC.mjs +2 -2
- package/locales/extra/es-GQ.d.ts +1 -1
- package/locales/extra/es-GQ.mjs +2 -2
- package/locales/extra/es-GT.d.ts +1 -1
- package/locales/extra/es-GT.mjs +2 -2
- package/locales/extra/es-HN.d.ts +1 -1
- package/locales/extra/es-HN.mjs +2 -2
- package/locales/extra/es-IC.d.ts +1 -1
- package/locales/extra/es-IC.mjs +2 -2
- package/locales/extra/es-MX.d.ts +1 -1
- package/locales/extra/es-MX.mjs +2 -2
- package/locales/extra/es-NI.d.ts +1 -1
- package/locales/extra/es-NI.mjs +2 -2
- package/locales/extra/es-PA.d.ts +1 -1
- package/locales/extra/es-PA.mjs +2 -2
- package/locales/extra/es-PE.d.ts +1 -1
- package/locales/extra/es-PE.mjs +2 -2
- package/locales/extra/es-PH.d.ts +1 -1
- package/locales/extra/es-PH.mjs +2 -2
- package/locales/extra/es-PR.d.ts +1 -1
- package/locales/extra/es-PR.mjs +2 -2
- package/locales/extra/es-PY.d.ts +1 -1
- package/locales/extra/es-PY.mjs +2 -2
- package/locales/extra/es-SV.d.ts +1 -1
- package/locales/extra/es-SV.mjs +2 -2
- package/locales/extra/es-US.d.ts +1 -1
- package/locales/extra/es-US.mjs +2 -2
- package/locales/extra/es-UY.d.ts +1 -1
- package/locales/extra/es-UY.mjs +2 -2
- package/locales/extra/es-VE.d.ts +1 -1
- package/locales/extra/es-VE.mjs +2 -2
- package/locales/extra/es.d.ts +1 -1
- package/locales/extra/es.mjs +2 -2
- package/locales/extra/et.d.ts +1 -1
- package/locales/extra/et.mjs +2 -2
- package/locales/extra/eu.d.ts +1 -1
- package/locales/extra/eu.mjs +2 -2
- package/locales/extra/ewo.d.ts +1 -1
- package/locales/extra/ewo.mjs +2 -2
- package/locales/extra/fa-AF.d.ts +1 -1
- package/locales/extra/fa-AF.mjs +2 -2
- package/locales/extra/fa.d.ts +1 -1
- package/locales/extra/fa.mjs +2 -2
- package/locales/extra/ff-Adlm-BF.d.ts +1 -1
- package/locales/extra/ff-Adlm-BF.mjs +2 -2
- package/locales/extra/ff-Adlm-CM.d.ts +1 -1
- package/locales/extra/ff-Adlm-CM.mjs +2 -2
- package/locales/extra/ff-Adlm-GH.d.ts +1 -1
- package/locales/extra/ff-Adlm-GH.mjs +2 -2
- package/locales/extra/ff-Adlm-GM.d.ts +1 -1
- package/locales/extra/ff-Adlm-GM.mjs +2 -2
- package/locales/extra/ff-Adlm-GW.d.ts +1 -1
- package/locales/extra/ff-Adlm-GW.mjs +2 -2
- package/locales/extra/ff-Adlm-LR.d.ts +1 -1
- package/locales/extra/ff-Adlm-LR.mjs +2 -2
- package/locales/extra/ff-Adlm-MR.d.ts +1 -1
- package/locales/extra/ff-Adlm-MR.mjs +2 -2
- package/locales/extra/ff-Adlm-NE.d.ts +1 -1
- package/locales/extra/ff-Adlm-NE.mjs +2 -2
- package/locales/extra/ff-Adlm-NG.d.ts +1 -1
- package/locales/extra/ff-Adlm-NG.mjs +2 -2
- package/locales/extra/ff-Adlm-SL.d.ts +1 -1
- package/locales/extra/ff-Adlm-SL.mjs +2 -2
- package/locales/extra/ff-Adlm-SN.d.ts +1 -1
- package/locales/extra/ff-Adlm-SN.mjs +2 -2
- package/locales/extra/ff-Adlm.d.ts +1 -1
- package/locales/extra/ff-Adlm.mjs +2 -2
- package/locales/extra/ff-CM.d.ts +1 -1
- package/locales/extra/ff-CM.mjs +2 -2
- package/locales/extra/ff-GN.d.ts +1 -1
- package/locales/extra/ff-GN.mjs +2 -2
- package/locales/extra/ff-Latn-BF.d.ts +1 -1
- package/locales/extra/ff-Latn-BF.mjs +2 -2
- package/locales/extra/ff-Latn-CM.d.ts +1 -1
- package/locales/extra/ff-Latn-CM.mjs +2 -2
- package/locales/extra/ff-Latn-GH.d.ts +1 -1
- package/locales/extra/ff-Latn-GH.mjs +2 -2
- package/locales/extra/ff-Latn-GM.d.ts +1 -1
- package/locales/extra/ff-Latn-GM.mjs +2 -2
- package/locales/extra/ff-Latn-GN.d.ts +1 -1
- package/locales/extra/ff-Latn-GN.mjs +2 -2
- package/locales/extra/ff-Latn-GW.d.ts +1 -1
- package/locales/extra/ff-Latn-GW.mjs +2 -2
- package/locales/extra/ff-Latn-LR.d.ts +1 -1
- package/locales/extra/ff-Latn-LR.mjs +2 -2
- package/locales/extra/ff-Latn-MR.d.ts +1 -1
- package/locales/extra/ff-Latn-MR.mjs +2 -2
- package/locales/extra/ff-Latn-NE.d.ts +1 -1
- package/locales/extra/ff-Latn-NE.mjs +2 -2
- package/locales/extra/ff-Latn-NG.d.ts +1 -1
- package/locales/extra/ff-Latn-NG.mjs +2 -2
- package/locales/extra/ff-Latn-SL.d.ts +1 -1
- package/locales/extra/ff-Latn-SL.mjs +2 -2
- package/locales/extra/ff-Latn.d.ts +1 -1
- package/locales/extra/ff-Latn.mjs +2 -2
- package/locales/extra/ff-MR.d.ts +1 -1
- package/locales/extra/ff-MR.mjs +2 -2
- package/locales/extra/ff.d.ts +1 -1
- package/locales/extra/ff.mjs +2 -2
- package/locales/extra/fi.d.ts +1 -1
- package/locales/extra/fi.mjs +2 -2
- package/locales/extra/fil.d.ts +1 -1
- package/locales/extra/fil.mjs +2 -2
- package/locales/extra/fo-DK.d.ts +1 -1
- package/locales/extra/fo-DK.mjs +2 -2
- package/locales/extra/fo.d.ts +1 -1
- package/locales/extra/fo.mjs +2 -2
- package/locales/extra/fr-BE.d.ts +1 -1
- package/locales/extra/fr-BE.mjs +2 -2
- package/locales/extra/fr-BF.d.ts +1 -1
- package/locales/extra/fr-BF.mjs +2 -2
- package/locales/extra/fr-BI.d.ts +1 -1
- package/locales/extra/fr-BI.mjs +2 -2
- package/locales/extra/fr-BJ.d.ts +1 -1
- package/locales/extra/fr-BJ.mjs +2 -2
- package/locales/extra/fr-BL.d.ts +1 -1
- package/locales/extra/fr-BL.mjs +2 -2
- package/locales/extra/fr-CA.d.ts +1 -1
- package/locales/extra/fr-CA.mjs +2 -2
- package/locales/extra/fr-CD.d.ts +1 -1
- package/locales/extra/fr-CD.mjs +2 -2
- package/locales/extra/fr-CF.d.ts +1 -1
- package/locales/extra/fr-CF.mjs +2 -2
- package/locales/extra/fr-CG.d.ts +1 -1
- package/locales/extra/fr-CG.mjs +2 -2
- package/locales/extra/fr-CH.d.ts +1 -1
- package/locales/extra/fr-CH.mjs +2 -2
- package/locales/extra/fr-CI.d.ts +1 -1
- package/locales/extra/fr-CI.mjs +2 -2
- package/locales/extra/fr-CM.d.ts +1 -1
- package/locales/extra/fr-CM.mjs +2 -2
- package/locales/extra/fr-DJ.d.ts +1 -1
- package/locales/extra/fr-DJ.mjs +2 -2
- package/locales/extra/fr-DZ.d.ts +1 -1
- package/locales/extra/fr-DZ.mjs +2 -2
- package/locales/extra/fr-GA.d.ts +1 -1
- package/locales/extra/fr-GA.mjs +2 -2
- package/locales/extra/fr-GF.d.ts +1 -1
- package/locales/extra/fr-GF.mjs +2 -2
- package/locales/extra/fr-GN.d.ts +1 -1
- package/locales/extra/fr-GN.mjs +2 -2
- package/locales/extra/fr-GP.d.ts +1 -1
- package/locales/extra/fr-GP.mjs +2 -2
- package/locales/extra/fr-GQ.d.ts +1 -1
- package/locales/extra/fr-GQ.mjs +2 -2
- package/locales/extra/fr-HT.d.ts +1 -1
- package/locales/extra/fr-HT.mjs +2 -2
- package/locales/extra/fr-KM.d.ts +1 -1
- package/locales/extra/fr-KM.mjs +2 -2
- package/locales/extra/fr-LU.d.ts +1 -1
- package/locales/extra/fr-LU.mjs +2 -2
- package/locales/extra/fr-MA.d.ts +1 -1
- package/locales/extra/fr-MA.mjs +2 -2
- package/locales/extra/fr-MC.d.ts +1 -1
- package/locales/extra/fr-MC.mjs +2 -2
- package/locales/extra/fr-MF.d.ts +1 -1
- package/locales/extra/fr-MF.mjs +2 -2
- package/locales/extra/fr-MG.d.ts +1 -1
- package/locales/extra/fr-MG.mjs +2 -2
- package/locales/extra/fr-ML.d.ts +1 -1
- package/locales/extra/fr-ML.mjs +2 -2
- package/locales/extra/fr-MQ.d.ts +1 -1
- package/locales/extra/fr-MQ.mjs +2 -2
- package/locales/extra/fr-MR.d.ts +1 -1
- package/locales/extra/fr-MR.mjs +2 -2
- package/locales/extra/fr-MU.d.ts +1 -1
- package/locales/extra/fr-MU.mjs +2 -2
- package/locales/extra/fr-NC.d.ts +1 -1
- package/locales/extra/fr-NC.mjs +2 -2
- package/locales/extra/fr-NE.d.ts +1 -1
- package/locales/extra/fr-NE.mjs +2 -2
- package/locales/extra/fr-PF.d.ts +1 -1
- package/locales/extra/fr-PF.mjs +2 -2
- package/locales/extra/fr-PM.d.ts +1 -1
- package/locales/extra/fr-PM.mjs +2 -2
- package/locales/extra/fr-RE.d.ts +1 -1
- package/locales/extra/fr-RE.mjs +2 -2
- package/locales/extra/fr-RW.d.ts +1 -1
- package/locales/extra/fr-RW.mjs +2 -2
- package/locales/extra/fr-SC.d.ts +1 -1
- package/locales/extra/fr-SC.mjs +2 -2
- package/locales/extra/fr-SN.d.ts +1 -1
- package/locales/extra/fr-SN.mjs +2 -2
- package/locales/extra/fr-SY.d.ts +1 -1
- package/locales/extra/fr-SY.mjs +2 -2
- package/locales/extra/fr-TD.d.ts +1 -1
- package/locales/extra/fr-TD.mjs +2 -2
- package/locales/extra/fr-TG.d.ts +1 -1
- package/locales/extra/fr-TG.mjs +2 -2
- package/locales/extra/fr-TN.d.ts +1 -1
- package/locales/extra/fr-TN.mjs +2 -2
- package/locales/extra/fr-VU.d.ts +1 -1
- package/locales/extra/fr-VU.mjs +2 -2
- package/locales/extra/fr-WF.d.ts +1 -1
- package/locales/extra/fr-WF.mjs +2 -2
- package/locales/extra/fr-YT.d.ts +1 -1
- package/locales/extra/fr-YT.mjs +2 -2
- package/locales/extra/fr.d.ts +1 -1
- package/locales/extra/fr.mjs +2 -2
- package/locales/extra/fur.d.ts +1 -1
- package/locales/extra/fur.mjs +2 -2
- package/locales/extra/fy.d.ts +1 -1
- package/locales/extra/fy.mjs +2 -2
- package/locales/extra/ga-GB.d.ts +1 -1
- package/locales/extra/ga-GB.mjs +2 -2
- package/locales/extra/ga.d.ts +1 -1
- package/locales/extra/ga.mjs +2 -2
- package/locales/extra/gd.d.ts +1 -1
- package/locales/extra/gd.mjs +2 -2
- package/locales/extra/gl.d.ts +1 -1
- package/locales/extra/gl.mjs +2 -2
- package/locales/extra/gsw-FR.d.ts +1 -1
- package/locales/extra/gsw-FR.mjs +2 -2
- package/locales/extra/gsw-LI.d.ts +1 -1
- package/locales/extra/gsw-LI.mjs +2 -2
- package/locales/extra/gsw.d.ts +1 -1
- package/locales/extra/gsw.mjs +2 -2
- package/locales/extra/gu.d.ts +1 -1
- package/locales/extra/gu.mjs +2 -2
- package/locales/extra/guz.d.ts +1 -1
- package/locales/extra/guz.mjs +2 -2
- package/locales/extra/gv.d.ts +1 -1
- package/locales/extra/gv.mjs +2 -2
- package/locales/extra/ha-GH.d.ts +1 -1
- package/locales/extra/ha-GH.mjs +2 -2
- package/locales/extra/ha-NE.d.ts +1 -1
- package/locales/extra/ha-NE.mjs +2 -2
- package/locales/extra/ha.d.ts +1 -1
- package/locales/extra/ha.mjs +2 -2
- package/locales/extra/haw.d.ts +1 -1
- package/locales/extra/haw.mjs +2 -2
- package/locales/extra/he.d.ts +1 -1
- package/locales/extra/he.mjs +2 -2
- package/locales/extra/hi-Latn.d.ts +1 -1
- package/locales/extra/hi-Latn.mjs +2 -2
- package/locales/extra/hi.d.ts +1 -1
- package/locales/extra/hi.mjs +2 -2
- package/locales/extra/hr-BA.d.ts +1 -1
- package/locales/extra/hr-BA.mjs +2 -2
- package/locales/extra/hr.d.ts +1 -1
- package/locales/extra/hr.mjs +2 -2
- package/locales/extra/hsb.d.ts +1 -1
- package/locales/extra/hsb.mjs +2 -2
- package/locales/extra/hu.d.ts +1 -1
- package/locales/extra/hu.mjs +2 -2
- package/locales/extra/hy.d.ts +1 -1
- package/locales/extra/hy.mjs +2 -2
- package/locales/extra/ia.d.ts +1 -1
- package/locales/extra/ia.mjs +2 -2
- package/locales/extra/id.d.ts +1 -1
- package/locales/extra/id.mjs +2 -2
- package/locales/extra/ig.d.ts +1 -1
- package/locales/extra/ig.mjs +2 -2
- package/locales/extra/ii.d.ts +1 -1
- package/locales/extra/ii.mjs +2 -2
- package/locales/extra/is.d.ts +1 -1
- package/locales/extra/is.mjs +2 -2
- package/locales/extra/it-CH.d.ts +1 -1
- package/locales/extra/it-CH.mjs +2 -2
- package/locales/extra/it-SM.d.ts +1 -1
- package/locales/extra/it-SM.mjs +2 -2
- package/locales/extra/it-VA.d.ts +1 -1
- package/locales/extra/it-VA.mjs +2 -2
- package/locales/extra/it.d.ts +1 -1
- package/locales/extra/it.mjs +2 -2
- package/locales/extra/ja.d.ts +1 -1
- package/locales/extra/ja.mjs +2 -2
- package/locales/extra/jgo.d.ts +1 -1
- package/locales/extra/jgo.mjs +2 -2
- package/locales/extra/jmc.d.ts +1 -1
- package/locales/extra/jmc.mjs +2 -2
- package/locales/extra/jv.d.ts +1 -1
- package/locales/extra/jv.mjs +2 -2
- package/locales/extra/ka.d.ts +1 -1
- package/locales/extra/ka.mjs +2 -2
- package/locales/extra/kab.d.ts +1 -1
- package/locales/extra/kab.mjs +2 -2
- package/locales/extra/kam.d.ts +1 -1
- package/locales/extra/kam.mjs +2 -2
- package/locales/extra/kde.d.ts +1 -1
- package/locales/extra/kde.mjs +2 -2
- package/locales/extra/kea.d.ts +1 -1
- package/locales/extra/kea.mjs +2 -2
- package/locales/extra/kgp.d.ts +1 -1
- package/locales/extra/kgp.mjs +2 -2
- package/locales/extra/khq.d.ts +1 -1
- package/locales/extra/khq.mjs +2 -2
- package/locales/extra/ki.d.ts +1 -1
- package/locales/extra/ki.mjs +2 -2
- package/locales/extra/kk.d.ts +1 -1
- package/locales/extra/kk.mjs +2 -2
- package/locales/extra/kkj.d.ts +1 -1
- package/locales/extra/kkj.mjs +2 -2
- package/locales/extra/kl.d.ts +1 -1
- package/locales/extra/kl.mjs +2 -2
- package/locales/extra/kln.d.ts +1 -1
- package/locales/extra/kln.mjs +2 -2
- package/locales/extra/km.d.ts +1 -1
- package/locales/extra/km.mjs +2 -2
- package/locales/extra/kn.d.ts +1 -1
- package/locales/extra/kn.mjs +2 -2
- package/locales/extra/ko-KP.d.ts +1 -1
- package/locales/extra/ko-KP.mjs +2 -2
- package/locales/extra/ko.d.ts +1 -1
- package/locales/extra/ko.mjs +2 -2
- package/locales/extra/kok.d.ts +1 -1
- package/locales/extra/kok.mjs +2 -2
- package/locales/extra/ks-Arab.d.ts +1 -1
- package/locales/extra/ks-Arab.mjs +2 -2
- package/locales/extra/ks-Deva.d.ts +1 -1
- package/locales/extra/ks-Deva.mjs +2 -2
- package/locales/extra/ks.d.ts +1 -1
- package/locales/extra/ks.mjs +2 -2
- package/locales/extra/ksb.d.ts +1 -1
- package/locales/extra/ksb.mjs +2 -2
- package/locales/extra/ksf.d.ts +1 -1
- package/locales/extra/ksf.mjs +2 -2
- package/locales/extra/ksh.d.ts +1 -1
- package/locales/extra/ksh.mjs +2 -2
- package/locales/extra/ku.d.ts +1 -1
- package/locales/extra/ku.mjs +2 -2
- package/locales/extra/kw.d.ts +1 -1
- package/locales/extra/kw.mjs +2 -2
- package/locales/extra/ky.d.ts +1 -1
- package/locales/extra/ky.mjs +2 -2
- package/locales/extra/lag.d.ts +1 -1
- package/locales/extra/lag.mjs +2 -2
- package/locales/extra/lb.d.ts +1 -1
- package/locales/extra/lb.mjs +2 -2
- package/locales/extra/lg.d.ts +1 -1
- package/locales/extra/lg.mjs +2 -2
- package/locales/extra/lkt.d.ts +1 -1
- package/locales/extra/lkt.mjs +2 -2
- package/locales/extra/ln-AO.d.ts +1 -1
- package/locales/extra/ln-AO.mjs +2 -2
- package/locales/extra/ln-CF.d.ts +1 -1
- package/locales/extra/ln-CF.mjs +2 -2
- package/locales/extra/ln-CG.d.ts +1 -1
- package/locales/extra/ln-CG.mjs +2 -2
- package/locales/extra/ln.d.ts +1 -1
- package/locales/extra/ln.mjs +2 -2
- package/locales/extra/lo.d.ts +1 -1
- package/locales/extra/lo.mjs +2 -2
- package/locales/extra/lrc-IQ.d.ts +1 -1
- package/locales/extra/lrc-IQ.mjs +2 -2
- package/locales/extra/lrc.d.ts +1 -1
- package/locales/extra/lrc.mjs +2 -2
- package/locales/extra/lt.d.ts +1 -1
- package/locales/extra/lt.mjs +2 -2
- package/locales/extra/lu.d.ts +1 -1
- package/locales/extra/lu.mjs +2 -2
- package/locales/extra/luo.d.ts +1 -1
- package/locales/extra/luo.mjs +2 -2
- package/locales/extra/luy.d.ts +1 -1
- package/locales/extra/luy.mjs +2 -2
- package/locales/extra/lv.d.ts +1 -1
- package/locales/extra/lv.mjs +2 -2
- package/locales/extra/mai.d.ts +1 -1
- package/locales/extra/mai.mjs +2 -2
- package/locales/extra/mas-TZ.d.ts +1 -1
- package/locales/extra/mas-TZ.mjs +2 -2
- package/locales/extra/mas.d.ts +1 -1
- package/locales/extra/mas.mjs +2 -2
- package/locales/extra/mer.d.ts +1 -1
- package/locales/extra/mer.mjs +2 -2
- package/locales/extra/mfe.d.ts +1 -1
- package/locales/extra/mfe.mjs +2 -2
- package/locales/extra/mg.d.ts +1 -1
- package/locales/extra/mg.mjs +2 -2
- package/locales/extra/mgh.d.ts +1 -1
- package/locales/extra/mgh.mjs +2 -2
- package/locales/extra/mgo.d.ts +1 -1
- package/locales/extra/mgo.mjs +2 -2
- package/locales/extra/mi.d.ts +1 -1
- package/locales/extra/mi.mjs +2 -2
- package/locales/extra/mk.d.ts +1 -1
- package/locales/extra/mk.mjs +2 -2
- package/locales/extra/ml.d.ts +1 -1
- package/locales/extra/ml.mjs +2 -2
- package/locales/extra/mn.d.ts +1 -1
- package/locales/extra/mn.mjs +2 -2
- package/locales/extra/mni-Beng.d.ts +1 -1
- package/locales/extra/mni-Beng.mjs +2 -2
- package/locales/extra/mni.d.ts +1 -1
- package/locales/extra/mni.mjs +2 -2
- package/locales/extra/mr.d.ts +1 -1
- package/locales/extra/mr.mjs +2 -2
- package/locales/extra/ms-BN.d.ts +1 -1
- package/locales/extra/ms-BN.mjs +2 -2
- package/locales/extra/ms-ID.d.ts +1 -1
- package/locales/extra/ms-ID.mjs +2 -2
- package/locales/extra/ms-SG.d.ts +1 -1
- package/locales/extra/ms-SG.mjs +2 -2
- package/locales/extra/ms.d.ts +1 -1
- package/locales/extra/ms.mjs +2 -2
- package/locales/extra/mt.d.ts +1 -1
- package/locales/extra/mt.mjs +2 -2
- package/locales/extra/mua.d.ts +1 -1
- package/locales/extra/mua.mjs +2 -2
- package/locales/extra/my.d.ts +1 -1
- package/locales/extra/my.mjs +2 -2
- package/locales/extra/mzn.d.ts +1 -1
- package/locales/extra/mzn.mjs +2 -2
- package/locales/extra/naq.d.ts +1 -1
- package/locales/extra/naq.mjs +2 -2
- package/locales/extra/nb-SJ.d.ts +1 -1
- package/locales/extra/nb-SJ.mjs +2 -2
- package/locales/extra/nb.d.ts +1 -1
- package/locales/extra/nb.mjs +2 -2
- package/locales/extra/nd.d.ts +1 -1
- package/locales/extra/nd.mjs +2 -2
- package/locales/extra/nds-NL.d.ts +1 -1
- package/locales/extra/nds-NL.mjs +2 -2
- package/locales/extra/nds.d.ts +1 -1
- package/locales/extra/nds.mjs +2 -2
- package/locales/extra/ne-IN.d.ts +1 -1
- package/locales/extra/ne-IN.mjs +2 -2
- package/locales/extra/ne.d.ts +1 -1
- package/locales/extra/ne.mjs +2 -2
- package/locales/extra/nl-AW.d.ts +1 -1
- package/locales/extra/nl-AW.mjs +2 -2
- package/locales/extra/nl-BE.d.ts +1 -1
- package/locales/extra/nl-BE.mjs +2 -2
- package/locales/extra/nl-BQ.d.ts +1 -1
- package/locales/extra/nl-BQ.mjs +2 -2
- package/locales/extra/nl-CW.d.ts +1 -1
- package/locales/extra/nl-CW.mjs +2 -2
- package/locales/extra/nl-SR.d.ts +1 -1
- package/locales/extra/nl-SR.mjs +2 -2
- package/locales/extra/nl-SX.d.ts +1 -1
- package/locales/extra/nl-SX.mjs +2 -2
- package/locales/extra/nl.d.ts +1 -1
- package/locales/extra/nl.mjs +2 -2
- package/locales/extra/nmg.d.ts +1 -1
- package/locales/extra/nmg.mjs +2 -2
- package/locales/extra/nn.d.ts +1 -1
- package/locales/extra/nn.mjs +2 -2
- package/locales/extra/nnh.d.ts +1 -1
- package/locales/extra/nnh.mjs +2 -2
- package/locales/extra/no.d.ts +1 -1
- package/locales/extra/no.mjs +2 -2
- package/locales/extra/nus.d.ts +1 -1
- package/locales/extra/nus.mjs +2 -2
- package/locales/extra/nyn.d.ts +1 -1
- package/locales/extra/nyn.mjs +2 -2
- package/locales/extra/om-KE.d.ts +1 -1
- package/locales/extra/om-KE.mjs +2 -2
- package/locales/extra/om.d.ts +1 -1
- package/locales/extra/om.mjs +2 -2
- package/locales/extra/or.d.ts +1 -1
- package/locales/extra/or.mjs +2 -2
- package/locales/extra/os-RU.d.ts +1 -1
- package/locales/extra/os-RU.mjs +2 -2
- package/locales/extra/os.d.ts +1 -1
- package/locales/extra/os.mjs +2 -2
- package/locales/extra/pa-Arab.d.ts +1 -1
- package/locales/extra/pa-Arab.mjs +2 -2
- package/locales/extra/pa-Guru.d.ts +1 -1
- package/locales/extra/pa-Guru.mjs +2 -2
- package/locales/extra/pa.d.ts +1 -1
- package/locales/extra/pa.mjs +2 -2
- package/locales/extra/pcm.d.ts +1 -1
- package/locales/extra/pcm.mjs +2 -2
- package/locales/extra/pl.d.ts +1 -1
- package/locales/extra/pl.mjs +2 -2
- package/locales/extra/ps-PK.d.ts +1 -1
- package/locales/extra/ps-PK.mjs +2 -2
- package/locales/extra/ps.d.ts +1 -1
- package/locales/extra/ps.mjs +2 -2
- package/locales/extra/pt-AO.d.ts +1 -1
- package/locales/extra/pt-AO.mjs +2 -2
- package/locales/extra/pt-CH.d.ts +1 -1
- package/locales/extra/pt-CH.mjs +2 -2
- package/locales/extra/pt-CV.d.ts +1 -1
- package/locales/extra/pt-CV.mjs +2 -2
- package/locales/extra/pt-GQ.d.ts +1 -1
- package/locales/extra/pt-GQ.mjs +2 -2
- package/locales/extra/pt-GW.d.ts +1 -1
- package/locales/extra/pt-GW.mjs +2 -2
- package/locales/extra/pt-LU.d.ts +1 -1
- package/locales/extra/pt-LU.mjs +2 -2
- package/locales/extra/pt-MO.d.ts +1 -1
- package/locales/extra/pt-MO.mjs +2 -2
- package/locales/extra/pt-MZ.d.ts +1 -1
- package/locales/extra/pt-MZ.mjs +2 -2
- package/locales/extra/pt-PT.d.ts +1 -1
- package/locales/extra/pt-PT.mjs +2 -2
- package/locales/extra/pt-ST.d.ts +1 -1
- package/locales/extra/pt-ST.mjs +2 -2
- package/locales/extra/pt-TL.d.ts +1 -1
- package/locales/extra/pt-TL.mjs +2 -2
- package/locales/extra/pt.d.ts +1 -1
- package/locales/extra/pt.mjs +2 -2
- package/locales/extra/qu-BO.d.ts +1 -1
- package/locales/extra/qu-BO.mjs +2 -2
- package/locales/extra/qu-EC.d.ts +1 -1
- package/locales/extra/qu-EC.mjs +2 -2
- package/locales/extra/qu.d.ts +1 -1
- package/locales/extra/qu.mjs +2 -2
- package/locales/extra/rm.d.ts +1 -1
- package/locales/extra/rm.mjs +2 -2
- package/locales/extra/rn.d.ts +1 -1
- package/locales/extra/rn.mjs +2 -2
- package/locales/extra/ro-MD.d.ts +1 -1
- package/locales/extra/ro-MD.mjs +2 -2
- package/locales/extra/ro.d.ts +1 -1
- package/locales/extra/ro.mjs +2 -2
- package/locales/extra/rof.d.ts +1 -1
- package/locales/extra/rof.mjs +2 -2
- package/locales/extra/ru-BY.d.ts +1 -1
- package/locales/extra/ru-BY.mjs +2 -2
- package/locales/extra/ru-KG.d.ts +1 -1
- package/locales/extra/ru-KG.mjs +2 -2
- package/locales/extra/ru-KZ.d.ts +1 -1
- package/locales/extra/ru-KZ.mjs +2 -2
- package/locales/extra/ru-MD.d.ts +1 -1
- package/locales/extra/ru-MD.mjs +2 -2
- package/locales/extra/ru-UA.d.ts +1 -1
- package/locales/extra/ru-UA.mjs +2 -2
- package/locales/extra/ru.d.ts +1 -1
- package/locales/extra/ru.mjs +2 -2
- package/locales/extra/rw.d.ts +1 -1
- package/locales/extra/rw.mjs +2 -2
- package/locales/extra/rwk.d.ts +1 -1
- package/locales/extra/rwk.mjs +2 -2
- package/locales/extra/sa.d.ts +1 -1
- package/locales/extra/sa.mjs +2 -2
- package/locales/extra/sah.d.ts +1 -1
- package/locales/extra/sah.mjs +2 -2
- package/locales/extra/saq.d.ts +1 -1
- package/locales/extra/saq.mjs +2 -2
- package/locales/extra/sat-Olck.d.ts +1 -1
- package/locales/extra/sat-Olck.mjs +2 -2
- package/locales/extra/sat.d.ts +1 -1
- package/locales/extra/sat.mjs +2 -2
- package/locales/extra/sbp.d.ts +1 -1
- package/locales/extra/sbp.mjs +2 -2
- package/locales/extra/sc.d.ts +1 -1
- package/locales/extra/sc.mjs +2 -2
- package/locales/extra/sd-Arab.d.ts +1 -1
- package/locales/extra/sd-Arab.mjs +2 -2
- package/locales/extra/sd-Deva.d.ts +1 -1
- package/locales/extra/sd-Deva.mjs +2 -2
- package/locales/extra/sd.d.ts +1 -1
- package/locales/extra/sd.mjs +2 -2
- package/locales/extra/se-FI.d.ts +1 -1
- package/locales/extra/se-FI.mjs +2 -2
- package/locales/extra/se-SE.d.ts +1 -1
- package/locales/extra/se-SE.mjs +2 -2
- package/locales/extra/se.d.ts +1 -1
- package/locales/extra/se.mjs +2 -2
- package/locales/extra/seh.d.ts +1 -1
- package/locales/extra/seh.mjs +2 -2
- package/locales/extra/ses.d.ts +1 -1
- package/locales/extra/ses.mjs +2 -2
- package/locales/extra/sg.d.ts +1 -1
- package/locales/extra/sg.mjs +2 -2
- package/locales/extra/shi-Latn.d.ts +1 -1
- package/locales/extra/shi-Latn.mjs +2 -2
- package/locales/extra/shi-Tfng.d.ts +1 -1
- package/locales/extra/shi-Tfng.mjs +2 -2
- package/locales/extra/shi.d.ts +1 -1
- package/locales/extra/shi.mjs +2 -2
- package/locales/extra/si.d.ts +1 -1
- package/locales/extra/si.mjs +2 -2
- package/locales/extra/sk.d.ts +1 -1
- package/locales/extra/sk.mjs +2 -2
- package/locales/extra/sl.d.ts +1 -1
- package/locales/extra/sl.mjs +2 -2
- package/locales/extra/smn.d.ts +1 -1
- package/locales/extra/smn.mjs +2 -2
- package/locales/extra/sn.d.ts +1 -1
- package/locales/extra/sn.mjs +2 -2
- package/locales/extra/so-DJ.d.ts +1 -1
- package/locales/extra/so-DJ.mjs +2 -2
- package/locales/extra/so-ET.d.ts +1 -1
- package/locales/extra/so-ET.mjs +2 -2
- package/locales/extra/so-KE.d.ts +1 -1
- package/locales/extra/so-KE.mjs +2 -2
- package/locales/extra/so.d.ts +1 -1
- package/locales/extra/so.mjs +2 -2
- package/locales/extra/sq-MK.d.ts +1 -1
- package/locales/extra/sq-MK.mjs +2 -2
- package/locales/extra/sq-XK.d.ts +1 -1
- package/locales/extra/sq-XK.mjs +2 -2
- package/locales/extra/sq.d.ts +1 -1
- package/locales/extra/sq.mjs +2 -2
- package/locales/extra/sr-Cyrl-BA.d.ts +1 -1
- package/locales/extra/sr-Cyrl-BA.mjs +2 -2
- package/locales/extra/sr-Cyrl-ME.d.ts +1 -1
- package/locales/extra/sr-Cyrl-ME.mjs +2 -2
- package/locales/extra/sr-Cyrl-XK.d.ts +1 -1
- package/locales/extra/sr-Cyrl-XK.mjs +2 -2
- package/locales/extra/sr-Cyrl.d.ts +1 -1
- package/locales/extra/sr-Cyrl.mjs +2 -2
- package/locales/extra/sr-Latn-BA.d.ts +1 -1
- package/locales/extra/sr-Latn-BA.mjs +2 -2
- package/locales/extra/sr-Latn-ME.d.ts +1 -1
- package/locales/extra/sr-Latn-ME.mjs +2 -2
- package/locales/extra/sr-Latn-XK.d.ts +1 -1
- package/locales/extra/sr-Latn-XK.mjs +2 -2
- package/locales/extra/sr-Latn.d.ts +1 -1
- package/locales/extra/sr-Latn.mjs +2 -2
- package/locales/extra/sr.d.ts +1 -1
- package/locales/extra/sr.mjs +2 -2
- package/locales/extra/su-Latn.d.ts +1 -1
- package/locales/extra/su-Latn.mjs +2 -2
- package/locales/extra/su.d.ts +1 -1
- package/locales/extra/su.mjs +2 -2
- package/locales/extra/sv-AX.d.ts +1 -1
- package/locales/extra/sv-AX.mjs +2 -2
- package/locales/extra/sv-FI.d.ts +1 -1
- package/locales/extra/sv-FI.mjs +2 -2
- package/locales/extra/sv.d.ts +1 -1
- package/locales/extra/sv.mjs +2 -2
- package/locales/extra/sw-CD.d.ts +1 -1
- package/locales/extra/sw-CD.mjs +2 -2
- package/locales/extra/sw-KE.d.ts +1 -1
- package/locales/extra/sw-KE.mjs +2 -2
- package/locales/extra/sw-UG.d.ts +1 -1
- package/locales/extra/sw-UG.mjs +2 -2
- package/locales/extra/sw.d.ts +1 -1
- package/locales/extra/sw.mjs +2 -2
- package/locales/extra/ta-LK.d.ts +1 -1
- package/locales/extra/ta-LK.mjs +2 -2
- package/locales/extra/ta-MY.d.ts +1 -1
- package/locales/extra/ta-MY.mjs +2 -2
- package/locales/extra/ta-SG.d.ts +1 -1
- package/locales/extra/ta-SG.mjs +2 -2
- package/locales/extra/ta.d.ts +1 -1
- package/locales/extra/ta.mjs +2 -2
- package/locales/extra/te.d.ts +1 -1
- package/locales/extra/te.mjs +2 -2
- package/locales/extra/teo-KE.d.ts +1 -1
- package/locales/extra/teo-KE.mjs +2 -2
- package/locales/extra/teo.d.ts +1 -1
- package/locales/extra/teo.mjs +2 -2
- package/locales/extra/tg.d.ts +1 -1
- package/locales/extra/tg.mjs +2 -2
- package/locales/extra/th.d.ts +1 -1
- package/locales/extra/th.mjs +2 -2
- package/locales/extra/ti-ER.d.ts +1 -1
- package/locales/extra/ti-ER.mjs +2 -2
- package/locales/extra/ti.d.ts +1 -1
- package/locales/extra/ti.mjs +2 -2
- package/locales/extra/tk.d.ts +1 -1
- package/locales/extra/tk.mjs +2 -2
- package/locales/extra/to.d.ts +1 -1
- package/locales/extra/to.mjs +2 -2
- package/locales/extra/tr-CY.d.ts +1 -1
- package/locales/extra/tr-CY.mjs +2 -2
- package/locales/extra/tr.d.ts +1 -1
- package/locales/extra/tr.mjs +2 -2
- package/locales/extra/tt.d.ts +1 -1
- package/locales/extra/tt.mjs +2 -2
- package/locales/extra/twq.d.ts +1 -1
- package/locales/extra/twq.mjs +2 -2
- package/locales/extra/tzm.d.ts +1 -1
- package/locales/extra/tzm.mjs +2 -2
- package/locales/extra/ug.d.ts +1 -1
- package/locales/extra/ug.mjs +2 -2
- package/locales/extra/uk.d.ts +1 -1
- package/locales/extra/uk.mjs +2 -2
- package/locales/extra/und.d.ts +1 -1
- package/locales/extra/und.mjs +2 -2
- package/locales/extra/ur-IN.d.ts +1 -1
- package/locales/extra/ur-IN.mjs +2 -2
- package/locales/extra/ur.d.ts +1 -1
- package/locales/extra/ur.mjs +2 -2
- package/locales/extra/uz-Arab.d.ts +1 -1
- package/locales/extra/uz-Arab.mjs +2 -2
- package/locales/extra/uz-Cyrl.d.ts +1 -1
- package/locales/extra/uz-Cyrl.mjs +2 -2
- package/locales/extra/uz-Latn.d.ts +1 -1
- package/locales/extra/uz-Latn.mjs +2 -2
- package/locales/extra/uz.d.ts +1 -1
- package/locales/extra/uz.mjs +2 -2
- package/locales/extra/vai-Latn.d.ts +1 -1
- package/locales/extra/vai-Latn.mjs +2 -2
- package/locales/extra/vai-Vaii.d.ts +1 -1
- package/locales/extra/vai-Vaii.mjs +2 -2
- package/locales/extra/vai.d.ts +1 -1
- package/locales/extra/vai.mjs +2 -2
- package/locales/extra/vi.d.ts +1 -1
- package/locales/extra/vi.mjs +2 -2
- package/locales/extra/vun.d.ts +1 -1
- package/locales/extra/vun.mjs +2 -2
- package/locales/extra/wae.d.ts +1 -1
- package/locales/extra/wae.mjs +2 -2
- package/locales/extra/wo.d.ts +1 -1
- package/locales/extra/wo.mjs +2 -2
- package/locales/extra/xh.d.ts +1 -1
- package/locales/extra/xh.mjs +2 -2
- package/locales/extra/xog.d.ts +1 -1
- package/locales/extra/xog.mjs +2 -2
- package/locales/extra/yav.d.ts +1 -1
- package/locales/extra/yav.mjs +2 -2
- package/locales/extra/yi.d.ts +1 -1
- package/locales/extra/yi.mjs +2 -2
- package/locales/extra/yo-BJ.d.ts +1 -1
- package/locales/extra/yo-BJ.mjs +2 -2
- package/locales/extra/yo.d.ts +1 -1
- package/locales/extra/yo.mjs +2 -2
- package/locales/extra/yrl-CO.d.ts +1 -1
- package/locales/extra/yrl-CO.mjs +2 -2
- package/locales/extra/yrl-VE.d.ts +1 -1
- package/locales/extra/yrl-VE.mjs +2 -2
- package/locales/extra/yrl.d.ts +1 -1
- package/locales/extra/yrl.mjs +2 -2
- package/locales/extra/yue-Hans.d.ts +1 -1
- package/locales/extra/yue-Hans.mjs +2 -2
- package/locales/extra/yue-Hant.d.ts +1 -1
- package/locales/extra/yue-Hant.mjs +2 -2
- package/locales/extra/yue.d.ts +1 -1
- package/locales/extra/yue.mjs +2 -2
- package/locales/extra/zgh.d.ts +1 -1
- package/locales/extra/zgh.mjs +2 -2
- package/locales/extra/zh-Hans-HK.d.ts +1 -1
- package/locales/extra/zh-Hans-HK.mjs +2 -2
- package/locales/extra/zh-Hans-MO.d.ts +1 -1
- package/locales/extra/zh-Hans-MO.mjs +2 -2
- package/locales/extra/zh-Hans-SG.d.ts +1 -1
- package/locales/extra/zh-Hans-SG.mjs +2 -2
- package/locales/extra/zh-Hans.d.ts +1 -1
- package/locales/extra/zh-Hans.mjs +2 -2
- package/locales/extra/zh-Hant-HK.d.ts +1 -1
- package/locales/extra/zh-Hant-HK.mjs +2 -2
- package/locales/extra/zh-Hant-MO.d.ts +1 -1
- package/locales/extra/zh-Hant-MO.mjs +2 -2
- package/locales/extra/zh-Hant.d.ts +1 -1
- package/locales/extra/zh-Hant.mjs +2 -2
- package/locales/extra/zh.d.ts +1 -1
- package/locales/extra/zh.mjs +2 -2
- package/locales/extra/zu.d.ts +1 -1
- package/locales/extra/zu.mjs +2 -2
- package/locales/fa-AF.d.ts +1 -1
- package/locales/fa-AF.mjs +2 -2
- package/locales/fa.d.ts +1 -1
- package/locales/fa.mjs +2 -2
- package/locales/ff-Adlm-BF.d.ts +1 -1
- package/locales/ff-Adlm-BF.mjs +2 -2
- package/locales/ff-Adlm-CM.d.ts +1 -1
- package/locales/ff-Adlm-CM.mjs +2 -2
- package/locales/ff-Adlm-GH.d.ts +1 -1
- package/locales/ff-Adlm-GH.mjs +2 -2
- package/locales/ff-Adlm-GM.d.ts +1 -1
- package/locales/ff-Adlm-GM.mjs +2 -2
- package/locales/ff-Adlm-GW.d.ts +1 -1
- package/locales/ff-Adlm-GW.mjs +2 -2
- package/locales/ff-Adlm-LR.d.ts +1 -1
- package/locales/ff-Adlm-LR.mjs +2 -2
- package/locales/ff-Adlm-MR.d.ts +1 -1
- package/locales/ff-Adlm-MR.mjs +2 -2
- package/locales/ff-Adlm-NE.d.ts +1 -1
- package/locales/ff-Adlm-NE.mjs +2 -2
- package/locales/ff-Adlm-NG.d.ts +1 -1
- package/locales/ff-Adlm-NG.mjs +2 -2
- package/locales/ff-Adlm-SL.d.ts +1 -1
- package/locales/ff-Adlm-SL.mjs +2 -2
- package/locales/ff-Adlm-SN.d.ts +1 -1
- package/locales/ff-Adlm-SN.mjs +2 -2
- package/locales/ff-Adlm.d.ts +1 -1
- package/locales/ff-Adlm.mjs +2 -2
- package/locales/ff-CM.d.ts +1 -1
- package/locales/ff-CM.mjs +2 -2
- package/locales/ff-GN.d.ts +1 -1
- package/locales/ff-GN.mjs +2 -2
- package/locales/ff-Latn-BF.d.ts +1 -1
- package/locales/ff-Latn-BF.mjs +2 -2
- package/locales/ff-Latn-CM.d.ts +1 -1
- package/locales/ff-Latn-CM.mjs +2 -2
- package/locales/ff-Latn-GH.d.ts +1 -1
- package/locales/ff-Latn-GH.mjs +2 -2
- package/locales/ff-Latn-GM.d.ts +1 -1
- package/locales/ff-Latn-GM.mjs +2 -2
- package/locales/ff-Latn-GN.d.ts +1 -1
- package/locales/ff-Latn-GN.mjs +2 -2
- package/locales/ff-Latn-GW.d.ts +1 -1
- package/locales/ff-Latn-GW.mjs +2 -2
- package/locales/ff-Latn-LR.d.ts +1 -1
- package/locales/ff-Latn-LR.mjs +2 -2
- package/locales/ff-Latn-MR.d.ts +1 -1
- package/locales/ff-Latn-MR.mjs +2 -2
- package/locales/ff-Latn-NE.d.ts +1 -1
- package/locales/ff-Latn-NE.mjs +2 -2
- package/locales/ff-Latn-NG.d.ts +1 -1
- package/locales/ff-Latn-NG.mjs +2 -2
- package/locales/ff-Latn-SL.d.ts +1 -1
- package/locales/ff-Latn-SL.mjs +2 -2
- package/locales/ff-Latn.d.ts +1 -1
- package/locales/ff-Latn.mjs +2 -2
- package/locales/ff-MR.d.ts +1 -1
- package/locales/ff-MR.mjs +2 -2
- package/locales/ff.d.ts +1 -1
- package/locales/ff.mjs +2 -2
- package/locales/fi.d.ts +1 -1
- package/locales/fi.mjs +2 -2
- package/locales/fil.d.ts +1 -1
- package/locales/fil.mjs +2 -2
- package/locales/fo-DK.d.ts +1 -1
- package/locales/fo-DK.mjs +2 -2
- package/locales/fo.d.ts +1 -1
- package/locales/fo.mjs +2 -2
- package/locales/fr-BE.d.ts +1 -1
- package/locales/fr-BE.mjs +2 -2
- package/locales/fr-BF.d.ts +1 -1
- package/locales/fr-BF.mjs +2 -2
- package/locales/fr-BI.d.ts +1 -1
- package/locales/fr-BI.mjs +2 -2
- package/locales/fr-BJ.d.ts +1 -1
- package/locales/fr-BJ.mjs +2 -2
- package/locales/fr-BL.d.ts +1 -1
- package/locales/fr-BL.mjs +2 -2
- package/locales/fr-CA.d.ts +1 -1
- package/locales/fr-CA.mjs +2 -2
- package/locales/fr-CD.d.ts +1 -1
- package/locales/fr-CD.mjs +2 -2
- package/locales/fr-CF.d.ts +1 -1
- package/locales/fr-CF.mjs +2 -2
- package/locales/fr-CG.d.ts +1 -1
- package/locales/fr-CG.mjs +2 -2
- package/locales/fr-CH.d.ts +1 -1
- package/locales/fr-CH.mjs +2 -2
- package/locales/fr-CI.d.ts +1 -1
- package/locales/fr-CI.mjs +2 -2
- package/locales/fr-CM.d.ts +1 -1
- package/locales/fr-CM.mjs +2 -2
- package/locales/fr-DJ.d.ts +1 -1
- package/locales/fr-DJ.mjs +2 -2
- package/locales/fr-DZ.d.ts +1 -1
- package/locales/fr-DZ.mjs +2 -2
- package/locales/fr-GA.d.ts +1 -1
- package/locales/fr-GA.mjs +2 -2
- package/locales/fr-GF.d.ts +1 -1
- package/locales/fr-GF.mjs +2 -2
- package/locales/fr-GN.d.ts +1 -1
- package/locales/fr-GN.mjs +2 -2
- package/locales/fr-GP.d.ts +1 -1
- package/locales/fr-GP.mjs +2 -2
- package/locales/fr-GQ.d.ts +1 -1
- package/locales/fr-GQ.mjs +2 -2
- package/locales/fr-HT.d.ts +1 -1
- package/locales/fr-HT.mjs +2 -2
- package/locales/fr-KM.d.ts +1 -1
- package/locales/fr-KM.mjs +2 -2
- package/locales/fr-LU.d.ts +1 -1
- package/locales/fr-LU.mjs +2 -2
- package/locales/fr-MA.d.ts +1 -1
- package/locales/fr-MA.mjs +2 -2
- package/locales/fr-MC.d.ts +1 -1
- package/locales/fr-MC.mjs +2 -2
- package/locales/fr-MF.d.ts +1 -1
- package/locales/fr-MF.mjs +2 -2
- package/locales/fr-MG.d.ts +1 -1
- package/locales/fr-MG.mjs +2 -2
- package/locales/fr-ML.d.ts +1 -1
- package/locales/fr-ML.mjs +2 -2
- package/locales/fr-MQ.d.ts +1 -1
- package/locales/fr-MQ.mjs +2 -2
- package/locales/fr-MR.d.ts +1 -1
- package/locales/fr-MR.mjs +2 -2
- package/locales/fr-MU.d.ts +1 -1
- package/locales/fr-MU.mjs +2 -2
- package/locales/fr-NC.d.ts +1 -1
- package/locales/fr-NC.mjs +2 -2
- package/locales/fr-NE.d.ts +1 -1
- package/locales/fr-NE.mjs +2 -2
- package/locales/fr-PF.d.ts +1 -1
- package/locales/fr-PF.mjs +2 -2
- package/locales/fr-PM.d.ts +1 -1
- package/locales/fr-PM.mjs +2 -2
- package/locales/fr-RE.d.ts +1 -1
- package/locales/fr-RE.mjs +2 -2
- package/locales/fr-RW.d.ts +1 -1
- package/locales/fr-RW.mjs +2 -2
- package/locales/fr-SC.d.ts +1 -1
- package/locales/fr-SC.mjs +2 -2
- package/locales/fr-SN.d.ts +1 -1
- package/locales/fr-SN.mjs +2 -2
- package/locales/fr-SY.d.ts +1 -1
- package/locales/fr-SY.mjs +2 -2
- package/locales/fr-TD.d.ts +1 -1
- package/locales/fr-TD.mjs +2 -2
- package/locales/fr-TG.d.ts +1 -1
- package/locales/fr-TG.mjs +2 -2
- package/locales/fr-TN.d.ts +1 -1
- package/locales/fr-TN.mjs +2 -2
- package/locales/fr-VU.d.ts +1 -1
- package/locales/fr-VU.mjs +2 -2
- package/locales/fr-WF.d.ts +1 -1
- package/locales/fr-WF.mjs +2 -2
- package/locales/fr-YT.d.ts +1 -1
- package/locales/fr-YT.mjs +2 -2
- package/locales/fr.d.ts +1 -1
- package/locales/fr.mjs +2 -2
- package/locales/fur.d.ts +1 -1
- package/locales/fur.mjs +2 -2
- package/locales/fy.d.ts +1 -1
- package/locales/fy.mjs +2 -2
- package/locales/ga-GB.d.ts +1 -1
- package/locales/ga-GB.mjs +2 -2
- package/locales/ga.d.ts +1 -1
- package/locales/ga.mjs +2 -2
- package/locales/gd.d.ts +1 -1
- package/locales/gd.mjs +2 -2
- package/locales/gl.d.ts +1 -1
- package/locales/gl.mjs +2 -2
- package/locales/global/af-NA.js +1 -1
- package/locales/global/af.js +1 -1
- package/locales/global/agq.js +1 -1
- package/locales/global/ak.js +1 -1
- package/locales/global/am.js +1 -1
- package/locales/global/ar-AE.js +1 -1
- package/locales/global/ar-BH.js +1 -1
- package/locales/global/ar-DJ.js +1 -1
- package/locales/global/ar-DZ.js +1 -1
- package/locales/global/ar-EG.js +1 -1
- package/locales/global/ar-EH.js +1 -1
- package/locales/global/ar-ER.js +1 -1
- package/locales/global/ar-IL.js +1 -1
- package/locales/global/ar-IQ.js +1 -1
- package/locales/global/ar-JO.js +1 -1
- package/locales/global/ar-KM.js +1 -1
- package/locales/global/ar-KW.js +1 -1
- package/locales/global/ar-LB.js +1 -1
- package/locales/global/ar-LY.js +1 -1
- package/locales/global/ar-MA.js +1 -1
- package/locales/global/ar-MR.js +1 -1
- package/locales/global/ar-OM.js +1 -1
- package/locales/global/ar-PS.js +1 -1
- package/locales/global/ar-QA.js +1 -1
- package/locales/global/ar-SA.js +1 -1
- package/locales/global/ar-SD.js +1 -1
- package/locales/global/ar-SO.js +1 -1
- package/locales/global/ar-SS.js +1 -1
- package/locales/global/ar-SY.js +1 -1
- package/locales/global/ar-TD.js +1 -1
- package/locales/global/ar-TN.js +1 -1
- package/locales/global/ar-YE.js +1 -1
- package/locales/global/ar.js +1 -1
- package/locales/global/as.js +1 -1
- package/locales/global/asa.js +1 -1
- package/locales/global/ast.js +1 -1
- package/locales/global/az-Cyrl.js +1 -1
- package/locales/global/az-Latn.js +1 -1
- package/locales/global/az.js +1 -1
- package/locales/global/bas.js +1 -1
- package/locales/global/be-tarask.js +1 -1
- package/locales/global/be.js +1 -1
- package/locales/global/bem.js +1 -1
- package/locales/global/bez.js +1 -1
- package/locales/global/bg.js +1 -1
- package/locales/global/bm.js +1 -1
- package/locales/global/bn-IN.js +1 -1
- package/locales/global/bn.js +1 -1
- package/locales/global/bo-IN.js +1 -1
- package/locales/global/bo.js +1 -1
- package/locales/global/br.js +1 -1
- package/locales/global/brx.js +1 -1
- package/locales/global/bs-Cyrl.js +1 -1
- package/locales/global/bs-Latn.js +1 -1
- package/locales/global/bs.js +1 -1
- package/locales/global/ca-AD.js +1 -1
- package/locales/global/ca-ES-valencia.js +1 -1
- package/locales/global/ca-FR.js +1 -1
- package/locales/global/ca-IT.js +1 -1
- package/locales/global/ca.js +1 -1
- package/locales/global/ccp-IN.js +1 -1
- package/locales/global/ccp.js +1 -1
- package/locales/global/ce.js +1 -1
- package/locales/global/ceb.js +1 -1
- package/locales/global/cgg.js +1 -1
- package/locales/global/chr.js +1 -1
- package/locales/global/ckb-IR.js +1 -1
- package/locales/global/ckb.js +1 -1
- package/locales/global/cs.js +1 -1
- package/locales/global/cy.js +1 -1
- package/locales/global/da-GL.js +1 -1
- package/locales/global/da.js +1 -1
- package/locales/global/dav.js +1 -1
- package/locales/global/de-AT.js +1 -1
- package/locales/global/de-BE.js +1 -1
- package/locales/global/de-CH.js +1 -1
- package/locales/global/de-IT.js +1 -1
- package/locales/global/de-LI.js +1 -1
- package/locales/global/de-LU.js +1 -1
- package/locales/global/de.js +1 -1
- package/locales/global/dje.js +1 -1
- package/locales/global/doi.js +1 -1
- package/locales/global/dsb.js +1 -1
- package/locales/global/dua.js +1 -1
- package/locales/global/dyo.js +1 -1
- package/locales/global/dz.js +1 -1
- package/locales/global/ebu.js +1 -1
- package/locales/global/ee-TG.js +1 -1
- package/locales/global/ee.js +1 -1
- package/locales/global/el-CY.js +1 -1
- package/locales/global/el.js +1 -1
- package/locales/global/en-001.js +1 -1
- package/locales/global/en-150.js +1 -1
- package/locales/global/en-AE.js +1 -1
- package/locales/global/en-AG.js +1 -1
- package/locales/global/en-AI.js +1 -1
- package/locales/global/en-AS.js +1 -1
- package/locales/global/en-AT.js +1 -1
- package/locales/global/en-AU.js +1 -1
- package/locales/global/en-BB.js +1 -1
- package/locales/global/en-BE.js +1 -1
- package/locales/global/en-BI.js +1 -1
- package/locales/global/en-BM.js +1 -1
- package/locales/global/en-BS.js +1 -1
- package/locales/global/en-BW.js +1 -1
- package/locales/global/en-BZ.js +1 -1
- package/locales/global/en-CA.js +1 -1
- package/locales/global/en-CC.js +1 -1
- package/locales/global/en-CH.js +1 -1
- package/locales/global/en-CK.js +1 -1
- package/locales/global/en-CM.js +1 -1
- package/locales/global/en-CX.js +1 -1
- package/locales/global/en-CY.js +1 -1
- package/locales/global/en-DE.js +1 -1
- package/locales/global/en-DG.js +1 -1
- package/locales/global/en-DK.js +1 -1
- package/locales/global/en-DM.js +1 -1
- package/locales/global/en-ER.js +1 -1
- package/locales/global/en-FI.js +1 -1
- package/locales/global/en-FJ.js +1 -1
- package/locales/global/en-FK.js +1 -1
- package/locales/global/en-FM.js +1 -1
- package/locales/global/en-GB.js +1 -1
- package/locales/global/en-GD.js +1 -1
- package/locales/global/en-GG.js +1 -1
- package/locales/global/en-GH.js +1 -1
- package/locales/global/en-GI.js +1 -1
- package/locales/global/en-GM.js +1 -1
- package/locales/global/en-GU.js +1 -1
- package/locales/global/en-GY.js +1 -1
- package/locales/global/en-HK.js +1 -1
- package/locales/global/en-IE.js +1 -1
- package/locales/global/en-IL.js +1 -1
- package/locales/global/en-IM.js +1 -1
- package/locales/global/en-IN.js +1 -1
- package/locales/global/en-IO.js +1 -1
- package/locales/global/en-JE.js +1 -1
- package/locales/global/en-JM.js +1 -1
- package/locales/global/en-KE.js +1 -1
- package/locales/global/en-KI.js +1 -1
- package/locales/global/en-KN.js +1 -1
- package/locales/global/en-KY.js +1 -1
- package/locales/global/en-LC.js +1 -1
- package/locales/global/en-LR.js +1 -1
- package/locales/global/en-LS.js +1 -1
- package/locales/global/en-MG.js +1 -1
- package/locales/global/en-MH.js +1 -1
- package/locales/global/en-MO.js +1 -1
- package/locales/global/en-MP.js +1 -1
- package/locales/global/en-MS.js +1 -1
- package/locales/global/en-MT.js +1 -1
- package/locales/global/en-MU.js +1 -1
- package/locales/global/en-MV.js +1 -1
- package/locales/global/en-MW.js +1 -1
- package/locales/global/en-MY.js +1 -1
- package/locales/global/en-NA.js +1 -1
- package/locales/global/en-NF.js +1 -1
- package/locales/global/en-NG.js +1 -1
- package/locales/global/en-NL.js +1 -1
- package/locales/global/en-NR.js +1 -1
- package/locales/global/en-NU.js +1 -1
- package/locales/global/en-NZ.js +1 -1
- package/locales/global/en-PG.js +1 -1
- package/locales/global/en-PH.js +1 -1
- package/locales/global/en-PK.js +1 -1
- package/locales/global/en-PN.js +1 -1
- package/locales/global/en-PR.js +1 -1
- package/locales/global/en-PW.js +1 -1
- package/locales/global/en-RW.js +1 -1
- package/locales/global/en-SB.js +1 -1
- package/locales/global/en-SC.js +1 -1
- package/locales/global/en-SD.js +1 -1
- package/locales/global/en-SE.js +1 -1
- package/locales/global/en-SG.js +1 -1
- package/locales/global/en-SH.js +1 -1
- package/locales/global/en-SI.js +1 -1
- package/locales/global/en-SL.js +1 -1
- package/locales/global/en-SS.js +1 -1
- package/locales/global/en-SX.js +1 -1
- package/locales/global/en-SZ.js +1 -1
- package/locales/global/en-TC.js +1 -1
- package/locales/global/en-TK.js +1 -1
- package/locales/global/en-TO.js +1 -1
- package/locales/global/en-TT.js +1 -1
- package/locales/global/en-TV.js +1 -1
- package/locales/global/en-TZ.js +1 -1
- package/locales/global/en-UG.js +1 -1
- package/locales/global/en-UM.js +1 -1
- package/locales/global/en-VC.js +1 -1
- package/locales/global/en-VG.js +1 -1
- package/locales/global/en-VI.js +1 -1
- package/locales/global/en-VU.js +1 -1
- package/locales/global/en-WS.js +1 -1
- package/locales/global/en-ZA.js +1 -1
- package/locales/global/en-ZM.js +1 -1
- package/locales/global/en-ZW.js +1 -1
- package/locales/global/en.js +1 -1
- package/locales/global/eo.js +1 -1
- package/locales/global/es-419.js +1 -1
- package/locales/global/es-AR.js +1 -1
- package/locales/global/es-BO.js +1 -1
- package/locales/global/es-BR.js +1 -1
- package/locales/global/es-BZ.js +1 -1
- package/locales/global/es-CL.js +1 -1
- package/locales/global/es-CO.js +1 -1
- package/locales/global/es-CR.js +1 -1
- package/locales/global/es-CU.js +1 -1
- package/locales/global/es-DO.js +1 -1
- package/locales/global/es-EA.js +1 -1
- package/locales/global/es-EC.js +1 -1
- package/locales/global/es-GQ.js +1 -1
- package/locales/global/es-GT.js +1 -1
- package/locales/global/es-HN.js +1 -1
- package/locales/global/es-IC.js +1 -1
- package/locales/global/es-MX.js +1 -1
- package/locales/global/es-NI.js +1 -1
- package/locales/global/es-PA.js +1 -1
- package/locales/global/es-PE.js +1 -1
- package/locales/global/es-PH.js +1 -1
- package/locales/global/es-PR.js +1 -1
- package/locales/global/es-PY.js +1 -1
- package/locales/global/es-SV.js +1 -1
- package/locales/global/es-US.js +1 -1
- package/locales/global/es-UY.js +1 -1
- package/locales/global/es-VE.js +1 -1
- package/locales/global/es.js +1 -1
- package/locales/global/et.js +1 -1
- package/locales/global/eu.js +1 -1
- package/locales/global/ewo.js +1 -1
- package/locales/global/fa-AF.js +1 -1
- package/locales/global/fa.js +1 -1
- package/locales/global/ff-Adlm-BF.js +1 -1
- package/locales/global/ff-Adlm-CM.js +1 -1
- package/locales/global/ff-Adlm-GH.js +1 -1
- package/locales/global/ff-Adlm-GM.js +1 -1
- package/locales/global/ff-Adlm-GW.js +1 -1
- package/locales/global/ff-Adlm-LR.js +1 -1
- package/locales/global/ff-Adlm-MR.js +1 -1
- package/locales/global/ff-Adlm-NE.js +1 -1
- package/locales/global/ff-Adlm-NG.js +1 -1
- package/locales/global/ff-Adlm-SL.js +1 -1
- package/locales/global/ff-Adlm-SN.js +1 -1
- package/locales/global/ff-Adlm.js +1 -1
- package/locales/global/ff-CM.js +1 -1
- package/locales/global/ff-GN.js +1 -1
- package/locales/global/ff-Latn-BF.js +1 -1
- package/locales/global/ff-Latn-CM.js +1 -1
- package/locales/global/ff-Latn-GH.js +1 -1
- package/locales/global/ff-Latn-GM.js +1 -1
- package/locales/global/ff-Latn-GN.js +1 -1
- package/locales/global/ff-Latn-GW.js +1 -1
- package/locales/global/ff-Latn-LR.js +1 -1
- package/locales/global/ff-Latn-MR.js +1 -1
- package/locales/global/ff-Latn-NE.js +1 -1
- package/locales/global/ff-Latn-NG.js +1 -1
- package/locales/global/ff-Latn-SL.js +1 -1
- package/locales/global/ff-Latn.js +1 -1
- package/locales/global/ff-MR.js +1 -1
- package/locales/global/ff.js +1 -1
- package/locales/global/fi.js +1 -1
- package/locales/global/fil.js +1 -1
- package/locales/global/fo-DK.js +1 -1
- package/locales/global/fo.js +1 -1
- package/locales/global/fr-BE.js +1 -1
- package/locales/global/fr-BF.js +1 -1
- package/locales/global/fr-BI.js +1 -1
- package/locales/global/fr-BJ.js +1 -1
- package/locales/global/fr-BL.js +1 -1
- package/locales/global/fr-CA.js +1 -1
- package/locales/global/fr-CD.js +1 -1
- package/locales/global/fr-CF.js +1 -1
- package/locales/global/fr-CG.js +1 -1
- package/locales/global/fr-CH.js +1 -1
- package/locales/global/fr-CI.js +1 -1
- package/locales/global/fr-CM.js +1 -1
- package/locales/global/fr-DJ.js +1 -1
- package/locales/global/fr-DZ.js +1 -1
- package/locales/global/fr-GA.js +1 -1
- package/locales/global/fr-GF.js +1 -1
- package/locales/global/fr-GN.js +1 -1
- package/locales/global/fr-GP.js +1 -1
- package/locales/global/fr-GQ.js +1 -1
- package/locales/global/fr-HT.js +1 -1
- package/locales/global/fr-KM.js +1 -1
- package/locales/global/fr-LU.js +1 -1
- package/locales/global/fr-MA.js +1 -1
- package/locales/global/fr-MC.js +1 -1
- package/locales/global/fr-MF.js +1 -1
- package/locales/global/fr-MG.js +1 -1
- package/locales/global/fr-ML.js +1 -1
- package/locales/global/fr-MQ.js +1 -1
- package/locales/global/fr-MR.js +1 -1
- package/locales/global/fr-MU.js +1 -1
- package/locales/global/fr-NC.js +1 -1
- package/locales/global/fr-NE.js +1 -1
- package/locales/global/fr-PF.js +1 -1
- package/locales/global/fr-PM.js +1 -1
- package/locales/global/fr-RE.js +1 -1
- package/locales/global/fr-RW.js +1 -1
- package/locales/global/fr-SC.js +1 -1
- package/locales/global/fr-SN.js +1 -1
- package/locales/global/fr-SY.js +1 -1
- package/locales/global/fr-TD.js +1 -1
- package/locales/global/fr-TG.js +1 -1
- package/locales/global/fr-TN.js +1 -1
- package/locales/global/fr-VU.js +1 -1
- package/locales/global/fr-WF.js +1 -1
- package/locales/global/fr-YT.js +1 -1
- package/locales/global/fr.js +1 -1
- package/locales/global/fur.js +1 -1
- package/locales/global/fy.js +1 -1
- package/locales/global/ga-GB.js +1 -1
- package/locales/global/ga.js +1 -1
- package/locales/global/gd.js +1 -1
- package/locales/global/gl.js +1 -1
- package/locales/global/gsw-FR.js +1 -1
- package/locales/global/gsw-LI.js +1 -1
- package/locales/global/gsw.js +1 -1
- package/locales/global/gu.js +1 -1
- package/locales/global/guz.js +1 -1
- package/locales/global/gv.js +1 -1
- package/locales/global/ha-GH.js +1 -1
- package/locales/global/ha-NE.js +1 -1
- package/locales/global/ha.js +1 -1
- package/locales/global/haw.js +1 -1
- package/locales/global/he.js +1 -1
- package/locales/global/hi-Latn.js +1 -1
- package/locales/global/hi.js +1 -1
- package/locales/global/hr-BA.js +1 -1
- package/locales/global/hr.js +1 -1
- package/locales/global/hsb.js +1 -1
- package/locales/global/hu.js +1 -1
- package/locales/global/hy.js +1 -1
- package/locales/global/ia.js +1 -1
- package/locales/global/id.js +1 -1
- package/locales/global/ig.js +1 -1
- package/locales/global/ii.js +1 -1
- package/locales/global/is.js +1 -1
- package/locales/global/it-CH.js +1 -1
- package/locales/global/it-SM.js +1 -1
- package/locales/global/it-VA.js +1 -1
- package/locales/global/it.js +1 -1
- package/locales/global/ja.js +1 -1
- package/locales/global/jgo.js +1 -1
- package/locales/global/jmc.js +1 -1
- package/locales/global/jv.js +1 -1
- package/locales/global/ka.js +1 -1
- package/locales/global/kab.js +1 -1
- package/locales/global/kam.js +1 -1
- package/locales/global/kde.js +1 -1
- package/locales/global/kea.js +1 -1
- package/locales/global/kgp.js +1 -1
- package/locales/global/khq.js +1 -1
- package/locales/global/ki.js +1 -1
- package/locales/global/kk.js +1 -1
- package/locales/global/kkj.js +1 -1
- package/locales/global/kl.js +1 -1
- package/locales/global/kln.js +1 -1
- package/locales/global/km.js +1 -1
- package/locales/global/kn.js +1 -1
- package/locales/global/ko-KP.js +1 -1
- package/locales/global/ko.js +1 -1
- package/locales/global/kok.js +1 -1
- package/locales/global/ks-Arab.js +1 -1
- package/locales/global/ks-Deva.js +1 -1
- package/locales/global/ks.js +1 -1
- package/locales/global/ksb.js +1 -1
- package/locales/global/ksf.js +1 -1
- package/locales/global/ksh.js +1 -1
- package/locales/global/ku.js +1 -1
- package/locales/global/kw.js +1 -1
- package/locales/global/ky.js +1 -1
- package/locales/global/lag.js +1 -1
- package/locales/global/lb.js +1 -1
- package/locales/global/lg.js +1 -1
- package/locales/global/lkt.js +1 -1
- package/locales/global/ln-AO.js +1 -1
- package/locales/global/ln-CF.js +1 -1
- package/locales/global/ln-CG.js +1 -1
- package/locales/global/ln.js +1 -1
- package/locales/global/lo.js +1 -1
- package/locales/global/lrc-IQ.js +1 -1
- package/locales/global/lrc.js +1 -1
- package/locales/global/lt.js +1 -1
- package/locales/global/lu.js +1 -1
- package/locales/global/luo.js +1 -1
- package/locales/global/luy.js +1 -1
- package/locales/global/lv.js +1 -1
- package/locales/global/mai.js +1 -1
- package/locales/global/mas-TZ.js +1 -1
- package/locales/global/mas.js +1 -1
- package/locales/global/mer.js +1 -1
- package/locales/global/mfe.js +1 -1
- package/locales/global/mg.js +1 -1
- package/locales/global/mgh.js +1 -1
- package/locales/global/mgo.js +1 -1
- package/locales/global/mi.js +1 -1
- package/locales/global/mk.js +1 -1
- package/locales/global/ml.js +1 -1
- package/locales/global/mn.js +1 -1
- package/locales/global/mni-Beng.js +1 -1
- package/locales/global/mni.js +1 -1
- package/locales/global/mr.js +1 -1
- package/locales/global/ms-BN.js +1 -1
- package/locales/global/ms-ID.js +1 -1
- package/locales/global/ms-SG.js +1 -1
- package/locales/global/ms.js +1 -1
- package/locales/global/mt.js +1 -1
- package/locales/global/mua.js +1 -1
- package/locales/global/my.js +1 -1
- package/locales/global/mzn.js +1 -1
- package/locales/global/naq.js +1 -1
- package/locales/global/nb-SJ.js +1 -1
- package/locales/global/nb.js +1 -1
- package/locales/global/nd.js +1 -1
- package/locales/global/nds-NL.js +1 -1
- package/locales/global/nds.js +1 -1
- package/locales/global/ne-IN.js +1 -1
- package/locales/global/ne.js +1 -1
- package/locales/global/nl-AW.js +1 -1
- package/locales/global/nl-BE.js +1 -1
- package/locales/global/nl-BQ.js +1 -1
- package/locales/global/nl-CW.js +1 -1
- package/locales/global/nl-SR.js +1 -1
- package/locales/global/nl-SX.js +1 -1
- package/locales/global/nl.js +1 -1
- package/locales/global/nmg.js +1 -1
- package/locales/global/nn.js +1 -1
- package/locales/global/nnh.js +1 -1
- package/locales/global/no.js +1 -1
- package/locales/global/nus.js +1 -1
- package/locales/global/nyn.js +1 -1
- package/locales/global/om-KE.js +1 -1
- package/locales/global/om.js +1 -1
- package/locales/global/or.js +1 -1
- package/locales/global/os-RU.js +1 -1
- package/locales/global/os.js +1 -1
- package/locales/global/pa-Arab.js +1 -1
- package/locales/global/pa-Guru.js +1 -1
- package/locales/global/pa.js +1 -1
- package/locales/global/pcm.js +1 -1
- package/locales/global/pl.js +1 -1
- package/locales/global/ps-PK.js +1 -1
- package/locales/global/ps.js +1 -1
- package/locales/global/pt-AO.js +1 -1
- package/locales/global/pt-CH.js +1 -1
- package/locales/global/pt-CV.js +1 -1
- package/locales/global/pt-GQ.js +1 -1
- package/locales/global/pt-GW.js +1 -1
- package/locales/global/pt-LU.js +1 -1
- package/locales/global/pt-MO.js +1 -1
- package/locales/global/pt-MZ.js +1 -1
- package/locales/global/pt-PT.js +1 -1
- package/locales/global/pt-ST.js +1 -1
- package/locales/global/pt-TL.js +1 -1
- package/locales/global/pt.js +1 -1
- package/locales/global/qu-BO.js +1 -1
- package/locales/global/qu-EC.js +1 -1
- package/locales/global/qu.js +1 -1
- package/locales/global/rm.js +1 -1
- package/locales/global/rn.js +1 -1
- package/locales/global/ro-MD.js +1 -1
- package/locales/global/ro.js +1 -1
- package/locales/global/rof.js +1 -1
- package/locales/global/ru-BY.js +1 -1
- package/locales/global/ru-KG.js +1 -1
- package/locales/global/ru-KZ.js +1 -1
- package/locales/global/ru-MD.js +1 -1
- package/locales/global/ru-UA.js +1 -1
- package/locales/global/ru.js +1 -1
- package/locales/global/rw.js +1 -1
- package/locales/global/rwk.js +1 -1
- package/locales/global/sa.js +1 -1
- package/locales/global/sah.js +1 -1
- package/locales/global/saq.js +1 -1
- package/locales/global/sat-Olck.js +1 -1
- package/locales/global/sat.js +1 -1
- package/locales/global/sbp.js +1 -1
- package/locales/global/sc.js +1 -1
- package/locales/global/sd-Arab.js +1 -1
- package/locales/global/sd-Deva.js +1 -1
- package/locales/global/sd.js +1 -1
- package/locales/global/se-FI.js +1 -1
- package/locales/global/se-SE.js +1 -1
- package/locales/global/se.js +1 -1
- package/locales/global/seh.js +1 -1
- package/locales/global/ses.js +1 -1
- package/locales/global/sg.js +1 -1
- package/locales/global/shi-Latn.js +1 -1
- package/locales/global/shi-Tfng.js +1 -1
- package/locales/global/shi.js +1 -1
- package/locales/global/si.js +1 -1
- package/locales/global/sk.js +1 -1
- package/locales/global/sl.js +1 -1
- package/locales/global/smn.js +1 -1
- package/locales/global/sn.js +1 -1
- package/locales/global/so-DJ.js +1 -1
- package/locales/global/so-ET.js +1 -1
- package/locales/global/so-KE.js +1 -1
- package/locales/global/so.js +1 -1
- package/locales/global/sq-MK.js +1 -1
- package/locales/global/sq-XK.js +1 -1
- package/locales/global/sq.js +1 -1
- package/locales/global/sr-Cyrl-BA.js +1 -1
- package/locales/global/sr-Cyrl-ME.js +1 -1
- package/locales/global/sr-Cyrl-XK.js +1 -1
- package/locales/global/sr-Cyrl.js +1 -1
- package/locales/global/sr-Latn-BA.js +1 -1
- package/locales/global/sr-Latn-ME.js +1 -1
- package/locales/global/sr-Latn-XK.js +1 -1
- package/locales/global/sr-Latn.js +1 -1
- package/locales/global/sr.js +1 -1
- package/locales/global/su-Latn.js +1 -1
- package/locales/global/su.js +1 -1
- package/locales/global/sv-AX.js +1 -1
- package/locales/global/sv-FI.js +1 -1
- package/locales/global/sv.js +1 -1
- package/locales/global/sw-CD.js +1 -1
- package/locales/global/sw-KE.js +1 -1
- package/locales/global/sw-UG.js +1 -1
- package/locales/global/sw.js +1 -1
- package/locales/global/ta-LK.js +1 -1
- package/locales/global/ta-MY.js +1 -1
- package/locales/global/ta-SG.js +1 -1
- package/locales/global/ta.js +1 -1
- package/locales/global/te.js +1 -1
- package/locales/global/teo-KE.js +1 -1
- package/locales/global/teo.js +1 -1
- package/locales/global/tg.js +1 -1
- package/locales/global/th.js +1 -1
- package/locales/global/ti-ER.js +1 -1
- package/locales/global/ti.js +1 -1
- package/locales/global/tk.js +1 -1
- package/locales/global/to.js +1 -1
- package/locales/global/tr-CY.js +1 -1
- package/locales/global/tr.js +1 -1
- package/locales/global/tt.js +1 -1
- package/locales/global/twq.js +1 -1
- package/locales/global/tzm.js +1 -1
- package/locales/global/ug.js +1 -1
- package/locales/global/uk.js +1 -1
- package/locales/global/und.js +1 -1
- package/locales/global/ur-IN.js +1 -1
- package/locales/global/ur.js +1 -1
- package/locales/global/uz-Arab.js +1 -1
- package/locales/global/uz-Cyrl.js +1 -1
- package/locales/global/uz-Latn.js +1 -1
- package/locales/global/uz.js +1 -1
- package/locales/global/vai-Latn.js +1 -1
- package/locales/global/vai-Vaii.js +1 -1
- package/locales/global/vai.js +1 -1
- package/locales/global/vi.js +1 -1
- package/locales/global/vun.js +1 -1
- package/locales/global/wae.js +1 -1
- package/locales/global/wo.js +1 -1
- package/locales/global/xh.js +1 -1
- package/locales/global/xog.js +1 -1
- package/locales/global/yav.js +1 -1
- package/locales/global/yi.js +1 -1
- package/locales/global/yo-BJ.js +1 -1
- package/locales/global/yo.js +1 -1
- package/locales/global/yrl-CO.js +1 -1
- package/locales/global/yrl-VE.js +1 -1
- package/locales/global/yrl.js +1 -1
- package/locales/global/yue-Hans.js +1 -1
- package/locales/global/yue-Hant.js +1 -1
- package/locales/global/yue.js +1 -1
- package/locales/global/zgh.js +1 -1
- package/locales/global/zh-Hans-HK.js +1 -1
- package/locales/global/zh-Hans-MO.js +1 -1
- package/locales/global/zh-Hans-SG.js +1 -1
- package/locales/global/zh-Hans.js +1 -1
- package/locales/global/zh-Hant-HK.js +1 -1
- package/locales/global/zh-Hant-MO.js +1 -1
- package/locales/global/zh-Hant.js +1 -1
- package/locales/global/zh.js +1 -1
- package/locales/global/zu.js +1 -1
- package/locales/gsw-FR.d.ts +1 -1
- package/locales/gsw-FR.mjs +2 -2
- package/locales/gsw-LI.d.ts +1 -1
- package/locales/gsw-LI.mjs +2 -2
- package/locales/gsw.d.ts +1 -1
- package/locales/gsw.mjs +2 -2
- package/locales/gu.d.ts +1 -1
- package/locales/gu.mjs +2 -2
- package/locales/guz.d.ts +1 -1
- package/locales/guz.mjs +2 -2
- package/locales/gv.d.ts +1 -1
- package/locales/gv.mjs +2 -2
- package/locales/ha-GH.d.ts +1 -1
- package/locales/ha-GH.mjs +2 -2
- package/locales/ha-NE.d.ts +1 -1
- package/locales/ha-NE.mjs +2 -2
- package/locales/ha.d.ts +1 -1
- package/locales/ha.mjs +2 -2
- package/locales/haw.d.ts +1 -1
- package/locales/haw.mjs +2 -2
- package/locales/he.d.ts +1 -1
- package/locales/he.mjs +2 -2
- package/locales/hi-Latn.d.ts +1 -1
- package/locales/hi-Latn.mjs +2 -2
- package/locales/hi.d.ts +1 -1
- package/locales/hi.mjs +2 -2
- package/locales/hr-BA.d.ts +1 -1
- package/locales/hr-BA.mjs +2 -2
- package/locales/hr.d.ts +1 -1
- package/locales/hr.mjs +2 -2
- package/locales/hsb.d.ts +1 -1
- package/locales/hsb.mjs +2 -2
- package/locales/hu.d.ts +1 -1
- package/locales/hu.mjs +2 -2
- package/locales/hy.d.ts +1 -1
- package/locales/hy.mjs +2 -2
- package/locales/ia.d.ts +1 -1
- package/locales/ia.mjs +2 -2
- package/locales/id.d.ts +1 -1
- package/locales/id.mjs +2 -2
- package/locales/ig.d.ts +1 -1
- package/locales/ig.mjs +2 -2
- package/locales/ii.d.ts +1 -1
- package/locales/ii.mjs +2 -2
- package/locales/is.d.ts +1 -1
- package/locales/is.mjs +2 -2
- package/locales/it-CH.d.ts +1 -1
- package/locales/it-CH.mjs +2 -2
- package/locales/it-SM.d.ts +1 -1
- package/locales/it-SM.mjs +2 -2
- package/locales/it-VA.d.ts +1 -1
- package/locales/it-VA.mjs +2 -2
- package/locales/it.d.ts +1 -1
- package/locales/it.mjs +2 -2
- package/locales/ja.d.ts +1 -1
- package/locales/ja.mjs +2 -2
- package/locales/jgo.d.ts +1 -1
- package/locales/jgo.mjs +2 -2
- package/locales/jmc.d.ts +1 -1
- package/locales/jmc.mjs +2 -2
- package/locales/jv.d.ts +1 -1
- package/locales/jv.mjs +2 -2
- package/locales/ka.d.ts +1 -1
- package/locales/ka.mjs +2 -2
- package/locales/kab.d.ts +1 -1
- package/locales/kab.mjs +2 -2
- package/locales/kam.d.ts +1 -1
- package/locales/kam.mjs +2 -2
- package/locales/kde.d.ts +1 -1
- package/locales/kde.mjs +2 -2
- package/locales/kea.d.ts +1 -1
- package/locales/kea.mjs +2 -2
- package/locales/kgp.d.ts +1 -1
- package/locales/kgp.mjs +2 -2
- package/locales/khq.d.ts +1 -1
- package/locales/khq.mjs +2 -2
- package/locales/ki.d.ts +1 -1
- package/locales/ki.mjs +2 -2
- package/locales/kk.d.ts +1 -1
- package/locales/kk.mjs +2 -2
- package/locales/kkj.d.ts +1 -1
- package/locales/kkj.mjs +2 -2
- package/locales/kl.d.ts +1 -1
- package/locales/kl.mjs +2 -2
- package/locales/kln.d.ts +1 -1
- package/locales/kln.mjs +2 -2
- package/locales/km.d.ts +1 -1
- package/locales/km.mjs +2 -2
- package/locales/kn.d.ts +1 -1
- package/locales/kn.mjs +2 -2
- package/locales/ko-KP.d.ts +1 -1
- package/locales/ko-KP.mjs +2 -2
- package/locales/ko.d.ts +1 -1
- package/locales/ko.mjs +2 -2
- package/locales/kok.d.ts +1 -1
- package/locales/kok.mjs +2 -2
- package/locales/ks-Arab.d.ts +1 -1
- package/locales/ks-Arab.mjs +2 -2
- package/locales/ks-Deva.d.ts +1 -1
- package/locales/ks-Deva.mjs +2 -2
- package/locales/ks.d.ts +1 -1
- package/locales/ks.mjs +2 -2
- package/locales/ksb.d.ts +1 -1
- package/locales/ksb.mjs +2 -2
- package/locales/ksf.d.ts +1 -1
- package/locales/ksf.mjs +2 -2
- package/locales/ksh.d.ts +1 -1
- package/locales/ksh.mjs +2 -2
- package/locales/ku.d.ts +1 -1
- package/locales/ku.mjs +2 -2
- package/locales/kw.d.ts +1 -1
- package/locales/kw.mjs +2 -2
- package/locales/ky.d.ts +1 -1
- package/locales/ky.mjs +2 -2
- package/locales/lag.d.ts +1 -1
- package/locales/lag.mjs +2 -2
- package/locales/lb.d.ts +1 -1
- package/locales/lb.mjs +2 -2
- package/locales/lg.d.ts +1 -1
- package/locales/lg.mjs +2 -2
- package/locales/lkt.d.ts +1 -1
- package/locales/lkt.mjs +2 -2
- package/locales/ln-AO.d.ts +1 -1
- package/locales/ln-AO.mjs +2 -2
- package/locales/ln-CF.d.ts +1 -1
- package/locales/ln-CF.mjs +2 -2
- package/locales/ln-CG.d.ts +1 -1
- package/locales/ln-CG.mjs +2 -2
- package/locales/ln.d.ts +1 -1
- package/locales/ln.mjs +2 -2
- package/locales/lo.d.ts +1 -1
- package/locales/lo.mjs +2 -2
- package/locales/lrc-IQ.d.ts +1 -1
- package/locales/lrc-IQ.mjs +2 -2
- package/locales/lrc.d.ts +1 -1
- package/locales/lrc.mjs +2 -2
- package/locales/lt.d.ts +1 -1
- package/locales/lt.mjs +2 -2
- package/locales/lu.d.ts +1 -1
- package/locales/lu.mjs +2 -2
- package/locales/luo.d.ts +1 -1
- package/locales/luo.mjs +2 -2
- package/locales/luy.d.ts +1 -1
- package/locales/luy.mjs +2 -2
- package/locales/lv.d.ts +1 -1
- package/locales/lv.mjs +2 -2
- package/locales/mai.d.ts +1 -1
- package/locales/mai.mjs +2 -2
- package/locales/mas-TZ.d.ts +1 -1
- package/locales/mas-TZ.mjs +2 -2
- package/locales/mas.d.ts +1 -1
- package/locales/mas.mjs +2 -2
- package/locales/mer.d.ts +1 -1
- package/locales/mer.mjs +2 -2
- package/locales/mfe.d.ts +1 -1
- package/locales/mfe.mjs +2 -2
- package/locales/mg.d.ts +1 -1
- package/locales/mg.mjs +2 -2
- package/locales/mgh.d.ts +1 -1
- package/locales/mgh.mjs +2 -2
- package/locales/mgo.d.ts +1 -1
- package/locales/mgo.mjs +2 -2
- package/locales/mi.d.ts +1 -1
- package/locales/mi.mjs +2 -2
- package/locales/mk.d.ts +1 -1
- package/locales/mk.mjs +2 -2
- package/locales/ml.d.ts +1 -1
- package/locales/ml.mjs +2 -2
- package/locales/mn.d.ts +1 -1
- package/locales/mn.mjs +2 -2
- package/locales/mni-Beng.d.ts +1 -1
- package/locales/mni-Beng.mjs +2 -2
- package/locales/mni.d.ts +1 -1
- package/locales/mni.mjs +2 -2
- package/locales/mr.d.ts +1 -1
- package/locales/mr.mjs +2 -2
- package/locales/ms-BN.d.ts +1 -1
- package/locales/ms-BN.mjs +2 -2
- package/locales/ms-ID.d.ts +1 -1
- package/locales/ms-ID.mjs +2 -2
- package/locales/ms-SG.d.ts +1 -1
- package/locales/ms-SG.mjs +2 -2
- package/locales/ms.d.ts +1 -1
- package/locales/ms.mjs +2 -2
- package/locales/mt.d.ts +1 -1
- package/locales/mt.mjs +2 -2
- package/locales/mua.d.ts +1 -1
- package/locales/mua.mjs +2 -2
- package/locales/my.d.ts +1 -1
- package/locales/my.mjs +2 -2
- package/locales/mzn.d.ts +1 -1
- package/locales/mzn.mjs +2 -2
- package/locales/naq.d.ts +1 -1
- package/locales/naq.mjs +2 -2
- package/locales/nb-SJ.d.ts +1 -1
- package/locales/nb-SJ.mjs +2 -2
- package/locales/nb.d.ts +1 -1
- package/locales/nb.mjs +2 -2
- package/locales/nd.d.ts +1 -1
- package/locales/nd.mjs +2 -2
- package/locales/nds-NL.d.ts +1 -1
- package/locales/nds-NL.mjs +2 -2
- package/locales/nds.d.ts +1 -1
- package/locales/nds.mjs +2 -2
- package/locales/ne-IN.d.ts +1 -1
- package/locales/ne-IN.mjs +2 -2
- package/locales/ne.d.ts +1 -1
- package/locales/ne.mjs +2 -2
- package/locales/nl-AW.d.ts +1 -1
- package/locales/nl-AW.mjs +2 -2
- package/locales/nl-BE.d.ts +1 -1
- package/locales/nl-BE.mjs +2 -2
- package/locales/nl-BQ.d.ts +1 -1
- package/locales/nl-BQ.mjs +2 -2
- package/locales/nl-CW.d.ts +1 -1
- package/locales/nl-CW.mjs +2 -2
- package/locales/nl-SR.d.ts +1 -1
- package/locales/nl-SR.mjs +2 -2
- package/locales/nl-SX.d.ts +1 -1
- package/locales/nl-SX.mjs +2 -2
- package/locales/nl.d.ts +1 -1
- package/locales/nl.mjs +2 -2
- package/locales/nmg.d.ts +1 -1
- package/locales/nmg.mjs +2 -2
- package/locales/nn.d.ts +1 -1
- package/locales/nn.mjs +2 -2
- package/locales/nnh.d.ts +1 -1
- package/locales/nnh.mjs +2 -2
- package/locales/no.d.ts +1 -1
- package/locales/no.mjs +2 -2
- package/locales/nus.d.ts +1 -1
- package/locales/nus.mjs +2 -2
- package/locales/nyn.d.ts +1 -1
- package/locales/nyn.mjs +2 -2
- package/locales/om-KE.d.ts +1 -1
- package/locales/om-KE.mjs +2 -2
- package/locales/om.d.ts +1 -1
- package/locales/om.mjs +2 -2
- package/locales/or.d.ts +1 -1
- package/locales/or.mjs +2 -2
- package/locales/os-RU.d.ts +1 -1
- package/locales/os-RU.mjs +2 -2
- package/locales/os.d.ts +1 -1
- package/locales/os.mjs +2 -2
- package/locales/pa-Arab.d.ts +1 -1
- package/locales/pa-Arab.mjs +2 -2
- package/locales/pa-Guru.d.ts +1 -1
- package/locales/pa-Guru.mjs +2 -2
- package/locales/pa.d.ts +1 -1
- package/locales/pa.mjs +2 -2
- package/locales/pcm.d.ts +1 -1
- package/locales/pcm.mjs +2 -2
- package/locales/pl.d.ts +1 -1
- package/locales/pl.mjs +2 -2
- package/locales/ps-PK.d.ts +1 -1
- package/locales/ps-PK.mjs +2 -2
- package/locales/ps.d.ts +1 -1
- package/locales/ps.mjs +2 -2
- package/locales/pt-AO.d.ts +1 -1
- package/locales/pt-AO.mjs +2 -2
- package/locales/pt-CH.d.ts +1 -1
- package/locales/pt-CH.mjs +2 -2
- package/locales/pt-CV.d.ts +1 -1
- package/locales/pt-CV.mjs +2 -2
- package/locales/pt-GQ.d.ts +1 -1
- package/locales/pt-GQ.mjs +2 -2
- package/locales/pt-GW.d.ts +1 -1
- package/locales/pt-GW.mjs +2 -2
- package/locales/pt-LU.d.ts +1 -1
- package/locales/pt-LU.mjs +2 -2
- package/locales/pt-MO.d.ts +1 -1
- package/locales/pt-MO.mjs +2 -2
- package/locales/pt-MZ.d.ts +1 -1
- package/locales/pt-MZ.mjs +2 -2
- package/locales/pt-PT.d.ts +1 -1
- package/locales/pt-PT.mjs +2 -2
- package/locales/pt-ST.d.ts +1 -1
- package/locales/pt-ST.mjs +2 -2
- package/locales/pt-TL.d.ts +1 -1
- package/locales/pt-TL.mjs +2 -2
- package/locales/pt.d.ts +1 -1
- package/locales/pt.mjs +2 -2
- package/locales/qu-BO.d.ts +1 -1
- package/locales/qu-BO.mjs +2 -2
- package/locales/qu-EC.d.ts +1 -1
- package/locales/qu-EC.mjs +2 -2
- package/locales/qu.d.ts +1 -1
- package/locales/qu.mjs +2 -2
- package/locales/rm.d.ts +1 -1
- package/locales/rm.mjs +2 -2
- package/locales/rn.d.ts +1 -1
- package/locales/rn.mjs +2 -2
- package/locales/ro-MD.d.ts +1 -1
- package/locales/ro-MD.mjs +2 -2
- package/locales/ro.d.ts +1 -1
- package/locales/ro.mjs +2 -2
- package/locales/rof.d.ts +1 -1
- package/locales/rof.mjs +2 -2
- package/locales/ru-BY.d.ts +1 -1
- package/locales/ru-BY.mjs +2 -2
- package/locales/ru-KG.d.ts +1 -1
- package/locales/ru-KG.mjs +2 -2
- package/locales/ru-KZ.d.ts +1 -1
- package/locales/ru-KZ.mjs +2 -2
- package/locales/ru-MD.d.ts +1 -1
- package/locales/ru-MD.mjs +2 -2
- package/locales/ru-UA.d.ts +1 -1
- package/locales/ru-UA.mjs +2 -2
- package/locales/ru.d.ts +1 -1
- package/locales/ru.mjs +2 -2
- package/locales/rw.d.ts +1 -1
- package/locales/rw.mjs +2 -2
- package/locales/rwk.d.ts +1 -1
- package/locales/rwk.mjs +2 -2
- package/locales/sa.d.ts +1 -1
- package/locales/sa.mjs +2 -2
- package/locales/sah.d.ts +1 -1
- package/locales/sah.mjs +2 -2
- package/locales/saq.d.ts +1 -1
- package/locales/saq.mjs +2 -2
- package/locales/sat-Olck.d.ts +1 -1
- package/locales/sat-Olck.mjs +2 -2
- package/locales/sat.d.ts +1 -1
- package/locales/sat.mjs +2 -2
- package/locales/sbp.d.ts +1 -1
- package/locales/sbp.mjs +2 -2
- package/locales/sc.d.ts +1 -1
- package/locales/sc.mjs +2 -2
- package/locales/sd-Arab.d.ts +1 -1
- package/locales/sd-Arab.mjs +2 -2
- package/locales/sd-Deva.d.ts +1 -1
- package/locales/sd-Deva.mjs +2 -2
- package/locales/sd.d.ts +1 -1
- package/locales/sd.mjs +2 -2
- package/locales/se-FI.d.ts +1 -1
- package/locales/se-FI.mjs +2 -2
- package/locales/se-SE.d.ts +1 -1
- package/locales/se-SE.mjs +2 -2
- package/locales/se.d.ts +1 -1
- package/locales/se.mjs +2 -2
- package/locales/seh.d.ts +1 -1
- package/locales/seh.mjs +2 -2
- package/locales/ses.d.ts +1 -1
- package/locales/ses.mjs +2 -2
- package/locales/sg.d.ts +1 -1
- package/locales/sg.mjs +2 -2
- package/locales/shi-Latn.d.ts +1 -1
- package/locales/shi-Latn.mjs +2 -2
- package/locales/shi-Tfng.d.ts +1 -1
- package/locales/shi-Tfng.mjs +2 -2
- package/locales/shi.d.ts +1 -1
- package/locales/shi.mjs +2 -2
- package/locales/si.d.ts +1 -1
- package/locales/si.mjs +2 -2
- package/locales/sk.d.ts +1 -1
- package/locales/sk.mjs +2 -2
- package/locales/sl.d.ts +1 -1
- package/locales/sl.mjs +2 -2
- package/locales/smn.d.ts +1 -1
- package/locales/smn.mjs +2 -2
- package/locales/sn.d.ts +1 -1
- package/locales/sn.mjs +2 -2
- package/locales/so-DJ.d.ts +1 -1
- package/locales/so-DJ.mjs +2 -2
- package/locales/so-ET.d.ts +1 -1
- package/locales/so-ET.mjs +2 -2
- package/locales/so-KE.d.ts +1 -1
- package/locales/so-KE.mjs +2 -2
- package/locales/so.d.ts +1 -1
- package/locales/so.mjs +2 -2
- package/locales/sq-MK.d.ts +1 -1
- package/locales/sq-MK.mjs +2 -2
- package/locales/sq-XK.d.ts +1 -1
- package/locales/sq-XK.mjs +2 -2
- package/locales/sq.d.ts +1 -1
- package/locales/sq.mjs +2 -2
- package/locales/sr-Cyrl-BA.d.ts +1 -1
- package/locales/sr-Cyrl-BA.mjs +2 -2
- package/locales/sr-Cyrl-ME.d.ts +1 -1
- package/locales/sr-Cyrl-ME.mjs +2 -2
- package/locales/sr-Cyrl-XK.d.ts +1 -1
- package/locales/sr-Cyrl-XK.mjs +2 -2
- package/locales/sr-Cyrl.d.ts +1 -1
- package/locales/sr-Cyrl.mjs +2 -2
- package/locales/sr-Latn-BA.d.ts +1 -1
- package/locales/sr-Latn-BA.mjs +2 -2
- package/locales/sr-Latn-ME.d.ts +1 -1
- package/locales/sr-Latn-ME.mjs +2 -2
- package/locales/sr-Latn-XK.d.ts +1 -1
- package/locales/sr-Latn-XK.mjs +2 -2
- package/locales/sr-Latn.d.ts +1 -1
- package/locales/sr-Latn.mjs +2 -2
- package/locales/sr.d.ts +1 -1
- package/locales/sr.mjs +2 -2
- package/locales/su-Latn.d.ts +1 -1
- package/locales/su-Latn.mjs +2 -2
- package/locales/su.d.ts +1 -1
- package/locales/su.mjs +2 -2
- package/locales/sv-AX.d.ts +1 -1
- package/locales/sv-AX.mjs +2 -2
- package/locales/sv-FI.d.ts +1 -1
- package/locales/sv-FI.mjs +2 -2
- package/locales/sv.d.ts +1 -1
- package/locales/sv.mjs +2 -2
- package/locales/sw-CD.d.ts +1 -1
- package/locales/sw-CD.mjs +2 -2
- package/locales/sw-KE.d.ts +1 -1
- package/locales/sw-KE.mjs +2 -2
- package/locales/sw-UG.d.ts +1 -1
- package/locales/sw-UG.mjs +2 -2
- package/locales/sw.d.ts +1 -1
- package/locales/sw.mjs +2 -2
- package/locales/ta-LK.d.ts +1 -1
- package/locales/ta-LK.mjs +2 -2
- package/locales/ta-MY.d.ts +1 -1
- package/locales/ta-MY.mjs +2 -2
- package/locales/ta-SG.d.ts +1 -1
- package/locales/ta-SG.mjs +2 -2
- package/locales/ta.d.ts +1 -1
- package/locales/ta.mjs +2 -2
- package/locales/te.d.ts +1 -1
- package/locales/te.mjs +2 -2
- package/locales/teo-KE.d.ts +1 -1
- package/locales/teo-KE.mjs +2 -2
- package/locales/teo.d.ts +1 -1
- package/locales/teo.mjs +2 -2
- package/locales/tg.d.ts +1 -1
- package/locales/tg.mjs +2 -2
- package/locales/th.d.ts +1 -1
- package/locales/th.mjs +2 -2
- package/locales/ti-ER.d.ts +1 -1
- package/locales/ti-ER.mjs +2 -2
- package/locales/ti.d.ts +1 -1
- package/locales/ti.mjs +2 -2
- package/locales/tk.d.ts +1 -1
- package/locales/tk.mjs +2 -2
- package/locales/to.d.ts +1 -1
- package/locales/to.mjs +2 -2
- package/locales/tr-CY.d.ts +1 -1
- package/locales/tr-CY.mjs +2 -2
- package/locales/tr.d.ts +1 -1
- package/locales/tr.mjs +2 -2
- package/locales/tt.d.ts +1 -1
- package/locales/tt.mjs +2 -2
- package/locales/twq.d.ts +1 -1
- package/locales/twq.mjs +2 -2
- package/locales/tzm.d.ts +1 -1
- package/locales/tzm.mjs +2 -2
- package/locales/ug.d.ts +1 -1
- package/locales/ug.mjs +2 -2
- package/locales/uk.d.ts +1 -1
- package/locales/uk.mjs +2 -2
- package/locales/und.d.ts +1 -1
- package/locales/und.mjs +2 -2
- package/locales/ur-IN.d.ts +1 -1
- package/locales/ur-IN.mjs +2 -2
- package/locales/ur.d.ts +1 -1
- package/locales/ur.mjs +2 -2
- package/locales/uz-Arab.d.ts +1 -1
- package/locales/uz-Arab.mjs +2 -2
- package/locales/uz-Cyrl.d.ts +1 -1
- package/locales/uz-Cyrl.mjs +2 -2
- package/locales/uz-Latn.d.ts +1 -1
- package/locales/uz-Latn.mjs +2 -2
- package/locales/uz.d.ts +1 -1
- package/locales/uz.mjs +2 -2
- package/locales/vai-Latn.d.ts +1 -1
- package/locales/vai-Latn.mjs +2 -2
- package/locales/vai-Vaii.d.ts +1 -1
- package/locales/vai-Vaii.mjs +2 -2
- package/locales/vai.d.ts +1 -1
- package/locales/vai.mjs +2 -2
- package/locales/vi.d.ts +1 -1
- package/locales/vi.mjs +2 -2
- package/locales/vun.d.ts +1 -1
- package/locales/vun.mjs +2 -2
- package/locales/wae.d.ts +1 -1
- package/locales/wae.mjs +2 -2
- package/locales/wo.d.ts +1 -1
- package/locales/wo.mjs +2 -2
- package/locales/xh.d.ts +1 -1
- package/locales/xh.mjs +2 -2
- package/locales/xog.d.ts +1 -1
- package/locales/xog.mjs +2 -2
- package/locales/yav.d.ts +1 -1
- package/locales/yav.mjs +2 -2
- package/locales/yi.d.ts +1 -1
- package/locales/yi.mjs +2 -2
- package/locales/yo-BJ.d.ts +1 -1
- package/locales/yo-BJ.mjs +2 -2
- package/locales/yo.d.ts +1 -1
- package/locales/yo.mjs +2 -2
- package/locales/yrl-CO.d.ts +1 -1
- package/locales/yrl-CO.mjs +2 -2
- package/locales/yrl-VE.d.ts +1 -1
- package/locales/yrl-VE.mjs +2 -2
- package/locales/yrl.d.ts +1 -1
- package/locales/yrl.mjs +2 -2
- package/locales/yue-Hans.d.ts +1 -1
- package/locales/yue-Hans.mjs +2 -2
- package/locales/yue-Hant.d.ts +1 -1
- package/locales/yue-Hant.mjs +2 -2
- package/locales/yue.d.ts +1 -1
- package/locales/yue.mjs +2 -2
- package/locales/zgh.d.ts +1 -1
- package/locales/zgh.mjs +2 -2
- package/locales/zh-Hans-HK.d.ts +1 -1
- package/locales/zh-Hans-HK.mjs +2 -2
- package/locales/zh-Hans-MO.d.ts +1 -1
- package/locales/zh-Hans-MO.mjs +2 -2
- package/locales/zh-Hans-SG.d.ts +1 -1
- package/locales/zh-Hans-SG.mjs +2 -2
- package/locales/zh-Hans.d.ts +1 -1
- package/locales/zh-Hans.mjs +2 -2
- package/locales/zh-Hant-HK.d.ts +1 -1
- package/locales/zh-Hant-HK.mjs +2 -2
- package/locales/zh-Hant-MO.d.ts +1 -1
- package/locales/zh-Hant-MO.mjs +2 -2
- package/locales/zh-Hant.d.ts +1 -1
- package/locales/zh-Hant.mjs +2 -2
- package/locales/zh.d.ts +1 -1
- package/locales/zh.mjs +2 -2
- package/locales/zu.d.ts +1 -1
- package/locales/zu.mjs +2 -2
- package/package.json +2 -2
- package/testing/index.d.ts +1 -1
- package/upgrade/index.d.ts +1 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright Google LLC All Rights Reserved.
|
|
4
4
|
*
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
7
|
*/
|
|
8
8
|
import { DOCUMENT, ɵPlatformNavigation as PlatformNavigation, } from '@angular/common';
|
|
9
9
|
import { Inject, inject, Injectable, InjectionToken, Optional } from '@angular/core';
|
|
@@ -216,10 +216,10 @@ export class MockPlatformLocation {
|
|
|
216
216
|
});
|
|
217
217
|
}
|
|
218
218
|
}
|
|
219
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
220
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
219
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: MockPlatformLocation, deps: [{ token: MOCK_PLATFORM_LOCATION_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
220
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: MockPlatformLocation }); }
|
|
221
221
|
}
|
|
222
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
222
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: MockPlatformLocation, decorators: [{
|
|
223
223
|
type: Injectable
|
|
224
224
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
225
225
|
type: Inject,
|
|
@@ -290,10 +290,10 @@ export class FakeNavigationPlatformLocation {
|
|
|
290
290
|
getState() {
|
|
291
291
|
return this._platformNavigation.currentEntry.getHistoryState();
|
|
292
292
|
}
|
|
293
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
294
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
293
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FakeNavigationPlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
294
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FakeNavigationPlatformLocation }); }
|
|
295
295
|
}
|
|
296
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
296
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FakeNavigationPlatformLocation, decorators: [{
|
|
297
297
|
type: Injectable
|
|
298
298
|
}], ctorParameters: () => [] });
|
|
299
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19wbGF0Zm9ybV9sb2NhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi90ZXN0aW5nL3NyYy9tb2NrX3BsYXRmb3JtX2xvY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFDTCxRQUFRLEVBSVIsbUJBQW1CLElBQUksa0JBQWtCLEdBQzFDLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU3QixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sOEJBQThCLENBQUM7O0FBRTVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFDSCxNQUFNLFFBQVEsR0FBRywrREFBK0QsQ0FBQztBQUVqRixTQUFTLFFBQVEsQ0FBQyxNQUFjLEVBQUUsUUFBZ0I7SUFDaEQsTUFBTSxjQUFjLEdBQUcsd0JBQXdCLENBQUM7SUFDaEQsSUFBSSxVQUE4QixDQUFDO0lBRW5DLDZGQUE2RjtJQUM3Rix3REFBd0Q7SUFDeEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNqQyxVQUFVLEdBQUcsbUJBQW1CLENBQUM7SUFDbkMsQ0FBQztJQUNELElBQUksU0FPSCxDQUFDO0lBQ0YsSUFBSSxDQUFDO1FBQ0gsU0FBUyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixNQUFNLGVBQWUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBQ0QsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2QyxTQUFTLEdBQUc7WUFDVixRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNuQixRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUN0QixJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUU7WUFDeEIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDbkIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDakIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7U0FDaEIsQ0FBQztJQUNKLENBQUM7SUFDRCxJQUFJLFNBQVMsQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDckUsU0FBUyxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUNELE9BQU87UUFDTCxRQUFRLEVBQUUsQ0FBQyxDQUFDLFVBQVUsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtRQUNuRCxRQUFRLEVBQUUsQ0FBQyxDQUFDLFVBQVUsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtRQUNuRCxJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVUsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtRQUMzQyxRQUFRLEVBQUUsU0FBUyxDQUFDLFFBQVEsSUFBSSxHQUFHO1FBQ25DLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxJQUFJLEVBQUU7UUFDOUIsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLElBQUksRUFBRTtLQUMzQixDQUFDO0FBQ0osQ0FBQztBQVlEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxJQUFJLGNBQWMsQ0FDN0QsK0JBQStCLENBQ2hDLENBQUM7QUFFRjs7OztHQUlHO0FBRUgsTUFBTSxPQUFPLG9CQUFvQjtJQWUvQixZQUNxRCxNQUFtQztRQWZoRixhQUFRLEdBQVcsRUFBRSxDQUFDO1FBQ3RCLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBdUIsQ0FBQztRQUNoRCxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUF1QixDQUFDO1FBQ3JELG1CQUFjLEdBQVcsQ0FBQyxDQUFDO1FBQzNCLGVBQVUsR0FRWixDQUFDLEVBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7UUFLL0YsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7WUFFekMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FDckMsSUFBSSxFQUNKLE1BQU0sQ0FBQyxRQUFRLElBQUksaUJBQWlCLEVBQ3BDLElBQUksQ0FBQyxRQUFRLENBQ2QsQ0FBQztZQUNGLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBQyxHQUFHLGFBQWEsRUFBQyxDQUFDO1FBQzFDLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDdkQsQ0FBQztJQUNELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQ3ZELENBQUM7SUFDRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNuRCxDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDdkQsQ0FBQztJQUNELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3JELENBQUM7SUFDRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNuRCxDQUFDO0lBQ0QsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDcEQsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELFVBQVUsQ0FBQyxFQUEwQjtRQUNuQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4RCxPQUFPLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsWUFBWSxDQUFDLEVBQTBCO1FBQ3JDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELE9BQU8sR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDbEYsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqRixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDTCxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQWMsRUFBRSxHQUFXLEVBQUUsV0FBbUIsRUFBRTtRQUNyRSxpRUFBaUU7UUFDakUsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzFDLE9BQU8sRUFBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFVLEVBQUUsS0FBYSxFQUFFLE1BQWM7UUFDcEQsTUFBTSxFQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUV0RixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRztZQUNyQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUN2QyxRQUFRO1lBQ1IsTUFBTTtZQUNOLElBQUk7WUFDSixLQUFLLEVBQUUsV0FBVztTQUNuQixDQUFDO0lBQ0osQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFVLEVBQUUsS0FBYSxFQUFFLE1BQWM7UUFDakQsTUFBTSxFQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN0RixJQUFJLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDbkIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDdkMsUUFBUTtZQUNSLE1BQU07WUFDTixJQUFJO1lBQ0osS0FBSyxFQUFFLFdBQVc7U0FDbkIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELE9BQU87UUFDTCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQ3hCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDMUIsSUFBSSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSTtRQUNGLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDeEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMxQixJQUFJLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsU0FBUyxDQUFDLG1CQUEyQixDQUFDO1FBQ3BDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDeEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMxQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxHQUFHLGdCQUFnQixDQUFDO1FBQzdELElBQUksYUFBYSxJQUFJLENBQUMsSUFBSSxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNqRSxJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQztRQUN0QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNLLFVBQVUsQ0FBQyxPQUFlLEVBQUUsTUFBYztRQUNoRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztZQUN4QixJQUFJLEVBQUUsVUFBVTtZQUNoQixLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN0QixNQUFNO1lBQ04sTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHO1NBQ00sQ0FBQyxDQUFDO1FBQzFCLElBQUksT0FBTyxLQUFLLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztnQkFDbkIsSUFBSSxFQUFFLFlBQVk7Z0JBQ2xCLEtBQUssRUFBRSxJQUFJO2dCQUNYLE1BQU07Z0JBQ04sTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHO2FBQ00sQ0FBQyxDQUFDO1FBQzVCLENBQUM7SUFDSCxDQUFDO3lIQXRLVSxvQkFBb0Isa0JBZ0JyQiw2QkFBNkI7NkhBaEI1QixvQkFBb0I7O3NHQUFwQixvQkFBb0I7a0JBRGhDLFVBQVU7OzBCQWlCTixNQUFNOzJCQUFDLDZCQUE2Qjs7MEJBQUcsUUFBUTs7QUF5SnBEOztHQUVHO0FBRUgsTUFBTSxPQUFPLDhCQUE4QjtJQUl6QztRQUhRLHdCQUFtQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBbUIsQ0FBQztRQUNuRSxXQUFNLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVksQ0FBQztRQVd2QyxXQUFNLEdBQUcsTUFBTSxDQUFDLDZCQUE2QixFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7UUFSdkUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixZQUFZLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDMUQsTUFBTSxJQUFJLEtBQUssQ0FDYixvRUFBb0U7Z0JBQ2xFLHVFQUF1RSxDQUMxRSxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFHRCxrQkFBa0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsSUFBSSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELFVBQVUsQ0FBQyxFQUEwQjtRQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM3QyxPQUFPLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxZQUFZLENBQUMsRUFBMEI7UUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsRUFBUyxDQUFDLENBQUM7UUFDdEQsT0FBTyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxFQUFTLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQztJQUNwRCxDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNsRSxDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNwRSxDQUFDO0lBQ0QsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNsRSxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVUsRUFBRSxLQUFhLEVBQUUsR0FBVztRQUM5QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFVLEVBQUUsS0FBYSxFQUFFLEdBQVc7UUFDakQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxTQUFTLENBQUMsbUJBQTJCLENBQUM7UUFDcEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ2pFLENBQUM7eUhBeEVVLDhCQUE4Qjs2SEFBOUIsOEJBQThCOztzR0FBOUIsOEJBQThCO2tCQUQxQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7XG4gIERPQ1VNRU5ULFxuICBMb2NhdGlvbkNoYW5nZUV2ZW50LFxuICBMb2NhdGlvbkNoYW5nZUxpc3RlbmVyLFxuICBQbGF0Zm9ybUxvY2F0aW9uLFxuICDJtVBsYXRmb3JtTmF2aWdhdGlvbiBhcyBQbGF0Zm9ybU5hdmlnYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0luamVjdCwgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtGYWtlTmF2aWdhdGlvbn0gZnJvbSAnLi9uYXZpZ2F0aW9uL2Zha2VfbmF2aWdhdGlvbic7XG5cbi8qKlxuICogUGFyc2VyIGZyb20gaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzM5ODYjYXBwZW5kaXgtQlxuICogXigoW146Lz8jXSspOik/KC8vKFteLz8jXSopKT8oW14/I10qKShcXD8oW14jXSopKT8oIyguKikpP1xuICogIDEyICAgICAgICAgICAgMyAgNCAgICAgICAgICA1ICAgICAgIDYgIDcgICAgICAgIDggOVxuICpcbiAqIEV4YW1wbGU6IGh0dHA6Ly93d3cuaWNzLnVjaS5lZHUvcHViL2lldGYvdXJpLyNSZWxhdGVkXG4gKlxuICogUmVzdWx0cyBpbjpcbiAqXG4gKiAkMSA9IGh0dHA6XG4gKiAkMiA9IGh0dHBcbiAqICQzID0gLy93d3cuaWNzLnVjaS5lZHVcbiAqICQ0ID0gd3d3Lmljcy51Y2kuZWR1XG4gKiAkNSA9IC9wdWIvaWV0Zi91cmkvXG4gKiAkNiA9IDx1bmRlZmluZWQ+XG4gKiAkNyA9IDx1bmRlZmluZWQ+XG4gKiAkOCA9ICNSZWxhdGVkXG4gKiAkOSA9IFJlbGF0ZWRcbiAqL1xuY29uc3QgdXJsUGFyc2UgPSAvXigoW146XFwvPyNdKyk6KT8oXFwvXFwvKFteXFwvPyNdKikpPyhbXj8jXSopKFxcPyhbXiNdKikpPygjKC4qKSk/LztcblxuZnVuY3Rpb24gcGFyc2VVcmwodXJsU3RyOiBzdHJpbmcsIGJhc2VIcmVmOiBzdHJpbmcpIHtcbiAgY29uc3QgdmVyaWZ5UHJvdG9jb2wgPSAvXigoaHR0cFtzXT98ZnRwKTpcXC9cXC8pLztcbiAgbGV0IHNlcnZlckJhc2U6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvLyBVUkwgY2xhc3MgcmVxdWlyZXMgZnVsbCBVUkwuIElmIHRoZSBVUkwgc3RyaW5nIGRvZXNuJ3Qgc3RhcnQgd2l0aCBwcm90b2NvbCwgd2UgbmVlZCB0byBhZGRcbiAgLy8gYW4gYXJiaXRyYXJ5IGJhc2UgVVJMIHdoaWNoIGNhbiBiZSByZW1vdmVkIGFmdGVyd2FyZC5cbiAgaWYgKCF2ZXJpZnlQcm90b2NvbC50ZXN0KHVybFN0cikpIHtcbiAgICBzZXJ2ZXJCYXNlID0gJ2h0dHA6Ly9lbXB0eS5jb20vJztcbiAgfVxuICBsZXQgcGFyc2VkVXJsOiB7XG4gICAgcHJvdG9jb2w6IHN0cmluZztcbiAgICBob3N0bmFtZTogc3RyaW5nO1xuICAgIHBvcnQ6IHN0cmluZztcbiAgICBwYXRobmFtZTogc3RyaW5nO1xuICAgIHNlYXJjaDogc3RyaW5nO1xuICAgIGhhc2g6IHN0cmluZztcbiAgfTtcbiAgdHJ5IHtcbiAgICBwYXJzZWRVcmwgPSBuZXcgVVJMKHVybFN0ciwgc2VydmVyQmFzZSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zdCByZXN1bHQgPSB1cmxQYXJzZS5leGVjKHNlcnZlckJhc2UgfHwgJycgKyB1cmxTdHIpO1xuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgVVJMOiAke3VybFN0cn0gd2l0aCBiYXNlOiAke2Jhc2VIcmVmfWApO1xuICAgIH1cbiAgICBjb25zdCBob3N0U3BsaXQgPSByZXN1bHRbNF0uc3BsaXQoJzonKTtcbiAgICBwYXJzZWRVcmwgPSB7XG4gICAgICBwcm90b2NvbDogcmVzdWx0WzFdLFxuICAgICAgaG9zdG5hbWU6IGhvc3RTcGxpdFswXSxcbiAgICAgIHBvcnQ6IGhvc3RTcGxpdFsxXSB8fCAnJyxcbiAgICAgIHBhdGhuYW1lOiByZXN1bHRbNV0sXG4gICAgICBzZWFyY2g6IHJlc3VsdFs2XSxcbiAgICAgIGhhc2g6IHJlc3VsdFs4XSxcbiAgICB9O1xuICB9XG4gIGlmIChwYXJzZWRVcmwucGF0aG5hbWUgJiYgcGFyc2VkVXJsLnBhdGhuYW1lLmluZGV4T2YoYmFzZUhyZWYpID09PSAwKSB7XG4gICAgcGFyc2VkVXJsLnBhdGhuYW1lID0gcGFyc2VkVXJsLnBhdGhuYW1lLnN1YnN0cmluZyhiYXNlSHJlZi5sZW5ndGgpO1xuICB9XG4gIHJldHVybiB7XG4gICAgaG9zdG5hbWU6ICghc2VydmVyQmFzZSAmJiBwYXJzZWRVcmwuaG9zdG5hbWUpIHx8ICcnLFxuICAgIHByb3RvY29sOiAoIXNlcnZlckJhc2UgJiYgcGFyc2VkVXJsLnByb3RvY29sKSB8fCAnJyxcbiAgICBwb3J0OiAoIXNlcnZlckJhc2UgJiYgcGFyc2VkVXJsLnBvcnQpIHx8ICcnLFxuICAgIHBhdGhuYW1lOiBwYXJzZWRVcmwucGF0aG5hbWUgfHwgJy8nLFxuICAgIHNlYXJjaDogcGFyc2VkVXJsLnNlYXJjaCB8fCAnJyxcbiAgICBoYXNoOiBwYXJzZWRVcmwuaGFzaCB8fCAnJyxcbiAgfTtcbn1cblxuLyoqXG4gKiBNb2NrIHBsYXRmb3JtIGxvY2F0aW9uIGNvbmZpZ1xuICpcbiAqIEBwdWJsaWNBcGlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNb2NrUGxhdGZvcm1Mb2NhdGlvbkNvbmZpZyB7XG4gIHN0YXJ0VXJsPzogc3RyaW5nO1xuICBhcHBCYXNlSHJlZj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm92aWRlciBmb3IgbW9jayBwbGF0Zm9ybSBsb2NhdGlvbiBjb25maWdcbiAqXG4gKiBAcHVibGljQXBpXG4gKi9cbmV4cG9ydCBjb25zdCBNT0NLX1BMQVRGT1JNX0xPQ0FUSU9OX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxNb2NrUGxhdGZvcm1Mb2NhdGlvbkNvbmZpZz4oXG4gICdNT0NLX1BMQVRGT1JNX0xPQ0FUSU9OX0NPTkZJRycsXG4pO1xuXG4vKipcbiAqIE1vY2sgaW1wbGVtZW50YXRpb24gb2YgVVJMIHN0YXRlLlxuICpcbiAqIEBwdWJsaWNBcGlcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1vY2tQbGF0Zm9ybUxvY2F0aW9uIGltcGxlbWVudHMgUGxhdGZvcm1Mb2NhdGlvbiB7XG4gIHByaXZhdGUgYmFzZUhyZWY6IHN0cmluZyA9ICcnO1xuICBwcml2YXRlIGhhc2hVcGRhdGUgPSBuZXcgU3ViamVjdDxMb2NhdGlvbkNoYW5nZUV2ZW50PigpO1xuICBwcml2YXRlIHBvcFN0YXRlU3ViamVjdCA9IG5ldyBTdWJqZWN0PExvY2F0aW9uQ2hhbmdlRXZlbnQ+KCk7XG4gIHByaXZhdGUgdXJsQ2hhbmdlSW5kZXg6IG51bWJlciA9IDA7XG4gIHByaXZhdGUgdXJsQ2hhbmdlczoge1xuICAgIGhvc3RuYW1lOiBzdHJpbmc7XG4gICAgcHJvdG9jb2w6IHN0cmluZztcbiAgICBwb3J0OiBzdHJpbmc7XG4gICAgcGF0aG5hbWU6IHN0cmluZztcbiAgICBzZWFyY2g6IHN0cmluZztcbiAgICBoYXNoOiBzdHJpbmc7XG4gICAgc3RhdGU6IHVua25vd247XG4gIH1bXSA9IFt7aG9zdG5hbWU6ICcnLCBwcm90b2NvbDogJycsIHBvcnQ6ICcnLCBwYXRobmFtZTogJy8nLCBzZWFyY2g6ICcnLCBoYXNoOiAnJywgc3RhdGU6IG51bGx9XTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KE1PQ0tfUExBVEZPUk1fTE9DQVRJT05fQ09ORklHKSBAT3B0aW9uYWwoKSBjb25maWc/OiBNb2NrUGxhdGZvcm1Mb2NhdGlvbkNvbmZpZyxcbiAgKSB7XG4gICAgaWYgKGNvbmZpZykge1xuICAgICAgdGhpcy5iYXNlSHJlZiA9IGNvbmZpZy5hcHBCYXNlSHJlZiB8fCAnJztcblxuICAgICAgY29uc3QgcGFyc2VkQ2hhbmdlcyA9IHRoaXMucGFyc2VDaGFuZ2VzKFxuICAgICAgICBudWxsLFxuICAgICAgICBjb25maWcuc3RhcnRVcmwgfHwgJ2h0dHA6Ly9fZW1wdHlfLycsXG4gICAgICAgIHRoaXMuYmFzZUhyZWYsXG4gICAgICApO1xuICAgICAgdGhpcy51cmxDaGFuZ2VzWzBdID0gey4uLnBhcnNlZENoYW5nZXN9O1xuICAgIH1cbiAgfVxuXG4gIGdldCBob3N0bmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy51cmxDaGFuZ2VzW3RoaXMudXJsQ2hhbmdlSW5kZXhdLmhvc3RuYW1lO1xuICB9XG4gIGdldCBwcm90b2NvbCgpIHtcbiAgICByZXR1cm4gdGhpcy51cmxDaGFuZ2VzW3RoaXMudXJsQ2hhbmdlSW5kZXhdLnByb3RvY29sO1xuICB9XG4gIGdldCBwb3J0KCkge1xuICAgIHJldHVybiB0aGlzLnVybENoYW5nZXNbdGhpcy51cmxDaGFuZ2VJbmRleF0ucG9ydDtcbiAgfVxuICBnZXQgcGF0aG5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMudXJsQ2hhbmdlc1t0aGlzLnVybENoYW5nZUluZGV4XS5wYXRobmFtZTtcbiAgfVxuICBnZXQgc2VhcmNoKCkge1xuICAgIHJldHVybiB0aGlzLnVybENoYW5nZXNbdGhpcy51cmxDaGFuZ2VJbmRleF0uc2VhcmNoO1xuICB9XG4gIGdldCBoYXNoKCkge1xuICAgIHJldHVybiB0aGlzLnVybENoYW5nZXNbdGhpcy51cmxDaGFuZ2VJbmRleF0uaGFzaDtcbiAgfVxuICBnZXQgc3RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudXJsQ2hhbmdlc1t0aGlzLnVybENoYW5nZUluZGV4XS5zdGF0ZTtcbiAgfVxuXG4gIGdldEJhc2VIcmVmRnJvbURPTSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmJhc2VIcmVmO1xuICB9XG5cbiAgb25Qb3BTdGF0ZShmbjogTG9jYXRpb25DaGFuZ2VMaXN0ZW5lcik6IFZvaWRGdW5jdGlvbiB7XG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5wb3BTdGF0ZVN1YmplY3Quc3Vic2NyaWJlKGZuKTtcbiAgICByZXR1cm4gKCkgPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBvbkhhc2hDaGFuZ2UoZm46IExvY2F0aW9uQ2hhbmdlTGlzdGVuZXIpOiBWb2lkRnVuY3Rpb24ge1xuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMuaGFzaFVwZGF0ZS5zdWJzY3JpYmUoZm4pO1xuICAgIHJldHVybiAoKSA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGdldCBocmVmKCk6IHN0cmluZyB7XG4gICAgbGV0IHVybCA9IGAke3RoaXMucHJvdG9jb2x9Ly8ke3RoaXMuaG9zdG5hbWV9JHt0aGlzLnBvcnQgPyAnOicgKyB0aGlzLnBvcnQgOiAnJ31gO1xuICAgIHVybCArPSBgJHt0aGlzLnBhdGhuYW1lID09PSAnLycgPyAnJyA6IHRoaXMucGF0aG5hbWV9JHt0aGlzLnNlYXJjaH0ke3RoaXMuaGFzaH1gO1xuICAgIHJldHVybiB1cmw7XG4gIH1cblxuICBnZXQgdXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMucGF0aG5hbWV9JHt0aGlzLnNlYXJjaH0ke3RoaXMuaGFzaH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZUNoYW5nZXMoc3RhdGU6IHVua25vd24sIHVybDogc3RyaW5nLCBiYXNlSHJlZjogc3RyaW5nID0gJycpIHtcbiAgICAvLyBXaGVuIHRoZSBgaGlzdG9yeS5zdGF0ZWAgdmFsdWUgaXMgc3RvcmVkLCBpdCBpcyBhbHdheXMgY29waWVkLlxuICAgIHN0YXRlID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShzdGF0ZSkpO1xuICAgIHJldHVybiB7Li4ucGFyc2VVcmwodXJsLCBiYXNlSHJlZiksIHN0YXRlfTtcbiAgfVxuXG4gIHJlcGxhY2VTdGF0ZShzdGF0ZTogYW55LCB0aXRsZTogc3RyaW5nLCBuZXdVcmw6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHtwYXRobmFtZSwgc2VhcmNoLCBzdGF0ZTogcGFyc2VkU3RhdGUsIGhhc2h9ID0gdGhpcy5wYXJzZUNoYW5nZXMoc3RhdGUsIG5ld1VybCk7XG5cbiAgICB0aGlzLnVybENoYW5nZXNbdGhpcy51cmxDaGFuZ2VJbmRleF0gPSB7XG4gICAgICAuLi50aGlzLnVybENoYW5nZXNbdGhpcy51cmxDaGFuZ2VJbmRleF0sXG4gICAgICBwYXRobmFtZSxcbiAgICAgIHNlYXJjaCxcbiAgICAgIGhhc2gsXG4gICAgICBzdGF0ZTogcGFyc2VkU3RhdGUsXG4gICAgfTtcbiAgfVxuXG4gIHB1c2hTdGF0ZShzdGF0ZTogYW55LCB0aXRsZTogc3RyaW5nLCBuZXdVcmw6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHtwYXRobmFtZSwgc2VhcmNoLCBzdGF0ZTogcGFyc2VkU3RhdGUsIGhhc2h9ID0gdGhpcy5wYXJzZUNoYW5nZXMoc3RhdGUsIG5ld1VybCk7XG4gICAgaWYgKHRoaXMudXJsQ2hhbmdlSW5kZXggPiAwKSB7XG4gICAgICB0aGlzLnVybENoYW5nZXMuc3BsaWNlKHRoaXMudXJsQ2hhbmdlSW5kZXggKyAxKTtcbiAgICB9XG4gICAgdGhpcy51cmxDaGFuZ2VzLnB1c2goe1xuICAgICAgLi4udGhpcy51cmxDaGFuZ2VzW3RoaXMudXJsQ2hhbmdlSW5kZXhdLFxuICAgICAgcGF0aG5hbWUsXG4gICAgICBzZWFyY2gsXG4gICAgICBoYXNoLFxuICAgICAgc3RhdGU6IHBhcnNlZFN0YXRlLFxuICAgIH0pO1xuICAgIHRoaXMudXJsQ2hhbmdlSW5kZXggPSB0aGlzLnVybENoYW5nZXMubGVuZ3RoIC0gMTtcbiAgfVxuXG4gIGZvcndhcmQoKTogdm9pZCB7XG4gICAgY29uc3Qgb2xkVXJsID0gdGhpcy51cmw7XG4gICAgY29uc3Qgb2xkSGFzaCA9IHRoaXMuaGFzaDtcbiAgICBpZiAodGhpcy51cmxDaGFuZ2VJbmRleCA8IHRoaXMudXJsQ2hhbmdlcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMudXJsQ2hhbmdlSW5kZXgrKztcbiAgICB9XG4gICAgdGhpcy5lbWl0RXZlbnRzKG9sZEhhc2gsIG9sZFVybCk7XG4gIH1cblxuICBiYWNrKCk6IHZvaWQge1xuICAgIGNvbnN0IG9sZFVybCA9IHRoaXMudXJsO1xuICAgIGNvbnN0IG9sZEhhc2ggPSB0aGlzLmhhc2g7XG4gICAgaWYgKHRoaXMudXJsQ2hhbmdlSW5kZXggPiAwKSB7XG4gICAgICB0aGlzLnVybENoYW5nZUluZGV4LS07XG4gICAgfVxuICAgIHRoaXMuZW1pdEV2ZW50cyhvbGRIYXNoLCBvbGRVcmwpO1xuICB9XG5cbiAgaGlzdG9yeUdvKHJlbGF0aXZlUG9zaXRpb246IG51bWJlciA9IDApOiB2b2lkIHtcbiAgICBjb25zdCBvbGRVcmwgPSB0aGlzLnVybDtcbiAgICBjb25zdCBvbGRIYXNoID0gdGhpcy5oYXNoO1xuICAgIGNvbnN0IG5leHRQYWdlSW5kZXggPSB0aGlzLnVybENoYW5nZUluZGV4ICsgcmVsYXRpdmVQb3NpdGlvbjtcbiAgICBpZiAobmV4dFBhZ2VJbmRleCA+PSAwICYmIG5leHRQYWdlSW5kZXggPCB0aGlzLnVybENoYW5nZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnVybENoYW5nZUluZGV4ID0gbmV4dFBhZ2VJbmRleDtcbiAgICB9XG4gICAgdGhpcy5lbWl0RXZlbnRzKG9sZEhhc2gsIG9sZFVybCk7XG4gIH1cblxuICBnZXRTdGF0ZSgpOiB1bmtub3duIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCcm93c2VycyBhcmUgaW5jb25zaXN0ZW50IGluIHdoZW4gdGhleSBmaXJlIGV2ZW50cyBhbmQgcGVyZm9ybSB0aGUgc3RhdGUgdXBkYXRlc1xuICAgKiBUaGUgbW9zdCBlYXNpZXN0IHRoaW5nIHRvIGRvIGluIG91ciBtb2NrIGlzIHN5bmNocm9ub3VzIGFuZCB0aGF0IGhhcHBlbnMgdG8gbWF0Y2hcbiAgICogRmlyZWZveCBhbmQgQ2hyb21lLCBhdCBsZWFzdCBzb21ld2hhdCBjbG9zZWx5XG4gICAqXG4gICAqIGh0dHBzOi8vZ2l0aHViLmNvbS9XSUNHL25hdmlnYXRpb24tYXBpI3dhdGNoaW5nLWZvci1uYXZpZ2F0aW9uc1xuICAgKiBodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzFQZHZlLURKMUpDR2lsajlZcWY1SHhSSnlCS1NlbDVvd2dPdlVKcVRhdXdVL2VkaXQjaGVhZGluZz1oLjN5ZTR2NzF3c3o5NFxuICAgKiBwb3BzdGF0ZSBpcyBhbHdheXMgc2VudCBiZWZvcmUgaGFzaGNoYW5nZTpcbiAgICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1dpbmRvdy9wb3BzdGF0ZV9ldmVudCN3aGVuX3BvcHN0YXRlX2lzX3NlbnRcbiAgICovXG4gIHByaXZhdGUgZW1pdEV2ZW50cyhvbGRIYXNoOiBzdHJpbmcsIG9sZFVybDogc3RyaW5nKSB7XG4gICAgdGhpcy5wb3BTdGF0ZVN1YmplY3QubmV4dCh7XG4gICAgICB0eXBlOiAncG9wc3RhdGUnLFxuICAgICAgc3RhdGU6IHRoaXMuZ2V0U3RhdGUoKSxcbiAgICAgIG9sZFVybCxcbiAgICAgIG5ld1VybDogdGhpcy51cmwsXG4gICAgfSBhcyBMb2NhdGlvbkNoYW5nZUV2ZW50KTtcbiAgICBpZiAob2xkSGFzaCAhPT0gdGhpcy5oYXNoKSB7XG4gICAgICB0aGlzLmhhc2hVcGRhdGUubmV4dCh7XG4gICAgICAgIHR5cGU6ICdoYXNoY2hhbmdlJyxcbiAgICAgICAgc3RhdGU6IG51bGwsXG4gICAgICAgIG9sZFVybCxcbiAgICAgICAgbmV3VXJsOiB0aGlzLnVybCxcbiAgICAgIH0gYXMgTG9jYXRpb25DaGFuZ2VFdmVudCk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogTW9jayBpbXBsZW1lbnRhdGlvbiBvZiBVUkwgc3RhdGUuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGYWtlTmF2aWdhdGlvblBsYXRmb3JtTG9jYXRpb24gaW1wbGVtZW50cyBQbGF0Zm9ybUxvY2F0aW9uIHtcbiAgcHJpdmF0ZSBfcGxhdGZvcm1OYXZpZ2F0aW9uID0gaW5qZWN0KFBsYXRmb3JtTmF2aWdhdGlvbikgYXMgRmFrZU5hdmlnYXRpb247XG4gIHByaXZhdGUgd2luZG93ID0gaW5qZWN0KERPQ1VNRU5UKS5kZWZhdWx0VmlldyE7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKCEodGhpcy5fcGxhdGZvcm1OYXZpZ2F0aW9uIGluc3RhbmNlb2YgRmFrZU5hdmlnYXRpb24pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdGYWtlUGxhdGZvcm1OYXZpZ2F0aW9uIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgRmFrZU5hdmlnYXRpb24uIFVzZSAnICtcbiAgICAgICAgICAnYHByb3ZpZGVGYWtlTmF2aWdhdGlvbmAgdG8gaGF2ZSBhbGwgdGhlc2Ugc2VydmljZXMgcHJvdmlkZWQgdG9nZXRoZXIuJyxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjb25maWcgPSBpbmplY3QoTU9DS19QTEFURk9STV9MT0NBVElPTl9DT05GSUcsIHtvcHRpb25hbDogdHJ1ZX0pO1xuICBnZXRCYXNlSHJlZkZyb21ET00oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWc/LmFwcEJhc2VIcmVmID8/ICcnO1xuICB9XG5cbiAgb25Qb3BTdGF0ZShmbjogTG9jYXRpb25DaGFuZ2VMaXN0ZW5lcik6IFZvaWRGdW5jdGlvbiB7XG4gICAgdGhpcy53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncG9wc3RhdGUnLCBmbik7XG4gICAgcmV0dXJuICgpID0+IHRoaXMud2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BvcHN0YXRlJywgZm4pO1xuICB9XG5cbiAgb25IYXNoQ2hhbmdlKGZuOiBMb2NhdGlvbkNoYW5nZUxpc3RlbmVyKTogVm9pZEZ1bmN0aW9uIHtcbiAgICB0aGlzLndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdoYXNoY2hhbmdlJywgZm4gYXMgYW55KTtcbiAgICByZXR1cm4gKCkgPT4gdGhpcy53aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignaGFzaGNoYW5nZScsIGZuIGFzIGFueSk7XG4gIH1cblxuICBnZXQgaHJlZigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9wbGF0Zm9ybU5hdmlnYXRpb24uY3VycmVudEVudHJ5LnVybCE7XG4gIH1cbiAgZ2V0IHByb3RvY29sKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG5ldyBVUkwodGhpcy5fcGxhdGZvcm1OYXZpZ2F0aW9uLmN1cnJlbnRFbnRyeS51cmwhKS5wcm90b2NvbDtcbiAgfVxuICBnZXQgaG9zdG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbmV3IFVSTCh0aGlzLl9wbGF0Zm9ybU5hdmlnYXRpb24uY3VycmVudEVudHJ5LnVybCEpLmhvc3RuYW1lO1xuICB9XG4gIGdldCBwb3J0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG5ldyBVUkwodGhpcy5fcGxhdGZvcm1OYXZpZ2F0aW9uLmN1cnJlbnRFbnRyeS51cmwhKS5wb3J0O1xuICB9XG4gIGdldCBwYXRobmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBuZXcgVVJMKHRoaXMuX3BsYXRmb3JtTmF2aWdhdGlvbi5jdXJyZW50RW50cnkudXJsISkucGF0aG5hbWU7XG4gIH1cbiAgZ2V0IHNlYXJjaCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBuZXcgVVJMKHRoaXMuX3BsYXRmb3JtTmF2aWdhdGlvbi5jdXJyZW50RW50cnkudXJsISkuc2VhcmNoO1xuICB9XG4gIGdldCBoYXNoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG5ldyBVUkwodGhpcy5fcGxhdGZvcm1OYXZpZ2F0aW9uLmN1cnJlbnRFbnRyeS51cmwhKS5oYXNoO1xuICB9XG5cbiAgcHVzaFN0YXRlKHN0YXRlOiBhbnksIHRpdGxlOiBzdHJpbmcsIHVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5fcGxhdGZvcm1OYXZpZ2F0aW9uLnB1c2hTdGF0ZShzdGF0ZSwgdGl0bGUsIHVybCk7XG4gIH1cblxuICByZXBsYWNlU3RhdGUoc3RhdGU6IGFueSwgdGl0bGU6IHN0cmluZywgdXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLl9wbGF0Zm9ybU5hdmlnYXRpb24ucmVwbGFjZVN0YXRlKHN0YXRlLCB0aXRsZSwgdXJsKTtcbiAgfVxuXG4gIGZvcndhcmQoKTogdm9pZCB7XG4gICAgdGhpcy5fcGxhdGZvcm1OYXZpZ2F0aW9uLmZvcndhcmQoKTtcbiAgfVxuXG4gIGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5fcGxhdGZvcm1OYXZpZ2F0aW9uLmJhY2soKTtcbiAgfVxuXG4gIGhpc3RvcnlHbyhyZWxhdGl2ZVBvc2l0aW9uOiBudW1iZXIgPSAwKTogdm9pZCB7XG4gICAgdGhpcy5fcGxhdGZvcm1OYXZpZ2F0aW9uLmdvKHJlbGF0aXZlUG9zaXRpb24pO1xuICB9XG5cbiAgZ2V0U3RhdGUoKTogdW5rbm93biB7XG4gICAgcmV0dXJuIHRoaXMuX3BsYXRmb3JtTmF2aWdhdGlvbi5jdXJyZW50RW50cnkuZ2V0SGlzdG9yeVN0YXRlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
299
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19wbGF0Zm9ybV9sb2NhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi90ZXN0aW5nL3NyYy9tb2NrX3BsYXRmb3JtX2xvY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFDTCxRQUFRLEVBSVIsbUJBQW1CLElBQUksa0JBQWtCLEdBQzFDLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU3QixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sOEJBQThCLENBQUM7O0FBRTVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFDSCxNQUFNLFFBQVEsR0FBRywrREFBK0QsQ0FBQztBQUVqRixTQUFTLFFBQVEsQ0FBQyxNQUFjLEVBQUUsUUFBZ0I7SUFDaEQsTUFBTSxjQUFjLEdBQUcsd0JBQXdCLENBQUM7SUFDaEQsSUFBSSxVQUE4QixDQUFDO0lBRW5DLDZGQUE2RjtJQUM3Rix3REFBd0Q7SUFDeEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNqQyxVQUFVLEdBQUcsbUJBQW1CLENBQUM7SUFDbkMsQ0FBQztJQUNELElBQUksU0FPSCxDQUFDO0lBQ0YsSUFBSSxDQUFDO1FBQ0gsU0FBUyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixNQUFNLGVBQWUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBQ0QsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2QyxTQUFTLEdBQUc7WUFDVixRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNuQixRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUN0QixJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUU7WUFDeEIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDbkIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDakIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7U0FDaEIsQ0FBQztJQUNKLENBQUM7SUFDRCxJQUFJLFNBQVMsQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDckUsU0FBUyxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUNELE9BQU87UUFDTCxRQUFRLEVBQUUsQ0FBQyxDQUFDLFVBQVUsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtRQUNuRCxRQUFRLEVBQUUsQ0FBQyxDQUFDLFVBQVUsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtRQUNuRCxJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVUsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtRQUMzQyxRQUFRLEVBQUUsU0FBUyxDQUFDLFFBQVEsSUFBSSxHQUFHO1FBQ25DLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxJQUFJLEVBQUU7UUFDOUIsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLElBQUksRUFBRTtLQUMzQixDQUFDO0FBQ0osQ0FBQztBQVlEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxJQUFJLGNBQWMsQ0FDN0QsK0JBQStCLENBQ2hDLENBQUM7QUFFRjs7OztHQUlHO0FBRUgsTUFBTSxPQUFPLG9CQUFvQjtJQWUvQixZQUNxRCxNQUFtQztRQWZoRixhQUFRLEdBQVcsRUFBRSxDQUFDO1FBQ3RCLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBdUIsQ0FBQztRQUNoRCxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUF1QixDQUFDO1FBQ3JELG1CQUFjLEdBQVcsQ0FBQyxDQUFDO1FBQzNCLGVBQVUsR0FRWixDQUFDLEVBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7UUFLL0YsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7WUFFekMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FDckMsSUFBSSxFQUNKLE1BQU0sQ0FBQyxRQUFRLElBQUksaUJBQWlCLEVBQ3BDLElBQUksQ0FBQyxRQUFRLENBQ2QsQ0FBQztZQUNGLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBQyxHQUFHLGFBQWEsRUFBQyxDQUFDO1FBQzFDLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDdkQsQ0FBQztJQUNELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQ3ZELENBQUM7SUFDRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNuRCxDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDdkQsQ0FBQztJQUNELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3JELENBQUM7SUFDRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNuRCxDQUFDO0lBQ0QsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDcEQsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELFVBQVUsQ0FBQyxFQUEwQjtRQUNuQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4RCxPQUFPLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsWUFBWSxDQUFDLEVBQTBCO1FBQ3JDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELE9BQU8sR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDbEYsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqRixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDTCxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQWMsRUFBRSxHQUFXLEVBQUUsV0FBbUIsRUFBRTtRQUNyRSxpRUFBaUU7UUFDakUsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzFDLE9BQU8sRUFBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFVLEVBQUUsS0FBYSxFQUFFLE1BQWM7UUFDcEQsTUFBTSxFQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUV0RixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRztZQUNyQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUN2QyxRQUFRO1lBQ1IsTUFBTTtZQUNOLElBQUk7WUFDSixLQUFLLEVBQUUsV0FBVztTQUNuQixDQUFDO0lBQ0osQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFVLEVBQUUsS0FBYSxFQUFFLE1BQWM7UUFDakQsTUFBTSxFQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN0RixJQUFJLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDbkIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDdkMsUUFBUTtZQUNSLE1BQU07WUFDTixJQUFJO1lBQ0osS0FBSyxFQUFFLFdBQVc7U0FDbkIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELE9BQU87UUFDTCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQ3hCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDMUIsSUFBSSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSTtRQUNGLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDeEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMxQixJQUFJLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsU0FBUyxDQUFDLG1CQUEyQixDQUFDO1FBQ3BDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDeEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMxQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxHQUFHLGdCQUFnQixDQUFDO1FBQzdELElBQUksYUFBYSxJQUFJLENBQUMsSUFBSSxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNqRSxJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQztRQUN0QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNLLFVBQVUsQ0FBQyxPQUFlLEVBQUUsTUFBYztRQUNoRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztZQUN4QixJQUFJLEVBQUUsVUFBVTtZQUNoQixLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN0QixNQUFNO1lBQ04sTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHO1NBQ00sQ0FBQyxDQUFDO1FBQzFCLElBQUksT0FBTyxLQUFLLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztnQkFDbkIsSUFBSSxFQUFFLFlBQVk7Z0JBQ2xCLEtBQUssRUFBRSxJQUFJO2dCQUNYLE1BQU07Z0JBQ04sTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHO2FBQ00sQ0FBQyxDQUFDO1FBQzVCLENBQUM7SUFDSCxDQUFDO3lIQXRLVSxvQkFBb0Isa0JBZ0JyQiw2QkFBNkI7NkhBaEI1QixvQkFBb0I7O3NHQUFwQixvQkFBb0I7a0JBRGhDLFVBQVU7OzBCQWlCTixNQUFNOzJCQUFDLDZCQUE2Qjs7MEJBQUcsUUFBUTs7QUF5SnBEOztHQUVHO0FBRUgsTUFBTSxPQUFPLDhCQUE4QjtJQUl6QztRQUhRLHdCQUFtQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBbUIsQ0FBQztRQUNuRSxXQUFNLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVksQ0FBQztRQVd2QyxXQUFNLEdBQUcsTUFBTSxDQUFDLDZCQUE2QixFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7UUFSdkUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixZQUFZLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDMUQsTUFBTSxJQUFJLEtBQUssQ0FDYixvRUFBb0U7Z0JBQ2xFLHVFQUF1RSxDQUMxRSxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFHRCxrQkFBa0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsSUFBSSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELFVBQVUsQ0FBQyxFQUEwQjtRQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM3QyxPQUFPLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxZQUFZLENBQUMsRUFBMEI7UUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsRUFBUyxDQUFDLENBQUM7UUFDdEQsT0FBTyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxFQUFTLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQztJQUNwRCxDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNsRSxDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNwRSxDQUFDO0lBQ0QsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNsRSxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVUsRUFBRSxLQUFhLEVBQUUsR0FBVztRQUM5QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFVLEVBQUUsS0FBYSxFQUFFLEdBQVc7UUFDakQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxTQUFTLENBQUMsbUJBQTJCLENBQUM7UUFDcEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ2pFLENBQUM7eUhBeEVVLDhCQUE4Qjs2SEFBOUIsOEJBQThCOztzR0FBOUIsOEJBQThCO2tCQUQxQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuZGV2L2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge1xuICBET0NVTUVOVCxcbiAgTG9jYXRpb25DaGFuZ2VFdmVudCxcbiAgTG9jYXRpb25DaGFuZ2VMaXN0ZW5lcixcbiAgUGxhdGZvcm1Mb2NhdGlvbixcbiAgybVQbGF0Zm9ybU5hdmlnYXRpb24gYXMgUGxhdGZvcm1OYXZpZ2F0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtJbmplY3QsIGluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7RmFrZU5hdmlnYXRpb259IGZyb20gJy4vbmF2aWdhdGlvbi9mYWtlX25hdmlnYXRpb24nO1xuXG4vKipcbiAqIFBhcnNlciBmcm9tIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzOTg2I2FwcGVuZGl4LUJcbiAqIF4oKFteOi8/I10rKTopPygvLyhbXi8/I10qKSk/KFtePyNdKikoXFw/KFteI10qKSk/KCMoLiopKT9cbiAqICAxMiAgICAgICAgICAgIDMgIDQgICAgICAgICAgNSAgICAgICA2ICA3ICAgICAgICA4IDlcbiAqXG4gKiBFeGFtcGxlOiBodHRwOi8vd3d3Lmljcy51Y2kuZWR1L3B1Yi9pZXRmL3VyaS8jUmVsYXRlZFxuICpcbiAqIFJlc3VsdHMgaW46XG4gKlxuICogJDEgPSBodHRwOlxuICogJDIgPSBodHRwXG4gKiAkMyA9IC8vd3d3Lmljcy51Y2kuZWR1XG4gKiAkNCA9IHd3dy5pY3MudWNpLmVkdVxuICogJDUgPSAvcHViL2lldGYvdXJpL1xuICogJDYgPSA8dW5kZWZpbmVkPlxuICogJDcgPSA8dW5kZWZpbmVkPlxuICogJDggPSAjUmVsYXRlZFxuICogJDkgPSBSZWxhdGVkXG4gKi9cbmNvbnN0IHVybFBhcnNlID0gL14oKFteOlxcLz8jXSspOik/KFxcL1xcLyhbXlxcLz8jXSopKT8oW14/I10qKShcXD8oW14jXSopKT8oIyguKikpPy87XG5cbmZ1bmN0aW9uIHBhcnNlVXJsKHVybFN0cjogc3RyaW5nLCBiYXNlSHJlZjogc3RyaW5nKSB7XG4gIGNvbnN0IHZlcmlmeVByb3RvY29sID0gL14oKGh0dHBbc10/fGZ0cCk6XFwvXFwvKS87XG4gIGxldCBzZXJ2ZXJCYXNlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLy8gVVJMIGNsYXNzIHJlcXVpcmVzIGZ1bGwgVVJMLiBJZiB0aGUgVVJMIHN0cmluZyBkb2Vzbid0IHN0YXJ0IHdpdGggcHJvdG9jb2wsIHdlIG5lZWQgdG8gYWRkXG4gIC8vIGFuIGFyYml0cmFyeSBiYXNlIFVSTCB3aGljaCBjYW4gYmUgcmVtb3ZlZCBhZnRlcndhcmQuXG4gIGlmICghdmVyaWZ5UHJvdG9jb2wudGVzdCh1cmxTdHIpKSB7XG4gICAgc2VydmVyQmFzZSA9ICdodHRwOi8vZW1wdHkuY29tLyc7XG4gIH1cbiAgbGV0IHBhcnNlZFVybDoge1xuICAgIHByb3RvY29sOiBzdHJpbmc7XG4gICAgaG9zdG5hbWU6IHN0cmluZztcbiAgICBwb3J0OiBzdHJpbmc7XG4gICAgcGF0aG5hbWU6IHN0cmluZztcbiAgICBzZWFyY2g6IHN0cmluZztcbiAgICBoYXNoOiBzdHJpbmc7XG4gIH07XG4gIHRyeSB7XG4gICAgcGFyc2VkVXJsID0gbmV3IFVSTCh1cmxTdHIsIHNlcnZlckJhc2UpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdXJsUGFyc2UuZXhlYyhzZXJ2ZXJCYXNlIHx8ICcnICsgdXJsU3RyKTtcbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFVSTDogJHt1cmxTdHJ9IHdpdGggYmFzZTogJHtiYXNlSHJlZn1gKTtcbiAgICB9XG4gICAgY29uc3QgaG9zdFNwbGl0ID0gcmVzdWx0WzRdLnNwbGl0KCc6Jyk7XG4gICAgcGFyc2VkVXJsID0ge1xuICAgICAgcHJvdG9jb2w6IHJlc3VsdFsxXSxcbiAgICAgIGhvc3RuYW1lOiBob3N0U3BsaXRbMF0sXG4gICAgICBwb3J0OiBob3N0U3BsaXRbMV0gfHwgJycsXG4gICAgICBwYXRobmFtZTogcmVzdWx0WzVdLFxuICAgICAgc2VhcmNoOiByZXN1bHRbNl0sXG4gICAgICBoYXNoOiByZXN1bHRbOF0sXG4gICAgfTtcbiAgfVxuICBpZiAocGFyc2VkVXJsLnBhdGhuYW1lICYmIHBhcnNlZFVybC5wYXRobmFtZS5pbmRleE9mKGJhc2VIcmVmKSA9PT0gMCkge1xuICAgIHBhcnNlZFVybC5wYXRobmFtZSA9IHBhcnNlZFVybC5wYXRobmFtZS5zdWJzdHJpbmcoYmFzZUhyZWYubGVuZ3RoKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIGhvc3RuYW1lOiAoIXNlcnZlckJhc2UgJiYgcGFyc2VkVXJsLmhvc3RuYW1lKSB8fCAnJyxcbiAgICBwcm90b2NvbDogKCFzZXJ2ZXJCYXNlICYmIHBhcnNlZFVybC5wcm90b2NvbCkgfHwgJycsXG4gICAgcG9ydDogKCFzZXJ2ZXJCYXNlICYmIHBhcnNlZFVybC5wb3J0KSB8fCAnJyxcbiAgICBwYXRobmFtZTogcGFyc2VkVXJsLnBhdGhuYW1lIHx8ICcvJyxcbiAgICBzZWFyY2g6IHBhcnNlZFVybC5zZWFyY2ggfHwgJycsXG4gICAgaGFzaDogcGFyc2VkVXJsLmhhc2ggfHwgJycsXG4gIH07XG59XG5cbi8qKlxuICogTW9jayBwbGF0Zm9ybSBsb2NhdGlvbiBjb25maWdcbiAqXG4gKiBAcHVibGljQXBpXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTW9ja1BsYXRmb3JtTG9jYXRpb25Db25maWcge1xuICBzdGFydFVybD86IHN0cmluZztcbiAgYXBwQmFzZUhyZWY/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvdmlkZXIgZm9yIG1vY2sgcGxhdGZvcm0gbG9jYXRpb24gY29uZmlnXG4gKlxuICogQHB1YmxpY0FwaVxuICovXG5leHBvcnQgY29uc3QgTU9DS19QTEFURk9STV9MT0NBVElPTl9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48TW9ja1BsYXRmb3JtTG9jYXRpb25Db25maWc+KFxuICAnTU9DS19QTEFURk9STV9MT0NBVElPTl9DT05GSUcnLFxuKTtcblxuLyoqXG4gKiBNb2NrIGltcGxlbWVudGF0aW9uIG9mIFVSTCBzdGF0ZS5cbiAqXG4gKiBAcHVibGljQXBpXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNb2NrUGxhdGZvcm1Mb2NhdGlvbiBpbXBsZW1lbnRzIFBsYXRmb3JtTG9jYXRpb24ge1xuICBwcml2YXRlIGJhc2VIcmVmOiBzdHJpbmcgPSAnJztcbiAgcHJpdmF0ZSBoYXNoVXBkYXRlID0gbmV3IFN1YmplY3Q8TG9jYXRpb25DaGFuZ2VFdmVudD4oKTtcbiAgcHJpdmF0ZSBwb3BTdGF0ZVN1YmplY3QgPSBuZXcgU3ViamVjdDxMb2NhdGlvbkNoYW5nZUV2ZW50PigpO1xuICBwcml2YXRlIHVybENoYW5nZUluZGV4OiBudW1iZXIgPSAwO1xuICBwcml2YXRlIHVybENoYW5nZXM6IHtcbiAgICBob3N0bmFtZTogc3RyaW5nO1xuICAgIHByb3RvY29sOiBzdHJpbmc7XG4gICAgcG9ydDogc3RyaW5nO1xuICAgIHBhdGhuYW1lOiBzdHJpbmc7XG4gICAgc2VhcmNoOiBzdHJpbmc7XG4gICAgaGFzaDogc3RyaW5nO1xuICAgIHN0YXRlOiB1bmtub3duO1xuICB9W10gPSBbe2hvc3RuYW1lOiAnJywgcHJvdG9jb2w6ICcnLCBwb3J0OiAnJywgcGF0aG5hbWU6ICcvJywgc2VhcmNoOiAnJywgaGFzaDogJycsIHN0YXRlOiBudWxsfV07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChNT0NLX1BMQVRGT1JNX0xPQ0FUSU9OX0NPTkZJRykgQE9wdGlvbmFsKCkgY29uZmlnPzogTW9ja1BsYXRmb3JtTG9jYXRpb25Db25maWcsXG4gICkge1xuICAgIGlmIChjb25maWcpIHtcbiAgICAgIHRoaXMuYmFzZUhyZWYgPSBjb25maWcuYXBwQmFzZUhyZWYgfHwgJyc7XG5cbiAgICAgIGNvbnN0IHBhcnNlZENoYW5nZXMgPSB0aGlzLnBhcnNlQ2hhbmdlcyhcbiAgICAgICAgbnVsbCxcbiAgICAgICAgY29uZmlnLnN0YXJ0VXJsIHx8ICdodHRwOi8vX2VtcHR5Xy8nLFxuICAgICAgICB0aGlzLmJhc2VIcmVmLFxuICAgICAgKTtcbiAgICAgIHRoaXMudXJsQ2hhbmdlc1swXSA9IHsuLi5wYXJzZWRDaGFuZ2VzfTtcbiAgICB9XG4gIH1cblxuICBnZXQgaG9zdG5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMudXJsQ2hhbmdlc1t0aGlzLnVybENoYW5nZUluZGV4XS5ob3N0bmFtZTtcbiAgfVxuICBnZXQgcHJvdG9jb2woKSB7XG4gICAgcmV0dXJuIHRoaXMudXJsQ2hhbmdlc1t0aGlzLnVybENoYW5nZUluZGV4XS5wcm90b2NvbDtcbiAgfVxuICBnZXQgcG9ydCgpIHtcbiAgICByZXR1cm4gdGhpcy51cmxDaGFuZ2VzW3RoaXMudXJsQ2hhbmdlSW5kZXhdLnBvcnQ7XG4gIH1cbiAgZ2V0IHBhdGhuYW1lKCkge1xuICAgIHJldHVybiB0aGlzLnVybENoYW5nZXNbdGhpcy51cmxDaGFuZ2VJbmRleF0ucGF0aG5hbWU7XG4gIH1cbiAgZ2V0IHNlYXJjaCgpIHtcbiAgICByZXR1cm4gdGhpcy51cmxDaGFuZ2VzW3RoaXMudXJsQ2hhbmdlSW5kZXhdLnNlYXJjaDtcbiAgfVxuICBnZXQgaGFzaCgpIHtcbiAgICByZXR1cm4gdGhpcy51cmxDaGFuZ2VzW3RoaXMudXJsQ2hhbmdlSW5kZXhdLmhhc2g7XG4gIH1cbiAgZ2V0IHN0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLnVybENoYW5nZXNbdGhpcy51cmxDaGFuZ2VJbmRleF0uc3RhdGU7XG4gIH1cblxuICBnZXRCYXNlSHJlZkZyb21ET00oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHJlZjtcbiAgfVxuXG4gIG9uUG9wU3RhdGUoZm46IExvY2F0aW9uQ2hhbmdlTGlzdGVuZXIpOiBWb2lkRnVuY3Rpb24ge1xuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMucG9wU3RhdGVTdWJqZWN0LnN1YnNjcmliZShmbik7XG4gICAgcmV0dXJuICgpID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgb25IYXNoQ2hhbmdlKGZuOiBMb2NhdGlvbkNoYW5nZUxpc3RlbmVyKTogVm9pZEZ1bmN0aW9uIHtcbiAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLmhhc2hVcGRhdGUuc3Vic2NyaWJlKGZuKTtcbiAgICByZXR1cm4gKCkgPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBnZXQgaHJlZigpOiBzdHJpbmcge1xuICAgIGxldCB1cmwgPSBgJHt0aGlzLnByb3RvY29sfS8vJHt0aGlzLmhvc3RuYW1lfSR7dGhpcy5wb3J0ID8gJzonICsgdGhpcy5wb3J0IDogJyd9YDtcbiAgICB1cmwgKz0gYCR7dGhpcy5wYXRobmFtZSA9PT0gJy8nID8gJycgOiB0aGlzLnBhdGhuYW1lfSR7dGhpcy5zZWFyY2h9JHt0aGlzLmhhc2h9YDtcbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgZ2V0IHVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnBhdGhuYW1lfSR7dGhpcy5zZWFyY2h9JHt0aGlzLmhhc2h9YDtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VDaGFuZ2VzKHN0YXRlOiB1bmtub3duLCB1cmw6IHN0cmluZywgYmFzZUhyZWY6IHN0cmluZyA9ICcnKSB7XG4gICAgLy8gV2hlbiB0aGUgYGhpc3Rvcnkuc3RhdGVgIHZhbHVlIGlzIHN0b3JlZCwgaXQgaXMgYWx3YXlzIGNvcGllZC5cbiAgICBzdGF0ZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoc3RhdGUpKTtcbiAgICByZXR1cm4gey4uLnBhcnNlVXJsKHVybCwgYmFzZUhyZWYpLCBzdGF0ZX07XG4gIH1cblxuICByZXBsYWNlU3RhdGUoc3RhdGU6IGFueSwgdGl0bGU6IHN0cmluZywgbmV3VXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCB7cGF0aG5hbWUsIHNlYXJjaCwgc3RhdGU6IHBhcnNlZFN0YXRlLCBoYXNofSA9IHRoaXMucGFyc2VDaGFuZ2VzKHN0YXRlLCBuZXdVcmwpO1xuXG4gICAgdGhpcy51cmxDaGFuZ2VzW3RoaXMudXJsQ2hhbmdlSW5kZXhdID0ge1xuICAgICAgLi4udGhpcy51cmxDaGFuZ2VzW3RoaXMudXJsQ2hhbmdlSW5kZXhdLFxuICAgICAgcGF0aG5hbWUsXG4gICAgICBzZWFyY2gsXG4gICAgICBoYXNoLFxuICAgICAgc3RhdGU6IHBhcnNlZFN0YXRlLFxuICAgIH07XG4gIH1cblxuICBwdXNoU3RhdGUoc3RhdGU6IGFueSwgdGl0bGU6IHN0cmluZywgbmV3VXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCB7cGF0aG5hbWUsIHNlYXJjaCwgc3RhdGU6IHBhcnNlZFN0YXRlLCBoYXNofSA9IHRoaXMucGFyc2VDaGFuZ2VzKHN0YXRlLCBuZXdVcmwpO1xuICAgIGlmICh0aGlzLnVybENoYW5nZUluZGV4ID4gMCkge1xuICAgICAgdGhpcy51cmxDaGFuZ2VzLnNwbGljZSh0aGlzLnVybENoYW5nZUluZGV4ICsgMSk7XG4gICAgfVxuICAgIHRoaXMudXJsQ2hhbmdlcy5wdXNoKHtcbiAgICAgIC4uLnRoaXMudXJsQ2hhbmdlc1t0aGlzLnVybENoYW5nZUluZGV4XSxcbiAgICAgIHBhdGhuYW1lLFxuICAgICAgc2VhcmNoLFxuICAgICAgaGFzaCxcbiAgICAgIHN0YXRlOiBwYXJzZWRTdGF0ZSxcbiAgICB9KTtcbiAgICB0aGlzLnVybENoYW5nZUluZGV4ID0gdGhpcy51cmxDaGFuZ2VzLmxlbmd0aCAtIDE7XG4gIH1cblxuICBmb3J3YXJkKCk6IHZvaWQge1xuICAgIGNvbnN0IG9sZFVybCA9IHRoaXMudXJsO1xuICAgIGNvbnN0IG9sZEhhc2ggPSB0aGlzLmhhc2g7XG4gICAgaWYgKHRoaXMudXJsQ2hhbmdlSW5kZXggPCB0aGlzLnVybENoYW5nZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnVybENoYW5nZUluZGV4Kys7XG4gICAgfVxuICAgIHRoaXMuZW1pdEV2ZW50cyhvbGRIYXNoLCBvbGRVcmwpO1xuICB9XG5cbiAgYmFjaygpOiB2b2lkIHtcbiAgICBjb25zdCBvbGRVcmwgPSB0aGlzLnVybDtcbiAgICBjb25zdCBvbGRIYXNoID0gdGhpcy5oYXNoO1xuICAgIGlmICh0aGlzLnVybENoYW5nZUluZGV4ID4gMCkge1xuICAgICAgdGhpcy51cmxDaGFuZ2VJbmRleC0tO1xuICAgIH1cbiAgICB0aGlzLmVtaXRFdmVudHMob2xkSGFzaCwgb2xkVXJsKTtcbiAgfVxuXG4gIGhpc3RvcnlHbyhyZWxhdGl2ZVBvc2l0aW9uOiBudW1iZXIgPSAwKTogdm9pZCB7XG4gICAgY29uc3Qgb2xkVXJsID0gdGhpcy51cmw7XG4gICAgY29uc3Qgb2xkSGFzaCA9IHRoaXMuaGFzaDtcbiAgICBjb25zdCBuZXh0UGFnZUluZGV4ID0gdGhpcy51cmxDaGFuZ2VJbmRleCArIHJlbGF0aXZlUG9zaXRpb247XG4gICAgaWYgKG5leHRQYWdlSW5kZXggPj0gMCAmJiBuZXh0UGFnZUluZGV4IDwgdGhpcy51cmxDaGFuZ2VzLmxlbmd0aCkge1xuICAgICAgdGhpcy51cmxDaGFuZ2VJbmRleCA9IG5leHRQYWdlSW5kZXg7XG4gICAgfVxuICAgIHRoaXMuZW1pdEV2ZW50cyhvbGRIYXNoLCBvbGRVcmwpO1xuICB9XG5cbiAgZ2V0U3RhdGUoKTogdW5rbm93biB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGU7XG4gIH1cblxuICAvKipcbiAgICogQnJvd3NlcnMgYXJlIGluY29uc2lzdGVudCBpbiB3aGVuIHRoZXkgZmlyZSBldmVudHMgYW5kIHBlcmZvcm0gdGhlIHN0YXRlIHVwZGF0ZXNcbiAgICogVGhlIG1vc3QgZWFzaWVzdCB0aGluZyB0byBkbyBpbiBvdXIgbW9jayBpcyBzeW5jaHJvbm91cyBhbmQgdGhhdCBoYXBwZW5zIHRvIG1hdGNoXG4gICAqIEZpcmVmb3ggYW5kIENocm9tZSwgYXQgbGVhc3Qgc29tZXdoYXQgY2xvc2VseVxuICAgKlxuICAgKiBodHRwczovL2dpdGh1Yi5jb20vV0lDRy9uYXZpZ2F0aW9uLWFwaSN3YXRjaGluZy1mb3ItbmF2aWdhdGlvbnNcbiAgICogaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vZG9jdW1lbnQvZC8xUGR2ZS1ESjFKQ0dpbGo5WXFmNUh4Ukp5QktTZWw1b3dnT3ZVSnFUYXV3VS9lZGl0I2hlYWRpbmc9aC4zeWU0djcxd3N6OTRcbiAgICogcG9wc3RhdGUgaXMgYWx3YXlzIHNlbnQgYmVmb3JlIGhhc2hjaGFuZ2U6XG4gICAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9XaW5kb3cvcG9wc3RhdGVfZXZlbnQjd2hlbl9wb3BzdGF0ZV9pc19zZW50XG4gICAqL1xuICBwcml2YXRlIGVtaXRFdmVudHMob2xkSGFzaDogc3RyaW5nLCBvbGRVcmw6IHN0cmluZykge1xuICAgIHRoaXMucG9wU3RhdGVTdWJqZWN0Lm5leHQoe1xuICAgICAgdHlwZTogJ3BvcHN0YXRlJyxcbiAgICAgIHN0YXRlOiB0aGlzLmdldFN0YXRlKCksXG4gICAgICBvbGRVcmwsXG4gICAgICBuZXdVcmw6IHRoaXMudXJsLFxuICAgIH0gYXMgTG9jYXRpb25DaGFuZ2VFdmVudCk7XG4gICAgaWYgKG9sZEhhc2ggIT09IHRoaXMuaGFzaCkge1xuICAgICAgdGhpcy5oYXNoVXBkYXRlLm5leHQoe1xuICAgICAgICB0eXBlOiAnaGFzaGNoYW5nZScsXG4gICAgICAgIHN0YXRlOiBudWxsLFxuICAgICAgICBvbGRVcmwsXG4gICAgICAgIG5ld1VybDogdGhpcy51cmwsXG4gICAgICB9IGFzIExvY2F0aW9uQ2hhbmdlRXZlbnQpO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIE1vY2sgaW1wbGVtZW50YXRpb24gb2YgVVJMIHN0YXRlLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRmFrZU5hdmlnYXRpb25QbGF0Zm9ybUxvY2F0aW9uIGltcGxlbWVudHMgUGxhdGZvcm1Mb2NhdGlvbiB7XG4gIHByaXZhdGUgX3BsYXRmb3JtTmF2aWdhdGlvbiA9IGluamVjdChQbGF0Zm9ybU5hdmlnYXRpb24pIGFzIEZha2VOYXZpZ2F0aW9uO1xuICBwcml2YXRlIHdpbmRvdyA9IGluamVjdChET0NVTUVOVCkuZGVmYXVsdFZpZXchO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmICghKHRoaXMuX3BsYXRmb3JtTmF2aWdhdGlvbiBpbnN0YW5jZW9mIEZha2VOYXZpZ2F0aW9uKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnRmFrZVBsYXRmb3JtTmF2aWdhdGlvbiBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IEZha2VOYXZpZ2F0aW9uLiBVc2UgJyArXG4gICAgICAgICAgJ2Bwcm92aWRlRmFrZU5hdmlnYXRpb25gIHRvIGhhdmUgYWxsIHRoZXNlIHNlcnZpY2VzIHByb3ZpZGVkIHRvZ2V0aGVyLicsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY29uZmlnID0gaW5qZWN0KE1PQ0tfUExBVEZPUk1fTE9DQVRJT05fQ09ORklHLCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgZ2V0QmFzZUhyZWZGcm9tRE9NKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnPy5hcHBCYXNlSHJlZiA/PyAnJztcbiAgfVxuXG4gIG9uUG9wU3RhdGUoZm46IExvY2F0aW9uQ2hhbmdlTGlzdGVuZXIpOiBWb2lkRnVuY3Rpb24ge1xuICAgIHRoaXMud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvcHN0YXRlJywgZm4pO1xuICAgIHJldHVybiAoKSA9PiB0aGlzLndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdwb3BzdGF0ZScsIGZuKTtcbiAgfVxuXG4gIG9uSGFzaENoYW5nZShmbjogTG9jYXRpb25DaGFuZ2VMaXN0ZW5lcik6IFZvaWRGdW5jdGlvbiB7XG4gICAgdGhpcy53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignaGFzaGNoYW5nZScsIGZuIGFzIGFueSk7XG4gICAgcmV0dXJuICgpID0+IHRoaXMud2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2hhc2hjaGFuZ2UnLCBmbiBhcyBhbnkpO1xuICB9XG5cbiAgZ2V0IGhyZWYoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fcGxhdGZvcm1OYXZpZ2F0aW9uLmN1cnJlbnRFbnRyeS51cmwhO1xuICB9XG4gIGdldCBwcm90b2NvbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBuZXcgVVJMKHRoaXMuX3BsYXRmb3JtTmF2aWdhdGlvbi5jdXJyZW50RW50cnkudXJsISkucHJvdG9jb2w7XG4gIH1cbiAgZ2V0IGhvc3RuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG5ldyBVUkwodGhpcy5fcGxhdGZvcm1OYXZpZ2F0aW9uLmN1cnJlbnRFbnRyeS51cmwhKS5ob3N0bmFtZTtcbiAgfVxuICBnZXQgcG9ydCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBuZXcgVVJMKHRoaXMuX3BsYXRmb3JtTmF2aWdhdGlvbi5jdXJyZW50RW50cnkudXJsISkucG9ydDtcbiAgfVxuICBnZXQgcGF0aG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbmV3IFVSTCh0aGlzLl9wbGF0Zm9ybU5hdmlnYXRpb24uY3VycmVudEVudHJ5LnVybCEpLnBhdGhuYW1lO1xuICB9XG4gIGdldCBzZWFyY2goKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbmV3IFVSTCh0aGlzLl9wbGF0Zm9ybU5hdmlnYXRpb24uY3VycmVudEVudHJ5LnVybCEpLnNlYXJjaDtcbiAgfVxuICBnZXQgaGFzaCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBuZXcgVVJMKHRoaXMuX3BsYXRmb3JtTmF2aWdhdGlvbi5jdXJyZW50RW50cnkudXJsISkuaGFzaDtcbiAgfVxuXG4gIHB1c2hTdGF0ZShzdGF0ZTogYW55LCB0aXRsZTogc3RyaW5nLCB1cmw6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuX3BsYXRmb3JtTmF2aWdhdGlvbi5wdXNoU3RhdGUoc3RhdGUsIHRpdGxlLCB1cmwpO1xuICB9XG5cbiAgcmVwbGFjZVN0YXRlKHN0YXRlOiBhbnksIHRpdGxlOiBzdHJpbmcsIHVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5fcGxhdGZvcm1OYXZpZ2F0aW9uLnJlcGxhY2VTdGF0ZShzdGF0ZSwgdGl0bGUsIHVybCk7XG4gIH1cblxuICBmb3J3YXJkKCk6IHZvaWQge1xuICAgIHRoaXMuX3BsYXRmb3JtTmF2aWdhdGlvbi5mb3J3YXJkKCk7XG4gIH1cblxuICBiYWNrKCk6IHZvaWQge1xuICAgIHRoaXMuX3BsYXRmb3JtTmF2aWdhdGlvbi5iYWNrKCk7XG4gIH1cblxuICBoaXN0b3J5R28ocmVsYXRpdmVQb3NpdGlvbjogbnVtYmVyID0gMCk6IHZvaWQge1xuICAgIHRoaXMuX3BsYXRmb3JtTmF2aWdhdGlvbi5nbyhyZWxhdGl2ZVBvc2l0aW9uKTtcbiAgfVxuXG4gIGdldFN0YXRlKCk6IHVua25vd24ge1xuICAgIHJldHVybiB0aGlzLl9wbGF0Zm9ybU5hdmlnYXRpb24uY3VycmVudEVudHJ5LmdldEhpc3RvcnlTdGF0ZSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright Google LLC All Rights Reserved.
|
|
4
4
|
*
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
7
|
*/
|
|
8
8
|
/**
|
|
9
9
|
* Fake implementation of user agent history and navigation behavior. This is a
|
|
@@ -664,4 +664,4 @@ class InternalNavigationResult {
|
|
|
664
664
|
this.finished.catch(() => { });
|
|
665
665
|
}
|
|
666
666
|
}
|
|
667
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFrZV9uYXZpZ2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3Rlc3Rpbmcvc3JjL25hdmlnYXRpb24vZmFrZV9uYXZpZ2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQWtCSDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUF3RHpCLCtDQUErQztJQUMvQyxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxZQUNtQixNQUFjLEVBQy9CLFFBQXlCO1FBRFIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXJFakM7OztXQUdHO1FBQ2MsZUFBVSxHQUFpQyxFQUFFLENBQUM7UUFFL0Q7O1dBRUc7UUFDSyxzQkFBaUIsR0FBRyxDQUFDLENBQUM7UUFFOUI7O1dBRUc7UUFDSyxrQkFBYSxHQUEwQyxTQUFTLENBQUM7UUFFekU7OztXQUdHO1FBQ2MsbUJBQWMsR0FBRyxJQUFJLEdBQUcsRUFBb0MsQ0FBQztRQUU5RTs7O1dBR0c7UUFDSyxrQkFBYSxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUUxQzs7O1dBR0c7UUFDSywwQkFBcUIsR0FBRyxDQUFDLENBQUM7UUFFbEM7OztXQUdHO1FBQ0ssMEJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBRXRDLDREQUE0RDtRQUNwRCx1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFFbEMsd0NBQXdDO1FB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QUFDO0lBQ2hDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge1xuICBOYXZpZ2F0ZUV2ZW50LFxuICBOYXZpZ2F0aW9uLFxuICBOYXZpZ2F0aW9uQ3VycmVudEVudHJ5Q2hhbmdlRXZlbnQsXG4gIE5hdmlnYXRpb25EZXN0aW5hdGlvbixcbiAgTmF2aWdhdGlvbkhpc3RvcnlFbnRyeSxcbiAgTmF2aWdhdGlvbkludGVyY2VwdE9wdGlvbnMsXG4gIE5hdmlnYXRpb25OYXZpZ2F0ZU9wdGlvbnMsXG4gIE5hdmlnYXRpb25PcHRpb25zLFxuICBOYXZpZ2F0aW9uUmVsb2FkT3B0aW9ucyxcbiAgTmF2aWdhdGlvblJlc3VsdCxcbiAgTmF2aWdhdGlvblRyYW5zaXRpb24sXG4gIE5hdmlnYXRpb25UeXBlU3RyaW5nLFxuICBOYXZpZ2F0aW9uVXBkYXRlQ3VycmVudEVudHJ5T3B0aW9ucyxcbn0gZnJvbSAnLi9uYXZpZ2F0aW9uX3R5cGVzJztcblxuLyoqXG4gKiBGYWtlIGltcGxlbWVudGF0aW9uIG9mIHVzZXIgYWdlbnQgaGlzdG9yeSBhbmQgbmF2aWdhdGlvbiBiZWhhdmlvci4gVGhpcyBpcyBhXG4gKiBoaWdoLWZpZGVsaXR5IGltcGxlbWVudGF0aW9uIG9mIGJyb3dzZXIgYmVoYXZpb3IgdGhhdCBhdHRlbXB0cyB0byBlbXVsYXRlXG4gKiB0aGluZ3MgbGlrZSB0cmF2ZXJzYWwgZGVsYXkuXG4gKi9cbmV4cG9ydCBjbGFzcyBGYWtlTmF2aWdhdGlvbiBpbXBsZW1lbnRzIE5hdmlnYXRpb24ge1xuICAvKipcbiAgICogVGhlIGZha2UgaW1wbGVtZW50YXRpb24gb2YgYW4gZW50cmllcyBhcnJheS4gT25seSBzYW1lLWRvY3VtZW50IGVudHJpZXNcbiAgICogYWxsb3dlZC5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgZW50cmllc0FycjogRmFrZU5hdmlnYXRpb25IaXN0b3J5RW50cnlbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBhY3RpdmUgZW50cnkgaW5kZXggaW50byBgZW50cmllc0FycmAuXG4gICAqL1xuICBwcml2YXRlIGN1cnJlbnRFbnRyeUluZGV4ID0gMDtcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgbmF2aWdhdGUgZXZlbnQuXG4gICAqL1xuICBwcml2YXRlIG5hdmlnYXRlRXZlbnQ6IEludGVybmFsRmFrZU5hdmlnYXRlRXZlbnQgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEEgTWFwIG9mIHBlbmRpbmcgdHJhdmVyc2Fscywgc28gdGhhdCB0cmF2ZXJzYWxzIHRvIHRoZSBzYW1lIGVudHJ5IGNhbiBiZVxuICAgKiByZS11c2VkLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSB0cmF2ZXJzYWxRdWV1ZSA9IG5ldyBNYXA8c3RyaW5nLCBJbnRlcm5hbE5hdmlnYXRpb25SZXN1bHQ+KCk7XG5cbiAgLyoqXG4gICAqIEEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHByZXZpb3VzIHRyYXZlcnNhbHMgaGF2ZSBmaW5pc2hlZC4gVXNlZCB0b1xuICAgKiBzaW11bGF0ZSB0aGUgY3Jvc3MtcHJvY2VzcyBjb21tdW5pY2F0aW9uIG5lY2Vzc2FyeSBmb3IgdHJhdmVyc2Fscy5cbiAgICovXG4gIHByaXZhdGUgbmV4dFRyYXZlcnNhbCA9IFByb21pc2UucmVzb2x2ZSgpO1xuXG4gIC8qKlxuICAgKiBBIHByb3NwZWN0aXZlIGN1cnJlbnQgYWN0aXZlIGVudHJ5IGluZGV4LCB3aGljaCBpbmNsdWRlcyB1bnJlc29sdmVkXG4gICAqIHRyYXZlcnNhbHMuIFVzZWQgYnkgYGdvYCB0byBkZXRlcm1pbmUgd2hlcmUgbmF2aWdhdGlvbnMgYXJlIGludGVuZGVkIHRvIGdvLlxuICAgKi9cbiAgcHJpdmF0ZSBwcm9zcGVjdGl2ZUVudHJ5SW5kZXggPSAwO1xuXG4gIC8qKlxuICAgKiBBIHRlc3Qtb25seSBvcHRpb24gdG8gbWFrZSB0cmF2ZXJzYWxzIHN5bmNocm9ub3VzLCByYXRoZXIgdGhhbiBlbXVsYXRlXG4gICAqIGNyb3NzLXByb2Nlc3MgY29tbXVuaWNhdGlvbi5cbiAgICovXG4gIHByaXZhdGUgc3luY2hyb25vdXNUcmF2ZXJzYWxzID0gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgdG8gYWxsb3cgYSBjYWxsIHRvIHNldEluaXRpYWxFbnRyeUZvclRlc3RpbmcuICovXG4gIHByaXZhdGUgY2FuU2V0SW5pdGlhbEVudHJ5ID0gdHJ1ZTtcblxuICAvKiogYEV2ZW50VGFyZ2V0YCB0byBkaXNwYXRjaCBldmVudHMuICovXG4gIHByaXZhdGUgZXZlbnRUYXJnZXQ6IEV2ZW50VGFyZ2V0ID0gdGhpcy53aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgLyoqIFRoZSBuZXh0IHVuaXF1ZSBpZCBmb3IgY3JlYXRlZCBlbnRyaWVzLiBSZXBsYWNlIHJlY3JlYXRlcyB0aGlzIGlkLiAqL1xuICBwcml2YXRlIG5leHRJZCA9IDA7XG5cbiAgLyoqIFRoZSBuZXh0IHVuaXF1ZSBrZXkgZm9yIGNyZWF0ZWQgZW50cmllcy4gUmVwbGFjZSBpbmhlcml0cyB0aGlzIGlkLiAqL1xuICBwcml2YXRlIG5leHRLZXkgPSAwO1xuXG4gIC8qKiBXaGV0aGVyIHRoaXMgZmFrZSBpcyBkaXNwb3NlZC4gKi9cbiAgcHJpdmF0ZSBkaXNwb3NlZCA9IGZhbHNlO1xuXG4gIC8qKiBFcXVpdmFsZW50IHRvIGBuYXZpZ2F0aW9uLmN1cnJlbnRFbnRyeWAuICovXG4gIGdldCBjdXJyZW50RW50cnkoKTogRmFrZU5hdmlnYXRpb25IaXN0b3J5RW50cnkge1xuICAgIHJldHVybiB0aGlzLmVudHJpZXNBcnJbdGhpcy5jdXJyZW50RW50cnlJbmRleF07XG4gIH1cblxuICBnZXQgY2FuR29CYWNrKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRFbnRyeUluZGV4ID4gMDtcbiAgfVxuXG4gIGdldCBjYW5Hb0ZvcndhcmQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudEVudHJ5SW5kZXggPCB0aGlzLmVudHJpZXNBcnIubGVuZ3RoIC0gMTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgd2luZG93OiBXaW5kb3csXG4gICAgc3RhcnRVUkw6IGBodHRwJHtzdHJpbmd9YCxcbiAgKSB7XG4gICAgLy8gRmlyc3QgZW50cnkuXG4gICAgdGhpcy5zZXRJbml0aWFsRW50cnlGb3JUZXN0aW5nKHN0YXJ0VVJMKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBpbml0aWFsIGVudHJ5LlxuICAgKi9cbiAgcHJpdmF0ZSBzZXRJbml0aWFsRW50cnlGb3JUZXN0aW5nKFxuICAgIHVybDogYGh0dHAke3N0cmluZ31gLFxuICAgIG9wdGlvbnM6IHtoaXN0b3J5U3RhdGU6IHVua25vd247IHN0YXRlPzogdW5rbm93bn0gPSB7aGlzdG9yeVN0YXRlOiBudWxsfSxcbiAgKSB7XG4gICAgaWYgKCF0aGlzLmNhblNldEluaXRpYWxFbnRyeSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnc2V0SW5pdGlhbEVudHJ5Rm9yVGVzdGluZyBjYW4gb25seSBiZSBjYWxsZWQgYmVmb3JlIGFueSAnICsgJ25hdmlnYXRpb24gaGFzIG9jY3VycmVkJyxcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IGN1cnJlbnRJbml0aWFsRW50cnkgPSB0aGlzLmVudHJpZXNBcnJbMF07XG4gICAgdGhpcy5lbnRyaWVzQXJyWzBdID0gbmV3IEZha2VOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5KG5ldyBVUkwodXJsKS50b1N0cmluZygpLCB7XG4gICAgICBpbmRleDogMCxcbiAgICAgIGtleTogY3VycmVudEluaXRpYWxFbnRyeT8ua2V5ID8/IFN0cmluZyh0aGlzLm5leHRLZXkrKyksXG4gICAgICBpZDogY3VycmVudEluaXRpYWxFbnRyeT8uaWQgPz8gU3RyaW5nKHRoaXMubmV4dElkKyspLFxuICAgICAgc2FtZURvY3VtZW50OiB0cnVlLFxuICAgICAgaGlzdG9yeVN0YXRlOiBvcHRpb25zPy5oaXN0b3J5U3RhdGUsXG4gICAgICBzdGF0ZTogb3B0aW9ucy5zdGF0ZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHdoZXRoZXIgdGhlIGluaXRpYWwgZW50cnkgaXMgc3RpbGwgZWxpZ2libGUgdG8gYmUgc2V0LiAqL1xuICBjYW5TZXRJbml0aWFsRW50cnlGb3JUZXN0aW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNhblNldEluaXRpYWxFbnRyeTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHdoZXRoZXIgdG8gZW11bGF0ZSB0cmF2ZXJzYWxzIGFzIHN5bmNocm9ub3VzIHJhdGhlciB0aGFuXG4gICAqIGFzeW5jaHJvbm91cy5cbiAgICovXG4gIHNldFN5bmNocm9ub3VzVHJhdmVyc2Fsc0ZvclRlc3Rpbmcoc3luY2hyb25vdXNUcmF2ZXJzYWxzOiBib29sZWFuKSB7XG4gICAgdGhpcy5zeW5jaHJvbm91c1RyYXZlcnNhbHMgPSBzeW5jaHJvbm91c1RyYXZlcnNhbHM7XG4gIH1cblxuICAvKiogRXF1aXZhbGVudCB0byBgbmF2aWdhdGlvbi5lbnRyaWVzKClgLiAqL1xuICBlbnRyaWVzKCk6IEZha2VOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5W10ge1xuICAgIHJldHVybiB0aGlzLmVudHJpZXNBcnIuc2xpY2UoKTtcbiAgfVxuXG4gIC8qKiBFcXVpdmFsZW50IHRvIGBuYXZpZ2F0aW9uLm5hdmlnYXRlKClgLiAqL1xuICBuYXZpZ2F0ZSh1cmw6IHN0cmluZywgb3B0aW9ucz86IE5hdmlnYXRpb25OYXZpZ2F0ZU9wdGlvbnMpOiBGYWtlTmF2aWdhdGlvblJlc3VsdCB7XG4gICAgY29uc3QgZnJvbVVybCA9IG5ldyBVUkwodGhpcy5jdXJyZW50RW50cnkudXJsISk7XG4gICAgY29uc3QgdG9VcmwgPSBuZXcgVVJMKHVybCwgdGhpcy5jdXJyZW50RW50cnkudXJsISk7XG5cbiAgICBsZXQgbmF2aWdhdGlvblR5cGU6IE5hdmlnYXRpb25UeXBlU3RyaW5nO1xuICAgIGlmICghb3B0aW9ucz8uaGlzdG9yeSB8fCBvcHRpb25zLmhpc3RvcnkgPT09ICdhdXRvJykge1xuICAgICAgLy8gQXV0byBkZWZhdWx0cyB0byBwdXNoLCBidXQgaWYgdGhlIFVSTHMgYXJlIHRoZSBzYW1lLCBpcyBhIHJlcGxhY2UuXG4gICAgICBpZiAoZnJvbVVybC50b1N0cmluZygpID09PSB0b1VybC50b1N0cmluZygpKSB7XG4gICAgICAgIG5hdmlnYXRpb25UeXBlID0gJ3JlcGxhY2UnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmF2aWdhdGlvblR5cGUgPSAncHVzaCc7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG5hdmlnYXRpb25UeXBlID0gb3B0aW9ucy5oaXN0b3J5O1xuICAgIH1cblxuICAgIGNvbnN0IGhhc2hDaGFuZ2UgPSBpc0hhc2hDaGFuZ2UoZnJvbVVybCwgdG9VcmwpO1xuXG4gICAgY29uc3QgZGVzdGluYXRpb24gPSBuZXcgRmFrZU5hdmlnYXRpb25EZXN0aW5hdGlvbih7XG4gICAgICB1cmw6IHRvVXJsLnRvU3RyaW5nKCksXG4gICAgICBzdGF0ZTogb3B0aW9ucz8uc3RhdGUsXG4gICAgICBzYW1lRG9jdW1lbnQ6IGhhc2hDaGFuZ2UsXG4gICAgICBoaXN0b3J5U3RhdGU6IG51bGwsXG4gICAgfSk7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IEludGVybmFsTmF2aWdhdGlvblJlc3VsdCgpO1xuXG4gICAgdGhpcy51c2VyQWdlbnROYXZpZ2F0ZShkZXN0aW5hdGlvbiwgcmVzdWx0LCB7XG4gICAgICBuYXZpZ2F0aW9uVHlwZSxcbiAgICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgICBjYW5JbnRlcmNlcHQ6IHRydWUsXG4gICAgICAvLyBBbHdheXMgZmFsc2UgZm9yIG5hdmlnYXRlKCkuXG4gICAgICB1c2VySW5pdGlhdGVkOiBmYWxzZSxcbiAgICAgIGhhc2hDaGFuZ2UsXG4gICAgICBpbmZvOiBvcHRpb25zPy5pbmZvLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbW1pdHRlZDogcmVzdWx0LmNvbW1pdHRlZCxcbiAgICAgIGZpbmlzaGVkOiByZXN1bHQuZmluaXNoZWQsXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBFcXVpdmFsZW50IHRvIGBoaXN0b3J5LnB1c2hTdGF0ZSgpYC4gKi9cbiAgcHVzaFN0YXRlKGRhdGE6IHVua25vd24sIHRpdGxlOiBzdHJpbmcsIHVybD86IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucHVzaE9yUmVwbGFjZVN0YXRlKCdwdXNoJywgZGF0YSwgdGl0bGUsIHVybCk7XG4gIH1cblxuICAvKiogRXF1aXZhbGVudCB0byBgaGlzdG9yeS5yZXBsYWNlU3RhdGUoKWAuICovXG4gIHJlcGxhY2VTdGF0ZShkYXRhOiB1bmtub3duLCB0aXRsZTogc3RyaW5nLCB1cmw/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnB1c2hPclJlcGxhY2VTdGF0ZSgncmVwbGFjZScsIGRhdGEsIHRpdGxlLCB1cmwpO1xuICB9XG5cbiAgcHJpdmF0ZSBwdXNoT3JSZXBsYWNlU3RhdGUoXG4gICAgbmF2aWdhdGlvblR5cGU6IE5hdmlnYXRpb25UeXBlU3RyaW5nLFxuICAgIGRhdGE6IHVua25vd24sXG4gICAgX3RpdGxlOiBzdHJpbmcsXG4gICAgdXJsPzogc3RyaW5nLFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBmcm9tVXJsID0gbmV3IFVSTCh0aGlzLmN1cnJlbnRFbnRyeS51cmwhKTtcbiAgICBjb25zdCB0b1VybCA9IHVybCA/IG5ldyBVUkwodXJsLCB0aGlzLmN1cnJlbnRFbnRyeS51cmwhKSA6IGZyb21Vcmw7XG5cbiAgICBjb25zdCBoYXNoQ2hhbmdlID0gaXNIYXNoQ2hhbmdlKGZyb21VcmwsIHRvVXJsKTtcblxuICAgIGNvbnN0IGRlc3RpbmF0aW9uID0gbmV3IEZha2VOYXZpZ2F0aW9uRGVzdGluYXRpb24oe1xuICAgICAgdXJsOiB0b1VybC50b1N0cmluZygpLFxuICAgICAgc2FtZURvY3VtZW50OiB0cnVlLFxuICAgICAgaGlzdG9yeVN0YXRlOiBkYXRhLFxuICAgIH0pO1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBJbnRlcm5hbE5hdmlnYXRpb25SZXN1bHQoKTtcblxuICAgIHRoaXMudXNlckFnZW50TmF2aWdhdGUoZGVzdGluYXRpb24sIHJlc3VsdCwge1xuICAgICAgbmF2aWdhdGlvblR5cGUsXG4gICAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICAgICAgY2FuSW50ZXJjZXB0OiB0cnVlLFxuICAgICAgLy8gQWx3YXlzIGZhbHNlIGZvciBwdXNoU3RhdGUoKSBvciByZXBsYWNlU3RhdGUoKS5cbiAgICAgIHVzZXJJbml0aWF0ZWQ6IGZhbHNlLFxuICAgICAgaGFzaENoYW5nZSxcbiAgICAgIHNraXBQb3BTdGF0ZTogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBFcXVpdmFsZW50IHRvIGBuYXZpZ2F0aW9uLnRyYXZlcnNlVG8oKWAuICovXG4gIHRyYXZlcnNlVG8oa2V5OiBzdHJpbmcsIG9wdGlvbnM/OiBOYXZpZ2F0aW9uT3B0aW9ucyk6IEZha2VOYXZpZ2F0aW9uUmVzdWx0IHtcbiAgICBjb25zdCBmcm9tVXJsID0gbmV3IFVSTCh0aGlzLmN1cnJlbnRFbnRyeS51cmwhKTtcbiAgICBjb25zdCBlbnRyeSA9IHRoaXMuZmluZEVudHJ5KGtleSk7XG4gICAgaWYgKCFlbnRyeSkge1xuICAgICAgY29uc3QgZG9tRXhjZXB0aW9uID0gbmV3IERPTUV4Y2VwdGlvbignSW52YWxpZCBrZXknLCAnSW52YWxpZFN0YXRlRXJyb3InKTtcbiAgICAgIGNvbnN0IGNvbW1pdHRlZCA9IFByb21pc2UucmVqZWN0KGRvbUV4Y2VwdGlvbik7XG4gICAgICBjb25zdCBmaW5pc2hlZCA9IFByb21pc2UucmVqZWN0KGRvbUV4Y2VwdGlvbik7XG4gICAgICBjb21taXR0ZWQuY2F0Y2goKCkgPT4ge30pO1xuICAgICAgZmluaXNoZWQuY2F0Y2goKCkgPT4ge30pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29tbWl0dGVkLFxuICAgICAgICBmaW5pc2hlZCxcbiAgICAgIH07XG4gICAgfVxuICAgIGlmIChlbnRyeSA9PT0gdGhpcy5jdXJyZW50RW50cnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbW1pdHRlZDogUHJvbWlzZS5yZXNvbHZlKHRoaXMuY3VycmVudEVudHJ5KSxcbiAgICAgICAgZmluaXNoZWQ6IFByb21pc2UucmVzb2x2ZSh0aGlzLmN1cnJlbnRFbnRyeSksXG4gICAgICB9O1xuICAgIH1cbiAgICBpZiAodGhpcy50cmF2ZXJzYWxRdWV1ZS5oYXMoZW50cnkua2V5KSkge1xuICAgICAgY29uc3QgZXhpc3RpbmdSZXN1bHQgPSB0aGlzLnRyYXZlcnNhbFF1ZXVlLmdldChlbnRyeS5rZXkpITtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbW1pdHRlZDogZXhpc3RpbmdSZXN1bHQuY29tbWl0dGVkLFxuICAgICAgICBmaW5pc2hlZDogZXhpc3RpbmdSZXN1bHQuZmluaXNoZWQsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IGhhc2hDaGFuZ2UgPSBpc0hhc2hDaGFuZ2UoZnJvbVVybCwgbmV3IFVSTChlbnRyeS51cmwhLCB0aGlzLmN1cnJlbnRFbnRyeS51cmwhKSk7XG4gICAgY29uc3QgZGVzdGluYXRpb24gPSBuZXcgRmFrZU5hdmlnYXRpb25EZXN0aW5hdGlvbih7XG4gICAgICB1cmw6IGVudHJ5LnVybCEsXG4gICAgICBzdGF0ZTogZW50cnkuZ2V0U3RhdGUoKSxcbiAgICAgIGhpc3RvcnlTdGF0ZTogZW50cnkuZ2V0SGlzdG9yeVN0YXRlKCksXG4gICAgICBrZXk6IGVudHJ5LmtleSxcbiAgICAgIGlkOiBlbnRyeS5pZCxcbiAgICAgIGluZGV4OiBlbnRyeS5pbmRleCxcbiAgICAgIHNhbWVEb2N1bWVudDogZW50cnkuc2FtZURvY3VtZW50LFxuICAgIH0pO1xuICAgIHRoaXMucHJvc3BlY3RpdmVFbnRyeUluZGV4ID0gZW50cnkuaW5kZXg7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IEludGVybmFsTmF2aWdhdGlvblJlc3VsdCgpO1xuICAgIHRoaXMudHJhdmVyc2FsUXVldWUuc2V0KGVudHJ5LmtleSwgcmVzdWx0KTtcbiAgICB0aGlzLnJ1blRyYXZlcnNhbCgoKSA9PiB7XG4gICAgICB0aGlzLnRyYXZlcnNhbFF1ZXVlLmRlbGV0ZShlbnRyeS5rZXkpO1xuICAgICAgdGhpcy51c2VyQWdlbnROYXZpZ2F0ZShkZXN0aW5hdGlvbiwgcmVzdWx0LCB7XG4gICAgICAgIG5hdmlnYXRpb25UeXBlOiAndHJhdmVyc2UnLFxuICAgICAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICAgICAgICBjYW5JbnRlcmNlcHQ6IHRydWUsXG4gICAgICAgIC8vIEFsd2F5cyBmYWxzZSBmb3IgdHJhdmVyc2VUbygpLlxuICAgICAgICB1c2VySW5pdGlhdGVkOiBmYWxzZSxcbiAgICAgICAgaGFzaENoYW5nZSxcbiAgICAgICAgaW5mbzogb3B0aW9ucz8uaW5mbyxcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICBjb21taXR0ZWQ6IHJlc3VsdC5jb21taXR0ZWQsXG4gICAgICBmaW5pc2hlZDogcmVzdWx0LmZpbmlzaGVkLFxuICAgIH07XG4gIH1cblxuICAvKiogRXF1aXZhbGVudCB0byBgbmF2aWdhdGlvbi5iYWNrKClgLiAqL1xuICBiYWNrKG9wdGlvbnM/OiBOYXZpZ2F0aW9uT3B0aW9ucyk6IEZha2VOYXZpZ2F0aW9uUmVzdWx0IHtcbiAgICBpZiAodGhpcy5jdXJyZW50RW50cnlJbmRleCA9PT0gMCkge1xuICAgICAgY29uc3QgZG9tRXhjZXB0aW9uID0gbmV3IERPTUV4Y2VwdGlvbignQ2Fubm90IGdvIGJhY2snLCAnSW52YWxpZFN0YXRlRXJyb3InKTtcbiAgICAgIGNvbnN0IGNvbW1pdHRlZCA9IFByb21pc2UucmVqZWN0KGRvbUV4Y2VwdGlvbik7XG4gICAgICBjb25zdCBmaW5pc2hlZCA9IFByb21pc2UucmVqZWN0KGRvbUV4Y2VwdGlvbik7XG4gICAgICBjb21taXR0ZWQuY2F0Y2goKCkgPT4ge30pO1xuICAgICAgZmluaXNoZWQuY2F0Y2goKCkgPT4ge30pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29tbWl0dGVkLFxuICAgICAgICBmaW5pc2hlZCxcbiAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0IGVudHJ5ID0gdGhpcy5lbnRyaWVzQXJyW3RoaXMuY3VycmVudEVudHJ5SW5kZXggLSAxXTtcbiAgICByZXR1cm4gdGhpcy50cmF2ZXJzZVRvKGVudHJ5LmtleSwgb3B0aW9ucyk7XG4gIH1cblxuICAvKiogRXF1aXZhbGVudCB0byBgbmF2aWdhdGlvbi5mb3J3YXJkKClgLiAqL1xuICBmb3J3YXJkKG9wdGlvbnM/OiBOYXZpZ2F0aW9uT3B0aW9ucyk6IEZha2VOYXZpZ2F0aW9uUmVzdWx0IHtcbiAgICBpZiAodGhpcy5jdXJyZW50RW50cnlJbmRleCA9PT0gdGhpcy5lbnRyaWVzQXJyLmxlbmd0aCAtIDEpIHtcbiAgICAgIGNvbnN0IGRvbUV4Y2VwdGlvbiA9IG5ldyBET01FeGNlcHRpb24oJ0Nhbm5vdCBnbyBmb3J3YXJkJywgJ0ludmFsaWRTdGF0ZUVycm9yJyk7XG4gICAgICBjb25zdCBjb21taXR0ZWQgPSBQcm9taXNlLnJlamVjdChkb21FeGNlcHRpb24pO1xuICAgICAgY29uc3QgZmluaXNoZWQgPSBQcm9taXNlLnJlamVjdChkb21FeGNlcHRpb24pO1xuICAgICAgY29tbWl0dGVkLmNhdGNoKCgpID0+IHt9KTtcbiAgICAgIGZpbmlzaGVkLmNhdGNoKCgpID0+IHt9KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbW1pdHRlZCxcbiAgICAgICAgZmluaXNoZWQsXG4gICAgICB9O1xuICAgIH1cbiAgICBjb25zdCBlbnRyeSA9IHRoaXMuZW50cmllc0Fyclt0aGlzLmN1cnJlbnRFbnRyeUluZGV4ICsgMV07XG4gICAgcmV0dXJuIHRoaXMudHJhdmVyc2VUbyhlbnRyeS5rZXksIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVxdWl2YWxlbnQgdG8gYGhpc3RvcnkuZ28oKWAuXG4gICAqIE5vdGUgdGhhdCB0aGlzIG1ldGhvZCBkb2VzIG5vdCBhY3R1YWxseSB3b3JrIHByZWNpc2VseSB0byBob3cgQ2hyb21lXG4gICAqIGRvZXMsIGluc3RlYWQgY2hvb3NpbmcgYSBzaW1wbGVyIG1vZGVsIHdpdGggbGVzcyB1bmV4cGVjdGVkIGJlaGF2aW9yLlxuICAgKiBDaHJvbWUgaGFzIGEgZmV3IGVkZ2UgY2FzZSBvcHRpbWl6YXRpb25zLCBmb3IgaW5zdGFuY2Ugd2l0aCByZXBlYXRlZFxuICAgKiBgYmFjaygpOyBmb3J3YXJkKClgIGNoYWlucyBpdCBjb2xsYXBzZXMgY2VydGFpbiB0cmF2ZXJzYWxzLlxuICAgKi9cbiAgZ28oZGlyZWN0aW9uOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXRJbmRleCA9IHRoaXMucHJvc3BlY3RpdmVFbnRyeUluZGV4ICsgZGlyZWN0aW9uO1xuICAgIGlmICh0YXJnZXRJbmRleCA+PSB0aGlzLmVudHJpZXNBcnIubGVuZ3RoIHx8IHRhcmdldEluZGV4IDwgMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnByb3NwZWN0aXZlRW50cnlJbmRleCA9IHRhcmdldEluZGV4O1xuICAgIHRoaXMucnVuVHJhdmVyc2FsKCgpID0+IHtcbiAgICAgIC8vIENoZWNrIGFnYWluIHRoYXQgZGVzdGluYXRpb24gaXMgaW4gdGhlIGVudHJpZXMgYXJyYXkuXG4gICAgICBpZiAodGFyZ2V0SW5kZXggPj0gdGhpcy5lbnRyaWVzQXJyLmxlbmd0aCB8fCB0YXJnZXRJbmRleCA8IDApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgZnJvbVVybCA9IG5ldyBVUkwodGhpcy5jdXJyZW50RW50cnkudXJsISk7XG4gICAgICBjb25zdCBlbnRyeSA9IHRoaXMuZW50cmllc0Fyclt0YXJnZXRJbmRleF07XG4gICAgICBjb25zdCBoYXNoQ2hhbmdlID0gaXNIYXNoQ2hhbmdlKGZyb21VcmwsIG5ldyBVUkwoZW50cnkudXJsISwgdGhpcy5jdXJyZW50RW50cnkudXJsISkpO1xuICAgICAgY29uc3QgZGVzdGluYXRpb24gPSBuZXcgRmFrZU5hdmlnYXRpb25EZXN0aW5hdGlvbih7XG4gICAgICAgIHVybDogZW50cnkudXJsISxcbiAgICAgICAgc3RhdGU6IGVudHJ5LmdldFN0YXRlKCksXG4gICAgICAgIGhpc3RvcnlTdGF0ZTogZW50cnkuZ2V0SGlzdG9yeVN0YXRlKCksXG4gICAgICAgIGtleTogZW50cnkua2V5LFxuICAgICAgICBpZDogZW50cnkuaWQsXG4gICAgICAgIGluZGV4OiBlbnRyeS5pbmRleCxcbiAgICAgICAgc2FtZURvY3VtZW50OiBlbnRyeS5zYW1lRG9jdW1lbnQsXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBJbnRlcm5hbE5hdmlnYXRpb25SZXN1bHQoKTtcbiAgICAgIHRoaXMudXNlckFnZW50TmF2aWdhdGUoZGVzdGluYXRpb24sIHJlc3VsdCwge1xuICAgICAgICBuYXZpZ2F0aW9uVHlwZTogJ3RyYXZlcnNlJyxcbiAgICAgICAgY2FuY2VsYWJsZTogdHJ1ZSxcbiAgICAgICAgY2FuSW50ZXJjZXB0OiB0cnVlLFxuICAgICAgICAvLyBBbHdheXMgZmFsc2UgZm9yIGdvKCkuXG4gICAgICAgIHVzZXJJbml0aWF0ZWQ6IGZhbHNlLFxuICAgICAgICBoYXNoQ2hhbmdlLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogUnVucyBhIHRyYXZlcnNhbCBzeW5jaHJvbm91c2x5IG9yIGFzeW5jaHJvbm91c2x5ICovXG4gIHByaXZhdGUgcnVuVHJhdmVyc2FsKHRyYXZlcnNhbDogKCkgPT4gdm9pZCkge1xuICAgIGlmICh0aGlzLnN5bmNocm9ub3VzVHJhdmVyc2Fscykge1xuICAgICAgdHJhdmVyc2FsKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gRWFjaCB0cmF2ZXJzYWwgb2NjdXBpZXMgYSBzaW5nbGUgdGltZW91dCByZXNvbHV0aW9uLlxuICAgIC8vIFRoaXMgbWVhbnMgdGhhdCBQcm9taXNlcyBhZGRlZCB0byBjb21taXQgYW5kIGZpbmlzaCBzaG91bGQgcmVzb2x2ZVxuICAgIC8vIGJlZm9yZSB0aGUgbmV4dCB0cmF2ZXJzYWwuXG4gICAgdGhpcy5uZXh0VHJhdmVyc2FsID0gdGhpcy5uZXh0VHJhdmVyc2FsLnRoZW4oKCkgPT4ge1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICB0cmF2ZXJzYWwoKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBFcXVpdmFsZW50IHRvIGBuYXZpZ2F0aW9uLmFkZEV2ZW50TGlzdGVuZXIoKWAuICovXG4gIGFkZEV2ZW50TGlzdGVuZXIoXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIGNhbGxiYWNrOiBFdmVudExpc3RlbmVyT3JFdmVudExpc3RlbmVyT2JqZWN0LFxuICAgIG9wdGlvbnM/OiBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyB8IGJvb2xlYW4sXG4gICkge1xuICAgIHRoaXMuZXZlbnRUYXJnZXQuYWRkRXZlbnRMaXN0ZW5lcih0eXBlLCBjYWxsYmFjaywgb3B0aW9ucyk7XG4gIH1cblxuICAvKiogRXF1aXZhbGVudCB0byBgbmF2aWdhdGlvbi5yZW1vdmVFdmVudExpc3RlbmVyKClgLiAqL1xuICByZW1vdmVFdmVudExpc3RlbmVyKFxuICAgIHR5cGU6IHN0cmluZyxcbiAgICBjYWxsYmFjazogRXZlbnRMaXN0ZW5lck9yRXZlbnRMaXN0ZW5lck9iamVjdCxcbiAgICBvcHRpb25zPzogRXZlbnRMaXN0ZW5lck9wdGlvbnMgfCBib29sZWFuLFxuICApIHtcbiAgICB0aGlzLmV2ZW50VGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIodHlwZSwgY2FsbGJhY2ssIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqIEVxdWl2YWxlbnQgdG8gYG5hdmlnYXRpb24uZGlzcGF0Y2hFdmVudCgpYCAqL1xuICBkaXNwYXRjaEV2ZW50KGV2ZW50OiBFdmVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmV2ZW50VGFyZ2V0LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICB9XG5cbiAgLyoqIENsZWFucyB1cCByZXNvdXJjZXMuICovXG4gIGRpc3Bvc2UoKSB7XG4gICAgLy8gUmVjcmVhdGUgZXZlbnRUYXJnZXQgdG8gcmVsZWFzZSBjdXJyZW50IGxpc3RlbmVycy5cbiAgICAvLyBgZG9jdW1lbnQuY3JlYXRlRWxlbWVudGAgYmVjYXVzZSBOb2RlSlMgYEV2ZW50VGFyZ2V0YCBpcyBpbmNvbXBhdGlibGUgd2l0aCBEb21pbm8ncyBgRXZlbnRgLlxuICAgIHRoaXMuZXZlbnRUYXJnZXQgPSB0aGlzLndpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLmRpc3Bvc2VkID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHdoZXRoZXIgdGhpcyBmYWtlIGlzIGRpc3Bvc2VkLiAqL1xuICBpc0Rpc3Bvc2VkKCkge1xuICAgIHJldHVybiB0aGlzLmRpc3Bvc2VkO1xuICB9XG5cbiAgLyoqIEltcGxlbWVudGF0aW9uIGZvciBhbGwgbmF2aWdhdGlvbnMgYW5kIHRyYXZlcnNhbHMuICovXG4gIHByaXZhdGUgdXNlckFnZW50TmF2aWdhdGUoXG4gICAgZGVzdGluYXRpb246IEZha2VOYXZpZ2F0aW9uRGVzdGluYXRpb24sXG4gICAgcmVzdWx0OiBJbnRlcm5hbE5hdmlnYXRpb25SZXN1bHQsXG4gICAgb3B0aW9uczogSW50ZXJuYWxOYXZpZ2F0ZU9wdGlvbnMsXG4gICkge1xuICAgIC8vIFRoZSBmaXJzdCBuYXZpZ2F0aW9uIHNob3VsZCBkaXNhbGxvdyBhbnkgZnV0dXJlIGNhbGxzIHRvIHNldCB0aGUgaW5pdGlhbFxuICAgIC8vIGVudHJ5LlxuICAgIHRoaXMuY2FuU2V0SW5pdGlhbEVudHJ5ID0gZmFsc2U7XG4gICAgaWYgKHRoaXMubmF2aWdhdGVFdmVudCkge1xuICAgICAgdGhpcy5uYXZpZ2F0ZUV2ZW50LmNhbmNlbChuZXcgRE9NRXhjZXB0aW9uKCdOYXZpZ2F0aW9uIHdhcyBhYm9ydGVkJywgJ0Fib3J0RXJyb3InKSk7XG4gICAgICB0aGlzLm5hdmlnYXRlRXZlbnQgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3QgbmF2aWdhdGVFdmVudCA9IGNyZWF0ZUZha2VOYXZpZ2F0ZUV2ZW50KHtcbiAgICAgIG5hdmlnYXRpb25UeXBlOiBvcHRpb25zLm5hdmlnYXRpb25UeXBlLFxuICAgICAgY2FuY2VsYWJsZTogb3B0aW9ucy5jYW5jZWxhYmxlLFxuICAgICAgY2FuSW50ZXJjZXB0OiBvcHRpb25zLmNhbkludGVyY2VwdCxcbiAgICAgIHVzZXJJbml0aWF0ZWQ6IG9wdGlvbnMudXNlckluaXRpYXRlZCxcbiAgICAgIGhhc2hDaGFuZ2U6IG9wdGlvbnMuaGFzaENoYW5nZSxcbiAgICAgIHNpZ25hbDogcmVzdWx0LnNpZ25hbCxcbiAgICAgIGRlc3RpbmF0aW9uLFxuICAgICAgaW5mbzogb3B0aW9ucy5pbmZvLFxuICAgICAgc2FtZURvY3VtZW50OiBkZXN0aW5hdGlvbi5zYW1lRG9jdW1lbnQsXG4gICAgICBza2lwUG9wU3RhdGU6IG9wdGlvbnMuc2tpcFBvcFN0YXRlLFxuICAgICAgcmVzdWx0LFxuICAgICAgdXNlckFnZW50Q29tbWl0OiAoKSA9PiB7XG4gICAgICAgIHRoaXMudXNlckFnZW50Q29tbWl0KCk7XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5uYXZpZ2F0ZUV2ZW50ID0gbmF2aWdhdGVFdmVudDtcbiAgICB0aGlzLmV2ZW50VGFyZ2V0LmRpc3BhdGNoRXZlbnQobmF2aWdhdGVFdmVudCk7XG4gICAgbmF2aWdhdGVFdmVudC5kaXNwYXRjaGVkTmF2aWdhdGVFdmVudCgpO1xuICAgIGlmIChuYXZpZ2F0ZUV2ZW50LmNvbW1pdE9wdGlvbiA9PT0gJ2ltbWVkaWF0ZScpIHtcbiAgICAgIG5hdmlnYXRlRXZlbnQuY29tbWl0KC8qIGludGVybmFsPSAqLyB0cnVlKTtcbiAgICB9XG4gIH1cblxuICAvKiogSW1wbGVtZW50YXRpb24gdG8gY29tbWl0IGEgbmF2aWdhdGlvbi4gKi9cbiAgcHJpdmF0ZSB1c2VyQWdlbnRDb21taXQoKSB7XG4gICAgaWYgKCF0aGlzLm5hdmlnYXRlRXZlbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZnJvbSA9IHRoaXMuY3VycmVudEVudHJ5O1xuICAgIGlmICghdGhpcy5uYXZpZ2F0ZUV2ZW50LnNhbWVEb2N1bWVudCkge1xuICAgICAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoJ0Nhbm5vdCBuYXZpZ2F0ZSB0byBhIG5vbi1zYW1lLWRvY3VtZW50IFVSTC4nKTtcbiAgICAgIHRoaXMubmF2aWdhdGVFdmVudC5jYW5jZWwoZXJyb3IpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIGlmIChcbiAgICAgIHRoaXMubmF2aWdhdGVFdmVudC5uYXZpZ2F0aW9uVHlwZSA9PT0gJ3B1c2gnIHx8XG4gICAgICB0aGlzLm5hdmlnYXRlRXZlbnQubmF2aWdhdGlvblR5cGUgPT09ICdyZXBsYWNlJ1xuICAgICkge1xuICAgICAgdGhpcy51c2VyQWdlbnRQdXNoT3JSZXBsYWNlKHRoaXMubmF2aWdhdGVFdmVudC5kZXN0aW5hdGlvbiwge1xuICAgICAgICBuYXZpZ2F0aW9uVHlwZTogdGhpcy5uYXZpZ2F0ZUV2ZW50Lm5hdmlnYXRpb25UeXBlLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm5hdmlnYXRlRXZlbnQubmF2aWdhdGlvblR5cGUgPT09ICd0cmF2ZXJzZScpIHtcbiAgICAgIHRoaXMudXNlckFnZW50VHJhdmVyc2UodGhpcy5uYXZpZ2F0ZUV2ZW50LmRlc3RpbmF0aW9uKTtcbiAgICB9XG4gICAgdGhpcy5uYXZpZ2F0ZUV2ZW50LnVzZXJBZ2VudE5hdmlnYXRlZCh0aGlzLmN1cnJlbnRFbnRyeSk7XG4gICAgY29uc3QgY3VycmVudEVudHJ5Q2hhbmdlRXZlbnQgPSBjcmVhdGVGYWtlTmF2aWdhdGlvbkN1cnJlbnRFbnRyeUNoYW5nZUV2ZW50KHtcbiAgICAgIGZyb20sXG4gICAgICBuYXZpZ2F0aW9uVHlwZTogdGhpcy5uYXZpZ2F0ZUV2ZW50Lm5hdmlnYXRpb25UeXBlLFxuICAgIH0pO1xuICAgIHRoaXMuZXZlbnRUYXJnZXQuZGlzcGF0Y2hFdmVudChjdXJyZW50RW50cnlDaGFuZ2VFdmVudCk7XG4gICAgaWYgKCF0aGlzLm5hdmlnYXRlRXZlbnQuc2tpcFBvcFN0YXRlKSB7XG4gICAgICBjb25zdCBwb3BTdGF0ZUV2ZW50ID0gY3JlYXRlUG9wU3RhdGVFdmVudCh7XG4gICAgICAgIHN0YXRlOiB0aGlzLm5hdmlnYXRlRXZlbnQuZGVzdGluYXRpb24uZ2V0SGlzdG9yeVN0YXRlKCksXG4gICAgICB9KTtcbiAgICAgIHRoaXMud2luZG93LmRpc3BhdGNoRXZlbnQocG9wU3RhdGVFdmVudCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEltcGxlbWVudGF0aW9uIGZvciBhIHB1c2ggb3IgcmVwbGFjZSBuYXZpZ2F0aW9uLiAqL1xuICBwcml2YXRlIHVzZXJBZ2VudFB1c2hPclJlcGxhY2UoXG4gICAgZGVzdGluYXRpb246IEZha2VOYXZpZ2F0aW9uRGVzdGluYXRpb24sXG4gICAge25hdmlnYXRpb25UeXBlfToge25hdmlnYXRpb25UeXBlOiBOYXZpZ2F0aW9uVHlwZVN0cmluZ30sXG4gICkge1xuICAgIGlmIChuYXZpZ2F0aW9uVHlwZSA9PT0gJ3B1c2gnKSB7XG4gICAgICB0aGlzLmN1cnJlbnRFbnRyeUluZGV4Kys7XG4gICAgICB0aGlzLnByb3NwZWN0aXZlRW50cnlJbmRleCA9IHRoaXMuY3VycmVudEVudHJ5SW5kZXg7XG4gICAgfVxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5jdXJyZW50RW50cnlJbmRleDtcbiAgICBjb25zdCBrZXkgPSBuYXZpZ2F0aW9uVHlwZSA9PT0gJ3B1c2gnID8gU3RyaW5nKHRoaXMubmV4dEtleSsrKSA6IHRoaXMuY3VycmVudEVudHJ5LmtleTtcbiAgICBjb25zdCBlbnRyeSA9IG5ldyBGYWtlTmF2aWdhdGlvbkhpc3RvcnlFbnRyeShkZXN0aW5hdGlvbi51cmwsIHtcbiAgICAgIGlkOiBTdHJpbmcodGhpcy5uZXh0SWQrKyksXG4gICAgICBrZXksXG4gICAgICBpbmRleCxcbiAgICAgIHNhbWVEb2N1bWVudDogdHJ1ZSxcbiAgICAgIHN0YXRlOiBkZXN0aW5hdGlvbi5nZXRTdGF0ZSgpLFxuICAgICAgaGlzdG9yeVN0YXRlOiBkZXN0aW5hdGlvbi5nZXRIaXN0b3J5U3RhdGUoKSxcbiAgICB9KTtcbiAgICBpZiAobmF2aWdhdGlvblR5cGUgPT09ICdwdXNoJykge1xuICAgICAgdGhpcy5lbnRyaWVzQXJyLnNwbGljZShpbmRleCwgSW5maW5pdHksIGVudHJ5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lbnRyaWVzQXJyW2luZGV4XSA9IGVudHJ5O1xuICAgIH1cbiAgfVxuXG4gIC8qKiBJbXBsZW1lbnRhdGlvbiBmb3IgYSB0cmF2ZXJzZSBuYXZpZ2F0aW9uLiAqL1xuICBwcml2YXRlIHVzZXJBZ2VudFRyYXZlcnNlKGRlc3RpbmF0aW9uOiBGYWtlTmF2aWdhdGlvbkRlc3RpbmF0aW9uKSB7XG4gICAgdGhpcy5jdXJyZW50RW50cnlJbmRleCA9IGRlc3RpbmF0aW9uLmluZGV4O1xuICB9XG5cbiAgLyoqIFV0aWxpdHkgbWV0aG9kIGZvciBmaW5kaW5nIGVudHJpZXMgd2l0aCB0aGUgZ2l2ZW4gYGtleWAuICovXG4gIHByaXZhdGUgZmluZEVudHJ5KGtleTogc3RyaW5nKSB7XG4gICAgZm9yIChjb25zdCBlbnRyeSBvZiB0aGlzLmVudHJpZXNBcnIpIHtcbiAgICAgIGlmIChlbnRyeS5rZXkgPT09IGtleSkgcmV0dXJuIGVudHJ5O1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgc2V0IG9ubmF2aWdhdGUoX2hhbmRsZXI6ICgodGhpczogTmF2aWdhdGlvbiwgZXY6IE5hdmlnYXRlRXZlbnQpID0+IGFueSkgfCBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bmltcGxlbWVudGVkJyk7XG4gIH1cblxuICBnZXQgb25uYXZpZ2F0ZSgpOiAoKHRoaXM6IE5hdmlnYXRpb24sIGV2OiBOYXZpZ2F0ZUV2ZW50KSA9PiBhbnkpIHwgbnVsbCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bmltcGxlbWVudGVkJyk7XG4gIH1cblxuICBzZXQgb25jdXJyZW50ZW50cnljaGFuZ2UoXG4gICAgX2hhbmRsZXI6ICgodGhpczogTmF2aWdhdGlvbiwgZXY6IE5hdmlnYXRpb25DdXJyZW50RW50cnlDaGFuZ2VFdmVudCkgPT4gYW55KSB8IG51bGwsXG4gICkge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5pbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgZ2V0IG9uY3VycmVudGVudHJ5Y2hhbmdlKCk6XG4gICAgfCAoKHRoaXM6IE5hdmlnYXRpb24sIGV2OiBOYXZpZ2F0aW9uQ3VycmVudEVudHJ5Q2hhbmdlRXZlbnQpID0+IGFueSlcbiAgICB8IG51bGwge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5pbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgc2V0IG9ubmF2aWdhdGVzdWNjZXNzKF9oYW5kbGVyOiAoKHRoaXM6IE5hdmlnYXRpb24sIGV2OiBFdmVudCkgPT4gYW55KSB8IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VuaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIGdldCBvbm5hdmlnYXRlc3VjY2VzcygpOiAoKHRoaXM6IE5hdmlnYXRpb24sIGV2OiBFdmVudCkgPT4gYW55KSB8IG51bGwge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5pbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgc2V0IG9ubmF2aWdhdGVlcnJvcihfaGFuZGxlcjogKCh0aGlzOiBOYXZpZ2F0aW9uLCBldjogRXJyb3JFdmVudCkgPT4gYW55KSB8IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VuaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIGdldCBvbm5hdmlnYXRlZXJyb3IoKTogKCh0aGlzOiBOYXZpZ2F0aW9uLCBldjogRXJyb3JFdmVudCkgPT4gYW55KSB8IG51bGwge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5pbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgZ2V0IHRyYW5zaXRpb24oKTogTmF2aWdhdGlvblRyYW5zaXRpb24gfCBudWxsIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VuaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIHVwZGF0ZUN1cnJlbnRFbnRyeShfb3B0aW9uczogTmF2aWdhdGlvblVwZGF0ZUN1cnJlbnRFbnRyeU9wdGlvbnMpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VuaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIHJlbG9hZChfb3B0aW9ucz86IE5hdmlnYXRpb25SZWxvYWRPcHRpb25zKTogTmF2aWdhdGlvblJlc3VsdCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bmltcGxlbWVudGVkJyk7XG4gIH1cbn1cblxuLyoqXG4gKiBGYWtlIGVxdWl2YWxlbnQgb2YgdGhlIGBOYXZpZ2F0aW9uUmVzdWx0YCBpbnRlcmZhY2Ugd2l0aFxuICogYEZha2VOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5YC5cbiAqL1xuaW50ZXJmYWNlIEZha2VOYXZpZ2F0aW9uUmVzdWx0IGV4dGVuZHMgTmF2aWdhdGlvblJlc3VsdCB7XG4gIHJlYWRvbmx5IGNvbW1pdHRlZDogUHJvbWlzZTxGYWtlTmF2aWdhdGlvbkhpc3RvcnlFbnRyeT47XG4gIHJlYWRvbmx5IGZpbmlzaGVkOiBQcm9taXNlPEZha2VOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5Pjtcbn1cblxuLyoqXG4gKiBGYWtlIGVxdWl2YWxlbnQgb2YgYE5hdmlnYXRpb25IaXN0b3J5RW50cnlgLlxuICovXG5leHBvcnQgY2xhc3MgRmFrZU5hdmlnYXRpb25IaXN0b3J5RW50cnkgaW1wbGVtZW50cyBOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5IHtcbiAgcmVhZG9ubHkgc2FtZURvY3VtZW50O1xuXG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGtleTogc3RyaW5nO1xuICByZWFkb25seSBpbmRleDogbnVtYmVyO1xuICBwcml2YXRlIHJlYWRvbmx5IHN0YXRlOiB1bmtub3duO1xuICBwcml2YXRlIHJlYWRvbmx5IGhpc3RvcnlTdGF0ZTogdW5rbm93bjtcblxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55XG4gIG9uZGlzcG9zZTogKCh0aGlzOiBOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5LCBldjogRXZlbnQpID0+IGFueSkgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICByZWFkb25seSB1cmw6IHN0cmluZyB8IG51bGwsXG4gICAge1xuICAgICAgaWQsXG4gICAgICBrZXksXG4gICAgICBpbmRleCxcbiAgICAgIHNhbWVEb2N1bWVudCxcbiAgICAgIHN0YXRlLFxuICAgICAgaGlzdG9yeVN0YXRlLFxuICAgIH06IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgICBrZXk6IHN0cmluZztcbiAgICAgIGluZGV4OiBudW1iZXI7XG4gICAgICBzYW1lRG9jdW1lbnQ6IGJvb2xlYW47XG4gICAgICBoaXN0b3J5U3RhdGU6IHVua25vd247XG4gICAgICBzdGF0ZT86IHVua25vd247XG4gICAgfSxcbiAgKSB7XG4gICAgdGhpcy5pZCA9IGlkO1xuICAgIHRoaXMua2V5ID0ga2V5O1xuICAgIHRoaXMuaW5kZXggPSBpbmRleDtcbiAgICB0aGlzLnNhbWVEb2N1bWVudCA9IHNhbWVEb2N1bWVudDtcbiAgICB0aGlzLnN0YXRlID0gc3RhdGU7XG4gICAgdGhpcy5oaXN0b3J5U3RhdGUgPSBoaXN0b3J5U3RhdGU7XG4gIH1cblxuICBnZXRTdGF0ZSgpOiB1bmtub3duIHtcbiAgICAvLyBCdWRnZXQgY29weS5cbiAgICByZXR1cm4gdGhpcy5zdGF0ZSA/IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5zdGF0ZSkpIDogdGhpcy5zdGF0ZTtcbiAgfVxuXG4gIGdldEhpc3RvcnlTdGF0ZSgpOiB1bmtub3duIHtcbiAgICAvLyBCdWRnZXQgY29weS5cbiAgICByZXR1cm4gdGhpcy5oaXN0b3J5U3RhdGUgPyBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuaGlzdG9yeVN0YXRlKSkgOiB0aGlzLmhpc3RvcnlTdGF0ZTtcbiAgfVxuXG4gIGFkZEV2ZW50TGlzdGVuZXIoXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIGNhbGxiYWNrOiBFdmVudExpc3RlbmVyT3JFdmVudExpc3RlbmVyT2JqZWN0LFxuICAgIG9wdGlvbnM/OiBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyB8IGJvb2xlYW4sXG4gICkge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5pbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgcmVtb3ZlRXZlbnRMaXN0ZW5lcihcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgY2FsbGJhY2s6IEV2ZW50TGlzdGVuZXJPckV2ZW50TGlzdGVuZXJPYmplY3QsXG4gICAgb3B0aW9ucz86IEV2ZW50TGlzdGVuZXJPcHRpb25zIHwgYm9vbGVhbixcbiAgKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bmltcGxlbWVudGVkJyk7XG4gIH1cblxuICBkaXNwYXRjaEV2ZW50KGV2ZW50OiBFdmVudCk6IGJvb2xlYW4ge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5pbXBsZW1lbnRlZCcpO1xuICB9XG59XG5cbi8qKiBgTmF2aWdhdGlvbkludGVyY2VwdE9wdGlvbnNgIHdpdGggZXhwZXJpbWVudGFsIGNvbW1pdCBvcHRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIEV4cGVyaW1lbnRhbE5hdmlnYXRpb25JbnRlcmNlcHRPcHRpb25zIGV4dGVuZHMgTmF2aWdhdGlvbkludGVyY2VwdE9wdGlvbnMge1xuICBjb21taXQ/OiAnaW1tZWRpYXRlJyB8ICdhZnRlci10cmFuc2l0aW9uJztcbn1cblxuLyoqIGBOYXZpZ2F0ZUV2ZW50YCB3aXRoIGV4cGVyaW1lbnRhbCBjb21taXQgZnVuY3Rpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIEV4cGVyaW1lbnRhbE5hdmlnYXRlRXZlbnQgZXh0ZW5kcyBOYXZpZ2F0ZUV2ZW50IHtcbiAgaW50ZXJjZXB0KG9wdGlvbnM/OiBFeHBlcmltZW50YWxOYXZpZ2F0aW9uSW50ZXJjZXB0T3B0aW9ucyk6IHZvaWQ7XG5cbiAgY29tbWl0KCk6IHZvaWQ7XG59XG5cbi8qKlxuICogRmFrZSBlcXVpdmFsZW50IG9mIGBOYXZpZ2F0ZUV2ZW50YC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGYWtlTmF2aWdhdGVFdmVudCBleHRlbmRzIEV4cGVyaW1lbnRhbE5hdmlnYXRlRXZlbnQge1xuICByZWFkb25seSBkZXN0aW5hdGlvbjogRmFrZU5hdmlnYXRpb25EZXN0aW5hdGlvbjtcbn1cblxuaW50ZXJmYWNlIEludGVybmFsRmFrZU5hdmlnYXRlRXZlbnQgZXh0ZW5kcyBGYWtlTmF2aWdhdGVFdmVudCB7XG4gIHJlYWRvbmx5IHNhbWVEb2N1bWVudDogYm9vbGVhbjtcbiAgcmVhZG9ubHkgc2tpcFBvcFN0YXRlPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgY29tbWl0T3B0aW9uOiAnYWZ0ZXItdHJhbnNpdGlvbicgfCAnaW1tZWRpYXRlJztcbiAgcmVhZG9ubHkgcmVzdWx0OiBJbnRlcm5hbE5hdmlnYXRpb25SZXN1bHQ7XG5cbiAgY29tbWl0KGludGVybmFsPzogYm9vbGVhbik6IHZvaWQ7XG4gIGNhbmNlbChyZWFzb246IEVycm9yKTogdm9pZDtcbiAgZGlzcGF0Y2hlZE5hdmlnYXRlRXZlbnQoKTogdm9pZDtcbiAgdXNlckFnZW50TmF2aWdhdGVkKGVudHJ5OiBGYWtlTmF2aWdhdGlvbkhpc3RvcnlFbnRyeSk6IHZvaWQ7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgZmFrZSBlcXVpdmFsZW50IG9mIGBOYXZpZ2F0ZUV2ZW50YC4gVGhpcyBpcyBub3QgYSBjbGFzcyBiZWNhdXNlIEVTNVxuICogdHJhbnNwaWxlZCBKYXZhU2NyaXB0IGNhbm5vdCBleHRlbmQgbmF0aXZlIEV2ZW50LlxuICovXG5mdW5jdGlvbiBjcmVhdGVGYWtlTmF2aWdhdGVFdmVudCh7XG4gIGNhbmNlbGFibGUsXG4gIGNhbkludGVyY2VwdCxcbiAgdXNlckluaXRpYXRlZCxcbiAgaGFzaENoYW5nZSxcbiAgbmF2aWdhdGlvblR5cGUsXG4gIHNpZ25hbCxcbiAgZGVzdGluYXRpb24sXG4gIGluZm8sXG4gIHNhbWVEb2N1bWVudCxcbiAgc2tpcFBvcFN0YXRlLFxuICByZXN1bHQsXG4gIHVzZXJBZ2VudENvbW1pdCxcbn06IHtcbiAgY2FuY2VsYWJsZTogYm9vbGVhbjtcbiAgY2FuSW50ZXJjZXB0OiBib29sZWFuO1xuICB1c2VySW5pdGlhdGVkOiBib29sZWFuO1xuICBoYXNoQ2hhbmdlOiBib29sZWFuO1xuICBuYXZpZ2F0aW9uVHlwZTogTmF2aWdhdGlvblR5cGVTdHJpbmc7XG4gIHNpZ25hbDogQWJvcnRTaWduYWw7XG4gIGRlc3RpbmF0aW9uOiBGYWtlTmF2aWdhdGlvbkRlc3RpbmF0aW9uO1xuICBpbmZvOiB1bmtub3duO1xuICBzYW1lRG9jdW1lbnQ6IGJvb2xlYW47XG4gIHNraXBQb3BTdGF0ZT86IGJvb2xlYW47XG4gIHJlc3VsdDogSW50ZXJuYWxOYXZpZ2F0aW9uUmVzdWx0O1xuICB1c2VyQWdlbnRDb21taXQ6ICgpID0+IHZvaWQ7XG59KSB7XG4gIGNvbnN0IGV2ZW50ID0gbmV3IEV2ZW50KCduYXZpZ2F0ZScsIHtidWJibGVzOiBmYWxzZSwgY2FuY2VsYWJsZX0pIGFzIHtcbiAgICAtcmVhZG9ubHkgW1AgaW4ga2V5b2YgSW50ZXJuYWxGYWtlTmF2aWdhdGVFdmVudF06IEludGVybmFsRmFrZU5hdmlnYXRlRXZlbnRbUF07XG4gIH07XG4gIGV2ZW50LmNhbkludGVyY2VwdCA9IGNhbkludGVyY2VwdDtcbiAgZXZlbnQudXNlckluaXRpYXRlZCA9IHVzZXJJbml0aWF0ZWQ7XG4gIGV2ZW50Lmhhc2hDaGFuZ2UgPSBoYXNoQ2hhbmdlO1xuICBldmVudC5uYXZpZ2F0aW9uVHlwZSA9IG5hdmlnYXRpb25UeXBlO1xuICBldmVudC5zaWduYWwgPSBzaWduYWw7XG4gIGV2ZW50LmRlc3RpbmF0aW9uID0gZGVzdGluYXRpb247XG4gIGV2ZW50LmluZm8gPSBpbmZvO1xuICBldmVudC5kb3dubG9hZFJlcXVlc3QgPSBudWxsO1xuICBldmVudC5mb3JtRGF0YSA9IG51bGw7XG5cbiAgZXZlbnQuc2FtZURvY3VtZW50ID0gc2FtZURvY3VtZW50O1xuICBldmVudC5za2lwUG9wU3RhdGUgPSBza2lwUG9wU3RhdGU7XG4gIGV2ZW50LmNvbW1pdE9wdGlvbiA9ICdpbW1lZGlhdGUnO1xuXG4gIGxldCBoYW5kbGVyRmluaXNoZWQ6IFByb21pc2U8dm9pZD4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gIGxldCBpbnRlcmNlcHRDYWxsZWQgPSBmYWxzZTtcbiAgbGV0IGRpc3BhdGNoZWROYXZpZ2F0ZUV2ZW50ID0gZmFsc2U7XG4gIGxldCBjb21taXRDYWxsZWQgPSBmYWxzZTtcblxuICBldmVudC5pbnRlcmNlcHQgPSBmdW5jdGlvbiAoXG4gICAgdGhpczogSW50ZXJuYWxGYWtlTmF2aWdhdGVFdmVudCxcbiAgICBvcHRpb25zPzogRXhwZXJpbWVudGFsTmF2aWdhdGlvbkludGVyY2VwdE9wdGlvbnMsXG4gICk6IHZvaWQge1xuICAgIGludGVyY2VwdENhbGxlZCA9IHRydWU7XG4gICAgZXZlbnQuc2FtZURvY3VtZW50ID0gdHJ1ZTtcbiAgICBjb25zdCBoYW5kbGVyID0gb3B0aW9ucz8uaGFuZGxlcjtcbiAgICBpZiAoaGFuZGxlcikge1xuICAgICAgaGFuZGxlckZpbmlzaGVkID0gaGFuZGxlcigpO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucz8uY29tbWl0KSB7XG4gICAgICBldmVudC5jb21taXRPcHRpb24gPSBvcHRpb25zLmNvbW1pdDtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnM/LmZvY3VzUmVzZXQgIT09IHVuZGVmaW5lZCB8fCBvcHRpb25zPy5zY3JvbGwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCd1bmltcGxlbWVudGVkJyk7XG4gICAgfVxuICB9O1xuXG4gIGV2ZW50LnNjcm9sbCA9IGZ1bmN0aW9uICh0aGlzOiBJbnRlcm5hbEZha2VOYXZpZ2F0ZUV2ZW50KTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bmltcGxlbWVudGVkJyk7XG4gIH07XG5cbiAgZXZlbnQuY29tbWl0ID0gZnVuY3Rpb24gKHRoaXM6IEludGVybmFsRmFrZU5hdmlnYXRlRXZlbnQsIGludGVybmFsID0gZmFsc2UpIHtcbiAgICBpZiAoIWludGVybmFsICYmICFpbnRlcmNlcHRDYWxsZWQpIHtcbiAgICAgIHRocm93IG5ldyBET01FeGNlcHRpb24oXG4gICAgICAgIGBGYWlsZWQgdG8gZXhlY3V0ZSAnY29tbWl0JyBvbiAnTmF2aWdhdGVFdmVudCc6IGludGVyY2VwdCgpIG11c3QgYmUgYCArXG4gICAgICAgICAgYGNhbGxlZCBiZWZvcmUgY29tbWl0KCkuYCxcbiAgICAgICAgJ0ludmFsaWRTdGF0ZUVycm9yJyxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICghZGlzcGF0Y2hlZE5hdmlnYXRlRXZlbnQpIHtcbiAgICAgIHRocm93IG5ldyBET01FeGNlcHRpb24oXG4gICAgICAgIGBGYWlsZWQgdG8gZXhlY3V0ZSAnY29tbWl0JyBvbiAnTmF2aWdhdGVFdmVudCc6IGNvbW1pdCgpIG1heSBub3QgYmUgYCArXG4gICAgICAgICAgYGNhbGxlZCBkdXJpbmcgZXZlbnQgZGlzcGF0Y2guYCxcbiAgICAgICAgJ0ludmFsaWRTdGF0ZUVycm9yJyxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChjb21taXRDYWxsZWQpIHtcbiAgICAgIHRocm93IG5ldyBET01FeGNlcHRpb24oXG4gICAgICAgIGBGYWlsZWQgdG8gZXhlY3V0ZSAnY29tbWl0JyBvbiAnTmF2aWdhdGVFdmVudCc6IGNvbW1pdCgpIGFscmVhZHkgYCArIGBjYWxsZWQuYCxcbiAgICAgICAgJ0ludmFsaWRTdGF0ZUVycm9yJyxcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbW1pdENhbGxlZCA9IHRydWU7XG5cbiAgICB1c2VyQWdlbnRDb21taXQoKTtcbiAgfTtcblxuICAvLyBJbnRlcm5hbCBvbmx5LlxuICBldmVudC5jYW5jZWwgPSBmdW5jdGlvbiAodGhpczogSW50ZXJuYWxGYWtlTmF2aWdhdGVFdmVudCwgcmVhc29uOiBFcnJvcikge1xuICAgIHJlc3VsdC5jb21taXR0ZWRSZWplY3QocmVhc29uKTtcbiAgICByZXN1bHQuZmluaXNoZWRSZWplY3QocmVhc29uKTtcbiAgfTtcblxuICAvLyBJbnRlcm5hbCBvbmx5LlxuICBldmVudC5kaXNwYXRjaGVkTmF2aWdhdGVFdmVudCA9IGZ1bmN0aW9uICh0aGlzOiBJbnRlcm5hbEZha2VOYXZpZ2F0ZUV2ZW50KSB7XG4gICAgZGlzcGF0Y2hlZE5hdmlnYXRlRXZlbnQgPSB0cnVlO1xuICAgIGlmIChldmVudC5jb21taXRPcHRpb24gPT09ICdhZnRlci10cmFuc2l0aW9uJykge1xuICAgICAgLy8gSWYgaGFuZGxlciBmaW5pc2hlcyBiZWZvcmUgY29tbWl0LCBjYWxsIGNvbW1pdC5cbiAgICAgIGhhbmRsZXJGaW5pc2hlZD8udGhlbihcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIGlmICghY29tbWl0Q2FsbGVkKSB7XG4gICAgICAgICAgICBldmVudC5jb21taXQoLyogaW50ZXJuYWwgKi8gdHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAoKSA9PiB7fSxcbiAgICAgICk7XG4gICAgfVxuICAgIFByb21pc2UuYWxsKFtyZXN1bHQuY29tbWl0dGVkLCBoYW5kbGVyRmluaXNoZWRdKS50aGVuKFxuICAgICAgKFtlbnRyeV0pID0+IHtcbiAgICAgICAgcmVzdWx0LmZpbmlzaGVkUmVzb2x2ZShlbnRyeSk7XG4gICAgICB9LFxuICAgICAgKHJlYXNvbikgPT4ge1xuICAgICAgICByZXN1bHQuZmluaXNoZWRSZWplY3QocmVhc29uKTtcbiAgICAgIH0sXG4gICAgKTtcbiAgfTtcblxuICAvLyBJbnRlcm5hbCBvbmx5LlxuICBldmVudC51c2VyQWdlbnROYXZpZ2F0ZWQgPSBmdW5jdGlvbiAoXG4gICAgdGhpczogSW50ZXJuYWxGYWtlTmF2aWdhdGVFdmVudCxcbiAgICBlbnRyeTogRmFrZU5hdmlnYXRpb25IaXN0b3J5RW50cnksXG4gICkge1xuICAgIHJlc3VsdC5jb21taXR0ZWRSZXNvbHZlKGVudHJ5KTtcbiAgfTtcblxuICByZXR1cm4gZXZlbnQgYXMgSW50ZXJuYWxGYWtlTmF2aWdhdGVFdmVudDtcbn1cblxuLyoqIEZha2UgZXF1aXZhbGVudCBvZiBgTmF2aWdhdGlvbkN1cnJlbnRFbnRyeUNoYW5nZUV2ZW50YC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmFrZU5hdmlnYXRpb25DdXJyZW50RW50cnlDaGFuZ2VFdmVudCBleHRlbmRzIE5hdmlnYXRpb25DdXJyZW50RW50cnlDaGFuZ2VFdmVudCB7XG4gIHJlYWRvbmx5IGZyb206IEZha2VOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5O1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIGZha2UgZXF1aXZhbGVudCBvZiBgTmF2aWdhdGlvbkN1cnJlbnRFbnRyeUNoYW5nZWAuIFRoaXMgZG9lcyBub3QgdXNlXG4gKiBhIGNsYXNzIGJlY2F1c2UgRVM1IHRyYW5zcGlsZWQgSmF2YVNjcmlwdCBjYW5ub3QgZXh0ZW5kIG5hdGl2ZSBFdmVudC5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlRmFrZU5hdmlnYXRpb25DdXJyZW50RW50cnlDaGFuZ2VFdmVudCh7XG4gIGZyb20sXG4gIG5hdmlnYXRpb25UeXBlLFxufToge1xuICBmcm9tOiBGYWtlTmF2aWdhdGlvbkhpc3RvcnlFbnRyeTtcbiAgbmF2aWdhdGlvblR5cGU6IE5hdmlnYXRpb25UeXBlU3RyaW5nO1xufSkge1xuICBjb25zdCBldmVudCA9IG5ldyBFdmVudCgnY3VycmVudGVudHJ5Y2hhbmdlJywge1xuICAgIGJ1YmJsZXM6IGZhbHNlLFxuICAgIGNhbmNlbGFibGU6IGZhbHNlLFxuICB9KSBhcyB7XG4gICAgLXJlYWRvbmx5IFtQIGluIGtleW9mIE5hdmlnYXRpb25DdXJyZW50RW50cnlDaGFuZ2VFdmVudF06IE5hdmlnYXRpb25DdXJyZW50RW50cnlDaGFuZ2VFdmVudFtQXTtcbiAgfTtcbiAgZXZlbnQuZnJvbSA9IGZyb207XG4gIGV2ZW50Lm5hdmlnYXRpb25UeXBlID0gbmF2aWdhdGlvblR5cGU7XG4gIHJldHVybiBldmVudCBhcyBGYWtlTmF2aWdhdGlvbkN1cnJlbnRFbnRyeUNoYW5nZUV2ZW50O1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIGZha2UgZXF1aXZhbGVudCBvZiBgUG9wU3RhdGVFdmVudGAuIFRoaXMgZG9lcyBub3QgdXNlIGEgY2xhc3NcbiAqIGJlY2F1c2UgRVM1IHRyYW5zcGlsZWQgSmF2YVNjcmlwdCBjYW5ub3QgZXh0ZW5kIG5hdGl2ZSBFdmVudC5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlUG9wU3RhdGVFdmVudCh7c3RhdGV9OiB7c3RhdGU6IHVua25vd259KSB7XG4gIGNvbnN0IGV2ZW50ID0gbmV3IEV2ZW50KCdwb3BzdGF0ZScsIHtcbiAgICBidWJibGVzOiBmYWxzZSxcbiAgICBjYW5jZWxhYmxlOiBmYWxzZSxcbiAgfSkgYXMgey1yZWFkb25seSBbUCBpbiBrZXlvZiBQb3BTdGF0ZUV2ZW50XTogUG9wU3RhdGVFdmVudFtQXX07XG4gIGV2ZW50LnN0YXRlID0gc3RhdGU7XG4gIHJldHVybiBldmVudCBhcyBQb3BTdGF0ZUV2ZW50O1xufVxuXG4vKipcbiAqIEZha2UgZXF1aXZhbGVudCBvZiBgTmF2aWdhdGlvbkRlc3RpbmF0aW9uYC5cbiAqL1xuZXhwb3J0IGNsYXNzIEZha2VOYXZpZ2F0aW9uRGVzdGluYXRpb24gaW1wbGVtZW50cyBOYXZpZ2F0aW9uRGVzdGluYXRpb24ge1xuICByZWFkb25seSB1cmw6IHN0cmluZztcbiAgcmVhZG9ubHkgc2FtZURvY3VtZW50OiBib29sZWFuO1xuICByZWFkb25seSBrZXk6IHN0cmluZyB8IG51bGw7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmcgfCBudWxsO1xuICByZWFkb25seSBpbmRleDogbnVtYmVyO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc3RhdGU/OiB1bmtub3duO1xuICBwcml2YXRlIHJlYWRvbmx5IGhpc3RvcnlTdGF0ZTogdW5rbm93bjtcblxuICBjb25zdHJ1Y3Rvcih7XG4gICAgdXJsLFxuICAgIHNhbWVEb2N1bWVudCxcbiAgICBoaXN0b3J5U3RhdGUsXG4gICAgc3RhdGUsXG4gICAga2V5ID0gbnVsbCxcbiAgICBpZCA9IG51bGwsXG4gICAgaW5kZXggPSAtMSxcbiAgfToge1xuICAgIHVybDogc3RyaW5nO1xuICAgIHNhbWVEb2N1bWVudDogYm9vbGVhbjtcbiAgICBoaXN0b3J5U3RhdGU6IHVua25vd247XG4gICAgc3RhdGU/OiB1bmtub3duO1xuICAgIGtleT86IHN0cmluZyB8IG51bGw7XG4gICAgaWQ/OiBzdHJpbmcgfCBudWxsO1xuICAgIGluZGV4PzogbnVtYmVyO1xuICB9KSB7XG4gICAgdGhpcy51cmwgPSB1cmw7XG4gICAgdGhpcy5zYW1lRG9jdW1lbnQgPSBzYW1lRG9jdW1lbnQ7XG4gICAgdGhpcy5zdGF0ZSA9IHN0YXRlO1xuICAgIHRoaXMuaGlzdG9yeVN0YXRlID0gaGlzdG9yeVN0YXRlO1xuICAgIHRoaXMua2V5ID0ga2V5O1xuICAgIHRoaXMuaWQgPSBpZDtcbiAgICB0aGlzLmluZGV4ID0gaW5kZXg7XG4gIH1cblxuICBnZXRTdGF0ZSgpOiB1bmtub3duIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZTtcbiAgfVxuXG4gIGdldEhpc3RvcnlTdGF0ZSgpOiB1bmtub3duIHtcbiAgICByZXR1cm4gdGhpcy5oaXN0b3J5U3RhdGU7XG4gIH1cbn1cblxuLyoqIFV0aWxpdHkgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdHdvIFVybExpa2UgaGF2ZSB0aGUgc2FtZSBoYXNoLiAqL1xuZnVuY3Rpb24gaXNIYXNoQ2hhbmdlKGZyb206IFVSTCwgdG86IFVSTCk6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIHRvLmhhc2ggIT09IGZyb20uaGFzaCAmJlxuICAgIHRvLmhvc3RuYW1lID09PSBmcm9tLmhvc3RuYW1lICYmXG4gICAgdG8ucGF0aG5hbWUgPT09IGZyb20ucGF0aG5hbWUgJiZcbiAgICB0by5zZWFyY2ggPT09IGZyb20uc2VhcmNoXG4gICk7XG59XG5cbi8qKiBJbnRlcm5hbCB1dGlsaXR5IGNsYXNzIGZvciByZXByZXNlbnRpbmcgdGhlIHJlc3VsdCBvZiBhIG5hdmlnYXRpb24uICAqL1xuY2xhc3MgSW50ZXJuYWxOYXZpZ2F0aW9uUmVzdWx0IHtcbiAgY29tbWl0dGVkUmVzb2x2ZSE6IChlbnRyeTogRmFrZU5hdmlnYXRpb25IaXN0b3J5RW50cnkpID0+IHZvaWQ7XG4gIGNvbW1pdHRlZFJlamVjdCE6IChyZWFzb246IEVycm9yKSA9PiB2b2lkO1xuICBmaW5pc2hlZFJlc29sdmUhOiAoZW50cnk6IEZha2VOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5KSA9PiB2b2lkO1xuICBmaW5pc2hlZFJlamVjdCE6IChyZWFzb246IEVycm9yKSA9PiB2b2lkO1xuICByZWFkb25seSBjb21taXR0ZWQ6IFByb21pc2U8RmFrZU5hdmlnYXRpb25IaXN0b3J5RW50cnk+O1xuICByZWFkb25seSBmaW5pc2hlZDogUHJvbWlzZTxGYWtlTmF2aWdhdGlvbkhpc3RvcnlFbnRyeT47XG4gIGdldCBzaWduYWwoKTogQWJvcnRTaWduYWwge1xuICAgIHJldHVybiB0aGlzLmFib3J0Q29udHJvbGxlci5zaWduYWw7XG4gIH1cbiAgcHJpdmF0ZSByZWFkb25seSBhYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5jb21taXR0ZWQgPSBuZXcgUHJvbWlzZTxGYWtlTmF2aWdhdGlvbkhpc3RvcnlFbnRyeT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5jb21taXR0ZWRSZXNvbHZlID0gcmVzb2x2ZTtcbiAgICAgIHRoaXMuY29tbWl0dGVkUmVqZWN0ID0gcmVqZWN0O1xuICAgIH0pO1xuXG4gICAgdGhpcy5maW5pc2hlZCA9IG5ldyBQcm9taXNlPEZha2VOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5Pihhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLmZpbmlzaGVkUmVzb2x2ZSA9IHJlc29sdmU7XG4gICAgICB0aGlzLmZpbmlzaGVkUmVqZWN0ID0gKHJlYXNvbjogRXJyb3IpID0+IHtcbiAgICAgICAgcmVqZWN0KHJlYXNvbik7XG4gICAgICAgIHRoaXMuYWJvcnRDb250cm9sbGVyLmFib3J0KHJlYXNvbik7XG4gICAgICB9O1xuICAgIH0pO1xuICAgIC8vIEFsbCByZWplY3Rpb25zIGFyZSBoYW5kbGVkLlxuICAgIHRoaXMuY29tbWl0dGVkLmNhdGNoKCgpID0+IHt9KTtcbiAgICB0aGlzLmZpbmlzaGVkLmNhdGNoKCgpID0+IHt9KTtcbiAgfVxufVxuXG4vKiogSW50ZXJuYWwgb3B0aW9ucyBmb3IgcGVyZm9ybWluZyBhIG5hdmlnYXRlLiAqL1xuaW50ZXJmYWNlIEludGVybmFsTmF2aWdhdGVPcHRpb25zIHtcbiAgbmF2aWdhdGlvblR5cGU6IE5hdmlnYXRpb25UeXBlU3RyaW5nO1xuICBjYW5jZWxhYmxlOiBib29sZWFuO1xuICBjYW5JbnRlcmNlcHQ6IGJvb2xlYW47XG4gIHVzZXJJbml0aWF0ZWQ6IGJvb2xlYW47XG4gIGhhc2hDaGFuZ2U6IGJvb2xlYW47XG4gIGluZm8/OiB1bmtub3duO1xuICBza2lwUG9wU3RhdGU/OiBib29sZWFuO1xufVxuIl19
|
|
667
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFrZV9uYXZpZ2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3Rlc3Rpbmcvc3JjL25hdmlnYXRpb24vZmFrZV9uYXZpZ2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQWtCSDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUF3RHpCLCtDQUErQztJQUMvQyxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxZQUNtQixNQUFjLEVBQy9CLFFBQXlCO1FBRFIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXJFakM7OztXQUdHO1FBQ2MsZUFBVSxHQUFpQyxFQUFFLENBQUM7UUFFL0Q7O1dBRUc7UUFDSyxzQkFBaUIsR0FBRyxDQUFDLENBQUM7UUFFOUI7O1dBRUc7UUFDSyxrQkFBYSxHQUEwQyxTQUFTLENBQUM7UUFFekU7OztXQUdHO1FBQ2MsbUJBQWMsR0FBRyxJQUFJLEdBQUcsRUFBb0MsQ0FBQztRQUU5RTs7O1dBR0c7UUFDSyxrQkFBYSxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUUxQzs7O1dBR0c7UUFDSywwQkFBcUIsR0FBRyxDQUFDLENBQUM7UUFFbEM7OztXQUdHO1FBQ0ssMEJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBRXRDLDREQUE0RDtRQUNwRCx1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFFbEMsd0NBQXdDO1FB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QUFDO0lBQ2hDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmRldi9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtcbiAgTmF2aWdhdGVFdmVudCxcbiAgTmF2aWdhdGlvbixcbiAgTmF2aWdhdGlvbkN1cnJlbnRFbnRyeUNoYW5nZUV2ZW50LFxuICBOYXZpZ2F0aW9uRGVzdGluYXRpb24sXG4gIE5hdmlnYXRpb25IaXN0b3J5RW50cnksXG4gIE5hdmlnYXRpb25JbnRlcmNlcHRPcHRpb25zLFxuICBOYXZpZ2F0aW9uTmF2aWdhdGVPcHRpb25zLFxuICBOYXZpZ2F0aW9uT3B0aW9ucyxcbiAgTmF2aWdhdGlvblJlbG9hZE9wdGlvbnMsXG4gIE5hdmlnYXRpb25SZXN1bHQsXG4gIE5hdmlnYXRpb25UcmFuc2l0aW9uLFxuICBOYXZpZ2F0aW9uVHlwZVN0cmluZyxcbiAgTmF2aWdhdGlvblVwZGF0ZUN1cnJlbnRFbnRyeU9wdGlvbnMsXG59IGZyb20gJy4vbmF2aWdhdGlvbl90eXBlcyc7XG5cbi8qKlxuICogRmFrZSBpbXBsZW1lbnRhdGlvbiBvZiB1c2VyIGFnZW50IGhpc3RvcnkgYW5kIG5hdmlnYXRpb24gYmVoYXZpb3IuIFRoaXMgaXMgYVxuICogaGlnaC1maWRlbGl0eSBpbXBsZW1lbnRhdGlvbiBvZiBicm93c2VyIGJlaGF2aW9yIHRoYXQgYXR0ZW1wdHMgdG8gZW11bGF0ZVxuICogdGhpbmdzIGxpa2UgdHJhdmVyc2FsIGRlbGF5LlxuICovXG5leHBvcnQgY2xhc3MgRmFrZU5hdmlnYXRpb24gaW1wbGVtZW50cyBOYXZpZ2F0aW9uIHtcbiAgLyoqXG4gICAqIFRoZSBmYWtlIGltcGxlbWVudGF0aW9uIG9mIGFuIGVudHJpZXMgYXJyYXkuIE9ubHkgc2FtZS1kb2N1bWVudCBlbnRyaWVzXG4gICAqIGFsbG93ZWQuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGVudHJpZXNBcnI6IEZha2VOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5W10gPSBbXTtcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgYWN0aXZlIGVudHJ5IGluZGV4IGludG8gYGVudHJpZXNBcnJgLlxuICAgKi9cbiAgcHJpdmF0ZSBjdXJyZW50RW50cnlJbmRleCA9IDA7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IG5hdmlnYXRlIGV2ZW50LlxuICAgKi9cbiAgcHJpdmF0ZSBuYXZpZ2F0ZUV2ZW50OiBJbnRlcm5hbEZha2VOYXZpZ2F0ZUV2ZW50IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBBIE1hcCBvZiBwZW5kaW5nIHRyYXZlcnNhbHMsIHNvIHRoYXQgdHJhdmVyc2FscyB0byB0aGUgc2FtZSBlbnRyeSBjYW4gYmVcbiAgICogcmUtdXNlZC5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgdHJhdmVyc2FsUXVldWUgPSBuZXcgTWFwPHN0cmluZywgSW50ZXJuYWxOYXZpZ2F0aW9uUmVzdWx0PigpO1xuXG4gIC8qKlxuICAgKiBBIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBwcmV2aW91cyB0cmF2ZXJzYWxzIGhhdmUgZmluaXNoZWQuIFVzZWQgdG9cbiAgICogc2ltdWxhdGUgdGhlIGNyb3NzLXByb2Nlc3MgY29tbXVuaWNhdGlvbiBuZWNlc3NhcnkgZm9yIHRyYXZlcnNhbHMuXG4gICAqL1xuICBwcml2YXRlIG5leHRUcmF2ZXJzYWwgPSBQcm9taXNlLnJlc29sdmUoKTtcblxuICAvKipcbiAgICogQSBwcm9zcGVjdGl2ZSBjdXJyZW50IGFjdGl2ZSBlbnRyeSBpbmRleCwgd2hpY2ggaW5jbHVkZXMgdW5yZXNvbHZlZFxuICAgKiB0cmF2ZXJzYWxzLiBVc2VkIGJ5IGBnb2AgdG8gZGV0ZXJtaW5lIHdoZXJlIG5hdmlnYXRpb25zIGFyZSBpbnRlbmRlZCB0byBnby5cbiAgICovXG4gIHByaXZhdGUgcHJvc3BlY3RpdmVFbnRyeUluZGV4ID0gMDtcblxuICAvKipcbiAgICogQSB0ZXN0LW9ubHkgb3B0aW9uIHRvIG1ha2UgdHJhdmVyc2FscyBzeW5jaHJvbm91cywgcmF0aGVyIHRoYW4gZW11bGF0ZVxuICAgKiBjcm9zcy1wcm9jZXNzIGNvbW11bmljYXRpb24uXG4gICAqL1xuICBwcml2YXRlIHN5bmNocm9ub3VzVHJhdmVyc2FscyA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRvIGFsbG93IGEgY2FsbCB0byBzZXRJbml0aWFsRW50cnlGb3JUZXN0aW5nLiAqL1xuICBwcml2YXRlIGNhblNldEluaXRpYWxFbnRyeSA9IHRydWU7XG5cbiAgLyoqIGBFdmVudFRhcmdldGAgdG8gZGlzcGF0Y2ggZXZlbnRzLiAqL1xuICBwcml2YXRlIGV2ZW50VGFyZ2V0OiBFdmVudFRhcmdldCA9IHRoaXMud2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gIC8qKiBUaGUgbmV4dCB1bmlxdWUgaWQgZm9yIGNyZWF0ZWQgZW50cmllcy4gUmVwbGFjZSByZWNyZWF0ZXMgdGhpcyBpZC4gKi9cbiAgcHJpdmF0ZSBuZXh0SWQgPSAwO1xuXG4gIC8qKiBUaGUgbmV4dCB1bmlxdWUga2V5IGZvciBjcmVhdGVkIGVudHJpZXMuIFJlcGxhY2UgaW5oZXJpdHMgdGhpcyBpZC4gKi9cbiAgcHJpdmF0ZSBuZXh0S2V5ID0gMDtcblxuICAvKiogV2hldGhlciB0aGlzIGZha2UgaXMgZGlzcG9zZWQuICovXG4gIHByaXZhdGUgZGlzcG9zZWQgPSBmYWxzZTtcblxuICAvKiogRXF1aXZhbGVudCB0byBgbmF2aWdhdGlvbi5jdXJyZW50RW50cnlgLiAqL1xuICBnZXQgY3VycmVudEVudHJ5KCk6IEZha2VOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5IHtcbiAgICByZXR1cm4gdGhpcy5lbnRyaWVzQXJyW3RoaXMuY3VycmVudEVudHJ5SW5kZXhdO1xuICB9XG5cbiAgZ2V0IGNhbkdvQmFjaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50RW50cnlJbmRleCA+IDA7XG4gIH1cblxuICBnZXQgY2FuR29Gb3J3YXJkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRFbnRyeUluZGV4IDwgdGhpcy5lbnRyaWVzQXJyLmxlbmd0aCAtIDE7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdzogV2luZG93LFxuICAgIHN0YXJ0VVJMOiBgaHR0cCR7c3RyaW5nfWAsXG4gICkge1xuICAgIC8vIEZpcnN0IGVudHJ5LlxuICAgIHRoaXMuc2V0SW5pdGlhbEVudHJ5Rm9yVGVzdGluZyhzdGFydFVSTCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgaW5pdGlhbCBlbnRyeS5cbiAgICovXG4gIHByaXZhdGUgc2V0SW5pdGlhbEVudHJ5Rm9yVGVzdGluZyhcbiAgICB1cmw6IGBodHRwJHtzdHJpbmd9YCxcbiAgICBvcHRpb25zOiB7aGlzdG9yeVN0YXRlOiB1bmtub3duOyBzdGF0ZT86IHVua25vd259ID0ge2hpc3RvcnlTdGF0ZTogbnVsbH0sXG4gICkge1xuICAgIGlmICghdGhpcy5jYW5TZXRJbml0aWFsRW50cnkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ3NldEluaXRpYWxFbnRyeUZvclRlc3RpbmcgY2FuIG9ubHkgYmUgY2FsbGVkIGJlZm9yZSBhbnkgJyArICduYXZpZ2F0aW9uIGhhcyBvY2N1cnJlZCcsXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCBjdXJyZW50SW5pdGlhbEVudHJ5ID0gdGhpcy5lbnRyaWVzQXJyWzBdO1xuICAgIHRoaXMuZW50cmllc0FyclswXSA9IG5ldyBGYWtlTmF2aWdhdGlvbkhpc3RvcnlFbnRyeShuZXcgVVJMKHVybCkudG9TdHJpbmcoKSwge1xuICAgICAgaW5kZXg6IDAsXG4gICAgICBrZXk6IGN1cnJlbnRJbml0aWFsRW50cnk/LmtleSA/PyBTdHJpbmcodGhpcy5uZXh0S2V5KyspLFxuICAgICAgaWQ6IGN1cnJlbnRJbml0aWFsRW50cnk/LmlkID8/IFN0cmluZyh0aGlzLm5leHRJZCsrKSxcbiAgICAgIHNhbWVEb2N1bWVudDogdHJ1ZSxcbiAgICAgIGhpc3RvcnlTdGF0ZTogb3B0aW9ucz8uaGlzdG9yeVN0YXRlLFxuICAgICAgc3RhdGU6IG9wdGlvbnMuc3RhdGUsXG4gICAgfSk7XG4gIH1cblxuICAvKiogUmV0dXJucyB3aGV0aGVyIHRoZSBpbml0aWFsIGVudHJ5IGlzIHN0aWxsIGVsaWdpYmxlIHRvIGJlIHNldC4gKi9cbiAgY2FuU2V0SW5pdGlhbEVudHJ5Rm9yVGVzdGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jYW5TZXRJbml0aWFsRW50cnk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB3aGV0aGVyIHRvIGVtdWxhdGUgdHJhdmVyc2FscyBhcyBzeW5jaHJvbm91cyByYXRoZXIgdGhhblxuICAgKiBhc3luY2hyb25vdXMuXG4gICAqL1xuICBzZXRTeW5jaHJvbm91c1RyYXZlcnNhbHNGb3JUZXN0aW5nKHN5bmNocm9ub3VzVHJhdmVyc2FsczogYm9vbGVhbikge1xuICAgIHRoaXMuc3luY2hyb25vdXNUcmF2ZXJzYWxzID0gc3luY2hyb25vdXNUcmF2ZXJzYWxzO1xuICB9XG5cbiAgLyoqIEVxdWl2YWxlbnQgdG8gYG5hdmlnYXRpb24uZW50cmllcygpYC4gKi9cbiAgZW50cmllcygpOiBGYWtlTmF2aWdhdGlvbkhpc3RvcnlFbnRyeVtdIHtcbiAgICByZXR1cm4gdGhpcy5lbnRyaWVzQXJyLnNsaWNlKCk7XG4gIH1cblxuICAvKiogRXF1aXZhbGVudCB0byBgbmF2aWdhdGlvbi5uYXZpZ2F0ZSgpYC4gKi9cbiAgbmF2aWdhdGUodXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBOYXZpZ2F0aW9uTmF2aWdhdGVPcHRpb25zKTogRmFrZU5hdmlnYXRpb25SZXN1bHQge1xuICAgIGNvbnN0IGZyb21VcmwgPSBuZXcgVVJMKHRoaXMuY3VycmVudEVudHJ5LnVybCEpO1xuICAgIGNvbnN0IHRvVXJsID0gbmV3IFVSTCh1cmwsIHRoaXMuY3VycmVudEVudHJ5LnVybCEpO1xuXG4gICAgbGV0IG5hdmlnYXRpb25UeXBlOiBOYXZpZ2F0aW9uVHlwZVN0cmluZztcbiAgICBpZiAoIW9wdGlvbnM/Lmhpc3RvcnkgfHwgb3B0aW9ucy5oaXN0b3J5ID09PSAnYXV0bycpIHtcbiAgICAgIC8vIEF1dG8gZGVmYXVsdHMgdG8gcHVzaCwgYnV0IGlmIHRoZSBVUkxzIGFyZSB0aGUgc2FtZSwgaXMgYSByZXBsYWNlLlxuICAgICAgaWYgKGZyb21VcmwudG9TdHJpbmcoKSA9PT0gdG9VcmwudG9TdHJpbmcoKSkge1xuICAgICAgICBuYXZpZ2F0aW9uVHlwZSA9ICdyZXBsYWNlJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5hdmlnYXRpb25UeXBlID0gJ3B1c2gnO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBuYXZpZ2F0aW9uVHlwZSA9IG9wdGlvbnMuaGlzdG9yeTtcbiAgICB9XG5cbiAgICBjb25zdCBoYXNoQ2hhbmdlID0gaXNIYXNoQ2hhbmdlKGZyb21VcmwsIHRvVXJsKTtcblxuICAgIGNvbnN0IGRlc3RpbmF0aW9uID0gbmV3IEZha2VOYXZpZ2F0aW9uRGVzdGluYXRpb24oe1xuICAgICAgdXJsOiB0b1VybC50b1N0cmluZygpLFxuICAgICAgc3RhdGU6IG9wdGlvbnM/LnN0YXRlLFxuICAgICAgc2FtZURvY3VtZW50OiBoYXNoQ2hhbmdlLFxuICAgICAgaGlzdG9yeVN0YXRlOiBudWxsLFxuICAgIH0pO1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBJbnRlcm5hbE5hdmlnYXRpb25SZXN1bHQoKTtcblxuICAgIHRoaXMudXNlckFnZW50TmF2aWdhdGUoZGVzdGluYXRpb24sIHJlc3VsdCwge1xuICAgICAgbmF2aWdhdGlvblR5cGUsXG4gICAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICAgICAgY2FuSW50ZXJjZXB0OiB0cnVlLFxuICAgICAgLy8gQWx3YXlzIGZhbHNlIGZvciBuYXZpZ2F0ZSgpLlxuICAgICAgdXNlckluaXRpYXRlZDogZmFsc2UsXG4gICAgICBoYXNoQ2hhbmdlLFxuICAgICAgaW5mbzogb3B0aW9ucz8uaW5mbyxcbiAgICB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICBjb21taXR0ZWQ6IHJlc3VsdC5jb21taXR0ZWQsXG4gICAgICBmaW5pc2hlZDogcmVzdWx0LmZpbmlzaGVkLFxuICAgIH07XG4gIH1cblxuICAvKiogRXF1aXZhbGVudCB0byBgaGlzdG9yeS5wdXNoU3RhdGUoKWAuICovXG4gIHB1c2hTdGF0ZShkYXRhOiB1bmtub3duLCB0aXRsZTogc3RyaW5nLCB1cmw/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnB1c2hPclJlcGxhY2VTdGF0ZSgncHVzaCcsIGRhdGEsIHRpdGxlLCB1cmwpO1xuICB9XG5cbiAgLyoqIEVxdWl2YWxlbnQgdG8gYGhpc3RvcnkucmVwbGFjZVN0YXRlKClgLiAqL1xuICByZXBsYWNlU3RhdGUoZGF0YTogdW5rbm93biwgdGl0bGU6IHN0cmluZywgdXJsPzogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5wdXNoT3JSZXBsYWNlU3RhdGUoJ3JlcGxhY2UnLCBkYXRhLCB0aXRsZSwgdXJsKTtcbiAgfVxuXG4gIHByaXZhdGUgcHVzaE9yUmVwbGFjZVN0YXRlKFxuICAgIG5hdmlnYXRpb25UeXBlOiBOYXZpZ2F0aW9uVHlwZVN0cmluZyxcbiAgICBkYXRhOiB1bmtub3duLFxuICAgIF90aXRsZTogc3RyaW5nLFxuICAgIHVybD86IHN0cmluZyxcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgZnJvbVVybCA9IG5ldyBVUkwodGhpcy5jdXJyZW50RW50cnkudXJsISk7XG4gICAgY29uc3QgdG9VcmwgPSB1cmwgPyBuZXcgVVJMKHVybCwgdGhpcy5jdXJyZW50RW50cnkudXJsISkgOiBmcm9tVXJsO1xuXG4gICAgY29uc3QgaGFzaENoYW5nZSA9IGlzSGFzaENoYW5nZShmcm9tVXJsLCB0b1VybCk7XG5cbiAgICBjb25zdCBkZXN0aW5hdGlvbiA9IG5ldyBGYWtlTmF2aWdhdGlvbkRlc3RpbmF0aW9uKHtcbiAgICAgIHVybDogdG9VcmwudG9TdHJpbmcoKSxcbiAgICAgIHNhbWVEb2N1bWVudDogdHJ1ZSxcbiAgICAgIGhpc3RvcnlTdGF0ZTogZGF0YSxcbiAgICB9KTtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgSW50ZXJuYWxOYXZpZ2F0aW9uUmVzdWx0KCk7XG5cbiAgICB0aGlzLnVzZXJBZ2VudE5hdmlnYXRlKGRlc3RpbmF0aW9uLCByZXN1bHQsIHtcbiAgICAgIG5hdmlnYXRpb25UeXBlLFxuICAgICAgY2FuY2VsYWJsZTogdHJ1ZSxcbiAgICAgIGNhbkludGVyY2VwdDogdHJ1ZSxcbiAgICAgIC8vIEFsd2F5cyBmYWxzZSBmb3IgcHVzaFN0YXRlKCkgb3IgcmVwbGFjZVN0YXRlKCkuXG4gICAgICB1c2VySW5pdGlhdGVkOiBmYWxzZSxcbiAgICAgIGhhc2hDaGFuZ2UsXG4gICAgICBza2lwUG9wU3RhdGU6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICAvKiogRXF1aXZhbGVudCB0byBgbmF2aWdhdGlvbi50cmF2ZXJzZVRvKClgLiAqL1xuICB0cmF2ZXJzZVRvKGtleTogc3RyaW5nLCBvcHRpb25zPzogTmF2aWdhdGlvbk9wdGlvbnMpOiBGYWtlTmF2aWdhdGlvblJlc3VsdCB7XG4gICAgY29uc3QgZnJvbVVybCA9IG5ldyBVUkwodGhpcy5jdXJyZW50RW50cnkudXJsISk7XG4gICAgY29uc3QgZW50cnkgPSB0aGlzLmZpbmRFbnRyeShrZXkpO1xuICAgIGlmICghZW50cnkpIHtcbiAgICAgIGNvbnN0IGRvbUV4Y2VwdGlvbiA9IG5ldyBET01FeGNlcHRpb24oJ0ludmFsaWQga2V5JywgJ0ludmFsaWRTdGF0ZUVycm9yJyk7XG4gICAgICBjb25zdCBjb21taXR0ZWQgPSBQcm9taXNlLnJlamVjdChkb21FeGNlcHRpb24pO1xuICAgICAgY29uc3QgZmluaXNoZWQgPSBQcm9taXNlLnJlamVjdChkb21FeGNlcHRpb24pO1xuICAgICAgY29tbWl0dGVkLmNhdGNoKCgpID0+IHt9KTtcbiAgICAgIGZpbmlzaGVkLmNhdGNoKCgpID0+IHt9KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbW1pdHRlZCxcbiAgICAgICAgZmluaXNoZWQsXG4gICAgICB9O1xuICAgIH1cbiAgICBpZiAoZW50cnkgPT09IHRoaXMuY3VycmVudEVudHJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb21taXR0ZWQ6IFByb21pc2UucmVzb2x2ZSh0aGlzLmN1cnJlbnRFbnRyeSksXG4gICAgICAgIGZpbmlzaGVkOiBQcm9taXNlLnJlc29sdmUodGhpcy5jdXJyZW50RW50cnkpLFxuICAgICAgfTtcbiAgICB9XG4gICAgaWYgKHRoaXMudHJhdmVyc2FsUXVldWUuaGFzKGVudHJ5LmtleSkpIHtcbiAgICAgIGNvbnN0IGV4aXN0aW5nUmVzdWx0ID0gdGhpcy50cmF2ZXJzYWxRdWV1ZS5nZXQoZW50cnkua2V5KSE7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb21taXR0ZWQ6IGV4aXN0aW5nUmVzdWx0LmNvbW1pdHRlZCxcbiAgICAgICAgZmluaXNoZWQ6IGV4aXN0aW5nUmVzdWx0LmZpbmlzaGVkLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCBoYXNoQ2hhbmdlID0gaXNIYXNoQ2hhbmdlKGZyb21VcmwsIG5ldyBVUkwoZW50cnkudXJsISwgdGhpcy5jdXJyZW50RW50cnkudXJsISkpO1xuICAgIGNvbnN0IGRlc3RpbmF0aW9uID0gbmV3IEZha2VOYXZpZ2F0aW9uRGVzdGluYXRpb24oe1xuICAgICAgdXJsOiBlbnRyeS51cmwhLFxuICAgICAgc3RhdGU6IGVudHJ5LmdldFN0YXRlKCksXG4gICAgICBoaXN0b3J5U3RhdGU6IGVudHJ5LmdldEhpc3RvcnlTdGF0ZSgpLFxuICAgICAga2V5OiBlbnRyeS5rZXksXG4gICAgICBpZDogZW50cnkuaWQsXG4gICAgICBpbmRleDogZW50cnkuaW5kZXgsXG4gICAgICBzYW1lRG9jdW1lbnQ6IGVudHJ5LnNhbWVEb2N1bWVudCxcbiAgICB9KTtcbiAgICB0aGlzLnByb3NwZWN0aXZlRW50cnlJbmRleCA9IGVudHJ5LmluZGV4O1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBJbnRlcm5hbE5hdmlnYXRpb25SZXN1bHQoKTtcbiAgICB0aGlzLnRyYXZlcnNhbFF1ZXVlLnNldChlbnRyeS5rZXksIHJlc3VsdCk7XG4gICAgdGhpcy5ydW5UcmF2ZXJzYWwoKCkgPT4ge1xuICAgICAgdGhpcy50cmF2ZXJzYWxRdWV1ZS5kZWxldGUoZW50cnkua2V5KTtcbiAgICAgIHRoaXMudXNlckFnZW50TmF2aWdhdGUoZGVzdGluYXRpb24sIHJlc3VsdCwge1xuICAgICAgICBuYXZpZ2F0aW9uVHlwZTogJ3RyYXZlcnNlJyxcbiAgICAgICAgY2FuY2VsYWJsZTogdHJ1ZSxcbiAgICAgICAgY2FuSW50ZXJjZXB0OiB0cnVlLFxuICAgICAgICAvLyBBbHdheXMgZmFsc2UgZm9yIHRyYXZlcnNlVG8oKS5cbiAgICAgICAgdXNlckluaXRpYXRlZDogZmFsc2UsXG4gICAgICAgIGhhc2hDaGFuZ2UsXG4gICAgICAgIGluZm86IG9wdGlvbnM/LmluZm8sXG4gICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgY29tbWl0dGVkOiByZXN1bHQuY29tbWl0dGVkLFxuICAgICAgZmluaXNoZWQ6IHJlc3VsdC5maW5pc2hlZCxcbiAgICB9O1xuICB9XG5cbiAgLyoqIEVxdWl2YWxlbnQgdG8gYG5hdmlnYXRpb24uYmFjaygpYC4gKi9cbiAgYmFjayhvcHRpb25zPzogTmF2aWdhdGlvbk9wdGlvbnMpOiBGYWtlTmF2aWdhdGlvblJlc3VsdCB7XG4gICAgaWYgKHRoaXMuY3VycmVudEVudHJ5SW5kZXggPT09IDApIHtcbiAgICAgIGNvbnN0IGRvbUV4Y2VwdGlvbiA9IG5ldyBET01FeGNlcHRpb24oJ0Nhbm5vdCBnbyBiYWNrJywgJ0ludmFsaWRTdGF0ZUVycm9yJyk7XG4gICAgICBjb25zdCBjb21taXR0ZWQgPSBQcm9taXNlLnJlamVjdChkb21FeGNlcHRpb24pO1xuICAgICAgY29uc3QgZmluaXNoZWQgPSBQcm9taXNlLnJlamVjdChkb21FeGNlcHRpb24pO1xuICAgICAgY29tbWl0dGVkLmNhdGNoKCgpID0+IHt9KTtcbiAgICAgIGZpbmlzaGVkLmNhdGNoKCgpID0+IHt9KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbW1pdHRlZCxcbiAgICAgICAgZmluaXNoZWQsXG4gICAgICB9O1xuICAgIH1cbiAgICBjb25zdCBlbnRyeSA9IHRoaXMuZW50cmllc0Fyclt0aGlzLmN1cnJlbnRFbnRyeUluZGV4IC0gMV07XG4gICAgcmV0dXJuIHRoaXMudHJhdmVyc2VUbyhlbnRyeS5rZXksIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqIEVxdWl2YWxlbnQgdG8gYG5hdmlnYXRpb24uZm9yd2FyZCgpYC4gKi9cbiAgZm9yd2FyZChvcHRpb25zPzogTmF2aWdhdGlvbk9wdGlvbnMpOiBGYWtlTmF2aWdhdGlvblJlc3VsdCB7XG4gICAgaWYgKHRoaXMuY3VycmVudEVudHJ5SW5kZXggPT09IHRoaXMuZW50cmllc0Fyci5sZW5ndGggLSAxKSB7XG4gICAgICBjb25zdCBkb21FeGNlcHRpb24gPSBuZXcgRE9NRXhjZXB0aW9uKCdDYW5ub3QgZ28gZm9yd2FyZCcsICdJbnZhbGlkU3RhdGVFcnJvcicpO1xuICAgICAgY29uc3QgY29tbWl0dGVkID0gUHJvbWlzZS5yZWplY3QoZG9tRXhjZXB0aW9uKTtcbiAgICAgIGNvbnN0IGZpbmlzaGVkID0gUHJvbWlzZS5yZWplY3QoZG9tRXhjZXB0aW9uKTtcbiAgICAgIGNvbW1pdHRlZC5jYXRjaCgoKSA9PiB7fSk7XG4gICAgICBmaW5pc2hlZC5jYXRjaCgoKSA9PiB7fSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb21taXR0ZWQsXG4gICAgICAgIGZpbmlzaGVkLFxuICAgICAgfTtcbiAgICB9XG4gICAgY29uc3QgZW50cnkgPSB0aGlzLmVudHJpZXNBcnJbdGhpcy5jdXJyZW50RW50cnlJbmRleCArIDFdO1xuICAgIHJldHVybiB0aGlzLnRyYXZlcnNlVG8oZW50cnkua2V5LCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFcXVpdmFsZW50IHRvIGBoaXN0b3J5LmdvKClgLlxuICAgKiBOb3RlIHRoYXQgdGhpcyBtZXRob2QgZG9lcyBub3QgYWN0dWFsbHkgd29yayBwcmVjaXNlbHkgdG8gaG93IENocm9tZVxuICAgKiBkb2VzLCBpbnN0ZWFkIGNob29zaW5nIGEgc2ltcGxlciBtb2RlbCB3aXRoIGxlc3MgdW5leHBlY3RlZCBiZWhhdmlvci5cbiAgICogQ2hyb21lIGhhcyBhIGZldyBlZGdlIGNhc2Ugb3B0aW1pemF0aW9ucywgZm9yIGluc3RhbmNlIHdpdGggcmVwZWF0ZWRcbiAgICogYGJhY2soKTsgZm9yd2FyZCgpYCBjaGFpbnMgaXQgY29sbGFwc2VzIGNlcnRhaW4gdHJhdmVyc2Fscy5cbiAgICovXG4gIGdvKGRpcmVjdGlvbjogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgdGFyZ2V0SW5kZXggPSB0aGlzLnByb3NwZWN0aXZlRW50cnlJbmRleCArIGRpcmVjdGlvbjtcbiAgICBpZiAodGFyZ2V0SW5kZXggPj0gdGhpcy5lbnRyaWVzQXJyLmxlbmd0aCB8fCB0YXJnZXRJbmRleCA8IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5wcm9zcGVjdGl2ZUVudHJ5SW5kZXggPSB0YXJnZXRJbmRleDtcbiAgICB0aGlzLnJ1blRyYXZlcnNhbCgoKSA9PiB7XG4gICAgICAvLyBDaGVjayBhZ2FpbiB0aGF0IGRlc3RpbmF0aW9uIGlzIGluIHRoZSBlbnRyaWVzIGFycmF5LlxuICAgICAgaWYgKHRhcmdldEluZGV4ID49IHRoaXMuZW50cmllc0Fyci5sZW5ndGggfHwgdGFyZ2V0SW5kZXggPCAwKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGZyb21VcmwgPSBuZXcgVVJMKHRoaXMuY3VycmVudEVudHJ5LnVybCEpO1xuICAgICAgY29uc3QgZW50cnkgPSB0aGlzLmVudHJpZXNBcnJbdGFyZ2V0SW5kZXhdO1xuICAgICAgY29uc3QgaGFzaENoYW5nZSA9IGlzSGFzaENoYW5nZShmcm9tVXJsLCBuZXcgVVJMKGVudHJ5LnVybCEsIHRoaXMuY3VycmVudEVudHJ5LnVybCEpKTtcbiAgICAgIGNvbnN0IGRlc3RpbmF0aW9uID0gbmV3IEZha2VOYXZpZ2F0aW9uRGVzdGluYXRpb24oe1xuICAgICAgICB1cmw6IGVudHJ5LnVybCEsXG4gICAgICAgIHN0YXRlOiBlbnRyeS5nZXRTdGF0ZSgpLFxuICAgICAgICBoaXN0b3J5U3RhdGU6IGVudHJ5LmdldEhpc3RvcnlTdGF0ZSgpLFxuICAgICAgICBrZXk6IGVudHJ5LmtleSxcbiAgICAgICAgaWQ6IGVudHJ5LmlkLFxuICAgICAgICBpbmRleDogZW50cnkuaW5kZXgsXG4gICAgICAgIHNhbWVEb2N1bWVudDogZW50cnkuc2FtZURvY3VtZW50LFxuICAgICAgfSk7XG4gICAgICBjb25zdCByZXN1bHQgPSBuZXcgSW50ZXJuYWxOYXZpZ2F0aW9uUmVzdWx0KCk7XG4gICAgICB0aGlzLnVzZXJBZ2VudE5hdmlnYXRlKGRlc3RpbmF0aW9uLCByZXN1bHQsIHtcbiAgICAgICAgbmF2aWdhdGlvblR5cGU6ICd0cmF2ZXJzZScsXG4gICAgICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgICAgIGNhbkludGVyY2VwdDogdHJ1ZSxcbiAgICAgICAgLy8gQWx3YXlzIGZhbHNlIGZvciBnbygpLlxuICAgICAgICB1c2VySW5pdGlhdGVkOiBmYWxzZSxcbiAgICAgICAgaGFzaENoYW5nZSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFJ1bnMgYSB0cmF2ZXJzYWwgc3luY2hyb25vdXNseSBvciBhc3luY2hyb25vdXNseSAqL1xuICBwcml2YXRlIHJ1blRyYXZlcnNhbCh0cmF2ZXJzYWw6ICgpID0+IHZvaWQpIHtcbiAgICBpZiAodGhpcy5zeW5jaHJvbm91c1RyYXZlcnNhbHMpIHtcbiAgICAgIHRyYXZlcnNhbCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIEVhY2ggdHJhdmVyc2FsIG9jY3VwaWVzIGEgc2luZ2xlIHRpbWVvdXQgcmVzb2x1dGlvbi5cbiAgICAvLyBUaGlzIG1lYW5zIHRoYXQgUHJvbWlzZXMgYWRkZWQgdG8gY29tbWl0IGFuZCBmaW5pc2ggc2hvdWxkIHJlc29sdmVcbiAgICAvLyBiZWZvcmUgdGhlIG5leHQgdHJhdmVyc2FsLlxuICAgIHRoaXMubmV4dFRyYXZlcnNhbCA9IHRoaXMubmV4dFRyYXZlcnNhbC50aGVuKCgpID0+IHtcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4ge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgdHJhdmVyc2FsKCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogRXF1aXZhbGVudCB0byBgbmF2aWdhdGlvbi5hZGRFdmVudExpc3RlbmVyKClgLiAqL1xuICBhZGRFdmVudExpc3RlbmVyKFxuICAgIHR5cGU6IHN0cmluZyxcbiAgICBjYWxsYmFjazogRXZlbnRMaXN0ZW5lck9yRXZlbnRMaXN0ZW5lck9iamVjdCxcbiAgICBvcHRpb25zPzogQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMgfCBib29sZWFuLFxuICApIHtcbiAgICB0aGlzLmV2ZW50VGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIodHlwZSwgY2FsbGJhY2ssIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqIEVxdWl2YWxlbnQgdG8gYG5hdmlnYXRpb24ucmVtb3ZlRXZlbnRMaXN0ZW5lcigpYC4gKi9cbiAgcmVtb3ZlRXZlbnRMaXN0ZW5lcihcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgY2FsbGJhY2s6IEV2ZW50TGlzdGVuZXJPckV2ZW50TGlzdGVuZXJPYmplY3QsXG4gICAgb3B0aW9ucz86IEV2ZW50TGlzdGVuZXJPcHRpb25zIHwgYm9vbGVhbixcbiAgKSB7XG4gICAgdGhpcy5ldmVudFRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKHR5cGUsIGNhbGxiYWNrLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKiBFcXVpdmFsZW50IHRvIGBuYXZpZ2F0aW9uLmRpc3BhdGNoRXZlbnQoKWAgKi9cbiAgZGlzcGF0Y2hFdmVudChldmVudDogRXZlbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ldmVudFRhcmdldC5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgfVxuXG4gIC8qKiBDbGVhbnMgdXAgcmVzb3VyY2VzLiAqL1xuICBkaXNwb3NlKCkge1xuICAgIC8vIFJlY3JlYXRlIGV2ZW50VGFyZ2V0IHRvIHJlbGVhc2UgY3VycmVudCBsaXN0ZW5lcnMuXG4gICAgLy8gYGRvY3VtZW50LmNyZWF0ZUVsZW1lbnRgIGJlY2F1c2UgTm9kZUpTIGBFdmVudFRhcmdldGAgaXMgaW5jb21wYXRpYmxlIHdpdGggRG9taW5vJ3MgYEV2ZW50YC5cbiAgICB0aGlzLmV2ZW50VGFyZ2V0ID0gdGhpcy53aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5kaXNwb3NlZCA9IHRydWU7XG4gIH1cblxuICAvKiogUmV0dXJucyB3aGV0aGVyIHRoaXMgZmFrZSBpcyBkaXNwb3NlZC4gKi9cbiAgaXNEaXNwb3NlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5kaXNwb3NlZDtcbiAgfVxuXG4gIC8qKiBJbXBsZW1lbnRhdGlvbiBmb3IgYWxsIG5hdmlnYXRpb25zIGFuZCB0cmF2ZXJzYWxzLiAqL1xuICBwcml2YXRlIHVzZXJBZ2VudE5hdmlnYXRlKFxuICAgIGRlc3RpbmF0aW9uOiBGYWtlTmF2aWdhdGlvbkRlc3RpbmF0aW9uLFxuICAgIHJlc3VsdDogSW50ZXJuYWxOYXZpZ2F0aW9uUmVzdWx0LFxuICAgIG9wdGlvbnM6IEludGVybmFsTmF2aWdhdGVPcHRpb25zLFxuICApIHtcbiAgICAvLyBUaGUgZmlyc3QgbmF2aWdhdGlvbiBzaG91bGQgZGlzYWxsb3cgYW55IGZ1dHVyZSBjYWxscyB0byBzZXQgdGhlIGluaXRpYWxcbiAgICAvLyBlbnRyeS5cbiAgICB0aGlzLmNhblNldEluaXRpYWxFbnRyeSA9IGZhbHNlO1xuICAgIGlmICh0aGlzLm5hdmlnYXRlRXZlbnQpIHtcbiAgICAgIHRoaXMubmF2aWdhdGVFdmVudC5jYW5jZWwobmV3IERPTUV4Y2VwdGlvbignTmF2aWdhdGlvbiB3YXMgYWJvcnRlZCcsICdBYm9ydEVycm9yJykpO1xuICAgICAgdGhpcy5uYXZpZ2F0ZUV2ZW50ID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IG5hdmlnYXRlRXZlbnQgPSBjcmVhdGVGYWtlTmF2aWdhdGVFdmVudCh7XG4gICAgICBuYXZpZ2F0aW9uVHlwZTogb3B0aW9ucy5uYXZpZ2F0aW9uVHlwZSxcbiAgICAgIGNhbmNlbGFibGU6IG9wdGlvbnMuY2FuY2VsYWJsZSxcbiAgICAgIGNhbkludGVyY2VwdDogb3B0aW9ucy5jYW5JbnRlcmNlcHQsXG4gICAgICB1c2VySW5pdGlhdGVkOiBvcHRpb25zLnVzZXJJbml0aWF0ZWQsXG4gICAgICBoYXNoQ2hhbmdlOiBvcHRpb25zLmhhc2hDaGFuZ2UsXG4gICAgICBzaWduYWw6IHJlc3VsdC5zaWduYWwsXG4gICAgICBkZXN0aW5hdGlvbixcbiAgICAgIGluZm86IG9wdGlvbnMuaW5mbyxcbiAgICAgIHNhbWVEb2N1bWVudDogZGVzdGluYXRpb24uc2FtZURvY3VtZW50LFxuICAgICAgc2tpcFBvcFN0YXRlOiBvcHRpb25zLnNraXBQb3BTdGF0ZSxcbiAgICAgIHJlc3VsdCxcbiAgICAgIHVzZXJBZ2VudENvbW1pdDogKCkgPT4ge1xuICAgICAgICB0aGlzLnVzZXJBZ2VudENvbW1pdCgpO1xuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRoaXMubmF2aWdhdGVFdmVudCA9IG5hdmlnYXRlRXZlbnQ7XG4gICAgdGhpcy5ldmVudFRhcmdldC5kaXNwYXRjaEV2ZW50KG5hdmlnYXRlRXZlbnQpO1xuICAgIG5hdmlnYXRlRXZlbnQuZGlzcGF0Y2hlZE5hdmlnYXRlRXZlbnQoKTtcbiAgICBpZiAobmF2aWdhdGVFdmVudC5jb21taXRPcHRpb24gPT09ICdpbW1lZGlhdGUnKSB7XG4gICAgICBuYXZpZ2F0ZUV2ZW50LmNvbW1pdCgvKiBpbnRlcm5hbD0gKi8gdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEltcGxlbWVudGF0aW9uIHRvIGNvbW1pdCBhIG5hdmlnYXRpb24uICovXG4gIHByaXZhdGUgdXNlckFnZW50Q29tbWl0KCkge1xuICAgIGlmICghdGhpcy5uYXZpZ2F0ZUV2ZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGZyb20gPSB0aGlzLmN1cnJlbnRFbnRyeTtcbiAgICBpZiAoIXRoaXMubmF2aWdhdGVFdmVudC5zYW1lRG9jdW1lbnQpIHtcbiAgICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKCdDYW5ub3QgbmF2aWdhdGUgdG8gYSBub24tc2FtZS1kb2N1bWVudCBVUkwuJyk7XG4gICAgICB0aGlzLm5hdmlnYXRlRXZlbnQuY2FuY2VsKGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICB0aGlzLm5hdmlnYXRlRXZlbnQubmF2aWdhdGlvblR5cGUgPT09ICdwdXNoJyB8fFxuICAgICAgdGhpcy5uYXZpZ2F0ZUV2ZW50Lm5hdmlnYXRpb25UeXBlID09PSAncmVwbGFjZSdcbiAgICApIHtcbiAgICAgIHRoaXMudXNlckFnZW50UHVzaE9yUmVwbGFjZSh0aGlzLm5hdmlnYXRlRXZlbnQuZGVzdGluYXRpb24sIHtcbiAgICAgICAgbmF2aWdhdGlvblR5cGU6IHRoaXMubmF2aWdhdGVFdmVudC5uYXZpZ2F0aW9uVHlwZSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAodGhpcy5uYXZpZ2F0ZUV2ZW50Lm5hdmlnYXRpb25UeXBlID09PSAndHJhdmVyc2UnKSB7XG4gICAgICB0aGlzLnVzZXJBZ2VudFRyYXZlcnNlKHRoaXMubmF2aWdhdGVFdmVudC5kZXN0aW5hdGlvbik7XG4gICAgfVxuICAgIHRoaXMubmF2aWdhdGVFdmVudC51c2VyQWdlbnROYXZpZ2F0ZWQodGhpcy5jdXJyZW50RW50cnkpO1xuICAgIGNvbnN0IGN1cnJlbnRFbnRyeUNoYW5nZUV2ZW50ID0gY3JlYXRlRmFrZU5hdmlnYXRpb25DdXJyZW50RW50cnlDaGFuZ2VFdmVudCh7XG4gICAgICBmcm9tLFxuICAgICAgbmF2aWdhdGlvblR5cGU6IHRoaXMubmF2aWdhdGVFdmVudC5uYXZpZ2F0aW9uVHlwZSxcbiAgICB9KTtcbiAgICB0aGlzLmV2ZW50VGFyZ2V0LmRpc3BhdGNoRXZlbnQoY3VycmVudEVudHJ5Q2hhbmdlRXZlbnQpO1xuICAgIGlmICghdGhpcy5uYXZpZ2F0ZUV2ZW50LnNraXBQb3BTdGF0ZSkge1xuICAgICAgY29uc3QgcG9wU3RhdGVFdmVudCA9IGNyZWF0ZVBvcFN0YXRlRXZlbnQoe1xuICAgICAgICBzdGF0ZTogdGhpcy5uYXZpZ2F0ZUV2ZW50LmRlc3RpbmF0aW9uLmdldEhpc3RvcnlTdGF0ZSgpLFxuICAgICAgfSk7XG4gICAgICB0aGlzLndpbmRvdy5kaXNwYXRjaEV2ZW50KHBvcFN0YXRlRXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBJbXBsZW1lbnRhdGlvbiBmb3IgYSBwdXNoIG9yIHJlcGxhY2UgbmF2aWdhdGlvbi4gKi9cbiAgcHJpdmF0ZSB1c2VyQWdlbnRQdXNoT3JSZXBsYWNlKFxuICAgIGRlc3RpbmF0aW9uOiBGYWtlTmF2aWdhdGlvbkRlc3RpbmF0aW9uLFxuICAgIHtuYXZpZ2F0aW9uVHlwZX06IHtuYXZpZ2F0aW9uVHlwZTogTmF2aWdhdGlvblR5cGVTdHJpbmd9LFxuICApIHtcbiAgICBpZiAobmF2aWdhdGlvblR5cGUgPT09ICdwdXNoJykge1xuICAgICAgdGhpcy5jdXJyZW50RW50cnlJbmRleCsrO1xuICAgICAgdGhpcy5wcm9zcGVjdGl2ZUVudHJ5SW5kZXggPSB0aGlzLmN1cnJlbnRFbnRyeUluZGV4O1xuICAgIH1cbiAgICBjb25zdCBpbmRleCA9IHRoaXMuY3VycmVudEVudHJ5SW5kZXg7XG4gICAgY29uc3Qga2V5ID0gbmF2aWdhdGlvblR5cGUgPT09ICdwdXNoJyA/IFN0cmluZyh0aGlzLm5leHRLZXkrKykgOiB0aGlzLmN1cnJlbnRFbnRyeS5rZXk7XG4gICAgY29uc3QgZW50cnkgPSBuZXcgRmFrZU5hdmlnYXRpb25IaXN0b3J5RW50cnkoZGVzdGluYXRpb24udXJsLCB7XG4gICAgICBpZDogU3RyaW5nKHRoaXMubmV4dElkKyspLFxuICAgICAga2V5LFxuICAgICAgaW5kZXgsXG4gICAgICBzYW1lRG9jdW1lbnQ6IHRydWUsXG4gICAgICBzdGF0ZTogZGVzdGluYXRpb24uZ2V0U3RhdGUoKSxcbiAgICAgIGhpc3RvcnlTdGF0ZTogZGVzdGluYXRpb24uZ2V0SGlzdG9yeVN0YXRlKCksXG4gICAgfSk7XG4gICAgaWYgKG5hdmlnYXRpb25UeXBlID09PSAncHVzaCcpIHtcbiAgICAgIHRoaXMuZW50cmllc0Fyci5zcGxpY2UoaW5kZXgsIEluZmluaXR5LCBlbnRyeSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZW50cmllc0FycltpbmRleF0gPSBlbnRyeTtcbiAgICB9XG4gIH1cblxuICAvKiogSW1wbGVtZW50YXRpb24gZm9yIGEgdHJhdmVyc2UgbmF2aWdhdGlvbi4gKi9cbiAgcHJpdmF0ZSB1c2VyQWdlbnRUcmF2ZXJzZShkZXN0aW5hdGlvbjogRmFrZU5hdmlnYXRpb25EZXN0aW5hdGlvbikge1xuICAgIHRoaXMuY3VycmVudEVudHJ5SW5kZXggPSBkZXN0aW5hdGlvbi5pbmRleDtcbiAgfVxuXG4gIC8qKiBVdGlsaXR5IG1ldGhvZCBmb3IgZmluZGluZyBlbnRyaWVzIHdpdGggdGhlIGdpdmVuIGBrZXlgLiAqL1xuICBwcml2YXRlIGZpbmRFbnRyeShrZXk6IHN0cmluZykge1xuICAgIGZvciAoY29uc3QgZW50cnkgb2YgdGhpcy5lbnRyaWVzQXJyKSB7XG4gICAgICBpZiAoZW50cnkua2V5ID09PSBrZXkpIHJldHVybiBlbnRyeTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHNldCBvbm5hdmlnYXRlKF9oYW5kbGVyOiAoKHRoaXM6IE5hdmlnYXRpb24sIGV2OiBOYXZpZ2F0ZUV2ZW50KSA9PiBhbnkpIHwgbnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5pbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgZ2V0IG9ubmF2aWdhdGUoKTogKCh0aGlzOiBOYXZpZ2F0aW9uLCBldjogTmF2aWdhdGVFdmVudCkgPT4gYW55KSB8IG51bGwge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5pbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgc2V0IG9uY3VycmVudGVudHJ5Y2hhbmdlKFxuICAgIF9oYW5kbGVyOiAoKHRoaXM6IE5hdmlnYXRpb24sIGV2OiBOYXZpZ2F0aW9uQ3VycmVudEVudHJ5Q2hhbmdlRXZlbnQpID0+IGFueSkgfCBudWxsLFxuICApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VuaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIGdldCBvbmN1cnJlbnRlbnRyeWNoYW5nZSgpOlxuICAgIHwgKCh0aGlzOiBOYXZpZ2F0aW9uLCBldjogTmF2aWdhdGlvbkN1cnJlbnRFbnRyeUNoYW5nZUV2ZW50KSA9PiBhbnkpXG4gICAgfCBudWxsIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VuaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIHNldCBvbm5hdmlnYXRlc3VjY2VzcyhfaGFuZGxlcjogKCh0aGlzOiBOYXZpZ2F0aW9uLCBldjogRXZlbnQpID0+IGFueSkgfCBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bmltcGxlbWVudGVkJyk7XG4gIH1cblxuICBnZXQgb25uYXZpZ2F0ZXN1Y2Nlc3MoKTogKCh0aGlzOiBOYXZpZ2F0aW9uLCBldjogRXZlbnQpID0+IGFueSkgfCBudWxsIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VuaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIHNldCBvbm5hdmlnYXRlZXJyb3IoX2hhbmRsZXI6ICgodGhpczogTmF2aWdhdGlvbiwgZXY6IEVycm9yRXZlbnQpID0+IGFueSkgfCBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bmltcGxlbWVudGVkJyk7XG4gIH1cblxuICBnZXQgb25uYXZpZ2F0ZWVycm9yKCk6ICgodGhpczogTmF2aWdhdGlvbiwgZXY6IEVycm9yRXZlbnQpID0+IGFueSkgfCBudWxsIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VuaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIGdldCB0cmFuc2l0aW9uKCk6IE5hdmlnYXRpb25UcmFuc2l0aW9uIHwgbnVsbCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bmltcGxlbWVudGVkJyk7XG4gIH1cblxuICB1cGRhdGVDdXJyZW50RW50cnkoX29wdGlvbnM6IE5hdmlnYXRpb25VcGRhdGVDdXJyZW50RW50cnlPcHRpb25zKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bmltcGxlbWVudGVkJyk7XG4gIH1cblxuICByZWxvYWQoX29wdGlvbnM/OiBOYXZpZ2F0aW9uUmVsb2FkT3B0aW9ucyk6IE5hdmlnYXRpb25SZXN1bHQge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5pbXBsZW1lbnRlZCcpO1xuICB9XG59XG5cbi8qKlxuICogRmFrZSBlcXVpdmFsZW50IG9mIHRoZSBgTmF2aWdhdGlvblJlc3VsdGAgaW50ZXJmYWNlIHdpdGhcbiAqIGBGYWtlTmF2aWdhdGlvbkhpc3RvcnlFbnRyeWAuXG4gKi9cbmludGVyZmFjZSBGYWtlTmF2aWdhdGlvblJlc3VsdCBleHRlbmRzIE5hdmlnYXRpb25SZXN1bHQge1xuICByZWFkb25seSBjb21taXR0ZWQ6IFByb21pc2U8RmFrZU5hdmlnYXRpb25IaXN0b3J5RW50cnk+O1xuICByZWFkb25seSBmaW5pc2hlZDogUHJvbWlzZTxGYWtlTmF2aWdhdGlvbkhpc3RvcnlFbnRyeT47XG59XG5cbi8qKlxuICogRmFrZSBlcXVpdmFsZW50IG9mIGBOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5YC5cbiAqL1xuZXhwb3J0IGNsYXNzIEZha2VOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5IGltcGxlbWVudHMgTmF2aWdhdGlvbkhpc3RvcnlFbnRyeSB7XG4gIHJlYWRvbmx5IHNhbWVEb2N1bWVudDtcblxuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSBrZXk6IHN0cmluZztcbiAgcmVhZG9ubHkgaW5kZXg6IG51bWJlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBzdGF0ZTogdW5rbm93bjtcbiAgcHJpdmF0ZSByZWFkb25seSBoaXN0b3J5U3RhdGU6IHVua25vd247XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWFueVxuICBvbmRpc3Bvc2U6ICgodGhpczogTmF2aWdhdGlvbkhpc3RvcnlFbnRyeSwgZXY6IEV2ZW50KSA9PiBhbnkpIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcmVhZG9ubHkgdXJsOiBzdHJpbmcgfCBudWxsLFxuICAgIHtcbiAgICAgIGlkLFxuICAgICAga2V5LFxuICAgICAgaW5kZXgsXG4gICAgICBzYW1lRG9jdW1lbnQsXG4gICAgICBzdGF0ZSxcbiAgICAgIGhpc3RvcnlTdGF0ZSxcbiAgICB9OiB7XG4gICAgICBpZDogc3RyaW5nO1xuICAgICAga2V5OiBzdHJpbmc7XG4gICAgICBpbmRleDogbnVtYmVyO1xuICAgICAgc2FtZURvY3VtZW50OiBib29sZWFuO1xuICAgICAgaGlzdG9yeVN0YXRlOiB1bmtub3duO1xuICAgICAgc3RhdGU/OiB1bmtub3duO1xuICAgIH0sXG4gICkge1xuICAgIHRoaXMuaWQgPSBpZDtcbiAgICB0aGlzLmtleSA9IGtleTtcbiAgICB0aGlzLmluZGV4ID0gaW5kZXg7XG4gICAgdGhpcy5zYW1lRG9jdW1lbnQgPSBzYW1lRG9jdW1lbnQ7XG4gICAgdGhpcy5zdGF0ZSA9IHN0YXRlO1xuICAgIHRoaXMuaGlzdG9yeVN0YXRlID0gaGlzdG9yeVN0YXRlO1xuICB9XG5cbiAgZ2V0U3RhdGUoKTogdW5rbm93biB7XG4gICAgLy8gQnVkZ2V0IGNvcHkuXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUgPyBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuc3RhdGUpKSA6IHRoaXMuc3RhdGU7XG4gIH1cblxuICBnZXRIaXN0b3J5U3RhdGUoKTogdW5rbm93biB7XG4gICAgLy8gQnVkZ2V0IGNvcHkuXG4gICAgcmV0dXJuIHRoaXMuaGlzdG9yeVN0YXRlID8gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmhpc3RvcnlTdGF0ZSkpIDogdGhpcy5oaXN0b3J5U3RhdGU7XG4gIH1cblxuICBhZGRFdmVudExpc3RlbmVyKFxuICAgIHR5cGU6IHN0cmluZyxcbiAgICBjYWxsYmFjazogRXZlbnRMaXN0ZW5lck9yRXZlbnRMaXN0ZW5lck9iamVjdCxcbiAgICBvcHRpb25zPzogQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMgfCBib29sZWFuLFxuICApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VuaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIHJlbW92ZUV2ZW50TGlzdGVuZXIoXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIGNhbGxiYWNrOiBFdmVudExpc3RlbmVyT3JFdmVudExpc3RlbmVyT2JqZWN0LFxuICAgIG9wdGlvbnM/OiBFdmVudExpc3RlbmVyT3B0aW9ucyB8IGJvb2xlYW4sXG4gICkge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5pbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgZGlzcGF0Y2hFdmVudChldmVudDogRXZlbnQpOiBib29sZWFuIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VuaW1wbGVtZW50ZWQnKTtcbiAgfVxufVxuXG4vKiogYE5hdmlnYXRpb25JbnRlcmNlcHRPcHRpb25zYCB3aXRoIGV4cGVyaW1lbnRhbCBjb21taXQgb3B0aW9uLiAqL1xuZXhwb3J0IGludGVyZmFjZSBFeHBlcmltZW50YWxOYXZpZ2F0aW9uSW50ZXJjZXB0T3B0aW9ucyBleHRlbmRzIE5hdmlnYXRpb25JbnRlcmNlcHRPcHRpb25zIHtcbiAgY29tbWl0PzogJ2ltbWVkaWF0ZScgfCAnYWZ0ZXItdHJhbnNpdGlvbic7XG59XG5cbi8qKiBgTmF2aWdhdGVFdmVudGAgd2l0aCBleHBlcmltZW50YWwgY29tbWl0IGZ1bmN0aW9uLiAqL1xuZXhwb3J0IGludGVyZmFjZSBFeHBlcmltZW50YWxOYXZpZ2F0ZUV2ZW50IGV4dGVuZHMgTmF2aWdhdGVFdmVudCB7XG4gIGludGVyY2VwdChvcHRpb25zPzogRXhwZXJpbWVudGFsTmF2aWdhdGlvbkludGVyY2VwdE9wdGlvbnMpOiB2b2lkO1xuXG4gIGNvbW1pdCgpOiB2b2lkO1xufVxuXG4vKipcbiAqIEZha2UgZXF1aXZhbGVudCBvZiBgTmF2aWdhdGVFdmVudGAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmFrZU5hdmlnYXRlRXZlbnQgZXh0ZW5kcyBFeHBlcmltZW50YWxOYXZpZ2F0ZUV2ZW50IHtcbiAgcmVhZG9ubHkgZGVzdGluYXRpb246IEZha2VOYXZpZ2F0aW9uRGVzdGluYXRpb247XG59XG5cbmludGVyZmFjZSBJbnRlcm5hbEZha2VOYXZpZ2F0ZUV2ZW50IGV4dGVuZHMgRmFrZU5hdmlnYXRlRXZlbnQge1xuICByZWFkb25seSBzYW1lRG9jdW1lbnQ6IGJvb2xlYW47XG4gIHJlYWRvbmx5IHNraXBQb3BTdGF0ZT86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGNvbW1pdE9wdGlvbjogJ2FmdGVyLXRyYW5zaXRpb24nIHwgJ2ltbWVkaWF0ZSc7XG4gIHJlYWRvbmx5IHJlc3VsdDogSW50ZXJuYWxOYXZpZ2F0aW9uUmVzdWx0O1xuXG4gIGNvbW1pdChpbnRlcm5hbD86IGJvb2xlYW4pOiB2b2lkO1xuICBjYW5jZWwocmVhc29uOiBFcnJvcik6IHZvaWQ7XG4gIGRpc3BhdGNoZWROYXZpZ2F0ZUV2ZW50KCk6IHZvaWQ7XG4gIHVzZXJBZ2VudE5hdmlnYXRlZChlbnRyeTogRmFrZU5hdmlnYXRpb25IaXN0b3J5RW50cnkpOiB2b2lkO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIGZha2UgZXF1aXZhbGVudCBvZiBgTmF2aWdhdGVFdmVudGAuIFRoaXMgaXMgbm90IGEgY2xhc3MgYmVjYXVzZSBFUzVcbiAqIHRyYW5zcGlsZWQgSmF2YVNjcmlwdCBjYW5ub3QgZXh0ZW5kIG5hdGl2ZSBFdmVudC5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlRmFrZU5hdmlnYXRlRXZlbnQoe1xuICBjYW5jZWxhYmxlLFxuICBjYW5JbnRlcmNlcHQsXG4gIHVzZXJJbml0aWF0ZWQsXG4gIGhhc2hDaGFuZ2UsXG4gIG5hdmlnYXRpb25UeXBlLFxuICBzaWduYWwsXG4gIGRlc3RpbmF0aW9uLFxuICBpbmZvLFxuICBzYW1lRG9jdW1lbnQsXG4gIHNraXBQb3BTdGF0ZSxcbiAgcmVzdWx0LFxuICB1c2VyQWdlbnRDb21taXQsXG59OiB7XG4gIGNhbmNlbGFibGU6IGJvb2xlYW47XG4gIGNhbkludGVyY2VwdDogYm9vbGVhbjtcbiAgdXNlckluaXRpYXRlZDogYm9vbGVhbjtcbiAgaGFzaENoYW5nZTogYm9vbGVhbjtcbiAgbmF2aWdhdGlvblR5cGU6IE5hdmlnYXRpb25UeXBlU3RyaW5nO1xuICBzaWduYWw6IEFib3J0U2lnbmFsO1xuICBkZXN0aW5hdGlvbjogRmFrZU5hdmlnYXRpb25EZXN0aW5hdGlvbjtcbiAgaW5mbzogdW5rbm93bjtcbiAgc2FtZURvY3VtZW50OiBib29sZWFuO1xuICBza2lwUG9wU3RhdGU/OiBib29sZWFuO1xuICByZXN1bHQ6IEludGVybmFsTmF2aWdhdGlvblJlc3VsdDtcbiAgdXNlckFnZW50Q29tbWl0OiAoKSA9PiB2b2lkO1xufSkge1xuICBjb25zdCBldmVudCA9IG5ldyBFdmVudCgnbmF2aWdhdGUnLCB7YnViYmxlczogZmFsc2UsIGNhbmNlbGFibGV9KSBhcyB7XG4gICAgLXJlYWRvbmx5IFtQIGluIGtleW9mIEludGVybmFsRmFrZU5hdmlnYXRlRXZlbnRdOiBJbnRlcm5hbEZha2VOYXZpZ2F0ZUV2ZW50W1BdO1xuICB9O1xuICBldmVudC5jYW5JbnRlcmNlcHQgPSBjYW5JbnRlcmNlcHQ7XG4gIGV2ZW50LnVzZXJJbml0aWF0ZWQgPSB1c2VySW5pdGlhdGVkO1xuICBldmVudC5oYXNoQ2hhbmdlID0gaGFzaENoYW5nZTtcbiAgZXZlbnQubmF2aWdhdGlvblR5cGUgPSBuYXZpZ2F0aW9uVHlwZTtcbiAgZXZlbnQuc2lnbmFsID0gc2lnbmFsO1xuICBldmVudC5kZXN0aW5hdGlvbiA9IGRlc3RpbmF0aW9uO1xuICBldmVudC5pbmZvID0gaW5mbztcbiAgZXZlbnQuZG93bmxvYWRSZXF1ZXN0ID0gbnVsbDtcbiAgZXZlbnQuZm9ybURhdGEgPSBudWxsO1xuXG4gIGV2ZW50LnNhbWVEb2N1bWVudCA9IHNhbWVEb2N1bWVudDtcbiAgZXZlbnQuc2tpcFBvcFN0YXRlID0gc2tpcFBvcFN0YXRlO1xuICBldmVudC5jb21taXRPcHRpb24gPSAnaW1tZWRpYXRlJztcblxuICBsZXQgaGFuZGxlckZpbmlzaGVkOiBQcm9taXNlPHZvaWQ+IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICBsZXQgaW50ZXJjZXB0Q2FsbGVkID0gZmFsc2U7XG4gIGxldCBkaXNwYXRjaGVkTmF2aWdhdGVFdmVudCA9IGZhbHNlO1xuICBsZXQgY29tbWl0Q2FsbGVkID0gZmFsc2U7XG5cbiAgZXZlbnQuaW50ZXJjZXB0ID0gZnVuY3Rpb24gKFxuICAgIHRoaXM6IEludGVybmFsRmFrZU5hdmlnYXRlRXZlbnQsXG4gICAgb3B0aW9ucz86IEV4cGVyaW1lbnRhbE5hdmlnYXRpb25JbnRlcmNlcHRPcHRpb25zLFxuICApOiB2b2lkIHtcbiAgICBpbnRlcmNlcHRDYWxsZWQgPSB0cnVlO1xuICAgIGV2ZW50LnNhbWVEb2N1bWVudCA9IHRydWU7XG4gICAgY29uc3QgaGFuZGxlciA9IG9wdGlvbnM/LmhhbmRsZXI7XG4gICAgaWYgKGhhbmRsZXIpIHtcbiAgICAgIGhhbmRsZXJGaW5pc2hlZCA9IGhhbmRsZXIoKTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnM/LmNvbW1pdCkge1xuICAgICAgZXZlbnQuY29tbWl0T3B0aW9uID0gb3B0aW9ucy5jb21taXQ7XG4gICAgfVxuICAgIGlmIChvcHRpb25zPy5mb2N1c1Jlc2V0ICE9PSB1bmRlZmluZWQgfHwgb3B0aW9ucz8uc2Nyb2xsICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigndW5pbXBsZW1lbnRlZCcpO1xuICAgIH1cbiAgfTtcblxuICBldmVudC5zY3JvbGwgPSBmdW5jdGlvbiAodGhpczogSW50ZXJuYWxGYWtlTmF2aWdhdGVFdmVudCk6IHZvaWQge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5pbXBsZW1lbnRlZCcpO1xuICB9O1xuXG4gIGV2ZW50LmNvbW1pdCA9IGZ1bmN0aW9uICh0aGlzOiBJbnRlcm5hbEZha2VOYXZpZ2F0ZUV2ZW50LCBpbnRlcm5hbCA9IGZhbHNlKSB7XG4gICAgaWYgKCFpbnRlcm5hbCAmJiAhaW50ZXJjZXB0Q2FsbGVkKSB7XG4gICAgICB0aHJvdyBuZXcgRE9NRXhjZXB0aW9uKFxuICAgICAgICBgRmFpbGVkIHRvIGV4ZWN1dGUgJ2NvbW1pdCcgb24gJ05hdmlnYXRlRXZlbnQnOiBpbnRlcmNlcHQoKSBtdXN0IGJlIGAgK1xuICAgICAgICAgIGBjYWxsZWQgYmVmb3JlIGNvbW1pdCgpLmAsXG4gICAgICAgICdJbnZhbGlkU3RhdGVFcnJvcicsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoIWRpc3BhdGNoZWROYXZpZ2F0ZUV2ZW50KSB7XG4gICAgICB0aHJvdyBuZXcgRE9NRXhjZXB0aW9uKFxuICAgICAgICBgRmFpbGVkIHRvIGV4ZWN1dGUgJ2NvbW1pdCcgb24gJ05hdmlnYXRlRXZlbnQnOiBjb21taXQoKSBtYXkgbm90IGJlIGAgK1xuICAgICAgICAgIGBjYWxsZWQgZHVyaW5nIGV2ZW50IGRpc3BhdGNoLmAsXG4gICAgICAgICdJbnZhbGlkU3RhdGVFcnJvcicsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoY29tbWl0Q2FsbGVkKSB7XG4gICAgICB0aHJvdyBuZXcgRE9NRXhjZXB0aW9uKFxuICAgICAgICBgRmFpbGVkIHRvIGV4ZWN1dGUgJ2NvbW1pdCcgb24gJ05hdmlnYXRlRXZlbnQnOiBjb21taXQoKSBhbHJlYWR5IGAgKyBgY2FsbGVkLmAsXG4gICAgICAgICdJbnZhbGlkU3RhdGVFcnJvcicsXG4gICAgICApO1xuICAgIH1cbiAgICBjb21taXRDYWxsZWQgPSB0cnVlO1xuXG4gICAgdXNlckFnZW50Q29tbWl0KCk7XG4gIH07XG5cbiAgLy8gSW50ZXJuYWwgb25seS5cbiAgZXZlbnQuY2FuY2VsID0gZnVuY3Rpb24gKHRoaXM6IEludGVybmFsRmFrZU5hdmlnYXRlRXZlbnQsIHJlYXNvbjogRXJyb3IpIHtcbiAgICByZXN1bHQuY29tbWl0dGVkUmVqZWN0KHJlYXNvbik7XG4gICAgcmVzdWx0LmZpbmlzaGVkUmVqZWN0KHJlYXNvbik7XG4gIH07XG5cbiAgLy8gSW50ZXJuYWwgb25seS5cbiAgZXZlbnQuZGlzcGF0Y2hlZE5hdmlnYXRlRXZlbnQgPSBmdW5jdGlvbiAodGhpczogSW50ZXJuYWxGYWtlTmF2aWdhdGVFdmVudCkge1xuICAgIGRpc3BhdGNoZWROYXZpZ2F0ZUV2ZW50ID0gdHJ1ZTtcbiAgICBpZiAoZXZlbnQuY29tbWl0T3B0aW9uID09PSAnYWZ0ZXItdHJhbnNpdGlvbicpIHtcbiAgICAgIC8vIElmIGhhbmRsZXIgZmluaXNoZXMgYmVmb3JlIGNvbW1pdCwgY2FsbCBjb21taXQuXG4gICAgICBoYW5kbGVyRmluaXNoZWQ/LnRoZW4oXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBpZiAoIWNvbW1pdENhbGxlZCkge1xuICAgICAgICAgICAgZXZlbnQuY29tbWl0KC8qIGludGVybmFsICovIHRydWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKCkgPT4ge30sXG4gICAgICApO1xuICAgIH1cbiAgICBQcm9taXNlLmFsbChbcmVzdWx0LmNvbW1pdHRlZCwgaGFuZGxlckZpbmlzaGVkXSkudGhlbihcbiAgICAgIChbZW50cnldKSA9PiB7XG4gICAgICAgIHJlc3VsdC5maW5pc2hlZFJlc29sdmUoZW50cnkpO1xuICAgICAgfSxcbiAgICAgIChyZWFzb24pID0+IHtcbiAgICAgICAgcmVzdWx0LmZpbmlzaGVkUmVqZWN0KHJlYXNvbik7XG4gICAgICB9LFxuICAgICk7XG4gIH07XG5cbiAgLy8gSW50ZXJuYWwgb25seS5cbiAgZXZlbnQudXNlckFnZW50TmF2aWdhdGVkID0gZnVuY3Rpb24gKFxuICAgIHRoaXM6IEludGVybmFsRmFrZU5hdmlnYXRlRXZlbnQsXG4gICAgZW50cnk6IEZha2VOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5LFxuICApIHtcbiAgICByZXN1bHQuY29tbWl0dGVkUmVzb2x2ZShlbnRyeSk7XG4gIH07XG5cbiAgcmV0dXJuIGV2ZW50IGFzIEludGVybmFsRmFrZU5hdmlnYXRlRXZlbnQ7XG59XG5cbi8qKiBGYWtlIGVxdWl2YWxlbnQgb2YgYE5hdmlnYXRpb25DdXJyZW50RW50cnlDaGFuZ2VFdmVudGAuICovXG5leHBvcnQgaW50ZXJmYWNlIEZha2VOYXZpZ2F0aW9uQ3VycmVudEVudHJ5Q2hhbmdlRXZlbnQgZXh0ZW5kcyBOYXZpZ2F0aW9uQ3VycmVudEVudHJ5Q2hhbmdlRXZlbnQge1xuICByZWFkb25seSBmcm9tOiBGYWtlTmF2aWdhdGlvbkhpc3RvcnlFbnRyeTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBmYWtlIGVxdWl2YWxlbnQgb2YgYE5hdmlnYXRpb25DdXJyZW50RW50cnlDaGFuZ2VgLiBUaGlzIGRvZXMgbm90IHVzZVxuICogYSBjbGFzcyBiZWNhdXNlIEVTNSB0cmFuc3BpbGVkIEphdmFTY3JpcHQgY2Fubm90IGV4dGVuZCBuYXRpdmUgRXZlbnQuXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZUZha2VOYXZpZ2F0aW9uQ3VycmVudEVudHJ5Q2hhbmdlRXZlbnQoe1xuICBmcm9tLFxuICBuYXZpZ2F0aW9uVHlwZSxcbn06IHtcbiAgZnJvbTogRmFrZU5hdmlnYXRpb25IaXN0b3J5RW50cnk7XG4gIG5hdmlnYXRpb25UeXBlOiBOYXZpZ2F0aW9uVHlwZVN0cmluZztcbn0pIHtcbiAgY29uc3QgZXZlbnQgPSBuZXcgRXZlbnQoJ2N1cnJlbnRlbnRyeWNoYW5nZScsIHtcbiAgICBidWJibGVzOiBmYWxzZSxcbiAgICBjYW5jZWxhYmxlOiBmYWxzZSxcbiAgfSkgYXMge1xuICAgIC1yZWFkb25seSBbUCBpbiBrZXlvZiBOYXZpZ2F0aW9uQ3VycmVudEVudHJ5Q2hhbmdlRXZlbnRdOiBOYXZpZ2F0aW9uQ3VycmVudEVudHJ5Q2hhbmdlRXZlbnRbUF07XG4gIH07XG4gIGV2ZW50LmZyb20gPSBmcm9tO1xuICBldmVudC5uYXZpZ2F0aW9uVHlwZSA9IG5hdmlnYXRpb25UeXBlO1xuICByZXR1cm4gZXZlbnQgYXMgRmFrZU5hdmlnYXRpb25DdXJyZW50RW50cnlDaGFuZ2VFdmVudDtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBmYWtlIGVxdWl2YWxlbnQgb2YgYFBvcFN0YXRlRXZlbnRgLiBUaGlzIGRvZXMgbm90IHVzZSBhIGNsYXNzXG4gKiBiZWNhdXNlIEVTNSB0cmFuc3BpbGVkIEphdmFTY3JpcHQgY2Fubm90IGV4dGVuZCBuYXRpdmUgRXZlbnQuXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZVBvcFN0YXRlRXZlbnQoe3N0YXRlfToge3N0YXRlOiB1bmtub3dufSkge1xuICBjb25zdCBldmVudCA9IG5ldyBFdmVudCgncG9wc3RhdGUnLCB7XG4gICAgYnViYmxlczogZmFsc2UsXG4gICAgY2FuY2VsYWJsZTogZmFsc2UsXG4gIH0pIGFzIHstcmVhZG9ubHkgW1AgaW4ga2V5b2YgUG9wU3RhdGVFdmVudF06IFBvcFN0YXRlRXZlbnRbUF19O1xuICBldmVudC5zdGF0ZSA9IHN0YXRlO1xuICByZXR1cm4gZXZlbnQgYXMgUG9wU3RhdGVFdmVudDtcbn1cblxuLyoqXG4gKiBGYWtlIGVxdWl2YWxlbnQgb2YgYE5hdmlnYXRpb25EZXN0aW5hdGlvbmAuXG4gKi9cbmV4cG9ydCBjbGFzcyBGYWtlTmF2aWdhdGlvbkRlc3RpbmF0aW9uIGltcGxlbWVudHMgTmF2aWdhdGlvbkRlc3RpbmF0aW9uIHtcbiAgcmVhZG9ubHkgdXJsOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNhbWVEb2N1bWVudDogYm9vbGVhbjtcbiAgcmVhZG9ubHkga2V5OiBzdHJpbmcgfCBudWxsO1xuICByZWFkb25seSBpZDogc3RyaW5nIHwgbnVsbDtcbiAgcmVhZG9ubHkgaW5kZXg6IG51bWJlcjtcblxuICBwcml2YXRlIHJlYWRvbmx5IHN0YXRlPzogdW5rbm93bjtcbiAgcHJpdmF0ZSByZWFkb25seSBoaXN0b3J5U3RhdGU6IHVua25vd247XG5cbiAgY29uc3RydWN0b3Ioe1xuICAgIHVybCxcbiAgICBzYW1lRG9jdW1lbnQsXG4gICAgaGlzdG9yeVN0YXRlLFxuICAgIHN0YXRlLFxuICAgIGtleSA9IG51bGwsXG4gICAgaWQgPSBudWxsLFxuICAgIGluZGV4ID0gLTEsXG4gIH06IHtcbiAgICB1cmw6IHN0cmluZztcbiAgICBzYW1lRG9jdW1lbnQ6IGJvb2xlYW47XG4gICAgaGlzdG9yeVN0YXRlOiB1bmtub3duO1xuICAgIHN0YXRlPzogdW5rbm93bjtcbiAgICBrZXk/OiBzdHJpbmcgfCBudWxsO1xuICAgIGlkPzogc3RyaW5nIHwgbnVsbDtcbiAgICBpbmRleD86IG51bWJlcjtcbiAgfSkge1xuICAgIHRoaXMudXJsID0gdXJsO1xuICAgIHRoaXMuc2FtZURvY3VtZW50ID0gc2FtZURvY3VtZW50O1xuICAgIHRoaXMuc3RhdGUgPSBzdGF0ZTtcbiAgICB0aGlzLmhpc3RvcnlTdGF0ZSA9IGhpc3RvcnlTdGF0ZTtcbiAgICB0aGlzLmtleSA9IGtleTtcbiAgICB0aGlzLmlkID0gaWQ7XG4gICAgdGhpcy5pbmRleCA9IGluZGV4O1xuICB9XG5cbiAgZ2V0U3RhdGUoKTogdW5rbm93biB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGU7XG4gIH1cblxuICBnZXRIaXN0b3J5U3RhdGUoKTogdW5rbm93biB7XG4gICAgcmV0dXJuIHRoaXMuaGlzdG9yeVN0YXRlO1xuICB9XG59XG5cbi8qKiBVdGlsaXR5IGZ1bmN0aW9uIHRvIGRldGVybWluZSB3aGV0aGVyIHR3byBVcmxMaWtlIGhhdmUgdGhlIHNhbWUgaGFzaC4gKi9cbmZ1bmN0aW9uIGlzSGFzaENoYW5nZShmcm9tOiBVUkwsIHRvOiBVUkwpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICB0by5oYXNoICE9PSBmcm9tLmhhc2ggJiZcbiAgICB0by5ob3N0bmFtZSA9PT0gZnJvbS5ob3N0bmFtZSAmJlxuICAgIHRvLnBhdGhuYW1lID09PSBmcm9tLnBhdGhuYW1lICYmXG4gICAgdG8uc2VhcmNoID09PSBmcm9tLnNlYXJjaFxuICApO1xufVxuXG4vKiogSW50ZXJuYWwgdXRpbGl0eSBjbGFzcyBmb3IgcmVwcmVzZW50aW5nIHRoZSByZXN1bHQgb2YgYSBuYXZpZ2F0aW9uLiAgKi9cbmNsYXNzIEludGVybmFsTmF2aWdhdGlvblJlc3VsdCB7XG4gIGNvbW1pdHRlZFJlc29sdmUhOiAoZW50cnk6IEZha2VOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5KSA9PiB2b2lkO1xuICBjb21taXR0ZWRSZWplY3QhOiAocmVhc29uOiBFcnJvcikgPT4gdm9pZDtcbiAgZmluaXNoZWRSZXNvbHZlITogKGVudHJ5OiBGYWtlTmF2aWdhdGlvbkhpc3RvcnlFbnRyeSkgPT4gdm9pZDtcbiAgZmluaXNoZWRSZWplY3QhOiAocmVhc29uOiBFcnJvcikgPT4gdm9pZDtcbiAgcmVhZG9ubHkgY29tbWl0dGVkOiBQcm9taXNlPEZha2VOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5PjtcbiAgcmVhZG9ubHkgZmluaXNoZWQ6IFByb21pc2U8RmFrZU5hdmlnYXRpb25IaXN0b3J5RW50cnk+O1xuICBnZXQgc2lnbmFsKCk6IEFib3J0U2lnbmFsIHtcbiAgICByZXR1cm4gdGhpcy5hYm9ydENvbnRyb2xsZXIuc2lnbmFsO1xuICB9XG4gIHByaXZhdGUgcmVhZG9ubHkgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuY29tbWl0dGVkID0gbmV3IFByb21pc2U8RmFrZU5hdmlnYXRpb25IaXN0b3J5RW50cnk+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuY29tbWl0dGVkUmVzb2x2ZSA9IHJlc29sdmU7XG4gICAgICB0aGlzLmNvbW1pdHRlZFJlamVjdCA9IHJlamVjdDtcbiAgICB9KTtcblxuICAgIHRoaXMuZmluaXNoZWQgPSBuZXcgUHJvbWlzZTxGYWtlTmF2aWdhdGlvbkhpc3RvcnlFbnRyeT4oYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5maW5pc2hlZFJlc29sdmUgPSByZXNvbHZlO1xuICAgICAgdGhpcy5maW5pc2hlZFJlamVjdCA9IChyZWFzb246IEVycm9yKSA9PiB7XG4gICAgICAgIHJlamVjdChyZWFzb24pO1xuICAgICAgICB0aGlzLmFib3J0Q29udHJvbGxlci5hYm9ydChyZWFzb24pO1xuICAgICAgfTtcbiAgICB9KTtcbiAgICAvLyBBbGwgcmVqZWN0aW9ucyBhcmUgaGFuZGxlZC5cbiAgICB0aGlzLmNvbW1pdHRlZC5jYXRjaCgoKSA9PiB7fSk7XG4gICAgdGhpcy5maW5pc2hlZC5jYXRjaCgoKSA9PiB7fSk7XG4gIH1cbn1cblxuLyoqIEludGVybmFsIG9wdGlvbnMgZm9yIHBlcmZvcm1pbmcgYSBuYXZpZ2F0ZS4gKi9cbmludGVyZmFjZSBJbnRlcm5hbE5hdmlnYXRlT3B0aW9ucyB7XG4gIG5hdmlnYXRpb25UeXBlOiBOYXZpZ2F0aW9uVHlwZVN0cmluZztcbiAgY2FuY2VsYWJsZTogYm9vbGVhbjtcbiAgY2FuSW50ZXJjZXB0OiBib29sZWFuO1xuICB1c2VySW5pdGlhdGVkOiBib29sZWFuO1xuICBoYXNoQ2hhbmdlOiBib29sZWFuO1xuICBpbmZvPzogdW5rbm93bjtcbiAgc2tpcFBvcFN0YXRlPzogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright Google LLC All Rights Reserved.
|
|
4
4
|
*
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
7
|
*/
|
|
8
8
|
export {};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbl90eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi90ZXN0aW5nL3NyYy9uYXZpZ2F0aW9uL25hdmlnYXRpb25fdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuZGV2L2xpY2Vuc2VcbiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIE5hdmlnYXRpb25FdmVudE1hcCB7XG4gIG5hdmlnYXRlOiBOYXZpZ2F0ZUV2ZW50O1xuICBuYXZpZ2F0ZXN1Y2Nlc3M6IEV2ZW50O1xuICBuYXZpZ2F0ZWVycm9yOiBFcnJvckV2ZW50O1xuICBjdXJyZW50ZW50cnljaGFuZ2U6IE5hdmlnYXRpb25DdXJyZW50RW50cnlDaGFuZ2VFdmVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0aW9uUmVzdWx0IHtcbiAgY29tbWl0dGVkOiBQcm9taXNlPE5hdmlnYXRpb25IaXN0b3J5RW50cnk+O1xuICBmaW5pc2hlZDogUHJvbWlzZTxOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5Pjtcbn1cblxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgTmF2aWdhdGlvbiBleHRlbmRzIEV2ZW50VGFyZ2V0IHtcbiAgZW50cmllcygpOiBOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5W107XG4gIHJlYWRvbmx5IGN1cnJlbnRFbnRyeTogTmF2aWdhdGlvbkhpc3RvcnlFbnRyeSB8IG51bGw7XG4gIHVwZGF0ZUN1cnJlbnRFbnRyeShvcHRpb25zOiBOYXZpZ2F0aW9uVXBkYXRlQ3VycmVudEVudHJ5T3B0aW9ucyk6IHZvaWQ7XG4gIHJlYWRvbmx5IHRyYW5zaXRpb246IE5hdmlnYXRpb25UcmFuc2l0aW9uIHwgbnVsbDtcblxuICByZWFkb25seSBjYW5Hb0JhY2s6IGJvb2xlYW47XG4gIHJlYWRvbmx5IGNhbkdvRm9yd2FyZDogYm9vbGVhbjtcblxuICBuYXZpZ2F0ZSh1cmw6IHN0cmluZywgb3B0aW9ucz86IE5hdmlnYXRpb25OYXZpZ2F0ZU9wdGlvbnMpOiBOYXZpZ2F0aW9uUmVzdWx0O1xuICByZWxvYWQob3B0aW9ucz86IE5hdmlnYXRpb25SZWxvYWRPcHRpb25zKTogTmF2aWdhdGlvblJlc3VsdDtcblxuICB0cmF2ZXJzZVRvKGtleTogc3RyaW5nLCBvcHRpb25zPzogTmF2aWdhdGlvbk9wdGlvbnMpOiBOYXZpZ2F0aW9uUmVzdWx0O1xuICBiYWNrKG9wdGlvbnM/OiBOYXZpZ2F0aW9uT3B0aW9ucyk6IE5hdmlnYXRpb25SZXN1bHQ7XG4gIGZvcndhcmQob3B0aW9ucz86IE5hdmlnYXRpb25PcHRpb25zKTogTmF2aWdhdGlvblJlc3VsdDtcblxuICBvbm5hdmlnYXRlOiAoKHRoaXM6IE5hdmlnYXRpb24sIGV2OiBOYXZpZ2F0ZUV2ZW50KSA9PiBhbnkpIHwgbnVsbDtcbiAgb25uYXZpZ2F0ZXN1Y2Nlc3M6ICgodGhpczogTmF2aWdhdGlvbiwgZXY6IEV2ZW50KSA9PiBhbnkpIHwgbnVsbDtcbiAgb25uYXZpZ2F0ZWVycm9yOiAoKHRoaXM6IE5hdmlnYXRpb24sIGV2OiBFcnJvckV2ZW50KSA9PiBhbnkpIHwgbnVsbDtcbiAgb25jdXJyZW50ZW50cnljaGFuZ2U6ICgodGhpczogTmF2aWdhdGlvbiwgZXY6IE5hdmlnYXRpb25DdXJyZW50RW50cnlDaGFuZ2VFdmVudCkgPT4gYW55KSB8IG51bGw7XG5cbiAgYWRkRXZlbnRMaXN0ZW5lcjxLIGV4dGVuZHMga2V5b2YgTmF2aWdhdGlvbkV2ZW50TWFwPihcbiAgICB0eXBlOiBLLFxuICAgIGxpc3RlbmVyOiAodGhpczogTmF2aWdhdGlvbiwgZXY6IE5hdmlnYXRpb25FdmVudE1hcFtLXSkgPT4gYW55LFxuICAgIG9wdGlvbnM/OiBib29sZWFuIHwgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMsXG4gICk6IHZvaWQ7XG4gIGFkZEV2ZW50TGlzdGVuZXIoXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIGxpc3RlbmVyOiBFdmVudExpc3RlbmVyT3JFdmVudExpc3RlbmVyT2JqZWN0LFxuICAgIG9wdGlvbnM/OiBib29sZWFuIHwgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMsXG4gICk6IHZvaWQ7XG4gIHJlbW92ZUV2ZW50TGlzdGVuZXI8SyBleHRlbmRzIGtleW9mIE5hdmlnYXRpb25FdmVudE1hcD4oXG4gICAgdHlwZTogSyxcbiAgICBsaXN0ZW5lcjogKHRoaXM6IE5hdmlnYXRpb24sIGV2OiBOYXZpZ2F0aW9uRXZlbnRNYXBbS10pID0+IGFueSxcbiAgICBvcHRpb25zPzogYm9vbGVhbiB8IEV2ZW50TGlzdGVuZXJPcHRpb25zLFxuICApOiB2b2lkO1xuICByZW1vdmVFdmVudExpc3RlbmVyKFxuICAgIHR5cGU6IHN0cmluZyxcbiAgICBsaXN0ZW5lcjogRXZlbnRMaXN0ZW5lck9yRXZlbnRMaXN0ZW5lck9iamVjdCxcbiAgICBvcHRpb25zPzogYm9vbGVhbiB8IEV2ZW50TGlzdGVuZXJPcHRpb25zLFxuICApOiB2b2lkO1xufVxuXG5leHBvcnQgZGVjbGFyZSBjbGFzcyBOYXZpZ2F0aW9uVHJhbnNpdGlvbiB7XG4gIHJlYWRvbmx5IG5hdmlnYXRpb25UeXBlOiBOYXZpZ2F0aW9uVHlwZVN0cmluZztcbiAgcmVhZG9ubHkgZnJvbTogTmF2aWdhdGlvbkhpc3RvcnlFbnRyeTtcbiAgcmVhZG9ubHkgZmluaXNoZWQ6IFByb21pc2U8dm9pZD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2aWdhdGlvbkhpc3RvcnlFbnRyeUV2ZW50TWFwIHtcbiAgZGlzcG9zZTogRXZlbnQ7XG59XG5cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIE5hdmlnYXRpb25IaXN0b3J5RW50cnkgZXh0ZW5kcyBFdmVudFRhcmdldCB7XG4gIHJlYWRvbmx5IGtleTogc3RyaW5nO1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSB1cmw6IHN0cmluZyB8IG51bGw7XG4gIHJlYWRvbmx5IGluZGV4OiBudW1iZXI7XG4gIHJlYWRvbmx5IHNhbWVEb2N1bWVudDogYm9vbGVhbjtcblxuICBnZXRTdGF0ZSgpOiB1bmtub3duO1xuXG4gIG9uZGlzcG9zZTogKCh0aGlzOiBOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5LCBldjogRXZlbnQpID0+IGFueSkgfCBudWxsO1xuXG4gIGFkZEV2ZW50TGlzdGVuZXI8SyBleHRlbmRzIGtleW9mIE5hdmlnYXRpb25IaXN0b3J5RW50cnlFdmVudE1hcD4oXG4gICAgdHlwZTogSyxcbiAgICBsaXN0ZW5lcjogKHRoaXM6IE5hdmlnYXRpb25IaXN0b3J5RW50cnksIGV2OiBOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5RXZlbnRNYXBbS10pID0+IGFueSxcbiAgICBvcHRpb25zPzogYm9vbGVhbiB8IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zLFxuICApOiB2b2lkO1xuICBhZGRFdmVudExpc3RlbmVyKFxuICAgIHR5cGU6IHN0cmluZyxcbiAgICBsaXN0ZW5lcjogRXZlbnRMaXN0ZW5lck9yRXZlbnRMaXN0ZW5lck9iamVjdCxcbiAgICBvcHRpb25zPzogYm9vbGVhbiB8IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zLFxuICApOiB2b2lkO1xuICByZW1vdmVFdmVudExpc3RlbmVyPEsgZXh0ZW5kcyBrZXlvZiBOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5RXZlbnRNYXA+KFxuICAgIHR5cGU6IEssXG4gICAgbGlzdGVuZXI6ICh0aGlzOiBOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5LCBldjogTmF2aWdhdGlvbkhpc3RvcnlFbnRyeUV2ZW50TWFwW0tdKSA9PiBhbnksXG4gICAgb3B0aW9ucz86IGJvb2xlYW4gfCBFdmVudExpc3RlbmVyT3B0aW9ucyxcbiAgKTogdm9pZDtcbiAgcmVtb3ZlRXZlbnRMaXN0ZW5lcihcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgbGlzdGVuZXI6IEV2ZW50TGlzdGVuZXJPckV2ZW50TGlzdGVuZXJPYmplY3QsXG4gICAgb3B0aW9ucz86IGJvb2xlYW4gfCBFdmVudExpc3RlbmVyT3B0aW9ucyxcbiAgKTogdm9pZDtcbn1cblxuZXhwb3J0IHR5cGUgTmF2aWdhdGlvblR5cGVTdHJpbmcgPSAncmVsb2FkJyB8ICdwdXNoJyB8ICdyZXBsYWNlJyB8ICd0cmF2ZXJzZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2aWdhdGlvblVwZGF0ZUN1cnJlbnRFbnRyeU9wdGlvbnMge1xuICBzdGF0ZTogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0aW9uT3B0aW9ucyB7XG4gIGluZm8/OiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5hdmlnYXRpb25OYXZpZ2F0ZU9wdGlvbnMgZXh0ZW5kcyBOYXZpZ2F0aW9uT3B0aW9ucyB7XG4gIHN0YXRlPzogdW5rbm93bjtcbiAgaGlzdG9yeT86ICdhdXRvJyB8ICdwdXNoJyB8ICdyZXBsYWNlJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0aW9uUmVsb2FkT3B0aW9ucyBleHRlbmRzIE5hdmlnYXRpb25PcHRpb25zIHtcbiAgc3RhdGU/OiB1bmtub3duO1xufVxuXG5leHBvcnQgZGVjbGFyZSBjbGFzcyBOYXZpZ2F0aW9uQ3VycmVudEVudHJ5Q2hhbmdlRXZlbnQgZXh0ZW5kcyBFdmVudCB7XG4gIGNvbnN0cnVjdG9yKHR5cGU6IHN0cmluZywgZXZlbnRJbml0PzogTmF2aWdhdGlvbkN1cnJlbnRFbnRyeUNoYW5nZUV2ZW50SW5pdCk7XG5cbiAgcmVhZG9ubHkgbmF2aWdhdGlvblR5cGU6IE5hdmlnYXRpb25UeXBlU3RyaW5nIHwgbnVsbDtcbiAgcmVhZG9ubHkgZnJvbTogTmF2aWdhdGlvbkhpc3RvcnlFbnRyeTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0aW9uQ3VycmVudEVudHJ5Q2hhbmdlRXZlbnRJbml0IGV4dGVuZHMgRXZlbnRJbml0IHtcbiAgbmF2aWdhdGlvblR5cGU/OiBOYXZpZ2F0aW9uVHlwZVN0cmluZyB8IG51bGw7XG4gIGZyb206IE5hdmlnYXRpb25IaXN0b3J5RW50cnk7XG59XG5cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIE5hdmlnYXRlRXZlbnQgZXh0ZW5kcyBFdmVudCB7XG4gIGNvbnN0cnVjdG9yKHR5cGU6IHN0cmluZywgZXZlbnRJbml0PzogTmF2aWdhdGVFdmVudEluaXQpO1xuXG4gIHJlYWRvbmx5IG5hdmlnYXRpb25UeXBlOiBOYXZpZ2F0aW9uVHlwZVN0cmluZztcbiAgcmVhZG9ubHkgY2FuSW50ZXJjZXB0OiBib29sZWFuO1xuICByZWFkb25seSB1c2VySW5pdGlhdGVkOiBib29sZWFuO1xuICByZWFkb25seSBoYXNoQ2hhbmdlOiBib29sZWFuO1xuICByZWFkb25seSBkZXN0aW5hdGlvbjogTmF2aWdhdGlvbkRlc3RpbmF0aW9uO1xuICByZWFkb25seSBzaWduYWw6IEFib3J0U2lnbmFsO1xuICByZWFkb25seSBmb3JtRGF0YTogRm9ybURhdGEgfCBudWxsO1xuICByZWFkb25seSBkb3dubG9hZFJlcXVlc3Q6IHN0cmluZyB8IG51bGw7XG4gIHJlYWRvbmx5IGluZm8/OiB1bmtub3duO1xuXG4gIGludGVyY2VwdChvcHRpb25zPzogTmF2aWdhdGlvbkludGVyY2VwdE9wdGlvbnMpOiB2b2lkO1xuICBzY3JvbGwoKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0ZUV2ZW50SW5pdCBleHRlbmRzIEV2ZW50SW5pdCB7XG4gIG5hdmlnYXRpb25UeXBlPzogTmF2aWdhdGlvblR5cGVTdHJpbmc7XG4gIGNhbkludGVyY2VwdD86IGJvb2xlYW47XG4gIHVzZXJJbml0aWF0ZWQ/OiBib29sZWFuO1xuICBoYXNoQ2hhbmdlPzogYm9vbGVhbjtcbiAgZGVzdGluYXRpb246IE5hdmlnYXRpb25EZXN0aW5hdGlvbjtcbiAgc2lnbmFsOiBBYm9ydFNpZ25hbDtcbiAgZm9ybURhdGE/OiBGb3JtRGF0YSB8IG51bGw7XG4gIGRvd25sb2FkUmVxdWVzdD86IHN0cmluZyB8IG51bGw7XG4gIGluZm8/OiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5hdmlnYXRpb25JbnRlcmNlcHRPcHRpb25zIHtcbiAgaGFuZGxlcj86ICgpID0+IFByb21pc2U8dm9pZD47XG4gIGZvY3VzUmVzZXQ/OiAnYWZ0ZXItdHJhbnNpdGlvbicgfCAnbWFudWFsJztcbiAgc2Nyb2xsPzogJ2FmdGVyLXRyYW5zaXRpb24nIHwgJ21hbnVhbCc7XG59XG5cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIE5hdmlnYXRpb25EZXN0aW5hdGlvbiB7XG4gIHJlYWRvbmx5IHVybDogc3RyaW5nO1xuICByZWFkb25seSBrZXk6IHN0cmluZyB8IG51bGw7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmcgfCBudWxsO1xuICByZWFkb25seSBpbmRleDogbnVtYmVyO1xuICByZWFkb25seSBzYW1lRG9jdW1lbnQ6IGJvb2xlYW47XG5cbiAgZ2V0U3RhdGUoKTogdW5rbm93bjtcbn1cbiJdfQ==
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright Google LLC All Rights Reserved.
|
|
4
4
|
*
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
7
|
*/
|
|
8
8
|
import { DOCUMENT, PlatformLocation } from '@angular/common';
|
|
9
9
|
import { inject } from '@angular/core';
|
|
@@ -26,4 +26,4 @@ export function provideFakePlatformNavigation() {
|
|
|
26
26
|
{ provide: PlatformLocation, useClass: FakeNavigationPlatformLocation },
|
|
27
27
|
];
|
|
28
28
|
}
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZV9mYWtlX3BsYXRmb3JtX25hdmlnYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vdGVzdGluZy9zcmMvbmF2aWdhdGlvbi9wcm92aWRlX2Zha2VfcGxhdGZvcm1fbmF2aWdhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUMsUUFBUSxFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFDLE1BQU0sRUFBVyxNQUFNLGVBQWUsQ0FBQztBQUUvQyx3Q0FBd0M7QUFDeEMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDL0UsT0FBTyxFQUNMLDhCQUE4QixFQUM5Qiw2QkFBNkIsR0FDOUIsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFakQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsNkJBQTZCO0lBQzNDLE9BQU87UUFDTDtZQUNFLE9BQU8sRUFBRSxrQkFBa0I7WUFDM0IsVUFBVSxFQUFFLEdBQUcsRUFBRTtnQkFDZixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsNkJBQTZCLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztnQkFDdkUsT0FBTyxJQUFJLGNBQWMsQ0FDdkIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVksRUFDNUIsTUFBTSxFQUFFLFFBQTRCLElBQUksaUJBQWlCLENBQzNELENBQUM7WUFDSixDQUFDO1NBQ0Y7UUFDRCxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsOEJBQThCLEVBQUM7S0FDdEUsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5kZXYvbGljZW5zZVxuICovXG5cbmltcG9ydCB7RE9DVU1FTlQsIFBsYXRmb3JtTG9jYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge2luamVjdCwgUHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vLyBAbmdfcGFja2FnZTogaWdub3JlLWNyb3NzLXJlcG8taW1wb3J0XG5pbXBvcnQge1BsYXRmb3JtTmF2aWdhdGlvbn0gZnJvbSAnLi4vLi4vLi4vc3JjL25hdmlnYXRpb24vcGxhdGZvcm1fbmF2aWdhdGlvbic7XG5pbXBvcnQge1xuICBGYWtlTmF2aWdhdGlvblBsYXRmb3JtTG9jYXRpb24sXG4gIE1PQ0tfUExBVEZPUk1fTE9DQVRJT05fQ09ORklHLFxufSBmcm9tICcuLi9tb2NrX3BsYXRmb3JtX2xvY2F0aW9uJztcblxuaW1wb3J0IHtGYWtlTmF2aWdhdGlvbn0gZnJvbSAnLi9mYWtlX25hdmlnYXRpb24nO1xuXG4vKipcbiAqIFJldHVybiBhIHByb3ZpZGVyIGZvciB0aGUgYEZha2VOYXZpZ2F0aW9uYCBpbiBwbGFjZSBvZiB0aGUgcmVhbCBOYXZpZ2F0aW9uIEFQSS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVGYWtlUGxhdGZvcm1OYXZpZ2F0aW9uKCk6IFByb3ZpZGVyW10ge1xuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFBsYXRmb3JtTmF2aWdhdGlvbixcbiAgICAgIHVzZUZhY3Rvcnk6ICgpID0+IHtcbiAgICAgICAgY29uc3QgY29uZmlnID0gaW5qZWN0KE1PQ0tfUExBVEZPUk1fTE9DQVRJT05fQ09ORklHLCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICAgICAgcmV0dXJuIG5ldyBGYWtlTmF2aWdhdGlvbihcbiAgICAgICAgICBpbmplY3QoRE9DVU1FTlQpLmRlZmF1bHRWaWV3ISxcbiAgICAgICAgICAoY29uZmlnPy5zdGFydFVybCBhcyBgaHR0cCR7c3RyaW5nfWApID8/ICdodHRwOi8vX2VtcHR5Xy8nLFxuICAgICAgICApO1xuICAgICAgfSxcbiAgICB9LFxuICAgIHtwcm92aWRlOiBQbGF0Zm9ybUxvY2F0aW9uLCB1c2VDbGFzczogRmFrZU5hdmlnYXRpb25QbGF0Zm9ybUxvY2F0aW9ufSxcbiAgXTtcbn1cbiJdfQ==
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright Google LLC All Rights Reserved.
|
|
4
4
|
*
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
7
|
*/
|
|
8
8
|
export { provideFakePlatformNavigation as ɵprovideFakePlatformNavigation } from './navigation/provide_fake_platform_navigation';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leHBvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vdGVzdGluZy9zcmMvcHJpdmF0ZV9leHBvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFDLDZCQUE2QixJQUFJLDhCQUE4QixFQUFDLE1BQU0sK0NBQStDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5kZXYvbGljZW5zZVxuICovXG5cbmV4cG9ydCB7cHJvdmlkZUZha2VQbGF0Zm9ybU5hdmlnYXRpb24gYXMgybVwcm92aWRlRmFrZVBsYXRmb3JtTmF2aWdhdGlvbn0gZnJvbSAnLi9uYXZpZ2F0aW9uL3Byb3ZpZGVfZmFrZV9wbGF0Zm9ybV9uYXZpZ2F0aW9uJztcbiJdfQ==
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright Google LLC All Rights Reserved.
|
|
4
4
|
*
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
7
|
*/
|
|
8
8
|
import { Location, LocationStrategy } from '@angular/common';
|
|
9
9
|
import { SpyLocation } from './location_mock';
|
|
@@ -20,4 +20,4 @@ export function provideLocationMocks() {
|
|
|
20
20
|
{ provide: LocationStrategy, useClass: MockLocationStrategy },
|
|
21
21
|
];
|
|
22
22
|
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZV9sb2NhdGlvbl9tb2Nrcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi90ZXN0aW5nL3NyYy9wcm92aWRlX2xvY2F0aW9uX21vY2tzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBQyxRQUFRLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUczRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFOUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsb0JBQW9CO0lBQ2xDLE9BQU87UUFDTCxFQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBQztRQUMxQyxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUM7S0FDNUQsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5kZXYvbGljZW5zZVxuICovXG5cbmltcG9ydCB7TG9jYXRpb24sIExvY2F0aW9uU3RyYXRlZ3l9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1Byb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtTcHlMb2NhdGlvbn0gZnJvbSAnLi9sb2NhdGlvbl9tb2NrJztcbmltcG9ydCB7TW9ja0xvY2F0aW9uU3RyYXRlZ3l9IGZyb20gJy4vbW9ja19sb2NhdGlvbl9zdHJhdGVneSc7XG5cbi8qKlxuICogUmV0dXJucyBtb2NrIHByb3ZpZGVycyBmb3IgdGhlIGBMb2NhdGlvbmAgYW5kIGBMb2NhdGlvblN0cmF0ZWd5YCBjbGFzc2VzLlxuICogVGhlIG1vY2tzIGFyZSBoZWxwZnVsIGluIHRlc3RzIHRvIGZpcmUgc2ltdWxhdGVkIGxvY2F0aW9uIGV2ZW50cy5cbiAqXG4gKiBAcHVibGljQXBpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlTG9jYXRpb25Nb2NrcygpOiBQcm92aWRlcltdIHtcbiAgcmV0dXJuIFtcbiAgICB7cHJvdmlkZTogTG9jYXRpb24sIHVzZUNsYXNzOiBTcHlMb2NhdGlvbn0sXG4gICAge3Byb3ZpZGU6IExvY2F0aW9uU3RyYXRlZ3ksIHVzZUNsYXNzOiBNb2NrTG9jYXRpb25TdHJhdGVneX0sXG4gIF07XG59XG4iXX0=
|