@flarehr/apollo-benefits 1.2.100 → 1.3.54122
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -0
- package/dist/assets/@splitsoftware-7d799540.js +18 -0
- package/dist/assets/all_tab_color-548783b9.svg +21 -0
- package/dist/assets/all_tab_gray-a5051313.svg +6 -0
- package/dist/assets/check-57fe1dcb.svg +15 -0
- package/dist/assets/datadog-350af017.js +5 -0
- package/dist/assets/date-fns-c5d8fbc0.js +1 -0
- package/dist/assets/default_backdrop-fdd955b8.png +0 -0
- package/dist/assets/external_link-599a0aec.svg +3 -0
- package/dist/assets/external_link_white-55111b2e.svg +3 -0
- package/dist/assets/framer-motion-bb8d6b82.js +1 -0
- package/dist/assets/index-1f3a05d4.js +5 -0
- package/dist/assets/index-a281aa90.js +35 -0
- package/dist/assets/index-cfa25e28.css +1 -0
- package/dist/assets/lodash-5d893f8c.js +1 -0
- package/dist/assets/logo-a34e9b4b.png +0 -0
- package/dist/assets/oidc-client-6f6e47c2.js +101 -0
- package/dist/assets/padlock-8c081120.svg +26 -0
- package/dist/assets/suitcase-6471ad05.svg +17 -0
- package/dist/assets/vendor-2d0139ca.js +788 -0
- package/dist/assets/warning-a7f1af23.svg +14 -0
- package/dist/assets/welcome_image_mobile-dbde6c80.png +0 -0
- package/dist/assets/welcome_image_v2-869c59e4.png +0 -0
- package/dist/assets/wellbeing_banner-6903d615.png +0 -0
- package/dist/assets/workplace_link_banner_mobile-6ebaa24b.png +0 -0
- package/dist/assets/workplace_link_banner_v2-c81ed849.png +0 -0
- package/dist/config.json +14 -0
- package/dist/favicon.ico +0 -0
- package/dist/icons/android-chrome-192x192.png +0 -0
- package/dist/icons/android-chrome-512x512.png +0 -0
- package/dist/icons/apple-touch-icon.png +0 -0
- package/dist/icons/favicon-16x16.png +0 -0
- package/dist/icons/favicon-32x32.png +0 -0
- package/dist/index.html +114 -0
- package/dist/manifest.json +21 -0
- package/dist/sw-esm.js +16 -0
- package/package.json +127 -69
- package/LICENSE +0 -21
- package/dist/lib/apollo-benefits/apollo-benefits.esm.js +0 -1
- package/dist/lib/apollo-benefits/assets/Hero_Background.png +0 -0
- package/dist/lib/apollo-benefits/assets/car-placeholder.svg +0 -5
- package/dist/lib/apollo-benefits/assets/check.svg +0 -13
- package/dist/lib/apollo-benefits/common-assets/icon-info.svg +0 -4
- package/dist/lib/apollo-benefits/index.esm.js +0 -0
- package/dist/lib/apollo-benefits/p-054d1471.js +0 -1
- package/dist/lib/apollo-benefits/p-066d8e7b.js +0 -15
- package/dist/lib/apollo-benefits/p-08376428.entry.js +0 -1
- package/dist/lib/apollo-benefits/p-1d7ab1b9.entry.js +0 -1
- package/dist/lib/apollo-benefits/p-25a89275.entry.js +0 -1
- package/dist/lib/apollo-benefits/p-26d363c9.entry.js +0 -1
- package/dist/lib/apollo-benefits/p-337ce3df.js +0 -1
- package/dist/lib/apollo-benefits/p-3dc9a379.js +0 -1
- package/dist/lib/apollo-benefits/p-4376366b.js +0 -46
- package/dist/lib/apollo-benefits/p-4e2d34f4.entry.js +0 -1
- package/dist/lib/apollo-benefits/p-50bbf713.js +0 -1
- package/dist/lib/apollo-benefits/p-53c5e861.entry.js +0 -1
- package/dist/lib/apollo-benefits/p-556fdb43.js +0 -1
- package/dist/lib/apollo-benefits/p-57d4702d.entry.js +0 -1
- package/dist/lib/apollo-benefits/p-58ee670f.js +0 -1
- package/dist/lib/apollo-benefits/p-6a54654f.entry.js +0 -11
- package/dist/lib/apollo-benefits/p-6bd33850.js +0 -1
- package/dist/lib/apollo-benefits/p-79c3b633.entry.js +0 -1
- package/dist/lib/apollo-benefits/p-7f3a2f3b.entry.js +0 -1
- package/dist/lib/apollo-benefits/p-82d42c2b.js +0 -1
- package/dist/lib/apollo-benefits/p-9b3e978e.js +0 -1
- package/dist/lib/apollo-benefits/p-a1dd0cba.entry.js +0 -1
- package/dist/lib/apollo-benefits/p-aa379cfe.entry.js +0 -1
- package/dist/lib/apollo-benefits/p-aaf0e527.entry.js +0 -1
- package/dist/lib/apollo-benefits/p-b0b9425b.js +0 -1
- package/dist/lib/apollo-benefits/p-d0ef83f8.entry.js +0 -1
- package/dist/lib/apollo-benefits/p-db4a65f0.entry.js +0 -1
- package/dist/lib/apollo-benefits/p-dc67f942.entry.js +0 -1
- package/dist/lib/apollo-benefits/p-e1fd79bb.entry.js +0 -1
- package/dist/lib/apollo-benefits/p-ea120e31.js +0 -1
- package/dist/lib/apollo-benefits/p-ef5f33ca.js +0 -1
- package/dist/lib/apollo-benefits/p-f5254031.js +0 -1
- package/dist/lib/apollo-benefits/p-f63d9d89.js +0 -1
- package/dist/lib/apollo-benefits/p-fcfa5255.entry.js +0 -1
- package/dist/lib/cjs/Option-98dab0b8.js +0 -1988
- package/dist/lib/cjs/active-router-90429847.js +0 -75
- package/dist/lib/cjs/ap-ben-asset_5.cjs.entry.js +0 -1856
- package/dist/lib/cjs/ap-ben-benefit-card.cjs.entry.js +0 -45
- package/dist/lib/cjs/ap-ben-benefit-list-item.cjs.entry.js +0 -56
- package/dist/lib/cjs/ap-ben-benefit-url_27.cjs.entry.js +0 -48767
- package/dist/lib/cjs/ap-ben-benefits-list_3.cjs.entry.js +0 -55
- package/dist/lib/cjs/ap-ben-benefits-page.cjs.entry.js +0 -55
- package/dist/lib/cjs/ap-ben-choose-vehicle-section_4.cjs.entry.js +0 -2779
- package/dist/lib/cjs/ap-ben-notifications-section.cjs.entry.js +0 -243
- package/dist/lib/cjs/ap-ben-oidc-callback-page.cjs.entry.js +0 -40
- package/dist/lib/cjs/apollo-benefits.cjs.js +0 -25
- package/dist/lib/cjs/app-globals-e04ab04b.js +0 -12
- package/dist/lib/cjs/authentication.service-11c30071.js +0 -237
- package/dist/lib/cjs/benefits.api-b46ee2ea.js +0 -35
- package/dist/lib/cjs/cars-calculator-app.cjs.entry.js +0 -60
- package/dist/lib/cjs/cars-calculator.service-a8beab79.js +0 -166
- package/dist/lib/cjs/context-consumer.cjs.entry.js +0 -29
- package/dist/lib/cjs/datorama-akita-792b4d1d.js +0 -2553
- package/dist/lib/cjs/delay-e91dba76.js +0 -206
- package/dist/lib/cjs/event-tracking.service-6f723d9c.js +0 -155
- package/dist/lib/cjs/event-tracking.service-d6f9a51c.js +0 -259
- package/dist/lib/cjs/filter-c38164e6.js +0 -378
- package/dist/lib/cjs/fl-dropdown-async.cjs.entry.js +0 -422
- package/dist/lib/cjs/fl-dropdown.cjs.entry.js +0 -232
- package/dist/lib/cjs/fl-style-guide.cjs.entry.js +0 -91
- package/dist/lib/cjs/index-4f00f593.js +0 -994
- package/dist/lib/cjs/index-6e643fec.js +0 -1734
- package/dist/lib/cjs/index-889ce6c6.js +0 -27
- package/dist/lib/cjs/index.cjs.js +0 -2
- package/dist/lib/cjs/loader.cjs.js +0 -27
- package/dist/lib/cjs/scheduleArray-0ba3d6f8.js +0 -753
- package/dist/lib/cjs/stencil-async-content.cjs.entry.js +0 -32
- package/dist/lib/cjs/stencil-route-title.cjs.entry.js +0 -32
- package/dist/lib/cjs/stencil-router-prompt.cjs.entry.js +0 -59
- package/dist/lib/cjs/stencil-router-redirect.cjs.entry.js +0 -32
- package/dist/lib/cjs/view.service-ec43dea6.js +0 -21
- package/dist/lib/collection/assets/image/complete.svg +0 -122
- package/dist/lib/collection/collection-manifest.json +0 -81
- package/dist/lib/collection/components/benefits-app/apis/api-client.js +0 -16
- package/dist/lib/collection/components/benefits-app/apis/benefits-api/benefits-api.dto.js +0 -16
- package/dist/lib/collection/components/benefits-app/apis/benefits-api/benefits.api.js +0 -30
- package/dist/lib/collection/components/benefits-app/apis/event-tracking-api/event-tracking-api.dto.js +0 -1
- package/dist/lib/collection/components/benefits-app/apis/event-tracking-api/event-tracking-api.js +0 -7
- package/dist/lib/collection/components/benefits-app/apis/user-api/user-api.dto.js +0 -8
- package/dist/lib/collection/components/benefits-app/apis/user-api/user.api.js +0 -16
- package/dist/lib/collection/components/benefits-app/benefits-app.css +0 -399
- package/dist/lib/collection/components/benefits-app/benefits-app.js +0 -216
- package/dist/lib/collection/components/benefits-app/pages/benefits-page/benefits-list/benefit-list-item.css +0 -23
- package/dist/lib/collection/components/benefits-app/pages/benefits-page/benefits-list/benefits-list-item.js +0 -80
- package/dist/lib/collection/components/benefits-app/pages/benefits-page/benefits-list/benefits-list.js +0 -32
- package/dist/lib/collection/components/benefits-app/pages/benefits-page/benefits-page.js +0 -47
- package/dist/lib/collection/components/benefits-app/pages/benefits-page/hero-banner/assets/Hero_Background.png +0 -0
- package/dist/lib/collection/components/benefits-app/pages/benefits-page/hero-banner/hero-banner.css +0 -8
- package/dist/lib/collection/components/benefits-app/pages/benefits-page/hero-banner/hero-banner.js +0 -53
- package/dist/lib/collection/components/benefits-app/pages/benefits-page/promoted-benefits/benefit-card.css +0 -3
- package/dist/lib/collection/components/benefits-app/pages/benefits-page/promoted-benefits/benefit-card.js +0 -62
- package/dist/lib/collection/components/benefits-app/pages/benefits-page/promoted-benefits/promoted-benefits.js +0 -33
- package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/api/manage-benefits-api.dto.js +0 -36
- package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/api/manage-benefits.api.js +0 -23
- package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/confirm-dialog.js +0 -158
- package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/benefit-url.css +0 -8
- package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/benefit-url.js +0 -126
- package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/edit-benefit-form.js +0 -138
- package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/upload-benefit-icon.css +0 -24
- package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/upload-benefit-icon.js +0 -102
- package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/upload-file.css +0 -18
- package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/upload-file.js +0 -120
- package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-page.js +0 -154
- package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit.query.js +0 -18
- package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit.service.js +0 -155
- package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/empty-benefits.js +0 -36
- package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/manage-benefits-header-row.js +0 -13
- package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/manage-benefits-page.css +0 -3
- package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/manage-benefits-page.js +0 -88
- package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/manage-benefits-page.routes.js +0 -24
- package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/manage-benefits.service.js +0 -37
- package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/managed-benefit-item/managed-benefit-item.css +0 -10
- package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/managed-benefit-item/managed-benefit-item.js +0 -89
- package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/store/manage-benefits.query.js +0 -11
- package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/store/manage-benefits.store.js +0 -51
- package/dist/lib/collection/components/benefits-app/pages/role-management-page/api/role-management.api.js +0 -21
- package/dist/lib/collection/components/benefits-app/pages/role-management-page/role-editors-section/role-editors-section.js +0 -104
- package/dist/lib/collection/components/benefits-app/pages/role-management-page/role-management-page.js +0 -50
- package/dist/lib/collection/components/benefits-app/pages/role-management-page/role-management.service.js +0 -44
- package/dist/lib/collection/components/benefits-app/pages/role-management-page/role-owner-section/role-owner-section.js +0 -40
- package/dist/lib/collection/components/benefits-app/pages/role-management-page/store/role-management.query.js +0 -13
- package/dist/lib/collection/components/benefits-app/pages/role-management-page/store/role-management.store.js +0 -42
- package/dist/lib/collection/components/benefits-app/services/benefits-app.service.js +0 -36
- package/dist/lib/collection/components/benefits-app/services/benefits.service.js +0 -11
- package/dist/lib/collection/components/benefits-app/services/event-tracking.service.js +0 -40
- package/dist/lib/collection/components/benefits-app/services/navigation.service.js +0 -34
- package/dist/lib/collection/components/benefits-app/store/benefits-app.query.js +0 -13
- package/dist/lib/collection/components/benefits-app/store/benefits-app.store.js +0 -24
- package/dist/lib/collection/components/benefits-app-host/benefits-app-host.js +0 -48
- package/dist/lib/collection/components/benefits-app-host/loading-page.js +0 -9
- package/dist/lib/collection/components/benefits-app-host/oidc-callback-page/oidc-callback-page.js +0 -65
- package/dist/lib/collection/components/benefits-app-host/oidc-callback-page/oidc-callback-page.routes.js +0 -11
- package/dist/lib/collection/components/benefits-app-host/services/app-configuration.query.js +0 -18
- package/dist/lib/collection/components/benefits-app-host/services/app-configuration.service.js +0 -23
- package/dist/lib/collection/components/benefits-app-host/services/authentication.query.js +0 -21
- package/dist/lib/collection/components/benefits-app-host/services/authentication.service.js +0 -96
- package/dist/lib/collection/components/benefits-app-host/services/session.store.js +0 -33
- package/dist/lib/collection/components/cars-calculator-app/api/api-client.js +0 -5
- package/dist/lib/collection/components/cars-calculator-app/api/cars-calculator-events.model.js +0 -1
- package/dist/lib/collection/components/cars-calculator-app/api/cars-calculator.api.js +0 -45
- package/dist/lib/collection/components/cars-calculator-app/api/event-tracking.api.js +0 -7
- package/dist/lib/collection/components/cars-calculator-app/cars-calculator-app.css +0 -22
- package/dist/lib/collection/components/cars-calculator-app/cars-calculator-app.js +0 -97
- package/dist/lib/collection/components/cars-calculator-app/notifications-section/notifications-section.js +0 -25
- package/dist/lib/collection/components/cars-calculator-app/pages/asset.component.js +0 -27
- package/dist/lib/collection/components/cars-calculator-app/pages/assets/car-placeholder.svg +0 -5
- package/dist/lib/collection/components/cars-calculator-app/pages/assets/check.svg +0 -13
- package/dist/lib/collection/components/cars-calculator-app/pages/choose-vehicle-section.component.js +0 -234
- package/dist/lib/collection/components/cars-calculator-app/pages/common-assets/icon-info.svg +0 -4
- package/dist/lib/collection/components/cars-calculator-app/pages/complete-section.component.js +0 -38
- package/dist/lib/collection/components/cars-calculator-app/pages/cost-breakdown-section.component.js +0 -45
- package/dist/lib/collection/components/cars-calculator-app/pages/model-variants-section.component.css +0 -34
- package/dist/lib/collection/components/cars-calculator-app/pages/model-variants-section.component.js +0 -93
- package/dist/lib/collection/components/cars-calculator-app/pages/personal-info-section.component.js +0 -71
- package/dist/lib/collection/components/cars-calculator-app/pages/quote-result-section.component.js +0 -117
- package/dist/lib/collection/components/cars-calculator-app/pages/submit-quote-section.component.js +0 -87
- package/dist/lib/collection/components/cars-calculator-app/services/app-configuration.service.js +0 -13
- package/dist/lib/collection/components/cars-calculator-app/services/cars-calculator.service.js +0 -117
- package/dist/lib/collection/components/cars-calculator-app/services/event-tracking.service.js +0 -37
- package/dist/lib/collection/components/cars-calculator-app/services/notifications.service.js +0 -37
- package/dist/lib/collection/components/cars-calculator-app/services/notifications.store.js +0 -3
- package/dist/lib/collection/components/cars-calculator-app/services/session.query.js +0 -38
- package/dist/lib/collection/components/cars-calculator-app/services/session.store.js +0 -80
- package/dist/lib/collection/components/cars-calculator-app/services/view.service.js +0 -16
- package/dist/lib/collection/components/shared/file-icon/file-icon.css +0 -15
- package/dist/lib/collection/components/shared/file-icon/file-icon.js +0 -84
- package/dist/lib/collection/components/shared/icon.js +0 -77
- package/dist/lib/collection/components/shared/icons-library.js +0 -11
- package/dist/lib/collection/components/shared/modal-section.js +0 -138
- package/dist/lib/collection/components/shared/tooltip.css +0 -3
- package/dist/lib/collection/components/shared/tooltip.js +0 -115
- package/dist/lib/collection/components/shared/ui-container/ui-container.css +0 -39
- package/dist/lib/collection/components/shared/ui-container/ui-container.js +0 -27
- package/dist/lib/collection/global/config.js +0 -2
- package/dist/lib/collection/global/main.dev.js +0 -31
- package/dist/lib/collection/global/main.js +0 -5
- package/dist/lib/collection/index.js +0 -2
- package/dist/lib/collection/utils/config.js +0 -2
- package/dist/lib/collection/utils/index.js +0 -28
- package/dist/lib/collection/utils/lazy.js +0 -29
- package/dist/lib/collection/utils/promise.js +0 -7
- package/dist/lib/esm/Option-53ef163a.js +0 -1982
- package/dist/lib/esm/active-router-134fe07f.js +0 -73
- package/dist/lib/esm/ap-ben-asset_5.entry.js +0 -1848
- package/dist/lib/esm/ap-ben-benefit-card.entry.js +0 -41
- package/dist/lib/esm/ap-ben-benefit-list-item.entry.js +0 -52
- package/dist/lib/esm/ap-ben-benefit-url_27.entry.js +0 -48737
- package/dist/lib/esm/ap-ben-benefits-list_3.entry.js +0 -49
- package/dist/lib/esm/ap-ben-benefits-page.entry.js +0 -51
- package/dist/lib/esm/ap-ben-choose-vehicle-section_4.entry.js +0 -2772
- package/dist/lib/esm/ap-ben-notifications-section.entry.js +0 -239
- package/dist/lib/esm/ap-ben-oidc-callback-page.entry.js +0 -36
- package/dist/lib/esm/apollo-benefits.js +0 -23
- package/dist/lib/esm/app-globals-ff43b669.js +0 -10
- package/dist/lib/esm/authentication.service-4dbff8a5.js +0 -232
- package/dist/lib/esm/benefits.api-5a0c5fa7.js +0 -33
- package/dist/lib/esm/cars-calculator-app.entry.js +0 -56
- package/dist/lib/esm/cars-calculator.service-1278f563.js +0 -163
- package/dist/lib/esm/context-consumer.entry.js +0 -25
- package/dist/lib/esm/datorama-akita-e42d9911.js +0 -2547
- package/dist/lib/esm/delay-d08c267f.js +0 -200
- package/dist/lib/esm/event-tracking.service-27d79066.js +0 -253
- package/dist/lib/esm/event-tracking.service-429d997c.js +0 -146
- package/dist/lib/esm/filter-aeb65cac.js +0 -370
- package/dist/lib/esm/fl-dropdown-async.entry.js +0 -418
- package/dist/lib/esm/fl-dropdown.entry.js +0 -228
- package/dist/lib/esm/fl-style-guide.entry.js +0 -87
- package/dist/lib/esm/index-1351f893.js +0 -979
- package/dist/lib/esm/index-8676bf1e.js +0 -22
- package/dist/lib/esm/index-d4b319a7.js +0 -1702
- package/dist/lib/esm/index.js +0 -1
- package/dist/lib/esm/loader.js +0 -23
- package/dist/lib/esm/polyfills/core-js.js +0 -11
- package/dist/lib/esm/polyfills/css-shim.js +0 -1
- package/dist/lib/esm/polyfills/dom.js +0 -79
- package/dist/lib/esm/polyfills/es5-html-element.js +0 -1
- package/dist/lib/esm/polyfills/index.js +0 -34
- package/dist/lib/esm/polyfills/system.js +0 -6
- package/dist/lib/esm/scheduleArray-b9669898.js +0 -738
- package/dist/lib/esm/stencil-async-content.entry.js +0 -28
- package/dist/lib/esm/stencil-route-title.entry.js +0 -28
- package/dist/lib/esm/stencil-router-prompt.entry.js +0 -55
- package/dist/lib/esm/stencil-router-redirect.entry.js +0 -28
- package/dist/lib/esm/view.service-6adbec31.js +0 -19
- package/dist/lib/index.cjs.js +0 -1
- package/dist/lib/index.js +0 -1
- package/dist/lib/loader/cdn.js +0 -3
- package/dist/lib/loader/index.cjs.js +0 -3
- package/dist/lib/loader/index.d.ts +0 -13
- package/dist/lib/loader/index.es2017.js +0 -3
- package/dist/lib/loader/index.js +0 -4
- package/dist/lib/loader/package.json +0 -10
- package/dist/lib/node_modules/@flarehr/beacon/dist/collection/components/button/button.css +0 -118
- package/dist/lib/node_modules/@flarehr/beacon/dist/collection/components/dropdown/dropdown.css +0 -9
- package/dist/lib/node_modules/@flarehr/beacon/dist/collection/components/dropdown-async/dropdown-async.css +0 -9
- package/dist/lib/node_modules/@flarehr/beacon/dist/collection/components/loading-indicator/loading-indicator.css +0 -141
- package/dist/lib/node_modules/@flarehr/beacon/dist/collection/components/promise-button/promise-button.css +0 -5
- package/dist/lib/node_modules/@flarehr/beacon/dist/collection/components/style-guide/style-guide.css +0 -0
- package/dist/lib/node_modules/@stencil/router/dist/collection/components/route/route.css +0 -3
- package/dist/lib/types/components/benefits-app/apis/api-client.d.ts +0 -7
- package/dist/lib/types/components/benefits-app/apis/benefits-api/benefits-api.dto.d.ts +0 -44
- package/dist/lib/types/components/benefits-app/apis/benefits-api/benefits.api.d.ts +0 -9
- package/dist/lib/types/components/benefits-app/apis/event-tracking-api/event-tracking-api.d.ts +0 -6
- package/dist/lib/types/components/benefits-app/apis/event-tracking-api/event-tracking-api.dto.d.ts +0 -18
- package/dist/lib/types/components/benefits-app/apis/user-api/user-api.dto.d.ts +0 -30
- package/dist/lib/types/components/benefits-app/apis/user-api/user.api.d.ts +0 -8
- package/dist/lib/types/components/benefits-app/benefits-app.d.ts +0 -22
- package/dist/lib/types/components/benefits-app/pages/benefits-page/benefits-list/benefits-list-item.d.ts +0 -10
- package/dist/lib/types/components/benefits-app/pages/benefits-page/benefits-list/benefits-list.d.ts +0 -5
- package/dist/lib/types/components/benefits-app/pages/benefits-page/benefits-page.d.ts +0 -10
- package/dist/lib/types/components/benefits-app/pages/benefits-page/hero-banner/hero-banner.d.ts +0 -5
- package/dist/lib/types/components/benefits-app/pages/benefits-page/promoted-benefits/benefit-card.d.ts +0 -8
- package/dist/lib/types/components/benefits-app/pages/benefits-page/promoted-benefits/promoted-benefits.d.ts +0 -5
- package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/api/manage-benefits-api.dto.d.ts +0 -39
- package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/api/manage-benefits.api.d.ts +0 -9
- package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/confirm-dialog.d.ts +0 -16
- package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/benefit-url.d.ts +0 -21
- package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/edit-benefit-form.d.ts +0 -12
- package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/upload-benefit-icon.d.ts +0 -16
- package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/upload-file.d.ts +0 -17
- package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-page.d.ts +0 -24
- package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit.query.d.ts +0 -16
- package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit.service.d.ts +0 -20
- package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/empty-benefits.d.ts +0 -5
- package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/manage-benefits-header-row.d.ts +0 -3
- package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/manage-benefits-page.d.ts +0 -16
- package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/manage-benefits-page.routes.d.ts +0 -6
- package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/manage-benefits.service.d.ts +0 -8
- package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/managed-benefit-item/managed-benefit-item.d.ts +0 -11
- package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/store/manage-benefits.query.d.ts +0 -10
- package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/store/manage-benefits.store.d.ts +0 -51
- package/dist/lib/types/components/benefits-app/pages/role-management-page/api/role-management.api.d.ts +0 -7
- package/dist/lib/types/components/benefits-app/pages/role-management-page/role-editors-section/role-editors-section.d.ts +0 -15
- package/dist/lib/types/components/benefits-app/pages/role-management-page/role-management-page.d.ts +0 -9
- package/dist/lib/types/components/benefits-app/pages/role-management-page/role-management.service.d.ts +0 -11
- package/dist/lib/types/components/benefits-app/pages/role-management-page/role-owner-section/role-owner-section.d.ts +0 -5
- package/dist/lib/types/components/benefits-app/pages/role-management-page/store/role-management.query.d.ts +0 -12
- package/dist/lib/types/components/benefits-app/pages/role-management-page/store/role-management.store.d.ts +0 -17
- package/dist/lib/types/components/benefits-app/services/benefits-app.service.d.ts +0 -13
- package/dist/lib/types/components/benefits-app/services/benefits.service.d.ts +0 -8
- package/dist/lib/types/components/benefits-app/services/event-tracking.service.d.ts +0 -11
- package/dist/lib/types/components/benefits-app/services/navigation.service.d.ts +0 -14
- package/dist/lib/types/components/benefits-app/store/benefits-app.query.d.ts +0 -12
- package/dist/lib/types/components/benefits-app/store/benefits-app.store.d.ts +0 -31
- package/dist/lib/types/components/benefits-app-host/benefits-app-host.d.ts +0 -9
- package/dist/lib/types/components/benefits-app-host/loading-page.d.ts +0 -3
- package/dist/lib/types/components/benefits-app-host/oidc-callback-page/oidc-callback-page.d.ts +0 -8
- package/dist/lib/types/components/benefits-app-host/oidc-callback-page/oidc-callback-page.routes.d.ts +0 -1
- package/dist/lib/types/components/benefits-app-host/services/app-configuration.query.d.ts +0 -11
- package/dist/lib/types/components/benefits-app-host/services/app-configuration.service.d.ts +0 -9
- package/dist/lib/types/components/benefits-app-host/services/authentication.query.d.ts +0 -13
- package/dist/lib/types/components/benefits-app-host/services/authentication.service.d.ts +0 -25
- package/dist/lib/types/components/benefits-app-host/services/session.store.d.ts +0 -25
- package/dist/lib/types/components/cars-calculator-app/api/api-client.d.ts +0 -2
- package/dist/lib/types/components/cars-calculator-app/api/cars-calculator-events.model.d.ts +0 -39
- package/dist/lib/types/components/cars-calculator-app/api/cars-calculator.api.d.ts +0 -100
- package/dist/lib/types/components/cars-calculator-app/api/event-tracking.api.d.ts +0 -6
- package/dist/lib/types/components/cars-calculator-app/cars-calculator-app.d.ts +0 -18
- package/dist/lib/types/components/cars-calculator-app/notifications-section/notifications-section.d.ts +0 -5
- package/dist/lib/types/components/cars-calculator-app/pages/asset.component.d.ts +0 -4
- package/dist/lib/types/components/cars-calculator-app/pages/choose-vehicle-section.component.d.ts +0 -23
- package/dist/lib/types/components/cars-calculator-app/pages/complete-section.component.d.ts +0 -5
- package/dist/lib/types/components/cars-calculator-app/pages/cost-breakdown-section.component.d.ts +0 -6
- package/dist/lib/types/components/cars-calculator-app/pages/model-variants-section.component.d.ts +0 -12
- package/dist/lib/types/components/cars-calculator-app/pages/personal-info-section.component.d.ts +0 -10
- package/dist/lib/types/components/cars-calculator-app/pages/quote-result-section.component.d.ts +0 -16
- package/dist/lib/types/components/cars-calculator-app/pages/submit-quote-section.component.d.ts +0 -12
- package/dist/lib/types/components/cars-calculator-app/services/app-configuration.service.d.ts +0 -7
- package/dist/lib/types/components/cars-calculator-app/services/cars-calculator.service.d.ts +0 -11
- package/dist/lib/types/components/cars-calculator-app/services/event-tracking.service.d.ts +0 -13
- package/dist/lib/types/components/cars-calculator-app/services/notifications.service.d.ts +0 -15
- package/dist/lib/types/components/cars-calculator-app/services/notifications.store.d.ts +0 -14
- package/dist/lib/types/components/cars-calculator-app/services/session.query.d.ts +0 -26
- package/dist/lib/types/components/cars-calculator-app/services/session.store.d.ts +0 -78
- package/dist/lib/types/components/cars-calculator-app/services/view.service.d.ts +0 -8
- package/dist/lib/types/components/shared/file-icon/file-icon.d.ts +0 -11
- package/dist/lib/types/components/shared/icon.d.ts +0 -7
- package/dist/lib/types/components/shared/icons-library.d.ts +0 -1
- package/dist/lib/types/components/shared/modal-section.d.ts +0 -16
- package/dist/lib/types/components/shared/tooltip.d.ts +0 -13
- package/dist/lib/types/components/shared/ui-container/ui-container.d.ts +0 -5
- package/dist/lib/types/components.d.ts +0 -606
- package/dist/lib/types/global/config.d.ts +0 -2
- package/dist/lib/types/global/main.d.ts +0 -1
- package/dist/lib/types/global/main.dev.d.ts +0 -1
- package/dist/lib/types/index.d.ts +0 -2
- package/dist/lib/types/stencil-public-runtime.d.ts +0 -1555
- package/dist/lib/types/utils/config.d.ts +0 -2
- package/dist/lib/types/utils/index.d.ts +0 -10
- package/dist/lib/types/utils/lazy.d.ts +0 -12
- package/dist/lib/types/utils/promise.d.ts +0 -1
- package/readme.md +0 -1
|
@@ -1,1848 +0,0 @@
|
|
|
1
|
-
import { r as registerInstance, h, e as getAssetPath, c as createEvent, H as Host } from './index-d4b319a7.js';
|
|
2
|
-
import { b as getOrDefault } from './index-8676bf1e.js';
|
|
3
|
-
import { s as some } from './index-1351f893.js';
|
|
4
|
-
import { c as carsCalculatorService, b as backendApi } from './cars-calculator.service-1278f563.js';
|
|
5
|
-
import { s as sessionQuery, e as eventTrackingService, b as sessionStore } from './event-tracking.service-27d79066.js';
|
|
6
|
-
import './Option-53ef163a.js';
|
|
7
|
-
import './datorama-akita-e42d9911.js';
|
|
8
|
-
import './scheduleArray-b9669898.js';
|
|
9
|
-
import './delay-d08c267f.js';
|
|
10
|
-
import './filter-aeb65cac.js';
|
|
11
|
-
|
|
12
|
-
const Asset = class {
|
|
13
|
-
constructor(hostRef) {
|
|
14
|
-
registerInstance(this, hostRef);
|
|
15
|
-
}
|
|
16
|
-
render() {
|
|
17
|
-
return h("img", { src: getAssetPath(`./common-assets/${this.image}`) });
|
|
18
|
-
}
|
|
19
|
-
static get assetsDirs() { return ["common-assets"]; }
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
const completeSvg = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDQ2IiBoZWlnaHQ9IjI0MCIgdmlld0JveD0iMCAwIDQ0NiAyNDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0zNzcuNzk0IDM5LjM1MDJDMzU0LjAxMyAxMi4wMzQ4IDI0Ni4xNzEgMTguNDE0MiAxOTguNzUgMTguNDE0MkMxNDcuMzEyIDE4LjQxNDIgNTQuMzcyNyAxNy42NzQxIDc1Ljc5MzEgNDkuOTU5MkM4NS42NTc4IDY0LjgzMjkgMTI0LjIzNiA2Mi43MTgxIDEyNy4xMjUgNzUuMTk1MUMxMjkuMjAzIDg0LjE4MjggOTQuNzEyMiA4Mi44MDgyIDc3LjM3ODUgODMuNTgzNkM1My43Mzg1IDg0LjY0MSAyNy43MDI3IDkzLjczNDQgMjEuMzk2NCAxMTQuODgyQzE0LjY2NzIgMTM3LjM2OSA0Ni4xNjM4IDE2MS42MTggNjkuMDk5MiAxNjUuMzE4QzEwMy40NSAxNzAuODUyIDMzNy4yNzggMTY1LjMxOCAzNTguNDE3IDE2NS4zMThDNDA5Ljg4OSAxNjUuMzE4IDQxMi40OTYgNzkuMjQ4NCAzNzcuNzk0IDM5LjM1MDJaIiBmaWxsPSIjQjVEN0YyIi8+CjxwYXRoIGQ9Ik0zNDguNDA2IDE2Ny43ODZDMzM3LjM3OSAxNDYuMTQ1IDMyOS4zNDYgMTM1LjAwOCAzMTEuMTMyIDEzMC40MjZDMjk1LjczNiAxMjYuNTQ5IDI4NS4zNDMgODcuNzQzMyAyNjcuNTg2IDc5LjMxOTZDMjQ5LjcyNCA3MC44NjA2IDIzNC44NTcgODIuNTk3NCAyMzQuODU3IDk1LjIxNTRDMjIyLjQ1NSA4Ni43NTY0IDIxNS4yMzMgODIuMTA0IDIwMS4xNzYgNzIuNzYzOUMxODEuMzQxIDU5LjU0NjcgMTU1LjM0IDUxLjI2NCAxMzMuODQ5IDU5LjY1MjVDMTE1LjUyOSA2Ni44MDc0IDEwNi40NzUgOTUuNjM4NCAxMTEuNjg5IDEwNS43NTRDOTcuNDIwMyA5NS42NzM2IDc0LjY2MSA5OC41Mjg1IDYyLjI5NDkgMTEzLjA1QzQ4LjEzMiAxMjkuNjg2IDYxLjQxNDIgMTY3Ljc1MSA5Ny4xMDMyIDE2Ny43NTFDMTU5Ljk1NSAxNjcuNzg2IDM0OC40MDYgMTY3Ljc4NiAzNDguNDA2IDE2Ny43ODZaIiBmaWxsPSIjOTdCODhBIi8+CjxwYXRoIGQ9Ik0xODEuMTI5IDEyNi4xNjFDMTcwLjQ1NCAxMTUuNjkzIDE2MC41ODkgMTA3LjEyOCAxNDUuOTY5IDEwMC42NDNDMTMxLjk4MiA5NC40Mzk3IDExNy4xNSA5OC4zODczIDExNC45NjUgMTA1LjUwN0MxMTMuODczIDEwOS4xMDIgMTEzLjY5NyAxMTUuNzI4IDExNS4xNzcgMTIxLjY4NUMxMTYuMDkzIDEyNS4zNSAxMjMuNTYyIDEzMy45ODUgMTE4LjEzNiAxMzguMDM5QzExNC4xOSAxNDAuOTk5IDEwMS4yOTYgMTI2LjE2MSA5MS4wMDgyIDEyNS44MDhDNzcuOTcyNyAxMjUuMzg2IDcyLjA4OTEgMTMzLjU5OCA3My4wNDAzIDE0Ni4yODZDNzMuMzIyMiAxNDkuOTUyIDcwLjU3NDEgMTU1LjQxNSA2Ni40MTY5IDE1NS4yNzRDNTYuNzYzNiAxNTQuODg2IDU0LjQzODMgMTU4LjU1MiA1NS4yNDg2IDE2MC44NDNDNTYuNjU3OSAxNjQuNzkgNjIuMTg5MSAxNjcuODU3IDcxLjU5NTggMTY3Ljg1N0M5Ni44OTE3IDE2Ny44NTcgMjA0LjYyOCAxNjcuODU3IDIxMi45MDggMTY3Ljg1N0MyMTYuMjE5IDE2Ny43ODYgMTg1LjgxNSAxMzAuNzQzIDE4MS4xMjkgMTI2LjE2MVoiIGZpbGw9IiM0ODg1NTkiLz4KPHBhdGggZD0iTTMzNi4yODYgMTA2LjQ5NEMzMzUuMTk0IDEwMy45OTIgMzMwLjI5NyA5NC43MjIxIDMyNS4wMTIgOTUuNTY4QzMyMS45MTIgOTYuMDYxNSAzMjEuMjc3IDEwMS4yNDMgMzIzLjc3OSAxMDcuMzc1QzMyNS43ODcgMTEyLjMxIDMyNi42NjggMTE4LjEyNSAzMjYuODQ0IDEyNi40MDhDMzI2Ljk1IDEzMS40MTMgMzI5LjQ4NiAxNDMuMzI2IDMzNS40NCAxNDQuNDg5QzMzOS4yNDUgMTQ1LjE5NCAzNDAuNTE0IDEzOC42NzQgMzQwLjYxOSAxMzYuMTM2QzM0MC43OTUgMTMxLjE2NiAzNDAuNzI1IDEyNi4xNjEgMzQwLjE2MSAxMjEuMjI3QzMzOS40OTIgMTE1LjU4OCAzMzguNTQxIDExMS42NCAzMzYuMjg2IDEwNi40OTRaIiBmaWxsPSIjOTdCODhBIi8+CjxwYXRoIG9wYWNpdHk9IjAuNDgiIGQ9Ik0zMzguOTI4IDExNC43NzVDMzMxLjQ1OSAxMTYuNzQ5IDMzOC41NzYgMTMxLjAyNCAzMzcuMDk2IDEzNi4zNDZDMzM1Ljg2MyAxNDAuNzg3IDMzMy4wOCAxNDAuNzg3IDMzMC4yNjEgMTQwLjA0N0MzMzEuODExIDE0Mi41MTQgMzMzLjU3MyAxNDQuMjA2IDMzNS4zNyAxNDQuNjk5QzMzOS4wNjkgMTQ1Ljc1NiAzNDAuNDQzIDEzOC42MzcgMzQwLjU0OSAxMzYuMDk5QzM0MC43MjUgMTMxLjEyOSAzNDAuNDQzIDEyMS4wNDkgMzM4LjkyOCAxMTQuNzc1WiIgZmlsbD0iIzQ4ODU1OSIvPgo8cGF0aCBkPSJNMzI0LjIzNyA5Ni4yMzYzQzMyNy41ODQgOTkuMDU2IDMzMy4yNTYgMTA4LjYwOCAzMzQuOTEyIDEyMS4yMjZDMzM2LjcwOSAxMzUuMDc3IDM0MC42NTQgMTY5LjA1NCAzNDAuNzYgMTczLjM4OSIgc3Ryb2tlPSIjNDg4NTU5IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMzQ1LjY1NyAxMjcuMTQ4QzM0MC4wOTEgMTI4LjkxIDMzOC4zMjkgMTIzLjgzNSAzMzkuOTE1IDExNi4wNDVDMzQwLjY1NSAxMTIuMzggMzM5LjQyMSAxMDcuNTUxIDM0NC4xNzggMTAzLjQ5OEMzNDguMzM1IDEwMC4wMDkgMzUwLjk3NyA5NS43NDM4IDM1Mi4yODEgOTkuODMyM0MzNTcuMTA3IDExNC45ODggMzUzLjQwOCAxMjQuNzE2IDM0NS42NTcgMTI3LjE0OFoiIGZpbGw9IiM5N0I4OEEiLz4KPHBhdGggb3BhY2l0eT0iMC40OCIgZD0iTTM0Ny45ODIgMTIxLjY0OUMzNDYuMTg2IDEyMy45MDUgMzQzLjYxNCAxMjYuOTM2IDM0Mi4yMDUgMTI3LjI4OEMzNDMuMTIxIDEyNy42NDEgMzQ0LjI0OCAxMjcuNjA1IDM0NS42MjIgMTI3LjE4M0MzNTAuNDg0IDEyNS42NjcgMzUzLjcyNSAxMjEuMjk2IDM1NC4zMjQgMTE0LjUyOUMzNTIuMDM0IDExNi42NzkgMzUwLjQ4NCAxMTguNTEyIDM0Ny45ODIgMTIxLjY0OVoiIGZpbGw9IiM0ODg1NTkiLz4KPHBhdGggb3BhY2l0eT0iMC40OCIgZD0iTTM0Mi4xMzQgMTA1Ljg5NEMzNDIuNTkyIDEwNS4yMjQgMzQzLjg2MSAxMDMuMzU2IDM0NC4zODkgMTAyLjY4N0MzNDcuNjY2IDk4LjY2ODUgMzUwLjk3NyA5NS43NDMxIDM1Mi4zMTYgOTkuODY2OUMzNTIuNzc0IDEwMS4zMTIgMzUzLjE2MiAxMDIuNzIyIDM1My40NzkgMTA0LjA5NkMzNTAuMDI2IDEwMy43NzkgMzQ1LjQxMSAxMDUuNjEyIDM0Mi4xMzQgMTA1Ljg5NFoiIGZpbGw9IiM0ODg1NTkiLz4KPHBhdGggZD0iTTM0OS4wNCAxMDEuOTgyQzM0OC41NDYgMTEyLjIzOSAzNDguNzIzIDExNi44MjEgMzQ1LjQxMSAxMjguNDUyQzM0My4yMjcgMTM2LjEgMzQxLjk5MyAxNjMuMjc1IDM0Mi4zMTEgMTczLjM5IiBzdHJva2U9IiM0ODg1NTkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0zNDEuMDQyIDEwNy45MDNDMzQzLjI2MiAxMDMuMDM5IDM0Ny43MzYgOTMuNTkzNiAzNTQuMjg5IDg5LjkyOEMzNjAuMDMyIDg2Ljc1NTkgMzYxLjQ3NiA5MS45MzcgMzYwLjM0OSA5NC43OTJDMzU4LjYyMiA5OS4xOTc3IDM0NC4yNDggMTA0LjI3MyAzNDEuMDQyIDEwNy45MDNaIiBmaWxsPSIjOTdCODhBIi8+CjxwYXRoIGQ9Ik0zNDYuODU1IDk3LjM2NDVDMzUxLjA0OCA5Mi43NDczIDM1Ni45NjcgOTIuNjA2MyAzNjAuMzQ5IDkyLjg4ODMiIHN0cm9rZT0iIzQ4ODU1OSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTM2Mi42NzQgMTE4LjU4M0MzNjIuNjc0IDEyNC4wODIgMzU3LjQ2IDEzNC42MiAzNTYuMDE1IDE0MC4zNjVDMzUzLjkwMiAxNDguNjQ4IDM1MS4wNDggMTUzLjA4OSAzNDYuMDQ1IDE1My4xNTlDMzM4Ljg5MyAxNTMuMjMgMzM5LjMxNiAxNDUuODI4IDM0Mi45MDkgMTM4LjM1NkMzNDUuMzA1IDEzMy4zODcgMzQ3LjcwMSAxMjIuOTg5IDM1MC40ODQgMTE5Ljc0NkMzNTIuMDcgMTE3LjkxNCAzNTQuMjg5IDExNi41MDQgMzU3LjQyNSAxMTcuNDJDMzYwLjAzMiAxMTguMjY2IDM2Mi42NzQgMTE2LjM5OCAzNjIuNjc0IDExOC41ODNaIiBmaWxsPSIjOTdCODhBIi8+CjxwYXRoIG9wYWNpdHk9IjAuNDgiIGQ9Ik0zNjEuMzM1IDEyNS4yNDNDMzYyLjE0NSAxMjIuNzA1IDM2Mi42NzQgMTIwLjM3OSAzNjIuNjc0IDExOC41ODJDMzYyLjY3NCAxMTYuMzk2IDM2MC4wMzIgMTE4LjI2NCAzNTcuNDI1IDExNy40NTRDMzU0LjI4OSAxMTYuNTAyIDM1Mi4wMzQgMTE3Ljk0NyAzNTAuNDg0IDExOS43OEMzNDkuNzQ0IDEyMC42MjYgMzQ5LjA3NSAxMjEuOTY1IDM0OC4zNyAxMjMuNTUxQzM1Mi44OCAxMjIuNzA1IDM1Ny4zODkgMTIzLjEyOCAzNjEuMzM1IDEyNS4yNDNaIiBmaWxsPSIjNDg4NTU5Ii8+CjxwYXRoIG9wYWNpdHk9IjAuNDgiIGQ9Ik0zNDguNjUyIDEyNS45ODVDMzQ4LjQ0MSAxMjUuNzc0IDM0OC4wODkgMTI1LjM4NiAzNDcuODA3IDEyNC45NjNDMzQ2LjExNiAxMjkuMzY5IDM0NC40OTUgMTM1LjA3OCAzNDIuOTEgMTM4LjQyN0MzMzkuMzE2IDE0NS44OTkgMzM4Ljg1OCAxNTMuMjY1IDM0Ni4wNDUgMTUzLjIzQzM0OS40MjcgMTUzLjE5NSAzNTEuODIzIDE1MS4xNSAzNTMuNjkgMTQ3LjI3M0MzNTQuOTIzIDEzOS43MzEgMzU1LjM4MSAxMzEuNDEzIDM0OC42NTIgMTI1Ljk4NVoiIGZpbGw9IiM0ODg1NTkiLz4KPHBhdGggZD0iTTM2MS4zMzUgMTI1LjI0NUMzNTcuNDI1IDEyMy4xMyAzNTIuOTE1IDEyMi43MDcgMzQ4LjM3IDEyMy41NTNDMzQ4LjE5NCAxMjQuMDExIDM0Ny45ODMgMTI0LjQ2OSAzNDcuODA3IDEyNC45MjhDMzQ4LjA4OCAxMjUuMzUxIDM0OC43NTggMTI4LjY5OSAzNTEuMjI0IDEzNC4zMzhDMzUzLjkzNyAxNDAuNTA2IDM1My4yMzIgMTQyLjMwNCAzNTMuNjU1IDE0Ny4yMDNDMzU0LjUzNiAxNDUuMzM1IDM1NS4zMTEgMTQzLjA3OSAzNTUuOTggMTQwLjM2NUMzNTcuMDAyIDEzNi40ODggMzU5LjY4IDEzMC40NjEgMzYxLjMzNSAxMjUuMjQ1WiIgZmlsbD0iIzk3Qjg4QSIvPgo8cGF0aCBkPSJNMzQ0LjA3MiAxNzMuMzg5QzM0NC41MyAxNzAuMjUzIDM0NS4yNyAxNTYuMDQ5IDM0NS43OTggMTUzLjIyOUMzNDYuNTczIDE0OS4yNDYgMzQ5LjM5MiAxNDIuMjMyIDM1MS42NDYgMTM2LjM4MUMzNTQuMjU0IDEyOS42NSAzNTcuNDI0IDEyMy40ODIgMzU5LjQzMyAxMTguNDQxIiBzdHJva2U9IiM0ODg1NTkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0zNDYuNzE0IDEyNC41NEMzNDcuOTEyIDEyMi45NTQgMzU0LjM5NSAxMTUuNjkzIDM1OC44NjkgMTE0LjU2NUMzNjMuNDE0IDExMy40MDIgMzY1LjcwNCAxMTEuNjA1IDM2OC4yMDUgMTEzLjM2N0MzNzAuNzc3IDExNS4xNjUgMzcyLjI5MiAxMTguNDQyIDM3My4xNzMgMTIwLjQ1MUMzNzMuOTQ4IDEyMi4yNDkgMzc0LjcyMyAxMjQuODkyIDM3Mi4zMjcgMTI2LjEyNkMzNjkuNjUgMTI3LjUwMSAzNjUuNTYzIDEyNC43ODcgMzYxLjE1OSAxMjAuNTIyQzM1NS4zODEgMTE0Ljg4MyAzNDkuMjg2IDEyMi42MDEgMzQ2LjcxNCAxMjQuNTRaIiBmaWxsPSIjOTdCODhBIi8+CjxwYXRoIGQ9Ik0zNjEuNDc2IDExMy44NTlDMzY2LjM3MyAxMTMuODI0IDM3MC43MDcgMTI0LjI1NyAzNzEuOTQgMTI1Ljg3OCIgc3Ryb2tlPSIjNDg4NTU5IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMzQ4LjE5NCAxNTAuNDFDMzUxLjM2NSAxNTEuMjU2IDM1Mi4zODYgMTQ2LjQ5OCAzNTEuNTc2IDEzOS45NzdDMzUxLjE4OCAxMzYuNzM1IDM1MS4yMjQgMTMyLjExNyAzNDcuNzAxIDEyOS4xNTdDMzQ0LjYzNiAxMjYuNTg0IDM0Mi44MzkgMTIxLjc1NSAzNDIuMjA1IDEyNS41OTdDMzM5Ljg0NCAxMzkuNjk1IDM0Mi44MDQgMTQ4Ljk2NSAzNDguMTk0IDE1MC40MVoiIGZpbGw9IiM5N0I4OEEiLz4KPHBhdGggb3BhY2l0eT0iMC40OCIgZD0iTTM0OC44NjMgMTMwLjcwN0MzNDguNTExIDEzMC4xNzggMzQ4LjEyNCAxMjkuNjUgMzQ3LjcwMSAxMjkuMTIxQzM0NS4xOTkgMTI1Ljk4NCAzNDIuODM5IDEyMS41NzggMzQyLjIwNSAxMjUuNDJDMzQxLjk5MyAxMjYuNzU5IDM0MS42MDYgMTMwLjE3OCAzNDEuNDY1IDEzMS40NDdDMzQzLjc5IDEzMC43NDIgMzQ2LjI5MiAxMzAuMTQzIDM0OC44NjMgMTMwLjcwN1oiIGZpbGw9IiM0ODg1NTkiLz4KPHBhdGggZD0iTTM0NC40OTUgMTI2LjY4OUMzNDQuOTE3IDEzNS40NjYgMzQ0LjkxNyAxMzkuNTU0IDM0OC44MjggMTUwLjMzOUMzNTAuNDg0IDE1NC45NTcgMzQ4LjA1MyAxNzEuMDI5IDM0Ni4zOTcgMTczLjQyNSIgc3Ryb2tlPSIjNDg4NTU5IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMzQ5LjE4IDEzMC43MDdDMzQ3LjMxMyAxMjcuMTEyIDM0NC4yODMgMTE4LjI2NSAzMzkuNDU3IDExNS43NjJDMzM2LjE4IDExNC4wNzEgMzM1LjcyMiAxMTcuNDU0IDMzNS43OTMgMTE5LjkyMUMzMzUuOTM0IDEyMy4zNzYgMzQ1Ljc2MyAxMjguMjA0IDM0OS4xOCAxMzAuNzA3WiIgZmlsbD0iIzk3Qjg4QSIvPgo8cGF0aCBkPSJNMzQ1LjkwNCAxMjMuMzc2QzM0Mi43MzMgMTE5LjgxNiAzMzguNDcgMTE4LjQwNyAzMzUuOTY5IDExOC45IiBzdHJva2U9IiM0ODg1NTkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0yOTEuNzU0IDIwMC4wMDFDMzAyLjQyOSAyMDAuMzg5IDM1MC4yMDIgMjAzLjkxMyAzNTUuMjQgMjA4LjkxOEMzNjIuODE1IDIxNi40MjYgMzU4LjUxNyAyMjcuMDcgMzE5LjQ4MSAyMjcuMDdDMjgzLjQ3NSAyMjcuMDcgMTY2LjMzMSAyMjcuMDcgMTIyLjA4MSAyMjcuMDdDMTAzLjE2MiAyMjcuMDcgNjMuOTg1MiAyMjUuNTkgODcuMDk2OCAyMTUuMTkyQzg3LjA5NjggMjE1LjE5MiA3MS41NTk5IDIxNS4wMTYgNTguMDY2NCAyMTQuNTIyQzQ0LjUzNzYgMjE0LjAyOSAzMi4zMTI0IDIwNy4zNjcgMzIuOTgxOCAyMDEuOTc1QzMzLjYxNiAxOTYuODY0IDUxLjg2NTcgMTk0Ljg5IDY0LjY1NDYgMTk1LjM4NEM3Mi4zMzQ5IDE5NS42NjYgMjU1LjgxOCAxOTguNjYyIDI5MS43NTQgMjAwLjAwMVoiIGZpbGw9IiNFNEU1REQiLz4KPHBhdGggZD0iTTM3MC42NzEgMTEyLjg3NUMzNzAuNzc3IDExNC43NDMgMzkwLjExOSA5MS4yMzM4IDM5Mi4xNjIgNjIuMjI2NkMzOTEuODQ1IDgxLjk5OTQgMzg1LjA0NiAxMDEuMTczIDM3Mi4wODEgMTE2LjY4MUwzNzAuNjcxIDExMi44NzVaIiBmaWxsPSIjN0I0QjIwIi8+CjxwYXRoIGQ9Ik0zNjYuNDA5IDE2NS4wMzhDMzY5LjAxNiAxNDQuNTI1IDM3MC44MTIgMTMwLjExIDM3MC4yNDkgMTE5LjUwMUMzNjkuNjg1IDEwOS4yNDQgMzYzLjQ0OSA5Ny42NDgzIDM2MC4wMzIgODcuNjczOEMzNTUuMjQgNzMuNjgxMiAzNTAuODM2IDYyLjUwODQgMzUyLjU2MyA1Ny42Nzk3QzM1Mi41NjMgNTcuNjc5NyAzNTYuMjk3IDcyLjc2NDkgMzYyLjYwNCA4Ny41NjgxQzM2Ni42MiA5Ni45NDM0IDM3MS43OTkgMTA0Ljg3NCAzNzMuMjQzIDExNS44QzM3NS42MzkgMTM0LjI2OSAzNzEuOTA1IDE2NS42MDIgMzcxLjkwNSAxNjUuNjAyTDM2Ni40MDkgMTY1LjAzOFoiIGZpbGw9IiM3QjRCMjAiLz4KPHBhdGggZD0iTTMxNy4zNjcgODQuODUzNEMzMTMuNTYyIDc4LjI2MjQgMzE3LjEyIDY4LjYwNTEgMzIzLjIxNSA2NC43MjgxQzMyOS4zMSA2MC44NTExIDMzNi42MzggNjEuMjM4OCAzNDMuNTQzIDYxLjczMjJDMzQwLjc2IDYwLjI1MTkgMzM3Ljk0MiA1OC43MDExIDMzNS43MjIgNTYuMzA0NEMzMzMuNTAyIDUzLjg3MjQgMzMxLjkxNyA1MC4zODMxIDMzMi4zNCA0Ni44NTg1QzMzMi45MzkgNDEuODE4NCAzMzcuNDg0IDM4LjM5OTUgMzQxLjg4NyAzNy45NzY2QzM0Ni4yOTEgMzcuNTg4OSAzNTAuNTU0IDM5LjQ5MjEgMzU0LjY0MSA0MS4zNjAyQzM1My4xNjEgMzQuMzQ2MyAzNTUuNTU3IDI2LjYyNzQgMzYwLjEzNyAyMS42NTc4QzM2NC43MTcgMTYuNzIzNCAzNzIuMjIxIDEyLjI4MjQgMzc4LjQ1NyAxMi42MzQ5QzM4NS43ODUgMTMuMDU3OCAzOTMuMzk1IDE1LjI3ODMgMzk4LjI1NyAyMS41ODczQzQwMy4xMTkgMjcuODk2MyA0MDcuNTU4IDQwLjAyMDggMzk2LjY3MiA0OC41ODU1QzQwNC43NCA0OC40Nzk4IDQxMy41MTIgNDkuMzYwOSA0MjAuMzEyIDU2LjEyODFDNDMyLjUwMiA2OC4zMjMxIDQyMi4yODUgOTcuNjQ3NiA0MDkuMTA4IDkwLjY2ODlDMzk5LjM0OSA4NS41MjMxIDM2Ni43MjUgOTEuNzYxNiAzNTQuMTEzIDkyLjkyNDdDMzMyLjM0IDk0Ljg5ODQgMzIxLjQ1MyA5MS45Mzc4IDMxNy4zNjcgODQuODUzNFoiIGZpbGw9IiM5N0I4OEEiLz4KPHBhdGggZD0iTTM0Ni4wNDUgMTc4LjExNEMzNDcuMDMxIDE3My41MzIgMzYyLjYwNCAxNzEuMzQ3IDM2Ni4yNjggMTU5LjI5M0MzNjkuMDUxIDE1MC4wNTggMzcxLjMwNiAxMzAuODg1IDM3OC43MzkgMTMyLjc1M0MzODMuOTE4IDEzNC4wNTcgMzgxLjU5MyAxNDQuODc3IDM4MC42NDIgMTUzLjcyNEMzODEuNjk5IDE0Ni43OCAzODMuMzkgMTIwLjczNCAzOTIuOTczIDEyMi4xNzlDNDAyLjA5OCAxMjMuNTg5IDM5NS4zMzMgMTQ4LjI5NiAzOTQuMDY1IDE1Mi45NDhDMzk3LjE2NSAxNDEuMjQ3IDM5OC41MDQgMTMxLjA2MSA0MDQuMTQxIDEzMC4wMDNDNDEzLjUxMiAxMjguMjA2IDQwMi42OTYgMTYyLjU3MSAzOTMuNzgzIDE2OS4yMzJDMzgzLjI0OSAxNzcuMDU3IDM0Ni4wNDUgMTc4LjExNCAzNDYuMDQ1IDE3OC4xMTRaIiBmaWxsPSIjNDg4NTU5Ii8+CjxwYXRoIGQ9Ik0zNjYuNzYgMTcwLjA3N0MzNzMuOTEyIDE3MC4wNzcgMzc4LjIxMSAxNTguOTA1IDM3Ni45MDcgMTUzLjE5NUMzNzUuNjAzIDE0Ny40NSAzNjkuOTY2IDE0NS43OTMgMzY3LjA3OCAxNDcuMzQ0QzM2NS4yODEgMTQ4LjI5NiAzNjUuNDkyIDE0Mi45NzQgMzYyLjc0NCAxMzguMTQ1QzM2MS4xNTkgMTM1LjM2IDM1OC4wOTQgMTMyLjYxMSAzNTMuNjU1IDEzMS4wMjVDMzQ3Ljk4MiAxMjguOTgxIDM0MS41IDEzMy4xMDUgMzQyLjY2MiAxMzguMTQ1QzM0My42MTQgMTQyLjM3NCAzNDUuNzk4IDE0NS4xOTQgMzQzLjE5MSAxNDQuNjNDMzM5Ljk4NSAxNDMuOTYgMzM2LjIxNSAxNDEuNzc1IDMzMi4wOTMgMTQ2LjE0NkMzMjcuMDIgMTUxLjQ2OCAzMzQuNTU5IDE1Ny42NzEgMzMyLjcyNyAxNTguMzQxQzMzMC44NiAxNTkuMDEgMzI0LjUxOCAxNTguMTI5IDMyNC4zMDcgMTY0LjIyN0MzMjQuMTY2IDE2OC4wMzMgMzI5LjM0NSAxNzAuMTEzIDMzNi45MiAxNzAuMTEzQzM0NC45MTcgMTcwLjA3NyAzNTcuOTE3IDE3MC4wNzcgMzY2Ljc2IDE3MC4wNzdaIiBmaWxsPSIjNDg4NTU5Ii8+CjxwYXRoIGQ9Ik0zNDQuODQ3IDE1Mi4wNjZDMzQ5LjU2OCAxNTEuNzQ4IDM1My4wMiAxNTUuNDg1IDM1NC40MjkgMTU5LjkyNSIgc3Ryb2tlPSIjOTdCODhBIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0zNTIuNzM4IDE3MC4xODNDMzU0LjY3NiAxNTcuNzA2IDM1Ni44NiAxNTAuODMzIDM1MS44MjIgMTQwLjI2IiBzdHJva2U9IiM5N0I4OEEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTM2Ni42OSAxNTUuOTA4QzM2Ni41NDkgMTYxLjIzIDM1OS41NzMgMTY0LjY4NCAzNTQuMjUzIDE2NS42NzEiIHN0cm9rZT0iIzk3Qjg4QSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMzE0Ljk3MSAxNTEuMTE1QzMxNi40MTYgMTQ1LjUxMSAzMzYuMTEgMTE2LjkyNiAzMjkuMDI5IDExMy45NjZDMzIxLjQ4OSAxMTAuNzkzIDMxMi4yMjMgMTIxLjU0MyAzMDcuMTE1IDEzMC4wMDJDMzEwLjc0NCAxMjAuOTQ0IDMxMy44NzkgMTE2LjYwOSAzMTUuMjUzIDExMy4wMTRDMzE4LjIxMyAxMDUuMjk1IDMxNy41NzkgOTYuNDgzNyAzMTAuMTQ1IDk2LjYyNDdDMjk4LjkwNiA5Ni44MzYyIDI5My4yMzQgMTE0LjQ5NCAyODYuMTg4IDEyMi44ODNDMjg4LjAyIDExNi44MjEgMjg4Ljc5NSAxMDguMjkxIDI4MS4zMjYgMTA5LjEzN0MyNzMuODkyIDEwOS45ODMgMjY5LjU5NCAxMTYuMzk4IDI2My43ODEgMTMzLjAzNEMyNjAuNDM0IDE0Mi41ODUgMjUzLjI4MiAxODMuNTQxIDI2OC43ODMgMTkxLjA0OEMyNzIuMDI1IDE5Mi42MzQgMjgyLjU1OSAxOTAuMDYxIDI5Ny4xMDkgMTg1LjA1NkMyOTkuNDcgMTgyLjY5NSAzMDEuNjU0IDE4MC4xOTIgMzAzLjIwNCAxNzcuMjMyQzMwNy41MzggMTY4LjM1IDMxMi40IDE2MC44NDIgMzE0Ljk3MSAxNTEuMTE1WiIgZmlsbD0iIzQ4ODU1OSIvPgo8cGF0aCBkPSJNMzEyLjc1MSAxOTguNDE0QzMxMi4yMjMgMjAwLjI4MiAzMTEuOCAyMDIuMDQ0IDMxMS40MTMgMjAzLjU5NUMzMTIuMDQ3IDIwMS43MjcgMzEyLjQ3IDIwMCAzMTIuNzUxIDE5OC40MTRaIiBmaWxsPSIjNDg4NTU5Ii8+CjxwYXRoIGQ9Ik0xNzIuNDk3IDE2Ni4xM0wxODYuNDEzIDE1My43OTRDMTg2LjQxMyAxNTMuNzk0IDMxOC44NDcgMTUyLjcwMSAzMzMuOTk2IDE1Mi43MDFDMzM2Ljc0NCAxNTIuNzAxIDMyNy4zNzMgMTYyLjA0MSAzMjAuMzYyIDE2My42MjdDMjk5Ljk2MyAxNjguMjggMTcyLjQ5NyAxNjYuMTMgMTcyLjQ5NyAxNjYuMTNaIiBmaWxsPSIjN0QzNDE5Ii8+CjxwYXRoIGQ9Ik0xOTIuMDUgMTU5Ljk2MkMxOTMuMDAxIDE2NC42MTQgMTkzLjk4OCAxNjguMjggMTkyLjc5IDE2OC41MjdDMTkxLjU5MiAxNjguNzczIDE5MC4xNDggMTY1LjAwMiAxODkuMTYxIDE2MC4zODVDMTg4LjIxIDE1NS43MzIgMTg4LjEwNCAxNTEuOTk2IDE4OS4zMDIgMTUxLjc1QzE5MC41IDE1MS41MDMgMTkxLjA5OSAxNTUuMzA5IDE5Mi4wNSAxNTkuOTYyWiIgZmlsbD0iYmxhY2siLz4KPHBhdGggZD0iTTIzMi4wNzMgMTQ3LjEzMkMyMzEuNjUgMTUxLjI5MSAyMjkuNzEyIDE2Mi42NzUgMjM4Ljg3MiAxNjQuMTkxQzI0MS43OTcgMTY0LjY4NCAyNDIuODUzIDE1My4zIDI0My4zMTEgMTQ5LjE0MUMyNDMuNzY5IDE0NC45ODIgMjQxLjEyNyAxNDAuNDcgMjM4LjE2OCAxNDAuMTg4QzIzNS4yNDQgMTM5Ljg3MSAyMzIuNTMxIDE0Mi45NzMgMjMyLjA3MyAxNDcuMTMyWiIgZmlsbD0iIzdEMzQxOSIvPgo8cGF0aCBkPSJNMjEyLjYyNiAxNTIuOTQ4QzIwOC43MTUgMTUyLjc3MSAxOTcuMjMgMTU0LjMyMiAxOTUuOTYyIDE1NS42MjZDMTk0LjY5MyAxNTYuOTMgMjAwLjExOSAxNTYuOTY2IDIwMS44MSAxNTcuMTc3QzIwMi45NzMgMTU3LjMxOCAyMDkuNzcyIDE1OC42OTMgMjExLjY3NSAxNTguNzYzQzIxMi42NjEgMTU4Ljc5OCAyMTguOTMyIDE1OC43NjMgMjIyLjAzMyAxNTcuODEyQzIyMC43MjkgMTU1LjgwMyAyMTkuMjg1IDE1My44NjQgMjE3LjY5OSAxNTIuMDMxQzIxNS45MzggMTUzLjA4OSAyMTMuNjgzIDE1My4wMTggMjEyLjYyNiAxNTIuOTQ4WiIgZmlsbD0iI0Y5QUM4MSIvPgo8cGF0aCBkPSJNMjI2LjExOCAxNDguNzE4QzIyMy44OTkgMTQ4LjE1NCAyMjAuNTg3IDE1MC4zMzkgMjE3LjczMyAxNTIuMDMxQzIxOS4zMTkgMTUzLjg5OSAyMTkuMzg5IDE1Ni4wODQgMjIwLjY5MyAxNTguMDkzQzIyMS41MDMgMTU3Ljg0NiAyMjMuNTExIDE1Ny4zMTggMjIzLjg2NCAxNTcuMTA2QzIyNS40MTQgMTU2LjA4NCAyMjYuNjEyIDE0OC44NTkgMjI2LjExOCAxNDguNzE4WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTE5Ny41NDYgMTU2LjI2MUMxOTcuOTY5IDE1Ni4wNDkgMTk3LjM3IDE1NC41NjkgMTk2LjcwMSAxNTUuMzA5QzE5Ni4wMzIgMTU2LjA0OSAxOTUuNjQ0IDE1Ni41NDMgMTk2LjU2IDE1Ny43NzZDMTk3LjIyOSAxNTguNjkzIDE5OC4wNCAxNTkuMzk4IDE5OC4xMSAxNTkuMDFDMTk4LjE4MSAxNTguNTUyIDE5Ny4zIDE1Ny42IDE5Ny4xNTkgMTU2LjkzQzE5Ny4wODggMTU2LjY0OCAxOTcuMjY1IDE1Ni40MDIgMTk3LjU0NiAxNTYuMjYxWiIgZmlsbD0iI0Y5QUM4MSIvPgo8cGF0aCBkPSJNMTk5LjI3MyAxNTUuNDg1QzE5OS44MDEgMTU1LjM0NCAxOTguNTY4IDE1NC4xMTEgMTk3LjY1MiAxNTQuNzFDMTk2LjczNiAxNTUuMzA5IDE5Ni44NDIgMTU1LjU1NiAxOTcuNDc2IDE1Ni45NjZDMTk4LjExIDE1OC4zNzYgMTk5LjIwMiAxNTkuMzYyIDE5OS4xNjcgMTU4LjgzNEMxOTkuMDk3IDE1OC4xOTkgMTk4LjQyNyAxNTcuNDI0IDE5OC4xODEgMTU2LjcxOUMxOTcuOTM0IDE1Ni4wMTQgMTk4LjkyIDE1NS41OTEgMTk5LjI3MyAxNTUuNDg1WiIgZmlsbD0iI0Y5QUM4MSIvPgo8cGF0aCBkPSJNMjAwLjg5MyAxNTUuMzc5QzIwMS4yNDYgMTU0Ljk1NiAyMDAuODIzIDE1NC4xMSAxOTkuNDg0IDE1NC4zNTdDMTk4LjM1NyAxNTQuNTY4IDE5Ny43NTggMTU1LjE2NyAxOTguMzkyIDE1Ni41NDJDMTk5LjAyNiAxNTcuOTUyIDIwMC4wODMgMTU5LjAwOSAyMDAuMDgzIDE1OC40OEMyMDAuMDgzIDE1Ny44NDYgMTk5LjU1NSAxNTcuMjQ3IDE5OS4zMDggMTU2LjUwN0MxOTkuMDYxIDE1NS44MDIgMjAwLjU3NiAxNTUuNzY3IDIwMC44OTMgMTU1LjM3OVoiIGZpbGw9IiNGOUFDODEiLz4KPHBhdGggZD0iTTE5Ni4xMDIgMTU3LjI4MkMxOTYuMjA3IDE1Ny45MTcgMTk2Ljg3NyAxNTguMTI4IDE5Ni44NzcgMTU4LjY1N0MxOTYuODc3IDE1OS4yNTYgMTk1LjQ2OCAxNTcuODQ2IDE5NS4yOTEgMTU3LjQ1OUMxOTQuOTM5IDE1Ni41NzcgMTk1Ljg1NSAxNTUuMzQ0IDE5Ni44MDYgMTU1LjA2MkMxOTcuNDQxIDE1NC44NSAxOTUuOTk2IDE1Ni42ODMgMTk2LjEwMiAxNTcuMjgyWiIgZmlsbD0iI0Y5QUM4MSIvPgo8cGF0aCBkPSJNMjAyLjU4NCAxNTUuNjZDMjAyLjY5IDE1Ni40IDIwMS45MTUgMTU3LjQyMiAyMDEuMjQ1IDE1Ny44MUMyMDEuMDY5IDE1Ny45MTYgMjAwLjcxNyAxNTguNTg1IDIwMC41NDEgMTU4LjQwOUMxOTkuOTc3IDE1Ny43NzUgMjAwLjQgMTU2Ljg5MyAyMDAuMzY1IDE1Ni40N0MyMDAuMTg4IDE1NC42MDIgMTk5LjgwMSAxNTQuNjAyIDIwMC45OTkgMTU0LjQ2MUMyMDEuODA5IDE1NC4zNTYgMjAyLjQ0MyAxNTQuODQ5IDIwMi41ODQgMTU1LjY2WiIgZmlsbD0iI0Y5QUM4MSIvPgo8cGF0aCBkPSJNMjAwLjIyNCAxNTUuMTY3QzIwMC4zNjUgMTU1LjQxNCAyMDAuNCAxNTUuNjYxIDIwMC4zNjUgMTU1LjkwOEMyMDAuMzY1IDE1Ni4wMTMgMjAwLjMzIDE1Ni4xNTQgMjAwLjMzIDE1Ni4yNkMyMDAuMzMgMTU2LjMzMSAyMDAuMjk0IDE1Ni40MDEgMjAwLjI5NCAxNTYuNDcyQzIwMC4yOTQgMTU2LjU0MiAyMDAuMjk0IDE1Ni42MTMgMjAwLjI5NCAxNTYuNjgzQzIwMC4yOTQgMTU2Ljg1OSAyMDAuNTQxIDE1Ni44OTQgMjAwLjYxMiAxNTYuNzE4QzIwMC42NDcgMTU2LjY0OCAyMDAuNjQ3IDE1Ni41NzcgMjAwLjY4MiAxNTYuNTA3QzIwMC43MTggMTU2LjQzNiAyMDAuNzE4IDE1Ni4zMzEgMjAwLjcxOCAxNTYuMjZDMjAwLjcxOCAxNTYuMTE5IDIwMC43MTggMTU1Ljk3OCAyMDAuNzE4IDE1NS44MzdDMjAwLjcxOCAxNTUuNTU1IDIwMC42MTIgMTU1LjIzOCAyMDAuNDM1IDE1NC45OTFDMjAwLjMzIDE1NC45MjEgMjAwLjE1MyAxNTUuMDI2IDIwMC4yMjQgMTU1LjE2N1oiIGZpbGw9IiMyNjI2MkIiLz4KPHBhdGggZD0iTTIwMy4wNzcgMTU1LjQ4NUMyMDMuMDc3IDE1NS42MjYgMjAzLjA3NyAxNTUuNzY3IDIwMy4wNDIgMTU1LjkwOEMyMDMuMDQyIDE1NS45NzggMjAzLjAwNyAxNTYuMDEzIDIwMy4wMDcgMTU2LjA4NFYxNTYuMTE5QzIwMy4wMDcgMTU2LjExOSAyMDIuOTcyIDE1Ni4xNTQgMjAzLjAwNyAxNTYuMTU0QzIwMy4wMDcgMTU2LjExOSAyMDMuMDA3IDE1Ni4xNTQgMjAzLjAwNyAxNTYuMTlDMjAzLjAwNyAxNTYuMTkgMjAzLjAwNyAxNTYuMjI1IDIwMi45NzIgMTU2LjIyNUMyMDIuOTAxIDE1Ni4zMzEgMjAyLjgzMSAxNTYuNDM2IDIwMi43OTYgMTU2LjUwN0MyMDIuNzI1IDE1Ni42NDggMjAyLjYxOSAxNTYuNzg5IDIwMi41NDkgMTU2Ljg5NUMyMDIuNDc4IDE1Ny4wMzYgMjAyLjY1NSAxNTcuMTc3IDIwMi43NiAxNTcuMDcxQzIwMi45MzYgMTU2Ljg1OSAyMDMuMTQ4IDE1Ni42MTMgMjAzLjI4OSAxNTYuMzY2QzIwMy40MyAxNTYuMDg0IDIwMy40MyAxNTUuODAyIDIwMy40NjUgMTU1LjQ4NUMyMDMuMzk0IDE1NS4yNzMgMjAzLjA3NyAxNTUuMjczIDIwMy4wNzcgMTU1LjQ4NVoiIGZpbGw9IiMyNjI2MkIiLz4KPHBhdGggZD0iTTIzNC4xODcgMTQ3LjczMUMyMzEuNjUgMTQ2LjAwNCAyMjkuNzgzIDE0Ny41MiAyMjcuMjExIDE0OC4wNDhDMjI0LjExIDE0OC42ODMgMjIyLjAzMiAxNTMuNTExIDIyMS4zMjcgMTU2LjA4NEMyMjAuNzk5IDE1Ny45ODggMjE5LjYwMSAxNjMuNDUxIDIxOC4zMzMgMTY2LjEyOUMyMTcuMDY0IDE2OC43MzcgMjE3LjE3IDE3Mi41NDQgMjE3LjQxNyAxNzMuNzA3QzIxOS4zNTQgMTc0LjQxMiAyMjIuMDY3IDE3Ni4xMDQgMjI0LjAwNSAxNzYuODA5QzIyNy41MjggMTc4LjExMyAyMjkuNzEyIDE3OC42NzcgMjMzLjQxMSAxNzcuNjU1QzIzMy43NjQgMTc1Ljg5MiAyMzMuMDU5IDE3NS44MjIgMjM1LjEzOCAxNzAuNzExQzIzNS43MDEgMTY5LjM3MiAyMzcuMzkzIDE2Mi41NjkgMjM3LjUzMyAxNjEuODY1QzIzOC44NzIgMTU1LjM3OSAyMzYuODI5IDE0OS41MjkgMjM0LjE4NyAxNDcuNzMxWiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTIyMi4xMyAxMzkuMzcyQzIyMi4xNzcgMTM4LjYxNSAyMjIuMTM2IDEzNy45OTYgMjIyLjAzOSAxMzcuOTlDMjIxLjk0MiAxMzcuOTg0IDIyMS44MjUgMTM4LjU5MyAyMjEuNzc4IDEzOS4zNTFDMjIxLjczMSAxNDAuMTA4IDIyMS43NzIgMTQwLjcyOCAyMjEuODY5IDE0MC43MzRDMjIxLjk2NiAxNDAuNzQgMjIyLjA4MyAxNDAuMTMgMjIyLjEzIDEzOS4zNzJaIiBzdHJva2U9ImJsYWNrIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMjIyLjA2NyAxNDIuNDc5QzIyMi4xMzggMTQyLjY5IDIyMS44OTEgMTQzLjExMyAyMjIuMTM4IDE0My4zMjVDMjIyLjM0OSAxNDMuNTM2IDIyMy4zIDE0My4yMTkgMjIzLjg5OSAxNDMuMjU0QzIyNC4xMTEgMTQzLjkyNCAyMjEuNzg1IDE0NC4yNzYgMjIyLjE3MyAxNDQuODA1QzIyMi41MjUgMTQ1LjI5OSAyMjIuMjc5IDE0NS44OTggMjIyLjI3OSAxNDYuMDM5QzIyMi4yNzkgMTQ2LjYzOCAyMjIuNTk2IDE0Ny4yMDIgMjIzLjIzIDE0Ny4zNDNDMjIzLjg2NCAxNDcuNDg0IDIyNS4zNzkgMTQ3LjQxMyAyMjUuODcyIDE0Ny4zNDNDMjI2LjI5NSAxNDguNDcxIDIyNi4xMTkgMTQ5LjU2MyAyMjUuODcyIDE1MC42OTFDMjI1LjYyNiAxNTEuODU0IDIyNi45MjkgMTUyLjA2NiAyMjguMDU3IDE1MS4zOTZDMjMwLjY2NCAxNDkuOTUxIDIzMy4xNjUgMTQ4LjI5NCAyMzMuNzI5IDE0Ny40MTNDMjMyLjc0MiAxNDYuOTIgMjMyLjkxOCAxNDUuNjE2IDIzMy4wOTUgMTQzLjM5NUMyMzMuMjM2IDE0MS40NTcgMjM0LjY4IDE0MC43MTcgMjM0LjYxIDEzOC43NzhDMjM0LjUzOSAxMzYuOTQ1IDIzMy42NTggMTM1Ljc0NyAyMzIuMDAyIDEzNC43NkMyMjkuMjkgMTMzLjEwNCAyMjQuODg2IDEzMi42MSAyMjMuMTk1IDEzNS45OTRDMjIyLjQ1NSAxMzcuNDc0IDIyMi44MDcgMTM4LjYwMiAyMjIuMTczIDEzOS45NDFDMjIxLjc4NSAxNDAuNzUyIDIyMC42MjMgMTQxLjMxNiAyMjAuOTQgMTQxLjg4QzIyMS4xMTYgMTQyLjEyNiAyMjEuMjU3IDE0Mi4yNjcgMjIyLjA2NyAxNDIuNDc5WiIgZmlsbD0iI0Q4OUI3QiIvPgo8cGF0aCBkPSJNMjI5LjYwNyAxNDMuNzEzQzIyOC45MzcgMTQ2LjE4IDIyNi40MzYgMTQ3LjEzMiAyMjUuODM3IDE0Ny4zNzhDMjI2LjE4OSAxNDguMjI0IDIyNS44MzcgMTQ5LjQ1OCAyMjYuMTg5IDE1MC4wNTdDMjI4LjA1NiAxNDguNDM2IDIyOS42NzcgMTQ3LjU1NSAyMjkuNjA3IDE0My43MTNaIiBmaWxsPSIjQ0Q4NDYzIi8+CjxwYXRoIGQ9Ik0yMjMuMzY3IDEzOS4yNzNDMjIzLjQyMSAxMzguMzk5IDIyMy4yNzUgMTM3LjY3OSAyMjMuMDQyIDEzNy42NjRDMjIyLjgwOSAxMzcuNjUgMjIyLjU3NyAxMzguMzQ3IDIyMi41MjMgMTM5LjIyMkMyMjIuNDcgMTQwLjA5NiAyMjIuNjE1IDE0MC44MTYgMjIyLjg0OCAxNDAuODMxQzIyMy4wODEgMTQwLjg0NSAyMjMuMzE0IDE0MC4xNDggMjIzLjM2NyAxMzkuMjczWiIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTIzMC4xMzUgMTM5LjE2N0MyMjguNjIgMTM5LjE2NyAyMjUuMjczIDEzOC44MTUgMjIzLjQ0MSAxMzguODUiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0yMjQuMDE5IDEzOS4yMjFDMjI0LjA0MyAxMzkuMDI4IDIyMy45NjkgMTM4Ljg1OSAyMjMuODUzIDEzOC44NDVDMjIzLjczNyAxMzguODMgMjIzLjYyMyAxMzguOTc1IDIyMy41OTkgMTM5LjE2OEMyMjMuNTc0IDEzOS4zNjEgMjIzLjY0OSAxMzkuNTI5IDIyMy43NjUgMTM5LjU0NEMyMjMuODgxIDEzOS41NTkgMjIzLjk5NCAxMzkuNDE0IDIyNC4wMTkgMTM5LjIyMVoiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGQ9Ik0yMjQuMTExIDEzNy42ODZDMjI0LjM5MyAxMzcuODI3IDIyNC42MzkgMTM4LjAwMyAyMjQuODUxIDEzOC4yMTVDMjI0LjUzNCAxMzguMTA5IDIyNC4xODEgMTM4LjAzOCAyMjMuODI5IDEzOC4wMDNDMjIzLjY1MyAxMzcuOTY4IDIyMy40MDYgMTM4LjAwMyAyMjMuMTk1IDEzNy44NjJDMjIyLjk0OCAxMzcuNzIxIDIyMy4yMyAxMzcuNTQ1IDIyMy40MDYgMTM3LjU0NUMyMjMuNjUzIDEzNy41NDUgMjIzLjg2NCAxMzcuNTggMjI0LjExMSAxMzcuNjg2WiIgZmlsbD0iYmxhY2siLz4KPHBhdGggZD0iTTIyMi41OTYgMTMzLjczOUMyMjIuMTM4IDEzMy45ODUgMjIxLjU3NCAxMzUuMDc4IDIyMS43NSAxMzUuOTI0QzIyMS43ODYgMTM2LjEzNSAyMjIuODQyIDEzNi4zODIgMjIyLjk4MyAxMzYuMzEyQzIyNC4xMTEgMTM1Ljk5NCAyMjMuODI5IDEzNi4wNjUgMjI0Ljg4NiAxMzUuNTAxQzIyNS4xMzMgMTM1LjM2IDIyNi42MTIgMTM0Ljk3MiAyMjYuODU5IDEzNS4xMTNDMjI2LjUwNyAxMzUuNzQ4IDIyNS45NzggMTM2LjI3NiAyMjYuMDEzIDEzNi44NEMyMjYuMDg0IDEzNy40NzUgMjI2LjMzIDEzOC4yMTUgMjI2Ljk2NSAxMzguMzIxQzIyNi44OTQgMTM5LjA5NiAyMjYuOTY1IDEzOS44MzYgMjI3LjE0MSAxNDEuMjExQzIyNy4xNDEgMTQxLjI4MSAyMjguNjIgMTQwLjk5OSAyMjguOTczIDE0MS4wN0MyMjguOTczIDEzOS45NzcgMjI5LjkyNCAxMzguODg0IDIyOS45OTQgMTM5LjczQzIzMC4wNjUgMTQwLjQzNSAyMzAuMTcxIDE0MC40MzUgMjMwLjQ1MiAxNDEuNjY5QzIzMC43MzQgMTQyLjgzMiAyMzIuMjE0IDE0My45NiAyMzMuMDk1IDE0NC44MDZDMjMzLjIgMTQzLjU3MiAyMzMuNzI5IDE0Mi41MTUgMjM0LjUzOSAxNDEuMzE2QzIzNC42MSAxNDEuMjExIDIzNi4xMjUgMTM5LjczIDIzNi4zMDEgMTM4LjU2N0MyMzYuNjg4IDEzNS45OTQgMjM0LjA4MSAxMzUuMzI1IDIzNC4wNDYgMTM1LjI1NEMyMzMuMzA2IDEzMy42NjggMjMxLjYxNSAxMzIuNTQgMjI5Ljg4OSAxMzIuMzk5QzIyNy44ODEgMTMyLjIyMyAyMjYuMTg5IDEzMy41MjcgMjI1LjM0NCAxMzMuMzE2QzIyNC4zNTcgMTMzLjAzNCAyMjMuNTEyIDEzMy4yOCAyMjIuNTk2IDEzMy43MzlaIiBmaWxsPSJibGFjayIvPgo8cGF0aCBkPSJNMjI4Ljg2NyAxMzguOTlDMjI5LjAwOCAxMzguODQ5IDIyOS45MjQgMTM4LjE3OSAyMzAuNjY0IDEzOS4wNkMyMzEuMjYyIDEzOS44IDIzMC45NDUgMTQwLjkyOCAyMzAuNzY5IDE0MS40MjJDMjMwLjY2NCAxNDEuNzM5IDIzMC4xMzUgMTQyLjg2NyAyMjkuMzI1IDE0Mi42MkMyMjguMDkyIDE0Mi4zMDMgMjI4LjE2MiAxMzkuNjU5IDIyOC44NjcgMTM4Ljk5WiIgZmlsbD0iI0Q4OUI3QiIvPgo8cGF0aCBkPSJNMjIyLjEwMyAxMzkuMDk2QzIyMi4xMzggMTM5LjAyNSAyMjIuMjA4IDEzOC45OSAyMjIuMzE0IDEzOC45OUMyMjIuMzg1IDEzOC45OSAyMjIuNDU1IDEzOS4wMjUgMjIyLjUyNiAxMzkuMDYxIiBzdHJva2U9ImJsYWNrIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMjE3LjkxIDE3MC4xNDdDMjE2LjAwNyAxNzEuMjQgMjA2Ljc0MiAxNjguOTE0IDE5OS43NjYgMTY0LjQzN0MxOTguMjg2IDE2My40ODYgMTk2LjM0OCAxNjMuNTIxIDE5NS44NTUgMTYzLjYyN0MxOTUuMTg2IDE2My43NjggMTkzLjM4OSAxNjQuMTIgMTkyLjg5NiAxNjMuNjYyQzE5Mi41MDggMTYzLjQ4NiAxOTEuOTggMTYzLjM4IDE5MS4xMzQgMTYzLjQ1MUMxOTAuNzgyIDE2My40ODYgMTg5Ljc2IDE2Mi44MTYgMTkwLjE4MyAxNjIuNjA1QzE5MC45MjMgMTYyLjI4NyAxOTEuOTA5IDE2Mi4zMjMgMTkyLjI2MiAxNjIuMjg3QzE5Mi4wNSAxNjIuMjUyIDE5MC41NyAxNjIuMzIzIDE5MC4xMTIgMTYyLjI4N0MxODkuMjY3IDE2Mi4yMTcgMTg4LjU5OCAxNjEuMzM2IDE4OS43NiAxNjAuODc4QzE5MC4yNTMgMTYwLjcwMSAxOTEuMjA1IDE2MC43NzIgMTkyLjI5NyAxNjAuNjMxQzE5MS4xMzQgMTYwLjM4NCAxOTAuNSAxNjAuNDkgMTg5LjM3MyAxNjAuNzM3QzE4OS4wOTEgMTYwLjgwNyAxODcuNTQxIDE2MC4wMzIgMTg4Ljk4NSAxNTkuMzYyQzE4OS42OSAxNTkuMDQ1IDE5MC43MTEgMTU4Ljg2OSAxOTIuMjk3IDE1OC42OTJDMTkxLjI3NSAxNTguMTk5IDE5MC4xMTIgMTU4LjQxIDE4OS41ODQgMTU4LjUxNkMxODguNTI3IDE1OC43MjggMTg4LjI4IDE1OC42NTcgMTg3LjUwNSAxNTguNDFDMTg2Ljk0MiAxNTguMjM0IDE4Ny4xNTMgMTU3LjkxNyAxODcuODIyIDE1Ny42MzVDMTg4LjQ5MiAxNTcuMzUzIDE4OC40MjEgMTU3LjMxOCAxODkuNzYgMTU2Ljg5NUMxOTAuOTIzIDE1Ni41NDIgMTkxLjk0NSAxNTYuNTQyIDE5My42NzEgMTU3LjEwNkMxOTUuMTE1IDE1Ny42IDE5OC4yNTEgMTU5LjA4IDIwMC41MDYgMTU5LjY3OUMyMDQuMDk5IDE2MC42MzEgMjEyLjQxNCAxNjIuMTQ2IDIxNC44OCAxNjIuNjc1QzIxNS41MTQgMTYyLjgxNiAyMjQuMDc1IDE1OC4zMDUgMjI1LjY5NiAxNTcuNDU5QzIyNi4wNDggMTU3LjI4MyAyMzAuNjYzIDE2Mi4wNzYgMjMxLjYxNSAxNjMuMjA0QzIyNy44MSAxNjYuMTI5IDIyMC4wMjQgMTY4Ljk4NCAyMTcuOTEgMTcwLjE0N1oiIGZpbGw9IiNGOUFDODEiLz4KPHBhdGggb3BhY2l0eT0iMC40MiIgZD0iTTE5Ni4xNzIgMTYzLjM4QzE5Ny41ODEgMTYzLjYyNiAxOTkuNzMgMTY0LjI5NiAxOTkuNzY2IDE2NC40MzdDMTk4LjI4NiAxNjMuNDg1IDE5Ni4zNDggMTYzLjUyMSAxOTUuODU1IDE2My42MjZDMTk1LjE4NiAxNjMuNzY3IDE5My4zODkgMTY0LjEyIDE5Mi44NiAxNjMuNjYyQzE5Mi40NzMgMTYzLjQ4NSAxOTEuOTQ0IDE2My4zOCAxOTEuMDk5IDE2My40NUMxOTAuNzQ2IDE2My40ODUgMTg5LjcyNSAxNjIuODE2IDE5MC4xNDggMTYyLjYwNEMxOTAuODg3IDE2Mi4yODcgMTkxLjg3NCAxNjIuMzIyIDE5Mi4yMjYgMTYyLjI4N0MxOTIuMDE1IDE2Mi4yNTIgMTkwLjUzNSAxNjIuMzIyIDE5MC4wNzcgMTYyLjI4N0MxODkuMjMxIDE2Mi4yMTYgMTg4LjU2MiAxNjEuMzM1IDE4OS43MjUgMTYwLjg3N0MxODkuODMgMTYwLjg0MiAxODkuOTM2IDE2MC44MDcgMTkwLjA0MiAxNjAuODA3QzE5Mi4yMjYgMTYyLjg4NiAxOTMuMTQyIDE2Mi44ODYgMTk2LjE3MiAxNjMuMzhaIiBmaWxsPSIjQzA5NDdCIi8+CjxwYXRoIG9wYWNpdHk9IjAuNDIiIGQ9Ik0xODkuMzczIDE2MC43MzhDMTg5LjEyNiAxNjAuODA4IDE4Ny41NzYgMTYwLjAzMyAxODguOTUgMTU5LjM2M0MxODkuMjMyIDE1OS44NTcgMTg5LjU0OSAxNjAuMjQ0IDE4OS45MDEgMTYwLjYzMkMxODkuNzYgMTYwLjY2NyAxODkuNTg0IDE2MC43MDMgMTg5LjM3MyAxNjAuNzM4WiIgZmlsbD0iI0MwOTQ3QiIvPgo8cGF0aCBkPSJNMTg4LjgwOSAxNTcuNzRDMTg4LjgwOSAxNTcuOTUyIDE4OC43NzMgMTU4LjE2MyAxODguNzczIDE1OC4zNEMxODguNzczIDE1OC4zNzUgMTg4LjgwOSAxNTguNDEgMTg4Ljg0NCAxNTguNDFDMTg4Ljg3OSAxNTguNDEgMTg4LjkxNSAxNTguMzc1IDE4OC45MTUgMTU4LjM0QzE4OC45MTUgMTU4LjEyOCAxODguOTE1IDE1Ny45MTcgMTg4LjkxNSAxNTcuNzRDMTg4LjkxNSAxNTcuNzA1IDE4OC44NzkgMTU3LjY3IDE4OC44NDQgMTU3LjY3QzE4OC44NDQgMTU3LjY3IDE4OC44MDkgMTU3LjcwNSAxODguODA5IDE1Ny43NFoiIGZpbGw9IiMyNjI2MkIiLz4KPHBhdGggZD0iTTE4OS4xMjYgMTU5LjY4QzE4OS4xMjYgMTU5LjcxNSAxODkuMTI2IDE1OS43ODYgMTg5LjEyNiAxNTkuODIxQzE4OS4xMjYgMTU5Ljg1NiAxODkuMTYxIDE1OS44OTIgMTg5LjE2MSAxNTkuOTYyQzE4OS4xOTcgMTYwLjAzMyAxODkuMTk3IDE2MC4xMzggMTg5LjIzMiAxNjAuMjA5QzE4OS4yNjcgMTYwLjM4NSAxODkuMzM4IDE2MC41NjEgMTg5LjQwOCAxNjAuNzM3QzE4OS40NDMgMTYwLjgwOCAxODkuNTE0IDE2MC44MDggMTg5LjU0OSAxNjAuNzczQzE4OS42MiAxNjAuNzM3IDE4OS42MiAxNjAuNzAyIDE4OS42MiAxNjAuNjMyQzE4OS41ODUgMTYwLjQ1NSAxODkuNTQ5IDE2MC4yNzkgMTg5LjQ3OSAxNjAuMTM4QzE4OS40NDMgMTYwLjA2OCAxODkuNDA4IDE1OS45OTcgMTg5LjQwOCAxNTkuODkyQzE4OS40MDggMTU5Ljg1NiAxODkuMzczIDE1OS44MjEgMTg5LjM3MyAxNTkuNzUxQzE4OS4zMzggMTU5LjcxNSAxODkuMzM4IDE1OS42OCAxODkuMzAyIDE1OS42NDVDMTg5LjIzMiAxNTkuNTc0IDE4OS4xMjYgMTU5LjU3NCAxODkuMTI2IDE1OS42OFoiIGZpbGw9IiMyNjI2MkIiLz4KPHBhdGggZD0iTTE4OS44NjYgMTYxLjIzQzE4OS44NjYgMTYxLjI2NSAxODkuODY2IDE2MS4zMzYgMTg5LjkwMSAxNjEuMzcxQzE4OS45MDEgMTYxLjQwNiAxODkuOTM2IDE2MS40NDEgMTg5LjkzNiAxNjEuNDc3QzE4OS45NzIgMTYxLjU0NyAxOTAuMDA3IDE2MS42MTggMTkwLjA0MiAxNjEuNjg4QzE5MC4wNzcgMTYxLjc1OSAxOTAuMTEzIDE2MS44MjkgMTkwLjE0OCAxNjEuODk5QzE5MC4xODMgMTYxLjk3IDE5MC4yNTQgMTYyLjA0IDE5MC4yODkgMTYyLjExMUMxOTAuMzI0IDE2Mi4xODEgMTkwLjM5NSAxNjIuMTgxIDE5MC40NjUgMTYyLjE0NkMxOTAuNTM2IDE2Mi4xMTEgMTkwLjUzNiAxNjIuMDQgMTkwLjUwMSAxNjEuOTdDMTkwLjQ2NSAxNjEuODk5IDE5MC40MyAxNjEuODI5IDE5MC4zOTUgMTYxLjc1OUMxOTAuMzYgMTYxLjY4OCAxOTAuMzI0IDE2MS42MTggMTkwLjI1NCAxNjEuNTQ3QzE5MC4yMTkgMTYxLjQ3NyAxOTAuMTgzIDE2MS40MDYgMTkwLjExMyAxNjEuMzM2QzE5MC4wNzcgMTYxLjMgMTkwLjA3NyAxNjEuMjY1IDE5MC4wNDIgMTYxLjIzQzE5MC4wMDcgMTYxLjE5NSAxODkuOTcyIDE2MS4xNTkgMTg5LjkzNiAxNjEuMTI0QzE4OS45MDEgMTYxLjA4OSAxODkuODY2IDE2MS4wODkgMTg5LjgzMSAxNjEuMTI0QzE4OS44NjYgMTYxLjE1OSAxODkuODY2IDE2MS4xOTUgMTg5Ljg2NiAxNjEuMjNaIiBmaWxsPSIjMjYyNjJCIi8+CjxwYXRoIGQ9Ik0xOTEuMDI4IDE2Mi45NTdDMTkxLjA5OSAxNjMuMTM0IDE5MS4yMDUgMTYzLjI3NSAxOTEuMzQ1IDE2My4zOEMxOTEuNDE2IDE2My40NTEgMTkxLjQ4NiAxNjMuNDg2IDE5MS41OTIgMTYzLjUyMUMxOTEuNjI3IDE2My41NTcgMTkxLjY5OCAxNjMuNTU3IDE5MS43MzMgMTYzLjU5MkMxOTEuNzY4IDE2My41OTIgMTkxLjgzOSAxNjMuNTkyIDE5MS45MDkgMTYzLjU5MkMxOTEuOTQ0IDE2My41OTIgMTkyLjAxNSAxNjMuNTU3IDE5Mi4wMTUgMTYzLjQ4NkMxOTIuMDE1IDE2My40MTYgMTkxLjk4IDE2My4zOCAxOTEuOTQ0IDE2My4zOEMxOTEuOTA5IDE2My4zOCAxOTEuODc0IDE2My4zNDUgMTkxLjgzOSAxNjMuMzQ1QzE5MS44MDMgMTYzLjM0NSAxOTEuNzY4IDE2My4zMSAxOTEuNzMzIDE2My4zMUMxOTEuNzMzIDE2My4zMSAxOTEuNzMzIDE2My4zMSAxOTEuNjk4IDE2My4zMUMxOTEuNjk4IDE2My4zMSAxOTEuNjYzIDE2My4zMSAxOTEuNjk4IDE2My4zMUMxOTEuNjYzIDE2My4zMSAxOTEuNjYzIDE2My4zMSAxOTEuNjI3IDE2My4yNzVDMTkxLjU5MiAxNjMuMjM5IDE5MS41NTcgMTYzLjIzOSAxOTEuNTIyIDE2My4yMDRDMTkxLjM4MSAxNjMuMTM0IDE5MS4yNzUgMTYzLjAyOCAxOTEuMjA1IDE2Mi44ODdDMTkxLjE2OSAxNjIuODUyIDE5MS4xMzQgMTYyLjg1MiAxOTEuMDk5IDE2Mi44NTJDMTkwLjk5MyAxNjIuODg3IDE5MC45OTMgMTYyLjkyMiAxOTEuMDI4IDE2Mi45NTdaIiBmaWxsPSIjMjYyNjJCIi8+CjxwYXRoIGQ9Ik0yMzAuODc1IDE1My4yMjlDMjMwLjQxNyAxNTMuMTU4IDIyOS45NTkgMTUzLjM3IDIyOS41NzEgMTUzLjYxNkMyMjkuMDA3IDE1My45MzMgMjI4LjUxNCAxNTQuMzU2IDIyOC4wNTYgMTU0Ljc3OUMyMjcuMjEgMTU1LjU1NSAyMjYuNDM1IDE1Ni40MDEgMjI1LjYyNSAxNTcuMjExQzIyNS40NDkgMTU3LjM4OCAyMjUuNjk2IDE1Ny42MzQgMjI1Ljg3MiAxNTcuNDU4QzIyNi42NDcgMTU2LjcxOCAyMjcuMzUxIDE1NS45MDcgMjI4LjE2MiAxNTUuMjAyQzIyOC42MiAxNTQuNzc5IDIyOS4wNzggMTU0LjM5MiAyMjkuNjA2IDE1NC4wMzlDMjI5Ljk5NCAxNTMuNzkzIDIzMC40MTcgMTUzLjUxMSAyMzAuODc1IDE1My40NzVDMjMwLjk0NSAxNTMuNDQgMjMxLjAxNSAxNTMuMjY0IDIzMC44NzUgMTUzLjIyOVoiIGZpbGw9IiMyNjI2MkIiLz4KPHBhdGggZD0iTTIyMC40ODEgMTU4LjA5M0MyMjAuNzI4IDE1Ni40MDIgMjIxLjk2MSAxNTIuODQyIDIyMi43MDEgMTUxLjI5MSIgc3Ryb2tlPSIjMjYyNjJCIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMjM5LjQzNiAxNDguNDM3QzIzOC42NjEgMTUyLjY2NiAyMzUuODA3IDE2NC4yMjcgMjQ0LjY1IDE2Ni40NDdDMjQ3LjQ2OSAxNjcuMTUyIDI0OS40NzcgMTU1LjUyMSAyNTAuMjUyIDE1MS4zMjdDMjUxLjAyNyAxNDcuMDk4IDI0OC44NDMgMTQyLjI2OSAyNDUuOTg5IDE0MS43NEMyNDMuMTM1IDE0MS4yMTEgMjQwLjIxMSAxNDQuMjA3IDIzOS40MzYgMTQ4LjQzN1oiIGZpbGw9IiM3RDM0MTkiLz4KPHBhdGggZD0iTTI4Ni43NTEgMTUzLjAxOUMyODYuMzI4IDE1Ny4xNzggMjkxLjM2NiAxNjQuNjE1IDMwMC4yOCAxNjIuMDQyQzMwNi4zNzUgMTYwLjI4IDMwNS4wMDEgMTUxLjY4IDMwNC43ODkgMTQ3LjUyMUMzMDQuNTc4IDE0My4zOTcgMjk1Ljc3IDE0My4yNTYgMjkyLjg0NiAxNDQuMzg0QzI5MC4wNjMgMTQ1LjQwNiAyODcuMTc0IDE0OC44NiAyODYuNzUxIDE1My4wMTlaIiBmaWxsPSIjN0QzNDE5Ii8+CjxwYXRoIGQ9Ik0zMzIuOTA0IDE1My4yM0MzMjEuNDE5IDE1Ny44MTIgMTgwLjIxMiAxNjAuOTg0IDE3NS40MjEgMTYwLjk0OUMxNzMuNTg5IDE2MC45NDkgMjAyLjk3MiAxMzcuMjk5IDIxMi44MzYgMTMzLjYzNEMyMTUuMzczIDEzMi42ODIgMjE0LjE0IDEzMS4xNjYgMjEyLjI3MyAxMzAuNjczQzIwOS43MDEgMTMwLjAzOCAxOTcuMDE4IDEzNS42NDMgMTkzLjg4MiAxMzcuMTkzQzE3OS4yMjYgMTQ0LjQ4OSAxNjcuNTI5IDE1NS4zOCAxNTguNDc1IDE1Ny4wMDFDMTQ5LjQyIDE1OC42MjMgMTEzLjUyIDE1OS43MTUgMTAxLjExOSAxNjcuNTA1QzkzLjU0MzkgMTcyLjI2MyA4OS4xMDQ4IDE3Ny4xOTcgODguMzY0OSAxODIuMDYxQzg3LjYyNTEgMTg2Ljc4NCA5MC41ODQ1IDE5Ni4yMyA4OC4wMTI2IDIwMC40NTlDODUuNDQwOCAyMDQuNjg5IDg4LjcxNzMgMjA3LjEyMSA5NC45NTMyIDIwOC45ODlDMTAxLjE4OSAyMTAuODU3IDExMi41MzMgMjEzLjA3NyAxMTIuNTMzIDIxMy4wNzdDMTExLjA4OSAyMDkuNTUzIDEwOS4xNTEgMTg4LjkzNCAxMjQuNTgyIDE3OS42NjRDMTQwLjAxNCAxNzAuMzk1IDE1My45NjUgMTc2LjM1MSAxNjEuNjEgMTg1LjI2OUMxNjkuMjU2IDE5NC4xNSAxNjcuMjEyIDIxMi40NDMgMTY3LjIxMiAyMTIuNDQzQzE2Ny4yMTIgMjEyLjQ0MyAzNzAuODEyIDIxMS45ODUgMzc0LjIzIDIxMS4yNDVDMzc2LjU1NSAyMDcuNjg1IDM3OC4xMDUgMjA1LjAwNiAzNzkuOTczIDE5Ny41NjlDMzgyLjEyMiAxODguOTY5IDM4MC4yMTkgMTYzLjM4MSAzNzkuNjkxIDE1OS4wMUMzNzkuMzc0IDE1Ni41MDggMzY2LjQwOSAxNTQuODg3IDM1NS44MzkgMTUyLjcwMUMzNDUuODM0IDE1MC42OTIgMzM0LjgwNiAxNTIuNDU1IDMzMi45MDQgMTUzLjIzWiIgZmlsbD0iI0ZDQkI3NSIvPgo8cGF0aCBkPSJNMzcxLjA5NCAxNjIuOTkyQzM3MC40OTUgMTYzLjMxIDM2OS41NDQgMTYzLjk3OSAzNjkuMjYyIDE2NS4zMTlDMzY4Ljk0NSAxNjcuNjQ1IDM2OS43MiAxNzAuMjg4IDM3MC40OTUgMTcwLjkyM0MzNzMuMzE0IDE3Mi45MzIgMzc3LjA4NCAxNzMuNjAxIDM4MC4wMDggMTczLjYwMUMzODAuNzgzIDE3My4wNzMgMzgxLjIwNiAxNjIuMDQxIDM3OS44NjcgMTYyLjAwNkMzNzguNTI4IDE2Mi4wMDYgMzc0LjA4OSAxNjEuNjE4IDM3MS4wOTQgMTYyLjk5MloiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0xNzIuNDYxIDE2Ni44QzE3NS4xMDQgMTcyLjc1NiAxODMuMzgzIDE2OS4xMjYgMTg3LjY4MSAxNjUuNDYxQzE4OC45MTQgMTY0LjQzOCAxODkuNzI1IDE2My4wNjQgMTkwLjIxOCAxNjEuNTEzQzE4Mi4xMTUgMTYxLjIzMSAxNzYuNTQ4IDE2MC45NDkgMTc1LjQyMSAxNjAuOTE0QzE3NC44OTIgMTYwLjkxNCAxNzYuNTgzIDE1OS4wNDYgMTc5LjUwOCAxNTYuMzY3QzE3My43NjUgMTU3LjQ2IDE2OS4yMiAxNTkuNzE2IDE3Mi40NjEgMTY2LjhaIiBmaWxsPSIjRjg5QzU0Ii8+CjxwYXRoIGQ9Ik0zODAuMTQ5IDE5My42NTdDMzc1Ljg1MSAxOTYuOTcgMzU5LjUzOSAxOTkuOTY2IDM1Ni41NzkgMTk0LjAwOUMzNTIuOTUgMTg3LjM4MyAzNDguMDE4IDE3OC44NTQgMzQxLjA3OCAxNzUuODU4QzMyNS44NTggMTY5LjkwMSAzMTEuMDYxIDE3NC42NTkgMzAxLjA1NSAxODguNzIyQzMwMC4yMDkgMTg5Ljg4NiAxODUuMDA0IDE4Ny42MyAxNjMuNDA3IDE4MS4wMDRDMTUzLjA4NSAxNjcuMDExIDEzMi42ODYgMTcwLjkyMyAxMjMuODc4IDE3Ny4xNjJDMTE4LjQ1MiAxODEuMDA0IDExMi41NjkgMTg5Ljk5MSAxMTEuNzIzIDE5MS4yMjVDMTExLjAxOSAxOTMuNzI3IDEwNC4xNDkgMTg5LjE0NSAxMDMuMjMzIDE5MS40MzZDMTAzLjE2MiAxOTEuNTc3IDEwMC4wNjIgMjAxLjA5NCA5Ni43MTQ4IDIwMy4wMzJDOTQuODQ3NSAyMDQuMDE5IDk0LjE3ODEgMjAxLjUxNyA5My4zNjc4IDE5OS44MjVDOTIuMDY0MyAxOTYuOTcgOTIuODM5NCAxOTYuMTU5IDkyLjg3NDYgMTkyLjYzNUM5Mi41NTc1IDE5Mi42MzUgOTIuNzY4OSAxOTIuNTI5IDkwLjc2MDcgMTkxLjY4M0M4OS41Mjc2IDE5MS4yMjUgODkuNTYyOSAxOTAuNDg1IDg4LjY4MjEgMTg5LjQ5OEM4OC44NTgzIDE5My4zMDQgODkuODA5NSAxOTcuNDYzIDg3Ljk3NzUgMjAwLjQ5NUM4NS40MDU2IDIwNC43MjQgODguNjgyMSAyMDcuMTU2IDk0LjkxOCAyMDkuMDI0Qzk3LjUyNTEgMjA5Ljc5OSAxMDcuNjM2IDIxMS42NjcgMTExLjQ0MSAyMTIuMzcyQzExMy42NjEgMjEwLjcxNiAxMjAuMTQzIDE5NS4zMTMgMTI0LjAxOSAxODUuMzM5QzEzNi4yMDkgMTg3LjI0MiAxNjQuOTkzIDE4OS4zOTIgMTY0LjIxOCAxOTcuODg2QzE2My44NjUgMjAxLjc2MyAxNjcuMTQyIDIxMi41MTMgMTY3LjE0MiAyMTIuNTEzQzE2Ny4xNDIgMjEyLjUxMyAyNDIuMjkgMjEyLjMzNyAyOTguNTg5IDIxMi4zMDJDMzA4LjcgMjEyLjMwMiAzMTguMjgzIDIxMi4zMDIgMzI2Ljg3OSAyMTIuMzAyQzMzNy45MDcgMjEyLjMwMiAzNDUuNTg3IDIxMi4zMzcgMzQ3LjkxMiAyMTIuMzcyQzM0OC40MDYgMjEyLjM3MiAzNDguNzIzIDIxMi4zNzIgMzQ4LjgyOCAyMTIuMzAyQzM1Ni40MzggMjEyLjcyNSAzNzAuMDczIDIxMi41ODQgMzc0LjE5NSAyMTEuMzE1QzM3Ni41MiAyMDcuNzU1IDM3OC4wNyAyMDUuMDc2IDM3OS45MzcgMTk3LjY0QzM4MC4yNTQgMTk2LjMzNiAzODAuNTM2IDE5NC44NTUgMzgwLjc4MyAxOTMuMjM0QzM4MC41NzIgMTkzLjM0IDM4MC4zNiAxOTMuNTE2IDM4MC4xNDkgMTkzLjY1N1oiIGZpbGw9IiNGODlDNTQiLz4KPHBhdGggZD0iTTk2Ljc4NTMgMTc5LjQxNkM5NS43MjgzIDE4MC42ODUgOTMuODI1OCAxODUuODMxIDEwMC41NTUgMTg0Ljg3OUMxMDYuNTA5IDE4NC4wMzMgMTE0LjU3NyAxNzMuNzA2IDExNS43NCAxNzIuNTc5QzExNy41MzYgMTcwLjg1MSAxMTUuMjgyIDE2OC42NjYgMTEwLjk4MyAxNzAuNjA1QzEwNi42NSAxNzIuNTQzIDk4LjgyODcgMTc2Ljk0OSA5Ni43ODUzIDE3OS40MTZaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMTEyLjQ5OCAyMTMuMTEyTDE2Ny4xNzcgMjEyLjQ3N0MxNjcuMTc3IDIxMi40NzcgMTcwLjMxMiAxODkuMDA0IDE1Ni40MzEgMTc5Ljk0NkMxNDEuOTUxIDE3MC41IDEyNi43MzEgMTc0LjQxMiAxMTcuMjU0IDE4Ni41MzdDMTA3Ljc0MiAxOTguNjYxIDExMi40OTggMjEzLjExMiAxMTIuNDk4IDIxMy4xMTJaIiBmaWxsPSIjN0QzNDE5Ii8+CjxwYXRoIGQ9Ik05OC43MjMxIDE2OS4wNTVDOTkuNzA5NiAxNzAuNzExIDEwOC45NCAxNzAuMjE4IDEyMi44MjEgMTY4LjAzM0MxNDAuOTY1IDE2NS4xNzggMTYxLjE4OCAxNjMuODAzIDE2NC4yMTggMTYzLjAyOEMxNjUuNDg2IDE2Mi43MTEgMTU4LjQ0IDE1OC43MjggMTYwLjA5NiAxNTYuNjg0IiBzdHJva2U9ImJsYWNrIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiLz4KPHBhdGggZD0iTTE3OC4yMDQgMTU3LjAzN0MxNzUuODA5IDE2MC4zNSAxNzMuOTA2IDE1OS4zOTkgMTczLjczIDE3MC40M0MxNzMuNTU0IDE4MS40NjIgMTc4LjE2OSAyMDcuNTc5IDE3OC4xNjkgMjA3LjU3OUwzNTIuOTUgMjA4Ljc0MyIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIi8+CjxwYXRoIGQ9Ik0xNjUuMDYzIDE2OS43MjVMMTY1LjAyOCAxNzEuNTU3QzE2NS4wMjggMTcxLjU1NyAxNjkuMDc5IDE3MC43ODIgMTY2LjkzIDE3MC40MjlDMTY0Ljc4MSAxNzAuMDc3IDE2NS4wNjMgMTY5LjcyNSAxNjUuMDYzIDE2OS43MjVaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMTExLjUxMiAxOTJDMTEyLjc4IDE4My42NDYgMTIyLjQzMyAxNjkuMDU1IDE0NC4xMzYgMTY5LjlDMTcwLjcgMTcwLjkyMyAxNzAuNzcgMjA3LjE1NSAxNzAuNzcgMjA3LjE1NUwxNzguMDI4IDIwNy41NDMiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIvPgo8cGF0aCBkPSJNMjk5Ljk2MyAyMTMuMTEyTDM1NC42NDEgMjEyLjQ3N0MzNTQuNjQxIDIxMi40NzcgMzU3Ljc3NyAxODkuMDA0IDM0My44OTYgMTc5Ljk0NkMzMjkuNDE2IDE3MC41IDMxNC4xOTYgMTc0LjQxMiAzMDQuNzE5IDE4Ni41MzdDMjk1LjI0MiAxOTguNjYxIDI5OS45NjMgMjEzLjExMiAyOTkuOTYzIDIxMy4xMTJaIiBmaWxsPSIjN0QzNDE5Ii8+CjxwYXRoIGQ9Ik0xMTMuNjI1IDE3MS40NTFDMTE0LjE4OSAxNzMuNzA3IDEwOC4zNDEgMTc3LjY5IDEwNy43MDcgMTc4LjY0MkMxMDcuMDcyIDE3OS41OTMgMTEwLjEwMiAxNzQuNjU5IDExMC40MTkgMTczLjUzMUMxMTAuNzcyIDE3Mi40MzggMTEzLjQ4NSAxNzAuODE3IDExMy42MjUgMTcxLjQ1MVoiIGZpbGw9IiNGQ0JCNzUiLz4KPHBhdGggZD0iTTM3MC44ODMgMTY2LjMwNkMzNzMuMjA4IDE2Ni4wOTQgMzc4LjM1MiAxNzAuODE3IDM3Ny4zMyAxNzEuMzQ2QzM3Ni41NTUgMTcxLjc2OSAzNzMuNDkgMTcwLjI1MyAzNzIuNDMzIDE2OS43NkMzNzEuMzc2IDE2OS4zMDIgMzcwLjIxNCAxNjYuMzc2IDM3MC44ODMgMTY2LjMwNloiIGZpbGw9IiNGQ0JCNzUiLz4KPHBhdGggZD0iTTk3LjE2MDYgMTk3LjAzOEM5Ny41NDU2IDE5NC45OTEgOTcuMTkxMSAxOTMuMjA2IDk2LjM2ODggMTkzLjA1MUM5NS41NDY1IDE5Mi44OTYgOTQuNTY3OCAxOTQuNDMgOTQuMTgyOSAxOTYuNDc3QzkzLjc5NzkgMTk4LjUyNCA5NC4xNTI1IDIwMC4zMDkgOTQuOTc0NyAyMDAuNDY0Qzk1Ljc5NyAyMDAuNjE5IDk2Ljc3NTcgMTk5LjA4NSA5Ny4xNjA2IDE5Ny4wMzhaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMTAxLjAxMyAxOTMuNjIyQzEwMS4zNjUgMTkzLjA5NCA5Ni4yMjE0IDE5Mi4zNTQgOTUuNDExIDE5My42MjJDOTQuOTg4MyAxOTQuMjkyIDEwMC42OTYgMTk0LjA4MSAxMDEuMDEzIDE5My42MjJaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMTAwLjUyIDE5NS44NDJDMTAwLjg3MiAxOTUuMzE0IDk2LjIyMTcgMTk1LjIwOCA5Ni4yMjE3IDE5Ni4wMThDOTYuMjIxNyAxOTYuNzk0IDEwMC4yMDMgMTk2LjMzNiAxMDAuNTIgMTk1Ljg0MloiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0xMDAuMjAyIDE5OC4wOThDMTAwLjU1NSAxOTcuNTY5IDk1LjkwNDMgMTk3LjQ2NCA5NS45MDQzIDE5OC4yNzRDOTUuOTA0MyAxOTkuMDUgOTkuODg1NCAxOTguNTU2IDEwMC4yMDIgMTk4LjA5OFoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik05OS4yNTEzIDIwMC4xNDFDOTkuNjAzNiAxOTkuNjEyIDk0Ljk1MzEgMTk5LjUwNyA5NC45NTMxIDIwMC4zMTdDOTQuOTUzMSAyMDEuMTI4IDk4LjkzNDIgMjAwLjYzNCA5OS4yNTEzIDIwMC4xNDFaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMjM0LjUwMyAxNjcuMTUxQzIzMy4zMDYgMTY4LjM0OSAyMzUuMjA4IDE2OS4zMDEgMjM3LjYwNCAxNjkuMzAxQzIzOS45OTkgMTY5LjMwMSAyNDUuNzQyIDE2OC40OSAyNDQuNzkxIDE2Ny4wNDUiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIvPgo8cGF0aCBkPSJNMjk3LjE4IDE2My45OEMyOTYuMDg4IDE2NS4yODUgMjk4LjA5NiAxNjYuMDYgMzAwLjQ1NiAxNjUuODQ4QzMwMi44NTIgMTY1LjYzNyAzMDguNTk0IDE2NS4zNTUgMzA3LjUwMiAxNjQuMDE2IiBzdHJva2U9ImJsYWNrIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiLz4KPHBhdGggZD0iTTMxNi4yNzUgMTcyLjEyMUMzMjYuNjMzIDE2OC4zMTQgMzQzLjUwOSAxNzIuNDczIDM1MC42NiAxODAuNjUiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIvPgo8cGF0aCBkPSJNMjk0Ljg1NCAyMDAuMzg4QzI5NC44NTQgMjAwLjM4OCAyOTcuMjUgMTg5LjQ5NyAyOTguNTg5IDE4NC4zODdDMjc5LjUyOSAxODkuODUgMTg0LjUxIDE5Ni44NjQgMTc3LjcxMSAyMDEuMTI4QzE3NS4zODYgMjAyLjU3NCAyOTQuODU0IDIwMC4zODggMjk0Ljg1NCAyMDAuMzg4WiIgZmlsbD0iI0ZDQkI3NSIvPgo8cGF0aCBkPSJNMjA5LjA2NyAxMzAuNTMxQzIxMS45NTYgMTI5LjMzMyAyMjEuOTYxIDEyNi40NzggMjI1LjU1NSAxMjYuMzcyQzIzMi43MDcgMTI2LjEyNiAyOTAuOTQ0IDEyNS4zNSAyOTkuMzY0IDEyOC42NjNDMzA4Ljg3NiAxMzIuMzk5IDM0OC40NzYgMTUwLjY5MiAzNTIuMDM0IDE1Mi43MzZDMzU0LjM5NSAxNTQuMDc2IDMzNS42MTcgMTU1LjczMiAzMzMuMDggMTUzLjE5NEMzMzAuNTQzIDE1MC42NTcgMjk5LjU0IDEzMi4yMjMgMjk2Ljg2MiAxMzEuMjM2QzI4OS4zOTMgMTI4LjQxNyAyMjQuMzU3IDEzMC4wMDMgMjIwLjcyOCAxMzAuNDYxQzIxNi42NDEgMTMwLjk1NCAyMTUuMDU2IDEzMi45OTkgMjEzLjAxMiAxMzMuNTI3QzIxMS40NjIgMTMzLjg4IDIwNy4zNzYgMTMxLjIzNiAyMDkuMDY3IDEzMC41MzFaIiBmaWxsPSIjRkNCQjc1Ii8+CjxwYXRoIG9wYWNpdHk9IjAuODEiIGQ9Ik0yNTAuMDc2IDEyOS4xNTZMMjUxLjA5NyAxNTkuODJDMjUxLjA5NyAxNTkuODIgMzA1LjU2NSAxNTcuMDcxIDMxMC45MiAxNTYuMjk1QzMxOC45MTcgMTU1LjE2OCAzMzMuNDMyIDE1NC4xODEgMzMzLjA4IDE1Mi45MTJDMzMyLjY1NyAxNTEuNDMyIDMwMS45NzEgMTMzLjI0NSAyOTcuNTY3IDEzMS4yMDFDMjkzLjE5OSAxMjkuMTU2IDI1MC4wNzYgMTI5LjE1NiAyNTAuMDc2IDEyOS4xNTZaIiBmaWxsPSIjRjhGOEY5Ii8+CjxwYXRoIGQ9Ik0yNDMuNTkzIDIwNy4zNjdDMjQ4LjM4NSAxOTEuMjYgMjQ5LjEyNCAxNzguMTEzIDI0OS45IDE2MS4zMDEiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIvPgo8cGF0aCBkPSJNMjk1LjEwMSAyMDcuOTY2QzI5NS4zODMgMjAyLjExNiAyOTUuNDUzIDE5NC45MjYgMjk3Ljk5IDE4OS42MzlDMzAxLjcyNSAxODEuODE0IDMwOC4zNDggMTc1LjYxMSAzMTMuMjQ1IDE3Mi4zNjhDMzEzLjI0NSAxNzIuMzY4IDMxNC4yNjcgMTY4LjAzMyAzMTEuNDQ4IDE1Ni41NDMiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIvPgo8cGF0aCBkPSJNMzA5Ljk2OSAxNTguMjdDMzA5LjY4NyAxNTQuMTgyIDI5NC43NDkgMTMwLjkyIDI5My40OCAxMjkuNDA0QzI5Mi4yMTIgMTI3Ljg4OSAyOTUuMjA3IDEyNi43NjEgMjk3LjIxNSAxMzAuODQ5QzI5OS4yMjMgMTM0LjkzOCAzMTIuNTQgMTU1LjIwNCAzMTIuNTQgMTU3LjI0OEMzMTIuNTQgMTU5LjI5MiAzMTAuMjUgMTYxLjg2NSAzMDkuOTY5IDE1OC4yN1oiIGZpbGw9IiNGQ0JCNzUiLz4KPHBhdGggZD0iTTI0OC45MTMgMTU4LjcyOEMyNDkuNzU4IDE1NC43NDYgMjQ4LjYzMSAxMzAuMjE0IDI0Ny44MjEgMTI4LjM4MkMyNDcuMDEgMTI2LjU0OSAyNDkuNzU4IDEyNi41NDkgMjUwLjU2OSAxMzEuMDI1QzI1MS4zNDQgMTM1LjUwMSAyNTIuMjI1IDE1Ni41MDggMjUxLjY2MSAxNTguNDQ2QzI1MS4wOTcgMTYwLjQyIDI0OC4xNzMgMTYyLjI1MyAyNDguOTEzIDE1OC43MjhaIiBmaWxsPSIjRkNCQjc1Ii8+CjxwYXRoIG9wYWNpdHk9IjAuODEiIGQ9Ik0yNDkuMTI0IDE2MC4zMTRDMjQ5LjEyNCAxNjAuMzE0IDI0OS40NzcgMTU1Ljg3MyAyNDkuNDc3IDE1NC4zNTdDMjQ5LjQ3NyAxNTIuODQyIDIxOS45ODggMTU0LjM1NyAyMTUuMDIgMTU0LjM1N0MyMTAuMDg4IDE1NC4zNTcgMTg3LjIyMyAxNjEuMDE5IDE4Ny4yMjMgMTYxLjAxOUwyNDkuMTI0IDE2MC4zMTRaIiBmaWxsPSIjRjhGOEY5Ii8+CjxwYXRoIGQ9Ik0xNzUuMzUxIDE2MS4yNjVDMTc2LjU4NCAxNjUuNjcxIDE4NS4xNDUgMTY1LjQyNCAxODcuMTg4IDE2NC4yOTZDMTg5LjIzMiAxNjMuMTY4IDE4OS4wMiAxNTQuNjM5IDE4Ni44MzYgMTUzLjc1OEMxODQuNjg3IDE1Mi44NzcgMTczLjk0MSAxNTYuMjI1IDE3NS4zNTEgMTYxLjI2NVoiIGZpbGw9IiNGQ0JCNzUiLz4KPHBhdGggZD0iTTE4NS4wMDQgMTU0LjQyOEMxODYuMzQzIDE1Ny40NTkgMTg2LjY5NSAxNjAuOTEzIDE4Ni4wMjYgMTY0LjE5MSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIi8+CjxwYXRoIG9wYWNpdHk9IjAuODEiIGQ9Ik0xNjUuOTQ0IDE1OS41MDRDMTY3LjkxNyAxNjAuNDkxIDE2OS4xNSAxNjAuODQzIDE3MC40ODkgMTU5LjE4N0MxNzIuMTQ1IDE1Ny44NDcgMTczLjgwMSAxNTYuMjI2IDE3NS40NTYgMTU0Ljg4N0MxODIuNzE0IDE0OS4yODIgMjAyLjU4NCAxMzcuNDA1IDIxMC44NjQgMTMyLjk5OUMyMTEuMDQgMTMyLjE1MyAyMTAuMDE4IDEzMS4zMDcgMjA4Ljc1IDEzMC4zNTVDMjA0Ljc2OSAxMzEuNjI0IDE5Ni4xMDIgMTM2LjEwMSAxOTMuODgyIDEzNy4yMjhDMTgxLjM0IDE0My40NjcgMTcxLjMzNCAxNTIuMzQ5IDE2Mi42MzIgMTU1LjgwM0MxNjIuOTg1IDE1Ny40NTkgMTY0LjI4OCAxNTguNTUyIDE2NS45NDQgMTU5LjUwNFoiIGZpbGw9IiNGOEY4RjkiLz4KPHBhdGggZD0iTTE2NS43MzIgMTUzLjc1OEMxNjYuOTMgMTU2LjI5NiAxNjcuNzA1IDE1OS4wNDUgMTY3LjkxNyAxNjEuODY0IiBzdHJva2U9ImJsYWNrIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiLz4KPHBhdGggZD0iTTM3OS45MDIgMTk3LjU2OEMzNzkuOTAyIDE5Ny41NjggMzc2LjU5MSAxOTguNjk2IDM3NS41NjkgMjAwLjc0QzM3NC41NDcgMjAyLjc4NSAzNzcuNTQyIDIwNS4wNzYgMzc3LjU0MiAyMDUuMDc2QzM3Ny41NDIgMjA1LjA3NiAzNzkuNDA5IDIwMS4zMDQgMzc5LjkwMiAxOTcuNTY4WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTMyNy40NDMgMjI3LjA3QzMzOS44OTYgMjI3LjA3IDM0OS45OTEgMjE2Ljk3IDM0OS45OTEgMjA0LjUxMkMzNDkuOTkxIDE5Mi4wNTQgMzM5Ljg5NiAxODEuOTU1IDMyNy40NDMgMTgxLjk1NUMzMTQuOTkgMTgxLjk1NSAzMDQuODk1IDE5Mi4wNTQgMzA0Ljg5NSAyMDQuNTEyQzMwNC44OTUgMjE2Ljk3IDMxNC45OSAyMjcuMDcgMzI3LjQ0MyAyMjcuMDdaIiBmaWxsPSIjN0QzNDE5Ii8+CjxwYXRoIGQ9Ik0zMjcuNDQzIDIyMi45ODFDMzM3LjYzOCAyMjIuOTgxIDM0NS45MDQgMjE0LjcxMiAzNDUuOTA0IDIwNC41MTJDMzQ1LjkwNCAxOTQuMzEyIDMzNy42MzggMTg2LjA0MyAzMjcuNDQzIDE4Ni4wNDNDMzE3LjI0NyAxODYuMDQzIDMwOC45ODEgMTk0LjMxMiAzMDguOTgxIDIwNC41MTJDMzA4Ljk4MSAyMTQuNzEyIDMxNy4yNDcgMjIyLjk4MSAzMjcuNDQzIDIyMi45ODFaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBvcGFjaXR5PSIwLjU3IiBkPSJNMzI3LjQ0MyAyMjAuNzZDMzM2LjQxMyAyMjAuNzYgMzQzLjY4NCAyMTMuNDg2IDM0My42ODQgMjA0LjUxMkMzNDMuNjg0IDE5NS41MzggMzM2LjQxMyAxODguMjY0IDMyNy40NDMgMTg4LjI2NEMzMTguNDczIDE4OC4yNjQgMzExLjIwMSAxOTUuNTM4IDMxMS4yMDEgMjA0LjUxMkMzMTEuMjAxIDIxMy40ODYgMzE4LjQ3MyAyMjAuNzYgMzI3LjQ0MyAyMjAuNzZaIiBmaWxsPSIjQjI5MDdFIi8+CjxwYXRoIGQ9Ik0zMjcuNDQzIDIwNy43OUMzMjkuMjUzIDIwNy43OSAzMzAuNzE5IDIwNi4zMjMgMzMwLjcxOSAyMDQuNTEyQzMzMC43MTkgMjAyLjcwMiAzMjkuMjUzIDIwMS4yMzQgMzI3LjQ0MyAyMDEuMjM0QzMyNS42MzMgMjAxLjIzNCAzMjQuMTY3IDIwMi43MDIgMzI0LjE2NyAyMDQuNTEyQzMyNC4xNjcgMjA2LjMyMyAzMjUuNjMzIDIwNy43OSAzMjcuNDQzIDIwNy43OVoiIGZpbGw9IiNGOEY4RjkiLz4KPHBhdGggZD0iTTMzNS40OSAxODkuNTA4TDMzMy4xMzkgMTg4LjQ2NUwzMTkuNDYzIDIxOS4yOThMMzIxLjgxNCAyMjAuMzQxTDMzNS40OSAxODkuNTA4WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTM0NC4zNjMgMjAzLjkwOEwzNDQuMDkxIDIwMS4zNUwzMTAuNTY0IDIwNC45MThMMzEwLjgzNiAyMDcuNDc3TDM0NC4zNjMgMjAzLjkwOFoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0zMzYuMzIzIDIxOC43OTJMMzM4LjQwMSAyMTcuMjc3TDMxOC41NDkgMTkwLjAxM0wzMTYuNDcgMTkxLjUyOEwzMzYuMzIzIDIxOC43OTJaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMTM5Ljk3OSAyMjcuMDdDMTUyLjQzMSAyMjcuMDcgMTYyLjUyNiAyMTYuOTcgMTYyLjUyNiAyMDQuNTEyQzE2Mi41MjYgMTkyLjA1NCAxNTIuNDMxIDE4MS45NTUgMTM5Ljk3OSAxODEuOTU1QzEyNy41MjYgMTgxLjk1NSAxMTcuNDMxIDE5Mi4wNTQgMTE3LjQzMSAyMDQuNTEyQzExNy40MzEgMjE2Ljk3IDEyNy41MjYgMjI3LjA3IDEzOS45NzkgMjI3LjA3WiIgZmlsbD0iIzdEMzQxOSIvPgo8cGF0aCBkPSJNMTM5Ljk3OSAyMjIuOTgxQzE1MC4xNzQgMjIyLjk4MSAxNTguNDQgMjE0LjcxMiAxNTguNDQgMjA0LjUxMkMxNTguNDQgMTk0LjMxMiAxNTAuMTc0IDE4Ni4wNDMgMTM5Ljk3OSAxODYuMDQzQzEyOS43ODMgMTg2LjA0MyAxMjEuNTE4IDE5NC4zMTIgMTIxLjUxOCAyMDQuNTEyQzEyMS41MTggMjE0LjcxMiAxMjkuNzgzIDIyMi45ODEgMTM5Ljk3OSAyMjIuOTgxWiIgZmlsbD0id2hpdGUiLz4KPHBhdGggb3BhY2l0eT0iMC41NyIgZD0iTTEzOS45NzggMjIwLjc2QzE0OC45NDggMjIwLjc2IDE1Ni4yMiAyMTMuNDg2IDE1Ni4yMiAyMDQuNTEyQzE1Ni4yMiAxOTUuNTM4IDE0OC45NDggMTg4LjI2NCAxMzkuOTc4IDE4OC4yNjRDMTMxLjAwOCAxODguMjY0IDEyMy43MzcgMTk1LjUzOCAxMjMuNzM3IDIwNC41MTJDMTIzLjczNyAyMTMuNDg2IDEzMS4wMDggMjIwLjc2IDEzOS45NzggMjIwLjc2WiIgZmlsbD0iI0IyOTA3RSIvPgo8cGF0aCBkPSJNMTM5Ljk0NCAyMDcuNzU1QzE0MS43NTMgMjA3Ljc1NSAxNDMuMjIgMjA2LjI4NyAxNDMuMjIgMjA0LjQ3N0MxNDMuMjIgMjAyLjY2NyAxNDEuNzUzIDIwMS4xOTkgMTM5Ljk0NCAyMDEuMTk5QzEzOC4xMzQgMjAxLjE5OSAxMzYuNjY3IDIwMi42NjcgMTM2LjY2NyAyMDQuNDc3QzEzNi42NjcgMjA2LjI4NyAxMzguMTM0IDIwNy43NTUgMTM5Ljk0NCAyMDcuNzU1WiIgZmlsbD0iI0Y4RjhGOSIvPgo8cGF0aCBkPSJNMTQ2LjY5IDE4OC44NkwxNDQuMjU3IDE4OC4wMjNMMTMzLjMgMjE5LjkyMkwxMzUuNzMyIDIyMC43NThMMTQ2LjY5IDE4OC44NloiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0xNTYuNzg0IDIwMi40MzlMMTU2LjI5MiAxOTkuOTE0TDEyMy4xOTkgMjA2LjM3TDEyMy42OTEgMjA4Ljg5NUwxNTYuNzg0IDIwMi40MzlaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMTUwLjA3NyAyMTcuOTcyTDE1Mi4wMTcgMjE2LjI4M0wxMjkuODgyIDE5MC44NDFMMTI3Ljk0MiAxOTIuNTNMMTUwLjA3NyAyMTcuOTcyWiIgZmlsbD0id2hpdGUiLz4KPHBhdGggb3BhY2l0eT0iMC41NiIgZD0iTTEyNS4xODEgMjI2Ljg1OUMxMjUuMTgxIDIyNi44NTkgMTM1Ljg1NiAyMjYuNjgzIDE0MS4zNTIgMjI0LjE0NUMxNDYuODQ4IDIyMS42MDcgMTQ5LjEwMyAyMTcuMTY2IDE1Mi4zNDQgMjE2Ljk1NUMxNTguNDM5IDIxNi42MDIgMTU4LjAxNyAyMjIuMzgzIDE1OC4wMTcgMjIyLjM4M0MxNTguMDE3IDIyMi4zODMgMTYyLjEzOSAyMTguNjQ3IDE2Ni42ODMgMjE2LjE3OUMxNzIuMDM4IDIxMy4yNTQgMTc3LjU3IDIxMS45NSAxNzguNjYyIDIxNy40MTNDMTc5LjQ3MiAyMjEuNTM3IDE3Ni4wOSAyMjUuNTE5IDE3MS4yMjggMjI2LjU3N0MxNjcuNDU4IDIyNy40NTggMTI1LjE4MSAyMjYuODU5IDEyNS4xODEgMjI2Ljg1OVoiIGZpbGw9IiNGOEY4RjkiLz4KPHBhdGggZD0iTTMyOS42NjMgMjI3LjA2OUMzMjkuNjYzIDIyNy4wNjkgMzQ0Ljg4MiAyMjYuMzk5IDM1Mi44MDkgMjIyLjQ1MkMzNjAuNzM2IDIxOC41MDQgMzY0LjE4OSAyMTIuNDc3IDM2OC43MzQgMjExLjM4NUMzNzMuMjc5IDIxMC4yOTIgMzczLjczNyAyMTcuMDU5IDM3My43MzcgMjE3LjA1OUMzNzMuNzM3IDIxNy4wNTkgMzc5LjUxNSAyMTAuNTAzIDM4Ny45NyAyMDMuMzQ5QzM5Ni40MjYgMTk2LjE5NCA0MDYuNjc4IDE5NS44MDYgNDA5Ljg4NCAyMDMuMjQzQzQxMy41MTMgMjExLjY2NyA0MDYuMDA4IDIyMy4xOTIgMzk5LjAzMyAyMjQuOTU0QzM5My42NDIgMjI2LjM2NCAzMjkuNjYzIDIyNy4wNjkgMzI5LjY2MyAyMjcuMDY5WiIgZmlsbD0iI0U0RTVERCIvPgo8cGF0aCBvcGFjaXR5PSIwLjU2IiBkPSJNMzYwLjg3NyAyMjYuODU3QzM2MC44NzcgMjI2Ljg1NyAzNzEuNTUyIDIyNi42ODEgMzc3LjA0OCAyMjQuMTQzQzM4Mi41NDUgMjIxLjYwNSAzODQuNzk5IDIxNy4xNjQgMzg4LjA0MSAyMTYuOTUzQzM5NC4xMzYgMjE2LjYgMzkzLjcxMyAyMjIuMzgxIDM5My43MTMgMjIyLjM4MUMzOTMuNzEzIDIyMi4zODEgMzk3LjgzNSAyMTguNjQ1IDQwMi4zOCAyMTYuMTc3QzQwNy43MzUgMjEzLjI1MiA0MTMuMjY2IDIxMS45NDggNDE0LjM1OCAyMTcuNDExQzQxNS4xNjggMjIxLjUzNSA0MTEuNzg2IDIyNS41MTggNDA2LjkyNCAyMjYuNTc1QzQwMy4xNTUgMjI3LjQ1NiAzNjAuODc3IDIyNi44NTcgMzYwLjg3NyAyMjYuODU3WiIgZmlsbD0iI0Y4RjhGOSIvPgo8L3N2Zz4K';
|
|
23
|
-
|
|
24
|
-
const CompleteSection = class {
|
|
25
|
-
constructor(hostRef) {
|
|
26
|
-
registerInstance(this, hostRef);
|
|
27
|
-
this.closed = createEvent(this, "closed", 7);
|
|
28
|
-
}
|
|
29
|
-
render() {
|
|
30
|
-
return (h(Host, null, h("div", { class: "container" }, h("div", { class: "row" }, h("div", { class: "col" }, h("h3", null, "What happens next?"))), h("div", { class: "row" }, h("div", { class: "col" }, h("div", { class: "d-flex justify-content-center p-4" }, h("img", { class: "img-fluid", src: completeSvg, alt: "" })))), h("div", { class: "row" }, h("div", { class: "col text-center" }, h("p", null, "Thanks! We\u2019ll contact you within the next business day to discuss your quote in more detail."))), h("div", { class: "row" }, h("div", { class: "col text-center" }, h("fl-button", { class: "font-weight-bold", onClick: () => { var _a; return (_a = this.closed) === null || _a === void 0 ? void 0 : _a.emit(); } }, "Close"))))));
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
const CostBreakdownSection = class {
|
|
35
|
-
constructor(hostRef) {
|
|
36
|
-
registerInstance(this, hostRef);
|
|
37
|
-
}
|
|
38
|
-
render() {
|
|
39
|
-
return (h(Host, { class: "d-flex flex-column justify-content-between text-left mb-3" }, h("span", { class: "pb-2" }, "Here\u2019s an estimate based on your kms:"), h("span", { class: "text-muted text-right" }, "(per pay)"), this.generateLine('Finance', this.quote.financedAmount), this.generateLine('Fuel', this.quote.fuel), this.generateLine('Servicing and maintenance', this.quote.serviceAndMaintenance), this.generateLine('Registration and CTP', this.quote.registrationAndCtp), this.generateLine('Comprehensive insurance', this.quote.comprehensiveInsurance), this.generateLine('Management fee', this.quote.managementFee)));
|
|
40
|
-
}
|
|
41
|
-
generateLine(name, value) {
|
|
42
|
-
return (h("div", { class: "d-flex flex-row" }, h("span", { class: "d-flex-inline flex-grow-1 text-left" }, name), h("span", { class: "d-flex-inline text-right" }, "$", getOrDefault(value, null))));
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
// From https://emailregex.com/
|
|
47
|
-
// eslint-disable-next-line no-control-regex
|
|
48
|
-
const emailRegex = /(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/;
|
|
49
|
-
const SubmitQuoteSection = class {
|
|
50
|
-
constructor(hostRef) {
|
|
51
|
-
registerInstance(this, hostRef);
|
|
52
|
-
this.enquirySubmitted = createEvent(this, "enquirySubmitted", 7);
|
|
53
|
-
sessionQuery.userDetails$.subscribe((state) => (this.userDetails = state));
|
|
54
|
-
}
|
|
55
|
-
render() {
|
|
56
|
-
return (h("div", { class: "container p-0 text-left" }, h("form", { noValidate: true, class: {
|
|
57
|
-
'was-validated': this.formState === 'validated'
|
|
58
|
-
}, ref: (el) => (this.formElement = el) }, h("div", { class: "row" }, h("div", { class: "col" }, h("h3", null, "Request a quote"))), h("div", { class: "row" }, h("div", { class: "col" }, h("p", null, "Enter your details below and we will get in touch."))), h("div", { class: "row mt-3" }, this.inputField('userFirstName', 'First Name'), this.inputField('userLastName', 'Last Name')), h("div", { class: "row mt-3" }, this.inputField('emailAddress', 'Email', emailRegex)), h("div", { class: "row mt-3" }, this.inputField('contactNumber', 'Mobile Number', /\+?[\d\s]{5,}/), this.inputField('employerName', 'Employer Name'))), h("div", { class: "row mt-4" }, h("div", { class: "col" }, h("fl-promise-button", { class: "font-weight-bold float-right", promiseFn: () => this.handleSubmitAsync() }, h("span", { class: "px-4" }, "Submit")))), h("div", { class: "row mt-4" }, h("div", { class: "col" }, h("div", { class: "bg-light py-2 px-3" }, h("p", { class: "small mb-0" }, "By providing your contact details, you consent to Flare collecting and using your personal details as outlined in the", ' ', h("a", { target: "_blank", href: "https://www.flarehr.com/privacy-policy/", onClick: () => eventTrackingService.trackPrivacyPolicyViewedAsync() }, "privacy policy"), "."))))));
|
|
59
|
-
}
|
|
60
|
-
inputField(stateKey, placeholder, pattern) {
|
|
61
|
-
return (h("div", { class: "col" }, h("input", { placeholder: placeholder, type: "text", class: "form-control", minlength: "2", pattern: pattern === null || pattern === void 0 ? void 0 : pattern.source, required: true, onChange: (e) => {
|
|
62
|
-
this.updateUserDetail(stateKey, e.target.value.trim());
|
|
63
|
-
} }), h("div", { class: "invalid-feedback" }, "A valid value is required")));
|
|
64
|
-
}
|
|
65
|
-
updateUserDetail(key, value) {
|
|
66
|
-
sessionStore.update({ userDetails: Object.assign(Object.assign({}, this.userDetails), { [key]: some(value) }) });
|
|
67
|
-
}
|
|
68
|
-
async handleSubmitAsync() {
|
|
69
|
-
var _a;
|
|
70
|
-
this.formState = 'validated';
|
|
71
|
-
if (this.formElement.checkValidity()) {
|
|
72
|
-
const enquiryRequest = carsCalculatorService.generateCarsEnquiryRequest();
|
|
73
|
-
await backendApi.postQuoteInfoAsync(enquiryRequest);
|
|
74
|
-
(_a = this.enquirySubmitted) === null || _a === void 0 ? void 0 : _a.emit();
|
|
75
|
-
eventTrackingService.trackFormSubmittedAsync(enquiryRequest.websiteQuote);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
var top = 'top';
|
|
81
|
-
var bottom = 'bottom';
|
|
82
|
-
var right = 'right';
|
|
83
|
-
var left = 'left';
|
|
84
|
-
var auto = 'auto';
|
|
85
|
-
var basePlacements = [top, bottom, right, left];
|
|
86
|
-
var start = 'start';
|
|
87
|
-
var end = 'end';
|
|
88
|
-
var clippingParents = 'clippingParents';
|
|
89
|
-
var viewport = 'viewport';
|
|
90
|
-
var popper = 'popper';
|
|
91
|
-
var reference = 'reference';
|
|
92
|
-
var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {
|
|
93
|
-
return acc.concat([placement + "-" + start, placement + "-" + end]);
|
|
94
|
-
}, []);
|
|
95
|
-
var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {
|
|
96
|
-
return acc.concat([placement, placement + "-" + start, placement + "-" + end]);
|
|
97
|
-
}, []); // modifiers that need to read the DOM
|
|
98
|
-
|
|
99
|
-
var beforeRead = 'beforeRead';
|
|
100
|
-
var read = 'read';
|
|
101
|
-
var afterRead = 'afterRead'; // pure-logic modifiers
|
|
102
|
-
|
|
103
|
-
var beforeMain = 'beforeMain';
|
|
104
|
-
var main = 'main';
|
|
105
|
-
var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)
|
|
106
|
-
|
|
107
|
-
var beforeWrite = 'beforeWrite';
|
|
108
|
-
var write = 'write';
|
|
109
|
-
var afterWrite = 'afterWrite';
|
|
110
|
-
var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];
|
|
111
|
-
|
|
112
|
-
function getNodeName(element) {
|
|
113
|
-
return element ? (element.nodeName || '').toLowerCase() : null;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
function getWindow(node) {
|
|
117
|
-
if (node == null) {
|
|
118
|
-
return window;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
if (node.toString() !== '[object Window]') {
|
|
122
|
-
var ownerDocument = node.ownerDocument;
|
|
123
|
-
return ownerDocument ? ownerDocument.defaultView || window : window;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
return node;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
function isElement(node) {
|
|
130
|
-
var OwnElement = getWindow(node).Element;
|
|
131
|
-
return node instanceof OwnElement || node instanceof Element;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
function isHTMLElement(node) {
|
|
135
|
-
var OwnElement = getWindow(node).HTMLElement;
|
|
136
|
-
return node instanceof OwnElement || node instanceof HTMLElement;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
function isShadowRoot(node) {
|
|
140
|
-
// IE 11 has no ShadowRoot
|
|
141
|
-
if (typeof ShadowRoot === 'undefined') {
|
|
142
|
-
return false;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
var OwnElement = getWindow(node).ShadowRoot;
|
|
146
|
-
return node instanceof OwnElement || node instanceof ShadowRoot;
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
// and applies them to the HTMLElements such as popper and arrow
|
|
150
|
-
|
|
151
|
-
function applyStyles(_ref) {
|
|
152
|
-
var state = _ref.state;
|
|
153
|
-
Object.keys(state.elements).forEach(function (name) {
|
|
154
|
-
var style = state.styles[name] || {};
|
|
155
|
-
var attributes = state.attributes[name] || {};
|
|
156
|
-
var element = state.elements[name]; // arrow is optional + virtual elements
|
|
157
|
-
|
|
158
|
-
if (!isHTMLElement(element) || !getNodeName(element)) {
|
|
159
|
-
return;
|
|
160
|
-
} // Flow doesn't support to extend this property, but it's the most
|
|
161
|
-
// effective way to apply styles to an HTMLElement
|
|
162
|
-
// $FlowFixMe[cannot-write]
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
Object.assign(element.style, style);
|
|
166
|
-
Object.keys(attributes).forEach(function (name) {
|
|
167
|
-
var value = attributes[name];
|
|
168
|
-
|
|
169
|
-
if (value === false) {
|
|
170
|
-
element.removeAttribute(name);
|
|
171
|
-
} else {
|
|
172
|
-
element.setAttribute(name, value === true ? '' : value);
|
|
173
|
-
}
|
|
174
|
-
});
|
|
175
|
-
});
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
function effect$2(_ref2) {
|
|
179
|
-
var state = _ref2.state;
|
|
180
|
-
var initialStyles = {
|
|
181
|
-
popper: {
|
|
182
|
-
position: state.options.strategy,
|
|
183
|
-
left: '0',
|
|
184
|
-
top: '0',
|
|
185
|
-
margin: '0'
|
|
186
|
-
},
|
|
187
|
-
arrow: {
|
|
188
|
-
position: 'absolute'
|
|
189
|
-
},
|
|
190
|
-
reference: {}
|
|
191
|
-
};
|
|
192
|
-
Object.assign(state.elements.popper.style, initialStyles.popper);
|
|
193
|
-
state.styles = initialStyles;
|
|
194
|
-
|
|
195
|
-
if (state.elements.arrow) {
|
|
196
|
-
Object.assign(state.elements.arrow.style, initialStyles.arrow);
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
return function () {
|
|
200
|
-
Object.keys(state.elements).forEach(function (name) {
|
|
201
|
-
var element = state.elements[name];
|
|
202
|
-
var attributes = state.attributes[name] || {};
|
|
203
|
-
var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them
|
|
204
|
-
|
|
205
|
-
var style = styleProperties.reduce(function (style, property) {
|
|
206
|
-
style[property] = '';
|
|
207
|
-
return style;
|
|
208
|
-
}, {}); // arrow is optional + virtual elements
|
|
209
|
-
|
|
210
|
-
if (!isHTMLElement(element) || !getNodeName(element)) {
|
|
211
|
-
return;
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
Object.assign(element.style, style);
|
|
215
|
-
Object.keys(attributes).forEach(function (attribute) {
|
|
216
|
-
element.removeAttribute(attribute);
|
|
217
|
-
});
|
|
218
|
-
});
|
|
219
|
-
};
|
|
220
|
-
} // eslint-disable-next-line import/no-unused-modules
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
const applyStyles$1 = {
|
|
224
|
-
name: 'applyStyles',
|
|
225
|
-
enabled: true,
|
|
226
|
-
phase: 'write',
|
|
227
|
-
fn: applyStyles,
|
|
228
|
-
effect: effect$2,
|
|
229
|
-
requires: ['computeStyles']
|
|
230
|
-
};
|
|
231
|
-
|
|
232
|
-
function getBasePlacement(placement) {
|
|
233
|
-
return placement.split('-')[0];
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
function getBoundingClientRect(element) {
|
|
237
|
-
var rect = element.getBoundingClientRect();
|
|
238
|
-
return {
|
|
239
|
-
width: rect.width,
|
|
240
|
-
height: rect.height,
|
|
241
|
-
top: rect.top,
|
|
242
|
-
right: rect.right,
|
|
243
|
-
bottom: rect.bottom,
|
|
244
|
-
left: rect.left,
|
|
245
|
-
x: rect.left,
|
|
246
|
-
y: rect.top
|
|
247
|
-
};
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
// means it doesn't take into account transforms.
|
|
251
|
-
|
|
252
|
-
function getLayoutRect(element) {
|
|
253
|
-
var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.
|
|
254
|
-
// Fixes https://github.com/popperjs/popper-core/issues/1223
|
|
255
|
-
|
|
256
|
-
var width = element.offsetWidth;
|
|
257
|
-
var height = element.offsetHeight;
|
|
258
|
-
|
|
259
|
-
if (Math.abs(clientRect.width - width) <= 1) {
|
|
260
|
-
width = clientRect.width;
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
if (Math.abs(clientRect.height - height) <= 1) {
|
|
264
|
-
height = clientRect.height;
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
return {
|
|
268
|
-
x: element.offsetLeft,
|
|
269
|
-
y: element.offsetTop,
|
|
270
|
-
width: width,
|
|
271
|
-
height: height
|
|
272
|
-
};
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
function contains(parent, child) {
|
|
276
|
-
var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method
|
|
277
|
-
|
|
278
|
-
if (parent.contains(child)) {
|
|
279
|
-
return true;
|
|
280
|
-
} // then fallback to custom implementation with Shadow DOM support
|
|
281
|
-
else if (rootNode && isShadowRoot(rootNode)) {
|
|
282
|
-
var next = child;
|
|
283
|
-
|
|
284
|
-
do {
|
|
285
|
-
if (next && parent.isSameNode(next)) {
|
|
286
|
-
return true;
|
|
287
|
-
} // $FlowFixMe[prop-missing]: need a better way to handle this...
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
next = next.parentNode || next.host;
|
|
291
|
-
} while (next);
|
|
292
|
-
} // Give up, the result is false
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
return false;
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
function getComputedStyle(element) {
|
|
299
|
-
return getWindow(element).getComputedStyle(element);
|
|
300
|
-
}
|
|
301
|
-
|
|
302
|
-
function isTableElement(element) {
|
|
303
|
-
return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
function getDocumentElement(element) {
|
|
307
|
-
// $FlowFixMe[incompatible-return]: assume body is always available
|
|
308
|
-
return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]
|
|
309
|
-
element.document) || window.document).documentElement;
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
function getParentNode(element) {
|
|
313
|
-
if (getNodeName(element) === 'html') {
|
|
314
|
-
return element;
|
|
315
|
-
}
|
|
316
|
-
|
|
317
|
-
return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle
|
|
318
|
-
// $FlowFixMe[incompatible-return]
|
|
319
|
-
// $FlowFixMe[prop-missing]
|
|
320
|
-
element.assignedSlot || // step into the shadow DOM of the parent of a slotted node
|
|
321
|
-
element.parentNode || ( // DOM Element detected
|
|
322
|
-
isShadowRoot(element) ? element.host : null) || // ShadowRoot detected
|
|
323
|
-
// $FlowFixMe[incompatible-call]: HTMLElement is a Node
|
|
324
|
-
getDocumentElement(element) // fallback
|
|
325
|
-
|
|
326
|
-
);
|
|
327
|
-
}
|
|
328
|
-
|
|
329
|
-
function getTrueOffsetParent(element) {
|
|
330
|
-
if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837
|
|
331
|
-
getComputedStyle(element).position === 'fixed') {
|
|
332
|
-
return null;
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
return element.offsetParent;
|
|
336
|
-
} // `.offsetParent` reports `null` for fixed elements, while absolute elements
|
|
337
|
-
// return the containing block
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
function getContainingBlock(element) {
|
|
341
|
-
var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') !== -1;
|
|
342
|
-
var isIE = navigator.userAgent.indexOf('Trident') !== -1;
|
|
343
|
-
|
|
344
|
-
if (isIE && isHTMLElement(element)) {
|
|
345
|
-
// In IE 9, 10 and 11 fixed elements containing block is always established by the viewport
|
|
346
|
-
var elementCss = getComputedStyle(element);
|
|
347
|
-
|
|
348
|
-
if (elementCss.position === 'fixed') {
|
|
349
|
-
return null;
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
|
|
353
|
-
var currentNode = getParentNode(element);
|
|
354
|
-
|
|
355
|
-
while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {
|
|
356
|
-
var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that
|
|
357
|
-
// create a containing block.
|
|
358
|
-
// https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
|
|
359
|
-
|
|
360
|
-
if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {
|
|
361
|
-
return currentNode;
|
|
362
|
-
} else {
|
|
363
|
-
currentNode = currentNode.parentNode;
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
|
|
367
|
-
return null;
|
|
368
|
-
} // Gets the closest ancestor positioned element. Handles some edge cases,
|
|
369
|
-
// such as table ancestors and cross browser bugs.
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
function getOffsetParent(element) {
|
|
373
|
-
var window = getWindow(element);
|
|
374
|
-
var offsetParent = getTrueOffsetParent(element);
|
|
375
|
-
|
|
376
|
-
while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {
|
|
377
|
-
offsetParent = getTrueOffsetParent(offsetParent);
|
|
378
|
-
}
|
|
379
|
-
|
|
380
|
-
if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {
|
|
381
|
-
return window;
|
|
382
|
-
}
|
|
383
|
-
|
|
384
|
-
return offsetParent || getContainingBlock(element) || window;
|
|
385
|
-
}
|
|
386
|
-
|
|
387
|
-
function getMainAxisFromPlacement(placement) {
|
|
388
|
-
return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';
|
|
389
|
-
}
|
|
390
|
-
|
|
391
|
-
var max = Math.max;
|
|
392
|
-
var min = Math.min;
|
|
393
|
-
var round = Math.round;
|
|
394
|
-
|
|
395
|
-
function within(min$1, value, max$1) {
|
|
396
|
-
return max(min$1, min(value, max$1));
|
|
397
|
-
}
|
|
398
|
-
|
|
399
|
-
function getFreshSideObject() {
|
|
400
|
-
return {
|
|
401
|
-
top: 0,
|
|
402
|
-
right: 0,
|
|
403
|
-
bottom: 0,
|
|
404
|
-
left: 0
|
|
405
|
-
};
|
|
406
|
-
}
|
|
407
|
-
|
|
408
|
-
function mergePaddingObject(paddingObject) {
|
|
409
|
-
return Object.assign({}, getFreshSideObject(), paddingObject);
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
function expandToHashMap(value, keys) {
|
|
413
|
-
return keys.reduce(function (hashMap, key) {
|
|
414
|
-
hashMap[key] = value;
|
|
415
|
-
return hashMap;
|
|
416
|
-
}, {});
|
|
417
|
-
}
|
|
418
|
-
|
|
419
|
-
var toPaddingObject = function toPaddingObject(padding, state) {
|
|
420
|
-
padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {
|
|
421
|
-
placement: state.placement
|
|
422
|
-
})) : padding;
|
|
423
|
-
return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));
|
|
424
|
-
};
|
|
425
|
-
|
|
426
|
-
function arrow(_ref) {
|
|
427
|
-
var _state$modifiersData$;
|
|
428
|
-
|
|
429
|
-
var state = _ref.state,
|
|
430
|
-
name = _ref.name,
|
|
431
|
-
options = _ref.options;
|
|
432
|
-
var arrowElement = state.elements.arrow;
|
|
433
|
-
var popperOffsets = state.modifiersData.popperOffsets;
|
|
434
|
-
var basePlacement = getBasePlacement(state.placement);
|
|
435
|
-
var axis = getMainAxisFromPlacement(basePlacement);
|
|
436
|
-
var isVertical = [left, right].indexOf(basePlacement) >= 0;
|
|
437
|
-
var len = isVertical ? 'height' : 'width';
|
|
438
|
-
|
|
439
|
-
if (!arrowElement || !popperOffsets) {
|
|
440
|
-
return;
|
|
441
|
-
}
|
|
442
|
-
|
|
443
|
-
var paddingObject = toPaddingObject(options.padding, state);
|
|
444
|
-
var arrowRect = getLayoutRect(arrowElement);
|
|
445
|
-
var minProp = axis === 'y' ? top : left;
|
|
446
|
-
var maxProp = axis === 'y' ? bottom : right;
|
|
447
|
-
var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];
|
|
448
|
-
var startDiff = popperOffsets[axis] - state.rects.reference[axis];
|
|
449
|
-
var arrowOffsetParent = getOffsetParent(arrowElement);
|
|
450
|
-
var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;
|
|
451
|
-
var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is
|
|
452
|
-
// outside of the popper bounds
|
|
453
|
-
|
|
454
|
-
var min = paddingObject[minProp];
|
|
455
|
-
var max = clientSize - arrowRect[len] - paddingObject[maxProp];
|
|
456
|
-
var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;
|
|
457
|
-
var offset = within(min, center, max); // Prevents breaking syntax highlighting...
|
|
458
|
-
|
|
459
|
-
var axisProp = axis;
|
|
460
|
-
state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);
|
|
461
|
-
}
|
|
462
|
-
|
|
463
|
-
function effect$1(_ref2) {
|
|
464
|
-
var state = _ref2.state,
|
|
465
|
-
options = _ref2.options;
|
|
466
|
-
var _options$element = options.element,
|
|
467
|
-
arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;
|
|
468
|
-
|
|
469
|
-
if (arrowElement == null) {
|
|
470
|
-
return;
|
|
471
|
-
} // CSS selector
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
if (typeof arrowElement === 'string') {
|
|
475
|
-
arrowElement = state.elements.popper.querySelector(arrowElement);
|
|
476
|
-
|
|
477
|
-
if (!arrowElement) {
|
|
478
|
-
return;
|
|
479
|
-
}
|
|
480
|
-
}
|
|
481
|
-
|
|
482
|
-
if (!contains(state.elements.popper, arrowElement)) {
|
|
483
|
-
|
|
484
|
-
return;
|
|
485
|
-
}
|
|
486
|
-
|
|
487
|
-
state.elements.arrow = arrowElement;
|
|
488
|
-
} // eslint-disable-next-line import/no-unused-modules
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
const arrow$1 = {
|
|
492
|
-
name: 'arrow',
|
|
493
|
-
enabled: true,
|
|
494
|
-
phase: 'main',
|
|
495
|
-
fn: arrow,
|
|
496
|
-
effect: effect$1,
|
|
497
|
-
requires: ['popperOffsets'],
|
|
498
|
-
requiresIfExists: ['preventOverflow']
|
|
499
|
-
};
|
|
500
|
-
|
|
501
|
-
var unsetSides = {
|
|
502
|
-
top: 'auto',
|
|
503
|
-
right: 'auto',
|
|
504
|
-
bottom: 'auto',
|
|
505
|
-
left: 'auto'
|
|
506
|
-
}; // Round the offsets to the nearest suitable subpixel based on the DPR.
|
|
507
|
-
// Zooming can change the DPR, but it seems to report a value that will
|
|
508
|
-
// cleanly divide the values into the appropriate subpixels.
|
|
509
|
-
|
|
510
|
-
function roundOffsetsByDPR(_ref) {
|
|
511
|
-
var x = _ref.x,
|
|
512
|
-
y = _ref.y;
|
|
513
|
-
var win = window;
|
|
514
|
-
var dpr = win.devicePixelRatio || 1;
|
|
515
|
-
return {
|
|
516
|
-
x: round(round(x * dpr) / dpr) || 0,
|
|
517
|
-
y: round(round(y * dpr) / dpr) || 0
|
|
518
|
-
};
|
|
519
|
-
}
|
|
520
|
-
|
|
521
|
-
function mapToStyles(_ref2) {
|
|
522
|
-
var _Object$assign2;
|
|
523
|
-
|
|
524
|
-
var popper = _ref2.popper,
|
|
525
|
-
popperRect = _ref2.popperRect,
|
|
526
|
-
placement = _ref2.placement,
|
|
527
|
-
offsets = _ref2.offsets,
|
|
528
|
-
position = _ref2.position,
|
|
529
|
-
gpuAcceleration = _ref2.gpuAcceleration,
|
|
530
|
-
adaptive = _ref2.adaptive,
|
|
531
|
-
roundOffsets = _ref2.roundOffsets;
|
|
532
|
-
|
|
533
|
-
var _ref3 = roundOffsets === true ? roundOffsetsByDPR(offsets) : typeof roundOffsets === 'function' ? roundOffsets(offsets) : offsets,
|
|
534
|
-
_ref3$x = _ref3.x,
|
|
535
|
-
x = _ref3$x === void 0 ? 0 : _ref3$x,
|
|
536
|
-
_ref3$y = _ref3.y,
|
|
537
|
-
y = _ref3$y === void 0 ? 0 : _ref3$y;
|
|
538
|
-
|
|
539
|
-
var hasX = offsets.hasOwnProperty('x');
|
|
540
|
-
var hasY = offsets.hasOwnProperty('y');
|
|
541
|
-
var sideX = left;
|
|
542
|
-
var sideY = top;
|
|
543
|
-
var win = window;
|
|
544
|
-
|
|
545
|
-
if (adaptive) {
|
|
546
|
-
var offsetParent = getOffsetParent(popper);
|
|
547
|
-
var heightProp = 'clientHeight';
|
|
548
|
-
var widthProp = 'clientWidth';
|
|
549
|
-
|
|
550
|
-
if (offsetParent === getWindow(popper)) {
|
|
551
|
-
offsetParent = getDocumentElement(popper);
|
|
552
|
-
|
|
553
|
-
if (getComputedStyle(offsetParent).position !== 'static') {
|
|
554
|
-
heightProp = 'scrollHeight';
|
|
555
|
-
widthProp = 'scrollWidth';
|
|
556
|
-
}
|
|
557
|
-
} // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
offsetParent = offsetParent;
|
|
561
|
-
|
|
562
|
-
if (placement === top) {
|
|
563
|
-
sideY = bottom; // $FlowFixMe[prop-missing]
|
|
564
|
-
|
|
565
|
-
y -= offsetParent[heightProp] - popperRect.height;
|
|
566
|
-
y *= gpuAcceleration ? 1 : -1;
|
|
567
|
-
}
|
|
568
|
-
|
|
569
|
-
if (placement === left) {
|
|
570
|
-
sideX = right; // $FlowFixMe[prop-missing]
|
|
571
|
-
|
|
572
|
-
x -= offsetParent[widthProp] - popperRect.width;
|
|
573
|
-
x *= gpuAcceleration ? 1 : -1;
|
|
574
|
-
}
|
|
575
|
-
}
|
|
576
|
-
|
|
577
|
-
var commonStyles = Object.assign({
|
|
578
|
-
position: position
|
|
579
|
-
}, adaptive && unsetSides);
|
|
580
|
-
|
|
581
|
-
if (gpuAcceleration) {
|
|
582
|
-
var _Object$assign;
|
|
583
|
-
|
|
584
|
-
return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) < 2 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign));
|
|
585
|
-
}
|
|
586
|
-
|
|
587
|
-
return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2));
|
|
588
|
-
}
|
|
589
|
-
|
|
590
|
-
function computeStyles(_ref4) {
|
|
591
|
-
var state = _ref4.state,
|
|
592
|
-
options = _ref4.options;
|
|
593
|
-
var _options$gpuAccelerat = options.gpuAcceleration,
|
|
594
|
-
gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,
|
|
595
|
-
_options$adaptive = options.adaptive,
|
|
596
|
-
adaptive = _options$adaptive === void 0 ? true : _options$adaptive,
|
|
597
|
-
_options$roundOffsets = options.roundOffsets,
|
|
598
|
-
roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;
|
|
599
|
-
|
|
600
|
-
var commonStyles = {
|
|
601
|
-
placement: getBasePlacement(state.placement),
|
|
602
|
-
popper: state.elements.popper,
|
|
603
|
-
popperRect: state.rects.popper,
|
|
604
|
-
gpuAcceleration: gpuAcceleration
|
|
605
|
-
};
|
|
606
|
-
|
|
607
|
-
if (state.modifiersData.popperOffsets != null) {
|
|
608
|
-
state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {
|
|
609
|
-
offsets: state.modifiersData.popperOffsets,
|
|
610
|
-
position: state.options.strategy,
|
|
611
|
-
adaptive: adaptive,
|
|
612
|
-
roundOffsets: roundOffsets
|
|
613
|
-
})));
|
|
614
|
-
}
|
|
615
|
-
|
|
616
|
-
if (state.modifiersData.arrow != null) {
|
|
617
|
-
state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {
|
|
618
|
-
offsets: state.modifiersData.arrow,
|
|
619
|
-
position: 'absolute',
|
|
620
|
-
adaptive: false,
|
|
621
|
-
roundOffsets: roundOffsets
|
|
622
|
-
})));
|
|
623
|
-
}
|
|
624
|
-
|
|
625
|
-
state.attributes.popper = Object.assign({}, state.attributes.popper, {
|
|
626
|
-
'data-popper-placement': state.placement
|
|
627
|
-
});
|
|
628
|
-
} // eslint-disable-next-line import/no-unused-modules
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
const computeStyles$1 = {
|
|
632
|
-
name: 'computeStyles',
|
|
633
|
-
enabled: true,
|
|
634
|
-
phase: 'beforeWrite',
|
|
635
|
-
fn: computeStyles,
|
|
636
|
-
data: {}
|
|
637
|
-
};
|
|
638
|
-
|
|
639
|
-
var passive = {
|
|
640
|
-
passive: true
|
|
641
|
-
};
|
|
642
|
-
|
|
643
|
-
function effect(_ref) {
|
|
644
|
-
var state = _ref.state,
|
|
645
|
-
instance = _ref.instance,
|
|
646
|
-
options = _ref.options;
|
|
647
|
-
var _options$scroll = options.scroll,
|
|
648
|
-
scroll = _options$scroll === void 0 ? true : _options$scroll,
|
|
649
|
-
_options$resize = options.resize,
|
|
650
|
-
resize = _options$resize === void 0 ? true : _options$resize;
|
|
651
|
-
var window = getWindow(state.elements.popper);
|
|
652
|
-
var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);
|
|
653
|
-
|
|
654
|
-
if (scroll) {
|
|
655
|
-
scrollParents.forEach(function (scrollParent) {
|
|
656
|
-
scrollParent.addEventListener('scroll', instance.update, passive);
|
|
657
|
-
});
|
|
658
|
-
}
|
|
659
|
-
|
|
660
|
-
if (resize) {
|
|
661
|
-
window.addEventListener('resize', instance.update, passive);
|
|
662
|
-
}
|
|
663
|
-
|
|
664
|
-
return function () {
|
|
665
|
-
if (scroll) {
|
|
666
|
-
scrollParents.forEach(function (scrollParent) {
|
|
667
|
-
scrollParent.removeEventListener('scroll', instance.update, passive);
|
|
668
|
-
});
|
|
669
|
-
}
|
|
670
|
-
|
|
671
|
-
if (resize) {
|
|
672
|
-
window.removeEventListener('resize', instance.update, passive);
|
|
673
|
-
}
|
|
674
|
-
};
|
|
675
|
-
} // eslint-disable-next-line import/no-unused-modules
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
const eventListeners = {
|
|
679
|
-
name: 'eventListeners',
|
|
680
|
-
enabled: true,
|
|
681
|
-
phase: 'write',
|
|
682
|
-
fn: function fn() {},
|
|
683
|
-
effect: effect,
|
|
684
|
-
data: {}
|
|
685
|
-
};
|
|
686
|
-
|
|
687
|
-
var hash$1 = {
|
|
688
|
-
left: 'right',
|
|
689
|
-
right: 'left',
|
|
690
|
-
bottom: 'top',
|
|
691
|
-
top: 'bottom'
|
|
692
|
-
};
|
|
693
|
-
function getOppositePlacement(placement) {
|
|
694
|
-
return placement.replace(/left|right|bottom|top/g, function (matched) {
|
|
695
|
-
return hash$1[matched];
|
|
696
|
-
});
|
|
697
|
-
}
|
|
698
|
-
|
|
699
|
-
var hash = {
|
|
700
|
-
start: 'end',
|
|
701
|
-
end: 'start'
|
|
702
|
-
};
|
|
703
|
-
function getOppositeVariationPlacement(placement) {
|
|
704
|
-
return placement.replace(/start|end/g, function (matched) {
|
|
705
|
-
return hash[matched];
|
|
706
|
-
});
|
|
707
|
-
}
|
|
708
|
-
|
|
709
|
-
function getWindowScroll(node) {
|
|
710
|
-
var win = getWindow(node);
|
|
711
|
-
var scrollLeft = win.pageXOffset;
|
|
712
|
-
var scrollTop = win.pageYOffset;
|
|
713
|
-
return {
|
|
714
|
-
scrollLeft: scrollLeft,
|
|
715
|
-
scrollTop: scrollTop
|
|
716
|
-
};
|
|
717
|
-
}
|
|
718
|
-
|
|
719
|
-
function getWindowScrollBarX(element) {
|
|
720
|
-
// If <html> has a CSS width greater than the viewport, then this will be
|
|
721
|
-
// incorrect for RTL.
|
|
722
|
-
// Popper 1 is broken in this case and never had a bug report so let's assume
|
|
723
|
-
// it's not an issue. I don't think anyone ever specifies width on <html>
|
|
724
|
-
// anyway.
|
|
725
|
-
// Browsers where the left scrollbar doesn't cause an issue report `0` for
|
|
726
|
-
// this (e.g. Edge 2019, IE11, Safari)
|
|
727
|
-
return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;
|
|
728
|
-
}
|
|
729
|
-
|
|
730
|
-
function getViewportRect(element) {
|
|
731
|
-
var win = getWindow(element);
|
|
732
|
-
var html = getDocumentElement(element);
|
|
733
|
-
var visualViewport = win.visualViewport;
|
|
734
|
-
var width = html.clientWidth;
|
|
735
|
-
var height = html.clientHeight;
|
|
736
|
-
var x = 0;
|
|
737
|
-
var y = 0; // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper
|
|
738
|
-
// can be obscured underneath it.
|
|
739
|
-
// Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even
|
|
740
|
-
// if it isn't open, so if this isn't available, the popper will be detected
|
|
741
|
-
// to overflow the bottom of the screen too early.
|
|
742
|
-
|
|
743
|
-
if (visualViewport) {
|
|
744
|
-
width = visualViewport.width;
|
|
745
|
-
height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)
|
|
746
|
-
// In Chrome, it returns a value very close to 0 (+/-) but contains rounding
|
|
747
|
-
// errors due to floating point numbers, so we need to check precision.
|
|
748
|
-
// Safari returns a number <= 0, usually < -1 when pinch-zoomed
|
|
749
|
-
// Feature detection fails in mobile emulation mode in Chrome.
|
|
750
|
-
// Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) <
|
|
751
|
-
// 0.001
|
|
752
|
-
// Fallback here: "Not Safari" userAgent
|
|
753
|
-
|
|
754
|
-
if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {
|
|
755
|
-
x = visualViewport.offsetLeft;
|
|
756
|
-
y = visualViewport.offsetTop;
|
|
757
|
-
}
|
|
758
|
-
}
|
|
759
|
-
|
|
760
|
-
return {
|
|
761
|
-
width: width,
|
|
762
|
-
height: height,
|
|
763
|
-
x: x + getWindowScrollBarX(element),
|
|
764
|
-
y: y
|
|
765
|
-
};
|
|
766
|
-
}
|
|
767
|
-
|
|
768
|
-
// of the `<html>` and `<body>` rect bounds if horizontally scrollable
|
|
769
|
-
|
|
770
|
-
function getDocumentRect(element) {
|
|
771
|
-
var _element$ownerDocumen;
|
|
772
|
-
|
|
773
|
-
var html = getDocumentElement(element);
|
|
774
|
-
var winScroll = getWindowScroll(element);
|
|
775
|
-
var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;
|
|
776
|
-
var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);
|
|
777
|
-
var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);
|
|
778
|
-
var x = -winScroll.scrollLeft + getWindowScrollBarX(element);
|
|
779
|
-
var y = -winScroll.scrollTop;
|
|
780
|
-
|
|
781
|
-
if (getComputedStyle(body || html).direction === 'rtl') {
|
|
782
|
-
x += max(html.clientWidth, body ? body.clientWidth : 0) - width;
|
|
783
|
-
}
|
|
784
|
-
|
|
785
|
-
return {
|
|
786
|
-
width: width,
|
|
787
|
-
height: height,
|
|
788
|
-
x: x,
|
|
789
|
-
y: y
|
|
790
|
-
};
|
|
791
|
-
}
|
|
792
|
-
|
|
793
|
-
function isScrollParent(element) {
|
|
794
|
-
// Firefox wants us to check `-x` and `-y` variations as well
|
|
795
|
-
var _getComputedStyle = getComputedStyle(element),
|
|
796
|
-
overflow = _getComputedStyle.overflow,
|
|
797
|
-
overflowX = _getComputedStyle.overflowX,
|
|
798
|
-
overflowY = _getComputedStyle.overflowY;
|
|
799
|
-
|
|
800
|
-
return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);
|
|
801
|
-
}
|
|
802
|
-
|
|
803
|
-
function getScrollParent(node) {
|
|
804
|
-
if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {
|
|
805
|
-
// $FlowFixMe[incompatible-return]: assume body is always available
|
|
806
|
-
return node.ownerDocument.body;
|
|
807
|
-
}
|
|
808
|
-
|
|
809
|
-
if (isHTMLElement(node) && isScrollParent(node)) {
|
|
810
|
-
return node;
|
|
811
|
-
}
|
|
812
|
-
|
|
813
|
-
return getScrollParent(getParentNode(node));
|
|
814
|
-
}
|
|
815
|
-
|
|
816
|
-
/*
|
|
817
|
-
given a DOM element, return the list of all scroll parents, up the list of ancesors
|
|
818
|
-
until we get to the top window object. This list is what we attach scroll listeners
|
|
819
|
-
to, because if any of these parent elements scroll, we'll need to re-calculate the
|
|
820
|
-
reference element's position.
|
|
821
|
-
*/
|
|
822
|
-
|
|
823
|
-
function listScrollParents(element, list) {
|
|
824
|
-
var _element$ownerDocumen;
|
|
825
|
-
|
|
826
|
-
if (list === void 0) {
|
|
827
|
-
list = [];
|
|
828
|
-
}
|
|
829
|
-
|
|
830
|
-
var scrollParent = getScrollParent(element);
|
|
831
|
-
var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);
|
|
832
|
-
var win = getWindow(scrollParent);
|
|
833
|
-
var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;
|
|
834
|
-
var updatedList = list.concat(target);
|
|
835
|
-
return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here
|
|
836
|
-
updatedList.concat(listScrollParents(getParentNode(target)));
|
|
837
|
-
}
|
|
838
|
-
|
|
839
|
-
function rectToClientRect(rect) {
|
|
840
|
-
return Object.assign({}, rect, {
|
|
841
|
-
left: rect.x,
|
|
842
|
-
top: rect.y,
|
|
843
|
-
right: rect.x + rect.width,
|
|
844
|
-
bottom: rect.y + rect.height
|
|
845
|
-
});
|
|
846
|
-
}
|
|
847
|
-
|
|
848
|
-
function getInnerBoundingClientRect(element) {
|
|
849
|
-
var rect = getBoundingClientRect(element);
|
|
850
|
-
rect.top = rect.top + element.clientTop;
|
|
851
|
-
rect.left = rect.left + element.clientLeft;
|
|
852
|
-
rect.bottom = rect.top + element.clientHeight;
|
|
853
|
-
rect.right = rect.left + element.clientWidth;
|
|
854
|
-
rect.width = element.clientWidth;
|
|
855
|
-
rect.height = element.clientHeight;
|
|
856
|
-
rect.x = rect.left;
|
|
857
|
-
rect.y = rect.top;
|
|
858
|
-
return rect;
|
|
859
|
-
}
|
|
860
|
-
|
|
861
|
-
function getClientRectFromMixedType(element, clippingParent) {
|
|
862
|
-
return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isHTMLElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
|
|
863
|
-
} // A "clipping parent" is an overflowable container with the characteristic of
|
|
864
|
-
// clipping (or hiding) overflowing elements with a position different from
|
|
865
|
-
// `initial`
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
function getClippingParents(element) {
|
|
869
|
-
var clippingParents = listScrollParents(getParentNode(element));
|
|
870
|
-
var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;
|
|
871
|
-
var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;
|
|
872
|
-
|
|
873
|
-
if (!isElement(clipperElement)) {
|
|
874
|
-
return [];
|
|
875
|
-
} // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
return clippingParents.filter(function (clippingParent) {
|
|
879
|
-
return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';
|
|
880
|
-
});
|
|
881
|
-
} // Gets the maximum area that the element is visible in due to any number of
|
|
882
|
-
// clipping parents
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
function getClippingRect(element, boundary, rootBoundary) {
|
|
886
|
-
var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);
|
|
887
|
-
var clippingParents = [].concat(mainClippingParents, [rootBoundary]);
|
|
888
|
-
var firstClippingParent = clippingParents[0];
|
|
889
|
-
var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {
|
|
890
|
-
var rect = getClientRectFromMixedType(element, clippingParent);
|
|
891
|
-
accRect.top = max(rect.top, accRect.top);
|
|
892
|
-
accRect.right = min(rect.right, accRect.right);
|
|
893
|
-
accRect.bottom = min(rect.bottom, accRect.bottom);
|
|
894
|
-
accRect.left = max(rect.left, accRect.left);
|
|
895
|
-
return accRect;
|
|
896
|
-
}, getClientRectFromMixedType(element, firstClippingParent));
|
|
897
|
-
clippingRect.width = clippingRect.right - clippingRect.left;
|
|
898
|
-
clippingRect.height = clippingRect.bottom - clippingRect.top;
|
|
899
|
-
clippingRect.x = clippingRect.left;
|
|
900
|
-
clippingRect.y = clippingRect.top;
|
|
901
|
-
return clippingRect;
|
|
902
|
-
}
|
|
903
|
-
|
|
904
|
-
function getVariation(placement) {
|
|
905
|
-
return placement.split('-')[1];
|
|
906
|
-
}
|
|
907
|
-
|
|
908
|
-
function computeOffsets(_ref) {
|
|
909
|
-
var reference = _ref.reference,
|
|
910
|
-
element = _ref.element,
|
|
911
|
-
placement = _ref.placement;
|
|
912
|
-
var basePlacement = placement ? getBasePlacement(placement) : null;
|
|
913
|
-
var variation = placement ? getVariation(placement) : null;
|
|
914
|
-
var commonX = reference.x + reference.width / 2 - element.width / 2;
|
|
915
|
-
var commonY = reference.y + reference.height / 2 - element.height / 2;
|
|
916
|
-
var offsets;
|
|
917
|
-
|
|
918
|
-
switch (basePlacement) {
|
|
919
|
-
case top:
|
|
920
|
-
offsets = {
|
|
921
|
-
x: commonX,
|
|
922
|
-
y: reference.y - element.height
|
|
923
|
-
};
|
|
924
|
-
break;
|
|
925
|
-
|
|
926
|
-
case bottom:
|
|
927
|
-
offsets = {
|
|
928
|
-
x: commonX,
|
|
929
|
-
y: reference.y + reference.height
|
|
930
|
-
};
|
|
931
|
-
break;
|
|
932
|
-
|
|
933
|
-
case right:
|
|
934
|
-
offsets = {
|
|
935
|
-
x: reference.x + reference.width,
|
|
936
|
-
y: commonY
|
|
937
|
-
};
|
|
938
|
-
break;
|
|
939
|
-
|
|
940
|
-
case left:
|
|
941
|
-
offsets = {
|
|
942
|
-
x: reference.x - element.width,
|
|
943
|
-
y: commonY
|
|
944
|
-
};
|
|
945
|
-
break;
|
|
946
|
-
|
|
947
|
-
default:
|
|
948
|
-
offsets = {
|
|
949
|
-
x: reference.x,
|
|
950
|
-
y: reference.y
|
|
951
|
-
};
|
|
952
|
-
}
|
|
953
|
-
|
|
954
|
-
var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;
|
|
955
|
-
|
|
956
|
-
if (mainAxis != null) {
|
|
957
|
-
var len = mainAxis === 'y' ? 'height' : 'width';
|
|
958
|
-
|
|
959
|
-
switch (variation) {
|
|
960
|
-
case start:
|
|
961
|
-
offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);
|
|
962
|
-
break;
|
|
963
|
-
|
|
964
|
-
case end:
|
|
965
|
-
offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);
|
|
966
|
-
break;
|
|
967
|
-
}
|
|
968
|
-
}
|
|
969
|
-
|
|
970
|
-
return offsets;
|
|
971
|
-
}
|
|
972
|
-
|
|
973
|
-
function detectOverflow(state, options) {
|
|
974
|
-
if (options === void 0) {
|
|
975
|
-
options = {};
|
|
976
|
-
}
|
|
977
|
-
|
|
978
|
-
var _options = options,
|
|
979
|
-
_options$placement = _options.placement,
|
|
980
|
-
placement = _options$placement === void 0 ? state.placement : _options$placement,
|
|
981
|
-
_options$boundary = _options.boundary,
|
|
982
|
-
boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,
|
|
983
|
-
_options$rootBoundary = _options.rootBoundary,
|
|
984
|
-
rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,
|
|
985
|
-
_options$elementConte = _options.elementContext,
|
|
986
|
-
elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,
|
|
987
|
-
_options$altBoundary = _options.altBoundary,
|
|
988
|
-
altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,
|
|
989
|
-
_options$padding = _options.padding,
|
|
990
|
-
padding = _options$padding === void 0 ? 0 : _options$padding;
|
|
991
|
-
var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));
|
|
992
|
-
var altContext = elementContext === popper ? reference : popper;
|
|
993
|
-
var referenceElement = state.elements.reference;
|
|
994
|
-
var popperRect = state.rects.popper;
|
|
995
|
-
var element = state.elements[altBoundary ? altContext : elementContext];
|
|
996
|
-
var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);
|
|
997
|
-
var referenceClientRect = getBoundingClientRect(referenceElement);
|
|
998
|
-
var popperOffsets = computeOffsets({
|
|
999
|
-
reference: referenceClientRect,
|
|
1000
|
-
element: popperRect,
|
|
1001
|
-
strategy: 'absolute',
|
|
1002
|
-
placement: placement
|
|
1003
|
-
});
|
|
1004
|
-
var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));
|
|
1005
|
-
var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect
|
|
1006
|
-
// 0 or negative = within the clipping rect
|
|
1007
|
-
|
|
1008
|
-
var overflowOffsets = {
|
|
1009
|
-
top: clippingClientRect.top - elementClientRect.top + paddingObject.top,
|
|
1010
|
-
bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,
|
|
1011
|
-
left: clippingClientRect.left - elementClientRect.left + paddingObject.left,
|
|
1012
|
-
right: elementClientRect.right - clippingClientRect.right + paddingObject.right
|
|
1013
|
-
};
|
|
1014
|
-
var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element
|
|
1015
|
-
|
|
1016
|
-
if (elementContext === popper && offsetData) {
|
|
1017
|
-
var offset = offsetData[placement];
|
|
1018
|
-
Object.keys(overflowOffsets).forEach(function (key) {
|
|
1019
|
-
var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;
|
|
1020
|
-
var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';
|
|
1021
|
-
overflowOffsets[key] += offset[axis] * multiply;
|
|
1022
|
-
});
|
|
1023
|
-
}
|
|
1024
|
-
|
|
1025
|
-
return overflowOffsets;
|
|
1026
|
-
}
|
|
1027
|
-
|
|
1028
|
-
function computeAutoPlacement(state, options) {
|
|
1029
|
-
if (options === void 0) {
|
|
1030
|
-
options = {};
|
|
1031
|
-
}
|
|
1032
|
-
|
|
1033
|
-
var _options = options,
|
|
1034
|
-
placement = _options.placement,
|
|
1035
|
-
boundary = _options.boundary,
|
|
1036
|
-
rootBoundary = _options.rootBoundary,
|
|
1037
|
-
padding = _options.padding,
|
|
1038
|
-
flipVariations = _options.flipVariations,
|
|
1039
|
-
_options$allowedAutoP = _options.allowedAutoPlacements,
|
|
1040
|
-
allowedAutoPlacements = _options$allowedAutoP === void 0 ? placements : _options$allowedAutoP;
|
|
1041
|
-
var variation = getVariation(placement);
|
|
1042
|
-
var placements$1 = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {
|
|
1043
|
-
return getVariation(placement) === variation;
|
|
1044
|
-
}) : basePlacements;
|
|
1045
|
-
var allowedPlacements = placements$1.filter(function (placement) {
|
|
1046
|
-
return allowedAutoPlacements.indexOf(placement) >= 0;
|
|
1047
|
-
});
|
|
1048
|
-
|
|
1049
|
-
if (allowedPlacements.length === 0) {
|
|
1050
|
-
allowedPlacements = placements$1;
|
|
1051
|
-
} // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
var overflows = allowedPlacements.reduce(function (acc, placement) {
|
|
1055
|
-
acc[placement] = detectOverflow(state, {
|
|
1056
|
-
placement: placement,
|
|
1057
|
-
boundary: boundary,
|
|
1058
|
-
rootBoundary: rootBoundary,
|
|
1059
|
-
padding: padding
|
|
1060
|
-
})[getBasePlacement(placement)];
|
|
1061
|
-
return acc;
|
|
1062
|
-
}, {});
|
|
1063
|
-
return Object.keys(overflows).sort(function (a, b) {
|
|
1064
|
-
return overflows[a] - overflows[b];
|
|
1065
|
-
});
|
|
1066
|
-
}
|
|
1067
|
-
|
|
1068
|
-
function getExpandedFallbackPlacements(placement) {
|
|
1069
|
-
if (getBasePlacement(placement) === auto) {
|
|
1070
|
-
return [];
|
|
1071
|
-
}
|
|
1072
|
-
|
|
1073
|
-
var oppositePlacement = getOppositePlacement(placement);
|
|
1074
|
-
return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];
|
|
1075
|
-
}
|
|
1076
|
-
|
|
1077
|
-
function flip(_ref) {
|
|
1078
|
-
var state = _ref.state,
|
|
1079
|
-
options = _ref.options,
|
|
1080
|
-
name = _ref.name;
|
|
1081
|
-
|
|
1082
|
-
if (state.modifiersData[name]._skip) {
|
|
1083
|
-
return;
|
|
1084
|
-
}
|
|
1085
|
-
|
|
1086
|
-
var _options$mainAxis = options.mainAxis,
|
|
1087
|
-
checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,
|
|
1088
|
-
_options$altAxis = options.altAxis,
|
|
1089
|
-
checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,
|
|
1090
|
-
specifiedFallbackPlacements = options.fallbackPlacements,
|
|
1091
|
-
padding = options.padding,
|
|
1092
|
-
boundary = options.boundary,
|
|
1093
|
-
rootBoundary = options.rootBoundary,
|
|
1094
|
-
altBoundary = options.altBoundary,
|
|
1095
|
-
_options$flipVariatio = options.flipVariations,
|
|
1096
|
-
flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,
|
|
1097
|
-
allowedAutoPlacements = options.allowedAutoPlacements;
|
|
1098
|
-
var preferredPlacement = state.options.placement;
|
|
1099
|
-
var basePlacement = getBasePlacement(preferredPlacement);
|
|
1100
|
-
var isBasePlacement = basePlacement === preferredPlacement;
|
|
1101
|
-
var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));
|
|
1102
|
-
var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {
|
|
1103
|
-
return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {
|
|
1104
|
-
placement: placement,
|
|
1105
|
-
boundary: boundary,
|
|
1106
|
-
rootBoundary: rootBoundary,
|
|
1107
|
-
padding: padding,
|
|
1108
|
-
flipVariations: flipVariations,
|
|
1109
|
-
allowedAutoPlacements: allowedAutoPlacements
|
|
1110
|
-
}) : placement);
|
|
1111
|
-
}, []);
|
|
1112
|
-
var referenceRect = state.rects.reference;
|
|
1113
|
-
var popperRect = state.rects.popper;
|
|
1114
|
-
var checksMap = new Map();
|
|
1115
|
-
var makeFallbackChecks = true;
|
|
1116
|
-
var firstFittingPlacement = placements[0];
|
|
1117
|
-
|
|
1118
|
-
for (var i = 0; i < placements.length; i++) {
|
|
1119
|
-
var placement = placements[i];
|
|
1120
|
-
|
|
1121
|
-
var _basePlacement = getBasePlacement(placement);
|
|
1122
|
-
|
|
1123
|
-
var isStartVariation = getVariation(placement) === start;
|
|
1124
|
-
var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;
|
|
1125
|
-
var len = isVertical ? 'width' : 'height';
|
|
1126
|
-
var overflow = detectOverflow(state, {
|
|
1127
|
-
placement: placement,
|
|
1128
|
-
boundary: boundary,
|
|
1129
|
-
rootBoundary: rootBoundary,
|
|
1130
|
-
altBoundary: altBoundary,
|
|
1131
|
-
padding: padding
|
|
1132
|
-
});
|
|
1133
|
-
var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;
|
|
1134
|
-
|
|
1135
|
-
if (referenceRect[len] > popperRect[len]) {
|
|
1136
|
-
mainVariationSide = getOppositePlacement(mainVariationSide);
|
|
1137
|
-
}
|
|
1138
|
-
|
|
1139
|
-
var altVariationSide = getOppositePlacement(mainVariationSide);
|
|
1140
|
-
var checks = [];
|
|
1141
|
-
|
|
1142
|
-
if (checkMainAxis) {
|
|
1143
|
-
checks.push(overflow[_basePlacement] <= 0);
|
|
1144
|
-
}
|
|
1145
|
-
|
|
1146
|
-
if (checkAltAxis) {
|
|
1147
|
-
checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);
|
|
1148
|
-
}
|
|
1149
|
-
|
|
1150
|
-
if (checks.every(function (check) {
|
|
1151
|
-
return check;
|
|
1152
|
-
})) {
|
|
1153
|
-
firstFittingPlacement = placement;
|
|
1154
|
-
makeFallbackChecks = false;
|
|
1155
|
-
break;
|
|
1156
|
-
}
|
|
1157
|
-
|
|
1158
|
-
checksMap.set(placement, checks);
|
|
1159
|
-
}
|
|
1160
|
-
|
|
1161
|
-
if (makeFallbackChecks) {
|
|
1162
|
-
// `2` may be desired in some cases – research later
|
|
1163
|
-
var numberOfChecks = flipVariations ? 3 : 1;
|
|
1164
|
-
|
|
1165
|
-
var _loop = function _loop(_i) {
|
|
1166
|
-
var fittingPlacement = placements.find(function (placement) {
|
|
1167
|
-
var checks = checksMap.get(placement);
|
|
1168
|
-
|
|
1169
|
-
if (checks) {
|
|
1170
|
-
return checks.slice(0, _i).every(function (check) {
|
|
1171
|
-
return check;
|
|
1172
|
-
});
|
|
1173
|
-
}
|
|
1174
|
-
});
|
|
1175
|
-
|
|
1176
|
-
if (fittingPlacement) {
|
|
1177
|
-
firstFittingPlacement = fittingPlacement;
|
|
1178
|
-
return "break";
|
|
1179
|
-
}
|
|
1180
|
-
};
|
|
1181
|
-
|
|
1182
|
-
for (var _i = numberOfChecks; _i > 0; _i--) {
|
|
1183
|
-
var _ret = _loop(_i);
|
|
1184
|
-
|
|
1185
|
-
if (_ret === "break") break;
|
|
1186
|
-
}
|
|
1187
|
-
}
|
|
1188
|
-
|
|
1189
|
-
if (state.placement !== firstFittingPlacement) {
|
|
1190
|
-
state.modifiersData[name]._skip = true;
|
|
1191
|
-
state.placement = firstFittingPlacement;
|
|
1192
|
-
state.reset = true;
|
|
1193
|
-
}
|
|
1194
|
-
} // eslint-disable-next-line import/no-unused-modules
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
const flip$1 = {
|
|
1198
|
-
name: 'flip',
|
|
1199
|
-
enabled: true,
|
|
1200
|
-
phase: 'main',
|
|
1201
|
-
fn: flip,
|
|
1202
|
-
requiresIfExists: ['offset'],
|
|
1203
|
-
data: {
|
|
1204
|
-
_skip: false
|
|
1205
|
-
}
|
|
1206
|
-
};
|
|
1207
|
-
|
|
1208
|
-
function getSideOffsets(overflow, rect, preventedOffsets) {
|
|
1209
|
-
if (preventedOffsets === void 0) {
|
|
1210
|
-
preventedOffsets = {
|
|
1211
|
-
x: 0,
|
|
1212
|
-
y: 0
|
|
1213
|
-
};
|
|
1214
|
-
}
|
|
1215
|
-
|
|
1216
|
-
return {
|
|
1217
|
-
top: overflow.top - rect.height - preventedOffsets.y,
|
|
1218
|
-
right: overflow.right - rect.width + preventedOffsets.x,
|
|
1219
|
-
bottom: overflow.bottom - rect.height + preventedOffsets.y,
|
|
1220
|
-
left: overflow.left - rect.width - preventedOffsets.x
|
|
1221
|
-
};
|
|
1222
|
-
}
|
|
1223
|
-
|
|
1224
|
-
function isAnySideFullyClipped(overflow) {
|
|
1225
|
-
return [top, right, bottom, left].some(function (side) {
|
|
1226
|
-
return overflow[side] >= 0;
|
|
1227
|
-
});
|
|
1228
|
-
}
|
|
1229
|
-
|
|
1230
|
-
function hide(_ref) {
|
|
1231
|
-
var state = _ref.state,
|
|
1232
|
-
name = _ref.name;
|
|
1233
|
-
var referenceRect = state.rects.reference;
|
|
1234
|
-
var popperRect = state.rects.popper;
|
|
1235
|
-
var preventedOffsets = state.modifiersData.preventOverflow;
|
|
1236
|
-
var referenceOverflow = detectOverflow(state, {
|
|
1237
|
-
elementContext: 'reference'
|
|
1238
|
-
});
|
|
1239
|
-
var popperAltOverflow = detectOverflow(state, {
|
|
1240
|
-
altBoundary: true
|
|
1241
|
-
});
|
|
1242
|
-
var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);
|
|
1243
|
-
var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);
|
|
1244
|
-
var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);
|
|
1245
|
-
var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);
|
|
1246
|
-
state.modifiersData[name] = {
|
|
1247
|
-
referenceClippingOffsets: referenceClippingOffsets,
|
|
1248
|
-
popperEscapeOffsets: popperEscapeOffsets,
|
|
1249
|
-
isReferenceHidden: isReferenceHidden,
|
|
1250
|
-
hasPopperEscaped: hasPopperEscaped
|
|
1251
|
-
};
|
|
1252
|
-
state.attributes.popper = Object.assign({}, state.attributes.popper, {
|
|
1253
|
-
'data-popper-reference-hidden': isReferenceHidden,
|
|
1254
|
-
'data-popper-escaped': hasPopperEscaped
|
|
1255
|
-
});
|
|
1256
|
-
} // eslint-disable-next-line import/no-unused-modules
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
const hide$1 = {
|
|
1260
|
-
name: 'hide',
|
|
1261
|
-
enabled: true,
|
|
1262
|
-
phase: 'main',
|
|
1263
|
-
requiresIfExists: ['preventOverflow'],
|
|
1264
|
-
fn: hide
|
|
1265
|
-
};
|
|
1266
|
-
|
|
1267
|
-
function distanceAndSkiddingToXY(placement, rects, offset) {
|
|
1268
|
-
var basePlacement = getBasePlacement(placement);
|
|
1269
|
-
var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;
|
|
1270
|
-
|
|
1271
|
-
var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {
|
|
1272
|
-
placement: placement
|
|
1273
|
-
})) : offset,
|
|
1274
|
-
skidding = _ref[0],
|
|
1275
|
-
distance = _ref[1];
|
|
1276
|
-
|
|
1277
|
-
skidding = skidding || 0;
|
|
1278
|
-
distance = (distance || 0) * invertDistance;
|
|
1279
|
-
return [left, right].indexOf(basePlacement) >= 0 ? {
|
|
1280
|
-
x: distance,
|
|
1281
|
-
y: skidding
|
|
1282
|
-
} : {
|
|
1283
|
-
x: skidding,
|
|
1284
|
-
y: distance
|
|
1285
|
-
};
|
|
1286
|
-
}
|
|
1287
|
-
|
|
1288
|
-
function offset(_ref2) {
|
|
1289
|
-
var state = _ref2.state,
|
|
1290
|
-
options = _ref2.options,
|
|
1291
|
-
name = _ref2.name;
|
|
1292
|
-
var _options$offset = options.offset,
|
|
1293
|
-
offset = _options$offset === void 0 ? [0, 0] : _options$offset;
|
|
1294
|
-
var data = placements.reduce(function (acc, placement) {
|
|
1295
|
-
acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);
|
|
1296
|
-
return acc;
|
|
1297
|
-
}, {});
|
|
1298
|
-
var _data$state$placement = data[state.placement],
|
|
1299
|
-
x = _data$state$placement.x,
|
|
1300
|
-
y = _data$state$placement.y;
|
|
1301
|
-
|
|
1302
|
-
if (state.modifiersData.popperOffsets != null) {
|
|
1303
|
-
state.modifiersData.popperOffsets.x += x;
|
|
1304
|
-
state.modifiersData.popperOffsets.y += y;
|
|
1305
|
-
}
|
|
1306
|
-
|
|
1307
|
-
state.modifiersData[name] = data;
|
|
1308
|
-
} // eslint-disable-next-line import/no-unused-modules
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
const offset$1 = {
|
|
1312
|
-
name: 'offset',
|
|
1313
|
-
enabled: true,
|
|
1314
|
-
phase: 'main',
|
|
1315
|
-
requires: ['popperOffsets'],
|
|
1316
|
-
fn: offset
|
|
1317
|
-
};
|
|
1318
|
-
|
|
1319
|
-
function popperOffsets(_ref) {
|
|
1320
|
-
var state = _ref.state,
|
|
1321
|
-
name = _ref.name;
|
|
1322
|
-
// Offsets are the actual position the popper needs to have to be
|
|
1323
|
-
// properly positioned near its reference element
|
|
1324
|
-
// This is the most basic placement, and will be adjusted by
|
|
1325
|
-
// the modifiers in the next step
|
|
1326
|
-
state.modifiersData[name] = computeOffsets({
|
|
1327
|
-
reference: state.rects.reference,
|
|
1328
|
-
element: state.rects.popper,
|
|
1329
|
-
strategy: 'absolute',
|
|
1330
|
-
placement: state.placement
|
|
1331
|
-
});
|
|
1332
|
-
} // eslint-disable-next-line import/no-unused-modules
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
const popperOffsets$1 = {
|
|
1336
|
-
name: 'popperOffsets',
|
|
1337
|
-
enabled: true,
|
|
1338
|
-
phase: 'read',
|
|
1339
|
-
fn: popperOffsets,
|
|
1340
|
-
data: {}
|
|
1341
|
-
};
|
|
1342
|
-
|
|
1343
|
-
function getAltAxis(axis) {
|
|
1344
|
-
return axis === 'x' ? 'y' : 'x';
|
|
1345
|
-
}
|
|
1346
|
-
|
|
1347
|
-
function preventOverflow(_ref) {
|
|
1348
|
-
var state = _ref.state,
|
|
1349
|
-
options = _ref.options,
|
|
1350
|
-
name = _ref.name;
|
|
1351
|
-
var _options$mainAxis = options.mainAxis,
|
|
1352
|
-
checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,
|
|
1353
|
-
_options$altAxis = options.altAxis,
|
|
1354
|
-
checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,
|
|
1355
|
-
boundary = options.boundary,
|
|
1356
|
-
rootBoundary = options.rootBoundary,
|
|
1357
|
-
altBoundary = options.altBoundary,
|
|
1358
|
-
padding = options.padding,
|
|
1359
|
-
_options$tether = options.tether,
|
|
1360
|
-
tether = _options$tether === void 0 ? true : _options$tether,
|
|
1361
|
-
_options$tetherOffset = options.tetherOffset,
|
|
1362
|
-
tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;
|
|
1363
|
-
var overflow = detectOverflow(state, {
|
|
1364
|
-
boundary: boundary,
|
|
1365
|
-
rootBoundary: rootBoundary,
|
|
1366
|
-
padding: padding,
|
|
1367
|
-
altBoundary: altBoundary
|
|
1368
|
-
});
|
|
1369
|
-
var basePlacement = getBasePlacement(state.placement);
|
|
1370
|
-
var variation = getVariation(state.placement);
|
|
1371
|
-
var isBasePlacement = !variation;
|
|
1372
|
-
var mainAxis = getMainAxisFromPlacement(basePlacement);
|
|
1373
|
-
var altAxis = getAltAxis(mainAxis);
|
|
1374
|
-
var popperOffsets = state.modifiersData.popperOffsets;
|
|
1375
|
-
var referenceRect = state.rects.reference;
|
|
1376
|
-
var popperRect = state.rects.popper;
|
|
1377
|
-
var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {
|
|
1378
|
-
placement: state.placement
|
|
1379
|
-
})) : tetherOffset;
|
|
1380
|
-
var data = {
|
|
1381
|
-
x: 0,
|
|
1382
|
-
y: 0
|
|
1383
|
-
};
|
|
1384
|
-
|
|
1385
|
-
if (!popperOffsets) {
|
|
1386
|
-
return;
|
|
1387
|
-
}
|
|
1388
|
-
|
|
1389
|
-
if (checkMainAxis || checkAltAxis) {
|
|
1390
|
-
var mainSide = mainAxis === 'y' ? top : left;
|
|
1391
|
-
var altSide = mainAxis === 'y' ? bottom : right;
|
|
1392
|
-
var len = mainAxis === 'y' ? 'height' : 'width';
|
|
1393
|
-
var offset = popperOffsets[mainAxis];
|
|
1394
|
-
var min$1 = popperOffsets[mainAxis] + overflow[mainSide];
|
|
1395
|
-
var max$1 = popperOffsets[mainAxis] - overflow[altSide];
|
|
1396
|
-
var additive = tether ? -popperRect[len] / 2 : 0;
|
|
1397
|
-
var minLen = variation === start ? referenceRect[len] : popperRect[len];
|
|
1398
|
-
var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go
|
|
1399
|
-
// outside the reference bounds
|
|
1400
|
-
|
|
1401
|
-
var arrowElement = state.elements.arrow;
|
|
1402
|
-
var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {
|
|
1403
|
-
width: 0,
|
|
1404
|
-
height: 0
|
|
1405
|
-
};
|
|
1406
|
-
var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();
|
|
1407
|
-
var arrowPaddingMin = arrowPaddingObject[mainSide];
|
|
1408
|
-
var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want
|
|
1409
|
-
// to include its full size in the calculation. If the reference is small
|
|
1410
|
-
// and near the edge of a boundary, the popper can overflow even if the
|
|
1411
|
-
// reference is not overflowing as well (e.g. virtual elements with no
|
|
1412
|
-
// width or height)
|
|
1413
|
-
|
|
1414
|
-
var arrowLen = within(0, referenceRect[len], arrowRect[len]);
|
|
1415
|
-
var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - tetherOffsetValue : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue;
|
|
1416
|
-
var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + tetherOffsetValue : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue;
|
|
1417
|
-
var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);
|
|
1418
|
-
var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;
|
|
1419
|
-
var offsetModifierValue = state.modifiersData.offset ? state.modifiersData.offset[state.placement][mainAxis] : 0;
|
|
1420
|
-
var tetherMin = popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;
|
|
1421
|
-
var tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue;
|
|
1422
|
-
|
|
1423
|
-
if (checkMainAxis) {
|
|
1424
|
-
var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1);
|
|
1425
|
-
popperOffsets[mainAxis] = preventedOffset;
|
|
1426
|
-
data[mainAxis] = preventedOffset - offset;
|
|
1427
|
-
}
|
|
1428
|
-
|
|
1429
|
-
if (checkAltAxis) {
|
|
1430
|
-
var _mainSide = mainAxis === 'x' ? top : left;
|
|
1431
|
-
|
|
1432
|
-
var _altSide = mainAxis === 'x' ? bottom : right;
|
|
1433
|
-
|
|
1434
|
-
var _offset = popperOffsets[altAxis];
|
|
1435
|
-
|
|
1436
|
-
var _min = _offset + overflow[_mainSide];
|
|
1437
|
-
|
|
1438
|
-
var _max = _offset - overflow[_altSide];
|
|
1439
|
-
|
|
1440
|
-
var _preventedOffset = within(tether ? min(_min, tetherMin) : _min, _offset, tether ? max(_max, tetherMax) : _max);
|
|
1441
|
-
|
|
1442
|
-
popperOffsets[altAxis] = _preventedOffset;
|
|
1443
|
-
data[altAxis] = _preventedOffset - _offset;
|
|
1444
|
-
}
|
|
1445
|
-
}
|
|
1446
|
-
|
|
1447
|
-
state.modifiersData[name] = data;
|
|
1448
|
-
} // eslint-disable-next-line import/no-unused-modules
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
const preventOverflow$1 = {
|
|
1452
|
-
name: 'preventOverflow',
|
|
1453
|
-
enabled: true,
|
|
1454
|
-
phase: 'main',
|
|
1455
|
-
fn: preventOverflow,
|
|
1456
|
-
requiresIfExists: ['offset']
|
|
1457
|
-
};
|
|
1458
|
-
|
|
1459
|
-
function getHTMLElementScroll(element) {
|
|
1460
|
-
return {
|
|
1461
|
-
scrollLeft: element.scrollLeft,
|
|
1462
|
-
scrollTop: element.scrollTop
|
|
1463
|
-
};
|
|
1464
|
-
}
|
|
1465
|
-
|
|
1466
|
-
function getNodeScroll(node) {
|
|
1467
|
-
if (node === getWindow(node) || !isHTMLElement(node)) {
|
|
1468
|
-
return getWindowScroll(node);
|
|
1469
|
-
} else {
|
|
1470
|
-
return getHTMLElementScroll(node);
|
|
1471
|
-
}
|
|
1472
|
-
}
|
|
1473
|
-
|
|
1474
|
-
// Composite means it takes into account transforms as well as layout.
|
|
1475
|
-
|
|
1476
|
-
function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {
|
|
1477
|
-
if (isFixed === void 0) {
|
|
1478
|
-
isFixed = false;
|
|
1479
|
-
}
|
|
1480
|
-
|
|
1481
|
-
var documentElement = getDocumentElement(offsetParent);
|
|
1482
|
-
var rect = getBoundingClientRect(elementOrVirtualElement);
|
|
1483
|
-
var isOffsetParentAnElement = isHTMLElement(offsetParent);
|
|
1484
|
-
var scroll = {
|
|
1485
|
-
scrollLeft: 0,
|
|
1486
|
-
scrollTop: 0
|
|
1487
|
-
};
|
|
1488
|
-
var offsets = {
|
|
1489
|
-
x: 0,
|
|
1490
|
-
y: 0
|
|
1491
|
-
};
|
|
1492
|
-
|
|
1493
|
-
if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
|
|
1494
|
-
if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078
|
|
1495
|
-
isScrollParent(documentElement)) {
|
|
1496
|
-
scroll = getNodeScroll(offsetParent);
|
|
1497
|
-
}
|
|
1498
|
-
|
|
1499
|
-
if (isHTMLElement(offsetParent)) {
|
|
1500
|
-
offsets = getBoundingClientRect(offsetParent);
|
|
1501
|
-
offsets.x += offsetParent.clientLeft;
|
|
1502
|
-
offsets.y += offsetParent.clientTop;
|
|
1503
|
-
} else if (documentElement) {
|
|
1504
|
-
offsets.x = getWindowScrollBarX(documentElement);
|
|
1505
|
-
}
|
|
1506
|
-
}
|
|
1507
|
-
|
|
1508
|
-
return {
|
|
1509
|
-
x: rect.left + scroll.scrollLeft - offsets.x,
|
|
1510
|
-
y: rect.top + scroll.scrollTop - offsets.y,
|
|
1511
|
-
width: rect.width,
|
|
1512
|
-
height: rect.height
|
|
1513
|
-
};
|
|
1514
|
-
}
|
|
1515
|
-
|
|
1516
|
-
function order(modifiers) {
|
|
1517
|
-
var map = new Map();
|
|
1518
|
-
var visited = new Set();
|
|
1519
|
-
var result = [];
|
|
1520
|
-
modifiers.forEach(function (modifier) {
|
|
1521
|
-
map.set(modifier.name, modifier);
|
|
1522
|
-
}); // On visiting object, check for its dependencies and visit them recursively
|
|
1523
|
-
|
|
1524
|
-
function sort(modifier) {
|
|
1525
|
-
visited.add(modifier.name);
|
|
1526
|
-
var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);
|
|
1527
|
-
requires.forEach(function (dep) {
|
|
1528
|
-
if (!visited.has(dep)) {
|
|
1529
|
-
var depModifier = map.get(dep);
|
|
1530
|
-
|
|
1531
|
-
if (depModifier) {
|
|
1532
|
-
sort(depModifier);
|
|
1533
|
-
}
|
|
1534
|
-
}
|
|
1535
|
-
});
|
|
1536
|
-
result.push(modifier);
|
|
1537
|
-
}
|
|
1538
|
-
|
|
1539
|
-
modifiers.forEach(function (modifier) {
|
|
1540
|
-
if (!visited.has(modifier.name)) {
|
|
1541
|
-
// check for visited object
|
|
1542
|
-
sort(modifier);
|
|
1543
|
-
}
|
|
1544
|
-
});
|
|
1545
|
-
return result;
|
|
1546
|
-
}
|
|
1547
|
-
|
|
1548
|
-
function orderModifiers(modifiers) {
|
|
1549
|
-
// order based on dependencies
|
|
1550
|
-
var orderedModifiers = order(modifiers); // order based on phase
|
|
1551
|
-
|
|
1552
|
-
return modifierPhases.reduce(function (acc, phase) {
|
|
1553
|
-
return acc.concat(orderedModifiers.filter(function (modifier) {
|
|
1554
|
-
return modifier.phase === phase;
|
|
1555
|
-
}));
|
|
1556
|
-
}, []);
|
|
1557
|
-
}
|
|
1558
|
-
|
|
1559
|
-
function debounce(fn) {
|
|
1560
|
-
var pending;
|
|
1561
|
-
return function () {
|
|
1562
|
-
if (!pending) {
|
|
1563
|
-
pending = new Promise(function (resolve) {
|
|
1564
|
-
Promise.resolve().then(function () {
|
|
1565
|
-
pending = undefined;
|
|
1566
|
-
resolve(fn());
|
|
1567
|
-
});
|
|
1568
|
-
});
|
|
1569
|
-
}
|
|
1570
|
-
|
|
1571
|
-
return pending;
|
|
1572
|
-
};
|
|
1573
|
-
}
|
|
1574
|
-
|
|
1575
|
-
function mergeByName(modifiers) {
|
|
1576
|
-
var merged = modifiers.reduce(function (merged, current) {
|
|
1577
|
-
var existing = merged[current.name];
|
|
1578
|
-
merged[current.name] = existing ? Object.assign({}, existing, current, {
|
|
1579
|
-
options: Object.assign({}, existing.options, current.options),
|
|
1580
|
-
data: Object.assign({}, existing.data, current.data)
|
|
1581
|
-
}) : current;
|
|
1582
|
-
return merged;
|
|
1583
|
-
}, {}); // IE11 does not support Object.values
|
|
1584
|
-
|
|
1585
|
-
return Object.keys(merged).map(function (key) {
|
|
1586
|
-
return merged[key];
|
|
1587
|
-
});
|
|
1588
|
-
}
|
|
1589
|
-
|
|
1590
|
-
var DEFAULT_OPTIONS = {
|
|
1591
|
-
placement: 'bottom',
|
|
1592
|
-
modifiers: [],
|
|
1593
|
-
strategy: 'absolute'
|
|
1594
|
-
};
|
|
1595
|
-
|
|
1596
|
-
function areValidElements() {
|
|
1597
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
1598
|
-
args[_key] = arguments[_key];
|
|
1599
|
-
}
|
|
1600
|
-
|
|
1601
|
-
return !args.some(function (element) {
|
|
1602
|
-
return !(element && typeof element.getBoundingClientRect === 'function');
|
|
1603
|
-
});
|
|
1604
|
-
}
|
|
1605
|
-
|
|
1606
|
-
function popperGenerator(generatorOptions) {
|
|
1607
|
-
if (generatorOptions === void 0) {
|
|
1608
|
-
generatorOptions = {};
|
|
1609
|
-
}
|
|
1610
|
-
|
|
1611
|
-
var _generatorOptions = generatorOptions,
|
|
1612
|
-
_generatorOptions$def = _generatorOptions.defaultModifiers,
|
|
1613
|
-
defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,
|
|
1614
|
-
_generatorOptions$def2 = _generatorOptions.defaultOptions,
|
|
1615
|
-
defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;
|
|
1616
|
-
return function createPopper(reference, popper, options) {
|
|
1617
|
-
if (options === void 0) {
|
|
1618
|
-
options = defaultOptions;
|
|
1619
|
-
}
|
|
1620
|
-
|
|
1621
|
-
var state = {
|
|
1622
|
-
placement: 'bottom',
|
|
1623
|
-
orderedModifiers: [],
|
|
1624
|
-
options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),
|
|
1625
|
-
modifiersData: {},
|
|
1626
|
-
elements: {
|
|
1627
|
-
reference: reference,
|
|
1628
|
-
popper: popper
|
|
1629
|
-
},
|
|
1630
|
-
attributes: {},
|
|
1631
|
-
styles: {}
|
|
1632
|
-
};
|
|
1633
|
-
var effectCleanupFns = [];
|
|
1634
|
-
var isDestroyed = false;
|
|
1635
|
-
var instance = {
|
|
1636
|
-
state: state,
|
|
1637
|
-
setOptions: function setOptions(options) {
|
|
1638
|
-
cleanupModifierEffects();
|
|
1639
|
-
state.options = Object.assign({}, defaultOptions, state.options, options);
|
|
1640
|
-
state.scrollParents = {
|
|
1641
|
-
reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],
|
|
1642
|
-
popper: listScrollParents(popper)
|
|
1643
|
-
}; // Orders the modifiers based on their dependencies and `phase`
|
|
1644
|
-
// properties
|
|
1645
|
-
|
|
1646
|
-
var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers
|
|
1647
|
-
|
|
1648
|
-
state.orderedModifiers = orderedModifiers.filter(function (m) {
|
|
1649
|
-
return m.enabled;
|
|
1650
|
-
}); // Validate the provided modifiers so that the consumer will get warned
|
|
1651
|
-
|
|
1652
|
-
runModifierEffects();
|
|
1653
|
-
return instance.update();
|
|
1654
|
-
},
|
|
1655
|
-
// Sync update – it will always be executed, even if not necessary. This
|
|
1656
|
-
// is useful for low frequency updates where sync behavior simplifies the
|
|
1657
|
-
// logic.
|
|
1658
|
-
// For high frequency updates (e.g. `resize` and `scroll` events), always
|
|
1659
|
-
// prefer the async Popper#update method
|
|
1660
|
-
forceUpdate: function forceUpdate() {
|
|
1661
|
-
if (isDestroyed) {
|
|
1662
|
-
return;
|
|
1663
|
-
}
|
|
1664
|
-
|
|
1665
|
-
var _state$elements = state.elements,
|
|
1666
|
-
reference = _state$elements.reference,
|
|
1667
|
-
popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements
|
|
1668
|
-
// anymore
|
|
1669
|
-
|
|
1670
|
-
if (!areValidElements(reference, popper)) {
|
|
1671
|
-
|
|
1672
|
-
return;
|
|
1673
|
-
} // Store the reference and popper rects to be read by modifiers
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
state.rects = {
|
|
1677
|
-
reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),
|
|
1678
|
-
popper: getLayoutRect(popper)
|
|
1679
|
-
}; // Modifiers have the ability to reset the current update cycle. The
|
|
1680
|
-
// most common use case for this is the `flip` modifier changing the
|
|
1681
|
-
// placement, which then needs to re-run all the modifiers, because the
|
|
1682
|
-
// logic was previously ran for the previous placement and is therefore
|
|
1683
|
-
// stale/incorrect
|
|
1684
|
-
|
|
1685
|
-
state.reset = false;
|
|
1686
|
-
state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier
|
|
1687
|
-
// is filled with the initial data specified by the modifier. This means
|
|
1688
|
-
// it doesn't persist and is fresh on each update.
|
|
1689
|
-
// To ensure persistent data, use `${name}#persistent`
|
|
1690
|
-
|
|
1691
|
-
state.orderedModifiers.forEach(function (modifier) {
|
|
1692
|
-
return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);
|
|
1693
|
-
});
|
|
1694
|
-
|
|
1695
|
-
for (var index = 0; index < state.orderedModifiers.length; index++) {
|
|
1696
|
-
|
|
1697
|
-
if (state.reset === true) {
|
|
1698
|
-
state.reset = false;
|
|
1699
|
-
index = -1;
|
|
1700
|
-
continue;
|
|
1701
|
-
}
|
|
1702
|
-
|
|
1703
|
-
var _state$orderedModifie = state.orderedModifiers[index],
|
|
1704
|
-
fn = _state$orderedModifie.fn,
|
|
1705
|
-
_state$orderedModifie2 = _state$orderedModifie.options,
|
|
1706
|
-
_options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,
|
|
1707
|
-
name = _state$orderedModifie.name;
|
|
1708
|
-
|
|
1709
|
-
if (typeof fn === 'function') {
|
|
1710
|
-
state = fn({
|
|
1711
|
-
state: state,
|
|
1712
|
-
options: _options,
|
|
1713
|
-
name: name,
|
|
1714
|
-
instance: instance
|
|
1715
|
-
}) || state;
|
|
1716
|
-
}
|
|
1717
|
-
}
|
|
1718
|
-
},
|
|
1719
|
-
// Async and optimistically optimized update – it will not be executed if
|
|
1720
|
-
// not necessary (debounced to run at most once-per-tick)
|
|
1721
|
-
update: debounce(function () {
|
|
1722
|
-
return new Promise(function (resolve) {
|
|
1723
|
-
instance.forceUpdate();
|
|
1724
|
-
resolve(state);
|
|
1725
|
-
});
|
|
1726
|
-
}),
|
|
1727
|
-
destroy: function destroy() {
|
|
1728
|
-
cleanupModifierEffects();
|
|
1729
|
-
isDestroyed = true;
|
|
1730
|
-
}
|
|
1731
|
-
};
|
|
1732
|
-
|
|
1733
|
-
if (!areValidElements(reference, popper)) {
|
|
1734
|
-
|
|
1735
|
-
return instance;
|
|
1736
|
-
}
|
|
1737
|
-
|
|
1738
|
-
instance.setOptions(options).then(function (state) {
|
|
1739
|
-
if (!isDestroyed && options.onFirstUpdate) {
|
|
1740
|
-
options.onFirstUpdate(state);
|
|
1741
|
-
}
|
|
1742
|
-
}); // Modifiers have the ability to execute arbitrary code before the first
|
|
1743
|
-
// update cycle runs. They will be executed in the same order as the update
|
|
1744
|
-
// cycle. This is useful when a modifier adds some persistent data that
|
|
1745
|
-
// other modifiers need to use, but the modifier is run after the dependent
|
|
1746
|
-
// one.
|
|
1747
|
-
|
|
1748
|
-
function runModifierEffects() {
|
|
1749
|
-
state.orderedModifiers.forEach(function (_ref3) {
|
|
1750
|
-
var name = _ref3.name,
|
|
1751
|
-
_ref3$options = _ref3.options,
|
|
1752
|
-
options = _ref3$options === void 0 ? {} : _ref3$options,
|
|
1753
|
-
effect = _ref3.effect;
|
|
1754
|
-
|
|
1755
|
-
if (typeof effect === 'function') {
|
|
1756
|
-
var cleanupFn = effect({
|
|
1757
|
-
state: state,
|
|
1758
|
-
name: name,
|
|
1759
|
-
instance: instance,
|
|
1760
|
-
options: options
|
|
1761
|
-
});
|
|
1762
|
-
|
|
1763
|
-
var noopFn = function noopFn() {};
|
|
1764
|
-
|
|
1765
|
-
effectCleanupFns.push(cleanupFn || noopFn);
|
|
1766
|
-
}
|
|
1767
|
-
});
|
|
1768
|
-
}
|
|
1769
|
-
|
|
1770
|
-
function cleanupModifierEffects() {
|
|
1771
|
-
effectCleanupFns.forEach(function (fn) {
|
|
1772
|
-
return fn();
|
|
1773
|
-
});
|
|
1774
|
-
effectCleanupFns = [];
|
|
1775
|
-
}
|
|
1776
|
-
|
|
1777
|
-
return instance;
|
|
1778
|
-
};
|
|
1779
|
-
}
|
|
1780
|
-
|
|
1781
|
-
var defaultModifiers = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1, offset$1, flip$1, preventOverflow$1, arrow$1, hide$1];
|
|
1782
|
-
var createPopper = /*#__PURE__*/popperGenerator({
|
|
1783
|
-
defaultModifiers: defaultModifiers
|
|
1784
|
-
}); // eslint-disable-next-line import/no-unused-modules
|
|
1785
|
-
|
|
1786
|
-
const tooltipCss = "ap-ben-tooltip{box-shadow:0px 4px 8px rgba(0, 0, 0, 0.1)}";
|
|
1787
|
-
|
|
1788
|
-
const Tooltip = class {
|
|
1789
|
-
constructor(hostRef) {
|
|
1790
|
-
registerInstance(this, hostRef);
|
|
1791
|
-
this.placement = 'right';
|
|
1792
|
-
this.isVisible = false;
|
|
1793
|
-
}
|
|
1794
|
-
componentWillLoad() {
|
|
1795
|
-
this.initPopper();
|
|
1796
|
-
}
|
|
1797
|
-
componentDidRender() {
|
|
1798
|
-
var _a;
|
|
1799
|
-
(_a = this.popperInstance) === null || _a === void 0 ? void 0 : _a.update();
|
|
1800
|
-
}
|
|
1801
|
-
watchHandler(_newValue, _oldValue) {
|
|
1802
|
-
this.initPopper();
|
|
1803
|
-
}
|
|
1804
|
-
render() {
|
|
1805
|
-
return (h(Host, { class: {
|
|
1806
|
-
'border border-light rounded bg-white': true,
|
|
1807
|
-
'd-none': !this.isVisible,
|
|
1808
|
-
'd-block': this.isVisible
|
|
1809
|
-
}, ref: (el) => (this.tooltip = el) }, h("slot", null)));
|
|
1810
|
-
}
|
|
1811
|
-
initPopper() {
|
|
1812
|
-
if (this.target === undefined)
|
|
1813
|
-
return;
|
|
1814
|
-
this.popperInstance = createPopper(this.target, this.tooltip, {
|
|
1815
|
-
placement: this.placement,
|
|
1816
|
-
modifiers: [
|
|
1817
|
-
{
|
|
1818
|
-
name: 'offset',
|
|
1819
|
-
options: {
|
|
1820
|
-
offset: [0, 8]
|
|
1821
|
-
}
|
|
1822
|
-
},
|
|
1823
|
-
{
|
|
1824
|
-
name: 'flip',
|
|
1825
|
-
options: {
|
|
1826
|
-
fallbackPlacements: ['top', 'left', 'bottom']
|
|
1827
|
-
}
|
|
1828
|
-
}
|
|
1829
|
-
]
|
|
1830
|
-
});
|
|
1831
|
-
const showEvents = ['mouseenter', 'focus'];
|
|
1832
|
-
const hideEvents = ['mouseleave', 'blur'];
|
|
1833
|
-
showEvents.forEach((event) => {
|
|
1834
|
-
var _a;
|
|
1835
|
-
(_a = this.target) === null || _a === void 0 ? void 0 : _a.addEventListener(event, () => (this.isVisible = true));
|
|
1836
|
-
});
|
|
1837
|
-
hideEvents.forEach((event) => {
|
|
1838
|
-
var _a;
|
|
1839
|
-
(_a = this.target) === null || _a === void 0 ? void 0 : _a.addEventListener(event, () => (this.isVisible = false));
|
|
1840
|
-
});
|
|
1841
|
-
}
|
|
1842
|
-
static get watchers() { return {
|
|
1843
|
-
"target": ["watchHandler"]
|
|
1844
|
-
}; }
|
|
1845
|
-
};
|
|
1846
|
-
Tooltip.style = tooltipCss;
|
|
1847
|
-
|
|
1848
|
-
export { Asset as ap_ben_asset, CompleteSection as ap_ben_complete_section, CostBreakdownSection as ap_ben_cost_breakdown_section, SubmitQuoteSection as ap_ben_submit_quote_section, Tooltip as ap_ben_tooltip };
|