@fluid-app/portal-sdk 0.1.390 → 0.1.392

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.
Files changed (61) hide show
  1. package/dist/{AppNavigationContext-Dw_On0va.d.mts → AppNavigationContext-BSSOfIHg.d.mts} +8 -1
  2. package/dist/{AppNavigationContext-Dw_On0va.d.mts.map → AppNavigationContext-BSSOfIHg.d.mts.map} +1 -1
  3. package/dist/{AppNavigationContext-Db_mFrXm.d.cts → AppNavigationContext-C8hrkgZR.d.cts} +8 -1
  4. package/dist/{AppNavigationContext-Db_mFrXm.d.cts.map → AppNavigationContext-C8hrkgZR.d.cts.map} +1 -1
  5. package/dist/{FluidProvider-BfcG29PT.mjs → FluidProvider-CegGXzwS.mjs} +11 -5
  6. package/dist/FluidProvider-CegGXzwS.mjs.map +1 -0
  7. package/dist/{FluidProvider-CvyRvMMa.cjs → FluidProvider-DoY1xRUM.cjs} +11 -5
  8. package/dist/{FluidProvider-CvyRvMMa.cjs.map → FluidProvider-DoY1xRUM.cjs.map} +1 -1
  9. package/dist/{MessagingScreen-CkIY-Gkf.cjs → MessagingScreen-BGMv3dIE.cjs} +2 -2
  10. package/dist/{MessagingScreen-CNFeVh1u.cjs → MessagingScreen-BxFNVnPB.cjs} +2 -2
  11. package/dist/{MessagingScreen-CNFeVh1u.cjs.map → MessagingScreen-BxFNVnPB.cjs.map} +1 -1
  12. package/dist/{MessagingScreen-qXNcsl4-.mjs → MessagingScreen-CLYzVDN0.mjs} +2 -2
  13. package/dist/{MessagingScreen-qXNcsl4-.mjs.map → MessagingScreen-CLYzVDN0.mjs.map} +1 -1
  14. package/dist/{MessagingScreen-5KqM0KBC.mjs → MessagingScreen-GBjtssBo.mjs} +2 -2
  15. package/dist/{OrdersScreen-BPqOolGL.cjs → OrdersScreen-CW9q3SSJ.cjs} +2 -2
  16. package/dist/{OrdersScreen-BPqOolGL.cjs.map → OrdersScreen-CW9q3SSJ.cjs.map} +1 -1
  17. package/dist/{OrdersScreen-BGLW79kk.mjs → OrdersScreen-Cg5HcgmH.mjs} +2 -2
  18. package/dist/{OrdersScreen-CNyjYP5D.cjs → OrdersScreen-CoYzyNb0.cjs} +2 -2
  19. package/dist/{OrdersScreen-CzvcmBtF.mjs → OrdersScreen-uMGJOSzI.mjs} +2 -2
  20. package/dist/{OrdersScreen-CzvcmBtF.mjs.map → OrdersScreen-uMGJOSzI.mjs.map} +1 -1
  21. package/dist/{ProfileScreen-QHqdkZr0.mjs → ProfileScreen-BBfb-yb0.mjs} +3 -3
  22. package/dist/{ProfileScreen-QHqdkZr0.mjs.map → ProfileScreen-BBfb-yb0.mjs.map} +1 -1
  23. package/dist/{ProfileScreen-BXytHMQ9.mjs → ProfileScreen-B_szE2dH.mjs} +3 -3
  24. package/dist/{ProfileScreen-DCAvMSez.cjs → ProfileScreen-Bzg2jCK_.cjs} +3 -3
  25. package/dist/{ProfileScreen-DaiPMlWG.cjs → ProfileScreen-Dv04cioU.cjs} +3 -3
  26. package/dist/{ProfileScreen-DaiPMlWG.cjs.map → ProfileScreen-Dv04cioU.cjs.map} +1 -1
  27. package/dist/{ShopScreen-DPrt71ZR.cjs → ShopScreen-CU4vBFTh.cjs} +2 -2
  28. package/dist/{ShopScreen-DPrt71ZR.cjs.map → ShopScreen-CU4vBFTh.cjs.map} +1 -1
  29. package/dist/{ShopScreen-Dli69S1r.cjs → ShopScreen-Cv4ybD_r.cjs} +2 -2
  30. package/dist/{ShopScreen-BY-fGCuv.mjs → ShopScreen-DKy1aSlh.mjs} +2 -2
  31. package/dist/{ShopScreen-BY-fGCuv.mjs.map → ShopScreen-DKy1aSlh.mjs.map} +1 -1
  32. package/dist/{ShopScreen-CQm2LayD.mjs → ShopScreen-L4X2wKpT.mjs} +2 -2
  33. package/dist/{SubscriptionsScreen-DoG57hMn.mjs → SubscriptionsScreen-CGjYmRj3.mjs} +3 -3
  34. package/dist/{SubscriptionsScreen-DoG57hMn.mjs.map → SubscriptionsScreen-CGjYmRj3.mjs.map} +1 -1
  35. package/dist/{SubscriptionsScreen-CMrn02Xn.cjs → SubscriptionsScreen-DQMgUyOE.cjs} +3 -3
  36. package/dist/{SubscriptionsScreen-CMrn02Xn.cjs.map → SubscriptionsScreen-DQMgUyOE.cjs.map} +1 -1
  37. package/dist/{SubscriptionsScreen-tnC24Iv4.cjs → SubscriptionsScreen-ZeR1GQzC.cjs} +3 -3
  38. package/dist/{SubscriptionsScreen-DlZrgMFX.mjs → SubscriptionsScreen-_7NA14X-.mjs} +3 -3
  39. package/dist/adapters/account-api-adapter.d.ts.map +1 -1
  40. package/dist/index.cjs +18 -18
  41. package/dist/index.d.cts +1 -1
  42. package/dist/index.d.cts.map +1 -1
  43. package/dist/index.d.mts +1 -1
  44. package/dist/index.d.mts.map +1 -1
  45. package/dist/index.mjs +18 -18
  46. package/dist/preview/preview-entry.cjs +2 -2
  47. package/dist/preview/preview-entry.mjs +2 -2
  48. package/dist/providers/FluidProvider.d.ts.map +1 -1
  49. package/dist/screens/ShopScreen.d.ts.map +1 -1
  50. package/dist/{use-portal-card-add-3ds-flow-BfbkPCl2.mjs → use-portal-card-add-3ds-flow-BCCtRHVn.mjs} +2 -2
  51. package/dist/{use-portal-card-add-3ds-flow-BfbkPCl2.mjs.map → use-portal-card-add-3ds-flow-BCCtRHVn.mjs.map} +1 -1
  52. package/dist/{use-portal-card-add-3ds-flow-B05lhrGA.cjs → use-portal-card-add-3ds-flow-CaoqaZ1K.cjs} +2 -2
  53. package/dist/{use-portal-card-add-3ds-flow-B05lhrGA.cjs.map → use-portal-card-add-3ds-flow-CaoqaZ1K.cjs.map} +1 -1
  54. package/dist/{widget-package-utils-DdZ28aa2.mjs → widget-package-utils-2JwZzKqr.mjs} +2 -2
  55. package/dist/{widget-package-utils-DdZ28aa2.mjs.map → widget-package-utils-2JwZzKqr.mjs.map} +1 -1
  56. package/dist/{widget-package-utils-CJcLEvqE.cjs → widget-package-utils-D46LzFiW.cjs} +2 -2
  57. package/dist/{widget-package-utils-CJcLEvqE.cjs.map → widget-package-utils-D46LzFiW.cjs.map} +1 -1
  58. package/dist/widgets/authoring-condition.d.cts +1 -1
  59. package/dist/widgets/authoring-condition.d.mts +1 -1
  60. package/package.json +13 -13
  61. package/dist/FluidProvider-BfcG29PT.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"FluidProvider-CvyRvMMa.cjs","names":["#providerCalled","#provider","isPlainObject","VERSION","e","t","r","t","s","e","t","s","r","u","o","isFunction","AxiosError","utils","prototype","Stream","util","util","Stream","stream","util","http","https","parseUrl","crypto","FormData","utils","toFormData","PlatformFormData","AxiosError","encode","toFormData","utils","utils","platform","toFormData","platform","utils","utils","utils","transitionalDefaults","toFormData","AxiosError","platform","utils","utils","AxiosHeaders","parseHeaders","AxiosHeaders","isCancel","CanceledError","AxiosError","utils","AxiosError","url","process","os","tty","util","url","http","https","exports","VERSION","platform","AxiosError","utils","platform","utils","Readable","utils","utils","utils","followRedirects","platform","stream","EventEmitter","CanceledError","AxiosError","AxiosHeaders","transitionalDefaults","platform","platform","utils","AxiosHeaders","mergeConfig","utils","mergeConfig","AxiosHeaders","utils","platform","isURLSameOrigin","cookies","resolveConfig","AxiosHeaders","AxiosError","transitionalDefaults","utils","CanceledError","platform","AxiosError","CanceledError","utils","utils","ReadableStream","TextEncoder","platform","AxiosError","resolveConfig","AxiosHeaders","httpAdapter","xhrAdapter","fetchAdapter.getFetch","utils","getAdapter","AxiosError","CanceledError","AxiosHeaders","adapters","isCancel","validators","VERSION","AxiosError","validator","Axios","mergeConfig","utils","AxiosHeaders","CancelToken","CanceledError","spread","isAxiosError","utils","HttpStatusCode","Axios","mergeConfig","CanceledError","CancelToken","isCancel","VERSION","toFormData","AxiosError","spread","isAxiosError","AxiosHeaders","utils","adapters","HttpStatusCode","r","m","o","s","r","e","s","t","e","o","s","a","t","e","s","s","e","t","r","n","r","a","e","e","s","a","s","t","s","e","r","a","e","e","e","a","e","t","s","i","t","a","t","a","t","e","o","r","n","t","s","e","a","e","n","s","m","r","i","t","d","a","c","o","p","e","f","s","r","t","e","i","t","a","s","i","o","n","r","p","t","e","m","d","t","e","s","a","r","m","s","n","o","i","e","u","t","p","s","t","e","t","e","r","a","s","a","r","n","t","m","e","i","s","p","o","u","n","e","s","a","r","n","e","i","t","m","o","p","s","u","e","t","s","r","n","r","a","e","m","s","i","o","p","t","u","s","i","t","o","r","n","s","d","e","i","a","t","s","r","a","e","t","n","i","o","d","x","e","s","r","i","g","o","v","n","m","R","a","A","l","u","E","h","B","p","d","c","C","b","f","S","j","w","t","n","e","r","i","t","t","s","e","s","e","o","h","t","e","t","s","t","s","s","t","o","t","e","r","m","s","i","u","p","n","a","l","d","f","c","j","_","k","L","C","S","internationalAddressAutocomplete","core","usAutocompletePro","portalTenantPay.addresses_list","portalTenantPay.addresses_create","portalTenantPay.addresses_update","portalTenantPay.addresses_destroy","portalTenantPay.payment_methods_list","portalTenantPay.payment_methods_create","portalTenantPay.payment_methods_three_ds_confirm","portalTenantPay.payment_methods_three_ds_status","portalTenantPay.payment_methods_three_ds_cancel","portalTenantPay.payment_methods_update","portalTenantPay.payment_methods_destroy","portalTenantPay.payment_methods_vault_show","portalTenantPay.points_ledgers_list","mapMeta","portalTenantStore.countries_list","portalTenantStore.languages_list","portalTenantMysite.mysite_profile_show","portalTenantMysite.mysite_profile_update","portalTenantMysite.mysite_settings_update","portalTenantMysite.mysite_links_list","portalTenantMysite.mysite_links_create","portalTenantMysite.mysite_links_update","portalTenantMysite.mysite_links_destroy","portalTenantMysite.mysite_links_bulk_reorder","portalTenantMysite.mysite_favorites_list","portalTenantMysite.mysite_favorites_create","portalTenantMysite.mysite_favorites_destroy","portalTenantMysite.mysite_favorites_bulk_reorder","portalTenantMysite.mysite_themes_list","usePortalTenantClient","PortalProductsCoreProvider","createDomainTranslations","createStaticDictAdapter","useActiveLocale","useDomainDict","ShellTranslationProvider","titleCaseFromSnake","portalTenantMysite.mysite_profile_show","portalTenantPay.points_ledgers_list","usePortalTenantClient","WidgetsApiProvider","createDomainTranslations","createStaticDictAdapter","createTranslationContext","useActiveLocale","useDomainDict","createDomainTranslations","createStaticDictAdapter","createDomainTranslations","createStaticDictAdapter","createDomainTranslations","createStaticDictAdapter","createDomainTranslations","createStaticDictAdapter","StoreApiProvider","PortalUrlVariablesProvider","PortalContentApiProvider","ContactsTranslationBridge","PortalContactsApiProvider","DataSourceApiProvider","DataSourceRegistryProvider","RegistryProvider","shareablesDomain","upgradeDomain","appDownloadDomain","mysiteDomain","QueryClient","createPortalTenantFetchClient","createPortalTenantContentFetchClient","QueryClientProvider","PortalTenantClientProvider","AppDefinitionApiProvider","AccountApiProvider","CountriesApiProvider","MySiteApiProvider","useActiveLocale","FluidThemeProvider","LocaleProvider","useAccount"],"sources":["../../../../node_modules/.pnpm/@tanstack+query-core@5.101.0/node_modules/@tanstack/query-core/build/modern/timeoutManager.js","../../../../node_modules/.pnpm/@tanstack+query-core@5.101.0/node_modules/@tanstack/query-core/build/modern/utils.js","../../../../node_modules/.pnpm/@tanstack+query-core@5.101.0/node_modules/@tanstack/query-core/build/modern/notifyManager.js","../../../../node_modules/.pnpm/@tanstack+query-persist-client-core@5.91.11/node_modules/@tanstack/query-persist-client-core/build/modern/createPersister.js","../../../platform/query-persister/src/persister.ts","../../core/src/pay-api-context.ts","../../../store/core/src/languages-api-context.ts","../../../platform/address-autocomplete/src/api-context.ts","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/_virtual/_commonjsHelpers.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/Errors.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/Batch.mjs","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/bind.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/utils.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/core/AxiosError.js","../../../../node_modules/.pnpm/delayed-stream@1.0.0/node_modules/delayed-stream/lib/delayed_stream.js","../../../../node_modules/.pnpm/combined-stream@1.0.8/node_modules/combined-stream/lib/combined_stream.js","../../../../node_modules/.pnpm/mime-db@1.52.0/node_modules/mime-db/db.json","../../../../node_modules/.pnpm/mime-db@1.52.0/node_modules/mime-db/index.js","../../../../node_modules/.pnpm/mime-types@2.1.35/node_modules/mime-types/index.js","../../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/defer.js","../../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/async.js","../../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/abort.js","../../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/iterate.js","../../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/state.js","../../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/terminator.js","../../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/parallel.js","../../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/serialOrdered.js","../../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/serial.js","../../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/index.js","../../../../node_modules/.pnpm/es-object-atoms@1.1.1/node_modules/es-object-atoms/index.js","../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js","../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js","../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js","../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js","../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js","../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js","../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js","../../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js","../../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js","../../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js","../../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js","../../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js","../../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js","../../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js","../../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js","../../../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js","../../../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js","../../../../node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js","../../../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js","../../../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js","../../../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js","../../../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js","../../../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js","../../../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js","../../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js","../../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js","../../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js","../../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js","../../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js","../../../../node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js","../../../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js","../../../../node_modules/.pnpm/hasown@2.0.2/node_modules/hasown/index.js","../../../../node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js","../../../../node_modules/.pnpm/has-tostringtag@1.0.2/node_modules/has-tostringtag/shams.js","../../../../node_modules/.pnpm/es-set-tostringtag@2.1.0/node_modules/es-set-tostringtag/index.js","../../../../node_modules/.pnpm/form-data@4.0.5/node_modules/form-data/lib/populate.js","../../../../node_modules/.pnpm/form-data@4.0.5/node_modules/form-data/lib/form_data.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/platform/node/classes/FormData.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/toFormData.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/buildURL.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/core/InterceptorManager.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/defaults/transitional.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/platform/node/classes/URLSearchParams.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/platform/node/index.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/platform/common/utils.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/platform/index.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/toURLEncodedForm.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/formDataToJSON.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/defaults/index.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/parseHeaders.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/core/AxiosHeaders.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/core/transformData.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/cancel/isCancel.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/cancel/CanceledError.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/core/settle.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/isAbsoluteURL.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/combineURLs.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/core/buildFullPath.js","../../../../node_modules/.pnpm/proxy-from-env@1.1.0/node_modules/proxy-from-env/index.js","../../../../node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js","../../../../node_modules/.pnpm/debug@4.4.3_supports-color@10.2.2/node_modules/debug/src/common.js","../../../../node_modules/.pnpm/debug@4.4.3_supports-color@10.2.2/node_modules/debug/src/browser.js","../../../../node_modules/.pnpm/supports-color@10.2.2/node_modules/supports-color/index.js","../../../../node_modules/.pnpm/debug@4.4.3_supports-color@10.2.2/node_modules/debug/src/node.js","../../../../node_modules/.pnpm/debug@4.4.3_supports-color@10.2.2/node_modules/debug/src/index.js","../../../../node_modules/.pnpm/follow-redirects@1.15.11/node_modules/follow-redirects/debug.js","../../../../node_modules/.pnpm/follow-redirects@1.15.11/node_modules/follow-redirects/index.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/env/data.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/parseProtocol.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/fromDataURI.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/AxiosTransformStream.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/readBlob.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/formDataToStream.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/callbackify.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/speedometer.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/throttle.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/progressEventReducer.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/adapters/http.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/isURLSameOrigin.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/cookies.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/core/mergeConfig.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/resolveConfig.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/adapters/xhr.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/composeSignals.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/trackStream.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/adapters/fetch.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/adapters/adapters.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/core/dispatchRequest.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/validator.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/core/Axios.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/cancel/CancelToken.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/spread.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/isAxiosError.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/HttpStatusCode.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/axios.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/index.js","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/_virtual/_axios.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/Response.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/util/buildSmartyResponse.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/HttpSender.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/SharedCredentials.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/SigningSender.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/BaseUrlSender.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/package.json.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/AgentSender.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/StaticCredentials.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/CustomHeaderSender.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/StatusCodeSender.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/LicenseSender.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/RetrySender.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/util/Sleeper.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_street/Candidate.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_street/Lookup.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/Request.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/InputData.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/util/buildInputData.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/util/sendBatch.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/util/apiToSDKKeyMap.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_street/Client.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_zipcode/Lookup.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_zipcode/Result.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_zipcode/Client.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_autocomplete_pro/Suggestion.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_autocomplete_pro/Client.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_extract/Address.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_extract/Result.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_extract/Client.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/international_street/Candidate.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/international_street/Client.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_reverse_geo/Result.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_reverse_geo/Response.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_reverse_geo/Client.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/international_address_autocomplete/Suggestion.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/international_address_autocomplete/Client.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_enrichment/Client.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/ClientBuilder.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/util/buildClients.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_autocomplete_pro/Lookup.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_extract/Lookup.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/international_street/Lookup.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_reverse_geo/Lookup.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/international_address_autocomplete/Lookup.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_enrichment/Lookup.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_enrichment/Response.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/index.mjs","../../../platform/address-autocomplete/src/adapters/smarty-browser-adapter.ts","../../../platform/address-fields/src/address-fields-api-context.ts","../../../platform/api-client-core/src/fetch-client.ts","../src/adapters/data-source-api-adapter.ts","../src/adapters/app-definition-api-adapter.ts","../src/adapters/account-api-adapter.ts","../src/adapters/store-api-adapter.ts","../../../api-clients/portal-tenant-pay/src/namespaces/portal_tenant_pay.ts","../src/adapters/pay-api-adapter.ts","../../../api-clients/portal-tenant-store/src/namespaces/portal_tenant_store.ts","../src/adapters/countries-api-adapter.ts","../src/adapters/languages-api-adapter.ts","../../../api-clients/portal-tenant-mysite/src/namespaces/portal_tenant_mysite.ts","../src/adapters/mysite-api-adapter.ts","../src/adapters/address-fields-api-adapter.ts","../../react/src/runtime/provider-stack.tsx","../src/adapters/products-api-adapter.ts","../src/products/PortalProductsApiProvider.tsx","../../core/src/shell-translation-dictionary.ts","../../core/src/shell-translation-adapter.ts","../src/providers/ShellTranslationBridge.tsx","../src/adapters/widgets-api-adapter.ts","../src/widgets/PortalWidgetsApiProvider.tsx","../../../shop/core/src/translation-dictionary.ts","../../../shop/core/src/translation-adapter.ts","../../../shop/core/src/translation-api-context.ts","../src/providers/ShopTranslationBridge.tsx","../../core/src/widget-utils/utils.ts","../../widgets/src/widgets/index.ts","../src/core/default-widget-registry.ts","../../../platform/i18n/src/preload-locale.ts","../../../orders/core/src/translation-dictionary.ts","../../../orders/core/src/translation-adapter.ts","../../../subscriptions/core/src/translation-dictionary.ts","../../../subscriptions/core/src/translation-adapter.ts","../../../profile/core/src/translation-dictionary.ts","../../../profile/core/src/translation-adapter.ts","../../../messaging/core/src/translation-dictionary.ts","../../../messaging/core/src/translation-adapter.ts","../src/hooks/use-portal-active-locale.ts","../src/providers/FluidProvider.tsx"],"sourcesContent":["// src/timeoutManager.ts\nvar defaultTimeoutProvider = {\n // We need the wrapper function syntax below instead of direct references to\n // global setTimeout etc.\n //\n // BAD: `setTimeout: setTimeout`\n // GOOD: `setTimeout: (cb, delay) => setTimeout(cb, delay)`\n //\n // If we use direct references here, then anything that wants to spy on or\n // replace the global setTimeout (like tests) won't work since we'll already\n // have a hard reference to the original implementation at the time when this\n // file was imported.\n setTimeout: (callback, delay) => setTimeout(callback, delay),\n clearTimeout: (timeoutId) => clearTimeout(timeoutId),\n setInterval: (callback, delay) => setInterval(callback, delay),\n clearInterval: (intervalId) => clearInterval(intervalId)\n};\nvar TimeoutManager = class {\n // We cannot have TimeoutManager<T> as we must instantiate it with a concrete\n // type at app boot; and if we leave that type, then any new timer provider\n // would need to support the default provider's concrete timer ID, which is\n // infeasible across environments.\n //\n // We settle for type safety for the TimeoutProvider type, and accept that\n // this class is unsafe internally to allow for extension.\n #provider = defaultTimeoutProvider;\n #providerCalled = false;\n setTimeoutProvider(provider) {\n if (process.env.NODE_ENV !== \"production\") {\n if (this.#providerCalled && provider !== this.#provider) {\n console.error(\n `[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.`,\n { previous: this.#provider, provider }\n );\n }\n }\n this.#provider = provider;\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = false;\n }\n }\n setTimeout(callback, delay) {\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = true;\n }\n return this.#provider.setTimeout(callback, delay);\n }\n clearTimeout(timeoutId) {\n this.#provider.clearTimeout(timeoutId);\n }\n setInterval(callback, delay) {\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = true;\n }\n return this.#provider.setInterval(callback, delay);\n }\n clearInterval(intervalId) {\n this.#provider.clearInterval(intervalId);\n }\n};\nvar timeoutManager = new TimeoutManager();\nfunction systemSetTimeoutZero(callback) {\n setTimeout(callback, 0);\n}\nexport {\n TimeoutManager,\n defaultTimeoutProvider,\n systemSetTimeoutZero,\n timeoutManager\n};\n//# sourceMappingURL=timeoutManager.js.map","// src/utils.ts\nimport { timeoutManager } from \"./timeoutManager.js\";\nvar isServer = typeof window === \"undefined\" || \"Deno\" in globalThis;\nfunction noop() {\n}\nfunction functionalUpdate(updater, input) {\n return typeof updater === \"function\" ? updater(input) : updater;\n}\nfunction isValidTimeout(value) {\n return typeof value === \"number\" && value >= 0 && value !== Infinity;\n}\nfunction timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nfunction resolveStaleTime(staleTime, query) {\n return typeof staleTime === \"function\" ? staleTime(query) : staleTime;\n}\nfunction resolveQueryBoolean(option, query) {\n return typeof option === \"function\" ? option(query) : option;\n}\nfunction matchQuery(filters, query) {\n const {\n type = \"all\",\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale\n } = filters;\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false;\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false;\n }\n }\n if (type !== \"all\") {\n const isActive = query.isActive();\n if (type === \"active\" && !isActive) {\n return false;\n }\n if (type === \"inactive\" && isActive) {\n return false;\n }\n }\n if (typeof stale === \"boolean\" && query.isStale() !== stale) {\n return false;\n }\n if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n return false;\n }\n if (predicate && !predicate(query)) {\n return false;\n }\n return true;\n}\nfunction matchMutation(filters, mutation) {\n const { exact, status, predicate, mutationKey } = filters;\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n if (status && mutation.state.status !== status) {\n return false;\n }\n if (predicate && !predicate(mutation)) {\n return false;\n }\n return true;\n}\nfunction hashQueryKeyByOptions(queryKey, options) {\n const hashFn = options?.queryKeyHashFn || hashKey;\n return hashFn(queryKey);\n}\nfunction hashKey(queryKey) {\n return JSON.stringify(\n queryKey,\n (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {\n result[key] = val[key];\n return result;\n }, {}) : val\n );\n}\nfunction partialMatchKey(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (a && b && typeof a === \"object\" && typeof b === \"object\") {\n return Object.keys(b).every((key) => partialMatchKey(a[key], b[key]));\n }\n return false;\n}\nvar hasOwn = Object.prototype.hasOwnProperty;\nfunction replaceEqualDeep(a, b, depth = 0) {\n if (a === b) {\n return a;\n }\n if (depth > 500) return b;\n const array = isPlainArray(a) && isPlainArray(b);\n if (!array && !(isPlainObject(a) && isPlainObject(b))) return b;\n const aItems = array ? a : Object.keys(a);\n const aSize = aItems.length;\n const bItems = array ? b : Object.keys(b);\n const bSize = bItems.length;\n const copy = array ? new Array(bSize) : {};\n let equalItems = 0;\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i];\n const aItem = a[key];\n const bItem = b[key];\n if (aItem === bItem) {\n copy[key] = aItem;\n if (array ? i < aSize : hasOwn.call(a, key)) equalItems++;\n continue;\n }\n if (aItem === null || bItem === null || typeof aItem !== \"object\" || typeof bItem !== \"object\") {\n copy[key] = bItem;\n continue;\n }\n const v = replaceEqualDeep(aItem, bItem, depth + 1);\n copy[key] = v;\n if (v === aItem) equalItems++;\n }\n return aSize === bSize && equalItems === aSize ? a : copy;\n}\nfunction shallowEqualObjects(a, b) {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false;\n }\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n}\nfunction isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n}\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n }\n const ctor = o.constructor;\n if (ctor === void 0) {\n return true;\n }\n const prot = ctor.prototype;\n if (!hasObjectPrototype(prot)) {\n return false;\n }\n if (!prot.hasOwnProperty(\"isPrototypeOf\")) {\n return false;\n }\n if (Object.getPrototypeOf(o) !== Object.prototype) {\n return false;\n }\n return true;\n}\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === \"[object Object]\";\n}\nfunction sleep(timeout) {\n return new Promise((resolve) => {\n timeoutManager.setTimeout(resolve, timeout);\n });\n}\nfunction replaceData(prevData, data, options) {\n if (typeof options.structuralSharing === \"function\") {\n return options.structuralSharing(prevData, data);\n } else if (options.structuralSharing !== false) {\n if (process.env.NODE_ENV !== \"production\") {\n try {\n return replaceEqualDeep(prevData, data);\n } catch (error) {\n console.error(\n `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options.queryHash}]: ${error}`\n );\n throw error;\n }\n }\n return replaceEqualDeep(prevData, data);\n }\n return data;\n}\nfunction keepPreviousData(previousData) {\n return previousData;\n}\nfunction addToEnd(items, item, max = 0) {\n const newItems = [...items, item];\n return max && newItems.length > max ? newItems.slice(1) : newItems;\n}\nfunction addToStart(items, item, max = 0) {\n const newItems = [item, ...items];\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems;\n}\nvar skipToken = /* @__PURE__ */ Symbol();\nfunction ensureQueryFn(options, fetchOptions) {\n if (process.env.NODE_ENV !== \"production\") {\n if (options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'`\n );\n }\n }\n if (!options.queryFn && fetchOptions?.initialPromise) {\n return () => fetchOptions.initialPromise;\n }\n if (!options.queryFn || options.queryFn === skipToken) {\n return () => Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`));\n }\n return options.queryFn;\n}\nfunction shouldThrowError(throwOnError, params) {\n if (typeof throwOnError === \"function\") {\n return throwOnError(...params);\n }\n return !!throwOnError;\n}\nfunction addConsumeAwareSignal(object, getSignal, onCancelled) {\n let consumed = false;\n let signal;\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n signal ??= getSignal();\n if (consumed) {\n return signal;\n }\n consumed = true;\n if (signal.aborted) {\n onCancelled();\n } else {\n signal.addEventListener(\"abort\", onCancelled, { once: true });\n }\n return signal;\n }\n });\n return object;\n}\nexport {\n addConsumeAwareSignal,\n addToEnd,\n addToStart,\n ensureQueryFn,\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n isPlainArray,\n isPlainObject,\n isServer,\n isValidTimeout,\n keepPreviousData,\n matchMutation,\n matchQuery,\n noop,\n partialMatchKey,\n replaceData,\n replaceEqualDeep,\n resolveQueryBoolean,\n resolveStaleTime,\n shallowEqualObjects,\n shouldThrowError,\n skipToken,\n sleep,\n timeUntilStale\n};\n//# sourceMappingURL=utils.js.map","// src/notifyManager.ts\nimport { systemSetTimeoutZero } from \"./timeoutManager.js\";\nvar defaultScheduler = systemSetTimeoutZero;\nfunction createNotifyManager() {\n let queue = [];\n let transactions = 0;\n let notifyFn = (callback) => {\n callback();\n };\n let batchNotifyFn = (callback) => {\n callback();\n };\n let scheduleFn = defaultScheduler;\n const schedule = (callback) => {\n if (transactions) {\n queue.push(callback);\n } else {\n scheduleFn(() => {\n notifyFn(callback);\n });\n }\n };\n const flush = () => {\n const originalQueue = queue;\n queue = [];\n if (originalQueue.length) {\n scheduleFn(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback);\n });\n });\n });\n }\n };\n return {\n batch: (callback) => {\n let result;\n transactions++;\n try {\n result = callback();\n } finally {\n transactions--;\n if (!transactions) {\n flush();\n }\n }\n return result;\n },\n /**\n * All calls to the wrapped function will be batched.\n */\n batchCalls: (callback) => {\n return (...args) => {\n schedule(() => {\n callback(...args);\n });\n };\n },\n schedule,\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n setNotifyFunction: (fn) => {\n notifyFn = fn;\n },\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n setBatchNotifyFunction: (fn) => {\n batchNotifyFn = fn;\n },\n setScheduler: (fn) => {\n scheduleFn = fn;\n }\n };\n}\nvar notifyManager = createNotifyManager();\nexport {\n createNotifyManager,\n defaultScheduler,\n notifyManager\n};\n//# sourceMappingURL=notifyManager.js.map","// src/createPersister.ts\nimport {\n hashKey,\n matchQuery,\n notifyManager,\n partialMatchKey\n} from \"@tanstack/query-core\";\nvar PERSISTER_KEY_PREFIX = \"tanstack-query\";\nfunction experimental_createQueryPersister({\n storage,\n buster = \"\",\n maxAge = 1e3 * 60 * 60 * 24,\n serialize = JSON.stringify,\n deserialize = JSON.parse,\n prefix = PERSISTER_KEY_PREFIX,\n refetchOnRestore = true,\n filters\n}) {\n function isExpiredOrBusted(persistedQuery) {\n if (persistedQuery.state.dataUpdatedAt) {\n const queryAge = Date.now() - persistedQuery.state.dataUpdatedAt;\n const expired = queryAge > maxAge;\n const busted = persistedQuery.buster !== buster;\n if (expired || busted) {\n return true;\n }\n return false;\n }\n return true;\n }\n async function retrieveQuery(queryHash, afterRestoreMacroTask) {\n if (storage != null) {\n const storageKey = `${prefix}-${queryHash}`;\n try {\n const storedData = await storage.getItem(storageKey);\n if (storedData) {\n const persistedQuery = await deserialize(storedData);\n if (isExpiredOrBusted(persistedQuery)) {\n await storage.removeItem(storageKey);\n } else {\n if (afterRestoreMacroTask) {\n notifyManager.schedule(\n () => afterRestoreMacroTask(persistedQuery)\n );\n }\n return persistedQuery.state.data;\n }\n }\n } catch (err) {\n if (process.env.NODE_ENV === \"development\") {\n console.error(err);\n console.warn(\n \"Encountered an error attempting to restore query cache from persisted location.\"\n );\n }\n await storage.removeItem(storageKey);\n }\n }\n return;\n }\n async function persistQueryByKey(queryKey, queryClient) {\n if (storage != null) {\n const query = queryClient.getQueryCache().find({ queryKey });\n if (query) {\n await persistQuery(query);\n } else {\n if (process.env.NODE_ENV === \"development\") {\n console.warn(\n \"Could not find query to be persisted. QueryKey:\",\n JSON.stringify(queryKey)\n );\n }\n }\n }\n }\n async function persistQuery(query) {\n if (storage != null) {\n const storageKey = `${prefix}-${query.queryHash}`;\n storage.setItem(\n storageKey,\n await serialize({\n state: query.state,\n queryKey: query.queryKey,\n queryHash: query.queryHash,\n buster\n })\n );\n }\n }\n async function persisterFn(queryFn, ctx, query) {\n const matchesFilter = filters ? matchQuery(filters, query) : true;\n if (matchesFilter && query.state.data === void 0 && storage != null) {\n const restoredData = await retrieveQuery(\n query.queryHash,\n (persistedQuery) => {\n query.setState({\n dataUpdatedAt: persistedQuery.state.dataUpdatedAt,\n errorUpdatedAt: persistedQuery.state.errorUpdatedAt\n });\n if (refetchOnRestore === \"always\" || refetchOnRestore === true && query.isStale()) {\n query.fetch();\n }\n }\n );\n if (restoredData !== void 0) {\n return Promise.resolve(restoredData);\n }\n }\n const queryFnResult = await queryFn(ctx);\n if (matchesFilter && storage != null) {\n notifyManager.schedule(() => {\n persistQuery(query);\n });\n }\n return Promise.resolve(queryFnResult);\n }\n async function persisterGc() {\n if (storage?.entries) {\n const entries = await storage.entries();\n for (const [key, value] of entries) {\n if (key.startsWith(prefix)) {\n const persistedQuery = await deserialize(value);\n if (isExpiredOrBusted(persistedQuery)) {\n await storage.removeItem(key);\n }\n }\n }\n } else if (process.env.NODE_ENV === \"development\") {\n throw new Error(\n \"Provided storage does not implement `entries` method. Garbage collection is not possible without ability to iterate over storage items.\"\n );\n }\n }\n async function restoreQueries(queryClient, filters2 = {}) {\n const { exact, queryKey } = filters2;\n if (storage?.entries) {\n const entries = await storage.entries();\n for (const [key, value] of entries) {\n if (key.startsWith(prefix)) {\n const persistedQuery = await deserialize(value);\n if (isExpiredOrBusted(persistedQuery)) {\n await storage.removeItem(key);\n continue;\n }\n if (queryKey) {\n if (exact) {\n if (persistedQuery.queryHash !== hashKey(queryKey)) {\n continue;\n }\n } else if (!partialMatchKey(persistedQuery.queryKey, queryKey)) {\n continue;\n }\n }\n queryClient.setQueryData(\n persistedQuery.queryKey,\n persistedQuery.state.data,\n {\n updatedAt: persistedQuery.state.dataUpdatedAt\n }\n );\n }\n }\n } else if (process.env.NODE_ENV === \"development\") {\n throw new Error(\n \"Provided storage does not implement `entries` method. Restoration of all stored entries is not possible without ability to iterate over storage items.\"\n );\n }\n }\n return {\n persisterFn,\n persistQuery,\n persistQueryByKey,\n retrieveQuery,\n persisterGc,\n restoreQueries\n };\n}\nexport {\n PERSISTER_KEY_PREFIX,\n experimental_createQueryPersister\n};\n//# sourceMappingURL=createPersister.js.map","import {\n type AsyncStorage,\n experimental_createQueryPersister,\n type PersistedQuery,\n} from \"@tanstack/react-query-persist-client\";\n\nconst DB_NAME = \"fluid_tanstack_query_cache\";\nconst STORE_NAME = \"fluid_queries\";\nconst VERSION = 1;\n\nlet dbPromise: Promise<IDBDatabase> | null = null;\n\n// Exported for testing - allows resetting internal state between tests\nexport function _resetForTesting(): void {\n dbPromise = null;\n}\n\nexport async function deleteDatabase(reason: string = \"error\"): Promise<void> {\n return new Promise((resolve, reject) => {\n console.warn(`[IDB] Deleting database due to ${reason}`);\n const req = indexedDB.deleteDatabase(DB_NAME);\n req.onsuccess = () => {\n console.log(\"[IDB] Database deleted successfully\");\n dbPromise = null; // ensure next getDb() opens a fresh connection\n resolve();\n };\n req.onerror = () => {\n console.error(\"[IDB] Failed to delete database:\", req.error);\n reject(req.error ?? new Error(\"deleteDatabase failed\"));\n };\n req.onblocked = () => {\n console.warn(\"[IDB] Delete blocked: close all tabs using this database\");\n // Resolve anyway so callers (e.g. clearCompanyCache) don't hang\n // indefinitely. The delete will complete once blocking connections close.\n dbPromise = null; // best-effort: allow fresh open on next access\n resolve();\n };\n });\n}\n\nfunction openDatabase(): Promise<IDBDatabase> {\n return new Promise((resolve, reject) => {\n const req = indexedDB.open(DB_NAME, VERSION);\n\n req.onupgradeneeded = () => {\n const upgradeDb = req.result;\n if (!upgradeDb.objectStoreNames.contains(STORE_NAME)) {\n upgradeDb.createObjectStore(STORE_NAME);\n }\n };\n\n req.onsuccess = () => {\n const conn = req.result;\n conn.onversionchange = () => {\n console.trace(\"[IDB] version change – closing connection\");\n conn.close();\n // clear the cached promise so the next getDb call re-opens a connection\n dbPromise = null;\n };\n resolve(conn);\n };\n\n req.onblocked = () => {\n console.warn(\"[IDB] open blocked: another connection is holding the DB\");\n };\n\n req.onerror = () => {\n reject(\n req.error instanceof Error\n ? req.error\n : new Error(`IndexedDB open failed: ${String(req.error)}`),\n );\n };\n });\n}\n\nasync function getDbWithRecovery(): Promise<IDBDatabase> {\n try {\n return await openDatabase();\n } catch (err) {\n // First open failed - try to delete and recreate\n console.warn(\"[IDB] Initial open failed, attempting recovery:\", err);\n try {\n await deleteDatabase();\n console.log(\"[IDB] Retrying database open after deletion\");\n return await openDatabase();\n } catch (retryErr) {\n console.error(\"[IDB] Recovery failed:\", retryErr);\n throw retryErr;\n }\n }\n}\n\nfunction getDb(): Promise<IDBDatabase> {\n if (dbPromise) return dbPromise;\n\n // Create the promise and cache it immediately to prevent race conditions\n // All concurrent calls will share this same promise\n dbPromise = getDbWithRecovery().catch((err) => {\n // On failure, clear the cache so next call can retry fresh\n dbPromise = null;\n throw err;\n });\n\n return dbPromise;\n}\n\n// Exported for testing - allows direct testing of storage operations\nexport const storage: AsyncStorage<PersistedQuery> = {\n async getItem(key: string) {\n try {\n const db = await getDb();\n return new Promise<PersistedQuery | undefined>((res) => {\n try {\n const r = db\n .transaction(STORE_NAME, \"readonly\")\n .objectStore(STORE_NAME)\n .get(key);\n r.onsuccess = () => res(r.result as PersistedQuery);\n r.onerror = () => {\n console.trace(\"[IDB] getItem error:\", r.error);\n res(undefined);\n };\n } catch (txErr) {\n // Transaction creation failed (e.g., stale connection)\n console.trace(\"[IDB] getItem transaction error:\", txErr);\n res(undefined);\n }\n });\n } catch (err) {\n // getDb() failed - try to recover with a fresh connection\n console.trace(\"[IDB] getItem getDb error:\", err);\n try {\n const db = await getDb();\n // Use fresh connection directly - getDb() already handles recovery\n return new Promise<PersistedQuery | undefined>((res) => {\n try {\n const r = db\n .transaction(STORE_NAME, \"readonly\")\n .objectStore(STORE_NAME)\n .get(key);\n r.onsuccess = () => res(r.result as PersistedQuery);\n r.onerror = () => {\n console.trace(\"[IDB] getItem retry error:\", r.error);\n res(undefined);\n };\n } catch (txErr) {\n console.trace(\"[IDB] getItem retry transaction error:\", txErr);\n res(undefined);\n }\n });\n } catch (recoveryErr) {\n console.trace(\"[IDB] getItem recovery failed:\", recoveryErr);\n }\n return undefined;\n }\n },\n\n async setItem(key: string, value: PersistedQuery) {\n // JSON round-trip strips non-cloneable properties (functions, class instances)\n // before IndexedDB's structured clone algorithm runs. Without this, IDB\n // throws DataCloneError. Theme Color objects are now kept out of the cache\n // via the select pattern, but other queries may still have non-cloneable data.\n const cloneableValue = JSON.parse(JSON.stringify(value));\n try {\n const db = await getDb();\n if (!db) return;\n await new Promise<void>((resolve) => {\n try {\n const req = db\n .transaction(STORE_NAME, \"readwrite\")\n .objectStore(STORE_NAME)\n .put(cloneableValue, key);\n req.onsuccess = () => resolve();\n req.onerror = () => {\n console.trace(\"[IDB] setItem error:\", req.error);\n resolve();\n };\n } catch (txErr) {\n console.trace(\"[IDB] setItem transaction error:\", txErr);\n resolve();\n }\n });\n } catch (err) {\n // getDb() failed - try to recover with a fresh connection\n console.trace(\"[IDB] setItem getDb error:\", err);\n try {\n const db = await getDb();\n // Use fresh connection directly - getDb() already handles recovery\n await new Promise<void>((resolve) => {\n try {\n const req = db\n .transaction(STORE_NAME, \"readwrite\")\n .objectStore(STORE_NAME)\n .put(cloneableValue, key);\n req.onsuccess = () => resolve();\n req.onerror = () => {\n console.trace(\"[IDB] setItem retry error:\", req.error);\n resolve();\n };\n } catch (txErr) {\n console.trace(\"[IDB] setItem retry transaction error:\", txErr);\n resolve();\n }\n });\n } catch (recoveryErr) {\n console.trace(\"[IDB] setItem recovery failed:\", recoveryErr);\n }\n }\n },\n\n async removeItem(key: string) {\n try {\n const db = await getDb();\n if (!db) return;\n await new Promise<void>((resolve) => {\n try {\n const req = db\n .transaction(STORE_NAME, \"readwrite\")\n .objectStore(STORE_NAME)\n .delete(key);\n req.onsuccess = () => resolve();\n req.onerror = () => {\n console.trace(\"[IDB] removeItem error:\", req.error);\n resolve();\n };\n } catch (txErr) {\n console.trace(\"[IDB] removeItem transaction error:\", txErr);\n resolve();\n }\n });\n } catch (err) {\n // getDb() failed - try to recover with a fresh connection\n console.trace(\"[IDB] removeItem getDb error:\", err);\n try {\n const db = await getDb();\n // Use fresh connection directly - getDb() already handles recovery\n await new Promise<void>((resolve) => {\n try {\n const req = db\n .transaction(STORE_NAME, \"readwrite\")\n .objectStore(STORE_NAME)\n .delete(key);\n req.onsuccess = () => resolve();\n req.onerror = () => {\n console.trace(\"[IDB] removeItem retry error:\", req.error);\n resolve();\n };\n } catch (txErr) {\n console.trace(\"[IDB] removeItem retry transaction error:\", txErr);\n resolve();\n }\n });\n } catch (recoveryErr) {\n console.trace(\"[IDB] removeItem recovery failed:\", recoveryErr);\n }\n }\n },\n};\n\n// Factory function to create persister - only call this client-side\nexport function createPersister(): ReturnType<\n typeof experimental_createQueryPersister\n> {\n return experimental_createQueryPersister<PersistedQuery>({\n storage,\n serialize: (persistedQuery) => persistedQuery,\n deserialize: (cached) => cached,\n });\n}\n","import { createContext, use } from \"react\";\nimport type { PayApi } from \"./pay-api\";\n\nconst PayApiContext = createContext<PayApi | null>(null);\n\nexport const PayApiProvider = PayApiContext.Provider;\n\nexport function usePayApi(): PayApi {\n const api = use(PayApiContext);\n if (!api) {\n throw new Error(\"usePayApi must be used within a PayApiProvider\");\n }\n return api;\n}\n","import { createContext, type Provider, use } from \"react\";\nimport type { LanguagesApi } from \"./languages-api\";\n\nconst LanguagesApiContext = createContext<LanguagesApi | null>(null);\n\nexport const LanguagesApiProvider: Provider<LanguagesApi | null> =\n LanguagesApiContext.Provider;\n\nexport function useLanguagesApi(): LanguagesApi {\n const api = use(LanguagesApiContext);\n if (!api) {\n throw new Error(\n \"useLanguagesApi must be used within a LanguagesApiProvider\",\n );\n }\n return api;\n}\n","import { createContext, use } from \"react\";\nimport type { AddressAutocompleteApi } from \"./api\";\n\nconst AddressAutocompleteApiContext =\n createContext<AddressAutocompleteApi | null>(null);\n\nexport const AddressAutocompleteApiProvider =\n AddressAutocompleteApiContext.Provider;\n\nexport function useAddressAutocompleteApi(): AddressAutocompleteApi {\n const api = use(AddressAutocompleteApiContext);\n if (!api) {\n throw new Error(\n \"useAddressAutocompleteApi must be used within an AddressAutocompleteApiProvider\",\n );\n }\n return api;\n}\n","function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}function t(e){if(e.__esModule)return e;var t=e.default;if(\"function\"==typeof t){var r=function e(){return this instanceof e?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,\"__esModule\",{value:!0}),Object.keys(e).forEach((function(t){var o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,o.get?o:{enumerable:!0,get:function(){return e[t]}})})),r}export{t as getAugmentedNamespace,e as getDefaultExportFromCjs};\n","import{getDefaultExportFromCjs as e}from\"./_virtual/_commonjsHelpers.mjs\";class r extends Error{constructor(e=\"unexpected error\"){super(e)}}var t={BatchFullError:class extends r{constructor(){super(\"A batch can contain a max of 100 lookups.\")}},BatchEmptyError:class extends r{constructor(){super(\"A batch must contain at least 1 lookup.\")}},UndefinedLookupError:class extends r{constructor(){super(\"The lookup provided is missing or undefined. Make sure you're passing a Lookup object.\")}},BadCredentialsError:class extends r{constructor(){super(\"Unauthorized: The credentials were provided incorrectly or did not match any existing active credentials.\")}},PaymentRequiredError:class extends r{constructor(){super(\"Payment Required: There is no active subscription for the account associated with the credentials submitted with the request.\")}},RequestEntityTooLargeError:class extends r{constructor(){super(\"Request Entity Too Large: The request body has exceeded the maximum size.\")}},BadRequestError:class extends r{constructor(){super(\"Bad Request (Malformed Payload): A GET request lacked a street field or the request body of a POST request contained malformed JSON.\")}},UnprocessableEntityError:class extends r{constructor(e){super(e)}},TooManyRequestsError:class extends r{constructor(){super(\"When using the public 'embedded key' authentication, we restrict the number of requests coming from a given source over too short of a time.\")}},InternalServerError:class extends r{constructor(){super(\"Internal Server Error.\")}},ServiceUnavailableError:class extends r{constructor(){super(\"Service Unavailable. Try again later.\")}},GatewayTimeoutError:class extends r{constructor(){super(\"The upstream data provider did not respond in a timely fashion and the request failed. A serious, yet rare occurrence indeed.\")}},DefaultError:class extends r{constructor(e){super(e)}}},s=e(t);export{t as E,s as default};\n","import{getDefaultExportFromCjs as o}from\"./_virtual/_commonjsHelpers.mjs\";import{E as s}from\"./Errors.mjs\";const t=s.BatchFullError;var r=class{constructor(){this.lookups=[]}add(o){if(!this.lookupsHasRoomForLookup())throw new t;this.lookups.push(o)}lookupsHasRoomForLookup(){return this.lookups.length<100}length(){return this.lookups.length}getByIndex(o){return this.lookups[o]}getByInputId(o){return this.lookups.filter((s=>s.inputId===o))[0]}clear(){this.lookups=[]}isEmpty(){return 0===this.length()}},u=o(r);export{r as B,u as default};\n","'use strict';\n\n/**\n * Create a bound version of a function with a specified `this` context\n *\n * @param {Function} fn - The function to bind\n * @param {*} thisArg - The value to be passed as the `this` parameter\n * @returns {Function} A new function that will call the original function with the specified `this` context\n */\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\nconst {iterator, toStringTag} = Symbol;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(toStringTag in val) && !(iterator in val);\n}\n\n/**\n * Determine if a value is an empty object (safely handles Buffers)\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an empty object, otherwise false\n */\nconst isEmptyObject = (val) => {\n // Early return for non-objects or Buffers to prevent RangeError\n if (!isObject(val) || isBuffer(val)) {\n return false;\n }\n\n try {\n return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n } catch (e) {\n // Fallback for any other objects that might cause RangeError with Object.keys()\n return false;\n }\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Buffer check\n if (isBuffer(obj)) {\n return;\n }\n\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n if (isBuffer(obj)){\n return null;\n }\n\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless, skipUndefined} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else if (!skipUndefined || !isUndefined(val)) {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[iterator];\n\n const _iterator = generator.call(obj);\n\n let result;\n\n while ((result = _iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\n\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[toStringTag] === 'FormData' && thing[iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n //Buffer check\n if (isBuffer(source)) {\n return source;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\n\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\n\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isEmptyObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap,\n isIterable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n const msg = error && error.message ? error.message : 'Error';\n\n // Prefer explicit code; otherwise copy the low-level error's code (e.g. ECONNREFUSED)\n const errCode = code == null && error ? error.code : code;\n AxiosError.call(axiosError, msg, errCode, config, request, response);\n\n // Chain the original error on the standard field; non-enumerable to avoid JSON noise\n if (error && axiosError.cause == null) {\n Object.defineProperty(axiosError, 'cause', { value: error, configurable: true });\n }\n\n axiosError.name = (error && error.name) || 'Error';\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","var Stream = require('stream').Stream;\nvar util = require('util');\n\nmodule.exports = DelayedStream;\nfunction DelayedStream() {\n this.source = null;\n this.dataSize = 0;\n this.maxDataSize = 1024 * 1024;\n this.pauseStream = true;\n\n this._maxDataSizeExceeded = false;\n this._released = false;\n this._bufferedEvents = [];\n}\nutil.inherits(DelayedStream, Stream);\n\nDelayedStream.create = function(source, options) {\n var delayedStream = new this();\n\n options = options || {};\n for (var option in options) {\n delayedStream[option] = options[option];\n }\n\n delayedStream.source = source;\n\n var realEmit = source.emit;\n source.emit = function() {\n delayedStream._handleEmit(arguments);\n return realEmit.apply(source, arguments);\n };\n\n source.on('error', function() {});\n if (delayedStream.pauseStream) {\n source.pause();\n }\n\n return delayedStream;\n};\n\nObject.defineProperty(DelayedStream.prototype, 'readable', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this.source.readable;\n }\n});\n\nDelayedStream.prototype.setEncoding = function() {\n return this.source.setEncoding.apply(this.source, arguments);\n};\n\nDelayedStream.prototype.resume = function() {\n if (!this._released) {\n this.release();\n }\n\n this.source.resume();\n};\n\nDelayedStream.prototype.pause = function() {\n this.source.pause();\n};\n\nDelayedStream.prototype.release = function() {\n this._released = true;\n\n this._bufferedEvents.forEach(function(args) {\n this.emit.apply(this, args);\n }.bind(this));\n this._bufferedEvents = [];\n};\n\nDelayedStream.prototype.pipe = function() {\n var r = Stream.prototype.pipe.apply(this, arguments);\n this.resume();\n return r;\n};\n\nDelayedStream.prototype._handleEmit = function(args) {\n if (this._released) {\n this.emit.apply(this, args);\n return;\n }\n\n if (args[0] === 'data') {\n this.dataSize += args[1].length;\n this._checkIfMaxDataSizeExceeded();\n }\n\n this._bufferedEvents.push(args);\n};\n\nDelayedStream.prototype._checkIfMaxDataSizeExceeded = function() {\n if (this._maxDataSizeExceeded) {\n return;\n }\n\n if (this.dataSize <= this.maxDataSize) {\n return;\n }\n\n this._maxDataSizeExceeded = true;\n var message =\n 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.'\n this.emit('error', new Error(message));\n};\n","var util = require('util');\nvar Stream = require('stream').Stream;\nvar DelayedStream = require('delayed-stream');\n\nmodule.exports = CombinedStream;\nfunction CombinedStream() {\n this.writable = false;\n this.readable = true;\n this.dataSize = 0;\n this.maxDataSize = 2 * 1024 * 1024;\n this.pauseStreams = true;\n\n this._released = false;\n this._streams = [];\n this._currentStream = null;\n this._insideLoop = false;\n this._pendingNext = false;\n}\nutil.inherits(CombinedStream, Stream);\n\nCombinedStream.create = function(options) {\n var combinedStream = new this();\n\n options = options || {};\n for (var option in options) {\n combinedStream[option] = options[option];\n }\n\n return combinedStream;\n};\n\nCombinedStream.isStreamLike = function(stream) {\n return (typeof stream !== 'function')\n && (typeof stream !== 'string')\n && (typeof stream !== 'boolean')\n && (typeof stream !== 'number')\n && (!Buffer.isBuffer(stream));\n};\n\nCombinedStream.prototype.append = function(stream) {\n var isStreamLike = CombinedStream.isStreamLike(stream);\n\n if (isStreamLike) {\n if (!(stream instanceof DelayedStream)) {\n var newStream = DelayedStream.create(stream, {\n maxDataSize: Infinity,\n pauseStream: this.pauseStreams,\n });\n stream.on('data', this._checkDataSize.bind(this));\n stream = newStream;\n }\n\n this._handleErrors(stream);\n\n if (this.pauseStreams) {\n stream.pause();\n }\n }\n\n this._streams.push(stream);\n return this;\n};\n\nCombinedStream.prototype.pipe = function(dest, options) {\n Stream.prototype.pipe.call(this, dest, options);\n this.resume();\n return dest;\n};\n\nCombinedStream.prototype._getNext = function() {\n this._currentStream = null;\n\n if (this._insideLoop) {\n this._pendingNext = true;\n return; // defer call\n }\n\n this._insideLoop = true;\n try {\n do {\n this._pendingNext = false;\n this._realGetNext();\n } while (this._pendingNext);\n } finally {\n this._insideLoop = false;\n }\n};\n\nCombinedStream.prototype._realGetNext = function() {\n var stream = this._streams.shift();\n\n\n if (typeof stream == 'undefined') {\n this.end();\n return;\n }\n\n if (typeof stream !== 'function') {\n this._pipeNext(stream);\n return;\n }\n\n var getStream = stream;\n getStream(function(stream) {\n var isStreamLike = CombinedStream.isStreamLike(stream);\n if (isStreamLike) {\n stream.on('data', this._checkDataSize.bind(this));\n this._handleErrors(stream);\n }\n\n this._pipeNext(stream);\n }.bind(this));\n};\n\nCombinedStream.prototype._pipeNext = function(stream) {\n this._currentStream = stream;\n\n var isStreamLike = CombinedStream.isStreamLike(stream);\n if (isStreamLike) {\n stream.on('end', this._getNext.bind(this));\n stream.pipe(this, {end: false});\n return;\n }\n\n var value = stream;\n this.write(value);\n this._getNext();\n};\n\nCombinedStream.prototype._handleErrors = function(stream) {\n var self = this;\n stream.on('error', function(err) {\n self._emitError(err);\n });\n};\n\nCombinedStream.prototype.write = function(data) {\n this.emit('data', data);\n};\n\nCombinedStream.prototype.pause = function() {\n if (!this.pauseStreams) {\n return;\n }\n\n if(this.pauseStreams && this._currentStream && typeof(this._currentStream.pause) == 'function') this._currentStream.pause();\n this.emit('pause');\n};\n\nCombinedStream.prototype.resume = function() {\n if (!this._released) {\n this._released = true;\n this.writable = true;\n this._getNext();\n }\n\n if(this.pauseStreams && this._currentStream && typeof(this._currentStream.resume) == 'function') this._currentStream.resume();\n this.emit('resume');\n};\n\nCombinedStream.prototype.end = function() {\n this._reset();\n this.emit('end');\n};\n\nCombinedStream.prototype.destroy = function() {\n this._reset();\n this.emit('close');\n};\n\nCombinedStream.prototype._reset = function() {\n this.writable = false;\n this._streams = [];\n this._currentStream = null;\n};\n\nCombinedStream.prototype._checkDataSize = function() {\n this._updateDataSize();\n if (this.dataSize <= this.maxDataSize) {\n return;\n }\n\n var message =\n 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.';\n this._emitError(new Error(message));\n};\n\nCombinedStream.prototype._updateDataSize = function() {\n this.dataSize = 0;\n\n var self = this;\n this._streams.forEach(function(stream) {\n if (!stream.dataSize) {\n return;\n }\n\n self.dataSize += stream.dataSize;\n });\n\n if (this._currentStream && this._currentStream.dataSize) {\n this.dataSize += this._currentStream.dataSize;\n }\n};\n\nCombinedStream.prototype._emitError = function(err) {\n this._reset();\n this.emit('error', err);\n};\n","","/*!\n * mime-db\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015-2022 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n/**\n * Module exports.\n */\n\nmodule.exports = require('./db.json')\n","/*!\n * mime-types\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict'\n\n/**\n * Module dependencies.\n * @private\n */\n\nvar db = require('mime-db')\nvar extname = require('path').extname\n\n/**\n * Module variables.\n * @private\n */\n\nvar EXTRACT_TYPE_REGEXP = /^\\s*([^;\\s]*)(?:;|\\s|$)/\nvar TEXT_TYPE_REGEXP = /^text\\//i\n\n/**\n * Module exports.\n * @public\n */\n\nexports.charset = charset\nexports.charsets = { lookup: charset }\nexports.contentType = contentType\nexports.extension = extension\nexports.extensions = Object.create(null)\nexports.lookup = lookup\nexports.types = Object.create(null)\n\n// Populate the extensions/types maps\npopulateMaps(exports.extensions, exports.types)\n\n/**\n * Get the default charset for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction charset (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n var mime = match && db[match[1].toLowerCase()]\n\n if (mime && mime.charset) {\n return mime.charset\n }\n\n // default text/* to utf-8\n if (match && TEXT_TYPE_REGEXP.test(match[1])) {\n return 'UTF-8'\n }\n\n return false\n}\n\n/**\n * Create a full Content-Type header given a MIME type or extension.\n *\n * @param {string} str\n * @return {boolean|string}\n */\n\nfunction contentType (str) {\n // TODO: should this even be in this module?\n if (!str || typeof str !== 'string') {\n return false\n }\n\n var mime = str.indexOf('/') === -1\n ? exports.lookup(str)\n : str\n\n if (!mime) {\n return false\n }\n\n // TODO: use content-type or other module\n if (mime.indexOf('charset') === -1) {\n var charset = exports.charset(mime)\n if (charset) mime += '; charset=' + charset.toLowerCase()\n }\n\n return mime\n}\n\n/**\n * Get the default extension for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction extension (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n\n // get extensions\n var exts = match && exports.extensions[match[1].toLowerCase()]\n\n if (!exts || !exts.length) {\n return false\n }\n\n return exts[0]\n}\n\n/**\n * Lookup the MIME type for a file path/extension.\n *\n * @param {string} path\n * @return {boolean|string}\n */\n\nfunction lookup (path) {\n if (!path || typeof path !== 'string') {\n return false\n }\n\n // get the extension (\"ext\" or \".ext\" or full path)\n var extension = extname('x.' + path)\n .toLowerCase()\n .substr(1)\n\n if (!extension) {\n return false\n }\n\n return exports.types[extension] || false\n}\n\n/**\n * Populate the extensions and types maps.\n * @private\n */\n\nfunction populateMaps (extensions, types) {\n // source preference (least -> most)\n var preference = ['nginx', 'apache', undefined, 'iana']\n\n Object.keys(db).forEach(function forEachMimeType (type) {\n var mime = db[type]\n var exts = mime.extensions\n\n if (!exts || !exts.length) {\n return\n }\n\n // mime -> extensions\n extensions[type] = exts\n\n // extension -> mime\n for (var i = 0; i < exts.length; i++) {\n var extension = exts[i]\n\n if (types[extension]) {\n var from = preference.indexOf(db[types[extension]].source)\n var to = preference.indexOf(mime.source)\n\n if (types[extension] !== 'application/octet-stream' &&\n (from > to || (from === to && types[extension].substr(0, 12) === 'application/'))) {\n // skip the remapping\n continue\n }\n }\n\n // set the extension -> mime\n types[extension] = type\n }\n })\n}\n","module.exports = defer;\n\n/**\n * Runs provided function on next iteration of the event loop\n *\n * @param {function} fn - function to run\n */\nfunction defer(fn)\n{\n var nextTick = typeof setImmediate == 'function'\n ? setImmediate\n : (\n typeof process == 'object' && typeof process.nextTick == 'function'\n ? process.nextTick\n : null\n );\n\n if (nextTick)\n {\n nextTick(fn);\n }\n else\n {\n setTimeout(fn, 0);\n }\n}\n","var defer = require('./defer.js');\n\n// API\nmodule.exports = async;\n\n/**\n * Runs provided callback asynchronously\n * even if callback itself is not\n *\n * @param {function} callback - callback to invoke\n * @returns {function} - augmented callback\n */\nfunction async(callback)\n{\n var isAsync = false;\n\n // check if async happened\n defer(function() { isAsync = true; });\n\n return function async_callback(err, result)\n {\n if (isAsync)\n {\n callback(err, result);\n }\n else\n {\n defer(function nextTick_callback()\n {\n callback(err, result);\n });\n }\n };\n}\n","// API\nmodule.exports = abort;\n\n/**\n * Aborts leftover active jobs\n *\n * @param {object} state - current state object\n */\nfunction abort(state)\n{\n Object.keys(state.jobs).forEach(clean.bind(state));\n\n // reset leftover jobs\n state.jobs = {};\n}\n\n/**\n * Cleans up leftover job by invoking abort function for the provided job id\n *\n * @this state\n * @param {string|number} key - job id to abort\n */\nfunction clean(key)\n{\n if (typeof this.jobs[key] == 'function')\n {\n this.jobs[key]();\n }\n}\n","var async = require('./async.js')\n , abort = require('./abort.js')\n ;\n\n// API\nmodule.exports = iterate;\n\n/**\n * Iterates over each job object\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {object} state - current job status\n * @param {function} callback - invoked when all elements processed\n */\nfunction iterate(list, iterator, state, callback)\n{\n // store current index\n var key = state['keyedList'] ? state['keyedList'][state.index] : state.index;\n\n state.jobs[key] = runJob(iterator, key, list[key], function(error, output)\n {\n // don't repeat yourself\n // skip secondary callbacks\n if (!(key in state.jobs))\n {\n return;\n }\n\n // clean up jobs\n delete state.jobs[key];\n\n if (error)\n {\n // don't process rest of the results\n // stop still active jobs\n // and reset the list\n abort(state);\n }\n else\n {\n state.results[key] = output;\n }\n\n // return salvaged results\n callback(error, state.results);\n });\n}\n\n/**\n * Runs iterator over provided job element\n *\n * @param {function} iterator - iterator to invoke\n * @param {string|number} key - key/index of the element in the list of jobs\n * @param {mixed} item - job description\n * @param {function} callback - invoked after iterator is done with the job\n * @returns {function|mixed} - job abort function or something else\n */\nfunction runJob(iterator, key, item, callback)\n{\n var aborter;\n\n // allow shortcut if iterator expects only two arguments\n if (iterator.length == 2)\n {\n aborter = iterator(item, async(callback));\n }\n // otherwise go with full three arguments\n else\n {\n aborter = iterator(item, key, async(callback));\n }\n\n return aborter;\n}\n","// API\nmodule.exports = state;\n\n/**\n * Creates initial state object\n * for iteration over list\n *\n * @param {array|object} list - list to iterate over\n * @param {function|null} sortMethod - function to use for keys sort,\n * or `null` to keep them as is\n * @returns {object} - initial state object\n */\nfunction state(list, sortMethod)\n{\n var isNamedList = !Array.isArray(list)\n , initState =\n {\n index : 0,\n keyedList: isNamedList || sortMethod ? Object.keys(list) : null,\n jobs : {},\n results : isNamedList ? {} : [],\n size : isNamedList ? Object.keys(list).length : list.length\n }\n ;\n\n if (sortMethod)\n {\n // sort array keys based on it's values\n // sort object's keys just on own merit\n initState.keyedList.sort(isNamedList ? sortMethod : function(a, b)\n {\n return sortMethod(list[a], list[b]);\n });\n }\n\n return initState;\n}\n","var abort = require('./abort.js')\n , async = require('./async.js')\n ;\n\n// API\nmodule.exports = terminator;\n\n/**\n * Terminates jobs in the attached state context\n *\n * @this AsyncKitState#\n * @param {function} callback - final callback to invoke after termination\n */\nfunction terminator(callback)\n{\n if (!Object.keys(this.jobs).length)\n {\n return;\n }\n\n // fast forward iteration index\n this.index = this.size;\n\n // abort jobs\n abort(this);\n\n // send back results we have so far\n async(callback)(null, this.results);\n}\n","var iterate = require('./lib/iterate.js')\n , initState = require('./lib/state.js')\n , terminator = require('./lib/terminator.js')\n ;\n\n// Public API\nmodule.exports = parallel;\n\n/**\n * Runs iterator over provided array elements in parallel\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction parallel(list, iterator, callback)\n{\n var state = initState(list);\n\n while (state.index < (state['keyedList'] || list).length)\n {\n iterate(list, iterator, state, function(error, result)\n {\n if (error)\n {\n callback(error, result);\n return;\n }\n\n // looks like it's the last one\n if (Object.keys(state.jobs).length === 0)\n {\n callback(null, state.results);\n return;\n }\n });\n\n state.index++;\n }\n\n return terminator.bind(state, callback);\n}\n","var iterate = require('./lib/iterate.js')\n , initState = require('./lib/state.js')\n , terminator = require('./lib/terminator.js')\n ;\n\n// Public API\nmodule.exports = serialOrdered;\n// sorting helpers\nmodule.exports.ascending = ascending;\nmodule.exports.descending = descending;\n\n/**\n * Runs iterator over provided sorted array elements in series\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {function} sortMethod - custom sort function\n * @param {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction serialOrdered(list, iterator, sortMethod, callback)\n{\n var state = initState(list, sortMethod);\n\n iterate(list, iterator, state, function iteratorHandler(error, result)\n {\n if (error)\n {\n callback(error, result);\n return;\n }\n\n state.index++;\n\n // are we there yet?\n if (state.index < (state['keyedList'] || list).length)\n {\n iterate(list, iterator, state, iteratorHandler);\n return;\n }\n\n // done here\n callback(null, state.results);\n });\n\n return terminator.bind(state, callback);\n}\n\n/*\n * -- Sort methods\n */\n\n/**\n * sort helper to sort array elements in ascending order\n *\n * @param {mixed} a - an item to compare\n * @param {mixed} b - an item to compare\n * @returns {number} - comparison result\n */\nfunction ascending(a, b)\n{\n return a < b ? -1 : a > b ? 1 : 0;\n}\n\n/**\n * sort helper to sort array elements in descending order\n *\n * @param {mixed} a - an item to compare\n * @param {mixed} b - an item to compare\n * @returns {number} - comparison result\n */\nfunction descending(a, b)\n{\n return -1 * ascending(a, b);\n}\n","var serialOrdered = require('./serialOrdered.js');\n\n// Public API\nmodule.exports = serial;\n\n/**\n * Runs iterator over provided array elements in series\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction serial(list, iterator, callback)\n{\n return serialOrdered(list, iterator, null, callback);\n}\n","module.exports =\n{\n parallel : require('./parallel.js'),\n serial : require('./serial.js'),\n serialOrdered : require('./serialOrdered.js')\n};\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Object;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\n/** @type {import('./abs')} */\nmodule.exports = Math.abs;\n","'use strict';\n\n/** @type {import('./floor')} */\nmodule.exports = Math.floor;\n","'use strict';\n\n/** @type {import('./max')} */\nmodule.exports = Math.max;\n","'use strict';\n\n/** @type {import('./min')} */\nmodule.exports = Math.min;\n","'use strict';\n\n/** @type {import('./pow')} */\nmodule.exports = Math.pow;\n","'use strict';\n\n/** @type {import('./round')} */\nmodule.exports = Math.round;\n","'use strict';\n\n/** @type {import('./isNaN')} */\nmodule.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n","'use strict';\n\nvar $isNaN = require('./isNaN');\n\n/** @type {import('./sign')} */\nmodule.exports = function sign(number) {\n\tif ($isNaN(number) || number === 0) {\n\t\treturn number;\n\t}\n\treturn number < 0 ? -1 : +1;\n};\n","'use strict';\n\n/** @type {import('./gOPD')} */\nmodule.exports = Object.getOwnPropertyDescriptor;\n","'use strict';\n\n/** @type {import('.')} */\nvar $gOPD = require('./gOPD');\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\n/** @type {import('.')} */\nvar $defineProperty = Object.defineProperty || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\n/** @type {import('./shams')} */\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\t/** @type {{ [k in symbol]?: unknown }} */\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (var _ in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {PropertyDescriptor} */ (Object.getOwnPropertyDescriptor(obj, sym));\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/** @type {import('./Reflect.getPrototypeOf')} */\nmodule.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null;\n","'use strict';\n\nvar $Object = require('es-object-atoms');\n\n/** @type {import('./Object.getPrototypeOf')} */\nmodule.exports = $Object.getPrototypeOf || null;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\n/** @type {import('./functionCall')} */\nmodule.exports = Function.prototype.call;\n","'use strict';\n\n/** @type {import('./functionApply')} */\nmodule.exports = Function.prototype.apply;\n","'use strict';\n\n/** @type {import('./reflectApply')} */\nmodule.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply;\n","'use strict';\n\nvar bind = require('function-bind');\n\nvar $apply = require('./functionApply');\nvar $call = require('./functionCall');\nvar $reflectApply = require('./reflectApply');\n\n/** @type {import('./actualApply')} */\nmodule.exports = $reflectApply || bind.call($call, $apply);\n","'use strict';\n\nvar bind = require('function-bind');\nvar $TypeError = require('es-errors/type');\n\nvar $call = require('./functionCall');\nvar $actualApply = require('./actualApply');\n\n/** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */\nmodule.exports = function callBindBasic(args) {\n\tif (args.length < 1 || typeof args[0] !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\treturn $actualApply(bind, $call, args);\n};\n","'use strict';\n\nvar callBind = require('call-bind-apply-helpers');\nvar gOPD = require('gopd');\n\nvar hasProtoAccessor;\ntry {\n\t// eslint-disable-next-line no-extra-parens, no-proto\n\thasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ ([]).__proto__ === Array.prototype;\n} catch (e) {\n\tif (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') {\n\t\tthrow e;\n\t}\n}\n\n// eslint-disable-next-line no-extra-parens\nvar desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__'));\n\nvar $Object = Object;\nvar $getPrototypeOf = $Object.getPrototypeOf;\n\n/** @type {import('./get')} */\nmodule.exports = desc && typeof desc.get === 'function'\n\t? callBind([desc.get])\n\t: typeof $getPrototypeOf === 'function'\n\t\t? /** @type {import('./get')} */ function getDunder(value) {\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\treturn $getPrototypeOf(value == null ? value : $Object(value));\n\t\t}\n\t\t: false;\n","'use strict';\n\nvar reflectGetProto = require('./Reflect.getPrototypeOf');\nvar originalGetProto = require('./Object.getPrototypeOf');\n\nvar getDunderProto = require('dunder-proto/get');\n\n/** @type {import('.')} */\nmodule.exports = reflectGetProto\n\t? function getProto(O) {\n\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\treturn reflectGetProto(O);\n\t}\n\t: originalGetProto\n\t\t? function getProto(O) {\n\t\t\tif (!O || (typeof O !== 'object' && typeof O !== 'function')) {\n\t\t\t\tthrow new TypeError('getProto: not an object');\n\t\t\t}\n\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\treturn originalGetProto(O);\n\t\t}\n\t\t: getDunderProto\n\t\t\t? function getProto(O) {\n\t\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\t\treturn getDunderProto(O);\n\t\t\t}\n\t\t\t: null;\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","'use strict';\n\nvar undefined;\n\nvar $Object = require('es-object-atoms');\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar abs = require('math-intrinsics/abs');\nvar floor = require('math-intrinsics/floor');\nvar max = require('math-intrinsics/max');\nvar min = require('math-intrinsics/min');\nvar pow = require('math-intrinsics/pow');\nvar round = require('math-intrinsics/round');\nvar sign = require('math-intrinsics/sign');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = require('gopd');\nvar $defineProperty = require('es-define-property');\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = require('get-proto');\nvar $ObjectGPO = require('get-proto/Object.getPrototypeOf');\nvar $ReflectGPO = require('get-proto/Reflect.getPrototypeOf');\n\nvar $apply = require('call-bind-apply-helpers/functionApply');\nvar $call = require('call-bind-apply-helpers/functionCall');\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float16Array%': typeof Float16Array === 'undefined' ? undefined : Float16Array,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': $Object,\n\t'%Object.getOwnPropertyDescriptor%': $gOPD,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\n\n\t'%Function.prototype.call%': $call,\n\t'%Function.prototype.apply%': $apply,\n\t'%Object.defineProperty%': $defineProperty,\n\t'%Object.getPrototypeOf%': $ObjectGPO,\n\t'%Math.abs%': abs,\n\t'%Math.floor%': floor,\n\t'%Math.max%': max,\n\t'%Math.min%': min,\n\t'%Math.pow%': pow,\n\t'%Math.round%': round,\n\t'%Math.sign%': sign,\n\t'%Reflect.getPrototypeOf%': $ReflectGPO\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call($call, Array.prototype.concat);\nvar $spliceApply = bind.call($apply, Array.prototype.splice);\nvar $replace = bind.call($call, String.prototype.replace);\nvar $strSlice = bind.call($call, String.prototype.slice);\nvar $exec = bind.call($call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar hasOwn = require('hasown');\nvar $TypeError = require('es-errors/type');\n\nvar toStringTag = hasToStringTag ? Symbol.toStringTag : null;\n\n/** @type {import('.')} */\nmodule.exports = function setToStringTag(object, value) {\n\tvar overrideIfSet = arguments.length > 2 && !!arguments[2] && arguments[2].force;\n\tvar nonConfigurable = arguments.length > 2 && !!arguments[2] && arguments[2].nonConfigurable;\n\tif (\n\t\t(typeof overrideIfSet !== 'undefined' && typeof overrideIfSet !== 'boolean')\n\t\t|| (typeof nonConfigurable !== 'undefined' && typeof nonConfigurable !== 'boolean')\n\t) {\n\t\tthrow new $TypeError('if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans');\n\t}\n\tif (toStringTag && (overrideIfSet || !hasOwn(object, toStringTag))) {\n\t\tif ($defineProperty) {\n\t\t\t$defineProperty(object, toStringTag, {\n\t\t\t\tconfigurable: !nonConfigurable,\n\t\t\t\tenumerable: false,\n\t\t\t\tvalue: value,\n\t\t\t\twritable: false\n\t\t\t});\n\t\t} else {\n\t\t\tobject[toStringTag] = value; // eslint-disable-line no-param-reassign\n\t\t}\n\t}\n};\n","'use strict';\n\n// populates missing values\nmodule.exports = function (dst, src) {\n Object.keys(src).forEach(function (prop) {\n dst[prop] = dst[prop] || src[prop]; // eslint-disable-line no-param-reassign\n });\n\n return dst;\n};\n","'use strict';\n\nvar CombinedStream = require('combined-stream');\nvar util = require('util');\nvar path = require('path');\nvar http = require('http');\nvar https = require('https');\nvar parseUrl = require('url').parse;\nvar fs = require('fs');\nvar Stream = require('stream').Stream;\nvar crypto = require('crypto');\nvar mime = require('mime-types');\nvar asynckit = require('asynckit');\nvar setToStringTag = require('es-set-tostringtag');\nvar hasOwn = require('hasown');\nvar populate = require('./populate.js');\n\n/**\n * Create readable \"multipart/form-data\" streams.\n * Can be used to submit forms\n * and file uploads to other web applications.\n *\n * @constructor\n * @param {object} options - Properties to be added/overriden for FormData and CombinedStream\n */\nfunction FormData(options) {\n if (!(this instanceof FormData)) {\n return new FormData(options);\n }\n\n this._overheadLength = 0;\n this._valueLength = 0;\n this._valuesToMeasure = [];\n\n CombinedStream.call(this);\n\n options = options || {}; // eslint-disable-line no-param-reassign\n for (var option in options) { // eslint-disable-line no-restricted-syntax\n this[option] = options[option];\n }\n}\n\n// make it a Stream\nutil.inherits(FormData, CombinedStream);\n\nFormData.LINE_BREAK = '\\r\\n';\nFormData.DEFAULT_CONTENT_TYPE = 'application/octet-stream';\n\nFormData.prototype.append = function (field, value, options) {\n options = options || {}; // eslint-disable-line no-param-reassign\n\n // allow filename as single option\n if (typeof options === 'string') {\n options = { filename: options }; // eslint-disable-line no-param-reassign\n }\n\n var append = CombinedStream.prototype.append.bind(this);\n\n // all that streamy business can't handle numbers\n if (typeof value === 'number' || value == null) {\n value = String(value); // eslint-disable-line no-param-reassign\n }\n\n // https://github.com/felixge/node-form-data/issues/38\n if (Array.isArray(value)) {\n /*\n * Please convert your array into string\n * the way web server expects it\n */\n this._error(new Error('Arrays are not supported.'));\n return;\n }\n\n var header = this._multiPartHeader(field, value, options);\n var footer = this._multiPartFooter();\n\n append(header);\n append(value);\n append(footer);\n\n // pass along options.knownLength\n this._trackLength(header, value, options);\n};\n\nFormData.prototype._trackLength = function (header, value, options) {\n var valueLength = 0;\n\n /*\n * used w/ getLengthSync(), when length is known.\n * e.g. for streaming directly from a remote server,\n * w/ a known file a size, and not wanting to wait for\n * incoming file to finish to get its size.\n */\n if (options.knownLength != null) {\n valueLength += Number(options.knownLength);\n } else if (Buffer.isBuffer(value)) {\n valueLength = value.length;\n } else if (typeof value === 'string') {\n valueLength = Buffer.byteLength(value);\n }\n\n this._valueLength += valueLength;\n\n // @check why add CRLF? does this account for custom/multiple CRLFs?\n this._overheadLength += Buffer.byteLength(header) + FormData.LINE_BREAK.length;\n\n // empty or either doesn't have path or not an http response or not a stream\n if (!value || (!value.path && !(value.readable && hasOwn(value, 'httpVersion')) && !(value instanceof Stream))) {\n return;\n }\n\n // no need to bother with the length\n if (!options.knownLength) {\n this._valuesToMeasure.push(value);\n }\n};\n\nFormData.prototype._lengthRetriever = function (value, callback) {\n if (hasOwn(value, 'fd')) {\n // take read range into a account\n // `end` = Infinity –> read file till the end\n //\n // TODO: Looks like there is bug in Node fs.createReadStream\n // it doesn't respect `end` options without `start` options\n // Fix it when node fixes it.\n // https://github.com/joyent/node/issues/7819\n if (value.end != undefined && value.end != Infinity && value.start != undefined) {\n // when end specified\n // no need to calculate range\n // inclusive, starts with 0\n callback(null, value.end + 1 - (value.start ? value.start : 0)); // eslint-disable-line callback-return\n\n // not that fast snoopy\n } else {\n // still need to fetch file size from fs\n fs.stat(value.path, function (err, stat) {\n if (err) {\n callback(err);\n return;\n }\n\n // update final size based on the range options\n var fileSize = stat.size - (value.start ? value.start : 0);\n callback(null, fileSize);\n });\n }\n\n // or http response\n } else if (hasOwn(value, 'httpVersion')) {\n callback(null, Number(value.headers['content-length'])); // eslint-disable-line callback-return\n\n // or request stream http://github.com/mikeal/request\n } else if (hasOwn(value, 'httpModule')) {\n // wait till response come back\n value.on('response', function (response) {\n value.pause();\n callback(null, Number(response.headers['content-length']));\n });\n value.resume();\n\n // something else\n } else {\n callback('Unknown stream'); // eslint-disable-line callback-return\n }\n};\n\nFormData.prototype._multiPartHeader = function (field, value, options) {\n /*\n * custom header specified (as string)?\n * it becomes responsible for boundary\n * (e.g. to handle extra CRLFs on .NET servers)\n */\n if (typeof options.header === 'string') {\n return options.header;\n }\n\n var contentDisposition = this._getContentDisposition(value, options);\n var contentType = this._getContentType(value, options);\n\n var contents = '';\n var headers = {\n // add custom disposition as third element or keep it two elements if not\n 'Content-Disposition': ['form-data', 'name=\"' + field + '\"'].concat(contentDisposition || []),\n // if no content type. allow it to be empty array\n 'Content-Type': [].concat(contentType || [])\n };\n\n // allow custom headers.\n if (typeof options.header === 'object') {\n populate(headers, options.header);\n }\n\n var header;\n for (var prop in headers) { // eslint-disable-line no-restricted-syntax\n if (hasOwn(headers, prop)) {\n header = headers[prop];\n\n // skip nullish headers.\n if (header == null) {\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n }\n\n // convert all headers to arrays.\n if (!Array.isArray(header)) {\n header = [header];\n }\n\n // add non-empty headers.\n if (header.length) {\n contents += prop + ': ' + header.join('; ') + FormData.LINE_BREAK;\n }\n }\n }\n\n return '--' + this.getBoundary() + FormData.LINE_BREAK + contents + FormData.LINE_BREAK;\n};\n\nFormData.prototype._getContentDisposition = function (value, options) { // eslint-disable-line consistent-return\n var filename;\n\n if (typeof options.filepath === 'string') {\n // custom filepath for relative paths\n filename = path.normalize(options.filepath).replace(/\\\\/g, '/');\n } else if (options.filename || (value && (value.name || value.path))) {\n /*\n * custom filename take precedence\n * formidable and the browser add a name property\n * fs- and request- streams have path property\n */\n filename = path.basename(options.filename || (value && (value.name || value.path)));\n } else if (value && value.readable && hasOwn(value, 'httpVersion')) {\n // or try http response\n filename = path.basename(value.client._httpMessage.path || '');\n }\n\n if (filename) {\n return 'filename=\"' + filename + '\"';\n }\n};\n\nFormData.prototype._getContentType = function (value, options) {\n // use custom content-type above all\n var contentType = options.contentType;\n\n // or try `name` from formidable, browser\n if (!contentType && value && value.name) {\n contentType = mime.lookup(value.name);\n }\n\n // or try `path` from fs-, request- streams\n if (!contentType && value && value.path) {\n contentType = mime.lookup(value.path);\n }\n\n // or if it's http-reponse\n if (!contentType && value && value.readable && hasOwn(value, 'httpVersion')) {\n contentType = value.headers['content-type'];\n }\n\n // or guess it from the filepath or filename\n if (!contentType && (options.filepath || options.filename)) {\n contentType = mime.lookup(options.filepath || options.filename);\n }\n\n // fallback to the default content type if `value` is not simple value\n if (!contentType && value && typeof value === 'object') {\n contentType = FormData.DEFAULT_CONTENT_TYPE;\n }\n\n return contentType;\n};\n\nFormData.prototype._multiPartFooter = function () {\n return function (next) {\n var footer = FormData.LINE_BREAK;\n\n var lastPart = this._streams.length === 0;\n if (lastPart) {\n footer += this._lastBoundary();\n }\n\n next(footer);\n }.bind(this);\n};\n\nFormData.prototype._lastBoundary = function () {\n return '--' + this.getBoundary() + '--' + FormData.LINE_BREAK;\n};\n\nFormData.prototype.getHeaders = function (userHeaders) {\n var header;\n var formHeaders = {\n 'content-type': 'multipart/form-data; boundary=' + this.getBoundary()\n };\n\n for (header in userHeaders) { // eslint-disable-line no-restricted-syntax\n if (hasOwn(userHeaders, header)) {\n formHeaders[header.toLowerCase()] = userHeaders[header];\n }\n }\n\n return formHeaders;\n};\n\nFormData.prototype.setBoundary = function (boundary) {\n if (typeof boundary !== 'string') {\n throw new TypeError('FormData boundary must be a string');\n }\n this._boundary = boundary;\n};\n\nFormData.prototype.getBoundary = function () {\n if (!this._boundary) {\n this._generateBoundary();\n }\n\n return this._boundary;\n};\n\nFormData.prototype.getBuffer = function () {\n var dataBuffer = new Buffer.alloc(0); // eslint-disable-line new-cap\n var boundary = this.getBoundary();\n\n // Create the form content. Add Line breaks to the end of data.\n for (var i = 0, len = this._streams.length; i < len; i++) {\n if (typeof this._streams[i] !== 'function') {\n // Add content to the buffer.\n if (Buffer.isBuffer(this._streams[i])) {\n dataBuffer = Buffer.concat([dataBuffer, this._streams[i]]);\n } else {\n dataBuffer = Buffer.concat([dataBuffer, Buffer.from(this._streams[i])]);\n }\n\n // Add break after content.\n if (typeof this._streams[i] !== 'string' || this._streams[i].substring(2, boundary.length + 2) !== boundary) {\n dataBuffer = Buffer.concat([dataBuffer, Buffer.from(FormData.LINE_BREAK)]);\n }\n }\n }\n\n // Add the footer and return the Buffer object.\n return Buffer.concat([dataBuffer, Buffer.from(this._lastBoundary())]);\n};\n\nFormData.prototype._generateBoundary = function () {\n // This generates a 50 character boundary similar to those used by Firefox.\n\n // They are optimized for boyer-moore parsing.\n this._boundary = '--------------------------' + crypto.randomBytes(12).toString('hex');\n};\n\n// Note: getLengthSync DOESN'T calculate streams length\n// As workaround one can calculate file size manually and add it as knownLength option\nFormData.prototype.getLengthSync = function () {\n var knownLength = this._overheadLength + this._valueLength;\n\n // Don't get confused, there are 3 \"internal\" streams for each keyval pair so it basically checks if there is any value added to the form\n if (this._streams.length) {\n knownLength += this._lastBoundary().length;\n }\n\n // https://github.com/form-data/form-data/issues/40\n if (!this.hasKnownLength()) {\n /*\n * Some async length retrievers are present\n * therefore synchronous length calculation is false.\n * Please use getLength(callback) to get proper length\n */\n this._error(new Error('Cannot calculate proper length in synchronous way.'));\n }\n\n return knownLength;\n};\n\n// Public API to check if length of added values is known\n// https://github.com/form-data/form-data/issues/196\n// https://github.com/form-data/form-data/issues/262\nFormData.prototype.hasKnownLength = function () {\n var hasKnownLength = true;\n\n if (this._valuesToMeasure.length) {\n hasKnownLength = false;\n }\n\n return hasKnownLength;\n};\n\nFormData.prototype.getLength = function (cb) {\n var knownLength = this._overheadLength + this._valueLength;\n\n if (this._streams.length) {\n knownLength += this._lastBoundary().length;\n }\n\n if (!this._valuesToMeasure.length) {\n process.nextTick(cb.bind(this, null, knownLength));\n return;\n }\n\n asynckit.parallel(this._valuesToMeasure, this._lengthRetriever, function (err, values) {\n if (err) {\n cb(err);\n return;\n }\n\n values.forEach(function (length) {\n knownLength += length;\n });\n\n cb(null, knownLength);\n });\n};\n\nFormData.prototype.submit = function (params, cb) {\n var request;\n var options;\n var defaults = { method: 'post' };\n\n // parse provided url if it's string or treat it as options object\n if (typeof params === 'string') {\n params = parseUrl(params); // eslint-disable-line no-param-reassign\n /* eslint sort-keys: 0 */\n options = populate({\n port: params.port,\n path: params.pathname,\n host: params.hostname,\n protocol: params.protocol\n }, defaults);\n } else { // use custom params\n options = populate(params, defaults);\n // if no port provided use default one\n if (!options.port) {\n options.port = options.protocol === 'https:' ? 443 : 80;\n }\n }\n\n // put that good code in getHeaders to some use\n options.headers = this.getHeaders(params.headers);\n\n // https if specified, fallback to http in any other case\n if (options.protocol === 'https:') {\n request = https.request(options);\n } else {\n request = http.request(options);\n }\n\n // get content length and fire away\n this.getLength(function (err, length) {\n if (err && err !== 'Unknown stream') {\n this._error(err);\n return;\n }\n\n // add content length\n if (length) {\n request.setHeader('Content-Length', length);\n }\n\n this.pipe(request);\n if (cb) {\n var onResponse;\n\n var callback = function (error, responce) {\n request.removeListener('error', callback);\n request.removeListener('response', onResponse);\n\n return cb.call(this, error, responce);\n };\n\n onResponse = callback.bind(this, null);\n\n request.on('error', callback);\n request.on('response', onResponse);\n }\n }.bind(this));\n\n return request;\n};\n\nFormData.prototype._error = function (err) {\n if (!this.error) {\n this.error = err;\n this.pause();\n this.emit('error', err);\n }\n};\n\nFormData.prototype.toString = function () {\n return '[object FormData]';\n};\nsetToStringTag(FormData.prototype, 'FormData');\n\n// Public API\nmodule.exports = FormData;\n","import FormData from 'form-data';\n\nexport default FormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isBoolean(value)) {\n return value.toString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {void}\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport url from 'url';\nexport default url.URLSearchParams;\n","import crypto from 'crypto';\nimport URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n const randomValues = new Uint32Array(size);\n crypto.randomFillSync(randomValues);\n for (let i = 0; i < size; i++) {\n str += alphabet[randomValues[i] % length];\n }\n\n return str;\n}\n\n\nexport default {\n isNode: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob: typeof Blob !== 'undefined' && Blob || null\n },\n ALPHABET,\n generateString,\n protocols: [ 'http', 'https', 'file', 'data' ]\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), {\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n },\n ...options\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data, this.parseReviver);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isObject(header) && utils.isIterable(header)) {\n let obj = {}, dest, key;\n for (const entry of header) {\n if (!utils.isArray(entry)) {\n throw TypeError('Object iterator must return a key-value pair');\n }\n\n obj[key = entry[0]] = (dest = obj[key]) ?\n (utils.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]]) : entry[1];\n }\n\n setHeaders(obj, valueOrRewrite)\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n getSetCookie() {\n return this.get(\"set-cookie\") || [];\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nvar parseUrl = require('url').parse;\n\nvar DEFAULT_PORTS = {\n ftp: 21,\n gopher: 70,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443,\n};\n\nvar stringEndsWith = String.prototype.endsWith || function(s) {\n return s.length <= this.length &&\n this.indexOf(s, this.length - s.length) !== -1;\n};\n\n/**\n * @param {string|object} url - The URL, or the result from url.parse.\n * @return {string} The URL of the proxy that should handle the request to the\n * given URL. If no proxy is set, this will be an empty string.\n */\nfunction getProxyForUrl(url) {\n var parsedUrl = typeof url === 'string' ? parseUrl(url) : url || {};\n var proto = parsedUrl.protocol;\n var hostname = parsedUrl.host;\n var port = parsedUrl.port;\n if (typeof hostname !== 'string' || !hostname || typeof proto !== 'string') {\n return ''; // Don't proxy URLs without a valid scheme or host.\n }\n\n proto = proto.split(':', 1)[0];\n // Stripping ports in this way instead of using parsedUrl.hostname to make\n // sure that the brackets around IPv6 addresses are kept.\n hostname = hostname.replace(/:\\d*$/, '');\n port = parseInt(port) || DEFAULT_PORTS[proto] || 0;\n if (!shouldProxy(hostname, port)) {\n return ''; // Don't proxy URLs that match NO_PROXY.\n }\n\n var proxy =\n getEnv('npm_config_' + proto + '_proxy') ||\n getEnv(proto + '_proxy') ||\n getEnv('npm_config_proxy') ||\n getEnv('all_proxy');\n if (proxy && proxy.indexOf('://') === -1) {\n // Missing scheme in proxy, default to the requested URL's scheme.\n proxy = proto + '://' + proxy;\n }\n return proxy;\n}\n\n/**\n * Determines whether a given URL should be proxied.\n *\n * @param {string} hostname - The host name of the URL.\n * @param {number} port - The effective port of the URL.\n * @returns {boolean} Whether the given URL should be proxied.\n * @private\n */\nfunction shouldProxy(hostname, port) {\n var NO_PROXY =\n (getEnv('npm_config_no_proxy') || getEnv('no_proxy')).toLowerCase();\n if (!NO_PROXY) {\n return true; // Always proxy if NO_PROXY is not set.\n }\n if (NO_PROXY === '*') {\n return false; // Never proxy if wildcard is set.\n }\n\n return NO_PROXY.split(/[,\\s]/).every(function(proxy) {\n if (!proxy) {\n return true; // Skip zero-length hosts.\n }\n var parsedProxy = proxy.match(/^(.+):(\\d+)$/);\n var parsedProxyHostname = parsedProxy ? parsedProxy[1] : proxy;\n var parsedProxyPort = parsedProxy ? parseInt(parsedProxy[2]) : 0;\n if (parsedProxyPort && parsedProxyPort !== port) {\n return true; // Skip if ports don't match.\n }\n\n if (!/^[.*]/.test(parsedProxyHostname)) {\n // No wildcards, so stop proxying if there is an exact match.\n return hostname !== parsedProxyHostname;\n }\n\n if (parsedProxyHostname.charAt(0) === '*') {\n // Remove leading wildcard.\n parsedProxyHostname = parsedProxyHostname.slice(1);\n }\n // Stop proxying if the hostname ends with the no_proxy host.\n return !stringEndsWith.call(hostname, parsedProxyHostname);\n });\n}\n\n/**\n * Get the value for an environment variable.\n *\n * @param {string} key - The name of the environment variable.\n * @return {string} The value of the environment variable.\n * @private\n */\nfunction getEnv(key) {\n return process.env[key.toLowerCase()] || process.env[key.toUpperCase()] || '';\n}\n\nexports.getProxyForUrl = getProxyForUrl;\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function (val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '')\n\t\t\t.trim()\n\t\t\t.replace(/\\s+/g, ',')\n\t\t\t.split(',')\n\t\t\t.filter(Boolean);\n\n\t\tfor (const ns of split) {\n\t\t\tif (ns[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(ns.slice(1));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(ns);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the given string matches a namespace template, honoring\n\t * asterisks as wildcards.\n\t *\n\t * @param {String} search\n\t * @param {String} template\n\t * @return {Boolean}\n\t */\n\tfunction matchesTemplate(search, template) {\n\t\tlet searchIndex = 0;\n\t\tlet templateIndex = 0;\n\t\tlet starIndex = -1;\n\t\tlet matchIndex = 0;\n\n\t\twhile (searchIndex < search.length) {\n\t\t\tif (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) {\n\t\t\t\t// Match character or proceed with wildcard\n\t\t\t\tif (template[templateIndex] === '*') {\n\t\t\t\t\tstarIndex = templateIndex;\n\t\t\t\t\tmatchIndex = searchIndex;\n\t\t\t\t\ttemplateIndex++; // Skip the '*'\n\t\t\t\t} else {\n\t\t\t\t\tsearchIndex++;\n\t\t\t\t\ttemplateIndex++;\n\t\t\t\t}\n\t\t\t} else if (starIndex !== -1) { // eslint-disable-line no-negated-condition\n\t\t\t\t// Backtrack to the last '*' and try to match more characters\n\t\t\t\ttemplateIndex = starIndex + 1;\n\t\t\t\tmatchIndex++;\n\t\t\t\tsearchIndex = matchIndex;\n\t\t\t} else {\n\t\t\t\treturn false; // No match\n\t\t\t}\n\t\t}\n\n\t\t// Handle trailing '*' in template\n\t\twhile (templateIndex < template.length && template[templateIndex] === '*') {\n\t\t\ttemplateIndex++;\n\t\t}\n\n\t\treturn templateIndex === template.length;\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names,\n\t\t\t...createDebug.skips.map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tfor (const skip of createDebug.skips) {\n\t\t\tif (matchesTemplate(name, skip)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (const ns of createDebug.names) {\n\t\t\tif (matchesTemplate(name, ns)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\t// eslint-disable-next-line no-return-assign\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug') || exports.storage.getItem('DEBUG') ;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","import process from 'node:process';\nimport os from 'node:os';\nimport tty from 'node:tty';\n\n// From: https://github.com/sindresorhus/has-flag/blob/main/index.js\n/// function hasFlag(flag, argv = globalThis.Deno?.args ?? process.argv) {\nfunction hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process.argv) {\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst position = argv.indexOf(prefix + flag);\n\tconst terminatorPosition = argv.indexOf('--');\n\treturn position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);\n}\n\nconst {env} = process;\n\nlet flagForceColor;\nif (\n\thasFlag('no-color')\n\t|| hasFlag('no-colors')\n\t|| hasFlag('color=false')\n\t|| hasFlag('color=never')\n) {\n\tflagForceColor = 0;\n} else if (\n\thasFlag('color')\n\t|| hasFlag('colors')\n\t|| hasFlag('color=true')\n\t|| hasFlag('color=always')\n) {\n\tflagForceColor = 1;\n}\n\nfunction envForceColor() {\n\tif (!('FORCE_COLOR' in env)) {\n\t\treturn;\n\t}\n\n\tif (env.FORCE_COLOR === 'true') {\n\t\treturn 1;\n\t}\n\n\tif (env.FORCE_COLOR === 'false') {\n\t\treturn 0;\n\t}\n\n\tif (env.FORCE_COLOR.length === 0) {\n\t\treturn 1;\n\t}\n\n\tconst level = Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);\n\n\tif (![0, 1, 2, 3].includes(level)) {\n\t\treturn;\n\t}\n\n\treturn level;\n}\n\nfunction translateLevel(level) {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3,\n\t};\n}\n\nfunction _supportsColor(haveStream, {streamIsTTY, sniffFlags = true} = {}) {\n\tconst noFlagForceColor = envForceColor();\n\tif (noFlagForceColor !== undefined) {\n\t\tflagForceColor = noFlagForceColor;\n\t}\n\n\tconst forceColor = sniffFlags ? flagForceColor : noFlagForceColor;\n\n\tif (forceColor === 0) {\n\t\treturn 0;\n\t}\n\n\tif (sniffFlags) {\n\t\tif (hasFlag('color=16m')\n\t\t\t|| hasFlag('color=full')\n\t\t\t|| hasFlag('color=truecolor')) {\n\t\t\treturn 3;\n\t\t}\n\n\t\tif (hasFlag('color=256')) {\n\t\t\treturn 2;\n\t\t}\n\t}\n\n\t// Check for Azure DevOps pipelines.\n\t// Has to be above the `!streamIsTTY` check.\n\tif ('TF_BUILD' in env && 'AGENT_NAME' in env) {\n\t\treturn 1;\n\t}\n\n\tif (haveStream && !streamIsTTY && forceColor === undefined) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor || 0;\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\t// Windows 10 build 10586 is the first Windows release that supports 256 colors.\n\t\t// Windows 10 build 14931 is the first release that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(osRelease[0]) >= 10\n\t\t\t&& Number(osRelease[2]) >= 10_586\n\t\t) {\n\t\t\treturn Number(osRelease[2]) >= 14_931 ? 3 : 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['GITHUB_ACTIONS', 'GITEA_ACTIONS', 'CIRCLECI'].some(key => key in env)) {\n\t\t\treturn 3;\n\t\t}\n\n\t\tif (['TRAVIS', 'APPVEYOR', 'GITLAB_CI', 'BUILDKITE', 'DRONE'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn min;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif (env.COLORTERM === 'truecolor') {\n\t\treturn 3;\n\t}\n\n\tif (env.TERM === 'xterm-kitty') {\n\t\treturn 3;\n\t}\n\n\tif (env.TERM === 'xterm-ghostty') {\n\t\treturn 3;\n\t}\n\n\tif (env.TERM === 'wezterm') {\n\t\treturn 3;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = Number.parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app': {\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\t}\n\n\t\t\tcase 'Apple_Terminal': {\n\t\t\t\treturn 2;\n\t\t\t}\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\treturn min;\n}\n\nexport function createSupportsColor(stream, options = {}) {\n\tconst level = _supportsColor(stream, {\n\t\tstreamIsTTY: stream && stream.isTTY,\n\t\t...options,\n\t});\n\n\treturn translateLevel(level);\n}\n\nconst supportsColor = {\n\tstdout: createSupportsColor({isTTY: tty.isatty(1)}),\n\tstderr: createSupportsColor({isTTY: tty.isatty(2)}),\n};\n\nexport default supportsColor;\n","/**\n * Module dependencies.\n */\n\nconst tty = require('tty');\nconst util = require('util');\n\n/**\n * This is the Node.js implementation of `debug()`.\n */\n\nexports.init = init;\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.destroy = util.deprecate(\n\t() => {},\n\t'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'\n);\n\n/**\n * Colors.\n */\n\nexports.colors = [6, 2, 3, 4, 5, 1];\n\ntry {\n\t// Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)\n\t// eslint-disable-next-line import/no-extraneous-dependencies\n\tconst supportsColor = require('supports-color');\n\n\tif (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {\n\t\texports.colors = [\n\t\t\t20,\n\t\t\t21,\n\t\t\t26,\n\t\t\t27,\n\t\t\t32,\n\t\t\t33,\n\t\t\t38,\n\t\t\t39,\n\t\t\t40,\n\t\t\t41,\n\t\t\t42,\n\t\t\t43,\n\t\t\t44,\n\t\t\t45,\n\t\t\t56,\n\t\t\t57,\n\t\t\t62,\n\t\t\t63,\n\t\t\t68,\n\t\t\t69,\n\t\t\t74,\n\t\t\t75,\n\t\t\t76,\n\t\t\t77,\n\t\t\t78,\n\t\t\t79,\n\t\t\t80,\n\t\t\t81,\n\t\t\t92,\n\t\t\t93,\n\t\t\t98,\n\t\t\t99,\n\t\t\t112,\n\t\t\t113,\n\t\t\t128,\n\t\t\t129,\n\t\t\t134,\n\t\t\t135,\n\t\t\t148,\n\t\t\t149,\n\t\t\t160,\n\t\t\t161,\n\t\t\t162,\n\t\t\t163,\n\t\t\t164,\n\t\t\t165,\n\t\t\t166,\n\t\t\t167,\n\t\t\t168,\n\t\t\t169,\n\t\t\t170,\n\t\t\t171,\n\t\t\t172,\n\t\t\t173,\n\t\t\t178,\n\t\t\t179,\n\t\t\t184,\n\t\t\t185,\n\t\t\t196,\n\t\t\t197,\n\t\t\t198,\n\t\t\t199,\n\t\t\t200,\n\t\t\t201,\n\t\t\t202,\n\t\t\t203,\n\t\t\t204,\n\t\t\t205,\n\t\t\t206,\n\t\t\t207,\n\t\t\t208,\n\t\t\t209,\n\t\t\t214,\n\t\t\t215,\n\t\t\t220,\n\t\t\t221\n\t\t];\n\t}\n} catch (error) {\n\t// Swallow - we only care if `supports-color` is available; it doesn't have to be.\n}\n\n/**\n * Build up the default `inspectOpts` object from the environment variables.\n *\n * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js\n */\n\nexports.inspectOpts = Object.keys(process.env).filter(key => {\n\treturn /^debug_/i.test(key);\n}).reduce((obj, key) => {\n\t// Camel-case\n\tconst prop = key\n\t\t.substring(6)\n\t\t.toLowerCase()\n\t\t.replace(/_([a-z])/g, (_, k) => {\n\t\t\treturn k.toUpperCase();\n\t\t});\n\n\t// Coerce string value into JS value\n\tlet val = process.env[key];\n\tif (/^(yes|on|true|enabled)$/i.test(val)) {\n\t\tval = true;\n\t} else if (/^(no|off|false|disabled)$/i.test(val)) {\n\t\tval = false;\n\t} else if (val === 'null') {\n\t\tval = null;\n\t} else {\n\t\tval = Number(val);\n\t}\n\n\tobj[prop] = val;\n\treturn obj;\n}, {});\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\n\nfunction useColors() {\n\treturn 'colors' in exports.inspectOpts ?\n\t\tBoolean(exports.inspectOpts.colors) :\n\t\ttty.isatty(process.stderr.fd);\n}\n\n/**\n * Adds ANSI color escape codes if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\tconst {namespace: name, useColors} = this;\n\n\tif (useColors) {\n\t\tconst c = this.color;\n\t\tconst colorCode = '\\u001B[3' + (c < 8 ? c : '8;5;' + c);\n\t\tconst prefix = ` ${colorCode};1m${name} \\u001B[0m`;\n\n\t\targs[0] = prefix + args[0].split('\\n').join('\\n' + prefix);\n\t\targs.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\\u001B[0m');\n\t} else {\n\t\targs[0] = getDate() + name + ' ' + args[0];\n\t}\n}\n\nfunction getDate() {\n\tif (exports.inspectOpts.hideDate) {\n\t\treturn '';\n\t}\n\treturn new Date().toISOString() + ' ';\n}\n\n/**\n * Invokes `util.formatWithOptions()` with the specified arguments and writes to stderr.\n */\n\nfunction log(...args) {\n\treturn process.stderr.write(util.formatWithOptions(exports.inspectOpts, ...args) + '\\n');\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\tif (namespaces) {\n\t\tprocess.env.DEBUG = namespaces;\n\t} else {\n\t\t// If you set a process.env field to null or undefined, it gets cast to the\n\t\t// string 'null' or 'undefined'. Just delete instead.\n\t\tdelete process.env.DEBUG;\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n\treturn process.env.DEBUG;\n}\n\n/**\n * Init logic for `debug` instances.\n *\n * Create a new `inspectOpts` object in case `useColors` is set\n * differently for a particular `debug` instance.\n */\n\nfunction init(debug) {\n\tdebug.inspectOpts = {};\n\n\tconst keys = Object.keys(exports.inspectOpts);\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tdebug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %o to `util.inspect()`, all on a single line.\n */\n\nformatters.o = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts)\n\t\t.split('\\n')\n\t\t.map(str => str.trim())\n\t\t.join(' ');\n};\n\n/**\n * Map %O to `util.inspect()`, allowing multiple lines if needed.\n */\n\nformatters.O = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts);\n};\n","/**\n * Detect Electron renderer / nwjs process, which is node, but we should\n * treat as a browser.\n */\n\nif (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {\n\tmodule.exports = require('./browser.js');\n} else {\n\tmodule.exports = require('./node.js');\n}\n","var debug;\n\nmodule.exports = function () {\n if (!debug) {\n try {\n /* eslint global-require: off */\n debug = require(\"debug\")(\"follow-redirects\");\n }\n catch (error) { /* */ }\n if (typeof debug !== \"function\") {\n debug = function () { /* */ };\n }\n }\n debug.apply(null, arguments);\n};\n","var url = require(\"url\");\nvar URL = url.URL;\nvar http = require(\"http\");\nvar https = require(\"https\");\nvar Writable = require(\"stream\").Writable;\nvar assert = require(\"assert\");\nvar debug = require(\"./debug\");\n\n// Preventive platform detection\n// istanbul ignore next\n(function detectUnsupportedEnvironment() {\n var looksLikeNode = typeof process !== \"undefined\";\n var looksLikeBrowser = typeof window !== \"undefined\" && typeof document !== \"undefined\";\n var looksLikeV8 = isFunction(Error.captureStackTrace);\n if (!looksLikeNode && (looksLikeBrowser || !looksLikeV8)) {\n console.warn(\"The follow-redirects package should be excluded from browser builds.\");\n }\n}());\n\n// Whether to use the native URL object or the legacy url module\nvar useNativeURL = false;\ntry {\n assert(new URL(\"\"));\n}\ncatch (error) {\n useNativeURL = error.code === \"ERR_INVALID_URL\";\n}\n\n// URL fields to preserve in copy operations\nvar preservedUrlFields = [\n \"auth\",\n \"host\",\n \"hostname\",\n \"href\",\n \"path\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"query\",\n \"search\",\n \"hash\",\n];\n\n// Create handlers that pass events from native requests\nvar events = [\"abort\", \"aborted\", \"connect\", \"error\", \"socket\", \"timeout\"];\nvar eventHandlers = Object.create(null);\nevents.forEach(function (event) {\n eventHandlers[event] = function (arg1, arg2, arg3) {\n this._redirectable.emit(event, arg1, arg2, arg3);\n };\n});\n\n// Error types with codes\nvar InvalidUrlError = createErrorType(\n \"ERR_INVALID_URL\",\n \"Invalid URL\",\n TypeError\n);\nvar RedirectionError = createErrorType(\n \"ERR_FR_REDIRECTION_FAILURE\",\n \"Redirected request failed\"\n);\nvar TooManyRedirectsError = createErrorType(\n \"ERR_FR_TOO_MANY_REDIRECTS\",\n \"Maximum number of redirects exceeded\",\n RedirectionError\n);\nvar MaxBodyLengthExceededError = createErrorType(\n \"ERR_FR_MAX_BODY_LENGTH_EXCEEDED\",\n \"Request body larger than maxBodyLength limit\"\n);\nvar WriteAfterEndError = createErrorType(\n \"ERR_STREAM_WRITE_AFTER_END\",\n \"write after end\"\n);\n\n// istanbul ignore next\nvar destroy = Writable.prototype.destroy || noop;\n\n// An HTTP(S) request that can be redirected\nfunction RedirectableRequest(options, responseCallback) {\n // Initialize the request\n Writable.call(this);\n this._sanitizeOptions(options);\n this._options = options;\n this._ended = false;\n this._ending = false;\n this._redirectCount = 0;\n this._redirects = [];\n this._requestBodyLength = 0;\n this._requestBodyBuffers = [];\n\n // Attach a callback if passed\n if (responseCallback) {\n this.on(\"response\", responseCallback);\n }\n\n // React to responses of native requests\n var self = this;\n this._onNativeResponse = function (response) {\n try {\n self._processResponse(response);\n }\n catch (cause) {\n self.emit(\"error\", cause instanceof RedirectionError ?\n cause : new RedirectionError({ cause: cause }));\n }\n };\n\n // Perform the first request\n this._performRequest();\n}\nRedirectableRequest.prototype = Object.create(Writable.prototype);\n\nRedirectableRequest.prototype.abort = function () {\n destroyRequest(this._currentRequest);\n this._currentRequest.abort();\n this.emit(\"abort\");\n};\n\nRedirectableRequest.prototype.destroy = function (error) {\n destroyRequest(this._currentRequest, error);\n destroy.call(this, error);\n return this;\n};\n\n// Writes buffered data to the current native request\nRedirectableRequest.prototype.write = function (data, encoding, callback) {\n // Writing is not allowed if end has been called\n if (this._ending) {\n throw new WriteAfterEndError();\n }\n\n // Validate input and shift parameters if necessary\n if (!isString(data) && !isBuffer(data)) {\n throw new TypeError(\"data should be a string, Buffer or Uint8Array\");\n }\n if (isFunction(encoding)) {\n callback = encoding;\n encoding = null;\n }\n\n // Ignore empty buffers, since writing them doesn't invoke the callback\n // https://github.com/nodejs/node/issues/22066\n if (data.length === 0) {\n if (callback) {\n callback();\n }\n return;\n }\n // Only write when we don't exceed the maximum body length\n if (this._requestBodyLength + data.length <= this._options.maxBodyLength) {\n this._requestBodyLength += data.length;\n this._requestBodyBuffers.push({ data: data, encoding: encoding });\n this._currentRequest.write(data, encoding, callback);\n }\n // Error when we exceed the maximum body length\n else {\n this.emit(\"error\", new MaxBodyLengthExceededError());\n this.abort();\n }\n};\n\n// Ends the current native request\nRedirectableRequest.prototype.end = function (data, encoding, callback) {\n // Shift parameters if necessary\n if (isFunction(data)) {\n callback = data;\n data = encoding = null;\n }\n else if (isFunction(encoding)) {\n callback = encoding;\n encoding = null;\n }\n\n // Write data if needed and end\n if (!data) {\n this._ended = this._ending = true;\n this._currentRequest.end(null, null, callback);\n }\n else {\n var self = this;\n var currentRequest = this._currentRequest;\n this.write(data, encoding, function () {\n self._ended = true;\n currentRequest.end(null, null, callback);\n });\n this._ending = true;\n }\n};\n\n// Sets a header value on the current native request\nRedirectableRequest.prototype.setHeader = function (name, value) {\n this._options.headers[name] = value;\n this._currentRequest.setHeader(name, value);\n};\n\n// Clears a header value on the current native request\nRedirectableRequest.prototype.removeHeader = function (name) {\n delete this._options.headers[name];\n this._currentRequest.removeHeader(name);\n};\n\n// Global timeout for all underlying requests\nRedirectableRequest.prototype.setTimeout = function (msecs, callback) {\n var self = this;\n\n // Destroys the socket on timeout\n function destroyOnTimeout(socket) {\n socket.setTimeout(msecs);\n socket.removeListener(\"timeout\", socket.destroy);\n socket.addListener(\"timeout\", socket.destroy);\n }\n\n // Sets up a timer to trigger a timeout event\n function startTimer(socket) {\n if (self._timeout) {\n clearTimeout(self._timeout);\n }\n self._timeout = setTimeout(function () {\n self.emit(\"timeout\");\n clearTimer();\n }, msecs);\n destroyOnTimeout(socket);\n }\n\n // Stops a timeout from triggering\n function clearTimer() {\n // Clear the timeout\n if (self._timeout) {\n clearTimeout(self._timeout);\n self._timeout = null;\n }\n\n // Clean up all attached listeners\n self.removeListener(\"abort\", clearTimer);\n self.removeListener(\"error\", clearTimer);\n self.removeListener(\"response\", clearTimer);\n self.removeListener(\"close\", clearTimer);\n if (callback) {\n self.removeListener(\"timeout\", callback);\n }\n if (!self.socket) {\n self._currentRequest.removeListener(\"socket\", startTimer);\n }\n }\n\n // Attach callback if passed\n if (callback) {\n this.on(\"timeout\", callback);\n }\n\n // Start the timer if or when the socket is opened\n if (this.socket) {\n startTimer(this.socket);\n }\n else {\n this._currentRequest.once(\"socket\", startTimer);\n }\n\n // Clean up on events\n this.on(\"socket\", destroyOnTimeout);\n this.on(\"abort\", clearTimer);\n this.on(\"error\", clearTimer);\n this.on(\"response\", clearTimer);\n this.on(\"close\", clearTimer);\n\n return this;\n};\n\n// Proxy all other public ClientRequest methods\n[\n \"flushHeaders\", \"getHeader\",\n \"setNoDelay\", \"setSocketKeepAlive\",\n].forEach(function (method) {\n RedirectableRequest.prototype[method] = function (a, b) {\n return this._currentRequest[method](a, b);\n };\n});\n\n// Proxy all public ClientRequest properties\n[\"aborted\", \"connection\", \"socket\"].forEach(function (property) {\n Object.defineProperty(RedirectableRequest.prototype, property, {\n get: function () { return this._currentRequest[property]; },\n });\n});\n\nRedirectableRequest.prototype._sanitizeOptions = function (options) {\n // Ensure headers are always present\n if (!options.headers) {\n options.headers = {};\n }\n\n // Since http.request treats host as an alias of hostname,\n // but the url module interprets host as hostname plus port,\n // eliminate the host property to avoid confusion.\n if (options.host) {\n // Use hostname if set, because it has precedence\n if (!options.hostname) {\n options.hostname = options.host;\n }\n delete options.host;\n }\n\n // Complete the URL object when necessary\n if (!options.pathname && options.path) {\n var searchPos = options.path.indexOf(\"?\");\n if (searchPos < 0) {\n options.pathname = options.path;\n }\n else {\n options.pathname = options.path.substring(0, searchPos);\n options.search = options.path.substring(searchPos);\n }\n }\n};\n\n\n// Executes the next native request (initial or redirect)\nRedirectableRequest.prototype._performRequest = function () {\n // Load the native protocol\n var protocol = this._options.protocol;\n var nativeProtocol = this._options.nativeProtocols[protocol];\n if (!nativeProtocol) {\n throw new TypeError(\"Unsupported protocol \" + protocol);\n }\n\n // If specified, use the agent corresponding to the protocol\n // (HTTP and HTTPS use different types of agents)\n if (this._options.agents) {\n var scheme = protocol.slice(0, -1);\n this._options.agent = this._options.agents[scheme];\n }\n\n // Create the native request and set up its event handlers\n var request = this._currentRequest =\n nativeProtocol.request(this._options, this._onNativeResponse);\n request._redirectable = this;\n for (var event of events) {\n request.on(event, eventHandlers[event]);\n }\n\n // RFC7230§5.3.1: When making a request directly to an origin server, […]\n // a client MUST send only the absolute path […] as the request-target.\n this._currentUrl = /^\\//.test(this._options.path) ?\n url.format(this._options) :\n // When making a request to a proxy, […]\n // a client MUST send the target URI in absolute-form […].\n this._options.path;\n\n // End a redirected request\n // (The first request must be ended explicitly with RedirectableRequest#end)\n if (this._isRedirect) {\n // Write the request entity and end\n var i = 0;\n var self = this;\n var buffers = this._requestBodyBuffers;\n (function writeNext(error) {\n // Only write if this request has not been redirected yet\n // istanbul ignore else\n if (request === self._currentRequest) {\n // Report any write errors\n // istanbul ignore if\n if (error) {\n self.emit(\"error\", error);\n }\n // Write the next buffer if there are still left\n else if (i < buffers.length) {\n var buffer = buffers[i++];\n // istanbul ignore else\n if (!request.finished) {\n request.write(buffer.data, buffer.encoding, writeNext);\n }\n }\n // End the request if `end` has been called on us\n else if (self._ended) {\n request.end();\n }\n }\n }());\n }\n};\n\n// Processes a response from the current native request\nRedirectableRequest.prototype._processResponse = function (response) {\n // Store the redirected response\n var statusCode = response.statusCode;\n if (this._options.trackRedirects) {\n this._redirects.push({\n url: this._currentUrl,\n headers: response.headers,\n statusCode: statusCode,\n });\n }\n\n // RFC7231§6.4: The 3xx (Redirection) class of status code indicates\n // that further action needs to be taken by the user agent in order to\n // fulfill the request. If a Location header field is provided,\n // the user agent MAY automatically redirect its request to the URI\n // referenced by the Location field value,\n // even if the specific status code is not understood.\n\n // If the response is not a redirect; return it as-is\n var location = response.headers.location;\n if (!location || this._options.followRedirects === false ||\n statusCode < 300 || statusCode >= 400) {\n response.responseUrl = this._currentUrl;\n response.redirects = this._redirects;\n this.emit(\"response\", response);\n\n // Clean up\n this._requestBodyBuffers = [];\n return;\n }\n\n // The response is a redirect, so abort the current request\n destroyRequest(this._currentRequest);\n // Discard the remainder of the response to avoid waiting for data\n response.destroy();\n\n // RFC7231§6.4: A client SHOULD detect and intervene\n // in cyclical redirections (i.e., \"infinite\" redirection loops).\n if (++this._redirectCount > this._options.maxRedirects) {\n throw new TooManyRedirectsError();\n }\n\n // Store the request headers if applicable\n var requestHeaders;\n var beforeRedirect = this._options.beforeRedirect;\n if (beforeRedirect) {\n requestHeaders = Object.assign({\n // The Host header was set by nativeProtocol.request\n Host: response.req.getHeader(\"host\"),\n }, this._options.headers);\n }\n\n // RFC7231§6.4: Automatic redirection needs to done with\n // care for methods not known to be safe, […]\n // RFC7231§6.4.2–3: For historical reasons, a user agent MAY change\n // the request method from POST to GET for the subsequent request.\n var method = this._options.method;\n if ((statusCode === 301 || statusCode === 302) && this._options.method === \"POST\" ||\n // RFC7231§6.4.4: The 303 (See Other) status code indicates that\n // the server is redirecting the user agent to a different resource […]\n // A user agent can perform a retrieval request targeting that URI\n // (a GET or HEAD request if using HTTP) […]\n (statusCode === 303) && !/^(?:GET|HEAD)$/.test(this._options.method)) {\n this._options.method = \"GET\";\n // Drop a possible entity and headers related to it\n this._requestBodyBuffers = [];\n removeMatchingHeaders(/^content-/i, this._options.headers);\n }\n\n // Drop the Host header, as the redirect might lead to a different host\n var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers);\n\n // If the redirect is relative, carry over the host of the last request\n var currentUrlParts = parseUrl(this._currentUrl);\n var currentHost = currentHostHeader || currentUrlParts.host;\n var currentUrl = /^\\w+:/.test(location) ? this._currentUrl :\n url.format(Object.assign(currentUrlParts, { host: currentHost }));\n\n // Create the redirected request\n var redirectUrl = resolveUrl(location, currentUrl);\n debug(\"redirecting to\", redirectUrl.href);\n this._isRedirect = true;\n spreadUrlObject(redirectUrl, this._options);\n\n // Drop confidential headers when redirecting to a less secure protocol\n // or to a different domain that is not a superdomain\n if (redirectUrl.protocol !== currentUrlParts.protocol &&\n redirectUrl.protocol !== \"https:\" ||\n redirectUrl.host !== currentHost &&\n !isSubdomain(redirectUrl.host, currentHost)) {\n removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers);\n }\n\n // Evaluate the beforeRedirect callback\n if (isFunction(beforeRedirect)) {\n var responseDetails = {\n headers: response.headers,\n statusCode: statusCode,\n };\n var requestDetails = {\n url: currentUrl,\n method: method,\n headers: requestHeaders,\n };\n beforeRedirect(this._options, responseDetails, requestDetails);\n this._sanitizeOptions(this._options);\n }\n\n // Perform the redirected request\n this._performRequest();\n};\n\n// Wraps the key/value object of protocols with redirect functionality\nfunction wrap(protocols) {\n // Default settings\n var exports = {\n maxRedirects: 21,\n maxBodyLength: 10 * 1024 * 1024,\n };\n\n // Wrap each protocol\n var nativeProtocols = {};\n Object.keys(protocols).forEach(function (scheme) {\n var protocol = scheme + \":\";\n var nativeProtocol = nativeProtocols[protocol] = protocols[scheme];\n var wrappedProtocol = exports[scheme] = Object.create(nativeProtocol);\n\n // Executes a request, following redirects\n function request(input, options, callback) {\n // Parse parameters, ensuring that input is an object\n if (isURL(input)) {\n input = spreadUrlObject(input);\n }\n else if (isString(input)) {\n input = spreadUrlObject(parseUrl(input));\n }\n else {\n callback = options;\n options = validateUrl(input);\n input = { protocol: protocol };\n }\n if (isFunction(options)) {\n callback = options;\n options = null;\n }\n\n // Set defaults\n options = Object.assign({\n maxRedirects: exports.maxRedirects,\n maxBodyLength: exports.maxBodyLength,\n }, input, options);\n options.nativeProtocols = nativeProtocols;\n if (!isString(options.host) && !isString(options.hostname)) {\n options.hostname = \"::1\";\n }\n\n assert.equal(options.protocol, protocol, \"protocol mismatch\");\n debug(\"options\", options);\n return new RedirectableRequest(options, callback);\n }\n\n // Executes a GET request, following redirects\n function get(input, options, callback) {\n var wrappedRequest = wrappedProtocol.request(input, options, callback);\n wrappedRequest.end();\n return wrappedRequest;\n }\n\n // Expose the properties on the wrapped protocol\n Object.defineProperties(wrappedProtocol, {\n request: { value: request, configurable: true, enumerable: true, writable: true },\n get: { value: get, configurable: true, enumerable: true, writable: true },\n });\n });\n return exports;\n}\n\nfunction noop() { /* empty */ }\n\nfunction parseUrl(input) {\n var parsed;\n // istanbul ignore else\n if (useNativeURL) {\n parsed = new URL(input);\n }\n else {\n // Ensure the URL is valid and absolute\n parsed = validateUrl(url.parse(input));\n if (!isString(parsed.protocol)) {\n throw new InvalidUrlError({ input });\n }\n }\n return parsed;\n}\n\nfunction resolveUrl(relative, base) {\n // istanbul ignore next\n return useNativeURL ? new URL(relative, base) : parseUrl(url.resolve(base, relative));\n}\n\nfunction validateUrl(input) {\n if (/^\\[/.test(input.hostname) && !/^\\[[:0-9a-f]+\\]$/i.test(input.hostname)) {\n throw new InvalidUrlError({ input: input.href || input });\n }\n if (/^\\[/.test(input.host) && !/^\\[[:0-9a-f]+\\](:\\d+)?$/i.test(input.host)) {\n throw new InvalidUrlError({ input: input.href || input });\n }\n return input;\n}\n\nfunction spreadUrlObject(urlObject, target) {\n var spread = target || {};\n for (var key of preservedUrlFields) {\n spread[key] = urlObject[key];\n }\n\n // Fix IPv6 hostname\n if (spread.hostname.startsWith(\"[\")) {\n spread.hostname = spread.hostname.slice(1, -1);\n }\n // Ensure port is a number\n if (spread.port !== \"\") {\n spread.port = Number(spread.port);\n }\n // Concatenate path\n spread.path = spread.search ? spread.pathname + spread.search : spread.pathname;\n\n return spread;\n}\n\nfunction removeMatchingHeaders(regex, headers) {\n var lastValue;\n for (var header in headers) {\n if (regex.test(header)) {\n lastValue = headers[header];\n delete headers[header];\n }\n }\n return (lastValue === null || typeof lastValue === \"undefined\") ?\n undefined : String(lastValue).trim();\n}\n\nfunction createErrorType(code, message, baseClass) {\n // Create constructor\n function CustomError(properties) {\n // istanbul ignore else\n if (isFunction(Error.captureStackTrace)) {\n Error.captureStackTrace(this, this.constructor);\n }\n Object.assign(this, properties || {});\n this.code = code;\n this.message = this.cause ? message + \": \" + this.cause.message : message;\n }\n\n // Attach constructor and set default properties\n CustomError.prototype = new (baseClass || Error)();\n Object.defineProperties(CustomError.prototype, {\n constructor: {\n value: CustomError,\n enumerable: false,\n },\n name: {\n value: \"Error [\" + code + \"]\",\n enumerable: false,\n },\n });\n return CustomError;\n}\n\nfunction destroyRequest(request, error) {\n for (var event of events) {\n request.removeListener(event, eventHandlers[event]);\n }\n request.on(\"error\", noop);\n request.destroy(error);\n}\n\nfunction isSubdomain(subdomain, domain) {\n assert(isString(subdomain) && isString(domain));\n var dot = subdomain.length - domain.length - 1;\n return dot > 0 && subdomain[dot] === \".\" && subdomain.endsWith(domain);\n}\n\nfunction isString(value) {\n return typeof value === \"string\" || value instanceof String;\n}\n\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n\nfunction isBuffer(value) {\n return typeof value === \"object\" && (\"length\" in value);\n}\n\nfunction isURL(value) {\n return URL && value instanceof URL;\n}\n\n// Exports\nmodule.exports = wrap({ http: http, https: https });\nmodule.exports.wrap = wrap;\n","export const VERSION = \"1.13.2\";","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport parseProtocol from './parseProtocol.js';\nimport platform from '../platform/index.js';\n\nconst DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\\s\\S]*)$/;\n\n/**\n * Parse data uri to a Buffer or Blob\n *\n * @param {String} uri\n * @param {?Boolean} asBlob\n * @param {?Object} options\n * @param {?Function} options.Blob\n *\n * @returns {Buffer|Blob}\n */\nexport default function fromDataURI(uri, asBlob, options) {\n const _Blob = options && options.Blob || platform.classes.Blob;\n const protocol = parseProtocol(uri);\n\n if (asBlob === undefined && _Blob) {\n asBlob = true;\n }\n\n if (protocol === 'data') {\n uri = protocol.length ? uri.slice(protocol.length + 1) : uri;\n\n const match = DATA_URL_PATTERN.exec(uri);\n\n if (!match) {\n throw new AxiosError('Invalid URL', AxiosError.ERR_INVALID_URL);\n }\n\n const mime = match[1];\n const isBase64 = match[2];\n const body = match[3];\n const buffer = Buffer.from(decodeURIComponent(body), isBase64 ? 'base64' : 'utf8');\n\n if (asBlob) {\n if (!_Blob) {\n throw new AxiosError('Blob is not supported', AxiosError.ERR_NOT_SUPPORT);\n }\n\n return new _Blob([buffer], {type: mime});\n }\n\n return buffer;\n }\n\n throw new AxiosError('Unsupported protocol ' + protocol, AxiosError.ERR_NOT_SUPPORT);\n}\n","'use strict';\n\nimport stream from 'stream';\nimport utils from '../utils.js';\n\nconst kInternals = Symbol('internals');\n\nclass AxiosTransformStream extends stream.Transform{\n constructor(options) {\n options = utils.toFlatObject(options, {\n maxRate: 0,\n chunkSize: 64 * 1024,\n minChunkSize: 100,\n timeWindow: 500,\n ticksRate: 2,\n samplesCount: 15\n }, null, (prop, source) => {\n return !utils.isUndefined(source[prop]);\n });\n\n super({\n readableHighWaterMark: options.chunkSize\n });\n\n const internals = this[kInternals] = {\n timeWindow: options.timeWindow,\n chunkSize: options.chunkSize,\n maxRate: options.maxRate,\n minChunkSize: options.minChunkSize,\n bytesSeen: 0,\n isCaptured: false,\n notifiedBytesLoaded: 0,\n ts: Date.now(),\n bytes: 0,\n onReadCallback: null\n };\n\n this.on('newListener', event => {\n if (event === 'progress') {\n if (!internals.isCaptured) {\n internals.isCaptured = true;\n }\n }\n });\n }\n\n _read(size) {\n const internals = this[kInternals];\n\n if (internals.onReadCallback) {\n internals.onReadCallback();\n }\n\n return super._read(size);\n }\n\n _transform(chunk, encoding, callback) {\n const internals = this[kInternals];\n const maxRate = internals.maxRate;\n\n const readableHighWaterMark = this.readableHighWaterMark;\n\n const timeWindow = internals.timeWindow;\n\n const divider = 1000 / timeWindow;\n const bytesThreshold = (maxRate / divider);\n const minChunkSize = internals.minChunkSize !== false ? Math.max(internals.minChunkSize, bytesThreshold * 0.01) : 0;\n\n const pushChunk = (_chunk, _callback) => {\n const bytes = Buffer.byteLength(_chunk);\n internals.bytesSeen += bytes;\n internals.bytes += bytes;\n\n internals.isCaptured && this.emit('progress', internals.bytesSeen);\n\n if (this.push(_chunk)) {\n process.nextTick(_callback);\n } else {\n internals.onReadCallback = () => {\n internals.onReadCallback = null;\n process.nextTick(_callback);\n };\n }\n }\n\n const transformChunk = (_chunk, _callback) => {\n const chunkSize = Buffer.byteLength(_chunk);\n let chunkRemainder = null;\n let maxChunkSize = readableHighWaterMark;\n let bytesLeft;\n let passed = 0;\n\n if (maxRate) {\n const now = Date.now();\n\n if (!internals.ts || (passed = (now - internals.ts)) >= timeWindow) {\n internals.ts = now;\n bytesLeft = bytesThreshold - internals.bytes;\n internals.bytes = bytesLeft < 0 ? -bytesLeft : 0;\n passed = 0;\n }\n\n bytesLeft = bytesThreshold - internals.bytes;\n }\n\n if (maxRate) {\n if (bytesLeft <= 0) {\n // next time window\n return setTimeout(() => {\n _callback(null, _chunk);\n }, timeWindow - passed);\n }\n\n if (bytesLeft < maxChunkSize) {\n maxChunkSize = bytesLeft;\n }\n }\n\n if (maxChunkSize && chunkSize > maxChunkSize && (chunkSize - maxChunkSize) > minChunkSize) {\n chunkRemainder = _chunk.subarray(maxChunkSize);\n _chunk = _chunk.subarray(0, maxChunkSize);\n }\n\n pushChunk(_chunk, chunkRemainder ? () => {\n process.nextTick(_callback, null, chunkRemainder);\n } : _callback);\n };\n\n transformChunk(chunk, function transformNextChunk(err, _chunk) {\n if (err) {\n return callback(err);\n }\n\n if (_chunk) {\n transformChunk(_chunk, transformNextChunk);\n } else {\n callback(null);\n }\n });\n }\n}\n\nexport default AxiosTransformStream;\n","const {asyncIterator} = Symbol;\n\nconst readBlob = async function* (blob) {\n if (blob.stream) {\n yield* blob.stream()\n } else if (blob.arrayBuffer) {\n yield await blob.arrayBuffer()\n } else if (blob[asyncIterator]) {\n yield* blob[asyncIterator]();\n } else {\n yield blob;\n }\n}\n\nexport default readBlob;\n","import util from 'util';\nimport {Readable} from 'stream';\nimport utils from \"../utils.js\";\nimport readBlob from \"./readBlob.js\";\nimport platform from \"../platform/index.js\";\n\nconst BOUNDARY_ALPHABET = platform.ALPHABET.ALPHA_DIGIT + '-_';\n\nconst textEncoder = typeof TextEncoder === 'function' ? new TextEncoder() : new util.TextEncoder();\n\nconst CRLF = '\\r\\n';\nconst CRLF_BYTES = textEncoder.encode(CRLF);\nconst CRLF_BYTES_COUNT = 2;\n\nclass FormDataPart {\n constructor(name, value) {\n const {escapeName} = this.constructor;\n const isStringValue = utils.isString(value);\n\n let headers = `Content-Disposition: form-data; name=\"${escapeName(name)}\"${\n !isStringValue && value.name ? `; filename=\"${escapeName(value.name)}\"` : ''\n }${CRLF}`;\n\n if (isStringValue) {\n value = textEncoder.encode(String(value).replace(/\\r?\\n|\\r\\n?/g, CRLF));\n } else {\n headers += `Content-Type: ${value.type || \"application/octet-stream\"}${CRLF}`\n }\n\n this.headers = textEncoder.encode(headers + CRLF);\n\n this.contentLength = isStringValue ? value.byteLength : value.size;\n\n this.size = this.headers.byteLength + this.contentLength + CRLF_BYTES_COUNT;\n\n this.name = name;\n this.value = value;\n }\n\n async *encode(){\n yield this.headers;\n\n const {value} = this;\n\n if(utils.isTypedArray(value)) {\n yield value;\n } else {\n yield* readBlob(value);\n }\n\n yield CRLF_BYTES;\n }\n\n static escapeName(name) {\n return String(name).replace(/[\\r\\n\"]/g, (match) => ({\n '\\r' : '%0D',\n '\\n' : '%0A',\n '\"' : '%22',\n }[match]));\n }\n}\n\nconst formDataToStream = (form, headersHandler, options) => {\n const {\n tag = 'form-data-boundary',\n size = 25,\n boundary = tag + '-' + platform.generateString(size, BOUNDARY_ALPHABET)\n } = options || {};\n\n if(!utils.isFormData(form)) {\n throw TypeError('FormData instance required');\n }\n\n if (boundary.length < 1 || boundary.length > 70) {\n throw Error('boundary must be 10-70 characters long')\n }\n\n const boundaryBytes = textEncoder.encode('--' + boundary + CRLF);\n const footerBytes = textEncoder.encode('--' + boundary + '--' + CRLF);\n let contentLength = footerBytes.byteLength;\n\n const parts = Array.from(form.entries()).map(([name, value]) => {\n const part = new FormDataPart(name, value);\n contentLength += part.size;\n return part;\n });\n\n contentLength += boundaryBytes.byteLength * parts.length;\n\n contentLength = utils.toFiniteNumber(contentLength);\n\n const computedHeaders = {\n 'Content-Type': `multipart/form-data; boundary=${boundary}`\n }\n\n if (Number.isFinite(contentLength)) {\n computedHeaders['Content-Length'] = contentLength;\n }\n\n headersHandler && headersHandler(computedHeaders);\n\n return Readable.from((async function *() {\n for(const part of parts) {\n yield boundaryBytes;\n yield* part.encode();\n }\n\n yield footerBytes;\n })());\n};\n\nexport default formDataToStream;\n","\"use strict\";\n\nimport stream from \"stream\";\n\nclass ZlibHeaderTransformStream extends stream.Transform {\n __transform(chunk, encoding, callback) {\n this.push(chunk);\n callback();\n }\n\n _transform(chunk, encoding, callback) {\n if (chunk.length !== 0) {\n this._transform = this.__transform;\n\n // Add Default Compression headers if no zlib headers are present\n if (chunk[0] !== 120) { // Hex: 78\n const header = Buffer.alloc(2);\n header[0] = 120; // Hex: 78\n header[1] = 156; // Hex: 9C \n this.push(header, encoding);\n }\n }\n\n this.__transform(chunk, encoding, callback);\n }\n}\n\nexport default ZlibHeaderTransformStream;\n","import utils from \"../utils.js\";\n\nconst callbackify = (fn, reducer) => {\n return utils.isAsyncFn(fn) ? function (...args) {\n const cb = args.pop();\n fn.apply(this, args).then((value) => {\n try {\n reducer ? cb(null, ...reducer(value)) : cb(null, value);\n } catch (err) {\n cb(err);\n }\n }, cb);\n } : fn;\n}\n\nexport default callbackify;\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn(...args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","/**\n * Estimate decoded byte length of a data:// URL *without* allocating large buffers.\n * - For base64: compute exact decoded size using length and padding;\n * handle %XX at the character-count level (no string allocation).\n * - For non-base64: use UTF-8 byteLength of the encoded body as a safe upper bound.\n *\n * @param {string} url\n * @returns {number}\n */\nexport default function estimateDataURLDecodedBytes(url) {\n if (!url || typeof url !== 'string') return 0;\n if (!url.startsWith('data:')) return 0;\n\n const comma = url.indexOf(',');\n if (comma < 0) return 0;\n\n const meta = url.slice(5, comma);\n const body = url.slice(comma + 1);\n const isBase64 = /;base64/i.test(meta);\n\n if (isBase64) {\n let effectiveLen = body.length;\n const len = body.length; // cache length\n\n for (let i = 0; i < len; i++) {\n if (body.charCodeAt(i) === 37 /* '%' */ && i + 2 < len) {\n const a = body.charCodeAt(i + 1);\n const b = body.charCodeAt(i + 2);\n const isHex =\n ((a >= 48 && a <= 57) || (a >= 65 && a <= 70) || (a >= 97 && a <= 102)) &&\n ((b >= 48 && b <= 57) || (b >= 65 && b <= 70) || (b >= 97 && b <= 102));\n\n if (isHex) {\n effectiveLen -= 2;\n i += 2;\n }\n }\n }\n\n let pad = 0;\n let idx = len - 1;\n\n const tailIsPct3D = (j) =>\n j >= 2 &&\n body.charCodeAt(j - 2) === 37 && // '%'\n body.charCodeAt(j - 1) === 51 && // '3'\n (body.charCodeAt(j) === 68 || body.charCodeAt(j) === 100); // 'D' or 'd'\n\n if (idx >= 0) {\n if (body.charCodeAt(idx) === 61 /* '=' */) {\n pad++;\n idx--;\n } else if (tailIsPct3D(idx)) {\n pad++;\n idx -= 3;\n }\n }\n\n if (pad === 1 && idx >= 0) {\n if (body.charCodeAt(idx) === 61 /* '=' */) {\n pad++;\n } else if (tailIsPct3D(idx)) {\n pad++;\n }\n }\n\n const groups = Math.floor(effectiveLen / 4);\n const bytes = groups * 3 - (pad || 0);\n return bytes > 0 ? bytes : 0;\n }\n\n return Buffer.byteLength(body, 'utf8');\n}\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport buildURL from './../helpers/buildURL.js';\nimport proxyFromEnv from 'proxy-from-env';\nimport http from 'http';\nimport https from 'https';\nimport http2 from 'http2';\nimport util from 'util';\nimport followRedirects from 'follow-redirects';\nimport zlib from 'zlib';\nimport {VERSION} from '../env/data.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport platform from '../platform/index.js';\nimport fromDataURI from '../helpers/fromDataURI.js';\nimport stream from 'stream';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport AxiosTransformStream from '../helpers/AxiosTransformStream.js';\nimport {EventEmitter} from 'events';\nimport formDataToStream from \"../helpers/formDataToStream.js\";\nimport readBlob from \"../helpers/readBlob.js\";\nimport ZlibHeaderTransformStream from '../helpers/ZlibHeaderTransformStream.js';\nimport callbackify from \"../helpers/callbackify.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport estimateDataURLDecodedBytes from '../helpers/estimateDataURLDecodedBytes.js';\n\nconst zlibOptions = {\n flush: zlib.constants.Z_SYNC_FLUSH,\n finishFlush: zlib.constants.Z_SYNC_FLUSH\n};\n\nconst brotliOptions = {\n flush: zlib.constants.BROTLI_OPERATION_FLUSH,\n finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH\n}\n\nconst isBrotliSupported = utils.isFunction(zlib.createBrotliDecompress);\n\nconst {http: httpFollow, https: httpsFollow} = followRedirects;\n\nconst isHttps = /https:?/;\n\nconst supportedProtocols = platform.protocols.map(protocol => {\n return protocol + ':';\n});\n\n\nconst flushOnFinish = (stream, [throttled, flush]) => {\n stream\n .on('end', flush)\n .on('error', flush);\n\n return throttled;\n}\n\nclass Http2Sessions {\n constructor() {\n this.sessions = Object.create(null);\n }\n\n getSession(authority, options) {\n options = Object.assign({\n sessionTimeout: 1000\n }, options);\n\n let authoritySessions = this.sessions[authority];\n\n if (authoritySessions) {\n let len = authoritySessions.length;\n\n for (let i = 0; i < len; i++) {\n const [sessionHandle, sessionOptions] = authoritySessions[i];\n if (!sessionHandle.destroyed && !sessionHandle.closed && util.isDeepStrictEqual(sessionOptions, options)) {\n return sessionHandle;\n }\n }\n }\n\n const session = http2.connect(authority, options);\n\n let removed;\n\n const removeSession = () => {\n if (removed) {\n return;\n }\n\n removed = true;\n\n let entries = authoritySessions, len = entries.length, i = len;\n\n while (i--) {\n if (entries[i][0] === session) {\n if (len === 1) {\n delete this.sessions[authority];\n } else {\n entries.splice(i, 1);\n }\n return;\n }\n }\n };\n\n const originalRequestFn = session.request;\n\n const {sessionTimeout} = options;\n\n if(sessionTimeout != null) {\n\n let timer;\n let streamsCount = 0;\n\n session.request = function () {\n const stream = originalRequestFn.apply(this, arguments);\n\n streamsCount++;\n\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n\n stream.once('close', () => {\n if (!--streamsCount) {\n timer = setTimeout(() => {\n timer = null;\n removeSession();\n }, sessionTimeout);\n }\n });\n\n return stream;\n }\n }\n\n session.once('close', removeSession);\n\n let entry = [\n session,\n options\n ];\n\n authoritySessions ? authoritySessions.push(entry) : authoritySessions = this.sessions[authority] = [entry];\n\n return session;\n }\n}\n\nconst http2Sessions = new Http2Sessions();\n\n\n/**\n * If the proxy or config beforeRedirects functions are defined, call them with the options\n * object.\n *\n * @param {Object<string, any>} options - The options object that was passed to the request.\n *\n * @returns {Object<string, any>}\n */\nfunction dispatchBeforeRedirect(options, responseDetails) {\n if (options.beforeRedirects.proxy) {\n options.beforeRedirects.proxy(options);\n }\n if (options.beforeRedirects.config) {\n options.beforeRedirects.config(options, responseDetails);\n }\n}\n\n/**\n * If the proxy or config afterRedirects functions are defined, call them with the options\n *\n * @param {http.ClientRequestArgs} options\n * @param {AxiosProxyConfig} configProxy configuration from Axios options object\n * @param {string} location\n *\n * @returns {http.ClientRequestArgs}\n */\nfunction setProxy(options, configProxy, location) {\n let proxy = configProxy;\n if (!proxy && proxy !== false) {\n const proxyUrl = proxyFromEnv.getProxyForUrl(location);\n if (proxyUrl) {\n proxy = new URL(proxyUrl);\n }\n }\n if (proxy) {\n // Basic proxy authorization\n if (proxy.username) {\n proxy.auth = (proxy.username || '') + ':' + (proxy.password || '');\n }\n\n if (proxy.auth) {\n // Support proxy auth object form\n if (proxy.auth.username || proxy.auth.password) {\n proxy.auth = (proxy.auth.username || '') + ':' + (proxy.auth.password || '');\n }\n const base64 = Buffer\n .from(proxy.auth, 'utf8')\n .toString('base64');\n options.headers['Proxy-Authorization'] = 'Basic ' + base64;\n }\n\n options.headers.host = options.hostname + (options.port ? ':' + options.port : '');\n const proxyHost = proxy.hostname || proxy.host;\n options.hostname = proxyHost;\n // Replace 'host' since options is not a URL object\n options.host = proxyHost;\n options.port = proxy.port;\n options.path = location;\n if (proxy.protocol) {\n options.protocol = proxy.protocol.includes(':') ? proxy.protocol : `${proxy.protocol}:`;\n }\n }\n\n options.beforeRedirects.proxy = function beforeRedirect(redirectOptions) {\n // Configure proxy for redirected request, passing the original config proxy to apply\n // the exact same logic as if the redirected request was performed by axios directly.\n setProxy(redirectOptions, configProxy, redirectOptions.href);\n };\n}\n\nconst isHttpAdapterSupported = typeof process !== 'undefined' && utils.kindOf(process) === 'process';\n\n// temporary hotfix\n\nconst wrapAsync = (asyncExecutor) => {\n return new Promise((resolve, reject) => {\n let onDone;\n let isDone;\n\n const done = (value, isRejected) => {\n if (isDone) return;\n isDone = true;\n onDone && onDone(value, isRejected);\n }\n\n const _resolve = (value) => {\n done(value);\n resolve(value);\n };\n\n const _reject = (reason) => {\n done(reason, true);\n reject(reason);\n }\n\n asyncExecutor(_resolve, _reject, (onDoneHandler) => (onDone = onDoneHandler)).catch(_reject);\n })\n};\n\nconst resolveFamily = ({address, family}) => {\n if (!utils.isString(address)) {\n throw TypeError('address must be a string');\n }\n return ({\n address,\n family: family || (address.indexOf('.') < 0 ? 6 : 4)\n });\n}\n\nconst buildAddressEntry = (address, family) => resolveFamily(utils.isObject(address) ? address : {address, family});\n\nconst http2Transport = {\n request(options, cb) {\n const authority = options.protocol + '//' + options.hostname + ':' + (options.port || 80);\n\n const {http2Options, headers} = options;\n\n const session = http2Sessions.getSession(authority, http2Options);\n\n const {\n HTTP2_HEADER_SCHEME,\n HTTP2_HEADER_METHOD,\n HTTP2_HEADER_PATH,\n HTTP2_HEADER_STATUS\n } = http2.constants;\n\n const http2Headers = {\n [HTTP2_HEADER_SCHEME]: options.protocol.replace(':', ''),\n [HTTP2_HEADER_METHOD]: options.method,\n [HTTP2_HEADER_PATH]: options.path,\n }\n\n utils.forEach(headers, (header, name) => {\n name.charAt(0) !== ':' && (http2Headers[name] = header);\n });\n\n const req = session.request(http2Headers);\n\n req.once('response', (responseHeaders) => {\n const response = req; //duplex\n\n responseHeaders = Object.assign({}, responseHeaders);\n\n const status = responseHeaders[HTTP2_HEADER_STATUS];\n\n delete responseHeaders[HTTP2_HEADER_STATUS];\n\n response.headers = responseHeaders;\n\n response.statusCode = +status;\n\n cb(response);\n })\n\n return req;\n }\n}\n\n/*eslint consistent-return:0*/\nexport default isHttpAdapterSupported && function httpAdapter(config) {\n return wrapAsync(async function dispatchHttpRequest(resolve, reject, onDone) {\n let {data, lookup, family, httpVersion = 1, http2Options} = config;\n const {responseType, responseEncoding} = config;\n const method = config.method.toUpperCase();\n let isDone;\n let rejected = false;\n let req;\n\n httpVersion = +httpVersion;\n\n if (Number.isNaN(httpVersion)) {\n throw TypeError(`Invalid protocol version: '${config.httpVersion}' is not a number`);\n }\n\n if (httpVersion !== 1 && httpVersion !== 2) {\n throw TypeError(`Unsupported protocol version '${httpVersion}'`);\n }\n\n const isHttp2 = httpVersion === 2;\n\n if (lookup) {\n const _lookup = callbackify(lookup, (value) => utils.isArray(value) ? value : [value]);\n // hotfix to support opt.all option which is required for node 20.x\n lookup = (hostname, opt, cb) => {\n _lookup(hostname, opt, (err, arg0, arg1) => {\n if (err) {\n return cb(err);\n }\n\n const addresses = utils.isArray(arg0) ? arg0.map(addr => buildAddressEntry(addr)) : [buildAddressEntry(arg0, arg1)];\n\n opt.all ? cb(err, addresses) : cb(err, addresses[0].address, addresses[0].family);\n });\n }\n }\n\n const abortEmitter = new EventEmitter();\n\n function abort(reason) {\n try {\n abortEmitter.emit('abort', !reason || reason.type ? new CanceledError(null, config, req) : reason);\n } catch(err) {\n console.warn('emit error', err);\n }\n }\n\n abortEmitter.once('abort', reject);\n\n const onFinished = () => {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(abort);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', abort);\n }\n\n abortEmitter.removeAllListeners();\n }\n\n if (config.cancelToken || config.signal) {\n config.cancelToken && config.cancelToken.subscribe(abort);\n if (config.signal) {\n config.signal.aborted ? abort() : config.signal.addEventListener('abort', abort);\n }\n }\n\n onDone((response, isRejected) => {\n isDone = true;\n\n if (isRejected) {\n rejected = true;\n onFinished();\n return;\n }\n\n const {data} = response;\n\n if (data instanceof stream.Readable || data instanceof stream.Duplex) {\n const offListeners = stream.finished(data, () => {\n offListeners();\n onFinished();\n });\n } else {\n onFinished();\n }\n });\n\n\n\n\n\n // Parse url\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n const parsed = new URL(fullPath, platform.hasBrowserEnv ? platform.origin : undefined);\n const protocol = parsed.protocol || supportedProtocols[0];\n\n if (protocol === 'data:') {\n // Apply the same semantics as HTTP: only enforce if a finite, non-negative cap is set.\n if (config.maxContentLength > -1) {\n // Use the exact string passed to fromDataURI (config.url); fall back to fullPath if needed.\n const dataUrl = String(config.url || fullPath || '');\n const estimated = estimateDataURLDecodedBytes(dataUrl);\n\n if (estimated > config.maxContentLength) {\n return reject(new AxiosError(\n 'maxContentLength size of ' + config.maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE,\n config\n ));\n }\n }\n\n let convertedData;\n\n if (method !== 'GET') {\n return settle(resolve, reject, {\n status: 405,\n statusText: 'method not allowed',\n headers: {},\n config\n });\n }\n\n try {\n convertedData = fromDataURI(config.url, responseType === 'blob', {\n Blob: config.env && config.env.Blob\n });\n } catch (err) {\n throw AxiosError.from(err, AxiosError.ERR_BAD_REQUEST, config);\n }\n\n if (responseType === 'text') {\n convertedData = convertedData.toString(responseEncoding);\n\n if (!responseEncoding || responseEncoding === 'utf8') {\n convertedData = utils.stripBOM(convertedData);\n }\n } else if (responseType === 'stream') {\n convertedData = stream.Readable.from(convertedData);\n }\n\n return settle(resolve, reject, {\n data: convertedData,\n status: 200,\n statusText: 'OK',\n headers: new AxiosHeaders(),\n config\n });\n }\n\n if (supportedProtocols.indexOf(protocol) === -1) {\n return reject(new AxiosError(\n 'Unsupported protocol ' + protocol,\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n\n const headers = AxiosHeaders.from(config.headers).normalize();\n\n // Set User-Agent (required by some servers)\n // See https://github.com/axios/axios/issues/69\n // User-Agent is specified; handle case where no UA header is desired\n // Only set header if it hasn't been set in config\n headers.set('User-Agent', 'axios/' + VERSION, false);\n\n const {onUploadProgress, onDownloadProgress} = config;\n const maxRate = config.maxRate;\n let maxUploadRate = undefined;\n let maxDownloadRate = undefined;\n\n // support for spec compliant FormData objects\n if (utils.isSpecCompliantForm(data)) {\n const userBoundary = headers.getContentType(/boundary=([-_\\w\\d]{10,70})/i);\n\n data = formDataToStream(data, (formHeaders) => {\n headers.set(formHeaders);\n }, {\n tag: `axios-${VERSION}-boundary`,\n boundary: userBoundary && userBoundary[1] || undefined\n });\n // support for https://www.npmjs.com/package/form-data api\n } else if (utils.isFormData(data) && utils.isFunction(data.getHeaders)) {\n headers.set(data.getHeaders());\n\n if (!headers.hasContentLength()) {\n try {\n const knownLength = await util.promisify(data.getLength).call(data);\n Number.isFinite(knownLength) && knownLength >= 0 && headers.setContentLength(knownLength);\n /*eslint no-empty:0*/\n } catch (e) {\n }\n }\n } else if (utils.isBlob(data) || utils.isFile(data)) {\n data.size && headers.setContentType(data.type || 'application/octet-stream');\n headers.setContentLength(data.size || 0);\n data = stream.Readable.from(readBlob(data));\n } else if (data && !utils.isStream(data)) {\n if (Buffer.isBuffer(data)) {\n // Nothing to do...\n } else if (utils.isArrayBuffer(data)) {\n data = Buffer.from(new Uint8Array(data));\n } else if (utils.isString(data)) {\n data = Buffer.from(data, 'utf-8');\n } else {\n return reject(new AxiosError(\n 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream',\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n\n // Add Content-Length header if data exists\n headers.setContentLength(data.length, false);\n\n if (config.maxBodyLength > -1 && data.length > config.maxBodyLength) {\n return reject(new AxiosError(\n 'Request body larger than maxBodyLength limit',\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n }\n\n const contentLength = utils.toFiniteNumber(headers.getContentLength());\n\n if (utils.isArray(maxRate)) {\n maxUploadRate = maxRate[0];\n maxDownloadRate = maxRate[1];\n } else {\n maxUploadRate = maxDownloadRate = maxRate;\n }\n\n if (data && (onUploadProgress || maxUploadRate)) {\n if (!utils.isStream(data)) {\n data = stream.Readable.from(data, {objectMode: false});\n }\n\n data = stream.pipeline([data, new AxiosTransformStream({\n maxRate: utils.toFiniteNumber(maxUploadRate)\n })], utils.noop);\n\n onUploadProgress && data.on('progress', flushOnFinish(\n data,\n progressEventDecorator(\n contentLength,\n progressEventReducer(asyncDecorator(onUploadProgress), false, 3)\n )\n ));\n }\n\n // HTTP basic authentication\n let auth = undefined;\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password || '';\n auth = username + ':' + password;\n }\n\n if (!auth && parsed.username) {\n const urlUsername = parsed.username;\n const urlPassword = parsed.password;\n auth = urlUsername + ':' + urlPassword;\n }\n\n auth && headers.delete('authorization');\n\n let path;\n\n try {\n path = buildURL(\n parsed.pathname + parsed.search,\n config.params,\n config.paramsSerializer\n ).replace(/^\\?/, '');\n } catch (err) {\n const customErr = new Error(err.message);\n customErr.config = config;\n customErr.url = config.url;\n customErr.exists = true;\n return reject(customErr);\n }\n\n headers.set(\n 'Accept-Encoding',\n 'gzip, compress, deflate' + (isBrotliSupported ? ', br' : ''), false\n );\n\n const options = {\n path,\n method: method,\n headers: headers.toJSON(),\n agents: { http: config.httpAgent, https: config.httpsAgent },\n auth,\n protocol,\n family,\n beforeRedirect: dispatchBeforeRedirect,\n beforeRedirects: {},\n http2Options\n };\n\n // cacheable-lookup integration hotfix\n !utils.isUndefined(lookup) && (options.lookup = lookup);\n\n if (config.socketPath) {\n options.socketPath = config.socketPath;\n } else {\n options.hostname = parsed.hostname.startsWith(\"[\") ? parsed.hostname.slice(1, -1) : parsed.hostname;\n options.port = parsed.port;\n setProxy(options, config.proxy, protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path);\n }\n\n let transport;\n const isHttpsRequest = isHttps.test(options.protocol);\n options.agent = isHttpsRequest ? config.httpsAgent : config.httpAgent;\n\n if (isHttp2) {\n transport = http2Transport;\n } else {\n if (config.transport) {\n transport = config.transport;\n } else if (config.maxRedirects === 0) {\n transport = isHttpsRequest ? https : http;\n } else {\n if (config.maxRedirects) {\n options.maxRedirects = config.maxRedirects;\n }\n if (config.beforeRedirect) {\n options.beforeRedirects.config = config.beforeRedirect;\n }\n transport = isHttpsRequest ? httpsFollow : httpFollow;\n }\n }\n\n if (config.maxBodyLength > -1) {\n options.maxBodyLength = config.maxBodyLength;\n } else {\n // follow-redirects does not skip comparison, so it should always succeed for axios -1 unlimited\n options.maxBodyLength = Infinity;\n }\n\n if (config.insecureHTTPParser) {\n options.insecureHTTPParser = config.insecureHTTPParser;\n }\n\n // Create the request\n req = transport.request(options, function handleResponse(res) {\n if (req.destroyed) return;\n\n const streams = [res];\n\n const responseLength = utils.toFiniteNumber(res.headers['content-length']);\n\n if (onDownloadProgress || maxDownloadRate) {\n const transformStream = new AxiosTransformStream({\n maxRate: utils.toFiniteNumber(maxDownloadRate)\n });\n\n onDownloadProgress && transformStream.on('progress', flushOnFinish(\n transformStream,\n progressEventDecorator(\n responseLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true, 3)\n )\n ));\n\n streams.push(transformStream);\n }\n\n // decompress the response body transparently if required\n let responseStream = res;\n\n // return the last request in case of redirects\n const lastRequest = res.req || req;\n\n // if decompress disabled we should not decompress\n if (config.decompress !== false && res.headers['content-encoding']) {\n // if no content, but headers still say that it is encoded,\n // remove the header not confuse downstream operations\n if (method === 'HEAD' || res.statusCode === 204) {\n delete res.headers['content-encoding'];\n }\n\n switch ((res.headers['content-encoding'] || '').toLowerCase()) {\n /*eslint default-case:0*/\n case 'gzip':\n case 'x-gzip':\n case 'compress':\n case 'x-compress':\n // add the unzipper to the body stream processing pipeline\n streams.push(zlib.createUnzip(zlibOptions));\n\n // remove the content-encoding in order to not confuse downstream operations\n delete res.headers['content-encoding'];\n break;\n case 'deflate':\n streams.push(new ZlibHeaderTransformStream());\n\n // add the unzipper to the body stream processing pipeline\n streams.push(zlib.createUnzip(zlibOptions));\n\n // remove the content-encoding in order to not confuse downstream operations\n delete res.headers['content-encoding'];\n break;\n case 'br':\n if (isBrotliSupported) {\n streams.push(zlib.createBrotliDecompress(brotliOptions));\n delete res.headers['content-encoding'];\n }\n }\n }\n\n responseStream = streams.length > 1 ? stream.pipeline(streams, utils.noop) : streams[0];\n\n\n\n const response = {\n status: res.statusCode,\n statusText: res.statusMessage,\n headers: new AxiosHeaders(res.headers),\n config,\n request: lastRequest\n };\n\n if (responseType === 'stream') {\n response.data = responseStream;\n settle(resolve, reject, response);\n } else {\n const responseBuffer = [];\n let totalResponseBytes = 0;\n\n responseStream.on('data', function handleStreamData(chunk) {\n responseBuffer.push(chunk);\n totalResponseBytes += chunk.length;\n\n // make sure the content length is not over the maxContentLength if specified\n if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) {\n // stream.destroy() emit aborted event before calling reject() on Node.js v16\n rejected = true;\n responseStream.destroy();\n abort(new AxiosError('maxContentLength size of ' + config.maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE, config, lastRequest));\n }\n });\n\n responseStream.on('aborted', function handlerStreamAborted() {\n if (rejected) {\n return;\n }\n\n const err = new AxiosError(\n 'stream has been aborted',\n AxiosError.ERR_BAD_RESPONSE,\n config,\n lastRequest\n );\n responseStream.destroy(err);\n reject(err);\n });\n\n responseStream.on('error', function handleStreamError(err) {\n if (req.destroyed) return;\n reject(AxiosError.from(err, null, config, lastRequest));\n });\n\n responseStream.on('end', function handleStreamEnd() {\n try {\n let responseData = responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer);\n if (responseType !== 'arraybuffer') {\n responseData = responseData.toString(responseEncoding);\n if (!responseEncoding || responseEncoding === 'utf8') {\n responseData = utils.stripBOM(responseData);\n }\n }\n response.data = responseData;\n } catch (err) {\n return reject(AxiosError.from(err, null, config, response.request, response));\n }\n settle(resolve, reject, response);\n });\n }\n\n abortEmitter.once('abort', err => {\n if (!responseStream.destroyed) {\n responseStream.emit('error', err);\n responseStream.destroy();\n }\n });\n });\n\n abortEmitter.once('abort', err => {\n if (req.close) {\n req.close();\n } else {\n req.destroy(err);\n }\n });\n\n // Handle errors\n req.on('error', function handleRequestError(err) {\n // @todo remove\n // if (req.aborted && err.code !== AxiosError.ERR_FR_TOO_MANY_REDIRECTS) return;\n reject(AxiosError.from(err, null, config, req));\n });\n\n // set tcp keep alive to prevent drop connection by peer\n req.on('socket', function handleRequestSocket(socket) {\n // default interval of sending ack packet is 1 minute\n socket.setKeepAlive(true, 1000 * 60);\n });\n\n // Handle request timeout\n if (config.timeout) {\n // This is forcing a int timeout to avoid problems if the `req` interface doesn't handle other types.\n const timeout = parseInt(config.timeout, 10);\n\n if (Number.isNaN(timeout)) {\n abort(new AxiosError(\n 'error trying to parse `config.timeout` to int',\n AxiosError.ERR_BAD_OPTION_VALUE,\n config,\n req\n ));\n\n return;\n }\n\n // Sometime, the response will be very slow, and does not respond, the connect event will be block by event loop system.\n // And timer callback will be fired, and abort() will be invoked before connection, then get \"socket hang up\" and code ECONNRESET.\n // At this time, if we have a large number of request, nodejs will hang up some socket on background. and the number will up and up.\n // And then these socket which be hang up will devouring CPU little by little.\n // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect.\n req.setTimeout(timeout, function handleRequestTimeout() {\n if (isDone) return;\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n abort(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n req\n ));\n });\n } else {\n // explicitly reset the socket timeout value for a possible `keep-alive` request\n req.setTimeout(0);\n }\n\n\n // Send the request\n if (utils.isStream(data)) {\n let ended = false;\n let errored = false;\n\n data.on('end', () => {\n ended = true;\n });\n\n data.once('error', err => {\n errored = true;\n req.destroy(err);\n });\n\n data.on('close', () => {\n if (!ended && !errored) {\n abort(new CanceledError('Request stream has been aborted', config, req));\n }\n });\n\n data.pipe(req);\n } else {\n data && req.write(data);\n req.end();\n }\n });\n}\n\nexport const __setProxy = setProxy;\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure, sameSite) {\n if (typeof document === 'undefined') return;\n\n const cookie = [`${name}=${encodeURIComponent(value)}`];\n\n if (utils.isNumber(expires)) {\n cookie.push(`expires=${new Date(expires).toUTCString()}`);\n }\n if (utils.isString(path)) {\n cookie.push(`path=${path}`);\n }\n if (utils.isString(domain)) {\n cookie.push(`domain=${domain}`);\n }\n if (secure === true) {\n cookie.push('secure');\n }\n if (utils.isString(sameSite)) {\n cookie.push(`SameSite=${sameSite}`);\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n if (typeof document === 'undefined') return null;\n const match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)'));\n return match ? decodeURIComponent(match[1]) : null;\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000, '/');\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b, prop) => mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true)\n };\n\n utils.forEach(Object.keys({...config1, ...config2}), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // browser handles it\n } else if (utils.isFunction(data.getHeaders)) {\n // Node.js FormData (like form-data package)\n const formHeaders = data.getHeaders();\n // Only set safe headers to avoid overwriting security headers\n const allowedHeaders = ['content-type', 'content-length'];\n Object.entries(formHeaders).forEach(([key, val]) => {\n if (allowedHeaders.includes(key.toLowerCase())) {\n headers.set(key, val);\n }\n });\n }\n } \n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError(event) {\n // Browsers deliver a ProgressEvent in XHR onerror\n // (message may be empty; when present, surface it)\n // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event\n const msg = event && event.message ? event.message : 'Network Error';\n const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request);\n // attach the underlying event for consumers who want details\n err.event = event || null;\n reject(err);\n request = null;\n };\n \n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst {isFunction} = utils;\n\nconst globalFetchAPI = (({Request, Response}) => ({\n Request, Response\n}))(utils.global);\n\nconst {\n ReadableStream, TextEncoder\n} = utils.global;\n\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst factory = (env) => {\n env = utils.merge.call({\n skipUndefined: true\n }, globalFetchAPI, env);\n\n const {fetch: envFetch, Request, Response} = env;\n const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function';\n const isRequestSupported = isFunction(Request);\n const isResponseSupported = isFunction(Response);\n\n if (!isFetchSupported) {\n return false;\n }\n\n const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream);\n\n const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Request(str).arrayBuffer())\n );\n\n const supportsRequestStream = isRequestSupported && isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n });\n\n const supportsResponseStream = isResponseSupported && isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n const resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n };\n\n isFetchSupported && ((() => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = (res, config) => {\n let method = res && res[type];\n\n if (method) {\n return method.call(res);\n }\n\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n })());\n\n const getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if (utils.isBlob(body)) {\n return body.size;\n }\n\n if (utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if (utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if (utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if (utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n }\n\n const resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n }\n\n return async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n let _fetch = envFetch || fetch;\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request = null;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = isRequestSupported && \"credentials\" in Request.prototype;\n\n const resolvedOptions = {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n };\n\n request = isRequestSupported && new Request(url, resolvedOptions);\n\n let response = await (isRequestSupported ? _fetch(request, fetchOptions) : _fetch(url, resolvedOptions));\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n }\n}\n\nconst seedCache = new Map();\n\nexport const getFetch = (config) => {\n let env = (config && config.env) || {};\n const {fetch, Request, Response} = env;\n const seeds = [\n Request, Response, fetch\n ];\n\n let len = seeds.length, i = len,\n seed, target, map = seedCache;\n\n while (i--) {\n seed = seeds[i];\n target = map.get(seed);\n\n target === undefined && map.set(seed, target = (i ? new Map() : factory(env)))\n\n map = target;\n }\n\n return target;\n};\n\nconst adapter = getFetch();\n\nexport default adapter;\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport * as fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\n/**\n * Known adapters mapping.\n * Provides environment-specific adapters for Axios:\n * - `http` for Node.js\n * - `xhr` for browsers\n * - `fetch` for fetch API-based requests\n * \n * @type {Object<string, Function|Object>}\n */\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: {\n get: fetchAdapter.getFetch,\n }\n};\n\n// Assign adapter names for easier debugging and identification\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', { value });\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', { value });\n }\n});\n\n/**\n * Render a rejection reason string for unknown or unsupported adapters\n * \n * @param {string} reason\n * @returns {string}\n */\nconst renderReason = (reason) => `- ${reason}`;\n\n/**\n * Check if the adapter is resolved (function, null, or false)\n * \n * @param {Function|null|false} adapter\n * @returns {boolean}\n */\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\n/**\n * Get the first suitable adapter from the provided list.\n * Tries each adapter in order until a supported one is found.\n * Throws an AxiosError if no adapter is suitable.\n * \n * @param {Array<string|Function>|string|Function} adapters - Adapter(s) by name or function.\n * @param {Object} config - Axios request configuration\n * @throws {AxiosError} If no suitable adapter is available\n * @returns {Function} The resolved adapter function\n */\nfunction getAdapter(adapters, config) {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const { length } = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter && (utils.isFunction(adapter) || (adapter = adapter.get(config)))) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n}\n\n/**\n * Exports Axios adapters and utility to resolve an adapter\n */\nexport default {\n /**\n * Resolve an adapter from a list of adapter names or functions.\n * @type {Function}\n */\n getAdapter,\n\n /**\n * Exposes all known adapters\n * @type {Object<string, Function|Object>}\n */\n adapters: knownAdapters\n};\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig || {};\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift(...requestInterceptorChain);\n chain.push(...responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n WebServerIsDown: 521,\n ConnectionTimedOut: 522,\n OriginIsUnreachable: 523,\n TimeoutOccurred: 524,\n SslHandshakeFailed: 525,\n InvalidSslCertificate: 526,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n","import*as o from\"axios\";import{getAugmentedNamespace as m}from\"./_commonjsHelpers.mjs\";var r=m(o);export{r as default};\n","var s=class{constructor(s,t,r,a){this.statusCode=s,this.payload=t,this.error=r,this.headers=a}};export{s as R};\n","import{R as e}from\"../Response.mjs\";const r=e;var s={buildSmartyResponse:function(e,s){return e?new r(e.status,e.data,e.error,e.headers):new r(void 0,void 0,s)}};export{s as b};\n","import e from\"./_virtual/_axios.mjs\";import{b as s}from\"./util/buildSmartyResponse.mjs\";const t=e.default,{buildSmartyResponse:o}=s;var a=class{constructor(e=1e4,s,o=!1){this.axiosInstance=t.create(),this.timeout=e,this.proxyConfig=s,o&&this.enableDebug()}buildRequestConfig({payload:e,parameters:s,headers:t,baseUrl:o}){let a={method:\"GET\",timeout:this.timeout,params:s,headers:t,baseURL:o,validateStatus:function(e){return e<500}};return e&&(a.method=\"POST\",a.data=e),this.proxyConfig&&(a.proxy=this.proxyConfig),a}send(e){return new Promise(((s,t)=>{let a=this.buildRequestConfig(e);this.axiosInstance(a).then((e=>{let a=o(e);a.statusCode>=400&&t(a),s(a)})).catch((e=>t(o(void 0,e))))}))}enableDebug(){this.axiosInstance.interceptors.request.use((e=>(console.log(\"Request:\\r\\n\",e),console.log(\"\\r\\n*******************************************\\r\\n\"),e))),this.axiosInstance.interceptors.response.use((e=>(console.log(\"Response:\\r\\n\"),console.log(\"Status:\",e.status,e.statusText),console.log(\"Headers:\",e.headers),console.log(\"Data:\",e.data),e)))}};export{a as H};\n","import{getDefaultExportFromCjs as s}from\"./_virtual/_commonjsHelpers.mjs\";var t=class{constructor(s,t){this.authId=s,this.hostName=t}sign(s){s.parameters.key=this.authId,this.hostName&&(s.headers.Referer=\"https://\"+this.hostName)}},e=s(t);export{t as S,e as default};\n","import{E as e}from\"./Errors.mjs\";import{S as r}from\"./SharedCredentials.mjs\";const s=e.UnprocessableEntityError,t=r;var n=class{constructor(e,r){this.signer=r,this.sender=e}send(e){if(e.payload&&this.signer instanceof t){throw new s(\"Shared credentials cannot be used in batches with a length greater than 1 or when using the US Extract API.\")}return new Promise(((r,s)=>{this.signer.sign(e),this.sender.send(e).then(r).catch(s)}))}};export{n as S};\n","var r=class{constructor(r,e){this.urlOverride=e,this.sender=r}send(r){return new Promise(((e,s)=>{r.baseUrl=`${this.urlOverride}${r.baseUrlParam?`/${r.baseUrlParam}`:\"\"}`,this.sender.send(r).then(e).catch(s)}))}};export{r as B};\n","var a=\"6.3.2\",e={version:a};export{e as default,a as version};\n","import s from\"./package.json.mjs\";var e=class{constructor(s){this.sender=s}send(e){return e.parameters.agent=\"smarty (sdk:javascript@\"+s.version+\")\",new Promise(((s,r)=>{this.sender.send(e).then(s).catch(r)}))}};export{e as A};\n","import{getDefaultExportFromCjs as t}from\"./_virtual/_commonjsHelpers.mjs\";var a=class{constructor(t,a){this.authId=t,this.authToken=a}sign(t){t.parameters[\"auth-id\"]=this.authId,t.parameters[\"auth-token\"]=this.authToken}},s=t(a);export{a as S,s as default};\n","var s=class{constructor(s,e){this.sender=s,this.customHeaders=e}send(s){for(let e in this.customHeaders)s.headers[e]=this.customHeaders[e];return new Promise(((e,t)=>{this.sender.send(s).then(e).catch(t)}))}};export{s as C};\n","import{E as r}from\"./Errors.mjs\";const e=r;var a=class{constructor(r){this.sender=r}send(r){return new Promise(((a,s)=>{this.sender.send(r).then(a).catch((r=>{switch(r.statusCode){case 500:r.error=new e.InternalServerError;break;case 503:r.error=new e.ServiceUnavailableError;break;case 504:r.error=new e.GatewayTimeoutError;break;default:r.error=new e.DefaultError(r&&r.payload&&r.payload.errors[0]&&r.payload.errors[0].message)}s(r)}))}))}};export{a as S};\n","var e=class{constructor(e,s){this.sender=e,this.licenses=s}send(e){return 0!==this.licenses.length&&(e.parameters.license=this.licenses.join(\",\")),new Promise(((s,n)=>{this.sender.send(e).then(s).catch(n)}))}};export{e as L};\n","var e=class{constructor(e=5,s,t){this.maxRetries=e,this.statusToRetry=[408,429,500,502,503,504],this.statusTooManyRequests=429,this.maxBackoffDuration=10,this.inner=s,this.sleeper=t}async send(e){let s=await this.inner.send(e);for(let t=0;t<this.maxRetries&&this.statusToRetry.includes(parseInt(s.statusCode));t++){if(parseInt(s.statusCode)===this.statusTooManyRequests){let e=10;if(s.headers){const t=s.headers[\"Retry-After\"];Number.isInteger(t)&&(e=t)}await this.rateLimitBackOff(e)}else await this.backoff(t);s=await this.inner.send(e)}return s}async backoff(e){const s=Math.min(e,this.maxBackoffDuration);console.log(`There was an error processing the request. Retrying in ${s} seconds...`),await this.sleeper.sleep(s)}async rateLimitBackOff(e){console.log(`Rate limit reached. Retrying in ${e} seconds...`),await this.sleeper.sleep(e)}};export{e as R};\n","var e=class{constructor(){}sleep(e){return new Promise((r=>setTimeout(r,1e3*e)))}};export{e as S};\n","import{getDefaultExportFromCjs as t}from\"../_virtual/_commonjsHelpers.mjs\";var a=class{constructor(t){if(this.inputIndex=t.input_index,this.candidateIndex=t.candidate_index,this.addressee=t.addressee,this.deliveryLine1=t.delivery_line_1,this.deliveryLine2=t.delivery_line_2,this.lastLine=t.last_line,this.deliveryPointBarcode=t.delivery_point_barcode,this.smartyKey=t.smarty_key,this.components={},void 0!==t.components&&(this.components.urbanization=t.components.urbanization,this.components.primaryNumber=t.components.primary_number,this.components.streetName=t.components.street_name,this.components.streetPredirection=t.components.street_predirection,this.components.streetPostdirection=t.components.street_postdirection,this.components.streetSuffix=t.components.street_suffix,this.components.secondaryNumber=t.components.secondary_number,this.components.secondaryDesignator=t.components.secondary_designator,this.components.extraSecondaryNumber=t.components.extra_secondary_number,this.components.extraSecondaryDesignator=t.components.extra_secondary_designator,this.components.pmbDesignator=t.components.pmb_designator,this.components.pmbNumber=t.components.pmb_number,this.components.cityName=t.components.city_name,this.components.defaultCityName=t.components.default_city_name,this.components.state=t.components.state_abbreviation,this.components.zipCode=t.components.zipcode,this.components.plus4Code=t.components.plus4_code,this.components.deliveryPoint=t.components.delivery_point,this.components.deliveryPointCheckDigit=t.components.delivery_point_check_digit),this.metadata={},void 0!==t.metadata){if(this.metadata.recordType=t.metadata.record_type,this.metadata.zipType=t.metadata.zip_type,this.metadata.countyFips=t.metadata.county_fips,this.metadata.countyName=t.metadata.county_name,this.metadata.carrierRoute=t.metadata.carrier_route,this.metadata.congressionalDistrict=t.metadata.congressional_district,this.metadata.buildingDefaultIndicator=t.metadata.building_default_indicator,this.metadata.rdi=t.metadata.rdi,this.metadata.elotSequence=t.metadata.elot_sequence,this.metadata.elotSort=t.metadata.elot_sort,this.metadata.latitude=t.metadata.latitude,this.metadata.longitude=t.metadata.longitude,1===t.metadata.coordinate_license)this.metadata.coordinateLicense=\"SmartyStreets Proprietary\";else this.metadata.coordinateLicense=\"SmartyStreets\";this.metadata.precision=t.metadata.precision,this.metadata.timeZone=t.metadata.time_zone,this.metadata.utcOffset=t.metadata.utc_offset,this.metadata.obeysDst=t.metadata.dst,this.metadata.isEwsMatch=t.metadata.ews_match}this.analysis={},void 0!==t.analysis&&(this.analysis.dpvMatchCode=t.analysis.dpv_match_code,this.analysis.dpvFootnotes=t.analysis.dpv_footnotes,this.analysis.cmra=t.analysis.dpv_cmra,this.analysis.vacant=t.analysis.dpv_vacant,this.analysis.noStat=t.analysis.dpv_no_stat,this.analysis.active=t.analysis.active,this.analysis.isEwsMatch=t.analysis.ews_match,this.analysis.footnotes=t.analysis.footnotes,this.analysis.lacsLinkCode=t.analysis.lacslink_code,this.analysis.lacsLinkIndicator=t.analysis.lacslink_indicator,this.analysis.isSuiteLinkMatch=t.analysis.suitelink_match,this.analysis.enhancedMatch=t.analysis.enhanced_match)}},e=t(a);export{a as C,e as default};\n","import{getDefaultExportFromCjs as t}from\"../_virtual/_commonjsHelpers.mjs\";var s=class{constructor(t,s,i,a,e,r,h,o,m,c,u,d,n,l){this.street=t,this.street2=s,this.secondary=i,this.city=a,this.state=e,this.zipCode=r,this.lastLine=h,this.addressee=o,this.urbanization=m,this.match=c,this.maxCandidates=u,this.inputId=d,this.format=n,this.countySource=l,this.result=[],this.customParameters={}}addCustomParameter(t,s){this.customParameters[t]=s}},i=t(s);export{s as L,i as default};\n","var a=class{constructor(a,s={\"Content-Type\":\"application/json; charset=utf-8\"}){this.baseUrl=\"\",this.baseUrlParam=\"\",this.payload=a,this.headers=s,this.parameters={}}};export{a as R};\n","var t=class{constructor(t){this.lookup=t,this.data={}}add(t,a){this.lookupFieldIsPopulated(a)&&(this.data[t]=this.formatData(this.lookup[a]))}addCustomParameter(t,a){this.data[t]=a}formatData(t){return Array.isArray(t)?t.join(\";\"):t}lookupFieldIsPopulated(t){return\"\"!==this.lookup[t]&&void 0!==this.lookup[t]}};export{t as I};\n","import{I as t}from\"../InputData.mjs\";const a=t;var e=(t,e)=>{let r=new a(t);const s=Object.keys(t.customParameters??{}).length>0;for(let t in e)r.add(t,e[t]);if(s)for(let a in t.customParameters)r.addCustomParameter(a,t.customParameters[a]);return r.data};export{e as b};\n","import{R as r}from\"../Request.mjs\";import{E as t}from\"../Errors.mjs\";import{b as e}from\"./buildInputData.mjs\";const o=r,n=t,s=e;var a=(r,t,e,a)=>{if(r.isEmpty())throw new n.BatchEmptyError;let m=new o;return 1===r.length()?m.parameters=p(r)[0]:m.payload=p(r),new Promise(((o,n)=>{t.send(m).then((t=>{t.error&&n(t.error),o(function(r,t){return t.payload.map((t=>{let o=new e(t);r.getByIndex(o.inputIndex).result.push(o)})),r}(r,t))})).catch(n)}));function p(r){return r.lookups.map((r=>s(r,a)))}};export{a as s};\n","var e={usStreet:{street:\"street\",street2:\"street2\",secondary:\"secondary\",city:\"city\",state:\"state\",zipcode:\"zipCode\",lastline:\"lastLine\",addressee:\"addressee\",urbanization:\"urbanization\",match:\"match\",format:\"format\",candidates:\"maxCandidates\",county_source:\"countySource\"},usAutocompletePro:{search:\"search\",selected:\"selected\",max_results:\"maxResults\",include_only_cities:\"includeOnlyCities\",include_only_states:\"includeOnlyStates\",include_only_zip_codes:\"includeOnlyZIPCodes\",exclude_states:\"excludeStates\",prefer_cities:\"preferCities\",prefer_states:\"preferStates\",prefer_zip_codes:\"preferZIPCodes\",prefer_ratio:\"preferRatio\",prefer_geolocation:\"preferGeolocation\",source:\"source\"},usZipcode:{city:\"city\",state:\"state\",zipcode:\"zipCode\"},internationalStreet:{country:\"country\",freeform:\"freeform\",address1:\"address1\",address2:\"address2\",address3:\"address3\",address4:\"address4\",organization:\"organization\",locality:\"locality\",administrative_area:\"administrativeArea\",postal_code:\"postalCode\",geocode:\"geocode\",language:\"language\"},internationalAddressAutocomplete:{search:\"search\",country:\"country\",max_results:\"maxResults\",include_only_administrative_area:\"includeOnlyAdministrativeArea\",include_only_locality:\"includeOnlyLocality\",include_only_postal_code:\"includeOnlyPostalCode\"},usReverseGeo:{latitude:\"latitude\",longitude:\"longitude\",source:\"source\"},usExtract:{html:\"html\",aggressive:\"aggressive\",addr_line_breaks:\"addressesHaveLineBreaks\",addr_per_line:\"addressesPerLine\"},usEnrichment:{include:\"include\",exclude:\"exclude\",dataset:\"dataset\",data_subset:\"dataSubset\"}};export{e as a};\n","import{C as s}from\"./Candidate.mjs\";import{L as r}from\"./Lookup.mjs\";import{B as t}from\"../Batch.mjs\";import{E as a}from\"../Errors.mjs\";import{s as o}from\"../util/sendBatch.mjs\";import{a as e}from\"../util/apiToSDKKeyMap.mjs\";const n=s,m=r,i=t,d=a.UndefinedLookupError,c=o,p=e.usStreet;var f=class{constructor(s){this.sender=s}send(s){const r=s instanceof m;if(!r&&!(s instanceof i))throw new d;let t;return r?(null==s.maxCandidates&&\"enhanced\"==s.match&&(s.maxCandidates=5),t=new i,t.add(s)):t=s,c(t,this.sender,n,p)}};export{f as C};\n","import{getDefaultExportFromCjs as t}from\"../_virtual/_commonjsHelpers.mjs\";var s=class{constructor(t,s,r,a){this.city=t,this.state=s,this.zipCode=r,this.inputId=a,this.result=[],this.customParameters={}}addCustomParameter(t,s){this.customParameters[t]=s}},r=t(s);export{s as L,r as default};\n","import{getDefaultExportFromCjs as t}from\"../_virtual/_commonjsHelpers.mjs\";var e=class{constructor(t){this.inputIndex=t.input_index,this.status=t.status,this.reason=t.reason,this.valid=void 0===this.status&&void 0===this.reason,this.cities=t.city_states?t.city_states.map((t=>({city:t.city,stateAbbreviation:t.state_abbreviation,state:t.state,mailableCity:t.mailable_city}))):[],this.zipcodes=t.zipcodes?t.zipcodes.map((t=>({zipcode:t.zipcode,zipcodeType:t.zipcode_type,defaultCity:t.default_city,countyFips:t.county_fips,countyName:t.county_name,latitude:t.latitude,longitude:t.longitude,precision:t.precision,stateAbbreviation:t.state_abbreviation,state:t.state,alternateCounties:t.alternate_counties?t.alternate_counties.map((t=>({countyFips:t.county_fips,countyName:t.county_name,stateAbbreviation:t.state_abbreviation,state:t.state}))):[]}))):[]}},i=t(e);export{e as R,i as default};\n","import{L as s}from\"./Lookup.mjs\";import{R as o}from\"./Result.mjs\";import{B as r}from\"../Batch.mjs\";import{E as t}from\"../Errors.mjs\";import{s as e}from\"../util/sendBatch.mjs\";import{a as m}from\"../util/apiToSDKKeyMap.mjs\";const a=s,i=o,n=r,p=t.UndefinedLookupError,c=e,f=m.usZipcode;var d=class{constructor(s){this.sender=s}send(s){const o=s instanceof a;if(!o&&!(s instanceof n))throw new p;let r;return o?(r=new n,r.add(s)):r=s,c(r,this.sender,i,f)}};export{d as C};\n","import{getDefaultExportFromCjs as s}from\"../_virtual/_commonjsHelpers.mjs\";var t=class{constructor(s){this.streetLine=s.street_line,this.secondary=s.secondary,this.city=s.city,this.state=s.state,this.zipcode=s.zipcode,this.entries=s.entries,s.source&&(this.source=s.source)}},e=s(t);export{t as S,e as default};\n","import{E as r}from\"../Errors.mjs\";import{R as s}from\"../Request.mjs\";import{S as o}from\"./Suggestion.mjs\";import{b as e}from\"../util/buildInputData.mjs\";import{a as t}from\"../util/apiToSDKKeyMap.mjs\";const a=r,m=s,n=o,i=e,u=t.usAutocompletePro;var p=class{constructor(r){this.sender=r}send(r){if(void 0===r)throw new a.UndefinedLookupError;let s=new m;return s.parameters=i(r,u),new Promise(((o,e)=>{this.sender.send(s).then((s=>{var t;s.error&&e(s.error),r.result=null===(t=s.payload).suggestions?[]:t.suggestions.map((r=>new n(r))),o(r)})).catch(e)}))}};export{p as C};\n","import{C as t}from\"../us_street/Candidate.mjs\";const s=t;var e=class{constructor(t){this.text=t.text,this.verified=t.verified,this.line=t.line,this.start=t.start,this.end=t.end,this.candidates=t.api_output.map((t=>new s(t)))}};export{e as A};\n","import{getDefaultExportFromCjs as s}from\"../_virtual/_commonjsHelpers.mjs\";import{A as e}from\"./Address.mjs\";const t=e;var r=class{constructor({meta:s,addresses:e}){this.meta={lines:s.lines,unicode:s.unicode,addressCount:s.address_count,verifiedCount:s.verified_count,bytes:s.bytes,characterCount:s.character_count},this.addresses=e.map((s=>new t(s)))}},a=s(r);export{r as R,a as default};\n","import{E as r}from\"../Errors.mjs\";import{R as t}from\"../Request.mjs\";import{R as e}from\"./Result.mjs\";import{b as s}from\"../util/buildInputData.mjs\";import{a as o}from\"../util/apiToSDKKeyMap.mjs\";const a=r,n=t,m=e,i=s,p=o.usExtract;var u=class{constructor(r){this.sender=r}send(r){if(void 0===r)throw new a.UndefinedLookupError;let t=new n(r.text,{\"Content-Type\":\"text/plain; charset=utf-8\"});return t.parameters=i(r,p),new Promise(((e,s)=>{this.sender.send(t).then((t=>{t.error&&s(t.error),r.result=new m(t.payload),e(r)})).catch(s)}))}};export{u as C};\n","import{getDefaultExportFromCjs as s}from\"../_virtual/_commonjsHelpers.mjs\";var n=class{constructor(s){this.organization=s.organization,this.address1=s.address1,this.address2=s.address2,this.address3=s.address3,this.address4=s.address4,this.address5=s.address5,this.address6=s.address6,this.address7=s.address7,this.address8=s.address8,this.address9=s.address9,this.address10=s.address10,this.address11=s.address11,this.address12=s.address12,this.components={},void 0!==s.components&&(this.components.countryIso3=s.components.country_iso_3,this.components.superAdministrativeArea=s.components.super_administrative_area,this.components.administrativeArea=s.components.administrative_area,this.components.administrativeAreaIso2=s.components.administrative_area_iso2,this.components.administrativeAreaShort=s.components.administrative_area_short,this.components.administrativeAreaLong=s.components.administrative_area_long,this.components.subAdministrativeArea=s.components.sub_administrative_area,this.components.dependentLocality=s.components.dependent_locality,this.components.dependentLocalityName=s.components.dependent_locality_name,this.components.doubleDependentLocality=s.components.double_dependent_locality,this.components.locality=s.components.locality,this.components.postalCode=s.components.postal_code,this.components.postalCodeShort=s.components.postal_code_short,this.components.postalCodeExtra=s.components.postal_code_extra,this.components.premise=s.components.premise,this.components.premiseExtra=s.components.premise_extra,this.components.premisePrefixNumber=s.components.premise_prefix_number,this.components.premiseNumber=s.components.premise_number,this.components.premiseType=s.components.premise_type,this.components.thoroughfare=s.components.thoroughfare,this.components.thoroughfarePredirection=s.components.thoroughfare_predirection,this.components.thoroughfarePostdirection=s.components.thoroughfare_postdirection,this.components.thoroughfareName=s.components.thoroughfare_name,this.components.thoroughfareTrailingType=s.components.thoroughfare_trailing_type,this.components.thoroughfareType=s.components.thoroughfare_type,this.components.dependentThoroughfare=s.components.dependent_thoroughfare,this.components.dependentThoroughfarePredirection=s.components.dependent_thoroughfare_predirection,this.components.dependentThoroughfarePostdirection=s.components.dependent_thoroughfare_postdirection,this.components.dependentThoroughfareName=s.components.dependent_thoroughfare_name,this.components.dependentThoroughfareTrailingType=s.components.dependent_thoroughfare_trailing_type,this.components.dependentThoroughfareType=s.components.dependent_thoroughfare_type,this.components.building=s.components.building,this.components.buildingLeadingType=s.components.building_leading_type,this.components.buildingName=s.components.building_name,this.components.buildingTrailingType=s.components.building_trailing_type,this.components.subBuildingType=s.components.sub_building_type,this.components.subBuildingNumber=s.components.sub_building_number,this.components.subBuildingName=s.components.sub_building_name,this.components.subBuilding=s.components.sub_building,this.components.levelType=s.components.level_type,this.components.levelNumber=s.components.level_number,this.components.postBox=s.components.post_box,this.components.postBoxType=s.components.post_box_type,this.components.postBoxNumber=s.components.post_box_number,this.components.additionalContent=s.components.additional_content,this.components.deliveryInstallation=s.components.delivery_installation,this.components.deliveryInstallationType=s.components.delivery_installation_type,this.components.deliveryInstallationQualifierName=s.components.delivery_installation_qualifier_name,this.components.route=s.components.route,this.components.routeNumber=s.components.route_number,this.components.routeType=s.components.route_type),this.analysis={},void 0!==s.analysis&&(this.analysis.verificationStatus=s.analysis.verification_status,this.analysis.addressPrecision=s.analysis.address_precision,this.analysis.maxAddressPrecision=s.analysis.max_address_precision,this.analysis.changes={},void 0!==s.analysis.changes&&(this.analysis.changes.organization=s.analysis.changes.organization,this.analysis.changes.address1=s.analysis.changes.address1,this.analysis.changes.address2=s.analysis.changes.address2,this.analysis.changes.address3=s.analysis.changes.address3,this.analysis.changes.address4=s.analysis.changes.address4,this.analysis.changes.address5=s.analysis.changes.address5,this.analysis.changes.address6=s.analysis.changes.address6,this.analysis.changes.address7=s.analysis.changes.address7,this.analysis.changes.address8=s.analysis.changes.address8,this.analysis.changes.address9=s.analysis.changes.address9,this.analysis.changes.address10=s.analysis.changes.address10,this.analysis.changes.address11=s.analysis.changes.address11,this.analysis.changes.address12=s.analysis.changes.address12,this.analysis.changes.components={},void 0!==s.analysis.changes.components&&(this.analysis.changes.components.countryIso3=s.analysis.changes.components.country_iso_3,this.analysis.changes.components.superAdministrativeArea=s.analysis.changes.components.super_administrative_area,this.analysis.changes.components.administrativeArea=s.analysis.changes.components.administrative_area,this.analysis.changes.components.administrativeAreaIso2=s.analysis.changes.components.administrative_area_iso2,this.analysis.changes.components.administrativeAreaShort=s.analysis.changes.components.administrative_area_short,this.analysis.changes.components.administrativeAreaLong=s.analysis.changes.components.administrative_area_long,this.analysis.changes.components.subAdministrativeArea=s.analysis.changes.components.sub_administrative_area,this.analysis.changes.components.dependentLocality=s.analysis.changes.components.dependent_locality,this.analysis.changes.components.dependentLocalityName=s.analysis.changes.components.dependent_locality_name,this.analysis.changes.components.doubleDependentLocality=s.analysis.changes.components.double_dependent_locality,this.analysis.changes.components.locality=s.analysis.changes.components.locality,this.analysis.changes.components.postalCode=s.analysis.changes.components.postal_code,this.analysis.changes.components.postalCodeShort=s.analysis.changes.components.postal_code_short,this.analysis.changes.components.postalCodeExtra=s.analysis.changes.components.postal_code_extra,this.analysis.changes.components.premise=s.analysis.changes.components.premise,this.analysis.changes.components.premiseExtra=s.analysis.changes.components.premise_extra,this.analysis.changes.components.premisePrefixNumber=s.analysis.changes.components.premise_prefix_number,this.analysis.changes.components.premiseNumber=s.analysis.changes.components.premise_number,this.analysis.changes.components.premiseType=s.analysis.changes.components.premise_type,this.analysis.changes.components.thoroughfare=s.analysis.changes.components.thoroughfare,this.analysis.changes.components.thoroughfarePredirection=s.analysis.changes.components.thoroughfare_predirection,this.analysis.changes.components.thoroughfarePostdirection=s.analysis.changes.components.thoroughfare_postdirection,this.analysis.changes.components.thoroughfareName=s.analysis.changes.components.thoroughfare_name,this.analysis.changes.components.thoroughfareTrailingType=s.analysis.changes.components.thoroughfare_trailing_type,this.analysis.changes.components.thoroughfareType=s.analysis.changes.components.thoroughfare_type,this.analysis.changes.components.dependentThoroughfare=s.analysis.changes.components.dependent_thoroughfare,this.analysis.changes.components.dependentThoroughfarePredirection=s.analysis.changes.components.dependent_thoroughfare_predirection,this.analysis.changes.components.dependentThoroughfarePostdirection=s.analysis.changes.components.dependent_thoroughfare_postdirection,this.analysis.changes.components.dependentThoroughfareName=s.analysis.changes.components.dependent_thoroughfare_name,this.analysis.changes.components.dependentThoroughfareTrailingType=s.analysis.changes.components.dependent_thoroughfare_trailing_type,this.analysis.changes.components.dependentThoroughfareType=s.analysis.changes.components.dependent_thoroughfare_type,this.analysis.changes.components.building=s.analysis.changes.components.building,this.analysis.changes.components.buildingLeadingType=s.analysis.changes.components.building_leading_type,this.analysis.changes.components.buildingName=s.analysis.changes.components.building_name,this.analysis.changes.components.buildingTrailingType=s.analysis.changes.components.building_trailing_type,this.analysis.changes.components.subBuildingType=s.analysis.changes.components.sub_building_type,this.analysis.changes.components.subBuildingNumber=s.analysis.changes.components.sub_building_number,this.analysis.changes.components.subBuildingName=s.analysis.changes.components.sub_building_name,this.analysis.changes.components.subBuilding=s.analysis.changes.components.sub_building,this.analysis.changes.components.levelType=s.analysis.changes.components.level_type,this.analysis.changes.components.levelNumber=s.analysis.changes.components.level_number,this.analysis.changes.components.postBox=s.analysis.changes.components.post_box,this.analysis.changes.components.postBoxType=s.analysis.changes.components.post_box_type,this.analysis.changes.components.postBoxNumber=s.analysis.changes.components.post_box_number))),this.metadata={},void 0!==s.metadata&&(this.metadata.latitude=s.metadata.latitude,this.metadata.longitude=s.metadata.longitude,this.metadata.geocodePrecision=s.metadata.geocode_precision,this.metadata.maxGeocodePrecision=s.metadata.max_geocode_precision,this.metadata.addressFormat=s.metadata.address_format)}},e=s(n);export{n as C,e as default};\n","import{R as r}from\"../Request.mjs\";import{E as e}from\"../Errors.mjs\";import{C as t}from\"./Candidate.mjs\";import{b as o}from\"../util/buildInputData.mjs\";import{a as s}from\"../util/apiToSDKKeyMap.mjs\";const a=r,n=e,i=t,m=o,p=s.internationalStreet;var u=class{constructor(r){this.sender=r}send(r){if(void 0===r)throw new n.UndefinedLookupError;let e=new a;return e.parameters=m(r,p),new Promise(((t,o)=>{this.sender.send(e).then((e=>{e.error&&o(e.error),t(function(r,e){return r.payload.map((r=>{e.result.push(new i(r))})),e}(e,r))})).catch(o)}))}};export{u as C};\n","var e=class{constructor(e){if(this.distance=e.distance,this.address={},e.address&&(this.address.street=e.address.street,this.address.city=e.address.city,this.address.state_abbreviation=e.address.state_abbreviation,this.address.zipcode=e.address.zipcode,this.address.source=e.address.source),this.coordinate={},e.coordinate)if(this.coordinate.latitude=e.coordinate.latitude,this.coordinate.longitude=e.coordinate.longitude,this.coordinate.accuracy=e.coordinate.accuracy,1===e.coordinate.license)this.coordinate.license=\"SmartyStreets Proprietary\";else this.coordinate.license=\"SmartyStreets\"}};export{e as R};\n","import{R as s}from\"./Result.mjs\";const t=s;var r=class{constructor(s){this.results=[],s&&s.results.map((s=>{this.results.push(new t(s))}))}};export{r as R};\n","import{R as r}from\"../Request.mjs\";import{R as e}from\"./Response.mjs\";import{b as s}from\"../util/buildInputData.mjs\";import{a as o}from\"../util/apiToSDKKeyMap.mjs\";import{E as t}from\"../Errors.mjs\";const n=r,a=e,m=s,i=o.usReverseGeo,{UndefinedLookupError:p}=t;var u=class{constructor(r){this.sender=r}send(r){if(void 0===r)throw new p;let e=new n;return e.parameters=m(r,i),new Promise(((s,o)=>{this.sender.send(e).then((e=>{e.error&&o(e.error),s(function(r,e){return e.response=new a(r.payload),e}(e,r))})).catch(o)}))}};export{u as C};\n","import{getDefaultExportFromCjs as t}from\"../_virtual/_commonjsHelpers.mjs\";var s=class{constructor(t){this.street=t.street,this.locality=t.locality,this.administrativeArea=t.administrative_area,this.administrativeAreaShort=t.administrative_area_short,this.administrativeAreaLong=t.administrative_area_long,this.postalCode=t.postal_code,this.countryIso3=t.country_iso3,this.entries=t.entries,this.addressText=t.address_text,this.addressId=t.address_id}},i=t(s);export{s as S,i as default};\n","import{E as r}from\"../Errors.mjs\";import{R as s}from\"../Request.mjs\";import{S as e}from\"./Suggestion.mjs\";import{b as a}from\"../util/buildInputData.mjs\";import{a as t}from\"../util/apiToSDKKeyMap.mjs\";const o=r,n=s,d=e,i=a,m=t.internationalAddressAutocomplete;var p=class{constructor(r){this.sender=r}send(r){if(void 0===r)throw new o.UndefinedLookupError;let s=new n;return s.parameters=i(r,m),r.addressId&&(s.baseUrlParam=r.addressId),new Promise(((e,a)=>{this.sender.send(s).then((s=>{var t;s.error&&a(s.error),r.result=(t=s.payload)&&null===t.candidates?[]:t.candidates.map((r=>new d(r))),e(r)})).catch(a)}))}};export{p as C};\n","import{E as r}from\"../Errors.mjs\";import{R as e}from\"../Request.mjs\";import{b as n}from\"../util/buildInputData.mjs\";import{a as o}from\"../util/apiToSDKKeyMap.mjs\";const s=r,a=e,t=n,{usEnrichment:i}=o;var d=class{constructor(r){this.sender=r}sendPrincipal(r){if(void 0===r)throw new s.UndefinedLookupError;let e=new a;return e.parameters=t(r,i),e.baseUrlParam=r.smartyKey+\"/property/principal\",new Promise(((n,o)=>{this.sender.send(e).then((e=>{e.error&&o(e.error),r.response=e.payload,n(r)})).catch(o)}))}sendFinancial(r){if(void 0===r)throw new s.UndefinedLookupError;let e=new a;return e.parameters=t(r,i),e.baseUrlParam=r.smartyKey+\"/property/financial\",new Promise(((n,o)=>{this.sender.send(e).then((e=>{e.error&&o(e.error),r.response=e.payload,n(r)})).catch(o)}))}sendGeo(r){if(void 0===r)throw new s.UndefinedLookupError;let e=new a;return e.parameters=t(r,i),e.baseUrlParam=r.smartyKey+\"/geo-reference\",new Promise(((n,o)=>{this.sender.send(e).then((e=>{e.error&&o(e.error),r.response=e.payload,n(r)})).catch(o)}))}sendSecondary(r){if(void 0===r)throw new s.UndefinedLookupError;let e=new a;return e.parameters=t(r,i),e.baseUrlParam=r.smartyKey+\"/secondary\",new Promise(((n,o)=>{this.sender.send(e).then((e=>{e.error&&o(e.error),r.response=e.payload,n(r)})).catch(o)}))}sendSecondaryCount(r){if(void 0===r)throw new s.UndefinedLookupError;let e=new a;return e.parameters=t(r,i),e.baseUrlParam=r.smartyKey+\"/secondary/count\",new Promise(((n,o)=>{this.sender.send(e).then((e=>{e.error&&o(e.error),r.response=e.payload,n(r)})).catch(o)}))}};export{d as C};\n","import{getDefaultExportFromCjs as t}from\"./_virtual/_commonjsHelpers.mjs\";import{H as e}from\"./HttpSender.mjs\";import{S as s}from\"./SigningSender.mjs\";import{B as r}from\"./BaseUrlSender.mjs\";import{A as i}from\"./AgentSender.mjs\";import{S as o}from\"./StaticCredentials.mjs\";import{S as n}from\"./SharedCredentials.mjs\";import{C as m}from\"./CustomHeaderSender.mjs\";import{S as a}from\"./StatusCodeSender.mjs\";import{L as l}from\"./LicenseSender.mjs\";import{E as u}from\"./Errors.mjs\";import{R as h}from\"./RetrySender.mjs\";import{S as p}from\"./util/Sleeper.mjs\";import{C as d}from\"./us_street/Client.mjs\";import{C as c}from\"./us_zipcode/Client.mjs\";import{C}from\"./us_autocomplete_pro/Client.mjs\";import{C as b}from\"./us_extract/Client.mjs\";import{C as f}from\"./international_street/Client.mjs\";import{C as S}from\"./us_reverse_geo/Client.mjs\";import{C as j}from\"./international_address_autocomplete/Client.mjs\";import{C as w}from\"./us_enrichment/Client.mjs\";const x=e,y=s,U=r,_=i,g=o,v=n,H=m,R=a,A=l,k=u.BadCredentialsError,E=h,B=p,T=d,L=c,z=C,I=b,M=f,P=S,D=j,G=w;var Z=class{constructor(t){if(!t instanceof g||!t instanceof v)throw new k;this.signer=t,this.httpSender=void 0,this.maxRetries=5,this.maxTimeout=1e4,this.baseUrl=void 0,this.proxy=void 0,this.customHeaders={},this.debug=void 0,this.licenses=[]}withMaxRetries(t){return this.maxRetries=t,this}withMaxTimeout(t){return this.maxTimeout=t,this}withSender(t){return this.httpSender=t,this}withBaseUrl(t){return this.baseUrl=t,this}withProxy(t,e,s,r,i){return this.proxy={host:t,port:e,protocol:s},r&&i&&(this.proxy.auth={username:r,password:i}),this}withCustomHeaders(t){return this.customHeaders=t,this}withDebug(){return this.debug=!0,this}withLicenses(t){return this.licenses=t,this}buildSender(){if(this.httpSender)return this.httpSender;const t=new x(this.maxTimeout,this.proxy,this.debug),e=new R(t),s=new y(e,this.signer);let r=new _(s);if(this.maxRetries>0){const t=new E(this.maxRetries,s,new B);r=new _(t)}const i=new H(r,this.customHeaders),o=new U(i,this.baseUrl);return new A(o,this.licenses)}buildClient(t,e){return this.baseUrl||(this.baseUrl=t),new e(this.buildSender())}buildUsStreetApiClient(){return this.buildClient(\"https://us-street.api.smarty.com/street-address\",T)}buildUsZipcodeClient(){return this.buildClient(\"https://us-zipcode.api.smarty.com/lookup\",L)}buildUsAutocompleteProClient(){return this.buildClient(\"https://us-autocomplete-pro.api.smarty.com/lookup\",z)}buildUsExtractClient(){return this.buildClient(\"https://us-extract.api.smarty.com/\",I)}buildInternationalStreetClient(){return this.buildClient(\"https://international-street.api.smarty.com/verify\",M)}buildUsReverseGeoClient(){return this.buildClient(\"https://us-reverse-geo.api.smarty.com/lookup\",P)}buildInternationalAddressAutocompleteClient(){return this.buildClient(\"https://international-autocomplete.api.smarty.com/v2/lookup\",D)}buildUsEnrichmentClient(){return this.buildClient(\"https://us-enrichment.api.smarty.com/lookup\",G)}},q=t(Z);export{Z as C,q as default};\n","import{getDefaultExportFromCjs as t}from\"../_virtual/_commonjsHelpers.mjs\";import{C as e}from\"../ClientBuilder.mjs\";const n=e;function r(t){return new n(t)}var i=t({usStreet:function(t){return r(t).buildUsStreetApiClient()},usAutocompletePro:function(t){return r(t).buildUsAutocompleteProClient()},usExtract:function(t){return r(t).buildUsExtractClient()},usZipcode:function(t){return r(t).buildUsZipcodeClient()},internationalStreet:function(t){return r(t).buildInternationalStreetClient()},usReverseGeo:function(t){return r(t).buildUsReverseGeoClient()},internationalAddressAutocomplete:function(t){return r(t).buildInternationalAddressAutocompleteClient()},usEnrichment:function(t){return r(t).buildUsEnrichmentClient()}});export{i as default};\n","import{getDefaultExportFromCjs as s}from\"../_virtual/_commonjsHelpers.mjs\";var t=s(class{constructor(s){this.result=[],this.search=s,this.selected=void 0,this.maxResults=void 0,this.includeOnlyCities=[],this.includeOnlyStates=[],this.includeOnlyZIPCodes=[],this.excludeStates=[],this.preferCities=[],this.preferStates=[],this.preferZIPCodes=[],this.preferRatio=void 0,this.preferGeolocation=void 0,this.source=void 0,this.customParameters={}}addCustomParameter(s,t){this.customParameters[s]=t}});export{t as default};\n","import{getDefaultExportFromCjs as s}from\"../_virtual/_commonjsHelpers.mjs\";var e=s(class{constructor(s){this.result={meta:{},addresses:[]},this.text=s,this.html=void 0,this.aggressive=void 0,this.addressesHaveLineBreaks=void 0,this.addressesPerLine=void 0,this.customParameters={}}addCustomParameter(s,e){this.customParameters[s]=e}});export{e as default};\n","import{getDefaultExportFromCjs as t}from\"../_virtual/_commonjsHelpers.mjs\";import{E as e}from\"../Errors.mjs\";const i=e.UnprocessableEntityError,r=\"Country field is required.\",s=\"Either freeform or address1 is required.\",o=\"Insufficient information: One or more required fields were not set on the lookup.\",n=\"Invalid input: geocode can only be set to 'true' (default is 'false'.\",a=\"Invalid input: language can only be set to 'latin' or 'native'. When not set, the the output language will match the language of the input values.\";function u(t){if(!t)return!0;return t.replace(/\\s/g,\"\").length<1}function h(t){return!u(t)}var d=t(class{constructor(t,e){this.result=[],this.country=t,this.freeform=e,this.address1=void 0,this.address2=void 0,this.address3=void 0,this.address4=void 0,this.organization=void 0,this.locality=void 0,this.administrativeArea=void 0,this.postalCode=void 0,this.geocode=void 0,this.language=void 0,this.inputId=void 0,this.ensureEnoughInfo=this.ensureEnoughInfo.bind(this),this.ensureValidData=this.ensureValidData.bind(this),this.customParameters={}}addCustomParameter(t,e){this.customParameters[t]=e}ensureEnoughInfo(){if(u(this.country))throw new i(r);if(h(this.freeform))return!0;if(u(this.address1))throw new i(s);if(h(this.postalCode))return!0;if(u(this.locality)||u(this.administrativeArea))throw new i(o);return!0}ensureValidData(){if((()=>h(this.geocode)&&\"true\"!==this.geocode.toLowerCase())())throw new i(n);if((()=>{let t=t=>this.language.toLowerCase()===t;return h(this.language)&&!(t(\"latin\")||t(\"native\"))})())throw new i(a);return!0}});export{d as default};\n","import{getDefaultExportFromCjs as s}from\"../_virtual/_commonjsHelpers.mjs\";import{R as t}from\"./Response.mjs\";const e=t;var o=s(class{constructor(s,t,o=\"\"){this.latitude=s.toFixed(8),this.longitude=t.toFixed(8),this.source=o,this.response=new e,this.customParameters={}}addCustomParameter(s,t){this.customParameters[s]=t}});export{o as default};\n","import{getDefaultExportFromCjs as s}from\"../_virtual/_commonjsHelpers.mjs\";var t=s(class{constructor({search:s,addressId:t,country:e,maxResults:a=5,includeOnlyLocality:r,includeOnlyPostalCode:l}={}){this.result=[],this.search=s,this.addressId=t,this.country=e,this.maxResults=a,this.includeOnlyLocality=r,this.includeOnlyPostalCode=l,this.customParameters={}}addCustomParameter(s,t){this.customParameters[s]=t}});export{t as default};\n","import{getDefaultExportFromCjs as s}from\"../_virtual/_commonjsHelpers.mjs\";var t=s(class{constructor(s,t,e,a,r){this.smartyKey=s,this.include=t,this.exclude=e,this.dataset=a,this.dataSubset=r,this.response={},this.customParameters={}}addCustomParameter(s,t){this.customParameters[s]=t}});export{t as default};\n","import{getDefaultExportFromCjs as t}from\"../_virtual/_commonjsHelpers.mjs\";var e=t({Response:class{constructor(t){this.smartyKey=t.smarty_key,this.dataSetName=t.data_set_name,this.dataSubsetName=t.data_subset_name,this.attributes={},t.attributes&&(this.attributes.firstFloorSqft=t.attributes[\"1st_floor_sqft\"],this.attributes.secondFlootSqft=t.attributes[\"2nd_floor_sqft\"],this.attributes.acres=t.attributes.acres,this.attributes.addressInfoPrivacy=t.attributes.address_info_privacy,this.attributes.airConditioner=t.attributes.air_conditioner,this.attributes.arborPergola=t.attributes.arbor_pergola,this.attributes.assessedImprovementPercent=t.attributes.assessed_improvement_percent,this.attributes.assessedImprovementValue=t.attributes.assessed_improvement_value,this.attributes.assessedLandValue=t.attributes.assessed_land_value,this.attributes.assessedValue=t.attributes.assessed_value,this.attributes.assessorLastUpdate=t.attributes.assessor_last_update,this.attributes.assessorTaxrollUpdate=t.attributes.assessor_taxroll_update,this.attributes.atticArea=t.attributes.attic_area,this.attributes.atticFlag=t.attributes.attic_flag,this.attributes.balcony=t.attributes.balcony,this.attributes.balconyArea=t.attributes.balcony_area,this.attributes.basementSqft=t.attributes.basement_sqft,this.attributes.basementSqftFinished=t.attributes.basement_sqft_finished,this.attributes.basementsqftUnfinished=t.attributes.basement_sqft_unfinished,this.attributes.bathHouse=t.attributes.bath_house,this.attributes.bathHouseSqft=t.attributes.bath_house_sqft,this.attributes.bathroomsPartial=t.attributes.bathrooms_partial,this.attributes.bathroomsTotal=t.attributes.bathrooms_total,this.attributes.bedrooms=t.attributes.bedrooms,this.attributes.block1=t.attributes.block_1,this.attributes.block2=t.attributes.block_2,this.attributes.boatAccess=t.attributes.boat_access,this.attributes.boatHouse=t.attributes.boat_house,this.attributes.boatHouseSqft=t.attributes.boat_house_sqft,this.attributes.boatLift=t.attributes.boat_lift,this.attributes.bonusRoom=t.attributes.bonus_room,this.attributes.breakfastNook=t.attributes.breakfast_nook,this.attributes.breezeway=t.attributes.breezeway,this.attributes.buildingDefinitionCode=t.attributes.building_definition,this.attributes.buildingSqft=t.attributes.building_sqft,this.attributes.cabin=t.attributes.cabin,this.attributes.cabinSqft=t.attributes.cabin_sqft,this.attributes.canopy=t.attributes.canopy,this.attributes.canopySqft=t.attributes.canopy_sqft,this.attributes.carport=t.attributes.carport,this.attributes.carportSqft=t.attributes.carport_sqft,this.attributes.cbsaCode=t.attributes.cbsa_code,this.attributes.cbsaName=t.attributes.cbsa_name,this.attributes.cellar=t.attributes.cellar,this.attributes.censusBlock=t.attributes.census_block,this.attributes.censusTract=t.attributes.census_tract,this.attributes.censusBlockGroup=t.attributes.census_block_group,this.attributes.censusFipsPlaceCode=t.attributes.census_fips_place_code,this.attributes.censusTract=t.attributes.census_tract,this.attributes.centralVacuum=t.attributes.central_vacuum,this.attributes.codeTitleCompany=t.attributes.code_title_company,this.attributes.combinedStatisticalArea=t.attributes.combined_statistical_area,this.attributes.communityRec=t.attributes.community_rec,this.attributes.companyFlag=t.attributes.company_flag,this.attributes.congressionalDistrict=t.attributes.congressional_district,this.attributes.constructionType=t.attributes.construction_type,this.attributes.contactCity=t.attributes.contact_city,this.attributes.contactCrrt=t.attributes.contact_crrt,this.attributes.contactFullAddress=t.attributes.contact_full_address,this.attributes.contactHouseNumber=t.attributes.contact_house_number,this.attributes.contactMailInfoFormat=t.attributes.contact_main_info_format,this.attributes.contactMailInfoPrivacy=t.attributes.contact_mail_info_privacy,this.attributes.contactMailingCounty=t.attributes.contact_mailing_county,this.attributes.contactMailingFips=t.attributes.contact_mailing_fips,this.attributes.contactPostDirection=t.attributes.contact_post_direction,this.attributes.contactPreDirection=t.attributes.contact_pre_direction,this.attributes.contactState=t.attributes.contact_state,this.attributes.contactStreetName=t.attributes.contact_street_name,this.attributes.contactSuffix=t.attributes.contact_suffix,this.attributes.contactUnitDesignator=t.attributes.contact_unit_designator,this.attributes.contactValue=t.attributes.contact_value,this.attributes.contactZip=t.attributes.contact_zip,this.attributes.contactZip4=t.attributes.contact_zip4,this.attributes.courtyard=t.attributes.courtyard,this.attributes.courtyardArea=t.attributes.courtyard_area,this.attributes.deck=t.attributes.deck,this.attributes.deckArea=t.attributes.deck_area,this.attributes.deedDocumentPage=t.attributes.deed_document_page,this.attributes.deedDocumentBook=t.attributes.deed_document_book,this.attributes.deedDocumentNumber=t.attributes.deed_document_number,this.attributes.deedOwnerFirstName=t.attributes.deed_owner_first_name,this.attributes.deedOwnerFirstName2=t.attributes.deed_owner_first_name2,this.attributes.deedOwnerFirstName3=t.attributes.deed_owner_first_name3,this.attributes.deedOwnerFirstName4=t.attributes.deed_owner_first_name4,this.attributes.deedOwnerFullName=t.attributes.deed_owner_full_name,this.attributes.deedOwnerFullName2=t.attributes.deed_owner_full_name2,this.attributes.deedOwnerFullName3=t.attributes.deed_owner_full_name3,this.attributes.deedOwnerFullName4=t.attributes.deed_owner_full_name4,this.attributes.deedOwnerLastName=t.attributes.deed_owner_last_name,this.attributes.deedOwnerLastName2=t.attributes.deed_owner_last_name2,this.attributes.deedOwnerLastName3=t.attributes.deed_owner_last_name3,this.attributes.deedOwnerLastName4=t.attributes.deed_owner_last_name4,this.attributes.deedOwnerMiddleName=t.attributes.deed_owner_middle_name,this.attributes.deedOwnerMiddleName2=t.attributes.deed_owner_middle_name2,this.attributes.deedOwnerMiddleName3=t.attributes.deed_owner_middle_name3,this.attributes.deedOwnerMiddleName4=t.attributes.deed_owner_middle_name4,this.attributes.deedOwnerSuffix=t.attributes.deed_owner_suffix,this.attributes.deedOwnerSuffix2=t.attributes.deed_owner_suffix2,this.attributes.deedOwnerSuffix3=t.attributes.deed_owner_suffix3,this.attributes.deedOwnerSuffix4=t.attributes.deed_owner_suffix4,this.attributes.deedSaleDate=t.attributes.deed_sale_date,this.attributes.deedSalePrice=t.attributes.deed_sale_price,this.attributes.deedTransactionId=t.attributes.deed_transaction_id,this.attributes.depthLinearFootage=t.attributes.depth_linear_footage,this.attributes.disabledTaxExemption=t.attributes.disabled_tax_exemption,this.attributes.drivewaySqft=t.attributes.driveway_sqft,this.attributes.drivewayType=t.attributes.driveway_type,this.attributes.effectiveYearBuilt=t.attributes.effective_year_built,this.attributes.elevationFeet=t.attributes.elevation_feet,this.attributes.elevator=t.attributes.elevator,this.attributes.equestrianArena=t.attributes.equestrian_arena,this.attributes.escalator=t.attributes.escalator,this.attributes.exerciseRoom=t.attributes.exercise_room,this.attributes.exteriorWalls=t.attributes.exterior_walls,this.attributes.familyRoom=t.attributes.family_room,this.attributes.fence=t.attributes.fence,this.attributes.fenceArea=t.attributes.fence_area,this.attributes.fipsCode=t.attributes.fips_code,this.attributes.fireResistanceCode=t.attributes.fire_resistance_code,this.attributes.fireSprinklersFlag=t.attributes.fire_sprinkler_flag,this.attributes.fireplace=t.attributes.fireplace,this.attributes.fireplaceNumber=t.attributes.fireplace_number,this.attributes.firstName=t.attributes.first_name,this.attributes.firstName2=t.attributes.first_name2,this.attributes.firstName3=t.attributes.first_name3,this.attributes.firstName4=t.attributes.first_name4,this.attributes.flooring=t.attributes.flooring,this.attributes.foundation=t.attributes.foundation,this.attributes.gameRoom=t.attributes.game_room,this.attributes.garage=t.attributes.garage,this.attributes.garageSqft=t.attributes.garage_sqft,this.attributes.gazebo=t.attributes.gazebo,this.attributes.gazeboSqft=t.attributes.gazebo_sqft,this.attributes.golfCourse=t.attributes.golf_course,this.attributes.grainery=t.attributes.grainery,this.attributes.grainerySqft=t.attributes.grainery_sqft,this.attributes.greatRoom=t.attributes.great_room,this.attributes.greenhouse=t.attributes.greenhouse,this.attributes.greenhouseSqft=t.attributes.greenhouse_sqft,this.attributes.grossSqft=t.attributes.gross_sqft,this.attributes.guesthouse=t.attributes.guesthouse,this.attributes.guesthouseSqft=t.attributes.guesthouse_sqft,this.attributes.handicapAccessibility=t.attributes.handicap_accessibility,this.attributes.heat=t.attributes.heat,this.attributes.heatFuelType=t.attributes.heat_fuel_type,this.attributes.hobbyRoom=t.attributes.hobby_room,this.attributes.homeownerTaxExemption=t.attributes.homeowner_tax_exemption,this.attributes.instrumentDate=t.attributes.instrument_date,this.attributes.intercomSystem=t.attributes.intercom_system,this.attributes.interestRateType2=t.attributes.interest_rate_type_2,this.attributes.interiorStructure=t.attributes.interior_structure,this.attributes.kennel=t.attributes.kennel,this.attributes.kennelSqft=t.attributes.kennel_sqft,this.attributes.landUseCode=t.attributes.land_use_code,this.attributes.landUseGroup=t.attributes.land_use_group,this.attributes.landUseStandard=t.attributes.land_use_standard,this.attributes.lastName=t.attributes.last_name,this.attributes.lastName2=t.attributes.last_name_2,this.attributes.lastName3=t.attributes.last_name_3,this.attributes.lastName4=t.attributes.last_name_4,this.attributes.latitude=t.attributes.latitude,this.attributes.laundry=t.attributes.laundry,this.attributes.leanTo=t.attributes.lean_to,this.attributes.leanToSqft=t.attributes.lean_to_sqft,this.attributes.legalDescription=t.attributes.legal_description,this.attributes.legalUnit=t.attributes.legal_unit,this.attributes.lenderAddress=t.attributes.lender_address,this.attributes.lenderAddress2=t.attributes.lender_address_2,this.attributes.lenderCity=t.attributes.lender_city,this.attributes.lenderCity2=t.attributes.lender_city_2,this.attributes.lenderCode=t.attributes.lender_code,this.attributes.lenderCode2=t.attributes.lender_code_2,this.attributes.lenderFirstName=t.attributes.lender_first_name,this.attributes.lenderFirstName2=t.attributes.lender_first_name_2,this.attributes.lenderLastName=t.attributes.lender_last_name,this.attributes.lenderLastName2=t.attributes.lender_last_name_2,this.attributes.lenderName=t.attributes.lender_name,this.attributes.lenderName2=t.attributes.lender_name_2,this.attributes.lenderSellerCarryBack=t.attributes.lender_seller_carry_back,this.attributes.lenderSellerCarryBack2=t.attributes.lender_seller_carry_back_2,this.attributes.lenderState=t.attributes.lender_state,this.attributes.lenderState2=t.attributes.lender_state_2,this.attributes.lenderZip=t.attributes.lender_zip,this.attributes.lenderZip2=t.attributes.lender_zip_2,this.attributes.lenderZipExtended=t.attributes.lender_zip_extended,this.attributes.lenderZipExtended2=t.attributes.lender_zip_extended_2,this.attributes.loadingPlatform=t.attributes.loading_platform,this.attributes.loadingPlatformSqft=t.attributes.loading_platform_sqft,this.attributes.longitude=t.attributes.longitude,this.attributes.lot1=t.attributes.lot_1,this.attributes.lot2=t.attributes.lot_2,this.attributes.lot3=t.attributes.lot_3,this.attributes.lotSqft=t.attributes.lot_sqft,this.attributes.marketImprovementPercent=t.attributes.market_improvement_percent,this.attributes.marketImprovementValue=t.attributes.market_improvement_value,this.attributes.marketLandValue=t.attributes.market_land_value,this.attributes.marketValueYear=t.attributes.market_value_year,this.attributes.matchType=t.attributes.match_type,this.attributes.mediaRoom=t.attributes.media_room,this.attributes.metroDivision=t.attributes.metro_division,this.attributes.middleName=t.attributes.middle_name,this.attributes.middleName2=t.attributes.middle_name_2,this.attributes.middleName3=t.attributes.middle_name_3,this.attributes.middleName4=t.attributes.middle_name_4,this.attributes.milkhouse=t.attributes.milkhouse,this.attributes.milkhouseSqft=t.attributes.milkhouse_sqft,this.attributes.minorCivilDivisionCode=t.attributes.minor_civil_division_code,this.attributes.minorCivilDivisionName=t.attributes.minor_civil_division_name,this.attributes.mobileHomeHookup=t.attributes.mobile_home_hookup,this.attributes.mortgageAmount=t.attributes.mortgage_amount,this.attributes.mortgageAmount2=t.attributes.mortgage_amount_2,this.attributes.mortgageDueDate=t.attributes.mortgage_due_date,this.attributes.mortgageDueDate2=t.attributes.mortgage_due_date_2,this.attributes.mortgageInterestRate=t.attributes.mortgage_interest_rate,this.attributes.mortgageInterestRateType=t.attributes.mortgage_interest_rate_type,this.attributes.mortgageLenderCode=t.attributes.mortgage_lender_code,this.attributes.mortgageRate2=t.attributes.mortgage_rate_2,this.attributes.mortgageRecordingDate=t.attributes.mortgage_recording_date,this.attributes.mortgageRecordingDate2=t.attributes.mortgage_recording_date_2,this.attributes.mortgageTerm=t.attributes.mortgage_term,this.attributes.mortgageTerm2=t.attributes.mortgage_term_2,this.attributes.mortgageTermType=t.attributes.mortgage_term_type,this.attributes.mortgageTermType2=t.attributes.mortgage_term_type_2,this.attributes.mortgageType=t.attributes.mortgage_type,this.attributes.mortgageType2=t.attributes.mortgage_type_2,this.attributes.msaCode=t.attributes.msa_code,this.attributes.msaName=t.attributes.msa_name,this.attributes.mudRoom=t.attributes.mud_room,this.attributes.multiParcelFlag=t.attributes.multi_parcel_flag,this.attributes.nameTitleCompany=t.attributes.name_title_company,this.attributes.neighborhoodCode=t.attributes.neighborhood_code,this.attributes.numberOfBuildings=t.attributes.number_of_buildings,this.attributes.office=t.attributes.office,this.attributes.officeSqft=t.attributes.office_sqft,this.attributes.otherTaxExemption=t.attributes.other_tax_exemption,this.attributes.outdoorKitchenFireplace=t.attributes.outdoor_kitchen_fireplace,this.attributes.overheadDoor=t.attributes.overhead_door,this.attributes.ownerFullName=t.attributes.owner_full_name,this.attributes.ownerFullName2=t.attributes.owner_full_name_2,this.attributes.ownerFullName3=t.attributes.owner_full_name_3,this.attributes.ownerFullName4=t.attributes.owner_full_name_4,this.attributes.ownerOccupancyStatus=t.attributes.owner_occupancy_status,this.attributes.ownershipTransferDate=t.attributes.ownership_transfer_date,this.attributes.ownershipTransferDocNumber=t.attributes.ownership_transfer_doc_number,this.attributes.ownershipTransferTransactionId=t.attributes.ownership_transfer_transaction_id,this.attributes.ownershipType=t.attributes.ownership_type,this.attributes.ownershipType2=t.attributes.ownership_type_2,this.attributes.ownershipVestingRelationCode=t.attributes.ownership_vesting_relation_code,this.attributes.parcelAccountNumber=t.attributes.parcel_account_number,this.attributes.parcelMapBook=t.attributes.parcel_map_book,this.attributes.parcelMapPage=t.attributes.parcel_map_page,this.attributes.parcelNumberAlternate=t.attributes.parcel_number_alternate,this.attributes.parcelNumberFormatted=t.attributes.parcel_number_formatted,this.attributes.parcelNumberPrevious=t.attributes.parcel_number_previous,this.attributes.parcelNumberYearAdded=t.attributes.parcel_number_year_added,this.attributes.parcelNumberYearChange=t.attributes.parcel_number_year_change,this.attributes.parcelRawNumber=t.attributes.parcel_raw_number,this.attributes.parcelShellRecord=t.attributes.parcel_shell_record,this.attributes.parkingSpaces=t.attributes.parking_spaces,this.attributes.patioArea=t.attributes.patio_area,this.attributes.phaseName=t.attributes.phase_name,this.attributes.plumbingFixturesCount=t.attributes.plumbing_fixtures_count,this.attributes.poleStruct=t.attributes.pole_struct,this.attributes.poleStructSqft=t.attributes.pole_struct_sqft,this.attributes.pond=t.attributes.pond,this.attributes.pool=t.attributes.pool,this.attributes.poolArea=t.attributes.pool_area,this.attributes.poolhouse=t.attributes.poolhouse,this.attributes.poolhouseSqft=t.attributes.poolhouse_sqft,this.attributes.porch=t.attributes.porch,this.attributes.porchArea=t.attributes.porch_area,this.attributes.poultryHouse=t.attributes.poultry_house,this.attributes.poultryHouseSqft=t.attributes.poultry_house_sqft,this.attributes.previousAssessedValue=t.attributes.previous_assessed_value,this.attributes.priorSaleAmount=t.attributes.prior_sale_amount,this.attributes.priorSaleDate=t.attributes.prior_sale_date,this.attributes.propertyAddressCarrierRouteCode=t.attributes.property_address_carrier_route_code,this.attributes.propertyAddressCity=t.attributes.property_address_city,this.attributes.propertyAddressFull=t.attributes.property_address_full,this.attributes.propertyAddressHouseNumber=t.attributes.property_address_house_number,this.attributes.propertyAddressPostDirection=t.attributes.property_address_post_direction,this.attributes.propertyAddressPreDirection=t.attributes.property_address_pre_direction,this.attributes.propertyAddressState=t.attributes.property_address_state,this.attributes.propertyAddressStreetName=t.attributes.property_address_street_name,this.attributes.propertyAddressStreetSuffix=t.attributes.property_address_street_suffix,this.attributes.propertyAddressUnitDesignator=t.attributes.property_address_unit_designator,this.attributes.propertyAddressUnitValue=t.attributes.property_address_unit_value,this.attributes.propertyAddressZip4=t.attributes.property_address_zip_4,this.attributes.propertyAddressZipcode=t.attributes.property_address_zipcode,this.attributes.publicationDate=t.attributes.publication_date,this.attributes.quarter=t.attributes.quarter,this.attributes.quarterQuarter=t.attributes.quarter_quarter,this.attributes.quonset=t.attributes.quonset,this.attributes.quonsetSqft=t.attributes.quonset_sqft,this.attributes.range=t.attributes.range,this.attributes.recordingDate=t.attributes.recording_date,this.attributes.roofCover=t.attributes.roof_cover,this.attributes.roofFrame=t.attributes.roof_frame,this.attributes.rooms=t.attributes.rooms,this.attributes.rvParking=t.attributes.rv_parking,this.attributes.safeRoom=t.attributes.safe_room,this.attributes.saleAmount=t.attributes.sale_amount,this.attributes.saleDate=t.attributes.sale_date,this.attributes.sauna=t.attributes.sauna,this.attributes.section=t.attributes.section,this.attributes.securityAlarm=t.attributes.security_alarm,this.attributes.seniorTaxExemption=t.attributes.senior_tax_exemption,this.attributes.sewerType=t.attributes.sewer_type,this.attributes.shed=t.attributes.shed,this.attributes.shedSqft=t.attributes.shed_sqft,this.attributes.silo=t.attributes.silo,this.attributes.siloSqft=t.attributes.silo_sqft,this.attributes.sittingRoom=t.attributes.sitting_room,this.attributes.situsCounty=t.attributes.situs_county,this.attributes.situsState=t.attributes.situs_state,this.attributes.soundSystem=t.attributes.sound_system,this.attributes.sportsCourt=t.attributes.sports_court,this.attributes.sprinklers=t.attributes.sprinklers,this.attributes.stable=t.attributes.stable,this.attributes.stableSqft=t.attributes.stable_sqft,this.attributes.storageBuilding=t.attributes.storage_building,this.attributes.storageBuildingSqft=t.attributes.storage_buildling_sqft,this.attributes.storiesNumber=t.attributes.stories_number,this.attributes.stormShelter=t.attributes.storm_shelter,this.attributes.stormShutter=t.attributes.storm_shutter,this.attributes.structureStyle=t.attributes.structure_style,this.attributes.study=t.attributes.study,this.attributes.subdivision=t.attributes.subdivision,this.attributes.suffix=t.attributes.suffix,this.attributes.suffix2=t.attributes.suffix_2,this.attributes.suffix3=t.attributes.suffix_3,this.attributes.suffix4=t.attributes.suffix_4,this.attributes.sunroom=t.attributes.sunroom,this.attributes.taxAssessYear=t.attributes.tax_assess_year,this.attributes.taxBilledAmount=t.attributes.tax_billed_amount,this.attributes.taxDelinquentYear=t.attributes.tax_delinquent_year,this.attributes.taxFiscalYear=t.attributes.tax_fiscal_year,this.attributes.taxJurisdiction=t.attributes.tax_jurisdiction,this.attributes.taxRateArea=t.attributes.tax_rate_area,this.attributes.tennisCourt=t.attributes.tennis_court,this.attributes.topographyCode=t.attributes.topography_code,this.attributes.totalMarketValue=t.attributes.total_market_value,this.attributes.township=t.attributes.township,this.attributes.tractNumber=t.attributes.tract_number,this.attributes.transferAmount=t.attributes.transfer_amount,this.attributes.trustDescription=t.attributes.trust_description,this.attributes.unitCount=t.attributes.unit_count,this.attributes.upperFloorsSqft=t.attributes.upper_floors_sqft,this.attributes.utility=t.attributes.utility,this.attributes.utilityBuilding=t.attributes.utility_building,this.attributes.utilityBuildingSqft=t.attributes.utility_building_sqft,this.attributes.utilitySqft=t.attributes.utility_sqft,this.attributes.veteranTaxExemption=t.attributes.veteran_tax_exemption,this.attributes.viewDescription=t.attributes.view_description,this.attributes.waterFeature=t.attributes.water_feature,this.attributes.waterServiceType=t.attributes.water_service_type,this.attributes.wetBar=t.attributes.wet_bar,this.attributes.widowTaxExemption=t.attributes.widow_tax_exemption,this.attributes.widthLinearFootage=t.attributes.width_linear_footage,this.attributes.wineCellar=t.attributes.wine_cellar,this.attributes.yearBuilt=t.attributes.year_built,this.attributes.zoning=t.attributes.zoning)}},FinancialResponse:class{constructor(t){this.smartyKey=t.smarty_key,this.dataSetName=t.data_set_name,this.dataSubsetName=t.data_subset_name,this.attributes={},t.attributes&&(this.attributes.assessedImprovementPercent=t.attributes.assessed_improvement_percent,this.attributes.assessedImprovementValue=t.attributes.assessed_improvement_value,this.attributes.assessedLandValue=t.attributes.assessed_land_value,this.attributes.assessedValue=t.attributes.assessed_value,this.attributes.assessorLastUpdate=t.attributes.assessor_last_update,this.attributes.assessorTaxrollUpdate=t.attributes.assessor_taxroll_update,this.attributes.contactCity=t.attributes.contact_city,this.attributes.contactCrrt=t.attributes.contact_crrt,this.attributes.contactFullAddress=t.attributes.contact_full_address,this.attributes.contactHouseNumber=t.attributes.contact_house_number,this.attributes.contactMailInfoFormat=t.attributes.contact_main_info_format,this.attributes.contactMailInfoPrivacy=t.attributes.contact_mail_info_privacy,this.attributes.contactMailingCounty=t.attributes.contact_mailing_county,this.attributes.contactMailingFips=t.attributes.contact_mailing_fips,this.attributes.contactPostDirection=t.attributes.contact_post_direction,this.attributes.contactPreDirection=t.attributes.contact_pre_direction,this.attributes.contactState=t.attributes.contact_state,this.attributes.contactStreetName=t.attributes.contact_street_name,this.attributes.contactSuffix=t.attributes.contact_suffix,this.attributes.contactUnitDesignator=t.attributes.contact_unit_designator,this.attributes.contactValue=t.attributes.contact_value,this.attributes.contactZip=t.attributes.contact_zip,this.attributes.contactZip4=t.attributes.contact_zip4,this.attributes.deedDocumentPage=t.attributes.deed_document_page,this.attributes.deedDocumentBook=t.attributes.deed_document_book,this.attributes.deedDocumentNumber=t.attributes.deed_document_number,this.attributes.deedOwnerFirstName=t.attributes.deed_owner_first_name,this.attributes.deedOwnerFirstName2=t.attributes.deed_owner_first_name2,this.attributes.deedOwnerFirstName3=t.attributes.deed_owner_first_name3,this.attributes.deedOwnerFirstName4=t.attributes.deed_owner_first_name4,this.attributes.deedOwnerFullName=t.attributes.deed_owner_full_name,this.attributes.deedOwnerFullName2=t.attributes.deed_owner_full_name2,this.attributes.deedOwnerFullName3=t.attributes.deed_owner_full_name3,this.attributes.deedOwnerFullName4=t.attributes.deed_owner_full_name4,this.attributes.deedOwnerLastName=t.attributes.deed_owner_last_name,this.attributes.deedOwnerLastName2=t.attributes.deed_owner_last_name2,this.attributes.deedOwnerLastName3=t.attributes.deed_owner_last_name3,this.attributes.deedOwnerLastName4=t.attributes.deed_owner_last_name4,this.attributes.deedOwnerMiddleName=t.attributes.deed_owner_middle_name,this.attributes.deedOwnerMiddleName2=t.attributes.deed_owner_middle_name2,this.attributes.deedOwnerMiddleName3=t.attributes.deed_owner_middle_name3,this.attributes.deedOwnerMiddleName4=t.attributes.deed_owner_middle_name4,this.attributes.deedOwnerSuffix=t.attributes.deed_owner_suffix,this.attributes.deedOwnerSuffix2=t.attributes.deed_owner_suffix2,this.attributes.deedOwnerSuffix3=t.attributes.deed_owner_suffix3,this.attributes.deedOwnerSuffix4=t.attributes.deed_owner_suffix4,this.attributes.deedSaleDate=t.attributes.deed_sale_date,this.attributes.deedSalePrice=t.attributes.deed_sale_price,this.attributes.deedTransactionId=t.attributes.deed_transaction_id,this.attributes.disabledTaxExemption=t.attributes.disabled_tax_exemption,this.attributes.financialHistory=t.attributes.financial_history?t.attributes.financial_history.map((t=>({codeTitleCompany:t.code_title_company,instrumentDate:t.instrument_date,interestRateType2:t.interest_rate_type_2,lenderAddress:t.lender_address,lenderAddress2:t.lender_address_2,lenderCity:t.lender_city,lenderCity2:t.lender_city_2,lenderCode:t.lender_code,lenderCode2:t.lender_code_2,lenderFirstName:t.lender_first_name,lenderFirstName2:t.lender_first_name_2,lenderLastName:t.lender_last_name,lenderLastName2:t.lender_last_name_2,lenderName:t.lender_name,lenderName2:t.lender_name_2,lenderSellerCarryBack:t.lender_seller_carry_back,lenderSellerCarryBack2:t.lender_seller_carry_back_2,lenderState:t.lender_state,lenderState2:t.lender_state_2,lenderZip:t.lender_zip,lenderZip2:t.lender_zip_2,lenderZipExtended:t.lender_zip_extended,lenderZipExtended2:t.lender_zip_extended_2,mortgageAmount:t.mortgage_amount,mortgageAmount2:t.mortgage_amount_2,mortgageDueDate:t.mortgage_due_date,mortgageDueDate2:t.mortgage_due_date_2,mortgageInterestRate:t.mortgage_interest_rate,mortgageInterestRateType:t.mortgage_interest_rate_type,mortgageLenderCode:t.mortgage_lender_code,mortgageRate:t.mortgage_rate,mortgageRate2:t.mortgage_rate_2,mortgageRecordingDate:t.mortgage_recording_date,mortgageRecordingDate2:t.mortgage_recording_date_2,mortgageTerm:t.mortgage_term,mortgageTerm2:t.mortgage_term_2,mortgageTermType:t.mortgage_term_type,mortgageTermType2:t.mortgage_term_type_2,mortgageType:t.mortgage_type,mortgageType2:t.mortgage_type_2,multiParcelFlag:t.multi_parcel_flag,nameTitleCompany:t.name_title_company,recordingDate:t.recording_date,transferAmount:t.transfer_amount}))):[],this.attributes.homeownerTaxExemption=t.attributes.homeowner_tax_exemption,this.attributes.marketImprovementPercent=t.attributes.market_improvement_percent,this.attributes.marketImprovementValue=t.attributes.market_improvement_value,this.attributes.marketLandValue=t.attributes.market_land_value,this.attributes.marketValueYear=t.attributes.market_value_year,this.attributes.matchType=t.attributes.match_type,this.attributes.otherTaxExemption=t.attributes.other_tax_exemption,this.attributes.ownershipTransferDate=t.attributes.ownership_transfer_date,this.attributes.ownershipTransferDocNumber=t.attributes.ownership_transfer_doc_number,this.attributes.ownershipTransferTransactionId=t.attributes.ownership_transfer_transaction_id,this.attributes.ownershipType=t.attributes.ownership_type,this.attributes.ownershipType2=t.attributes.ownership_type_2,this.attributes.previousAssessedValue=t.attributes.previous_assessed_value,this.attributes.priorSaleAmount=t.attributes.prior_sale_amount,this.attributes.priorSaleDate=t.attributes.prior_sale_date,this.attributes.saleAmount=t.attributes.sale_amount,this.attributes.saleDate=t.attributes.sale_date,this.attributes.seniorTaxExemption=t.attributes.senior_tax_exemption,this.attributes.taxAssessYear=t.attributes.tax_assess_year,this.attributes.taxBilledAmount=t.attributes.tax_billed_amount,this.attributes.taxDelinquentYear=t.attributes.tax_delinquent_year,this.attributes.taxFiscalYear=t.attributes.tax_fiscal_year,this.attributes.taxRateArea=t.attributes.tax_rate_area,this.attributes.totalMarketValue=t.attributes.total_market_value,this.attributes.trustDescription=t.attributes.trust_description,this.attributes.veteranTaxExemption=t.attributes.veteran_tax_exemption,this.attributes.widow_tax_exemption=t.attributes.widow_tax_exemption)}},GeoResponse:class{constructor(t){this.smartyKey=t.smarty_key,this.dataSetName=t.data_set_name,this.attributes={},t.attributes&&(this.attributes.censusBlock={},t.attributes.census_block&&(this.attributes.censusBlock.accuracy=t.attributes.census_block.accuracy,this.attributes.censusBlock.geoid=t.attributes.census_block.geoid),this.attributes.censusCountyDivision={},t.attributes.census_county_division&&(this.attributes.censusCountyDivision.accuracy=t.attributes.census_county_division.accuracy,this.attributes.censusCountyDivision.code=t.attributes.census_county_division.code,this.attributes.censusCountyDivision.name=t.attributes.census_county_division.name),this.attributes.censusTract={},t.attributes.census_tract&&(this.attributes.censusTract.code=t.attributes.census_tract.code),this.attributes.coreBasedStatArea={},t.attributes.core_based_stat_area&&(this.attributes.coreBasedStatArea.code=t.attributes.core_based_stat_area.code,this.attributes.coreBasedStatArea.name=t.attributes.core_based_stat_area.name),this.attributes.place={},t.attributes.place&&(this.attributes.place.accuracy=t.attributes.place.accuracy,this.attributes.place.code=t.attributes.place.code,this.attributes.place.name=t.attributes.place.name,this.attributes.place.type=t.attributes.place.type))}}});export{e as default};\n","import o from\"./Batch.mjs\";import t from\"./ClientBuilder.mjs\";import e from\"./util/buildClients.mjs\";import r from\"./SharedCredentials.mjs\";import m from\"./StaticCredentials.mjs\";import s from\"./Errors.mjs\";import i from\"./us_street/Lookup.mjs\";import u from\"./us_street/Candidate.mjs\";import p from\"./us_zipcode/Lookup.mjs\";import n from\"./us_zipcode/Result.mjs\";import a from\"./us_autocomplete_pro/Lookup.mjs\";import l from\"./us_autocomplete_pro/Suggestion.mjs\";import d from\"./us_extract/Lookup.mjs\";import f from\"./us_extract/Result.mjs\";import c from\"./international_street/Lookup.mjs\";import j from\"./international_street/Candidate.mjs\";import _ from\"./us_reverse_geo/Lookup.mjs\";import k from\"./international_address_autocomplete/Lookup.mjs\";import L from\"./international_address_autocomplete/Suggestion.mjs\";import C from\"./us_enrichment/Lookup.mjs\";import S from\"./us_enrichment/Response.mjs\";const g={Batch:o,ClientBuilder:t,buildClient:e,SharedCredentials:r,StaticCredentials:m,Errors:s},h={Lookup:i,Candidate:u},R={Lookup:p,Result:n},x={Lookup:a,Suggestion:l},B={Lookup:d,Result:f},E={Lookup:c,Candidate:j},v={Lookup:_},A={Lookup:k,Suggestion:L},b={Lookup:C,Response:S};var z={core:g,usStreet:h,usZipcode:R,usAutocompletePro:x,usExtract:B,internationalStreet:E,usReverseGeo:v,internationalAddressAutocomplete:A,usEnrichment:b};export{g as core,z as default,A as internationalAddressAutocomplete,E as internationalStreet,x as usAutocompletePro,b as usEnrichment,B as usExtract,v as usReverseGeo,h as usStreet,R as usZipcode};\n","import {\n core,\n internationalAddressAutocomplete,\n usAutocompletePro,\n} from \"smartystreets-javascript-sdk\";\nimport type {\n AddressAutocompleteApi,\n AddressSuggestion,\n DetailsResult,\n FetchDetailsArgs,\n FetchSuggestionsArgs,\n} from \"../api\";\n\ninterface SmartyAdapterOptions {\n readonly embeddedKey: string;\n}\n\n// `@types/smartystreets-javascript-sdk@5.1.0` types the international Lookup\n// constructor as `(search, country)`, but SDK v6.x takes a single options\n// object at runtime. This cast captures the actual runtime contract.\ninterface IntlLookupOptions {\n readonly search?: string;\n readonly addressId?: string;\n readonly country: string;\n}\ntype IntlLookupCtor = new (\n opts: IntlLookupOptions,\n) => InstanceType<typeof internationalAddressAutocomplete.Lookup>;\nconst IntlLookup =\n internationalAddressAutocomplete.Lookup as unknown as IntlLookupCtor;\n\ninterface UsSdkSuggestion {\n readonly streetLine?: string;\n readonly city?: string;\n readonly state?: string;\n readonly zipcode?: string;\n}\n\ninterface IntlSdkSuggestion {\n readonly addressId?: string;\n readonly addressText?: string;\n readonly entries?: number;\n readonly street?: string;\n readonly locality?: string;\n readonly administrativeArea?: string;\n readonly administrativeAreaShort?: string;\n readonly administrativeAreaLong?: string;\n readonly postalCode?: string;\n}\n\nconst NULL_API: AddressAutocompleteApi = {\n fetchSuggestions: async () => [],\n fetchDetails: async ({ suggestion }) => ({\n details: {\n streetLine: suggestion.text,\n city: \"\",\n state: \"\",\n postalCode: \"\",\n },\n drilldownSuggestions: [],\n }),\n};\n\nfunction mapUs(raw: UsSdkSuggestion, idx: number): AddressSuggestion {\n return {\n id: `${raw.streetLine ?? \"us\"}-${idx}`,\n text: [raw.streetLine, raw.city, raw.state, raw.zipcode]\n .filter(Boolean)\n .join(\", \"),\n streetLine: raw.streetLine ?? \"\",\n city: raw.city ?? \"\",\n state: raw.state ?? \"\",\n postalCode: raw.zipcode ?? \"\",\n needsDetailLookup: false,\n };\n}\n\nfunction mapIntlSummary(raw: IntlSdkSuggestion): AddressSuggestion {\n const entries = raw.entries ?? 1;\n return {\n id: raw.addressId ?? \"\",\n text: raw.addressText ?? \"\",\n entries,\n needsDetailLookup: entries > 1,\n };\n}\n\nexport function createSmartyBrowserAdapter(\n opts: SmartyAdapterOptions,\n): AddressAutocompleteApi {\n if (!opts.embeddedKey) return NULL_API;\n\n const credentials = new core.SharedCredentials(opts.embeddedKey);\n const usClient = new core.ClientBuilder(credentials)\n .withLicenses([\"us-autocomplete-pro-cloud\"])\n .buildUsAutocompleteProClient();\n const intlClient = new core.ClientBuilder(credentials)\n .withLicenses([\"international-autocomplete-v2-cloud\"])\n .buildInternationalAddressAutocompleteClient();\n\n async function fetchSuggestions({\n query,\n countryIso,\n }: FetchSuggestionsArgs): Promise<readonly AddressSuggestion[]> {\n if (!query.trim()) return [];\n\n if (countryIso === \"US\") {\n try {\n const lookup = new usAutocompletePro.Lookup(query);\n const { result } = (await usClient.send(lookup)) as {\n result: UsSdkSuggestion[];\n };\n return (result ?? []).map(mapUs);\n } catch {\n return [];\n }\n }\n\n try {\n const lookup = new IntlLookup({ search: query, country: countryIso });\n const { result } = (await intlClient.send(lookup)) as {\n result: IntlSdkSuggestion[];\n };\n return (result ?? []).map(mapIntlSummary);\n } catch {\n return [];\n }\n }\n\n async function fetchDetails({\n suggestion,\n countryIso,\n }: FetchDetailsArgs): Promise<DetailsResult> {\n // US suggestions are populated synchronously; consumers don't call this\n // for US. If they do, return what's already on the suggestion.\n if (countryIso === \"US\" || !suggestion.needsDetailLookup) {\n return {\n details: {\n streetLine: suggestion.streetLine ?? suggestion.text,\n city: suggestion.city ?? \"\",\n state: suggestion.state ?? \"\",\n postalCode: suggestion.postalCode ?? \"\",\n },\n drilldownSuggestions: [],\n };\n }\n\n try {\n const lookup = new IntlLookup({\n addressId: suggestion.id,\n country: countryIso,\n });\n const { result } = (await intlClient.send(lookup)) as {\n result: IntlSdkSuggestion[];\n };\n const first = result?.[0];\n const hasComponents = Boolean(first?.street ?? first?.locality);\n const entries = first?.entries ?? 0;\n\n if (!hasComponents && (entries > 1 || (result?.length ?? 0) > 1)) {\n return {\n details: null,\n // Each drilldown item is a single unit (`entries: 1`), but its\n // component fields (city/state/postal) aren't populated yet —\n // selecting one must trigger another detail lookup. Without\n // forcing `needsDetailLookup: true` the UI would populate empty\n // city/state/postal when the user picks a specific apartment.\n drilldownSuggestions: (result ?? []).map((raw) => ({\n ...mapIntlSummary(raw),\n needsDetailLookup: true,\n })),\n };\n }\n\n return {\n details: {\n streetLine: first?.street ?? suggestion.text,\n city: first?.locality ?? \"\",\n state: first?.administrativeArea ?? \"\",\n administrativeAreaShort: first?.administrativeAreaShort,\n administrativeAreaLong: first?.administrativeAreaLong,\n postalCode: first?.postalCode ?? \"\",\n },\n drilldownSuggestions: [],\n };\n } catch {\n return {\n details: {\n streetLine: suggestion.text,\n city: \"\",\n state: \"\",\n postalCode: \"\",\n },\n drilldownSuggestions: [],\n };\n }\n }\n\n return { fetchSuggestions, fetchDetails };\n}\n","import { createContext, useContext, type Provider } from \"react\";\nimport type { AddressFieldsApi } from \"./address-fields-api\";\n\nconst AddressFieldsApiContext = createContext<AddressFieldsApi | null>(null);\n\nexport const AddressFieldsApiProvider: Provider<AddressFieldsApi | null> =\n AddressFieldsApiContext.Provider;\n\nexport function useAddressFieldsApi(): AddressFieldsApi {\n const api = useContext(AddressFieldsApiContext);\n if (!api) {\n throw new Error(\n \"useAddressFieldsApi must be used within an AddressFieldsApiProvider\",\n );\n }\n return api;\n}\n\nexport function useAddressFieldsApiOptional(): AddressFieldsApi | null {\n return useContext(AddressFieldsApiContext);\n}\n","/**\n * Minimal, framework-agnostic fetch client for Fluid APIs\n * Compatible with fluid-admin patterns but usable standalone\n */\n\nexport interface FetchClientConfig {\n /**\n * Base URL for all requests (e.g., \"https://api.fluid.app/api\")\n */\n baseUrl: string;\n\n /**\n * Optional function to get auth token\n * Return null/undefined if no token available\n */\n getAuthToken?: () => string | null | Promise<string | null>;\n\n /**\n * Optional callback when 401 auth error occurs\n */\n onAuthError?: () => void;\n\n /**\n * Default headers to include in all requests\n * Example: { \"x-fluid-client\": \"admin\" }\n */\n defaultHeaders?: Record<string, string>;\n\n /**\n * Credentials mode for fetch requests.\n * Set to `\"include\"` for cookie-based (same-origin BFF) authentication.\n * @default undefined (browser default: \"same-origin\")\n */\n credentials?: RequestCredentials;\n\n /**\n * Request cache mode for fetch requests.\n * @default undefined (browser default)\n */\n cache?: RequestCache;\n\n /**\n * Retry configuration for thrown network errors from fetch.\n * Does not retry HTTP error responses or aborted requests.\n * @default undefined (no retries)\n */\n networkRetry?: {\n maxRetries?: number;\n baseDelayMs?: number;\n };\n\n /**\n * Throw ApiError when a successful response declares JSON but cannot be parsed.\n * Defaults to false to preserve the legacy generated-client behavior.\n * @default false\n */\n throwOnInvalidJson?: boolean;\n}\n\nexport interface RequestOptions {\n method?: \"GET\" | \"POST\" | \"PUT\" | \"DELETE\" | \"PATCH\";\n headers?: Record<string, string>;\n params?: Record<string, unknown>;\n body?: unknown;\n signal?: AbortSignal;\n priority?: RequestInit[\"priority\"];\n}\n\n/**\n * API Error class compatible with fluid-admin's ApiError\n */\nexport class ApiError extends Error {\n public readonly status: number;\n public readonly data: unknown;\n public readonly requestId?: string;\n\n constructor(\n message: string,\n status: number,\n data?: unknown,\n requestId?: string,\n ) {\n super(message);\n this.name = \"ApiError\";\n this.status = status;\n this.data = data;\n this.requestId = requestId;\n\n if (\"captureStackTrace\" in Error) {\n (\n Error as {\n captureStackTrace: (\n target: Error,\n constructor: NewableFunction,\n ) => void;\n }\n ).captureStackTrace(this, ApiError);\n }\n }\n\n toJSON(): {\n name: string;\n message: string;\n status: number;\n data: unknown;\n requestId?: string;\n } {\n return {\n name: this.name,\n message: this.message,\n status: this.status,\n data: this.data,\n requestId: this.requestId,\n };\n }\n}\n\nfunction getStringRequestId(value: unknown): string | undefined {\n if (typeof value !== \"string\") {\n return undefined;\n }\n\n const trimmed = value.trim();\n return trimmed.length > 0 ? trimmed : undefined;\n}\n\nfunction getRequestIdFromHeaders(headers: Headers): string | undefined {\n return (\n getStringRequestId(headers.get(\"x-request-id\")) ??\n getStringRequestId(headers.get(\"request-id\")) ??\n getStringRequestId(headers.get(\"X-Request-ID\"))\n );\n}\n\nfunction getRequestIdFromJsonBody(body: unknown): string | undefined {\n if (!body || typeof body !== \"object\" || Array.isArray(body)) {\n return undefined;\n }\n\n const record = body as Record<string, unknown>;\n const meta = record.meta;\n\n return (\n getStringRequestId(record.request_id) ??\n getStringRequestId(record.requestId) ??\n (meta && typeof meta === \"object\" && !Array.isArray(meta)\n ? (getStringRequestId((meta as Record<string, unknown>).request_id) ??\n getStringRequestId((meta as Record<string, unknown>).requestId))\n : undefined)\n );\n}\n\n/**\n * Type guard for ApiError\n */\nexport function isApiError(error: unknown): error is ApiError {\n return error instanceof ApiError;\n}\n\nexport interface FetchClientInstance {\n request: <TResponse = unknown>(\n endpoint: string,\n options?: RequestOptions,\n ) => Promise<TResponse>;\n requestWithFormData: <TResponse = unknown>(\n endpoint: string,\n formData: FormData,\n options?: Omit<RequestOptions, \"body\" | \"params\"> & {\n method?: \"POST\" | \"PUT\" | \"PATCH\";\n },\n ) => Promise<TResponse>;\n get: <TResponse = unknown>(\n endpoint: string,\n params?: Record<string, unknown>,\n options?: Omit<RequestOptions, \"method\" | \"params\">,\n ) => Promise<TResponse>;\n post: <TResponse = unknown>(\n endpoint: string,\n body?: unknown,\n options?: Omit<RequestOptions, \"method\" | \"body\">,\n ) => Promise<TResponse>;\n put: <TResponse = unknown>(\n endpoint: string,\n body?: unknown,\n options?: Omit<RequestOptions, \"method\" | \"body\">,\n ) => Promise<TResponse>;\n patch: <TResponse = unknown>(\n endpoint: string,\n body?: unknown,\n options?: Omit<RequestOptions, \"method\" | \"body\">,\n ) => Promise<TResponse>;\n delete: <TResponse = unknown>(\n endpoint: string,\n options?: Omit<RequestOptions, \"method\">,\n ) => Promise<TResponse>;\n}\n\n/**\n * Creates a configured fetch client instance\n */\nexport function createFetchClient(\n config: FetchClientConfig,\n): FetchClientInstance {\n const {\n baseUrl,\n getAuthToken,\n onAuthError,\n defaultHeaders = {},\n credentials,\n cache,\n networkRetry,\n throwOnInvalidJson = false,\n } = config;\n const maxNetworkRetries = Math.max(0, networkRetry?.maxRetries ?? 0);\n const baseNetworkRetryDelayMs = Math.max(0, networkRetry?.baseDelayMs ?? 0);\n\n /**\n * Build headers for a request\n */\n async function buildHeaders(\n customHeaders?: Record<string, string>,\n ): Promise<Record<string, string>> {\n const headers: Record<string, string> = {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n ...defaultHeaders,\n ...customHeaders,\n };\n\n // Add auth token if available\n if (getAuthToken) {\n const token = await getAuthToken();\n if (token) {\n headers.Authorization = `Bearer ${token}`;\n }\n }\n\n return headers;\n }\n\n /**\n * Join baseUrl + endpoint via string concatenation (matches fetchApi).\n * Using `new URL(endpoint, baseUrl)` would strip any path prefix from\n * baseUrl (e.g. \"/api\") when the endpoint starts with \"/\".\n */\n function joinUrl(endpoint: string): string {\n return `${baseUrl}${endpoint}`;\n }\n\n /**\n * Build URL with query parameters for GET requests\n * Compatible with fluid-admin's query param handling\n */\n function buildUrl(\n endpoint: string,\n params?: Record<string, unknown>,\n ): string {\n const fullUrl = joinUrl(endpoint);\n\n if (!params || Object.keys(params).length === 0) {\n return fullUrl;\n }\n\n const queryString = new URLSearchParams();\n\n Object.entries(params).forEach(([key, value]) => {\n if (value === undefined || value === null) {\n return; // Skip undefined/null values\n }\n\n if (Array.isArray(value)) {\n // Handle arrays like Rails expects: key[]\n value.forEach((item) => queryString.append(`${key}[]`, String(item)));\n } else if (typeof value === \"object\") {\n // Handle nested objects: key[subkey]\n Object.entries(value).forEach(([subKey, subValue]) => {\n if (subValue === undefined || subValue === null) {\n return;\n }\n\n if (Array.isArray(subValue)) {\n subValue.forEach((item) =>\n queryString.append(`${key}[${subKey}][]`, String(item)),\n );\n } else {\n queryString.append(`${key}[${subKey}]`, String(subValue));\n }\n });\n } else {\n queryString.append(key, String(value));\n }\n });\n\n const qs = queryString.toString();\n return qs ? `${fullUrl}?${qs}` : fullUrl;\n }\n\n /**\n * Shared response handler for both JSON and FormData requests.\n * Handles auth errors, non-OK responses, 204 No Content, and JSON parsing.\n */\n async function handleResponse<TResponse>(\n response: Response,\n method: string,\n _url: string,\n ): Promise<TResponse> {\n const headerRequestId = getRequestIdFromHeaders(response.headers);\n\n if (response.status === 401 && onAuthError) {\n onAuthError();\n }\n\n if (!response.ok) {\n // Read body as text first to avoid SyntaxError from response.json()\n // when server returns non-JSON bodies with application/json content-type.\n const errorText = await response.text().catch(() => \"\");\n const contentType = response.headers.get(\"content-type\");\n\n if (contentType?.includes(\"application/json\")) {\n let data: Record<string, unknown>;\n try {\n data = JSON.parse(errorText);\n } catch {\n throw new ApiError(\n errorText.slice(0, 200) ||\n `${method} request failed with status ${response.status}`,\n response.status,\n null,\n headerRequestId,\n );\n }\n // Some Rails BFF endpoints return `{ error: { message, details } }`\n // instead of `{ message }` or `{ error_message }`. Fall through to\n // that shape last so callers always surface the real reason.\n const nestedError =\n typeof data.error === \"object\" && data.error !== null\n ? (data.error as { message?: unknown }).message\n : undefined;\n const msg =\n (data.message as string | undefined) ||\n (data.error_message as string | undefined) ||\n (typeof nestedError === \"string\" ? nestedError : undefined);\n throw new ApiError(\n msg || `${method} request failed`,\n response.status,\n data.errors || data,\n headerRequestId ?? getRequestIdFromJsonBody(data),\n );\n } else {\n throw new ApiError(\n `${method} request failed with status ${response.status}`,\n response.status,\n null,\n headerRequestId,\n );\n }\n }\n\n if (\n response.status === 204 ||\n response.headers.get(\"content-length\") === \"0\"\n ) {\n return null as TResponse;\n }\n\n const contentType = response.headers.get(\"content-type\");\n\n if (contentType?.includes(\"application/json\")) {\n const responseText = await response.text();\n\n try {\n const data = JSON.parse(responseText);\n return data as TResponse;\n } catch {\n if (throwOnInvalidJson) {\n throw new ApiError(\n \"Failed to parse response as JSON\",\n response.status,\n null,\n headerRequestId,\n );\n }\n\n // API declared JSON content-type but body isn't valid JSON.\n // Return the raw payload to preserve the legacy non-strict path.\n return responseText ? (responseText as TResponse) : (null as TResponse);\n }\n }\n\n // Non-JSON response (text/plain, text/html, etc.)\n return null as TResponse;\n }\n\n function getNetworkRetryDelayMs(retryAttempt: number): number {\n return baseNetworkRetryDelayMs * 2 ** (retryAttempt - 1);\n }\n\n async function waitForNetworkRetry(retryAttempt: number): Promise<void> {\n const delayMs = getNetworkRetryDelayMs(retryAttempt);\n if (delayMs <= 0) {\n return;\n }\n\n await new Promise((resolve) => setTimeout(resolve, delayMs));\n }\n\n async function fetchWithNetworkRetry(\n url: string,\n fetchOptions: RequestInit,\n signal?: AbortSignal,\n ): Promise<Response> {\n let retryCount = 0;\n\n while (true) {\n try {\n return await fetch(url, fetchOptions);\n } catch (networkError) {\n if (signal?.aborted || retryCount >= maxNetworkRetries) {\n throw networkError;\n }\n\n retryCount += 1;\n await waitForNetworkRetry(retryCount);\n\n if (signal?.aborted) {\n throw networkError;\n }\n }\n }\n }\n\n /**\n * Main request function\n */\n async function request<TResponse = unknown>(\n endpoint: string,\n options: RequestOptions = {},\n ): Promise<TResponse> {\n const {\n method = \"GET\",\n headers: customHeaders,\n params,\n body,\n signal,\n priority,\n } = options;\n\n const url = params ? buildUrl(endpoint, params) : joinUrl(endpoint);\n\n const headers = await buildHeaders(customHeaders);\n\n let response: Response;\n\n try {\n const fetchOptions: RequestInit = { method, headers };\n if (credentials) fetchOptions.credentials = credentials;\n if (cache) fetchOptions.cache = cache;\n if (priority) fetchOptions.priority = priority;\n const serializedBody =\n body && method !== \"GET\" ? JSON.stringify(body) : null;\n if (serializedBody) fetchOptions.body = serializedBody;\n if (signal) fetchOptions.signal = signal;\n response = await fetchWithNetworkRetry(url, fetchOptions, signal);\n } catch (networkError) {\n throw new ApiError(\n `Network error: ${networkError instanceof Error ? networkError.message : \"Unknown network error\"}`,\n 0,\n null,\n );\n }\n\n return handleResponse<TResponse>(response, method, url);\n }\n\n /**\n * Request with FormData (for file uploads)\n */\n async function requestWithFormData<TResponse = unknown>(\n endpoint: string,\n formData: FormData,\n options: Omit<RequestOptions, \"body\" | \"params\"> & {\n method?: \"POST\" | \"PUT\" | \"PATCH\";\n } = {},\n ): Promise<TResponse> {\n const {\n method = \"POST\",\n headers: customHeaders,\n signal,\n priority,\n } = options;\n\n const url = joinUrl(endpoint);\n const headers = await buildHeaders(customHeaders);\n\n // Remove Content-Type to let browser set it with boundary\n delete headers[\"Content-Type\"];\n\n let response: Response;\n\n try {\n const fetchOptions: RequestInit = { method, headers, body: formData };\n if (credentials) fetchOptions.credentials = credentials;\n if (cache) fetchOptions.cache = cache;\n if (priority) fetchOptions.priority = priority;\n if (signal) fetchOptions.signal = signal;\n response = await fetchWithNetworkRetry(url, fetchOptions, signal);\n } catch (networkError) {\n throw new ApiError(\n `Network error: ${networkError instanceof Error ? networkError.message : \"Unknown network error\"}`,\n 0,\n null,\n );\n }\n\n return handleResponse<TResponse>(response, method, url);\n }\n\n // Return client with convenience methods\n return {\n request: request,\n requestWithFormData: requestWithFormData,\n\n // Convenience methods for common HTTP verbs\n get: <TResponse = unknown>(\n endpoint: string,\n params?: Record<string, unknown>,\n options?: Omit<RequestOptions, \"method\" | \"params\">,\n ): Promise<TResponse> =>\n request<TResponse>(endpoint, {\n ...options,\n method: \"GET\" as const,\n ...(params && { params }),\n }),\n\n post: <TResponse = unknown>(\n endpoint: string,\n body?: unknown,\n options?: Omit<RequestOptions, \"method\" | \"body\">,\n ): Promise<TResponse> =>\n request<TResponse>(endpoint, {\n ...options,\n method: \"POST\",\n body,\n }),\n\n put: <TResponse = unknown>(\n endpoint: string,\n body?: unknown,\n options?: Omit<RequestOptions, \"method\" | \"body\">,\n ): Promise<TResponse> =>\n request<TResponse>(endpoint, {\n ...options,\n method: \"PUT\",\n body,\n }),\n\n patch: <TResponse = unknown>(\n endpoint: string,\n body?: unknown,\n options?: Omit<RequestOptions, \"method\" | \"body\">,\n ): Promise<TResponse> =>\n request<TResponse>(endpoint, {\n ...options,\n method: \"PATCH\",\n body,\n }),\n\n delete: <TResponse = unknown>(\n endpoint: string,\n options?: Omit<RequestOptions, \"method\">,\n ): Promise<TResponse> =>\n request<TResponse>(endpoint, {\n ...options,\n method: \"DELETE\",\n }),\n };\n}\n\nexport type FetchClient = FetchClientInstance;\n","import type { DataSourceApi } from \"@fluid-app/portal-core/data-source-api\";\nimport type {\n DataSourceShareableType,\n NormalizedOrder,\n NormalizedSubscription,\n RepContentOptions,\n ShareableResource,\n} from \"@fluid-app/portal-core/data-source-api-types\";\nimport type { FetchClient } from \"@fluid-app/portal-tenant-api-client\";\nimport { portalTenant } from \"@fluid-app/portal-tenant-api-client\";\nimport type { FetchClient as ContentFetchClient } from \"@fluid-app/portal-tenant-content-api-client\";\nimport { portalTenantContent } from \"@fluid-app/portal-tenant-content-api-client\";\n\n/**\n * Throws an AbortError if the signal is already aborted. Used as a manual\n * guard around the generated client calls since they don't yet accept\n * RequestOptions.signal — this at least short-circuits before and after\n * the network call so stale results don't overwrite fresh ones.\n */\nfunction throwIfAborted(signal?: AbortSignal): void {\n if (signal?.aborted) {\n throw new DOMException(\"Aborted\", \"AbortError\");\n }\n}\n\nfunction bffNotSupported(op: string): never {\n throw new Error(\n `[portal-tenant-adapter] \"${op}\" is not available on the portal-tenant BFF. ` +\n `Wire the legacy adapter for this feature, or re-add the endpoint to the BFF spec.`,\n );\n}\n\ntype MetricsPeriod = \"7d\" | \"30d\" | \"90d\" | \"1y\" | \"all\";\n\nfunction isProduction(): boolean {\n const g = globalThis as { process?: { env?: { NODE_ENV?: string } } };\n return g.process?.env?.NODE_ENV === \"production\";\n}\n\nfunction narrowPeriod(value: string | undefined): MetricsPeriod | undefined {\n if (\n value === \"7d\" ||\n value === \"30d\" ||\n value === \"90d\" ||\n value === \"1y\" ||\n value === \"all\"\n ) {\n return value;\n }\n if (value !== undefined && !isProduction()) {\n console.warn(`[portal-sdk] narrowPeriod: unknown value \"${value}\" dropped`);\n }\n return undefined;\n}\n\ntype MetricsQuery = {\n period?: MetricsPeriod;\n limit?: number;\n language_iso?: string;\n};\n\n// Maps the data-source shareable type (plural slug used in URLs) to the\n// canonical Rails discriminator stamped on each resource. Consumers that\n// route on `shareable_type` (e.g. AppShell.handleWidgetItemClick) need this\n// to be set since the share/visits BFF endpoints don't include it.\nconst SHAREABLE_TYPE_DISCRIMINATOR: Record<DataSourceShareableType, string> = {\n products: \"Product\",\n media: \"Medium\",\n libraries: \"Playlist\",\n pages: \"Page\",\n enrollment_packs: \"EnrollmentPack\",\n promotions: \"Promotion\",\n};\n\nfunction withShareableType<R extends { id?: number | string | null }>(\n resources: readonly R[] | null | undefined,\n type: DataSourceShareableType,\n): ShareableResource[] {\n const discriminator = SHAREABLE_TYPE_DISCRIMINATOR[type];\n return (resources ?? []).map(\n (r) =>\n ({\n ...r,\n id: r.id ?? 0,\n shareable_type: discriminator,\n }) satisfies ShareableResource,\n );\n}\n\nasync function fetchShareVisited(\n shareableType: DataSourceShareableType,\n client: FetchClient,\n contentClient: ContentFetchClient,\n query: MetricsQuery,\n): Promise<ShareableResource[]> {\n switch (shareableType) {\n case \"products\": {\n const { language_iso: _languageIso, ...nonLocalizedQuery } = query;\n const response = await portalTenant.product_by_shares(\n client,\n nonLocalizedQuery,\n );\n return withShareableType(response.resources, shareableType);\n }\n case \"media\": {\n const response = await portalTenantContent.content_media_by_shares(\n contentClient,\n query,\n );\n return withShareableType(response.resources, shareableType);\n }\n case \"libraries\": {\n const { language_iso: _languageIso, ...nonLocalizedQuery } = query;\n const response = await portalTenantContent.content_playlists_by_shares(\n contentClient,\n nonLocalizedQuery,\n );\n return withShareableType(response.resources, shareableType);\n }\n case \"pages\": {\n const response = await portalTenantContent.content_pages_by_shares(\n contentClient,\n query,\n );\n return withShareableType(response.resources, shareableType);\n }\n case \"enrollment_packs\": {\n const { language_iso: _languageIso, ...nonLocalizedQuery } = query;\n const response = await portalTenant.enrollment_pack_by_shares(\n client,\n nonLocalizedQuery,\n );\n return withShareableType(response.resources, shareableType);\n }\n case \"promotions\":\n bffNotSupported(`fetchMostShared(${shareableType})`);\n }\n}\n\nasync function fetchVisited(\n shareableType: DataSourceShareableType,\n client: FetchClient,\n contentClient: ContentFetchClient,\n query: MetricsQuery,\n): Promise<ShareableResource[]> {\n switch (shareableType) {\n case \"products\": {\n const { language_iso: _languageIso, ...nonLocalizedQuery } = query;\n const response = await portalTenant.product_by_visits(\n client,\n nonLocalizedQuery,\n );\n return withShareableType(response.resources, shareableType);\n }\n case \"media\": {\n const response = await portalTenantContent.content_media_by_visits(\n contentClient,\n query,\n );\n return withShareableType(response.resources, shareableType);\n }\n case \"libraries\": {\n const { language_iso: _languageIso, ...nonLocalizedQuery } = query;\n const response = await portalTenantContent.content_playlists_by_visits(\n contentClient,\n nonLocalizedQuery,\n );\n return withShareableType(response.resources, shareableType);\n }\n case \"pages\": {\n const response = await portalTenantContent.content_pages_by_visits(\n contentClient,\n query,\n );\n return withShareableType(response.resources, shareableType);\n }\n case \"enrollment_packs\": {\n const { language_iso: _languageIso, ...nonLocalizedQuery } = query;\n const response = await portalTenant.enrollment_pack_by_visits(\n client,\n nonLocalizedQuery,\n );\n return withShareableType(response.resources, shareableType);\n }\n case \"promotions\":\n bffNotSupported(`fetchMostViewed(${shareableType})`);\n }\n}\n\nfunction toMetricsQuery(options: RepContentOptions): MetricsQuery {\n const query: MetricsQuery = {};\n const period = narrowPeriod(options.period);\n if (period) query.period = period;\n if (options.limit != null) query.limit = options.limit;\n if (options.languageIso) query.language_iso = options.languageIso;\n return query;\n}\n\ntype RawOrder = NonNullable<\n Awaited<ReturnType<typeof portalTenant.orders_list>>[\"orders\"]\n>[number];\n\n/**\n * Map a BFF order response to the port's NormalizedOrder shape.\n * Centralizes the boundary between BFF wire format and our canonical type\n * so schema drift surfaces at compile time rather than producing silent\n * `undefined`s in the consumer transformer.\n *\n * Field mapping: BFF `id` → `order_number` (numeric identifier displayed in\n * lists, matches portal-builder behaviour), `total` → `amount`/`total_display_amount`,\n * `line_items[0]` → `first_item` (first product, including its image_url).\n */\nfunction toNormalizedOrder(raw: RawOrder): NormalizedOrder {\n const firstLineItem = raw.line_items?.[0];\n return {\n id: raw.id ?? 0,\n order_number: raw.id != null ? String(raw.id) : undefined,\n amount: raw.total ?? undefined,\n total_display_amount: raw.total ?? undefined,\n status: raw.status ?? undefined,\n created_at: raw.created_at ?? undefined,\n first_item: firstLineItem\n ? {\n title: firstLineItem.product_name ?? undefined,\n image_url: firstLineItem.image_url ?? undefined,\n }\n : undefined,\n token: raw.token ?? undefined,\n };\n}\n\ntype RawSubscription = NonNullable<\n Awaited<ReturnType<typeof portalTenant.subscriptions_list>>[\"subscriptions\"]\n>[number];\n\n/**\n * Map a BFF subscription response to the port's NormalizedSubscription shape.\n * Field name mapping: BFF `token` → `subscription_token`, `total` → `price`,\n * `next_billing_date` → `next_bill_date`, top-level `product` → `variant.product`.\n */\nfunction toNormalizedSubscription(\n raw: RawSubscription,\n): NormalizedSubscription {\n const product = raw.product ?? undefined;\n return {\n id: raw.id ?? 0,\n subscription_token: raw.token ?? undefined,\n price: raw.total ?? undefined,\n status: raw.status ?? undefined,\n next_bill_date: raw.next_billing_date ?? undefined,\n variant: product\n ? {\n product: {\n title: product.name ?? undefined,\n image_url: product.image_url ?? undefined,\n price_in_currency: raw.original_price ?? undefined,\n },\n }\n : undefined,\n };\n}\n\n/**\n * Creates a DataSourceApi adapter backed by portal-tenant BFF clients.\n * Uses cookie-based auth (credentials: \"include\") — no explicit auth headers.\n */\nexport function createDataSourceApiAdapter(\n client: FetchClient,\n contentClient: ContentFetchClient,\n): DataSourceApi {\n return {\n async fetchMostShared(_repId, options) {\n throwIfAborted(options.signal);\n const query = toMetricsQuery(options);\n const result = await fetchShareVisited(\n options.shareableType,\n client,\n contentClient,\n query,\n );\n throwIfAborted(options.signal);\n return result;\n },\n\n async fetchMostViewed(_repId, options) {\n throwIfAborted(options.signal);\n const query = toMetricsQuery(options);\n const result = await fetchVisited(\n options.shareableType,\n client,\n contentClient,\n query,\n );\n throwIfAborted(options.signal);\n return result;\n },\n\n async fetchOrders(_customerId, options) {\n throwIfAborted(options?.signal);\n const params: Record<string, unknown> = {};\n if (options?.limit != null) params[\"page[limit]\"] = options.limit;\n if (options?.status && options.status !== \"all\")\n params.status = options.status;\n\n const response = await portalTenant.orders_list(client, params);\n throwIfAborted(options?.signal);\n return (response.orders ?? []).map(toNormalizedOrder);\n },\n\n async fetchSubscriptions(_customerId, options) {\n throwIfAborted(options?.signal);\n const params: Record<string, unknown> = {};\n if (options?.limit != null) params[\"page[limit]\"] = options.limit;\n if (options?.status && options.status !== \"all\")\n params.status = options.status;\n\n const response = await portalTenant.subscriptions_list(client, params);\n throwIfAborted(options?.signal);\n return (response.subscriptions ?? []).map(toNormalizedSubscription);\n },\n\n // TODO: forward `signal` once the generated portal-tenant client functions\n // accept RequestOptions. Until then, guard manually before and after the\n // network call so aborted queries don't render stale data.\n async fetchResource(type, id, signal, languageIso) {\n throwIfAborted(signal);\n switch (type) {\n case \"Product\": {\n const response = await portalTenant.products_show(client, id);\n throwIfAborted(signal);\n const product = response.product;\n if (!product) throw new Error(`Product ${id} not found`);\n return {\n ...product,\n id: product.id ?? 0,\n shareable_type: \"Product\",\n } satisfies ShareableResource;\n }\n case \"Medium\": {\n const response = await portalTenantContent.media_show(\n contentClient,\n id,\n languageIso ? { language_iso: languageIso } : undefined,\n );\n throwIfAborted(signal);\n const media = response.media;\n if (!media) throw new Error(`Medium ${id} not found`);\n return {\n ...media,\n id: media.id ?? 0,\n shareable_type: \"Medium\",\n } satisfies ShareableResource;\n }\n case \"EnrollmentPack\": {\n const response = await portalTenant.enrollment_packs_show(client, id);\n throwIfAborted(signal);\n const pack = response.enrollment_pack;\n if (!pack) throw new Error(`EnrollmentPack ${id} not found`);\n return {\n ...pack,\n id: pack.id ?? 0,\n shareable_type: \"EnrollmentPack\",\n } satisfies ShareableResource;\n }\n case \"Page\": {\n const response = await portalTenantContent.pages_show(\n contentClient,\n id,\n languageIso ? { language_iso: languageIso } : undefined,\n );\n throwIfAborted(signal);\n const page = response.page;\n if (!page) throw new Error(`Page ${id} not found`);\n return {\n ...page,\n id: page.id ?? 0,\n shareable_type: \"Page\",\n } satisfies ShareableResource;\n }\n case \"Library\": {\n // Libraries are served by the playlists endpoint on the BFF\n const response = await portalTenantContent.playlists_show(\n contentClient,\n id,\n );\n throwIfAborted(signal);\n const playlist = response.playlist;\n if (!playlist) throw new Error(`Library ${id} not found`);\n return {\n ...playlist,\n id: playlist.id ?? 0,\n shareable_type: \"Library\",\n } satisfies ShareableResource;\n }\n default:\n throw new Error(`Unknown resource type: ${type}`);\n }\n },\n\n // TODO: forward `signal` once the generated portal-tenant client functions\n // accept RequestOptions. filterId validation is centralized in\n // staticFetcher so the legacy and BFF adapters behave identically.\n async fetchProductsByFilter(filterType, filterId, signal) {\n throwIfAborted(signal);\n if (filterType === \"tags\") {\n throw new Error(\"Tags data source is not yet supported.\");\n }\n\n const params: Record<string, unknown> =\n filterType === \"collections\"\n ? { collection_id: Number(filterId) }\n : { category_id: Number(filterId) };\n\n const response = await portalTenant.products_list(client, params);\n throwIfAborted(signal);\n return withShareableType(response.products, \"products\");\n },\n };\n}\n","import type { AppDefinitionApi } from \"@fluid-app/portal-core/app-definition-api\";\nimport type {\n AppDefinitionResponse,\n AppManifest,\n AppManifestResponse,\n} from \"@fluid-app/portal-core/app-definition-types\";\nimport type { FetchClient } from \"@fluid-app/portal-tenant-api-client\";\nimport { portalTenant } from \"@fluid-app/portal-tenant-api-client\";\n\n/**\n * Creates an AppDefinitionApi adapter backed by the portal-tenant BFF client.\n *\n * Maps the generated `app_manifest_show` response to the `AppDefinitionApi`\n * port, applying runtime defaults for optional BFF fields so TypeScript\n * catches schema drift at compile time via `satisfies`.\n */\nexport function createAppDefinitionApiAdapter(\n client: FetchClient,\n): AppDefinitionApi {\n async function fetchManifest(): Promise<AppManifestResponse> {\n const response = await portalTenant.app_manifest_show(client);\n return {\n manifest: response.manifest,\n meta: {\n request_id: response.meta?.request_id ?? \"\",\n timestamp: response.meta?.timestamp ?? \"\",\n },\n } satisfies AppManifestResponse;\n }\n\n return {\n fetchManifest,\n fetchDefinition: async () => {\n const { manifest, meta } = await fetchManifest();\n return {\n definition: mapManifestToDefinition(manifest),\n meta,\n } satisfies AppDefinitionResponse;\n },\n };\n}\n\n/**\n * Synthesize the legacy `{ definition }` shape from the new manifest\n * response. Retained only so deprecated callers keep building.\n */\nfunction mapManifestToDefinition(\n manifest: AppManifest,\n): AppDefinitionResponse[\"definition\"] {\n return {\n id: manifest.definition_id ?? 0,\n name: manifest.name ?? \"\",\n version: manifest.published_version?.toString() ?? null,\n components: [],\n active: true,\n };\n}\n","import type { AccountApi } from \"@fluid-app/portal-core/account-api\";\nimport type {\n AccountMemberType,\n AccountRep,\n AccountResponse,\n UpdateAccountBody,\n} from \"@fluid-app/portal-core/account-types\";\nimport type { FetchClient } from \"@fluid-app/portal-tenant-api-client\";\nimport { portalTenant } from \"@fluid-app/portal-tenant-api-client\";\n\nfunction mapAccount(\n raw: Partial<\n NonNullable<\n Awaited<ReturnType<typeof portalTenant.account_show>>[\"account\"]\n >\n >,\n): AccountRep {\n return {\n id: raw.id ?? 0,\n member_type: (raw.member_type ?? \"rep\") satisfies AccountMemberType,\n first_name: raw.first_name ?? \"\",\n last_name: raw.last_name ?? \"\",\n email: raw.email ?? \"\",\n phone: raw.phone ?? null,\n bio: raw.bio ?? null,\n avatar_url: raw.avatar_url ?? null,\n slug: raw.slug ?? \"\",\n public_id: raw.public_id ?? \"\",\n social_links: (raw.social_links ?? null) as Record<string, string> | null,\n recipient_id: raw.recipient_id ?? null,\n default_country_iso: raw.default_country_iso ?? null,\n share_guid: raw.share_guid ?? null,\n } satisfies AccountRep;\n}\n\nexport function createAccountApiAdapter(client: FetchClient): AccountApi {\n return {\n fetchAccount: async () => {\n const response = await portalTenant.account_show(client);\n return {\n account: mapAccount(response.account ?? {}),\n meta: {\n request_id: response.meta?.request_id ?? \"\",\n timestamp: response.meta?.timestamp ?? \"\",\n },\n } satisfies AccountResponse;\n },\n\n updateAccount: async (body: UpdateAccountBody) => {\n const response = await portalTenant.account_update(client, body);\n return {\n account: mapAccount(response.account ?? {}),\n meta: {\n request_id: response.meta?.request_id ?? \"\",\n timestamp: response.meta?.timestamp ?? \"\",\n },\n } satisfies AccountResponse;\n },\n };\n}\n","import type { StoreApi } from \"@fluid-app/portal-core/store-api\";\nimport type { Store, StoreResponse } from \"@fluid-app/portal-core/store-types\";\nimport type { FetchClient } from \"@fluid-app/portal-tenant-api-client\";\nimport { portalTenant } from \"@fluid-app/portal-tenant-api-client\";\n\nfunction mapStore(\n raw: Partial<\n NonNullable<Awaited<ReturnType<typeof portalTenant.store_show>>[\"store\"]>\n >,\n): Store {\n return {\n id: raw.id ?? 0,\n name: raw.name ?? \"\",\n subdomain: raw.subdomain ?? \"\",\n logo_url: raw.logo_url ?? null,\n icon_url: raw.icon_url ?? null,\n appstore_url: raw.appstore_url ?? null,\n playstore_url: raw.playstore_url ?? null,\n // Fail safe: older BFF responses without the field hide the bundle UI\n // rather than expose a feature the tenant hasn't enabled.\n bundle_subscriptions_enabled: raw.bundle_subscriptions_enabled ?? false,\n // Per-company reward-points label. BFF defaults these to \"point\"/\"points\";\n // fall back to the same defaults for older responses lacking the fields.\n reward_points_label_singular: raw.reward_points_label_singular ?? \"point\",\n reward_points_label_plural: raw.reward_points_label_plural ?? \"points\",\n } satisfies Store;\n}\n\nexport function createStoreApiAdapter(client: FetchClient): StoreApi {\n return {\n fetchStore: async () => {\n const response = await portalTenant.store_show(client);\n return {\n store: mapStore(response.store ?? {}),\n meta: {\n request_id: response.meta?.request_id ?? \"\",\n timestamp: response.meta?.timestamp ?? \"\",\n },\n } satisfies StoreResponse;\n },\n };\n}\n\n/**\n * Admin/builder store adapter. fluid-admin can't call the portal-tenant BFF\n * `store_show`, but the portal builder still needs the per-company reward-points\n * label so the PointsWidget renders the configured brand label instead of the\n * platform default. The points label is the ONLY store field any\n * builder-rendered widget reads (`useOptionalStore` has a single consumer,\n * `use-points-label.ts`), so the remaining fields are inert placeholders.\n */\nexport function createLegacyStoreApiAdapter(pointsLabel: {\n singular: string;\n plural: string;\n}): StoreApi {\n return {\n fetchStore: async () =>\n ({\n store: {\n id: 0,\n name: \"\",\n subdomain: \"\",\n logo_url: null,\n icon_url: null,\n appstore_url: null,\n playstore_url: null,\n bundle_subscriptions_enabled: false,\n reward_points_label_singular: pointsLabel.singular,\n reward_points_label_plural: pointsLabel.plural,\n },\n meta: { request_id: \"\", timestamp: \"\" },\n }) satisfies StoreResponse,\n };\n}\n","/**\n * Generated API client functions for portal_tenant_pay\n *\n * DO NOT EDIT THIS FILE DIRECTLY\n * This file is auto-generated. To update:\n * 1. Update the OpenAPI spec file\n * 2. Run: pnpm generate\n */\n\nimport type { FetchClient } from \"../lib/fetch-client\";\nimport type { operations } from \"../generated/portal-tenant-pay\";\n\n// ============================================================================\n// addresses\n// ============================================================================\n\n/**\n * List addresses\n * Returns addresses associated with the member's customer record in this tenant.\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function addresses_list(\n client: FetchClient,\n params?: operations[\"addresses_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"addresses_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/pay/addresses`, params);\n}\n\n/**\n * Create an address\n * Adds a new address to the member's customer record. If an identical address already exists it is returned instead of creating a duplicate.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function addresses_create(\n client: FetchClient,\n body: operations[\"addresses_create\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"addresses_create\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/pay/addresses`, body);\n}\n\n/**\n * Update an address\n * Creates a new address with the merged attributes and discards the old one, preserving references from existing orders.\n *\n * @param client - Fetch client instance\n * @param id - id\n * @param body - body\n */\nexport async function addresses_update(\n client: FetchClient,\n id: string | number,\n body: operations[\"addresses_update\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"addresses_update\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.patch(`/api/pay/addresses/${id}`, body);\n}\n\n/**\n * Delete an address\n * Removes an address from the member's customer record. The default address cannot be removed.\n *\n * @param client - Fetch client instance\n * @param id - id\n */\nexport async function addresses_destroy(\n client: FetchClient,\n id: string | number,\n): Promise<\n operations[\"addresses_destroy\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.delete(`/api/pay/addresses/${id}`);\n}\n\n// ============================================================================\n// payment-methods\n// ============================================================================\n\n/**\n * List payment methods\n * Returns displayable payment methods on the member's customer record, excluding Apple Pay sources.\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function payment_methods_list(\n client: FetchClient,\n params?: operations[\"payment_methods_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"payment_methods_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/pay/payment_methods`, params);\n}\n\n/**\n * Create a payment method\n * Tokenizes and stores a new payment method via the vault provider. Requires a vault token obtained from the vault credentials endpoint, and a billing_address_id referencing an existing address owned by the customer (create one via POST /api/pay/addresses first).\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function payment_methods_create(\n client: FetchClient,\n body: operations[\"payment_methods_create\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"payment_methods_create\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/pay/payment_methods`, body);\n}\n\n/**\n * Confirm a 3DS card-add session\n * Redeems a 3DS card-add session created by POST /api/pay/payment_methods. Returns the stored payment method when authentication is approved, or a challenge form/URL when the issuer requires a step-up challenge.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function payment_methods_three_ds_confirm(\n client: FetchClient,\n body: operations[\"payment_methods_three_ds_confirm\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"payment_methods_three_ds_confirm\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/pay/payment_methods/three_ds_confirm`, body);\n}\n\n/**\n * Poll a 3DS card-add session's status\n * Reads the current state of a 3DS card-add session. The polling fallback the frontend uses when the Pusher completion signal is missed.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function payment_methods_three_ds_status(\n client: FetchClient,\n body: operations[\"payment_methods_three_ds_status\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"payment_methods_three_ds_status\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/pay/payment_methods/three_ds_status`, body);\n}\n\n/**\n * Cancel a 3DS card-add session\n * Cancels an in-flight 3DS card-add session, used when the member closes the challenge modal without completing authentication.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function payment_methods_three_ds_cancel(\n client: FetchClient,\n body: operations[\"payment_methods_three_ds_cancel\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"payment_methods_three_ds_cancel\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/pay/payment_methods/three_ds_cancel`, body);\n}\n\n/**\n * Authorize a 3DS session Pusher channel\n * Authorizes the authenticated member's pusher-js client onto a cartless 3DS session channel (private-3ds-session-*). Cart channels are never authorizable here and return 401.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function pusher_auth_create(\n client: FetchClient,\n body: operations[\"pusher_auth_create\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"pusher_auth_create\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/pay/pusher/auth`, body);\n}\n\n/**\n * Update a payment method\n * Updates a payment method's attributes. Supports setting as default and replacing the card's billing address.\n *\n * @param client - Fetch client instance\n * @param id - id\n * @param body - body\n */\nexport async function payment_methods_update(\n client: FetchClient,\n id: string | number,\n body: operations[\"payment_methods_update\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"payment_methods_update\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.patch(`/api/pay/payment_methods/${id}`, body);\n}\n\n/**\n * Delete a payment method\n * Removes a payment method from the member's customer record. If the removed method was the default, the default is cleared.\n *\n * @param client - Fetch client instance\n * @param id - id\n */\nexport async function payment_methods_destroy(\n client: FetchClient,\n id: string | number,\n): Promise<\n operations[\"payment_methods_destroy\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.delete(`/api/pay/payment_methods/${id}`);\n}\n\n/**\n * Get vault credentials\n * Returns a short-lived vault token and environment identifier for initializing the client-side payment vault SDK.\n *\n * @param client - Fetch client instance\n \n */\nexport async function payment_methods_vault_show(\n client: FetchClient,\n): Promise<\n operations[\"payment_methods_vault_show\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/pay/payment_methods/vault`);\n}\n\n// ============================================================================\n// points-ledgers\n// ============================================================================\n\n/**\n * List points ledger entries\n * Returns loyalty points ledger entries for the member's customer record in this tenant, ordered by most recent first. Returns 403 if the company does not have reward points enabled.\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function points_ledgers_list(\n client: FetchClient,\n params?: operations[\"points_ledgers_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"points_ledgers_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/pay/points_ledgers`, params);\n}\n","import type { PayApi } from \"@fluid-app/portal-core/pay-api\";\nimport type {\n PayAddress,\n PayPaymentMethod,\n CreateAddressBody,\n CreatePaymentMethodBody,\n ThreeDsRequiredCreateResult,\n CreatedPaymentMethodResult,\n ConfirmPaymentMethod3DSResponse,\n ThreeDsStatusResponse,\n ThreeDsCancelResponse,\n UpdatePaymentMethodBody,\n VaultResponse,\n PointsLedgersResponse,\n} from \"@fluid-app/portal-core/pay-types\";\nimport type { FetchClient } from \"@fluid-app/portal-tenant-api-client\";\nimport { portalTenantPay } from \"@fluid-app/portal-tenant-pay-api-client\";\n\n// ---------------------------------------------------------------------------\n// BFF response type helpers\n// ---------------------------------------------------------------------------\n\ntype BffAddress = NonNullable<\n Awaited<ReturnType<typeof portalTenantPay.addresses_list>>[\"addresses\"]\n>[number];\n\ntype BffPaymentMethod = NonNullable<\n Awaited<\n ReturnType<typeof portalTenantPay.payment_methods_list>\n >[\"payment_methods\"]\n>[number];\n\n// ---------------------------------------------------------------------------\n// BFF → port type mappers\n// ---------------------------------------------------------------------------\n\nfunction mapAddress(raw: BffAddress): PayAddress {\n return {\n id: raw.id ?? 0,\n name: raw.name ?? null,\n street1: raw.street1 ?? \"\",\n street2: raw.street2 ?? null,\n city: raw.city ?? \"\",\n state: raw.state ?? \"\",\n zip: raw.zip ?? \"\",\n country: raw.country ?? \"\",\n phone: raw.phone ?? null,\n default: raw.default ?? false,\n created_at: raw.created_at ?? null,\n updated_at: raw.updated_at ?? null,\n };\n}\n\nfunction mapBillingAddress(\n raw: NonNullable<BffPaymentMethod[\"billing_address\"]>,\n): PayAddress {\n const extended = raw as typeof raw & {\n id?: number;\n created_at?: string;\n updated_at?: string;\n };\n return {\n id: extended.id ?? 0,\n name: raw.name ?? null,\n street1: raw.street1 ?? \"\",\n street2: raw.street2 ?? null,\n city: raw.city ?? \"\",\n state: raw.state ?? \"\",\n zip: raw.zip ?? \"\",\n country: raw.country ?? \"\",\n default: false,\n created_at: extended.created_at ?? null,\n updated_at: extended.updated_at ?? null,\n };\n}\n\nfunction mapPaymentMethod(raw: BffPaymentMethod): PayPaymentMethod {\n return {\n id: raw.id ?? 0,\n type: raw.type ?? \"card\",\n brand: raw.brand ?? null,\n last_four: raw.last_four ?? \"\",\n logo_url: raw.logo_url ?? null,\n exp_month: raw.exp_month ?? null,\n exp_year: raw.exp_year ?? null,\n card_holder: raw.card_holder ?? null,\n default: raw.default ?? false,\n billing_address: raw.billing_address\n ? mapBillingAddress(raw.billing_address)\n : null,\n created_at: raw.created_at ?? null,\n updated_at: raw.updated_at ?? null,\n };\n}\n\n// ---------------------------------------------------------------------------\n// Adapter factory\n// ---------------------------------------------------------------------------\n\nexport function createPortalTenantPayAdapter(client: FetchClient): PayApi {\n return {\n fetchAddresses: async () => {\n const response = await portalTenantPay.addresses_list(client);\n return {\n addresses: (response.addresses ?? []).map(mapAddress),\n meta: {\n request_id: response.meta?.request_id ?? \"\",\n timestamp: response.meta?.timestamp ?? \"\",\n },\n };\n },\n\n createAddress: async (body: CreateAddressBody) => {\n const response = await portalTenantPay.addresses_create(client, body);\n if (!response.address) {\n throw new Error(\"addresses_create returned no address\");\n }\n return mapAddress(response.address);\n },\n\n updateAddress: async (addressId: number, body: CreateAddressBody) => {\n await portalTenantPay.addresses_update(client, addressId, body);\n },\n\n deleteAddress: async (addressId: number) => {\n await portalTenantPay.addresses_destroy(client, addressId);\n },\n\n fetchPaymentMethods: async () => {\n const response = await portalTenantPay.payment_methods_list(client);\n return {\n payment_methods: (response.payment_methods ?? []).map(mapPaymentMethod),\n meta: {\n request_id: response.meta?.request_id ?? \"\",\n timestamp: response.meta?.timestamp ?? \"\",\n },\n };\n },\n\n createPaymentMethod: async (body: CreatePaymentMethodBody) => {\n // Task-1 finding: the generated client under-types this to the 200\n // (three_ds_required) shape only (openapi-typescript picks the lowest\n // 2xx); at runtime it may be the 201 (created PM) shape. The package\n // exports neither `operations` nor `components`, so widen to a local\n // structural type and narrow at runtime.\n const response = (await portalTenantPay.payment_methods_create(\n client,\n body,\n )) as {\n three_ds?: {\n status?: string;\n session_token?: string;\n tds_method_content?: string | null;\n fingerprinting_required?: boolean | null;\n merchant_tx_id?: string | null;\n };\n payment_method?: Parameters<typeof mapPaymentMethod>[0];\n meta?: { request_id?: string; timestamp?: string };\n };\n\n // 3DS-required carries a `three_ds` object and no payment_method. Detect\n // it BEFORE the no-payment_method guard below.\n if (response.three_ds?.status === \"three_ds_required\") {\n // session_token is required to drive fingerprinting/challenge — a\n // missing one is BFF contract drift, so fail loudly instead of\n // proceeding with an empty token.\n if (!response.three_ds.session_token) {\n throw new Error(\"three_ds_required without a session_token\");\n }\n return {\n three_ds: {\n status: \"three_ds_required\",\n session_token: response.three_ds.session_token,\n tds_method_content: response.three_ds.tds_method_content ?? null,\n fingerprinting_required:\n response.three_ds.fingerprinting_required ?? null,\n merchant_tx_id: response.three_ds.merchant_tx_id ?? null,\n },\n meta: {\n request_id: response.meta?.request_id ?? \"\",\n timestamp: response.meta?.timestamp ?? \"\",\n },\n } satisfies ThreeDsRequiredCreateResult;\n }\n\n if (!response.payment_method) {\n throw new Error(\"payment_methods_create returned no payment_method\");\n }\n return {\n payment_method: mapPaymentMethod(response.payment_method),\n meta: {\n request_id: response.meta?.request_id ?? \"\",\n timestamp: response.meta?.timestamp ?? \"\",\n },\n } satisfies CreatedPaymentMethodResult;\n },\n\n confirmPaymentMethod3DS: async ({ session_token }) => {\n // Task-1 finding: ThreeDsConfirmResponse is a union (approved | challenge)\n // discriminated by an OPTIONAL nested `three_ds.status`, so control-flow\n // narrowing can't reach the approved arm's `payment_method`. Widen to a\n // local structural type covering both arms; the wire `session_token` is\n // nullable, so fall back to the input arg (always present).\n const response = (await portalTenantPay.payment_methods_three_ds_confirm(\n client,\n { session_token },\n )) as {\n three_ds?: {\n status?: string;\n session_token?: string | null;\n was_created?: boolean | null;\n challenge_form?: string | null;\n challenge_url?: string | null;\n };\n payment_method?: Parameters<typeof mapPaymentMethod>[0];\n };\n\n if (response.three_ds?.status === \"approved\") {\n if (!response.payment_method) {\n throw new Error(\"3ds_confirm approved without a payment_method\");\n }\n return {\n status: \"approved\",\n session_token: response.three_ds.session_token ?? session_token,\n payment_method: mapPaymentMethod(response.payment_method),\n was_created: response.three_ds.was_created ?? undefined,\n } satisfies ConfirmPaymentMethod3DSResponse;\n }\n // Anything other than approved/three_ds_challenge is BFF contract drift —\n // fail loudly rather than silently returning an empty challenge result.\n if (response.three_ds?.status !== \"three_ds_challenge\") {\n throw new Error(\n `Unexpected 3ds_confirm status: ${response.three_ds?.status}`,\n );\n }\n return {\n status: \"three_ds_challenge\",\n session_token: response.three_ds.session_token ?? session_token,\n challenge_form: response.three_ds.challenge_form ?? null,\n challenge_url: response.three_ds.challenge_url ?? null,\n } satisfies ConfirmPaymentMethod3DSResponse;\n },\n\n fetchPaymentMethod3DSStatus: async ({ session_token }) => {\n const response = await portalTenantPay.payment_methods_three_ds_status(\n client,\n { session_token },\n );\n return {\n session_token: response.three_ds.session_token,\n state: response.three_ds.state,\n payment_method_id: response.three_ds.payment_method_id ?? null,\n expired: response.three_ds.expired ?? null,\n } satisfies ThreeDsStatusResponse;\n },\n\n cancelPaymentMethod3DS: async ({ session_token }) => {\n const response = await portalTenantPay.payment_methods_three_ds_cancel(\n client,\n { session_token },\n );\n return {\n session_token: response.three_ds.session_token,\n state: response.three_ds.state,\n cancelled: response.three_ds.cancelled ?? null,\n } satisfies ThreeDsCancelResponse;\n },\n\n updatePaymentMethod: async (\n paymentMethodId: number,\n body: UpdatePaymentMethodBody,\n ) => {\n await portalTenantPay.payment_methods_update(\n client,\n paymentMethodId,\n body,\n );\n },\n\n deletePaymentMethod: async (paymentMethodId: number) => {\n await portalTenantPay.payment_methods_destroy(client, paymentMethodId);\n },\n\n fetchVaultCredentials: async () => {\n const response = await portalTenantPay.payment_methods_vault_show(client);\n return {\n vault: {\n vault_id: response.vault?.vault_id ?? \"\",\n environment: response.vault?.environment ?? \"sandbox\",\n route_id: response.vault?.route_id ?? null,\n },\n meta: {\n request_id: response.meta?.request_id ?? \"\",\n timestamp: response.meta?.timestamp ?? \"\",\n },\n } satisfies VaultResponse;\n },\n\n fetchPointsLedgers: async () => {\n const response = await portalTenantPay.points_ledgers_list(client);\n return {\n points_ledgers: (response.points_ledgers ?? []).map((entry) => ({\n id: entry.id ?? 0,\n amount: entry.amount ?? 0,\n total_balance: entry.total_balance ?? 0,\n metadata: (entry.metadata as Record<string, unknown>) ?? null,\n created_at: entry.created_at ?? \"\",\n })),\n meta: {\n request_id: response.meta?.request_id ?? \"\",\n timestamp: response.meta?.timestamp ?? \"\",\n },\n } satisfies PointsLedgersResponse;\n },\n };\n}\n","/**\n * Generated API client functions for portal_tenant_store\n *\n * DO NOT EDIT THIS FILE DIRECTLY\n * This file is auto-generated. To update:\n * 1. Update the OpenAPI spec file\n * 2. Run: pnpm generate\n */\n\nimport type { FetchClient } from \"../lib/fetch-client\";\nimport type { operations } from \"../generated/portal-tenant-store\";\n\n// ============================================================================\n// countries\n// ============================================================================\n\n/**\n * List available countries\n * Returns all active countries, each with its ISO 3166 subdivisions (states/provinces). Per-tenant currency overrides are included where configured.\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function countries_list(\n client: FetchClient,\n params?: operations[\"countries_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"countries_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/store/countries`, params);\n}\n\n// ============================================================================\n// currencies\n// ============================================================================\n\n/**\n * List supported currencies\n * Returns the distinct set of currencies derived from the tenant company's enabled countries, sorted by name.\n *\n * @param client - Fetch client instance\n \n */\nexport async function currencies_list(\n client: FetchClient,\n): Promise<\n operations[\"currencies_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/store/currencies`);\n}\n\n// ============================================================================\n// languages\n// ============================================================================\n\n/**\n * List available languages\n * Returns languages enabled for the tenant store, sorted by name.\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function languages_list(\n client: FetchClient,\n params?: operations[\"languages_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"languages_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/store/languages`, params);\n}\n","import type {\n CountriesApi,\n countries,\n} from \"@fluid-app/store-core/countries-api\";\nimport type { FetchClient } from \"@fluid-app/portal-tenant-api-client\";\nimport { portalTenantStore } from \"@fluid-app/portal-tenant-store-api-client\";\n\n/**\n * Maps a BFF state to the port's State shape.\n */\nfunction mapState(\n raw: NonNullable<\n NonNullable<\n Awaited<ReturnType<typeof portalTenantStore.countries_list>>[\"countries\"]\n >[number][\"states\"]\n >[number],\n): countries.State {\n return {\n code: raw.code ?? \"\",\n name: raw.name ?? \"\",\n };\n}\n\n/**\n * Maps a BFF country to the port's Country shape.\n */\nfunction mapCountry(\n raw: NonNullable<\n Awaited<ReturnType<typeof portalTenantStore.countries_list>>[\"countries\"]\n >[number],\n): countries.Country {\n return {\n code: raw.code ?? \"\",\n name: raw.name ?? \"\",\n currency_code: raw.currency_code ?? \"\",\n states: (raw.states ?? []).map(mapState),\n };\n}\n\n/**\n * Maps the BFF meta envelope to the port's ApiMeta shape.\n */\nfunction mapMeta(\n raw: Awaited<ReturnType<typeof portalTenantStore.countries_list>>[\"meta\"],\n): countries.CountriesListResponse[\"meta\"] {\n return {\n request_id: raw?.request_id ?? null,\n timestamp: raw?.timestamp ?? \"\",\n pagination: raw?.pagination\n ? {\n cursor: raw.pagination.cursor ?? null,\n limit: raw.pagination.limit,\n next_cursor: raw.pagination.next_cursor ?? null,\n prev_cursor: raw.pagination.prev_cursor ?? null,\n }\n : undefined,\n };\n}\n\n/**\n * Creates a CountriesApi adapter backed by the portal-tenant store BFF.\n *\n * Maps the generated portal-tenant-store namespace functions to the abstract\n * CountriesApi port, closing over the FetchClient so consumers don't need\n * to pass it per-call.\n */\nexport function createCountriesApiAdapter(client: FetchClient): CountriesApi {\n return {\n listCountries: async (params) => {\n const response = await portalTenantStore.countries_list(client, {\n \"page[cursor]\": params?.cursor,\n \"page[limit]\": params?.limit,\n language_iso: params?.languageIso,\n });\n return {\n countries: (response.countries ?? []).map(mapCountry),\n meta: mapMeta(response.meta),\n };\n },\n };\n}\n","import type {\n LanguagesApi,\n languages,\n} from \"@fluid-app/store-core/languages-api\";\nimport type { FetchClient } from \"@fluid-app/portal-tenant-api-client\";\nimport { portalTenantStore } from \"@fluid-app/portal-tenant-store-api-client\";\n\n/**\n * Maps a BFF language to the port's Language shape.\n */\nfunction mapLanguage(\n raw: NonNullable<\n Awaited<ReturnType<typeof portalTenantStore.languages_list>>[\"languages\"]\n >[number],\n): languages.Language {\n return {\n code: raw.code ?? \"\",\n name: raw.name ?? \"\",\n };\n}\n\n/**\n * Maps the BFF meta envelope to the port's ApiMeta shape.\n */\nfunction mapMeta(\n raw: Awaited<ReturnType<typeof portalTenantStore.languages_list>>[\"meta\"],\n): languages.LanguagesListResponse[\"meta\"] {\n return {\n request_id: raw?.request_id ?? null,\n timestamp: raw?.timestamp ?? \"\",\n pagination: raw?.pagination\n ? {\n cursor: raw.pagination.cursor ?? null,\n limit: raw.pagination.limit,\n next_cursor: raw.pagination.next_cursor ?? null,\n prev_cursor: raw.pagination.prev_cursor ?? null,\n }\n : undefined,\n };\n}\n\n/**\n * Creates a LanguagesApi adapter backed by the portal-tenant store BFF.\n *\n * Maps the generated portal-tenant-store namespace functions to the abstract\n * LanguagesApi port, closing over the FetchClient so consumers don't need\n * to pass it per-call.\n */\nexport function createLanguagesApiAdapter(client: FetchClient): LanguagesApi {\n return {\n listLanguages: async (params) => {\n const response = await portalTenantStore.languages_list(client, {\n \"page[cursor]\": params?.cursor,\n \"page[limit]\": params?.limit,\n });\n return {\n languages: (response.languages ?? []).map(mapLanguage),\n meta: mapMeta(response.meta),\n };\n },\n };\n}\n","/**\n * Generated API client functions for portal_tenant_mysite\n *\n * DO NOT EDIT THIS FILE DIRECTLY\n * This file is auto-generated. To update:\n * 1. Update the OpenAPI spec file\n * 2. Run: pnpm generate\n */\n\nimport type { FetchClient } from \"../lib/fetch-client\";\nimport type { operations } from \"../generated/portal-tenant-mysite\";\n\n// ============================================================================\n// mysite\n// ============================================================================\n\n/**\n * Get MySite profile for the current user\n * Returns the member's MySite profile.\n *\n * @param client - Fetch client instance\n \n */\nexport async function mysite_profile_show(\n client: FetchClient,\n): Promise<\n operations[\"mysite_profile_show\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/mysite/profile`);\n}\n\n/**\n * Update MySite profile\n * Updates the member's MySite profile fields.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function mysite_profile_update(\n client: FetchClient,\n body: operations[\"mysite_profile_update\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"mysite_profile_update\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.put(`/api/mysite/profile`, body);\n}\n\n/**\n * List available MySite themes\n * Returns available MySite themes.\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function mysite_themes_list(\n client: FetchClient,\n params?: operations[\"mysite_themes_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"mysite_themes_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/mysite/themes`, params);\n}\n\n/**\n * Get MySite settings for the current user\n * Returns the member's MySite settings.\n *\n * @param client - Fetch client instance\n \n */\nexport async function mysite_settings_show(\n client: FetchClient,\n): Promise<\n operations[\"mysite_settings_show\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/mysite/settings`);\n}\n\n/**\n * Update MySite settings\n * Updates the member's MySite settings.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function mysite_settings_update(\n client: FetchClient,\n body: operations[\"mysite_settings_update\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"mysite_settings_update\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.put(`/api/mysite/settings`, body);\n}\n\n/**\n * List MySite links for the current user\n * Returns the member's MySite links, ordered by position.\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function mysite_links_list(\n client: FetchClient,\n params?: operations[\"mysite_links_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"mysite_links_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/mysite/links`, params);\n}\n\n/**\n * Create a MySite link\n * Adds a new link to the member's MySite.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function mysite_links_create(\n client: FetchClient,\n body: operations[\"mysite_links_create\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"mysite_links_create\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/mysite/links`, body);\n}\n\n/**\n * Update a MySite link\n * Updates an existing MySite link.\n *\n * @param client - Fetch client instance\n * @param id - id\n * @param body - body\n */\nexport async function mysite_links_update(\n client: FetchClient,\n id: string | number,\n body: operations[\"mysite_links_update\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"mysite_links_update\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.put(`/api/mysite/links/${id}`, body);\n}\n\n/**\n * Delete a MySite link\n * Removes a link from the member's MySite.\n *\n * @param client - Fetch client instance\n * @param id - id\n */\nexport async function mysite_links_destroy(\n client: FetchClient,\n id: string | number,\n): Promise<\n operations[\"mysite_links_destroy\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.delete(`/api/mysite/links/${id}`);\n}\n\n/**\n * Reorder MySite links\n * Reorders MySite links by providing an ordered list of IDs.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function mysite_links_bulk_reorder(\n client: FetchClient,\n body: operations[\"mysite_links_bulk_reorder\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"mysite_links_bulk_reorder\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.patch(`/api/mysite/links/bulk`, body);\n}\n\n/**\n * List MySite favorites\n * Returns the member's MySite favorites (products, playlists, etc.).\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function mysite_favorites_list(\n client: FetchClient,\n params?: operations[\"mysite_favorites_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"mysite_favorites_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/mysite/favorites`, params);\n}\n\n/**\n * Add a product to MySite favorites\n * Adds a product to the member's MySite favorites.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function mysite_favorites_create(\n client: FetchClient,\n body: operations[\"mysite_favorites_create\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"mysite_favorites_create\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/mysite/favorites`, body);\n}\n\n/**\n * Remove a product from MySite favorites\n * Removes a product from the member's MySite favorites.\n *\n * @param client - Fetch client instance\n * @param id - id\n */\nexport async function mysite_favorites_destroy(\n client: FetchClient,\n id: string | number,\n): Promise<\n operations[\"mysite_favorites_destroy\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.delete(`/api/mysite/favorites/${id}`);\n}\n\n/**\n * Reorder MySite favorites\n * Reorders MySite favorites by providing an ordered list of IDs.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function mysite_favorites_bulk_reorder(\n client: FetchClient,\n body: operations[\"mysite_favorites_bulk_reorder\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"mysite_favorites_bulk_reorder\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.patch(`/api/mysite/favorites/bulk`, body);\n}\n","import type { MySiteApi } from \"@fluid-app/mysite-core/mysite-api\";\nimport type {\n MySiteProfile,\n MySiteLink,\n MySiteFavorite,\n MySiteTheme,\n UpdateProfileBody,\n UpdateSettingsBody,\n CreateLinkBody,\n UpdateLinkBody,\n AddFavoriteBody,\n} from \"@fluid-app/mysite-core/mysite-api-types\";\nimport type { FetchClient } from \"@fluid-app/portal-tenant-api-client\";\nimport { portalTenantMysite } from \"@fluid-app/portal-tenant-mysite-api-client\";\n\n// ---------------------------------------------------------------------------\n// BFF response type helpers\n// ---------------------------------------------------------------------------\n\ntype BffProfile = NonNullable<\n Awaited<ReturnType<typeof portalTenantMysite.mysite_profile_show>>[\"profile\"]\n>;\n\ntype BffLink = NonNullable<\n Awaited<ReturnType<typeof portalTenantMysite.mysite_links_list>>[\"links\"]\n>[number];\n\ntype BffFavorite = NonNullable<\n Awaited<\n ReturnType<typeof portalTenantMysite.mysite_favorites_list>\n >[\"favorites\"]\n>[number];\n\ntype BffTheme = NonNullable<\n Awaited<ReturnType<typeof portalTenantMysite.mysite_themes_list>>[\"themes\"]\n>[number];\n\n// ---------------------------------------------------------------------------\n// BFF -> port type mappers\n// ---------------------------------------------------------------------------\n\nfunction mapProfile(raw: BffProfile): MySiteProfile {\n return {\n id: raw.id ?? 0,\n mysite_url: raw.mysite_url ?? null,\n mysite_views: raw.mysite_views ?? 0,\n mysite_leads: raw.mysite_leads ?? 0,\n theme_id: raw.theme_id ?? null,\n bio: raw.bio ?? null,\n avatar_url: raw.avatar_url ?? null,\n display_name: raw.display_name ?? null,\n slug: raw.slug ?? null,\n } satisfies MySiteProfile;\n}\n\nfunction mapLink(raw: BffLink): MySiteLink {\n return {\n id: raw.id ?? 0,\n url: raw.url ?? \"\",\n title: raw.title ?? \"\",\n position: raw.position ?? 0,\n } satisfies MySiteLink;\n}\n\nfunction mapFavorite(raw: BffFavorite): MySiteFavorite {\n return {\n id: raw.id ?? 0,\n favoriteable_id: raw.favoriteable_id ?? raw.product_id ?? 0,\n favoriteable_type: raw.favoriteable_type ?? \"Product\",\n name: raw.name ?? raw.product_name ?? null,\n image_url: raw.image_url ?? raw.product_image_url ?? null,\n product_id: raw.product_id ?? raw.favoriteable_id ?? 0,\n product_name: raw.product_name ?? raw.name ?? null,\n product_image_url: raw.product_image_url ?? raw.image_url ?? null,\n position: raw.position ?? 0,\n created_at: raw.created_at ?? null,\n } satisfies MySiteFavorite;\n}\n\nfunction mapTheme(raw: BffTheme): MySiteTheme {\n return {\n id: raw.id ?? 0,\n name: raw.name ?? \"\",\n preview_url: raw.preview_url ?? null,\n } satisfies MySiteTheme;\n}\n\n// ---------------------------------------------------------------------------\n// Adapter factory\n// ---------------------------------------------------------------------------\n\nexport function createMySiteApiAdapter(client: FetchClient): MySiteApi {\n return {\n fetchProfile: async () => {\n const res = await portalTenantMysite.mysite_profile_show(client);\n return mapProfile((res.profile ?? {}) as BffProfile);\n },\n\n updateProfile: async (body: UpdateProfileBody) => {\n const res = await portalTenantMysite.mysite_profile_update(client, {\n profile: {\n display_name: body.display_name,\n bio: body.bio,\n avatar_url: body.avatar_url,\n },\n });\n return mapProfile((res.profile ?? {}) as BffProfile);\n },\n\n updateSettings: async (body: UpdateSettingsBody) => {\n await Promise.all([\n body.theme_id !== undefined\n ? portalTenantMysite.mysite_settings_update(client, {\n settings: { theme_id: body.theme_id },\n })\n : Promise.resolve(),\n body.slug !== undefined\n ? portalTenantMysite.mysite_profile_update(client, {\n profile: { slug: body.slug },\n })\n : Promise.resolve(),\n ]);\n },\n\n listLinks: async () => {\n const res = await portalTenantMysite.mysite_links_list(client);\n return (res.links ?? []).map(mapLink);\n },\n\n createLink: async (body: CreateLinkBody) => {\n const res = await portalTenantMysite.mysite_links_create(client, {\n link: { title: body.title, url: body.url },\n });\n return mapLink((res.link ?? {}) as BffLink);\n },\n\n updateLink: async (linkId: number, body: UpdateLinkBody) => {\n const res = await portalTenantMysite.mysite_links_update(client, linkId, {\n link: { title: body.title, url: body.url },\n });\n return mapLink((res.link ?? {}) as BffLink);\n },\n\n deleteLink: async (linkId: number) => {\n await portalTenantMysite.mysite_links_destroy(client, linkId);\n },\n\n reorderLinks: async (orderedIds: number[]) => {\n const res = await portalTenantMysite.mysite_links_bulk_reorder(client, {\n ordered_ids: orderedIds,\n });\n return (res.links ?? []).map(mapLink);\n },\n\n listFavorites: async () => {\n const res = await portalTenantMysite.mysite_favorites_list(client);\n return (res.favorites ?? []).map(mapFavorite);\n },\n\n addFavorite: async (body: AddFavoriteBody) => {\n const res = await portalTenantMysite.mysite_favorites_create(client, {\n favorite: { product_id: body.product_id },\n });\n return mapFavorite((res.favorite ?? {}) as BffFavorite);\n },\n\n deleteFavorite: async (favoriteId: number) => {\n await portalTenantMysite.mysite_favorites_destroy(client, favoriteId);\n },\n\n reorderFavorites: async (orderedIds: number[]) => {\n const res = await portalTenantMysite.mysite_favorites_bulk_reorder(\n client,\n { ordered_ids: orderedIds },\n );\n return (res.favorites ?? []).map(mapFavorite);\n },\n\n listThemes: async () => {\n const res = await portalTenantMysite.mysite_themes_list(client);\n return (res.themes ?? []).map(mapTheme);\n },\n };\n}\n","import type { AddressFieldsApi } from \"@fluid-app/address-fields/address-fields-api\";\nimport type { AddressFieldsResponse } from \"@fluid-app/address-fields/types\";\nimport type { FetchClient } from \"@fluid-app/portal-tenant-api-client\";\n\nexport function createAddressFieldsApiAdapter(\n client: FetchClient,\n): AddressFieldsApi {\n return {\n fetchAddressFields: async (countryCode, languageIso) => {\n const params: Record<string, unknown> = {};\n if (languageIso) {\n params[\"language_iso\"] = languageIso;\n }\n return client.get<AddressFieldsResponse>(\n `/api/countries/${countryCode}/address_fields`,\n params,\n );\n },\n };\n}\n","import { createElement, type ComponentType, type ReactNode } from \"react\";\n\nexport const PORTAL_RUNTIME_PROVIDER_IDS = [\n // Outermost: the tenant store (per-company config, e.g. the reward-points\n // label) must wrap the widgets that read it via useStore/useOptionalStore.\n \"store-api-provider\",\n \"portal-url-variables-provider\",\n \"products-api-provider\",\n \"content-api-provider\",\n \"shell-translation-provider\",\n \"shop-translation-provider\",\n \"contacts-translation-provider\",\n \"contacts-api-provider\",\n \"data-source-api-provider\",\n \"data-source-registry-provider\",\n \"widgets-api-provider\",\n] as const;\n\nexport type PortalRuntimeProviderId =\n (typeof PORTAL_RUNTIME_PROVIDER_IDS)[number];\n\nexport interface PortalRuntimeProvider<\n Runtime extends object,\n Id extends PortalRuntimeProviderId = PortalRuntimeProviderId,\n> {\n readonly id: Id;\n readonly Provider: ComponentType<\n { children: ReactNode } & Omit<Runtime, \"children\">\n >;\n}\n\nexport type PortalRuntimeProviderMap<Runtime extends object> = {\n [Id in PortalRuntimeProviderId]: PortalRuntimeProvider<Runtime, Id>;\n};\n\nexport function composePortalRuntimeProviders<Runtime extends object>(\n runtimeProviders: PortalRuntimeProviderMap<Runtime>,\n runtime: Omit<Runtime, \"children\">,\n children: ReactNode,\n): ReactNode {\n return PORTAL_RUNTIME_PROVIDER_IDS.reduceRight((child, id) => {\n const provider = runtimeProviders[id];\n\n return createElement(provider.Provider, {\n ...runtime,\n children: child,\n });\n }, children);\n}\n","import type {\n PortalProductsApi,\n portalProducts,\n} from \"@fluid-app/products-core\";\nimport type { FetchClient } from \"@fluid-app/portal-tenant-api-client\";\nimport { portalTenant } from \"@fluid-app/portal-tenant-api-client\";\n\n/**\n * Creates a PortalProductsApi-compatible adapter from a portal-tenant FetchClient.\n *\n * This bridges the auto-generated portal-tenant API client to the abstract\n * PortalProductsApi interface defined in @fluid-app/products-core, closing\n * over the FetchClient so consumers don't need to pass it per-call.\n *\n * Each method maps the BFF response to the port type at runtime rather than\n * using type assertions, so TypeScript catches schema drift between the\n * generated client and the hand-authored port types at compile time.\n */\nexport function createPortalProductsApiAdapter(\n client: FetchClient,\n): PortalProductsApi {\n return {\n listProducts: async (params) => {\n const response = await portalTenant.products_list(client, {\n \"page[cursor]\": params?.cursor,\n \"page[limit]\": params?.limit,\n sort: params?.sort as\n | \"title_asc\"\n | \"title_desc\"\n | \"price_asc\"\n | \"price_desc\"\n | \"created_at_asc\"\n | \"created_at_desc\"\n | undefined,\n });\n return {\n products: response.products ?? [],\n meta: response.meta,\n } satisfies portalProducts.PortalProductsResponse;\n },\n\n getProduct: async (id) => {\n const response = await portalTenant.products_show(client, id);\n return {\n product: response.product ?? {},\n meta: response.meta,\n } satisfies portalProducts.PortalProductResponse;\n },\n\n searchProducts: async (query, params) => {\n const response = await portalTenant.products_search(client, {\n q: query,\n \"page[cursor]\": params?.cursor,\n \"page[limit]\": params?.limit,\n });\n return {\n products: response.products ?? [],\n meta: response.meta,\n } satisfies portalProducts.PortalProductsResponse;\n },\n\n getProductMedia: async (productId) => {\n const response = await portalTenant.products_media_list(\n client,\n productId,\n );\n return {\n media: response.media ?? [],\n meta: response.meta,\n } satisfies portalProducts.PortalProductMediaResponse;\n },\n\n listVisitedMetrics: async (params) => {\n const response = await portalTenant.product_by_visits(client, {\n period: params?.period,\n limit: params?.limit,\n });\n return {\n resources: response.resources ?? [],\n meta: response.meta,\n } satisfies portalProducts.ProductVisitedMetricsResponse;\n },\n\n listShareVisitedMetrics: async (params) => {\n const response = await portalTenant.product_by_shares(client, {\n period: params?.period,\n limit: params?.limit,\n });\n return {\n resources: response.resources ?? [],\n meta: response.meta,\n } satisfies portalProducts.ProductShareVisitedMetricsResponse;\n },\n };\n}\n","import { useMemo, type ReactElement, type ReactNode } from \"react\";\nimport { PortalProductsCoreProvider } from \"@fluid-app/products-core\";\nimport { usePortalTenantClient } from \"../providers/PortalTenantClientProvider\";\nimport { createPortalProductsApiAdapter } from \"../adapters/products-api-adapter\";\n\nexport function PortalProductsApiProvider({\n children,\n}: {\n children: ReactNode;\n}): ReactElement {\n const client = usePortalTenantClient();\n\n const api = useMemo(() => createPortalProductsApiAdapter(client), [client]);\n\n return (\n <PortalProductsCoreProvider api={api}>\n {children}\n </PortalProductsCoreProvider>\n );\n}\n","export const shellEn = {\n nav_more: \"More\",\n nav_close: \"Close\",\n nav_toggle_sidebar: \"Toggle sidebar\",\n nav_shortcuts: \"Shortcuts\",\n nav_quick_links: \"Quick links\",\n nav_label_app_download: \"App Download\",\n nav_label_contacts: \"Contacts\",\n nav_label_messages: \"Messaging\",\n nav_label_my_site: \"My Site\",\n nav_label_orders: \"Orders\",\n nav_label_profile: \"Profile\",\n nav_label_account: \"Account\",\n nav_label_share_media: \"Media\",\n nav_label_share_pages: \"Pages\",\n nav_label_share_playlists: \"Playlists\",\n nav_label_share_products: \"Products\",\n nav_label_shop: \"Shop\",\n nav_label_subscriptions: \"Subscriptions\",\n nav_section_we_commerce: \"We Commerce\",\n nav_section_marketing_assets: \"Marketing Assets\",\n nav_section_user: \"User\",\n nav_section_shareables: \"Shareables\",\n language_select: \"Select language\",\n profile_title: \"Profile\",\n profile_open_menu: \"Open profile menu\",\n profile_close_menu: \"Close profile menu\",\n profile_user_fallback: \"User\",\n profile_app_download: \"App Download\",\n theme_label: \"Theme\",\n theme_light: \"Theme: Light\",\n theme_dark: \"Theme: Dark\",\n theme_switch: \"Switch theme (current: {{mode}})\",\n logout: \"Log out\",\n logout_pending: \"Logging out…\",\n loading: \"Loading...\",\n error_title: \"Something went wrong\",\n error_description: \"We hit an unexpected error loading this page.\",\n error_try_again: \"Try again\",\n error_go_back: \"Go back\",\n not_found_title: \"Page not found\",\n not_found_named: 'We couldn\\'t find a page for \"{{name}}\".',\n not_found_generic: \"We couldn't find the page you were looking for.\",\n access_denied_title: \"Access Denied\",\n access_denied_description: \"You don't have permission to view this page.\",\n access_denied_detail: \"This feature is not available for your account type.\",\n screen_no_content: \"This screen has no content yet.\",\n core_screen_provided_by: \"This screen is provided by Fluid Commerce\",\n core_screen_connect: \"Connect to the Fluid platform to enable this feature\",\n customers: \"Customers\",\n table_col_image: \"Image\",\n table_col_order_number: \"Order #\",\n table_col_total: \"Total\",\n table_col_status: \"Status\",\n table_col_product: \"Product\",\n table_col_price: \"Price\",\n table_image_fallback_alt: \"Image\",\n table_slide_image_alt: \"Slide image\",\n embed_blocked_title: \"This site refuses to be embedded\",\n embed_blocked_hint:\n \"End users will see a blank widget. Try a different URL \\u2014 sites like YouTube /embed/, Calendly, or Vimeo allow embedding.\",\n} as const satisfies Record<string, string>;\n\nexport type ShellDict = typeof shellEn;\n","import {\n createDomainTranslations,\n type DomainTranslations,\n} from \"@fluid-app/i18n/translations\";\nimport { createStaticDictAdapter } from \"@fluid-app/i18n/static-dict-adapter\";\nimport type { TranslationApi } from \"@fluid-app/i18n/translation-api\";\nimport { shellEn, type ShellDict } from \"./shell-translation-dictionary\";\n\nexport const shellDomain: DomainTranslations<ShellDict> =\n createDomainTranslations<ShellDict>({\n fallback: shellEn,\n loaders: {\n de: () =>\n import(\"./locale/de.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n el: () =>\n import(\"./locale/el.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n es: () =>\n import(\"./locale/es.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n fr: () =>\n import(\"./locale/fr.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n he: () =>\n import(\"./locale/he.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n hu: () =>\n import(\"./locale/hu.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n id: () =>\n import(\"./locale/id.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n it: () =>\n import(\"./locale/it.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n ja: () =>\n import(\"./locale/ja.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n ko: () =>\n import(\"./locale/ko.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n nl: () =>\n import(\"./locale/nl.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n pl: () =>\n import(\"./locale/pl.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n pt: () =>\n import(\"./locale/pt.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n ro: () =>\n import(\"./locale/ro.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n ru: () =>\n import(\"./locale/ru.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n th: () =>\n import(\"./locale/th.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n tl: () =>\n import(\"./locale/tl.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n tr: () =>\n import(\"./locale/tr.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n zh_CN: () =>\n import(\"./locale/zh_CN.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n zh_TW: () =>\n import(\"./locale/zh_TW.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n },\n });\n\nexport function createShellTranslationAdapter(\n locale: string,\n dict: ShellDict,\n): TranslationApi<ShellDict> {\n return createStaticDictAdapter(locale, dict);\n}\n","import { useMemo, type ReactNode } from \"react\";\nimport { useActiveLocale } from \"@fluid-app/i18n/locale-context\";\nimport { useDomainDict } from \"@fluid-app/i18n/use-domain-dict\";\nimport {\n shellDomain,\n createShellTranslationAdapter,\n} from \"@fluid-app/portal-core/shell-translation-adapter\";\nimport { ShellTranslationProvider } from \"@fluid-app/portal-core/shell-translation-api-context\";\n\nexport function ShellTranslationBridge({\n children,\n}: {\n children: ReactNode;\n}): React.JSX.Element {\n const { locale } = useActiveLocale();\n const dict = useDomainDict(shellDomain, locale);\n const api = useMemo(\n () => createShellTranslationAdapter(locale, dict),\n [locale, dict],\n );\n return (\n <ShellTranslationProvider value={api}>{children}</ShellTranslationProvider>\n );\n}\n","import type {\n CreateTodoInput,\n TodosStateFilter,\n UpdateTodoInput,\n WidgetsApi,\n} from \"@fluid-app/portal-core/widgets-api\";\nimport type {\n Activity,\n ActivitySlug,\n CalendarEvent,\n CalendarEventDescription,\n CatchUp,\n MySiteData,\n PointsData,\n PointsEntry,\n Todo,\n} from \"@fluid-app/portal-core/widgets-api-types\";\nimport { titleCaseFromSnake } from \"@fluid-app/portal-core/format/title-case\";\nimport type { FetchClient } from \"@fluid-app/portal-tenant-api-client\";\nimport { portalTenant } from \"@fluid-app/portal-tenant-api-client\";\nimport { portalTenantMysite } from \"@fluid-app/portal-tenant-mysite-api-client\";\nimport { portalTenantPay } from \"@fluid-app/portal-tenant-pay-api-client\";\n\n// ---------------------------------------------------------------------------\n// BFF response types\n// ---------------------------------------------------------------------------\n\ntype BffCalendarEvent = NonNullable<\n Awaited<\n ReturnType<typeof portalTenant.calendar_events_list>\n >[\"calendar_events\"]\n>[number];\n\ntype BffTodo = NonNullable<\n Awaited<ReturnType<typeof portalTenant.todos_list>>[\"todos\"]\n>[number];\n\ntype BffActivity = NonNullable<\n Awaited<ReturnType<typeof portalTenant.activities_list>>[\"activities\"]\n>[number];\n\ntype BffCatchUp = NonNullable<\n Awaited<ReturnType<typeof portalTenant.catch_ups_list>>[\"catch_ups\"]\n>[number];\n\ntype BffPointsLedger = NonNullable<\n Awaited<\n ReturnType<typeof portalTenantPay.points_ledgers_list>\n >[\"points_ledgers\"]\n>[number];\n\ntype BffMySiteProfile = NonNullable<\n Awaited<ReturnType<typeof portalTenantMysite.mysite_profile_show>>[\"profile\"]\n>;\n\n// ---------------------------------------------------------------------------\n// BFF transforms\n// ---------------------------------------------------------------------------\n\nfunction mapBffCalendarEvent(event: BffCalendarEvent): CalendarEvent {\n const description = event.description ?? null;\n return {\n id: event.id,\n title: event.title,\n color: event.color ?? null,\n start: event.start,\n end: event.end,\n description: description !== null ? { body: description } : null,\n url: event.url ?? null,\n active: null,\n timeZone: event.time_zone ?? null,\n status: event.status ?? null,\n imageUrl: event.image_url ?? null,\n images: null,\n venue: event.venue ?? null,\n countries: null,\n hasTomorrow: null,\n hasYesterday: null,\n isAllDay: event.is_all_day,\n } satisfies CalendarEvent;\n}\n\nfunction mapBffTodo(raw: BffTodo): Todo {\n return {\n id: raw.id,\n body: raw.body,\n dueAt: raw.due_at ?? null,\n completedAt: raw.completed_at ?? null,\n createdAt: raw.created_at,\n contactId: raw.contact_id ?? null,\n contactName: raw.contact_name ?? null,\n } satisfies Todo;\n}\n\n// Typing as `Record<ActivitySlug, true>` makes TS reject this object when a\n// new value is added to `ActivitySlug` and not registered here, so the slug\n// guard stays exhaustive without a separate test.\nconst KNOWN_ACTIVITY_SLUGS: Record<ActivitySlug, true> = {\n abandoned_cart: true,\n announcements: true,\n cart_items_added: true,\n comment_reply: true,\n direct_message: true,\n fantasy_point: true,\n new_lead: true,\n order_placed: true,\n page_views: true,\n page_views_contact: true,\n tasks: true,\n upcoming_event: true,\n video: true,\n video_complete: true,\n video_complete_contact: true,\n video_contact: true,\n message_received: true,\n message_sent: true,\n new_cart_items_added: true,\n smart_link_clicked: true,\n review_left: true,\n};\n\nfunction isActivitySlug(slug: string): slug is ActivitySlug {\n return Object.hasOwn(KNOWN_ACTIVITY_SLUGS, slug);\n}\n\nfunction mapBffActivity(raw: BffActivity): Activity | null {\n if (!isActivitySlug(raw.slug)) {\n console.warn(\n `[portal-sdk] mapBffActivity: unknown activity slug \"${raw.slug}\" dropped (id=${raw.id})`,\n );\n return null;\n }\n return {\n id: raw.id,\n userName: raw.user_name,\n avatarUrl: raw.avatar_url ?? null,\n activityType: titleCaseFromSnake(raw.slug),\n targetName: raw.target_name,\n timestamp: raw.created_at,\n slug: raw.slug,\n } satisfies Activity;\n}\n\nfunction mapBffCatchUp(raw: BffCatchUp): CatchUp {\n return {\n id: raw.id,\n suggestionTitle: raw.title,\n } satisfies CatchUp;\n}\n\ntype LedgerMetadata = {\n transaction_type?: string;\n source?: Record<string, unknown>;\n};\n\nfunction mapBffPointsLedger(ledgers: BffPointsLedger[]): PointsData {\n const sorted = [...ledgers].sort(\n (a, b) =>\n new Date(b.created_at ?? 0).getTime() -\n new Date(a.created_at ?? 0).getTime(),\n );\n const balance = sorted[0]?.total_balance ?? 0;\n\n const entries: PointsEntry[] = sorted.map((ledger) => {\n const metadata = ledger.metadata as LedgerMetadata | undefined;\n return {\n id: ledger.id,\n amount: ledger.amount,\n createdAt: ledger.created_at ?? \"\",\n transactionType: metadata?.transaction_type ?? null,\n hasSource: metadata?.source != null,\n };\n });\n\n return { balance, entries } satisfies PointsData;\n}\n\nfunction mapBffMySiteProfile(profile: BffMySiteProfile): MySiteData {\n return {\n url: profile.mysite_url ?? null,\n views: profile.mysite_views ?? 0,\n leads: profile.mysite_leads ?? 0,\n userName: profile.display_name ?? \"User\",\n } satisfies MySiteData;\n}\n\n// ---------------------------------------------------------------------------\n// BFF sub-adapter (private)\n// ---------------------------------------------------------------------------\n\nfunction createBffWidgetsAdapter(client: FetchClient): Partial<WidgetsApi> {\n return {\n async fetchCalendarEvents() {\n try {\n const response = await portalTenant.calendar_events_list(client);\n return (response.calendar_events ?? [])\n .filter((e) => e.start && e.end)\n .map(mapBffCalendarEvent);\n } catch (error) {\n throw new Error(\"Failed to fetch calendar events\", { cause: error });\n }\n },\n\n async fetchTodos(args?: { state?: TodosStateFilter }) {\n try {\n const response = await portalTenant.todos_list(\n client,\n args?.state ? { state: args.state } : undefined,\n );\n return (response.todos ?? []).map(mapBffTodo);\n } catch (error) {\n throw new Error(\"Failed to fetch todos\", { cause: error });\n }\n },\n\n async createTodo(input: CreateTodoInput) {\n try {\n const response = await portalTenant.todos_create(client, {\n todo: {\n body: input.body,\n due_at: input.due_at,\n contact_id: input.contact_id,\n },\n });\n return mapBffTodo(response.todo);\n } catch (error) {\n throw new Error(\"Failed to create todo\", { cause: error });\n }\n },\n\n async fetchActivities() {\n try {\n const response = await portalTenant.activities_list(client);\n return (response.activities ?? [])\n .map(mapBffActivity)\n .filter((activity): activity is Activity => activity !== null);\n } catch (error) {\n throw new Error(\"Failed to fetch activities\", { cause: error });\n }\n },\n\n async fetchCatchUps() {\n try {\n const response = await portalTenant.catch_ups_list(client);\n return (response.catch_ups ?? []).map(mapBffCatchUp);\n } catch (error) {\n throw new Error(\"Failed to fetch catch ups\", { cause: error });\n }\n },\n\n async updateTodo(id: number, input: UpdateTodoInput) {\n try {\n const response = await portalTenant.todos_update(client, id, {\n todo: input,\n });\n return mapBffTodo(response.todo);\n } catch (error) {\n throw new Error(\"Failed to update todo\", { cause: error });\n }\n },\n\n async deleteTodo(id: number) {\n try {\n const response = await portalTenant.todos_destroy(client, id);\n return { id: response.todo.id };\n } catch (error) {\n throw new Error(\"Failed to delete todo\", { cause: error });\n }\n },\n\n async fetchMySite() {\n try {\n const response = await portalTenantMysite.mysite_profile_show(client);\n return mapBffMySiteProfile(\n response.profile ?? ({} as BffMySiteProfile),\n );\n } catch (error) {\n throw new Error(\"Failed to fetch MySite data\", { cause: error });\n }\n },\n\n async fetchPointsLedger() {\n try {\n const response = await portalTenantPay.points_ledgers_list(client);\n return mapBffPointsLedger(response.points_ledgers ?? []);\n } catch (error) {\n throw new Error(\"Failed to fetch points ledger\", { cause: error });\n }\n },\n };\n}\n\n// ---------------------------------------------------------------------------\n// Legacy API-internal shapes (not exported)\n// ---------------------------------------------------------------------------\n\ntype TodoContact = {\n id: number;\n first_name: string;\n last_name: string;\n};\n\ntype ApiTodo = {\n id: number;\n body: string;\n due_at: string | null;\n completed_at: string | null;\n created_at: string;\n contact: TodoContact | null;\n};\n\ntype ActivityContact = {\n id: number;\n token: string | null;\n first_name: string | null;\n last_name: string | null;\n avatar_url: string | null;\n full_name: string | null;\n email: string | null;\n phone: string | null;\n city: string | null;\n state: string | null;\n};\n\ntype ActivityVisitor = {\n id: number;\n ip_address: string | null;\n city: string | null;\n state: string | null;\n country: string | null;\n utm_source: string | null;\n utm_campaign: string | null;\n};\n\ntype ApiActivity = {\n id: number;\n user_id: number;\n title: string;\n description: string | null;\n read_at: string | null;\n created_at: string;\n relation_type: string;\n company_id: number;\n state: \"new\" | \"earlier\";\n slug: ActivitySlug;\n relation: Record<string, unknown>;\n contact: ActivityContact | null;\n visitor: ActivityVisitor | null;\n};\n\ntype ActivityPaginationInfo = {\n current: number;\n previous: number | null;\n next: number | null;\n per_page: number;\n pages: number;\n count: number;\n};\n\ntype ActivityApiResponse = [\n { pagination: ActivityPaginationInfo },\n { items: ApiActivity[] },\n];\n\ntype ApiPointsLedger = {\n id: number;\n amount: number;\n company_id: number;\n created_at: string;\n customer_id: number;\n metadata: {\n transaction_type?: string;\n source?: { name?: string; reason?: string };\n };\n total_balance: number;\n updated_at: string;\n};\n\ntype PointsLedgerApiResponse = {\n points_ledgers: ApiPointsLedger[];\n meta: {\n request_id: string;\n timestamp: string;\n pagination: {\n current_page: number;\n total_pages: number;\n total_count: number;\n per_page: number;\n };\n };\n};\n\ntype ApiCalendarEventDescription = {\n id?: number | null;\n name?: string | null;\n body?: string | null;\n record_type?: string | null;\n record_id?: number | null;\n created_at?: string | null;\n updated_at?: string | null;\n locale?: string | null;\n};\n\ntype ApiCalendarEvent = {\n id: number;\n title: string;\n description?: ApiCalendarEventDescription | null;\n color?: string | null;\n url?: string | null;\n start: string;\n end: string;\n active?: boolean | null;\n time_zone?: string | null;\n status?: string | null;\n image_url?: string | null;\n images?: unknown[] | null;\n venue?: string | null;\n countries?: string[] | null;\n hasTomorrow?: boolean | null;\n hasYesterday?: boolean | null;\n isAllDay?: boolean | null;\n};\n\n// The legacy /affiliate_catch_up_actions.json endpoint (Ams::CatchUpActionBlueprint)\n// still serializes the field as `suggestion_title`. Only the Portal BFF blueprint\n// (portal_tenant/api/catch_up_blueprinter.rb) renames it to `title`.\n// Keep this type aligned with the legacy endpoint — do NOT switch to `title` here.\ntype ApiCatchUp = {\n id: number;\n suggestion_title: string;\n};\n\ntype ApiMySite = {\n mysite_url?: string | null;\n mysite_views?: number | null;\n mysite_leads?: number | null;\n name?: string | null;\n first_name?: string | null;\n};\n\n// ---------------------------------------------------------------------------\n// Legacy transforms\n// ---------------------------------------------------------------------------\n\nfunction mapCalendarEventDescription(\n raw: ApiCalendarEventDescription,\n): CalendarEventDescription {\n return {\n id: raw.id,\n name: raw.name,\n body: raw.body,\n recordType: raw.record_type,\n recordId: raw.record_id,\n createdAt: raw.created_at,\n updatedAt: raw.updated_at,\n locale: raw.locale,\n };\n}\n\nfunction mapCalendarEvent(event: ApiCalendarEvent): CalendarEvent {\n return {\n id: event.id,\n title: event.title,\n description: event.description\n ? mapCalendarEventDescription(event.description)\n : event.description,\n color: event.color,\n url: event.url,\n start: event.start,\n end: event.end,\n active: event.active,\n timeZone: event.time_zone,\n status: event.status,\n imageUrl: event.image_url,\n images: event.images,\n venue: event.venue,\n countries: event.countries,\n hasTomorrow: event.hasTomorrow,\n hasYesterday: event.hasYesterday,\n isAllDay: event.isAllDay,\n };\n}\n\nfunction mapCatchUp(raw: ApiCatchUp): CatchUp {\n return {\n id: raw.id,\n suggestionTitle: raw.suggestion_title,\n };\n}\n\nfunction transformTodos(rawData: ApiTodo[]): Todo[] {\n return rawData.map((todo) => ({\n id: todo.id,\n body: todo.body,\n dueAt: todo.due_at,\n completedAt: todo.completed_at,\n createdAt: todo.created_at,\n contactId: todo.contact?.id ?? null,\n contactName: todo.contact\n ? `${todo.contact.first_name} ${todo.contact.last_name}`\n : null,\n }));\n}\n\nfunction getActivityUserName(\n contact: ActivityContact | null,\n visitor: ActivityVisitor | null,\n): string {\n if (contact?.full_name) {\n return contact.full_name;\n }\n if (contact?.first_name && contact?.last_name) {\n return `${contact.first_name} ${contact.last_name}`;\n }\n if (visitor?.city && visitor?.state) {\n return `Visitor from ${visitor.city}, ${visitor.state}`;\n }\n return \"Unknown Visitor\";\n}\n\nfunction transformActivities(rawData: ActivityApiResponse): Activity[] {\n const itemsObj = rawData[1];\n if (!itemsObj?.items) return [];\n\n return itemsObj.items\n .map((activity) => ({\n id: activity.id,\n userName: getActivityUserName(activity.contact, activity.visitor),\n avatarUrl: activity.contact?.avatar_url ?? null,\n activityType: titleCaseFromSnake(activity.slug),\n targetName: activity.description || activity.title,\n timestamp: activity.created_at,\n slug: activity.slug,\n }))\n .sort(\n (a, b) =>\n new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime(),\n );\n}\n\nfunction transformLegacyPointsLedger(\n data: PointsLedgerApiResponse,\n): PointsData {\n const ledgers = data.points_ledgers;\n\n // Sort newest-first so the current balance comes from the most recent entry.\n const sorted = [...ledgers].sort(\n (a, b) =>\n new Date(b.created_at).getTime() - new Date(a.created_at).getTime(),\n );\n const balance = sorted[0]?.total_balance ?? 0;\n\n const entries: PointsEntry[] = sorted.map((ledger) => ({\n id: ledger.id,\n amount: ledger.amount,\n createdAt: ledger.created_at,\n transactionType: ledger.metadata?.transaction_type ?? null,\n hasSource: ledger.metadata?.source != null,\n }));\n\n return { balance, entries } satisfies PointsData;\n}\n\n// ---------------------------------------------------------------------------\n// Legacy sub-adapter (private)\n// ---------------------------------------------------------------------------\n\nexport interface LegacyWidgetsApiConfig {\n baseUrl: string | undefined;\n getApiHeaders: (() => Record<string, string>) | undefined;\n}\n\nexport function createLegacyWidgetsApiAdapter(\n config: LegacyWidgetsApiConfig,\n): WidgetsApi {\n function buildHeaders(): Record<string, string> {\n return {\n \"content-type\": \"application/json\",\n ...config.getApiHeaders?.(),\n };\n }\n\n function prefix(path: string): string {\n const base = config.baseUrl ?? \"\";\n return `${base}${path}`;\n }\n\n return {\n async fetchCalendarEvents(signal?: AbortSignal) {\n const response = await fetch(\n prefix(\"/events.json?event_timeline=upcoming\"),\n { headers: buildHeaders(), signal },\n );\n if (!response.ok) {\n throw new Error(`Failed to fetch calendar events: ${response.status}`);\n }\n const data = (await response.json()) as ApiCalendarEvent[];\n return data.map(mapCalendarEvent);\n },\n\n async fetchTodos(\n args?: { state?: TodosStateFilter },\n signal?: AbortSignal,\n ) {\n // Legacy endpoint only returns incomplete tasks; ignore unsupported\n // state filters so the port contract is satisfied without breaking\n // existing callers.\n const _state = args?.state;\n void _state;\n const response = await fetch(prefix(\"/tasks\"), {\n headers: buildHeaders(),\n signal,\n });\n if (!response.ok) {\n throw new Error(`Failed to fetch todos: ${response.status}`);\n }\n const data = (await response.json()) as ApiTodo[];\n return transformTodos(data);\n },\n\n async createTodo(input: CreateTodoInput) {\n const response = await fetch(prefix(\"/tasks\"), {\n method: \"POST\",\n headers: buildHeaders(),\n body: JSON.stringify({\n task: {\n body: input.body,\n due_at: input.due_at,\n contact_id: input.contact_id,\n },\n }),\n });\n if (!response.ok) {\n throw new Error(`Failed to create todo: ${response.status}`);\n }\n const data = (await response.json()) as ApiTodo;\n const [transformed] = transformTodos([data]);\n if (!transformed) {\n throw new Error(\"Failed to create todo: empty response\");\n }\n return transformed;\n },\n\n async updateTodo(id: number, input: UpdateTodoInput) {\n const taskPayload: Record<string, unknown> = {};\n if (input.body !== undefined) taskPayload.body = input.body;\n if (input.due_at !== undefined) taskPayload.due_at = input.due_at;\n if (input.completed !== undefined) {\n taskPayload.completed_at = input.completed\n ? new Date().toISOString()\n : null;\n }\n const response = await fetch(prefix(`/tasks/${id}`), {\n method: \"PATCH\",\n headers: buildHeaders(),\n body: JSON.stringify({ task: taskPayload }),\n });\n if (!response.ok) {\n throw new Error(`Failed to update todo: ${response.status}`);\n }\n const data = (await response.json()) as ApiTodo;\n const [transformed] = transformTodos([data]);\n if (!transformed) {\n throw new Error(\"Failed to update todo: empty response\");\n }\n return transformed;\n },\n\n async deleteTodo(id: number) {\n const response = await fetch(prefix(`/tasks/${id}`), {\n method: \"DELETE\",\n headers: buildHeaders(),\n });\n if (!response.ok) {\n throw new Error(`Failed to delete todo: ${response.status}`);\n }\n return { id };\n },\n\n async fetchActivities(signal?: AbortSignal) {\n const response = await fetch(prefix(\"/v1.1/activities.json\"), {\n headers: buildHeaders(),\n signal,\n });\n if (!response.ok) {\n throw new Error(`Failed to fetch activities: ${response.status}`);\n }\n const data = (await response.json()) as ActivityApiResponse;\n return transformActivities(data);\n },\n\n async fetchCatchUps(signal?: AbortSignal) {\n const response = await fetch(prefix(\"/affiliate_catch_up_actions.json\"), {\n headers: buildHeaders(),\n signal,\n });\n if (!response.ok) {\n throw new Error(`Failed to fetch catch ups: ${response.status}`);\n }\n const data = (await response.json()) as ApiCatchUp[];\n return data.map(mapCatchUp);\n },\n\n async fetchMySite(signal?: AbortSignal) {\n const response = await fetch(prefix(\"/me\"), {\n headers: buildHeaders(),\n signal,\n });\n if (!response.ok) {\n throw new Error(`Failed to fetch MySite data: ${response.status}`);\n }\n const data = (await response.json()) as ApiMySite;\n return {\n url: data.mysite_url ?? null,\n views: data.mysite_views ?? 0,\n leads: data.mysite_leads ?? 0,\n userName: data.name || data.first_name || \"User\",\n } satisfies MySiteData;\n },\n\n async fetchPointsLedger(customerId: string, signal?: AbortSignal) {\n const response = await fetch(\n prefix(\n `/v202506/customers/${customerId}/points_ledgers?page=1&per_page=100&sort_by=created_at&sort_dir=desc`,\n ),\n { headers: buildHeaders(), signal },\n );\n if (!response.ok) {\n throw new Error(`Failed to fetch points ledger: ${response.status}`);\n }\n const data = (await response.json()) as PointsLedgerApiResponse;\n return transformLegacyPointsLedger(data);\n },\n } satisfies WidgetsApi;\n}\n\n// ---------------------------------------------------------------------------\n// Public composite factory\n// ---------------------------------------------------------------------------\n\nexport function createPortalWidgetsApiAdapter(\n client: FetchClient,\n legacyConfig: LegacyWidgetsApiConfig,\n): WidgetsApi {\n const bff = createBffWidgetsAdapter(client);\n const legacy = createLegacyWidgetsApiAdapter(legacyConfig);\n\n return { ...legacy, ...bff } satisfies WidgetsApi;\n}\n","import { useMemo, useRef, type ReactNode } from \"react\";\nimport { WidgetsApiProvider } from \"@fluid-app/portal-core/widgets-api-context\";\nimport { usePortalTenantClient } from \"../providers/PortalTenantClientProvider\";\nimport {\n createPortalWidgetsApiAdapter,\n type LegacyWidgetsApiConfig,\n} from \"../adapters/widgets-api-adapter\";\n\n// Invariant: `baseUrl` must match the `baseUrl` from DataSourceRegistryConfig,\n// since widget hooks use that value in their query keys.\nexport interface PortalWidgetsApiProviderProps {\n baseUrl: string | undefined;\n getApiHeaders: (() => Record<string, string>) | undefined;\n children: ReactNode;\n}\n\nexport function PortalWidgetsApiProvider({\n baseUrl,\n getApiHeaders,\n children,\n}: PortalWidgetsApiProviderProps): React.JSX.Element {\n const client = usePortalTenantClient();\n const getApiHeadersRef = useRef(getApiHeaders);\n getApiHeadersRef.current = getApiHeaders;\n\n const api = useMemo(\n () =>\n createPortalWidgetsApiAdapter(client, {\n baseUrl,\n getApiHeaders: () => getApiHeadersRef.current?.() ?? {},\n } satisfies LegacyWidgetsApiConfig),\n [client, baseUrl],\n );\n\n return <WidgetsApiProvider value={api}>{children}</WidgetsApiProvider>;\n}\n","export const shopEn = {\n breadcrumb: \"Shop\",\n product_fallback_name: \"Product\",\n search_placeholder: \"Search products...\",\n shop_all: \"Shop All\",\n sort_by: \"Sort By\",\n sort_title_asc: \"Title (A-Z)\",\n sort_title_desc: \"Title (Z-A)\",\n sort_price_asc: \"Price (Low to High)\",\n sort_price_desc: \"Price (High to Low)\",\n sort_recent: \"Recently Updated\",\n sort_oldest: \"Oldest Updated\",\n no_products: \"There are no products available at the moment.\",\n no_search_results:\n 'No products match \"{{term}}\". Try a different search term.',\n error_loading: \"Unable to load product\",\n error_generic: \"Something went wrong. Please try again later.\",\n product_not_found: \"Product not found\",\n product_not_found_description:\n \"The product you're looking for doesn't exist.\",\n product_description: \"Product Description\",\n quantity: \"Quantity\",\n more_to_shop: \"More to Shop\",\n no_title: \"No title available\",\n add_to_cart: \"Add to Cart\",\n subscribe: \"Subscribe\",\n subscribe_and_save: \"Subscribe & Save {{savings}}\",\n one_time_purchase: \"One-Time Purchase\",\n delivery_frequency: \"Delivery Frequency:\",\n select_delivery_schedule: \"Select delivery schedule\",\n purchase_bundle: \"Purchase Bundle\",\n bundle_badge: \"Bundle\",\n bundle_unavailable:\n \"Bundle configuration is unavailable. Please contact support.\",\n product_unavailable: \"This product is unavailable for purchase.\",\n ratings_and_reviews: \"Ratings and reviews\",\n ratings_count: \"{{count}} ratings\",\n select_option: \"Select {{name}}\",\n variant_label: \"Variant\",\n select_variant: \"Select variant\",\n variant_fallback_name: \"Variant {{index}}\",\n previous_image: \"Previous image\",\n next_image: \"Next image\",\n go_to_image: \"Go to image {{index}}\",\n open_image_viewer: \"Open image viewer\",\n close_image_viewer: \"Close image viewer\",\n image_viewer_description: \"Product image viewer\",\n cart: \"Cart\",\n} as const satisfies Record<string, string>;\n\nexport type ShopDict = typeof shopEn;\n","import {\n createDomainTranslations,\n type DomainTranslations,\n} from \"@fluid-app/i18n/translations\";\nimport { createStaticDictAdapter } from \"@fluid-app/i18n/static-dict-adapter\";\nimport type { TranslationApi } from \"@fluid-app/i18n/translation-api\";\nimport { shopEn, type ShopDict } from \"./translation-dictionary\";\n\nexport const shopDomain: DomainTranslations<ShopDict> =\n createDomainTranslations<ShopDict>({\n fallback: shopEn,\n loaders: {\n de: () =>\n import(\"./locale/de.json\").then((m): ShopDict => m.default as ShopDict),\n el: () =>\n import(\"./locale/el.json\").then((m): ShopDict => m.default as ShopDict),\n es: () =>\n import(\"./locale/es.json\").then((m): ShopDict => m.default as ShopDict),\n fr: () =>\n import(\"./locale/fr.json\").then((m): ShopDict => m.default as ShopDict),\n he: () =>\n import(\"./locale/he.json\").then((m): ShopDict => m.default as ShopDict),\n hu: () =>\n import(\"./locale/hu.json\").then((m): ShopDict => m.default as ShopDict),\n id: () =>\n import(\"./locale/id.json\").then((m): ShopDict => m.default as ShopDict),\n it: () =>\n import(\"./locale/it.json\").then((m): ShopDict => m.default as ShopDict),\n ja: () =>\n import(\"./locale/ja.json\").then((m): ShopDict => m.default as ShopDict),\n ko: () =>\n import(\"./locale/ko.json\").then((m): ShopDict => m.default as ShopDict),\n nl: () =>\n import(\"./locale/nl.json\").then((m): ShopDict => m.default as ShopDict),\n pl: () =>\n import(\"./locale/pl.json\").then((m): ShopDict => m.default as ShopDict),\n pt: () =>\n import(\"./locale/pt.json\").then((m): ShopDict => m.default as ShopDict),\n ro: () =>\n import(\"./locale/ro.json\").then((m): ShopDict => m.default as ShopDict),\n ru: () =>\n import(\"./locale/ru.json\").then((m): ShopDict => m.default as ShopDict),\n th: () =>\n import(\"./locale/th.json\").then((m): ShopDict => m.default as ShopDict),\n tl: () =>\n import(\"./locale/tl.json\").then((m): ShopDict => m.default as ShopDict),\n tr: () =>\n import(\"./locale/tr.json\").then((m): ShopDict => m.default as ShopDict),\n zh_CN: () =>\n import(\"./locale/zh_CN.json\").then(\n (m): ShopDict => m.default as ShopDict,\n ),\n zh_TW: () =>\n import(\"./locale/zh_TW.json\").then(\n (m): ShopDict => m.default as ShopDict,\n ),\n },\n });\n\nexport function createShopTranslationAdapter(\n locale: string,\n dict: ShopDict,\n): TranslationApi<ShopDict> {\n return createStaticDictAdapter(locale, dict);\n}\n","import { createTranslationContext } from \"@fluid-app/i18n/translation-api-context-factory\";\nimport type { ShopDict } from \"./translation-dictionary\";\n\nconst { Provider, useTranslation } = createTranslationContext<ShopDict>(\"Shop\");\n\nexport const ShopTranslationProvider = Provider;\nexport const useShopTranslation = useTranslation;\n","import { useMemo, type ReactNode } from \"react\";\nimport { useActiveLocale } from \"@fluid-app/i18n/locale-context\";\nimport { useDomainDict } from \"@fluid-app/i18n/use-domain-dict\";\nimport {\n shopDomain,\n createShopTranslationAdapter,\n} from \"@fluid-app/shop-core/translation-adapter\";\nimport { ShopTranslationProvider } from \"@fluid-app/shop-core/translation-api-context\";\n\nexport function ShopTranslationBridge({\n children,\n}: {\n children: ReactNode;\n}): React.JSX.Element {\n const { locale } = useActiveLocale();\n const dict = useDomainDict(shopDomain, locale);\n const api = useMemo(\n () => createShopTranslationAdapter(locale, dict),\n [locale, dict],\n );\n return (\n <ShopTranslationProvider value={api}>{children}</ShopTranslationProvider>\n );\n}\n","import type { AnyComponent } from \"../types/widget-schema\";\nimport type { WidgetSchema, TypedWidgetSchema } from \"../types\";\nimport type { ShareableItem } from \"../types/shareable-item\";\nimport type { WidgetManifest } from \"../registries/widget-manifest\";\n\nexport function createWidgetRegistry<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends Record<string, AnyComponent>,\n>(registry: T, plugins?: WidgetManifest[]): T {\n if (!plugins || plugins.length === 0) {\n return registry;\n }\n\n const pluginEntries = Object.fromEntries(\n plugins.map((p) => [p.type, p.component]),\n );\n\n return { ...registry, ...pluginEntries } as T;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function createScreen<T extends Record<string, AnyComponent>>(\n registry: T,\n widgets: TypedWidgetSchema<T>[],\n): TypedWidgetSchema<T>[] {\n // Validate that all widget types exist in the registry at runtime\n widgets.forEach((widget) => {\n if (!(widget.type in registry)) {\n throw new Error(\n `Widget type \"${String(widget.type)}\" not found in registry`,\n );\n }\n });\n return widgets;\n}\n\n// Helper to create WidgetSchema from shareable item\nexport function createWidgetFromShareable(item: ShareableItem): WidgetSchema {\n const isVideo = item.kind === \"video\" || !!item.videoUrl;\n\n if (isVideo && item.videoUrl) {\n return {\n type: \"VideoWidget\",\n props: {\n src: item.videoUrl,\n poster: item.imageUrl,\n caption: item.title,\n },\n };\n }\n\n return {\n type: \"ImageWidget\",\n props: {\n src: item.imageUrl,\n alt: item.title || \"Image\",\n objectFit: \"cover\",\n },\n };\n}\n","import type { WidgetPropertySchema } from \"@fluid-app/portal-core/registries\";\n\n// Widget Components\nexport { AlertWidget, alertWidgetPropertySchema } from \"./AlertWidget\";\n// ShopWidget is intentionally NOT re-exported here. It depends on\n// products-core hooks/types and including it in this barrel pulls\n// products-core source into portal-sdk's dts build, which fails under\n// `--isolatedDeclarations`. portal-builder imports it via the direct\n// file path (./ShopWidget) instead. The dynamic-import entry in\n// `widgetPropertySchemas` below is fine — it's evaluated at runtime\n// only and doesn't traverse types statically.\nexport {\n BulletListWidget,\n bulletListWidgetPropertySchema,\n} from \"./BulletListWidget\";\nexport { CalendarWidget, calendarWidgetPropertySchema } from \"./CalendarWidget\";\nexport { CardWidget, cardWidgetPropertySchema } from \"./CardWidget\";\nexport { CarouselWidget, carouselWidgetPropertySchema } from \"./CarouselWidget\";\nexport { CatchUpWidget, catchUpWidgetPropertySchema } from \"./CatchUpWidget\";\nexport { ChartWidget, chartWidgetPropertySchema } from \"./ChartWidget\";\nexport {\n ContainerWidget,\n containerWidgetPropertySchema,\n} from \"./ContainerWidget\";\nexport { EmbedWidget, embedWidgetPropertySchema } from \"./EmbedWidget\";\nexport { ImageWidget, imageWidgetPropertySchema } from \"./ImageWidget\";\nexport { LayoutWidget, layoutWidgetPropertySchema } from \"./LayoutWidget\";\nexport { LinkWidget, linkWidgetPropertySchema } from \"./LinkWidget\";\nexport { ListWidget, listWidgetPropertySchema } from \"./ListWidget\";\nexport { MySiteWidget, mySiteWidgetPropertySchema } from \"./MySiteWidget\";\nexport { NestedWidget, nestedWidgetPropertySchema } from \"./NestedWidget\";\nexport { PointsWidget, pointsWidgetPropertySchema } from \"./PointsWidget\";\nexport {\n QuickLinksWidget,\n quickLinksWidgetPropertySchema,\n} from \"./QuickLinksWidget\";\nexport {\n QuickShareWidget,\n quickShareWidgetPropertySchema,\n} from \"./QuickShareWidget\";\nexport {\n RecentActivityWidget,\n recentActivityWidgetPropertySchema,\n} from \"./RecentActivityWidget\";\nexport {\n SeparatorWidget,\n separatorWidgetPropertySchema,\n} from \"./SeparatorWidget\";\nexport { SpacerWidget, spacerWidgetPropertySchema } from \"./SpacerWidget\";\nexport { TableWidget, tableWidgetPropertySchema } from \"./TableWidget\";\nexport { TextWidget, textWidgetPropertySchema } from \"./TextWidget\";\nexport { ToDoWidget, toDoWidgetPropertySchema } from \"./ToDoWidget\";\nexport { VideoWidget, videoWidgetPropertySchema } from \"./VideoWidget\";\n\n// Re-export gapValues from core (used by widgets)\nexport { gapValues } from \"../core/fields\";\n\n// Re-export all property schemas as a collection\nexport const widgetPropertySchemas = {\n AlertWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./AlertWidget\").then((m) => m.alertWidgetPropertySchema),\n BulletListWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./BulletListWidget\").then((m) => m.bulletListWidgetPropertySchema),\n CalendarWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./CalendarWidget\").then((m) => m.calendarWidgetPropertySchema),\n CardWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./CardWidget\").then((m) => m.cardWidgetPropertySchema),\n CarouselWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./CarouselWidget\").then((m) => m.carouselWidgetPropertySchema),\n CatchUpWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./CatchUpWidget\").then((m) => m.catchUpWidgetPropertySchema),\n ChartWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./ChartWidget\").then((m) => m.chartWidgetPropertySchema),\n ContainerWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./ContainerWidget\").then((m) => m.containerWidgetPropertySchema),\n EmbedWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./EmbedWidget\").then((m) => m.embedWidgetPropertySchema),\n ImageWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./ImageWidget\").then((m) => m.imageWidgetPropertySchema),\n LayoutWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./LayoutWidget\").then((m) => m.layoutWidgetPropertySchema),\n LinkWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./LinkWidget\").then((m) => m.linkWidgetPropertySchema),\n ListWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./ListWidget\").then((m) => m.listWidgetPropertySchema),\n MySiteWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./MySiteWidget\").then((m) => m.mySiteWidgetPropertySchema),\n NestedWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./NestedWidget\").then((m) => m.nestedWidgetPropertySchema),\n PointsWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./PointsWidget\").then((m) => m.pointsWidgetPropertySchema),\n QuickLinksWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./QuickLinksWidget\").then((m) => m.quickLinksWidgetPropertySchema),\n QuickShareWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./QuickShareWidget\").then((m) => m.quickShareWidgetPropertySchema),\n RecentActivityWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./RecentActivityWidget\").then(\n (m) => m.recentActivityWidgetPropertySchema,\n ),\n SeparatorWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./SeparatorWidget\").then((m) => m.separatorWidgetPropertySchema),\n ShopWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./ShopWidget\").then((m) => m.shopWidgetPropertySchema),\n SpacerWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./SpacerWidget\").then((m) => m.spacerWidgetPropertySchema),\n TableWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./TableWidget\").then((m) => m.tableWidgetPropertySchema),\n TextWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./TextWidget\").then((m) => m.textWidgetPropertySchema),\n ToDoWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./ToDoWidget\").then((m) => m.toDoWidgetPropertySchema),\n VideoWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./VideoWidget\").then((m) => m.videoWidgetPropertySchema),\n};\n","/**\n * Default widget registry for SDK apps.\n * Maps widget type names to their view-only components from portal-widgets.\n */\n\nimport type { WidgetRegistry } from \"@fluid-app/portal-core/types\";\nimport { createWidgetRegistry } from \"@fluid-app/portal-core/widget-utils\";\nimport {\n AlertWidget,\n BulletListWidget,\n CalendarWidget,\n CardWidget,\n CarouselWidget,\n ChartWidget,\n ContainerWidget,\n EmbedWidget,\n ImageWidget,\n LayoutWidget,\n LinkWidget,\n ListWidget,\n MySiteWidget,\n NestedWidget,\n PointsWidget,\n QuickLinksWidget,\n QuickShareWidget,\n RecentActivityWidget,\n SeparatorWidget,\n SpacerWidget,\n TableWidget,\n TextWidget,\n ToDoWidget,\n VideoWidget,\n} from \"@fluid-app/portal-widgets/widgets\";\n// ShopWidget is imported via its direct subpath because the\n// portal-widgets barrel intentionally omits it (it depends on\n// products-core hooks/types which break portal-sdk's --isolatedDeclarations\n// dts build when traversed through the barrel).\nimport { ShopWidget } from \"@fluid-app/portal-widgets/widgets/ShopWidget\";\n\nexport const DEFAULT_SDK_WIDGET_REGISTRY: WidgetRegistry = createWidgetRegistry(\n {\n AlertWidget,\n BulletListWidget,\n CalendarWidget,\n CardWidget,\n CarouselWidget,\n ChartWidget,\n ContainerWidget,\n EmbedWidget,\n ImageWidget,\n LayoutWidget,\n LinkWidget,\n ListWidget,\n MySiteWidget,\n NestedWidget,\n PointsWidget,\n QuickLinksWidget,\n QuickShareWidget,\n RecentActivityWidget,\n SeparatorWidget,\n ShopWidget,\n SpacerWidget,\n TableWidget,\n TextWidget,\n ToDoWidget,\n VideoWidget,\n },\n);\n","import type { DomainTranslations } from \"./translations\";\n\nexport function preloadLocale(\n domains: DomainTranslations<Record<string, string>>[],\n locale: string,\n): void {\n for (const domain of domains) {\n domain.load(locale).catch(() => {});\n }\n}\n","export const ordersEn = {\n breadcrumb: \"Orders\",\n breadcrumb_detail: \"Order #{{id}}\",\n search_orders: \"Search orders...\",\n order_number: \"Order #\",\n date: \"Date\",\n status: \"Status\",\n product: \"Product\",\n total: \"Total\",\n no_orders_found: \"No orders found\",\n no_matching_orders: \"No matching orders\",\n no_image_available: \"No image available\",\n no_image: \"No image\",\n this_product_no_longer_exists: \"This product no longer exists\",\n subscription: \"Subscription\",\n subscription_hash: \"Subscription #{{token}}\",\n view_subscription: \"View Subscription\",\n results: \"results\",\n previous: \"Previous\",\n next: \"Next\",\n pagination: \"Pagination\",\n showing: \"Showing\",\n to: \"to\",\n of: \"of\",\n order_not_found: \"Order not found\",\n error_generic: \"An error occurred\",\n error_loading_order: \"Failed to load order: {{message}}\",\n items_count: \"Items ({{count}})\",\n subtotal: \"Subtotal\",\n discount: \"Discount\",\n shipping: \"Shipping\",\n shipping_free: \"Free\",\n tax: \"Tax\",\n tax_included: \"{{name}}, included\",\n points_applied: \"Points Applied\",\n points_applied_singular: \"pt\",\n points_applied_plural: \"pts\",\n points_earned: \"{{label}} Earned on This Order!\",\n points_total: \"{{count}} {{label}} total\",\n points: \"{{label}}\",\n status_label: \"Status:\",\n payment_label: \"Payment:\",\n fulfillment_label: \"Fulfillment:\",\n delivery_label: \"Delivery:\",\n order_info: \"Order Info\",\n order: \"Order\",\n order_number_label: \"Order Number\",\n email: \"Email\",\n customer: \"Customer\",\n payment_method: \"Payment Method\",\n no_payment_method: \"No payment method\",\n card_ending_in: \"{{brand}} ending in {{last4}}\",\n shipping_address: \"Shipping Address\",\n no_shipping_address: \"No shipping address available\",\n billing_address: \"Billing Address\",\n shipping_method: \"Shipping Method\",\n estimated_delivery: \"Est. {{estimate}}\",\n sku_label: \"SKU: {{sku}}\",\n\n // ── Orders list screen ──────────────────────────────────────────────\n order_history: \"Order history\",\n loading: \"Loading...\",\n load_more: \"Load more\",\n filter_all: \"All\",\n filter_fulfilled: \"Fulfilled\",\n filter_preparing: \"Preparing\",\n filter_subscription: \"Subscription\",\n status_cancelled: \"Cancelled\",\n status_completed: \"Completed\",\n status_fulfilled: \"Fulfilled\",\n status_pending: \"Pending\",\n status_preparing: \"Preparing\",\n status_processing: \"Processing\",\n status_returned: \"Returned\",\n status_shipped: \"Shipped\",\n group_this_week: \"This week\",\n group_this_month: \"This month\",\n today: \"Today\",\n yesterday: \"Yesterday\",\n n_days_ago: \"{{n}} days ago\",\n last_week: \"Last week\",\n n_weeks_ago: \"{{n}} weeks ago\",\n more_items: \"+ {{n}} more\",\n from_subscription: \"From subscription\",\n no_orders_yet: \"No orders yet\",\n search_hint: \"Try a different search term.\",\n empty_hint: \"Your orders will show up here after you place one.\",\n load_failed_title: \"Couldn't load your orders\",\n load_failed_hint: \"Something went wrong on our end. Please try again.\",\n try_again: \"Try again\",\n shipping_address_map: \"Shipping address map\",\n card_fallback: \"Card\",\n order_on_its_way: \"Your order is on its way\",\n tracking_number: \"Tracking number\",\n track_package: \"Track package\",\n track_package_aria: \"Track package {{number}}\",\n track_package_aria_with_carrier: \"Track {{carrier}} package {{number}}\",\n} as const satisfies Record<string, string>;\n\nexport type OrdersDict = typeof ordersEn;\n","import {\n createDomainTranslations,\n type DomainTranslations,\n} from \"@fluid-app/i18n/translations\";\nimport { createStaticDictAdapter } from \"@fluid-app/i18n/static-dict-adapter\";\nimport type { TranslationApi } from \"@fluid-app/i18n/translation-api\";\nimport { ordersEn, type OrdersDict } from \"./translation-dictionary\";\n\nexport const ordersDomain: DomainTranslations<OrdersDict> =\n createDomainTranslations<OrdersDict>({\n fallback: ordersEn,\n loaders: {\n de: () =>\n import(\"./locale/de.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n el: () =>\n import(\"./locale/el.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n es: () =>\n import(\"./locale/es.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n fr: () =>\n import(\"./locale/fr.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n he: () =>\n import(\"./locale/he.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n hu: () =>\n import(\"./locale/hu.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n id: () =>\n import(\"./locale/id.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n it: () =>\n import(\"./locale/it.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n ja: () =>\n import(\"./locale/ja.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n ko: () =>\n import(\"./locale/ko.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n nl: () =>\n import(\"./locale/nl.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n pl: () =>\n import(\"./locale/pl.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n pt: () =>\n import(\"./locale/pt.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n ro: () =>\n import(\"./locale/ro.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n ru: () =>\n import(\"./locale/ru.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n th: () =>\n import(\"./locale/th.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n tl: () =>\n import(\"./locale/tl.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n tr: () =>\n import(\"./locale/tr.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n zh_CN: () =>\n import(\"./locale/zh_CN.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n zh_TW: () =>\n import(\"./locale/zh_TW.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n },\n });\n\nexport function createOrdersTranslationAdapter(\n locale: string,\n dict: OrdersDict,\n): TranslationApi<OrdersDict> {\n return createStaticDictAdapter(locale, dict);\n}\n","export const subscriptionsEn = {\n // Breadcrumbs & navigation\n breadcrumb: \"Subscriptions\",\n breadcrumb_detail: \"Subscription #{{token}}\",\n\n // Filter tabs\n all: \"All\",\n active: \"Active\",\n inactive: \"Inactive\",\n\n // Search\n search_placeholder: \"Search subscriptions...\",\n\n // Table columns\n product: \"Product\",\n next_bill_date: \"Next Bill Date\",\n price: \"Price\",\n status: \"Status\",\n\n // Empty / unknown states\n no_subscriptions_found: \"No subscriptions found\",\n unknown_status: \"Unknown\",\n\n // Date / status fallback labels\n date_cancelled: \"Cancelled\",\n date_paused: \"Paused\",\n date_not_available: \"N/A\",\n\n // Pagination (used by subscriptions-list)\n total: \"Total\",\n results: \"results\",\n previous: \"Previous\",\n next: \"Next\",\n pagination: \"Pagination\",\n\n // Subscription detail — upcoming order\n your_upcoming_order: \"Your upcoming order\",\n next_order_date: \"Next order date\",\n next_bill_amount: \"Next bill amount\",\n payment_failed_on: \"Payment failed on\",\n\n // Product row\n product_image_alt: \"Product image\",\n no_image: \"No image\",\n quantity_label: \"Quantity\",\n quantity_aria: \"Quantity\",\n decrease_quantity_aria: \"Decrease quantity\",\n increase_quantity_aria: \"Increase quantity\",\n\n // Pricing summary\n subtotal: \"Subtotal\",\n discount: \"Discount\",\n total_label: \"Total\",\n tax_shipping_note:\n \"Does not include shipping, tax, duties, or any applicable discounts.\",\n\n // Order actions\n order_actions: \"Order actions\",\n skip_next_order: \"Skip next order\",\n edit_bill_date: \"Edit bill date\",\n pause_subscription: \"Pause subscription\",\n cancel_subscription: \"Cancel subscription\",\n cancelled_subscription: \"Cancelled subscription\",\n resume_subscription: \"Resume subscription\",\n reactivate_subscription: \"Reactivate subscription\",\n update_payment_method_action: \"Update payment method\",\n\n // Short action labels (SubscriptionActions)\n skip_next: \"Skip next\",\n pause: \"Pause\",\n cancel: \"Cancel\",\n resume: \"Resume\",\n reactivate: \"Reactivate\",\n\n // Subscription details section\n subscription_details: \"Subscription details\",\n order_frequency: \"Order frequency\",\n next_payment: \"Next payment\",\n last_billed: \"Last billed\",\n last_shipped: \"Last shipped\",\n last_bill_amount: \"Last bill amount\",\n\n // Payment & shipping\n payment_and_shipping: \"Payment & shipping\",\n shipping_address: \"Shipping address\",\n payment_method: \"Payment method\",\n card_fallback: \"Card\",\n ending_in: \"ending in {{last4}}\",\n no_payment_method: \"No payment method\",\n no_shipping_address: \"No shipping address available\",\n\n // Order history\n subscription_order_history: \"Subscription order history\",\n order: \"Order\",\n date: \"Date\",\n amount: \"Amount\",\n not_available: \"N/A\",\n\n // Cancel dialog\n cancel_dialog_title: \"Cancel subscription\",\n cancel_dialog_description:\n \"Are you sure you want to cancel this subscription? You can reactivate it later.\",\n cancel_dialog_pause_question:\n \"Would you like to pause your subscription instead?\",\n cancel_dialog_pause_button: \"Pause subscription\",\n cancel_dialog_cancel_button: \"Cancel\",\n cancel_dialog_confirm_button: \"Cancel subscription\",\n pause_for: \"Pause for\",\n select_duration: \"Select duration\",\n month_singular: \"{{count}} month\",\n month_plural: \"{{count}} months\",\n\n // Pause dialog\n pause_dialog_title: \"Pause subscription\",\n pause_dialog_description: \"Are you sure you want to pause subscription?\",\n pause_dialog_action: \"Pause\",\n pause_indefinitely: \"Pause indefinitely\",\n pause_for_orders: \"Pause for a number of upcoming orders\",\n choose_orders_to_skip: \"Choose how many orders to skip\",\n select: \"Select\",\n pause_dialog_cancel: \"Cancel\",\n pause_indefinite_message_prefix:\n \"If you pause indefinitely no further charges will occur. To restart, simply select\",\n pause_indefinite_message_resume: \"Resume\",\n pause_indefinite_message_suffix: \"from your account.\",\n pause_resume_message_prefix:\n \"You won't be charged until your subscription resumes on\",\n pause_resume_message_suffix: \".\",\n\n // Resume dialog\n resume_dialog_title: \"Resume subscription\",\n resume_dialog_description: \"Choose the date your subscription should resume.\",\n resume_dialog_action: \"Resume\",\n resume_date: \"Resume date\",\n date_placeholder: \"mm/dd/yyyy\",\n resume_dialog_cancel: \"Cancel\",\n resume_charge_message_prefix:\n \"Your subscription will resume and you'll be charged on\",\n resume_charge_message_suffix: \".\",\n\n // Edit bill date dialog\n edit_bill_date_title: \"Edit bill date\",\n edit_bill_date_description: \"Select a new date for your next bill.\",\n edit_bill_date_action: \"Save\",\n next_bill_date_label: \"Next bill date\",\n edit_bill_date_cancel: \"Cancel\",\n bill_date_preview_prefix: \"Your next bill will be on\",\n bill_date_preview_suffix: \".\",\n your_other_subscriptions: \"Your other subscriptions\",\n other_subs_color_aria: \"Color\",\n other_subs_product: \"Product\",\n other_subs_bill_date: \"Bill date\",\n\n // Toast / mutation messages\n subscription_paused: \"Subscription paused\",\n failed_to_pause: \"Failed to pause subscription\",\n subscription_resumed: \"Subscription resumed\",\n failed_to_resume: \"Failed to resume subscription\",\n next_billing_skipped: \"Next billing skipped\",\n failed_to_skip: \"Failed to skip billing\",\n subscription_cancelled: \"Subscription cancelled\",\n failed_to_cancel: \"Failed to cancel subscription\",\n subscription_reactivated: \"Subscription reactivated\",\n failed_to_reactivate: \"Failed to reactivate subscription\",\n quantity_updated: \"Quantity updated\",\n failed_to_update_quantity: \"Failed to update quantity\",\n bill_date_updated: \"Bill date updated\",\n failed_to_update_bill_date: \"Failed to update bill date\",\n bill_date_error:\n \"Could not update the bill date. Please try a different date.\",\n generic_error: \"Something went wrong. Please try again.\",\n\n // Account error\n account_load_error: \"Unable to load account data. Please try again later.\",\n\n // Detail screen errors (portal)\n subscription_not_found: \"Subscription not found\",\n error_occurred: \"An error occurred\",\n failed_to_load_subscription: \"Failed to load subscription: {{message}}\",\n\n // ─── List screen (portal) ──────────────────────────────────────────────\n\n // Page chrome\n list_title: \"Your subscriptions\",\n list_loading: \"Loading...\",\n list_load_more: \"Load more\",\n list_product_fallback: \"Product\",\n\n // Filter pills\n list_filter_paused: \"Paused\",\n list_filter_cancelled: \"Cancelled\",\n\n // Status labels\n list_status_active: \"Active\",\n list_status_paused: \"Paused\",\n list_status_cancelled: \"Cancelled\",\n list_status_completed: \"Completed\",\n list_status_past_due: \"Payment issue\",\n list_status_pending: \"Pending\",\n\n // Cadence\n list_cadence_daily: \"Daily\",\n list_cadence_monthly: \"Monthly\",\n list_cadence_weekly: \"Weekly\",\n list_cadence_yearly: \"Yearly\",\n list_cadence_quarterly: \"Quarterly\",\n list_cadence_every_n_units: \"Every {{n}} {{unit}}\",\n list_cadence_every_unit: \"Every {{unit}}\",\n\n // Translatable unit names (used in cadence / frequency interpolation)\n unit_day: \"day\",\n unit_days: \"days\",\n unit_week: \"week\",\n unit_weeks: \"weeks\",\n unit_month: \"month\",\n unit_months: \"months\",\n unit_year: \"year\",\n unit_years: \"years\",\n\n // Pricing suffix\n list_price_per_month: \"per month\",\n list_price_per_week: \"per week\",\n list_price_per_year: \"per year\",\n list_price_per_day: \"per day\",\n list_price_every_n_units: \"every {{n}} {{unit}}\",\n\n // Bill summary card\n list_next_bill_label: \"Your next bill\",\n list_last_bill_label: \"Last bill\",\n list_bill_overdue: \"Bill overdue\",\n list_bill_due_1_day_ago: \"Bill was due 1 day ago\",\n list_bill_due_n_days_ago: \"Bill was due {{n}} days ago\",\n list_bill_date: \"Bill date\",\n list_bill_amount: \"Bill amount\",\n list_last_bill_date: \"Last bill date\",\n list_last_bill_amount: \"Last bill amount\",\n\n // Cycle progress\n list_last_bill_today: \"Last bill today\",\n list_last_bill_yesterday: \"Last bill yesterday\",\n list_last_bill_n_days_ago: \"Last bill {{n}} days ago\",\n list_bills_today: \"Bills today\",\n list_bills_tomorrow: \"Bills tomorrow\",\n list_bills_in_n_days: \"Bills in {{n}} days\",\n list_bill_overdue_n_days: \"Bill overdue by {{n}} days\",\n\n // Sections / actions\n list_cancelled_section_label: \"Cancelled · {{n}}\",\n list_resume_cta: \"Resume subscription\",\n list_recurring_badge: \"Recurring delivery\",\n\n // Empty / error / retry\n list_no_in_view: \"No subscriptions in this view\",\n list_none_yet: \"No subscriptions yet\",\n list_filtered_hint: \"Try a different filter to see your other subscriptions.\",\n list_empty_hint: \"When you subscribe to a product, it'll show up here.\",\n list_load_failed_title: \"Couldn't load your subscriptions\",\n list_load_failed_hint: \"Something went wrong on our end. Please try again.\",\n list_try_again: \"Try again\",\n\n // ─── Bundling (CURRENT-848) ────────────────────────────────────────────\n\n // List screen — bundle CTA + card\n list_bundle_cta: \"Bundle\",\n list_bundle_card_label: \"Bundle · {{n}} subscriptions\",\n list_bundle_more_count: \"+{{n}} more\",\n list_bundle_members_title: \"Bundle members\",\n\n // Detail screen — \"Bundled with subscription\" card\n bundled_with_title: \"Bundled with subscription\",\n bundled_with_subhead:\n \"These subscriptions will be billed and shipped together, {{cadence}}\",\n bundled_with_plan_label: \"{{cadence}} subscription\",\n bundled_with_cadence_n_units: \"{{n}} {{unit}}\",\n\n // Bundle drawer — chrome\n bundle_subscriptions: \"Bundle subscriptions\",\n bundle_back: \"Back\",\n bundle_done: \"Done\",\n bundle_create: \"Create bundle\",\n bundle_step_select: \"Select\",\n bundle_step_date: \"Date\",\n bundle_step_address: \"Address\",\n bundle_step_payment: \"Payment\",\n\n // Bundle drawer — step 1\n bundle_and_save: \"Bundle and save\",\n bundle_select_subs:\n \"Select 2 or more subscriptions to bundle them onto one bill date and shipment.\",\n bundle_no_bundleable_subs:\n \"You don't have any subscriptions that can be bundled right now. Bundling requires 2 or more active subscriptions that aren't already bundled.\",\n bundle_step1_message: \"✨ Bundle and save on shipping\",\n\n // Bundle drawer — step 2\n bundle_select_new_bill_date: \"Select a new bill date\",\n bundle_select_new_bill_date_description:\n \"All bundled subscriptions will share this bill date.\",\n bundle_year: \"Year\",\n bundle_month: \"Month\",\n bundle_day: \"Day\",\n bundle_step2_message: \"📅 Choose when they ship together\",\n\n // Bundle drawer — step 3\n bundle_select_address: \"Select shipping address\",\n bundle_select_address_description:\n \"All bundled subscriptions will ship to this address.\",\n bundle_selected_bill_date: \"Selected bill date:\",\n bundle_add_new_address: \"Add new address\",\n bundle_default_badge: \"Default\",\n bundle_step3_message: \"🎁 Almost there — pick delivery\",\n\n // Bundle drawer — step 4\n bundle_select_payment: \"Select payment method\",\n bundle_select_payment_description:\n \"All bundled subscriptions will be charged to this payment method.\",\n bundle_no_usable_payment_methods:\n \"No usable payment methods. Add one in your profile.\",\n bundle_card_expires: \"Expires\",\n bundle_add_new_card: \"Add new card\",\n bundle_step4_message: \"💳 Last step — choose payment method\",\n\n // Bundle drawer — toasts\n bundle_succeeded: \"Subscriptions bundled successfully.\",\n bundle_partial_payment_failure:\n \"Bundle created but payment method failed for {{n}} subscription(s).\",\n bundle_failed: \"Couldn't bundle subscriptions. Please try again.\",\n\n // Past-due banner — default state (payment failed, no retry queued)\n past_due_banner_heading: \"We couldn't process your payment\",\n past_due_banner_heading_for_product:\n \"We couldn't process your payment for {{product}}\",\n past_due_banner_body:\n \"Your payment method may have expired or been declined. Update your card to continue your subscription and avoid interruptions.\",\n\n // Past-due banner — retry-scheduled state (next_retry_at is set, e.g. after\n // the customer just updated their card and CURRENT-882's auto-retry queued\n // a billing attempt, or after an admin manual reprocess in CURRENT-883).\n // Two sub-states based on whether last_failed_at is also set: just-queued\n // (immediate retry, no failure since the last reset) vs. retry-failed\n // (a previous attempt failed and the next one is pending after a backoff).\n past_due_banner_heading_retry_scheduled: \"Payment retry scheduled\",\n past_due_banner_heading_retry_scheduled_for_product:\n \"Payment retry scheduled for {{product}}\",\n past_due_banner_body_retry_scheduled:\n \"We're trying your payment again now. We'll update once it's processed.\",\n past_due_banner_body_retry_failed:\n \"The last retry didn't go through. We'll try again automatically {{when}}. You can also update your card to use a different one.\",\n update_your_card: \"Update your card\",\n dismiss: \"Dismiss\",\n\n // Outcome toasts after a payment-method update queues an immediate retry on\n // a past_due subscription (the charge runs async; the UI polls for the\n // result — see useRetryStatusPolling).\n payment_retry_succeeded:\n \"Payment confirmed — your subscription is active again.\",\n payment_retry_failed:\n \"That payment was declined. Try a different card to reactivate your subscription.\",\n payment_retry_processing:\n \"Card updated — we're processing your payment. The status will update shortly.\",\n\n // Time-bucket strings used in {{when}} interpolation for the\n // retry-failed body. Bucketed (instead of formatDistanceToNow) so the\n // displayed range absorbs the up-to-6h RetryFailedPaymentsJob cron\n // lag — showing \"in 2 hours\" would lie when the cron only ticks\n // every 6 hours.\n past_due_retry_when_shortly: \"shortly\",\n past_due_retry_when_few_hours: \"in the next few hours\",\n past_due_retry_when_within_day: \"within a day\",\n\n // Misc fallbacks\n a_future_date: \"a future date\",\n loading_ellipsis: \"...\",\n} as const satisfies Record<string, string>;\n\nexport type SubscriptionsDict = typeof subscriptionsEn;\n","import {\n createDomainTranslations,\n type DomainTranslations,\n} from \"@fluid-app/i18n/translations\";\nimport { createStaticDictAdapter } from \"@fluid-app/i18n/static-dict-adapter\";\nimport type { TranslationApi } from \"@fluid-app/i18n/translation-api\";\nimport {\n subscriptionsEn,\n type SubscriptionsDict,\n} from \"./translation-dictionary\";\n\nexport const subscriptionsDomain: DomainTranslations<SubscriptionsDict> =\n createDomainTranslations<SubscriptionsDict>({\n fallback: subscriptionsEn,\n loaders: {\n de: () =>\n import(\"./locale/de.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n el: () =>\n import(\"./locale/el.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n es: () =>\n import(\"./locale/es.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n fr: () =>\n import(\"./locale/fr.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n he: () =>\n import(\"./locale/he.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n hu: () =>\n import(\"./locale/hu.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n id: () =>\n import(\"./locale/id.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n it: () =>\n import(\"./locale/it.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n ja: () =>\n import(\"./locale/ja.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n ko: () =>\n import(\"./locale/ko.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n nl: () =>\n import(\"./locale/nl.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n pl: () =>\n import(\"./locale/pl.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n pt: () =>\n import(\"./locale/pt.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n ro: () =>\n import(\"./locale/ro.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n ru: () =>\n import(\"./locale/ru.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n th: () =>\n import(\"./locale/th.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n tl: () =>\n import(\"./locale/tl.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n tr: () =>\n import(\"./locale/tr.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n zh_CN: () =>\n import(\"./locale/zh_CN.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n zh_TW: () =>\n import(\"./locale/zh_TW.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n },\n });\n\nexport function createSubscriptionsTranslationAdapter(\n locale: string,\n dict: SubscriptionsDict,\n): TranslationApi<SubscriptionsDict> {\n return createStaticDictAdapter(locale, dict);\n}\n","export const profileEn = {\n breadcrumb: \"Profile\",\n edit_profile: \"Edit Profile\",\n first_name: \"First Name\",\n last_name: \"Last Name\",\n phone_number: \"Phone Number\",\n bio: \"Bio\",\n add_a_short_bio: \"Add a short bio\",\n language: \"Language\",\n first_name_is_required: \"First name is required\",\n last_name_is_required: \"Last name is required\",\n language_is_required: \"Language is required\",\n saving: \"Saving...\",\n save_changes: \"Save Changes\",\n select_an_option: \"Select an option\",\n points_history: \"{{label}} History\",\n points_available: \"{{label}} Available\",\n points_awarded: \"{{label}} Awarded\",\n points_redeemed: \"{{label}} Redeemed\",\n transaction: \"Transaction\",\n no_points_history_found: \"No {{label}} history found\",\n email: \"Email\",\n shipping_addresses: \"Shipping Addresses\",\n add_an_address: \"Add an Address\",\n delete_address: \"Delete Address\",\n delete_address_message:\n \"Are you sure you want to delete this address? This action cannot be undone.\",\n delete: \"Delete\",\n no_saved_addresses_found: \"No saved addresses found\",\n add_address: \"Add Address\",\n edit_address: \"Edit Address\",\n set_as_default_address: \"Set as default address\",\n save_address: \"Save Address\",\n card_number: \"Card Number\",\n expiration_date: \"Expiration (MM / YY)\",\n cvc: \"CVC\",\n cardholder_name: \"Cardholder Name\",\n add_credit_card: \"Add Credit Card\",\n save_card: \"Save Card\",\n securing: \"Loading secure form...\",\n payment_methods: \"Payment Methods\",\n add_payment_method: \"Add Payment Method\",\n delete_credit_card: \"Delete Credit Card\",\n delete_credit_card_message:\n \"Are you sure you want to delete this payment method? This action cannot be undone.\",\n delete_card: \"Delete card\",\n deleting: \"Deleting...\",\n tap_to_confirm: \"Tap to confirm\",\n edit_card: \"Card Details\",\n billing_address: \"Billing Address\",\n country: \"Country\",\n name: \"Name\",\n address_line_1: \"Address Line 1\",\n address_line_2: \"Apartment, suite, etc.\",\n city: \"City\",\n state: \"State\",\n province: \"Province\",\n zip_code: \"Zip Code\",\n postal_code: \"Postal Code\",\n select_state: \"Select state\",\n set_as_default_payment_method: \"Set as default payment method\",\n same_as_shipping: \"Same as shipping address\",\n use_a_different_address: \"Use a different address\",\n add_billing_address: \"Add billing address\",\n cancel: \"Cancel\",\n save: \"Save\",\n close: \"Close\",\n edit: \"Edit\",\n default: \"Default\",\n card_expires: \"Expires\",\n no_billing_address: \"No billing address on file\",\n default_payment_method_updated: \"Payment method updated\",\n failed_to_set_default_payment_method: \"Failed to update payment method\",\n personal_information: \"Personal information\",\n phone: \"Phone\",\n add_phone_number: \"Add phone number\",\n pts_available: \"{{count}} {{label}} available\",\n see_all_transactions: \"See all {{count}} transactions\",\n no_points_yet: \"No {{label}} yet\",\n earn_points_hint: \"Earn {{label}} on every order to unlock rewards.\",\n your_mysite_link: \"Your MySite link\",\n edit_link: \"Edit link\",\n public_link: \"Public link\",\n set_your_mysite_link: \"Set your MySite link\",\n copy: \"Copy\",\n cardholder: \"Cardholder\",\n accepted_cards: \"Visa, Mastercard, Amex\",\n address: \"Address\",\n social_media: \"Social media\",\n connected_count: \"{{count}} connected\",\n connect: \"Connect\",\n sign_out: \"Sign out\",\n sign_out_description: \"You can sign back in any time\",\n profile_updated: \"Profile updated\",\n failed_to_update_profile: \"Failed to update profile\",\n failed_to_delete_payment_method: \"Failed to delete payment method\",\n failed_to_update_payment_method: \"Failed to update payment method\",\n address_created: \"Address created\",\n address_already_exists: \"This address already exists\",\n failed_to_create_address: \"Failed to create address\",\n address_updated: \"Address updated\",\n failed_to_update_address: \"Failed to update address\",\n address_deleted: \"Address deleted\",\n failed_to_delete_address: \"Failed to delete address\",\n payment_method_added: \"Payment method added\",\n failed_to_add_payment_method: \"Failed to add payment method\",\n verify_your_payment: \"Verify Your Payment\",\n payment_verification_timed_out:\n \"Payment verification timed out. Please try again.\",\n payment_verification_didnt_complete:\n \"Payment verification didn't complete. Please try again.\",\n still_working_with_your_bank: \"Still working with your bank…\",\n dont_refresh_this_tab: \"Don't refresh this tab\",\n mysite_link_copied: \"MySite link copied\",\n failed_to_copy_link: \"Failed to copy link\",\n mysite_link_empty: \"Link cannot be empty\",\n mysite_link_updated: \"MySite link updated\",\n failed_to_update_mysite_link: \"Failed to update MySite link\",\n platform_not_editable: \"This platform isn't editable yet\",\n social_link_updated: \"Social link updated\",\n failed_to_update_social_link: \"Failed to update social link\",\n edit_social_link: \"Edit social link\",\n edit_platform_link: \"Edit {{platform}} link\",\n url: \"URL\",\n make_default: \"Make Default\",\n please_enter_new_email: \"Please enter a new email address\",\n please_enter_valid_email: \"Please enter a valid email address\",\n new_email_must_be_different:\n \"New email must be different from your current email\",\n failed_to_initiate_email_change: \"Failed to initiate email change\",\n sending: \"Sending...\",\n send_verification: \"Send verification\",\n name_is_required: \"Name is required\",\n address_line_1_is_required: \"Address line 1 is required\",\n city_is_required: \"City is required\",\n state_is_required: \"State is required\",\n zip_code_is_required: \"Zip code is required\",\n country_is_required: \"Country is required\",\n about_me: \"About Me\",\n profile_image_alt: \"Profile\",\n social_media_links: \"Social Media Links\",\n whatsapp_placeholder: \"Phone number or link\",\n wechat_placeholder: \"WeChat ID\",\n bio_placeholder: \"Tell people a little about yourself...\",\n unable_to_load_account:\n \"Unable to load account data. Please try again later.\",\n account_fallback: \"Account\",\n change: \"Change\",\n personal_information_title: \"Personal Information\",\n error_updating_profile:\n \"Error updating profile. Please verify your information and try again.\",\n payment_method_deleted: \"Payment method deleted\",\n default_address_updated: \"Default address updated\",\n failed_to_update_default_address: \"Failed to update default address\",\n unable_to_delete_payment_method:\n \"We were unable to delete this payment method. Please try again.\",\n unable_to_delete_address:\n \"We were unable to delete this address. Please try again.\",\n add_a_payment_method: \"+ Add a payment method\",\n payment_method_alt: \"Payment Method\",\n add_an_address_action: \"+ Add an address\",\n add_payment_method_action: \"+ Add Payment Method\",\n shipping_address_updated: \"Shipping address updated\",\n failed_to_update_shipping_address: \"Failed to update shipping address\",\n email_change_pending: \"Email change pending\",\n email_being_changed_to: \"Your email is being changed to\",\n new_email_verified: \"Your new email has been verified.\",\n check_new_inbox_verification:\n \"Check your new inbox and click the verification link to complete the change.\",\n request_expired: \"This request has expired.\",\n request_expires_in_one_day: \"This request expires in 1 day.\",\n request_expires_in_days: \"This request expires in {{days}} days.\",\n cancel_change: \"Cancel change\",\n card_fallback: \"Card\",\n enter_new_email_placeholder: \"Enter your new email...\",\n email_verification_hint:\n \"We'll send a verification link to your new email. Click it to complete the change.\",\n changing_email_to: \"Changing to\",\n check_new_email_verification:\n \"Check your new email inbox and click the verification link to complete the change.\",\n unexpected_error: \"An unexpected error occurred. Please try again.\",\n} as const satisfies Record<string, string>;\n\nexport type ProfileDict = typeof profileEn;\n","import {\n createDomainTranslations,\n type DomainTranslations,\n} from \"@fluid-app/i18n/translations\";\nimport { createStaticDictAdapter } from \"@fluid-app/i18n/static-dict-adapter\";\nimport type { TranslationApi } from \"@fluid-app/i18n/translation-api\";\nimport { profileEn, type ProfileDict } from \"./translation-dictionary\";\n\nexport const profileDomain: DomainTranslations<ProfileDict> =\n createDomainTranslations<ProfileDict>({\n fallback: profileEn,\n loaders: {\n de: () =>\n import(\"./locale/de.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n el: () =>\n import(\"./locale/el.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n es: () =>\n import(\"./locale/es.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n fr: () =>\n import(\"./locale/fr.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n he: () =>\n import(\"./locale/he.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n hu: () =>\n import(\"./locale/hu.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n id: () =>\n import(\"./locale/id.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n it: () =>\n import(\"./locale/it.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n ja: () =>\n import(\"./locale/ja.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n ko: () =>\n import(\"./locale/ko.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n nl: () =>\n import(\"./locale/nl.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n pl: () =>\n import(\"./locale/pl.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n pt: () =>\n import(\"./locale/pt.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n ro: () =>\n import(\"./locale/ro.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n ru: () =>\n import(\"./locale/ru.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n th: () =>\n import(\"./locale/th.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n tl: () =>\n import(\"./locale/tl.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n tr: () =>\n import(\"./locale/tr.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n zh_CN: () =>\n import(\"./locale/zh_CN.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n zh_TW: () =>\n import(\"./locale/zh_TW.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n },\n });\n\nexport function createProfileTranslationAdapter(\n locale: string,\n dict: ProfileDict,\n): TranslationApi<ProfileDict> {\n return createStaticDictAdapter(locale, dict);\n}\n","export const messagingEn = {\n // Screen-level (MessagingScreen)\n loading_messaging: \"Loading messaging...\",\n messaging_title: \"Messaging\",\n messaging_load_error: \"Couldn't load messaging. Please refresh to try again.\",\n messaging_unavailable: \"Messaging is not available for your account\",\n\n // Layout\n no_conversations: \"No conversations yet.\",\n\n // Sidebar groups\n sidebar_sms: \"SMS\",\n sidebar_sms_description: \"SMS messages sent and received via Fluid\",\n sidebar_emails: \"Emails\",\n sidebar_emails_description: \"Emails sent and received via Fluid\",\n sidebar_public_channels: \"Public Channels\",\n sidebar_public_channels_description:\n \"Access is determined by filters, and could include anyone from your organization.\",\n sidebar_private_channels: \"Private Channels\",\n sidebar_private_channels_description:\n \"Only members added to this channel can view and send messages to it.\",\n sidebar_broadcast_channels: \"Broadcast Channels\",\n sidebar_broadcast_channels_description:\n \"Only specified channel members can send messages to these channels.\",\n sidebar_downline: \"Downline\",\n sidebar_downline_description: \"Messages to your entire downline.\",\n sidebar_bots: \"Bots\",\n sidebar_bots_description: \"Conversations with automated bots.\",\n sidebar_direct_messages: \"Direct Messages\",\n sidebar_direct_messages_description:\n \"Messages sent to you directly, or to a group you are a member of.\",\n sidebar_other: \"Other Conversations\",\n sidebar_other_description: \"Conversations that don't match a known category.\",\n\n // Sidebar footer\n sidebar_new_message: \"Message\",\n sidebar_new_channel: \"Channel\",\n sidebar_contacts: \"Contacts\",\n sidebar_scheduled_messages: \"Scheduled Messages\",\n sidebar_new_button_close: \"Close\",\n sidebar_new_button_open: \"New\",\n\n // Sidebar group load states\n sidebar_failed_to_load: \"Failed to load\",\n sidebar_load_more: \"Load more\",\n sidebar_show_all: \"Show All\",\n sidebar_show_less: \"Show Less\",\n\n // Top bar / page titles\n page_title_pinned_messages: \"Pinned Messages\",\n page_title_new_message: \"New Message\",\n page_title_scheduled_messages: \"Scheduled Messages\",\n\n // Messages header\n header_invite_users: \"Invite Users\",\n header_channel_settings: \"Channel Settings\",\n header_sms_message: \"SMS Message\",\n header_email_message: \"Email Message\",\n header_group_message: \"Group Message\",\n header_downline_message: \"Downline Message\",\n header_direct_message: \"Direct Message\",\n\n // Header actions\n header_more_options: \"More options\",\n header_channel_options: \"Channel Options\",\n header_channel_details: \"Channel Details\",\n header_mute_channel: \"Mute Channel\",\n header_pinned_messages: \"Pinned Messages\",\n header_leave_channel: \"Leave Channel\",\n\n // Messages\n message_pinned: \"Pinned\",\n message_pin: \"Pin message\",\n message_unpin: \"Unpin message\",\n message_copy_link: \"Copy link to message\",\n message_link_copied: \"Message link copied to clipboard\",\n message_link_copy_failed: \"Failed to copy message link\",\n message_pin_error: \"Could not pin message.\",\n message_unpin_error: \"Could not unpin message.\",\n message_unknown_sender: \"Unknown Sender\",\n message_new: \"New\",\n message_new_messages: \"New messages\",\n message_load_more: \"Load more\",\n message_loading_more: \"Loading more messages...\",\n message_loading_newer: \"Loading newer messages...\",\n\n // Error states\n error_title: \"Something went wrong\",\n error_message: \"Failed to load messages. Please try again.\",\n error_retry: \"Try again\",\n error_conversation_not_found: \"Conversation not found\",\n error_conversation_not_found_description:\n \"This conversation does not exist. It may have been deleted.\",\n error_failed_to_load_messages: \"Failed to load messages\",\n error_load_messages_description:\n \"We got an error loading messages. Please try again in a moment and contact us if the problem persists.\",\n error_no_messages_on_date: \"No messages on or after this date\",\n error_joined_channel: \"You joined the channel\",\n\n // Send/receive status\n send_failed: \"Failed to send message\",\n send_permission_denied:\n \"You don't have permission to send messages to this conversation.\",\n send_account_loading:\n \"Your account details are still loading, so you can't send messages yet.\",\n\n // Scheduled messages\n scheduled_message_updated: \"Scheduled message updated\",\n scheduled_update_failed: \"Failed to update scheduled message\",\n scheduled_message_deleted: \"Scheduled message deleted\",\n scheduled_message_rescheduled: \"Message rescheduled\",\n scheduled_loading: \"Loading scheduled messages...\",\n scheduled_loading_more: \"Loading more scheduled messages...\",\n scheduled_fetch_error: \"Failed to fetch scheduled messages\",\n scheduled_no_messages: \"No scheduled messages\",\n scheduled_send_now_title: \"Send Message Now?\",\n scheduled_send_message_to: \"Send message to\",\n scheduled_send_now: \"Send Now\",\n scheduled_delete_title: \"Delete Scheduled Message?\",\n scheduled_delete_message_to: \"Delete scheduled message to\",\n scheduled_delete_undone:\n \"Once deleted this message will be gone forever, this action cannot be undone.\",\n scheduled_delete: \"Delete\",\n scheduled_reschedule_title: \"Reschedule Message\",\n scheduled_reschedule_save: \"Save\",\n\n // Scheduled message actions\n scheduled_action_go_to_conversation: \"Go to conversation\",\n scheduled_action_edit_message: \"Edit message\",\n scheduled_action_reschedule: \"Reschedule\",\n scheduled_action_send_now: \"Send now\",\n scheduled_action_delete: \"Delete message\",\n\n // Scheduled message badges\n scheduled_badge_failed: \"Failed\",\n scheduled_badge_overdue: \"Overdue\",\n\n // Scheduled banner\n scheduled_banner_failed:\n \"This scheduled message likely failed — it was scheduled for {{date}} at {{time}}.\",\n scheduled_banner_overdue:\n \"This scheduled message is overdue — it was scheduled for {{date}} at {{time}}.\",\n scheduled_banner_editing:\n \"This message will be sent on {{date}} at {{time}}.\",\n scheduled_banner_single: \"Your message will be sent on {{date}} at {{time}}.\",\n scheduled_banner_multiple:\n \"You have {{count}} scheduled messages. Next is {{date}} at {{time}}.\",\n scheduled_banner_others_suffix:\n \" You have {{count}} other {{label}} scheduled in this conversation.\",\n scheduled_banner_message_singular: \"message\",\n scheduled_banner_message_plural: \"messages\",\n scheduled_banner_view: \"View Scheduled Messages\",\n\n // Pinned messages\n pinned_loading: \"Loading pinned messages...\",\n pinned_loading_more: \"Loading more pinned messages...\",\n pinned_error: \"Failed to load pinned messages\",\n pinned_error_try_again: \"Please try again later.\",\n pinned_conversation_not_found: \"Conversation not found\",\n pinned_conversation_deleted: \"This conversation may have been deleted.\",\n pinned_no_messages: \"No pinned messages\",\n\n // Composer\n composer_placeholder: \"Type message here...\",\n composer_placeholder_default: \"Type your message...\",\n composer_add_emoji: \"Add emoji\",\n composer_attach_file: \"Attach file\",\n composer_send: \"Send message\",\n composer_schedule: \"Schedule message\",\n composer_save_scheduled: \"Save scheduled message\",\n composer_enter_to_send: \"Enter to Send\",\n composer_shift_enter_to_send: \"Shift + Enter to Send\",\n composer_saving: \"SAVING\",\n composer_schedule_send: \"Schedule send\",\n composer_custom_date_time: \"Custom date & time…\",\n\n // Toolbar\n toolbar_bold: \"Bold\",\n toolbar_italic: \"Italic\",\n toolbar_strikethrough: \"Strikethrough\",\n toolbar_add_link: \"Add Link\",\n toolbar_bullet_list: \"Bullet List\",\n toolbar_numbered_list: \"Numbered List\",\n\n // Attachment dropzone\n dropzone_upload: \"Drop Attachment to Upload\",\n\n // Recipient config bar\n recipient_to: \"To:\",\n recipient_placeholder: \"#channel-name or @user\",\n\n // Add link modal\n add_link_title: \"Add link\",\n add_link_text_label: \"Text\",\n add_link_url_label: \"Link\",\n add_link_url_placeholder: \"https://example.com\",\n add_link_cancel: \"Cancel\",\n add_link_save: \"Save\",\n add_link_text_required: \"Text is required\",\n add_link_url_required: \"Link is required\",\n add_link_url_invalid: \"Please enter a valid URL\",\n\n // Date picker dialog\n date_picker_jump_to_date: \"Jump to date\",\n date_picker_cancel: \"Cancel\",\n date_picker_apply: \"Apply\",\n date_picker_today: \"Today\",\n date_picker_close: \"Close\",\n date_picker_previous_month: \"Previous month\",\n date_picker_next_month: \"Next month\",\n\n // Schedule message dialog\n schedule_dialog_cancel: \"Cancel\",\n schedule_dialog_close: \"Close\",\n schedule_dialog_previous_month: \"Previous month\",\n schedule_dialog_next_month: \"Next month\",\n\n // Divider / jump to date\n divider_today: \"Today\",\n divider_yesterday: \"Yesterday\",\n divider_jump_to: \"Jump to...\",\n divider_last_week: \"Last Week\",\n divider_last_month: \"Last Month\",\n divider_very_beginning: \"Very Beginning\",\n divider_specific_date: \"Specific Date\",\n\n // System messages\n system_started_email: \"{{name}} started an email conversation\",\n system_started_sms: \"{{name}} started an SMS conversation\",\n system_started_conversation: \"{{name}} started the conversation\",\n system_created_channel: \"{{name}} created the channel\",\n system_created_group: \"{{name}} created the group\",\n system_created_channel_named:\n \"Created {{prefix}} #{{channelName}} with {{count}} members\",\n system_created_channel_auto_add:\n \"Created {{prefix}} #{{channelName}} with {{count}} members (auto-add enabled)\",\n system_created_group_named:\n 'Created group \"{{groupName}}\" with {{count}} members',\n system_named_channel: \"Named the channel #{{channelName}}\",\n system_named_group: 'Named the group \"{{name}}\"',\n system_changed_emoji:\n \"Changed channel emoji from {{oldEmoji}} to {{newEmoji}}\",\n system_changed_channel_name:\n \"Changed channel name from #{{oldName}} to #{{newName}}\",\n system_changed_group_name:\n 'Changed group name from \"{{oldName}}\" to \"{{newName}}\"',\n system_updated_conversation_name: \"Updated conversation name\",\n system_added_member: \"Added {{name}} to the conversation\",\n system_added_members: \"Added {{count}} members to the conversation\",\n system_added_members_fallback: \"Added members to the conversation\",\n system_removed_member: \"Removed {{name}} from the conversation\",\n system_removed_members: \"Removed {{count}} members from the conversation\",\n system_removed_members_fallback: \"Removed members from the conversation\",\n system_member_left: \"{{name}} left the conversation\",\n system_members_left: \"{{count}} members left the conversation\",\n system_left_fallback: \"Left the conversation\",\n system_member_joined: \"{{name}} joined the conversation\",\n system_members_joined: \"{{count}} members joined the conversation\",\n system_joined_fallback: \"Joined the conversation\",\n\n // Channel wizard - step titles\n wizard_step_new_channel: \"New Channel\",\n wizard_step_add_members: \"Add Members\",\n\n // Channel wizard - visibility options\n wizard_visibility_public_label: \"Public\",\n wizard_visibility_public_description:\n \"Anyone can discover this channel and view its history.\",\n wizard_visibility_team_label: \"Team\",\n wizard_visibility_team_description:\n \"Only team members can view this channel.\",\n wizard_visibility_broadcast_label: \"Broadcast\",\n wizard_visibility_broadcast_description:\n \"Admins can message, everyone else can view.\",\n\n // Channel wizard\n wizard_channel_name: \"Channel Name\",\n wizard_channel_description: \"Channel Description\",\n wizard_channel_description_placeholder: \"Enter a description...\",\n wizard_character_limit: \"120 character limit\",\n wizard_character_count: \"{{count}}/120 character limit\",\n wizard_visibility: \"Visibility\",\n wizard_cancel: \"Cancel\",\n wizard_add_users: \"Add Users\",\n wizard_back: \"Back\",\n wizard_create_channel: \"Create Channel\",\n wizard_creating: \"Creating...\",\n\n // Channel wizard - member selection\n wizard_filter_users: \"Filter Users\",\n wizard_filter_users_description: \"Add users by selecting specific traits.\",\n wizard_search_users: \"Search Users\",\n wizard_search_users_description: \"Manually add additional users.\",\n wizard_search_users_placeholder: \"Type users name\",\n wizard_add_all_users: \"Add All Users\",\n wizard_add_all_users_description: \"Select all users in your organization.\",\n wizard_clear_all_users: \"Clear All Users\",\n wizard_auto_add_future_members: \"Automatically add future members\",\n wizard_auto_add_future_members_description:\n \"Any new members added to your team will be added.\",\n\n // Channel wizard - filters\n wizard_filter_country: \"Country\",\n wizard_filter_language: \"Language\",\n wizard_filter_rank: \"Rank\",\n wizard_filter_member_type: \"Member Type\",\n wizard_filter_placeholder: \"Select or search\",\n wizard_auto_add_filter_members:\n \"Automatically add future members that match these filters\",\n wizard_auto_add_filter_description:\n \"Any new members added to your team will be added based on selected filters.\",\n\n // Channel wizard - user count card\n wizard_no_users_added: \"No Users Added\",\n wizard_users_added: \"{{count}} Users Added\",\n wizard_includes_all_users: \"Includes all users in your organization.\",\n wizard_sms_private_conversation:\n \"Each recipient will receive their own private\\nconversation, so it won't be a group message.\",\n wizard_based_on_filters_and_people:\n \"Based on selected filters and manually added people.\",\n wizard_based_on_filters: \"Based on selected filters.\",\n wizard_includes_manual_people: \"Includes manually added people.\",\n wizard_add_recipients: \"Add recipients below to get started\",\n wizard_public_channel: \"Public Channel\",\n wizard_team_channel: \"Team Channel\",\n wizard_broadcast_channel: \"Broadcast Channel\",\n\n // Existing conversation callout\n wizard_existing_conversation: \"This conversation already exists\",\n wizard_existing_conversation_description:\n \"Would you like to open the existing conversation?\",\n wizard_open_conversation: \"Open Conversation\",\n wizard_dismiss: \"Dismiss\",\n\n // Sidebar\n sidebar_pro_feature: \"Pro feature\",\n\n // Attachment display\n attachment_unknown_size: \"Unknown size\",\n attachment_remove: \"Remove attachment\",\n attachment_starting_upload: \"Starting upload\",\n attachment_file_too_large: \"File is too large\",\n\n // Timestamp\n timestamp_local_time: \"Local Time\",\n timestamp_local: \"Local\",\n timestamp_at: \"at\",\n\n // Top bar\n topbar_back: \"Back\",\n topbar_forward: \"Forward\",\n\n // Scheduled actions\n scheduled_action_more_options: \"More options\",\n\n // Wizard - tag multi-select\n wizard_error_loading_results: \"Error loading results\",\n wizard_no_results: \"No results\",\n\n // Wizard - channel details\n wizard_channel_icon: \"Channel icon\",\n\n // Wizard - existing conversation callout\n wizard_existing_conversation_close: \"Close\",\n\n // Generic\n cancel: \"Cancel\",\n loading: \"loading...\",\n unknown: \"Unknown\",\n someone: \"Someone\",\n broadcast_channel: \"broadcast channel\",\n channel: \"channel\",\n none: \"none\",\n close: \"Close\",\n} as const satisfies Record<string, string>;\n\nexport type MessagingDict = typeof messagingEn;\n","import {\n createDomainTranslations,\n type DomainTranslations,\n} from \"@fluid-app/i18n/translations\";\nimport { createStaticDictAdapter } from \"@fluid-app/i18n/static-dict-adapter\";\nimport type { TranslationApi } from \"@fluid-app/i18n/translation-api\";\nimport { messagingEn, type MessagingDict } from \"./translation-dictionary\";\n\nexport const messagingDomain: DomainTranslations<MessagingDict> =\n createDomainTranslations<MessagingDict>({\n fallback: messagingEn,\n loaders: {\n de: () =>\n import(\"./locale/de.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n el: () =>\n import(\"./locale/el.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n es: () =>\n import(\"./locale/es.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n fr: () =>\n import(\"./locale/fr.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n he: () =>\n import(\"./locale/he.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n hu: () =>\n import(\"./locale/hu.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n id: () =>\n import(\"./locale/id.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n it: () =>\n import(\"./locale/it.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n ja: () =>\n import(\"./locale/ja.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n ko: () =>\n import(\"./locale/ko.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n nl: () =>\n import(\"./locale/nl.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n pl: () =>\n import(\"./locale/pl.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n pt: () =>\n import(\"./locale/pt.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n ro: () =>\n import(\"./locale/ro.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n ru: () =>\n import(\"./locale/ru.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n th: () =>\n import(\"./locale/th.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n tl: () =>\n import(\"./locale/tl.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n tr: () =>\n import(\"./locale/tr.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n zh_CN: () =>\n import(\"./locale/zh_CN.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n zh_TW: () =>\n import(\"./locale/zh_TW.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n },\n });\n\nexport function createMessagingTranslationAdapter(\n locale: string,\n dict: MessagingDict,\n): TranslationApi<MessagingDict> {\n return createStaticDictAdapter(locale, dict);\n}\n","const STORAGE_KEY = \"portal-language\";\n\nexport interface SupportedLanguage {\n id: number;\n iso: string;\n name: string;\n}\n\nexport const SUPPORTED_LANGUAGES: SupportedLanguage[] = [\n { id: 1, iso: \"en\", name: \"English\" },\n { id: 2, iso: \"es\", name: \"Español (Spanish)\" },\n { id: 3, iso: \"pt\", name: \"Português (Portuguese)\" },\n { id: 4, iso: \"fr\", name: \"Français (French)\" },\n { id: 5, iso: \"de\", name: \"Deutsch (German)\" },\n { id: 6, iso: \"it\", name: \"Italiano (Italian)\" },\n { id: 7, iso: \"nl\", name: \"Nederlands (Dutch)\" },\n { id: 8, iso: \"pl\", name: \"Polski (Polish)\" },\n { id: 9, iso: \"hu\", name: \"Magyar (Hungarian)\" },\n { id: 10, iso: \"id\", name: \"Bahasa Indonesia (Indonesian)\" },\n { id: 11, iso: \"ja\", name: \"日本語 (Japanese)\" },\n { id: 12, iso: \"ko\", name: \"한국어 (Korean)\" },\n { id: 13, iso: \"ru\", name: \"Русский (Russian)\" },\n { id: 14, iso: \"el\", name: \"Ελληνικά (Greek)\" },\n { id: 15, iso: \"ro\", name: \"Română (Romanian)\" },\n { id: 16, iso: \"tr\", name: \"Türkçe (Turkish)\" },\n { id: 17, iso: \"he\", name: \"עברית (Hebrew)\" },\n { id: 18, iso: \"tl\", name: \"Tagalog\" },\n { id: 19, iso: \"th\", name: \"ไทย (Thai)\" },\n { id: 20, iso: \"zh_CN\", name: \"简体中文 (Chinese - Simplified)\" },\n { id: 21, iso: \"zh_TW\", name: \"繁體中文 (Chinese - Traditional)\" },\n];\n\nconst SUPPORTED_CODES = SUPPORTED_LANGUAGES.map((l) => l.iso);\n\nfunction getPersistedLocale(): string | null {\n try {\n return localStorage.getItem(STORAGE_KEY);\n } catch {\n return null;\n }\n}\n\nexport function persistLocale(locale: string): void {\n try {\n localStorage.setItem(STORAGE_KEY, locale);\n } catch {\n // localStorage unavailable\n }\n}\n\nfunction getBrowserLocale(): string {\n if (typeof navigator === \"undefined\") return \"en\";\n return navigator.language.replace(/-/g, \"_\");\n}\n\nexport function getOptimisticLocale(): string {\n const persisted = getPersistedLocale();\n if (persisted && SUPPORTED_CODES.includes(persisted)) return persisted;\n return resolveLocale(SUPPORTED_CODES);\n}\n\nexport function resolveLocale(supportedCodes: string[]): string {\n const persisted = getPersistedLocale();\n if (persisted && supportedCodes.includes(persisted)) return persisted;\n\n const browser = getBrowserLocale();\n if (supportedCodes.includes(browser)) return browser;\n\n const browserLang = browser.split(\"_\")[0];\n const match = supportedCodes.find(\n (c) => c === browserLang || c.startsWith(`${browserLang}_`),\n );\n if (match) return match;\n\n return supportedCodes[0] ?? \"en\";\n}\n","/**\n * Main Fluid SDK Provider\n * Wraps QueryClientProvider and FluidThemeProvider\n */\n\nimport {\n createContext,\n type ReactNode,\n use,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from \"react\";\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\nimport { createPersister } from \"@fluid-app/query-persister\";\nimport { AppDefinitionApiProvider } from \"@fluid-app/portal-core/app-definition-api-context\";\nimport { DataSourceApiProvider } from \"@fluid-app/portal-core/data-source-api-context\";\nimport type { DataSourceApi } from \"@fluid-app/portal-core/data-source-api\";\nimport { AccountApiProvider } from \"@fluid-app/portal-core/account-api-context\";\nimport { StoreApiProvider } from \"@fluid-app/portal-core/store-api-context\";\nimport type { StoreApi } from \"@fluid-app/portal-core/store-api\";\nimport { PayApiProvider } from \"@fluid-app/portal-core/pay-api-context\";\nimport { MySiteApiProvider } from \"@fluid-app/mysite-core/mysite-api-context\";\nimport { CountriesApiProvider } from \"@fluid-app/store-core/countries-api-context\";\nimport { LanguagesApiProvider } from \"@fluid-app/store-core/languages-api-context\";\nimport { AddressAutocompleteApiProvider } from \"@fluid-app/address-autocomplete/api-context\";\nimport { createSmartyBrowserAdapter } from \"@fluid-app/address-autocomplete/adapters/smarty-browser\";\nimport { AddressFieldsApiProvider } from \"@fluid-app/address-fields/address-fields-api-context\";\nimport { createFetchClient as createPortalTenantFetchClient } from \"@fluid-app/portal-tenant-api-client\";\nimport { createFetchClient as createPortalTenantContentFetchClient } from \"@fluid-app/portal-tenant-content-api-client\";\nimport { createDataSourceApiAdapter } from \"../adapters/data-source-api-adapter\";\nimport { createAppDefinitionApiAdapter } from \"../adapters/app-definition-api-adapter\";\nimport { createAccountApiAdapter } from \"../adapters/account-api-adapter\";\nimport { createStoreApiAdapter } from \"../adapters/store-api-adapter\";\nimport { createPortalTenantPayAdapter } from \"../adapters/pay-api-adapter\";\nimport { createCountriesApiAdapter } from \"../adapters/countries-api-adapter\";\nimport { createLanguagesApiAdapter } from \"../adapters/languages-api-adapter\";\nimport { createMySiteApiAdapter } from \"../adapters/mysite-api-adapter\";\nimport { createAddressFieldsApiAdapter } from \"../adapters/address-fields-api-adapter\";\nimport { FluidThemeProvider } from \"./FluidThemeProvider\";\nimport { PortalTenantClientProvider } from \"./PortalTenantClientProvider\";\nimport { DataSourceRegistryProvider } from \"@fluid-app/portal-react/data-sources/registry-context\";\nimport {\n composePortalRuntimeProviders,\n type PortalRuntimeProviderMap,\n} from \"@fluid-app/portal-react/runtime/provider-stack\";\nimport {\n RegistryProvider,\n PortalUrlVariablesProvider,\n type WidgetRegistry,\n} from \"@fluid-app/portal-widgets/contexts\";\nimport {\n LocaleProvider,\n useActiveLocale,\n} from \"@fluid-app/i18n/locale-context\";\nimport { PortalProductsApiProvider } from \"../products/PortalProductsApiProvider\";\nimport { PortalContentApiProvider } from \"../content/PortalContentApiProvider\";\nimport { ShellTranslationBridge } from \"./ShellTranslationBridge\";\nimport { PortalWidgetsApiProvider } from \"../widgets/PortalWidgetsApiProvider\";\nimport { PortalContactsApiProvider } from \"../contacts/PortalContactsApiProvider\";\nimport { ShopTranslationBridge } from \"./ShopTranslationBridge\";\nimport { ContactsTranslationBridge } from \"./ContactsTranslationBridge\";\nimport { DEFAULT_SDK_WIDGET_REGISTRY } from \"../core/default-widget-registry\";\nimport { preloadLocale } from \"@fluid-app/i18n/preload-locale\";\nimport { ordersDomain } from \"@fluid-app/orders-core/translation-adapter\";\nimport { subscriptionsDomain } from \"@fluid-app/subscriptions-core/translation-adapter\";\nimport { profileDomain } from \"@fluid-app/profile-core/translation-adapter\";\nimport { messagingDomain } from \"@fluid-app/messaging-core/translation-adapter\";\nimport { shareablesDomain } from \"@fluid-app/shareables-core/translation-adapter\";\nimport { upgradeDomain } from \"@fluid-app/portal-pro-upgrade-ui/translation-adapter\";\nimport { appDownloadDomain } from \"@fluid-app/portal-app-download-ui/translation-adapter\";\nimport { mysiteDomain } from \"@fluid-app/mysite-core/translation-adapter\";\n\nimport {\n getOptimisticLocale,\n persistLocale,\n} from \"../hooks/use-portal-active-locale\";\nimport { useAccount } from \"../hooks/use-account\";\nimport type { FluidSDKConfig } from \"../types/config\";\nimport type { ThemeDefinition } from \"../types/theme\";\n\n/**\n * Context value for FluidProvider.\n * All properties are readonly since context values should not be mutated by consumers.\n */\ninterface FluidContextValue {\n /** SDK configuration */\n readonly config: FluidSDKConfig;\n}\n\ntype FluidRuntime = {\n baseUrl: string;\n dataSourceApi: DataSourceApi;\n getApiHeaders: () => Record<string, string>;\n dataSourceVariables: Record<string, string> | undefined;\n registry: WidgetRegistry;\n storeApi: StoreApi;\n};\n\ntype FluidRuntimeProviderProps = {\n children: ReactNode;\n} & FluidRuntime;\n\nconst fluidRuntimeProviders: PortalRuntimeProviderMap<FluidRuntime> = {\n \"store-api-provider\": {\n id: \"store-api-provider\",\n Provider: ({ children, storeApi }: FluidRuntimeProviderProps) => {\n return <StoreApiProvider value={storeApi}>{children}</StoreApiProvider>;\n },\n },\n \"portal-url-variables-provider\": {\n id: \"portal-url-variables-provider\",\n Provider: ({ children }: { children: ReactNode }) => {\n return (\n <PortalUrlVariablesProvider value={{}}>\n {children}\n </PortalUrlVariablesProvider>\n );\n },\n },\n \"products-api-provider\": {\n id: \"products-api-provider\",\n Provider: ({ children }: { children: ReactNode }) => {\n return <PortalProductsApiProvider>{children}</PortalProductsApiProvider>;\n },\n },\n \"content-api-provider\": {\n id: \"content-api-provider\",\n Provider: ({ children }: { children: ReactNode }) => {\n return <PortalContentApiProvider>{children}</PortalContentApiProvider>;\n },\n },\n \"shell-translation-provider\": {\n id: \"shell-translation-provider\",\n Provider: ({ children }: { children: ReactNode }) => {\n return <ShellTranslationBridge>{children}</ShellTranslationBridge>;\n },\n },\n \"shop-translation-provider\": {\n id: \"shop-translation-provider\",\n Provider: ({ children }: { children: ReactNode }) => {\n return <ShopTranslationBridge>{children}</ShopTranslationBridge>;\n },\n },\n \"contacts-translation-provider\": {\n id: \"contacts-translation-provider\",\n Provider: ({ children }: { children: ReactNode }) => {\n return <ContactsTranslationBridge>{children}</ContactsTranslationBridge>;\n },\n },\n \"contacts-api-provider\": {\n id: \"contacts-api-provider\",\n Provider: ({ children }: { children: ReactNode }) => {\n return <PortalContactsApiProvider>{children}</PortalContactsApiProvider>;\n },\n },\n \"data-source-api-provider\": {\n id: \"data-source-api-provider\",\n Provider: ({ children, dataSourceApi }: FluidRuntimeProviderProps) => {\n return (\n <DataSourceApiProvider value={dataSourceApi}>\n {children}\n </DataSourceApiProvider>\n );\n },\n },\n \"data-source-registry-provider\": {\n id: \"data-source-registry-provider\",\n Provider: ({\n children,\n baseUrl,\n getApiHeaders,\n dataSourceVariables,\n }: FluidRuntimeProviderProps) => {\n return (\n <DataSourceRegistryProvider\n baseUrl={baseUrl}\n getApiHeaders={getApiHeaders}\n variables={dataSourceVariables}\n >\n {children}\n </DataSourceRegistryProvider>\n );\n },\n },\n \"widgets-api-provider\": {\n id: \"widgets-api-provider\",\n Provider: ({\n children,\n baseUrl,\n getApiHeaders,\n registry,\n }: FluidRuntimeProviderProps) => {\n return (\n <PortalWidgetsApiProvider\n baseUrl={baseUrl}\n getApiHeaders={getApiHeaders}\n >\n <RegistryProvider registry={registry}>{children}</RegistryProvider>\n </PortalWidgetsApiProvider>\n );\n },\n },\n};\n\nconst FluidContext = createContext<FluidContextValue | null>(null);\n\nconst PER_SCREEN_DOMAINS = [\n ordersDomain,\n subscriptionsDomain,\n profileDomain,\n messagingDomain,\n shareablesDomain,\n upgradeDomain,\n appDownloadDomain,\n mysiteDomain,\n];\n\nexport interface FluidProviderProps {\n /** SDK configuration (baseUrl, auth, etc.) */\n config: FluidSDKConfig;\n /** React children */\n children: ReactNode;\n /** Optional custom QueryClient instance */\n queryClient?: QueryClient;\n /** Optional initial theme */\n initialTheme?: ThemeDefinition;\n /** Optional container for scoped theme application */\n themeContainer?: HTMLElement | null;\n /** Optional custom widget registry (defaults to all built-in widgets) */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n widgetRegistry?: Record<string, React.ComponentType<any>>;\n /** Dynamic variables for data source endpoint path substitution (e.g., { rep_id: \"123\" }) */\n variables?: Record<string, string>;\n}\n\n/**\n * Main provider for the Fluid Portal SDK\n *\n * @example\n * ```tsx\n * function App() {\n * return (\n * <FluidProvider\n * config={{ baseUrl: \"\" }}\n * >\n * <YourApp />\n * </FluidProvider>\n * );\n * }\n * ```\n */\nexport function FluidProvider({\n config,\n children,\n queryClient,\n initialTheme,\n themeContainer,\n widgetRegistry,\n variables,\n}: FluidProviderProps): React.JSX.Element {\n // Create default QueryClient if none provided\n // Using lazy initialization to ensure it's only created once\n const defaultQueryClient = useMemo(() => {\n const persister =\n typeof window !== \"undefined\" && !import.meta.env?.DEV\n ? createPersister()\n : undefined;\n\n return new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: 1000 * 60, // 1 minute\n retry: 1,\n persister: persister?.persisterFn,\n refetchOnWindowFocus: false,\n },\n },\n });\n }, []);\n\n // Keep latest config in a ref so client creation reads current values\n const configRef = useRef(config);\n configRef.current = config;\n\n // Read the CSRF token from the <meta name=\"csrf-token\"> tag that Rails\n // embeds in the HTML. Required for non-GET requests to the BFF.\n const csrfToken =\n typeof document !== \"undefined\"\n ? document\n .querySelector('meta[name=\"csrf-token\"]')\n ?.getAttribute(\"content\")\n : null;\n\n const portalTenantClient = useMemo(\n () =>\n createPortalTenantFetchClient({\n baseUrl: configRef.current.baseUrl,\n onAuthError: () => configRef.current.onAuthError?.(),\n credentials: \"include\",\n defaultHeaders: {\n ...(csrfToken ? { \"X-CSRF-Token\": csrfToken } : {}),\n },\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [config.baseUrl, csrfToken],\n );\n\n // Create portal-tenant content FetchClient for media, pages, and playlists endpoints\n const portalTenantContentClient = useMemo(\n () =>\n createPortalTenantContentFetchClient({\n baseUrl: configRef.current.baseUrl,\n onAuthError: () => configRef.current.onAuthError?.(),\n credentials: \"include\",\n defaultHeaders: {\n ...(csrfToken ? { \"X-CSRF-Token\": csrfToken } : {}),\n },\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [config.baseUrl, csrfToken],\n );\n\n // Create DataSourceApi adapter backed by BFF clients\n const dataSourceApi = useMemo(\n () =>\n createDataSourceApiAdapter(portalTenantClient, portalTenantContentClient),\n [portalTenantClient, portalTenantContentClient],\n );\n\n // Create AppDefinitionApi adapter for dependency inversion\n const appDefinitionApi = useMemo(\n () => createAppDefinitionApiAdapter(portalTenantClient),\n [portalTenantClient],\n );\n\n // Create AccountApi adapter for dependency inversion\n const accountApi = useMemo(\n () => createAccountApiAdapter(portalTenantClient),\n [portalTenantClient],\n );\n\n // Create StoreApi adapter for dependency inversion\n const storeApi = useMemo(\n () => createStoreApiAdapter(portalTenantClient),\n [portalTenantClient],\n );\n\n // Create PayApi adapter for dependency inversion\n const payApi = useMemo(\n () => createPortalTenantPayAdapter(portalTenantClient),\n [portalTenantClient],\n );\n\n // Create CountriesApi adapter for dependency inversion\n const countriesApi = useMemo(\n () => createCountriesApiAdapter(portalTenantClient),\n [portalTenantClient],\n );\n\n // Create LanguagesApi adapter for dependency inversion\n const languagesApi = useMemo(\n () => createLanguagesApiAdapter(portalTenantClient),\n [portalTenantClient],\n );\n\n // Create MySiteApi adapter for dependency inversion\n const mysiteApi = useMemo(\n () => createMySiteApiAdapter(portalTenantClient),\n [portalTenantClient],\n );\n\n const addressFieldsApi = useMemo(\n () => createAddressFieldsApiAdapter(portalTenantClient),\n [portalTenantClient],\n );\n\n const addressAutocompleteApi = useMemo(\n () =>\n createSmartyBrowserAdapter({\n embeddedKey: config.smartyEmbeddedKey ?? \"\",\n }),\n [config.smartyEmbeddedKey],\n );\n\n // Context value only changes when baseUrl changes, but captures the live\n // config so consumers reading non-baseUrl fields (onAuthError,\n // defaultHeaders) see current values after parent re-renders.\n const contextValue = useMemo(\n () => ({ config }) satisfies FluidContextValue,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [config.baseUrl],\n );\n\n // Stable callback to provide auth headers for data source fetchers.\n // Auth is handled by session cookies via `credentials: 'include'` on fetch calls.\n const getApiHeaders = useCallback((): Record<string, string> => {\n return {\n \"Content-Type\": \"application/json\",\n };\n }, []);\n\n // Data source endpoints (e.g., /company/v1/products) expect the base URL\n // to include /api, matching fluid-admin's NEXT_PUBLIC_API_URL pattern.\n const dataSourceBaseUrl = useMemo(() => {\n const base = config.baseUrl.replace(/\\/+$/, \"\");\n return base.endsWith(\"/api\") ? base : `${base}/api`;\n }, [config.baseUrl]);\n\n // Variables for data source path interpolation (e.g., { rep_id: \"123\" }).\n // Must be passed explicitly via the `variables` prop.\n const effectiveVariables = variables;\n\n // Build theme provider props conditionally to satisfy exactOptionalPropertyTypes\n // We only pass props that are defined to avoid passing `undefined` explicitly\n const themeProviderProps = {\n ...(initialTheme !== undefined && { initialTheme }),\n ...(themeContainer !== undefined && { container: themeContainer }),\n };\n\n // Use provided registry or fall back to the default SDK widget registry\n const registry = widgetRegistry ?? DEFAULT_SDK_WIDGET_REGISTRY;\n\n return (\n <QueryClientProvider client={queryClient ?? defaultQueryClient}>\n <FluidContext.Provider value={contextValue}>\n <PortalTenantClientProvider value={portalTenantClient}>\n <AppDefinitionApiProvider value={appDefinitionApi}>\n <AccountApiProvider value={accountApi}>\n <PayApiProvider value={payApi}>\n <CountriesApiProvider value={countriesApi}>\n <LanguagesApiProvider value={languagesApi}>\n <PortalLocaleProvider>\n <MySiteApiProvider value={mysiteApi}>\n <AddressFieldsApiProvider value={addressFieldsApi}>\n <AddressAutocompleteApiProvider\n value={addressAutocompleteApi}\n >\n <PortalRuntimeProviderStack\n baseUrl={dataSourceBaseUrl}\n getApiHeaders={getApiHeaders}\n dataSourceApi={dataSourceApi}\n variables={effectiveVariables}\n registry={registry}\n storeApi={storeApi}\n themeProviderProps={themeProviderProps}\n >\n {children}\n </PortalRuntimeProviderStack>\n </AddressAutocompleteApiProvider>\n </AddressFieldsApiProvider>\n </MySiteApiProvider>\n </PortalLocaleProvider>\n </LanguagesApiProvider>\n </CountriesApiProvider>\n </PayApiProvider>\n </AccountApiProvider>\n </AppDefinitionApiProvider>\n </PortalTenantClientProvider>\n </FluidContext.Provider>\n </QueryClientProvider>\n );\n}\n\n/**\n * Inner component that sets up data source providers and theme.\n * Must be rendered inside FluidContext.Provider + QueryClientProvider.\n */\nfunction PortalRuntimeProviderStack({\n baseUrl,\n getApiHeaders,\n variables,\n dataSourceApi,\n registry,\n storeApi,\n children,\n themeProviderProps,\n}: {\n baseUrl: string;\n getApiHeaders: () => Record<string, string>;\n variables: Record<string, string> | undefined;\n dataSourceApi: DataSourceApi;\n registry: WidgetRegistry;\n storeApi: StoreApi;\n themeProviderProps: {\n readonly initialTheme?: ThemeDefinition;\n readonly container?: HTMLElement | null;\n };\n children: ReactNode;\n}): ReactNode {\n const { locale } = useActiveLocale();\n\n useEffect(() => {\n preloadLocale(PER_SCREEN_DOMAINS, locale);\n }, [locale]);\n\n const dataSourceVariables = useMemo(\n () => ({ language_iso: locale, ...(variables ?? {}) }),\n [locale, variables],\n );\n\n const runtime: FluidRuntime = useMemo(\n () => ({\n baseUrl,\n getApiHeaders,\n dataSourceApi,\n dataSourceVariables,\n registry,\n storeApi,\n }),\n [\n baseUrl,\n getApiHeaders,\n dataSourceApi,\n dataSourceVariables,\n registry,\n storeApi,\n ],\n );\n\n return (\n <FluidThemeProvider {...themeProviderProps}>\n <FluidConfigHydrator>\n {composePortalRuntimeProviders(\n fluidRuntimeProviders,\n runtime,\n children,\n )}\n </FluidConfigHydrator>\n </FluidThemeProvider>\n );\n}\n\nfunction PortalLocaleProvider({\n children,\n}: {\n children: ReactNode;\n}): React.JSX.Element {\n return (\n <LocaleProvider\n initialLocale={getOptimisticLocale()}\n onLocaleChange={persistLocale}\n >\n {children}\n </LocaleProvider>\n );\n}\n\n/**\n * Inner provider that hydrates config.countryIso from the authenticated\n * account once it resolves. Renders below QueryClientProvider AND\n * AccountApiProvider (both established earlier in this file) so useAccount\n * has its required context. Re-publishes FluidContext.Provider with the\n * merged config; nested override is the standard React pattern for context\n * derivation.\n *\n * Identity-returns the outer context when account has nothing to add,\n * avoiding re-render churn on the common path.\n */\nfunction FluidConfigHydrator({ children }: { children: ReactNode }) {\n const outer = useFluidContext();\n const { data: account } = useAccount();\n const merged = useMemo<FluidContextValue>(() => {\n // Account country is the source of truth for authenticated portal users;\n // it overrides any caller-supplied config.countryIso (e.g. a host app\n // passing \"CA\"). When account.default_country_iso is null (rep-only\n // memberships, customers with no default address) we fall through to\n // the outer config — which becomes the natural fallback path.\n if (!account?.default_country_iso) return outer;\n return {\n config: { ...outer.config, countryIso: account.default_country_iso },\n };\n }, [outer, account?.default_country_iso]);\n return (\n <FluidContext.Provider value={merged}>{children}</FluidContext.Provider>\n );\n}\n\n/**\n * Hook to access the Fluid context\n * Must be used within a FluidProvider\n */\nexport function useFluidContext(): FluidContextValue {\n const context = use(FluidContext);\n if (!context) {\n throw new Error(\"useFluidContext must be used within a FluidProvider\");\n }\n return context;\n}\n"],"x_google_ignoreList":[0,1,2,3,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEnMzB,QAAO,UAAA,YAAA;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"}
1
+ {"version":3,"file":"FluidProvider-DoY1xRUM.cjs","names":["#providerCalled","#provider","isPlainObject","VERSION","e","t","r","t","s","e","t","s","r","u","o","isFunction","AxiosError","utils","prototype","Stream","util","util","Stream","stream","util","http","https","parseUrl","crypto","FormData","utils","toFormData","PlatformFormData","AxiosError","encode","toFormData","utils","utils","platform","toFormData","platform","utils","utils","utils","transitionalDefaults","toFormData","AxiosError","platform","utils","utils","AxiosHeaders","parseHeaders","AxiosHeaders","isCancel","CanceledError","AxiosError","utils","AxiosError","url","process","os","tty","util","url","http","https","exports","VERSION","platform","AxiosError","utils","platform","utils","Readable","utils","utils","utils","followRedirects","platform","stream","EventEmitter","CanceledError","AxiosError","AxiosHeaders","transitionalDefaults","platform","platform","utils","AxiosHeaders","mergeConfig","utils","mergeConfig","AxiosHeaders","utils","platform","isURLSameOrigin","cookies","resolveConfig","AxiosHeaders","AxiosError","transitionalDefaults","utils","CanceledError","platform","AxiosError","CanceledError","utils","utils","ReadableStream","TextEncoder","platform","AxiosError","resolveConfig","AxiosHeaders","httpAdapter","xhrAdapter","fetchAdapter.getFetch","utils","getAdapter","AxiosError","CanceledError","AxiosHeaders","adapters","isCancel","validators","VERSION","AxiosError","validator","Axios","mergeConfig","utils","AxiosHeaders","CancelToken","CanceledError","spread","isAxiosError","utils","HttpStatusCode","Axios","mergeConfig","CanceledError","CancelToken","isCancel","VERSION","toFormData","AxiosError","spread","isAxiosError","AxiosHeaders","utils","adapters","HttpStatusCode","r","m","o","s","r","e","s","t","e","o","s","a","t","e","s","s","e","t","r","n","r","a","e","e","s","a","s","t","s","e","r","a","e","e","e","a","e","t","s","i","t","a","t","a","t","e","o","r","n","t","s","e","a","e","n","s","m","r","i","t","d","a","c","o","p","e","f","s","r","t","e","i","t","a","s","i","o","n","r","p","t","e","m","d","t","e","s","a","r","m","s","n","o","i","e","u","t","p","s","t","e","t","e","r","a","s","a","r","n","t","m","e","i","s","p","o","u","n","e","s","a","r","n","e","i","t","m","o","p","s","u","e","t","s","r","n","r","a","e","m","s","i","o","p","t","u","s","i","t","o","r","n","s","d","e","i","a","t","s","r","a","e","t","n","i","o","d","x","e","s","r","i","g","o","v","n","m","R","a","A","l","u","E","h","B","p","d","c","C","b","f","S","j","w","t","n","e","r","i","t","t","s","e","s","e","o","h","t","e","t","s","t","s","s","t","o","t","e","r","m","s","i","u","p","n","a","l","d","f","c","j","_","k","L","C","S","internationalAddressAutocomplete","core","usAutocompletePro","portalTenantPay.addresses_list","portalTenantPay.addresses_create","portalTenantPay.addresses_update","portalTenantPay.addresses_destroy","portalTenantPay.payment_methods_list","portalTenantPay.payment_methods_create","portalTenantPay.payment_methods_three_ds_confirm","portalTenantPay.payment_methods_three_ds_status","portalTenantPay.payment_methods_three_ds_cancel","portalTenantPay.payment_methods_update","portalTenantPay.payment_methods_destroy","portalTenantPay.payment_methods_vault_show","portalTenantPay.points_ledgers_list","mapMeta","portalTenantStore.countries_list","portalTenantStore.languages_list","portalTenantMysite.mysite_profile_show","portalTenantMysite.mysite_profile_update","portalTenantMysite.mysite_settings_update","portalTenantMysite.mysite_links_list","portalTenantMysite.mysite_links_create","portalTenantMysite.mysite_links_update","portalTenantMysite.mysite_links_destroy","portalTenantMysite.mysite_links_bulk_reorder","portalTenantMysite.mysite_favorites_list","portalTenantMysite.mysite_favorites_create","portalTenantMysite.mysite_favorites_destroy","portalTenantMysite.mysite_favorites_bulk_reorder","portalTenantMysite.mysite_themes_list","usePortalTenantClient","PortalProductsCoreProvider","createDomainTranslations","createStaticDictAdapter","useActiveLocale","useDomainDict","ShellTranslationProvider","titleCaseFromSnake","portalTenantMysite.mysite_profile_show","portalTenantPay.points_ledgers_list","usePortalTenantClient","WidgetsApiProvider","createDomainTranslations","createStaticDictAdapter","createTranslationContext","useActiveLocale","useDomainDict","createDomainTranslations","createStaticDictAdapter","createDomainTranslations","createStaticDictAdapter","createDomainTranslations","createStaticDictAdapter","createDomainTranslations","createStaticDictAdapter","StoreApiProvider","PortalUrlVariablesProvider","PortalContentApiProvider","ContactsTranslationBridge","PortalContactsApiProvider","DataSourceApiProvider","DataSourceRegistryProvider","RegistryProvider","shareablesDomain","upgradeDomain","appDownloadDomain","mysiteDomain","QueryClient","createPortalTenantFetchClient","createPortalTenantContentFetchClient","QueryClientProvider","PortalTenantClientProvider","AppDefinitionApiProvider","AccountApiProvider","CountriesApiProvider","MySiteApiProvider","useActiveLocale","FluidThemeProvider","LocaleProvider","useAccount"],"sources":["../../../../node_modules/.pnpm/@tanstack+query-core@5.101.0/node_modules/@tanstack/query-core/build/modern/timeoutManager.js","../../../../node_modules/.pnpm/@tanstack+query-core@5.101.0/node_modules/@tanstack/query-core/build/modern/utils.js","../../../../node_modules/.pnpm/@tanstack+query-core@5.101.0/node_modules/@tanstack/query-core/build/modern/notifyManager.js","../../../../node_modules/.pnpm/@tanstack+query-persist-client-core@5.91.11/node_modules/@tanstack/query-persist-client-core/build/modern/createPersister.js","../../../platform/query-persister/src/persister.ts","../../core/src/pay-api-context.ts","../../../store/core/src/languages-api-context.ts","../../../platform/address-autocomplete/src/api-context.ts","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/_virtual/_commonjsHelpers.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/Errors.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/Batch.mjs","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/bind.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/utils.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/core/AxiosError.js","../../../../node_modules/.pnpm/delayed-stream@1.0.0/node_modules/delayed-stream/lib/delayed_stream.js","../../../../node_modules/.pnpm/combined-stream@1.0.8/node_modules/combined-stream/lib/combined_stream.js","../../../../node_modules/.pnpm/mime-db@1.52.0/node_modules/mime-db/db.json","../../../../node_modules/.pnpm/mime-db@1.52.0/node_modules/mime-db/index.js","../../../../node_modules/.pnpm/mime-types@2.1.35/node_modules/mime-types/index.js","../../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/defer.js","../../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/async.js","../../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/abort.js","../../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/iterate.js","../../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/state.js","../../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/terminator.js","../../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/parallel.js","../../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/serialOrdered.js","../../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/serial.js","../../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/index.js","../../../../node_modules/.pnpm/es-object-atoms@1.1.1/node_modules/es-object-atoms/index.js","../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js","../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js","../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js","../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js","../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js","../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js","../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js","../../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js","../../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js","../../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js","../../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js","../../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js","../../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js","../../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js","../../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js","../../../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js","../../../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js","../../../../node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js","../../../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js","../../../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js","../../../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js","../../../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js","../../../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js","../../../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js","../../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js","../../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js","../../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js","../../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js","../../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js","../../../../node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js","../../../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js","../../../../node_modules/.pnpm/hasown@2.0.2/node_modules/hasown/index.js","../../../../node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js","../../../../node_modules/.pnpm/has-tostringtag@1.0.2/node_modules/has-tostringtag/shams.js","../../../../node_modules/.pnpm/es-set-tostringtag@2.1.0/node_modules/es-set-tostringtag/index.js","../../../../node_modules/.pnpm/form-data@4.0.5/node_modules/form-data/lib/populate.js","../../../../node_modules/.pnpm/form-data@4.0.5/node_modules/form-data/lib/form_data.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/platform/node/classes/FormData.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/toFormData.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/buildURL.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/core/InterceptorManager.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/defaults/transitional.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/platform/node/classes/URLSearchParams.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/platform/node/index.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/platform/common/utils.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/platform/index.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/toURLEncodedForm.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/formDataToJSON.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/defaults/index.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/parseHeaders.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/core/AxiosHeaders.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/core/transformData.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/cancel/isCancel.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/cancel/CanceledError.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/core/settle.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/isAbsoluteURL.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/combineURLs.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/core/buildFullPath.js","../../../../node_modules/.pnpm/proxy-from-env@1.1.0/node_modules/proxy-from-env/index.js","../../../../node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js","../../../../node_modules/.pnpm/debug@4.4.3_supports-color@10.2.2/node_modules/debug/src/common.js","../../../../node_modules/.pnpm/debug@4.4.3_supports-color@10.2.2/node_modules/debug/src/browser.js","../../../../node_modules/.pnpm/supports-color@10.2.2/node_modules/supports-color/index.js","../../../../node_modules/.pnpm/debug@4.4.3_supports-color@10.2.2/node_modules/debug/src/node.js","../../../../node_modules/.pnpm/debug@4.4.3_supports-color@10.2.2/node_modules/debug/src/index.js","../../../../node_modules/.pnpm/follow-redirects@1.15.11/node_modules/follow-redirects/debug.js","../../../../node_modules/.pnpm/follow-redirects@1.15.11/node_modules/follow-redirects/index.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/env/data.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/parseProtocol.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/fromDataURI.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/AxiosTransformStream.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/readBlob.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/formDataToStream.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/callbackify.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/speedometer.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/throttle.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/progressEventReducer.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/adapters/http.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/isURLSameOrigin.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/cookies.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/core/mergeConfig.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/resolveConfig.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/adapters/xhr.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/composeSignals.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/trackStream.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/adapters/fetch.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/adapters/adapters.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/core/dispatchRequest.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/validator.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/core/Axios.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/cancel/CancelToken.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/spread.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/isAxiosError.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/HttpStatusCode.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/axios.js","../../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/index.js","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/_virtual/_axios.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/Response.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/util/buildSmartyResponse.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/HttpSender.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/SharedCredentials.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/SigningSender.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/BaseUrlSender.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/package.json.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/AgentSender.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/StaticCredentials.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/CustomHeaderSender.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/StatusCodeSender.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/LicenseSender.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/RetrySender.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/util/Sleeper.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_street/Candidate.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_street/Lookup.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/Request.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/InputData.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/util/buildInputData.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/util/sendBatch.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/util/apiToSDKKeyMap.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_street/Client.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_zipcode/Lookup.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_zipcode/Result.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_zipcode/Client.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_autocomplete_pro/Suggestion.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_autocomplete_pro/Client.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_extract/Address.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_extract/Result.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_extract/Client.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/international_street/Candidate.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/international_street/Client.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_reverse_geo/Result.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_reverse_geo/Response.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_reverse_geo/Client.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/international_address_autocomplete/Suggestion.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/international_address_autocomplete/Client.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_enrichment/Client.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/ClientBuilder.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/util/buildClients.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_autocomplete_pro/Lookup.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_extract/Lookup.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/international_street/Lookup.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_reverse_geo/Lookup.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/international_address_autocomplete/Lookup.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_enrichment/Lookup.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/us_enrichment/Response.mjs","../../../../node_modules/.pnpm/smartystreets-javascript-sdk@6.3.2/node_modules/smartystreets-javascript-sdk/dist/esm/index.mjs","../../../platform/address-autocomplete/src/adapters/smarty-browser-adapter.ts","../../../platform/address-fields/src/address-fields-api-context.ts","../../../platform/api-client-core/src/fetch-client.ts","../src/adapters/data-source-api-adapter.ts","../src/adapters/app-definition-api-adapter.ts","../src/adapters/account-api-adapter.ts","../src/adapters/store-api-adapter.ts","../../../api-clients/portal-tenant-pay/src/namespaces/portal_tenant_pay.ts","../src/adapters/pay-api-adapter.ts","../../../api-clients/portal-tenant-store/src/namespaces/portal_tenant_store.ts","../src/adapters/countries-api-adapter.ts","../src/adapters/languages-api-adapter.ts","../../../api-clients/portal-tenant-mysite/src/namespaces/portal_tenant_mysite.ts","../src/adapters/mysite-api-adapter.ts","../src/adapters/address-fields-api-adapter.ts","../../react/src/runtime/provider-stack.tsx","../src/adapters/products-api-adapter.ts","../src/products/PortalProductsApiProvider.tsx","../../core/src/shell-translation-dictionary.ts","../../core/src/shell-translation-adapter.ts","../src/providers/ShellTranslationBridge.tsx","../src/adapters/widgets-api-adapter.ts","../src/widgets/PortalWidgetsApiProvider.tsx","../../../shop/core/src/translation-dictionary.ts","../../../shop/core/src/translation-adapter.ts","../../../shop/core/src/translation-api-context.ts","../src/providers/ShopTranslationBridge.tsx","../../core/src/widget-utils/utils.ts","../../widgets/src/widgets/index.ts","../src/core/default-widget-registry.ts","../../../platform/i18n/src/preload-locale.ts","../../../orders/core/src/translation-dictionary.ts","../../../orders/core/src/translation-adapter.ts","../../../subscriptions/core/src/translation-dictionary.ts","../../../subscriptions/core/src/translation-adapter.ts","../../../profile/core/src/translation-dictionary.ts","../../../profile/core/src/translation-adapter.ts","../../../messaging/core/src/translation-dictionary.ts","../../../messaging/core/src/translation-adapter.ts","../src/hooks/use-portal-active-locale.ts","../src/providers/FluidProvider.tsx"],"sourcesContent":["// src/timeoutManager.ts\nvar defaultTimeoutProvider = {\n // We need the wrapper function syntax below instead of direct references to\n // global setTimeout etc.\n //\n // BAD: `setTimeout: setTimeout`\n // GOOD: `setTimeout: (cb, delay) => setTimeout(cb, delay)`\n //\n // If we use direct references here, then anything that wants to spy on or\n // replace the global setTimeout (like tests) won't work since we'll already\n // have a hard reference to the original implementation at the time when this\n // file was imported.\n setTimeout: (callback, delay) => setTimeout(callback, delay),\n clearTimeout: (timeoutId) => clearTimeout(timeoutId),\n setInterval: (callback, delay) => setInterval(callback, delay),\n clearInterval: (intervalId) => clearInterval(intervalId)\n};\nvar TimeoutManager = class {\n // We cannot have TimeoutManager<T> as we must instantiate it with a concrete\n // type at app boot; and if we leave that type, then any new timer provider\n // would need to support the default provider's concrete timer ID, which is\n // infeasible across environments.\n //\n // We settle for type safety for the TimeoutProvider type, and accept that\n // this class is unsafe internally to allow for extension.\n #provider = defaultTimeoutProvider;\n #providerCalled = false;\n setTimeoutProvider(provider) {\n if (process.env.NODE_ENV !== \"production\") {\n if (this.#providerCalled && provider !== this.#provider) {\n console.error(\n `[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.`,\n { previous: this.#provider, provider }\n );\n }\n }\n this.#provider = provider;\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = false;\n }\n }\n setTimeout(callback, delay) {\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = true;\n }\n return this.#provider.setTimeout(callback, delay);\n }\n clearTimeout(timeoutId) {\n this.#provider.clearTimeout(timeoutId);\n }\n setInterval(callback, delay) {\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = true;\n }\n return this.#provider.setInterval(callback, delay);\n }\n clearInterval(intervalId) {\n this.#provider.clearInterval(intervalId);\n }\n};\nvar timeoutManager = new TimeoutManager();\nfunction systemSetTimeoutZero(callback) {\n setTimeout(callback, 0);\n}\nexport {\n TimeoutManager,\n defaultTimeoutProvider,\n systemSetTimeoutZero,\n timeoutManager\n};\n//# sourceMappingURL=timeoutManager.js.map","// src/utils.ts\nimport { timeoutManager } from \"./timeoutManager.js\";\nvar isServer = typeof window === \"undefined\" || \"Deno\" in globalThis;\nfunction noop() {\n}\nfunction functionalUpdate(updater, input) {\n return typeof updater === \"function\" ? updater(input) : updater;\n}\nfunction isValidTimeout(value) {\n return typeof value === \"number\" && value >= 0 && value !== Infinity;\n}\nfunction timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nfunction resolveStaleTime(staleTime, query) {\n return typeof staleTime === \"function\" ? staleTime(query) : staleTime;\n}\nfunction resolveQueryBoolean(option, query) {\n return typeof option === \"function\" ? option(query) : option;\n}\nfunction matchQuery(filters, query) {\n const {\n type = \"all\",\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale\n } = filters;\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false;\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false;\n }\n }\n if (type !== \"all\") {\n const isActive = query.isActive();\n if (type === \"active\" && !isActive) {\n return false;\n }\n if (type === \"inactive\" && isActive) {\n return false;\n }\n }\n if (typeof stale === \"boolean\" && query.isStale() !== stale) {\n return false;\n }\n if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n return false;\n }\n if (predicate && !predicate(query)) {\n return false;\n }\n return true;\n}\nfunction matchMutation(filters, mutation) {\n const { exact, status, predicate, mutationKey } = filters;\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n if (status && mutation.state.status !== status) {\n return false;\n }\n if (predicate && !predicate(mutation)) {\n return false;\n }\n return true;\n}\nfunction hashQueryKeyByOptions(queryKey, options) {\n const hashFn = options?.queryKeyHashFn || hashKey;\n return hashFn(queryKey);\n}\nfunction hashKey(queryKey) {\n return JSON.stringify(\n queryKey,\n (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {\n result[key] = val[key];\n return result;\n }, {}) : val\n );\n}\nfunction partialMatchKey(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (a && b && typeof a === \"object\" && typeof b === \"object\") {\n return Object.keys(b).every((key) => partialMatchKey(a[key], b[key]));\n }\n return false;\n}\nvar hasOwn = Object.prototype.hasOwnProperty;\nfunction replaceEqualDeep(a, b, depth = 0) {\n if (a === b) {\n return a;\n }\n if (depth > 500) return b;\n const array = isPlainArray(a) && isPlainArray(b);\n if (!array && !(isPlainObject(a) && isPlainObject(b))) return b;\n const aItems = array ? a : Object.keys(a);\n const aSize = aItems.length;\n const bItems = array ? b : Object.keys(b);\n const bSize = bItems.length;\n const copy = array ? new Array(bSize) : {};\n let equalItems = 0;\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i];\n const aItem = a[key];\n const bItem = b[key];\n if (aItem === bItem) {\n copy[key] = aItem;\n if (array ? i < aSize : hasOwn.call(a, key)) equalItems++;\n continue;\n }\n if (aItem === null || bItem === null || typeof aItem !== \"object\" || typeof bItem !== \"object\") {\n copy[key] = bItem;\n continue;\n }\n const v = replaceEqualDeep(aItem, bItem, depth + 1);\n copy[key] = v;\n if (v === aItem) equalItems++;\n }\n return aSize === bSize && equalItems === aSize ? a : copy;\n}\nfunction shallowEqualObjects(a, b) {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false;\n }\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n}\nfunction isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n}\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n }\n const ctor = o.constructor;\n if (ctor === void 0) {\n return true;\n }\n const prot = ctor.prototype;\n if (!hasObjectPrototype(prot)) {\n return false;\n }\n if (!prot.hasOwnProperty(\"isPrototypeOf\")) {\n return false;\n }\n if (Object.getPrototypeOf(o) !== Object.prototype) {\n return false;\n }\n return true;\n}\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === \"[object Object]\";\n}\nfunction sleep(timeout) {\n return new Promise((resolve) => {\n timeoutManager.setTimeout(resolve, timeout);\n });\n}\nfunction replaceData(prevData, data, options) {\n if (typeof options.structuralSharing === \"function\") {\n return options.structuralSharing(prevData, data);\n } else if (options.structuralSharing !== false) {\n if (process.env.NODE_ENV !== \"production\") {\n try {\n return replaceEqualDeep(prevData, data);\n } catch (error) {\n console.error(\n `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options.queryHash}]: ${error}`\n );\n throw error;\n }\n }\n return replaceEqualDeep(prevData, data);\n }\n return data;\n}\nfunction keepPreviousData(previousData) {\n return previousData;\n}\nfunction addToEnd(items, item, max = 0) {\n const newItems = [...items, item];\n return max && newItems.length > max ? newItems.slice(1) : newItems;\n}\nfunction addToStart(items, item, max = 0) {\n const newItems = [item, ...items];\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems;\n}\nvar skipToken = /* @__PURE__ */ Symbol();\nfunction ensureQueryFn(options, fetchOptions) {\n if (process.env.NODE_ENV !== \"production\") {\n if (options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'`\n );\n }\n }\n if (!options.queryFn && fetchOptions?.initialPromise) {\n return () => fetchOptions.initialPromise;\n }\n if (!options.queryFn || options.queryFn === skipToken) {\n return () => Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`));\n }\n return options.queryFn;\n}\nfunction shouldThrowError(throwOnError, params) {\n if (typeof throwOnError === \"function\") {\n return throwOnError(...params);\n }\n return !!throwOnError;\n}\nfunction addConsumeAwareSignal(object, getSignal, onCancelled) {\n let consumed = false;\n let signal;\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n signal ??= getSignal();\n if (consumed) {\n return signal;\n }\n consumed = true;\n if (signal.aborted) {\n onCancelled();\n } else {\n signal.addEventListener(\"abort\", onCancelled, { once: true });\n }\n return signal;\n }\n });\n return object;\n}\nexport {\n addConsumeAwareSignal,\n addToEnd,\n addToStart,\n ensureQueryFn,\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n isPlainArray,\n isPlainObject,\n isServer,\n isValidTimeout,\n keepPreviousData,\n matchMutation,\n matchQuery,\n noop,\n partialMatchKey,\n replaceData,\n replaceEqualDeep,\n resolveQueryBoolean,\n resolveStaleTime,\n shallowEqualObjects,\n shouldThrowError,\n skipToken,\n sleep,\n timeUntilStale\n};\n//# sourceMappingURL=utils.js.map","// src/notifyManager.ts\nimport { systemSetTimeoutZero } from \"./timeoutManager.js\";\nvar defaultScheduler = systemSetTimeoutZero;\nfunction createNotifyManager() {\n let queue = [];\n let transactions = 0;\n let notifyFn = (callback) => {\n callback();\n };\n let batchNotifyFn = (callback) => {\n callback();\n };\n let scheduleFn = defaultScheduler;\n const schedule = (callback) => {\n if (transactions) {\n queue.push(callback);\n } else {\n scheduleFn(() => {\n notifyFn(callback);\n });\n }\n };\n const flush = () => {\n const originalQueue = queue;\n queue = [];\n if (originalQueue.length) {\n scheduleFn(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback);\n });\n });\n });\n }\n };\n return {\n batch: (callback) => {\n let result;\n transactions++;\n try {\n result = callback();\n } finally {\n transactions--;\n if (!transactions) {\n flush();\n }\n }\n return result;\n },\n /**\n * All calls to the wrapped function will be batched.\n */\n batchCalls: (callback) => {\n return (...args) => {\n schedule(() => {\n callback(...args);\n });\n };\n },\n schedule,\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n setNotifyFunction: (fn) => {\n notifyFn = fn;\n },\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n setBatchNotifyFunction: (fn) => {\n batchNotifyFn = fn;\n },\n setScheduler: (fn) => {\n scheduleFn = fn;\n }\n };\n}\nvar notifyManager = createNotifyManager();\nexport {\n createNotifyManager,\n defaultScheduler,\n notifyManager\n};\n//# sourceMappingURL=notifyManager.js.map","// src/createPersister.ts\nimport {\n hashKey,\n matchQuery,\n notifyManager,\n partialMatchKey\n} from \"@tanstack/query-core\";\nvar PERSISTER_KEY_PREFIX = \"tanstack-query\";\nfunction experimental_createQueryPersister({\n storage,\n buster = \"\",\n maxAge = 1e3 * 60 * 60 * 24,\n serialize = JSON.stringify,\n deserialize = JSON.parse,\n prefix = PERSISTER_KEY_PREFIX,\n refetchOnRestore = true,\n filters\n}) {\n function isExpiredOrBusted(persistedQuery) {\n if (persistedQuery.state.dataUpdatedAt) {\n const queryAge = Date.now() - persistedQuery.state.dataUpdatedAt;\n const expired = queryAge > maxAge;\n const busted = persistedQuery.buster !== buster;\n if (expired || busted) {\n return true;\n }\n return false;\n }\n return true;\n }\n async function retrieveQuery(queryHash, afterRestoreMacroTask) {\n if (storage != null) {\n const storageKey = `${prefix}-${queryHash}`;\n try {\n const storedData = await storage.getItem(storageKey);\n if (storedData) {\n const persistedQuery = await deserialize(storedData);\n if (isExpiredOrBusted(persistedQuery)) {\n await storage.removeItem(storageKey);\n } else {\n if (afterRestoreMacroTask) {\n notifyManager.schedule(\n () => afterRestoreMacroTask(persistedQuery)\n );\n }\n return persistedQuery.state.data;\n }\n }\n } catch (err) {\n if (process.env.NODE_ENV === \"development\") {\n console.error(err);\n console.warn(\n \"Encountered an error attempting to restore query cache from persisted location.\"\n );\n }\n await storage.removeItem(storageKey);\n }\n }\n return;\n }\n async function persistQueryByKey(queryKey, queryClient) {\n if (storage != null) {\n const query = queryClient.getQueryCache().find({ queryKey });\n if (query) {\n await persistQuery(query);\n } else {\n if (process.env.NODE_ENV === \"development\") {\n console.warn(\n \"Could not find query to be persisted. QueryKey:\",\n JSON.stringify(queryKey)\n );\n }\n }\n }\n }\n async function persistQuery(query) {\n if (storage != null) {\n const storageKey = `${prefix}-${query.queryHash}`;\n storage.setItem(\n storageKey,\n await serialize({\n state: query.state,\n queryKey: query.queryKey,\n queryHash: query.queryHash,\n buster\n })\n );\n }\n }\n async function persisterFn(queryFn, ctx, query) {\n const matchesFilter = filters ? matchQuery(filters, query) : true;\n if (matchesFilter && query.state.data === void 0 && storage != null) {\n const restoredData = await retrieveQuery(\n query.queryHash,\n (persistedQuery) => {\n query.setState({\n dataUpdatedAt: persistedQuery.state.dataUpdatedAt,\n errorUpdatedAt: persistedQuery.state.errorUpdatedAt\n });\n if (refetchOnRestore === \"always\" || refetchOnRestore === true && query.isStale()) {\n query.fetch();\n }\n }\n );\n if (restoredData !== void 0) {\n return Promise.resolve(restoredData);\n }\n }\n const queryFnResult = await queryFn(ctx);\n if (matchesFilter && storage != null) {\n notifyManager.schedule(() => {\n persistQuery(query);\n });\n }\n return Promise.resolve(queryFnResult);\n }\n async function persisterGc() {\n if (storage?.entries) {\n const entries = await storage.entries();\n for (const [key, value] of entries) {\n if (key.startsWith(prefix)) {\n const persistedQuery = await deserialize(value);\n if (isExpiredOrBusted(persistedQuery)) {\n await storage.removeItem(key);\n }\n }\n }\n } else if (process.env.NODE_ENV === \"development\") {\n throw new Error(\n \"Provided storage does not implement `entries` method. Garbage collection is not possible without ability to iterate over storage items.\"\n );\n }\n }\n async function restoreQueries(queryClient, filters2 = {}) {\n const { exact, queryKey } = filters2;\n if (storage?.entries) {\n const entries = await storage.entries();\n for (const [key, value] of entries) {\n if (key.startsWith(prefix)) {\n const persistedQuery = await deserialize(value);\n if (isExpiredOrBusted(persistedQuery)) {\n await storage.removeItem(key);\n continue;\n }\n if (queryKey) {\n if (exact) {\n if (persistedQuery.queryHash !== hashKey(queryKey)) {\n continue;\n }\n } else if (!partialMatchKey(persistedQuery.queryKey, queryKey)) {\n continue;\n }\n }\n queryClient.setQueryData(\n persistedQuery.queryKey,\n persistedQuery.state.data,\n {\n updatedAt: persistedQuery.state.dataUpdatedAt\n }\n );\n }\n }\n } else if (process.env.NODE_ENV === \"development\") {\n throw new Error(\n \"Provided storage does not implement `entries` method. Restoration of all stored entries is not possible without ability to iterate over storage items.\"\n );\n }\n }\n return {\n persisterFn,\n persistQuery,\n persistQueryByKey,\n retrieveQuery,\n persisterGc,\n restoreQueries\n };\n}\nexport {\n PERSISTER_KEY_PREFIX,\n experimental_createQueryPersister\n};\n//# sourceMappingURL=createPersister.js.map","import {\n type AsyncStorage,\n experimental_createQueryPersister,\n type PersistedQuery,\n} from \"@tanstack/react-query-persist-client\";\n\nconst DB_NAME = \"fluid_tanstack_query_cache\";\nconst STORE_NAME = \"fluid_queries\";\nconst VERSION = 1;\n\nlet dbPromise: Promise<IDBDatabase> | null = null;\n\n// Exported for testing - allows resetting internal state between tests\nexport function _resetForTesting(): void {\n dbPromise = null;\n}\n\nexport async function deleteDatabase(reason: string = \"error\"): Promise<void> {\n return new Promise((resolve, reject) => {\n console.warn(`[IDB] Deleting database due to ${reason}`);\n const req = indexedDB.deleteDatabase(DB_NAME);\n req.onsuccess = () => {\n console.log(\"[IDB] Database deleted successfully\");\n dbPromise = null; // ensure next getDb() opens a fresh connection\n resolve();\n };\n req.onerror = () => {\n console.error(\"[IDB] Failed to delete database:\", req.error);\n reject(req.error ?? new Error(\"deleteDatabase failed\"));\n };\n req.onblocked = () => {\n console.warn(\"[IDB] Delete blocked: close all tabs using this database\");\n // Resolve anyway so callers (e.g. clearCompanyCache) don't hang\n // indefinitely. The delete will complete once blocking connections close.\n dbPromise = null; // best-effort: allow fresh open on next access\n resolve();\n };\n });\n}\n\nfunction openDatabase(): Promise<IDBDatabase> {\n return new Promise((resolve, reject) => {\n const req = indexedDB.open(DB_NAME, VERSION);\n\n req.onupgradeneeded = () => {\n const upgradeDb = req.result;\n if (!upgradeDb.objectStoreNames.contains(STORE_NAME)) {\n upgradeDb.createObjectStore(STORE_NAME);\n }\n };\n\n req.onsuccess = () => {\n const conn = req.result;\n conn.onversionchange = () => {\n console.trace(\"[IDB] version change – closing connection\");\n conn.close();\n // clear the cached promise so the next getDb call re-opens a connection\n dbPromise = null;\n };\n resolve(conn);\n };\n\n req.onblocked = () => {\n console.warn(\"[IDB] open blocked: another connection is holding the DB\");\n };\n\n req.onerror = () => {\n reject(\n req.error instanceof Error\n ? req.error\n : new Error(`IndexedDB open failed: ${String(req.error)}`),\n );\n };\n });\n}\n\nasync function getDbWithRecovery(): Promise<IDBDatabase> {\n try {\n return await openDatabase();\n } catch (err) {\n // First open failed - try to delete and recreate\n console.warn(\"[IDB] Initial open failed, attempting recovery:\", err);\n try {\n await deleteDatabase();\n console.log(\"[IDB] Retrying database open after deletion\");\n return await openDatabase();\n } catch (retryErr) {\n console.error(\"[IDB] Recovery failed:\", retryErr);\n throw retryErr;\n }\n }\n}\n\nfunction getDb(): Promise<IDBDatabase> {\n if (dbPromise) return dbPromise;\n\n // Create the promise and cache it immediately to prevent race conditions\n // All concurrent calls will share this same promise\n dbPromise = getDbWithRecovery().catch((err) => {\n // On failure, clear the cache so next call can retry fresh\n dbPromise = null;\n throw err;\n });\n\n return dbPromise;\n}\n\n// Exported for testing - allows direct testing of storage operations\nexport const storage: AsyncStorage<PersistedQuery> = {\n async getItem(key: string) {\n try {\n const db = await getDb();\n return new Promise<PersistedQuery | undefined>((res) => {\n try {\n const r = db\n .transaction(STORE_NAME, \"readonly\")\n .objectStore(STORE_NAME)\n .get(key);\n r.onsuccess = () => res(r.result as PersistedQuery);\n r.onerror = () => {\n console.trace(\"[IDB] getItem error:\", r.error);\n res(undefined);\n };\n } catch (txErr) {\n // Transaction creation failed (e.g., stale connection)\n console.trace(\"[IDB] getItem transaction error:\", txErr);\n res(undefined);\n }\n });\n } catch (err) {\n // getDb() failed - try to recover with a fresh connection\n console.trace(\"[IDB] getItem getDb error:\", err);\n try {\n const db = await getDb();\n // Use fresh connection directly - getDb() already handles recovery\n return new Promise<PersistedQuery | undefined>((res) => {\n try {\n const r = db\n .transaction(STORE_NAME, \"readonly\")\n .objectStore(STORE_NAME)\n .get(key);\n r.onsuccess = () => res(r.result as PersistedQuery);\n r.onerror = () => {\n console.trace(\"[IDB] getItem retry error:\", r.error);\n res(undefined);\n };\n } catch (txErr) {\n console.trace(\"[IDB] getItem retry transaction error:\", txErr);\n res(undefined);\n }\n });\n } catch (recoveryErr) {\n console.trace(\"[IDB] getItem recovery failed:\", recoveryErr);\n }\n return undefined;\n }\n },\n\n async setItem(key: string, value: PersistedQuery) {\n // JSON round-trip strips non-cloneable properties (functions, class instances)\n // before IndexedDB's structured clone algorithm runs. Without this, IDB\n // throws DataCloneError. Theme Color objects are now kept out of the cache\n // via the select pattern, but other queries may still have non-cloneable data.\n const cloneableValue = JSON.parse(JSON.stringify(value));\n try {\n const db = await getDb();\n if (!db) return;\n await new Promise<void>((resolve) => {\n try {\n const req = db\n .transaction(STORE_NAME, \"readwrite\")\n .objectStore(STORE_NAME)\n .put(cloneableValue, key);\n req.onsuccess = () => resolve();\n req.onerror = () => {\n console.trace(\"[IDB] setItem error:\", req.error);\n resolve();\n };\n } catch (txErr) {\n console.trace(\"[IDB] setItem transaction error:\", txErr);\n resolve();\n }\n });\n } catch (err) {\n // getDb() failed - try to recover with a fresh connection\n console.trace(\"[IDB] setItem getDb error:\", err);\n try {\n const db = await getDb();\n // Use fresh connection directly - getDb() already handles recovery\n await new Promise<void>((resolve) => {\n try {\n const req = db\n .transaction(STORE_NAME, \"readwrite\")\n .objectStore(STORE_NAME)\n .put(cloneableValue, key);\n req.onsuccess = () => resolve();\n req.onerror = () => {\n console.trace(\"[IDB] setItem retry error:\", req.error);\n resolve();\n };\n } catch (txErr) {\n console.trace(\"[IDB] setItem retry transaction error:\", txErr);\n resolve();\n }\n });\n } catch (recoveryErr) {\n console.trace(\"[IDB] setItem recovery failed:\", recoveryErr);\n }\n }\n },\n\n async removeItem(key: string) {\n try {\n const db = await getDb();\n if (!db) return;\n await new Promise<void>((resolve) => {\n try {\n const req = db\n .transaction(STORE_NAME, \"readwrite\")\n .objectStore(STORE_NAME)\n .delete(key);\n req.onsuccess = () => resolve();\n req.onerror = () => {\n console.trace(\"[IDB] removeItem error:\", req.error);\n resolve();\n };\n } catch (txErr) {\n console.trace(\"[IDB] removeItem transaction error:\", txErr);\n resolve();\n }\n });\n } catch (err) {\n // getDb() failed - try to recover with a fresh connection\n console.trace(\"[IDB] removeItem getDb error:\", err);\n try {\n const db = await getDb();\n // Use fresh connection directly - getDb() already handles recovery\n await new Promise<void>((resolve) => {\n try {\n const req = db\n .transaction(STORE_NAME, \"readwrite\")\n .objectStore(STORE_NAME)\n .delete(key);\n req.onsuccess = () => resolve();\n req.onerror = () => {\n console.trace(\"[IDB] removeItem retry error:\", req.error);\n resolve();\n };\n } catch (txErr) {\n console.trace(\"[IDB] removeItem retry transaction error:\", txErr);\n resolve();\n }\n });\n } catch (recoveryErr) {\n console.trace(\"[IDB] removeItem recovery failed:\", recoveryErr);\n }\n }\n },\n};\n\n// Factory function to create persister - only call this client-side\nexport function createPersister(): ReturnType<\n typeof experimental_createQueryPersister\n> {\n return experimental_createQueryPersister<PersistedQuery>({\n storage,\n serialize: (persistedQuery) => persistedQuery,\n deserialize: (cached) => cached,\n });\n}\n","import { createContext, use } from \"react\";\nimport type { PayApi } from \"./pay-api\";\n\nconst PayApiContext = createContext<PayApi | null>(null);\n\nexport const PayApiProvider = PayApiContext.Provider;\n\nexport function usePayApi(): PayApi {\n const api = use(PayApiContext);\n if (!api) {\n throw new Error(\"usePayApi must be used within a PayApiProvider\");\n }\n return api;\n}\n","import { createContext, type Provider, use } from \"react\";\nimport type { LanguagesApi } from \"./languages-api\";\n\nconst LanguagesApiContext = createContext<LanguagesApi | null>(null);\n\nexport const LanguagesApiProvider: Provider<LanguagesApi | null> =\n LanguagesApiContext.Provider;\n\nexport function useLanguagesApi(): LanguagesApi {\n const api = use(LanguagesApiContext);\n if (!api) {\n throw new Error(\n \"useLanguagesApi must be used within a LanguagesApiProvider\",\n );\n }\n return api;\n}\n","import { createContext, use } from \"react\";\nimport type { AddressAutocompleteApi } from \"./api\";\n\nconst AddressAutocompleteApiContext =\n createContext<AddressAutocompleteApi | null>(null);\n\nexport const AddressAutocompleteApiProvider =\n AddressAutocompleteApiContext.Provider;\n\nexport function useAddressAutocompleteApi(): AddressAutocompleteApi {\n const api = use(AddressAutocompleteApiContext);\n if (!api) {\n throw new Error(\n \"useAddressAutocompleteApi must be used within an AddressAutocompleteApiProvider\",\n );\n }\n return api;\n}\n","function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}function t(e){if(e.__esModule)return e;var t=e.default;if(\"function\"==typeof t){var r=function e(){return this instanceof e?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,\"__esModule\",{value:!0}),Object.keys(e).forEach((function(t){var o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,o.get?o:{enumerable:!0,get:function(){return e[t]}})})),r}export{t as getAugmentedNamespace,e as getDefaultExportFromCjs};\n","import{getDefaultExportFromCjs as e}from\"./_virtual/_commonjsHelpers.mjs\";class r extends Error{constructor(e=\"unexpected error\"){super(e)}}var t={BatchFullError:class extends r{constructor(){super(\"A batch can contain a max of 100 lookups.\")}},BatchEmptyError:class extends r{constructor(){super(\"A batch must contain at least 1 lookup.\")}},UndefinedLookupError:class extends r{constructor(){super(\"The lookup provided is missing or undefined. Make sure you're passing a Lookup object.\")}},BadCredentialsError:class extends r{constructor(){super(\"Unauthorized: The credentials were provided incorrectly or did not match any existing active credentials.\")}},PaymentRequiredError:class extends r{constructor(){super(\"Payment Required: There is no active subscription for the account associated with the credentials submitted with the request.\")}},RequestEntityTooLargeError:class extends r{constructor(){super(\"Request Entity Too Large: The request body has exceeded the maximum size.\")}},BadRequestError:class extends r{constructor(){super(\"Bad Request (Malformed Payload): A GET request lacked a street field or the request body of a POST request contained malformed JSON.\")}},UnprocessableEntityError:class extends r{constructor(e){super(e)}},TooManyRequestsError:class extends r{constructor(){super(\"When using the public 'embedded key' authentication, we restrict the number of requests coming from a given source over too short of a time.\")}},InternalServerError:class extends r{constructor(){super(\"Internal Server Error.\")}},ServiceUnavailableError:class extends r{constructor(){super(\"Service Unavailable. Try again later.\")}},GatewayTimeoutError:class extends r{constructor(){super(\"The upstream data provider did not respond in a timely fashion and the request failed. A serious, yet rare occurrence indeed.\")}},DefaultError:class extends r{constructor(e){super(e)}}},s=e(t);export{t as E,s as default};\n","import{getDefaultExportFromCjs as o}from\"./_virtual/_commonjsHelpers.mjs\";import{E as s}from\"./Errors.mjs\";const t=s.BatchFullError;var r=class{constructor(){this.lookups=[]}add(o){if(!this.lookupsHasRoomForLookup())throw new t;this.lookups.push(o)}lookupsHasRoomForLookup(){return this.lookups.length<100}length(){return this.lookups.length}getByIndex(o){return this.lookups[o]}getByInputId(o){return this.lookups.filter((s=>s.inputId===o))[0]}clear(){this.lookups=[]}isEmpty(){return 0===this.length()}},u=o(r);export{r as B,u as default};\n","'use strict';\n\n/**\n * Create a bound version of a function with a specified `this` context\n *\n * @param {Function} fn - The function to bind\n * @param {*} thisArg - The value to be passed as the `this` parameter\n * @returns {Function} A new function that will call the original function with the specified `this` context\n */\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\nconst {iterator, toStringTag} = Symbol;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(toStringTag in val) && !(iterator in val);\n}\n\n/**\n * Determine if a value is an empty object (safely handles Buffers)\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an empty object, otherwise false\n */\nconst isEmptyObject = (val) => {\n // Early return for non-objects or Buffers to prevent RangeError\n if (!isObject(val) || isBuffer(val)) {\n return false;\n }\n\n try {\n return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n } catch (e) {\n // Fallback for any other objects that might cause RangeError with Object.keys()\n return false;\n }\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Buffer check\n if (isBuffer(obj)) {\n return;\n }\n\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n if (isBuffer(obj)){\n return null;\n }\n\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless, skipUndefined} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else if (!skipUndefined || !isUndefined(val)) {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[iterator];\n\n const _iterator = generator.call(obj);\n\n let result;\n\n while ((result = _iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\n\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[toStringTag] === 'FormData' && thing[iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n //Buffer check\n if (isBuffer(source)) {\n return source;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\n\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\n\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isEmptyObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap,\n isIterable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n const msg = error && error.message ? error.message : 'Error';\n\n // Prefer explicit code; otherwise copy the low-level error's code (e.g. ECONNREFUSED)\n const errCode = code == null && error ? error.code : code;\n AxiosError.call(axiosError, msg, errCode, config, request, response);\n\n // Chain the original error on the standard field; non-enumerable to avoid JSON noise\n if (error && axiosError.cause == null) {\n Object.defineProperty(axiosError, 'cause', { value: error, configurable: true });\n }\n\n axiosError.name = (error && error.name) || 'Error';\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","var Stream = require('stream').Stream;\nvar util = require('util');\n\nmodule.exports = DelayedStream;\nfunction DelayedStream() {\n this.source = null;\n this.dataSize = 0;\n this.maxDataSize = 1024 * 1024;\n this.pauseStream = true;\n\n this._maxDataSizeExceeded = false;\n this._released = false;\n this._bufferedEvents = [];\n}\nutil.inherits(DelayedStream, Stream);\n\nDelayedStream.create = function(source, options) {\n var delayedStream = new this();\n\n options = options || {};\n for (var option in options) {\n delayedStream[option] = options[option];\n }\n\n delayedStream.source = source;\n\n var realEmit = source.emit;\n source.emit = function() {\n delayedStream._handleEmit(arguments);\n return realEmit.apply(source, arguments);\n };\n\n source.on('error', function() {});\n if (delayedStream.pauseStream) {\n source.pause();\n }\n\n return delayedStream;\n};\n\nObject.defineProperty(DelayedStream.prototype, 'readable', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this.source.readable;\n }\n});\n\nDelayedStream.prototype.setEncoding = function() {\n return this.source.setEncoding.apply(this.source, arguments);\n};\n\nDelayedStream.prototype.resume = function() {\n if (!this._released) {\n this.release();\n }\n\n this.source.resume();\n};\n\nDelayedStream.prototype.pause = function() {\n this.source.pause();\n};\n\nDelayedStream.prototype.release = function() {\n this._released = true;\n\n this._bufferedEvents.forEach(function(args) {\n this.emit.apply(this, args);\n }.bind(this));\n this._bufferedEvents = [];\n};\n\nDelayedStream.prototype.pipe = function() {\n var r = Stream.prototype.pipe.apply(this, arguments);\n this.resume();\n return r;\n};\n\nDelayedStream.prototype._handleEmit = function(args) {\n if (this._released) {\n this.emit.apply(this, args);\n return;\n }\n\n if (args[0] === 'data') {\n this.dataSize += args[1].length;\n this._checkIfMaxDataSizeExceeded();\n }\n\n this._bufferedEvents.push(args);\n};\n\nDelayedStream.prototype._checkIfMaxDataSizeExceeded = function() {\n if (this._maxDataSizeExceeded) {\n return;\n }\n\n if (this.dataSize <= this.maxDataSize) {\n return;\n }\n\n this._maxDataSizeExceeded = true;\n var message =\n 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.'\n this.emit('error', new Error(message));\n};\n","var util = require('util');\nvar Stream = require('stream').Stream;\nvar DelayedStream = require('delayed-stream');\n\nmodule.exports = CombinedStream;\nfunction CombinedStream() {\n this.writable = false;\n this.readable = true;\n this.dataSize = 0;\n this.maxDataSize = 2 * 1024 * 1024;\n this.pauseStreams = true;\n\n this._released = false;\n this._streams = [];\n this._currentStream = null;\n this._insideLoop = false;\n this._pendingNext = false;\n}\nutil.inherits(CombinedStream, Stream);\n\nCombinedStream.create = function(options) {\n var combinedStream = new this();\n\n options = options || {};\n for (var option in options) {\n combinedStream[option] = options[option];\n }\n\n return combinedStream;\n};\n\nCombinedStream.isStreamLike = function(stream) {\n return (typeof stream !== 'function')\n && (typeof stream !== 'string')\n && (typeof stream !== 'boolean')\n && (typeof stream !== 'number')\n && (!Buffer.isBuffer(stream));\n};\n\nCombinedStream.prototype.append = function(stream) {\n var isStreamLike = CombinedStream.isStreamLike(stream);\n\n if (isStreamLike) {\n if (!(stream instanceof DelayedStream)) {\n var newStream = DelayedStream.create(stream, {\n maxDataSize: Infinity,\n pauseStream: this.pauseStreams,\n });\n stream.on('data', this._checkDataSize.bind(this));\n stream = newStream;\n }\n\n this._handleErrors(stream);\n\n if (this.pauseStreams) {\n stream.pause();\n }\n }\n\n this._streams.push(stream);\n return this;\n};\n\nCombinedStream.prototype.pipe = function(dest, options) {\n Stream.prototype.pipe.call(this, dest, options);\n this.resume();\n return dest;\n};\n\nCombinedStream.prototype._getNext = function() {\n this._currentStream = null;\n\n if (this._insideLoop) {\n this._pendingNext = true;\n return; // defer call\n }\n\n this._insideLoop = true;\n try {\n do {\n this._pendingNext = false;\n this._realGetNext();\n } while (this._pendingNext);\n } finally {\n this._insideLoop = false;\n }\n};\n\nCombinedStream.prototype._realGetNext = function() {\n var stream = this._streams.shift();\n\n\n if (typeof stream == 'undefined') {\n this.end();\n return;\n }\n\n if (typeof stream !== 'function') {\n this._pipeNext(stream);\n return;\n }\n\n var getStream = stream;\n getStream(function(stream) {\n var isStreamLike = CombinedStream.isStreamLike(stream);\n if (isStreamLike) {\n stream.on('data', this._checkDataSize.bind(this));\n this._handleErrors(stream);\n }\n\n this._pipeNext(stream);\n }.bind(this));\n};\n\nCombinedStream.prototype._pipeNext = function(stream) {\n this._currentStream = stream;\n\n var isStreamLike = CombinedStream.isStreamLike(stream);\n if (isStreamLike) {\n stream.on('end', this._getNext.bind(this));\n stream.pipe(this, {end: false});\n return;\n }\n\n var value = stream;\n this.write(value);\n this._getNext();\n};\n\nCombinedStream.prototype._handleErrors = function(stream) {\n var self = this;\n stream.on('error', function(err) {\n self._emitError(err);\n });\n};\n\nCombinedStream.prototype.write = function(data) {\n this.emit('data', data);\n};\n\nCombinedStream.prototype.pause = function() {\n if (!this.pauseStreams) {\n return;\n }\n\n if(this.pauseStreams && this._currentStream && typeof(this._currentStream.pause) == 'function') this._currentStream.pause();\n this.emit('pause');\n};\n\nCombinedStream.prototype.resume = function() {\n if (!this._released) {\n this._released = true;\n this.writable = true;\n this._getNext();\n }\n\n if(this.pauseStreams && this._currentStream && typeof(this._currentStream.resume) == 'function') this._currentStream.resume();\n this.emit('resume');\n};\n\nCombinedStream.prototype.end = function() {\n this._reset();\n this.emit('end');\n};\n\nCombinedStream.prototype.destroy = function() {\n this._reset();\n this.emit('close');\n};\n\nCombinedStream.prototype._reset = function() {\n this.writable = false;\n this._streams = [];\n this._currentStream = null;\n};\n\nCombinedStream.prototype._checkDataSize = function() {\n this._updateDataSize();\n if (this.dataSize <= this.maxDataSize) {\n return;\n }\n\n var message =\n 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.';\n this._emitError(new Error(message));\n};\n\nCombinedStream.prototype._updateDataSize = function() {\n this.dataSize = 0;\n\n var self = this;\n this._streams.forEach(function(stream) {\n if (!stream.dataSize) {\n return;\n }\n\n self.dataSize += stream.dataSize;\n });\n\n if (this._currentStream && this._currentStream.dataSize) {\n this.dataSize += this._currentStream.dataSize;\n }\n};\n\nCombinedStream.prototype._emitError = function(err) {\n this._reset();\n this.emit('error', err);\n};\n","","/*!\n * mime-db\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015-2022 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n/**\n * Module exports.\n */\n\nmodule.exports = require('./db.json')\n","/*!\n * mime-types\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict'\n\n/**\n * Module dependencies.\n * @private\n */\n\nvar db = require('mime-db')\nvar extname = require('path').extname\n\n/**\n * Module variables.\n * @private\n */\n\nvar EXTRACT_TYPE_REGEXP = /^\\s*([^;\\s]*)(?:;|\\s|$)/\nvar TEXT_TYPE_REGEXP = /^text\\//i\n\n/**\n * Module exports.\n * @public\n */\n\nexports.charset = charset\nexports.charsets = { lookup: charset }\nexports.contentType = contentType\nexports.extension = extension\nexports.extensions = Object.create(null)\nexports.lookup = lookup\nexports.types = Object.create(null)\n\n// Populate the extensions/types maps\npopulateMaps(exports.extensions, exports.types)\n\n/**\n * Get the default charset for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction charset (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n var mime = match && db[match[1].toLowerCase()]\n\n if (mime && mime.charset) {\n return mime.charset\n }\n\n // default text/* to utf-8\n if (match && TEXT_TYPE_REGEXP.test(match[1])) {\n return 'UTF-8'\n }\n\n return false\n}\n\n/**\n * Create a full Content-Type header given a MIME type or extension.\n *\n * @param {string} str\n * @return {boolean|string}\n */\n\nfunction contentType (str) {\n // TODO: should this even be in this module?\n if (!str || typeof str !== 'string') {\n return false\n }\n\n var mime = str.indexOf('/') === -1\n ? exports.lookup(str)\n : str\n\n if (!mime) {\n return false\n }\n\n // TODO: use content-type or other module\n if (mime.indexOf('charset') === -1) {\n var charset = exports.charset(mime)\n if (charset) mime += '; charset=' + charset.toLowerCase()\n }\n\n return mime\n}\n\n/**\n * Get the default extension for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction extension (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n\n // get extensions\n var exts = match && exports.extensions[match[1].toLowerCase()]\n\n if (!exts || !exts.length) {\n return false\n }\n\n return exts[0]\n}\n\n/**\n * Lookup the MIME type for a file path/extension.\n *\n * @param {string} path\n * @return {boolean|string}\n */\n\nfunction lookup (path) {\n if (!path || typeof path !== 'string') {\n return false\n }\n\n // get the extension (\"ext\" or \".ext\" or full path)\n var extension = extname('x.' + path)\n .toLowerCase()\n .substr(1)\n\n if (!extension) {\n return false\n }\n\n return exports.types[extension] || false\n}\n\n/**\n * Populate the extensions and types maps.\n * @private\n */\n\nfunction populateMaps (extensions, types) {\n // source preference (least -> most)\n var preference = ['nginx', 'apache', undefined, 'iana']\n\n Object.keys(db).forEach(function forEachMimeType (type) {\n var mime = db[type]\n var exts = mime.extensions\n\n if (!exts || !exts.length) {\n return\n }\n\n // mime -> extensions\n extensions[type] = exts\n\n // extension -> mime\n for (var i = 0; i < exts.length; i++) {\n var extension = exts[i]\n\n if (types[extension]) {\n var from = preference.indexOf(db[types[extension]].source)\n var to = preference.indexOf(mime.source)\n\n if (types[extension] !== 'application/octet-stream' &&\n (from > to || (from === to && types[extension].substr(0, 12) === 'application/'))) {\n // skip the remapping\n continue\n }\n }\n\n // set the extension -> mime\n types[extension] = type\n }\n })\n}\n","module.exports = defer;\n\n/**\n * Runs provided function on next iteration of the event loop\n *\n * @param {function} fn - function to run\n */\nfunction defer(fn)\n{\n var nextTick = typeof setImmediate == 'function'\n ? setImmediate\n : (\n typeof process == 'object' && typeof process.nextTick == 'function'\n ? process.nextTick\n : null\n );\n\n if (nextTick)\n {\n nextTick(fn);\n }\n else\n {\n setTimeout(fn, 0);\n }\n}\n","var defer = require('./defer.js');\n\n// API\nmodule.exports = async;\n\n/**\n * Runs provided callback asynchronously\n * even if callback itself is not\n *\n * @param {function} callback - callback to invoke\n * @returns {function} - augmented callback\n */\nfunction async(callback)\n{\n var isAsync = false;\n\n // check if async happened\n defer(function() { isAsync = true; });\n\n return function async_callback(err, result)\n {\n if (isAsync)\n {\n callback(err, result);\n }\n else\n {\n defer(function nextTick_callback()\n {\n callback(err, result);\n });\n }\n };\n}\n","// API\nmodule.exports = abort;\n\n/**\n * Aborts leftover active jobs\n *\n * @param {object} state - current state object\n */\nfunction abort(state)\n{\n Object.keys(state.jobs).forEach(clean.bind(state));\n\n // reset leftover jobs\n state.jobs = {};\n}\n\n/**\n * Cleans up leftover job by invoking abort function for the provided job id\n *\n * @this state\n * @param {string|number} key - job id to abort\n */\nfunction clean(key)\n{\n if (typeof this.jobs[key] == 'function')\n {\n this.jobs[key]();\n }\n}\n","var async = require('./async.js')\n , abort = require('./abort.js')\n ;\n\n// API\nmodule.exports = iterate;\n\n/**\n * Iterates over each job object\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {object} state - current job status\n * @param {function} callback - invoked when all elements processed\n */\nfunction iterate(list, iterator, state, callback)\n{\n // store current index\n var key = state['keyedList'] ? state['keyedList'][state.index] : state.index;\n\n state.jobs[key] = runJob(iterator, key, list[key], function(error, output)\n {\n // don't repeat yourself\n // skip secondary callbacks\n if (!(key in state.jobs))\n {\n return;\n }\n\n // clean up jobs\n delete state.jobs[key];\n\n if (error)\n {\n // don't process rest of the results\n // stop still active jobs\n // and reset the list\n abort(state);\n }\n else\n {\n state.results[key] = output;\n }\n\n // return salvaged results\n callback(error, state.results);\n });\n}\n\n/**\n * Runs iterator over provided job element\n *\n * @param {function} iterator - iterator to invoke\n * @param {string|number} key - key/index of the element in the list of jobs\n * @param {mixed} item - job description\n * @param {function} callback - invoked after iterator is done with the job\n * @returns {function|mixed} - job abort function or something else\n */\nfunction runJob(iterator, key, item, callback)\n{\n var aborter;\n\n // allow shortcut if iterator expects only two arguments\n if (iterator.length == 2)\n {\n aborter = iterator(item, async(callback));\n }\n // otherwise go with full three arguments\n else\n {\n aborter = iterator(item, key, async(callback));\n }\n\n return aborter;\n}\n","// API\nmodule.exports = state;\n\n/**\n * Creates initial state object\n * for iteration over list\n *\n * @param {array|object} list - list to iterate over\n * @param {function|null} sortMethod - function to use for keys sort,\n * or `null` to keep them as is\n * @returns {object} - initial state object\n */\nfunction state(list, sortMethod)\n{\n var isNamedList = !Array.isArray(list)\n , initState =\n {\n index : 0,\n keyedList: isNamedList || sortMethod ? Object.keys(list) : null,\n jobs : {},\n results : isNamedList ? {} : [],\n size : isNamedList ? Object.keys(list).length : list.length\n }\n ;\n\n if (sortMethod)\n {\n // sort array keys based on it's values\n // sort object's keys just on own merit\n initState.keyedList.sort(isNamedList ? sortMethod : function(a, b)\n {\n return sortMethod(list[a], list[b]);\n });\n }\n\n return initState;\n}\n","var abort = require('./abort.js')\n , async = require('./async.js')\n ;\n\n// API\nmodule.exports = terminator;\n\n/**\n * Terminates jobs in the attached state context\n *\n * @this AsyncKitState#\n * @param {function} callback - final callback to invoke after termination\n */\nfunction terminator(callback)\n{\n if (!Object.keys(this.jobs).length)\n {\n return;\n }\n\n // fast forward iteration index\n this.index = this.size;\n\n // abort jobs\n abort(this);\n\n // send back results we have so far\n async(callback)(null, this.results);\n}\n","var iterate = require('./lib/iterate.js')\n , initState = require('./lib/state.js')\n , terminator = require('./lib/terminator.js')\n ;\n\n// Public API\nmodule.exports = parallel;\n\n/**\n * Runs iterator over provided array elements in parallel\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction parallel(list, iterator, callback)\n{\n var state = initState(list);\n\n while (state.index < (state['keyedList'] || list).length)\n {\n iterate(list, iterator, state, function(error, result)\n {\n if (error)\n {\n callback(error, result);\n return;\n }\n\n // looks like it's the last one\n if (Object.keys(state.jobs).length === 0)\n {\n callback(null, state.results);\n return;\n }\n });\n\n state.index++;\n }\n\n return terminator.bind(state, callback);\n}\n","var iterate = require('./lib/iterate.js')\n , initState = require('./lib/state.js')\n , terminator = require('./lib/terminator.js')\n ;\n\n// Public API\nmodule.exports = serialOrdered;\n// sorting helpers\nmodule.exports.ascending = ascending;\nmodule.exports.descending = descending;\n\n/**\n * Runs iterator over provided sorted array elements in series\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {function} sortMethod - custom sort function\n * @param {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction serialOrdered(list, iterator, sortMethod, callback)\n{\n var state = initState(list, sortMethod);\n\n iterate(list, iterator, state, function iteratorHandler(error, result)\n {\n if (error)\n {\n callback(error, result);\n return;\n }\n\n state.index++;\n\n // are we there yet?\n if (state.index < (state['keyedList'] || list).length)\n {\n iterate(list, iterator, state, iteratorHandler);\n return;\n }\n\n // done here\n callback(null, state.results);\n });\n\n return terminator.bind(state, callback);\n}\n\n/*\n * -- Sort methods\n */\n\n/**\n * sort helper to sort array elements in ascending order\n *\n * @param {mixed} a - an item to compare\n * @param {mixed} b - an item to compare\n * @returns {number} - comparison result\n */\nfunction ascending(a, b)\n{\n return a < b ? -1 : a > b ? 1 : 0;\n}\n\n/**\n * sort helper to sort array elements in descending order\n *\n * @param {mixed} a - an item to compare\n * @param {mixed} b - an item to compare\n * @returns {number} - comparison result\n */\nfunction descending(a, b)\n{\n return -1 * ascending(a, b);\n}\n","var serialOrdered = require('./serialOrdered.js');\n\n// Public API\nmodule.exports = serial;\n\n/**\n * Runs iterator over provided array elements in series\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction serial(list, iterator, callback)\n{\n return serialOrdered(list, iterator, null, callback);\n}\n","module.exports =\n{\n parallel : require('./parallel.js'),\n serial : require('./serial.js'),\n serialOrdered : require('./serialOrdered.js')\n};\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Object;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\n/** @type {import('./abs')} */\nmodule.exports = Math.abs;\n","'use strict';\n\n/** @type {import('./floor')} */\nmodule.exports = Math.floor;\n","'use strict';\n\n/** @type {import('./max')} */\nmodule.exports = Math.max;\n","'use strict';\n\n/** @type {import('./min')} */\nmodule.exports = Math.min;\n","'use strict';\n\n/** @type {import('./pow')} */\nmodule.exports = Math.pow;\n","'use strict';\n\n/** @type {import('./round')} */\nmodule.exports = Math.round;\n","'use strict';\n\n/** @type {import('./isNaN')} */\nmodule.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n","'use strict';\n\nvar $isNaN = require('./isNaN');\n\n/** @type {import('./sign')} */\nmodule.exports = function sign(number) {\n\tif ($isNaN(number) || number === 0) {\n\t\treturn number;\n\t}\n\treturn number < 0 ? -1 : +1;\n};\n","'use strict';\n\n/** @type {import('./gOPD')} */\nmodule.exports = Object.getOwnPropertyDescriptor;\n","'use strict';\n\n/** @type {import('.')} */\nvar $gOPD = require('./gOPD');\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\n/** @type {import('.')} */\nvar $defineProperty = Object.defineProperty || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\n/** @type {import('./shams')} */\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\t/** @type {{ [k in symbol]?: unknown }} */\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (var _ in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {PropertyDescriptor} */ (Object.getOwnPropertyDescriptor(obj, sym));\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/** @type {import('./Reflect.getPrototypeOf')} */\nmodule.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null;\n","'use strict';\n\nvar $Object = require('es-object-atoms');\n\n/** @type {import('./Object.getPrototypeOf')} */\nmodule.exports = $Object.getPrototypeOf || null;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\n/** @type {import('./functionCall')} */\nmodule.exports = Function.prototype.call;\n","'use strict';\n\n/** @type {import('./functionApply')} */\nmodule.exports = Function.prototype.apply;\n","'use strict';\n\n/** @type {import('./reflectApply')} */\nmodule.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply;\n","'use strict';\n\nvar bind = require('function-bind');\n\nvar $apply = require('./functionApply');\nvar $call = require('./functionCall');\nvar $reflectApply = require('./reflectApply');\n\n/** @type {import('./actualApply')} */\nmodule.exports = $reflectApply || bind.call($call, $apply);\n","'use strict';\n\nvar bind = require('function-bind');\nvar $TypeError = require('es-errors/type');\n\nvar $call = require('./functionCall');\nvar $actualApply = require('./actualApply');\n\n/** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */\nmodule.exports = function callBindBasic(args) {\n\tif (args.length < 1 || typeof args[0] !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\treturn $actualApply(bind, $call, args);\n};\n","'use strict';\n\nvar callBind = require('call-bind-apply-helpers');\nvar gOPD = require('gopd');\n\nvar hasProtoAccessor;\ntry {\n\t// eslint-disable-next-line no-extra-parens, no-proto\n\thasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ ([]).__proto__ === Array.prototype;\n} catch (e) {\n\tif (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') {\n\t\tthrow e;\n\t}\n}\n\n// eslint-disable-next-line no-extra-parens\nvar desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__'));\n\nvar $Object = Object;\nvar $getPrototypeOf = $Object.getPrototypeOf;\n\n/** @type {import('./get')} */\nmodule.exports = desc && typeof desc.get === 'function'\n\t? callBind([desc.get])\n\t: typeof $getPrototypeOf === 'function'\n\t\t? /** @type {import('./get')} */ function getDunder(value) {\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\treturn $getPrototypeOf(value == null ? value : $Object(value));\n\t\t}\n\t\t: false;\n","'use strict';\n\nvar reflectGetProto = require('./Reflect.getPrototypeOf');\nvar originalGetProto = require('./Object.getPrototypeOf');\n\nvar getDunderProto = require('dunder-proto/get');\n\n/** @type {import('.')} */\nmodule.exports = reflectGetProto\n\t? function getProto(O) {\n\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\treturn reflectGetProto(O);\n\t}\n\t: originalGetProto\n\t\t? function getProto(O) {\n\t\t\tif (!O || (typeof O !== 'object' && typeof O !== 'function')) {\n\t\t\t\tthrow new TypeError('getProto: not an object');\n\t\t\t}\n\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\treturn originalGetProto(O);\n\t\t}\n\t\t: getDunderProto\n\t\t\t? function getProto(O) {\n\t\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\t\treturn getDunderProto(O);\n\t\t\t}\n\t\t\t: null;\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","'use strict';\n\nvar undefined;\n\nvar $Object = require('es-object-atoms');\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar abs = require('math-intrinsics/abs');\nvar floor = require('math-intrinsics/floor');\nvar max = require('math-intrinsics/max');\nvar min = require('math-intrinsics/min');\nvar pow = require('math-intrinsics/pow');\nvar round = require('math-intrinsics/round');\nvar sign = require('math-intrinsics/sign');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = require('gopd');\nvar $defineProperty = require('es-define-property');\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = require('get-proto');\nvar $ObjectGPO = require('get-proto/Object.getPrototypeOf');\nvar $ReflectGPO = require('get-proto/Reflect.getPrototypeOf');\n\nvar $apply = require('call-bind-apply-helpers/functionApply');\nvar $call = require('call-bind-apply-helpers/functionCall');\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float16Array%': typeof Float16Array === 'undefined' ? undefined : Float16Array,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': $Object,\n\t'%Object.getOwnPropertyDescriptor%': $gOPD,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\n\n\t'%Function.prototype.call%': $call,\n\t'%Function.prototype.apply%': $apply,\n\t'%Object.defineProperty%': $defineProperty,\n\t'%Object.getPrototypeOf%': $ObjectGPO,\n\t'%Math.abs%': abs,\n\t'%Math.floor%': floor,\n\t'%Math.max%': max,\n\t'%Math.min%': min,\n\t'%Math.pow%': pow,\n\t'%Math.round%': round,\n\t'%Math.sign%': sign,\n\t'%Reflect.getPrototypeOf%': $ReflectGPO\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call($call, Array.prototype.concat);\nvar $spliceApply = bind.call($apply, Array.prototype.splice);\nvar $replace = bind.call($call, String.prototype.replace);\nvar $strSlice = bind.call($call, String.prototype.slice);\nvar $exec = bind.call($call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar hasOwn = require('hasown');\nvar $TypeError = require('es-errors/type');\n\nvar toStringTag = hasToStringTag ? Symbol.toStringTag : null;\n\n/** @type {import('.')} */\nmodule.exports = function setToStringTag(object, value) {\n\tvar overrideIfSet = arguments.length > 2 && !!arguments[2] && arguments[2].force;\n\tvar nonConfigurable = arguments.length > 2 && !!arguments[2] && arguments[2].nonConfigurable;\n\tif (\n\t\t(typeof overrideIfSet !== 'undefined' && typeof overrideIfSet !== 'boolean')\n\t\t|| (typeof nonConfigurable !== 'undefined' && typeof nonConfigurable !== 'boolean')\n\t) {\n\t\tthrow new $TypeError('if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans');\n\t}\n\tif (toStringTag && (overrideIfSet || !hasOwn(object, toStringTag))) {\n\t\tif ($defineProperty) {\n\t\t\t$defineProperty(object, toStringTag, {\n\t\t\t\tconfigurable: !nonConfigurable,\n\t\t\t\tenumerable: false,\n\t\t\t\tvalue: value,\n\t\t\t\twritable: false\n\t\t\t});\n\t\t} else {\n\t\t\tobject[toStringTag] = value; // eslint-disable-line no-param-reassign\n\t\t}\n\t}\n};\n","'use strict';\n\n// populates missing values\nmodule.exports = function (dst, src) {\n Object.keys(src).forEach(function (prop) {\n dst[prop] = dst[prop] || src[prop]; // eslint-disable-line no-param-reassign\n });\n\n return dst;\n};\n","'use strict';\n\nvar CombinedStream = require('combined-stream');\nvar util = require('util');\nvar path = require('path');\nvar http = require('http');\nvar https = require('https');\nvar parseUrl = require('url').parse;\nvar fs = require('fs');\nvar Stream = require('stream').Stream;\nvar crypto = require('crypto');\nvar mime = require('mime-types');\nvar asynckit = require('asynckit');\nvar setToStringTag = require('es-set-tostringtag');\nvar hasOwn = require('hasown');\nvar populate = require('./populate.js');\n\n/**\n * Create readable \"multipart/form-data\" streams.\n * Can be used to submit forms\n * and file uploads to other web applications.\n *\n * @constructor\n * @param {object} options - Properties to be added/overriden for FormData and CombinedStream\n */\nfunction FormData(options) {\n if (!(this instanceof FormData)) {\n return new FormData(options);\n }\n\n this._overheadLength = 0;\n this._valueLength = 0;\n this._valuesToMeasure = [];\n\n CombinedStream.call(this);\n\n options = options || {}; // eslint-disable-line no-param-reassign\n for (var option in options) { // eslint-disable-line no-restricted-syntax\n this[option] = options[option];\n }\n}\n\n// make it a Stream\nutil.inherits(FormData, CombinedStream);\n\nFormData.LINE_BREAK = '\\r\\n';\nFormData.DEFAULT_CONTENT_TYPE = 'application/octet-stream';\n\nFormData.prototype.append = function (field, value, options) {\n options = options || {}; // eslint-disable-line no-param-reassign\n\n // allow filename as single option\n if (typeof options === 'string') {\n options = { filename: options }; // eslint-disable-line no-param-reassign\n }\n\n var append = CombinedStream.prototype.append.bind(this);\n\n // all that streamy business can't handle numbers\n if (typeof value === 'number' || value == null) {\n value = String(value); // eslint-disable-line no-param-reassign\n }\n\n // https://github.com/felixge/node-form-data/issues/38\n if (Array.isArray(value)) {\n /*\n * Please convert your array into string\n * the way web server expects it\n */\n this._error(new Error('Arrays are not supported.'));\n return;\n }\n\n var header = this._multiPartHeader(field, value, options);\n var footer = this._multiPartFooter();\n\n append(header);\n append(value);\n append(footer);\n\n // pass along options.knownLength\n this._trackLength(header, value, options);\n};\n\nFormData.prototype._trackLength = function (header, value, options) {\n var valueLength = 0;\n\n /*\n * used w/ getLengthSync(), when length is known.\n * e.g. for streaming directly from a remote server,\n * w/ a known file a size, and not wanting to wait for\n * incoming file to finish to get its size.\n */\n if (options.knownLength != null) {\n valueLength += Number(options.knownLength);\n } else if (Buffer.isBuffer(value)) {\n valueLength = value.length;\n } else if (typeof value === 'string') {\n valueLength = Buffer.byteLength(value);\n }\n\n this._valueLength += valueLength;\n\n // @check why add CRLF? does this account for custom/multiple CRLFs?\n this._overheadLength += Buffer.byteLength(header) + FormData.LINE_BREAK.length;\n\n // empty or either doesn't have path or not an http response or not a stream\n if (!value || (!value.path && !(value.readable && hasOwn(value, 'httpVersion')) && !(value instanceof Stream))) {\n return;\n }\n\n // no need to bother with the length\n if (!options.knownLength) {\n this._valuesToMeasure.push(value);\n }\n};\n\nFormData.prototype._lengthRetriever = function (value, callback) {\n if (hasOwn(value, 'fd')) {\n // take read range into a account\n // `end` = Infinity –> read file till the end\n //\n // TODO: Looks like there is bug in Node fs.createReadStream\n // it doesn't respect `end` options without `start` options\n // Fix it when node fixes it.\n // https://github.com/joyent/node/issues/7819\n if (value.end != undefined && value.end != Infinity && value.start != undefined) {\n // when end specified\n // no need to calculate range\n // inclusive, starts with 0\n callback(null, value.end + 1 - (value.start ? value.start : 0)); // eslint-disable-line callback-return\n\n // not that fast snoopy\n } else {\n // still need to fetch file size from fs\n fs.stat(value.path, function (err, stat) {\n if (err) {\n callback(err);\n return;\n }\n\n // update final size based on the range options\n var fileSize = stat.size - (value.start ? value.start : 0);\n callback(null, fileSize);\n });\n }\n\n // or http response\n } else if (hasOwn(value, 'httpVersion')) {\n callback(null, Number(value.headers['content-length'])); // eslint-disable-line callback-return\n\n // or request stream http://github.com/mikeal/request\n } else if (hasOwn(value, 'httpModule')) {\n // wait till response come back\n value.on('response', function (response) {\n value.pause();\n callback(null, Number(response.headers['content-length']));\n });\n value.resume();\n\n // something else\n } else {\n callback('Unknown stream'); // eslint-disable-line callback-return\n }\n};\n\nFormData.prototype._multiPartHeader = function (field, value, options) {\n /*\n * custom header specified (as string)?\n * it becomes responsible for boundary\n * (e.g. to handle extra CRLFs on .NET servers)\n */\n if (typeof options.header === 'string') {\n return options.header;\n }\n\n var contentDisposition = this._getContentDisposition(value, options);\n var contentType = this._getContentType(value, options);\n\n var contents = '';\n var headers = {\n // add custom disposition as third element or keep it two elements if not\n 'Content-Disposition': ['form-data', 'name=\"' + field + '\"'].concat(contentDisposition || []),\n // if no content type. allow it to be empty array\n 'Content-Type': [].concat(contentType || [])\n };\n\n // allow custom headers.\n if (typeof options.header === 'object') {\n populate(headers, options.header);\n }\n\n var header;\n for (var prop in headers) { // eslint-disable-line no-restricted-syntax\n if (hasOwn(headers, prop)) {\n header = headers[prop];\n\n // skip nullish headers.\n if (header == null) {\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n }\n\n // convert all headers to arrays.\n if (!Array.isArray(header)) {\n header = [header];\n }\n\n // add non-empty headers.\n if (header.length) {\n contents += prop + ': ' + header.join('; ') + FormData.LINE_BREAK;\n }\n }\n }\n\n return '--' + this.getBoundary() + FormData.LINE_BREAK + contents + FormData.LINE_BREAK;\n};\n\nFormData.prototype._getContentDisposition = function (value, options) { // eslint-disable-line consistent-return\n var filename;\n\n if (typeof options.filepath === 'string') {\n // custom filepath for relative paths\n filename = path.normalize(options.filepath).replace(/\\\\/g, '/');\n } else if (options.filename || (value && (value.name || value.path))) {\n /*\n * custom filename take precedence\n * formidable and the browser add a name property\n * fs- and request- streams have path property\n */\n filename = path.basename(options.filename || (value && (value.name || value.path)));\n } else if (value && value.readable && hasOwn(value, 'httpVersion')) {\n // or try http response\n filename = path.basename(value.client._httpMessage.path || '');\n }\n\n if (filename) {\n return 'filename=\"' + filename + '\"';\n }\n};\n\nFormData.prototype._getContentType = function (value, options) {\n // use custom content-type above all\n var contentType = options.contentType;\n\n // or try `name` from formidable, browser\n if (!contentType && value && value.name) {\n contentType = mime.lookup(value.name);\n }\n\n // or try `path` from fs-, request- streams\n if (!contentType && value && value.path) {\n contentType = mime.lookup(value.path);\n }\n\n // or if it's http-reponse\n if (!contentType && value && value.readable && hasOwn(value, 'httpVersion')) {\n contentType = value.headers['content-type'];\n }\n\n // or guess it from the filepath or filename\n if (!contentType && (options.filepath || options.filename)) {\n contentType = mime.lookup(options.filepath || options.filename);\n }\n\n // fallback to the default content type if `value` is not simple value\n if (!contentType && value && typeof value === 'object') {\n contentType = FormData.DEFAULT_CONTENT_TYPE;\n }\n\n return contentType;\n};\n\nFormData.prototype._multiPartFooter = function () {\n return function (next) {\n var footer = FormData.LINE_BREAK;\n\n var lastPart = this._streams.length === 0;\n if (lastPart) {\n footer += this._lastBoundary();\n }\n\n next(footer);\n }.bind(this);\n};\n\nFormData.prototype._lastBoundary = function () {\n return '--' + this.getBoundary() + '--' + FormData.LINE_BREAK;\n};\n\nFormData.prototype.getHeaders = function (userHeaders) {\n var header;\n var formHeaders = {\n 'content-type': 'multipart/form-data; boundary=' + this.getBoundary()\n };\n\n for (header in userHeaders) { // eslint-disable-line no-restricted-syntax\n if (hasOwn(userHeaders, header)) {\n formHeaders[header.toLowerCase()] = userHeaders[header];\n }\n }\n\n return formHeaders;\n};\n\nFormData.prototype.setBoundary = function (boundary) {\n if (typeof boundary !== 'string') {\n throw new TypeError('FormData boundary must be a string');\n }\n this._boundary = boundary;\n};\n\nFormData.prototype.getBoundary = function () {\n if (!this._boundary) {\n this._generateBoundary();\n }\n\n return this._boundary;\n};\n\nFormData.prototype.getBuffer = function () {\n var dataBuffer = new Buffer.alloc(0); // eslint-disable-line new-cap\n var boundary = this.getBoundary();\n\n // Create the form content. Add Line breaks to the end of data.\n for (var i = 0, len = this._streams.length; i < len; i++) {\n if (typeof this._streams[i] !== 'function') {\n // Add content to the buffer.\n if (Buffer.isBuffer(this._streams[i])) {\n dataBuffer = Buffer.concat([dataBuffer, this._streams[i]]);\n } else {\n dataBuffer = Buffer.concat([dataBuffer, Buffer.from(this._streams[i])]);\n }\n\n // Add break after content.\n if (typeof this._streams[i] !== 'string' || this._streams[i].substring(2, boundary.length + 2) !== boundary) {\n dataBuffer = Buffer.concat([dataBuffer, Buffer.from(FormData.LINE_BREAK)]);\n }\n }\n }\n\n // Add the footer and return the Buffer object.\n return Buffer.concat([dataBuffer, Buffer.from(this._lastBoundary())]);\n};\n\nFormData.prototype._generateBoundary = function () {\n // This generates a 50 character boundary similar to those used by Firefox.\n\n // They are optimized for boyer-moore parsing.\n this._boundary = '--------------------------' + crypto.randomBytes(12).toString('hex');\n};\n\n// Note: getLengthSync DOESN'T calculate streams length\n// As workaround one can calculate file size manually and add it as knownLength option\nFormData.prototype.getLengthSync = function () {\n var knownLength = this._overheadLength + this._valueLength;\n\n // Don't get confused, there are 3 \"internal\" streams for each keyval pair so it basically checks if there is any value added to the form\n if (this._streams.length) {\n knownLength += this._lastBoundary().length;\n }\n\n // https://github.com/form-data/form-data/issues/40\n if (!this.hasKnownLength()) {\n /*\n * Some async length retrievers are present\n * therefore synchronous length calculation is false.\n * Please use getLength(callback) to get proper length\n */\n this._error(new Error('Cannot calculate proper length in synchronous way.'));\n }\n\n return knownLength;\n};\n\n// Public API to check if length of added values is known\n// https://github.com/form-data/form-data/issues/196\n// https://github.com/form-data/form-data/issues/262\nFormData.prototype.hasKnownLength = function () {\n var hasKnownLength = true;\n\n if (this._valuesToMeasure.length) {\n hasKnownLength = false;\n }\n\n return hasKnownLength;\n};\n\nFormData.prototype.getLength = function (cb) {\n var knownLength = this._overheadLength + this._valueLength;\n\n if (this._streams.length) {\n knownLength += this._lastBoundary().length;\n }\n\n if (!this._valuesToMeasure.length) {\n process.nextTick(cb.bind(this, null, knownLength));\n return;\n }\n\n asynckit.parallel(this._valuesToMeasure, this._lengthRetriever, function (err, values) {\n if (err) {\n cb(err);\n return;\n }\n\n values.forEach(function (length) {\n knownLength += length;\n });\n\n cb(null, knownLength);\n });\n};\n\nFormData.prototype.submit = function (params, cb) {\n var request;\n var options;\n var defaults = { method: 'post' };\n\n // parse provided url if it's string or treat it as options object\n if (typeof params === 'string') {\n params = parseUrl(params); // eslint-disable-line no-param-reassign\n /* eslint sort-keys: 0 */\n options = populate({\n port: params.port,\n path: params.pathname,\n host: params.hostname,\n protocol: params.protocol\n }, defaults);\n } else { // use custom params\n options = populate(params, defaults);\n // if no port provided use default one\n if (!options.port) {\n options.port = options.protocol === 'https:' ? 443 : 80;\n }\n }\n\n // put that good code in getHeaders to some use\n options.headers = this.getHeaders(params.headers);\n\n // https if specified, fallback to http in any other case\n if (options.protocol === 'https:') {\n request = https.request(options);\n } else {\n request = http.request(options);\n }\n\n // get content length and fire away\n this.getLength(function (err, length) {\n if (err && err !== 'Unknown stream') {\n this._error(err);\n return;\n }\n\n // add content length\n if (length) {\n request.setHeader('Content-Length', length);\n }\n\n this.pipe(request);\n if (cb) {\n var onResponse;\n\n var callback = function (error, responce) {\n request.removeListener('error', callback);\n request.removeListener('response', onResponse);\n\n return cb.call(this, error, responce);\n };\n\n onResponse = callback.bind(this, null);\n\n request.on('error', callback);\n request.on('response', onResponse);\n }\n }.bind(this));\n\n return request;\n};\n\nFormData.prototype._error = function (err) {\n if (!this.error) {\n this.error = err;\n this.pause();\n this.emit('error', err);\n }\n};\n\nFormData.prototype.toString = function () {\n return '[object FormData]';\n};\nsetToStringTag(FormData.prototype, 'FormData');\n\n// Public API\nmodule.exports = FormData;\n","import FormData from 'form-data';\n\nexport default FormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isBoolean(value)) {\n return value.toString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {void}\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport url from 'url';\nexport default url.URLSearchParams;\n","import crypto from 'crypto';\nimport URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n const randomValues = new Uint32Array(size);\n crypto.randomFillSync(randomValues);\n for (let i = 0; i < size; i++) {\n str += alphabet[randomValues[i] % length];\n }\n\n return str;\n}\n\n\nexport default {\n isNode: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob: typeof Blob !== 'undefined' && Blob || null\n },\n ALPHABET,\n generateString,\n protocols: [ 'http', 'https', 'file', 'data' ]\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), {\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n },\n ...options\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data, this.parseReviver);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isObject(header) && utils.isIterable(header)) {\n let obj = {}, dest, key;\n for (const entry of header) {\n if (!utils.isArray(entry)) {\n throw TypeError('Object iterator must return a key-value pair');\n }\n\n obj[key = entry[0]] = (dest = obj[key]) ?\n (utils.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]]) : entry[1];\n }\n\n setHeaders(obj, valueOrRewrite)\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n getSetCookie() {\n return this.get(\"set-cookie\") || [];\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nvar parseUrl = require('url').parse;\n\nvar DEFAULT_PORTS = {\n ftp: 21,\n gopher: 70,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443,\n};\n\nvar stringEndsWith = String.prototype.endsWith || function(s) {\n return s.length <= this.length &&\n this.indexOf(s, this.length - s.length) !== -1;\n};\n\n/**\n * @param {string|object} url - The URL, or the result from url.parse.\n * @return {string} The URL of the proxy that should handle the request to the\n * given URL. If no proxy is set, this will be an empty string.\n */\nfunction getProxyForUrl(url) {\n var parsedUrl = typeof url === 'string' ? parseUrl(url) : url || {};\n var proto = parsedUrl.protocol;\n var hostname = parsedUrl.host;\n var port = parsedUrl.port;\n if (typeof hostname !== 'string' || !hostname || typeof proto !== 'string') {\n return ''; // Don't proxy URLs without a valid scheme or host.\n }\n\n proto = proto.split(':', 1)[0];\n // Stripping ports in this way instead of using parsedUrl.hostname to make\n // sure that the brackets around IPv6 addresses are kept.\n hostname = hostname.replace(/:\\d*$/, '');\n port = parseInt(port) || DEFAULT_PORTS[proto] || 0;\n if (!shouldProxy(hostname, port)) {\n return ''; // Don't proxy URLs that match NO_PROXY.\n }\n\n var proxy =\n getEnv('npm_config_' + proto + '_proxy') ||\n getEnv(proto + '_proxy') ||\n getEnv('npm_config_proxy') ||\n getEnv('all_proxy');\n if (proxy && proxy.indexOf('://') === -1) {\n // Missing scheme in proxy, default to the requested URL's scheme.\n proxy = proto + '://' + proxy;\n }\n return proxy;\n}\n\n/**\n * Determines whether a given URL should be proxied.\n *\n * @param {string} hostname - The host name of the URL.\n * @param {number} port - The effective port of the URL.\n * @returns {boolean} Whether the given URL should be proxied.\n * @private\n */\nfunction shouldProxy(hostname, port) {\n var NO_PROXY =\n (getEnv('npm_config_no_proxy') || getEnv('no_proxy')).toLowerCase();\n if (!NO_PROXY) {\n return true; // Always proxy if NO_PROXY is not set.\n }\n if (NO_PROXY === '*') {\n return false; // Never proxy if wildcard is set.\n }\n\n return NO_PROXY.split(/[,\\s]/).every(function(proxy) {\n if (!proxy) {\n return true; // Skip zero-length hosts.\n }\n var parsedProxy = proxy.match(/^(.+):(\\d+)$/);\n var parsedProxyHostname = parsedProxy ? parsedProxy[1] : proxy;\n var parsedProxyPort = parsedProxy ? parseInt(parsedProxy[2]) : 0;\n if (parsedProxyPort && parsedProxyPort !== port) {\n return true; // Skip if ports don't match.\n }\n\n if (!/^[.*]/.test(parsedProxyHostname)) {\n // No wildcards, so stop proxying if there is an exact match.\n return hostname !== parsedProxyHostname;\n }\n\n if (parsedProxyHostname.charAt(0) === '*') {\n // Remove leading wildcard.\n parsedProxyHostname = parsedProxyHostname.slice(1);\n }\n // Stop proxying if the hostname ends with the no_proxy host.\n return !stringEndsWith.call(hostname, parsedProxyHostname);\n });\n}\n\n/**\n * Get the value for an environment variable.\n *\n * @param {string} key - The name of the environment variable.\n * @return {string} The value of the environment variable.\n * @private\n */\nfunction getEnv(key) {\n return process.env[key.toLowerCase()] || process.env[key.toUpperCase()] || '';\n}\n\nexports.getProxyForUrl = getProxyForUrl;\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function (val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '')\n\t\t\t.trim()\n\t\t\t.replace(/\\s+/g, ',')\n\t\t\t.split(',')\n\t\t\t.filter(Boolean);\n\n\t\tfor (const ns of split) {\n\t\t\tif (ns[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(ns.slice(1));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(ns);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the given string matches a namespace template, honoring\n\t * asterisks as wildcards.\n\t *\n\t * @param {String} search\n\t * @param {String} template\n\t * @return {Boolean}\n\t */\n\tfunction matchesTemplate(search, template) {\n\t\tlet searchIndex = 0;\n\t\tlet templateIndex = 0;\n\t\tlet starIndex = -1;\n\t\tlet matchIndex = 0;\n\n\t\twhile (searchIndex < search.length) {\n\t\t\tif (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) {\n\t\t\t\t// Match character or proceed with wildcard\n\t\t\t\tif (template[templateIndex] === '*') {\n\t\t\t\t\tstarIndex = templateIndex;\n\t\t\t\t\tmatchIndex = searchIndex;\n\t\t\t\t\ttemplateIndex++; // Skip the '*'\n\t\t\t\t} else {\n\t\t\t\t\tsearchIndex++;\n\t\t\t\t\ttemplateIndex++;\n\t\t\t\t}\n\t\t\t} else if (starIndex !== -1) { // eslint-disable-line no-negated-condition\n\t\t\t\t// Backtrack to the last '*' and try to match more characters\n\t\t\t\ttemplateIndex = starIndex + 1;\n\t\t\t\tmatchIndex++;\n\t\t\t\tsearchIndex = matchIndex;\n\t\t\t} else {\n\t\t\t\treturn false; // No match\n\t\t\t}\n\t\t}\n\n\t\t// Handle trailing '*' in template\n\t\twhile (templateIndex < template.length && template[templateIndex] === '*') {\n\t\t\ttemplateIndex++;\n\t\t}\n\n\t\treturn templateIndex === template.length;\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names,\n\t\t\t...createDebug.skips.map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tfor (const skip of createDebug.skips) {\n\t\t\tif (matchesTemplate(name, skip)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (const ns of createDebug.names) {\n\t\t\tif (matchesTemplate(name, ns)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\t// eslint-disable-next-line no-return-assign\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug') || exports.storage.getItem('DEBUG') ;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","import process from 'node:process';\nimport os from 'node:os';\nimport tty from 'node:tty';\n\n// From: https://github.com/sindresorhus/has-flag/blob/main/index.js\n/// function hasFlag(flag, argv = globalThis.Deno?.args ?? process.argv) {\nfunction hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process.argv) {\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst position = argv.indexOf(prefix + flag);\n\tconst terminatorPosition = argv.indexOf('--');\n\treturn position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);\n}\n\nconst {env} = process;\n\nlet flagForceColor;\nif (\n\thasFlag('no-color')\n\t|| hasFlag('no-colors')\n\t|| hasFlag('color=false')\n\t|| hasFlag('color=never')\n) {\n\tflagForceColor = 0;\n} else if (\n\thasFlag('color')\n\t|| hasFlag('colors')\n\t|| hasFlag('color=true')\n\t|| hasFlag('color=always')\n) {\n\tflagForceColor = 1;\n}\n\nfunction envForceColor() {\n\tif (!('FORCE_COLOR' in env)) {\n\t\treturn;\n\t}\n\n\tif (env.FORCE_COLOR === 'true') {\n\t\treturn 1;\n\t}\n\n\tif (env.FORCE_COLOR === 'false') {\n\t\treturn 0;\n\t}\n\n\tif (env.FORCE_COLOR.length === 0) {\n\t\treturn 1;\n\t}\n\n\tconst level = Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);\n\n\tif (![0, 1, 2, 3].includes(level)) {\n\t\treturn;\n\t}\n\n\treturn level;\n}\n\nfunction translateLevel(level) {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3,\n\t};\n}\n\nfunction _supportsColor(haveStream, {streamIsTTY, sniffFlags = true} = {}) {\n\tconst noFlagForceColor = envForceColor();\n\tif (noFlagForceColor !== undefined) {\n\t\tflagForceColor = noFlagForceColor;\n\t}\n\n\tconst forceColor = sniffFlags ? flagForceColor : noFlagForceColor;\n\n\tif (forceColor === 0) {\n\t\treturn 0;\n\t}\n\n\tif (sniffFlags) {\n\t\tif (hasFlag('color=16m')\n\t\t\t|| hasFlag('color=full')\n\t\t\t|| hasFlag('color=truecolor')) {\n\t\t\treturn 3;\n\t\t}\n\n\t\tif (hasFlag('color=256')) {\n\t\t\treturn 2;\n\t\t}\n\t}\n\n\t// Check for Azure DevOps pipelines.\n\t// Has to be above the `!streamIsTTY` check.\n\tif ('TF_BUILD' in env && 'AGENT_NAME' in env) {\n\t\treturn 1;\n\t}\n\n\tif (haveStream && !streamIsTTY && forceColor === undefined) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor || 0;\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\t// Windows 10 build 10586 is the first Windows release that supports 256 colors.\n\t\t// Windows 10 build 14931 is the first release that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(osRelease[0]) >= 10\n\t\t\t&& Number(osRelease[2]) >= 10_586\n\t\t) {\n\t\t\treturn Number(osRelease[2]) >= 14_931 ? 3 : 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['GITHUB_ACTIONS', 'GITEA_ACTIONS', 'CIRCLECI'].some(key => key in env)) {\n\t\t\treturn 3;\n\t\t}\n\n\t\tif (['TRAVIS', 'APPVEYOR', 'GITLAB_CI', 'BUILDKITE', 'DRONE'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn min;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif (env.COLORTERM === 'truecolor') {\n\t\treturn 3;\n\t}\n\n\tif (env.TERM === 'xterm-kitty') {\n\t\treturn 3;\n\t}\n\n\tif (env.TERM === 'xterm-ghostty') {\n\t\treturn 3;\n\t}\n\n\tif (env.TERM === 'wezterm') {\n\t\treturn 3;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = Number.parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app': {\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\t}\n\n\t\t\tcase 'Apple_Terminal': {\n\t\t\t\treturn 2;\n\t\t\t}\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\treturn min;\n}\n\nexport function createSupportsColor(stream, options = {}) {\n\tconst level = _supportsColor(stream, {\n\t\tstreamIsTTY: stream && stream.isTTY,\n\t\t...options,\n\t});\n\n\treturn translateLevel(level);\n}\n\nconst supportsColor = {\n\tstdout: createSupportsColor({isTTY: tty.isatty(1)}),\n\tstderr: createSupportsColor({isTTY: tty.isatty(2)}),\n};\n\nexport default supportsColor;\n","/**\n * Module dependencies.\n */\n\nconst tty = require('tty');\nconst util = require('util');\n\n/**\n * This is the Node.js implementation of `debug()`.\n */\n\nexports.init = init;\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.destroy = util.deprecate(\n\t() => {},\n\t'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'\n);\n\n/**\n * Colors.\n */\n\nexports.colors = [6, 2, 3, 4, 5, 1];\n\ntry {\n\t// Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)\n\t// eslint-disable-next-line import/no-extraneous-dependencies\n\tconst supportsColor = require('supports-color');\n\n\tif (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {\n\t\texports.colors = [\n\t\t\t20,\n\t\t\t21,\n\t\t\t26,\n\t\t\t27,\n\t\t\t32,\n\t\t\t33,\n\t\t\t38,\n\t\t\t39,\n\t\t\t40,\n\t\t\t41,\n\t\t\t42,\n\t\t\t43,\n\t\t\t44,\n\t\t\t45,\n\t\t\t56,\n\t\t\t57,\n\t\t\t62,\n\t\t\t63,\n\t\t\t68,\n\t\t\t69,\n\t\t\t74,\n\t\t\t75,\n\t\t\t76,\n\t\t\t77,\n\t\t\t78,\n\t\t\t79,\n\t\t\t80,\n\t\t\t81,\n\t\t\t92,\n\t\t\t93,\n\t\t\t98,\n\t\t\t99,\n\t\t\t112,\n\t\t\t113,\n\t\t\t128,\n\t\t\t129,\n\t\t\t134,\n\t\t\t135,\n\t\t\t148,\n\t\t\t149,\n\t\t\t160,\n\t\t\t161,\n\t\t\t162,\n\t\t\t163,\n\t\t\t164,\n\t\t\t165,\n\t\t\t166,\n\t\t\t167,\n\t\t\t168,\n\t\t\t169,\n\t\t\t170,\n\t\t\t171,\n\t\t\t172,\n\t\t\t173,\n\t\t\t178,\n\t\t\t179,\n\t\t\t184,\n\t\t\t185,\n\t\t\t196,\n\t\t\t197,\n\t\t\t198,\n\t\t\t199,\n\t\t\t200,\n\t\t\t201,\n\t\t\t202,\n\t\t\t203,\n\t\t\t204,\n\t\t\t205,\n\t\t\t206,\n\t\t\t207,\n\t\t\t208,\n\t\t\t209,\n\t\t\t214,\n\t\t\t215,\n\t\t\t220,\n\t\t\t221\n\t\t];\n\t}\n} catch (error) {\n\t// Swallow - we only care if `supports-color` is available; it doesn't have to be.\n}\n\n/**\n * Build up the default `inspectOpts` object from the environment variables.\n *\n * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js\n */\n\nexports.inspectOpts = Object.keys(process.env).filter(key => {\n\treturn /^debug_/i.test(key);\n}).reduce((obj, key) => {\n\t// Camel-case\n\tconst prop = key\n\t\t.substring(6)\n\t\t.toLowerCase()\n\t\t.replace(/_([a-z])/g, (_, k) => {\n\t\t\treturn k.toUpperCase();\n\t\t});\n\n\t// Coerce string value into JS value\n\tlet val = process.env[key];\n\tif (/^(yes|on|true|enabled)$/i.test(val)) {\n\t\tval = true;\n\t} else if (/^(no|off|false|disabled)$/i.test(val)) {\n\t\tval = false;\n\t} else if (val === 'null') {\n\t\tval = null;\n\t} else {\n\t\tval = Number(val);\n\t}\n\n\tobj[prop] = val;\n\treturn obj;\n}, {});\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\n\nfunction useColors() {\n\treturn 'colors' in exports.inspectOpts ?\n\t\tBoolean(exports.inspectOpts.colors) :\n\t\ttty.isatty(process.stderr.fd);\n}\n\n/**\n * Adds ANSI color escape codes if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\tconst {namespace: name, useColors} = this;\n\n\tif (useColors) {\n\t\tconst c = this.color;\n\t\tconst colorCode = '\\u001B[3' + (c < 8 ? c : '8;5;' + c);\n\t\tconst prefix = ` ${colorCode};1m${name} \\u001B[0m`;\n\n\t\targs[0] = prefix + args[0].split('\\n').join('\\n' + prefix);\n\t\targs.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\\u001B[0m');\n\t} else {\n\t\targs[0] = getDate() + name + ' ' + args[0];\n\t}\n}\n\nfunction getDate() {\n\tif (exports.inspectOpts.hideDate) {\n\t\treturn '';\n\t}\n\treturn new Date().toISOString() + ' ';\n}\n\n/**\n * Invokes `util.formatWithOptions()` with the specified arguments and writes to stderr.\n */\n\nfunction log(...args) {\n\treturn process.stderr.write(util.formatWithOptions(exports.inspectOpts, ...args) + '\\n');\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\tif (namespaces) {\n\t\tprocess.env.DEBUG = namespaces;\n\t} else {\n\t\t// If you set a process.env field to null or undefined, it gets cast to the\n\t\t// string 'null' or 'undefined'. Just delete instead.\n\t\tdelete process.env.DEBUG;\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n\treturn process.env.DEBUG;\n}\n\n/**\n * Init logic for `debug` instances.\n *\n * Create a new `inspectOpts` object in case `useColors` is set\n * differently for a particular `debug` instance.\n */\n\nfunction init(debug) {\n\tdebug.inspectOpts = {};\n\n\tconst keys = Object.keys(exports.inspectOpts);\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tdebug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %o to `util.inspect()`, all on a single line.\n */\n\nformatters.o = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts)\n\t\t.split('\\n')\n\t\t.map(str => str.trim())\n\t\t.join(' ');\n};\n\n/**\n * Map %O to `util.inspect()`, allowing multiple lines if needed.\n */\n\nformatters.O = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts);\n};\n","/**\n * Detect Electron renderer / nwjs process, which is node, but we should\n * treat as a browser.\n */\n\nif (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {\n\tmodule.exports = require('./browser.js');\n} else {\n\tmodule.exports = require('./node.js');\n}\n","var debug;\n\nmodule.exports = function () {\n if (!debug) {\n try {\n /* eslint global-require: off */\n debug = require(\"debug\")(\"follow-redirects\");\n }\n catch (error) { /* */ }\n if (typeof debug !== \"function\") {\n debug = function () { /* */ };\n }\n }\n debug.apply(null, arguments);\n};\n","var url = require(\"url\");\nvar URL = url.URL;\nvar http = require(\"http\");\nvar https = require(\"https\");\nvar Writable = require(\"stream\").Writable;\nvar assert = require(\"assert\");\nvar debug = require(\"./debug\");\n\n// Preventive platform detection\n// istanbul ignore next\n(function detectUnsupportedEnvironment() {\n var looksLikeNode = typeof process !== \"undefined\";\n var looksLikeBrowser = typeof window !== \"undefined\" && typeof document !== \"undefined\";\n var looksLikeV8 = isFunction(Error.captureStackTrace);\n if (!looksLikeNode && (looksLikeBrowser || !looksLikeV8)) {\n console.warn(\"The follow-redirects package should be excluded from browser builds.\");\n }\n}());\n\n// Whether to use the native URL object or the legacy url module\nvar useNativeURL = false;\ntry {\n assert(new URL(\"\"));\n}\ncatch (error) {\n useNativeURL = error.code === \"ERR_INVALID_URL\";\n}\n\n// URL fields to preserve in copy operations\nvar preservedUrlFields = [\n \"auth\",\n \"host\",\n \"hostname\",\n \"href\",\n \"path\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"query\",\n \"search\",\n \"hash\",\n];\n\n// Create handlers that pass events from native requests\nvar events = [\"abort\", \"aborted\", \"connect\", \"error\", \"socket\", \"timeout\"];\nvar eventHandlers = Object.create(null);\nevents.forEach(function (event) {\n eventHandlers[event] = function (arg1, arg2, arg3) {\n this._redirectable.emit(event, arg1, arg2, arg3);\n };\n});\n\n// Error types with codes\nvar InvalidUrlError = createErrorType(\n \"ERR_INVALID_URL\",\n \"Invalid URL\",\n TypeError\n);\nvar RedirectionError = createErrorType(\n \"ERR_FR_REDIRECTION_FAILURE\",\n \"Redirected request failed\"\n);\nvar TooManyRedirectsError = createErrorType(\n \"ERR_FR_TOO_MANY_REDIRECTS\",\n \"Maximum number of redirects exceeded\",\n RedirectionError\n);\nvar MaxBodyLengthExceededError = createErrorType(\n \"ERR_FR_MAX_BODY_LENGTH_EXCEEDED\",\n \"Request body larger than maxBodyLength limit\"\n);\nvar WriteAfterEndError = createErrorType(\n \"ERR_STREAM_WRITE_AFTER_END\",\n \"write after end\"\n);\n\n// istanbul ignore next\nvar destroy = Writable.prototype.destroy || noop;\n\n// An HTTP(S) request that can be redirected\nfunction RedirectableRequest(options, responseCallback) {\n // Initialize the request\n Writable.call(this);\n this._sanitizeOptions(options);\n this._options = options;\n this._ended = false;\n this._ending = false;\n this._redirectCount = 0;\n this._redirects = [];\n this._requestBodyLength = 0;\n this._requestBodyBuffers = [];\n\n // Attach a callback if passed\n if (responseCallback) {\n this.on(\"response\", responseCallback);\n }\n\n // React to responses of native requests\n var self = this;\n this._onNativeResponse = function (response) {\n try {\n self._processResponse(response);\n }\n catch (cause) {\n self.emit(\"error\", cause instanceof RedirectionError ?\n cause : new RedirectionError({ cause: cause }));\n }\n };\n\n // Perform the first request\n this._performRequest();\n}\nRedirectableRequest.prototype = Object.create(Writable.prototype);\n\nRedirectableRequest.prototype.abort = function () {\n destroyRequest(this._currentRequest);\n this._currentRequest.abort();\n this.emit(\"abort\");\n};\n\nRedirectableRequest.prototype.destroy = function (error) {\n destroyRequest(this._currentRequest, error);\n destroy.call(this, error);\n return this;\n};\n\n// Writes buffered data to the current native request\nRedirectableRequest.prototype.write = function (data, encoding, callback) {\n // Writing is not allowed if end has been called\n if (this._ending) {\n throw new WriteAfterEndError();\n }\n\n // Validate input and shift parameters if necessary\n if (!isString(data) && !isBuffer(data)) {\n throw new TypeError(\"data should be a string, Buffer or Uint8Array\");\n }\n if (isFunction(encoding)) {\n callback = encoding;\n encoding = null;\n }\n\n // Ignore empty buffers, since writing them doesn't invoke the callback\n // https://github.com/nodejs/node/issues/22066\n if (data.length === 0) {\n if (callback) {\n callback();\n }\n return;\n }\n // Only write when we don't exceed the maximum body length\n if (this._requestBodyLength + data.length <= this._options.maxBodyLength) {\n this._requestBodyLength += data.length;\n this._requestBodyBuffers.push({ data: data, encoding: encoding });\n this._currentRequest.write(data, encoding, callback);\n }\n // Error when we exceed the maximum body length\n else {\n this.emit(\"error\", new MaxBodyLengthExceededError());\n this.abort();\n }\n};\n\n// Ends the current native request\nRedirectableRequest.prototype.end = function (data, encoding, callback) {\n // Shift parameters if necessary\n if (isFunction(data)) {\n callback = data;\n data = encoding = null;\n }\n else if (isFunction(encoding)) {\n callback = encoding;\n encoding = null;\n }\n\n // Write data if needed and end\n if (!data) {\n this._ended = this._ending = true;\n this._currentRequest.end(null, null, callback);\n }\n else {\n var self = this;\n var currentRequest = this._currentRequest;\n this.write(data, encoding, function () {\n self._ended = true;\n currentRequest.end(null, null, callback);\n });\n this._ending = true;\n }\n};\n\n// Sets a header value on the current native request\nRedirectableRequest.prototype.setHeader = function (name, value) {\n this._options.headers[name] = value;\n this._currentRequest.setHeader(name, value);\n};\n\n// Clears a header value on the current native request\nRedirectableRequest.prototype.removeHeader = function (name) {\n delete this._options.headers[name];\n this._currentRequest.removeHeader(name);\n};\n\n// Global timeout for all underlying requests\nRedirectableRequest.prototype.setTimeout = function (msecs, callback) {\n var self = this;\n\n // Destroys the socket on timeout\n function destroyOnTimeout(socket) {\n socket.setTimeout(msecs);\n socket.removeListener(\"timeout\", socket.destroy);\n socket.addListener(\"timeout\", socket.destroy);\n }\n\n // Sets up a timer to trigger a timeout event\n function startTimer(socket) {\n if (self._timeout) {\n clearTimeout(self._timeout);\n }\n self._timeout = setTimeout(function () {\n self.emit(\"timeout\");\n clearTimer();\n }, msecs);\n destroyOnTimeout(socket);\n }\n\n // Stops a timeout from triggering\n function clearTimer() {\n // Clear the timeout\n if (self._timeout) {\n clearTimeout(self._timeout);\n self._timeout = null;\n }\n\n // Clean up all attached listeners\n self.removeListener(\"abort\", clearTimer);\n self.removeListener(\"error\", clearTimer);\n self.removeListener(\"response\", clearTimer);\n self.removeListener(\"close\", clearTimer);\n if (callback) {\n self.removeListener(\"timeout\", callback);\n }\n if (!self.socket) {\n self._currentRequest.removeListener(\"socket\", startTimer);\n }\n }\n\n // Attach callback if passed\n if (callback) {\n this.on(\"timeout\", callback);\n }\n\n // Start the timer if or when the socket is opened\n if (this.socket) {\n startTimer(this.socket);\n }\n else {\n this._currentRequest.once(\"socket\", startTimer);\n }\n\n // Clean up on events\n this.on(\"socket\", destroyOnTimeout);\n this.on(\"abort\", clearTimer);\n this.on(\"error\", clearTimer);\n this.on(\"response\", clearTimer);\n this.on(\"close\", clearTimer);\n\n return this;\n};\n\n// Proxy all other public ClientRequest methods\n[\n \"flushHeaders\", \"getHeader\",\n \"setNoDelay\", \"setSocketKeepAlive\",\n].forEach(function (method) {\n RedirectableRequest.prototype[method] = function (a, b) {\n return this._currentRequest[method](a, b);\n };\n});\n\n// Proxy all public ClientRequest properties\n[\"aborted\", \"connection\", \"socket\"].forEach(function (property) {\n Object.defineProperty(RedirectableRequest.prototype, property, {\n get: function () { return this._currentRequest[property]; },\n });\n});\n\nRedirectableRequest.prototype._sanitizeOptions = function (options) {\n // Ensure headers are always present\n if (!options.headers) {\n options.headers = {};\n }\n\n // Since http.request treats host as an alias of hostname,\n // but the url module interprets host as hostname plus port,\n // eliminate the host property to avoid confusion.\n if (options.host) {\n // Use hostname if set, because it has precedence\n if (!options.hostname) {\n options.hostname = options.host;\n }\n delete options.host;\n }\n\n // Complete the URL object when necessary\n if (!options.pathname && options.path) {\n var searchPos = options.path.indexOf(\"?\");\n if (searchPos < 0) {\n options.pathname = options.path;\n }\n else {\n options.pathname = options.path.substring(0, searchPos);\n options.search = options.path.substring(searchPos);\n }\n }\n};\n\n\n// Executes the next native request (initial or redirect)\nRedirectableRequest.prototype._performRequest = function () {\n // Load the native protocol\n var protocol = this._options.protocol;\n var nativeProtocol = this._options.nativeProtocols[protocol];\n if (!nativeProtocol) {\n throw new TypeError(\"Unsupported protocol \" + protocol);\n }\n\n // If specified, use the agent corresponding to the protocol\n // (HTTP and HTTPS use different types of agents)\n if (this._options.agents) {\n var scheme = protocol.slice(0, -1);\n this._options.agent = this._options.agents[scheme];\n }\n\n // Create the native request and set up its event handlers\n var request = this._currentRequest =\n nativeProtocol.request(this._options, this._onNativeResponse);\n request._redirectable = this;\n for (var event of events) {\n request.on(event, eventHandlers[event]);\n }\n\n // RFC7230§5.3.1: When making a request directly to an origin server, […]\n // a client MUST send only the absolute path […] as the request-target.\n this._currentUrl = /^\\//.test(this._options.path) ?\n url.format(this._options) :\n // When making a request to a proxy, […]\n // a client MUST send the target URI in absolute-form […].\n this._options.path;\n\n // End a redirected request\n // (The first request must be ended explicitly with RedirectableRequest#end)\n if (this._isRedirect) {\n // Write the request entity and end\n var i = 0;\n var self = this;\n var buffers = this._requestBodyBuffers;\n (function writeNext(error) {\n // Only write if this request has not been redirected yet\n // istanbul ignore else\n if (request === self._currentRequest) {\n // Report any write errors\n // istanbul ignore if\n if (error) {\n self.emit(\"error\", error);\n }\n // Write the next buffer if there are still left\n else if (i < buffers.length) {\n var buffer = buffers[i++];\n // istanbul ignore else\n if (!request.finished) {\n request.write(buffer.data, buffer.encoding, writeNext);\n }\n }\n // End the request if `end` has been called on us\n else if (self._ended) {\n request.end();\n }\n }\n }());\n }\n};\n\n// Processes a response from the current native request\nRedirectableRequest.prototype._processResponse = function (response) {\n // Store the redirected response\n var statusCode = response.statusCode;\n if (this._options.trackRedirects) {\n this._redirects.push({\n url: this._currentUrl,\n headers: response.headers,\n statusCode: statusCode,\n });\n }\n\n // RFC7231§6.4: The 3xx (Redirection) class of status code indicates\n // that further action needs to be taken by the user agent in order to\n // fulfill the request. If a Location header field is provided,\n // the user agent MAY automatically redirect its request to the URI\n // referenced by the Location field value,\n // even if the specific status code is not understood.\n\n // If the response is not a redirect; return it as-is\n var location = response.headers.location;\n if (!location || this._options.followRedirects === false ||\n statusCode < 300 || statusCode >= 400) {\n response.responseUrl = this._currentUrl;\n response.redirects = this._redirects;\n this.emit(\"response\", response);\n\n // Clean up\n this._requestBodyBuffers = [];\n return;\n }\n\n // The response is a redirect, so abort the current request\n destroyRequest(this._currentRequest);\n // Discard the remainder of the response to avoid waiting for data\n response.destroy();\n\n // RFC7231§6.4: A client SHOULD detect and intervene\n // in cyclical redirections (i.e., \"infinite\" redirection loops).\n if (++this._redirectCount > this._options.maxRedirects) {\n throw new TooManyRedirectsError();\n }\n\n // Store the request headers if applicable\n var requestHeaders;\n var beforeRedirect = this._options.beforeRedirect;\n if (beforeRedirect) {\n requestHeaders = Object.assign({\n // The Host header was set by nativeProtocol.request\n Host: response.req.getHeader(\"host\"),\n }, this._options.headers);\n }\n\n // RFC7231§6.4: Automatic redirection needs to done with\n // care for methods not known to be safe, […]\n // RFC7231§6.4.2–3: For historical reasons, a user agent MAY change\n // the request method from POST to GET for the subsequent request.\n var method = this._options.method;\n if ((statusCode === 301 || statusCode === 302) && this._options.method === \"POST\" ||\n // RFC7231§6.4.4: The 303 (See Other) status code indicates that\n // the server is redirecting the user agent to a different resource […]\n // A user agent can perform a retrieval request targeting that URI\n // (a GET or HEAD request if using HTTP) […]\n (statusCode === 303) && !/^(?:GET|HEAD)$/.test(this._options.method)) {\n this._options.method = \"GET\";\n // Drop a possible entity and headers related to it\n this._requestBodyBuffers = [];\n removeMatchingHeaders(/^content-/i, this._options.headers);\n }\n\n // Drop the Host header, as the redirect might lead to a different host\n var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers);\n\n // If the redirect is relative, carry over the host of the last request\n var currentUrlParts = parseUrl(this._currentUrl);\n var currentHost = currentHostHeader || currentUrlParts.host;\n var currentUrl = /^\\w+:/.test(location) ? this._currentUrl :\n url.format(Object.assign(currentUrlParts, { host: currentHost }));\n\n // Create the redirected request\n var redirectUrl = resolveUrl(location, currentUrl);\n debug(\"redirecting to\", redirectUrl.href);\n this._isRedirect = true;\n spreadUrlObject(redirectUrl, this._options);\n\n // Drop confidential headers when redirecting to a less secure protocol\n // or to a different domain that is not a superdomain\n if (redirectUrl.protocol !== currentUrlParts.protocol &&\n redirectUrl.protocol !== \"https:\" ||\n redirectUrl.host !== currentHost &&\n !isSubdomain(redirectUrl.host, currentHost)) {\n removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers);\n }\n\n // Evaluate the beforeRedirect callback\n if (isFunction(beforeRedirect)) {\n var responseDetails = {\n headers: response.headers,\n statusCode: statusCode,\n };\n var requestDetails = {\n url: currentUrl,\n method: method,\n headers: requestHeaders,\n };\n beforeRedirect(this._options, responseDetails, requestDetails);\n this._sanitizeOptions(this._options);\n }\n\n // Perform the redirected request\n this._performRequest();\n};\n\n// Wraps the key/value object of protocols with redirect functionality\nfunction wrap(protocols) {\n // Default settings\n var exports = {\n maxRedirects: 21,\n maxBodyLength: 10 * 1024 * 1024,\n };\n\n // Wrap each protocol\n var nativeProtocols = {};\n Object.keys(protocols).forEach(function (scheme) {\n var protocol = scheme + \":\";\n var nativeProtocol = nativeProtocols[protocol] = protocols[scheme];\n var wrappedProtocol = exports[scheme] = Object.create(nativeProtocol);\n\n // Executes a request, following redirects\n function request(input, options, callback) {\n // Parse parameters, ensuring that input is an object\n if (isURL(input)) {\n input = spreadUrlObject(input);\n }\n else if (isString(input)) {\n input = spreadUrlObject(parseUrl(input));\n }\n else {\n callback = options;\n options = validateUrl(input);\n input = { protocol: protocol };\n }\n if (isFunction(options)) {\n callback = options;\n options = null;\n }\n\n // Set defaults\n options = Object.assign({\n maxRedirects: exports.maxRedirects,\n maxBodyLength: exports.maxBodyLength,\n }, input, options);\n options.nativeProtocols = nativeProtocols;\n if (!isString(options.host) && !isString(options.hostname)) {\n options.hostname = \"::1\";\n }\n\n assert.equal(options.protocol, protocol, \"protocol mismatch\");\n debug(\"options\", options);\n return new RedirectableRequest(options, callback);\n }\n\n // Executes a GET request, following redirects\n function get(input, options, callback) {\n var wrappedRequest = wrappedProtocol.request(input, options, callback);\n wrappedRequest.end();\n return wrappedRequest;\n }\n\n // Expose the properties on the wrapped protocol\n Object.defineProperties(wrappedProtocol, {\n request: { value: request, configurable: true, enumerable: true, writable: true },\n get: { value: get, configurable: true, enumerable: true, writable: true },\n });\n });\n return exports;\n}\n\nfunction noop() { /* empty */ }\n\nfunction parseUrl(input) {\n var parsed;\n // istanbul ignore else\n if (useNativeURL) {\n parsed = new URL(input);\n }\n else {\n // Ensure the URL is valid and absolute\n parsed = validateUrl(url.parse(input));\n if (!isString(parsed.protocol)) {\n throw new InvalidUrlError({ input });\n }\n }\n return parsed;\n}\n\nfunction resolveUrl(relative, base) {\n // istanbul ignore next\n return useNativeURL ? new URL(relative, base) : parseUrl(url.resolve(base, relative));\n}\n\nfunction validateUrl(input) {\n if (/^\\[/.test(input.hostname) && !/^\\[[:0-9a-f]+\\]$/i.test(input.hostname)) {\n throw new InvalidUrlError({ input: input.href || input });\n }\n if (/^\\[/.test(input.host) && !/^\\[[:0-9a-f]+\\](:\\d+)?$/i.test(input.host)) {\n throw new InvalidUrlError({ input: input.href || input });\n }\n return input;\n}\n\nfunction spreadUrlObject(urlObject, target) {\n var spread = target || {};\n for (var key of preservedUrlFields) {\n spread[key] = urlObject[key];\n }\n\n // Fix IPv6 hostname\n if (spread.hostname.startsWith(\"[\")) {\n spread.hostname = spread.hostname.slice(1, -1);\n }\n // Ensure port is a number\n if (spread.port !== \"\") {\n spread.port = Number(spread.port);\n }\n // Concatenate path\n spread.path = spread.search ? spread.pathname + spread.search : spread.pathname;\n\n return spread;\n}\n\nfunction removeMatchingHeaders(regex, headers) {\n var lastValue;\n for (var header in headers) {\n if (regex.test(header)) {\n lastValue = headers[header];\n delete headers[header];\n }\n }\n return (lastValue === null || typeof lastValue === \"undefined\") ?\n undefined : String(lastValue).trim();\n}\n\nfunction createErrorType(code, message, baseClass) {\n // Create constructor\n function CustomError(properties) {\n // istanbul ignore else\n if (isFunction(Error.captureStackTrace)) {\n Error.captureStackTrace(this, this.constructor);\n }\n Object.assign(this, properties || {});\n this.code = code;\n this.message = this.cause ? message + \": \" + this.cause.message : message;\n }\n\n // Attach constructor and set default properties\n CustomError.prototype = new (baseClass || Error)();\n Object.defineProperties(CustomError.prototype, {\n constructor: {\n value: CustomError,\n enumerable: false,\n },\n name: {\n value: \"Error [\" + code + \"]\",\n enumerable: false,\n },\n });\n return CustomError;\n}\n\nfunction destroyRequest(request, error) {\n for (var event of events) {\n request.removeListener(event, eventHandlers[event]);\n }\n request.on(\"error\", noop);\n request.destroy(error);\n}\n\nfunction isSubdomain(subdomain, domain) {\n assert(isString(subdomain) && isString(domain));\n var dot = subdomain.length - domain.length - 1;\n return dot > 0 && subdomain[dot] === \".\" && subdomain.endsWith(domain);\n}\n\nfunction isString(value) {\n return typeof value === \"string\" || value instanceof String;\n}\n\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n\nfunction isBuffer(value) {\n return typeof value === \"object\" && (\"length\" in value);\n}\n\nfunction isURL(value) {\n return URL && value instanceof URL;\n}\n\n// Exports\nmodule.exports = wrap({ http: http, https: https });\nmodule.exports.wrap = wrap;\n","export const VERSION = \"1.13.2\";","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport parseProtocol from './parseProtocol.js';\nimport platform from '../platform/index.js';\n\nconst DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\\s\\S]*)$/;\n\n/**\n * Parse data uri to a Buffer or Blob\n *\n * @param {String} uri\n * @param {?Boolean} asBlob\n * @param {?Object} options\n * @param {?Function} options.Blob\n *\n * @returns {Buffer|Blob}\n */\nexport default function fromDataURI(uri, asBlob, options) {\n const _Blob = options && options.Blob || platform.classes.Blob;\n const protocol = parseProtocol(uri);\n\n if (asBlob === undefined && _Blob) {\n asBlob = true;\n }\n\n if (protocol === 'data') {\n uri = protocol.length ? uri.slice(protocol.length + 1) : uri;\n\n const match = DATA_URL_PATTERN.exec(uri);\n\n if (!match) {\n throw new AxiosError('Invalid URL', AxiosError.ERR_INVALID_URL);\n }\n\n const mime = match[1];\n const isBase64 = match[2];\n const body = match[3];\n const buffer = Buffer.from(decodeURIComponent(body), isBase64 ? 'base64' : 'utf8');\n\n if (asBlob) {\n if (!_Blob) {\n throw new AxiosError('Blob is not supported', AxiosError.ERR_NOT_SUPPORT);\n }\n\n return new _Blob([buffer], {type: mime});\n }\n\n return buffer;\n }\n\n throw new AxiosError('Unsupported protocol ' + protocol, AxiosError.ERR_NOT_SUPPORT);\n}\n","'use strict';\n\nimport stream from 'stream';\nimport utils from '../utils.js';\n\nconst kInternals = Symbol('internals');\n\nclass AxiosTransformStream extends stream.Transform{\n constructor(options) {\n options = utils.toFlatObject(options, {\n maxRate: 0,\n chunkSize: 64 * 1024,\n minChunkSize: 100,\n timeWindow: 500,\n ticksRate: 2,\n samplesCount: 15\n }, null, (prop, source) => {\n return !utils.isUndefined(source[prop]);\n });\n\n super({\n readableHighWaterMark: options.chunkSize\n });\n\n const internals = this[kInternals] = {\n timeWindow: options.timeWindow,\n chunkSize: options.chunkSize,\n maxRate: options.maxRate,\n minChunkSize: options.minChunkSize,\n bytesSeen: 0,\n isCaptured: false,\n notifiedBytesLoaded: 0,\n ts: Date.now(),\n bytes: 0,\n onReadCallback: null\n };\n\n this.on('newListener', event => {\n if (event === 'progress') {\n if (!internals.isCaptured) {\n internals.isCaptured = true;\n }\n }\n });\n }\n\n _read(size) {\n const internals = this[kInternals];\n\n if (internals.onReadCallback) {\n internals.onReadCallback();\n }\n\n return super._read(size);\n }\n\n _transform(chunk, encoding, callback) {\n const internals = this[kInternals];\n const maxRate = internals.maxRate;\n\n const readableHighWaterMark = this.readableHighWaterMark;\n\n const timeWindow = internals.timeWindow;\n\n const divider = 1000 / timeWindow;\n const bytesThreshold = (maxRate / divider);\n const minChunkSize = internals.minChunkSize !== false ? Math.max(internals.minChunkSize, bytesThreshold * 0.01) : 0;\n\n const pushChunk = (_chunk, _callback) => {\n const bytes = Buffer.byteLength(_chunk);\n internals.bytesSeen += bytes;\n internals.bytes += bytes;\n\n internals.isCaptured && this.emit('progress', internals.bytesSeen);\n\n if (this.push(_chunk)) {\n process.nextTick(_callback);\n } else {\n internals.onReadCallback = () => {\n internals.onReadCallback = null;\n process.nextTick(_callback);\n };\n }\n }\n\n const transformChunk = (_chunk, _callback) => {\n const chunkSize = Buffer.byteLength(_chunk);\n let chunkRemainder = null;\n let maxChunkSize = readableHighWaterMark;\n let bytesLeft;\n let passed = 0;\n\n if (maxRate) {\n const now = Date.now();\n\n if (!internals.ts || (passed = (now - internals.ts)) >= timeWindow) {\n internals.ts = now;\n bytesLeft = bytesThreshold - internals.bytes;\n internals.bytes = bytesLeft < 0 ? -bytesLeft : 0;\n passed = 0;\n }\n\n bytesLeft = bytesThreshold - internals.bytes;\n }\n\n if (maxRate) {\n if (bytesLeft <= 0) {\n // next time window\n return setTimeout(() => {\n _callback(null, _chunk);\n }, timeWindow - passed);\n }\n\n if (bytesLeft < maxChunkSize) {\n maxChunkSize = bytesLeft;\n }\n }\n\n if (maxChunkSize && chunkSize > maxChunkSize && (chunkSize - maxChunkSize) > minChunkSize) {\n chunkRemainder = _chunk.subarray(maxChunkSize);\n _chunk = _chunk.subarray(0, maxChunkSize);\n }\n\n pushChunk(_chunk, chunkRemainder ? () => {\n process.nextTick(_callback, null, chunkRemainder);\n } : _callback);\n };\n\n transformChunk(chunk, function transformNextChunk(err, _chunk) {\n if (err) {\n return callback(err);\n }\n\n if (_chunk) {\n transformChunk(_chunk, transformNextChunk);\n } else {\n callback(null);\n }\n });\n }\n}\n\nexport default AxiosTransformStream;\n","const {asyncIterator} = Symbol;\n\nconst readBlob = async function* (blob) {\n if (blob.stream) {\n yield* blob.stream()\n } else if (blob.arrayBuffer) {\n yield await blob.arrayBuffer()\n } else if (blob[asyncIterator]) {\n yield* blob[asyncIterator]();\n } else {\n yield blob;\n }\n}\n\nexport default readBlob;\n","import util from 'util';\nimport {Readable} from 'stream';\nimport utils from \"../utils.js\";\nimport readBlob from \"./readBlob.js\";\nimport platform from \"../platform/index.js\";\n\nconst BOUNDARY_ALPHABET = platform.ALPHABET.ALPHA_DIGIT + '-_';\n\nconst textEncoder = typeof TextEncoder === 'function' ? new TextEncoder() : new util.TextEncoder();\n\nconst CRLF = '\\r\\n';\nconst CRLF_BYTES = textEncoder.encode(CRLF);\nconst CRLF_BYTES_COUNT = 2;\n\nclass FormDataPart {\n constructor(name, value) {\n const {escapeName} = this.constructor;\n const isStringValue = utils.isString(value);\n\n let headers = `Content-Disposition: form-data; name=\"${escapeName(name)}\"${\n !isStringValue && value.name ? `; filename=\"${escapeName(value.name)}\"` : ''\n }${CRLF}`;\n\n if (isStringValue) {\n value = textEncoder.encode(String(value).replace(/\\r?\\n|\\r\\n?/g, CRLF));\n } else {\n headers += `Content-Type: ${value.type || \"application/octet-stream\"}${CRLF}`\n }\n\n this.headers = textEncoder.encode(headers + CRLF);\n\n this.contentLength = isStringValue ? value.byteLength : value.size;\n\n this.size = this.headers.byteLength + this.contentLength + CRLF_BYTES_COUNT;\n\n this.name = name;\n this.value = value;\n }\n\n async *encode(){\n yield this.headers;\n\n const {value} = this;\n\n if(utils.isTypedArray(value)) {\n yield value;\n } else {\n yield* readBlob(value);\n }\n\n yield CRLF_BYTES;\n }\n\n static escapeName(name) {\n return String(name).replace(/[\\r\\n\"]/g, (match) => ({\n '\\r' : '%0D',\n '\\n' : '%0A',\n '\"' : '%22',\n }[match]));\n }\n}\n\nconst formDataToStream = (form, headersHandler, options) => {\n const {\n tag = 'form-data-boundary',\n size = 25,\n boundary = tag + '-' + platform.generateString(size, BOUNDARY_ALPHABET)\n } = options || {};\n\n if(!utils.isFormData(form)) {\n throw TypeError('FormData instance required');\n }\n\n if (boundary.length < 1 || boundary.length > 70) {\n throw Error('boundary must be 10-70 characters long')\n }\n\n const boundaryBytes = textEncoder.encode('--' + boundary + CRLF);\n const footerBytes = textEncoder.encode('--' + boundary + '--' + CRLF);\n let contentLength = footerBytes.byteLength;\n\n const parts = Array.from(form.entries()).map(([name, value]) => {\n const part = new FormDataPart(name, value);\n contentLength += part.size;\n return part;\n });\n\n contentLength += boundaryBytes.byteLength * parts.length;\n\n contentLength = utils.toFiniteNumber(contentLength);\n\n const computedHeaders = {\n 'Content-Type': `multipart/form-data; boundary=${boundary}`\n }\n\n if (Number.isFinite(contentLength)) {\n computedHeaders['Content-Length'] = contentLength;\n }\n\n headersHandler && headersHandler(computedHeaders);\n\n return Readable.from((async function *() {\n for(const part of parts) {\n yield boundaryBytes;\n yield* part.encode();\n }\n\n yield footerBytes;\n })());\n};\n\nexport default formDataToStream;\n","\"use strict\";\n\nimport stream from \"stream\";\n\nclass ZlibHeaderTransformStream extends stream.Transform {\n __transform(chunk, encoding, callback) {\n this.push(chunk);\n callback();\n }\n\n _transform(chunk, encoding, callback) {\n if (chunk.length !== 0) {\n this._transform = this.__transform;\n\n // Add Default Compression headers if no zlib headers are present\n if (chunk[0] !== 120) { // Hex: 78\n const header = Buffer.alloc(2);\n header[0] = 120; // Hex: 78\n header[1] = 156; // Hex: 9C \n this.push(header, encoding);\n }\n }\n\n this.__transform(chunk, encoding, callback);\n }\n}\n\nexport default ZlibHeaderTransformStream;\n","import utils from \"../utils.js\";\n\nconst callbackify = (fn, reducer) => {\n return utils.isAsyncFn(fn) ? function (...args) {\n const cb = args.pop();\n fn.apply(this, args).then((value) => {\n try {\n reducer ? cb(null, ...reducer(value)) : cb(null, value);\n } catch (err) {\n cb(err);\n }\n }, cb);\n } : fn;\n}\n\nexport default callbackify;\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn(...args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","/**\n * Estimate decoded byte length of a data:// URL *without* allocating large buffers.\n * - For base64: compute exact decoded size using length and padding;\n * handle %XX at the character-count level (no string allocation).\n * - For non-base64: use UTF-8 byteLength of the encoded body as a safe upper bound.\n *\n * @param {string} url\n * @returns {number}\n */\nexport default function estimateDataURLDecodedBytes(url) {\n if (!url || typeof url !== 'string') return 0;\n if (!url.startsWith('data:')) return 0;\n\n const comma = url.indexOf(',');\n if (comma < 0) return 0;\n\n const meta = url.slice(5, comma);\n const body = url.slice(comma + 1);\n const isBase64 = /;base64/i.test(meta);\n\n if (isBase64) {\n let effectiveLen = body.length;\n const len = body.length; // cache length\n\n for (let i = 0; i < len; i++) {\n if (body.charCodeAt(i) === 37 /* '%' */ && i + 2 < len) {\n const a = body.charCodeAt(i + 1);\n const b = body.charCodeAt(i + 2);\n const isHex =\n ((a >= 48 && a <= 57) || (a >= 65 && a <= 70) || (a >= 97 && a <= 102)) &&\n ((b >= 48 && b <= 57) || (b >= 65 && b <= 70) || (b >= 97 && b <= 102));\n\n if (isHex) {\n effectiveLen -= 2;\n i += 2;\n }\n }\n }\n\n let pad = 0;\n let idx = len - 1;\n\n const tailIsPct3D = (j) =>\n j >= 2 &&\n body.charCodeAt(j - 2) === 37 && // '%'\n body.charCodeAt(j - 1) === 51 && // '3'\n (body.charCodeAt(j) === 68 || body.charCodeAt(j) === 100); // 'D' or 'd'\n\n if (idx >= 0) {\n if (body.charCodeAt(idx) === 61 /* '=' */) {\n pad++;\n idx--;\n } else if (tailIsPct3D(idx)) {\n pad++;\n idx -= 3;\n }\n }\n\n if (pad === 1 && idx >= 0) {\n if (body.charCodeAt(idx) === 61 /* '=' */) {\n pad++;\n } else if (tailIsPct3D(idx)) {\n pad++;\n }\n }\n\n const groups = Math.floor(effectiveLen / 4);\n const bytes = groups * 3 - (pad || 0);\n return bytes > 0 ? bytes : 0;\n }\n\n return Buffer.byteLength(body, 'utf8');\n}\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport buildURL from './../helpers/buildURL.js';\nimport proxyFromEnv from 'proxy-from-env';\nimport http from 'http';\nimport https from 'https';\nimport http2 from 'http2';\nimport util from 'util';\nimport followRedirects from 'follow-redirects';\nimport zlib from 'zlib';\nimport {VERSION} from '../env/data.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport platform from '../platform/index.js';\nimport fromDataURI from '../helpers/fromDataURI.js';\nimport stream from 'stream';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport AxiosTransformStream from '../helpers/AxiosTransformStream.js';\nimport {EventEmitter} from 'events';\nimport formDataToStream from \"../helpers/formDataToStream.js\";\nimport readBlob from \"../helpers/readBlob.js\";\nimport ZlibHeaderTransformStream from '../helpers/ZlibHeaderTransformStream.js';\nimport callbackify from \"../helpers/callbackify.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport estimateDataURLDecodedBytes from '../helpers/estimateDataURLDecodedBytes.js';\n\nconst zlibOptions = {\n flush: zlib.constants.Z_SYNC_FLUSH,\n finishFlush: zlib.constants.Z_SYNC_FLUSH\n};\n\nconst brotliOptions = {\n flush: zlib.constants.BROTLI_OPERATION_FLUSH,\n finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH\n}\n\nconst isBrotliSupported = utils.isFunction(zlib.createBrotliDecompress);\n\nconst {http: httpFollow, https: httpsFollow} = followRedirects;\n\nconst isHttps = /https:?/;\n\nconst supportedProtocols = platform.protocols.map(protocol => {\n return protocol + ':';\n});\n\n\nconst flushOnFinish = (stream, [throttled, flush]) => {\n stream\n .on('end', flush)\n .on('error', flush);\n\n return throttled;\n}\n\nclass Http2Sessions {\n constructor() {\n this.sessions = Object.create(null);\n }\n\n getSession(authority, options) {\n options = Object.assign({\n sessionTimeout: 1000\n }, options);\n\n let authoritySessions = this.sessions[authority];\n\n if (authoritySessions) {\n let len = authoritySessions.length;\n\n for (let i = 0; i < len; i++) {\n const [sessionHandle, sessionOptions] = authoritySessions[i];\n if (!sessionHandle.destroyed && !sessionHandle.closed && util.isDeepStrictEqual(sessionOptions, options)) {\n return sessionHandle;\n }\n }\n }\n\n const session = http2.connect(authority, options);\n\n let removed;\n\n const removeSession = () => {\n if (removed) {\n return;\n }\n\n removed = true;\n\n let entries = authoritySessions, len = entries.length, i = len;\n\n while (i--) {\n if (entries[i][0] === session) {\n if (len === 1) {\n delete this.sessions[authority];\n } else {\n entries.splice(i, 1);\n }\n return;\n }\n }\n };\n\n const originalRequestFn = session.request;\n\n const {sessionTimeout} = options;\n\n if(sessionTimeout != null) {\n\n let timer;\n let streamsCount = 0;\n\n session.request = function () {\n const stream = originalRequestFn.apply(this, arguments);\n\n streamsCount++;\n\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n\n stream.once('close', () => {\n if (!--streamsCount) {\n timer = setTimeout(() => {\n timer = null;\n removeSession();\n }, sessionTimeout);\n }\n });\n\n return stream;\n }\n }\n\n session.once('close', removeSession);\n\n let entry = [\n session,\n options\n ];\n\n authoritySessions ? authoritySessions.push(entry) : authoritySessions = this.sessions[authority] = [entry];\n\n return session;\n }\n}\n\nconst http2Sessions = new Http2Sessions();\n\n\n/**\n * If the proxy or config beforeRedirects functions are defined, call them with the options\n * object.\n *\n * @param {Object<string, any>} options - The options object that was passed to the request.\n *\n * @returns {Object<string, any>}\n */\nfunction dispatchBeforeRedirect(options, responseDetails) {\n if (options.beforeRedirects.proxy) {\n options.beforeRedirects.proxy(options);\n }\n if (options.beforeRedirects.config) {\n options.beforeRedirects.config(options, responseDetails);\n }\n}\n\n/**\n * If the proxy or config afterRedirects functions are defined, call them with the options\n *\n * @param {http.ClientRequestArgs} options\n * @param {AxiosProxyConfig} configProxy configuration from Axios options object\n * @param {string} location\n *\n * @returns {http.ClientRequestArgs}\n */\nfunction setProxy(options, configProxy, location) {\n let proxy = configProxy;\n if (!proxy && proxy !== false) {\n const proxyUrl = proxyFromEnv.getProxyForUrl(location);\n if (proxyUrl) {\n proxy = new URL(proxyUrl);\n }\n }\n if (proxy) {\n // Basic proxy authorization\n if (proxy.username) {\n proxy.auth = (proxy.username || '') + ':' + (proxy.password || '');\n }\n\n if (proxy.auth) {\n // Support proxy auth object form\n if (proxy.auth.username || proxy.auth.password) {\n proxy.auth = (proxy.auth.username || '') + ':' + (proxy.auth.password || '');\n }\n const base64 = Buffer\n .from(proxy.auth, 'utf8')\n .toString('base64');\n options.headers['Proxy-Authorization'] = 'Basic ' + base64;\n }\n\n options.headers.host = options.hostname + (options.port ? ':' + options.port : '');\n const proxyHost = proxy.hostname || proxy.host;\n options.hostname = proxyHost;\n // Replace 'host' since options is not a URL object\n options.host = proxyHost;\n options.port = proxy.port;\n options.path = location;\n if (proxy.protocol) {\n options.protocol = proxy.protocol.includes(':') ? proxy.protocol : `${proxy.protocol}:`;\n }\n }\n\n options.beforeRedirects.proxy = function beforeRedirect(redirectOptions) {\n // Configure proxy for redirected request, passing the original config proxy to apply\n // the exact same logic as if the redirected request was performed by axios directly.\n setProxy(redirectOptions, configProxy, redirectOptions.href);\n };\n}\n\nconst isHttpAdapterSupported = typeof process !== 'undefined' && utils.kindOf(process) === 'process';\n\n// temporary hotfix\n\nconst wrapAsync = (asyncExecutor) => {\n return new Promise((resolve, reject) => {\n let onDone;\n let isDone;\n\n const done = (value, isRejected) => {\n if (isDone) return;\n isDone = true;\n onDone && onDone(value, isRejected);\n }\n\n const _resolve = (value) => {\n done(value);\n resolve(value);\n };\n\n const _reject = (reason) => {\n done(reason, true);\n reject(reason);\n }\n\n asyncExecutor(_resolve, _reject, (onDoneHandler) => (onDone = onDoneHandler)).catch(_reject);\n })\n};\n\nconst resolveFamily = ({address, family}) => {\n if (!utils.isString(address)) {\n throw TypeError('address must be a string');\n }\n return ({\n address,\n family: family || (address.indexOf('.') < 0 ? 6 : 4)\n });\n}\n\nconst buildAddressEntry = (address, family) => resolveFamily(utils.isObject(address) ? address : {address, family});\n\nconst http2Transport = {\n request(options, cb) {\n const authority = options.protocol + '//' + options.hostname + ':' + (options.port || 80);\n\n const {http2Options, headers} = options;\n\n const session = http2Sessions.getSession(authority, http2Options);\n\n const {\n HTTP2_HEADER_SCHEME,\n HTTP2_HEADER_METHOD,\n HTTP2_HEADER_PATH,\n HTTP2_HEADER_STATUS\n } = http2.constants;\n\n const http2Headers = {\n [HTTP2_HEADER_SCHEME]: options.protocol.replace(':', ''),\n [HTTP2_HEADER_METHOD]: options.method,\n [HTTP2_HEADER_PATH]: options.path,\n }\n\n utils.forEach(headers, (header, name) => {\n name.charAt(0) !== ':' && (http2Headers[name] = header);\n });\n\n const req = session.request(http2Headers);\n\n req.once('response', (responseHeaders) => {\n const response = req; //duplex\n\n responseHeaders = Object.assign({}, responseHeaders);\n\n const status = responseHeaders[HTTP2_HEADER_STATUS];\n\n delete responseHeaders[HTTP2_HEADER_STATUS];\n\n response.headers = responseHeaders;\n\n response.statusCode = +status;\n\n cb(response);\n })\n\n return req;\n }\n}\n\n/*eslint consistent-return:0*/\nexport default isHttpAdapterSupported && function httpAdapter(config) {\n return wrapAsync(async function dispatchHttpRequest(resolve, reject, onDone) {\n let {data, lookup, family, httpVersion = 1, http2Options} = config;\n const {responseType, responseEncoding} = config;\n const method = config.method.toUpperCase();\n let isDone;\n let rejected = false;\n let req;\n\n httpVersion = +httpVersion;\n\n if (Number.isNaN(httpVersion)) {\n throw TypeError(`Invalid protocol version: '${config.httpVersion}' is not a number`);\n }\n\n if (httpVersion !== 1 && httpVersion !== 2) {\n throw TypeError(`Unsupported protocol version '${httpVersion}'`);\n }\n\n const isHttp2 = httpVersion === 2;\n\n if (lookup) {\n const _lookup = callbackify(lookup, (value) => utils.isArray(value) ? value : [value]);\n // hotfix to support opt.all option which is required for node 20.x\n lookup = (hostname, opt, cb) => {\n _lookup(hostname, opt, (err, arg0, arg1) => {\n if (err) {\n return cb(err);\n }\n\n const addresses = utils.isArray(arg0) ? arg0.map(addr => buildAddressEntry(addr)) : [buildAddressEntry(arg0, arg1)];\n\n opt.all ? cb(err, addresses) : cb(err, addresses[0].address, addresses[0].family);\n });\n }\n }\n\n const abortEmitter = new EventEmitter();\n\n function abort(reason) {\n try {\n abortEmitter.emit('abort', !reason || reason.type ? new CanceledError(null, config, req) : reason);\n } catch(err) {\n console.warn('emit error', err);\n }\n }\n\n abortEmitter.once('abort', reject);\n\n const onFinished = () => {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(abort);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', abort);\n }\n\n abortEmitter.removeAllListeners();\n }\n\n if (config.cancelToken || config.signal) {\n config.cancelToken && config.cancelToken.subscribe(abort);\n if (config.signal) {\n config.signal.aborted ? abort() : config.signal.addEventListener('abort', abort);\n }\n }\n\n onDone((response, isRejected) => {\n isDone = true;\n\n if (isRejected) {\n rejected = true;\n onFinished();\n return;\n }\n\n const {data} = response;\n\n if (data instanceof stream.Readable || data instanceof stream.Duplex) {\n const offListeners = stream.finished(data, () => {\n offListeners();\n onFinished();\n });\n } else {\n onFinished();\n }\n });\n\n\n\n\n\n // Parse url\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n const parsed = new URL(fullPath, platform.hasBrowserEnv ? platform.origin : undefined);\n const protocol = parsed.protocol || supportedProtocols[0];\n\n if (protocol === 'data:') {\n // Apply the same semantics as HTTP: only enforce if a finite, non-negative cap is set.\n if (config.maxContentLength > -1) {\n // Use the exact string passed to fromDataURI (config.url); fall back to fullPath if needed.\n const dataUrl = String(config.url || fullPath || '');\n const estimated = estimateDataURLDecodedBytes(dataUrl);\n\n if (estimated > config.maxContentLength) {\n return reject(new AxiosError(\n 'maxContentLength size of ' + config.maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE,\n config\n ));\n }\n }\n\n let convertedData;\n\n if (method !== 'GET') {\n return settle(resolve, reject, {\n status: 405,\n statusText: 'method not allowed',\n headers: {},\n config\n });\n }\n\n try {\n convertedData = fromDataURI(config.url, responseType === 'blob', {\n Blob: config.env && config.env.Blob\n });\n } catch (err) {\n throw AxiosError.from(err, AxiosError.ERR_BAD_REQUEST, config);\n }\n\n if (responseType === 'text') {\n convertedData = convertedData.toString(responseEncoding);\n\n if (!responseEncoding || responseEncoding === 'utf8') {\n convertedData = utils.stripBOM(convertedData);\n }\n } else if (responseType === 'stream') {\n convertedData = stream.Readable.from(convertedData);\n }\n\n return settle(resolve, reject, {\n data: convertedData,\n status: 200,\n statusText: 'OK',\n headers: new AxiosHeaders(),\n config\n });\n }\n\n if (supportedProtocols.indexOf(protocol) === -1) {\n return reject(new AxiosError(\n 'Unsupported protocol ' + protocol,\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n\n const headers = AxiosHeaders.from(config.headers).normalize();\n\n // Set User-Agent (required by some servers)\n // See https://github.com/axios/axios/issues/69\n // User-Agent is specified; handle case where no UA header is desired\n // Only set header if it hasn't been set in config\n headers.set('User-Agent', 'axios/' + VERSION, false);\n\n const {onUploadProgress, onDownloadProgress} = config;\n const maxRate = config.maxRate;\n let maxUploadRate = undefined;\n let maxDownloadRate = undefined;\n\n // support for spec compliant FormData objects\n if (utils.isSpecCompliantForm(data)) {\n const userBoundary = headers.getContentType(/boundary=([-_\\w\\d]{10,70})/i);\n\n data = formDataToStream(data, (formHeaders) => {\n headers.set(formHeaders);\n }, {\n tag: `axios-${VERSION}-boundary`,\n boundary: userBoundary && userBoundary[1] || undefined\n });\n // support for https://www.npmjs.com/package/form-data api\n } else if (utils.isFormData(data) && utils.isFunction(data.getHeaders)) {\n headers.set(data.getHeaders());\n\n if (!headers.hasContentLength()) {\n try {\n const knownLength = await util.promisify(data.getLength).call(data);\n Number.isFinite(knownLength) && knownLength >= 0 && headers.setContentLength(knownLength);\n /*eslint no-empty:0*/\n } catch (e) {\n }\n }\n } else if (utils.isBlob(data) || utils.isFile(data)) {\n data.size && headers.setContentType(data.type || 'application/octet-stream');\n headers.setContentLength(data.size || 0);\n data = stream.Readable.from(readBlob(data));\n } else if (data && !utils.isStream(data)) {\n if (Buffer.isBuffer(data)) {\n // Nothing to do...\n } else if (utils.isArrayBuffer(data)) {\n data = Buffer.from(new Uint8Array(data));\n } else if (utils.isString(data)) {\n data = Buffer.from(data, 'utf-8');\n } else {\n return reject(new AxiosError(\n 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream',\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n\n // Add Content-Length header if data exists\n headers.setContentLength(data.length, false);\n\n if (config.maxBodyLength > -1 && data.length > config.maxBodyLength) {\n return reject(new AxiosError(\n 'Request body larger than maxBodyLength limit',\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n }\n\n const contentLength = utils.toFiniteNumber(headers.getContentLength());\n\n if (utils.isArray(maxRate)) {\n maxUploadRate = maxRate[0];\n maxDownloadRate = maxRate[1];\n } else {\n maxUploadRate = maxDownloadRate = maxRate;\n }\n\n if (data && (onUploadProgress || maxUploadRate)) {\n if (!utils.isStream(data)) {\n data = stream.Readable.from(data, {objectMode: false});\n }\n\n data = stream.pipeline([data, new AxiosTransformStream({\n maxRate: utils.toFiniteNumber(maxUploadRate)\n })], utils.noop);\n\n onUploadProgress && data.on('progress', flushOnFinish(\n data,\n progressEventDecorator(\n contentLength,\n progressEventReducer(asyncDecorator(onUploadProgress), false, 3)\n )\n ));\n }\n\n // HTTP basic authentication\n let auth = undefined;\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password || '';\n auth = username + ':' + password;\n }\n\n if (!auth && parsed.username) {\n const urlUsername = parsed.username;\n const urlPassword = parsed.password;\n auth = urlUsername + ':' + urlPassword;\n }\n\n auth && headers.delete('authorization');\n\n let path;\n\n try {\n path = buildURL(\n parsed.pathname + parsed.search,\n config.params,\n config.paramsSerializer\n ).replace(/^\\?/, '');\n } catch (err) {\n const customErr = new Error(err.message);\n customErr.config = config;\n customErr.url = config.url;\n customErr.exists = true;\n return reject(customErr);\n }\n\n headers.set(\n 'Accept-Encoding',\n 'gzip, compress, deflate' + (isBrotliSupported ? ', br' : ''), false\n );\n\n const options = {\n path,\n method: method,\n headers: headers.toJSON(),\n agents: { http: config.httpAgent, https: config.httpsAgent },\n auth,\n protocol,\n family,\n beforeRedirect: dispatchBeforeRedirect,\n beforeRedirects: {},\n http2Options\n };\n\n // cacheable-lookup integration hotfix\n !utils.isUndefined(lookup) && (options.lookup = lookup);\n\n if (config.socketPath) {\n options.socketPath = config.socketPath;\n } else {\n options.hostname = parsed.hostname.startsWith(\"[\") ? parsed.hostname.slice(1, -1) : parsed.hostname;\n options.port = parsed.port;\n setProxy(options, config.proxy, protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path);\n }\n\n let transport;\n const isHttpsRequest = isHttps.test(options.protocol);\n options.agent = isHttpsRequest ? config.httpsAgent : config.httpAgent;\n\n if (isHttp2) {\n transport = http2Transport;\n } else {\n if (config.transport) {\n transport = config.transport;\n } else if (config.maxRedirects === 0) {\n transport = isHttpsRequest ? https : http;\n } else {\n if (config.maxRedirects) {\n options.maxRedirects = config.maxRedirects;\n }\n if (config.beforeRedirect) {\n options.beforeRedirects.config = config.beforeRedirect;\n }\n transport = isHttpsRequest ? httpsFollow : httpFollow;\n }\n }\n\n if (config.maxBodyLength > -1) {\n options.maxBodyLength = config.maxBodyLength;\n } else {\n // follow-redirects does not skip comparison, so it should always succeed for axios -1 unlimited\n options.maxBodyLength = Infinity;\n }\n\n if (config.insecureHTTPParser) {\n options.insecureHTTPParser = config.insecureHTTPParser;\n }\n\n // Create the request\n req = transport.request(options, function handleResponse(res) {\n if (req.destroyed) return;\n\n const streams = [res];\n\n const responseLength = utils.toFiniteNumber(res.headers['content-length']);\n\n if (onDownloadProgress || maxDownloadRate) {\n const transformStream = new AxiosTransformStream({\n maxRate: utils.toFiniteNumber(maxDownloadRate)\n });\n\n onDownloadProgress && transformStream.on('progress', flushOnFinish(\n transformStream,\n progressEventDecorator(\n responseLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true, 3)\n )\n ));\n\n streams.push(transformStream);\n }\n\n // decompress the response body transparently if required\n let responseStream = res;\n\n // return the last request in case of redirects\n const lastRequest = res.req || req;\n\n // if decompress disabled we should not decompress\n if (config.decompress !== false && res.headers['content-encoding']) {\n // if no content, but headers still say that it is encoded,\n // remove the header not confuse downstream operations\n if (method === 'HEAD' || res.statusCode === 204) {\n delete res.headers['content-encoding'];\n }\n\n switch ((res.headers['content-encoding'] || '').toLowerCase()) {\n /*eslint default-case:0*/\n case 'gzip':\n case 'x-gzip':\n case 'compress':\n case 'x-compress':\n // add the unzipper to the body stream processing pipeline\n streams.push(zlib.createUnzip(zlibOptions));\n\n // remove the content-encoding in order to not confuse downstream operations\n delete res.headers['content-encoding'];\n break;\n case 'deflate':\n streams.push(new ZlibHeaderTransformStream());\n\n // add the unzipper to the body stream processing pipeline\n streams.push(zlib.createUnzip(zlibOptions));\n\n // remove the content-encoding in order to not confuse downstream operations\n delete res.headers['content-encoding'];\n break;\n case 'br':\n if (isBrotliSupported) {\n streams.push(zlib.createBrotliDecompress(brotliOptions));\n delete res.headers['content-encoding'];\n }\n }\n }\n\n responseStream = streams.length > 1 ? stream.pipeline(streams, utils.noop) : streams[0];\n\n\n\n const response = {\n status: res.statusCode,\n statusText: res.statusMessage,\n headers: new AxiosHeaders(res.headers),\n config,\n request: lastRequest\n };\n\n if (responseType === 'stream') {\n response.data = responseStream;\n settle(resolve, reject, response);\n } else {\n const responseBuffer = [];\n let totalResponseBytes = 0;\n\n responseStream.on('data', function handleStreamData(chunk) {\n responseBuffer.push(chunk);\n totalResponseBytes += chunk.length;\n\n // make sure the content length is not over the maxContentLength if specified\n if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) {\n // stream.destroy() emit aborted event before calling reject() on Node.js v16\n rejected = true;\n responseStream.destroy();\n abort(new AxiosError('maxContentLength size of ' + config.maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE, config, lastRequest));\n }\n });\n\n responseStream.on('aborted', function handlerStreamAborted() {\n if (rejected) {\n return;\n }\n\n const err = new AxiosError(\n 'stream has been aborted',\n AxiosError.ERR_BAD_RESPONSE,\n config,\n lastRequest\n );\n responseStream.destroy(err);\n reject(err);\n });\n\n responseStream.on('error', function handleStreamError(err) {\n if (req.destroyed) return;\n reject(AxiosError.from(err, null, config, lastRequest));\n });\n\n responseStream.on('end', function handleStreamEnd() {\n try {\n let responseData = responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer);\n if (responseType !== 'arraybuffer') {\n responseData = responseData.toString(responseEncoding);\n if (!responseEncoding || responseEncoding === 'utf8') {\n responseData = utils.stripBOM(responseData);\n }\n }\n response.data = responseData;\n } catch (err) {\n return reject(AxiosError.from(err, null, config, response.request, response));\n }\n settle(resolve, reject, response);\n });\n }\n\n abortEmitter.once('abort', err => {\n if (!responseStream.destroyed) {\n responseStream.emit('error', err);\n responseStream.destroy();\n }\n });\n });\n\n abortEmitter.once('abort', err => {\n if (req.close) {\n req.close();\n } else {\n req.destroy(err);\n }\n });\n\n // Handle errors\n req.on('error', function handleRequestError(err) {\n // @todo remove\n // if (req.aborted && err.code !== AxiosError.ERR_FR_TOO_MANY_REDIRECTS) return;\n reject(AxiosError.from(err, null, config, req));\n });\n\n // set tcp keep alive to prevent drop connection by peer\n req.on('socket', function handleRequestSocket(socket) {\n // default interval of sending ack packet is 1 minute\n socket.setKeepAlive(true, 1000 * 60);\n });\n\n // Handle request timeout\n if (config.timeout) {\n // This is forcing a int timeout to avoid problems if the `req` interface doesn't handle other types.\n const timeout = parseInt(config.timeout, 10);\n\n if (Number.isNaN(timeout)) {\n abort(new AxiosError(\n 'error trying to parse `config.timeout` to int',\n AxiosError.ERR_BAD_OPTION_VALUE,\n config,\n req\n ));\n\n return;\n }\n\n // Sometime, the response will be very slow, and does not respond, the connect event will be block by event loop system.\n // And timer callback will be fired, and abort() will be invoked before connection, then get \"socket hang up\" and code ECONNRESET.\n // At this time, if we have a large number of request, nodejs will hang up some socket on background. and the number will up and up.\n // And then these socket which be hang up will devouring CPU little by little.\n // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect.\n req.setTimeout(timeout, function handleRequestTimeout() {\n if (isDone) return;\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n abort(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n req\n ));\n });\n } else {\n // explicitly reset the socket timeout value for a possible `keep-alive` request\n req.setTimeout(0);\n }\n\n\n // Send the request\n if (utils.isStream(data)) {\n let ended = false;\n let errored = false;\n\n data.on('end', () => {\n ended = true;\n });\n\n data.once('error', err => {\n errored = true;\n req.destroy(err);\n });\n\n data.on('close', () => {\n if (!ended && !errored) {\n abort(new CanceledError('Request stream has been aborted', config, req));\n }\n });\n\n data.pipe(req);\n } else {\n data && req.write(data);\n req.end();\n }\n });\n}\n\nexport const __setProxy = setProxy;\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure, sameSite) {\n if (typeof document === 'undefined') return;\n\n const cookie = [`${name}=${encodeURIComponent(value)}`];\n\n if (utils.isNumber(expires)) {\n cookie.push(`expires=${new Date(expires).toUTCString()}`);\n }\n if (utils.isString(path)) {\n cookie.push(`path=${path}`);\n }\n if (utils.isString(domain)) {\n cookie.push(`domain=${domain}`);\n }\n if (secure === true) {\n cookie.push('secure');\n }\n if (utils.isString(sameSite)) {\n cookie.push(`SameSite=${sameSite}`);\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n if (typeof document === 'undefined') return null;\n const match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)'));\n return match ? decodeURIComponent(match[1]) : null;\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000, '/');\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b, prop) => mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true)\n };\n\n utils.forEach(Object.keys({...config1, ...config2}), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // browser handles it\n } else if (utils.isFunction(data.getHeaders)) {\n // Node.js FormData (like form-data package)\n const formHeaders = data.getHeaders();\n // Only set safe headers to avoid overwriting security headers\n const allowedHeaders = ['content-type', 'content-length'];\n Object.entries(formHeaders).forEach(([key, val]) => {\n if (allowedHeaders.includes(key.toLowerCase())) {\n headers.set(key, val);\n }\n });\n }\n } \n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError(event) {\n // Browsers deliver a ProgressEvent in XHR onerror\n // (message may be empty; when present, surface it)\n // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event\n const msg = event && event.message ? event.message : 'Network Error';\n const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request);\n // attach the underlying event for consumers who want details\n err.event = event || null;\n reject(err);\n request = null;\n };\n \n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst {isFunction} = utils;\n\nconst globalFetchAPI = (({Request, Response}) => ({\n Request, Response\n}))(utils.global);\n\nconst {\n ReadableStream, TextEncoder\n} = utils.global;\n\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst factory = (env) => {\n env = utils.merge.call({\n skipUndefined: true\n }, globalFetchAPI, env);\n\n const {fetch: envFetch, Request, Response} = env;\n const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function';\n const isRequestSupported = isFunction(Request);\n const isResponseSupported = isFunction(Response);\n\n if (!isFetchSupported) {\n return false;\n }\n\n const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream);\n\n const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Request(str).arrayBuffer())\n );\n\n const supportsRequestStream = isRequestSupported && isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n });\n\n const supportsResponseStream = isResponseSupported && isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n const resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n };\n\n isFetchSupported && ((() => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = (res, config) => {\n let method = res && res[type];\n\n if (method) {\n return method.call(res);\n }\n\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n })());\n\n const getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if (utils.isBlob(body)) {\n return body.size;\n }\n\n if (utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if (utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if (utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if (utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n }\n\n const resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n }\n\n return async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n let _fetch = envFetch || fetch;\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request = null;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = isRequestSupported && \"credentials\" in Request.prototype;\n\n const resolvedOptions = {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n };\n\n request = isRequestSupported && new Request(url, resolvedOptions);\n\n let response = await (isRequestSupported ? _fetch(request, fetchOptions) : _fetch(url, resolvedOptions));\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n }\n}\n\nconst seedCache = new Map();\n\nexport const getFetch = (config) => {\n let env = (config && config.env) || {};\n const {fetch, Request, Response} = env;\n const seeds = [\n Request, Response, fetch\n ];\n\n let len = seeds.length, i = len,\n seed, target, map = seedCache;\n\n while (i--) {\n seed = seeds[i];\n target = map.get(seed);\n\n target === undefined && map.set(seed, target = (i ? new Map() : factory(env)))\n\n map = target;\n }\n\n return target;\n};\n\nconst adapter = getFetch();\n\nexport default adapter;\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport * as fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\n/**\n * Known adapters mapping.\n * Provides environment-specific adapters for Axios:\n * - `http` for Node.js\n * - `xhr` for browsers\n * - `fetch` for fetch API-based requests\n * \n * @type {Object<string, Function|Object>}\n */\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: {\n get: fetchAdapter.getFetch,\n }\n};\n\n// Assign adapter names for easier debugging and identification\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', { value });\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', { value });\n }\n});\n\n/**\n * Render a rejection reason string for unknown or unsupported adapters\n * \n * @param {string} reason\n * @returns {string}\n */\nconst renderReason = (reason) => `- ${reason}`;\n\n/**\n * Check if the adapter is resolved (function, null, or false)\n * \n * @param {Function|null|false} adapter\n * @returns {boolean}\n */\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\n/**\n * Get the first suitable adapter from the provided list.\n * Tries each adapter in order until a supported one is found.\n * Throws an AxiosError if no adapter is suitable.\n * \n * @param {Array<string|Function>|string|Function} adapters - Adapter(s) by name or function.\n * @param {Object} config - Axios request configuration\n * @throws {AxiosError} If no suitable adapter is available\n * @returns {Function} The resolved adapter function\n */\nfunction getAdapter(adapters, config) {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const { length } = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter && (utils.isFunction(adapter) || (adapter = adapter.get(config)))) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n}\n\n/**\n * Exports Axios adapters and utility to resolve an adapter\n */\nexport default {\n /**\n * Resolve an adapter from a list of adapter names or functions.\n * @type {Function}\n */\n getAdapter,\n\n /**\n * Exposes all known adapters\n * @type {Object<string, Function|Object>}\n */\n adapters: knownAdapters\n};\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig || {};\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift(...requestInterceptorChain);\n chain.push(...responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n WebServerIsDown: 521,\n ConnectionTimedOut: 522,\n OriginIsUnreachable: 523,\n TimeoutOccurred: 524,\n SslHandshakeFailed: 525,\n InvalidSslCertificate: 526,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n","import*as o from\"axios\";import{getAugmentedNamespace as m}from\"./_commonjsHelpers.mjs\";var r=m(o);export{r as default};\n","var s=class{constructor(s,t,r,a){this.statusCode=s,this.payload=t,this.error=r,this.headers=a}};export{s as R};\n","import{R as e}from\"../Response.mjs\";const r=e;var s={buildSmartyResponse:function(e,s){return e?new r(e.status,e.data,e.error,e.headers):new r(void 0,void 0,s)}};export{s as b};\n","import e from\"./_virtual/_axios.mjs\";import{b as s}from\"./util/buildSmartyResponse.mjs\";const t=e.default,{buildSmartyResponse:o}=s;var a=class{constructor(e=1e4,s,o=!1){this.axiosInstance=t.create(),this.timeout=e,this.proxyConfig=s,o&&this.enableDebug()}buildRequestConfig({payload:e,parameters:s,headers:t,baseUrl:o}){let a={method:\"GET\",timeout:this.timeout,params:s,headers:t,baseURL:o,validateStatus:function(e){return e<500}};return e&&(a.method=\"POST\",a.data=e),this.proxyConfig&&(a.proxy=this.proxyConfig),a}send(e){return new Promise(((s,t)=>{let a=this.buildRequestConfig(e);this.axiosInstance(a).then((e=>{let a=o(e);a.statusCode>=400&&t(a),s(a)})).catch((e=>t(o(void 0,e))))}))}enableDebug(){this.axiosInstance.interceptors.request.use((e=>(console.log(\"Request:\\r\\n\",e),console.log(\"\\r\\n*******************************************\\r\\n\"),e))),this.axiosInstance.interceptors.response.use((e=>(console.log(\"Response:\\r\\n\"),console.log(\"Status:\",e.status,e.statusText),console.log(\"Headers:\",e.headers),console.log(\"Data:\",e.data),e)))}};export{a as H};\n","import{getDefaultExportFromCjs as s}from\"./_virtual/_commonjsHelpers.mjs\";var t=class{constructor(s,t){this.authId=s,this.hostName=t}sign(s){s.parameters.key=this.authId,this.hostName&&(s.headers.Referer=\"https://\"+this.hostName)}},e=s(t);export{t as S,e as default};\n","import{E as e}from\"./Errors.mjs\";import{S as r}from\"./SharedCredentials.mjs\";const s=e.UnprocessableEntityError,t=r;var n=class{constructor(e,r){this.signer=r,this.sender=e}send(e){if(e.payload&&this.signer instanceof t){throw new s(\"Shared credentials cannot be used in batches with a length greater than 1 or when using the US Extract API.\")}return new Promise(((r,s)=>{this.signer.sign(e),this.sender.send(e).then(r).catch(s)}))}};export{n as S};\n","var r=class{constructor(r,e){this.urlOverride=e,this.sender=r}send(r){return new Promise(((e,s)=>{r.baseUrl=`${this.urlOverride}${r.baseUrlParam?`/${r.baseUrlParam}`:\"\"}`,this.sender.send(r).then(e).catch(s)}))}};export{r as B};\n","var a=\"6.3.2\",e={version:a};export{e as default,a as version};\n","import s from\"./package.json.mjs\";var e=class{constructor(s){this.sender=s}send(e){return e.parameters.agent=\"smarty (sdk:javascript@\"+s.version+\")\",new Promise(((s,r)=>{this.sender.send(e).then(s).catch(r)}))}};export{e as A};\n","import{getDefaultExportFromCjs as t}from\"./_virtual/_commonjsHelpers.mjs\";var a=class{constructor(t,a){this.authId=t,this.authToken=a}sign(t){t.parameters[\"auth-id\"]=this.authId,t.parameters[\"auth-token\"]=this.authToken}},s=t(a);export{a as S,s as default};\n","var s=class{constructor(s,e){this.sender=s,this.customHeaders=e}send(s){for(let e in this.customHeaders)s.headers[e]=this.customHeaders[e];return new Promise(((e,t)=>{this.sender.send(s).then(e).catch(t)}))}};export{s as C};\n","import{E as r}from\"./Errors.mjs\";const e=r;var a=class{constructor(r){this.sender=r}send(r){return new Promise(((a,s)=>{this.sender.send(r).then(a).catch((r=>{switch(r.statusCode){case 500:r.error=new e.InternalServerError;break;case 503:r.error=new e.ServiceUnavailableError;break;case 504:r.error=new e.GatewayTimeoutError;break;default:r.error=new e.DefaultError(r&&r.payload&&r.payload.errors[0]&&r.payload.errors[0].message)}s(r)}))}))}};export{a as S};\n","var e=class{constructor(e,s){this.sender=e,this.licenses=s}send(e){return 0!==this.licenses.length&&(e.parameters.license=this.licenses.join(\",\")),new Promise(((s,n)=>{this.sender.send(e).then(s).catch(n)}))}};export{e as L};\n","var e=class{constructor(e=5,s,t){this.maxRetries=e,this.statusToRetry=[408,429,500,502,503,504],this.statusTooManyRequests=429,this.maxBackoffDuration=10,this.inner=s,this.sleeper=t}async send(e){let s=await this.inner.send(e);for(let t=0;t<this.maxRetries&&this.statusToRetry.includes(parseInt(s.statusCode));t++){if(parseInt(s.statusCode)===this.statusTooManyRequests){let e=10;if(s.headers){const t=s.headers[\"Retry-After\"];Number.isInteger(t)&&(e=t)}await this.rateLimitBackOff(e)}else await this.backoff(t);s=await this.inner.send(e)}return s}async backoff(e){const s=Math.min(e,this.maxBackoffDuration);console.log(`There was an error processing the request. Retrying in ${s} seconds...`),await this.sleeper.sleep(s)}async rateLimitBackOff(e){console.log(`Rate limit reached. Retrying in ${e} seconds...`),await this.sleeper.sleep(e)}};export{e as R};\n","var e=class{constructor(){}sleep(e){return new Promise((r=>setTimeout(r,1e3*e)))}};export{e as S};\n","import{getDefaultExportFromCjs as t}from\"../_virtual/_commonjsHelpers.mjs\";var a=class{constructor(t){if(this.inputIndex=t.input_index,this.candidateIndex=t.candidate_index,this.addressee=t.addressee,this.deliveryLine1=t.delivery_line_1,this.deliveryLine2=t.delivery_line_2,this.lastLine=t.last_line,this.deliveryPointBarcode=t.delivery_point_barcode,this.smartyKey=t.smarty_key,this.components={},void 0!==t.components&&(this.components.urbanization=t.components.urbanization,this.components.primaryNumber=t.components.primary_number,this.components.streetName=t.components.street_name,this.components.streetPredirection=t.components.street_predirection,this.components.streetPostdirection=t.components.street_postdirection,this.components.streetSuffix=t.components.street_suffix,this.components.secondaryNumber=t.components.secondary_number,this.components.secondaryDesignator=t.components.secondary_designator,this.components.extraSecondaryNumber=t.components.extra_secondary_number,this.components.extraSecondaryDesignator=t.components.extra_secondary_designator,this.components.pmbDesignator=t.components.pmb_designator,this.components.pmbNumber=t.components.pmb_number,this.components.cityName=t.components.city_name,this.components.defaultCityName=t.components.default_city_name,this.components.state=t.components.state_abbreviation,this.components.zipCode=t.components.zipcode,this.components.plus4Code=t.components.plus4_code,this.components.deliveryPoint=t.components.delivery_point,this.components.deliveryPointCheckDigit=t.components.delivery_point_check_digit),this.metadata={},void 0!==t.metadata){if(this.metadata.recordType=t.metadata.record_type,this.metadata.zipType=t.metadata.zip_type,this.metadata.countyFips=t.metadata.county_fips,this.metadata.countyName=t.metadata.county_name,this.metadata.carrierRoute=t.metadata.carrier_route,this.metadata.congressionalDistrict=t.metadata.congressional_district,this.metadata.buildingDefaultIndicator=t.metadata.building_default_indicator,this.metadata.rdi=t.metadata.rdi,this.metadata.elotSequence=t.metadata.elot_sequence,this.metadata.elotSort=t.metadata.elot_sort,this.metadata.latitude=t.metadata.latitude,this.metadata.longitude=t.metadata.longitude,1===t.metadata.coordinate_license)this.metadata.coordinateLicense=\"SmartyStreets Proprietary\";else this.metadata.coordinateLicense=\"SmartyStreets\";this.metadata.precision=t.metadata.precision,this.metadata.timeZone=t.metadata.time_zone,this.metadata.utcOffset=t.metadata.utc_offset,this.metadata.obeysDst=t.metadata.dst,this.metadata.isEwsMatch=t.metadata.ews_match}this.analysis={},void 0!==t.analysis&&(this.analysis.dpvMatchCode=t.analysis.dpv_match_code,this.analysis.dpvFootnotes=t.analysis.dpv_footnotes,this.analysis.cmra=t.analysis.dpv_cmra,this.analysis.vacant=t.analysis.dpv_vacant,this.analysis.noStat=t.analysis.dpv_no_stat,this.analysis.active=t.analysis.active,this.analysis.isEwsMatch=t.analysis.ews_match,this.analysis.footnotes=t.analysis.footnotes,this.analysis.lacsLinkCode=t.analysis.lacslink_code,this.analysis.lacsLinkIndicator=t.analysis.lacslink_indicator,this.analysis.isSuiteLinkMatch=t.analysis.suitelink_match,this.analysis.enhancedMatch=t.analysis.enhanced_match)}},e=t(a);export{a as C,e as default};\n","import{getDefaultExportFromCjs as t}from\"../_virtual/_commonjsHelpers.mjs\";var s=class{constructor(t,s,i,a,e,r,h,o,m,c,u,d,n,l){this.street=t,this.street2=s,this.secondary=i,this.city=a,this.state=e,this.zipCode=r,this.lastLine=h,this.addressee=o,this.urbanization=m,this.match=c,this.maxCandidates=u,this.inputId=d,this.format=n,this.countySource=l,this.result=[],this.customParameters={}}addCustomParameter(t,s){this.customParameters[t]=s}},i=t(s);export{s as L,i as default};\n","var a=class{constructor(a,s={\"Content-Type\":\"application/json; charset=utf-8\"}){this.baseUrl=\"\",this.baseUrlParam=\"\",this.payload=a,this.headers=s,this.parameters={}}};export{a as R};\n","var t=class{constructor(t){this.lookup=t,this.data={}}add(t,a){this.lookupFieldIsPopulated(a)&&(this.data[t]=this.formatData(this.lookup[a]))}addCustomParameter(t,a){this.data[t]=a}formatData(t){return Array.isArray(t)?t.join(\";\"):t}lookupFieldIsPopulated(t){return\"\"!==this.lookup[t]&&void 0!==this.lookup[t]}};export{t as I};\n","import{I as t}from\"../InputData.mjs\";const a=t;var e=(t,e)=>{let r=new a(t);const s=Object.keys(t.customParameters??{}).length>0;for(let t in e)r.add(t,e[t]);if(s)for(let a in t.customParameters)r.addCustomParameter(a,t.customParameters[a]);return r.data};export{e as b};\n","import{R as r}from\"../Request.mjs\";import{E as t}from\"../Errors.mjs\";import{b as e}from\"./buildInputData.mjs\";const o=r,n=t,s=e;var a=(r,t,e,a)=>{if(r.isEmpty())throw new n.BatchEmptyError;let m=new o;return 1===r.length()?m.parameters=p(r)[0]:m.payload=p(r),new Promise(((o,n)=>{t.send(m).then((t=>{t.error&&n(t.error),o(function(r,t){return t.payload.map((t=>{let o=new e(t);r.getByIndex(o.inputIndex).result.push(o)})),r}(r,t))})).catch(n)}));function p(r){return r.lookups.map((r=>s(r,a)))}};export{a as s};\n","var e={usStreet:{street:\"street\",street2:\"street2\",secondary:\"secondary\",city:\"city\",state:\"state\",zipcode:\"zipCode\",lastline:\"lastLine\",addressee:\"addressee\",urbanization:\"urbanization\",match:\"match\",format:\"format\",candidates:\"maxCandidates\",county_source:\"countySource\"},usAutocompletePro:{search:\"search\",selected:\"selected\",max_results:\"maxResults\",include_only_cities:\"includeOnlyCities\",include_only_states:\"includeOnlyStates\",include_only_zip_codes:\"includeOnlyZIPCodes\",exclude_states:\"excludeStates\",prefer_cities:\"preferCities\",prefer_states:\"preferStates\",prefer_zip_codes:\"preferZIPCodes\",prefer_ratio:\"preferRatio\",prefer_geolocation:\"preferGeolocation\",source:\"source\"},usZipcode:{city:\"city\",state:\"state\",zipcode:\"zipCode\"},internationalStreet:{country:\"country\",freeform:\"freeform\",address1:\"address1\",address2:\"address2\",address3:\"address3\",address4:\"address4\",organization:\"organization\",locality:\"locality\",administrative_area:\"administrativeArea\",postal_code:\"postalCode\",geocode:\"geocode\",language:\"language\"},internationalAddressAutocomplete:{search:\"search\",country:\"country\",max_results:\"maxResults\",include_only_administrative_area:\"includeOnlyAdministrativeArea\",include_only_locality:\"includeOnlyLocality\",include_only_postal_code:\"includeOnlyPostalCode\"},usReverseGeo:{latitude:\"latitude\",longitude:\"longitude\",source:\"source\"},usExtract:{html:\"html\",aggressive:\"aggressive\",addr_line_breaks:\"addressesHaveLineBreaks\",addr_per_line:\"addressesPerLine\"},usEnrichment:{include:\"include\",exclude:\"exclude\",dataset:\"dataset\",data_subset:\"dataSubset\"}};export{e as a};\n","import{C as s}from\"./Candidate.mjs\";import{L as r}from\"./Lookup.mjs\";import{B as t}from\"../Batch.mjs\";import{E as a}from\"../Errors.mjs\";import{s as o}from\"../util/sendBatch.mjs\";import{a as e}from\"../util/apiToSDKKeyMap.mjs\";const n=s,m=r,i=t,d=a.UndefinedLookupError,c=o,p=e.usStreet;var f=class{constructor(s){this.sender=s}send(s){const r=s instanceof m;if(!r&&!(s instanceof i))throw new d;let t;return r?(null==s.maxCandidates&&\"enhanced\"==s.match&&(s.maxCandidates=5),t=new i,t.add(s)):t=s,c(t,this.sender,n,p)}};export{f as C};\n","import{getDefaultExportFromCjs as t}from\"../_virtual/_commonjsHelpers.mjs\";var s=class{constructor(t,s,r,a){this.city=t,this.state=s,this.zipCode=r,this.inputId=a,this.result=[],this.customParameters={}}addCustomParameter(t,s){this.customParameters[t]=s}},r=t(s);export{s as L,r as default};\n","import{getDefaultExportFromCjs as t}from\"../_virtual/_commonjsHelpers.mjs\";var e=class{constructor(t){this.inputIndex=t.input_index,this.status=t.status,this.reason=t.reason,this.valid=void 0===this.status&&void 0===this.reason,this.cities=t.city_states?t.city_states.map((t=>({city:t.city,stateAbbreviation:t.state_abbreviation,state:t.state,mailableCity:t.mailable_city}))):[],this.zipcodes=t.zipcodes?t.zipcodes.map((t=>({zipcode:t.zipcode,zipcodeType:t.zipcode_type,defaultCity:t.default_city,countyFips:t.county_fips,countyName:t.county_name,latitude:t.latitude,longitude:t.longitude,precision:t.precision,stateAbbreviation:t.state_abbreviation,state:t.state,alternateCounties:t.alternate_counties?t.alternate_counties.map((t=>({countyFips:t.county_fips,countyName:t.county_name,stateAbbreviation:t.state_abbreviation,state:t.state}))):[]}))):[]}},i=t(e);export{e as R,i as default};\n","import{L as s}from\"./Lookup.mjs\";import{R as o}from\"./Result.mjs\";import{B as r}from\"../Batch.mjs\";import{E as t}from\"../Errors.mjs\";import{s as e}from\"../util/sendBatch.mjs\";import{a as m}from\"../util/apiToSDKKeyMap.mjs\";const a=s,i=o,n=r,p=t.UndefinedLookupError,c=e,f=m.usZipcode;var d=class{constructor(s){this.sender=s}send(s){const o=s instanceof a;if(!o&&!(s instanceof n))throw new p;let r;return o?(r=new n,r.add(s)):r=s,c(r,this.sender,i,f)}};export{d as C};\n","import{getDefaultExportFromCjs as s}from\"../_virtual/_commonjsHelpers.mjs\";var t=class{constructor(s){this.streetLine=s.street_line,this.secondary=s.secondary,this.city=s.city,this.state=s.state,this.zipcode=s.zipcode,this.entries=s.entries,s.source&&(this.source=s.source)}},e=s(t);export{t as S,e as default};\n","import{E as r}from\"../Errors.mjs\";import{R as s}from\"../Request.mjs\";import{S as o}from\"./Suggestion.mjs\";import{b as e}from\"../util/buildInputData.mjs\";import{a as t}from\"../util/apiToSDKKeyMap.mjs\";const a=r,m=s,n=o,i=e,u=t.usAutocompletePro;var p=class{constructor(r){this.sender=r}send(r){if(void 0===r)throw new a.UndefinedLookupError;let s=new m;return s.parameters=i(r,u),new Promise(((o,e)=>{this.sender.send(s).then((s=>{var t;s.error&&e(s.error),r.result=null===(t=s.payload).suggestions?[]:t.suggestions.map((r=>new n(r))),o(r)})).catch(e)}))}};export{p as C};\n","import{C as t}from\"../us_street/Candidate.mjs\";const s=t;var e=class{constructor(t){this.text=t.text,this.verified=t.verified,this.line=t.line,this.start=t.start,this.end=t.end,this.candidates=t.api_output.map((t=>new s(t)))}};export{e as A};\n","import{getDefaultExportFromCjs as s}from\"../_virtual/_commonjsHelpers.mjs\";import{A as e}from\"./Address.mjs\";const t=e;var r=class{constructor({meta:s,addresses:e}){this.meta={lines:s.lines,unicode:s.unicode,addressCount:s.address_count,verifiedCount:s.verified_count,bytes:s.bytes,characterCount:s.character_count},this.addresses=e.map((s=>new t(s)))}},a=s(r);export{r as R,a as default};\n","import{E as r}from\"../Errors.mjs\";import{R as t}from\"../Request.mjs\";import{R as e}from\"./Result.mjs\";import{b as s}from\"../util/buildInputData.mjs\";import{a as o}from\"../util/apiToSDKKeyMap.mjs\";const a=r,n=t,m=e,i=s,p=o.usExtract;var u=class{constructor(r){this.sender=r}send(r){if(void 0===r)throw new a.UndefinedLookupError;let t=new n(r.text,{\"Content-Type\":\"text/plain; charset=utf-8\"});return t.parameters=i(r,p),new Promise(((e,s)=>{this.sender.send(t).then((t=>{t.error&&s(t.error),r.result=new m(t.payload),e(r)})).catch(s)}))}};export{u as C};\n","import{getDefaultExportFromCjs as s}from\"../_virtual/_commonjsHelpers.mjs\";var n=class{constructor(s){this.organization=s.organization,this.address1=s.address1,this.address2=s.address2,this.address3=s.address3,this.address4=s.address4,this.address5=s.address5,this.address6=s.address6,this.address7=s.address7,this.address8=s.address8,this.address9=s.address9,this.address10=s.address10,this.address11=s.address11,this.address12=s.address12,this.components={},void 0!==s.components&&(this.components.countryIso3=s.components.country_iso_3,this.components.superAdministrativeArea=s.components.super_administrative_area,this.components.administrativeArea=s.components.administrative_area,this.components.administrativeAreaIso2=s.components.administrative_area_iso2,this.components.administrativeAreaShort=s.components.administrative_area_short,this.components.administrativeAreaLong=s.components.administrative_area_long,this.components.subAdministrativeArea=s.components.sub_administrative_area,this.components.dependentLocality=s.components.dependent_locality,this.components.dependentLocalityName=s.components.dependent_locality_name,this.components.doubleDependentLocality=s.components.double_dependent_locality,this.components.locality=s.components.locality,this.components.postalCode=s.components.postal_code,this.components.postalCodeShort=s.components.postal_code_short,this.components.postalCodeExtra=s.components.postal_code_extra,this.components.premise=s.components.premise,this.components.premiseExtra=s.components.premise_extra,this.components.premisePrefixNumber=s.components.premise_prefix_number,this.components.premiseNumber=s.components.premise_number,this.components.premiseType=s.components.premise_type,this.components.thoroughfare=s.components.thoroughfare,this.components.thoroughfarePredirection=s.components.thoroughfare_predirection,this.components.thoroughfarePostdirection=s.components.thoroughfare_postdirection,this.components.thoroughfareName=s.components.thoroughfare_name,this.components.thoroughfareTrailingType=s.components.thoroughfare_trailing_type,this.components.thoroughfareType=s.components.thoroughfare_type,this.components.dependentThoroughfare=s.components.dependent_thoroughfare,this.components.dependentThoroughfarePredirection=s.components.dependent_thoroughfare_predirection,this.components.dependentThoroughfarePostdirection=s.components.dependent_thoroughfare_postdirection,this.components.dependentThoroughfareName=s.components.dependent_thoroughfare_name,this.components.dependentThoroughfareTrailingType=s.components.dependent_thoroughfare_trailing_type,this.components.dependentThoroughfareType=s.components.dependent_thoroughfare_type,this.components.building=s.components.building,this.components.buildingLeadingType=s.components.building_leading_type,this.components.buildingName=s.components.building_name,this.components.buildingTrailingType=s.components.building_trailing_type,this.components.subBuildingType=s.components.sub_building_type,this.components.subBuildingNumber=s.components.sub_building_number,this.components.subBuildingName=s.components.sub_building_name,this.components.subBuilding=s.components.sub_building,this.components.levelType=s.components.level_type,this.components.levelNumber=s.components.level_number,this.components.postBox=s.components.post_box,this.components.postBoxType=s.components.post_box_type,this.components.postBoxNumber=s.components.post_box_number,this.components.additionalContent=s.components.additional_content,this.components.deliveryInstallation=s.components.delivery_installation,this.components.deliveryInstallationType=s.components.delivery_installation_type,this.components.deliveryInstallationQualifierName=s.components.delivery_installation_qualifier_name,this.components.route=s.components.route,this.components.routeNumber=s.components.route_number,this.components.routeType=s.components.route_type),this.analysis={},void 0!==s.analysis&&(this.analysis.verificationStatus=s.analysis.verification_status,this.analysis.addressPrecision=s.analysis.address_precision,this.analysis.maxAddressPrecision=s.analysis.max_address_precision,this.analysis.changes={},void 0!==s.analysis.changes&&(this.analysis.changes.organization=s.analysis.changes.organization,this.analysis.changes.address1=s.analysis.changes.address1,this.analysis.changes.address2=s.analysis.changes.address2,this.analysis.changes.address3=s.analysis.changes.address3,this.analysis.changes.address4=s.analysis.changes.address4,this.analysis.changes.address5=s.analysis.changes.address5,this.analysis.changes.address6=s.analysis.changes.address6,this.analysis.changes.address7=s.analysis.changes.address7,this.analysis.changes.address8=s.analysis.changes.address8,this.analysis.changes.address9=s.analysis.changes.address9,this.analysis.changes.address10=s.analysis.changes.address10,this.analysis.changes.address11=s.analysis.changes.address11,this.analysis.changes.address12=s.analysis.changes.address12,this.analysis.changes.components={},void 0!==s.analysis.changes.components&&(this.analysis.changes.components.countryIso3=s.analysis.changes.components.country_iso_3,this.analysis.changes.components.superAdministrativeArea=s.analysis.changes.components.super_administrative_area,this.analysis.changes.components.administrativeArea=s.analysis.changes.components.administrative_area,this.analysis.changes.components.administrativeAreaIso2=s.analysis.changes.components.administrative_area_iso2,this.analysis.changes.components.administrativeAreaShort=s.analysis.changes.components.administrative_area_short,this.analysis.changes.components.administrativeAreaLong=s.analysis.changes.components.administrative_area_long,this.analysis.changes.components.subAdministrativeArea=s.analysis.changes.components.sub_administrative_area,this.analysis.changes.components.dependentLocality=s.analysis.changes.components.dependent_locality,this.analysis.changes.components.dependentLocalityName=s.analysis.changes.components.dependent_locality_name,this.analysis.changes.components.doubleDependentLocality=s.analysis.changes.components.double_dependent_locality,this.analysis.changes.components.locality=s.analysis.changes.components.locality,this.analysis.changes.components.postalCode=s.analysis.changes.components.postal_code,this.analysis.changes.components.postalCodeShort=s.analysis.changes.components.postal_code_short,this.analysis.changes.components.postalCodeExtra=s.analysis.changes.components.postal_code_extra,this.analysis.changes.components.premise=s.analysis.changes.components.premise,this.analysis.changes.components.premiseExtra=s.analysis.changes.components.premise_extra,this.analysis.changes.components.premisePrefixNumber=s.analysis.changes.components.premise_prefix_number,this.analysis.changes.components.premiseNumber=s.analysis.changes.components.premise_number,this.analysis.changes.components.premiseType=s.analysis.changes.components.premise_type,this.analysis.changes.components.thoroughfare=s.analysis.changes.components.thoroughfare,this.analysis.changes.components.thoroughfarePredirection=s.analysis.changes.components.thoroughfare_predirection,this.analysis.changes.components.thoroughfarePostdirection=s.analysis.changes.components.thoroughfare_postdirection,this.analysis.changes.components.thoroughfareName=s.analysis.changes.components.thoroughfare_name,this.analysis.changes.components.thoroughfareTrailingType=s.analysis.changes.components.thoroughfare_trailing_type,this.analysis.changes.components.thoroughfareType=s.analysis.changes.components.thoroughfare_type,this.analysis.changes.components.dependentThoroughfare=s.analysis.changes.components.dependent_thoroughfare,this.analysis.changes.components.dependentThoroughfarePredirection=s.analysis.changes.components.dependent_thoroughfare_predirection,this.analysis.changes.components.dependentThoroughfarePostdirection=s.analysis.changes.components.dependent_thoroughfare_postdirection,this.analysis.changes.components.dependentThoroughfareName=s.analysis.changes.components.dependent_thoroughfare_name,this.analysis.changes.components.dependentThoroughfareTrailingType=s.analysis.changes.components.dependent_thoroughfare_trailing_type,this.analysis.changes.components.dependentThoroughfareType=s.analysis.changes.components.dependent_thoroughfare_type,this.analysis.changes.components.building=s.analysis.changes.components.building,this.analysis.changes.components.buildingLeadingType=s.analysis.changes.components.building_leading_type,this.analysis.changes.components.buildingName=s.analysis.changes.components.building_name,this.analysis.changes.components.buildingTrailingType=s.analysis.changes.components.building_trailing_type,this.analysis.changes.components.subBuildingType=s.analysis.changes.components.sub_building_type,this.analysis.changes.components.subBuildingNumber=s.analysis.changes.components.sub_building_number,this.analysis.changes.components.subBuildingName=s.analysis.changes.components.sub_building_name,this.analysis.changes.components.subBuilding=s.analysis.changes.components.sub_building,this.analysis.changes.components.levelType=s.analysis.changes.components.level_type,this.analysis.changes.components.levelNumber=s.analysis.changes.components.level_number,this.analysis.changes.components.postBox=s.analysis.changes.components.post_box,this.analysis.changes.components.postBoxType=s.analysis.changes.components.post_box_type,this.analysis.changes.components.postBoxNumber=s.analysis.changes.components.post_box_number))),this.metadata={},void 0!==s.metadata&&(this.metadata.latitude=s.metadata.latitude,this.metadata.longitude=s.metadata.longitude,this.metadata.geocodePrecision=s.metadata.geocode_precision,this.metadata.maxGeocodePrecision=s.metadata.max_geocode_precision,this.metadata.addressFormat=s.metadata.address_format)}},e=s(n);export{n as C,e as default};\n","import{R as r}from\"../Request.mjs\";import{E as e}from\"../Errors.mjs\";import{C as t}from\"./Candidate.mjs\";import{b as o}from\"../util/buildInputData.mjs\";import{a as s}from\"../util/apiToSDKKeyMap.mjs\";const a=r,n=e,i=t,m=o,p=s.internationalStreet;var u=class{constructor(r){this.sender=r}send(r){if(void 0===r)throw new n.UndefinedLookupError;let e=new a;return e.parameters=m(r,p),new Promise(((t,o)=>{this.sender.send(e).then((e=>{e.error&&o(e.error),t(function(r,e){return r.payload.map((r=>{e.result.push(new i(r))})),e}(e,r))})).catch(o)}))}};export{u as C};\n","var e=class{constructor(e){if(this.distance=e.distance,this.address={},e.address&&(this.address.street=e.address.street,this.address.city=e.address.city,this.address.state_abbreviation=e.address.state_abbreviation,this.address.zipcode=e.address.zipcode,this.address.source=e.address.source),this.coordinate={},e.coordinate)if(this.coordinate.latitude=e.coordinate.latitude,this.coordinate.longitude=e.coordinate.longitude,this.coordinate.accuracy=e.coordinate.accuracy,1===e.coordinate.license)this.coordinate.license=\"SmartyStreets Proprietary\";else this.coordinate.license=\"SmartyStreets\"}};export{e as R};\n","import{R as s}from\"./Result.mjs\";const t=s;var r=class{constructor(s){this.results=[],s&&s.results.map((s=>{this.results.push(new t(s))}))}};export{r as R};\n","import{R as r}from\"../Request.mjs\";import{R as e}from\"./Response.mjs\";import{b as s}from\"../util/buildInputData.mjs\";import{a as o}from\"../util/apiToSDKKeyMap.mjs\";import{E as t}from\"../Errors.mjs\";const n=r,a=e,m=s,i=o.usReverseGeo,{UndefinedLookupError:p}=t;var u=class{constructor(r){this.sender=r}send(r){if(void 0===r)throw new p;let e=new n;return e.parameters=m(r,i),new Promise(((s,o)=>{this.sender.send(e).then((e=>{e.error&&o(e.error),s(function(r,e){return e.response=new a(r.payload),e}(e,r))})).catch(o)}))}};export{u as C};\n","import{getDefaultExportFromCjs as t}from\"../_virtual/_commonjsHelpers.mjs\";var s=class{constructor(t){this.street=t.street,this.locality=t.locality,this.administrativeArea=t.administrative_area,this.administrativeAreaShort=t.administrative_area_short,this.administrativeAreaLong=t.administrative_area_long,this.postalCode=t.postal_code,this.countryIso3=t.country_iso3,this.entries=t.entries,this.addressText=t.address_text,this.addressId=t.address_id}},i=t(s);export{s as S,i as default};\n","import{E as r}from\"../Errors.mjs\";import{R as s}from\"../Request.mjs\";import{S as e}from\"./Suggestion.mjs\";import{b as a}from\"../util/buildInputData.mjs\";import{a as t}from\"../util/apiToSDKKeyMap.mjs\";const o=r,n=s,d=e,i=a,m=t.internationalAddressAutocomplete;var p=class{constructor(r){this.sender=r}send(r){if(void 0===r)throw new o.UndefinedLookupError;let s=new n;return s.parameters=i(r,m),r.addressId&&(s.baseUrlParam=r.addressId),new Promise(((e,a)=>{this.sender.send(s).then((s=>{var t;s.error&&a(s.error),r.result=(t=s.payload)&&null===t.candidates?[]:t.candidates.map((r=>new d(r))),e(r)})).catch(a)}))}};export{p as C};\n","import{E as r}from\"../Errors.mjs\";import{R as e}from\"../Request.mjs\";import{b as n}from\"../util/buildInputData.mjs\";import{a as o}from\"../util/apiToSDKKeyMap.mjs\";const s=r,a=e,t=n,{usEnrichment:i}=o;var d=class{constructor(r){this.sender=r}sendPrincipal(r){if(void 0===r)throw new s.UndefinedLookupError;let e=new a;return e.parameters=t(r,i),e.baseUrlParam=r.smartyKey+\"/property/principal\",new Promise(((n,o)=>{this.sender.send(e).then((e=>{e.error&&o(e.error),r.response=e.payload,n(r)})).catch(o)}))}sendFinancial(r){if(void 0===r)throw new s.UndefinedLookupError;let e=new a;return e.parameters=t(r,i),e.baseUrlParam=r.smartyKey+\"/property/financial\",new Promise(((n,o)=>{this.sender.send(e).then((e=>{e.error&&o(e.error),r.response=e.payload,n(r)})).catch(o)}))}sendGeo(r){if(void 0===r)throw new s.UndefinedLookupError;let e=new a;return e.parameters=t(r,i),e.baseUrlParam=r.smartyKey+\"/geo-reference\",new Promise(((n,o)=>{this.sender.send(e).then((e=>{e.error&&o(e.error),r.response=e.payload,n(r)})).catch(o)}))}sendSecondary(r){if(void 0===r)throw new s.UndefinedLookupError;let e=new a;return e.parameters=t(r,i),e.baseUrlParam=r.smartyKey+\"/secondary\",new Promise(((n,o)=>{this.sender.send(e).then((e=>{e.error&&o(e.error),r.response=e.payload,n(r)})).catch(o)}))}sendSecondaryCount(r){if(void 0===r)throw new s.UndefinedLookupError;let e=new a;return e.parameters=t(r,i),e.baseUrlParam=r.smartyKey+\"/secondary/count\",new Promise(((n,o)=>{this.sender.send(e).then((e=>{e.error&&o(e.error),r.response=e.payload,n(r)})).catch(o)}))}};export{d as C};\n","import{getDefaultExportFromCjs as t}from\"./_virtual/_commonjsHelpers.mjs\";import{H as e}from\"./HttpSender.mjs\";import{S as s}from\"./SigningSender.mjs\";import{B as r}from\"./BaseUrlSender.mjs\";import{A as i}from\"./AgentSender.mjs\";import{S as o}from\"./StaticCredentials.mjs\";import{S as n}from\"./SharedCredentials.mjs\";import{C as m}from\"./CustomHeaderSender.mjs\";import{S as a}from\"./StatusCodeSender.mjs\";import{L as l}from\"./LicenseSender.mjs\";import{E as u}from\"./Errors.mjs\";import{R as h}from\"./RetrySender.mjs\";import{S as p}from\"./util/Sleeper.mjs\";import{C as d}from\"./us_street/Client.mjs\";import{C as c}from\"./us_zipcode/Client.mjs\";import{C}from\"./us_autocomplete_pro/Client.mjs\";import{C as b}from\"./us_extract/Client.mjs\";import{C as f}from\"./international_street/Client.mjs\";import{C as S}from\"./us_reverse_geo/Client.mjs\";import{C as j}from\"./international_address_autocomplete/Client.mjs\";import{C as w}from\"./us_enrichment/Client.mjs\";const x=e,y=s,U=r,_=i,g=o,v=n,H=m,R=a,A=l,k=u.BadCredentialsError,E=h,B=p,T=d,L=c,z=C,I=b,M=f,P=S,D=j,G=w;var Z=class{constructor(t){if(!t instanceof g||!t instanceof v)throw new k;this.signer=t,this.httpSender=void 0,this.maxRetries=5,this.maxTimeout=1e4,this.baseUrl=void 0,this.proxy=void 0,this.customHeaders={},this.debug=void 0,this.licenses=[]}withMaxRetries(t){return this.maxRetries=t,this}withMaxTimeout(t){return this.maxTimeout=t,this}withSender(t){return this.httpSender=t,this}withBaseUrl(t){return this.baseUrl=t,this}withProxy(t,e,s,r,i){return this.proxy={host:t,port:e,protocol:s},r&&i&&(this.proxy.auth={username:r,password:i}),this}withCustomHeaders(t){return this.customHeaders=t,this}withDebug(){return this.debug=!0,this}withLicenses(t){return this.licenses=t,this}buildSender(){if(this.httpSender)return this.httpSender;const t=new x(this.maxTimeout,this.proxy,this.debug),e=new R(t),s=new y(e,this.signer);let r=new _(s);if(this.maxRetries>0){const t=new E(this.maxRetries,s,new B);r=new _(t)}const i=new H(r,this.customHeaders),o=new U(i,this.baseUrl);return new A(o,this.licenses)}buildClient(t,e){return this.baseUrl||(this.baseUrl=t),new e(this.buildSender())}buildUsStreetApiClient(){return this.buildClient(\"https://us-street.api.smarty.com/street-address\",T)}buildUsZipcodeClient(){return this.buildClient(\"https://us-zipcode.api.smarty.com/lookup\",L)}buildUsAutocompleteProClient(){return this.buildClient(\"https://us-autocomplete-pro.api.smarty.com/lookup\",z)}buildUsExtractClient(){return this.buildClient(\"https://us-extract.api.smarty.com/\",I)}buildInternationalStreetClient(){return this.buildClient(\"https://international-street.api.smarty.com/verify\",M)}buildUsReverseGeoClient(){return this.buildClient(\"https://us-reverse-geo.api.smarty.com/lookup\",P)}buildInternationalAddressAutocompleteClient(){return this.buildClient(\"https://international-autocomplete.api.smarty.com/v2/lookup\",D)}buildUsEnrichmentClient(){return this.buildClient(\"https://us-enrichment.api.smarty.com/lookup\",G)}},q=t(Z);export{Z as C,q as default};\n","import{getDefaultExportFromCjs as t}from\"../_virtual/_commonjsHelpers.mjs\";import{C as e}from\"../ClientBuilder.mjs\";const n=e;function r(t){return new n(t)}var i=t({usStreet:function(t){return r(t).buildUsStreetApiClient()},usAutocompletePro:function(t){return r(t).buildUsAutocompleteProClient()},usExtract:function(t){return r(t).buildUsExtractClient()},usZipcode:function(t){return r(t).buildUsZipcodeClient()},internationalStreet:function(t){return r(t).buildInternationalStreetClient()},usReverseGeo:function(t){return r(t).buildUsReverseGeoClient()},internationalAddressAutocomplete:function(t){return r(t).buildInternationalAddressAutocompleteClient()},usEnrichment:function(t){return r(t).buildUsEnrichmentClient()}});export{i as default};\n","import{getDefaultExportFromCjs as s}from\"../_virtual/_commonjsHelpers.mjs\";var t=s(class{constructor(s){this.result=[],this.search=s,this.selected=void 0,this.maxResults=void 0,this.includeOnlyCities=[],this.includeOnlyStates=[],this.includeOnlyZIPCodes=[],this.excludeStates=[],this.preferCities=[],this.preferStates=[],this.preferZIPCodes=[],this.preferRatio=void 0,this.preferGeolocation=void 0,this.source=void 0,this.customParameters={}}addCustomParameter(s,t){this.customParameters[s]=t}});export{t as default};\n","import{getDefaultExportFromCjs as s}from\"../_virtual/_commonjsHelpers.mjs\";var e=s(class{constructor(s){this.result={meta:{},addresses:[]},this.text=s,this.html=void 0,this.aggressive=void 0,this.addressesHaveLineBreaks=void 0,this.addressesPerLine=void 0,this.customParameters={}}addCustomParameter(s,e){this.customParameters[s]=e}});export{e as default};\n","import{getDefaultExportFromCjs as t}from\"../_virtual/_commonjsHelpers.mjs\";import{E as e}from\"../Errors.mjs\";const i=e.UnprocessableEntityError,r=\"Country field is required.\",s=\"Either freeform or address1 is required.\",o=\"Insufficient information: One or more required fields were not set on the lookup.\",n=\"Invalid input: geocode can only be set to 'true' (default is 'false'.\",a=\"Invalid input: language can only be set to 'latin' or 'native'. When not set, the the output language will match the language of the input values.\";function u(t){if(!t)return!0;return t.replace(/\\s/g,\"\").length<1}function h(t){return!u(t)}var d=t(class{constructor(t,e){this.result=[],this.country=t,this.freeform=e,this.address1=void 0,this.address2=void 0,this.address3=void 0,this.address4=void 0,this.organization=void 0,this.locality=void 0,this.administrativeArea=void 0,this.postalCode=void 0,this.geocode=void 0,this.language=void 0,this.inputId=void 0,this.ensureEnoughInfo=this.ensureEnoughInfo.bind(this),this.ensureValidData=this.ensureValidData.bind(this),this.customParameters={}}addCustomParameter(t,e){this.customParameters[t]=e}ensureEnoughInfo(){if(u(this.country))throw new i(r);if(h(this.freeform))return!0;if(u(this.address1))throw new i(s);if(h(this.postalCode))return!0;if(u(this.locality)||u(this.administrativeArea))throw new i(o);return!0}ensureValidData(){if((()=>h(this.geocode)&&\"true\"!==this.geocode.toLowerCase())())throw new i(n);if((()=>{let t=t=>this.language.toLowerCase()===t;return h(this.language)&&!(t(\"latin\")||t(\"native\"))})())throw new i(a);return!0}});export{d as default};\n","import{getDefaultExportFromCjs as s}from\"../_virtual/_commonjsHelpers.mjs\";import{R as t}from\"./Response.mjs\";const e=t;var o=s(class{constructor(s,t,o=\"\"){this.latitude=s.toFixed(8),this.longitude=t.toFixed(8),this.source=o,this.response=new e,this.customParameters={}}addCustomParameter(s,t){this.customParameters[s]=t}});export{o as default};\n","import{getDefaultExportFromCjs as s}from\"../_virtual/_commonjsHelpers.mjs\";var t=s(class{constructor({search:s,addressId:t,country:e,maxResults:a=5,includeOnlyLocality:r,includeOnlyPostalCode:l}={}){this.result=[],this.search=s,this.addressId=t,this.country=e,this.maxResults=a,this.includeOnlyLocality=r,this.includeOnlyPostalCode=l,this.customParameters={}}addCustomParameter(s,t){this.customParameters[s]=t}});export{t as default};\n","import{getDefaultExportFromCjs as s}from\"../_virtual/_commonjsHelpers.mjs\";var t=s(class{constructor(s,t,e,a,r){this.smartyKey=s,this.include=t,this.exclude=e,this.dataset=a,this.dataSubset=r,this.response={},this.customParameters={}}addCustomParameter(s,t){this.customParameters[s]=t}});export{t as default};\n","import{getDefaultExportFromCjs as t}from\"../_virtual/_commonjsHelpers.mjs\";var e=t({Response:class{constructor(t){this.smartyKey=t.smarty_key,this.dataSetName=t.data_set_name,this.dataSubsetName=t.data_subset_name,this.attributes={},t.attributes&&(this.attributes.firstFloorSqft=t.attributes[\"1st_floor_sqft\"],this.attributes.secondFlootSqft=t.attributes[\"2nd_floor_sqft\"],this.attributes.acres=t.attributes.acres,this.attributes.addressInfoPrivacy=t.attributes.address_info_privacy,this.attributes.airConditioner=t.attributes.air_conditioner,this.attributes.arborPergola=t.attributes.arbor_pergola,this.attributes.assessedImprovementPercent=t.attributes.assessed_improvement_percent,this.attributes.assessedImprovementValue=t.attributes.assessed_improvement_value,this.attributes.assessedLandValue=t.attributes.assessed_land_value,this.attributes.assessedValue=t.attributes.assessed_value,this.attributes.assessorLastUpdate=t.attributes.assessor_last_update,this.attributes.assessorTaxrollUpdate=t.attributes.assessor_taxroll_update,this.attributes.atticArea=t.attributes.attic_area,this.attributes.atticFlag=t.attributes.attic_flag,this.attributes.balcony=t.attributes.balcony,this.attributes.balconyArea=t.attributes.balcony_area,this.attributes.basementSqft=t.attributes.basement_sqft,this.attributes.basementSqftFinished=t.attributes.basement_sqft_finished,this.attributes.basementsqftUnfinished=t.attributes.basement_sqft_unfinished,this.attributes.bathHouse=t.attributes.bath_house,this.attributes.bathHouseSqft=t.attributes.bath_house_sqft,this.attributes.bathroomsPartial=t.attributes.bathrooms_partial,this.attributes.bathroomsTotal=t.attributes.bathrooms_total,this.attributes.bedrooms=t.attributes.bedrooms,this.attributes.block1=t.attributes.block_1,this.attributes.block2=t.attributes.block_2,this.attributes.boatAccess=t.attributes.boat_access,this.attributes.boatHouse=t.attributes.boat_house,this.attributes.boatHouseSqft=t.attributes.boat_house_sqft,this.attributes.boatLift=t.attributes.boat_lift,this.attributes.bonusRoom=t.attributes.bonus_room,this.attributes.breakfastNook=t.attributes.breakfast_nook,this.attributes.breezeway=t.attributes.breezeway,this.attributes.buildingDefinitionCode=t.attributes.building_definition,this.attributes.buildingSqft=t.attributes.building_sqft,this.attributes.cabin=t.attributes.cabin,this.attributes.cabinSqft=t.attributes.cabin_sqft,this.attributes.canopy=t.attributes.canopy,this.attributes.canopySqft=t.attributes.canopy_sqft,this.attributes.carport=t.attributes.carport,this.attributes.carportSqft=t.attributes.carport_sqft,this.attributes.cbsaCode=t.attributes.cbsa_code,this.attributes.cbsaName=t.attributes.cbsa_name,this.attributes.cellar=t.attributes.cellar,this.attributes.censusBlock=t.attributes.census_block,this.attributes.censusTract=t.attributes.census_tract,this.attributes.censusBlockGroup=t.attributes.census_block_group,this.attributes.censusFipsPlaceCode=t.attributes.census_fips_place_code,this.attributes.censusTract=t.attributes.census_tract,this.attributes.centralVacuum=t.attributes.central_vacuum,this.attributes.codeTitleCompany=t.attributes.code_title_company,this.attributes.combinedStatisticalArea=t.attributes.combined_statistical_area,this.attributes.communityRec=t.attributes.community_rec,this.attributes.companyFlag=t.attributes.company_flag,this.attributes.congressionalDistrict=t.attributes.congressional_district,this.attributes.constructionType=t.attributes.construction_type,this.attributes.contactCity=t.attributes.contact_city,this.attributes.contactCrrt=t.attributes.contact_crrt,this.attributes.contactFullAddress=t.attributes.contact_full_address,this.attributes.contactHouseNumber=t.attributes.contact_house_number,this.attributes.contactMailInfoFormat=t.attributes.contact_main_info_format,this.attributes.contactMailInfoPrivacy=t.attributes.contact_mail_info_privacy,this.attributes.contactMailingCounty=t.attributes.contact_mailing_county,this.attributes.contactMailingFips=t.attributes.contact_mailing_fips,this.attributes.contactPostDirection=t.attributes.contact_post_direction,this.attributes.contactPreDirection=t.attributes.contact_pre_direction,this.attributes.contactState=t.attributes.contact_state,this.attributes.contactStreetName=t.attributes.contact_street_name,this.attributes.contactSuffix=t.attributes.contact_suffix,this.attributes.contactUnitDesignator=t.attributes.contact_unit_designator,this.attributes.contactValue=t.attributes.contact_value,this.attributes.contactZip=t.attributes.contact_zip,this.attributes.contactZip4=t.attributes.contact_zip4,this.attributes.courtyard=t.attributes.courtyard,this.attributes.courtyardArea=t.attributes.courtyard_area,this.attributes.deck=t.attributes.deck,this.attributes.deckArea=t.attributes.deck_area,this.attributes.deedDocumentPage=t.attributes.deed_document_page,this.attributes.deedDocumentBook=t.attributes.deed_document_book,this.attributes.deedDocumentNumber=t.attributes.deed_document_number,this.attributes.deedOwnerFirstName=t.attributes.deed_owner_first_name,this.attributes.deedOwnerFirstName2=t.attributes.deed_owner_first_name2,this.attributes.deedOwnerFirstName3=t.attributes.deed_owner_first_name3,this.attributes.deedOwnerFirstName4=t.attributes.deed_owner_first_name4,this.attributes.deedOwnerFullName=t.attributes.deed_owner_full_name,this.attributes.deedOwnerFullName2=t.attributes.deed_owner_full_name2,this.attributes.deedOwnerFullName3=t.attributes.deed_owner_full_name3,this.attributes.deedOwnerFullName4=t.attributes.deed_owner_full_name4,this.attributes.deedOwnerLastName=t.attributes.deed_owner_last_name,this.attributes.deedOwnerLastName2=t.attributes.deed_owner_last_name2,this.attributes.deedOwnerLastName3=t.attributes.deed_owner_last_name3,this.attributes.deedOwnerLastName4=t.attributes.deed_owner_last_name4,this.attributes.deedOwnerMiddleName=t.attributes.deed_owner_middle_name,this.attributes.deedOwnerMiddleName2=t.attributes.deed_owner_middle_name2,this.attributes.deedOwnerMiddleName3=t.attributes.deed_owner_middle_name3,this.attributes.deedOwnerMiddleName4=t.attributes.deed_owner_middle_name4,this.attributes.deedOwnerSuffix=t.attributes.deed_owner_suffix,this.attributes.deedOwnerSuffix2=t.attributes.deed_owner_suffix2,this.attributes.deedOwnerSuffix3=t.attributes.deed_owner_suffix3,this.attributes.deedOwnerSuffix4=t.attributes.deed_owner_suffix4,this.attributes.deedSaleDate=t.attributes.deed_sale_date,this.attributes.deedSalePrice=t.attributes.deed_sale_price,this.attributes.deedTransactionId=t.attributes.deed_transaction_id,this.attributes.depthLinearFootage=t.attributes.depth_linear_footage,this.attributes.disabledTaxExemption=t.attributes.disabled_tax_exemption,this.attributes.drivewaySqft=t.attributes.driveway_sqft,this.attributes.drivewayType=t.attributes.driveway_type,this.attributes.effectiveYearBuilt=t.attributes.effective_year_built,this.attributes.elevationFeet=t.attributes.elevation_feet,this.attributes.elevator=t.attributes.elevator,this.attributes.equestrianArena=t.attributes.equestrian_arena,this.attributes.escalator=t.attributes.escalator,this.attributes.exerciseRoom=t.attributes.exercise_room,this.attributes.exteriorWalls=t.attributes.exterior_walls,this.attributes.familyRoom=t.attributes.family_room,this.attributes.fence=t.attributes.fence,this.attributes.fenceArea=t.attributes.fence_area,this.attributes.fipsCode=t.attributes.fips_code,this.attributes.fireResistanceCode=t.attributes.fire_resistance_code,this.attributes.fireSprinklersFlag=t.attributes.fire_sprinkler_flag,this.attributes.fireplace=t.attributes.fireplace,this.attributes.fireplaceNumber=t.attributes.fireplace_number,this.attributes.firstName=t.attributes.first_name,this.attributes.firstName2=t.attributes.first_name2,this.attributes.firstName3=t.attributes.first_name3,this.attributes.firstName4=t.attributes.first_name4,this.attributes.flooring=t.attributes.flooring,this.attributes.foundation=t.attributes.foundation,this.attributes.gameRoom=t.attributes.game_room,this.attributes.garage=t.attributes.garage,this.attributes.garageSqft=t.attributes.garage_sqft,this.attributes.gazebo=t.attributes.gazebo,this.attributes.gazeboSqft=t.attributes.gazebo_sqft,this.attributes.golfCourse=t.attributes.golf_course,this.attributes.grainery=t.attributes.grainery,this.attributes.grainerySqft=t.attributes.grainery_sqft,this.attributes.greatRoom=t.attributes.great_room,this.attributes.greenhouse=t.attributes.greenhouse,this.attributes.greenhouseSqft=t.attributes.greenhouse_sqft,this.attributes.grossSqft=t.attributes.gross_sqft,this.attributes.guesthouse=t.attributes.guesthouse,this.attributes.guesthouseSqft=t.attributes.guesthouse_sqft,this.attributes.handicapAccessibility=t.attributes.handicap_accessibility,this.attributes.heat=t.attributes.heat,this.attributes.heatFuelType=t.attributes.heat_fuel_type,this.attributes.hobbyRoom=t.attributes.hobby_room,this.attributes.homeownerTaxExemption=t.attributes.homeowner_tax_exemption,this.attributes.instrumentDate=t.attributes.instrument_date,this.attributes.intercomSystem=t.attributes.intercom_system,this.attributes.interestRateType2=t.attributes.interest_rate_type_2,this.attributes.interiorStructure=t.attributes.interior_structure,this.attributes.kennel=t.attributes.kennel,this.attributes.kennelSqft=t.attributes.kennel_sqft,this.attributes.landUseCode=t.attributes.land_use_code,this.attributes.landUseGroup=t.attributes.land_use_group,this.attributes.landUseStandard=t.attributes.land_use_standard,this.attributes.lastName=t.attributes.last_name,this.attributes.lastName2=t.attributes.last_name_2,this.attributes.lastName3=t.attributes.last_name_3,this.attributes.lastName4=t.attributes.last_name_4,this.attributes.latitude=t.attributes.latitude,this.attributes.laundry=t.attributes.laundry,this.attributes.leanTo=t.attributes.lean_to,this.attributes.leanToSqft=t.attributes.lean_to_sqft,this.attributes.legalDescription=t.attributes.legal_description,this.attributes.legalUnit=t.attributes.legal_unit,this.attributes.lenderAddress=t.attributes.lender_address,this.attributes.lenderAddress2=t.attributes.lender_address_2,this.attributes.lenderCity=t.attributes.lender_city,this.attributes.lenderCity2=t.attributes.lender_city_2,this.attributes.lenderCode=t.attributes.lender_code,this.attributes.lenderCode2=t.attributes.lender_code_2,this.attributes.lenderFirstName=t.attributes.lender_first_name,this.attributes.lenderFirstName2=t.attributes.lender_first_name_2,this.attributes.lenderLastName=t.attributes.lender_last_name,this.attributes.lenderLastName2=t.attributes.lender_last_name_2,this.attributes.lenderName=t.attributes.lender_name,this.attributes.lenderName2=t.attributes.lender_name_2,this.attributes.lenderSellerCarryBack=t.attributes.lender_seller_carry_back,this.attributes.lenderSellerCarryBack2=t.attributes.lender_seller_carry_back_2,this.attributes.lenderState=t.attributes.lender_state,this.attributes.lenderState2=t.attributes.lender_state_2,this.attributes.lenderZip=t.attributes.lender_zip,this.attributes.lenderZip2=t.attributes.lender_zip_2,this.attributes.lenderZipExtended=t.attributes.lender_zip_extended,this.attributes.lenderZipExtended2=t.attributes.lender_zip_extended_2,this.attributes.loadingPlatform=t.attributes.loading_platform,this.attributes.loadingPlatformSqft=t.attributes.loading_platform_sqft,this.attributes.longitude=t.attributes.longitude,this.attributes.lot1=t.attributes.lot_1,this.attributes.lot2=t.attributes.lot_2,this.attributes.lot3=t.attributes.lot_3,this.attributes.lotSqft=t.attributes.lot_sqft,this.attributes.marketImprovementPercent=t.attributes.market_improvement_percent,this.attributes.marketImprovementValue=t.attributes.market_improvement_value,this.attributes.marketLandValue=t.attributes.market_land_value,this.attributes.marketValueYear=t.attributes.market_value_year,this.attributes.matchType=t.attributes.match_type,this.attributes.mediaRoom=t.attributes.media_room,this.attributes.metroDivision=t.attributes.metro_division,this.attributes.middleName=t.attributes.middle_name,this.attributes.middleName2=t.attributes.middle_name_2,this.attributes.middleName3=t.attributes.middle_name_3,this.attributes.middleName4=t.attributes.middle_name_4,this.attributes.milkhouse=t.attributes.milkhouse,this.attributes.milkhouseSqft=t.attributes.milkhouse_sqft,this.attributes.minorCivilDivisionCode=t.attributes.minor_civil_division_code,this.attributes.minorCivilDivisionName=t.attributes.minor_civil_division_name,this.attributes.mobileHomeHookup=t.attributes.mobile_home_hookup,this.attributes.mortgageAmount=t.attributes.mortgage_amount,this.attributes.mortgageAmount2=t.attributes.mortgage_amount_2,this.attributes.mortgageDueDate=t.attributes.mortgage_due_date,this.attributes.mortgageDueDate2=t.attributes.mortgage_due_date_2,this.attributes.mortgageInterestRate=t.attributes.mortgage_interest_rate,this.attributes.mortgageInterestRateType=t.attributes.mortgage_interest_rate_type,this.attributes.mortgageLenderCode=t.attributes.mortgage_lender_code,this.attributes.mortgageRate2=t.attributes.mortgage_rate_2,this.attributes.mortgageRecordingDate=t.attributes.mortgage_recording_date,this.attributes.mortgageRecordingDate2=t.attributes.mortgage_recording_date_2,this.attributes.mortgageTerm=t.attributes.mortgage_term,this.attributes.mortgageTerm2=t.attributes.mortgage_term_2,this.attributes.mortgageTermType=t.attributes.mortgage_term_type,this.attributes.mortgageTermType2=t.attributes.mortgage_term_type_2,this.attributes.mortgageType=t.attributes.mortgage_type,this.attributes.mortgageType2=t.attributes.mortgage_type_2,this.attributes.msaCode=t.attributes.msa_code,this.attributes.msaName=t.attributes.msa_name,this.attributes.mudRoom=t.attributes.mud_room,this.attributes.multiParcelFlag=t.attributes.multi_parcel_flag,this.attributes.nameTitleCompany=t.attributes.name_title_company,this.attributes.neighborhoodCode=t.attributes.neighborhood_code,this.attributes.numberOfBuildings=t.attributes.number_of_buildings,this.attributes.office=t.attributes.office,this.attributes.officeSqft=t.attributes.office_sqft,this.attributes.otherTaxExemption=t.attributes.other_tax_exemption,this.attributes.outdoorKitchenFireplace=t.attributes.outdoor_kitchen_fireplace,this.attributes.overheadDoor=t.attributes.overhead_door,this.attributes.ownerFullName=t.attributes.owner_full_name,this.attributes.ownerFullName2=t.attributes.owner_full_name_2,this.attributes.ownerFullName3=t.attributes.owner_full_name_3,this.attributes.ownerFullName4=t.attributes.owner_full_name_4,this.attributes.ownerOccupancyStatus=t.attributes.owner_occupancy_status,this.attributes.ownershipTransferDate=t.attributes.ownership_transfer_date,this.attributes.ownershipTransferDocNumber=t.attributes.ownership_transfer_doc_number,this.attributes.ownershipTransferTransactionId=t.attributes.ownership_transfer_transaction_id,this.attributes.ownershipType=t.attributes.ownership_type,this.attributes.ownershipType2=t.attributes.ownership_type_2,this.attributes.ownershipVestingRelationCode=t.attributes.ownership_vesting_relation_code,this.attributes.parcelAccountNumber=t.attributes.parcel_account_number,this.attributes.parcelMapBook=t.attributes.parcel_map_book,this.attributes.parcelMapPage=t.attributes.parcel_map_page,this.attributes.parcelNumberAlternate=t.attributes.parcel_number_alternate,this.attributes.parcelNumberFormatted=t.attributes.parcel_number_formatted,this.attributes.parcelNumberPrevious=t.attributes.parcel_number_previous,this.attributes.parcelNumberYearAdded=t.attributes.parcel_number_year_added,this.attributes.parcelNumberYearChange=t.attributes.parcel_number_year_change,this.attributes.parcelRawNumber=t.attributes.parcel_raw_number,this.attributes.parcelShellRecord=t.attributes.parcel_shell_record,this.attributes.parkingSpaces=t.attributes.parking_spaces,this.attributes.patioArea=t.attributes.patio_area,this.attributes.phaseName=t.attributes.phase_name,this.attributes.plumbingFixturesCount=t.attributes.plumbing_fixtures_count,this.attributes.poleStruct=t.attributes.pole_struct,this.attributes.poleStructSqft=t.attributes.pole_struct_sqft,this.attributes.pond=t.attributes.pond,this.attributes.pool=t.attributes.pool,this.attributes.poolArea=t.attributes.pool_area,this.attributes.poolhouse=t.attributes.poolhouse,this.attributes.poolhouseSqft=t.attributes.poolhouse_sqft,this.attributes.porch=t.attributes.porch,this.attributes.porchArea=t.attributes.porch_area,this.attributes.poultryHouse=t.attributes.poultry_house,this.attributes.poultryHouseSqft=t.attributes.poultry_house_sqft,this.attributes.previousAssessedValue=t.attributes.previous_assessed_value,this.attributes.priorSaleAmount=t.attributes.prior_sale_amount,this.attributes.priorSaleDate=t.attributes.prior_sale_date,this.attributes.propertyAddressCarrierRouteCode=t.attributes.property_address_carrier_route_code,this.attributes.propertyAddressCity=t.attributes.property_address_city,this.attributes.propertyAddressFull=t.attributes.property_address_full,this.attributes.propertyAddressHouseNumber=t.attributes.property_address_house_number,this.attributes.propertyAddressPostDirection=t.attributes.property_address_post_direction,this.attributes.propertyAddressPreDirection=t.attributes.property_address_pre_direction,this.attributes.propertyAddressState=t.attributes.property_address_state,this.attributes.propertyAddressStreetName=t.attributes.property_address_street_name,this.attributes.propertyAddressStreetSuffix=t.attributes.property_address_street_suffix,this.attributes.propertyAddressUnitDesignator=t.attributes.property_address_unit_designator,this.attributes.propertyAddressUnitValue=t.attributes.property_address_unit_value,this.attributes.propertyAddressZip4=t.attributes.property_address_zip_4,this.attributes.propertyAddressZipcode=t.attributes.property_address_zipcode,this.attributes.publicationDate=t.attributes.publication_date,this.attributes.quarter=t.attributes.quarter,this.attributes.quarterQuarter=t.attributes.quarter_quarter,this.attributes.quonset=t.attributes.quonset,this.attributes.quonsetSqft=t.attributes.quonset_sqft,this.attributes.range=t.attributes.range,this.attributes.recordingDate=t.attributes.recording_date,this.attributes.roofCover=t.attributes.roof_cover,this.attributes.roofFrame=t.attributes.roof_frame,this.attributes.rooms=t.attributes.rooms,this.attributes.rvParking=t.attributes.rv_parking,this.attributes.safeRoom=t.attributes.safe_room,this.attributes.saleAmount=t.attributes.sale_amount,this.attributes.saleDate=t.attributes.sale_date,this.attributes.sauna=t.attributes.sauna,this.attributes.section=t.attributes.section,this.attributes.securityAlarm=t.attributes.security_alarm,this.attributes.seniorTaxExemption=t.attributes.senior_tax_exemption,this.attributes.sewerType=t.attributes.sewer_type,this.attributes.shed=t.attributes.shed,this.attributes.shedSqft=t.attributes.shed_sqft,this.attributes.silo=t.attributes.silo,this.attributes.siloSqft=t.attributes.silo_sqft,this.attributes.sittingRoom=t.attributes.sitting_room,this.attributes.situsCounty=t.attributes.situs_county,this.attributes.situsState=t.attributes.situs_state,this.attributes.soundSystem=t.attributes.sound_system,this.attributes.sportsCourt=t.attributes.sports_court,this.attributes.sprinklers=t.attributes.sprinklers,this.attributes.stable=t.attributes.stable,this.attributes.stableSqft=t.attributes.stable_sqft,this.attributes.storageBuilding=t.attributes.storage_building,this.attributes.storageBuildingSqft=t.attributes.storage_buildling_sqft,this.attributes.storiesNumber=t.attributes.stories_number,this.attributes.stormShelter=t.attributes.storm_shelter,this.attributes.stormShutter=t.attributes.storm_shutter,this.attributes.structureStyle=t.attributes.structure_style,this.attributes.study=t.attributes.study,this.attributes.subdivision=t.attributes.subdivision,this.attributes.suffix=t.attributes.suffix,this.attributes.suffix2=t.attributes.suffix_2,this.attributes.suffix3=t.attributes.suffix_3,this.attributes.suffix4=t.attributes.suffix_4,this.attributes.sunroom=t.attributes.sunroom,this.attributes.taxAssessYear=t.attributes.tax_assess_year,this.attributes.taxBilledAmount=t.attributes.tax_billed_amount,this.attributes.taxDelinquentYear=t.attributes.tax_delinquent_year,this.attributes.taxFiscalYear=t.attributes.tax_fiscal_year,this.attributes.taxJurisdiction=t.attributes.tax_jurisdiction,this.attributes.taxRateArea=t.attributes.tax_rate_area,this.attributes.tennisCourt=t.attributes.tennis_court,this.attributes.topographyCode=t.attributes.topography_code,this.attributes.totalMarketValue=t.attributes.total_market_value,this.attributes.township=t.attributes.township,this.attributes.tractNumber=t.attributes.tract_number,this.attributes.transferAmount=t.attributes.transfer_amount,this.attributes.trustDescription=t.attributes.trust_description,this.attributes.unitCount=t.attributes.unit_count,this.attributes.upperFloorsSqft=t.attributes.upper_floors_sqft,this.attributes.utility=t.attributes.utility,this.attributes.utilityBuilding=t.attributes.utility_building,this.attributes.utilityBuildingSqft=t.attributes.utility_building_sqft,this.attributes.utilitySqft=t.attributes.utility_sqft,this.attributes.veteranTaxExemption=t.attributes.veteran_tax_exemption,this.attributes.viewDescription=t.attributes.view_description,this.attributes.waterFeature=t.attributes.water_feature,this.attributes.waterServiceType=t.attributes.water_service_type,this.attributes.wetBar=t.attributes.wet_bar,this.attributes.widowTaxExemption=t.attributes.widow_tax_exemption,this.attributes.widthLinearFootage=t.attributes.width_linear_footage,this.attributes.wineCellar=t.attributes.wine_cellar,this.attributes.yearBuilt=t.attributes.year_built,this.attributes.zoning=t.attributes.zoning)}},FinancialResponse:class{constructor(t){this.smartyKey=t.smarty_key,this.dataSetName=t.data_set_name,this.dataSubsetName=t.data_subset_name,this.attributes={},t.attributes&&(this.attributes.assessedImprovementPercent=t.attributes.assessed_improvement_percent,this.attributes.assessedImprovementValue=t.attributes.assessed_improvement_value,this.attributes.assessedLandValue=t.attributes.assessed_land_value,this.attributes.assessedValue=t.attributes.assessed_value,this.attributes.assessorLastUpdate=t.attributes.assessor_last_update,this.attributes.assessorTaxrollUpdate=t.attributes.assessor_taxroll_update,this.attributes.contactCity=t.attributes.contact_city,this.attributes.contactCrrt=t.attributes.contact_crrt,this.attributes.contactFullAddress=t.attributes.contact_full_address,this.attributes.contactHouseNumber=t.attributes.contact_house_number,this.attributes.contactMailInfoFormat=t.attributes.contact_main_info_format,this.attributes.contactMailInfoPrivacy=t.attributes.contact_mail_info_privacy,this.attributes.contactMailingCounty=t.attributes.contact_mailing_county,this.attributes.contactMailingFips=t.attributes.contact_mailing_fips,this.attributes.contactPostDirection=t.attributes.contact_post_direction,this.attributes.contactPreDirection=t.attributes.contact_pre_direction,this.attributes.contactState=t.attributes.contact_state,this.attributes.contactStreetName=t.attributes.contact_street_name,this.attributes.contactSuffix=t.attributes.contact_suffix,this.attributes.contactUnitDesignator=t.attributes.contact_unit_designator,this.attributes.contactValue=t.attributes.contact_value,this.attributes.contactZip=t.attributes.contact_zip,this.attributes.contactZip4=t.attributes.contact_zip4,this.attributes.deedDocumentPage=t.attributes.deed_document_page,this.attributes.deedDocumentBook=t.attributes.deed_document_book,this.attributes.deedDocumentNumber=t.attributes.deed_document_number,this.attributes.deedOwnerFirstName=t.attributes.deed_owner_first_name,this.attributes.deedOwnerFirstName2=t.attributes.deed_owner_first_name2,this.attributes.deedOwnerFirstName3=t.attributes.deed_owner_first_name3,this.attributes.deedOwnerFirstName4=t.attributes.deed_owner_first_name4,this.attributes.deedOwnerFullName=t.attributes.deed_owner_full_name,this.attributes.deedOwnerFullName2=t.attributes.deed_owner_full_name2,this.attributes.deedOwnerFullName3=t.attributes.deed_owner_full_name3,this.attributes.deedOwnerFullName4=t.attributes.deed_owner_full_name4,this.attributes.deedOwnerLastName=t.attributes.deed_owner_last_name,this.attributes.deedOwnerLastName2=t.attributes.deed_owner_last_name2,this.attributes.deedOwnerLastName3=t.attributes.deed_owner_last_name3,this.attributes.deedOwnerLastName4=t.attributes.deed_owner_last_name4,this.attributes.deedOwnerMiddleName=t.attributes.deed_owner_middle_name,this.attributes.deedOwnerMiddleName2=t.attributes.deed_owner_middle_name2,this.attributes.deedOwnerMiddleName3=t.attributes.deed_owner_middle_name3,this.attributes.deedOwnerMiddleName4=t.attributes.deed_owner_middle_name4,this.attributes.deedOwnerSuffix=t.attributes.deed_owner_suffix,this.attributes.deedOwnerSuffix2=t.attributes.deed_owner_suffix2,this.attributes.deedOwnerSuffix3=t.attributes.deed_owner_suffix3,this.attributes.deedOwnerSuffix4=t.attributes.deed_owner_suffix4,this.attributes.deedSaleDate=t.attributes.deed_sale_date,this.attributes.deedSalePrice=t.attributes.deed_sale_price,this.attributes.deedTransactionId=t.attributes.deed_transaction_id,this.attributes.disabledTaxExemption=t.attributes.disabled_tax_exemption,this.attributes.financialHistory=t.attributes.financial_history?t.attributes.financial_history.map((t=>({codeTitleCompany:t.code_title_company,instrumentDate:t.instrument_date,interestRateType2:t.interest_rate_type_2,lenderAddress:t.lender_address,lenderAddress2:t.lender_address_2,lenderCity:t.lender_city,lenderCity2:t.lender_city_2,lenderCode:t.lender_code,lenderCode2:t.lender_code_2,lenderFirstName:t.lender_first_name,lenderFirstName2:t.lender_first_name_2,lenderLastName:t.lender_last_name,lenderLastName2:t.lender_last_name_2,lenderName:t.lender_name,lenderName2:t.lender_name_2,lenderSellerCarryBack:t.lender_seller_carry_back,lenderSellerCarryBack2:t.lender_seller_carry_back_2,lenderState:t.lender_state,lenderState2:t.lender_state_2,lenderZip:t.lender_zip,lenderZip2:t.lender_zip_2,lenderZipExtended:t.lender_zip_extended,lenderZipExtended2:t.lender_zip_extended_2,mortgageAmount:t.mortgage_amount,mortgageAmount2:t.mortgage_amount_2,mortgageDueDate:t.mortgage_due_date,mortgageDueDate2:t.mortgage_due_date_2,mortgageInterestRate:t.mortgage_interest_rate,mortgageInterestRateType:t.mortgage_interest_rate_type,mortgageLenderCode:t.mortgage_lender_code,mortgageRate:t.mortgage_rate,mortgageRate2:t.mortgage_rate_2,mortgageRecordingDate:t.mortgage_recording_date,mortgageRecordingDate2:t.mortgage_recording_date_2,mortgageTerm:t.mortgage_term,mortgageTerm2:t.mortgage_term_2,mortgageTermType:t.mortgage_term_type,mortgageTermType2:t.mortgage_term_type_2,mortgageType:t.mortgage_type,mortgageType2:t.mortgage_type_2,multiParcelFlag:t.multi_parcel_flag,nameTitleCompany:t.name_title_company,recordingDate:t.recording_date,transferAmount:t.transfer_amount}))):[],this.attributes.homeownerTaxExemption=t.attributes.homeowner_tax_exemption,this.attributes.marketImprovementPercent=t.attributes.market_improvement_percent,this.attributes.marketImprovementValue=t.attributes.market_improvement_value,this.attributes.marketLandValue=t.attributes.market_land_value,this.attributes.marketValueYear=t.attributes.market_value_year,this.attributes.matchType=t.attributes.match_type,this.attributes.otherTaxExemption=t.attributes.other_tax_exemption,this.attributes.ownershipTransferDate=t.attributes.ownership_transfer_date,this.attributes.ownershipTransferDocNumber=t.attributes.ownership_transfer_doc_number,this.attributes.ownershipTransferTransactionId=t.attributes.ownership_transfer_transaction_id,this.attributes.ownershipType=t.attributes.ownership_type,this.attributes.ownershipType2=t.attributes.ownership_type_2,this.attributes.previousAssessedValue=t.attributes.previous_assessed_value,this.attributes.priorSaleAmount=t.attributes.prior_sale_amount,this.attributes.priorSaleDate=t.attributes.prior_sale_date,this.attributes.saleAmount=t.attributes.sale_amount,this.attributes.saleDate=t.attributes.sale_date,this.attributes.seniorTaxExemption=t.attributes.senior_tax_exemption,this.attributes.taxAssessYear=t.attributes.tax_assess_year,this.attributes.taxBilledAmount=t.attributes.tax_billed_amount,this.attributes.taxDelinquentYear=t.attributes.tax_delinquent_year,this.attributes.taxFiscalYear=t.attributes.tax_fiscal_year,this.attributes.taxRateArea=t.attributes.tax_rate_area,this.attributes.totalMarketValue=t.attributes.total_market_value,this.attributes.trustDescription=t.attributes.trust_description,this.attributes.veteranTaxExemption=t.attributes.veteran_tax_exemption,this.attributes.widow_tax_exemption=t.attributes.widow_tax_exemption)}},GeoResponse:class{constructor(t){this.smartyKey=t.smarty_key,this.dataSetName=t.data_set_name,this.attributes={},t.attributes&&(this.attributes.censusBlock={},t.attributes.census_block&&(this.attributes.censusBlock.accuracy=t.attributes.census_block.accuracy,this.attributes.censusBlock.geoid=t.attributes.census_block.geoid),this.attributes.censusCountyDivision={},t.attributes.census_county_division&&(this.attributes.censusCountyDivision.accuracy=t.attributes.census_county_division.accuracy,this.attributes.censusCountyDivision.code=t.attributes.census_county_division.code,this.attributes.censusCountyDivision.name=t.attributes.census_county_division.name),this.attributes.censusTract={},t.attributes.census_tract&&(this.attributes.censusTract.code=t.attributes.census_tract.code),this.attributes.coreBasedStatArea={},t.attributes.core_based_stat_area&&(this.attributes.coreBasedStatArea.code=t.attributes.core_based_stat_area.code,this.attributes.coreBasedStatArea.name=t.attributes.core_based_stat_area.name),this.attributes.place={},t.attributes.place&&(this.attributes.place.accuracy=t.attributes.place.accuracy,this.attributes.place.code=t.attributes.place.code,this.attributes.place.name=t.attributes.place.name,this.attributes.place.type=t.attributes.place.type))}}});export{e as default};\n","import o from\"./Batch.mjs\";import t from\"./ClientBuilder.mjs\";import e from\"./util/buildClients.mjs\";import r from\"./SharedCredentials.mjs\";import m from\"./StaticCredentials.mjs\";import s from\"./Errors.mjs\";import i from\"./us_street/Lookup.mjs\";import u from\"./us_street/Candidate.mjs\";import p from\"./us_zipcode/Lookup.mjs\";import n from\"./us_zipcode/Result.mjs\";import a from\"./us_autocomplete_pro/Lookup.mjs\";import l from\"./us_autocomplete_pro/Suggestion.mjs\";import d from\"./us_extract/Lookup.mjs\";import f from\"./us_extract/Result.mjs\";import c from\"./international_street/Lookup.mjs\";import j from\"./international_street/Candidate.mjs\";import _ from\"./us_reverse_geo/Lookup.mjs\";import k from\"./international_address_autocomplete/Lookup.mjs\";import L from\"./international_address_autocomplete/Suggestion.mjs\";import C from\"./us_enrichment/Lookup.mjs\";import S from\"./us_enrichment/Response.mjs\";const g={Batch:o,ClientBuilder:t,buildClient:e,SharedCredentials:r,StaticCredentials:m,Errors:s},h={Lookup:i,Candidate:u},R={Lookup:p,Result:n},x={Lookup:a,Suggestion:l},B={Lookup:d,Result:f},E={Lookup:c,Candidate:j},v={Lookup:_},A={Lookup:k,Suggestion:L},b={Lookup:C,Response:S};var z={core:g,usStreet:h,usZipcode:R,usAutocompletePro:x,usExtract:B,internationalStreet:E,usReverseGeo:v,internationalAddressAutocomplete:A,usEnrichment:b};export{g as core,z as default,A as internationalAddressAutocomplete,E as internationalStreet,x as usAutocompletePro,b as usEnrichment,B as usExtract,v as usReverseGeo,h as usStreet,R as usZipcode};\n","import {\n core,\n internationalAddressAutocomplete,\n usAutocompletePro,\n} from \"smartystreets-javascript-sdk\";\nimport type {\n AddressAutocompleteApi,\n AddressSuggestion,\n DetailsResult,\n FetchDetailsArgs,\n FetchSuggestionsArgs,\n} from \"../api\";\n\ninterface SmartyAdapterOptions {\n readonly embeddedKey: string;\n}\n\n// `@types/smartystreets-javascript-sdk@5.1.0` types the international Lookup\n// constructor as `(search, country)`, but SDK v6.x takes a single options\n// object at runtime. This cast captures the actual runtime contract.\ninterface IntlLookupOptions {\n readonly search?: string;\n readonly addressId?: string;\n readonly country: string;\n}\ntype IntlLookupCtor = new (\n opts: IntlLookupOptions,\n) => InstanceType<typeof internationalAddressAutocomplete.Lookup>;\nconst IntlLookup =\n internationalAddressAutocomplete.Lookup as unknown as IntlLookupCtor;\n\ninterface UsSdkSuggestion {\n readonly streetLine?: string;\n readonly city?: string;\n readonly state?: string;\n readonly zipcode?: string;\n}\n\ninterface IntlSdkSuggestion {\n readonly addressId?: string;\n readonly addressText?: string;\n readonly entries?: number;\n readonly street?: string;\n readonly locality?: string;\n readonly administrativeArea?: string;\n readonly administrativeAreaShort?: string;\n readonly administrativeAreaLong?: string;\n readonly postalCode?: string;\n}\n\nconst NULL_API: AddressAutocompleteApi = {\n fetchSuggestions: async () => [],\n fetchDetails: async ({ suggestion }) => ({\n details: {\n streetLine: suggestion.text,\n city: \"\",\n state: \"\",\n postalCode: \"\",\n },\n drilldownSuggestions: [],\n }),\n};\n\nfunction mapUs(raw: UsSdkSuggestion, idx: number): AddressSuggestion {\n return {\n id: `${raw.streetLine ?? \"us\"}-${idx}`,\n text: [raw.streetLine, raw.city, raw.state, raw.zipcode]\n .filter(Boolean)\n .join(\", \"),\n streetLine: raw.streetLine ?? \"\",\n city: raw.city ?? \"\",\n state: raw.state ?? \"\",\n postalCode: raw.zipcode ?? \"\",\n needsDetailLookup: false,\n };\n}\n\nfunction mapIntlSummary(raw: IntlSdkSuggestion): AddressSuggestion {\n const entries = raw.entries ?? 1;\n return {\n id: raw.addressId ?? \"\",\n text: raw.addressText ?? \"\",\n entries,\n needsDetailLookup: entries > 1,\n };\n}\n\nexport function createSmartyBrowserAdapter(\n opts: SmartyAdapterOptions,\n): AddressAutocompleteApi {\n if (!opts.embeddedKey) return NULL_API;\n\n const credentials = new core.SharedCredentials(opts.embeddedKey);\n const usClient = new core.ClientBuilder(credentials)\n .withLicenses([\"us-autocomplete-pro-cloud\"])\n .buildUsAutocompleteProClient();\n const intlClient = new core.ClientBuilder(credentials)\n .withLicenses([\"international-autocomplete-v2-cloud\"])\n .buildInternationalAddressAutocompleteClient();\n\n async function fetchSuggestions({\n query,\n countryIso,\n }: FetchSuggestionsArgs): Promise<readonly AddressSuggestion[]> {\n if (!query.trim()) return [];\n\n if (countryIso === \"US\") {\n try {\n const lookup = new usAutocompletePro.Lookup(query);\n const { result } = (await usClient.send(lookup)) as {\n result: UsSdkSuggestion[];\n };\n return (result ?? []).map(mapUs);\n } catch {\n return [];\n }\n }\n\n try {\n const lookup = new IntlLookup({ search: query, country: countryIso });\n const { result } = (await intlClient.send(lookup)) as {\n result: IntlSdkSuggestion[];\n };\n return (result ?? []).map(mapIntlSummary);\n } catch {\n return [];\n }\n }\n\n async function fetchDetails({\n suggestion,\n countryIso,\n }: FetchDetailsArgs): Promise<DetailsResult> {\n // US suggestions are populated synchronously; consumers don't call this\n // for US. If they do, return what's already on the suggestion.\n if (countryIso === \"US\" || !suggestion.needsDetailLookup) {\n return {\n details: {\n streetLine: suggestion.streetLine ?? suggestion.text,\n city: suggestion.city ?? \"\",\n state: suggestion.state ?? \"\",\n postalCode: suggestion.postalCode ?? \"\",\n },\n drilldownSuggestions: [],\n };\n }\n\n try {\n const lookup = new IntlLookup({\n addressId: suggestion.id,\n country: countryIso,\n });\n const { result } = (await intlClient.send(lookup)) as {\n result: IntlSdkSuggestion[];\n };\n const first = result?.[0];\n const hasComponents = Boolean(first?.street ?? first?.locality);\n const entries = first?.entries ?? 0;\n\n if (!hasComponents && (entries > 1 || (result?.length ?? 0) > 1)) {\n return {\n details: null,\n // Each drilldown item is a single unit (`entries: 1`), but its\n // component fields (city/state/postal) aren't populated yet —\n // selecting one must trigger another detail lookup. Without\n // forcing `needsDetailLookup: true` the UI would populate empty\n // city/state/postal when the user picks a specific apartment.\n drilldownSuggestions: (result ?? []).map((raw) => ({\n ...mapIntlSummary(raw),\n needsDetailLookup: true,\n })),\n };\n }\n\n return {\n details: {\n streetLine: first?.street ?? suggestion.text,\n city: first?.locality ?? \"\",\n state: first?.administrativeArea ?? \"\",\n administrativeAreaShort: first?.administrativeAreaShort,\n administrativeAreaLong: first?.administrativeAreaLong,\n postalCode: first?.postalCode ?? \"\",\n },\n drilldownSuggestions: [],\n };\n } catch {\n return {\n details: {\n streetLine: suggestion.text,\n city: \"\",\n state: \"\",\n postalCode: \"\",\n },\n drilldownSuggestions: [],\n };\n }\n }\n\n return { fetchSuggestions, fetchDetails };\n}\n","import { createContext, useContext, type Provider } from \"react\";\nimport type { AddressFieldsApi } from \"./address-fields-api\";\n\nconst AddressFieldsApiContext = createContext<AddressFieldsApi | null>(null);\n\nexport const AddressFieldsApiProvider: Provider<AddressFieldsApi | null> =\n AddressFieldsApiContext.Provider;\n\nexport function useAddressFieldsApi(): AddressFieldsApi {\n const api = useContext(AddressFieldsApiContext);\n if (!api) {\n throw new Error(\n \"useAddressFieldsApi must be used within an AddressFieldsApiProvider\",\n );\n }\n return api;\n}\n\nexport function useAddressFieldsApiOptional(): AddressFieldsApi | null {\n return useContext(AddressFieldsApiContext);\n}\n","/**\n * Minimal, framework-agnostic fetch client for Fluid APIs\n * Compatible with fluid-admin patterns but usable standalone\n */\n\nexport interface FetchClientConfig {\n /**\n * Base URL for all requests (e.g., \"https://api.fluid.app/api\")\n */\n baseUrl: string;\n\n /**\n * Optional function to get auth token\n * Return null/undefined if no token available\n */\n getAuthToken?: () => string | null | Promise<string | null>;\n\n /**\n * Optional callback when 401 auth error occurs\n */\n onAuthError?: () => void;\n\n /**\n * Default headers to include in all requests\n * Example: { \"x-fluid-client\": \"admin\" }\n */\n defaultHeaders?: Record<string, string>;\n\n /**\n * Credentials mode for fetch requests.\n * Set to `\"include\"` for cookie-based (same-origin BFF) authentication.\n * @default undefined (browser default: \"same-origin\")\n */\n credentials?: RequestCredentials;\n\n /**\n * Request cache mode for fetch requests.\n * @default undefined (browser default)\n */\n cache?: RequestCache;\n\n /**\n * Retry configuration for thrown network errors from fetch.\n * Does not retry HTTP error responses or aborted requests.\n * @default undefined (no retries)\n */\n networkRetry?: {\n maxRetries?: number;\n baseDelayMs?: number;\n };\n\n /**\n * Throw ApiError when a successful response declares JSON but cannot be parsed.\n * Defaults to false to preserve the legacy generated-client behavior.\n * @default false\n */\n throwOnInvalidJson?: boolean;\n}\n\nexport interface RequestOptions {\n method?: \"GET\" | \"POST\" | \"PUT\" | \"DELETE\" | \"PATCH\";\n headers?: Record<string, string>;\n params?: Record<string, unknown>;\n body?: unknown;\n signal?: AbortSignal;\n priority?: RequestInit[\"priority\"];\n}\n\n/**\n * API Error class compatible with fluid-admin's ApiError\n */\nexport class ApiError extends Error {\n public readonly status: number;\n public readonly data: unknown;\n public readonly requestId?: string;\n\n constructor(\n message: string,\n status: number,\n data?: unknown,\n requestId?: string,\n ) {\n super(message);\n this.name = \"ApiError\";\n this.status = status;\n this.data = data;\n this.requestId = requestId;\n\n if (\"captureStackTrace\" in Error) {\n (\n Error as {\n captureStackTrace: (\n target: Error,\n constructor: NewableFunction,\n ) => void;\n }\n ).captureStackTrace(this, ApiError);\n }\n }\n\n toJSON(): {\n name: string;\n message: string;\n status: number;\n data: unknown;\n requestId?: string;\n } {\n return {\n name: this.name,\n message: this.message,\n status: this.status,\n data: this.data,\n requestId: this.requestId,\n };\n }\n}\n\nfunction getStringRequestId(value: unknown): string | undefined {\n if (typeof value !== \"string\") {\n return undefined;\n }\n\n const trimmed = value.trim();\n return trimmed.length > 0 ? trimmed : undefined;\n}\n\nfunction getRequestIdFromHeaders(headers: Headers): string | undefined {\n return (\n getStringRequestId(headers.get(\"x-request-id\")) ??\n getStringRequestId(headers.get(\"request-id\")) ??\n getStringRequestId(headers.get(\"X-Request-ID\"))\n );\n}\n\nfunction getRequestIdFromJsonBody(body: unknown): string | undefined {\n if (!body || typeof body !== \"object\" || Array.isArray(body)) {\n return undefined;\n }\n\n const record = body as Record<string, unknown>;\n const meta = record.meta;\n\n return (\n getStringRequestId(record.request_id) ??\n getStringRequestId(record.requestId) ??\n (meta && typeof meta === \"object\" && !Array.isArray(meta)\n ? (getStringRequestId((meta as Record<string, unknown>).request_id) ??\n getStringRequestId((meta as Record<string, unknown>).requestId))\n : undefined)\n );\n}\n\n/**\n * Type guard for ApiError\n */\nexport function isApiError(error: unknown): error is ApiError {\n return error instanceof ApiError;\n}\n\nexport interface FetchClientInstance {\n request: <TResponse = unknown>(\n endpoint: string,\n options?: RequestOptions,\n ) => Promise<TResponse>;\n requestWithFormData: <TResponse = unknown>(\n endpoint: string,\n formData: FormData,\n options?: Omit<RequestOptions, \"body\" | \"params\"> & {\n method?: \"POST\" | \"PUT\" | \"PATCH\";\n },\n ) => Promise<TResponse>;\n get: <TResponse = unknown>(\n endpoint: string,\n params?: Record<string, unknown>,\n options?: Omit<RequestOptions, \"method\" | \"params\">,\n ) => Promise<TResponse>;\n post: <TResponse = unknown>(\n endpoint: string,\n body?: unknown,\n options?: Omit<RequestOptions, \"method\" | \"body\">,\n ) => Promise<TResponse>;\n put: <TResponse = unknown>(\n endpoint: string,\n body?: unknown,\n options?: Omit<RequestOptions, \"method\" | \"body\">,\n ) => Promise<TResponse>;\n patch: <TResponse = unknown>(\n endpoint: string,\n body?: unknown,\n options?: Omit<RequestOptions, \"method\" | \"body\">,\n ) => Promise<TResponse>;\n delete: <TResponse = unknown>(\n endpoint: string,\n options?: Omit<RequestOptions, \"method\">,\n ) => Promise<TResponse>;\n}\n\n/**\n * Creates a configured fetch client instance\n */\nexport function createFetchClient(\n config: FetchClientConfig,\n): FetchClientInstance {\n const {\n baseUrl,\n getAuthToken,\n onAuthError,\n defaultHeaders = {},\n credentials,\n cache,\n networkRetry,\n throwOnInvalidJson = false,\n } = config;\n const maxNetworkRetries = Math.max(0, networkRetry?.maxRetries ?? 0);\n const baseNetworkRetryDelayMs = Math.max(0, networkRetry?.baseDelayMs ?? 0);\n\n /**\n * Build headers for a request\n */\n async function buildHeaders(\n customHeaders?: Record<string, string>,\n ): Promise<Record<string, string>> {\n const headers: Record<string, string> = {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n ...defaultHeaders,\n ...customHeaders,\n };\n\n // Add auth token if available\n if (getAuthToken) {\n const token = await getAuthToken();\n if (token) {\n headers.Authorization = `Bearer ${token}`;\n }\n }\n\n return headers;\n }\n\n /**\n * Join baseUrl + endpoint via string concatenation (matches fetchApi).\n * Using `new URL(endpoint, baseUrl)` would strip any path prefix from\n * baseUrl (e.g. \"/api\") when the endpoint starts with \"/\".\n */\n function joinUrl(endpoint: string): string {\n return `${baseUrl}${endpoint}`;\n }\n\n /**\n * Build URL with query parameters for GET requests\n * Compatible with fluid-admin's query param handling\n */\n function buildUrl(\n endpoint: string,\n params?: Record<string, unknown>,\n ): string {\n const fullUrl = joinUrl(endpoint);\n\n if (!params || Object.keys(params).length === 0) {\n return fullUrl;\n }\n\n const queryString = new URLSearchParams();\n\n Object.entries(params).forEach(([key, value]) => {\n if (value === undefined || value === null) {\n return; // Skip undefined/null values\n }\n\n if (Array.isArray(value)) {\n // Handle arrays like Rails expects: key[]\n value.forEach((item) => queryString.append(`${key}[]`, String(item)));\n } else if (typeof value === \"object\") {\n // Handle nested objects: key[subkey]\n Object.entries(value).forEach(([subKey, subValue]) => {\n if (subValue === undefined || subValue === null) {\n return;\n }\n\n if (Array.isArray(subValue)) {\n subValue.forEach((item) =>\n queryString.append(`${key}[${subKey}][]`, String(item)),\n );\n } else {\n queryString.append(`${key}[${subKey}]`, String(subValue));\n }\n });\n } else {\n queryString.append(key, String(value));\n }\n });\n\n const qs = queryString.toString();\n return qs ? `${fullUrl}?${qs}` : fullUrl;\n }\n\n /**\n * Shared response handler for both JSON and FormData requests.\n * Handles auth errors, non-OK responses, 204 No Content, and JSON parsing.\n */\n async function handleResponse<TResponse>(\n response: Response,\n method: string,\n _url: string,\n ): Promise<TResponse> {\n const headerRequestId = getRequestIdFromHeaders(response.headers);\n\n if (response.status === 401 && onAuthError) {\n onAuthError();\n }\n\n if (!response.ok) {\n // Read body as text first to avoid SyntaxError from response.json()\n // when server returns non-JSON bodies with application/json content-type.\n const errorText = await response.text().catch(() => \"\");\n const contentType = response.headers.get(\"content-type\");\n\n if (contentType?.includes(\"application/json\")) {\n let data: Record<string, unknown>;\n try {\n data = JSON.parse(errorText);\n } catch {\n throw new ApiError(\n errorText.slice(0, 200) ||\n `${method} request failed with status ${response.status}`,\n response.status,\n null,\n headerRequestId,\n );\n }\n // Some Rails BFF endpoints return `{ error: { message, details } }`\n // instead of `{ message }` or `{ error_message }`. Fall through to\n // that shape last so callers always surface the real reason.\n const nestedError =\n typeof data.error === \"object\" && data.error !== null\n ? (data.error as { message?: unknown }).message\n : undefined;\n const msg =\n (data.message as string | undefined) ||\n (data.error_message as string | undefined) ||\n (typeof nestedError === \"string\" ? nestedError : undefined);\n throw new ApiError(\n msg || `${method} request failed`,\n response.status,\n data.errors || data,\n headerRequestId ?? getRequestIdFromJsonBody(data),\n );\n } else {\n throw new ApiError(\n `${method} request failed with status ${response.status}`,\n response.status,\n null,\n headerRequestId,\n );\n }\n }\n\n if (\n response.status === 204 ||\n response.headers.get(\"content-length\") === \"0\"\n ) {\n return null as TResponse;\n }\n\n const contentType = response.headers.get(\"content-type\");\n\n if (contentType?.includes(\"application/json\")) {\n const responseText = await response.text();\n\n try {\n const data = JSON.parse(responseText);\n return data as TResponse;\n } catch {\n if (throwOnInvalidJson) {\n throw new ApiError(\n \"Failed to parse response as JSON\",\n response.status,\n null,\n headerRequestId,\n );\n }\n\n // API declared JSON content-type but body isn't valid JSON.\n // Return the raw payload to preserve the legacy non-strict path.\n return responseText ? (responseText as TResponse) : (null as TResponse);\n }\n }\n\n // Non-JSON response (text/plain, text/html, etc.)\n return null as TResponse;\n }\n\n function getNetworkRetryDelayMs(retryAttempt: number): number {\n return baseNetworkRetryDelayMs * 2 ** (retryAttempt - 1);\n }\n\n async function waitForNetworkRetry(retryAttempt: number): Promise<void> {\n const delayMs = getNetworkRetryDelayMs(retryAttempt);\n if (delayMs <= 0) {\n return;\n }\n\n await new Promise((resolve) => setTimeout(resolve, delayMs));\n }\n\n async function fetchWithNetworkRetry(\n url: string,\n fetchOptions: RequestInit,\n signal?: AbortSignal,\n ): Promise<Response> {\n let retryCount = 0;\n\n while (true) {\n try {\n return await fetch(url, fetchOptions);\n } catch (networkError) {\n if (signal?.aborted || retryCount >= maxNetworkRetries) {\n throw networkError;\n }\n\n retryCount += 1;\n await waitForNetworkRetry(retryCount);\n\n if (signal?.aborted) {\n throw networkError;\n }\n }\n }\n }\n\n /**\n * Main request function\n */\n async function request<TResponse = unknown>(\n endpoint: string,\n options: RequestOptions = {},\n ): Promise<TResponse> {\n const {\n method = \"GET\",\n headers: customHeaders,\n params,\n body,\n signal,\n priority,\n } = options;\n\n const url = params ? buildUrl(endpoint, params) : joinUrl(endpoint);\n\n const headers = await buildHeaders(customHeaders);\n\n let response: Response;\n\n try {\n const fetchOptions: RequestInit = { method, headers };\n if (credentials) fetchOptions.credentials = credentials;\n if (cache) fetchOptions.cache = cache;\n if (priority) fetchOptions.priority = priority;\n const serializedBody =\n body && method !== \"GET\" ? JSON.stringify(body) : null;\n if (serializedBody) fetchOptions.body = serializedBody;\n if (signal) fetchOptions.signal = signal;\n response = await fetchWithNetworkRetry(url, fetchOptions, signal);\n } catch (networkError) {\n throw new ApiError(\n `Network error: ${networkError instanceof Error ? networkError.message : \"Unknown network error\"}`,\n 0,\n null,\n );\n }\n\n return handleResponse<TResponse>(response, method, url);\n }\n\n /**\n * Request with FormData (for file uploads)\n */\n async function requestWithFormData<TResponse = unknown>(\n endpoint: string,\n formData: FormData,\n options: Omit<RequestOptions, \"body\" | \"params\"> & {\n method?: \"POST\" | \"PUT\" | \"PATCH\";\n } = {},\n ): Promise<TResponse> {\n const {\n method = \"POST\",\n headers: customHeaders,\n signal,\n priority,\n } = options;\n\n const url = joinUrl(endpoint);\n const headers = await buildHeaders(customHeaders);\n\n // Remove Content-Type to let browser set it with boundary\n delete headers[\"Content-Type\"];\n\n let response: Response;\n\n try {\n const fetchOptions: RequestInit = { method, headers, body: formData };\n if (credentials) fetchOptions.credentials = credentials;\n if (cache) fetchOptions.cache = cache;\n if (priority) fetchOptions.priority = priority;\n if (signal) fetchOptions.signal = signal;\n response = await fetchWithNetworkRetry(url, fetchOptions, signal);\n } catch (networkError) {\n throw new ApiError(\n `Network error: ${networkError instanceof Error ? networkError.message : \"Unknown network error\"}`,\n 0,\n null,\n );\n }\n\n return handleResponse<TResponse>(response, method, url);\n }\n\n // Return client with convenience methods\n return {\n request: request,\n requestWithFormData: requestWithFormData,\n\n // Convenience methods for common HTTP verbs\n get: <TResponse = unknown>(\n endpoint: string,\n params?: Record<string, unknown>,\n options?: Omit<RequestOptions, \"method\" | \"params\">,\n ): Promise<TResponse> =>\n request<TResponse>(endpoint, {\n ...options,\n method: \"GET\" as const,\n ...(params && { params }),\n }),\n\n post: <TResponse = unknown>(\n endpoint: string,\n body?: unknown,\n options?: Omit<RequestOptions, \"method\" | \"body\">,\n ): Promise<TResponse> =>\n request<TResponse>(endpoint, {\n ...options,\n method: \"POST\",\n body,\n }),\n\n put: <TResponse = unknown>(\n endpoint: string,\n body?: unknown,\n options?: Omit<RequestOptions, \"method\" | \"body\">,\n ): Promise<TResponse> =>\n request<TResponse>(endpoint, {\n ...options,\n method: \"PUT\",\n body,\n }),\n\n patch: <TResponse = unknown>(\n endpoint: string,\n body?: unknown,\n options?: Omit<RequestOptions, \"method\" | \"body\">,\n ): Promise<TResponse> =>\n request<TResponse>(endpoint, {\n ...options,\n method: \"PATCH\",\n body,\n }),\n\n delete: <TResponse = unknown>(\n endpoint: string,\n options?: Omit<RequestOptions, \"method\">,\n ): Promise<TResponse> =>\n request<TResponse>(endpoint, {\n ...options,\n method: \"DELETE\",\n }),\n };\n}\n\nexport type FetchClient = FetchClientInstance;\n","import type { DataSourceApi } from \"@fluid-app/portal-core/data-source-api\";\nimport type {\n DataSourceShareableType,\n NormalizedOrder,\n NormalizedSubscription,\n RepContentOptions,\n ShareableResource,\n} from \"@fluid-app/portal-core/data-source-api-types\";\nimport type { FetchClient } from \"@fluid-app/portal-tenant-api-client\";\nimport { portalTenant } from \"@fluid-app/portal-tenant-api-client\";\nimport type { FetchClient as ContentFetchClient } from \"@fluid-app/portal-tenant-content-api-client\";\nimport { portalTenantContent } from \"@fluid-app/portal-tenant-content-api-client\";\n\n/**\n * Throws an AbortError if the signal is already aborted. Used as a manual\n * guard around the generated client calls since they don't yet accept\n * RequestOptions.signal — this at least short-circuits before and after\n * the network call so stale results don't overwrite fresh ones.\n */\nfunction throwIfAborted(signal?: AbortSignal): void {\n if (signal?.aborted) {\n throw new DOMException(\"Aborted\", \"AbortError\");\n }\n}\n\nfunction bffNotSupported(op: string): never {\n throw new Error(\n `[portal-tenant-adapter] \"${op}\" is not available on the portal-tenant BFF. ` +\n `Wire the legacy adapter for this feature, or re-add the endpoint to the BFF spec.`,\n );\n}\n\ntype MetricsPeriod = \"7d\" | \"30d\" | \"90d\" | \"1y\" | \"all\";\n\nfunction isProduction(): boolean {\n const g = globalThis as { process?: { env?: { NODE_ENV?: string } } };\n return g.process?.env?.NODE_ENV === \"production\";\n}\n\nfunction narrowPeriod(value: string | undefined): MetricsPeriod | undefined {\n if (\n value === \"7d\" ||\n value === \"30d\" ||\n value === \"90d\" ||\n value === \"1y\" ||\n value === \"all\"\n ) {\n return value;\n }\n if (value !== undefined && !isProduction()) {\n console.warn(`[portal-sdk] narrowPeriod: unknown value \"${value}\" dropped`);\n }\n return undefined;\n}\n\ntype MetricsQuery = {\n period?: MetricsPeriod;\n limit?: number;\n language_iso?: string;\n};\n\n// Maps the data-source shareable type (plural slug used in URLs) to the\n// canonical Rails discriminator stamped on each resource. Consumers that\n// route on `shareable_type` (e.g. AppShell.handleWidgetItemClick) need this\n// to be set since the share/visits BFF endpoints don't include it.\nconst SHAREABLE_TYPE_DISCRIMINATOR: Record<DataSourceShareableType, string> = {\n products: \"Product\",\n media: \"Medium\",\n libraries: \"Playlist\",\n pages: \"Page\",\n enrollment_packs: \"EnrollmentPack\",\n promotions: \"Promotion\",\n};\n\nfunction withShareableType<R extends { id?: number | string | null }>(\n resources: readonly R[] | null | undefined,\n type: DataSourceShareableType,\n): ShareableResource[] {\n const discriminator = SHAREABLE_TYPE_DISCRIMINATOR[type];\n return (resources ?? []).map(\n (r) =>\n ({\n ...r,\n id: r.id ?? 0,\n shareable_type: discriminator,\n }) satisfies ShareableResource,\n );\n}\n\nasync function fetchShareVisited(\n shareableType: DataSourceShareableType,\n client: FetchClient,\n contentClient: ContentFetchClient,\n query: MetricsQuery,\n): Promise<ShareableResource[]> {\n switch (shareableType) {\n case \"products\": {\n const { language_iso: _languageIso, ...nonLocalizedQuery } = query;\n const response = await portalTenant.product_by_shares(\n client,\n nonLocalizedQuery,\n );\n return withShareableType(response.resources, shareableType);\n }\n case \"media\": {\n const response = await portalTenantContent.content_media_by_shares(\n contentClient,\n query,\n );\n return withShareableType(response.resources, shareableType);\n }\n case \"libraries\": {\n const { language_iso: _languageIso, ...nonLocalizedQuery } = query;\n const response = await portalTenantContent.content_playlists_by_shares(\n contentClient,\n nonLocalizedQuery,\n );\n return withShareableType(response.resources, shareableType);\n }\n case \"pages\": {\n const response = await portalTenantContent.content_pages_by_shares(\n contentClient,\n query,\n );\n return withShareableType(response.resources, shareableType);\n }\n case \"enrollment_packs\": {\n const { language_iso: _languageIso, ...nonLocalizedQuery } = query;\n const response = await portalTenant.enrollment_pack_by_shares(\n client,\n nonLocalizedQuery,\n );\n return withShareableType(response.resources, shareableType);\n }\n case \"promotions\":\n bffNotSupported(`fetchMostShared(${shareableType})`);\n }\n}\n\nasync function fetchVisited(\n shareableType: DataSourceShareableType,\n client: FetchClient,\n contentClient: ContentFetchClient,\n query: MetricsQuery,\n): Promise<ShareableResource[]> {\n switch (shareableType) {\n case \"products\": {\n const { language_iso: _languageIso, ...nonLocalizedQuery } = query;\n const response = await portalTenant.product_by_visits(\n client,\n nonLocalizedQuery,\n );\n return withShareableType(response.resources, shareableType);\n }\n case \"media\": {\n const response = await portalTenantContent.content_media_by_visits(\n contentClient,\n query,\n );\n return withShareableType(response.resources, shareableType);\n }\n case \"libraries\": {\n const { language_iso: _languageIso, ...nonLocalizedQuery } = query;\n const response = await portalTenantContent.content_playlists_by_visits(\n contentClient,\n nonLocalizedQuery,\n );\n return withShareableType(response.resources, shareableType);\n }\n case \"pages\": {\n const response = await portalTenantContent.content_pages_by_visits(\n contentClient,\n query,\n );\n return withShareableType(response.resources, shareableType);\n }\n case \"enrollment_packs\": {\n const { language_iso: _languageIso, ...nonLocalizedQuery } = query;\n const response = await portalTenant.enrollment_pack_by_visits(\n client,\n nonLocalizedQuery,\n );\n return withShareableType(response.resources, shareableType);\n }\n case \"promotions\":\n bffNotSupported(`fetchMostViewed(${shareableType})`);\n }\n}\n\nfunction toMetricsQuery(options: RepContentOptions): MetricsQuery {\n const query: MetricsQuery = {};\n const period = narrowPeriod(options.period);\n if (period) query.period = period;\n if (options.limit != null) query.limit = options.limit;\n if (options.languageIso) query.language_iso = options.languageIso;\n return query;\n}\n\ntype RawOrder = NonNullable<\n Awaited<ReturnType<typeof portalTenant.orders_list>>[\"orders\"]\n>[number];\n\n/**\n * Map a BFF order response to the port's NormalizedOrder shape.\n * Centralizes the boundary between BFF wire format and our canonical type\n * so schema drift surfaces at compile time rather than producing silent\n * `undefined`s in the consumer transformer.\n *\n * Field mapping: BFF `id` → `order_number` (numeric identifier displayed in\n * lists, matches portal-builder behaviour), `total` → `amount`/`total_display_amount`,\n * `line_items[0]` → `first_item` (first product, including its image_url).\n */\nfunction toNormalizedOrder(raw: RawOrder): NormalizedOrder {\n const firstLineItem = raw.line_items?.[0];\n return {\n id: raw.id ?? 0,\n order_number: raw.id != null ? String(raw.id) : undefined,\n amount: raw.total ?? undefined,\n total_display_amount: raw.total ?? undefined,\n status: raw.status ?? undefined,\n created_at: raw.created_at ?? undefined,\n first_item: firstLineItem\n ? {\n title: firstLineItem.product_name ?? undefined,\n image_url: firstLineItem.image_url ?? undefined,\n }\n : undefined,\n token: raw.token ?? undefined,\n };\n}\n\ntype RawSubscription = NonNullable<\n Awaited<ReturnType<typeof portalTenant.subscriptions_list>>[\"subscriptions\"]\n>[number];\n\n/**\n * Map a BFF subscription response to the port's NormalizedSubscription shape.\n * Field name mapping: BFF `token` → `subscription_token`, `total` → `price`,\n * `next_billing_date` → `next_bill_date`, top-level `product` → `variant.product`.\n */\nfunction toNormalizedSubscription(\n raw: RawSubscription,\n): NormalizedSubscription {\n const product = raw.product ?? undefined;\n return {\n id: raw.id ?? 0,\n subscription_token: raw.token ?? undefined,\n price: raw.total ?? undefined,\n status: raw.status ?? undefined,\n next_bill_date: raw.next_billing_date ?? undefined,\n variant: product\n ? {\n product: {\n title: product.name ?? undefined,\n image_url: product.image_url ?? undefined,\n price_in_currency: raw.original_price ?? undefined,\n },\n }\n : undefined,\n };\n}\n\n/**\n * Creates a DataSourceApi adapter backed by portal-tenant BFF clients.\n * Uses cookie-based auth (credentials: \"include\") — no explicit auth headers.\n */\nexport function createDataSourceApiAdapter(\n client: FetchClient,\n contentClient: ContentFetchClient,\n): DataSourceApi {\n return {\n async fetchMostShared(_repId, options) {\n throwIfAborted(options.signal);\n const query = toMetricsQuery(options);\n const result = await fetchShareVisited(\n options.shareableType,\n client,\n contentClient,\n query,\n );\n throwIfAborted(options.signal);\n return result;\n },\n\n async fetchMostViewed(_repId, options) {\n throwIfAborted(options.signal);\n const query = toMetricsQuery(options);\n const result = await fetchVisited(\n options.shareableType,\n client,\n contentClient,\n query,\n );\n throwIfAborted(options.signal);\n return result;\n },\n\n async fetchOrders(_customerId, options) {\n throwIfAborted(options?.signal);\n const params: Record<string, unknown> = {};\n if (options?.limit != null) params[\"page[limit]\"] = options.limit;\n if (options?.status && options.status !== \"all\")\n params.status = options.status;\n\n const response = await portalTenant.orders_list(client, params);\n throwIfAborted(options?.signal);\n return (response.orders ?? []).map(toNormalizedOrder);\n },\n\n async fetchSubscriptions(_customerId, options) {\n throwIfAborted(options?.signal);\n const params: Record<string, unknown> = {};\n if (options?.limit != null) params[\"page[limit]\"] = options.limit;\n if (options?.status && options.status !== \"all\")\n params.status = options.status;\n\n const response = await portalTenant.subscriptions_list(client, params);\n throwIfAborted(options?.signal);\n return (response.subscriptions ?? []).map(toNormalizedSubscription);\n },\n\n // TODO: forward `signal` once the generated portal-tenant client functions\n // accept RequestOptions. Until then, guard manually before and after the\n // network call so aborted queries don't render stale data.\n async fetchResource(type, id, signal, languageIso) {\n throwIfAborted(signal);\n switch (type) {\n case \"Product\": {\n const response = await portalTenant.products_show(client, id);\n throwIfAborted(signal);\n const product = response.product;\n if (!product) throw new Error(`Product ${id} not found`);\n return {\n ...product,\n id: product.id ?? 0,\n shareable_type: \"Product\",\n } satisfies ShareableResource;\n }\n case \"Medium\": {\n const response = await portalTenantContent.media_show(\n contentClient,\n id,\n languageIso ? { language_iso: languageIso } : undefined,\n );\n throwIfAborted(signal);\n const media = response.media;\n if (!media) throw new Error(`Medium ${id} not found`);\n return {\n ...media,\n id: media.id ?? 0,\n shareable_type: \"Medium\",\n } satisfies ShareableResource;\n }\n case \"EnrollmentPack\": {\n const response = await portalTenant.enrollment_packs_show(client, id);\n throwIfAborted(signal);\n const pack = response.enrollment_pack;\n if (!pack) throw new Error(`EnrollmentPack ${id} not found`);\n return {\n ...pack,\n id: pack.id ?? 0,\n shareable_type: \"EnrollmentPack\",\n } satisfies ShareableResource;\n }\n case \"Page\": {\n const response = await portalTenantContent.pages_show(\n contentClient,\n id,\n languageIso ? { language_iso: languageIso } : undefined,\n );\n throwIfAborted(signal);\n const page = response.page;\n if (!page) throw new Error(`Page ${id} not found`);\n return {\n ...page,\n id: page.id ?? 0,\n shareable_type: \"Page\",\n } satisfies ShareableResource;\n }\n case \"Library\": {\n // Libraries are served by the playlists endpoint on the BFF\n const response = await portalTenantContent.playlists_show(\n contentClient,\n id,\n );\n throwIfAborted(signal);\n const playlist = response.playlist;\n if (!playlist) throw new Error(`Library ${id} not found`);\n return {\n ...playlist,\n id: playlist.id ?? 0,\n shareable_type: \"Library\",\n } satisfies ShareableResource;\n }\n default:\n throw new Error(`Unknown resource type: ${type}`);\n }\n },\n\n // TODO: forward `signal` once the generated portal-tenant client functions\n // accept RequestOptions. filterId validation is centralized in\n // staticFetcher so the legacy and BFF adapters behave identically.\n async fetchProductsByFilter(filterType, filterId, signal) {\n throwIfAborted(signal);\n if (filterType === \"tags\") {\n throw new Error(\"Tags data source is not yet supported.\");\n }\n\n const params: Record<string, unknown> =\n filterType === \"collections\"\n ? { collection_id: Number(filterId) }\n : { category_id: Number(filterId) };\n\n const response = await portalTenant.products_list(client, params);\n throwIfAborted(signal);\n return withShareableType(response.products, \"products\");\n },\n };\n}\n","import type { AppDefinitionApi } from \"@fluid-app/portal-core/app-definition-api\";\nimport type {\n AppDefinitionResponse,\n AppManifest,\n AppManifestResponse,\n} from \"@fluid-app/portal-core/app-definition-types\";\nimport type { FetchClient } from \"@fluid-app/portal-tenant-api-client\";\nimport { portalTenant } from \"@fluid-app/portal-tenant-api-client\";\n\n/**\n * Creates an AppDefinitionApi adapter backed by the portal-tenant BFF client.\n *\n * Maps the generated `app_manifest_show` response to the `AppDefinitionApi`\n * port, applying runtime defaults for optional BFF fields so TypeScript\n * catches schema drift at compile time via `satisfies`.\n */\nexport function createAppDefinitionApiAdapter(\n client: FetchClient,\n): AppDefinitionApi {\n async function fetchManifest(): Promise<AppManifestResponse> {\n const response = await portalTenant.app_manifest_show(client);\n return {\n manifest: response.manifest,\n meta: {\n request_id: response.meta?.request_id ?? \"\",\n timestamp: response.meta?.timestamp ?? \"\",\n },\n } satisfies AppManifestResponse;\n }\n\n return {\n fetchManifest,\n fetchDefinition: async () => {\n const { manifest, meta } = await fetchManifest();\n return {\n definition: mapManifestToDefinition(manifest),\n meta,\n } satisfies AppDefinitionResponse;\n },\n };\n}\n\n/**\n * Synthesize the legacy `{ definition }` shape from the new manifest\n * response. Retained only so deprecated callers keep building.\n */\nfunction mapManifestToDefinition(\n manifest: AppManifest,\n): AppDefinitionResponse[\"definition\"] {\n return {\n id: manifest.definition_id ?? 0,\n name: manifest.name ?? \"\",\n version: manifest.published_version?.toString() ?? null,\n components: [],\n active: true,\n };\n}\n","import type { AccountApi } from \"@fluid-app/portal-core/account-api\";\nimport type {\n AccountMemberType,\n AccountRep,\n AccountResponse,\n UpdateAccountBody,\n} from \"@fluid-app/portal-core/account-types\";\nimport type { FetchClient } from \"@fluid-app/portal-tenant-api-client\";\nimport { portalTenant } from \"@fluid-app/portal-tenant-api-client\";\n\nfunction mapAccount(\n raw: Partial<\n NonNullable<\n Awaited<ReturnType<typeof portalTenant.account_show>>[\"account\"]\n >\n >,\n): AccountRep {\n return {\n id: raw.id ?? 0,\n member_type: (raw.member_type ?? \"rep\") satisfies AccountMemberType,\n first_name: raw.first_name ?? \"\",\n last_name: raw.last_name ?? \"\",\n email: raw.email ?? \"\",\n phone: raw.phone ?? null,\n bio: raw.bio ?? null,\n avatar_url: raw.avatar_url ?? null,\n slug: raw.slug ?? \"\",\n public_id: raw.public_id ?? \"\",\n social_links: (raw.social_links ?? null) as Record<string, string> | null,\n recipient_id: raw.recipient_id ?? null,\n default_country_iso: raw.default_country_iso ?? null,\n share_guid: raw.share_guid ?? null,\n market_country_iso: raw.market_country_iso ?? null,\n } satisfies AccountRep;\n}\n\nexport function createAccountApiAdapter(client: FetchClient): AccountApi {\n return {\n fetchAccount: async () => {\n const response = await portalTenant.account_show(client);\n return {\n account: mapAccount(response.account ?? {}),\n meta: {\n request_id: response.meta?.request_id ?? \"\",\n timestamp: response.meta?.timestamp ?? \"\",\n },\n } satisfies AccountResponse;\n },\n\n updateAccount: async (body: UpdateAccountBody) => {\n const response = await portalTenant.account_update(client, body);\n return {\n account: mapAccount(response.account ?? {}),\n meta: {\n request_id: response.meta?.request_id ?? \"\",\n timestamp: response.meta?.timestamp ?? \"\",\n },\n } satisfies AccountResponse;\n },\n };\n}\n","import type { StoreApi } from \"@fluid-app/portal-core/store-api\";\nimport type { Store, StoreResponse } from \"@fluid-app/portal-core/store-types\";\nimport type { FetchClient } from \"@fluid-app/portal-tenant-api-client\";\nimport { portalTenant } from \"@fluid-app/portal-tenant-api-client\";\n\nfunction mapStore(\n raw: Partial<\n NonNullable<Awaited<ReturnType<typeof portalTenant.store_show>>[\"store\"]>\n >,\n): Store {\n return {\n id: raw.id ?? 0,\n name: raw.name ?? \"\",\n subdomain: raw.subdomain ?? \"\",\n logo_url: raw.logo_url ?? null,\n icon_url: raw.icon_url ?? null,\n appstore_url: raw.appstore_url ?? null,\n playstore_url: raw.playstore_url ?? null,\n // Fail safe: older BFF responses without the field hide the bundle UI\n // rather than expose a feature the tenant hasn't enabled.\n bundle_subscriptions_enabled: raw.bundle_subscriptions_enabled ?? false,\n // Per-company reward-points label. BFF defaults these to \"point\"/\"points\";\n // fall back to the same defaults for older responses lacking the fields.\n reward_points_label_singular: raw.reward_points_label_singular ?? \"point\",\n reward_points_label_plural: raw.reward_points_label_plural ?? \"points\",\n } satisfies Store;\n}\n\nexport function createStoreApiAdapter(client: FetchClient): StoreApi {\n return {\n fetchStore: async () => {\n const response = await portalTenant.store_show(client);\n return {\n store: mapStore(response.store ?? {}),\n meta: {\n request_id: response.meta?.request_id ?? \"\",\n timestamp: response.meta?.timestamp ?? \"\",\n },\n } satisfies StoreResponse;\n },\n };\n}\n\n/**\n * Admin/builder store adapter. fluid-admin can't call the portal-tenant BFF\n * `store_show`, but the portal builder still needs the per-company reward-points\n * label so the PointsWidget renders the configured brand label instead of the\n * platform default. The points label is the ONLY store field any\n * builder-rendered widget reads (`useOptionalStore` has a single consumer,\n * `use-points-label.ts`), so the remaining fields are inert placeholders.\n */\nexport function createLegacyStoreApiAdapter(pointsLabel: {\n singular: string;\n plural: string;\n}): StoreApi {\n return {\n fetchStore: async () =>\n ({\n store: {\n id: 0,\n name: \"\",\n subdomain: \"\",\n logo_url: null,\n icon_url: null,\n appstore_url: null,\n playstore_url: null,\n bundle_subscriptions_enabled: false,\n reward_points_label_singular: pointsLabel.singular,\n reward_points_label_plural: pointsLabel.plural,\n },\n meta: { request_id: \"\", timestamp: \"\" },\n }) satisfies StoreResponse,\n };\n}\n","/**\n * Generated API client functions for portal_tenant_pay\n *\n * DO NOT EDIT THIS FILE DIRECTLY\n * This file is auto-generated. To update:\n * 1. Update the OpenAPI spec file\n * 2. Run: pnpm generate\n */\n\nimport type { FetchClient } from \"../lib/fetch-client\";\nimport type { operations } from \"../generated/portal-tenant-pay\";\n\n// ============================================================================\n// addresses\n// ============================================================================\n\n/**\n * List addresses\n * Returns addresses associated with the member's customer record in this tenant.\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function addresses_list(\n client: FetchClient,\n params?: operations[\"addresses_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"addresses_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/pay/addresses`, params);\n}\n\n/**\n * Create an address\n * Adds a new address to the member's customer record. If an identical address already exists it is returned instead of creating a duplicate.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function addresses_create(\n client: FetchClient,\n body: operations[\"addresses_create\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"addresses_create\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/pay/addresses`, body);\n}\n\n/**\n * Update an address\n * Creates a new address with the merged attributes and discards the old one, preserving references from existing orders.\n *\n * @param client - Fetch client instance\n * @param id - id\n * @param body - body\n */\nexport async function addresses_update(\n client: FetchClient,\n id: string | number,\n body: operations[\"addresses_update\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"addresses_update\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.patch(`/api/pay/addresses/${id}`, body);\n}\n\n/**\n * Delete an address\n * Removes an address from the member's customer record. The default address cannot be removed.\n *\n * @param client - Fetch client instance\n * @param id - id\n */\nexport async function addresses_destroy(\n client: FetchClient,\n id: string | number,\n): Promise<\n operations[\"addresses_destroy\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.delete(`/api/pay/addresses/${id}`);\n}\n\n// ============================================================================\n// payment-methods\n// ============================================================================\n\n/**\n * List payment methods\n * Returns displayable payment methods on the member's customer record, excluding Apple Pay sources.\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function payment_methods_list(\n client: FetchClient,\n params?: operations[\"payment_methods_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"payment_methods_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/pay/payment_methods`, params);\n}\n\n/**\n * Create a payment method\n * Tokenizes and stores a new payment method via the vault provider. Requires a vault token obtained from the vault credentials endpoint, and a billing_address_id referencing an existing address owned by the customer (create one via POST /api/pay/addresses first).\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function payment_methods_create(\n client: FetchClient,\n body: operations[\"payment_methods_create\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"payment_methods_create\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/pay/payment_methods`, body);\n}\n\n/**\n * Confirm a 3DS card-add session\n * Redeems a 3DS card-add session created by POST /api/pay/payment_methods. Returns the stored payment method when authentication is approved, or a challenge form/URL when the issuer requires a step-up challenge.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function payment_methods_three_ds_confirm(\n client: FetchClient,\n body: operations[\"payment_methods_three_ds_confirm\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"payment_methods_three_ds_confirm\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/pay/payment_methods/three_ds_confirm`, body);\n}\n\n/**\n * Poll a 3DS card-add session's status\n * Reads the current state of a 3DS card-add session. The polling fallback the frontend uses when the Pusher completion signal is missed.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function payment_methods_three_ds_status(\n client: FetchClient,\n body: operations[\"payment_methods_three_ds_status\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"payment_methods_three_ds_status\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/pay/payment_methods/three_ds_status`, body);\n}\n\n/**\n * Cancel a 3DS card-add session\n * Cancels an in-flight 3DS card-add session, used when the member closes the challenge modal without completing authentication.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function payment_methods_three_ds_cancel(\n client: FetchClient,\n body: operations[\"payment_methods_three_ds_cancel\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"payment_methods_three_ds_cancel\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/pay/payment_methods/three_ds_cancel`, body);\n}\n\n/**\n * Authorize a 3DS session Pusher channel\n * Authorizes the authenticated member's pusher-js client onto a cartless 3DS session channel (private-3ds-session-*). Cart channels are never authorizable here and return 401.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function pusher_auth_create(\n client: FetchClient,\n body: operations[\"pusher_auth_create\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"pusher_auth_create\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/pay/pusher/auth`, body);\n}\n\n/**\n * Update a payment method\n * Updates a payment method's attributes. Supports setting as default and replacing the card's billing address.\n *\n * @param client - Fetch client instance\n * @param id - id\n * @param body - body\n */\nexport async function payment_methods_update(\n client: FetchClient,\n id: string | number,\n body: operations[\"payment_methods_update\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"payment_methods_update\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.patch(`/api/pay/payment_methods/${id}`, body);\n}\n\n/**\n * Delete a payment method\n * Removes a payment method from the member's customer record. If the removed method was the default, the default is cleared.\n *\n * @param client - Fetch client instance\n * @param id - id\n */\nexport async function payment_methods_destroy(\n client: FetchClient,\n id: string | number,\n): Promise<\n operations[\"payment_methods_destroy\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.delete(`/api/pay/payment_methods/${id}`);\n}\n\n/**\n * Get vault credentials\n * Returns a short-lived vault token and environment identifier for initializing the client-side payment vault SDK.\n *\n * @param client - Fetch client instance\n \n */\nexport async function payment_methods_vault_show(\n client: FetchClient,\n): Promise<\n operations[\"payment_methods_vault_show\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/pay/payment_methods/vault`);\n}\n\n// ============================================================================\n// points-ledgers\n// ============================================================================\n\n/**\n * List points ledger entries\n * Returns loyalty points ledger entries for the member's customer record in this tenant, ordered by most recent first. Returns 403 if the company does not have reward points enabled.\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function points_ledgers_list(\n client: FetchClient,\n params?: operations[\"points_ledgers_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"points_ledgers_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/pay/points_ledgers`, params);\n}\n","import type { PayApi } from \"@fluid-app/portal-core/pay-api\";\nimport type {\n PayAddress,\n PayPaymentMethod,\n CreateAddressBody,\n CreatePaymentMethodBody,\n ThreeDsRequiredCreateResult,\n CreatedPaymentMethodResult,\n ConfirmPaymentMethod3DSResponse,\n ThreeDsStatusResponse,\n ThreeDsCancelResponse,\n UpdatePaymentMethodBody,\n VaultResponse,\n PointsLedgersResponse,\n} from \"@fluid-app/portal-core/pay-types\";\nimport type { FetchClient } from \"@fluid-app/portal-tenant-api-client\";\nimport { portalTenantPay } from \"@fluid-app/portal-tenant-pay-api-client\";\n\n// ---------------------------------------------------------------------------\n// BFF response type helpers\n// ---------------------------------------------------------------------------\n\ntype BffAddress = NonNullable<\n Awaited<ReturnType<typeof portalTenantPay.addresses_list>>[\"addresses\"]\n>[number];\n\ntype BffPaymentMethod = NonNullable<\n Awaited<\n ReturnType<typeof portalTenantPay.payment_methods_list>\n >[\"payment_methods\"]\n>[number];\n\n// ---------------------------------------------------------------------------\n// BFF → port type mappers\n// ---------------------------------------------------------------------------\n\nfunction mapAddress(raw: BffAddress): PayAddress {\n return {\n id: raw.id ?? 0,\n name: raw.name ?? null,\n street1: raw.street1 ?? \"\",\n street2: raw.street2 ?? null,\n city: raw.city ?? \"\",\n state: raw.state ?? \"\",\n zip: raw.zip ?? \"\",\n country: raw.country ?? \"\",\n phone: raw.phone ?? null,\n default: raw.default ?? false,\n created_at: raw.created_at ?? null,\n updated_at: raw.updated_at ?? null,\n };\n}\n\nfunction mapBillingAddress(\n raw: NonNullable<BffPaymentMethod[\"billing_address\"]>,\n): PayAddress {\n const extended = raw as typeof raw & {\n id?: number;\n created_at?: string;\n updated_at?: string;\n };\n return {\n id: extended.id ?? 0,\n name: raw.name ?? null,\n street1: raw.street1 ?? \"\",\n street2: raw.street2 ?? null,\n city: raw.city ?? \"\",\n state: raw.state ?? \"\",\n zip: raw.zip ?? \"\",\n country: raw.country ?? \"\",\n default: false,\n created_at: extended.created_at ?? null,\n updated_at: extended.updated_at ?? null,\n };\n}\n\nfunction mapPaymentMethod(raw: BffPaymentMethod): PayPaymentMethod {\n return {\n id: raw.id ?? 0,\n type: raw.type ?? \"card\",\n brand: raw.brand ?? null,\n last_four: raw.last_four ?? \"\",\n logo_url: raw.logo_url ?? null,\n exp_month: raw.exp_month ?? null,\n exp_year: raw.exp_year ?? null,\n card_holder: raw.card_holder ?? null,\n default: raw.default ?? false,\n billing_address: raw.billing_address\n ? mapBillingAddress(raw.billing_address)\n : null,\n created_at: raw.created_at ?? null,\n updated_at: raw.updated_at ?? null,\n };\n}\n\n// ---------------------------------------------------------------------------\n// Adapter factory\n// ---------------------------------------------------------------------------\n\nexport function createPortalTenantPayAdapter(client: FetchClient): PayApi {\n return {\n fetchAddresses: async () => {\n const response = await portalTenantPay.addresses_list(client);\n return {\n addresses: (response.addresses ?? []).map(mapAddress),\n meta: {\n request_id: response.meta?.request_id ?? \"\",\n timestamp: response.meta?.timestamp ?? \"\",\n },\n };\n },\n\n createAddress: async (body: CreateAddressBody) => {\n const response = await portalTenantPay.addresses_create(client, body);\n if (!response.address) {\n throw new Error(\"addresses_create returned no address\");\n }\n return mapAddress(response.address);\n },\n\n updateAddress: async (addressId: number, body: CreateAddressBody) => {\n await portalTenantPay.addresses_update(client, addressId, body);\n },\n\n deleteAddress: async (addressId: number) => {\n await portalTenantPay.addresses_destroy(client, addressId);\n },\n\n fetchPaymentMethods: async () => {\n const response = await portalTenantPay.payment_methods_list(client);\n return {\n payment_methods: (response.payment_methods ?? []).map(mapPaymentMethod),\n meta: {\n request_id: response.meta?.request_id ?? \"\",\n timestamp: response.meta?.timestamp ?? \"\",\n },\n };\n },\n\n createPaymentMethod: async (body: CreatePaymentMethodBody) => {\n // Task-1 finding: the generated client under-types this to the 200\n // (three_ds_required) shape only (openapi-typescript picks the lowest\n // 2xx); at runtime it may be the 201 (created PM) shape. The package\n // exports neither `operations` nor `components`, so widen to a local\n // structural type and narrow at runtime.\n const response = (await portalTenantPay.payment_methods_create(\n client,\n body,\n )) as {\n three_ds?: {\n status?: string;\n session_token?: string;\n tds_method_content?: string | null;\n fingerprinting_required?: boolean | null;\n merchant_tx_id?: string | null;\n };\n payment_method?: Parameters<typeof mapPaymentMethod>[0];\n meta?: { request_id?: string; timestamp?: string };\n };\n\n // 3DS-required carries a `three_ds` object and no payment_method. Detect\n // it BEFORE the no-payment_method guard below.\n if (response.three_ds?.status === \"three_ds_required\") {\n // session_token is required to drive fingerprinting/challenge — a\n // missing one is BFF contract drift, so fail loudly instead of\n // proceeding with an empty token.\n if (!response.three_ds.session_token) {\n throw new Error(\"three_ds_required without a session_token\");\n }\n return {\n three_ds: {\n status: \"three_ds_required\",\n session_token: response.three_ds.session_token,\n tds_method_content: response.three_ds.tds_method_content ?? null,\n fingerprinting_required:\n response.three_ds.fingerprinting_required ?? null,\n merchant_tx_id: response.three_ds.merchant_tx_id ?? null,\n },\n meta: {\n request_id: response.meta?.request_id ?? \"\",\n timestamp: response.meta?.timestamp ?? \"\",\n },\n } satisfies ThreeDsRequiredCreateResult;\n }\n\n if (!response.payment_method) {\n throw new Error(\"payment_methods_create returned no payment_method\");\n }\n return {\n payment_method: mapPaymentMethod(response.payment_method),\n meta: {\n request_id: response.meta?.request_id ?? \"\",\n timestamp: response.meta?.timestamp ?? \"\",\n },\n } satisfies CreatedPaymentMethodResult;\n },\n\n confirmPaymentMethod3DS: async ({ session_token }) => {\n // Task-1 finding: ThreeDsConfirmResponse is a union (approved | challenge)\n // discriminated by an OPTIONAL nested `three_ds.status`, so control-flow\n // narrowing can't reach the approved arm's `payment_method`. Widen to a\n // local structural type covering both arms; the wire `session_token` is\n // nullable, so fall back to the input arg (always present).\n const response = (await portalTenantPay.payment_methods_three_ds_confirm(\n client,\n { session_token },\n )) as {\n three_ds?: {\n status?: string;\n session_token?: string | null;\n was_created?: boolean | null;\n challenge_form?: string | null;\n challenge_url?: string | null;\n };\n payment_method?: Parameters<typeof mapPaymentMethod>[0];\n };\n\n if (response.three_ds?.status === \"approved\") {\n if (!response.payment_method) {\n throw new Error(\"3ds_confirm approved without a payment_method\");\n }\n return {\n status: \"approved\",\n session_token: response.three_ds.session_token ?? session_token,\n payment_method: mapPaymentMethod(response.payment_method),\n was_created: response.three_ds.was_created ?? undefined,\n } satisfies ConfirmPaymentMethod3DSResponse;\n }\n // Anything other than approved/three_ds_challenge is BFF contract drift —\n // fail loudly rather than silently returning an empty challenge result.\n if (response.three_ds?.status !== \"three_ds_challenge\") {\n throw new Error(\n `Unexpected 3ds_confirm status: ${response.three_ds?.status}`,\n );\n }\n return {\n status: \"three_ds_challenge\",\n session_token: response.three_ds.session_token ?? session_token,\n challenge_form: response.three_ds.challenge_form ?? null,\n challenge_url: response.three_ds.challenge_url ?? null,\n } satisfies ConfirmPaymentMethod3DSResponse;\n },\n\n fetchPaymentMethod3DSStatus: async ({ session_token }) => {\n const response = await portalTenantPay.payment_methods_three_ds_status(\n client,\n { session_token },\n );\n return {\n session_token: response.three_ds.session_token,\n state: response.three_ds.state,\n payment_method_id: response.three_ds.payment_method_id ?? null,\n expired: response.three_ds.expired ?? null,\n } satisfies ThreeDsStatusResponse;\n },\n\n cancelPaymentMethod3DS: async ({ session_token }) => {\n const response = await portalTenantPay.payment_methods_three_ds_cancel(\n client,\n { session_token },\n );\n return {\n session_token: response.three_ds.session_token,\n state: response.three_ds.state,\n cancelled: response.three_ds.cancelled ?? null,\n } satisfies ThreeDsCancelResponse;\n },\n\n updatePaymentMethod: async (\n paymentMethodId: number,\n body: UpdatePaymentMethodBody,\n ) => {\n await portalTenantPay.payment_methods_update(\n client,\n paymentMethodId,\n body,\n );\n },\n\n deletePaymentMethod: async (paymentMethodId: number) => {\n await portalTenantPay.payment_methods_destroy(client, paymentMethodId);\n },\n\n fetchVaultCredentials: async () => {\n const response = await portalTenantPay.payment_methods_vault_show(client);\n return {\n vault: {\n vault_id: response.vault?.vault_id ?? \"\",\n environment: response.vault?.environment ?? \"sandbox\",\n route_id: response.vault?.route_id ?? null,\n },\n meta: {\n request_id: response.meta?.request_id ?? \"\",\n timestamp: response.meta?.timestamp ?? \"\",\n },\n } satisfies VaultResponse;\n },\n\n fetchPointsLedgers: async () => {\n const response = await portalTenantPay.points_ledgers_list(client);\n return {\n points_ledgers: (response.points_ledgers ?? []).map((entry) => ({\n id: entry.id ?? 0,\n amount: entry.amount ?? 0,\n total_balance: entry.total_balance ?? 0,\n metadata: (entry.metadata as Record<string, unknown>) ?? null,\n created_at: entry.created_at ?? \"\",\n })),\n meta: {\n request_id: response.meta?.request_id ?? \"\",\n timestamp: response.meta?.timestamp ?? \"\",\n },\n } satisfies PointsLedgersResponse;\n },\n };\n}\n","/**\n * Generated API client functions for portal_tenant_store\n *\n * DO NOT EDIT THIS FILE DIRECTLY\n * This file is auto-generated. To update:\n * 1. Update the OpenAPI spec file\n * 2. Run: pnpm generate\n */\n\nimport type { FetchClient } from \"../lib/fetch-client\";\nimport type { operations } from \"../generated/portal-tenant-store\";\n\n// ============================================================================\n// countries\n// ============================================================================\n\n/**\n * List available countries\n * Returns all active countries, each with its ISO 3166 subdivisions (states/provinces). Per-tenant currency overrides are included where configured.\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function countries_list(\n client: FetchClient,\n params?: operations[\"countries_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"countries_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/store/countries`, params);\n}\n\n// ============================================================================\n// currencies\n// ============================================================================\n\n/**\n * List supported currencies\n * Returns the distinct set of currencies derived from the tenant company's enabled countries, sorted by name.\n *\n * @param client - Fetch client instance\n \n */\nexport async function currencies_list(\n client: FetchClient,\n): Promise<\n operations[\"currencies_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/store/currencies`);\n}\n\n// ============================================================================\n// languages\n// ============================================================================\n\n/**\n * List available languages\n * Returns languages enabled for the tenant store, sorted by name.\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function languages_list(\n client: FetchClient,\n params?: operations[\"languages_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"languages_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/store/languages`, params);\n}\n","import type {\n CountriesApi,\n countries,\n} from \"@fluid-app/store-core/countries-api\";\nimport type { FetchClient } from \"@fluid-app/portal-tenant-api-client\";\nimport { portalTenantStore } from \"@fluid-app/portal-tenant-store-api-client\";\n\n/**\n * Maps a BFF state to the port's State shape.\n */\nfunction mapState(\n raw: NonNullable<\n NonNullable<\n Awaited<ReturnType<typeof portalTenantStore.countries_list>>[\"countries\"]\n >[number][\"states\"]\n >[number],\n): countries.State {\n return {\n code: raw.code ?? \"\",\n name: raw.name ?? \"\",\n };\n}\n\n/**\n * Maps a BFF country to the port's Country shape.\n */\nfunction mapCountry(\n raw: NonNullable<\n Awaited<ReturnType<typeof portalTenantStore.countries_list>>[\"countries\"]\n >[number],\n): countries.Country {\n return {\n code: raw.code ?? \"\",\n name: raw.name ?? \"\",\n currency_code: raw.currency_code ?? \"\",\n states: (raw.states ?? []).map(mapState),\n };\n}\n\n/**\n * Maps the BFF meta envelope to the port's ApiMeta shape.\n */\nfunction mapMeta(\n raw: Awaited<ReturnType<typeof portalTenantStore.countries_list>>[\"meta\"],\n): countries.CountriesListResponse[\"meta\"] {\n return {\n request_id: raw?.request_id ?? null,\n timestamp: raw?.timestamp ?? \"\",\n pagination: raw?.pagination\n ? {\n cursor: raw.pagination.cursor ?? null,\n limit: raw.pagination.limit,\n next_cursor: raw.pagination.next_cursor ?? null,\n prev_cursor: raw.pagination.prev_cursor ?? null,\n }\n : undefined,\n };\n}\n\n/**\n * Creates a CountriesApi adapter backed by the portal-tenant store BFF.\n *\n * Maps the generated portal-tenant-store namespace functions to the abstract\n * CountriesApi port, closing over the FetchClient so consumers don't need\n * to pass it per-call.\n */\nexport function createCountriesApiAdapter(client: FetchClient): CountriesApi {\n return {\n listCountries: async (params) => {\n const response = await portalTenantStore.countries_list(client, {\n \"page[cursor]\": params?.cursor,\n \"page[limit]\": params?.limit,\n language_iso: params?.languageIso,\n });\n return {\n countries: (response.countries ?? []).map(mapCountry),\n meta: mapMeta(response.meta),\n };\n },\n };\n}\n","import type {\n LanguagesApi,\n languages,\n} from \"@fluid-app/store-core/languages-api\";\nimport type { FetchClient } from \"@fluid-app/portal-tenant-api-client\";\nimport { portalTenantStore } from \"@fluid-app/portal-tenant-store-api-client\";\n\n/**\n * Maps a BFF language to the port's Language shape.\n */\nfunction mapLanguage(\n raw: NonNullable<\n Awaited<ReturnType<typeof portalTenantStore.languages_list>>[\"languages\"]\n >[number],\n): languages.Language {\n return {\n code: raw.code ?? \"\",\n name: raw.name ?? \"\",\n };\n}\n\n/**\n * Maps the BFF meta envelope to the port's ApiMeta shape.\n */\nfunction mapMeta(\n raw: Awaited<ReturnType<typeof portalTenantStore.languages_list>>[\"meta\"],\n): languages.LanguagesListResponse[\"meta\"] {\n return {\n request_id: raw?.request_id ?? null,\n timestamp: raw?.timestamp ?? \"\",\n pagination: raw?.pagination\n ? {\n cursor: raw.pagination.cursor ?? null,\n limit: raw.pagination.limit,\n next_cursor: raw.pagination.next_cursor ?? null,\n prev_cursor: raw.pagination.prev_cursor ?? null,\n }\n : undefined,\n };\n}\n\n/**\n * Creates a LanguagesApi adapter backed by the portal-tenant store BFF.\n *\n * Maps the generated portal-tenant-store namespace functions to the abstract\n * LanguagesApi port, closing over the FetchClient so consumers don't need\n * to pass it per-call.\n */\nexport function createLanguagesApiAdapter(client: FetchClient): LanguagesApi {\n return {\n listLanguages: async (params) => {\n const response = await portalTenantStore.languages_list(client, {\n \"page[cursor]\": params?.cursor,\n \"page[limit]\": params?.limit,\n });\n return {\n languages: (response.languages ?? []).map(mapLanguage),\n meta: mapMeta(response.meta),\n };\n },\n };\n}\n","/**\n * Generated API client functions for portal_tenant_mysite\n *\n * DO NOT EDIT THIS FILE DIRECTLY\n * This file is auto-generated. To update:\n * 1. Update the OpenAPI spec file\n * 2. Run: pnpm generate\n */\n\nimport type { FetchClient } from \"../lib/fetch-client\";\nimport type { operations } from \"../generated/portal-tenant-mysite\";\n\n// ============================================================================\n// mysite\n// ============================================================================\n\n/**\n * Get MySite profile for the current user\n * Returns the member's MySite profile.\n *\n * @param client - Fetch client instance\n \n */\nexport async function mysite_profile_show(\n client: FetchClient,\n): Promise<\n operations[\"mysite_profile_show\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/mysite/profile`);\n}\n\n/**\n * Update MySite profile\n * Updates the member's MySite profile fields.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function mysite_profile_update(\n client: FetchClient,\n body: operations[\"mysite_profile_update\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"mysite_profile_update\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.put(`/api/mysite/profile`, body);\n}\n\n/**\n * List available MySite themes\n * Returns available MySite themes.\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function mysite_themes_list(\n client: FetchClient,\n params?: operations[\"mysite_themes_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"mysite_themes_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/mysite/themes`, params);\n}\n\n/**\n * Get MySite settings for the current user\n * Returns the member's MySite settings.\n *\n * @param client - Fetch client instance\n \n */\nexport async function mysite_settings_show(\n client: FetchClient,\n): Promise<\n operations[\"mysite_settings_show\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/mysite/settings`);\n}\n\n/**\n * Update MySite settings\n * Updates the member's MySite settings.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function mysite_settings_update(\n client: FetchClient,\n body: operations[\"mysite_settings_update\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"mysite_settings_update\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.put(`/api/mysite/settings`, body);\n}\n\n/**\n * List MySite links for the current user\n * Returns the member's MySite links, ordered by position.\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function mysite_links_list(\n client: FetchClient,\n params?: operations[\"mysite_links_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"mysite_links_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/mysite/links`, params);\n}\n\n/**\n * Create a MySite link\n * Adds a new link to the member's MySite.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function mysite_links_create(\n client: FetchClient,\n body: operations[\"mysite_links_create\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"mysite_links_create\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/mysite/links`, body);\n}\n\n/**\n * Update a MySite link\n * Updates an existing MySite link.\n *\n * @param client - Fetch client instance\n * @param id - id\n * @param body - body\n */\nexport async function mysite_links_update(\n client: FetchClient,\n id: string | number,\n body: operations[\"mysite_links_update\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"mysite_links_update\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.put(`/api/mysite/links/${id}`, body);\n}\n\n/**\n * Delete a MySite link\n * Removes a link from the member's MySite.\n *\n * @param client - Fetch client instance\n * @param id - id\n */\nexport async function mysite_links_destroy(\n client: FetchClient,\n id: string | number,\n): Promise<\n operations[\"mysite_links_destroy\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.delete(`/api/mysite/links/${id}`);\n}\n\n/**\n * Reorder MySite links\n * Reorders MySite links by providing an ordered list of IDs.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function mysite_links_bulk_reorder(\n client: FetchClient,\n body: operations[\"mysite_links_bulk_reorder\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"mysite_links_bulk_reorder\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.patch(`/api/mysite/links/bulk`, body);\n}\n\n/**\n * List MySite favorites\n * Returns the member's MySite favorites (products, playlists, etc.).\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function mysite_favorites_list(\n client: FetchClient,\n params?: operations[\"mysite_favorites_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"mysite_favorites_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/mysite/favorites`, params);\n}\n\n/**\n * Add a product to MySite favorites\n * Adds a product to the member's MySite favorites.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function mysite_favorites_create(\n client: FetchClient,\n body: operations[\"mysite_favorites_create\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"mysite_favorites_create\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/mysite/favorites`, body);\n}\n\n/**\n * Remove a product from MySite favorites\n * Removes a product from the member's MySite favorites.\n *\n * @param client - Fetch client instance\n * @param id - id\n */\nexport async function mysite_favorites_destroy(\n client: FetchClient,\n id: string | number,\n): Promise<\n operations[\"mysite_favorites_destroy\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.delete(`/api/mysite/favorites/${id}`);\n}\n\n/**\n * Reorder MySite favorites\n * Reorders MySite favorites by providing an ordered list of IDs.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function mysite_favorites_bulk_reorder(\n client: FetchClient,\n body: operations[\"mysite_favorites_bulk_reorder\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"mysite_favorites_bulk_reorder\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.patch(`/api/mysite/favorites/bulk`, body);\n}\n","import type { MySiteApi } from \"@fluid-app/mysite-core/mysite-api\";\nimport type {\n MySiteProfile,\n MySiteLink,\n MySiteFavorite,\n MySiteTheme,\n UpdateProfileBody,\n UpdateSettingsBody,\n CreateLinkBody,\n UpdateLinkBody,\n AddFavoriteBody,\n} from \"@fluid-app/mysite-core/mysite-api-types\";\nimport type { FetchClient } from \"@fluid-app/portal-tenant-api-client\";\nimport { portalTenantMysite } from \"@fluid-app/portal-tenant-mysite-api-client\";\n\n// ---------------------------------------------------------------------------\n// BFF response type helpers\n// ---------------------------------------------------------------------------\n\ntype BffProfile = NonNullable<\n Awaited<ReturnType<typeof portalTenantMysite.mysite_profile_show>>[\"profile\"]\n>;\n\ntype BffLink = NonNullable<\n Awaited<ReturnType<typeof portalTenantMysite.mysite_links_list>>[\"links\"]\n>[number];\n\ntype BffFavorite = NonNullable<\n Awaited<\n ReturnType<typeof portalTenantMysite.mysite_favorites_list>\n >[\"favorites\"]\n>[number];\n\ntype BffTheme = NonNullable<\n Awaited<ReturnType<typeof portalTenantMysite.mysite_themes_list>>[\"themes\"]\n>[number];\n\n// ---------------------------------------------------------------------------\n// BFF -> port type mappers\n// ---------------------------------------------------------------------------\n\nfunction mapProfile(raw: BffProfile): MySiteProfile {\n return {\n id: raw.id ?? 0,\n mysite_url: raw.mysite_url ?? null,\n mysite_views: raw.mysite_views ?? 0,\n mysite_leads: raw.mysite_leads ?? 0,\n theme_id: raw.theme_id ?? null,\n bio: raw.bio ?? null,\n avatar_url: raw.avatar_url ?? null,\n display_name: raw.display_name ?? null,\n slug: raw.slug ?? null,\n } satisfies MySiteProfile;\n}\n\nfunction mapLink(raw: BffLink): MySiteLink {\n return {\n id: raw.id ?? 0,\n url: raw.url ?? \"\",\n title: raw.title ?? \"\",\n position: raw.position ?? 0,\n } satisfies MySiteLink;\n}\n\nfunction mapFavorite(raw: BffFavorite): MySiteFavorite {\n return {\n id: raw.id ?? 0,\n favoriteable_id: raw.favoriteable_id ?? raw.product_id ?? 0,\n favoriteable_type: raw.favoriteable_type ?? \"Product\",\n name: raw.name ?? raw.product_name ?? null,\n image_url: raw.image_url ?? raw.product_image_url ?? null,\n product_id: raw.product_id ?? raw.favoriteable_id ?? 0,\n product_name: raw.product_name ?? raw.name ?? null,\n product_image_url: raw.product_image_url ?? raw.image_url ?? null,\n position: raw.position ?? 0,\n created_at: raw.created_at ?? null,\n } satisfies MySiteFavorite;\n}\n\nfunction mapTheme(raw: BffTheme): MySiteTheme {\n return {\n id: raw.id ?? 0,\n name: raw.name ?? \"\",\n preview_url: raw.preview_url ?? null,\n } satisfies MySiteTheme;\n}\n\n// ---------------------------------------------------------------------------\n// Adapter factory\n// ---------------------------------------------------------------------------\n\nexport function createMySiteApiAdapter(client: FetchClient): MySiteApi {\n return {\n fetchProfile: async () => {\n const res = await portalTenantMysite.mysite_profile_show(client);\n return mapProfile((res.profile ?? {}) as BffProfile);\n },\n\n updateProfile: async (body: UpdateProfileBody) => {\n const res = await portalTenantMysite.mysite_profile_update(client, {\n profile: {\n display_name: body.display_name,\n bio: body.bio,\n avatar_url: body.avatar_url,\n },\n });\n return mapProfile((res.profile ?? {}) as BffProfile);\n },\n\n updateSettings: async (body: UpdateSettingsBody) => {\n await Promise.all([\n body.theme_id !== undefined\n ? portalTenantMysite.mysite_settings_update(client, {\n settings: { theme_id: body.theme_id },\n })\n : Promise.resolve(),\n body.slug !== undefined\n ? portalTenantMysite.mysite_profile_update(client, {\n profile: { slug: body.slug },\n })\n : Promise.resolve(),\n ]);\n },\n\n listLinks: async () => {\n const res = await portalTenantMysite.mysite_links_list(client);\n return (res.links ?? []).map(mapLink);\n },\n\n createLink: async (body: CreateLinkBody) => {\n const res = await portalTenantMysite.mysite_links_create(client, {\n link: { title: body.title, url: body.url },\n });\n return mapLink((res.link ?? {}) as BffLink);\n },\n\n updateLink: async (linkId: number, body: UpdateLinkBody) => {\n const res = await portalTenantMysite.mysite_links_update(client, linkId, {\n link: { title: body.title, url: body.url },\n });\n return mapLink((res.link ?? {}) as BffLink);\n },\n\n deleteLink: async (linkId: number) => {\n await portalTenantMysite.mysite_links_destroy(client, linkId);\n },\n\n reorderLinks: async (orderedIds: number[]) => {\n const res = await portalTenantMysite.mysite_links_bulk_reorder(client, {\n ordered_ids: orderedIds,\n });\n return (res.links ?? []).map(mapLink);\n },\n\n listFavorites: async () => {\n const res = await portalTenantMysite.mysite_favorites_list(client);\n return (res.favorites ?? []).map(mapFavorite);\n },\n\n addFavorite: async (body: AddFavoriteBody) => {\n const res = await portalTenantMysite.mysite_favorites_create(client, {\n favorite: { product_id: body.product_id },\n });\n return mapFavorite((res.favorite ?? {}) as BffFavorite);\n },\n\n deleteFavorite: async (favoriteId: number) => {\n await portalTenantMysite.mysite_favorites_destroy(client, favoriteId);\n },\n\n reorderFavorites: async (orderedIds: number[]) => {\n const res = await portalTenantMysite.mysite_favorites_bulk_reorder(\n client,\n { ordered_ids: orderedIds },\n );\n return (res.favorites ?? []).map(mapFavorite);\n },\n\n listThemes: async () => {\n const res = await portalTenantMysite.mysite_themes_list(client);\n return (res.themes ?? []).map(mapTheme);\n },\n };\n}\n","import type { AddressFieldsApi } from \"@fluid-app/address-fields/address-fields-api\";\nimport type { AddressFieldsResponse } from \"@fluid-app/address-fields/types\";\nimport type { FetchClient } from \"@fluid-app/portal-tenant-api-client\";\n\nexport function createAddressFieldsApiAdapter(\n client: FetchClient,\n): AddressFieldsApi {\n return {\n fetchAddressFields: async (countryCode, languageIso) => {\n const params: Record<string, unknown> = {};\n if (languageIso) {\n params[\"language_iso\"] = languageIso;\n }\n return client.get<AddressFieldsResponse>(\n `/api/countries/${countryCode}/address_fields`,\n params,\n );\n },\n };\n}\n","import { createElement, type ComponentType, type ReactNode } from \"react\";\n\nexport const PORTAL_RUNTIME_PROVIDER_IDS = [\n // Outermost: the tenant store (per-company config, e.g. the reward-points\n // label) must wrap the widgets that read it via useStore/useOptionalStore.\n \"store-api-provider\",\n \"portal-url-variables-provider\",\n \"products-api-provider\",\n \"content-api-provider\",\n \"shell-translation-provider\",\n \"shop-translation-provider\",\n \"contacts-translation-provider\",\n \"contacts-api-provider\",\n \"data-source-api-provider\",\n \"data-source-registry-provider\",\n \"widgets-api-provider\",\n] as const;\n\nexport type PortalRuntimeProviderId =\n (typeof PORTAL_RUNTIME_PROVIDER_IDS)[number];\n\nexport interface PortalRuntimeProvider<\n Runtime extends object,\n Id extends PortalRuntimeProviderId = PortalRuntimeProviderId,\n> {\n readonly id: Id;\n readonly Provider: ComponentType<\n { children: ReactNode } & Omit<Runtime, \"children\">\n >;\n}\n\nexport type PortalRuntimeProviderMap<Runtime extends object> = {\n [Id in PortalRuntimeProviderId]: PortalRuntimeProvider<Runtime, Id>;\n};\n\nexport function composePortalRuntimeProviders<Runtime extends object>(\n runtimeProviders: PortalRuntimeProviderMap<Runtime>,\n runtime: Omit<Runtime, \"children\">,\n children: ReactNode,\n): ReactNode {\n return PORTAL_RUNTIME_PROVIDER_IDS.reduceRight((child, id) => {\n const provider = runtimeProviders[id];\n\n return createElement(provider.Provider, {\n ...runtime,\n children: child,\n });\n }, children);\n}\n","import type {\n PortalProductsApi,\n portalProducts,\n} from \"@fluid-app/products-core\";\nimport type { FetchClient } from \"@fluid-app/portal-tenant-api-client\";\nimport { portalTenant } from \"@fluid-app/portal-tenant-api-client\";\n\n/**\n * Creates a PortalProductsApi-compatible adapter from a portal-tenant FetchClient.\n *\n * This bridges the auto-generated portal-tenant API client to the abstract\n * PortalProductsApi interface defined in @fluid-app/products-core, closing\n * over the FetchClient so consumers don't need to pass it per-call.\n *\n * Each method maps the BFF response to the port type at runtime rather than\n * using type assertions, so TypeScript catches schema drift between the\n * generated client and the hand-authored port types at compile time.\n */\nexport function createPortalProductsApiAdapter(\n client: FetchClient,\n): PortalProductsApi {\n return {\n listProducts: async (params) => {\n const response = await portalTenant.products_list(client, {\n \"page[cursor]\": params?.cursor,\n \"page[limit]\": params?.limit,\n sort: params?.sort as\n | \"title_asc\"\n | \"title_desc\"\n | \"price_asc\"\n | \"price_desc\"\n | \"created_at_asc\"\n | \"created_at_desc\"\n | undefined,\n });\n return {\n products: response.products ?? [],\n meta: response.meta,\n } satisfies portalProducts.PortalProductsResponse;\n },\n\n getProduct: async (id) => {\n const response = await portalTenant.products_show(client, id);\n return {\n product: response.product ?? {},\n meta: response.meta,\n } satisfies portalProducts.PortalProductResponse;\n },\n\n searchProducts: async (query, params) => {\n const response = await portalTenant.products_search(client, {\n q: query,\n \"page[cursor]\": params?.cursor,\n \"page[limit]\": params?.limit,\n });\n return {\n products: response.products ?? [],\n meta: response.meta,\n } satisfies portalProducts.PortalProductsResponse;\n },\n\n getProductMedia: async (productId) => {\n const response = await portalTenant.products_media_list(\n client,\n productId,\n );\n return {\n media: response.media ?? [],\n meta: response.meta,\n } satisfies portalProducts.PortalProductMediaResponse;\n },\n\n listVisitedMetrics: async (params) => {\n const response = await portalTenant.product_by_visits(client, {\n period: params?.period,\n limit: params?.limit,\n });\n return {\n resources: response.resources ?? [],\n meta: response.meta,\n } satisfies portalProducts.ProductVisitedMetricsResponse;\n },\n\n listShareVisitedMetrics: async (params) => {\n const response = await portalTenant.product_by_shares(client, {\n period: params?.period,\n limit: params?.limit,\n });\n return {\n resources: response.resources ?? [],\n meta: response.meta,\n } satisfies portalProducts.ProductShareVisitedMetricsResponse;\n },\n };\n}\n","import { useMemo, type ReactElement, type ReactNode } from \"react\";\nimport { PortalProductsCoreProvider } from \"@fluid-app/products-core\";\nimport { usePortalTenantClient } from \"../providers/PortalTenantClientProvider\";\nimport { createPortalProductsApiAdapter } from \"../adapters/products-api-adapter\";\n\nexport function PortalProductsApiProvider({\n children,\n}: {\n children: ReactNode;\n}): ReactElement {\n const client = usePortalTenantClient();\n\n const api = useMemo(() => createPortalProductsApiAdapter(client), [client]);\n\n return (\n <PortalProductsCoreProvider api={api}>\n {children}\n </PortalProductsCoreProvider>\n );\n}\n","export const shellEn = {\n nav_more: \"More\",\n nav_close: \"Close\",\n nav_toggle_sidebar: \"Toggle sidebar\",\n nav_shortcuts: \"Shortcuts\",\n nav_quick_links: \"Quick links\",\n nav_label_app_download: \"App Download\",\n nav_label_contacts: \"Contacts\",\n nav_label_messages: \"Messaging\",\n nav_label_my_site: \"My Site\",\n nav_label_orders: \"Orders\",\n nav_label_profile: \"Profile\",\n nav_label_account: \"Account\",\n nav_label_share_media: \"Media\",\n nav_label_share_pages: \"Pages\",\n nav_label_share_playlists: \"Playlists\",\n nav_label_share_products: \"Products\",\n nav_label_shop: \"Shop\",\n nav_label_subscriptions: \"Subscriptions\",\n nav_section_we_commerce: \"We Commerce\",\n nav_section_marketing_assets: \"Marketing Assets\",\n nav_section_user: \"User\",\n nav_section_shareables: \"Shareables\",\n language_select: \"Select language\",\n profile_title: \"Profile\",\n profile_open_menu: \"Open profile menu\",\n profile_close_menu: \"Close profile menu\",\n profile_user_fallback: \"User\",\n profile_app_download: \"App Download\",\n theme_label: \"Theme\",\n theme_light: \"Theme: Light\",\n theme_dark: \"Theme: Dark\",\n theme_switch: \"Switch theme (current: {{mode}})\",\n logout: \"Log out\",\n logout_pending: \"Logging out…\",\n loading: \"Loading...\",\n error_title: \"Something went wrong\",\n error_description: \"We hit an unexpected error loading this page.\",\n error_try_again: \"Try again\",\n error_go_back: \"Go back\",\n not_found_title: \"Page not found\",\n not_found_named: 'We couldn\\'t find a page for \"{{name}}\".',\n not_found_generic: \"We couldn't find the page you were looking for.\",\n access_denied_title: \"Access Denied\",\n access_denied_description: \"You don't have permission to view this page.\",\n access_denied_detail: \"This feature is not available for your account type.\",\n screen_no_content: \"This screen has no content yet.\",\n core_screen_provided_by: \"This screen is provided by Fluid Commerce\",\n core_screen_connect: \"Connect to the Fluid platform to enable this feature\",\n customers: \"Customers\",\n table_col_image: \"Image\",\n table_col_order_number: \"Order #\",\n table_col_total: \"Total\",\n table_col_status: \"Status\",\n table_col_product: \"Product\",\n table_col_price: \"Price\",\n table_image_fallback_alt: \"Image\",\n table_slide_image_alt: \"Slide image\",\n embed_blocked_title: \"This site refuses to be embedded\",\n embed_blocked_hint:\n \"End users will see a blank widget. Try a different URL \\u2014 sites like YouTube /embed/, Calendly, or Vimeo allow embedding.\",\n} as const satisfies Record<string, string>;\n\nexport type ShellDict = typeof shellEn;\n","import {\n createDomainTranslations,\n type DomainTranslations,\n} from \"@fluid-app/i18n/translations\";\nimport { createStaticDictAdapter } from \"@fluid-app/i18n/static-dict-adapter\";\nimport type { TranslationApi } from \"@fluid-app/i18n/translation-api\";\nimport { shellEn, type ShellDict } from \"./shell-translation-dictionary\";\n\nexport const shellDomain: DomainTranslations<ShellDict> =\n createDomainTranslations<ShellDict>({\n fallback: shellEn,\n loaders: {\n de: () =>\n import(\"./locale/de.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n el: () =>\n import(\"./locale/el.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n es: () =>\n import(\"./locale/es.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n fr: () =>\n import(\"./locale/fr.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n he: () =>\n import(\"./locale/he.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n hu: () =>\n import(\"./locale/hu.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n id: () =>\n import(\"./locale/id.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n it: () =>\n import(\"./locale/it.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n ja: () =>\n import(\"./locale/ja.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n ko: () =>\n import(\"./locale/ko.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n nl: () =>\n import(\"./locale/nl.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n pl: () =>\n import(\"./locale/pl.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n pt: () =>\n import(\"./locale/pt.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n ro: () =>\n import(\"./locale/ro.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n ru: () =>\n import(\"./locale/ru.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n th: () =>\n import(\"./locale/th.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n tl: () =>\n import(\"./locale/tl.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n tr: () =>\n import(\"./locale/tr.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n zh_CN: () =>\n import(\"./locale/zh_CN.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n zh_TW: () =>\n import(\"./locale/zh_TW.json\").then(\n (m): ShellDict => m.default as ShellDict,\n ),\n },\n });\n\nexport function createShellTranslationAdapter(\n locale: string,\n dict: ShellDict,\n): TranslationApi<ShellDict> {\n return createStaticDictAdapter(locale, dict);\n}\n","import { useMemo, type ReactNode } from \"react\";\nimport { useActiveLocale } from \"@fluid-app/i18n/locale-context\";\nimport { useDomainDict } from \"@fluid-app/i18n/use-domain-dict\";\nimport {\n shellDomain,\n createShellTranslationAdapter,\n} from \"@fluid-app/portal-core/shell-translation-adapter\";\nimport { ShellTranslationProvider } from \"@fluid-app/portal-core/shell-translation-api-context\";\n\nexport function ShellTranslationBridge({\n children,\n}: {\n children: ReactNode;\n}): React.JSX.Element {\n const { locale } = useActiveLocale();\n const dict = useDomainDict(shellDomain, locale);\n const api = useMemo(\n () => createShellTranslationAdapter(locale, dict),\n [locale, dict],\n );\n return (\n <ShellTranslationProvider value={api}>{children}</ShellTranslationProvider>\n );\n}\n","import type {\n CreateTodoInput,\n TodosStateFilter,\n UpdateTodoInput,\n WidgetsApi,\n} from \"@fluid-app/portal-core/widgets-api\";\nimport type {\n Activity,\n ActivitySlug,\n CalendarEvent,\n CalendarEventDescription,\n CatchUp,\n MySiteData,\n PointsData,\n PointsEntry,\n Todo,\n} from \"@fluid-app/portal-core/widgets-api-types\";\nimport { titleCaseFromSnake } from \"@fluid-app/portal-core/format/title-case\";\nimport type { FetchClient } from \"@fluid-app/portal-tenant-api-client\";\nimport { portalTenant } from \"@fluid-app/portal-tenant-api-client\";\nimport { portalTenantMysite } from \"@fluid-app/portal-tenant-mysite-api-client\";\nimport { portalTenantPay } from \"@fluid-app/portal-tenant-pay-api-client\";\n\n// ---------------------------------------------------------------------------\n// BFF response types\n// ---------------------------------------------------------------------------\n\ntype BffCalendarEvent = NonNullable<\n Awaited<\n ReturnType<typeof portalTenant.calendar_events_list>\n >[\"calendar_events\"]\n>[number];\n\ntype BffTodo = NonNullable<\n Awaited<ReturnType<typeof portalTenant.todos_list>>[\"todos\"]\n>[number];\n\ntype BffActivity = NonNullable<\n Awaited<ReturnType<typeof portalTenant.activities_list>>[\"activities\"]\n>[number];\n\ntype BffCatchUp = NonNullable<\n Awaited<ReturnType<typeof portalTenant.catch_ups_list>>[\"catch_ups\"]\n>[number];\n\ntype BffPointsLedger = NonNullable<\n Awaited<\n ReturnType<typeof portalTenantPay.points_ledgers_list>\n >[\"points_ledgers\"]\n>[number];\n\ntype BffMySiteProfile = NonNullable<\n Awaited<ReturnType<typeof portalTenantMysite.mysite_profile_show>>[\"profile\"]\n>;\n\n// ---------------------------------------------------------------------------\n// BFF transforms\n// ---------------------------------------------------------------------------\n\nfunction mapBffCalendarEvent(event: BffCalendarEvent): CalendarEvent {\n const description = event.description ?? null;\n return {\n id: event.id,\n title: event.title,\n color: event.color ?? null,\n start: event.start,\n end: event.end,\n description: description !== null ? { body: description } : null,\n url: event.url ?? null,\n active: null,\n timeZone: event.time_zone ?? null,\n status: event.status ?? null,\n imageUrl: event.image_url ?? null,\n images: null,\n venue: event.venue ?? null,\n countries: null,\n hasTomorrow: null,\n hasYesterday: null,\n isAllDay: event.is_all_day,\n } satisfies CalendarEvent;\n}\n\nfunction mapBffTodo(raw: BffTodo): Todo {\n return {\n id: raw.id,\n body: raw.body,\n dueAt: raw.due_at ?? null,\n completedAt: raw.completed_at ?? null,\n createdAt: raw.created_at,\n contactId: raw.contact_id ?? null,\n contactName: raw.contact_name ?? null,\n } satisfies Todo;\n}\n\n// Typing as `Record<ActivitySlug, true>` makes TS reject this object when a\n// new value is added to `ActivitySlug` and not registered here, so the slug\n// guard stays exhaustive without a separate test.\nconst KNOWN_ACTIVITY_SLUGS: Record<ActivitySlug, true> = {\n abandoned_cart: true,\n announcements: true,\n cart_items_added: true,\n comment_reply: true,\n direct_message: true,\n fantasy_point: true,\n new_lead: true,\n order_placed: true,\n page_views: true,\n page_views_contact: true,\n tasks: true,\n upcoming_event: true,\n video: true,\n video_complete: true,\n video_complete_contact: true,\n video_contact: true,\n message_received: true,\n message_sent: true,\n new_cart_items_added: true,\n smart_link_clicked: true,\n review_left: true,\n};\n\nfunction isActivitySlug(slug: string): slug is ActivitySlug {\n return Object.hasOwn(KNOWN_ACTIVITY_SLUGS, slug);\n}\n\nfunction mapBffActivity(raw: BffActivity): Activity | null {\n if (!isActivitySlug(raw.slug)) {\n console.warn(\n `[portal-sdk] mapBffActivity: unknown activity slug \"${raw.slug}\" dropped (id=${raw.id})`,\n );\n return null;\n }\n return {\n id: raw.id,\n userName: raw.user_name,\n avatarUrl: raw.avatar_url ?? null,\n activityType: titleCaseFromSnake(raw.slug),\n targetName: raw.target_name,\n timestamp: raw.created_at,\n slug: raw.slug,\n } satisfies Activity;\n}\n\nfunction mapBffCatchUp(raw: BffCatchUp): CatchUp {\n return {\n id: raw.id,\n suggestionTitle: raw.title,\n } satisfies CatchUp;\n}\n\ntype LedgerMetadata = {\n transaction_type?: string;\n source?: Record<string, unknown>;\n};\n\nfunction mapBffPointsLedger(ledgers: BffPointsLedger[]): PointsData {\n const sorted = [...ledgers].sort(\n (a, b) =>\n new Date(b.created_at ?? 0).getTime() -\n new Date(a.created_at ?? 0).getTime(),\n );\n const balance = sorted[0]?.total_balance ?? 0;\n\n const entries: PointsEntry[] = sorted.map((ledger) => {\n const metadata = ledger.metadata as LedgerMetadata | undefined;\n return {\n id: ledger.id,\n amount: ledger.amount,\n createdAt: ledger.created_at ?? \"\",\n transactionType: metadata?.transaction_type ?? null,\n hasSource: metadata?.source != null,\n };\n });\n\n return { balance, entries } satisfies PointsData;\n}\n\nfunction mapBffMySiteProfile(profile: BffMySiteProfile): MySiteData {\n return {\n url: profile.mysite_url ?? null,\n views: profile.mysite_views ?? 0,\n leads: profile.mysite_leads ?? 0,\n userName: profile.display_name ?? \"User\",\n } satisfies MySiteData;\n}\n\n// ---------------------------------------------------------------------------\n// BFF sub-adapter (private)\n// ---------------------------------------------------------------------------\n\nfunction createBffWidgetsAdapter(client: FetchClient): Partial<WidgetsApi> {\n return {\n async fetchCalendarEvents() {\n try {\n const response = await portalTenant.calendar_events_list(client);\n return (response.calendar_events ?? [])\n .filter((e) => e.start && e.end)\n .map(mapBffCalendarEvent);\n } catch (error) {\n throw new Error(\"Failed to fetch calendar events\", { cause: error });\n }\n },\n\n async fetchTodos(args?: { state?: TodosStateFilter }) {\n try {\n const response = await portalTenant.todos_list(\n client,\n args?.state ? { state: args.state } : undefined,\n );\n return (response.todos ?? []).map(mapBffTodo);\n } catch (error) {\n throw new Error(\"Failed to fetch todos\", { cause: error });\n }\n },\n\n async createTodo(input: CreateTodoInput) {\n try {\n const response = await portalTenant.todos_create(client, {\n todo: {\n body: input.body,\n due_at: input.due_at,\n contact_id: input.contact_id,\n },\n });\n return mapBffTodo(response.todo);\n } catch (error) {\n throw new Error(\"Failed to create todo\", { cause: error });\n }\n },\n\n async fetchActivities() {\n try {\n const response = await portalTenant.activities_list(client);\n return (response.activities ?? [])\n .map(mapBffActivity)\n .filter((activity): activity is Activity => activity !== null);\n } catch (error) {\n throw new Error(\"Failed to fetch activities\", { cause: error });\n }\n },\n\n async fetchCatchUps() {\n try {\n const response = await portalTenant.catch_ups_list(client);\n return (response.catch_ups ?? []).map(mapBffCatchUp);\n } catch (error) {\n throw new Error(\"Failed to fetch catch ups\", { cause: error });\n }\n },\n\n async updateTodo(id: number, input: UpdateTodoInput) {\n try {\n const response = await portalTenant.todos_update(client, id, {\n todo: input,\n });\n return mapBffTodo(response.todo);\n } catch (error) {\n throw new Error(\"Failed to update todo\", { cause: error });\n }\n },\n\n async deleteTodo(id: number) {\n try {\n const response = await portalTenant.todos_destroy(client, id);\n return { id: response.todo.id };\n } catch (error) {\n throw new Error(\"Failed to delete todo\", { cause: error });\n }\n },\n\n async fetchMySite() {\n try {\n const response = await portalTenantMysite.mysite_profile_show(client);\n return mapBffMySiteProfile(\n response.profile ?? ({} as BffMySiteProfile),\n );\n } catch (error) {\n throw new Error(\"Failed to fetch MySite data\", { cause: error });\n }\n },\n\n async fetchPointsLedger() {\n try {\n const response = await portalTenantPay.points_ledgers_list(client);\n return mapBffPointsLedger(response.points_ledgers ?? []);\n } catch (error) {\n throw new Error(\"Failed to fetch points ledger\", { cause: error });\n }\n },\n };\n}\n\n// ---------------------------------------------------------------------------\n// Legacy API-internal shapes (not exported)\n// ---------------------------------------------------------------------------\n\ntype TodoContact = {\n id: number;\n first_name: string;\n last_name: string;\n};\n\ntype ApiTodo = {\n id: number;\n body: string;\n due_at: string | null;\n completed_at: string | null;\n created_at: string;\n contact: TodoContact | null;\n};\n\ntype ActivityContact = {\n id: number;\n token: string | null;\n first_name: string | null;\n last_name: string | null;\n avatar_url: string | null;\n full_name: string | null;\n email: string | null;\n phone: string | null;\n city: string | null;\n state: string | null;\n};\n\ntype ActivityVisitor = {\n id: number;\n ip_address: string | null;\n city: string | null;\n state: string | null;\n country: string | null;\n utm_source: string | null;\n utm_campaign: string | null;\n};\n\ntype ApiActivity = {\n id: number;\n user_id: number;\n title: string;\n description: string | null;\n read_at: string | null;\n created_at: string;\n relation_type: string;\n company_id: number;\n state: \"new\" | \"earlier\";\n slug: ActivitySlug;\n relation: Record<string, unknown>;\n contact: ActivityContact | null;\n visitor: ActivityVisitor | null;\n};\n\ntype ActivityPaginationInfo = {\n current: number;\n previous: number | null;\n next: number | null;\n per_page: number;\n pages: number;\n count: number;\n};\n\ntype ActivityApiResponse = [\n { pagination: ActivityPaginationInfo },\n { items: ApiActivity[] },\n];\n\ntype ApiPointsLedger = {\n id: number;\n amount: number;\n company_id: number;\n created_at: string;\n customer_id: number;\n metadata: {\n transaction_type?: string;\n source?: { name?: string; reason?: string };\n };\n total_balance: number;\n updated_at: string;\n};\n\ntype PointsLedgerApiResponse = {\n points_ledgers: ApiPointsLedger[];\n meta: {\n request_id: string;\n timestamp: string;\n pagination: {\n current_page: number;\n total_pages: number;\n total_count: number;\n per_page: number;\n };\n };\n};\n\ntype ApiCalendarEventDescription = {\n id?: number | null;\n name?: string | null;\n body?: string | null;\n record_type?: string | null;\n record_id?: number | null;\n created_at?: string | null;\n updated_at?: string | null;\n locale?: string | null;\n};\n\ntype ApiCalendarEvent = {\n id: number;\n title: string;\n description?: ApiCalendarEventDescription | null;\n color?: string | null;\n url?: string | null;\n start: string;\n end: string;\n active?: boolean | null;\n time_zone?: string | null;\n status?: string | null;\n image_url?: string | null;\n images?: unknown[] | null;\n venue?: string | null;\n countries?: string[] | null;\n hasTomorrow?: boolean | null;\n hasYesterday?: boolean | null;\n isAllDay?: boolean | null;\n};\n\n// The legacy /affiliate_catch_up_actions.json endpoint (Ams::CatchUpActionBlueprint)\n// still serializes the field as `suggestion_title`. Only the Portal BFF blueprint\n// (portal_tenant/api/catch_up_blueprinter.rb) renames it to `title`.\n// Keep this type aligned with the legacy endpoint — do NOT switch to `title` here.\ntype ApiCatchUp = {\n id: number;\n suggestion_title: string;\n};\n\ntype ApiMySite = {\n mysite_url?: string | null;\n mysite_views?: number | null;\n mysite_leads?: number | null;\n name?: string | null;\n first_name?: string | null;\n};\n\n// ---------------------------------------------------------------------------\n// Legacy transforms\n// ---------------------------------------------------------------------------\n\nfunction mapCalendarEventDescription(\n raw: ApiCalendarEventDescription,\n): CalendarEventDescription {\n return {\n id: raw.id,\n name: raw.name,\n body: raw.body,\n recordType: raw.record_type,\n recordId: raw.record_id,\n createdAt: raw.created_at,\n updatedAt: raw.updated_at,\n locale: raw.locale,\n };\n}\n\nfunction mapCalendarEvent(event: ApiCalendarEvent): CalendarEvent {\n return {\n id: event.id,\n title: event.title,\n description: event.description\n ? mapCalendarEventDescription(event.description)\n : event.description,\n color: event.color,\n url: event.url,\n start: event.start,\n end: event.end,\n active: event.active,\n timeZone: event.time_zone,\n status: event.status,\n imageUrl: event.image_url,\n images: event.images,\n venue: event.venue,\n countries: event.countries,\n hasTomorrow: event.hasTomorrow,\n hasYesterday: event.hasYesterday,\n isAllDay: event.isAllDay,\n };\n}\n\nfunction mapCatchUp(raw: ApiCatchUp): CatchUp {\n return {\n id: raw.id,\n suggestionTitle: raw.suggestion_title,\n };\n}\n\nfunction transformTodos(rawData: ApiTodo[]): Todo[] {\n return rawData.map((todo) => ({\n id: todo.id,\n body: todo.body,\n dueAt: todo.due_at,\n completedAt: todo.completed_at,\n createdAt: todo.created_at,\n contactId: todo.contact?.id ?? null,\n contactName: todo.contact\n ? `${todo.contact.first_name} ${todo.contact.last_name}`\n : null,\n }));\n}\n\nfunction getActivityUserName(\n contact: ActivityContact | null,\n visitor: ActivityVisitor | null,\n): string {\n if (contact?.full_name) {\n return contact.full_name;\n }\n if (contact?.first_name && contact?.last_name) {\n return `${contact.first_name} ${contact.last_name}`;\n }\n if (visitor?.city && visitor?.state) {\n return `Visitor from ${visitor.city}, ${visitor.state}`;\n }\n return \"Unknown Visitor\";\n}\n\nfunction transformActivities(rawData: ActivityApiResponse): Activity[] {\n const itemsObj = rawData[1];\n if (!itemsObj?.items) return [];\n\n return itemsObj.items\n .map((activity) => ({\n id: activity.id,\n userName: getActivityUserName(activity.contact, activity.visitor),\n avatarUrl: activity.contact?.avatar_url ?? null,\n activityType: titleCaseFromSnake(activity.slug),\n targetName: activity.description || activity.title,\n timestamp: activity.created_at,\n slug: activity.slug,\n }))\n .sort(\n (a, b) =>\n new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime(),\n );\n}\n\nfunction transformLegacyPointsLedger(\n data: PointsLedgerApiResponse,\n): PointsData {\n const ledgers = data.points_ledgers;\n\n // Sort newest-first so the current balance comes from the most recent entry.\n const sorted = [...ledgers].sort(\n (a, b) =>\n new Date(b.created_at).getTime() - new Date(a.created_at).getTime(),\n );\n const balance = sorted[0]?.total_balance ?? 0;\n\n const entries: PointsEntry[] = sorted.map((ledger) => ({\n id: ledger.id,\n amount: ledger.amount,\n createdAt: ledger.created_at,\n transactionType: ledger.metadata?.transaction_type ?? null,\n hasSource: ledger.metadata?.source != null,\n }));\n\n return { balance, entries } satisfies PointsData;\n}\n\n// ---------------------------------------------------------------------------\n// Legacy sub-adapter (private)\n// ---------------------------------------------------------------------------\n\nexport interface LegacyWidgetsApiConfig {\n baseUrl: string | undefined;\n getApiHeaders: (() => Record<string, string>) | undefined;\n}\n\nexport function createLegacyWidgetsApiAdapter(\n config: LegacyWidgetsApiConfig,\n): WidgetsApi {\n function buildHeaders(): Record<string, string> {\n return {\n \"content-type\": \"application/json\",\n ...config.getApiHeaders?.(),\n };\n }\n\n function prefix(path: string): string {\n const base = config.baseUrl ?? \"\";\n return `${base}${path}`;\n }\n\n return {\n async fetchCalendarEvents(signal?: AbortSignal) {\n const response = await fetch(\n prefix(\"/events.json?event_timeline=upcoming\"),\n { headers: buildHeaders(), signal },\n );\n if (!response.ok) {\n throw new Error(`Failed to fetch calendar events: ${response.status}`);\n }\n const data = (await response.json()) as ApiCalendarEvent[];\n return data.map(mapCalendarEvent);\n },\n\n async fetchTodos(\n args?: { state?: TodosStateFilter },\n signal?: AbortSignal,\n ) {\n // Legacy endpoint only returns incomplete tasks; ignore unsupported\n // state filters so the port contract is satisfied without breaking\n // existing callers.\n const _state = args?.state;\n void _state;\n const response = await fetch(prefix(\"/tasks\"), {\n headers: buildHeaders(),\n signal,\n });\n if (!response.ok) {\n throw new Error(`Failed to fetch todos: ${response.status}`);\n }\n const data = (await response.json()) as ApiTodo[];\n return transformTodos(data);\n },\n\n async createTodo(input: CreateTodoInput) {\n const response = await fetch(prefix(\"/tasks\"), {\n method: \"POST\",\n headers: buildHeaders(),\n body: JSON.stringify({\n task: {\n body: input.body,\n due_at: input.due_at,\n contact_id: input.contact_id,\n },\n }),\n });\n if (!response.ok) {\n throw new Error(`Failed to create todo: ${response.status}`);\n }\n const data = (await response.json()) as ApiTodo;\n const [transformed] = transformTodos([data]);\n if (!transformed) {\n throw new Error(\"Failed to create todo: empty response\");\n }\n return transformed;\n },\n\n async updateTodo(id: number, input: UpdateTodoInput) {\n const taskPayload: Record<string, unknown> = {};\n if (input.body !== undefined) taskPayload.body = input.body;\n if (input.due_at !== undefined) taskPayload.due_at = input.due_at;\n if (input.completed !== undefined) {\n taskPayload.completed_at = input.completed\n ? new Date().toISOString()\n : null;\n }\n const response = await fetch(prefix(`/tasks/${id}`), {\n method: \"PATCH\",\n headers: buildHeaders(),\n body: JSON.stringify({ task: taskPayload }),\n });\n if (!response.ok) {\n throw new Error(`Failed to update todo: ${response.status}`);\n }\n const data = (await response.json()) as ApiTodo;\n const [transformed] = transformTodos([data]);\n if (!transformed) {\n throw new Error(\"Failed to update todo: empty response\");\n }\n return transformed;\n },\n\n async deleteTodo(id: number) {\n const response = await fetch(prefix(`/tasks/${id}`), {\n method: \"DELETE\",\n headers: buildHeaders(),\n });\n if (!response.ok) {\n throw new Error(`Failed to delete todo: ${response.status}`);\n }\n return { id };\n },\n\n async fetchActivities(signal?: AbortSignal) {\n const response = await fetch(prefix(\"/v1.1/activities.json\"), {\n headers: buildHeaders(),\n signal,\n });\n if (!response.ok) {\n throw new Error(`Failed to fetch activities: ${response.status}`);\n }\n const data = (await response.json()) as ActivityApiResponse;\n return transformActivities(data);\n },\n\n async fetchCatchUps(signal?: AbortSignal) {\n const response = await fetch(prefix(\"/affiliate_catch_up_actions.json\"), {\n headers: buildHeaders(),\n signal,\n });\n if (!response.ok) {\n throw new Error(`Failed to fetch catch ups: ${response.status}`);\n }\n const data = (await response.json()) as ApiCatchUp[];\n return data.map(mapCatchUp);\n },\n\n async fetchMySite(signal?: AbortSignal) {\n const response = await fetch(prefix(\"/me\"), {\n headers: buildHeaders(),\n signal,\n });\n if (!response.ok) {\n throw new Error(`Failed to fetch MySite data: ${response.status}`);\n }\n const data = (await response.json()) as ApiMySite;\n return {\n url: data.mysite_url ?? null,\n views: data.mysite_views ?? 0,\n leads: data.mysite_leads ?? 0,\n userName: data.name || data.first_name || \"User\",\n } satisfies MySiteData;\n },\n\n async fetchPointsLedger(customerId: string, signal?: AbortSignal) {\n const response = await fetch(\n prefix(\n `/v202506/customers/${customerId}/points_ledgers?page=1&per_page=100&sort_by=created_at&sort_dir=desc`,\n ),\n { headers: buildHeaders(), signal },\n );\n if (!response.ok) {\n throw new Error(`Failed to fetch points ledger: ${response.status}`);\n }\n const data = (await response.json()) as PointsLedgerApiResponse;\n return transformLegacyPointsLedger(data);\n },\n } satisfies WidgetsApi;\n}\n\n// ---------------------------------------------------------------------------\n// Public composite factory\n// ---------------------------------------------------------------------------\n\nexport function createPortalWidgetsApiAdapter(\n client: FetchClient,\n legacyConfig: LegacyWidgetsApiConfig,\n): WidgetsApi {\n const bff = createBffWidgetsAdapter(client);\n const legacy = createLegacyWidgetsApiAdapter(legacyConfig);\n\n return { ...legacy, ...bff } satisfies WidgetsApi;\n}\n","import { useMemo, useRef, type ReactNode } from \"react\";\nimport { WidgetsApiProvider } from \"@fluid-app/portal-core/widgets-api-context\";\nimport { usePortalTenantClient } from \"../providers/PortalTenantClientProvider\";\nimport {\n createPortalWidgetsApiAdapter,\n type LegacyWidgetsApiConfig,\n} from \"../adapters/widgets-api-adapter\";\n\n// Invariant: `baseUrl` must match the `baseUrl` from DataSourceRegistryConfig,\n// since widget hooks use that value in their query keys.\nexport interface PortalWidgetsApiProviderProps {\n baseUrl: string | undefined;\n getApiHeaders: (() => Record<string, string>) | undefined;\n children: ReactNode;\n}\n\nexport function PortalWidgetsApiProvider({\n baseUrl,\n getApiHeaders,\n children,\n}: PortalWidgetsApiProviderProps): React.JSX.Element {\n const client = usePortalTenantClient();\n const getApiHeadersRef = useRef(getApiHeaders);\n getApiHeadersRef.current = getApiHeaders;\n\n const api = useMemo(\n () =>\n createPortalWidgetsApiAdapter(client, {\n baseUrl,\n getApiHeaders: () => getApiHeadersRef.current?.() ?? {},\n } satisfies LegacyWidgetsApiConfig),\n [client, baseUrl],\n );\n\n return <WidgetsApiProvider value={api}>{children}</WidgetsApiProvider>;\n}\n","export const shopEn = {\n breadcrumb: \"Shop\",\n product_fallback_name: \"Product\",\n search_placeholder: \"Search products...\",\n shop_all: \"Shop All\",\n sort_by: \"Sort By\",\n sort_title_asc: \"Title (A-Z)\",\n sort_title_desc: \"Title (Z-A)\",\n sort_price_asc: \"Price (Low to High)\",\n sort_price_desc: \"Price (High to Low)\",\n sort_recent: \"Recently Updated\",\n sort_oldest: \"Oldest Updated\",\n no_products: \"There are no products available at the moment.\",\n no_search_results:\n 'No products match \"{{term}}\". Try a different search term.',\n error_loading: \"Unable to load product\",\n error_generic: \"Something went wrong. Please try again later.\",\n product_not_found: \"Product not found\",\n product_not_found_description:\n \"The product you're looking for doesn't exist.\",\n product_description: \"Product Description\",\n quantity: \"Quantity\",\n more_to_shop: \"More to Shop\",\n no_title: \"No title available\",\n add_to_cart: \"Add to Cart\",\n subscribe: \"Subscribe\",\n subscribe_and_save: \"Subscribe & Save {{savings}}\",\n one_time_purchase: \"One-Time Purchase\",\n delivery_frequency: \"Delivery Frequency:\",\n select_delivery_schedule: \"Select delivery schedule\",\n purchase_bundle: \"Purchase Bundle\",\n bundle_badge: \"Bundle\",\n bundle_unavailable:\n \"Bundle configuration is unavailable. Please contact support.\",\n product_unavailable: \"This product is unavailable for purchase.\",\n ratings_and_reviews: \"Ratings and reviews\",\n ratings_count: \"{{count}} ratings\",\n select_option: \"Select {{name}}\",\n variant_label: \"Variant\",\n select_variant: \"Select variant\",\n variant_fallback_name: \"Variant {{index}}\",\n previous_image: \"Previous image\",\n next_image: \"Next image\",\n go_to_image: \"Go to image {{index}}\",\n open_image_viewer: \"Open image viewer\",\n close_image_viewer: \"Close image viewer\",\n image_viewer_description: \"Product image viewer\",\n cart: \"Cart\",\n} as const satisfies Record<string, string>;\n\nexport type ShopDict = typeof shopEn;\n","import {\n createDomainTranslations,\n type DomainTranslations,\n} from \"@fluid-app/i18n/translations\";\nimport { createStaticDictAdapter } from \"@fluid-app/i18n/static-dict-adapter\";\nimport type { TranslationApi } from \"@fluid-app/i18n/translation-api\";\nimport { shopEn, type ShopDict } from \"./translation-dictionary\";\n\nexport const shopDomain: DomainTranslations<ShopDict> =\n createDomainTranslations<ShopDict>({\n fallback: shopEn,\n loaders: {\n de: () =>\n import(\"./locale/de.json\").then((m): ShopDict => m.default as ShopDict),\n el: () =>\n import(\"./locale/el.json\").then((m): ShopDict => m.default as ShopDict),\n es: () =>\n import(\"./locale/es.json\").then((m): ShopDict => m.default as ShopDict),\n fr: () =>\n import(\"./locale/fr.json\").then((m): ShopDict => m.default as ShopDict),\n he: () =>\n import(\"./locale/he.json\").then((m): ShopDict => m.default as ShopDict),\n hu: () =>\n import(\"./locale/hu.json\").then((m): ShopDict => m.default as ShopDict),\n id: () =>\n import(\"./locale/id.json\").then((m): ShopDict => m.default as ShopDict),\n it: () =>\n import(\"./locale/it.json\").then((m): ShopDict => m.default as ShopDict),\n ja: () =>\n import(\"./locale/ja.json\").then((m): ShopDict => m.default as ShopDict),\n ko: () =>\n import(\"./locale/ko.json\").then((m): ShopDict => m.default as ShopDict),\n nl: () =>\n import(\"./locale/nl.json\").then((m): ShopDict => m.default as ShopDict),\n pl: () =>\n import(\"./locale/pl.json\").then((m): ShopDict => m.default as ShopDict),\n pt: () =>\n import(\"./locale/pt.json\").then((m): ShopDict => m.default as ShopDict),\n ro: () =>\n import(\"./locale/ro.json\").then((m): ShopDict => m.default as ShopDict),\n ru: () =>\n import(\"./locale/ru.json\").then((m): ShopDict => m.default as ShopDict),\n th: () =>\n import(\"./locale/th.json\").then((m): ShopDict => m.default as ShopDict),\n tl: () =>\n import(\"./locale/tl.json\").then((m): ShopDict => m.default as ShopDict),\n tr: () =>\n import(\"./locale/tr.json\").then((m): ShopDict => m.default as ShopDict),\n zh_CN: () =>\n import(\"./locale/zh_CN.json\").then(\n (m): ShopDict => m.default as ShopDict,\n ),\n zh_TW: () =>\n import(\"./locale/zh_TW.json\").then(\n (m): ShopDict => m.default as ShopDict,\n ),\n },\n });\n\nexport function createShopTranslationAdapter(\n locale: string,\n dict: ShopDict,\n): TranslationApi<ShopDict> {\n return createStaticDictAdapter(locale, dict);\n}\n","import { createTranslationContext } from \"@fluid-app/i18n/translation-api-context-factory\";\nimport type { ShopDict } from \"./translation-dictionary\";\n\nconst { Provider, useTranslation } = createTranslationContext<ShopDict>(\"Shop\");\n\nexport const ShopTranslationProvider = Provider;\nexport const useShopTranslation = useTranslation;\n","import { useMemo, type ReactNode } from \"react\";\nimport { useActiveLocale } from \"@fluid-app/i18n/locale-context\";\nimport { useDomainDict } from \"@fluid-app/i18n/use-domain-dict\";\nimport {\n shopDomain,\n createShopTranslationAdapter,\n} from \"@fluid-app/shop-core/translation-adapter\";\nimport { ShopTranslationProvider } from \"@fluid-app/shop-core/translation-api-context\";\n\nexport function ShopTranslationBridge({\n children,\n}: {\n children: ReactNode;\n}): React.JSX.Element {\n const { locale } = useActiveLocale();\n const dict = useDomainDict(shopDomain, locale);\n const api = useMemo(\n () => createShopTranslationAdapter(locale, dict),\n [locale, dict],\n );\n return (\n <ShopTranslationProvider value={api}>{children}</ShopTranslationProvider>\n );\n}\n","import type { AnyComponent } from \"../types/widget-schema\";\nimport type { WidgetSchema, TypedWidgetSchema } from \"../types\";\nimport type { ShareableItem } from \"../types/shareable-item\";\nimport type { WidgetManifest } from \"../registries/widget-manifest\";\n\nexport function createWidgetRegistry<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends Record<string, AnyComponent>,\n>(registry: T, plugins?: WidgetManifest[]): T {\n if (!plugins || plugins.length === 0) {\n return registry;\n }\n\n const pluginEntries = Object.fromEntries(\n plugins.map((p) => [p.type, p.component]),\n );\n\n return { ...registry, ...pluginEntries } as T;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function createScreen<T extends Record<string, AnyComponent>>(\n registry: T,\n widgets: TypedWidgetSchema<T>[],\n): TypedWidgetSchema<T>[] {\n // Validate that all widget types exist in the registry at runtime\n widgets.forEach((widget) => {\n if (!(widget.type in registry)) {\n throw new Error(\n `Widget type \"${String(widget.type)}\" not found in registry`,\n );\n }\n });\n return widgets;\n}\n\n// Helper to create WidgetSchema from shareable item\nexport function createWidgetFromShareable(item: ShareableItem): WidgetSchema {\n const isVideo = item.kind === \"video\" || !!item.videoUrl;\n\n if (isVideo && item.videoUrl) {\n return {\n type: \"VideoWidget\",\n props: {\n src: item.videoUrl,\n poster: item.imageUrl,\n caption: item.title,\n },\n };\n }\n\n return {\n type: \"ImageWidget\",\n props: {\n src: item.imageUrl,\n alt: item.title || \"Image\",\n objectFit: \"cover\",\n },\n };\n}\n","import type { WidgetPropertySchema } from \"@fluid-app/portal-core/registries\";\n\n// Widget Components\nexport { AlertWidget, alertWidgetPropertySchema } from \"./AlertWidget\";\n// ShopWidget is intentionally NOT re-exported here. It depends on\n// products-core hooks/types and including it in this barrel pulls\n// products-core source into portal-sdk's dts build, which fails under\n// `--isolatedDeclarations`. portal-builder imports it via the direct\n// file path (./ShopWidget) instead. The dynamic-import entry in\n// `widgetPropertySchemas` below is fine — it's evaluated at runtime\n// only and doesn't traverse types statically.\nexport {\n BulletListWidget,\n bulletListWidgetPropertySchema,\n} from \"./BulletListWidget\";\nexport { CalendarWidget, calendarWidgetPropertySchema } from \"./CalendarWidget\";\nexport { CardWidget, cardWidgetPropertySchema } from \"./CardWidget\";\nexport { CarouselWidget, carouselWidgetPropertySchema } from \"./CarouselWidget\";\nexport { CatchUpWidget, catchUpWidgetPropertySchema } from \"./CatchUpWidget\";\nexport { ChartWidget, chartWidgetPropertySchema } from \"./ChartWidget\";\nexport {\n ContainerWidget,\n containerWidgetPropertySchema,\n} from \"./ContainerWidget\";\nexport { EmbedWidget, embedWidgetPropertySchema } from \"./EmbedWidget\";\nexport { ImageWidget, imageWidgetPropertySchema } from \"./ImageWidget\";\nexport { LayoutWidget, layoutWidgetPropertySchema } from \"./LayoutWidget\";\nexport { LinkWidget, linkWidgetPropertySchema } from \"./LinkWidget\";\nexport { ListWidget, listWidgetPropertySchema } from \"./ListWidget\";\nexport { MySiteWidget, mySiteWidgetPropertySchema } from \"./MySiteWidget\";\nexport { NestedWidget, nestedWidgetPropertySchema } from \"./NestedWidget\";\nexport { PointsWidget, pointsWidgetPropertySchema } from \"./PointsWidget\";\nexport {\n QuickLinksWidget,\n quickLinksWidgetPropertySchema,\n} from \"./QuickLinksWidget\";\nexport {\n QuickShareWidget,\n quickShareWidgetPropertySchema,\n} from \"./QuickShareWidget\";\nexport {\n RecentActivityWidget,\n recentActivityWidgetPropertySchema,\n} from \"./RecentActivityWidget\";\nexport {\n SeparatorWidget,\n separatorWidgetPropertySchema,\n} from \"./SeparatorWidget\";\nexport { SpacerWidget, spacerWidgetPropertySchema } from \"./SpacerWidget\";\nexport { TableWidget, tableWidgetPropertySchema } from \"./TableWidget\";\nexport { TextWidget, textWidgetPropertySchema } from \"./TextWidget\";\nexport { ToDoWidget, toDoWidgetPropertySchema } from \"./ToDoWidget\";\nexport { VideoWidget, videoWidgetPropertySchema } from \"./VideoWidget\";\n\n// Re-export gapValues from core (used by widgets)\nexport { gapValues } from \"../core/fields\";\n\n// Re-export all property schemas as a collection\nexport const widgetPropertySchemas = {\n AlertWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./AlertWidget\").then((m) => m.alertWidgetPropertySchema),\n BulletListWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./BulletListWidget\").then((m) => m.bulletListWidgetPropertySchema),\n CalendarWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./CalendarWidget\").then((m) => m.calendarWidgetPropertySchema),\n CardWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./CardWidget\").then((m) => m.cardWidgetPropertySchema),\n CarouselWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./CarouselWidget\").then((m) => m.carouselWidgetPropertySchema),\n CatchUpWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./CatchUpWidget\").then((m) => m.catchUpWidgetPropertySchema),\n ChartWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./ChartWidget\").then((m) => m.chartWidgetPropertySchema),\n ContainerWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./ContainerWidget\").then((m) => m.containerWidgetPropertySchema),\n EmbedWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./EmbedWidget\").then((m) => m.embedWidgetPropertySchema),\n ImageWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./ImageWidget\").then((m) => m.imageWidgetPropertySchema),\n LayoutWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./LayoutWidget\").then((m) => m.layoutWidgetPropertySchema),\n LinkWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./LinkWidget\").then((m) => m.linkWidgetPropertySchema),\n ListWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./ListWidget\").then((m) => m.listWidgetPropertySchema),\n MySiteWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./MySiteWidget\").then((m) => m.mySiteWidgetPropertySchema),\n NestedWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./NestedWidget\").then((m) => m.nestedWidgetPropertySchema),\n PointsWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./PointsWidget\").then((m) => m.pointsWidgetPropertySchema),\n QuickLinksWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./QuickLinksWidget\").then((m) => m.quickLinksWidgetPropertySchema),\n QuickShareWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./QuickShareWidget\").then((m) => m.quickShareWidgetPropertySchema),\n RecentActivityWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./RecentActivityWidget\").then(\n (m) => m.recentActivityWidgetPropertySchema,\n ),\n SeparatorWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./SeparatorWidget\").then((m) => m.separatorWidgetPropertySchema),\n ShopWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./ShopWidget\").then((m) => m.shopWidgetPropertySchema),\n SpacerWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./SpacerWidget\").then((m) => m.spacerWidgetPropertySchema),\n TableWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./TableWidget\").then((m) => m.tableWidgetPropertySchema),\n TextWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./TextWidget\").then((m) => m.textWidgetPropertySchema),\n ToDoWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./ToDoWidget\").then((m) => m.toDoWidgetPropertySchema),\n VideoWidget: (): Promise<WidgetPropertySchema> =>\n import(\"./VideoWidget\").then((m) => m.videoWidgetPropertySchema),\n};\n","/**\n * Default widget registry for SDK apps.\n * Maps widget type names to their view-only components from portal-widgets.\n */\n\nimport type { WidgetRegistry } from \"@fluid-app/portal-core/types\";\nimport { createWidgetRegistry } from \"@fluid-app/portal-core/widget-utils\";\nimport {\n AlertWidget,\n BulletListWidget,\n CalendarWidget,\n CardWidget,\n CarouselWidget,\n ChartWidget,\n ContainerWidget,\n EmbedWidget,\n ImageWidget,\n LayoutWidget,\n LinkWidget,\n ListWidget,\n MySiteWidget,\n NestedWidget,\n PointsWidget,\n QuickLinksWidget,\n QuickShareWidget,\n RecentActivityWidget,\n SeparatorWidget,\n SpacerWidget,\n TableWidget,\n TextWidget,\n ToDoWidget,\n VideoWidget,\n} from \"@fluid-app/portal-widgets/widgets\";\n// ShopWidget is imported via its direct subpath because the\n// portal-widgets barrel intentionally omits it (it depends on\n// products-core hooks/types which break portal-sdk's --isolatedDeclarations\n// dts build when traversed through the barrel).\nimport { ShopWidget } from \"@fluid-app/portal-widgets/widgets/ShopWidget\";\n\nexport const DEFAULT_SDK_WIDGET_REGISTRY: WidgetRegistry = createWidgetRegistry(\n {\n AlertWidget,\n BulletListWidget,\n CalendarWidget,\n CardWidget,\n CarouselWidget,\n ChartWidget,\n ContainerWidget,\n EmbedWidget,\n ImageWidget,\n LayoutWidget,\n LinkWidget,\n ListWidget,\n MySiteWidget,\n NestedWidget,\n PointsWidget,\n QuickLinksWidget,\n QuickShareWidget,\n RecentActivityWidget,\n SeparatorWidget,\n ShopWidget,\n SpacerWidget,\n TableWidget,\n TextWidget,\n ToDoWidget,\n VideoWidget,\n },\n);\n","import type { DomainTranslations } from \"./translations\";\n\nexport function preloadLocale(\n domains: DomainTranslations<Record<string, string>>[],\n locale: string,\n): void {\n for (const domain of domains) {\n domain.load(locale).catch(() => {});\n }\n}\n","export const ordersEn = {\n breadcrumb: \"Orders\",\n breadcrumb_detail: \"Order #{{id}}\",\n search_orders: \"Search orders...\",\n order_number: \"Order #\",\n date: \"Date\",\n status: \"Status\",\n product: \"Product\",\n total: \"Total\",\n no_orders_found: \"No orders found\",\n no_matching_orders: \"No matching orders\",\n no_image_available: \"No image available\",\n no_image: \"No image\",\n this_product_no_longer_exists: \"This product no longer exists\",\n subscription: \"Subscription\",\n subscription_hash: \"Subscription #{{token}}\",\n view_subscription: \"View Subscription\",\n results: \"results\",\n previous: \"Previous\",\n next: \"Next\",\n pagination: \"Pagination\",\n showing: \"Showing\",\n to: \"to\",\n of: \"of\",\n order_not_found: \"Order not found\",\n error_generic: \"An error occurred\",\n error_loading_order: \"Failed to load order: {{message}}\",\n items_count: \"Items ({{count}})\",\n subtotal: \"Subtotal\",\n discount: \"Discount\",\n shipping: \"Shipping\",\n shipping_free: \"Free\",\n tax: \"Tax\",\n tax_included: \"{{name}}, included\",\n points_applied: \"Points Applied\",\n points_applied_singular: \"pt\",\n points_applied_plural: \"pts\",\n points_earned: \"{{label}} Earned on This Order!\",\n points_total: \"{{count}} {{label}} total\",\n points: \"{{label}}\",\n status_label: \"Status:\",\n payment_label: \"Payment:\",\n fulfillment_label: \"Fulfillment:\",\n delivery_label: \"Delivery:\",\n order_info: \"Order Info\",\n order: \"Order\",\n order_number_label: \"Order Number\",\n email: \"Email\",\n customer: \"Customer\",\n payment_method: \"Payment Method\",\n no_payment_method: \"No payment method\",\n card_ending_in: \"{{brand}} ending in {{last4}}\",\n shipping_address: \"Shipping Address\",\n no_shipping_address: \"No shipping address available\",\n billing_address: \"Billing Address\",\n shipping_method: \"Shipping Method\",\n estimated_delivery: \"Est. {{estimate}}\",\n sku_label: \"SKU: {{sku}}\",\n\n // ── Orders list screen ──────────────────────────────────────────────\n order_history: \"Order history\",\n loading: \"Loading...\",\n load_more: \"Load more\",\n filter_all: \"All\",\n filter_fulfilled: \"Fulfilled\",\n filter_preparing: \"Preparing\",\n filter_subscription: \"Subscription\",\n status_cancelled: \"Cancelled\",\n status_completed: \"Completed\",\n status_fulfilled: \"Fulfilled\",\n status_pending: \"Pending\",\n status_preparing: \"Preparing\",\n status_processing: \"Processing\",\n status_returned: \"Returned\",\n status_shipped: \"Shipped\",\n group_this_week: \"This week\",\n group_this_month: \"This month\",\n today: \"Today\",\n yesterday: \"Yesterday\",\n n_days_ago: \"{{n}} days ago\",\n last_week: \"Last week\",\n n_weeks_ago: \"{{n}} weeks ago\",\n more_items: \"+ {{n}} more\",\n from_subscription: \"From subscription\",\n no_orders_yet: \"No orders yet\",\n search_hint: \"Try a different search term.\",\n empty_hint: \"Your orders will show up here after you place one.\",\n load_failed_title: \"Couldn't load your orders\",\n load_failed_hint: \"Something went wrong on our end. Please try again.\",\n try_again: \"Try again\",\n shipping_address_map: \"Shipping address map\",\n card_fallback: \"Card\",\n order_on_its_way: \"Your order is on its way\",\n tracking_number: \"Tracking number\",\n track_package: \"Track package\",\n track_package_aria: \"Track package {{number}}\",\n track_package_aria_with_carrier: \"Track {{carrier}} package {{number}}\",\n} as const satisfies Record<string, string>;\n\nexport type OrdersDict = typeof ordersEn;\n","import {\n createDomainTranslations,\n type DomainTranslations,\n} from \"@fluid-app/i18n/translations\";\nimport { createStaticDictAdapter } from \"@fluid-app/i18n/static-dict-adapter\";\nimport type { TranslationApi } from \"@fluid-app/i18n/translation-api\";\nimport { ordersEn, type OrdersDict } from \"./translation-dictionary\";\n\nexport const ordersDomain: DomainTranslations<OrdersDict> =\n createDomainTranslations<OrdersDict>({\n fallback: ordersEn,\n loaders: {\n de: () =>\n import(\"./locale/de.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n el: () =>\n import(\"./locale/el.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n es: () =>\n import(\"./locale/es.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n fr: () =>\n import(\"./locale/fr.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n he: () =>\n import(\"./locale/he.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n hu: () =>\n import(\"./locale/hu.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n id: () =>\n import(\"./locale/id.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n it: () =>\n import(\"./locale/it.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n ja: () =>\n import(\"./locale/ja.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n ko: () =>\n import(\"./locale/ko.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n nl: () =>\n import(\"./locale/nl.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n pl: () =>\n import(\"./locale/pl.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n pt: () =>\n import(\"./locale/pt.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n ro: () =>\n import(\"./locale/ro.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n ru: () =>\n import(\"./locale/ru.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n th: () =>\n import(\"./locale/th.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n tl: () =>\n import(\"./locale/tl.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n tr: () =>\n import(\"./locale/tr.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n zh_CN: () =>\n import(\"./locale/zh_CN.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n zh_TW: () =>\n import(\"./locale/zh_TW.json\").then(\n (m): OrdersDict => m.default as OrdersDict,\n ),\n },\n });\n\nexport function createOrdersTranslationAdapter(\n locale: string,\n dict: OrdersDict,\n): TranslationApi<OrdersDict> {\n return createStaticDictAdapter(locale, dict);\n}\n","export const subscriptionsEn = {\n // Breadcrumbs & navigation\n breadcrumb: \"Subscriptions\",\n breadcrumb_detail: \"Subscription #{{token}}\",\n\n // Filter tabs\n all: \"All\",\n active: \"Active\",\n inactive: \"Inactive\",\n\n // Search\n search_placeholder: \"Search subscriptions...\",\n\n // Table columns\n product: \"Product\",\n next_bill_date: \"Next Bill Date\",\n price: \"Price\",\n status: \"Status\",\n\n // Empty / unknown states\n no_subscriptions_found: \"No subscriptions found\",\n unknown_status: \"Unknown\",\n\n // Date / status fallback labels\n date_cancelled: \"Cancelled\",\n date_paused: \"Paused\",\n date_not_available: \"N/A\",\n\n // Pagination (used by subscriptions-list)\n total: \"Total\",\n results: \"results\",\n previous: \"Previous\",\n next: \"Next\",\n pagination: \"Pagination\",\n\n // Subscription detail — upcoming order\n your_upcoming_order: \"Your upcoming order\",\n next_order_date: \"Next order date\",\n next_bill_amount: \"Next bill amount\",\n payment_failed_on: \"Payment failed on\",\n\n // Product row\n product_image_alt: \"Product image\",\n no_image: \"No image\",\n quantity_label: \"Quantity\",\n quantity_aria: \"Quantity\",\n decrease_quantity_aria: \"Decrease quantity\",\n increase_quantity_aria: \"Increase quantity\",\n\n // Pricing summary\n subtotal: \"Subtotal\",\n discount: \"Discount\",\n total_label: \"Total\",\n tax_shipping_note:\n \"Does not include shipping, tax, duties, or any applicable discounts.\",\n\n // Order actions\n order_actions: \"Order actions\",\n skip_next_order: \"Skip next order\",\n edit_bill_date: \"Edit bill date\",\n pause_subscription: \"Pause subscription\",\n cancel_subscription: \"Cancel subscription\",\n cancelled_subscription: \"Cancelled subscription\",\n resume_subscription: \"Resume subscription\",\n reactivate_subscription: \"Reactivate subscription\",\n update_payment_method_action: \"Update payment method\",\n\n // Short action labels (SubscriptionActions)\n skip_next: \"Skip next\",\n pause: \"Pause\",\n cancel: \"Cancel\",\n resume: \"Resume\",\n reactivate: \"Reactivate\",\n\n // Subscription details section\n subscription_details: \"Subscription details\",\n order_frequency: \"Order frequency\",\n next_payment: \"Next payment\",\n last_billed: \"Last billed\",\n last_shipped: \"Last shipped\",\n last_bill_amount: \"Last bill amount\",\n\n // Payment & shipping\n payment_and_shipping: \"Payment & shipping\",\n shipping_address: \"Shipping address\",\n payment_method: \"Payment method\",\n card_fallback: \"Card\",\n ending_in: \"ending in {{last4}}\",\n no_payment_method: \"No payment method\",\n no_shipping_address: \"No shipping address available\",\n\n // Order history\n subscription_order_history: \"Subscription order history\",\n order: \"Order\",\n date: \"Date\",\n amount: \"Amount\",\n not_available: \"N/A\",\n\n // Cancel dialog\n cancel_dialog_title: \"Cancel subscription\",\n cancel_dialog_description:\n \"Are you sure you want to cancel this subscription? You can reactivate it later.\",\n cancel_dialog_pause_question:\n \"Would you like to pause your subscription instead?\",\n cancel_dialog_pause_button: \"Pause subscription\",\n cancel_dialog_cancel_button: \"Cancel\",\n cancel_dialog_confirm_button: \"Cancel subscription\",\n pause_for: \"Pause for\",\n select_duration: \"Select duration\",\n month_singular: \"{{count}} month\",\n month_plural: \"{{count}} months\",\n\n // Pause dialog\n pause_dialog_title: \"Pause subscription\",\n pause_dialog_description: \"Are you sure you want to pause subscription?\",\n pause_dialog_action: \"Pause\",\n pause_indefinitely: \"Pause indefinitely\",\n pause_for_orders: \"Pause for a number of upcoming orders\",\n choose_orders_to_skip: \"Choose how many orders to skip\",\n select: \"Select\",\n pause_dialog_cancel: \"Cancel\",\n pause_indefinite_message_prefix:\n \"If you pause indefinitely no further charges will occur. To restart, simply select\",\n pause_indefinite_message_resume: \"Resume\",\n pause_indefinite_message_suffix: \"from your account.\",\n pause_resume_message_prefix:\n \"You won't be charged until your subscription resumes on\",\n pause_resume_message_suffix: \".\",\n\n // Resume dialog\n resume_dialog_title: \"Resume subscription\",\n resume_dialog_description: \"Choose the date your subscription should resume.\",\n resume_dialog_action: \"Resume\",\n resume_date: \"Resume date\",\n date_placeholder: \"mm/dd/yyyy\",\n resume_dialog_cancel: \"Cancel\",\n resume_charge_message_prefix:\n \"Your subscription will resume and you'll be charged on\",\n resume_charge_message_suffix: \".\",\n\n // Edit bill date dialog\n edit_bill_date_title: \"Edit bill date\",\n edit_bill_date_description: \"Select a new date for your next bill.\",\n edit_bill_date_action: \"Save\",\n next_bill_date_label: \"Next bill date\",\n edit_bill_date_cancel: \"Cancel\",\n bill_date_preview_prefix: \"Your next bill will be on\",\n bill_date_preview_suffix: \".\",\n your_other_subscriptions: \"Your other subscriptions\",\n other_subs_color_aria: \"Color\",\n other_subs_product: \"Product\",\n other_subs_bill_date: \"Bill date\",\n\n // Toast / mutation messages\n subscription_paused: \"Subscription paused\",\n failed_to_pause: \"Failed to pause subscription\",\n subscription_resumed: \"Subscription resumed\",\n failed_to_resume: \"Failed to resume subscription\",\n next_billing_skipped: \"Next billing skipped\",\n failed_to_skip: \"Failed to skip billing\",\n subscription_cancelled: \"Subscription cancelled\",\n failed_to_cancel: \"Failed to cancel subscription\",\n subscription_reactivated: \"Subscription reactivated\",\n failed_to_reactivate: \"Failed to reactivate subscription\",\n quantity_updated: \"Quantity updated\",\n failed_to_update_quantity: \"Failed to update quantity\",\n bill_date_updated: \"Bill date updated\",\n failed_to_update_bill_date: \"Failed to update bill date\",\n bill_date_error:\n \"Could not update the bill date. Please try a different date.\",\n generic_error: \"Something went wrong. Please try again.\",\n\n // Account error\n account_load_error: \"Unable to load account data. Please try again later.\",\n\n // Detail screen errors (portal)\n subscription_not_found: \"Subscription not found\",\n error_occurred: \"An error occurred\",\n failed_to_load_subscription: \"Failed to load subscription: {{message}}\",\n\n // ─── List screen (portal) ──────────────────────────────────────────────\n\n // Page chrome\n list_title: \"Your subscriptions\",\n list_loading: \"Loading...\",\n list_load_more: \"Load more\",\n list_product_fallback: \"Product\",\n\n // Filter pills\n list_filter_paused: \"Paused\",\n list_filter_cancelled: \"Cancelled\",\n\n // Status labels\n list_status_active: \"Active\",\n list_status_paused: \"Paused\",\n list_status_cancelled: \"Cancelled\",\n list_status_completed: \"Completed\",\n list_status_past_due: \"Payment issue\",\n list_status_pending: \"Pending\",\n\n // Cadence\n list_cadence_daily: \"Daily\",\n list_cadence_monthly: \"Monthly\",\n list_cadence_weekly: \"Weekly\",\n list_cadence_yearly: \"Yearly\",\n list_cadence_quarterly: \"Quarterly\",\n list_cadence_every_n_units: \"Every {{n}} {{unit}}\",\n list_cadence_every_unit: \"Every {{unit}}\",\n\n // Translatable unit names (used in cadence / frequency interpolation)\n unit_day: \"day\",\n unit_days: \"days\",\n unit_week: \"week\",\n unit_weeks: \"weeks\",\n unit_month: \"month\",\n unit_months: \"months\",\n unit_year: \"year\",\n unit_years: \"years\",\n\n // Pricing suffix\n list_price_per_month: \"per month\",\n list_price_per_week: \"per week\",\n list_price_per_year: \"per year\",\n list_price_per_day: \"per day\",\n list_price_every_n_units: \"every {{n}} {{unit}}\",\n\n // Bill summary card\n list_next_bill_label: \"Your next bill\",\n list_last_bill_label: \"Last bill\",\n list_bill_overdue: \"Bill overdue\",\n list_bill_due_1_day_ago: \"Bill was due 1 day ago\",\n list_bill_due_n_days_ago: \"Bill was due {{n}} days ago\",\n list_bill_date: \"Bill date\",\n list_bill_amount: \"Bill amount\",\n list_last_bill_date: \"Last bill date\",\n list_last_bill_amount: \"Last bill amount\",\n\n // Cycle progress\n list_last_bill_today: \"Last bill today\",\n list_last_bill_yesterday: \"Last bill yesterday\",\n list_last_bill_n_days_ago: \"Last bill {{n}} days ago\",\n list_bills_today: \"Bills today\",\n list_bills_tomorrow: \"Bills tomorrow\",\n list_bills_in_n_days: \"Bills in {{n}} days\",\n list_bill_overdue_n_days: \"Bill overdue by {{n}} days\",\n\n // Sections / actions\n list_cancelled_section_label: \"Cancelled · {{n}}\",\n list_resume_cta: \"Resume subscription\",\n list_recurring_badge: \"Recurring delivery\",\n\n // Empty / error / retry\n list_no_in_view: \"No subscriptions in this view\",\n list_none_yet: \"No subscriptions yet\",\n list_filtered_hint: \"Try a different filter to see your other subscriptions.\",\n list_empty_hint: \"When you subscribe to a product, it'll show up here.\",\n list_load_failed_title: \"Couldn't load your subscriptions\",\n list_load_failed_hint: \"Something went wrong on our end. Please try again.\",\n list_try_again: \"Try again\",\n\n // ─── Bundling (CURRENT-848) ────────────────────────────────────────────\n\n // List screen — bundle CTA + card\n list_bundle_cta: \"Bundle\",\n list_bundle_card_label: \"Bundle · {{n}} subscriptions\",\n list_bundle_more_count: \"+{{n}} more\",\n list_bundle_members_title: \"Bundle members\",\n\n // Detail screen — \"Bundled with subscription\" card\n bundled_with_title: \"Bundled with subscription\",\n bundled_with_subhead:\n \"These subscriptions will be billed and shipped together, {{cadence}}\",\n bundled_with_plan_label: \"{{cadence}} subscription\",\n bundled_with_cadence_n_units: \"{{n}} {{unit}}\",\n\n // Bundle drawer — chrome\n bundle_subscriptions: \"Bundle subscriptions\",\n bundle_back: \"Back\",\n bundle_done: \"Done\",\n bundle_create: \"Create bundle\",\n bundle_step_select: \"Select\",\n bundle_step_date: \"Date\",\n bundle_step_address: \"Address\",\n bundle_step_payment: \"Payment\",\n\n // Bundle drawer — step 1\n bundle_and_save: \"Bundle and save\",\n bundle_select_subs:\n \"Select 2 or more subscriptions to bundle them onto one bill date and shipment.\",\n bundle_no_bundleable_subs:\n \"You don't have any subscriptions that can be bundled right now. Bundling requires 2 or more active subscriptions that aren't already bundled.\",\n bundle_step1_message: \"✨ Bundle and save on shipping\",\n\n // Bundle drawer — step 2\n bundle_select_new_bill_date: \"Select a new bill date\",\n bundle_select_new_bill_date_description:\n \"All bundled subscriptions will share this bill date.\",\n bundle_year: \"Year\",\n bundle_month: \"Month\",\n bundle_day: \"Day\",\n bundle_step2_message: \"📅 Choose when they ship together\",\n\n // Bundle drawer — step 3\n bundle_select_address: \"Select shipping address\",\n bundle_select_address_description:\n \"All bundled subscriptions will ship to this address.\",\n bundle_selected_bill_date: \"Selected bill date:\",\n bundle_add_new_address: \"Add new address\",\n bundle_default_badge: \"Default\",\n bundle_step3_message: \"🎁 Almost there — pick delivery\",\n\n // Bundle drawer — step 4\n bundle_select_payment: \"Select payment method\",\n bundle_select_payment_description:\n \"All bundled subscriptions will be charged to this payment method.\",\n bundle_no_usable_payment_methods:\n \"No usable payment methods. Add one in your profile.\",\n bundle_card_expires: \"Expires\",\n bundle_add_new_card: \"Add new card\",\n bundle_step4_message: \"💳 Last step — choose payment method\",\n\n // Bundle drawer — toasts\n bundle_succeeded: \"Subscriptions bundled successfully.\",\n bundle_partial_payment_failure:\n \"Bundle created but payment method failed for {{n}} subscription(s).\",\n bundle_failed: \"Couldn't bundle subscriptions. Please try again.\",\n\n // Past-due banner — default state (payment failed, no retry queued)\n past_due_banner_heading: \"We couldn't process your payment\",\n past_due_banner_heading_for_product:\n \"We couldn't process your payment for {{product}}\",\n past_due_banner_body:\n \"Your payment method may have expired or been declined. Update your card to continue your subscription and avoid interruptions.\",\n\n // Past-due banner — retry-scheduled state (next_retry_at is set, e.g. after\n // the customer just updated their card and CURRENT-882's auto-retry queued\n // a billing attempt, or after an admin manual reprocess in CURRENT-883).\n // Two sub-states based on whether last_failed_at is also set: just-queued\n // (immediate retry, no failure since the last reset) vs. retry-failed\n // (a previous attempt failed and the next one is pending after a backoff).\n past_due_banner_heading_retry_scheduled: \"Payment retry scheduled\",\n past_due_banner_heading_retry_scheduled_for_product:\n \"Payment retry scheduled for {{product}}\",\n past_due_banner_body_retry_scheduled:\n \"We're trying your payment again now. We'll update once it's processed.\",\n past_due_banner_body_retry_failed:\n \"The last retry didn't go through. We'll try again automatically {{when}}. You can also update your card to use a different one.\",\n update_your_card: \"Update your card\",\n dismiss: \"Dismiss\",\n\n // Outcome toasts after a payment-method update queues an immediate retry on\n // a past_due subscription (the charge runs async; the UI polls for the\n // result — see useRetryStatusPolling).\n payment_retry_succeeded:\n \"Payment confirmed — your subscription is active again.\",\n payment_retry_failed:\n \"That payment was declined. Try a different card to reactivate your subscription.\",\n payment_retry_processing:\n \"Card updated — we're processing your payment. The status will update shortly.\",\n\n // Time-bucket strings used in {{when}} interpolation for the\n // retry-failed body. Bucketed (instead of formatDistanceToNow) so the\n // displayed range absorbs the up-to-6h RetryFailedPaymentsJob cron\n // lag — showing \"in 2 hours\" would lie when the cron only ticks\n // every 6 hours.\n past_due_retry_when_shortly: \"shortly\",\n past_due_retry_when_few_hours: \"in the next few hours\",\n past_due_retry_when_within_day: \"within a day\",\n\n // Misc fallbacks\n a_future_date: \"a future date\",\n loading_ellipsis: \"...\",\n} as const satisfies Record<string, string>;\n\nexport type SubscriptionsDict = typeof subscriptionsEn;\n","import {\n createDomainTranslations,\n type DomainTranslations,\n} from \"@fluid-app/i18n/translations\";\nimport { createStaticDictAdapter } from \"@fluid-app/i18n/static-dict-adapter\";\nimport type { TranslationApi } from \"@fluid-app/i18n/translation-api\";\nimport {\n subscriptionsEn,\n type SubscriptionsDict,\n} from \"./translation-dictionary\";\n\nexport const subscriptionsDomain: DomainTranslations<SubscriptionsDict> =\n createDomainTranslations<SubscriptionsDict>({\n fallback: subscriptionsEn,\n loaders: {\n de: () =>\n import(\"./locale/de.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n el: () =>\n import(\"./locale/el.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n es: () =>\n import(\"./locale/es.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n fr: () =>\n import(\"./locale/fr.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n he: () =>\n import(\"./locale/he.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n hu: () =>\n import(\"./locale/hu.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n id: () =>\n import(\"./locale/id.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n it: () =>\n import(\"./locale/it.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n ja: () =>\n import(\"./locale/ja.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n ko: () =>\n import(\"./locale/ko.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n nl: () =>\n import(\"./locale/nl.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n pl: () =>\n import(\"./locale/pl.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n pt: () =>\n import(\"./locale/pt.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n ro: () =>\n import(\"./locale/ro.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n ru: () =>\n import(\"./locale/ru.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n th: () =>\n import(\"./locale/th.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n tl: () =>\n import(\"./locale/tl.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n tr: () =>\n import(\"./locale/tr.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n zh_CN: () =>\n import(\"./locale/zh_CN.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n zh_TW: () =>\n import(\"./locale/zh_TW.json\").then(\n (m): SubscriptionsDict => m.default as SubscriptionsDict,\n ),\n },\n });\n\nexport function createSubscriptionsTranslationAdapter(\n locale: string,\n dict: SubscriptionsDict,\n): TranslationApi<SubscriptionsDict> {\n return createStaticDictAdapter(locale, dict);\n}\n","export const profileEn = {\n breadcrumb: \"Profile\",\n edit_profile: \"Edit Profile\",\n first_name: \"First Name\",\n last_name: \"Last Name\",\n phone_number: \"Phone Number\",\n bio: \"Bio\",\n add_a_short_bio: \"Add a short bio\",\n language: \"Language\",\n first_name_is_required: \"First name is required\",\n last_name_is_required: \"Last name is required\",\n language_is_required: \"Language is required\",\n saving: \"Saving...\",\n save_changes: \"Save Changes\",\n select_an_option: \"Select an option\",\n points_history: \"{{label}} History\",\n points_available: \"{{label}} Available\",\n points_awarded: \"{{label}} Awarded\",\n points_redeemed: \"{{label}} Redeemed\",\n transaction: \"Transaction\",\n no_points_history_found: \"No {{label}} history found\",\n email: \"Email\",\n shipping_addresses: \"Shipping Addresses\",\n add_an_address: \"Add an Address\",\n delete_address: \"Delete Address\",\n delete_address_message:\n \"Are you sure you want to delete this address? This action cannot be undone.\",\n delete: \"Delete\",\n no_saved_addresses_found: \"No saved addresses found\",\n add_address: \"Add Address\",\n edit_address: \"Edit Address\",\n set_as_default_address: \"Set as default address\",\n save_address: \"Save Address\",\n card_number: \"Card Number\",\n expiration_date: \"Expiration (MM / YY)\",\n cvc: \"CVC\",\n cardholder_name: \"Cardholder Name\",\n add_credit_card: \"Add Credit Card\",\n save_card: \"Save Card\",\n securing: \"Loading secure form...\",\n payment_methods: \"Payment Methods\",\n add_payment_method: \"Add Payment Method\",\n delete_credit_card: \"Delete Credit Card\",\n delete_credit_card_message:\n \"Are you sure you want to delete this payment method? This action cannot be undone.\",\n delete_card: \"Delete card\",\n deleting: \"Deleting...\",\n tap_to_confirm: \"Tap to confirm\",\n edit_card: \"Card Details\",\n billing_address: \"Billing Address\",\n country: \"Country\",\n name: \"Name\",\n address_line_1: \"Address Line 1\",\n address_line_2: \"Apartment, suite, etc.\",\n city: \"City\",\n state: \"State\",\n province: \"Province\",\n zip_code: \"Zip Code\",\n postal_code: \"Postal Code\",\n select_state: \"Select state\",\n set_as_default_payment_method: \"Set as default payment method\",\n same_as_shipping: \"Same as shipping address\",\n use_a_different_address: \"Use a different address\",\n add_billing_address: \"Add billing address\",\n cancel: \"Cancel\",\n save: \"Save\",\n close: \"Close\",\n edit: \"Edit\",\n default: \"Default\",\n card_expires: \"Expires\",\n no_billing_address: \"No billing address on file\",\n default_payment_method_updated: \"Payment method updated\",\n failed_to_set_default_payment_method: \"Failed to update payment method\",\n personal_information: \"Personal information\",\n phone: \"Phone\",\n add_phone_number: \"Add phone number\",\n pts_available: \"{{count}} {{label}} available\",\n see_all_transactions: \"See all {{count}} transactions\",\n no_points_yet: \"No {{label}} yet\",\n earn_points_hint: \"Earn {{label}} on every order to unlock rewards.\",\n your_mysite_link: \"Your MySite link\",\n edit_link: \"Edit link\",\n public_link: \"Public link\",\n set_your_mysite_link: \"Set your MySite link\",\n copy: \"Copy\",\n cardholder: \"Cardholder\",\n accepted_cards: \"Visa, Mastercard, Amex\",\n address: \"Address\",\n social_media: \"Social media\",\n connected_count: \"{{count}} connected\",\n connect: \"Connect\",\n sign_out: \"Sign out\",\n sign_out_description: \"You can sign back in any time\",\n profile_updated: \"Profile updated\",\n failed_to_update_profile: \"Failed to update profile\",\n failed_to_delete_payment_method: \"Failed to delete payment method\",\n failed_to_update_payment_method: \"Failed to update payment method\",\n address_created: \"Address created\",\n address_already_exists: \"This address already exists\",\n failed_to_create_address: \"Failed to create address\",\n address_updated: \"Address updated\",\n failed_to_update_address: \"Failed to update address\",\n address_deleted: \"Address deleted\",\n failed_to_delete_address: \"Failed to delete address\",\n payment_method_added: \"Payment method added\",\n failed_to_add_payment_method: \"Failed to add payment method\",\n verify_your_payment: \"Verify Your Payment\",\n payment_verification_timed_out:\n \"Payment verification timed out. Please try again.\",\n payment_verification_didnt_complete:\n \"Payment verification didn't complete. Please try again.\",\n still_working_with_your_bank: \"Still working with your bank…\",\n dont_refresh_this_tab: \"Don't refresh this tab\",\n mysite_link_copied: \"MySite link copied\",\n failed_to_copy_link: \"Failed to copy link\",\n mysite_link_empty: \"Link cannot be empty\",\n mysite_link_updated: \"MySite link updated\",\n failed_to_update_mysite_link: \"Failed to update MySite link\",\n platform_not_editable: \"This platform isn't editable yet\",\n social_link_updated: \"Social link updated\",\n failed_to_update_social_link: \"Failed to update social link\",\n edit_social_link: \"Edit social link\",\n edit_platform_link: \"Edit {{platform}} link\",\n url: \"URL\",\n make_default: \"Make Default\",\n please_enter_new_email: \"Please enter a new email address\",\n please_enter_valid_email: \"Please enter a valid email address\",\n new_email_must_be_different:\n \"New email must be different from your current email\",\n failed_to_initiate_email_change: \"Failed to initiate email change\",\n sending: \"Sending...\",\n send_verification: \"Send verification\",\n name_is_required: \"Name is required\",\n address_line_1_is_required: \"Address line 1 is required\",\n city_is_required: \"City is required\",\n state_is_required: \"State is required\",\n zip_code_is_required: \"Zip code is required\",\n country_is_required: \"Country is required\",\n about_me: \"About Me\",\n profile_image_alt: \"Profile\",\n social_media_links: \"Social Media Links\",\n whatsapp_placeholder: \"Phone number or link\",\n wechat_placeholder: \"WeChat ID\",\n bio_placeholder: \"Tell people a little about yourself...\",\n unable_to_load_account:\n \"Unable to load account data. Please try again later.\",\n account_fallback: \"Account\",\n change: \"Change\",\n personal_information_title: \"Personal Information\",\n error_updating_profile:\n \"Error updating profile. Please verify your information and try again.\",\n payment_method_deleted: \"Payment method deleted\",\n default_address_updated: \"Default address updated\",\n failed_to_update_default_address: \"Failed to update default address\",\n unable_to_delete_payment_method:\n \"We were unable to delete this payment method. Please try again.\",\n unable_to_delete_address:\n \"We were unable to delete this address. Please try again.\",\n add_a_payment_method: \"+ Add a payment method\",\n payment_method_alt: \"Payment Method\",\n add_an_address_action: \"+ Add an address\",\n add_payment_method_action: \"+ Add Payment Method\",\n shipping_address_updated: \"Shipping address updated\",\n failed_to_update_shipping_address: \"Failed to update shipping address\",\n email_change_pending: \"Email change pending\",\n email_being_changed_to: \"Your email is being changed to\",\n new_email_verified: \"Your new email has been verified.\",\n check_new_inbox_verification:\n \"Check your new inbox and click the verification link to complete the change.\",\n request_expired: \"This request has expired.\",\n request_expires_in_one_day: \"This request expires in 1 day.\",\n request_expires_in_days: \"This request expires in {{days}} days.\",\n cancel_change: \"Cancel change\",\n card_fallback: \"Card\",\n enter_new_email_placeholder: \"Enter your new email...\",\n email_verification_hint:\n \"We'll send a verification link to your new email. Click it to complete the change.\",\n changing_email_to: \"Changing to\",\n check_new_email_verification:\n \"Check your new email inbox and click the verification link to complete the change.\",\n unexpected_error: \"An unexpected error occurred. Please try again.\",\n} as const satisfies Record<string, string>;\n\nexport type ProfileDict = typeof profileEn;\n","import {\n createDomainTranslations,\n type DomainTranslations,\n} from \"@fluid-app/i18n/translations\";\nimport { createStaticDictAdapter } from \"@fluid-app/i18n/static-dict-adapter\";\nimport type { TranslationApi } from \"@fluid-app/i18n/translation-api\";\nimport { profileEn, type ProfileDict } from \"./translation-dictionary\";\n\nexport const profileDomain: DomainTranslations<ProfileDict> =\n createDomainTranslations<ProfileDict>({\n fallback: profileEn,\n loaders: {\n de: () =>\n import(\"./locale/de.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n el: () =>\n import(\"./locale/el.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n es: () =>\n import(\"./locale/es.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n fr: () =>\n import(\"./locale/fr.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n he: () =>\n import(\"./locale/he.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n hu: () =>\n import(\"./locale/hu.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n id: () =>\n import(\"./locale/id.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n it: () =>\n import(\"./locale/it.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n ja: () =>\n import(\"./locale/ja.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n ko: () =>\n import(\"./locale/ko.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n nl: () =>\n import(\"./locale/nl.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n pl: () =>\n import(\"./locale/pl.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n pt: () =>\n import(\"./locale/pt.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n ro: () =>\n import(\"./locale/ro.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n ru: () =>\n import(\"./locale/ru.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n th: () =>\n import(\"./locale/th.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n tl: () =>\n import(\"./locale/tl.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n tr: () =>\n import(\"./locale/tr.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n zh_CN: () =>\n import(\"./locale/zh_CN.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n zh_TW: () =>\n import(\"./locale/zh_TW.json\").then(\n (m): ProfileDict => m.default as ProfileDict,\n ),\n },\n });\n\nexport function createProfileTranslationAdapter(\n locale: string,\n dict: ProfileDict,\n): TranslationApi<ProfileDict> {\n return createStaticDictAdapter(locale, dict);\n}\n","export const messagingEn = {\n // Screen-level (MessagingScreen)\n loading_messaging: \"Loading messaging...\",\n messaging_title: \"Messaging\",\n messaging_load_error: \"Couldn't load messaging. Please refresh to try again.\",\n messaging_unavailable: \"Messaging is not available for your account\",\n\n // Layout\n no_conversations: \"No conversations yet.\",\n\n // Sidebar groups\n sidebar_sms: \"SMS\",\n sidebar_sms_description: \"SMS messages sent and received via Fluid\",\n sidebar_emails: \"Emails\",\n sidebar_emails_description: \"Emails sent and received via Fluid\",\n sidebar_public_channels: \"Public Channels\",\n sidebar_public_channels_description:\n \"Access is determined by filters, and could include anyone from your organization.\",\n sidebar_private_channels: \"Private Channels\",\n sidebar_private_channels_description:\n \"Only members added to this channel can view and send messages to it.\",\n sidebar_broadcast_channels: \"Broadcast Channels\",\n sidebar_broadcast_channels_description:\n \"Only specified channel members can send messages to these channels.\",\n sidebar_downline: \"Downline\",\n sidebar_downline_description: \"Messages to your entire downline.\",\n sidebar_bots: \"Bots\",\n sidebar_bots_description: \"Conversations with automated bots.\",\n sidebar_direct_messages: \"Direct Messages\",\n sidebar_direct_messages_description:\n \"Messages sent to you directly, or to a group you are a member of.\",\n sidebar_other: \"Other Conversations\",\n sidebar_other_description: \"Conversations that don't match a known category.\",\n\n // Sidebar footer\n sidebar_new_message: \"Message\",\n sidebar_new_channel: \"Channel\",\n sidebar_contacts: \"Contacts\",\n sidebar_scheduled_messages: \"Scheduled Messages\",\n sidebar_new_button_close: \"Close\",\n sidebar_new_button_open: \"New\",\n\n // Sidebar group load states\n sidebar_failed_to_load: \"Failed to load\",\n sidebar_load_more: \"Load more\",\n sidebar_show_all: \"Show All\",\n sidebar_show_less: \"Show Less\",\n\n // Top bar / page titles\n page_title_pinned_messages: \"Pinned Messages\",\n page_title_new_message: \"New Message\",\n page_title_scheduled_messages: \"Scheduled Messages\",\n\n // Messages header\n header_invite_users: \"Invite Users\",\n header_channel_settings: \"Channel Settings\",\n header_sms_message: \"SMS Message\",\n header_email_message: \"Email Message\",\n header_group_message: \"Group Message\",\n header_downline_message: \"Downline Message\",\n header_direct_message: \"Direct Message\",\n\n // Header actions\n header_more_options: \"More options\",\n header_channel_options: \"Channel Options\",\n header_channel_details: \"Channel Details\",\n header_mute_channel: \"Mute Channel\",\n header_pinned_messages: \"Pinned Messages\",\n header_leave_channel: \"Leave Channel\",\n\n // Messages\n message_pinned: \"Pinned\",\n message_pin: \"Pin message\",\n message_unpin: \"Unpin message\",\n message_copy_link: \"Copy link to message\",\n message_link_copied: \"Message link copied to clipboard\",\n message_link_copy_failed: \"Failed to copy message link\",\n message_pin_error: \"Could not pin message.\",\n message_unpin_error: \"Could not unpin message.\",\n message_unknown_sender: \"Unknown Sender\",\n message_new: \"New\",\n message_new_messages: \"New messages\",\n message_load_more: \"Load more\",\n message_loading_more: \"Loading more messages...\",\n message_loading_newer: \"Loading newer messages...\",\n\n // Error states\n error_title: \"Something went wrong\",\n error_message: \"Failed to load messages. Please try again.\",\n error_retry: \"Try again\",\n error_conversation_not_found: \"Conversation not found\",\n error_conversation_not_found_description:\n \"This conversation does not exist. It may have been deleted.\",\n error_failed_to_load_messages: \"Failed to load messages\",\n error_load_messages_description:\n \"We got an error loading messages. Please try again in a moment and contact us if the problem persists.\",\n error_no_messages_on_date: \"No messages on or after this date\",\n error_joined_channel: \"You joined the channel\",\n\n // Send/receive status\n send_failed: \"Failed to send message\",\n send_permission_denied:\n \"You don't have permission to send messages to this conversation.\",\n send_account_loading:\n \"Your account details are still loading, so you can't send messages yet.\",\n\n // Scheduled messages\n scheduled_message_updated: \"Scheduled message updated\",\n scheduled_update_failed: \"Failed to update scheduled message\",\n scheduled_message_deleted: \"Scheduled message deleted\",\n scheduled_message_rescheduled: \"Message rescheduled\",\n scheduled_loading: \"Loading scheduled messages...\",\n scheduled_loading_more: \"Loading more scheduled messages...\",\n scheduled_fetch_error: \"Failed to fetch scheduled messages\",\n scheduled_no_messages: \"No scheduled messages\",\n scheduled_send_now_title: \"Send Message Now?\",\n scheduled_send_message_to: \"Send message to\",\n scheduled_send_now: \"Send Now\",\n scheduled_delete_title: \"Delete Scheduled Message?\",\n scheduled_delete_message_to: \"Delete scheduled message to\",\n scheduled_delete_undone:\n \"Once deleted this message will be gone forever, this action cannot be undone.\",\n scheduled_delete: \"Delete\",\n scheduled_reschedule_title: \"Reschedule Message\",\n scheduled_reschedule_save: \"Save\",\n\n // Scheduled message actions\n scheduled_action_go_to_conversation: \"Go to conversation\",\n scheduled_action_edit_message: \"Edit message\",\n scheduled_action_reschedule: \"Reschedule\",\n scheduled_action_send_now: \"Send now\",\n scheduled_action_delete: \"Delete message\",\n\n // Scheduled message badges\n scheduled_badge_failed: \"Failed\",\n scheduled_badge_overdue: \"Overdue\",\n\n // Scheduled banner\n scheduled_banner_failed:\n \"This scheduled message likely failed — it was scheduled for {{date}} at {{time}}.\",\n scheduled_banner_overdue:\n \"This scheduled message is overdue — it was scheduled for {{date}} at {{time}}.\",\n scheduled_banner_editing:\n \"This message will be sent on {{date}} at {{time}}.\",\n scheduled_banner_single: \"Your message will be sent on {{date}} at {{time}}.\",\n scheduled_banner_multiple:\n \"You have {{count}} scheduled messages. Next is {{date}} at {{time}}.\",\n scheduled_banner_others_suffix:\n \" You have {{count}} other {{label}} scheduled in this conversation.\",\n scheduled_banner_message_singular: \"message\",\n scheduled_banner_message_plural: \"messages\",\n scheduled_banner_view: \"View Scheduled Messages\",\n\n // Pinned messages\n pinned_loading: \"Loading pinned messages...\",\n pinned_loading_more: \"Loading more pinned messages...\",\n pinned_error: \"Failed to load pinned messages\",\n pinned_error_try_again: \"Please try again later.\",\n pinned_conversation_not_found: \"Conversation not found\",\n pinned_conversation_deleted: \"This conversation may have been deleted.\",\n pinned_no_messages: \"No pinned messages\",\n\n // Composer\n composer_placeholder: \"Type message here...\",\n composer_placeholder_default: \"Type your message...\",\n composer_add_emoji: \"Add emoji\",\n composer_attach_file: \"Attach file\",\n composer_send: \"Send message\",\n composer_schedule: \"Schedule message\",\n composer_save_scheduled: \"Save scheduled message\",\n composer_enter_to_send: \"Enter to Send\",\n composer_shift_enter_to_send: \"Shift + Enter to Send\",\n composer_saving: \"SAVING\",\n composer_schedule_send: \"Schedule send\",\n composer_custom_date_time: \"Custom date & time…\",\n\n // Toolbar\n toolbar_bold: \"Bold\",\n toolbar_italic: \"Italic\",\n toolbar_strikethrough: \"Strikethrough\",\n toolbar_add_link: \"Add Link\",\n toolbar_bullet_list: \"Bullet List\",\n toolbar_numbered_list: \"Numbered List\",\n\n // Attachment dropzone\n dropzone_upload: \"Drop Attachment to Upload\",\n\n // Recipient config bar\n recipient_to: \"To:\",\n recipient_placeholder: \"#channel-name or @user\",\n\n // Add link modal\n add_link_title: \"Add link\",\n add_link_text_label: \"Text\",\n add_link_url_label: \"Link\",\n add_link_url_placeholder: \"https://example.com\",\n add_link_cancel: \"Cancel\",\n add_link_save: \"Save\",\n add_link_text_required: \"Text is required\",\n add_link_url_required: \"Link is required\",\n add_link_url_invalid: \"Please enter a valid URL\",\n\n // Date picker dialog\n date_picker_jump_to_date: \"Jump to date\",\n date_picker_cancel: \"Cancel\",\n date_picker_apply: \"Apply\",\n date_picker_today: \"Today\",\n date_picker_close: \"Close\",\n date_picker_previous_month: \"Previous month\",\n date_picker_next_month: \"Next month\",\n\n // Schedule message dialog\n schedule_dialog_cancel: \"Cancel\",\n schedule_dialog_close: \"Close\",\n schedule_dialog_previous_month: \"Previous month\",\n schedule_dialog_next_month: \"Next month\",\n\n // Divider / jump to date\n divider_today: \"Today\",\n divider_yesterday: \"Yesterday\",\n divider_jump_to: \"Jump to...\",\n divider_last_week: \"Last Week\",\n divider_last_month: \"Last Month\",\n divider_very_beginning: \"Very Beginning\",\n divider_specific_date: \"Specific Date\",\n\n // System messages\n system_started_email: \"{{name}} started an email conversation\",\n system_started_sms: \"{{name}} started an SMS conversation\",\n system_started_conversation: \"{{name}} started the conversation\",\n system_created_channel: \"{{name}} created the channel\",\n system_created_group: \"{{name}} created the group\",\n system_created_channel_named:\n \"Created {{prefix}} #{{channelName}} with {{count}} members\",\n system_created_channel_auto_add:\n \"Created {{prefix}} #{{channelName}} with {{count}} members (auto-add enabled)\",\n system_created_group_named:\n 'Created group \"{{groupName}}\" with {{count}} members',\n system_named_channel: \"Named the channel #{{channelName}}\",\n system_named_group: 'Named the group \"{{name}}\"',\n system_changed_emoji:\n \"Changed channel emoji from {{oldEmoji}} to {{newEmoji}}\",\n system_changed_channel_name:\n \"Changed channel name from #{{oldName}} to #{{newName}}\",\n system_changed_group_name:\n 'Changed group name from \"{{oldName}}\" to \"{{newName}}\"',\n system_updated_conversation_name: \"Updated conversation name\",\n system_added_member: \"Added {{name}} to the conversation\",\n system_added_members: \"Added {{count}} members to the conversation\",\n system_added_members_fallback: \"Added members to the conversation\",\n system_removed_member: \"Removed {{name}} from the conversation\",\n system_removed_members: \"Removed {{count}} members from the conversation\",\n system_removed_members_fallback: \"Removed members from the conversation\",\n system_member_left: \"{{name}} left the conversation\",\n system_members_left: \"{{count}} members left the conversation\",\n system_left_fallback: \"Left the conversation\",\n system_member_joined: \"{{name}} joined the conversation\",\n system_members_joined: \"{{count}} members joined the conversation\",\n system_joined_fallback: \"Joined the conversation\",\n\n // Channel wizard - step titles\n wizard_step_new_channel: \"New Channel\",\n wizard_step_add_members: \"Add Members\",\n\n // Channel wizard - visibility options\n wizard_visibility_public_label: \"Public\",\n wizard_visibility_public_description:\n \"Anyone can discover this channel and view its history.\",\n wizard_visibility_team_label: \"Team\",\n wizard_visibility_team_description:\n \"Only team members can view this channel.\",\n wizard_visibility_broadcast_label: \"Broadcast\",\n wizard_visibility_broadcast_description:\n \"Admins can message, everyone else can view.\",\n\n // Channel wizard\n wizard_channel_name: \"Channel Name\",\n wizard_channel_description: \"Channel Description\",\n wizard_channel_description_placeholder: \"Enter a description...\",\n wizard_character_limit: \"120 character limit\",\n wizard_character_count: \"{{count}}/120 character limit\",\n wizard_visibility: \"Visibility\",\n wizard_cancel: \"Cancel\",\n wizard_add_users: \"Add Users\",\n wizard_back: \"Back\",\n wizard_create_channel: \"Create Channel\",\n wizard_creating: \"Creating...\",\n\n // Channel wizard - member selection\n wizard_filter_users: \"Filter Users\",\n wizard_filter_users_description: \"Add users by selecting specific traits.\",\n wizard_search_users: \"Search Users\",\n wizard_search_users_description: \"Manually add additional users.\",\n wizard_search_users_placeholder: \"Type users name\",\n wizard_add_all_users: \"Add All Users\",\n wizard_add_all_users_description: \"Select all users in your organization.\",\n wizard_clear_all_users: \"Clear All Users\",\n wizard_auto_add_future_members: \"Automatically add future members\",\n wizard_auto_add_future_members_description:\n \"Any new members added to your team will be added.\",\n\n // Channel wizard - filters\n wizard_filter_country: \"Country\",\n wizard_filter_language: \"Language\",\n wizard_filter_rank: \"Rank\",\n wizard_filter_member_type: \"Member Type\",\n wizard_filter_placeholder: \"Select or search\",\n wizard_auto_add_filter_members:\n \"Automatically add future members that match these filters\",\n wizard_auto_add_filter_description:\n \"Any new members added to your team will be added based on selected filters.\",\n\n // Channel wizard - user count card\n wizard_no_users_added: \"No Users Added\",\n wizard_users_added: \"{{count}} Users Added\",\n wizard_includes_all_users: \"Includes all users in your organization.\",\n wizard_sms_private_conversation:\n \"Each recipient will receive their own private\\nconversation, so it won't be a group message.\",\n wizard_based_on_filters_and_people:\n \"Based on selected filters and manually added people.\",\n wizard_based_on_filters: \"Based on selected filters.\",\n wizard_includes_manual_people: \"Includes manually added people.\",\n wizard_add_recipients: \"Add recipients below to get started\",\n wizard_public_channel: \"Public Channel\",\n wizard_team_channel: \"Team Channel\",\n wizard_broadcast_channel: \"Broadcast Channel\",\n\n // Existing conversation callout\n wizard_existing_conversation: \"This conversation already exists\",\n wizard_existing_conversation_description:\n \"Would you like to open the existing conversation?\",\n wizard_open_conversation: \"Open Conversation\",\n wizard_dismiss: \"Dismiss\",\n\n // Sidebar\n sidebar_pro_feature: \"Pro feature\",\n\n // Attachment display\n attachment_unknown_size: \"Unknown size\",\n attachment_remove: \"Remove attachment\",\n attachment_starting_upload: \"Starting upload\",\n attachment_file_too_large: \"File is too large\",\n\n // Timestamp\n timestamp_local_time: \"Local Time\",\n timestamp_local: \"Local\",\n timestamp_at: \"at\",\n\n // Top bar\n topbar_back: \"Back\",\n topbar_forward: \"Forward\",\n\n // Scheduled actions\n scheduled_action_more_options: \"More options\",\n\n // Wizard - tag multi-select\n wizard_error_loading_results: \"Error loading results\",\n wizard_no_results: \"No results\",\n\n // Wizard - channel details\n wizard_channel_icon: \"Channel icon\",\n\n // Wizard - existing conversation callout\n wizard_existing_conversation_close: \"Close\",\n\n // Generic\n cancel: \"Cancel\",\n loading: \"loading...\",\n unknown: \"Unknown\",\n someone: \"Someone\",\n broadcast_channel: \"broadcast channel\",\n channel: \"channel\",\n none: \"none\",\n close: \"Close\",\n} as const satisfies Record<string, string>;\n\nexport type MessagingDict = typeof messagingEn;\n","import {\n createDomainTranslations,\n type DomainTranslations,\n} from \"@fluid-app/i18n/translations\";\nimport { createStaticDictAdapter } from \"@fluid-app/i18n/static-dict-adapter\";\nimport type { TranslationApi } from \"@fluid-app/i18n/translation-api\";\nimport { messagingEn, type MessagingDict } from \"./translation-dictionary\";\n\nexport const messagingDomain: DomainTranslations<MessagingDict> =\n createDomainTranslations<MessagingDict>({\n fallback: messagingEn,\n loaders: {\n de: () =>\n import(\"./locale/de.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n el: () =>\n import(\"./locale/el.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n es: () =>\n import(\"./locale/es.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n fr: () =>\n import(\"./locale/fr.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n he: () =>\n import(\"./locale/he.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n hu: () =>\n import(\"./locale/hu.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n id: () =>\n import(\"./locale/id.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n it: () =>\n import(\"./locale/it.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n ja: () =>\n import(\"./locale/ja.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n ko: () =>\n import(\"./locale/ko.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n nl: () =>\n import(\"./locale/nl.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n pl: () =>\n import(\"./locale/pl.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n pt: () =>\n import(\"./locale/pt.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n ro: () =>\n import(\"./locale/ro.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n ru: () =>\n import(\"./locale/ru.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n th: () =>\n import(\"./locale/th.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n tl: () =>\n import(\"./locale/tl.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n tr: () =>\n import(\"./locale/tr.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n zh_CN: () =>\n import(\"./locale/zh_CN.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n zh_TW: () =>\n import(\"./locale/zh_TW.json\").then(\n (m): MessagingDict => m.default as MessagingDict,\n ),\n },\n });\n\nexport function createMessagingTranslationAdapter(\n locale: string,\n dict: MessagingDict,\n): TranslationApi<MessagingDict> {\n return createStaticDictAdapter(locale, dict);\n}\n","const STORAGE_KEY = \"portal-language\";\n\nexport interface SupportedLanguage {\n id: number;\n iso: string;\n name: string;\n}\n\nexport const SUPPORTED_LANGUAGES: SupportedLanguage[] = [\n { id: 1, iso: \"en\", name: \"English\" },\n { id: 2, iso: \"es\", name: \"Español (Spanish)\" },\n { id: 3, iso: \"pt\", name: \"Português (Portuguese)\" },\n { id: 4, iso: \"fr\", name: \"Français (French)\" },\n { id: 5, iso: \"de\", name: \"Deutsch (German)\" },\n { id: 6, iso: \"it\", name: \"Italiano (Italian)\" },\n { id: 7, iso: \"nl\", name: \"Nederlands (Dutch)\" },\n { id: 8, iso: \"pl\", name: \"Polski (Polish)\" },\n { id: 9, iso: \"hu\", name: \"Magyar (Hungarian)\" },\n { id: 10, iso: \"id\", name: \"Bahasa Indonesia (Indonesian)\" },\n { id: 11, iso: \"ja\", name: \"日本語 (Japanese)\" },\n { id: 12, iso: \"ko\", name: \"한국어 (Korean)\" },\n { id: 13, iso: \"ru\", name: \"Русский (Russian)\" },\n { id: 14, iso: \"el\", name: \"Ελληνικά (Greek)\" },\n { id: 15, iso: \"ro\", name: \"Română (Romanian)\" },\n { id: 16, iso: \"tr\", name: \"Türkçe (Turkish)\" },\n { id: 17, iso: \"he\", name: \"עברית (Hebrew)\" },\n { id: 18, iso: \"tl\", name: \"Tagalog\" },\n { id: 19, iso: \"th\", name: \"ไทย (Thai)\" },\n { id: 20, iso: \"zh_CN\", name: \"简体中文 (Chinese - Simplified)\" },\n { id: 21, iso: \"zh_TW\", name: \"繁體中文 (Chinese - Traditional)\" },\n];\n\nconst SUPPORTED_CODES = SUPPORTED_LANGUAGES.map((l) => l.iso);\n\nfunction getPersistedLocale(): string | null {\n try {\n return localStorage.getItem(STORAGE_KEY);\n } catch {\n return null;\n }\n}\n\nexport function persistLocale(locale: string): void {\n try {\n localStorage.setItem(STORAGE_KEY, locale);\n } catch {\n // localStorage unavailable\n }\n}\n\nfunction getBrowserLocale(): string {\n if (typeof navigator === \"undefined\") return \"en\";\n return navigator.language.replace(/-/g, \"_\");\n}\n\nexport function getOptimisticLocale(): string {\n const persisted = getPersistedLocale();\n if (persisted && SUPPORTED_CODES.includes(persisted)) return persisted;\n return resolveLocale(SUPPORTED_CODES);\n}\n\nexport function resolveLocale(supportedCodes: string[]): string {\n const persisted = getPersistedLocale();\n if (persisted && supportedCodes.includes(persisted)) return persisted;\n\n const browser = getBrowserLocale();\n if (supportedCodes.includes(browser)) return browser;\n\n const browserLang = browser.split(\"_\")[0];\n const match = supportedCodes.find(\n (c) => c === browserLang || c.startsWith(`${browserLang}_`),\n );\n if (match) return match;\n\n return supportedCodes[0] ?? \"en\";\n}\n","/**\n * Main Fluid SDK Provider\n * Wraps QueryClientProvider and FluidThemeProvider\n */\n\nimport {\n createContext,\n type ReactNode,\n use,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from \"react\";\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\nimport { createPersister } from \"@fluid-app/query-persister\";\nimport { AppDefinitionApiProvider } from \"@fluid-app/portal-core/app-definition-api-context\";\nimport { DataSourceApiProvider } from \"@fluid-app/portal-core/data-source-api-context\";\nimport type { DataSourceApi } from \"@fluid-app/portal-core/data-source-api\";\nimport { AccountApiProvider } from \"@fluid-app/portal-core/account-api-context\";\nimport { StoreApiProvider } from \"@fluid-app/portal-core/store-api-context\";\nimport type { StoreApi } from \"@fluid-app/portal-core/store-api\";\nimport { PayApiProvider } from \"@fluid-app/portal-core/pay-api-context\";\nimport { MySiteApiProvider } from \"@fluid-app/mysite-core/mysite-api-context\";\nimport { CountriesApiProvider } from \"@fluid-app/store-core/countries-api-context\";\nimport { LanguagesApiProvider } from \"@fluid-app/store-core/languages-api-context\";\nimport { AddressAutocompleteApiProvider } from \"@fluid-app/address-autocomplete/api-context\";\nimport { createSmartyBrowserAdapter } from \"@fluid-app/address-autocomplete/adapters/smarty-browser\";\nimport { AddressFieldsApiProvider } from \"@fluid-app/address-fields/address-fields-api-context\";\nimport { createFetchClient as createPortalTenantFetchClient } from \"@fluid-app/portal-tenant-api-client\";\nimport { createFetchClient as createPortalTenantContentFetchClient } from \"@fluid-app/portal-tenant-content-api-client\";\nimport { createDataSourceApiAdapter } from \"../adapters/data-source-api-adapter\";\nimport { createAppDefinitionApiAdapter } from \"../adapters/app-definition-api-adapter\";\nimport { createAccountApiAdapter } from \"../adapters/account-api-adapter\";\nimport { createStoreApiAdapter } from \"../adapters/store-api-adapter\";\nimport { createPortalTenantPayAdapter } from \"../adapters/pay-api-adapter\";\nimport { createCountriesApiAdapter } from \"../adapters/countries-api-adapter\";\nimport { createLanguagesApiAdapter } from \"../adapters/languages-api-adapter\";\nimport { createMySiteApiAdapter } from \"../adapters/mysite-api-adapter\";\nimport { createAddressFieldsApiAdapter } from \"../adapters/address-fields-api-adapter\";\nimport { FluidThemeProvider } from \"./FluidThemeProvider\";\nimport { PortalTenantClientProvider } from \"./PortalTenantClientProvider\";\nimport { DataSourceRegistryProvider } from \"@fluid-app/portal-react/data-sources/registry-context\";\nimport {\n composePortalRuntimeProviders,\n type PortalRuntimeProviderMap,\n} from \"@fluid-app/portal-react/runtime/provider-stack\";\nimport {\n RegistryProvider,\n PortalUrlVariablesProvider,\n type WidgetRegistry,\n} from \"@fluid-app/portal-widgets/contexts\";\nimport {\n LocaleProvider,\n useActiveLocale,\n} from \"@fluid-app/i18n/locale-context\";\nimport { PortalProductsApiProvider } from \"../products/PortalProductsApiProvider\";\nimport { PortalContentApiProvider } from \"../content/PortalContentApiProvider\";\nimport { ShellTranslationBridge } from \"./ShellTranslationBridge\";\nimport { PortalWidgetsApiProvider } from \"../widgets/PortalWidgetsApiProvider\";\nimport { PortalContactsApiProvider } from \"../contacts/PortalContactsApiProvider\";\nimport { ShopTranslationBridge } from \"./ShopTranslationBridge\";\nimport { ContactsTranslationBridge } from \"./ContactsTranslationBridge\";\nimport { DEFAULT_SDK_WIDGET_REGISTRY } from \"../core/default-widget-registry\";\nimport { preloadLocale } from \"@fluid-app/i18n/preload-locale\";\nimport { ordersDomain } from \"@fluid-app/orders-core/translation-adapter\";\nimport { subscriptionsDomain } from \"@fluid-app/subscriptions-core/translation-adapter\";\nimport { profileDomain } from \"@fluid-app/profile-core/translation-adapter\";\nimport { messagingDomain } from \"@fluid-app/messaging-core/translation-adapter\";\nimport { shareablesDomain } from \"@fluid-app/shareables-core/translation-adapter\";\nimport { upgradeDomain } from \"@fluid-app/portal-pro-upgrade-ui/translation-adapter\";\nimport { appDownloadDomain } from \"@fluid-app/portal-app-download-ui/translation-adapter\";\nimport { mysiteDomain } from \"@fluid-app/mysite-core/translation-adapter\";\n\nimport {\n getOptimisticLocale,\n persistLocale,\n} from \"../hooks/use-portal-active-locale\";\nimport { useAccount } from \"../hooks/use-account\";\nimport type { FluidSDKConfig } from \"../types/config\";\nimport type { ThemeDefinition } from \"../types/theme\";\n\n/**\n * Context value for FluidProvider.\n * All properties are readonly since context values should not be mutated by consumers.\n */\ninterface FluidContextValue {\n /** SDK configuration */\n readonly config: FluidSDKConfig;\n}\n\ntype FluidRuntime = {\n baseUrl: string;\n dataSourceApi: DataSourceApi;\n getApiHeaders: () => Record<string, string>;\n dataSourceVariables: Record<string, string> | undefined;\n registry: WidgetRegistry;\n storeApi: StoreApi;\n};\n\ntype FluidRuntimeProviderProps = {\n children: ReactNode;\n} & FluidRuntime;\n\nconst fluidRuntimeProviders: PortalRuntimeProviderMap<FluidRuntime> = {\n \"store-api-provider\": {\n id: \"store-api-provider\",\n Provider: ({ children, storeApi }: FluidRuntimeProviderProps) => {\n return <StoreApiProvider value={storeApi}>{children}</StoreApiProvider>;\n },\n },\n \"portal-url-variables-provider\": {\n id: \"portal-url-variables-provider\",\n Provider: ({ children }: { children: ReactNode }) => {\n return (\n <PortalUrlVariablesProvider value={{}}>\n {children}\n </PortalUrlVariablesProvider>\n );\n },\n },\n \"products-api-provider\": {\n id: \"products-api-provider\",\n Provider: ({ children }: { children: ReactNode }) => {\n return <PortalProductsApiProvider>{children}</PortalProductsApiProvider>;\n },\n },\n \"content-api-provider\": {\n id: \"content-api-provider\",\n Provider: ({ children }: { children: ReactNode }) => {\n return <PortalContentApiProvider>{children}</PortalContentApiProvider>;\n },\n },\n \"shell-translation-provider\": {\n id: \"shell-translation-provider\",\n Provider: ({ children }: { children: ReactNode }) => {\n return <ShellTranslationBridge>{children}</ShellTranslationBridge>;\n },\n },\n \"shop-translation-provider\": {\n id: \"shop-translation-provider\",\n Provider: ({ children }: { children: ReactNode }) => {\n return <ShopTranslationBridge>{children}</ShopTranslationBridge>;\n },\n },\n \"contacts-translation-provider\": {\n id: \"contacts-translation-provider\",\n Provider: ({ children }: { children: ReactNode }) => {\n return <ContactsTranslationBridge>{children}</ContactsTranslationBridge>;\n },\n },\n \"contacts-api-provider\": {\n id: \"contacts-api-provider\",\n Provider: ({ children }: { children: ReactNode }) => {\n return <PortalContactsApiProvider>{children}</PortalContactsApiProvider>;\n },\n },\n \"data-source-api-provider\": {\n id: \"data-source-api-provider\",\n Provider: ({ children, dataSourceApi }: FluidRuntimeProviderProps) => {\n return (\n <DataSourceApiProvider value={dataSourceApi}>\n {children}\n </DataSourceApiProvider>\n );\n },\n },\n \"data-source-registry-provider\": {\n id: \"data-source-registry-provider\",\n Provider: ({\n children,\n baseUrl,\n getApiHeaders,\n dataSourceVariables,\n }: FluidRuntimeProviderProps) => {\n return (\n <DataSourceRegistryProvider\n baseUrl={baseUrl}\n getApiHeaders={getApiHeaders}\n variables={dataSourceVariables}\n >\n {children}\n </DataSourceRegistryProvider>\n );\n },\n },\n \"widgets-api-provider\": {\n id: \"widgets-api-provider\",\n Provider: ({\n children,\n baseUrl,\n getApiHeaders,\n registry,\n }: FluidRuntimeProviderProps) => {\n return (\n <PortalWidgetsApiProvider\n baseUrl={baseUrl}\n getApiHeaders={getApiHeaders}\n >\n <RegistryProvider registry={registry}>{children}</RegistryProvider>\n </PortalWidgetsApiProvider>\n );\n },\n },\n};\n\nconst FluidContext = createContext<FluidContextValue | null>(null);\n\nconst PER_SCREEN_DOMAINS = [\n ordersDomain,\n subscriptionsDomain,\n profileDomain,\n messagingDomain,\n shareablesDomain,\n upgradeDomain,\n appDownloadDomain,\n mysiteDomain,\n];\n\nexport interface FluidProviderProps {\n /** SDK configuration (baseUrl, auth, etc.) */\n config: FluidSDKConfig;\n /** React children */\n children: ReactNode;\n /** Optional custom QueryClient instance */\n queryClient?: QueryClient;\n /** Optional initial theme */\n initialTheme?: ThemeDefinition;\n /** Optional container for scoped theme application */\n themeContainer?: HTMLElement | null;\n /** Optional custom widget registry (defaults to all built-in widgets) */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n widgetRegistry?: Record<string, React.ComponentType<any>>;\n /** Dynamic variables for data source endpoint path substitution (e.g., { rep_id: \"123\" }) */\n variables?: Record<string, string>;\n}\n\n/**\n * Main provider for the Fluid Portal SDK\n *\n * @example\n * ```tsx\n * function App() {\n * return (\n * <FluidProvider\n * config={{ baseUrl: \"\" }}\n * >\n * <YourApp />\n * </FluidProvider>\n * );\n * }\n * ```\n */\nexport function FluidProvider({\n config,\n children,\n queryClient,\n initialTheme,\n themeContainer,\n widgetRegistry,\n variables,\n}: FluidProviderProps): React.JSX.Element {\n // Create default QueryClient if none provided\n // Using lazy initialization to ensure it's only created once\n const defaultQueryClient = useMemo(() => {\n const persister =\n typeof window !== \"undefined\" && !import.meta.env?.DEV\n ? createPersister()\n : undefined;\n\n return new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: 1000 * 60, // 1 minute\n retry: 1,\n persister: persister?.persisterFn,\n refetchOnWindowFocus: false,\n },\n },\n });\n }, []);\n\n // Keep latest config in a ref so client creation reads current values\n const configRef = useRef(config);\n configRef.current = config;\n\n // Read the CSRF token from the <meta name=\"csrf-token\"> tag that Rails\n // embeds in the HTML. Required for non-GET requests to the BFF.\n const csrfToken =\n typeof document !== \"undefined\"\n ? document\n .querySelector('meta[name=\"csrf-token\"]')\n ?.getAttribute(\"content\")\n : null;\n\n const portalTenantClient = useMemo(\n () =>\n createPortalTenantFetchClient({\n baseUrl: configRef.current.baseUrl,\n onAuthError: () => configRef.current.onAuthError?.(),\n credentials: \"include\",\n defaultHeaders: {\n ...(csrfToken ? { \"X-CSRF-Token\": csrfToken } : {}),\n },\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [config.baseUrl, csrfToken],\n );\n\n // Create portal-tenant content FetchClient for media, pages, and playlists endpoints\n const portalTenantContentClient = useMemo(\n () =>\n createPortalTenantContentFetchClient({\n baseUrl: configRef.current.baseUrl,\n onAuthError: () => configRef.current.onAuthError?.(),\n credentials: \"include\",\n defaultHeaders: {\n ...(csrfToken ? { \"X-CSRF-Token\": csrfToken } : {}),\n },\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [config.baseUrl, csrfToken],\n );\n\n // Create DataSourceApi adapter backed by BFF clients\n const dataSourceApi = useMemo(\n () =>\n createDataSourceApiAdapter(portalTenantClient, portalTenantContentClient),\n [portalTenantClient, portalTenantContentClient],\n );\n\n // Create AppDefinitionApi adapter for dependency inversion\n const appDefinitionApi = useMemo(\n () => createAppDefinitionApiAdapter(portalTenantClient),\n [portalTenantClient],\n );\n\n // Create AccountApi adapter for dependency inversion\n const accountApi = useMemo(\n () => createAccountApiAdapter(portalTenantClient),\n [portalTenantClient],\n );\n\n // Create StoreApi adapter for dependency inversion\n const storeApi = useMemo(\n () => createStoreApiAdapter(portalTenantClient),\n [portalTenantClient],\n );\n\n // Create PayApi adapter for dependency inversion\n const payApi = useMemo(\n () => createPortalTenantPayAdapter(portalTenantClient),\n [portalTenantClient],\n );\n\n // Create CountriesApi adapter for dependency inversion\n const countriesApi = useMemo(\n () => createCountriesApiAdapter(portalTenantClient),\n [portalTenantClient],\n );\n\n // Create LanguagesApi adapter for dependency inversion\n const languagesApi = useMemo(\n () => createLanguagesApiAdapter(portalTenantClient),\n [portalTenantClient],\n );\n\n // Create MySiteApi adapter for dependency inversion\n const mysiteApi = useMemo(\n () => createMySiteApiAdapter(portalTenantClient),\n [portalTenantClient],\n );\n\n const addressFieldsApi = useMemo(\n () => createAddressFieldsApiAdapter(portalTenantClient),\n [portalTenantClient],\n );\n\n const addressAutocompleteApi = useMemo(\n () =>\n createSmartyBrowserAdapter({\n embeddedKey: config.smartyEmbeddedKey ?? \"\",\n }),\n [config.smartyEmbeddedKey],\n );\n\n // Context value only changes when baseUrl changes, but captures the live\n // config so consumers reading non-baseUrl fields (onAuthError,\n // defaultHeaders) see current values after parent re-renders.\n const contextValue = useMemo(\n () => ({ config }) satisfies FluidContextValue,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [config.baseUrl],\n );\n\n // Stable callback to provide auth headers for data source fetchers.\n // Auth is handled by session cookies via `credentials: 'include'` on fetch calls.\n const getApiHeaders = useCallback((): Record<string, string> => {\n return {\n \"Content-Type\": \"application/json\",\n };\n }, []);\n\n // Data source endpoints (e.g., /company/v1/products) expect the base URL\n // to include /api, matching fluid-admin's NEXT_PUBLIC_API_URL pattern.\n const dataSourceBaseUrl = useMemo(() => {\n const base = config.baseUrl.replace(/\\/+$/, \"\");\n return base.endsWith(\"/api\") ? base : `${base}/api`;\n }, [config.baseUrl]);\n\n // Variables for data source path interpolation (e.g., { rep_id: \"123\" }).\n // Must be passed explicitly via the `variables` prop.\n const effectiveVariables = variables;\n\n // Build theme provider props conditionally to satisfy exactOptionalPropertyTypes\n // We only pass props that are defined to avoid passing `undefined` explicitly\n const themeProviderProps = {\n ...(initialTheme !== undefined && { initialTheme }),\n ...(themeContainer !== undefined && { container: themeContainer }),\n };\n\n // Use provided registry or fall back to the default SDK widget registry\n const registry = widgetRegistry ?? DEFAULT_SDK_WIDGET_REGISTRY;\n\n return (\n <QueryClientProvider client={queryClient ?? defaultQueryClient}>\n <FluidContext.Provider value={contextValue}>\n <PortalTenantClientProvider value={portalTenantClient}>\n <AppDefinitionApiProvider value={appDefinitionApi}>\n <AccountApiProvider value={accountApi}>\n <PayApiProvider value={payApi}>\n <CountriesApiProvider value={countriesApi}>\n <LanguagesApiProvider value={languagesApi}>\n <PortalLocaleProvider>\n <MySiteApiProvider value={mysiteApi}>\n <AddressFieldsApiProvider value={addressFieldsApi}>\n <AddressAutocompleteApiProvider\n value={addressAutocompleteApi}\n >\n <PortalRuntimeProviderStack\n baseUrl={dataSourceBaseUrl}\n getApiHeaders={getApiHeaders}\n dataSourceApi={dataSourceApi}\n variables={effectiveVariables}\n registry={registry}\n storeApi={storeApi}\n themeProviderProps={themeProviderProps}\n >\n {children}\n </PortalRuntimeProviderStack>\n </AddressAutocompleteApiProvider>\n </AddressFieldsApiProvider>\n </MySiteApiProvider>\n </PortalLocaleProvider>\n </LanguagesApiProvider>\n </CountriesApiProvider>\n </PayApiProvider>\n </AccountApiProvider>\n </AppDefinitionApiProvider>\n </PortalTenantClientProvider>\n </FluidContext.Provider>\n </QueryClientProvider>\n );\n}\n\n/**\n * Inner component that sets up data source providers and theme.\n * Must be rendered inside FluidContext.Provider + QueryClientProvider.\n */\nfunction PortalRuntimeProviderStack({\n baseUrl,\n getApiHeaders,\n variables,\n dataSourceApi,\n registry,\n storeApi,\n children,\n themeProviderProps,\n}: {\n baseUrl: string;\n getApiHeaders: () => Record<string, string>;\n variables: Record<string, string> | undefined;\n dataSourceApi: DataSourceApi;\n registry: WidgetRegistry;\n storeApi: StoreApi;\n themeProviderProps: {\n readonly initialTheme?: ThemeDefinition;\n readonly container?: HTMLElement | null;\n };\n children: ReactNode;\n}): ReactNode {\n const { locale } = useActiveLocale();\n\n useEffect(() => {\n preloadLocale(PER_SCREEN_DOMAINS, locale);\n }, [locale]);\n\n const dataSourceVariables = useMemo(\n () => ({ language_iso: locale, ...(variables ?? {}) }),\n [locale, variables],\n );\n\n const runtime: FluidRuntime = useMemo(\n () => ({\n baseUrl,\n getApiHeaders,\n dataSourceApi,\n dataSourceVariables,\n registry,\n storeApi,\n }),\n [\n baseUrl,\n getApiHeaders,\n dataSourceApi,\n dataSourceVariables,\n registry,\n storeApi,\n ],\n );\n\n return (\n <FluidThemeProvider {...themeProviderProps}>\n <FluidConfigHydrator>\n {composePortalRuntimeProviders(\n fluidRuntimeProviders,\n runtime,\n children,\n )}\n </FluidConfigHydrator>\n </FluidThemeProvider>\n );\n}\n\nfunction PortalLocaleProvider({\n children,\n}: {\n children: ReactNode;\n}): React.JSX.Element {\n return (\n <LocaleProvider\n initialLocale={getOptimisticLocale()}\n onLocaleChange={persistLocale}\n >\n {children}\n </LocaleProvider>\n );\n}\n\n/**\n * Inner provider that hydrates config.countryIso from the authenticated\n * account once it resolves. Renders below QueryClientProvider AND\n * AccountApiProvider (both established earlier in this file) so useAccount\n * has its required context. Re-publishes FluidContext.Provider with the\n * merged config; nested override is the standard React pattern for context\n * derivation.\n *\n * Identity-returns the outer context when account has nothing to add,\n * avoiding re-render churn on the common path.\n */\nfunction FluidConfigHydrator({ children }: { children: ReactNode }) {\n const outer = useFluidContext();\n const { data: account } = useAccount();\n const merged = useMemo<FluidContextValue>(() => {\n // Cart country must match the market the Shop prices against, which the BFF\n // resolves as user.country || company.default_country and exposes as\n // market_country_iso. Prefer it; fall back to the saved-address-based\n // default_country_iso, then to the outer (caller) config.\n //\n // Account country is the source of truth for authenticated portal users;\n // it overrides any caller-supplied config.countryIso (e.g. a host app\n // passing \"CA\"). When both account fields are null (rep-only memberships,\n // customers with no default address) we fall through to the outer config —\n // which becomes the natural fallback path.\n const resolved =\n account?.market_country_iso ?? account?.default_country_iso;\n if (!resolved) return outer;\n return {\n config: { ...outer.config, countryIso: resolved },\n };\n }, [outer, account?.market_country_iso, account?.default_country_iso]);\n return (\n <FluidContext.Provider value={merged}>{children}</FluidContext.Provider>\n );\n}\n\n/**\n * Hook to access the Fluid context\n * Must be used within a FluidProvider\n */\nexport function useFluidContext(): FluidContextValue {\n const context = use(FluidContext);\n if (!context) {\n throw new Error(\"useFluidContext must be used within a FluidProvider\");\n }\n return context;\n}\n"],"x_google_ignoreList":[0,1,2,3,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEnMzB,QAAO,UAAA,YAAA;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"}