diff --git a/examples/cypress/package.json b/examples/cypress/package.json index 1ce4bbd5..e47d1eff 100644 --- a/examples/cypress/package.json +++ b/examples/cypress/package.json @@ -16,10 +16,10 @@ "devDependencies": { "@badeball/cypress-cucumber-preprocessor": "^21.0.3", "@bahmutov/cypress-esbuild-preprocessor": "^2.2.4", - "@types/node": "^22.10.5", + "@types/node": "^22.10.6", "cypress": "^13.17.0", - "multiple-cucumber-html-reporter": "^3.8.0", - "typescript": "^5.7.2" + "multiple-cucumber-html-reporter": "3.9.0", + "typescript": "^5.7.3" }, "dependencies": { "dayjs": "^1.11.13" diff --git a/examples/cypress/pnpm-lock.yaml b/examples/cypress/pnpm-lock.yaml index 2bfe610c..9d39b3f7 100644 --- a/examples/cypress/pnpm-lock.yaml +++ b/examples/cypress/pnpm-lock.yaml @@ -14,22 +14,22 @@ importers: devDependencies: '@badeball/cypress-cucumber-preprocessor': specifier: ^21.0.3 - version: 21.0.3(@babel/core@7.25.2)(cypress@13.17.0)(typescript@5.7.2) + version: 21.0.3(@babel/core@7.25.2)(cypress@13.17.0)(typescript@5.7.3) '@bahmutov/cypress-esbuild-preprocessor': specifier: ^2.2.4 version: 2.2.4(esbuild@0.23.1) '@types/node': - specifier: ^22.10.5 - version: 22.10.5 + specifier: ^22.10.6 + version: 22.10.6 cypress: specifier: ^13.17.0 version: 13.17.0 multiple-cucumber-html-reporter: - specifier: ^3.8.0 - version: 3.8.0 + specifier: 3.9.0 + version: 3.9.0 typescript: - specifier: ^5.7.2 - version: 5.7.2 + specifier: ^5.7.3 + version: 5.7.3 packages: @@ -53,20 +53,20 @@ packages: resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.26.3': - resolution: {integrity: sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==} + '@babel/compat-data@7.26.5': + resolution: {integrity: sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==} engines: {node: '>=6.9.0'} '@babel/core@7.25.2': resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} engines: {node: '>=6.9.0'} - '@babel/generator@7.26.3': - resolution: {integrity: sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==} + '@babel/generator@7.26.5': + resolution: {integrity: sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.25.9': - resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==} + '@babel/helper-compilation-targets@7.26.5': + resolution: {integrity: sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==} engines: {node: '>=6.9.0'} '@babel/helper-module-imports@7.25.9': @@ -104,6 +104,11 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@7.26.5': + resolution: {integrity: sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==} + engines: {node: '>=6.0.0'} + hasBin: true + '@babel/plugin-syntax-jsx@7.25.9': resolution: {integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==} engines: {node: '>=6.9.0'} @@ -114,14 +119,18 @@ packages: resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.26.4': - resolution: {integrity: sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==} + '@babel/traverse@7.26.5': + resolution: {integrity: sha512-rkOSPOw+AXbgtwUga3U4u8RpoK9FEFWBNAlTpcnkLFjL5CT+oyHNuUUC/xx6XefEJ16r38r8Bc/lfp6rYuHeJQ==} engines: {node: '>=6.9.0'} '@babel/types@7.26.3': resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==} engines: {node: '>=6.9.0'} + '@babel/types@7.26.5': + resolution: {integrity: sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==} + engines: {node: '>=6.9.0'} + '@badeball/cypress-cucumber-preprocessor@21.0.3': resolution: {integrity: sha512-d88Qcy2uoasQiUP8mBHUkE4TH1Px/rsN56gKSp5C1P45dPC583lxgA4NwsmrgtpjXWXSCi5OYvSk3x7E60h0RA==} engines: {node: '>=18.0.0'} @@ -414,8 +423,8 @@ packages: resolution: {integrity: sha512-ID7fosbc50TbT0MK0EG12O+gAP3W3Aa/Pz4DaTtQtEvlc9Odaqi0de+xuZ7Li2GtK4HzEX7IuRWS/JmZLksR3Q==} engines: {node: '>=14'} - '@types/node@22.10.5': - resolution: {integrity: sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==} + '@types/node@22.10.6': + resolution: {integrity: sha512-qNiuwC4ZDAUNcY47xgaSuS92cjf8JbSUoaKS77bmLG1rU7MlATVSiw/IlrjtIyyskXBZ8KkNfjK/P5na7rgXbQ==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -647,8 +656,8 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - caniuse-lite@1.0.30001690: - resolution: {integrity: sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==} + caniuse-lite@1.0.30001692: + resolution: {integrity: sha512-A95VKan0kdtrsnMubMKxEKUKImOPSuCpYgxSQBo036P5YYgVIcOYJEgt/txJWqObiRQeISNCfef9nvlQ0vbV7A==} capital-case@1.0.4: resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} @@ -915,8 +924,8 @@ packages: ecc-jsbn@0.1.2: resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} - electron-to-chromium@1.5.79: - resolution: {integrity: sha512-nYOxJNxQ9Om4EC88BE4pPoNI8xwSFf8pU/BAeOl4Hh/b/i6V4biTAzwV7pXi3ARKeoYO5JZKMIXTryXSVer5RA==} + electron-to-chromium@1.5.82: + resolution: {integrity: sha512-Zq16uk1hfQhyGx5GpwPAYDwddJuSGhtRhgOA2mCxANYaDT79nAeGnaXogMGng4KqLaJUVnOnuL0+TDop9nLOiA==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -1606,8 +1615,8 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - multiple-cucumber-html-reporter@3.8.0: - resolution: {integrity: sha512-OLnTQ3qvLRD6WfNw1dbzbawqnYuq4T6z1Rqgdftmp/ediE4rnTtPV4uqvNe+t2W7WR4VmMNkSiHVhLIe6IwX1A==} + multiple-cucumber-html-reporter@3.9.0: + resolution: {integrity: sha512-1BlqdC4QZ574dL95x5ehZSvebdOUWDsAXIpAl5bMsIRZz/XeRZ8/bvSVrGX/cPn0SelEy+5M/LBCGlN+S1sPkQ==} mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} @@ -2213,8 +2222,8 @@ packages: resolution: {integrity: sha512-yCxltHW07Nkhv/1F6wWBr8kz+5BGMfP+RbRSYFnegVb0qV/UMT0G0ElBloPVerqn4M2ZV80Ir1FtCcYv1cT6vQ==} engines: {node: '>=16'} - typescript@5.7.2: - resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} + typescript@5.7.3: + resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} engines: {node: '>=14.17'} hasBin: true @@ -2249,6 +2258,10 @@ packages: resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==} hasBin: true + uuid@11.0.5: + resolution: {integrity: sha512-508e6IcKLrhxKdBbcA2b4KQZlLVp2+J5UwQ6F7Drckkc5N9ZJwFa4TgWtsww9UG8fGHbm6gbV19TdM5pQ4GaIA==} + hasBin: true + uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true @@ -2372,20 +2385,20 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.26.3': {} + '@babel/compat-data@7.26.5': {} '@babel/core@7.25.2': dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.3 - '@babel/helper-compilation-targets': 7.25.9 + '@babel/generator': 7.26.5 + '@babel/helper-compilation-targets': 7.26.5 '@babel/helper-module-transforms': 7.26.0(@babel/core@7.25.2) '@babel/helpers': 7.26.0 - '@babel/parser': 7.26.3 + '@babel/parser': 7.26.5 '@babel/template': 7.25.9 - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 + '@babel/traverse': 7.26.5 + '@babel/types': 7.26.5 convert-source-map: 2.0.0 debug: 4.4.0(supports-color@8.1.1) gensync: 1.0.0-beta.2 @@ -2394,17 +2407,17 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/generator@7.26.3': + '@babel/generator@7.26.5': dependencies: - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 + '@babel/parser': 7.26.5 + '@babel/types': 7.26.5 '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.1.0 - '@babel/helper-compilation-targets@7.25.9': + '@babel/helper-compilation-targets@7.26.5': dependencies: - '@babel/compat-data': 7.26.3 + '@babel/compat-data': 7.26.5 '@babel/helper-validator-option': 7.25.9 browserslist: 4.24.4 lru-cache: 5.1.1 @@ -2412,8 +2425,8 @@ snapshots: '@babel/helper-module-imports@7.25.9': dependencies: - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 + '@babel/traverse': 7.26.5 + '@babel/types': 7.26.5 transitivePeerDependencies: - supports-color @@ -2422,7 +2435,7 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-module-imports': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.4 + '@babel/traverse': 7.26.5 transitivePeerDependencies: - supports-color @@ -2437,12 +2450,16 @@ snapshots: '@babel/helpers@7.26.0': dependencies: '@babel/template': 7.25.9 - '@babel/types': 7.26.3 + '@babel/types': 7.26.5 '@babel/parser@7.26.3': dependencies: '@babel/types': 7.26.3 + '@babel/parser@7.26.5': + dependencies: + '@babel/types': 7.26.5 + '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 @@ -2451,16 +2468,16 @@ snapshots: '@babel/template@7.25.9': dependencies: '@babel/code-frame': 7.26.2 - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 + '@babel/parser': 7.26.5 + '@babel/types': 7.26.5 - '@babel/traverse@7.26.4': + '@babel/traverse@7.26.5': dependencies: '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.3 - '@babel/parser': 7.26.3 + '@babel/generator': 7.26.5 + '@babel/parser': 7.26.5 '@babel/template': 7.25.9 - '@babel/types': 7.26.3 + '@babel/types': 7.26.5 debug: 4.4.0(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: @@ -2471,7 +2488,12 @@ snapshots: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 - '@badeball/cypress-cucumber-preprocessor@21.0.3(@babel/core@7.25.2)(cypress@13.17.0)(typescript@5.7.2)': + '@babel/types@7.26.5': + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + + '@badeball/cypress-cucumber-preprocessor@21.0.3(@babel/core@7.25.2)(cypress@13.17.0)(typescript@5.7.3)': dependencies: '@cucumber/ci-environment': 10.0.1 '@cucumber/cucumber': 11.1.1 @@ -2486,7 +2508,7 @@ snapshots: chalk: 4.1.2 cli-table: 0.3.11 common-ancestor-path: 1.0.1 - cosmiconfig: 9.0.0(typescript@5.7.2) + cosmiconfig: 9.0.0(typescript@5.7.3) cypress: 13.17.0 debug: 4.4.0(supports-color@8.1.1) error-stack-parser: 2.1.4 @@ -2800,7 +2822,7 @@ snapshots: '@teppeis/multimaps@3.0.0': {} - '@types/node@22.10.5': + '@types/node@22.10.6': dependencies: undici-types: 6.20.0 @@ -2816,12 +2838,12 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 22.10.5 + '@types/node': 22.10.6 optional: true '@typescript-eslint/types@7.18.0': {} - '@typescript-eslint/typescript-estree@7.18.0(typescript@5.7.2)': + '@typescript-eslint/typescript-estree@7.18.0(typescript@5.7.3)': dependencies: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 @@ -2830,9 +2852,9 @@ snapshots: is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 - ts-api-utils: 1.4.3(typescript@5.7.2) + ts-api-utils: 1.4.3(typescript@5.7.3) optionalDependencies: - typescript: 5.7.2 + typescript: 5.7.3 transitivePeerDependencies: - supports-color @@ -2987,8 +3009,8 @@ snapshots: browserslist@4.24.4: dependencies: - caniuse-lite: 1.0.30001690 - electron-to-chromium: 1.5.79 + caniuse-lite: 1.0.30001692 + electron-to-chromium: 1.5.82 node-releases: 2.0.19 update-browserslist-db: 1.1.2(browserslist@4.24.4) @@ -3024,7 +3046,7 @@ snapshots: camelcase@6.3.0: {} - caniuse-lite@1.0.30001690: {} + caniuse-lite@1.0.30001692: {} capital-case@1.0.4: dependencies: @@ -3131,14 +3153,14 @@ snapshots: core-util-is@1.0.2: {} - cosmiconfig@9.0.0(typescript@5.7.2): + cosmiconfig@9.0.0(typescript@5.7.3): dependencies: env-paths: 2.2.1 import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 optionalDependencies: - typescript: 5.7.2 + typescript: 5.7.3 cross-spawn@7.0.6: dependencies: @@ -3263,7 +3285,7 @@ snapshots: commander: 12.1.0 filing-cabinet: 5.0.2 precinct: 12.1.2 - typescript: 5.7.2 + typescript: 5.7.3 transitivePeerDependencies: - supports-color @@ -3301,16 +3323,16 @@ snapshots: detective-stylus@5.0.0: {} - detective-typescript@13.0.0(typescript@5.7.2): + detective-typescript@13.0.0(typescript@5.7.3): dependencies: - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.2) + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.3) ast-module-types: 6.0.0 node-source-walk: 7.0.0 - typescript: 5.7.2 + typescript: 5.7.3 transitivePeerDependencies: - supports-color - detective-vue2@2.1.0(typescript@5.7.2): + detective-vue2@2.1.0(typescript@5.7.3): dependencies: '@dependents/detective-less': 5.0.0 '@vue/compiler-sfc': 3.5.13 @@ -3318,8 +3340,8 @@ snapshots: detective-sass: 6.0.0 detective-scss: 5.0.0 detective-stylus: 5.0.0 - detective-typescript: 13.0.0(typescript@5.7.2) - typescript: 5.7.2 + detective-typescript: 13.0.0(typescript@5.7.3) + typescript: 5.7.3 transitivePeerDependencies: - supports-color @@ -3348,7 +3370,7 @@ snapshots: jsbn: 0.1.1 safer-buffer: 2.1.2 - electron-to-chromium@1.5.79: {} + electron-to-chromium@1.5.82: {} emoji-regex@8.0.0: {} @@ -3519,7 +3541,7 @@ snapshots: sass-lookup: 6.0.1 stylus-lookup: 6.0.0 tsconfig-paths: 4.2.0 - typescript: 5.7.2 + typescript: 5.7.3 fill-range@7.1.1: dependencies: @@ -4078,7 +4100,7 @@ snapshots: ms@2.1.3: {} - multiple-cucumber-html-reporter@3.8.0: + multiple-cucumber-html-reporter@3.9.0: dependencies: find: 0.3.0 fs-extra: 11.2.0 @@ -4086,7 +4108,7 @@ snapshots: lodash: 4.17.21 luxon: 3.5.0 open: 8.4.2 - uuid: 10.0.0 + uuid: 11.0.5 mz@2.7.0: dependencies: @@ -4250,12 +4272,12 @@ snapshots: detective-sass: 6.0.0 detective-scss: 5.0.0 detective-stylus: 5.0.0 - detective-typescript: 13.0.0(typescript@5.7.2) - detective-vue2: 2.1.0(typescript@5.7.2) + detective-typescript: 13.0.0(typescript@5.7.3) + detective-vue2: 2.1.0(typescript@5.7.3) module-definition: 6.0.0 node-source-walk: 7.0.0 postcss: 8.4.49 - typescript: 5.7.2 + typescript: 5.7.3 transitivePeerDependencies: - supports-color @@ -4638,9 +4660,9 @@ snapshots: tree-kill@1.2.2: {} - ts-api-utils@1.4.3(typescript@5.7.2): + ts-api-utils@1.4.3(typescript@5.7.3): dependencies: - typescript: 5.7.2 + typescript: 5.7.3 ts-dedent@2.2.0: {} @@ -4677,7 +4699,7 @@ snapshots: type-fest@4.31.0: {} - typescript@5.7.2: {} + typescript@5.7.3: {} undici-types@6.20.0: {} @@ -4703,6 +4725,8 @@ snapshots: uuid@10.0.0: {} + uuid@11.0.5: {} + uuid@8.3.2: {} uuid@9.0.1: {} diff --git a/package.json b/package.json index fc0d9e43..d206cfa2 100644 --- a/package.json +++ b/package.json @@ -38,12 +38,12 @@ "lodash": "^4.17.21", "luxon": "^3.5.0", "open": "^8.4.2", - "uuid": "^11.0.4" + "uuid": "^11.0.5" }, "devDependencies": { "jasmine": "^5.5.0", "nyc": "^17.1.0", - "release-it": "^18.0.0" + "release-it": "^18.1.1" }, "packageManager": "pnpm@9.5.0" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 62c2ff43..c3b83022 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,8 +27,8 @@ importers: specifier: ^8.4.2 version: 8.4.2 uuid: - specifier: ^11.0.4 - version: 11.0.4 + specifier: ^11.0.5 + version: 11.0.5 devDependencies: jasmine: specifier: ^5.5.0 @@ -37,8 +37,8 @@ importers: specifier: ^17.1.0 version: 17.1.0 release-it: - specifier: ^18.0.0 - version: 18.0.0(@types/node@22.10.5) + specifier: ^18.1.1 + version: 18.1.1(@types/node@22.10.5) packages: @@ -112,30 +112,30 @@ packages: '@iarna/toml@2.2.5': resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==} - '@inquirer/checkbox@4.0.4': - resolution: {integrity: sha512-fYAKCAcGNMdfjL6hZTRUwkIByQ8EIZCXKrIQZH7XjADnN/xvRUhj8UdBbpC4zoUzvChhkSC/zRKaP/tDs3dZpg==} + '@inquirer/checkbox@4.0.6': + resolution: {integrity: sha512-PgP35JfmGjHU0LSXOyRew0zHuA9N6OJwOlos1fZ20b7j8ISeAdib3L+n0jIxBtX958UeEpte6xhG/gxJ5iUqMw==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' - '@inquirer/confirm@5.1.1': - resolution: {integrity: sha512-vVLSbGci+IKQvDOtzpPTCOiEJCNidHcAq9JYVoWTW0svb5FiwSLotkM+JXNXejfjnzVYV9n0DTBythl9+XgTxg==} + '@inquirer/confirm@5.1.3': + resolution: {integrity: sha512-fuF9laMmHoOgWapF9h9hv6opA5WvmGFHsTYGCmuFxcghIhEhb3dN0CdQR4BUMqa2H506NCj8cGX4jwMsE4t6dA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' - '@inquirer/core@10.1.2': - resolution: {integrity: sha512-bHd96F3ezHg1mf/J0Rb4CV8ndCN0v28kUlrHqP7+ECm1C/A+paB7Xh2lbMk6x+kweQC+rZOxM/YeKikzxco8bQ==} + '@inquirer/core@10.1.4': + resolution: {integrity: sha512-5y4/PUJVnRb4bwWY67KLdebWOhOc7xj5IP2J80oWXa64mVag24rwQ1VAdnj7/eDY/odhguW0zQ1Mp1pj6fO/2w==} engines: {node: '>=18'} - '@inquirer/editor@4.2.1': - resolution: {integrity: sha512-xn9aDaiP6nFa432i68JCaL302FyL6y/6EG97nAtfIPnWZ+mWPgCMLGc4XZ2QQMsZtu9q3Jd5AzBPjXh10aX9kA==} + '@inquirer/editor@4.2.3': + resolution: {integrity: sha512-S9KnIOJuTZpb9upeRSBBhoDZv7aSV3pG9TECrBj0f+ZsFwccz886hzKBrChGrXMJwd4NKY+pOA9Vy72uqnd6Eg==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' - '@inquirer/expand@4.0.4': - resolution: {integrity: sha512-GYocr+BPyxKPxQ4UZyNMqZFSGKScSUc0Vk17II3J+0bDcgGsQm0KYQNooN1Q5iBfXsy3x/VWmHGh20QnzsaHwg==} + '@inquirer/expand@4.0.6': + resolution: {integrity: sha512-TRTfi1mv1GeIZGyi9PQmvAaH65ZlG4/FACq6wSzs7Vvf1z5dnNWsAAXBjWMHt76l+1hUY8teIqJFrWBk5N6gsg==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -144,44 +144,44 @@ packages: resolution: {integrity: sha512-BXvGj0ehzrngHTPTDqUoDT3NXL8U0RxUk2zJm2A66RhCEIWdtU1v6GuUqNAgArW4PQ9CinqIWyHdQgdwOj06zQ==} engines: {node: '>=18'} - '@inquirer/input@4.1.1': - resolution: {integrity: sha512-nAXAHQndZcXB+7CyjIW3XuQZZHbQQ0q8LX6miY6bqAWwDzNa9JUioDBYrFmOUNIsuF08o1WT/m2gbBXvBhYVxg==} + '@inquirer/input@4.1.3': + resolution: {integrity: sha512-zeo++6f7hxaEe7OjtMzdGZPHiawsfmCZxWB9X1NpmYgbeoyerIbWemvlBxxl+sQIlHC0WuSAG19ibMq3gbhaqQ==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' - '@inquirer/number@3.0.4': - resolution: {integrity: sha512-DX7a6IXRPU0j8kr2ovf+QaaDiIf+zEKaZVzCWdLOTk7XigqSXvoh4cul7x68xp54WTQrgSnW7P1WBJDbyY3GhA==} + '@inquirer/number@3.0.6': + resolution: {integrity: sha512-xO07lftUHk1rs1gR0KbqB+LJPhkUNkyzV/KhH+937hdkMazmAYHLm1OIrNKpPelppeV1FgWrgFDjdUD8mM+XUg==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' - '@inquirer/password@4.0.4': - resolution: {integrity: sha512-wiliQOWdjM8FnBmdIHtQV2Ca3S1+tMBUerhyjkRCv1g+4jSvEweGu9GCcvVEgKDhTBT15nrxvk5/bVrGUqSs1w==} + '@inquirer/password@4.0.6': + resolution: {integrity: sha512-QLF0HmMpHZPPMp10WGXh6F+ZPvzWE7LX6rNoccdktv/Rov0B+0f+eyXkAcgqy5cH9V+WSpbLxu2lo3ysEVK91w==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' - '@inquirer/prompts@7.2.1': - resolution: {integrity: sha512-v2JSGri6/HXSfoGIwuKEn8sNCQK6nsB2BNpy2lSX6QH9bsECrMv93QHnj5+f+1ZWpF/VNioIV2B/PDox8EvGuQ==} + '@inquirer/prompts@7.2.3': + resolution: {integrity: sha512-hzfnm3uOoDySDXfDNOm9usOuYIaQvTgKp/13l1uJoe6UNY+Zpcn2RYt0jXz3yA+yemGHvDOxVzqWl3S5sQq53Q==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' - '@inquirer/rawlist@4.0.4': - resolution: {integrity: sha512-IsVN2EZdNHsmFdKWx9HaXb8T/s3FlR/U1QPt9dwbSyPtjFbMTlW9CRFvnn0bm/QIsrMRD2oMZqrQpSWPQVbXXg==} + '@inquirer/rawlist@4.0.6': + resolution: {integrity: sha512-QoE4s1SsIPx27FO4L1b1mUjVcoHm1pWE/oCmm4z/Hl+V1Aw5IXl8FYYzGmfXaBT0l/sWr49XmNSiq7kg3Kd/Lg==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' - '@inquirer/search@3.0.4': - resolution: {integrity: sha512-tSkJk2SDmC2MEdTIjknXWmCnmPr5owTs9/xjfa14ol1Oh95n6xW7SYn5fiPk4/vrJPys0ggSWiISdPze4LTa7A==} + '@inquirer/search@3.0.6': + resolution: {integrity: sha512-eFZ2hiAq0bZcFPuFFBmZEtXU1EarHLigE+ENCtpO+37NHCl4+Yokq1P/d09kUblObaikwfo97w+0FtG/EXl5Ng==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' - '@inquirer/select@4.0.4': - resolution: {integrity: sha512-ZzYLuLoUzTIW9EJm++jBpRiTshGqS3Q1o5qOEQqgzaBlmdsjQr6pA4TUNkwu6OBYgM2mIRbCz6mUhFDfl/GF+w==} + '@inquirer/select@4.0.6': + resolution: {integrity: sha512-yANzIiNZ8fhMm4NORm+a74+KFYHmf7BZphSOBovIzYPVLquseTGEkU5l2UTnBOf5k0VLmTgPighNDLE9QtbViQ==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -250,11 +250,11 @@ packages: resolution: {integrity: sha512-bdlj/CJVjpaz06NBpfHhp4kGJaRZfz7AzC+6EwUImRtrwIw8dIgJ63Xg0OzV9pRn3rIzrt5c2sa++BL0JJ8GLw==} engines: {node: '>= 18'} - '@octokit/openapi-types@22.2.0': - resolution: {integrity: sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==} + '@octokit/openapi-types@23.0.1': + resolution: {integrity: sha512-izFjMJ1sir0jn0ldEKhZ7xegCTj/ObmEDlEfpFrx4k/JyZSMRHbO3/rBwgE7f3m2DHt+RrNGIVw4wSmwnm3t/g==} - '@octokit/plugin-paginate-rest@11.3.6': - resolution: {integrity: sha512-zcvqqf/+TicbTCa/Z+3w4eBJcAxCFymtc0UAIsR3dEVoNilWld4oXdscQ3laXamTszUZdusw97K8+DrbFiOwjw==} + '@octokit/plugin-paginate-rest@11.4.0': + resolution: {integrity: sha512-ttpGck5AYWkwMkMazNCZMqxKqIq1fJBNxBfsFwwfyYKTf914jKkLF0POMS3YkPBwp5g1c2Y4L79gDz01GhSr1g==} engines: {node: '>= 18'} peerDependencies: '@octokit/core': '>=6' @@ -265,8 +265,8 @@ packages: peerDependencies: '@octokit/core': '>=6' - '@octokit/plugin-rest-endpoint-methods@13.2.6': - resolution: {integrity: sha512-wMsdyHMjSfKjGINkdGKki06VEkgdEldIGstIEyGX0wbYHGByOwN/KiM+hAAlUwAtPkP3gvXtVQA9L3ITdV2tVw==} + '@octokit/plugin-rest-endpoint-methods@13.3.0': + resolution: {integrity: sha512-LUm44shlmkp/6VC+qQgHl3W5vzUP99ZM54zH6BuqkJK4DqfFLhegANd+fM4YRLapTvPm4049iG7F3haANKMYvQ==} engines: {node: '>= 18'} peerDependencies: '@octokit/core': '>=6' @@ -283,8 +283,8 @@ packages: resolution: {integrity: sha512-+CiLisCoyWmYicH25y1cDfCrv41kRSvTq6pPWtRroRJzhsCZWZyCqGyI8foJT5LmScADSwRAnr/xo+eewL04wQ==} engines: {node: '>= 18'} - '@octokit/types@13.6.2': - resolution: {integrity: sha512-WpbZfZUcZU77DrSW4wbsSgTPfKcp286q3ItaIgvSbBpZJlu6mnYXAkjZz6LVZPXkEvLIM8McanyZejKTYUHipA==} + '@octokit/types@13.7.0': + resolution: {integrity: sha512-BXfRP+3P3IN6fd4uF3SniaHKOO4UXWBfkdR3vA8mIvaoO/wLjGN5qivUtW0QRitBHHMcfC41SLhNVYIZZE+wkA==} '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} @@ -1291,8 +1291,8 @@ packages: resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==} engines: {node: '>=12'} - release-it@18.0.0: - resolution: {integrity: sha512-aO7sGBwv+0m8FXVNT+RyL1yky9Nhg0IxkqJIdofTma0Dz4w9z0+u5DddzesOoYQL2fawib3Kwn30DaLxqiz5ng==} + release-it@18.1.1: + resolution: {integrity: sha512-rC/iVKri7U/Kp/Myujmsf7HG2gPq8My/LBVB72TbZZYKD14fmgDZC4Eyn8DD7Yh2h/G/YCCsRe1QQPrjXj9Mzg==} engines: {node: ^20.9.0 || >=22.0.0} hasBin: true @@ -1497,8 +1497,8 @@ packages: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} - type-fest@4.31.0: - resolution: {integrity: sha512-yCxltHW07Nkhv/1F6wWBr8kz+5BGMfP+RbRSYFnegVb0qV/UMT0G0ElBloPVerqn4M2ZV80Ir1FtCcYv1cT6vQ==} + type-fest@4.32.0: + resolution: {integrity: sha512-rfgpoi08xagF3JSdtJlCwMq9DGNDE0IMh3Mkpc1wUypg9vPi786AiqeBBKcqvIkq42azsBM85N490fyZjeUftw==} engines: {node: '>=16'} typedarray-to-buffer@3.1.5: @@ -1544,16 +1544,16 @@ packages: resolution: {integrity: sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - uuid@11.0.4: - resolution: {integrity: sha512-IzL6VtTTYcAhA/oghbFJ1Dkmqev+FpQWnCBaKq/gUluLxliWvO8DPFWfIviRmYbtaavtSQe4WBL++rFjdcGWEg==} + uuid@11.0.5: + resolution: {integrity: sha512-508e6IcKLrhxKdBbcA2b4KQZlLVp2+J5UwQ6F7Drckkc5N9ZJwFa4TgWtsww9UG8fGHbm6gbV19TdM5pQ4GaIA==} hasBin: true uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true - when-exit@2.1.3: - resolution: {integrity: sha512-uVieSTccFIr/SFQdFWN/fFaQYmV37OKtuaGphMAzi4DmmUlrvRBJW5WSLkHyjNQY/ePJMz3LoiX9R3yy1Su6Hw==} + when-exit@2.1.4: + resolution: {integrity: sha512-4rnvd3A1t16PWzrBUcSDZqcAmsUIy4minDXT/CZ8F2mVDgd65i4Aalimgz1aQkRGU0iH5eT5+6Rx2TK8o443Pg==} which-module@2.0.1: resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} @@ -1733,22 +1733,22 @@ snapshots: '@iarna/toml@2.2.5': {} - '@inquirer/checkbox@4.0.4(@types/node@22.10.5)': + '@inquirer/checkbox@4.0.6(@types/node@22.10.5)': dependencies: - '@inquirer/core': 10.1.2(@types/node@22.10.5) + '@inquirer/core': 10.1.4(@types/node@22.10.5) '@inquirer/figures': 1.0.9 '@inquirer/type': 3.0.2(@types/node@22.10.5) '@types/node': 22.10.5 ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 - '@inquirer/confirm@5.1.1(@types/node@22.10.5)': + '@inquirer/confirm@5.1.3(@types/node@22.10.5)': dependencies: - '@inquirer/core': 10.1.2(@types/node@22.10.5) + '@inquirer/core': 10.1.4(@types/node@22.10.5) '@inquirer/type': 3.0.2(@types/node@22.10.5) '@types/node': 22.10.5 - '@inquirer/core@10.1.2(@types/node@22.10.5)': + '@inquirer/core@10.1.4(@types/node@22.10.5)': dependencies: '@inquirer/figures': 1.0.9 '@inquirer/type': 3.0.2(@types/node@22.10.5) @@ -1762,73 +1762,73 @@ snapshots: transitivePeerDependencies: - '@types/node' - '@inquirer/editor@4.2.1(@types/node@22.10.5)': + '@inquirer/editor@4.2.3(@types/node@22.10.5)': dependencies: - '@inquirer/core': 10.1.2(@types/node@22.10.5) + '@inquirer/core': 10.1.4(@types/node@22.10.5) '@inquirer/type': 3.0.2(@types/node@22.10.5) '@types/node': 22.10.5 external-editor: 3.1.0 - '@inquirer/expand@4.0.4(@types/node@22.10.5)': + '@inquirer/expand@4.0.6(@types/node@22.10.5)': dependencies: - '@inquirer/core': 10.1.2(@types/node@22.10.5) + '@inquirer/core': 10.1.4(@types/node@22.10.5) '@inquirer/type': 3.0.2(@types/node@22.10.5) '@types/node': 22.10.5 yoctocolors-cjs: 2.1.2 '@inquirer/figures@1.0.9': {} - '@inquirer/input@4.1.1(@types/node@22.10.5)': + '@inquirer/input@4.1.3(@types/node@22.10.5)': dependencies: - '@inquirer/core': 10.1.2(@types/node@22.10.5) + '@inquirer/core': 10.1.4(@types/node@22.10.5) '@inquirer/type': 3.0.2(@types/node@22.10.5) '@types/node': 22.10.5 - '@inquirer/number@3.0.4(@types/node@22.10.5)': + '@inquirer/number@3.0.6(@types/node@22.10.5)': dependencies: - '@inquirer/core': 10.1.2(@types/node@22.10.5) + '@inquirer/core': 10.1.4(@types/node@22.10.5) '@inquirer/type': 3.0.2(@types/node@22.10.5) '@types/node': 22.10.5 - '@inquirer/password@4.0.4(@types/node@22.10.5)': + '@inquirer/password@4.0.6(@types/node@22.10.5)': dependencies: - '@inquirer/core': 10.1.2(@types/node@22.10.5) + '@inquirer/core': 10.1.4(@types/node@22.10.5) '@inquirer/type': 3.0.2(@types/node@22.10.5) '@types/node': 22.10.5 ansi-escapes: 4.3.2 - '@inquirer/prompts@7.2.1(@types/node@22.10.5)': - dependencies: - '@inquirer/checkbox': 4.0.4(@types/node@22.10.5) - '@inquirer/confirm': 5.1.1(@types/node@22.10.5) - '@inquirer/editor': 4.2.1(@types/node@22.10.5) - '@inquirer/expand': 4.0.4(@types/node@22.10.5) - '@inquirer/input': 4.1.1(@types/node@22.10.5) - '@inquirer/number': 3.0.4(@types/node@22.10.5) - '@inquirer/password': 4.0.4(@types/node@22.10.5) - '@inquirer/rawlist': 4.0.4(@types/node@22.10.5) - '@inquirer/search': 3.0.4(@types/node@22.10.5) - '@inquirer/select': 4.0.4(@types/node@22.10.5) + '@inquirer/prompts@7.2.3(@types/node@22.10.5)': + dependencies: + '@inquirer/checkbox': 4.0.6(@types/node@22.10.5) + '@inquirer/confirm': 5.1.3(@types/node@22.10.5) + '@inquirer/editor': 4.2.3(@types/node@22.10.5) + '@inquirer/expand': 4.0.6(@types/node@22.10.5) + '@inquirer/input': 4.1.3(@types/node@22.10.5) + '@inquirer/number': 3.0.6(@types/node@22.10.5) + '@inquirer/password': 4.0.6(@types/node@22.10.5) + '@inquirer/rawlist': 4.0.6(@types/node@22.10.5) + '@inquirer/search': 3.0.6(@types/node@22.10.5) + '@inquirer/select': 4.0.6(@types/node@22.10.5) '@types/node': 22.10.5 - '@inquirer/rawlist@4.0.4(@types/node@22.10.5)': + '@inquirer/rawlist@4.0.6(@types/node@22.10.5)': dependencies: - '@inquirer/core': 10.1.2(@types/node@22.10.5) + '@inquirer/core': 10.1.4(@types/node@22.10.5) '@inquirer/type': 3.0.2(@types/node@22.10.5) '@types/node': 22.10.5 yoctocolors-cjs: 2.1.2 - '@inquirer/search@3.0.4(@types/node@22.10.5)': + '@inquirer/search@3.0.6(@types/node@22.10.5)': dependencies: - '@inquirer/core': 10.1.2(@types/node@22.10.5) + '@inquirer/core': 10.1.4(@types/node@22.10.5) '@inquirer/figures': 1.0.9 '@inquirer/type': 3.0.2(@types/node@22.10.5) '@types/node': 22.10.5 yoctocolors-cjs: 2.1.2 - '@inquirer/select@4.0.4(@types/node@22.10.5)': + '@inquirer/select@4.0.6(@types/node@22.10.5)': dependencies: - '@inquirer/core': 10.1.2(@types/node@22.10.5) + '@inquirer/core': 10.1.4(@types/node@22.10.5) '@inquirer/figures': 1.0.9 '@inquirer/type': 3.0.2(@types/node@22.10.5) '@types/node': 22.10.5 @@ -1895,59 +1895,59 @@ snapshots: '@octokit/graphql': 8.1.2 '@octokit/request': 9.1.4 '@octokit/request-error': 6.1.6 - '@octokit/types': 13.6.2 + '@octokit/types': 13.7.0 before-after-hook: 3.0.2 universal-user-agent: 7.0.2 '@octokit/endpoint@10.1.2': dependencies: - '@octokit/types': 13.6.2 + '@octokit/types': 13.7.0 universal-user-agent: 7.0.2 '@octokit/graphql@8.1.2': dependencies: '@octokit/request': 9.1.4 - '@octokit/types': 13.6.2 + '@octokit/types': 13.7.0 universal-user-agent: 7.0.2 - '@octokit/openapi-types@22.2.0': {} + '@octokit/openapi-types@23.0.1': {} - '@octokit/plugin-paginate-rest@11.3.6(@octokit/core@6.1.3)': + '@octokit/plugin-paginate-rest@11.4.0(@octokit/core@6.1.3)': dependencies: '@octokit/core': 6.1.3 - '@octokit/types': 13.6.2 + '@octokit/types': 13.7.0 '@octokit/plugin-request-log@5.3.1(@octokit/core@6.1.3)': dependencies: '@octokit/core': 6.1.3 - '@octokit/plugin-rest-endpoint-methods@13.2.6(@octokit/core@6.1.3)': + '@octokit/plugin-rest-endpoint-methods@13.3.0(@octokit/core@6.1.3)': dependencies: '@octokit/core': 6.1.3 - '@octokit/types': 13.6.2 + '@octokit/types': 13.7.0 '@octokit/request-error@6.1.6': dependencies: - '@octokit/types': 13.6.2 + '@octokit/types': 13.7.0 '@octokit/request@9.1.4': dependencies: '@octokit/endpoint': 10.1.2 '@octokit/request-error': 6.1.6 - '@octokit/types': 13.6.2 + '@octokit/types': 13.7.0 fast-content-type-parse: 2.0.1 universal-user-agent: 7.0.2 '@octokit/rest@21.0.2': dependencies: '@octokit/core': 6.1.3 - '@octokit/plugin-paginate-rest': 11.3.6(@octokit/core@6.1.3) + '@octokit/plugin-paginate-rest': 11.4.0(@octokit/core@6.1.3) '@octokit/plugin-request-log': 5.3.1(@octokit/core@6.1.3) - '@octokit/plugin-rest-endpoint-methods': 13.2.6(@octokit/core@6.1.3) + '@octokit/plugin-rest-endpoint-methods': 13.3.0(@octokit/core@6.1.3) - '@octokit/types@13.6.2': + '@octokit/types@13.7.0': dependencies: - '@octokit/openapi-types': 22.2.0 + '@octokit/openapi-types': 23.0.1 '@pkgjs/parseargs@0.11.0': optional: true @@ -2026,7 +2026,7 @@ snapshots: atomically@2.0.3: dependencies: stubborn-fs: 1.2.5 - when-exit: 2.1.3 + when-exit: 2.1.4 balanced-match@1.0.2: {} @@ -2041,7 +2041,7 @@ snapshots: chalk: 5.4.1 cli-boxes: 3.0.0 string-width: 7.2.0 - type-fest: 4.31.0 + type-fest: 4.32.0 widest-line: 5.0.0 wrap-ansi: 9.0.0 @@ -2180,7 +2180,7 @@ snapshots: dot-prop@9.0.0: dependencies: - type-fest: 4.31.0 + type-fest: 4.32.0 eastasianwidth@0.2.0: {} @@ -2442,8 +2442,8 @@ snapshots: inquirer@12.3.0(@types/node@22.10.5): dependencies: - '@inquirer/core': 10.1.2(@types/node@22.10.5) - '@inquirer/prompts': 7.2.1(@types/node@22.10.5) + '@inquirer/core': 10.1.4(@types/node@22.10.5) + '@inquirer/prompts': 7.2.3(@types/node@22.10.5) '@inquirer/type': 3.0.2(@types/node@22.10.5) '@types/node': 22.10.5 ansi-escapes: 4.3.2 @@ -2945,7 +2945,7 @@ snapshots: dependencies: rc: 1.2.8 - release-it@18.0.0(@types/node@22.10.5): + release-it@18.1.1(@types/node@22.10.5): dependencies: '@iarna/toml': 2.2.5 '@octokit/rest': 21.0.2 @@ -3144,7 +3144,7 @@ snapshots: type-fest@2.19.0: {} - type-fest@4.31.0: {} + type-fest@4.32.0: {} typedarray-to-buffer@3.1.5: dependencies: @@ -3185,11 +3185,11 @@ snapshots: url-join@5.0.0: {} - uuid@11.0.4: {} + uuid@11.0.5: {} uuid@8.3.2: {} - when-exit@2.1.3: {} + when-exit@2.1.4: {} which-module@2.0.1: {} diff --git a/templates/assets/css/bootstrap.min.css b/templates/assets/css/bootstrap.min.css index 98f40030..44ea8061 100644 --- a/templates/assets/css/bootstrap.min.css +++ b/templates/assets/css/bootstrap.min.css @@ -1,6 +1,6 @@ @charset "UTF-8"; /*! - * Bootstrap v5.3.3 (https://getbootstrap.com/) - * Copyright 2011-2024 The Bootstrap Authors + * Bootstrap v5.3.0 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ :root, @@ -105,7 +105,6 @@ --bs-link-hover-color: #0a58ca; --bs-link-hover-color-rgb: 10, 88, 202; --bs-code-color: #d63384; - --bs-highlight-color: #212529; --bs-highlight-bg: #fff3cd; --bs-border-width: 1px; --bs-border-style: solid; @@ -132,18 +131,18 @@ } [data-bs-theme="dark"] { color-scheme: dark; - --bs-body-color: #dee2e6; - --bs-body-color-rgb: 222, 226, 230; + --bs-body-color: #adb5bd; + --bs-body-color-rgb: 173, 181, 189; --bs-body-bg: #212529; --bs-body-bg-rgb: 33, 37, 41; --bs-emphasis-color: #fff; --bs-emphasis-color-rgb: 255, 255, 255; - --bs-secondary-color: rgba(222, 226, 230, 0.75); - --bs-secondary-color-rgb: 222, 226, 230; + --bs-secondary-color: rgba(173, 181, 189, 0.75); + --bs-secondary-color-rgb: 173, 181, 189; --bs-secondary-bg: #343a40; --bs-secondary-bg-rgb: 52, 58, 64; - --bs-tertiary-color: rgba(222, 226, 230, 0.5); - --bs-tertiary-color-rgb: 222, 226, 230; + --bs-tertiary-color: rgba(173, 181, 189, 0.5); + --bs-tertiary-color-rgb: 173, 181, 189; --bs-tertiary-bg: #2b3035; --bs-tertiary-bg-rgb: 43, 48, 53; --bs-primary-text-emphasis: #6ea8fe; @@ -176,8 +175,6 @@ --bs-link-color-rgb: 110, 168, 254; --bs-link-hover-color-rgb: 139, 185, 254; --bs-code-color: #e685b5; - --bs-highlight-color: #dee2e6; - --bs-highlight-bg: #664d03; --bs-border-color: #495057; --bs-border-color-translucent: rgba(255, 255, 255, 0.15); --bs-form-valid-color: #75b798; @@ -333,7 +330,6 @@ small { .mark, mark { padding: 0.1875em; - color: var(--bs-highlight-color); background-color: var(--bs-highlight-bg); } sub, @@ -521,8 +517,8 @@ legend + * { height: auto; } [type="search"] { - -webkit-appearance: textfield; outline-offset: -2px; + -webkit-appearance: textfield; } ::-webkit-search-decoration { -webkit-appearance: none; @@ -772,7 +768,7 @@ progress { } .row-cols-3 > * { flex: 0 0 auto; - width: 33.33333333%; + width: 33.3333333333%; } .row-cols-4 > * { flex: 0 0 auto; @@ -784,7 +780,7 @@ progress { } .row-cols-6 > * { flex: 0 0 auto; - width: 16.66666667%; + width: 16.6666666667%; } .col-auto { flex: 0 0 auto; @@ -937,7 +933,7 @@ progress { } .row-cols-sm-3 > * { flex: 0 0 auto; - width: 33.33333333%; + width: 33.3333333333%; } .row-cols-sm-4 > * { flex: 0 0 auto; @@ -949,7 +945,7 @@ progress { } .row-cols-sm-6 > * { flex: 0 0 auto; - width: 16.66666667%; + width: 16.6666666667%; } .col-sm-auto { flex: 0 0 auto; @@ -1106,7 +1102,7 @@ progress { } .row-cols-md-3 > * { flex: 0 0 auto; - width: 33.33333333%; + width: 33.3333333333%; } .row-cols-md-4 > * { flex: 0 0 auto; @@ -1118,7 +1114,7 @@ progress { } .row-cols-md-6 > * { flex: 0 0 auto; - width: 16.66666667%; + width: 16.6666666667%; } .col-md-auto { flex: 0 0 auto; @@ -1275,7 +1271,7 @@ progress { } .row-cols-lg-3 > * { flex: 0 0 auto; - width: 33.33333333%; + width: 33.3333333333%; } .row-cols-lg-4 > * { flex: 0 0 auto; @@ -1287,7 +1283,7 @@ progress { } .row-cols-lg-6 > * { flex: 0 0 auto; - width: 16.66666667%; + width: 16.6666666667%; } .col-lg-auto { flex: 0 0 auto; @@ -1444,7 +1440,7 @@ progress { } .row-cols-xl-3 > * { flex: 0 0 auto; - width: 33.33333333%; + width: 33.3333333333%; } .row-cols-xl-4 > * { flex: 0 0 auto; @@ -1456,7 +1452,7 @@ progress { } .row-cols-xl-6 > * { flex: 0 0 auto; - width: 16.66666667%; + width: 16.6666666667%; } .col-xl-auto { flex: 0 0 auto; @@ -1613,7 +1609,7 @@ progress { } .row-cols-xxl-3 > * { flex: 0 0 auto; - width: 33.33333333%; + width: 33.3333333333%; } .row-cols-xxl-4 > * { flex: 0 0 auto; @@ -1625,7 +1621,7 @@ progress { } .row-cols-xxl-6 > * { flex: 0 0 auto; - width: 16.66666667%; + width: 16.6666666667%; } .col-xxl-auto { flex: 0 0 auto; @@ -1769,16 +1765,16 @@ progress { --bs-table-bg-type: initial; --bs-table-color-state: initial; --bs-table-bg-state: initial; - --bs-table-color: var(--bs-emphasis-color); + --bs-table-color: var(--bs-body-color); --bs-table-bg: var(--bs-body-bg); --bs-table-border-color: var(--bs-border-color); --bs-table-accent-bg: transparent; - --bs-table-striped-color: var(--bs-emphasis-color); - --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05); - --bs-table-active-color: var(--bs-emphasis-color); - --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1); - --bs-table-hover-color: var(--bs-emphasis-color); - --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075); + --bs-table-striped-color: var(--bs-body-color); + --bs-table-striped-bg: rgba(0, 0, 0, 0.05); + --bs-table-active-color: var(--bs-body-color); + --bs-table-active-bg: rgba(0, 0, 0, 0.1); + --bs-table-hover-color: var(--bs-body-color); + --bs-table-hover-bg: rgba(0, 0, 0, 0.075); width: 100%; margin-bottom: 1rem; vertical-align: top; @@ -1841,7 +1837,7 @@ progress { .table-primary { --bs-table-color: #000; --bs-table-bg: #cfe2ff; - --bs-table-border-color: #a6b5cc; + --bs-table-border-color: #bacbe6; --bs-table-striped-bg: #c5d7f2; --bs-table-striped-color: #000; --bs-table-active-bg: #bacbe6; @@ -1854,7 +1850,7 @@ progress { .table-secondary { --bs-table-color: #000; --bs-table-bg: #e2e3e5; - --bs-table-border-color: #b5b6b7; + --bs-table-border-color: #cbccce; --bs-table-striped-bg: #d7d8da; --bs-table-striped-color: #000; --bs-table-active-bg: #cbccce; @@ -1867,7 +1863,7 @@ progress { .table-success { --bs-table-color: #000; --bs-table-bg: #d1e7dd; - --bs-table-border-color: #a7b9b1; + --bs-table-border-color: #bcd0c7; --bs-table-striped-bg: #c7dbd2; --bs-table-striped-color: #000; --bs-table-active-bg: #bcd0c7; @@ -1880,7 +1876,7 @@ progress { .table-info { --bs-table-color: #000; --bs-table-bg: #cff4fc; - --bs-table-border-color: #a6c3ca; + --bs-table-border-color: #badce3; --bs-table-striped-bg: #c5e8ef; --bs-table-striped-color: #000; --bs-table-active-bg: #badce3; @@ -1893,7 +1889,7 @@ progress { .table-warning { --bs-table-color: #000; --bs-table-bg: #fff3cd; - --bs-table-border-color: #ccc2a4; + --bs-table-border-color: #e6dbb9; --bs-table-striped-bg: #f2e7c3; --bs-table-striped-color: #000; --bs-table-active-bg: #e6dbb9; @@ -1906,7 +1902,7 @@ progress { .table-danger { --bs-table-color: #000; --bs-table-bg: #f8d7da; - --bs-table-border-color: #c6acae; + --bs-table-border-color: #dfc2c4; --bs-table-striped-bg: #eccccf; --bs-table-striped-color: #000; --bs-table-active-bg: #dfc2c4; @@ -1919,7 +1915,7 @@ progress { .table-light { --bs-table-color: #000; --bs-table-bg: #f8f9fa; - --bs-table-border-color: #c6c7c8; + --bs-table-border-color: #dfe0e1; --bs-table-striped-bg: #ecedee; --bs-table-striped-color: #000; --bs-table-active-bg: #dfe0e1; @@ -1932,7 +1928,7 @@ progress { .table-dark { --bs-table-color: #fff; --bs-table-bg: #212529; - --bs-table-border-color: #4d5154; + --bs-table-border-color: #373b3e; --bs-table-striped-bg: #2c3034; --bs-table-striped-color: #fff; --bs-table-active-bg: #373b3e; @@ -2009,12 +2005,12 @@ progress { font-weight: 400; line-height: 1.5; color: var(--bs-body-color); - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; background-color: var(--bs-body-bg); background-clip: padding-box; border: var(--bs-border-width) solid var(--bs-border-color); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; border-radius: var(--bs-border-radius); transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } @@ -2202,9 +2198,6 @@ textarea.form-control-lg { font-weight: 400; line-height: 1.5; color: var(--bs-body-color); - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; background-color: var(--bs-body-bg); background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); @@ -2214,6 +2207,9 @@ textarea.form-control-lg { border: var(--bs-border-width) solid var(--bs-border-color); border-radius: var(--bs-border-radius); transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; } @media (prefers-reduced-motion: reduce) { .form-select { @@ -2252,7 +2248,7 @@ textarea.form-control-lg { border-radius: var(--bs-border-radius-lg); } [data-bs-theme="dark"] .form-select { - --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); + --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23adb5bd' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); } .form-check { display: block; @@ -2276,20 +2272,19 @@ textarea.form-control-lg { } .form-check-input { --bs-form-check-bg: var(--bs-body-bg); - flex-shrink: 0; width: 1em; height: 1em; margin-top: 0.25em; vertical-align: top; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; background-color: var(--bs-form-check-bg); background-image: var(--bs-form-check-bg-image); background-repeat: no-repeat; background-position: center; background-size: contain; border: var(--bs-border-width) solid var(--bs-border-color); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; -webkit-print-color-adjust: exact; color-adjust: exact; print-color-adjust: exact; @@ -2389,10 +2384,10 @@ textarea.form-control-lg { width: 100%; height: 1.5rem; padding: 0; + background-color: transparent; -webkit-appearance: none; -moz-appearance: none; appearance: none; - background-color: transparent; } .form-range:focus { outline: 0; @@ -2410,8 +2405,6 @@ textarea.form-control-lg { width: 1rem; height: 1rem; margin-top: -0.25rem; - -webkit-appearance: none; - appearance: none; background-color: #0d6efd; border: 0; border-radius: 1rem; @@ -2419,6 +2412,8 @@ textarea.form-control-lg { border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + appearance: none; } @media (prefers-reduced-motion: reduce) { .form-range::-webkit-slider-thumb { @@ -2434,15 +2429,13 @@ textarea.form-control-lg { height: 0.5rem; color: transparent; cursor: pointer; - background-color: var(--bs-secondary-bg); + background-color: var(--bs-tertiary-bg); border-color: transparent; border-radius: 1rem; } .form-range::-moz-range-thumb { width: 1rem; height: 1rem; - -moz-appearance: none; - appearance: none; background-color: #0d6efd; border: 0; border-radius: 1rem; @@ -2450,6 +2443,8 @@ textarea.form-control-lg { border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -moz-appearance: none; + appearance: none; } @media (prefers-reduced-motion: reduce) { .form-range::-moz-range-thumb { @@ -2465,7 +2460,7 @@ textarea.form-control-lg { height: 0.5rem; color: transparent; cursor: pointer; - background-color: var(--bs-secondary-bg); + background-color: var(--bs-tertiary-bg); border-color: transparent; border-radius: 1rem; } @@ -2581,11 +2576,9 @@ textarea.form-control-lg { .form-floating > .form-control-plaintext ~ label { border-width: var(--bs-border-width) 0; } -.form-floating > .form-control:disabled ~ label, .form-floating > :disabled ~ label { color: #6c757d; } -.form-floating > .form-control:disabled ~ label::after, .form-floating > :disabled ~ label::after { background-color: var(--bs-secondary-bg); } @@ -2962,9 +2955,6 @@ textarea.form-control.is-invalid { :not(.btn-check) + .btn:active:focus-visible { box-shadow: var(--bs-btn-focus-box-shadow); } -.btn-check:checked:focus-visible + .btn { - box-shadow: var(--bs-btn-focus-box-shadow); -} .btn.disabled, .btn:disabled, fieldset:disabled .btn { @@ -3340,7 +3330,7 @@ fieldset:disabled .btn { ); --bs-dropdown-divider-bg: var(--bs-border-color-translucent); --bs-dropdown-divider-margin-y: 0.5rem; - --bs-dropdown-box-shadow: var(--bs-box-shadow); + --bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); --bs-dropdown-link-color: var(--bs-body-color); --bs-dropdown-link-hover-color: var(--bs-body-color); --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg); @@ -3743,8 +3733,7 @@ fieldset:disabled .btn { outline: 0; box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); } -.nav-link.disabled, -.nav-link:disabled { +.nav-link.disabled { color: var(--bs-nav-link-disabled-color); pointer-events: none; cursor: default; @@ -3773,6 +3762,12 @@ fieldset:disabled .btn { isolation: isolate; border-color: var(--bs-nav-tabs-link-hover-border-color); } +.nav-tabs .nav-link.disabled, +.nav-tabs .nav-link:disabled { + color: var(--bs-nav-link-disabled-color); + background-color: transparent; + border-color: transparent; +} .nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active { color: var(--bs-nav-tabs-link-active-color); @@ -3792,6 +3787,11 @@ fieldset:disabled .btn { .nav-pills .nav-link { border-radius: var(--bs-nav-pills-border-radius); } +.nav-pills .nav-link:disabled { + color: var(--bs-nav-link-disabled-color); + background-color: transparent; + border-color: transparent; +} .nav-pills .nav-link.active, .nav-pills .show > .nav-link { color: var(--bs-nav-pills-link-active-color); @@ -4450,11 +4450,12 @@ fieldset:disabled .btn { --bs-accordion-btn-padding-y: 1rem; --bs-accordion-btn-color: var(--bs-body-color); --bs-accordion-btn-bg: var(--bs-accordion-bg); - --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e"); + --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); --bs-accordion-btn-icon-width: 1.25rem; --bs-accordion-btn-icon-transform: rotate(-180deg); --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out; - --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e"); + --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23052c65'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + --bs-accordion-btn-focus-border-color: #86b7fe; --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); --bs-accordion-body-padding-x: 1.25rem; --bs-accordion-body-padding-y: 1rem; @@ -4512,6 +4513,7 @@ fieldset:disabled .btn { } .accordion-button:focus { z-index: 3; + border-color: var(--bs-accordion-btn-focus-border-color); outline: 0; box-shadow: var(--bs-accordion-btn-focus-box-shadow); } @@ -4528,7 +4530,7 @@ fieldset:disabled .btn { border-top-left-radius: var(--bs-accordion-border-radius); border-top-right-radius: var(--bs-accordion-border-radius); } -.accordion-item:first-of-type > .accordion-header .accordion-button { +.accordion-item:first-of-type .accordion-button { border-top-left-radius: var(--bs-accordion-inner-border-radius); border-top-right-radius: var(--bs-accordion-inner-border-radius); } @@ -4539,36 +4541,33 @@ fieldset:disabled .btn { border-bottom-right-radius: var(--bs-accordion-border-radius); border-bottom-left-radius: var(--bs-accordion-border-radius); } -.accordion-item:last-of-type > .accordion-header .accordion-button.collapsed { +.accordion-item:last-of-type .accordion-button.collapsed { border-bottom-right-radius: var(--bs-accordion-inner-border-radius); border-bottom-left-radius: var(--bs-accordion-inner-border-radius); } -.accordion-item:last-of-type > .accordion-collapse { +.accordion-item:last-of-type .accordion-collapse { border-bottom-right-radius: var(--bs-accordion-border-radius); border-bottom-left-radius: var(--bs-accordion-border-radius); } .accordion-body { padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x); } -.accordion-flush > .accordion-item { +.accordion-flush .accordion-collapse { + border-width: 0; +} +.accordion-flush .accordion-item { border-right: 0; border-left: 0; border-radius: 0; } -.accordion-flush > .accordion-item:first-child { +.accordion-flush .accordion-item:first-child { border-top: 0; } -.accordion-flush > .accordion-item:last-child { +.accordion-flush .accordion-item:last-child { border-bottom: 0; } -.accordion-flush > .accordion-item > .accordion-header .accordion-button, -.accordion-flush - > .accordion-item - > .accordion-header - .accordion-button.collapsed { - border-radius: 0; -} -.accordion-flush > .accordion-item > .accordion-collapse { +.accordion-flush .accordion-item .accordion-button, +.accordion-flush .accordion-item .accordion-button.collapsed { border-radius: 0; } [data-bs-theme="dark"] .accordion-button::after { @@ -5327,7 +5326,7 @@ fieldset:disabled .btn { --bs-modal-border-color: var(--bs-border-color-translucent); --bs-modal-border-width: var(--bs-border-width); --bs-modal-border-radius: var(--bs-border-radius-lg); - --bs-modal-box-shadow: var(--bs-box-shadow-sm); + --bs-modal-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); --bs-modal-inner-border-radius: calc( var(--bs-border-radius-lg) - (var(--bs-border-width)) ); @@ -5423,6 +5422,7 @@ fieldset:disabled .btn { display: flex; flex-shrink: 0; align-items: center; + justify-content: space-between; padding: var(--bs-modal-header-padding); border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color); @@ -5464,7 +5464,7 @@ fieldset:disabled .btn { @media (min-width: 576px) { .modal { --bs-modal-margin: 1.75rem; - --bs-modal-box-shadow: var(--bs-box-shadow); + --bs-modal-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); } .modal-dialog { max-width: var(--bs-modal-width); @@ -5719,7 +5719,7 @@ fieldset:disabled .btn { --bs-popover-inner-border-radius: calc( var(--bs-border-radius-lg) - var(--bs-border-width) ); - --bs-popover-box-shadow: var(--bs-box-shadow); + --bs-popover-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); --bs-popover-header-padding-x: 1rem; --bs-popover-header-padding-y: 0.5rem; --bs-popover-header-font-size: 1rem; @@ -6162,7 +6162,7 @@ fieldset:disabled .btn { --bs-offcanvas-bg: var(--bs-body-bg); --bs-offcanvas-border-width: var(--bs-border-width); --bs-offcanvas-border-color: var(--bs-border-color-translucent); - --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm); + --bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); --bs-offcanvas-transition: transform 0.3s ease-in-out; --bs-offcanvas-title-line-height: 1.5; } @@ -6667,14 +6667,15 @@ fieldset:disabled .btn { .offcanvas-header { display: flex; align-items: center; + justify-content: space-between; padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); } .offcanvas-header .btn-close { padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5); - margin: calc(-0.5 * var(--bs-offcanvas-padding-y)) - calc(-0.5 * var(--bs-offcanvas-padding-x)) - calc(-0.5 * var(--bs-offcanvas-padding-y)) auto; + margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y)); + margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x)); + margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y)); } .offcanvas-title { margin-bottom: 0; @@ -6744,59 +6745,35 @@ fieldset:disabled .btn { } .text-bg-primary { color: #fff !important; - background-color: RGBA( - var(--bs-primary-rgb), - var(--bs-bg-opacity, 1) - ) !important; + background-color: RGBA(13, 110, 253, var(--bs-bg-opacity, 1)) !important; } .text-bg-secondary { color: #fff !important; - background-color: RGBA( - var(--bs-secondary-rgb), - var(--bs-bg-opacity, 1) - ) !important; + background-color: RGBA(108, 117, 125, var(--bs-bg-opacity, 1)) !important; } .text-bg-success { color: #fff !important; - background-color: RGBA( - var(--bs-success-rgb), - var(--bs-bg-opacity, 1) - ) !important; + background-color: RGBA(25, 135, 84, var(--bs-bg-opacity, 1)) !important; } .text-bg-info { color: #000 !important; - background-color: RGBA( - var(--bs-info-rgb), - var(--bs-bg-opacity, 1) - ) !important; + background-color: RGBA(13, 202, 240, var(--bs-bg-opacity, 1)) !important; } .text-bg-warning { color: #000 !important; - background-color: RGBA( - var(--bs-warning-rgb), - var(--bs-bg-opacity, 1) - ) !important; + background-color: RGBA(255, 193, 7, var(--bs-bg-opacity, 1)) !important; } .text-bg-danger { color: #fff !important; - background-color: RGBA( - var(--bs-danger-rgb), - var(--bs-bg-opacity, 1) - ) !important; + background-color: RGBA(220, 53, 69, var(--bs-bg-opacity, 1)) !important; } .text-bg-light { color: #000 !important; - background-color: RGBA( - var(--bs-light-rgb), - var(--bs-bg-opacity, 1) - ) !important; + background-color: RGBA(248, 249, 250, var(--bs-bg-opacity, 1)) !important; } .text-bg-dark { color: #fff !important; - background-color: RGBA( - var(--bs-dark-rgb), - var(--bs-bg-opacity, 1) - ) !important; + background-color: RGBA(33, 37, 41, var(--bs-bg-opacity, 1)) !important; } .link-primary { color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important; @@ -7249,7 +7226,7 @@ fieldset:disabled .btn { .vr { display: inline-block; align-self: stretch; - width: var(--bs-border-width); + width: 1px; min-height: 1em; background-color: currentcolor; opacity: 0.25; @@ -7386,13 +7363,13 @@ fieldset:disabled .btn { display: none !important; } .shadow { - box-shadow: var(--bs-box-shadow) !important; + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; } .shadow-sm { - box-shadow: var(--bs-box-shadow-sm) !important; + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; } .shadow-lg { - box-shadow: var(--bs-box-shadow-lg) !important; + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; } .shadow-none { box-shadow: none !important; diff --git a/templates/assets/css/font-awesome.min.css b/templates/assets/css/font-awesome.min.css index 219c9e4f..0ebd5d83 100644 --- a/templates/assets/css/font-awesome.min.css +++ b/templates/assets/css/font-awesome.min.css @@ -1,5 +1,5 @@ /*! - * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com + * Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2024 Fonticons, Inc. */ @@ -9,7 +9,9 @@ } .fa, .fa-brands, +.fa-classic, .fa-regular, +.fa-sharp-solid, .fa-solid, .fab, .far, @@ -22,15 +24,6 @@ line-height: 1; text-rendering: auto; } -.fa-brands:before, -.fa-regular:before, -.fa-solid:before, -.fa:before, -.fab:before, -.far:before, -.fas:before { - content: var(--fa); -} .fa-classic, .fa-regular, .fa-solid, @@ -387,4767 +380,4746 @@ color: var(--fa-inverse, #fff); } -.fa-0 { - --fa: "\30"; -} -.fa-1 { - --fa: "\31"; -} -.fa-2 { - --fa: "\32"; -} -.fa-3 { - --fa: "\33"; -} -.fa-4 { - --fa: "\34"; -} -.fa-5 { - --fa: "\35"; -} -.fa-6 { - --fa: "\36"; -} -.fa-7 { - --fa: "\37"; +.fa-0:before { + content: "\30"; } -.fa-8 { - --fa: "\38"; +.fa-1:before { + content: "\31"; } -.fa-9 { - --fa: "\39"; +.fa-2:before { + content: "\32"; } -.fa-fill-drip { - --fa: "\f576"; +.fa-3:before { + content: "\33"; } -.fa-arrows-to-circle { - --fa: "\e4bd"; +.fa-4:before { + content: "\34"; } -.fa-chevron-circle-right, -.fa-circle-chevron-right { - --fa: "\f138"; +.fa-5:before { + content: "\35"; } -.fa-at { - --fa: "\40"; +.fa-6:before { + content: "\36"; } -.fa-trash-alt, -.fa-trash-can { - --fa: "\f2ed"; +.fa-7:before { + content: "\37"; } -.fa-text-height { - --fa: "\f034"; +.fa-8:before { + content: "\38"; } -.fa-user-times, -.fa-user-xmark { - --fa: "\f235"; +.fa-9:before { + content: "\39"; } -.fa-stethoscope { - --fa: "\f0f1"; +.fa-fill-drip:before { + content: "\f576"; } -.fa-comment-alt, -.fa-message { - --fa: "\f27a"; +.fa-arrows-to-circle:before { + content: "\e4bd"; } -.fa-info { - --fa: "\f129"; +.fa-chevron-circle-right:before, +.fa-circle-chevron-right:before { + content: "\f138"; } -.fa-compress-alt, -.fa-down-left-and-up-right-to-center { - --fa: "\f422"; +.fa-at:before { + content: "\40"; } -.fa-explosion { - --fa: "\e4e9"; +.fa-trash-alt:before, +.fa-trash-can:before { + content: "\f2ed"; } -.fa-file-alt, -.fa-file-lines, -.fa-file-text { - --fa: "\f15c"; +.fa-text-height:before { + content: "\f034"; } -.fa-wave-square { - --fa: "\f83e"; +.fa-user-times:before, +.fa-user-xmark:before { + content: "\f235"; } -.fa-ring { - --fa: "\f70b"; +.fa-stethoscope:before { + content: "\f0f1"; } -.fa-building-un { - --fa: "\e4d9"; +.fa-comment-alt:before, +.fa-message:before { + content: "\f27a"; } -.fa-dice-three { - --fa: "\f527"; +.fa-info:before { + content: "\f129"; } -.fa-calendar-alt, -.fa-calendar-days { - --fa: "\f073"; +.fa-compress-alt:before, +.fa-down-left-and-up-right-to-center:before { + content: "\f422"; } -.fa-anchor-circle-check { - --fa: "\e4aa"; +.fa-explosion:before { + content: "\e4e9"; } -.fa-building-circle-arrow-right { - --fa: "\e4d1"; +.fa-file-alt:before, +.fa-file-lines:before, +.fa-file-text:before { + content: "\f15c"; } -.fa-volleyball, -.fa-volleyball-ball { - --fa: "\f45f"; +.fa-wave-square:before { + content: "\f83e"; } -.fa-arrows-up-to-line { - --fa: "\e4c2"; +.fa-ring:before { + content: "\f70b"; } -.fa-sort-desc, -.fa-sort-down { - --fa: "\f0dd"; +.fa-building-un:before { + content: "\e4d9"; } -.fa-circle-minus, -.fa-minus-circle { - --fa: "\f056"; +.fa-dice-three:before { + content: "\f527"; } -.fa-door-open { - --fa: "\f52b"; +.fa-calendar-alt:before, +.fa-calendar-days:before { + content: "\f073"; } -.fa-right-from-bracket, -.fa-sign-out-alt { - --fa: "\f2f5"; +.fa-anchor-circle-check:before { + content: "\e4aa"; } -.fa-atom { - --fa: "\f5d2"; +.fa-building-circle-arrow-right:before { + content: "\e4d1"; } -.fa-soap { - --fa: "\e06e"; +.fa-volleyball-ball:before, +.fa-volleyball:before { + content: "\f45f"; } -.fa-heart-music-camera-bolt, -.fa-icons { - --fa: "\f86d"; +.fa-arrows-up-to-line:before { + content: "\e4c2"; } -.fa-microphone-alt-slash, -.fa-microphone-lines-slash { - --fa: "\f539"; +.fa-sort-desc:before, +.fa-sort-down:before { + content: "\f0dd"; } -.fa-bridge-circle-check { - --fa: "\e4c9"; +.fa-circle-minus:before, +.fa-minus-circle:before { + content: "\f056"; } -.fa-pump-medical { - --fa: "\e06a"; +.fa-door-open:before { + content: "\f52b"; } -.fa-fingerprint { - --fa: "\f577"; +.fa-right-from-bracket:before, +.fa-sign-out-alt:before { + content: "\f2f5"; } -.fa-hand-point-right { - --fa: "\f0a4"; +.fa-atom:before { + content: "\f5d2"; } -.fa-magnifying-glass-location, -.fa-search-location { - --fa: "\f689"; +.fa-soap:before { + content: "\e06e"; } -.fa-forward-step, -.fa-step-forward { - --fa: "\f051"; +.fa-heart-music-camera-bolt:before, +.fa-icons:before { + content: "\f86d"; } -.fa-face-smile-beam, -.fa-smile-beam { - --fa: "\f5b8"; +.fa-microphone-alt-slash:before, +.fa-microphone-lines-slash:before { + content: "\f539"; } -.fa-flag-checkered { - --fa: "\f11e"; +.fa-bridge-circle-check:before { + content: "\e4c9"; } -.fa-football, -.fa-football-ball { - --fa: "\f44e"; +.fa-pump-medical:before { + content: "\e06a"; } -.fa-school-circle-exclamation { - --fa: "\e56c"; +.fa-fingerprint:before { + content: "\f577"; } -.fa-crop { - --fa: "\f125"; +.fa-hand-point-right:before { + content: "\f0a4"; } -.fa-angle-double-down, -.fa-angles-down { - --fa: "\f103"; +.fa-magnifying-glass-location:before, +.fa-search-location:before { + content: "\f689"; } -.fa-users-rectangle { - --fa: "\e594"; +.fa-forward-step:before, +.fa-step-forward:before { + content: "\f051"; } -.fa-people-roof { - --fa: "\e537"; +.fa-face-smile-beam:before, +.fa-smile-beam:before { + content: "\f5b8"; } -.fa-people-line { - --fa: "\e534"; +.fa-flag-checkered:before { + content: "\f11e"; } -.fa-beer, -.fa-beer-mug-empty { - --fa: "\f0fc"; +.fa-football-ball:before, +.fa-football:before { + content: "\f44e"; } -.fa-diagram-predecessor { - --fa: "\e477"; +.fa-school-circle-exclamation:before { + content: "\e56c"; } -.fa-arrow-up-long, -.fa-long-arrow-up { - --fa: "\f176"; +.fa-crop:before { + content: "\f125"; } -.fa-burn, -.fa-fire-flame-simple { - --fa: "\f46a"; +.fa-angle-double-down:before, +.fa-angles-down:before { + content: "\f103"; } -.fa-male, -.fa-person { - --fa: "\f183"; +.fa-users-rectangle:before { + content: "\e594"; } -.fa-laptop { - --fa: "\f109"; +.fa-people-roof:before { + content: "\e537"; } -.fa-file-csv { - --fa: "\f6dd"; +.fa-people-line:before { + content: "\e534"; } -.fa-menorah { - --fa: "\f676"; +.fa-beer-mug-empty:before, +.fa-beer:before { + content: "\f0fc"; } -.fa-truck-plane { - --fa: "\e58f"; +.fa-diagram-predecessor:before { + content: "\e477"; } -.fa-record-vinyl { - --fa: "\f8d9"; +.fa-arrow-up-long:before, +.fa-long-arrow-up:before { + content: "\f176"; } -.fa-face-grin-stars, -.fa-grin-stars { - --fa: "\f587"; +.fa-burn:before, +.fa-fire-flame-simple:before { + content: "\f46a"; } -.fa-bong { - --fa: "\f55c"; +.fa-male:before, +.fa-person:before { + content: "\f183"; } -.fa-pastafarianism, -.fa-spaghetti-monster-flying { - --fa: "\f67b"; +.fa-laptop:before { + content: "\f109"; } -.fa-arrow-down-up-across-line { - --fa: "\e4af"; +.fa-file-csv:before { + content: "\f6dd"; } -.fa-spoon, -.fa-utensil-spoon { - --fa: "\f2e5"; +.fa-menorah:before { + content: "\f676"; } -.fa-jar-wheat { - --fa: "\e517"; +.fa-truck-plane:before { + content: "\e58f"; } -.fa-envelopes-bulk, -.fa-mail-bulk { - --fa: "\f674"; +.fa-record-vinyl:before { + content: "\f8d9"; } -.fa-file-circle-exclamation { - --fa: "\e4eb"; +.fa-face-grin-stars:before, +.fa-grin-stars:before { + content: "\f587"; } -.fa-circle-h, -.fa-hospital-symbol { - --fa: "\f47e"; +.fa-bong:before { + content: "\f55c"; } -.fa-pager { - --fa: "\f815"; +.fa-pastafarianism:before, +.fa-spaghetti-monster-flying:before { + content: "\f67b"; } -.fa-address-book, -.fa-contact-book { - --fa: "\f2b9"; +.fa-arrow-down-up-across-line:before { + content: "\e4af"; } -.fa-strikethrough { - --fa: "\f0cc"; +.fa-spoon:before, +.fa-utensil-spoon:before { + content: "\f2e5"; } -.fa-k { - --fa: "\4b"; +.fa-jar-wheat:before { + content: "\e517"; } -.fa-landmark-flag { - --fa: "\e51c"; +.fa-envelopes-bulk:before, +.fa-mail-bulk:before { + content: "\f674"; } -.fa-pencil, -.fa-pencil-alt { - --fa: "\f303"; +.fa-file-circle-exclamation:before { + content: "\e4eb"; } -.fa-backward { - --fa: "\f04a"; +.fa-circle-h:before, +.fa-hospital-symbol:before { + content: "\f47e"; } -.fa-caret-right { - --fa: "\f0da"; +.fa-pager:before { + content: "\f815"; } -.fa-comments { - --fa: "\f086"; +.fa-address-book:before, +.fa-contact-book:before { + content: "\f2b9"; } -.fa-file-clipboard, -.fa-paste { - --fa: "\f0ea"; +.fa-strikethrough:before { + content: "\f0cc"; } -.fa-code-pull-request { - --fa: "\e13c"; +.fa-k:before { + content: "\4b"; } -.fa-clipboard-list { - --fa: "\f46d"; +.fa-landmark-flag:before { + content: "\e51c"; } -.fa-truck-loading, -.fa-truck-ramp-box { - --fa: "\f4de"; +.fa-pencil-alt:before, +.fa-pencil:before { + content: "\f303"; } -.fa-user-check { - --fa: "\f4fc"; +.fa-backward:before { + content: "\f04a"; } -.fa-vial-virus { - --fa: "\e597"; +.fa-caret-right:before { + content: "\f0da"; } -.fa-sheet-plastic { - --fa: "\e571"; +.fa-comments:before { + content: "\f086"; } -.fa-blog { - --fa: "\f781"; +.fa-file-clipboard:before, +.fa-paste:before { + content: "\f0ea"; } -.fa-user-ninja { - --fa: "\f504"; +.fa-code-pull-request:before { + content: "\e13c"; } -.fa-person-arrow-up-from-line { - --fa: "\e539"; +.fa-clipboard-list:before { + content: "\f46d"; } -.fa-scroll-torah, -.fa-torah { - --fa: "\f6a0"; +.fa-truck-loading:before, +.fa-truck-ramp-box:before { + content: "\f4de"; } -.fa-broom-ball, -.fa-quidditch, -.fa-quidditch-broom-ball { - --fa: "\f458"; +.fa-user-check:before { + content: "\f4fc"; } -.fa-toggle-off { - --fa: "\f204"; +.fa-vial-virus:before { + content: "\e597"; } -.fa-archive, -.fa-box-archive { - --fa: "\f187"; +.fa-sheet-plastic:before { + content: "\e571"; } -.fa-person-drowning { - --fa: "\e545"; +.fa-blog:before { + content: "\f781"; } -.fa-arrow-down-9-1, -.fa-sort-numeric-desc, -.fa-sort-numeric-down-alt { - --fa: "\f886"; +.fa-user-ninja:before { + content: "\f504"; } -.fa-face-grin-tongue-squint, -.fa-grin-tongue-squint { - --fa: "\f58a"; +.fa-person-arrow-up-from-line:before { + content: "\e539"; } -.fa-spray-can { - --fa: "\f5bd"; +.fa-scroll-torah:before, +.fa-torah:before { + content: "\f6a0"; } -.fa-truck-monster { - --fa: "\f63b"; +.fa-broom-ball:before, +.fa-quidditch-broom-ball:before, +.fa-quidditch:before { + content: "\f458"; } -.fa-w { - --fa: "\57"; +.fa-toggle-off:before { + content: "\f204"; } -.fa-earth-africa, -.fa-globe-africa { - --fa: "\f57c"; +.fa-archive:before, +.fa-box-archive:before { + content: "\f187"; } -.fa-rainbow { - --fa: "\f75b"; +.fa-person-drowning:before { + content: "\e545"; } -.fa-circle-notch { - --fa: "\f1ce"; +.fa-arrow-down-9-1:before, +.fa-sort-numeric-desc:before, +.fa-sort-numeric-down-alt:before { + content: "\f886"; } -.fa-tablet-alt, -.fa-tablet-screen-button { - --fa: "\f3fa"; +.fa-face-grin-tongue-squint:before, +.fa-grin-tongue-squint:before { + content: "\f58a"; } -.fa-paw { - --fa: "\f1b0"; +.fa-spray-can:before { + content: "\f5bd"; } -.fa-cloud { - --fa: "\f0c2"; +.fa-truck-monster:before { + content: "\f63b"; } -.fa-trowel-bricks { - --fa: "\e58a"; +.fa-w:before { + content: "\57"; } -.fa-face-flushed, -.fa-flushed { - --fa: "\f579"; +.fa-earth-africa:before, +.fa-globe-africa:before { + content: "\f57c"; } -.fa-hospital-user { - --fa: "\f80d"; +.fa-rainbow:before { + content: "\f75b"; } -.fa-tent-arrow-left-right { - --fa: "\e57f"; +.fa-circle-notch:before { + content: "\f1ce"; } -.fa-gavel, -.fa-legal { - --fa: "\f0e3"; +.fa-tablet-alt:before, +.fa-tablet-screen-button:before { + content: "\f3fa"; } -.fa-binoculars { - --fa: "\f1e5"; +.fa-paw:before { + content: "\f1b0"; } -.fa-microphone-slash { - --fa: "\f131"; +.fa-cloud:before { + content: "\f0c2"; } -.fa-box-tissue { - --fa: "\e05b"; +.fa-trowel-bricks:before { + content: "\e58a"; } -.fa-motorcycle { - --fa: "\f21c"; +.fa-face-flushed:before, +.fa-flushed:before { + content: "\f579"; } -.fa-bell-concierge, -.fa-concierge-bell { - --fa: "\f562"; +.fa-hospital-user:before { + content: "\f80d"; } -.fa-pen-ruler, -.fa-pencil-ruler { - --fa: "\f5ae"; +.fa-tent-arrow-left-right:before { + content: "\e57f"; } -.fa-people-arrows, -.fa-people-arrows-left-right { - --fa: "\e068"; +.fa-gavel:before, +.fa-legal:before { + content: "\f0e3"; } -.fa-mars-and-venus-burst { - --fa: "\e523"; +.fa-binoculars:before { + content: "\f1e5"; } -.fa-caret-square-right, -.fa-square-caret-right { - --fa: "\f152"; +.fa-microphone-slash:before { + content: "\f131"; } -.fa-cut, -.fa-scissors { - --fa: "\f0c4"; +.fa-box-tissue:before { + content: "\e05b"; } -.fa-sun-plant-wilt { - --fa: "\e57a"; +.fa-motorcycle:before { + content: "\f21c"; } -.fa-toilets-portable { - --fa: "\e584"; +.fa-bell-concierge:before, +.fa-concierge-bell:before { + content: "\f562"; } -.fa-hockey-puck { - --fa: "\f453"; +.fa-pen-ruler:before, +.fa-pencil-ruler:before { + content: "\f5ae"; } -.fa-table { - --fa: "\f0ce"; +.fa-people-arrows-left-right:before, +.fa-people-arrows:before { + content: "\e068"; } -.fa-magnifying-glass-arrow-right { - --fa: "\e521"; +.fa-mars-and-venus-burst:before { + content: "\e523"; } -.fa-digital-tachograph, -.fa-tachograph-digital { - --fa: "\f566"; +.fa-caret-square-right:before, +.fa-square-caret-right:before { + content: "\f152"; } -.fa-users-slash { - --fa: "\e073"; +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; } -.fa-clover { - --fa: "\e139"; +.fa-sun-plant-wilt:before { + content: "\e57a"; } -.fa-mail-reply, -.fa-reply { - --fa: "\f3e5"; +.fa-toilets-portable:before { + content: "\e584"; } -.fa-star-and-crescent { - --fa: "\f699"; +.fa-hockey-puck:before { + content: "\f453"; } -.fa-house-fire { - --fa: "\e50c"; +.fa-table:before { + content: "\f0ce"; } -.fa-minus-square, -.fa-square-minus { - --fa: "\f146"; +.fa-magnifying-glass-arrow-right:before { + content: "\e521"; } -.fa-helicopter { - --fa: "\f533"; +.fa-digital-tachograph:before, +.fa-tachograph-digital:before { + content: "\f566"; } -.fa-compass { - --fa: "\f14e"; +.fa-users-slash:before { + content: "\e073"; } -.fa-caret-square-down, -.fa-square-caret-down { - --fa: "\f150"; +.fa-clover:before { + content: "\e139"; } -.fa-file-circle-question { - --fa: "\e4ef"; +.fa-mail-reply:before, +.fa-reply:before { + content: "\f3e5"; } -.fa-laptop-code { - --fa: "\f5fc"; +.fa-star-and-crescent:before { + content: "\f699"; } -.fa-swatchbook { - --fa: "\f5c3"; +.fa-house-fire:before { + content: "\e50c"; } -.fa-prescription-bottle { - --fa: "\f485"; +.fa-minus-square:before, +.fa-square-minus:before { + content: "\f146"; } -.fa-bars, -.fa-navicon { - --fa: "\f0c9"; +.fa-helicopter:before { + content: "\f533"; } -.fa-people-group { - --fa: "\e533"; +.fa-compass:before { + content: "\f14e"; } -.fa-hourglass-3, -.fa-hourglass-end { - --fa: "\f253"; +.fa-caret-square-down:before, +.fa-square-caret-down:before { + content: "\f150"; } -.fa-heart-broken, -.fa-heart-crack { - --fa: "\f7a9"; +.fa-file-circle-question:before { + content: "\e4ef"; } -.fa-external-link-square-alt, -.fa-square-up-right { - --fa: "\f360"; +.fa-laptop-code:before { + content: "\f5fc"; } -.fa-face-kiss-beam, -.fa-kiss-beam { - --fa: "\f597"; +.fa-swatchbook:before { + content: "\f5c3"; } -.fa-film { - --fa: "\f008"; +.fa-prescription-bottle:before { + content: "\f485"; } -.fa-ruler-horizontal { - --fa: "\f547"; +.fa-bars:before, +.fa-navicon:before { + content: "\f0c9"; } -.fa-people-robbery { - --fa: "\e536"; +.fa-people-group:before { + content: "\e533"; } -.fa-lightbulb { - --fa: "\f0eb"; +.fa-hourglass-3:before, +.fa-hourglass-end:before { + content: "\f253"; } -.fa-caret-left { - --fa: "\f0d9"; +.fa-heart-broken:before, +.fa-heart-crack:before { + content: "\f7a9"; } -.fa-circle-exclamation, -.fa-exclamation-circle { - --fa: "\f06a"; +.fa-external-link-square-alt:before, +.fa-square-up-right:before { + content: "\f360"; } -.fa-school-circle-xmark { - --fa: "\e56d"; +.fa-face-kiss-beam:before, +.fa-kiss-beam:before { + content: "\f597"; } -.fa-arrow-right-from-bracket, -.fa-sign-out { - --fa: "\f08b"; +.fa-film:before { + content: "\f008"; } -.fa-chevron-circle-down, -.fa-circle-chevron-down { - --fa: "\f13a"; +.fa-ruler-horizontal:before { + content: "\f547"; } -.fa-unlock-alt, -.fa-unlock-keyhole { - --fa: "\f13e"; +.fa-people-robbery:before { + content: "\e536"; } -.fa-cloud-showers-heavy { - --fa: "\f740"; +.fa-lightbulb:before { + content: "\f0eb"; } -.fa-headphones-alt, -.fa-headphones-simple { - --fa: "\f58f"; +.fa-caret-left:before { + content: "\f0d9"; } -.fa-sitemap { - --fa: "\f0e8"; +.fa-circle-exclamation:before, +.fa-exclamation-circle:before { + content: "\f06a"; } -.fa-circle-dollar-to-slot, -.fa-donate { - --fa: "\f4b9"; +.fa-school-circle-xmark:before { + content: "\e56d"; } -.fa-memory { - --fa: "\f538"; +.fa-arrow-right-from-bracket:before, +.fa-sign-out:before { + content: "\f08b"; } -.fa-road-spikes { - --fa: "\e568"; +.fa-chevron-circle-down:before, +.fa-circle-chevron-down:before { + content: "\f13a"; } -.fa-fire-burner { - --fa: "\e4f1"; +.fa-unlock-alt:before, +.fa-unlock-keyhole:before { + content: "\f13e"; } -.fa-flag { - --fa: "\f024"; +.fa-cloud-showers-heavy:before { + content: "\f740"; } -.fa-hanukiah { - --fa: "\f6e6"; +.fa-headphones-alt:before, +.fa-headphones-simple:before { + content: "\f58f"; } -.fa-feather { - --fa: "\f52d"; +.fa-sitemap:before { + content: "\f0e8"; } -.fa-volume-down, -.fa-volume-low { - --fa: "\f027"; +.fa-circle-dollar-to-slot:before, +.fa-donate:before { + content: "\f4b9"; } -.fa-comment-slash { - --fa: "\f4b3"; +.fa-memory:before { + content: "\f538"; } -.fa-cloud-sun-rain { - --fa: "\f743"; +.fa-road-spikes:before { + content: "\e568"; } -.fa-compress { - --fa: "\f066"; +.fa-fire-burner:before { + content: "\e4f1"; } -.fa-wheat-alt, -.fa-wheat-awn { - --fa: "\e2cd"; +.fa-flag:before { + content: "\f024"; } -.fa-ankh { - --fa: "\f644"; +.fa-hanukiah:before { + content: "\f6e6"; } -.fa-hands-holding-child { - --fa: "\e4fa"; +.fa-feather:before { + content: "\f52d"; } -.fa-asterisk { - --fa: "\2a"; +.fa-volume-down:before, +.fa-volume-low:before { + content: "\f027"; } -.fa-check-square, -.fa-square-check { - --fa: "\f14a"; +.fa-comment-slash:before { + content: "\f4b3"; } -.fa-peseta-sign { - --fa: "\e221"; +.fa-cloud-sun-rain:before { + content: "\f743"; } -.fa-header, -.fa-heading { - --fa: "\f1dc"; +.fa-compress:before { + content: "\f066"; } -.fa-ghost { - --fa: "\f6e2"; +.fa-wheat-alt:before, +.fa-wheat-awn:before { + content: "\e2cd"; } -.fa-list, -.fa-list-squares { - --fa: "\f03a"; +.fa-ankh:before { + content: "\f644"; } -.fa-phone-square-alt, -.fa-square-phone-flip { - --fa: "\f87b"; +.fa-hands-holding-child:before { + content: "\e4fa"; } -.fa-cart-plus { - --fa: "\f217"; +.fa-asterisk:before { + content: "\2a"; } -.fa-gamepad { - --fa: "\f11b"; +.fa-check-square:before, +.fa-square-check:before { + content: "\f14a"; } -.fa-circle-dot, -.fa-dot-circle { - --fa: "\f192"; +.fa-peseta-sign:before { + content: "\e221"; } -.fa-dizzy, -.fa-face-dizzy { - --fa: "\f567"; +.fa-header:before, +.fa-heading:before { + content: "\f1dc"; } -.fa-egg { - --fa: "\f7fb"; +.fa-ghost:before { + content: "\f6e2"; } -.fa-house-medical-circle-xmark { - --fa: "\e513"; +.fa-list-squares:before, +.fa-list:before { + content: "\f03a"; } -.fa-campground { - --fa: "\f6bb"; +.fa-phone-square-alt:before, +.fa-square-phone-flip:before { + content: "\f87b"; } -.fa-folder-plus { - --fa: "\f65e"; +.fa-cart-plus:before { + content: "\f217"; } -.fa-futbol, -.fa-futbol-ball, -.fa-soccer-ball { - --fa: "\f1e3"; +.fa-gamepad:before { + content: "\f11b"; } -.fa-paint-brush, -.fa-paintbrush { - --fa: "\f1fc"; +.fa-circle-dot:before, +.fa-dot-circle:before { + content: "\f192"; } -.fa-lock { - --fa: "\f023"; +.fa-dizzy:before, +.fa-face-dizzy:before { + content: "\f567"; } -.fa-gas-pump { - --fa: "\f52f"; +.fa-egg:before { + content: "\f7fb"; } -.fa-hot-tub, -.fa-hot-tub-person { - --fa: "\f593"; +.fa-house-medical-circle-xmark:before { + content: "\e513"; } -.fa-map-location, -.fa-map-marked { - --fa: "\f59f"; +.fa-campground:before { + content: "\f6bb"; } -.fa-house-flood-water { - --fa: "\e50e"; +.fa-folder-plus:before { + content: "\f65e"; } -.fa-tree { - --fa: "\f1bb"; +.fa-futbol-ball:before, +.fa-futbol:before, +.fa-soccer-ball:before { + content: "\f1e3"; } -.fa-bridge-lock { - --fa: "\e4cc"; +.fa-paint-brush:before, +.fa-paintbrush:before { + content: "\f1fc"; } -.fa-sack-dollar { - --fa: "\f81d"; +.fa-lock:before { + content: "\f023"; } -.fa-edit, -.fa-pen-to-square { - --fa: "\f044"; +.fa-gas-pump:before { + content: "\f52f"; } -.fa-car-side { - --fa: "\f5e4"; +.fa-hot-tub-person:before, +.fa-hot-tub:before { + content: "\f593"; } -.fa-share-alt, -.fa-share-nodes { - --fa: "\f1e0"; +.fa-map-location:before, +.fa-map-marked:before { + content: "\f59f"; } -.fa-heart-circle-minus { - --fa: "\e4ff"; +.fa-house-flood-water:before { + content: "\e50e"; } -.fa-hourglass-2, -.fa-hourglass-half { - --fa: "\f252"; +.fa-tree:before { + content: "\f1bb"; } -.fa-microscope { - --fa: "\f610"; +.fa-bridge-lock:before { + content: "\e4cc"; } -.fa-sink { - --fa: "\e06d"; +.fa-sack-dollar:before { + content: "\f81d"; } -.fa-bag-shopping, -.fa-shopping-bag { - --fa: "\f290"; +.fa-edit:before, +.fa-pen-to-square:before { + content: "\f044"; } -.fa-arrow-down-z-a, -.fa-sort-alpha-desc, -.fa-sort-alpha-down-alt { - --fa: "\f881"; +.fa-car-side:before { + content: "\f5e4"; } -.fa-mitten { - --fa: "\f7b5"; +.fa-share-alt:before, +.fa-share-nodes:before { + content: "\f1e0"; } -.fa-person-rays { - --fa: "\e54d"; +.fa-heart-circle-minus:before { + content: "\e4ff"; } -.fa-users { - --fa: "\f0c0"; +.fa-hourglass-2:before, +.fa-hourglass-half:before { + content: "\f252"; } -.fa-eye-slash { - --fa: "\f070"; +.fa-microscope:before { + content: "\f610"; } -.fa-flask-vial { - --fa: "\e4f3"; +.fa-sink:before { + content: "\e06d"; } -.fa-hand, -.fa-hand-paper { - --fa: "\f256"; +.fa-bag-shopping:before, +.fa-shopping-bag:before { + content: "\f290"; } -.fa-om { - --fa: "\f679"; +.fa-arrow-down-z-a:before, +.fa-sort-alpha-desc:before, +.fa-sort-alpha-down-alt:before { + content: "\f881"; } -.fa-worm { - --fa: "\e599"; +.fa-mitten:before { + content: "\f7b5"; } -.fa-house-circle-xmark { - --fa: "\e50b"; +.fa-person-rays:before { + content: "\e54d"; } -.fa-plug { - --fa: "\f1e6"; +.fa-users:before { + content: "\f0c0"; } -.fa-chevron-up { - --fa: "\f077"; +.fa-eye-slash:before { + content: "\f070"; } -.fa-hand-spock { - --fa: "\f259"; +.fa-flask-vial:before { + content: "\e4f3"; } -.fa-stopwatch { - --fa: "\f2f2"; +.fa-hand-paper:before, +.fa-hand:before { + content: "\f256"; } -.fa-face-kiss, -.fa-kiss { - --fa: "\f596"; +.fa-om:before { + content: "\f679"; } -.fa-bridge-circle-xmark { - --fa: "\e4cb"; +.fa-worm:before { + content: "\e599"; } -.fa-face-grin-tongue, -.fa-grin-tongue { - --fa: "\f589"; +.fa-house-circle-xmark:before { + content: "\e50b"; } -.fa-chess-bishop { - --fa: "\f43a"; +.fa-plug:before { + content: "\f1e6"; } -.fa-face-grin-wink, -.fa-grin-wink { - --fa: "\f58c"; +.fa-chevron-up:before { + content: "\f077"; } -.fa-deaf, -.fa-deafness, -.fa-ear-deaf, -.fa-hard-of-hearing { - --fa: "\f2a4"; +.fa-hand-spock:before { + content: "\f259"; } -.fa-road-circle-check { - --fa: "\e564"; +.fa-stopwatch:before { + content: "\f2f2"; } -.fa-dice-five { - --fa: "\f523"; +.fa-face-kiss:before, +.fa-kiss:before { + content: "\f596"; } -.fa-rss-square, -.fa-square-rss { - --fa: "\f143"; +.fa-bridge-circle-xmark:before { + content: "\e4cb"; } -.fa-land-mine-on { - --fa: "\e51b"; +.fa-face-grin-tongue:before, +.fa-grin-tongue:before { + content: "\f589"; } -.fa-i-cursor { - --fa: "\f246"; +.fa-chess-bishop:before { + content: "\f43a"; } -.fa-stamp { - --fa: "\f5bf"; +.fa-face-grin-wink:before, +.fa-grin-wink:before { + content: "\f58c"; } -.fa-stairs { - --fa: "\e289"; +.fa-deaf:before, +.fa-deafness:before, +.fa-ear-deaf:before, +.fa-hard-of-hearing:before { + content: "\f2a4"; } -.fa-i { - --fa: "\49"; +.fa-road-circle-check:before { + content: "\e564"; } -.fa-hryvnia, -.fa-hryvnia-sign { - --fa: "\f6f2"; +.fa-dice-five:before { + content: "\f523"; } -.fa-pills { - --fa: "\f484"; +.fa-rss-square:before, +.fa-square-rss:before { + content: "\f143"; } -.fa-face-grin-wide, -.fa-grin-alt { - --fa: "\f581"; +.fa-land-mine-on:before { + content: "\e51b"; } -.fa-tooth { - --fa: "\f5c9"; +.fa-i-cursor:before { + content: "\f246"; } -.fa-v { - --fa: "\56"; +.fa-stamp:before { + content: "\f5bf"; } -.fa-bangladeshi-taka-sign { - --fa: "\e2e6"; +.fa-stairs:before { + content: "\e289"; } -.fa-bicycle { - --fa: "\f206"; +.fa-i:before { + content: "\49"; } -.fa-rod-asclepius, -.fa-rod-snake, -.fa-staff-aesculapius, -.fa-staff-snake { - --fa: "\e579"; +.fa-hryvnia-sign:before, +.fa-hryvnia:before { + content: "\f6f2"; } -.fa-head-side-cough-slash { - --fa: "\e062"; +.fa-pills:before { + content: "\f484"; } -.fa-ambulance, -.fa-truck-medical { - --fa: "\f0f9"; +.fa-face-grin-wide:before, +.fa-grin-alt:before { + content: "\f581"; } -.fa-wheat-awn-circle-exclamation { - --fa: "\e598"; +.fa-tooth:before { + content: "\f5c9"; } -.fa-snowman { - --fa: "\f7d0"; +.fa-v:before { + content: "\56"; } -.fa-mortar-pestle { - --fa: "\f5a7"; +.fa-bangladeshi-taka-sign:before { + content: "\e2e6"; } -.fa-road-barrier { - --fa: "\e562"; +.fa-bicycle:before { + content: "\f206"; } -.fa-school { - --fa: "\f549"; +.fa-rod-asclepius:before, +.fa-rod-snake:before, +.fa-staff-aesculapius:before, +.fa-staff-snake:before { + content: "\e579"; } -.fa-igloo { - --fa: "\f7ae"; +.fa-head-side-cough-slash:before { + content: "\e062"; } -.fa-joint { - --fa: "\f595"; +.fa-ambulance:before, +.fa-truck-medical:before { + content: "\f0f9"; } -.fa-angle-right { - --fa: "\f105"; +.fa-wheat-awn-circle-exclamation:before { + content: "\e598"; } -.fa-horse { - --fa: "\f6f0"; +.fa-snowman:before { + content: "\f7d0"; } -.fa-q { - --fa: "\51"; +.fa-mortar-pestle:before { + content: "\f5a7"; } -.fa-g { - --fa: "\47"; +.fa-road-barrier:before { + content: "\e562"; } -.fa-notes-medical { - --fa: "\f481"; +.fa-school:before { + content: "\f549"; } -.fa-temperature-2, -.fa-temperature-half, -.fa-thermometer-2, -.fa-thermometer-half { - --fa: "\f2c9"; +.fa-igloo:before { + content: "\f7ae"; } -.fa-dong-sign { - --fa: "\e169"; +.fa-joint:before { + content: "\f595"; } -.fa-capsules { - --fa: "\f46b"; +.fa-angle-right:before { + content: "\f105"; } -.fa-poo-bolt, -.fa-poo-storm { - --fa: "\f75a"; +.fa-horse:before { + content: "\f6f0"; } -.fa-face-frown-open, -.fa-frown-open { - --fa: "\f57a"; +.fa-q:before { + content: "\51"; } -.fa-hand-point-up { - --fa: "\f0a6"; +.fa-g:before { + content: "\47"; } -.fa-money-bill { - --fa: "\f0d6"; +.fa-notes-medical:before { + content: "\f481"; } -.fa-bookmark { - --fa: "\f02e"; +.fa-temperature-2:before, +.fa-temperature-half:before, +.fa-thermometer-2:before, +.fa-thermometer-half:before { + content: "\f2c9"; } -.fa-align-justify { - --fa: "\f039"; +.fa-dong-sign:before { + content: "\e169"; } -.fa-umbrella-beach { - --fa: "\f5ca"; +.fa-capsules:before { + content: "\f46b"; } -.fa-helmet-un { - --fa: "\e503"; +.fa-poo-bolt:before, +.fa-poo-storm:before { + content: "\f75a"; } -.fa-bullseye { - --fa: "\f140"; +.fa-face-frown-open:before, +.fa-frown-open:before { + content: "\f57a"; } -.fa-bacon { - --fa: "\f7e5"; +.fa-hand-point-up:before { + content: "\f0a6"; } -.fa-hand-point-down { - --fa: "\f0a7"; +.fa-money-bill:before { + content: "\f0d6"; } -.fa-arrow-up-from-bracket { - --fa: "\e09a"; +.fa-bookmark:before { + content: "\f02e"; } -.fa-folder, -.fa-folder-blank { - --fa: "\f07b"; +.fa-align-justify:before { + content: "\f039"; } -.fa-file-medical-alt, -.fa-file-waveform { - --fa: "\f478"; +.fa-umbrella-beach:before { + content: "\f5ca"; } -.fa-radiation { - --fa: "\f7b9"; +.fa-helmet-un:before { + content: "\e503"; } -.fa-chart-simple { - --fa: "\e473"; +.fa-bullseye:before { + content: "\f140"; } -.fa-mars-stroke { - --fa: "\f229"; +.fa-bacon:before { + content: "\f7e5"; } -.fa-vial { - --fa: "\f492"; +.fa-hand-point-down:before { + content: "\f0a7"; } -.fa-dashboard, -.fa-gauge, -.fa-gauge-med, -.fa-tachometer-alt-average { - --fa: "\f624"; +.fa-arrow-up-from-bracket:before { + content: "\e09a"; } -.fa-magic-wand-sparkles, -.fa-wand-magic-sparkles { - --fa: "\e2ca"; +.fa-folder-blank:before, +.fa-folder:before { + content: "\f07b"; } -.fa-e { - --fa: "\45"; +.fa-file-medical-alt:before, +.fa-file-waveform:before { + content: "\f478"; } -.fa-pen-alt, -.fa-pen-clip { - --fa: "\f305"; +.fa-radiation:before { + content: "\f7b9"; } -.fa-bridge-circle-exclamation { - --fa: "\e4ca"; +.fa-chart-simple:before { + content: "\e473"; } -.fa-user { - --fa: "\f007"; +.fa-mars-stroke:before { + content: "\f229"; } -.fa-school-circle-check { - --fa: "\e56b"; +.fa-vial:before { + content: "\f492"; } -.fa-dumpster { - --fa: "\f793"; +.fa-dashboard:before, +.fa-gauge-med:before, +.fa-gauge:before, +.fa-tachometer-alt-average:before { + content: "\f624"; } -.fa-shuttle-van, -.fa-van-shuttle { - --fa: "\f5b6"; +.fa-magic-wand-sparkles:before, +.fa-wand-magic-sparkles:before { + content: "\e2ca"; } -.fa-building-user { - --fa: "\e4da"; +.fa-e:before { + content: "\45"; } -.fa-caret-square-left, -.fa-square-caret-left { - --fa: "\f191"; +.fa-pen-alt:before, +.fa-pen-clip:before { + content: "\f305"; } -.fa-highlighter { - --fa: "\f591"; +.fa-bridge-circle-exclamation:before { + content: "\e4ca"; } -.fa-key { - --fa: "\f084"; +.fa-user:before { + content: "\f007"; } -.fa-bullhorn { - --fa: "\f0a1"; +.fa-school-circle-check:before { + content: "\e56b"; } -.fa-globe { - --fa: "\f0ac"; +.fa-dumpster:before { + content: "\f793"; } -.fa-synagogue { - --fa: "\f69b"; +.fa-shuttle-van:before, +.fa-van-shuttle:before { + content: "\f5b6"; } -.fa-person-half-dress { - --fa: "\e548"; +.fa-building-user:before { + content: "\e4da"; } -.fa-road-bridge { - --fa: "\e563"; +.fa-caret-square-left:before, +.fa-square-caret-left:before { + content: "\f191"; } -.fa-location-arrow { - --fa: "\f124"; +.fa-highlighter:before { + content: "\f591"; } -.fa-c { - --fa: "\43"; +.fa-key:before { + content: "\f084"; } -.fa-tablet-button { - --fa: "\f10a"; +.fa-bullhorn:before { + content: "\f0a1"; } -.fa-building-lock { - --fa: "\e4d6"; +.fa-globe:before { + content: "\f0ac"; } -.fa-pizza-slice { - --fa: "\f818"; +.fa-synagogue:before { + content: "\f69b"; } -.fa-money-bill-wave { - --fa: "\f53a"; +.fa-person-half-dress:before { + content: "\e548"; } -.fa-area-chart, -.fa-chart-area { - --fa: "\f1fe"; +.fa-road-bridge:before { + content: "\e563"; } -.fa-house-flag { - --fa: "\e50d"; +.fa-location-arrow:before { + content: "\f124"; } -.fa-person-circle-minus { - --fa: "\e540"; +.fa-c:before { + content: "\43"; } -.fa-ban, -.fa-cancel { - --fa: "\f05e"; +.fa-tablet-button:before { + content: "\f10a"; } -.fa-camera-rotate { - --fa: "\e0d8"; +.fa-building-lock:before { + content: "\e4d6"; } -.fa-air-freshener, -.fa-spray-can-sparkles { - --fa: "\f5d0"; +.fa-pizza-slice:before { + content: "\f818"; } -.fa-star { - --fa: "\f005"; +.fa-money-bill-wave:before { + content: "\f53a"; } -.fa-repeat { - --fa: "\f363"; +.fa-area-chart:before, +.fa-chart-area:before { + content: "\f1fe"; } -.fa-cross { - --fa: "\f654"; +.fa-house-flag:before { + content: "\e50d"; } -.fa-box { - --fa: "\f466"; +.fa-person-circle-minus:before { + content: "\e540"; } -.fa-venus-mars { - --fa: "\f228"; +.fa-ban:before, +.fa-cancel:before { + content: "\f05e"; } -.fa-arrow-pointer, -.fa-mouse-pointer { - --fa: "\f245"; +.fa-camera-rotate:before { + content: "\e0d8"; } -.fa-expand-arrows-alt, -.fa-maximize { - --fa: "\f31e"; +.fa-air-freshener:before, +.fa-spray-can-sparkles:before { + content: "\f5d0"; } -.fa-charging-station { - --fa: "\f5e7"; +.fa-star:before { + content: "\f005"; } -.fa-shapes, -.fa-triangle-circle-square { - --fa: "\f61f"; +.fa-repeat:before { + content: "\f363"; } -.fa-random, -.fa-shuffle { - --fa: "\f074"; +.fa-cross:before { + content: "\f654"; } -.fa-person-running, -.fa-running { - --fa: "\f70c"; +.fa-box:before { + content: "\f466"; } -.fa-mobile-retro { - --fa: "\e527"; +.fa-venus-mars:before { + content: "\f228"; } -.fa-grip-lines-vertical { - --fa: "\f7a5"; +.fa-arrow-pointer:before, +.fa-mouse-pointer:before { + content: "\f245"; } -.fa-spider { - --fa: "\f717"; +.fa-expand-arrows-alt:before, +.fa-maximize:before { + content: "\f31e"; } -.fa-hands-bound { - --fa: "\e4f9"; +.fa-charging-station:before { + content: "\f5e7"; } -.fa-file-invoice-dollar { - --fa: "\f571"; +.fa-shapes:before, +.fa-triangle-circle-square:before { + content: "\f61f"; } -.fa-plane-circle-exclamation { - --fa: "\e556"; +.fa-random:before, +.fa-shuffle:before { + content: "\f074"; } -.fa-x-ray { - --fa: "\f497"; +.fa-person-running:before, +.fa-running:before { + content: "\f70c"; } -.fa-spell-check { - --fa: "\f891"; +.fa-mobile-retro:before { + content: "\e527"; } -.fa-slash { - --fa: "\f715"; +.fa-grip-lines-vertical:before { + content: "\f7a5"; } -.fa-computer-mouse, -.fa-mouse { - --fa: "\f8cc"; +.fa-spider:before { + content: "\f717"; } -.fa-arrow-right-to-bracket, -.fa-sign-in { - --fa: "\f090"; +.fa-hands-bound:before { + content: "\e4f9"; } -.fa-shop-slash, -.fa-store-alt-slash { - --fa: "\e070"; +.fa-file-invoice-dollar:before { + content: "\f571"; } -.fa-server { - --fa: "\f233"; +.fa-plane-circle-exclamation:before { + content: "\e556"; } -.fa-virus-covid-slash { - --fa: "\e4a9"; +.fa-x-ray:before { + content: "\f497"; } -.fa-shop-lock { - --fa: "\e4a5"; +.fa-spell-check:before { + content: "\f891"; } -.fa-hourglass-1, -.fa-hourglass-start { - --fa: "\f251"; +.fa-slash:before { + content: "\f715"; } -.fa-blender-phone { - --fa: "\f6b6"; +.fa-computer-mouse:before, +.fa-mouse:before { + content: "\f8cc"; } -.fa-building-wheat { - --fa: "\e4db"; +.fa-arrow-right-to-bracket:before, +.fa-sign-in:before { + content: "\f090"; } -.fa-person-breastfeeding { - --fa: "\e53a"; +.fa-shop-slash:before, +.fa-store-alt-slash:before { + content: "\e070"; } -.fa-right-to-bracket, -.fa-sign-in-alt { - --fa: "\f2f6"; +.fa-server:before { + content: "\f233"; } -.fa-venus { - --fa: "\f221"; +.fa-virus-covid-slash:before { + content: "\e4a9"; } -.fa-passport { - --fa: "\f5ab"; +.fa-shop-lock:before { + content: "\e4a5"; } -.fa-thumb-tack-slash, -.fa-thumbtack-slash { - --fa: "\e68f"; +.fa-hourglass-1:before, +.fa-hourglass-start:before { + content: "\f251"; } -.fa-heart-pulse, -.fa-heartbeat { - --fa: "\f21e"; +.fa-blender-phone:before { + content: "\f6b6"; } -.fa-people-carry, -.fa-people-carry-box { - --fa: "\f4ce"; +.fa-building-wheat:before { + content: "\e4db"; } -.fa-temperature-high { - --fa: "\f769"; +.fa-person-breastfeeding:before { + content: "\e53a"; } -.fa-microchip { - --fa: "\f2db"; +.fa-right-to-bracket:before, +.fa-sign-in-alt:before { + content: "\f2f6"; } -.fa-crown { - --fa: "\f521"; +.fa-venus:before { + content: "\f221"; } -.fa-weight-hanging { - --fa: "\f5cd"; +.fa-passport:before { + content: "\f5ab"; } -.fa-xmarks-lines { - --fa: "\e59a"; +.fa-thumb-tack-slash:before, +.fa-thumbtack-slash:before { + content: "\e68f"; } -.fa-file-prescription { - --fa: "\f572"; +.fa-heart-pulse:before, +.fa-heartbeat:before { + content: "\f21e"; } -.fa-weight, -.fa-weight-scale { - --fa: "\f496"; +.fa-people-carry-box:before, +.fa-people-carry:before { + content: "\f4ce"; } -.fa-user-friends, -.fa-user-group { - --fa: "\f500"; +.fa-temperature-high:before { + content: "\f769"; } -.fa-arrow-up-a-z, -.fa-sort-alpha-up { - --fa: "\f15e"; +.fa-microchip:before { + content: "\f2db"; } -.fa-chess-knight { - --fa: "\f441"; +.fa-crown:before { + content: "\f521"; } -.fa-face-laugh-squint, -.fa-laugh-squint { - --fa: "\f59b"; +.fa-weight-hanging:before { + content: "\f5cd"; } -.fa-wheelchair { - --fa: "\f193"; +.fa-xmarks-lines:before { + content: "\e59a"; } -.fa-arrow-circle-up, -.fa-circle-arrow-up { - --fa: "\f0aa"; +.fa-file-prescription:before { + content: "\f572"; } -.fa-toggle-on { - --fa: "\f205"; +.fa-weight-scale:before, +.fa-weight:before { + content: "\f496"; } -.fa-person-walking, -.fa-walking { - --fa: "\f554"; +.fa-user-friends:before, +.fa-user-group:before { + content: "\f500"; } -.fa-l { - --fa: "\4c"; +.fa-arrow-up-a-z:before, +.fa-sort-alpha-up:before { + content: "\f15e"; } -.fa-fire { - --fa: "\f06d"; +.fa-chess-knight:before { + content: "\f441"; } -.fa-bed-pulse, -.fa-procedures { - --fa: "\f487"; +.fa-face-laugh-squint:before, +.fa-laugh-squint:before { + content: "\f59b"; } -.fa-shuttle-space, -.fa-space-shuttle { - --fa: "\f197"; +.fa-wheelchair:before { + content: "\f193"; } -.fa-face-laugh, -.fa-laugh { - --fa: "\f599"; +.fa-arrow-circle-up:before, +.fa-circle-arrow-up:before { + content: "\f0aa"; } -.fa-folder-open { - --fa: "\f07c"; +.fa-toggle-on:before { + content: "\f205"; } -.fa-heart-circle-plus { - --fa: "\e500"; +.fa-person-walking:before, +.fa-walking:before { + content: "\f554"; } -.fa-code-fork { - --fa: "\e13b"; +.fa-l:before { + content: "\4c"; } -.fa-city { - --fa: "\f64f"; +.fa-fire:before { + content: "\f06d"; } -.fa-microphone-alt, -.fa-microphone-lines { - --fa: "\f3c9"; +.fa-bed-pulse:before, +.fa-procedures:before { + content: "\f487"; } -.fa-pepper-hot { - --fa: "\f816"; +.fa-shuttle-space:before, +.fa-space-shuttle:before { + content: "\f197"; } -.fa-unlock { - --fa: "\f09c"; +.fa-face-laugh:before, +.fa-laugh:before { + content: "\f599"; } -.fa-colon-sign { - --fa: "\e140"; +.fa-folder-open:before { + content: "\f07c"; } -.fa-headset { - --fa: "\f590"; +.fa-heart-circle-plus:before { + content: "\e500"; } -.fa-store-slash { - --fa: "\e071"; +.fa-code-fork:before { + content: "\e13b"; } -.fa-road-circle-xmark { - --fa: "\e566"; +.fa-city:before { + content: "\f64f"; } -.fa-user-minus { - --fa: "\f503"; +.fa-microphone-alt:before, +.fa-microphone-lines:before { + content: "\f3c9"; } -.fa-mars-stroke-up, -.fa-mars-stroke-v { - --fa: "\f22a"; +.fa-pepper-hot:before { + content: "\f816"; } -.fa-champagne-glasses, -.fa-glass-cheers { - --fa: "\f79f"; +.fa-unlock:before { + content: "\f09c"; } -.fa-clipboard { - --fa: "\f328"; +.fa-colon-sign:before { + content: "\e140"; } -.fa-house-circle-exclamation { - --fa: "\e50a"; +.fa-headset:before { + content: "\f590"; } -.fa-file-arrow-up, -.fa-file-upload { - --fa: "\f574"; +.fa-store-slash:before { + content: "\e071"; } -.fa-wifi, -.fa-wifi-3, -.fa-wifi-strong { - --fa: "\f1eb"; +.fa-road-circle-xmark:before { + content: "\e566"; } -.fa-bath, -.fa-bathtub { - --fa: "\f2cd"; +.fa-user-minus:before { + content: "\f503"; } -.fa-underline { - --fa: "\f0cd"; +.fa-mars-stroke-up:before, +.fa-mars-stroke-v:before { + content: "\f22a"; } -.fa-user-edit, -.fa-user-pen { - --fa: "\f4ff"; +.fa-champagne-glasses:before, +.fa-glass-cheers:before { + content: "\f79f"; } -.fa-signature { - --fa: "\f5b7"; +.fa-clipboard:before { + content: "\f328"; } -.fa-stroopwafel { - --fa: "\f551"; +.fa-house-circle-exclamation:before { + content: "\e50a"; } -.fa-bold { - --fa: "\f032"; +.fa-file-arrow-up:before, +.fa-file-upload:before { + content: "\f574"; } -.fa-anchor-lock { - --fa: "\e4ad"; +.fa-wifi-3:before, +.fa-wifi-strong:before, +.fa-wifi:before { + content: "\f1eb"; } -.fa-building-ngo { - --fa: "\e4d7"; +.fa-bath:before, +.fa-bathtub:before { + content: "\f2cd"; } -.fa-manat-sign { - --fa: "\e1d5"; +.fa-underline:before { + content: "\f0cd"; } -.fa-not-equal { - --fa: "\f53e"; +.fa-user-edit:before, +.fa-user-pen:before { + content: "\f4ff"; } -.fa-border-style, -.fa-border-top-left { - --fa: "\f853"; +.fa-signature:before { + content: "\f5b7"; } -.fa-map-location-dot, -.fa-map-marked-alt { - --fa: "\f5a0"; +.fa-stroopwafel:before { + content: "\f551"; } -.fa-jedi { - --fa: "\f669"; +.fa-bold:before { + content: "\f032"; } -.fa-poll, -.fa-square-poll-vertical { - --fa: "\f681"; +.fa-anchor-lock:before { + content: "\e4ad"; } -.fa-mug-hot { - --fa: "\f7b6"; +.fa-building-ngo:before { + content: "\e4d7"; } -.fa-battery-car, -.fa-car-battery { - --fa: "\f5df"; +.fa-manat-sign:before { + content: "\e1d5"; } -.fa-gift { - --fa: "\f06b"; +.fa-not-equal:before { + content: "\f53e"; } -.fa-dice-two { - --fa: "\f528"; +.fa-border-style:before, +.fa-border-top-left:before { + content: "\f853"; } -.fa-chess-queen { - --fa: "\f445"; +.fa-map-location-dot:before, +.fa-map-marked-alt:before { + content: "\f5a0"; } -.fa-glasses { - --fa: "\f530"; +.fa-jedi:before { + content: "\f669"; } -.fa-chess-board { - --fa: "\f43c"; +.fa-poll:before, +.fa-square-poll-vertical:before { + content: "\f681"; } -.fa-building-circle-check { - --fa: "\e4d2"; +.fa-mug-hot:before { + content: "\f7b6"; } -.fa-person-chalkboard { - --fa: "\e53d"; +.fa-battery-car:before, +.fa-car-battery:before { + content: "\f5df"; } -.fa-mars-stroke-h, -.fa-mars-stroke-right { - --fa: "\f22b"; +.fa-gift:before { + content: "\f06b"; } -.fa-hand-back-fist, -.fa-hand-rock { - --fa: "\f255"; +.fa-dice-two:before { + content: "\f528"; } -.fa-caret-square-up, -.fa-square-caret-up { - --fa: "\f151"; +.fa-chess-queen:before { + content: "\f445"; } -.fa-cloud-showers-water { - --fa: "\e4e4"; +.fa-glasses:before { + content: "\f530"; } -.fa-bar-chart, -.fa-chart-bar { - --fa: "\f080"; +.fa-chess-board:before { + content: "\f43c"; } -.fa-hands-bubbles, -.fa-hands-wash { - --fa: "\e05e"; +.fa-building-circle-check:before { + content: "\e4d2"; } -.fa-less-than-equal { - --fa: "\f537"; +.fa-person-chalkboard:before { + content: "\e53d"; } -.fa-train { - --fa: "\f238"; +.fa-mars-stroke-h:before, +.fa-mars-stroke-right:before { + content: "\f22b"; } -.fa-eye-low-vision, -.fa-low-vision { - --fa: "\f2a8"; +.fa-hand-back-fist:before, +.fa-hand-rock:before { + content: "\f255"; } -.fa-crow { - --fa: "\f520"; +.fa-caret-square-up:before, +.fa-square-caret-up:before { + content: "\f151"; } -.fa-sailboat { - --fa: "\e445"; +.fa-cloud-showers-water:before { + content: "\e4e4"; } -.fa-window-restore { - --fa: "\f2d2"; +.fa-bar-chart:before, +.fa-chart-bar:before { + content: "\f080"; } -.fa-plus-square, -.fa-square-plus { - --fa: "\f0fe"; +.fa-hands-bubbles:before, +.fa-hands-wash:before { + content: "\e05e"; } -.fa-torii-gate { - --fa: "\f6a1"; +.fa-less-than-equal:before { + content: "\f537"; } -.fa-frog { - --fa: "\f52e"; +.fa-train:before { + content: "\f238"; } -.fa-bucket { - --fa: "\e4cf"; +.fa-eye-low-vision:before, +.fa-low-vision:before { + content: "\f2a8"; } -.fa-image { - --fa: "\f03e"; +.fa-crow:before { + content: "\f520"; } -.fa-microphone { - --fa: "\f130"; +.fa-sailboat:before { + content: "\e445"; } -.fa-cow { - --fa: "\f6c8"; +.fa-window-restore:before { + content: "\f2d2"; } -.fa-caret-up { - --fa: "\f0d8"; +.fa-plus-square:before, +.fa-square-plus:before { + content: "\f0fe"; } -.fa-screwdriver { - --fa: "\f54a"; +.fa-torii-gate:before { + content: "\f6a1"; } -.fa-folder-closed { - --fa: "\e185"; +.fa-frog:before { + content: "\f52e"; } -.fa-house-tsunami { - --fa: "\e515"; +.fa-bucket:before { + content: "\e4cf"; } -.fa-square-nfi { - --fa: "\e576"; +.fa-image:before { + content: "\f03e"; } -.fa-arrow-up-from-ground-water { - --fa: "\e4b5"; +.fa-microphone:before { + content: "\f130"; } -.fa-glass-martini-alt, -.fa-martini-glass { - --fa: "\f57b"; +.fa-cow:before { + content: "\f6c8"; } -.fa-square-binary { - --fa: "\e69b"; +.fa-caret-up:before { + content: "\f0d8"; } -.fa-rotate-back, -.fa-rotate-backward, -.fa-rotate-left, -.fa-undo-alt { - --fa: "\f2ea"; +.fa-screwdriver:before { + content: "\f54a"; } -.fa-columns, -.fa-table-columns { - --fa: "\f0db"; +.fa-folder-closed:before { + content: "\e185"; } -.fa-lemon { - --fa: "\f094"; +.fa-house-tsunami:before { + content: "\e515"; } -.fa-head-side-mask { - --fa: "\e063"; +.fa-square-nfi:before { + content: "\e576"; } -.fa-handshake { - --fa: "\f2b5"; +.fa-arrow-up-from-ground-water:before { + content: "\e4b5"; } -.fa-gem { - --fa: "\f3a5"; +.fa-glass-martini-alt:before, +.fa-martini-glass:before { + content: "\f57b"; } -.fa-dolly, -.fa-dolly-box { - --fa: "\f472"; +.fa-rotate-back:before, +.fa-rotate-backward:before, +.fa-rotate-left:before, +.fa-undo-alt:before { + content: "\f2ea"; } -.fa-smoking { - --fa: "\f48d"; +.fa-columns:before, +.fa-table-columns:before { + content: "\f0db"; } -.fa-compress-arrows-alt, -.fa-minimize { - --fa: "\f78c"; +.fa-lemon:before { + content: "\f094"; } -.fa-monument { - --fa: "\f5a6"; +.fa-head-side-mask:before { + content: "\e063"; } -.fa-snowplow { - --fa: "\f7d2"; +.fa-handshake:before { + content: "\f2b5"; } -.fa-angle-double-right, -.fa-angles-right { - --fa: "\f101"; +.fa-gem:before { + content: "\f3a5"; } -.fa-cannabis { - --fa: "\f55f"; +.fa-dolly-box:before, +.fa-dolly:before { + content: "\f472"; } -.fa-circle-play, -.fa-play-circle { - --fa: "\f144"; +.fa-smoking:before { + content: "\f48d"; } -.fa-tablets { - --fa: "\f490"; +.fa-compress-arrows-alt:before, +.fa-minimize:before { + content: "\f78c"; } -.fa-ethernet { - --fa: "\f796"; +.fa-monument:before { + content: "\f5a6"; } -.fa-eur, -.fa-euro, -.fa-euro-sign { - --fa: "\f153"; +.fa-snowplow:before { + content: "\f7d2"; } -.fa-chair { - --fa: "\f6c0"; +.fa-angle-double-right:before, +.fa-angles-right:before { + content: "\f101"; } -.fa-check-circle, -.fa-circle-check { - --fa: "\f058"; +.fa-cannabis:before { + content: "\f55f"; } -.fa-circle-stop, -.fa-stop-circle { - --fa: "\f28d"; +.fa-circle-play:before, +.fa-play-circle:before { + content: "\f144"; } -.fa-compass-drafting, -.fa-drafting-compass { - --fa: "\f568"; +.fa-tablets:before { + content: "\f490"; } -.fa-plate-wheat { - --fa: "\e55a"; +.fa-ethernet:before { + content: "\f796"; } -.fa-icicles { - --fa: "\f7ad"; +.fa-eur:before, +.fa-euro-sign:before, +.fa-euro:before { + content: "\f153"; } -.fa-person-shelter { - --fa: "\e54f"; +.fa-chair:before { + content: "\f6c0"; } -.fa-neuter { - --fa: "\f22c"; +.fa-check-circle:before, +.fa-circle-check:before { + content: "\f058"; } -.fa-id-badge { - --fa: "\f2c1"; +.fa-circle-stop:before, +.fa-stop-circle:before { + content: "\f28d"; } -.fa-marker { - --fa: "\f5a1"; +.fa-compass-drafting:before, +.fa-drafting-compass:before { + content: "\f568"; } -.fa-face-laugh-beam, -.fa-laugh-beam { - --fa: "\f59a"; +.fa-plate-wheat:before { + content: "\e55a"; } -.fa-helicopter-symbol { - --fa: "\e502"; +.fa-icicles:before { + content: "\f7ad"; } -.fa-universal-access { - --fa: "\f29a"; +.fa-person-shelter:before { + content: "\e54f"; } -.fa-chevron-circle-up, -.fa-circle-chevron-up { - --fa: "\f139"; +.fa-neuter:before { + content: "\f22c"; } -.fa-lari-sign { - --fa: "\e1c8"; +.fa-id-badge:before { + content: "\f2c1"; } -.fa-volcano { - --fa: "\f770"; +.fa-marker:before { + content: "\f5a1"; } -.fa-person-walking-dashed-line-arrow-right { - --fa: "\e553"; +.fa-face-laugh-beam:before, +.fa-laugh-beam:before { + content: "\f59a"; } -.fa-gbp, -.fa-pound-sign, -.fa-sterling-sign { - --fa: "\f154"; +.fa-helicopter-symbol:before { + content: "\e502"; } -.fa-viruses { - --fa: "\e076"; +.fa-universal-access:before { + content: "\f29a"; } -.fa-square-person-confined { - --fa: "\e577"; +.fa-chevron-circle-up:before, +.fa-circle-chevron-up:before { + content: "\f139"; } -.fa-user-tie { - --fa: "\f508"; +.fa-lari-sign:before { + content: "\e1c8"; } -.fa-arrow-down-long, -.fa-long-arrow-down { - --fa: "\f175"; +.fa-volcano:before { + content: "\f770"; } -.fa-tent-arrow-down-to-line { - --fa: "\e57e"; +.fa-person-walking-dashed-line-arrow-right:before { + content: "\e553"; } -.fa-certificate { - --fa: "\f0a3"; +.fa-gbp:before, +.fa-pound-sign:before, +.fa-sterling-sign:before { + content: "\f154"; } -.fa-mail-reply-all, -.fa-reply-all { - --fa: "\f122"; +.fa-viruses:before { + content: "\e076"; } -.fa-suitcase { - --fa: "\f0f2"; +.fa-square-person-confined:before { + content: "\e577"; } -.fa-person-skating, -.fa-skating { - --fa: "\f7c5"; +.fa-user-tie:before { + content: "\f508"; } -.fa-filter-circle-dollar, -.fa-funnel-dollar { - --fa: "\f662"; +.fa-arrow-down-long:before, +.fa-long-arrow-down:before { + content: "\f175"; } -.fa-camera-retro { - --fa: "\f083"; +.fa-tent-arrow-down-to-line:before { + content: "\e57e"; } -.fa-arrow-circle-down, -.fa-circle-arrow-down { - --fa: "\f0ab"; +.fa-certificate:before { + content: "\f0a3"; } -.fa-arrow-right-to-file, -.fa-file-import { - --fa: "\f56f"; +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; } -.fa-external-link-square, -.fa-square-arrow-up-right { - --fa: "\f14c"; +.fa-suitcase:before { + content: "\f0f2"; } -.fa-box-open { - --fa: "\f49e"; +.fa-person-skating:before, +.fa-skating:before { + content: "\f7c5"; } -.fa-scroll { - --fa: "\f70e"; +.fa-filter-circle-dollar:before, +.fa-funnel-dollar:before { + content: "\f662"; } -.fa-spa { - --fa: "\f5bb"; +.fa-camera-retro:before { + content: "\f083"; } -.fa-location-pin-lock { - --fa: "\e51f"; +.fa-arrow-circle-down:before, +.fa-circle-arrow-down:before { + content: "\f0ab"; } -.fa-pause { - --fa: "\f04c"; +.fa-arrow-right-to-file:before, +.fa-file-import:before { + content: "\f56f"; } -.fa-hill-avalanche { - --fa: "\e507"; +.fa-external-link-square:before, +.fa-square-arrow-up-right:before { + content: "\f14c"; } -.fa-temperature-0, -.fa-temperature-empty, -.fa-thermometer-0, -.fa-thermometer-empty { - --fa: "\f2cb"; +.fa-box-open:before { + content: "\f49e"; } -.fa-bomb { - --fa: "\f1e2"; +.fa-scroll:before { + content: "\f70e"; } -.fa-registered { - --fa: "\f25d"; +.fa-spa:before { + content: "\f5bb"; } -.fa-address-card, -.fa-contact-card, -.fa-vcard { - --fa: "\f2bb"; +.fa-location-pin-lock:before { + content: "\e51f"; } -.fa-balance-scale-right, -.fa-scale-unbalanced-flip { - --fa: "\f516"; +.fa-pause:before { + content: "\f04c"; } -.fa-subscript { - --fa: "\f12c"; +.fa-hill-avalanche:before { + content: "\e507"; } -.fa-diamond-turn-right, -.fa-directions { - --fa: "\f5eb"; +.fa-temperature-0:before, +.fa-temperature-empty:before, +.fa-thermometer-0:before, +.fa-thermometer-empty:before { + content: "\f2cb"; } -.fa-burst { - --fa: "\e4dc"; +.fa-bomb:before { + content: "\f1e2"; } -.fa-house-laptop, -.fa-laptop-house { - --fa: "\e066"; +.fa-registered:before { + content: "\f25d"; } -.fa-face-tired, -.fa-tired { - --fa: "\f5c8"; +.fa-address-card:before, +.fa-contact-card:before, +.fa-vcard:before { + content: "\f2bb"; } -.fa-money-bills { - --fa: "\e1f3"; +.fa-balance-scale-right:before, +.fa-scale-unbalanced-flip:before { + content: "\f516"; } -.fa-smog { - --fa: "\f75f"; +.fa-subscript:before { + content: "\f12c"; } -.fa-crutch { - --fa: "\f7f7"; +.fa-diamond-turn-right:before, +.fa-directions:before { + content: "\f5eb"; } -.fa-cloud-arrow-up, -.fa-cloud-upload, -.fa-cloud-upload-alt { - --fa: "\f0ee"; +.fa-burst:before { + content: "\e4dc"; } -.fa-palette { - --fa: "\f53f"; +.fa-house-laptop:before, +.fa-laptop-house:before { + content: "\e066"; } -.fa-arrows-turn-right { - --fa: "\e4c0"; +.fa-face-tired:before, +.fa-tired:before { + content: "\f5c8"; } -.fa-vest { - --fa: "\e085"; +.fa-money-bills:before { + content: "\e1f3"; } -.fa-ferry { - --fa: "\e4ea"; +.fa-smog:before { + content: "\f75f"; } -.fa-arrows-down-to-people { - --fa: "\e4b9"; +.fa-crutch:before { + content: "\f7f7"; } -.fa-seedling, -.fa-sprout { - --fa: "\f4d8"; +.fa-cloud-arrow-up:before, +.fa-cloud-upload-alt:before, +.fa-cloud-upload:before { + content: "\f0ee"; } -.fa-arrows-alt-h, -.fa-left-right { - --fa: "\f337"; +.fa-palette:before { + content: "\f53f"; } -.fa-boxes-packing { - --fa: "\e4c7"; +.fa-arrows-turn-right:before { + content: "\e4c0"; } -.fa-arrow-circle-left, -.fa-circle-arrow-left { - --fa: "\f0a8"; +.fa-vest:before { + content: "\e085"; } -.fa-group-arrows-rotate { - --fa: "\e4f6"; +.fa-ferry:before { + content: "\e4ea"; } -.fa-bowl-food { - --fa: "\e4c6"; +.fa-arrows-down-to-people:before { + content: "\e4b9"; } -.fa-candy-cane { - --fa: "\f786"; +.fa-seedling:before, +.fa-sprout:before { + content: "\f4d8"; } -.fa-arrow-down-wide-short, -.fa-sort-amount-asc, -.fa-sort-amount-down { - --fa: "\f160"; +.fa-arrows-alt-h:before, +.fa-left-right:before { + content: "\f337"; } -.fa-cloud-bolt, -.fa-thunderstorm { - --fa: "\f76c"; +.fa-boxes-packing:before { + content: "\e4c7"; } -.fa-remove-format, -.fa-text-slash { - --fa: "\f87d"; +.fa-arrow-circle-left:before, +.fa-circle-arrow-left:before { + content: "\f0a8"; } -.fa-face-smile-wink, -.fa-smile-wink { - --fa: "\f4da"; +.fa-group-arrows-rotate:before { + content: "\e4f6"; } -.fa-file-word { - --fa: "\f1c2"; +.fa-bowl-food:before { + content: "\e4c6"; } -.fa-file-powerpoint { - --fa: "\f1c4"; +.fa-candy-cane:before { + content: "\f786"; } -.fa-arrows-h, -.fa-arrows-left-right { - --fa: "\f07e"; +.fa-arrow-down-wide-short:before, +.fa-sort-amount-asc:before, +.fa-sort-amount-down:before { + content: "\f160"; } -.fa-house-lock { - --fa: "\e510"; +.fa-cloud-bolt:before, +.fa-thunderstorm:before { + content: "\f76c"; } -.fa-cloud-arrow-down, -.fa-cloud-download, -.fa-cloud-download-alt { - --fa: "\f0ed"; +.fa-remove-format:before, +.fa-text-slash:before { + content: "\f87d"; } -.fa-children { - --fa: "\e4e1"; +.fa-face-smile-wink:before, +.fa-smile-wink:before { + content: "\f4da"; } -.fa-blackboard, -.fa-chalkboard { - --fa: "\f51b"; +.fa-file-word:before { + content: "\f1c2"; } -.fa-user-alt-slash, -.fa-user-large-slash { - --fa: "\f4fa"; +.fa-file-powerpoint:before { + content: "\f1c4"; } -.fa-envelope-open { - --fa: "\f2b6"; +.fa-arrows-h:before, +.fa-arrows-left-right:before { + content: "\f07e"; } -.fa-handshake-alt-slash, -.fa-handshake-simple-slash { - --fa: "\e05f"; +.fa-house-lock:before { + content: "\e510"; } -.fa-mattress-pillow { - --fa: "\e525"; +.fa-cloud-arrow-down:before, +.fa-cloud-download-alt:before, +.fa-cloud-download:before { + content: "\f0ed"; } -.fa-guarani-sign { - --fa: "\e19a"; +.fa-children:before { + content: "\e4e1"; } -.fa-arrows-rotate, -.fa-refresh, -.fa-sync { - --fa: "\f021"; +.fa-blackboard:before, +.fa-chalkboard:before { + content: "\f51b"; } -.fa-fire-extinguisher { - --fa: "\f134"; +.fa-user-alt-slash:before, +.fa-user-large-slash:before { + content: "\f4fa"; } -.fa-cruzeiro-sign { - --fa: "\e152"; +.fa-envelope-open:before { + content: "\f2b6"; } -.fa-greater-than-equal { - --fa: "\f532"; +.fa-handshake-alt-slash:before, +.fa-handshake-simple-slash:before { + content: "\e05f"; } -.fa-shield-alt, -.fa-shield-halved { - --fa: "\f3ed"; +.fa-mattress-pillow:before { + content: "\e525"; } -.fa-atlas, -.fa-book-atlas { - --fa: "\f558"; +.fa-guarani-sign:before { + content: "\e19a"; } -.fa-virus { - --fa: "\e074"; +.fa-arrows-rotate:before, +.fa-refresh:before, +.fa-sync:before { + content: "\f021"; } -.fa-envelope-circle-check { - --fa: "\e4e8"; +.fa-fire-extinguisher:before { + content: "\f134"; } -.fa-layer-group { - --fa: "\f5fd"; +.fa-cruzeiro-sign:before { + content: "\e152"; } -.fa-arrows-to-dot { - --fa: "\e4be"; +.fa-greater-than-equal:before { + content: "\f532"; } -.fa-archway { - --fa: "\f557"; +.fa-shield-alt:before, +.fa-shield-halved:before { + content: "\f3ed"; } -.fa-heart-circle-check { - --fa: "\e4fd"; +.fa-atlas:before, +.fa-book-atlas:before { + content: "\f558"; } -.fa-house-chimney-crack, -.fa-house-damage { - --fa: "\f6f1"; +.fa-virus:before { + content: "\e074"; } -.fa-file-archive, -.fa-file-zipper { - --fa: "\f1c6"; +.fa-envelope-circle-check:before { + content: "\e4e8"; } -.fa-square { - --fa: "\f0c8"; +.fa-layer-group:before { + content: "\f5fd"; } -.fa-glass-martini, -.fa-martini-glass-empty { - --fa: "\f000"; +.fa-arrows-to-dot:before { + content: "\e4be"; } -.fa-couch { - --fa: "\f4b8"; +.fa-archway:before { + content: "\f557"; } -.fa-cedi-sign { - --fa: "\e0df"; +.fa-heart-circle-check:before { + content: "\e4fd"; } -.fa-italic { - --fa: "\f033"; +.fa-house-chimney-crack:before, +.fa-house-damage:before { + content: "\f6f1"; } -.fa-table-cells-column-lock { - --fa: "\e678"; +.fa-file-archive:before, +.fa-file-zipper:before { + content: "\f1c6"; } -.fa-church { - --fa: "\f51d"; +.fa-square:before { + content: "\f0c8"; } -.fa-comments-dollar { - --fa: "\f653"; +.fa-glass-martini:before, +.fa-martini-glass-empty:before { + content: "\f000"; } -.fa-democrat { - --fa: "\f747"; +.fa-couch:before { + content: "\f4b8"; } -.fa-z { - --fa: "\5a"; +.fa-cedi-sign:before { + content: "\e0df"; } -.fa-person-skiing, -.fa-skiing { - --fa: "\f7c9"; +.fa-italic:before { + content: "\f033"; } -.fa-road-lock { - --fa: "\e567"; +.fa-table-cells-column-lock:before { + content: "\e678"; } -.fa-a { - --fa: "\41"; +.fa-church:before { + content: "\f51d"; } -.fa-temperature-arrow-down, -.fa-temperature-down { - --fa: "\e03f"; +.fa-comments-dollar:before { + content: "\f653"; } -.fa-feather-alt, -.fa-feather-pointed { - --fa: "\f56b"; +.fa-democrat:before { + content: "\f747"; } -.fa-p { - --fa: "\50"; +.fa-z:before { + content: "\5a"; } -.fa-snowflake { - --fa: "\f2dc"; +.fa-person-skiing:before, +.fa-skiing:before { + content: "\f7c9"; } -.fa-newspaper { - --fa: "\f1ea"; +.fa-road-lock:before { + content: "\e567"; } -.fa-ad, -.fa-rectangle-ad { - --fa: "\f641"; +.fa-a:before { + content: "\41"; } -.fa-arrow-circle-right, -.fa-circle-arrow-right { - --fa: "\f0a9"; +.fa-temperature-arrow-down:before, +.fa-temperature-down:before { + content: "\e03f"; } -.fa-filter-circle-xmark { - --fa: "\e17b"; +.fa-feather-alt:before, +.fa-feather-pointed:before { + content: "\f56b"; } -.fa-locust { - --fa: "\e520"; +.fa-p:before { + content: "\50"; } -.fa-sort, -.fa-unsorted { - --fa: "\f0dc"; +.fa-snowflake:before { + content: "\f2dc"; } -.fa-list-1-2, -.fa-list-numeric, -.fa-list-ol { - --fa: "\f0cb"; +.fa-newspaper:before { + content: "\f1ea"; } -.fa-person-dress-burst { - --fa: "\e544"; +.fa-ad:before, +.fa-rectangle-ad:before { + content: "\f641"; } -.fa-money-check-alt, -.fa-money-check-dollar { - --fa: "\f53d"; +.fa-arrow-circle-right:before, +.fa-circle-arrow-right:before { + content: "\f0a9"; } -.fa-vector-square { - --fa: "\f5cb"; +.fa-filter-circle-xmark:before { + content: "\e17b"; } -.fa-bread-slice { - --fa: "\f7ec"; +.fa-locust:before { + content: "\e520"; } -.fa-language { - --fa: "\f1ab"; +.fa-sort:before, +.fa-unsorted:before { + content: "\f0dc"; } -.fa-face-kiss-wink-heart, -.fa-kiss-wink-heart { - --fa: "\f598"; +.fa-list-1-2:before, +.fa-list-numeric:before, +.fa-list-ol:before { + content: "\f0cb"; } -.fa-filter { - --fa: "\f0b0"; +.fa-person-dress-burst:before { + content: "\e544"; } -.fa-question { - --fa: "\3f"; +.fa-money-check-alt:before, +.fa-money-check-dollar:before { + content: "\f53d"; } -.fa-file-signature { - --fa: "\f573"; +.fa-vector-square:before { + content: "\f5cb"; } -.fa-arrows-alt, -.fa-up-down-left-right { - --fa: "\f0b2"; +.fa-bread-slice:before { + content: "\f7ec"; } -.fa-house-chimney-user { - --fa: "\e065"; +.fa-language:before { + content: "\f1ab"; } -.fa-hand-holding-heart { - --fa: "\f4be"; +.fa-face-kiss-wink-heart:before, +.fa-kiss-wink-heart:before { + content: "\f598"; } -.fa-puzzle-piece { - --fa: "\f12e"; +.fa-filter:before { + content: "\f0b0"; } -.fa-money-check { - --fa: "\f53c"; +.fa-question:before { + content: "\3f"; } -.fa-star-half-alt, -.fa-star-half-stroke { - --fa: "\f5c0"; +.fa-file-signature:before { + content: "\f573"; } -.fa-code { - --fa: "\f121"; +.fa-arrows-alt:before, +.fa-up-down-left-right:before { + content: "\f0b2"; } -.fa-glass-whiskey, -.fa-whiskey-glass { - --fa: "\f7a0"; +.fa-house-chimney-user:before { + content: "\e065"; } -.fa-building-circle-exclamation { - --fa: "\e4d3"; +.fa-hand-holding-heart:before { + content: "\f4be"; } -.fa-magnifying-glass-chart { - --fa: "\e522"; +.fa-puzzle-piece:before { + content: "\f12e"; } -.fa-arrow-up-right-from-square, -.fa-external-link { - --fa: "\f08e"; +.fa-money-check:before { + content: "\f53c"; } -.fa-cubes-stacked { - --fa: "\e4e6"; +.fa-star-half-alt:before, +.fa-star-half-stroke:before { + content: "\f5c0"; } -.fa-krw, -.fa-won, -.fa-won-sign { - --fa: "\f159"; +.fa-code:before { + content: "\f121"; } -.fa-virus-covid { - --fa: "\e4a8"; +.fa-glass-whiskey:before, +.fa-whiskey-glass:before { + content: "\f7a0"; } -.fa-austral-sign { - --fa: "\e0a9"; +.fa-building-circle-exclamation:before { + content: "\e4d3"; } -.fa-f { - --fa: "\46"; +.fa-magnifying-glass-chart:before { + content: "\e522"; } -.fa-leaf { - --fa: "\f06c"; +.fa-arrow-up-right-from-square:before, +.fa-external-link:before { + content: "\f08e"; } -.fa-road { - --fa: "\f018"; +.fa-cubes-stacked:before { + content: "\e4e6"; } -.fa-cab, -.fa-taxi { - --fa: "\f1ba"; +.fa-krw:before, +.fa-won-sign:before, +.fa-won:before { + content: "\f159"; } -.fa-person-circle-plus { - --fa: "\e541"; +.fa-virus-covid:before { + content: "\e4a8"; } -.fa-chart-pie, -.fa-pie-chart { - --fa: "\f200"; +.fa-austral-sign:before { + content: "\e0a9"; } -.fa-bolt-lightning { - --fa: "\e0b7"; +.fa-f:before { + content: "\46"; } -.fa-sack-xmark { - --fa: "\e56a"; +.fa-leaf:before { + content: "\f06c"; } -.fa-file-excel { - --fa: "\f1c3"; +.fa-road:before { + content: "\f018"; } -.fa-file-contract { - --fa: "\f56c"; +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; } -.fa-fish-fins { - --fa: "\e4f2"; +.fa-person-circle-plus:before { + content: "\e541"; } -.fa-building-flag { - --fa: "\e4d5"; +.fa-chart-pie:before, +.fa-pie-chart:before { + content: "\f200"; } -.fa-face-grin-beam, -.fa-grin-beam { - --fa: "\f582"; +.fa-bolt-lightning:before { + content: "\e0b7"; } -.fa-object-ungroup { - --fa: "\f248"; +.fa-sack-xmark:before { + content: "\e56a"; } -.fa-poop { - --fa: "\f619"; +.fa-file-excel:before { + content: "\f1c3"; } -.fa-location-pin, -.fa-map-marker { - --fa: "\f041"; +.fa-file-contract:before { + content: "\f56c"; } -.fa-kaaba { - --fa: "\f66b"; +.fa-fish-fins:before { + content: "\e4f2"; } -.fa-toilet-paper { - --fa: "\f71e"; +.fa-building-flag:before { + content: "\e4d5"; } -.fa-hard-hat, -.fa-hat-hard, -.fa-helmet-safety { - --fa: "\f807"; +.fa-face-grin-beam:before, +.fa-grin-beam:before { + content: "\f582"; } -.fa-eject { - --fa: "\f052"; +.fa-object-ungroup:before { + content: "\f248"; } -.fa-arrow-alt-circle-right, -.fa-circle-right { - --fa: "\f35a"; +.fa-poop:before { + content: "\f619"; } -.fa-plane-circle-check { - --fa: "\e555"; +.fa-location-pin:before, +.fa-map-marker:before { + content: "\f041"; } -.fa-face-rolling-eyes, -.fa-meh-rolling-eyes { - --fa: "\f5a5"; +.fa-kaaba:before { + content: "\f66b"; } -.fa-object-group { - --fa: "\f247"; +.fa-toilet-paper:before { + content: "\f71e"; } -.fa-chart-line, -.fa-line-chart { - --fa: "\f201"; +.fa-hard-hat:before, +.fa-hat-hard:before, +.fa-helmet-safety:before { + content: "\f807"; } -.fa-mask-ventilator { - --fa: "\e524"; +.fa-eject:before { + content: "\f052"; } -.fa-arrow-right { - --fa: "\f061"; +.fa-arrow-alt-circle-right:before, +.fa-circle-right:before { + content: "\f35a"; } -.fa-map-signs, -.fa-signs-post { - --fa: "\f277"; +.fa-plane-circle-check:before { + content: "\e555"; } -.fa-cash-register { - --fa: "\f788"; +.fa-face-rolling-eyes:before, +.fa-meh-rolling-eyes:before { + content: "\f5a5"; } -.fa-person-circle-question { - --fa: "\e542"; +.fa-object-group:before { + content: "\f247"; } -.fa-h { - --fa: "\48"; +.fa-chart-line:before, +.fa-line-chart:before { + content: "\f201"; } -.fa-tarp { - --fa: "\e57b"; +.fa-mask-ventilator:before { + content: "\e524"; } -.fa-screwdriver-wrench, -.fa-tools { - --fa: "\f7d9"; +.fa-arrow-right:before { + content: "\f061"; } -.fa-arrows-to-eye { - --fa: "\e4bf"; +.fa-map-signs:before, +.fa-signs-post:before { + content: "\f277"; } -.fa-plug-circle-bolt { - --fa: "\e55b"; +.fa-cash-register:before { + content: "\f788"; } -.fa-heart { - --fa: "\f004"; +.fa-person-circle-question:before { + content: "\e542"; } -.fa-mars-and-venus { - --fa: "\f224"; +.fa-h:before { + content: "\48"; } -.fa-home-user, -.fa-house-user { - --fa: "\e1b0"; +.fa-tarp:before { + content: "\e57b"; } -.fa-dumpster-fire { - --fa: "\f794"; +.fa-screwdriver-wrench:before, +.fa-tools:before { + content: "\f7d9"; } -.fa-house-crack { - --fa: "\e3b1"; +.fa-arrows-to-eye:before { + content: "\e4bf"; } -.fa-cocktail, -.fa-martini-glass-citrus { - --fa: "\f561"; +.fa-plug-circle-bolt:before { + content: "\e55b"; } -.fa-face-surprise, -.fa-surprise { - --fa: "\f5c2"; +.fa-heart:before { + content: "\f004"; } -.fa-bottle-water { - --fa: "\e4c5"; +.fa-mars-and-venus:before { + content: "\f224"; } -.fa-circle-pause, -.fa-pause-circle { - --fa: "\f28b"; +.fa-home-user:before, +.fa-house-user:before { + content: "\e1b0"; } -.fa-toilet-paper-slash { - --fa: "\e072"; +.fa-dumpster-fire:before { + content: "\f794"; } -.fa-apple-alt, -.fa-apple-whole { - --fa: "\f5d1"; +.fa-house-crack:before { + content: "\e3b1"; } -.fa-kitchen-set { - --fa: "\e51a"; +.fa-cocktail:before, +.fa-martini-glass-citrus:before { + content: "\f561"; } -.fa-r { - --fa: "\52"; +.fa-face-surprise:before, +.fa-surprise:before { + content: "\f5c2"; } -.fa-temperature-1, -.fa-temperature-quarter, -.fa-thermometer-1, -.fa-thermometer-quarter { - --fa: "\f2ca"; +.fa-bottle-water:before { + content: "\e4c5"; } -.fa-cube { - --fa: "\f1b2"; +.fa-circle-pause:before, +.fa-pause-circle:before { + content: "\f28b"; } -.fa-bitcoin-sign { - --fa: "\e0b4"; +.fa-toilet-paper-slash:before { + content: "\e072"; } -.fa-shield-dog { - --fa: "\e573"; +.fa-apple-alt:before, +.fa-apple-whole:before { + content: "\f5d1"; } -.fa-solar-panel { - --fa: "\f5ba"; +.fa-kitchen-set:before { + content: "\e51a"; } -.fa-lock-open { - --fa: "\f3c1"; +.fa-r:before { + content: "\52"; } -.fa-elevator { - --fa: "\e16d"; +.fa-temperature-1:before, +.fa-temperature-quarter:before, +.fa-thermometer-1:before, +.fa-thermometer-quarter:before { + content: "\f2ca"; } -.fa-money-bill-transfer { - --fa: "\e528"; +.fa-cube:before { + content: "\f1b2"; } -.fa-money-bill-trend-up { - --fa: "\e529"; +.fa-bitcoin-sign:before { + content: "\e0b4"; } -.fa-house-flood-water-circle-arrow-right { - --fa: "\e50f"; +.fa-shield-dog:before { + content: "\e573"; } -.fa-poll-h, -.fa-square-poll-horizontal { - --fa: "\f682"; +.fa-solar-panel:before { + content: "\f5ba"; } -.fa-circle { - --fa: "\f111"; +.fa-lock-open:before { + content: "\f3c1"; } -.fa-backward-fast, -.fa-fast-backward { - --fa: "\f049"; +.fa-elevator:before { + content: "\e16d"; } -.fa-recycle { - --fa: "\f1b8"; +.fa-money-bill-transfer:before { + content: "\e528"; } -.fa-user-astronaut { - --fa: "\f4fb"; +.fa-money-bill-trend-up:before { + content: "\e529"; } -.fa-plane-slash { - --fa: "\e069"; +.fa-house-flood-water-circle-arrow-right:before { + content: "\e50f"; } -.fa-trademark { - --fa: "\f25c"; +.fa-poll-h:before, +.fa-square-poll-horizontal:before { + content: "\f682"; } -.fa-basketball, -.fa-basketball-ball { - --fa: "\f434"; +.fa-circle:before { + content: "\f111"; } -.fa-satellite-dish { - --fa: "\f7c0"; +.fa-backward-fast:before, +.fa-fast-backward:before { + content: "\f049"; } -.fa-arrow-alt-circle-up, -.fa-circle-up { - --fa: "\f35b"; +.fa-recycle:before { + content: "\f1b8"; } -.fa-mobile-alt, -.fa-mobile-screen-button { - --fa: "\f3cd"; +.fa-user-astronaut:before { + content: "\f4fb"; } -.fa-volume-high, -.fa-volume-up { - --fa: "\f028"; +.fa-plane-slash:before { + content: "\e069"; } -.fa-users-rays { - --fa: "\e593"; +.fa-trademark:before { + content: "\f25c"; } -.fa-wallet { - --fa: "\f555"; +.fa-basketball-ball:before, +.fa-basketball:before { + content: "\f434"; } -.fa-clipboard-check { - --fa: "\f46c"; +.fa-satellite-dish:before { + content: "\f7c0"; } -.fa-file-audio { - --fa: "\f1c7"; +.fa-arrow-alt-circle-up:before, +.fa-circle-up:before { + content: "\f35b"; } -.fa-burger, -.fa-hamburger { - --fa: "\f805"; +.fa-mobile-alt:before, +.fa-mobile-screen-button:before { + content: "\f3cd"; } -.fa-wrench { - --fa: "\f0ad"; +.fa-volume-high:before, +.fa-volume-up:before { + content: "\f028"; } -.fa-bugs { - --fa: "\e4d0"; +.fa-users-rays:before { + content: "\e593"; } -.fa-rupee, -.fa-rupee-sign { - --fa: "\f156"; +.fa-wallet:before { + content: "\f555"; } -.fa-file-image { - --fa: "\f1c5"; +.fa-clipboard-check:before { + content: "\f46c"; } -.fa-circle-question, -.fa-question-circle { - --fa: "\f059"; +.fa-file-audio:before { + content: "\f1c7"; } -.fa-plane-departure { - --fa: "\f5b0"; +.fa-burger:before, +.fa-hamburger:before { + content: "\f805"; } -.fa-handshake-slash { - --fa: "\e060"; +.fa-wrench:before { + content: "\f0ad"; } -.fa-book-bookmark { - --fa: "\e0bb"; +.fa-bugs:before { + content: "\e4d0"; } -.fa-code-branch { - --fa: "\f126"; +.fa-rupee-sign:before, +.fa-rupee:before { + content: "\f156"; } -.fa-hat-cowboy { - --fa: "\f8c0"; +.fa-file-image:before { + content: "\f1c5"; } -.fa-bridge { - --fa: "\e4c8"; +.fa-circle-question:before, +.fa-question-circle:before { + content: "\f059"; } -.fa-phone-alt, -.fa-phone-flip { - --fa: "\f879"; +.fa-plane-departure:before { + content: "\f5b0"; } -.fa-truck-front { - --fa: "\e2b7"; +.fa-handshake-slash:before { + content: "\e060"; } -.fa-cat { - --fa: "\f6be"; +.fa-book-bookmark:before { + content: "\e0bb"; } -.fa-anchor-circle-exclamation { - --fa: "\e4ab"; +.fa-code-branch:before { + content: "\f126"; } -.fa-truck-field { - --fa: "\e58d"; +.fa-hat-cowboy:before { + content: "\f8c0"; } -.fa-route { - --fa: "\f4d7"; +.fa-bridge:before { + content: "\e4c8"; } -.fa-clipboard-question { - --fa: "\e4e3"; +.fa-phone-alt:before, +.fa-phone-flip:before { + content: "\f879"; } -.fa-panorama { - --fa: "\e209"; +.fa-truck-front:before { + content: "\e2b7"; } -.fa-comment-medical { - --fa: "\f7f5"; +.fa-cat:before { + content: "\f6be"; } -.fa-teeth-open { - --fa: "\f62f"; +.fa-anchor-circle-exclamation:before { + content: "\e4ab"; } -.fa-file-circle-minus { - --fa: "\e4ed"; +.fa-truck-field:before { + content: "\e58d"; } -.fa-tags { - --fa: "\f02c"; +.fa-route:before { + content: "\f4d7"; } -.fa-wine-glass { - --fa: "\f4e3"; +.fa-clipboard-question:before { + content: "\e4e3"; } -.fa-fast-forward, -.fa-forward-fast { - --fa: "\f050"; +.fa-panorama:before { + content: "\e209"; } -.fa-face-meh-blank, -.fa-meh-blank { - --fa: "\f5a4"; +.fa-comment-medical:before { + content: "\f7f5"; } -.fa-parking, -.fa-square-parking { - --fa: "\f540"; +.fa-teeth-open:before { + content: "\f62f"; } -.fa-house-signal { - --fa: "\e012"; +.fa-file-circle-minus:before { + content: "\e4ed"; } -.fa-bars-progress, -.fa-tasks-alt { - --fa: "\f828"; +.fa-tags:before { + content: "\f02c"; } -.fa-faucet-drip { - --fa: "\e006"; +.fa-wine-glass:before { + content: "\f4e3"; } -.fa-cart-flatbed, -.fa-dolly-flatbed { - --fa: "\f474"; +.fa-fast-forward:before, +.fa-forward-fast:before { + content: "\f050"; } -.fa-ban-smoking, -.fa-smoking-ban { - --fa: "\f54d"; +.fa-face-meh-blank:before, +.fa-meh-blank:before { + content: "\f5a4"; } -.fa-terminal { - --fa: "\f120"; +.fa-parking:before, +.fa-square-parking:before { + content: "\f540"; } -.fa-mobile-button { - --fa: "\f10b"; +.fa-house-signal:before { + content: "\e012"; } -.fa-house-medical-flag { - --fa: "\e514"; +.fa-bars-progress:before, +.fa-tasks-alt:before { + content: "\f828"; } -.fa-basket-shopping, -.fa-shopping-basket { - --fa: "\f291"; +.fa-faucet-drip:before { + content: "\e006"; } -.fa-tape { - --fa: "\f4db"; +.fa-cart-flatbed:before, +.fa-dolly-flatbed:before { + content: "\f474"; } -.fa-bus-alt, -.fa-bus-simple { - --fa: "\f55e"; +.fa-ban-smoking:before, +.fa-smoking-ban:before { + content: "\f54d"; } -.fa-eye { - --fa: "\f06e"; +.fa-terminal:before { + content: "\f120"; } -.fa-face-sad-cry, -.fa-sad-cry { - --fa: "\f5b3"; +.fa-mobile-button:before { + content: "\f10b"; } -.fa-audio-description { - --fa: "\f29e"; +.fa-house-medical-flag:before { + content: "\e514"; } -.fa-person-military-to-person { - --fa: "\e54c"; +.fa-basket-shopping:before, +.fa-shopping-basket:before { + content: "\f291"; } -.fa-file-shield { - --fa: "\e4f0"; +.fa-tape:before { + content: "\f4db"; } -.fa-user-slash { - --fa: "\f506"; +.fa-bus-alt:before, +.fa-bus-simple:before { + content: "\f55e"; } -.fa-pen { - --fa: "\f304"; +.fa-eye:before { + content: "\f06e"; } -.fa-tower-observation { - --fa: "\e586"; +.fa-face-sad-cry:before, +.fa-sad-cry:before { + content: "\f5b3"; } -.fa-file-code { - --fa: "\f1c9"; +.fa-audio-description:before { + content: "\f29e"; } -.fa-signal, -.fa-signal-5, -.fa-signal-perfect { - --fa: "\f012"; +.fa-person-military-to-person:before { + content: "\e54c"; } -.fa-bus { - --fa: "\f207"; +.fa-file-shield:before { + content: "\e4f0"; } -.fa-heart-circle-xmark { - --fa: "\e501"; +.fa-user-slash:before { + content: "\f506"; } -.fa-home-lg, -.fa-house-chimney { - --fa: "\e3af"; +.fa-pen:before { + content: "\f304"; } -.fa-window-maximize { - --fa: "\f2d0"; +.fa-tower-observation:before { + content: "\e586"; } -.fa-face-frown, -.fa-frown { - --fa: "\f119"; +.fa-file-code:before { + content: "\f1c9"; } -.fa-prescription { - --fa: "\f5b1"; +.fa-signal-5:before, +.fa-signal-perfect:before, +.fa-signal:before { + content: "\f012"; } -.fa-shop, -.fa-store-alt { - --fa: "\f54f"; +.fa-bus:before { + content: "\f207"; } -.fa-floppy-disk, -.fa-save { - --fa: "\f0c7"; +.fa-heart-circle-xmark:before { + content: "\e501"; } -.fa-vihara { - --fa: "\f6a7"; +.fa-home-lg:before, +.fa-house-chimney:before { + content: "\e3af"; } -.fa-balance-scale-left, -.fa-scale-unbalanced { - --fa: "\f515"; +.fa-window-maximize:before { + content: "\f2d0"; } -.fa-sort-asc, -.fa-sort-up { - --fa: "\f0de"; +.fa-face-frown:before, +.fa-frown:before { + content: "\f119"; } -.fa-comment-dots, -.fa-commenting { - --fa: "\f4ad"; +.fa-prescription:before { + content: "\f5b1"; } -.fa-plant-wilt { - --fa: "\e5aa"; +.fa-shop:before, +.fa-store-alt:before { + content: "\f54f"; } -.fa-diamond { - --fa: "\f219"; +.fa-floppy-disk:before, +.fa-save:before { + content: "\f0c7"; } -.fa-face-grin-squint, -.fa-grin-squint { - --fa: "\f585"; +.fa-vihara:before { + content: "\f6a7"; } -.fa-hand-holding-dollar, -.fa-hand-holding-usd { - --fa: "\f4c0"; +.fa-balance-scale-left:before, +.fa-scale-unbalanced:before { + content: "\f515"; } -.fa-chart-diagram { - --fa: "\e695"; +.fa-sort-asc:before, +.fa-sort-up:before { + content: "\f0de"; } -.fa-bacterium { - --fa: "\e05a"; +.fa-comment-dots:before, +.fa-commenting:before { + content: "\f4ad"; } -.fa-hand-pointer { - --fa: "\f25a"; +.fa-plant-wilt:before { + content: "\e5aa"; } -.fa-drum-steelpan { - --fa: "\f56a"; +.fa-diamond:before { + content: "\f219"; } -.fa-hand-scissors { - --fa: "\f257"; +.fa-face-grin-squint:before, +.fa-grin-squint:before { + content: "\f585"; } -.fa-hands-praying, -.fa-praying-hands { - --fa: "\f684"; +.fa-hand-holding-dollar:before, +.fa-hand-holding-usd:before { + content: "\f4c0"; } -.fa-arrow-right-rotate, -.fa-arrow-rotate-forward, -.fa-arrow-rotate-right, -.fa-redo { - --fa: "\f01e"; +.fa-bacterium:before { + content: "\e05a"; } -.fa-biohazard { - --fa: "\f780"; +.fa-hand-pointer:before { + content: "\f25a"; } -.fa-location, -.fa-location-crosshairs { - --fa: "\f601"; +.fa-drum-steelpan:before { + content: "\f56a"; } -.fa-mars-double { - --fa: "\f227"; +.fa-hand-scissors:before { + content: "\f257"; } -.fa-child-dress { - --fa: "\e59c"; +.fa-hands-praying:before, +.fa-praying-hands:before { + content: "\f684"; } -.fa-users-between-lines { - --fa: "\e591"; +.fa-arrow-right-rotate:before, +.fa-arrow-rotate-forward:before, +.fa-arrow-rotate-right:before, +.fa-redo:before { + content: "\f01e"; } -.fa-lungs-virus { - --fa: "\e067"; +.fa-biohazard:before { + content: "\f780"; } -.fa-face-grin-tears, -.fa-grin-tears { - --fa: "\f588"; +.fa-location-crosshairs:before, +.fa-location:before { + content: "\f601"; } -.fa-phone { - --fa: "\f095"; +.fa-mars-double:before { + content: "\f227"; } -.fa-calendar-times, -.fa-calendar-xmark { - --fa: "\f273"; +.fa-child-dress:before { + content: "\e59c"; } -.fa-child-reaching { - --fa: "\e59d"; +.fa-users-between-lines:before { + content: "\e591"; } -.fa-head-side-virus { - --fa: "\e064"; +.fa-lungs-virus:before { + content: "\e067"; } -.fa-user-cog, -.fa-user-gear { - --fa: "\f4fe"; +.fa-face-grin-tears:before, +.fa-grin-tears:before { + content: "\f588"; } -.fa-arrow-up-1-9, -.fa-sort-numeric-up { - --fa: "\f163"; +.fa-phone:before { + content: "\f095"; } -.fa-door-closed { - --fa: "\f52a"; +.fa-calendar-times:before, +.fa-calendar-xmark:before { + content: "\f273"; } -.fa-shield-virus { - --fa: "\e06c"; +.fa-child-reaching:before { + content: "\e59d"; } -.fa-dice-six { - --fa: "\f526"; +.fa-head-side-virus:before { + content: "\e064"; } -.fa-mosquito-net { - --fa: "\e52c"; +.fa-user-cog:before, +.fa-user-gear:before { + content: "\f4fe"; } -.fa-file-fragment { - --fa: "\e697"; +.fa-arrow-up-1-9:before, +.fa-sort-numeric-up:before { + content: "\f163"; } -.fa-bridge-water { - --fa: "\e4ce"; +.fa-door-closed:before { + content: "\f52a"; } -.fa-person-booth { - --fa: "\f756"; +.fa-shield-virus:before { + content: "\e06c"; } -.fa-text-width { - --fa: "\f035"; +.fa-dice-six:before { + content: "\f526"; } -.fa-hat-wizard { - --fa: "\f6e8"; +.fa-mosquito-net:before { + content: "\e52c"; } -.fa-pen-fancy { - --fa: "\f5ac"; +.fa-bridge-water:before { + content: "\e4ce"; } -.fa-digging, -.fa-person-digging { - --fa: "\f85e"; +.fa-person-booth:before { + content: "\f756"; } -.fa-trash { - --fa: "\f1f8"; +.fa-text-width:before { + content: "\f035"; } -.fa-gauge-simple, -.fa-gauge-simple-med, -.fa-tachometer-average { - --fa: "\f629"; +.fa-hat-wizard:before { + content: "\f6e8"; } -.fa-book-medical { - --fa: "\f7e6"; +.fa-pen-fancy:before { + content: "\f5ac"; } -.fa-poo { - --fa: "\f2fe"; +.fa-digging:before, +.fa-person-digging:before { + content: "\f85e"; } -.fa-quote-right, -.fa-quote-right-alt { - --fa: "\f10e"; +.fa-trash:before { + content: "\f1f8"; } -.fa-shirt, -.fa-t-shirt, -.fa-tshirt { - --fa: "\f553"; +.fa-gauge-simple-med:before, +.fa-gauge-simple:before, +.fa-tachometer-average:before { + content: "\f629"; } -.fa-cubes { - --fa: "\f1b3"; +.fa-book-medical:before { + content: "\f7e6"; } -.fa-divide { - --fa: "\f529"; +.fa-poo:before { + content: "\f2fe"; } -.fa-tenge, -.fa-tenge-sign { - --fa: "\f7d7"; +.fa-quote-right-alt:before, +.fa-quote-right:before { + content: "\f10e"; } -.fa-headphones { - --fa: "\f025"; +.fa-shirt:before, +.fa-t-shirt:before, +.fa-tshirt:before { + content: "\f553"; } -.fa-hands-holding { - --fa: "\f4c2"; +.fa-cubes:before { + content: "\f1b3"; } -.fa-hands-clapping { - --fa: "\e1a8"; +.fa-divide:before { + content: "\f529"; } -.fa-republican { - --fa: "\f75e"; +.fa-tenge-sign:before, +.fa-tenge:before { + content: "\f7d7"; } -.fa-arrow-left { - --fa: "\f060"; +.fa-headphones:before { + content: "\f025"; } -.fa-person-circle-xmark { - --fa: "\e543"; +.fa-hands-holding:before { + content: "\f4c2"; } -.fa-ruler { - --fa: "\f545"; +.fa-hands-clapping:before { + content: "\e1a8"; } -.fa-align-left { - --fa: "\f036"; +.fa-republican:before { + content: "\f75e"; } -.fa-dice-d6 { - --fa: "\f6d1"; +.fa-arrow-left:before { + content: "\f060"; } -.fa-restroom { - --fa: "\f7bd"; +.fa-person-circle-xmark:before { + content: "\e543"; } -.fa-j { - --fa: "\4a"; +.fa-ruler:before { + content: "\f545"; } -.fa-users-viewfinder { - --fa: "\e595"; +.fa-align-left:before { + content: "\f036"; } -.fa-file-video { - --fa: "\f1c8"; +.fa-dice-d6:before { + content: "\f6d1"; } -.fa-external-link-alt, -.fa-up-right-from-square { - --fa: "\f35d"; +.fa-restroom:before { + content: "\f7bd"; } -.fa-table-cells, -.fa-th { - --fa: "\f00a"; +.fa-j:before { + content: "\4a"; } -.fa-file-pdf { - --fa: "\f1c1"; +.fa-users-viewfinder:before { + content: "\e595"; } -.fa-bible, -.fa-book-bible { - --fa: "\f647"; +.fa-file-video:before { + content: "\f1c8"; } -.fa-o { - --fa: "\4f"; +.fa-external-link-alt:before, +.fa-up-right-from-square:before { + content: "\f35d"; } -.fa-medkit, -.fa-suitcase-medical { - --fa: "\f0fa"; +.fa-table-cells:before, +.fa-th:before { + content: "\f00a"; } -.fa-user-secret { - --fa: "\f21b"; +.fa-file-pdf:before { + content: "\f1c1"; } -.fa-otter { - --fa: "\f700"; +.fa-bible:before, +.fa-book-bible:before { + content: "\f647"; } -.fa-female, -.fa-person-dress { - --fa: "\f182"; +.fa-o:before { + content: "\4f"; } -.fa-comment-dollar { - --fa: "\f651"; +.fa-medkit:before, +.fa-suitcase-medical:before { + content: "\f0fa"; } -.fa-briefcase-clock, -.fa-business-time { - --fa: "\f64a"; +.fa-user-secret:before { + content: "\f21b"; } -.fa-table-cells-large, -.fa-th-large { - --fa: "\f009"; +.fa-otter:before { + content: "\f700"; } -.fa-book-tanakh, -.fa-tanakh { - --fa: "\f827"; +.fa-female:before, +.fa-person-dress:before { + content: "\f182"; } -.fa-phone-volume, -.fa-volume-control-phone { - --fa: "\f2a0"; +.fa-comment-dollar:before { + content: "\f651"; } -.fa-hat-cowboy-side { - --fa: "\f8c1"; +.fa-briefcase-clock:before, +.fa-business-time:before { + content: "\f64a"; } -.fa-clipboard-user { - --fa: "\f7f3"; +.fa-table-cells-large:before, +.fa-th-large:before { + content: "\f009"; } -.fa-child { - --fa: "\f1ae"; +.fa-book-tanakh:before, +.fa-tanakh:before { + content: "\f827"; } -.fa-lira-sign { - --fa: "\f195"; +.fa-phone-volume:before, +.fa-volume-control-phone:before { + content: "\f2a0"; } -.fa-satellite { - --fa: "\f7bf"; +.fa-hat-cowboy-side:before { + content: "\f8c1"; } -.fa-plane-lock { - --fa: "\e558"; +.fa-clipboard-user:before { + content: "\f7f3"; } -.fa-tag { - --fa: "\f02b"; +.fa-child:before { + content: "\f1ae"; } -.fa-comment { - --fa: "\f075"; +.fa-lira-sign:before { + content: "\f195"; } -.fa-birthday-cake, -.fa-cake, -.fa-cake-candles { - --fa: "\f1fd"; +.fa-satellite:before { + content: "\f7bf"; } -.fa-envelope { - --fa: "\f0e0"; +.fa-plane-lock:before { + content: "\e558"; } -.fa-angle-double-up, -.fa-angles-up { - --fa: "\f102"; +.fa-tag:before { + content: "\f02b"; } -.fa-paperclip { - --fa: "\f0c6"; +.fa-comment:before { + content: "\f075"; } -.fa-arrow-right-to-city { - --fa: "\e4b3"; +.fa-birthday-cake:before, +.fa-cake-candles:before, +.fa-cake:before { + content: "\f1fd"; } -.fa-ribbon { - --fa: "\f4d6"; +.fa-envelope:before { + content: "\f0e0"; } -.fa-lungs { - --fa: "\f604"; +.fa-angle-double-up:before, +.fa-angles-up:before { + content: "\f102"; } -.fa-arrow-up-9-1, -.fa-sort-numeric-up-alt { - --fa: "\f887"; +.fa-paperclip:before { + content: "\f0c6"; } -.fa-litecoin-sign { - --fa: "\e1d3"; +.fa-arrow-right-to-city:before { + content: "\e4b3"; } -.fa-border-none { - --fa: "\f850"; +.fa-ribbon:before { + content: "\f4d6"; } -.fa-circle-nodes { - --fa: "\e4e2"; +.fa-lungs:before { + content: "\f604"; } -.fa-parachute-box { - --fa: "\f4cd"; +.fa-arrow-up-9-1:before, +.fa-sort-numeric-up-alt:before { + content: "\f887"; } -.fa-indent { - --fa: "\f03c"; +.fa-litecoin-sign:before { + content: "\e1d3"; } -.fa-truck-field-un { - --fa: "\e58e"; +.fa-border-none:before { + content: "\f850"; } -.fa-hourglass, -.fa-hourglass-empty { - --fa: "\f254"; +.fa-circle-nodes:before { + content: "\e4e2"; } -.fa-mountain { - --fa: "\f6fc"; +.fa-parachute-box:before { + content: "\f4cd"; } -.fa-user-doctor, -.fa-user-md { - --fa: "\f0f0"; +.fa-indent:before { + content: "\f03c"; } -.fa-circle-info, -.fa-info-circle { - --fa: "\f05a"; +.fa-truck-field-un:before { + content: "\e58e"; } -.fa-cloud-meatball { - --fa: "\f73b"; +.fa-hourglass-empty:before, +.fa-hourglass:before { + content: "\f254"; } -.fa-camera, -.fa-camera-alt { - --fa: "\f030"; +.fa-mountain:before { + content: "\f6fc"; } -.fa-square-virus { - --fa: "\e578"; +.fa-user-doctor:before, +.fa-user-md:before { + content: "\f0f0"; } -.fa-meteor { - --fa: "\f753"; +.fa-circle-info:before, +.fa-info-circle:before { + content: "\f05a"; } -.fa-car-on { - --fa: "\e4dd"; +.fa-cloud-meatball:before { + content: "\f73b"; } -.fa-sleigh { - --fa: "\f7cc"; +.fa-camera-alt:before, +.fa-camera:before { + content: "\f030"; } -.fa-arrow-down-1-9, -.fa-sort-numeric-asc, -.fa-sort-numeric-down { - --fa: "\f162"; +.fa-square-virus:before { + content: "\e578"; } -.fa-hand-holding-droplet, -.fa-hand-holding-water { - --fa: "\f4c1"; +.fa-meteor:before { + content: "\f753"; } -.fa-water { - --fa: "\f773"; +.fa-car-on:before { + content: "\e4dd"; } -.fa-calendar-check { - --fa: "\f274"; +.fa-sleigh:before { + content: "\f7cc"; } -.fa-braille { - --fa: "\f2a1"; +.fa-arrow-down-1-9:before, +.fa-sort-numeric-asc:before, +.fa-sort-numeric-down:before { + content: "\f162"; } -.fa-prescription-bottle-alt, -.fa-prescription-bottle-medical { - --fa: "\f486"; +.fa-hand-holding-droplet:before, +.fa-hand-holding-water:before { + content: "\f4c1"; } -.fa-landmark { - --fa: "\f66f"; +.fa-water:before { + content: "\f773"; } -.fa-truck { - --fa: "\f0d1"; +.fa-calendar-check:before { + content: "\f274"; } -.fa-crosshairs { - --fa: "\f05b"; +.fa-braille:before { + content: "\f2a1"; } -.fa-person-cane { - --fa: "\e53c"; +.fa-prescription-bottle-alt:before, +.fa-prescription-bottle-medical:before { + content: "\f486"; } -.fa-tent { - --fa: "\e57d"; +.fa-landmark:before { + content: "\f66f"; } -.fa-vest-patches { - --fa: "\e086"; +.fa-truck:before { + content: "\f0d1"; } -.fa-check-double { - --fa: "\f560"; +.fa-crosshairs:before { + content: "\f05b"; } -.fa-arrow-down-a-z, -.fa-sort-alpha-asc, -.fa-sort-alpha-down { - --fa: "\f15d"; +.fa-person-cane:before { + content: "\e53c"; } -.fa-money-bill-wheat { - --fa: "\e52a"; +.fa-tent:before { + content: "\e57d"; } -.fa-cookie { - --fa: "\f563"; +.fa-vest-patches:before { + content: "\e086"; } -.fa-arrow-left-rotate, -.fa-arrow-rotate-back, -.fa-arrow-rotate-backward, -.fa-arrow-rotate-left, -.fa-undo { - --fa: "\f0e2"; +.fa-check-double:before { + content: "\f560"; } -.fa-hard-drive, -.fa-hdd { - --fa: "\f0a0"; +.fa-arrow-down-a-z:before, +.fa-sort-alpha-asc:before, +.fa-sort-alpha-down:before { + content: "\f15d"; } -.fa-face-grin-squint-tears, -.fa-grin-squint-tears { - --fa: "\f586"; +.fa-money-bill-wheat:before { + content: "\e52a"; } -.fa-dumbbell { - --fa: "\f44b"; +.fa-cookie:before { + content: "\f563"; } -.fa-list-alt, -.fa-rectangle-list { - --fa: "\f022"; +.fa-arrow-left-rotate:before, +.fa-arrow-rotate-back:before, +.fa-arrow-rotate-backward:before, +.fa-arrow-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; } -.fa-tarp-droplet { - --fa: "\e57c"; +.fa-hard-drive:before, +.fa-hdd:before { + content: "\f0a0"; } -.fa-house-medical-circle-check { - --fa: "\e511"; +.fa-face-grin-squint-tears:before, +.fa-grin-squint-tears:before { + content: "\f586"; } -.fa-person-skiing-nordic, -.fa-skiing-nordic { - --fa: "\f7ca"; +.fa-dumbbell:before { + content: "\f44b"; } -.fa-calendar-plus { - --fa: "\f271"; +.fa-list-alt:before, +.fa-rectangle-list:before { + content: "\f022"; } -.fa-plane-arrival { - --fa: "\f5af"; +.fa-tarp-droplet:before { + content: "\e57c"; } -.fa-arrow-alt-circle-left, -.fa-circle-left { - --fa: "\f359"; +.fa-house-medical-circle-check:before { + content: "\e511"; } -.fa-subway, -.fa-train-subway { - --fa: "\f239"; +.fa-person-skiing-nordic:before, +.fa-skiing-nordic:before { + content: "\f7ca"; } -.fa-chart-gantt { - --fa: "\e0e4"; +.fa-calendar-plus:before { + content: "\f271"; } -.fa-indian-rupee, -.fa-indian-rupee-sign, -.fa-inr { - --fa: "\e1bc"; +.fa-plane-arrival:before { + content: "\f5af"; } -.fa-crop-alt, -.fa-crop-simple { - --fa: "\f565"; +.fa-arrow-alt-circle-left:before, +.fa-circle-left:before { + content: "\f359"; } -.fa-money-bill-1, -.fa-money-bill-alt { - --fa: "\f3d1"; +.fa-subway:before, +.fa-train-subway:before { + content: "\f239"; } -.fa-left-long, -.fa-long-arrow-alt-left { - --fa: "\f30a"; +.fa-chart-gantt:before { + content: "\e0e4"; } -.fa-dna { - --fa: "\f471"; +.fa-indian-rupee-sign:before, +.fa-indian-rupee:before, +.fa-inr:before { + content: "\e1bc"; } -.fa-virus-slash { - --fa: "\e075"; +.fa-crop-alt:before, +.fa-crop-simple:before { + content: "\f565"; } -.fa-minus, -.fa-subtract { - --fa: "\f068"; +.fa-money-bill-1:before, +.fa-money-bill-alt:before { + content: "\f3d1"; } -.fa-chess { - --fa: "\f439"; +.fa-left-long:before, +.fa-long-arrow-alt-left:before { + content: "\f30a"; } -.fa-arrow-left-long, -.fa-long-arrow-left { - --fa: "\f177"; +.fa-dna:before { + content: "\f471"; } -.fa-plug-circle-check { - --fa: "\e55c"; +.fa-virus-slash:before { + content: "\e075"; } -.fa-street-view { - --fa: "\f21d"; +.fa-minus:before, +.fa-subtract:before { + content: "\f068"; } -.fa-franc-sign { - --fa: "\e18f"; +.fa-chess:before { + content: "\f439"; } -.fa-volume-off { - --fa: "\f026"; +.fa-arrow-left-long:before, +.fa-long-arrow-left:before { + content: "\f177"; } -.fa-american-sign-language-interpreting, -.fa-asl-interpreting, -.fa-hands-american-sign-language-interpreting, -.fa-hands-asl-interpreting { - --fa: "\f2a3"; +.fa-plug-circle-check:before { + content: "\e55c"; } -.fa-cog, -.fa-gear { - --fa: "\f013"; +.fa-street-view:before { + content: "\f21d"; } -.fa-droplet-slash, -.fa-tint-slash { - --fa: "\f5c7"; +.fa-franc-sign:before { + content: "\e18f"; } -.fa-mosque { - --fa: "\f678"; +.fa-volume-off:before { + content: "\f026"; } -.fa-mosquito { - --fa: "\e52b"; +.fa-american-sign-language-interpreting:before, +.fa-asl-interpreting:before, +.fa-hands-american-sign-language-interpreting:before, +.fa-hands-asl-interpreting:before { + content: "\f2a3"; } -.fa-star-of-david { - --fa: "\f69a"; +.fa-cog:before, +.fa-gear:before { + content: "\f013"; } -.fa-person-military-rifle { - --fa: "\e54b"; +.fa-droplet-slash:before, +.fa-tint-slash:before { + content: "\f5c7"; } -.fa-cart-shopping, -.fa-shopping-cart { - --fa: "\f07a"; +.fa-mosque:before { + content: "\f678"; } -.fa-vials { - --fa: "\f493"; +.fa-mosquito:before { + content: "\e52b"; } -.fa-plug-circle-plus { - --fa: "\e55f"; +.fa-star-of-david:before { + content: "\f69a"; } -.fa-place-of-worship { - --fa: "\f67f"; +.fa-person-military-rifle:before { + content: "\e54b"; } -.fa-grip-vertical { - --fa: "\f58e"; +.fa-cart-shopping:before, +.fa-shopping-cart:before { + content: "\f07a"; } -.fa-hexagon-nodes { - --fa: "\e699"; +.fa-vials:before { + content: "\f493"; } -.fa-arrow-turn-up, -.fa-level-up { - --fa: "\f148"; +.fa-plug-circle-plus:before { + content: "\e55f"; } -.fa-u { - --fa: "\55"; +.fa-place-of-worship:before { + content: "\f67f"; } -.fa-square-root-alt, -.fa-square-root-variable { - --fa: "\f698"; +.fa-grip-vertical:before { + content: "\f58e"; } -.fa-clock, -.fa-clock-four { - --fa: "\f017"; +.fa-arrow-turn-up:before, +.fa-level-up:before { + content: "\f148"; } -.fa-backward-step, -.fa-step-backward { - --fa: "\f048"; +.fa-u:before { + content: "\55"; } -.fa-pallet { - --fa: "\f482"; +.fa-square-root-alt:before, +.fa-square-root-variable:before { + content: "\f698"; } -.fa-faucet { - --fa: "\e005"; +.fa-clock-four:before, +.fa-clock:before { + content: "\f017"; } -.fa-baseball-bat-ball { - --fa: "\f432"; +.fa-backward-step:before, +.fa-step-backward:before { + content: "\f048"; } -.fa-s { - --fa: "\53"; +.fa-pallet:before { + content: "\f482"; } -.fa-timeline { - --fa: "\e29c"; +.fa-faucet:before { + content: "\e005"; } -.fa-keyboard { - --fa: "\f11c"; +.fa-baseball-bat-ball:before { + content: "\f432"; } -.fa-caret-down { - --fa: "\f0d7"; +.fa-s:before { + content: "\53"; } -.fa-clinic-medical, -.fa-house-chimney-medical { - --fa: "\f7f2"; +.fa-timeline:before { + content: "\e29c"; } -.fa-temperature-3, -.fa-temperature-three-quarters, -.fa-thermometer-3, -.fa-thermometer-three-quarters { - --fa: "\f2c8"; +.fa-keyboard:before { + content: "\f11c"; } -.fa-mobile-android-alt, -.fa-mobile-screen { - --fa: "\f3cf"; +.fa-caret-down:before { + content: "\f0d7"; } -.fa-plane-up { - --fa: "\e22d"; +.fa-clinic-medical:before, +.fa-house-chimney-medical:before { + content: "\f7f2"; } -.fa-piggy-bank { - --fa: "\f4d3"; +.fa-temperature-3:before, +.fa-temperature-three-quarters:before, +.fa-thermometer-3:before, +.fa-thermometer-three-quarters:before { + content: "\f2c8"; } -.fa-battery-3, -.fa-battery-half { - --fa: "\f242"; +.fa-mobile-android-alt:before, +.fa-mobile-screen:before { + content: "\f3cf"; } -.fa-mountain-city { - --fa: "\e52e"; +.fa-plane-up:before { + content: "\e22d"; } -.fa-coins { - --fa: "\f51e"; +.fa-piggy-bank:before { + content: "\f4d3"; } -.fa-khanda { - --fa: "\f66d"; +.fa-battery-3:before, +.fa-battery-half:before { + content: "\f242"; } -.fa-sliders, -.fa-sliders-h { - --fa: "\f1de"; +.fa-mountain-city:before { + content: "\e52e"; } -.fa-folder-tree { - --fa: "\f802"; +.fa-coins:before { + content: "\f51e"; } -.fa-network-wired { - --fa: "\f6ff"; +.fa-khanda:before { + content: "\f66d"; } -.fa-map-pin { - --fa: "\f276"; +.fa-sliders-h:before, +.fa-sliders:before { + content: "\f1de"; } -.fa-hamsa { - --fa: "\f665"; +.fa-folder-tree:before { + content: "\f802"; } -.fa-cent-sign { - --fa: "\e3f5"; +.fa-network-wired:before { + content: "\f6ff"; } -.fa-flask { - --fa: "\f0c3"; +.fa-map-pin:before { + content: "\f276"; } -.fa-person-pregnant { - --fa: "\e31e"; +.fa-hamsa:before { + content: "\f665"; } -.fa-wand-sparkles { - --fa: "\f72b"; +.fa-cent-sign:before { + content: "\e3f5"; } -.fa-ellipsis-v, -.fa-ellipsis-vertical { - --fa: "\f142"; +.fa-flask:before { + content: "\f0c3"; } -.fa-ticket { - --fa: "\f145"; +.fa-person-pregnant:before { + content: "\e31e"; } -.fa-power-off { - --fa: "\f011"; +.fa-wand-sparkles:before { + content: "\f72b"; } -.fa-long-arrow-alt-right, -.fa-right-long { - --fa: "\f30b"; +.fa-ellipsis-v:before, +.fa-ellipsis-vertical:before { + content: "\f142"; } -.fa-flag-usa { - --fa: "\f74d"; +.fa-ticket:before { + content: "\f145"; } -.fa-laptop-file { - --fa: "\e51d"; +.fa-power-off:before { + content: "\f011"; } -.fa-teletype, -.fa-tty { - --fa: "\f1e4"; +.fa-long-arrow-alt-right:before, +.fa-right-long:before { + content: "\f30b"; } -.fa-diagram-next { - --fa: "\e476"; +.fa-flag-usa:before { + content: "\f74d"; } -.fa-person-rifle { - --fa: "\e54e"; +.fa-laptop-file:before { + content: "\e51d"; } -.fa-house-medical-circle-exclamation { - --fa: "\e512"; +.fa-teletype:before, +.fa-tty:before { + content: "\f1e4"; } -.fa-closed-captioning { - --fa: "\f20a"; +.fa-diagram-next:before { + content: "\e476"; } -.fa-hiking, -.fa-person-hiking { - --fa: "\f6ec"; +.fa-person-rifle:before { + content: "\e54e"; } -.fa-venus-double { - --fa: "\f226"; +.fa-house-medical-circle-exclamation:before { + content: "\e512"; } -.fa-images { - --fa: "\f302"; +.fa-closed-captioning:before { + content: "\f20a"; } -.fa-calculator { - --fa: "\f1ec"; +.fa-hiking:before, +.fa-person-hiking:before { + content: "\f6ec"; } -.fa-people-pulling { - --fa: "\e535"; +.fa-venus-double:before { + content: "\f226"; } -.fa-n { - --fa: "\4e"; +.fa-images:before { + content: "\f302"; } -.fa-cable-car, -.fa-tram { - --fa: "\f7da"; +.fa-calculator:before { + content: "\f1ec"; } -.fa-cloud-rain { - --fa: "\f73d"; +.fa-people-pulling:before { + content: "\e535"; } -.fa-building-circle-xmark { - --fa: "\e4d4"; +.fa-n:before { + content: "\4e"; } -.fa-ship { - --fa: "\f21a"; +.fa-cable-car:before, +.fa-tram:before { + content: "\f7da"; } -.fa-arrows-down-to-line { - --fa: "\e4b8"; +.fa-cloud-rain:before { + content: "\f73d"; } -.fa-download { - --fa: "\f019"; +.fa-building-circle-xmark:before { + content: "\e4d4"; } -.fa-face-grin, -.fa-grin { - --fa: "\f580"; +.fa-ship:before { + content: "\f21a"; } -.fa-backspace, -.fa-delete-left { - --fa: "\f55a"; +.fa-arrows-down-to-line:before { + content: "\e4b8"; } -.fa-eye-dropper, -.fa-eye-dropper-empty, -.fa-eyedropper { - --fa: "\f1fb"; +.fa-download:before { + content: "\f019"; } -.fa-file-circle-check { - --fa: "\e5a0"; +.fa-face-grin:before, +.fa-grin:before { + content: "\f580"; } -.fa-forward { - --fa: "\f04e"; +.fa-backspace:before, +.fa-delete-left:before { + content: "\f55a"; } -.fa-mobile, -.fa-mobile-android, -.fa-mobile-phone { - --fa: "\f3ce"; +.fa-eye-dropper-empty:before, +.fa-eye-dropper:before, +.fa-eyedropper:before { + content: "\f1fb"; } -.fa-face-meh, -.fa-meh { - --fa: "\f11a"; +.fa-file-circle-check:before { + content: "\e5a0"; } -.fa-align-center { - --fa: "\f037"; +.fa-forward:before { + content: "\f04e"; } -.fa-book-dead, -.fa-book-skull { - --fa: "\f6b7"; +.fa-mobile-android:before, +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f3ce"; } -.fa-drivers-license, -.fa-id-card { - --fa: "\f2c2"; +.fa-face-meh:before, +.fa-meh:before { + content: "\f11a"; } -.fa-dedent, -.fa-outdent { - --fa: "\f03b"; +.fa-align-center:before { + content: "\f037"; } -.fa-heart-circle-exclamation { - --fa: "\e4fe"; +.fa-book-dead:before, +.fa-book-skull:before { + content: "\f6b7"; } -.fa-home, -.fa-home-alt, -.fa-home-lg-alt, -.fa-house { - --fa: "\f015"; +.fa-drivers-license:before, +.fa-id-card:before { + content: "\f2c2"; } -.fa-calendar-week { - --fa: "\f784"; +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; } -.fa-laptop-medical { - --fa: "\f812"; +.fa-heart-circle-exclamation:before { + content: "\e4fe"; } -.fa-b { - --fa: "\42"; +.fa-home-alt:before, +.fa-home-lg-alt:before, +.fa-home:before, +.fa-house:before { + content: "\f015"; } -.fa-file-medical { - --fa: "\f477"; +.fa-calendar-week:before { + content: "\f784"; } -.fa-dice-one { - --fa: "\f525"; +.fa-laptop-medical:before { + content: "\f812"; } -.fa-kiwi-bird { - --fa: "\f535"; +.fa-b:before { + content: "\42"; } -.fa-arrow-right-arrow-left, -.fa-exchange { - --fa: "\f0ec"; +.fa-file-medical:before { + content: "\f477"; } -.fa-redo-alt, -.fa-rotate-forward, -.fa-rotate-right { - --fa: "\f2f9"; +.fa-dice-one:before { + content: "\f525"; } -.fa-cutlery, -.fa-utensils { - --fa: "\f2e7"; +.fa-kiwi-bird:before { + content: "\f535"; } -.fa-arrow-up-wide-short, -.fa-sort-amount-up { - --fa: "\f161"; +.fa-arrow-right-arrow-left:before, +.fa-exchange:before { + content: "\f0ec"; } -.fa-mill-sign { - --fa: "\e1ed"; +.fa-redo-alt:before, +.fa-rotate-forward:before, +.fa-rotate-right:before { + content: "\f2f9"; } -.fa-bowl-rice { - --fa: "\e2eb"; +.fa-cutlery:before, +.fa-utensils:before { + content: "\f2e7"; } -.fa-skull { - --fa: "\f54c"; +.fa-arrow-up-wide-short:before, +.fa-sort-amount-up:before { + content: "\f161"; } -.fa-broadcast-tower, -.fa-tower-broadcast { - --fa: "\f519"; +.fa-mill-sign:before { + content: "\e1ed"; } -.fa-truck-pickup { - --fa: "\f63c"; +.fa-bowl-rice:before { + content: "\e2eb"; } -.fa-long-arrow-alt-up, -.fa-up-long { - --fa: "\f30c"; +.fa-skull:before { + content: "\f54c"; } -.fa-stop { - --fa: "\f04d"; +.fa-broadcast-tower:before, +.fa-tower-broadcast:before { + content: "\f519"; } -.fa-code-merge { - --fa: "\f387"; +.fa-truck-pickup:before { + content: "\f63c"; } -.fa-upload { - --fa: "\f093"; +.fa-long-arrow-alt-up:before, +.fa-up-long:before { + content: "\f30c"; } -.fa-hurricane { - --fa: "\f751"; +.fa-stop:before { + content: "\f04d"; } -.fa-mound { - --fa: "\e52d"; +.fa-code-merge:before { + content: "\f387"; } -.fa-toilet-portable { - --fa: "\e583"; +.fa-upload:before { + content: "\f093"; } -.fa-compact-disc { - --fa: "\f51f"; +.fa-hurricane:before { + content: "\f751"; } -.fa-file-arrow-down, -.fa-file-download { - --fa: "\f56d"; +.fa-mound:before { + content: "\e52d"; } -.fa-caravan { - --fa: "\f8ff"; +.fa-toilet-portable:before { + content: "\e583"; } -.fa-shield-cat { - --fa: "\e572"; +.fa-compact-disc:before { + content: "\f51f"; } -.fa-bolt, -.fa-zap { - --fa: "\f0e7"; +.fa-file-arrow-down:before, +.fa-file-download:before { + content: "\f56d"; } -.fa-glass-water { - --fa: "\e4f4"; +.fa-caravan:before { + content: "\f8ff"; } -.fa-oil-well { - --fa: "\e532"; +.fa-shield-cat:before { + content: "\e572"; } -.fa-vault { - --fa: "\e2c5"; +.fa-bolt:before, +.fa-zap:before { + content: "\f0e7"; } -.fa-mars { - --fa: "\f222"; +.fa-glass-water:before { + content: "\e4f4"; } -.fa-toilet { - --fa: "\f7d8"; +.fa-oil-well:before { + content: "\e532"; } -.fa-plane-circle-xmark { - --fa: "\e557"; +.fa-vault:before { + content: "\e2c5"; } -.fa-cny, -.fa-jpy, -.fa-rmb, -.fa-yen, -.fa-yen-sign { - --fa: "\f157"; +.fa-mars:before { + content: "\f222"; } -.fa-rouble, -.fa-rub, -.fa-ruble, -.fa-ruble-sign { - --fa: "\f158"; +.fa-toilet:before { + content: "\f7d8"; } -.fa-sun { - --fa: "\f185"; +.fa-plane-circle-xmark:before { + content: "\e557"; } -.fa-guitar { - --fa: "\f7a6"; +.fa-cny:before, +.fa-jpy:before, +.fa-rmb:before, +.fa-yen-sign:before, +.fa-yen:before { + content: "\f157"; } -.fa-face-laugh-wink, -.fa-laugh-wink { - --fa: "\f59c"; +.fa-rouble:before, +.fa-rub:before, +.fa-ruble-sign:before, +.fa-ruble:before { + content: "\f158"; } -.fa-horse-head { - --fa: "\f7ab"; +.fa-sun:before { + content: "\f185"; } -.fa-bore-hole { - --fa: "\e4c3"; +.fa-guitar:before { + content: "\f7a6"; } -.fa-industry { - --fa: "\f275"; +.fa-face-laugh-wink:before, +.fa-laugh-wink:before { + content: "\f59c"; } -.fa-arrow-alt-circle-down, -.fa-circle-down { - --fa: "\f358"; +.fa-horse-head:before { + content: "\f7ab"; } -.fa-arrows-turn-to-dots { - --fa: "\e4c1"; +.fa-bore-hole:before { + content: "\e4c3"; } -.fa-florin-sign { - --fa: "\e184"; +.fa-industry:before { + content: "\f275"; } -.fa-arrow-down-short-wide, -.fa-sort-amount-desc, -.fa-sort-amount-down-alt { - --fa: "\f884"; +.fa-arrow-alt-circle-down:before, +.fa-circle-down:before { + content: "\f358"; } -.fa-less-than { - --fa: "\3c"; +.fa-arrows-turn-to-dots:before { + content: "\e4c1"; } -.fa-angle-down { - --fa: "\f107"; +.fa-florin-sign:before { + content: "\e184"; } -.fa-car-tunnel { - --fa: "\e4de"; +.fa-arrow-down-short-wide:before, +.fa-sort-amount-desc:before, +.fa-sort-amount-down-alt:before { + content: "\f884"; } -.fa-head-side-cough { - --fa: "\e061"; +.fa-less-than:before { + content: "\3c"; } -.fa-grip-lines { - --fa: "\f7a4"; +.fa-angle-down:before { + content: "\f107"; } -.fa-thumbs-down { - --fa: "\f165"; +.fa-car-tunnel:before { + content: "\e4de"; } -.fa-user-lock { - --fa: "\f502"; +.fa-head-side-cough:before { + content: "\e061"; } -.fa-arrow-right-long, -.fa-long-arrow-right { - --fa: "\f178"; +.fa-grip-lines:before { + content: "\f7a4"; } -.fa-anchor-circle-xmark { - --fa: "\e4ac"; +.fa-thumbs-down:before { + content: "\f165"; } -.fa-ellipsis, -.fa-ellipsis-h { - --fa: "\f141"; +.fa-user-lock:before { + content: "\f502"; } -.fa-chess-pawn { - --fa: "\f443"; +.fa-arrow-right-long:before, +.fa-long-arrow-right:before { + content: "\f178"; } -.fa-first-aid, -.fa-kit-medical { - --fa: "\f479"; +.fa-anchor-circle-xmark:before { + content: "\e4ac"; } -.fa-person-through-window { - --fa: "\e5a9"; +.fa-ellipsis-h:before, +.fa-ellipsis:before { + content: "\f141"; } -.fa-toolbox { - --fa: "\f552"; +.fa-chess-pawn:before { + content: "\f443"; } -.fa-hands-holding-circle { - --fa: "\e4fb"; +.fa-first-aid:before, +.fa-kit-medical:before { + content: "\f479"; } -.fa-bug { - --fa: "\f188"; +.fa-person-through-window:before { + content: "\e5a9"; } -.fa-credit-card, -.fa-credit-card-alt { - --fa: "\f09d"; +.fa-toolbox:before { + content: "\f552"; } -.fa-automobile, -.fa-car { - --fa: "\f1b9"; +.fa-hands-holding-circle:before { + content: "\e4fb"; } -.fa-hand-holding-hand { - --fa: "\e4f7"; +.fa-bug:before { + content: "\f188"; } -.fa-book-open-reader, -.fa-book-reader { - --fa: "\f5da"; +.fa-credit-card-alt:before, +.fa-credit-card:before { + content: "\f09d"; } -.fa-mountain-sun { - --fa: "\e52f"; +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; } -.fa-arrows-left-right-to-line { - --fa: "\e4ba"; +.fa-hand-holding-hand:before { + content: "\e4f7"; } -.fa-dice-d20 { - --fa: "\f6cf"; +.fa-book-open-reader:before, +.fa-book-reader:before { + content: "\f5da"; } -.fa-truck-droplet { - --fa: "\e58c"; +.fa-mountain-sun:before { + content: "\e52f"; } -.fa-file-circle-xmark { - --fa: "\e5a1"; +.fa-arrows-left-right-to-line:before { + content: "\e4ba"; } -.fa-temperature-arrow-up, -.fa-temperature-up { - --fa: "\e040"; +.fa-dice-d20:before { + content: "\f6cf"; } -.fa-medal { - --fa: "\f5a2"; +.fa-truck-droplet:before { + content: "\e58c"; } -.fa-bed { - --fa: "\f236"; +.fa-file-circle-xmark:before { + content: "\e5a1"; } -.fa-h-square, -.fa-square-h { - --fa: "\f0fd"; +.fa-temperature-arrow-up:before, +.fa-temperature-up:before { + content: "\e040"; } -.fa-podcast { - --fa: "\f2ce"; +.fa-medal:before { + content: "\f5a2"; } -.fa-temperature-4, -.fa-temperature-full, -.fa-thermometer-4, -.fa-thermometer-full { - --fa: "\f2c7"; +.fa-bed:before { + content: "\f236"; } -.fa-bell { - --fa: "\f0f3"; +.fa-h-square:before, +.fa-square-h:before { + content: "\f0fd"; } -.fa-superscript { - --fa: "\f12b"; +.fa-podcast:before { + content: "\f2ce"; } -.fa-plug-circle-xmark { - --fa: "\e560"; +.fa-temperature-4:before, +.fa-temperature-full:before, +.fa-thermometer-4:before, +.fa-thermometer-full:before { + content: "\f2c7"; } -.fa-star-of-life { - --fa: "\f621"; +.fa-bell:before { + content: "\f0f3"; } -.fa-phone-slash { - --fa: "\f3dd"; +.fa-superscript:before { + content: "\f12b"; } -.fa-paint-roller { - --fa: "\f5aa"; +.fa-plug-circle-xmark:before { + content: "\e560"; } -.fa-hands-helping, -.fa-handshake-angle { - --fa: "\f4c4"; +.fa-star-of-life:before { + content: "\f621"; } -.fa-location-dot, -.fa-map-marker-alt { - --fa: "\f3c5"; +.fa-phone-slash:before { + content: "\f3dd"; } -.fa-file { - --fa: "\f15b"; +.fa-paint-roller:before { + content: "\f5aa"; } -.fa-greater-than { - --fa: "\3e"; +.fa-hands-helping:before, +.fa-handshake-angle:before { + content: "\f4c4"; } -.fa-person-swimming, -.fa-swimmer { - --fa: "\f5c4"; +.fa-location-dot:before, +.fa-map-marker-alt:before { + content: "\f3c5"; } -.fa-arrow-down { - --fa: "\f063"; +.fa-file:before { + content: "\f15b"; } -.fa-droplet, -.fa-tint { - --fa: "\f043"; +.fa-greater-than:before { + content: "\3e"; } -.fa-eraser { - --fa: "\f12d"; +.fa-person-swimming:before, +.fa-swimmer:before { + content: "\f5c4"; } -.fa-earth, -.fa-earth-america, -.fa-earth-americas, -.fa-globe-americas { - --fa: "\f57d"; +.fa-arrow-down:before { + content: "\f063"; } -.fa-person-burst { - --fa: "\e53b"; +.fa-droplet:before, +.fa-tint:before { + content: "\f043"; } -.fa-dove { - --fa: "\f4ba"; +.fa-eraser:before { + content: "\f12d"; } -.fa-battery-0, -.fa-battery-empty { - --fa: "\f244"; +.fa-earth-america:before, +.fa-earth-americas:before, +.fa-earth:before, +.fa-globe-americas:before { + content: "\f57d"; } -.fa-socks { - --fa: "\f696"; +.fa-person-burst:before { + content: "\e53b"; } -.fa-inbox { - --fa: "\f01c"; +.fa-dove:before { + content: "\f4ba"; } -.fa-section { - --fa: "\e447"; +.fa-battery-0:before, +.fa-battery-empty:before { + content: "\f244"; } -.fa-gauge-high, -.fa-tachometer-alt, -.fa-tachometer-alt-fast { - --fa: "\f625"; +.fa-socks:before { + content: "\f696"; } -.fa-envelope-open-text { - --fa: "\f658"; +.fa-inbox:before { + content: "\f01c"; } -.fa-hospital, -.fa-hospital-alt, -.fa-hospital-wide { - --fa: "\f0f8"; +.fa-section:before { + content: "\e447"; } -.fa-wine-bottle { - --fa: "\f72f"; +.fa-gauge-high:before, +.fa-tachometer-alt-fast:before, +.fa-tachometer-alt:before { + content: "\f625"; } -.fa-chess-rook { - --fa: "\f447"; +.fa-envelope-open-text:before { + content: "\f658"; } -.fa-bars-staggered, -.fa-reorder, -.fa-stream { - --fa: "\f550"; +.fa-hospital-alt:before, +.fa-hospital-wide:before, +.fa-hospital:before { + content: "\f0f8"; } -.fa-dharmachakra { - --fa: "\f655"; +.fa-wine-bottle:before { + content: "\f72f"; } -.fa-hotdog { - --fa: "\f80f"; +.fa-chess-rook:before { + content: "\f447"; } -.fa-blind, -.fa-person-walking-with-cane { - --fa: "\f29d"; +.fa-bars-staggered:before, +.fa-reorder:before, +.fa-stream:before { + content: "\f550"; } -.fa-drum { - --fa: "\f569"; +.fa-dharmachakra:before { + content: "\f655"; } -.fa-ice-cream { - --fa: "\f810"; +.fa-hotdog:before { + content: "\f80f"; } -.fa-heart-circle-bolt { - --fa: "\e4fc"; +.fa-blind:before, +.fa-person-walking-with-cane:before { + content: "\f29d"; } -.fa-fax { - --fa: "\f1ac"; +.fa-drum:before { + content: "\f569"; } -.fa-paragraph { - --fa: "\f1dd"; +.fa-ice-cream:before { + content: "\f810"; } -.fa-check-to-slot, -.fa-vote-yea { - --fa: "\f772"; +.fa-heart-circle-bolt:before { + content: "\e4fc"; } -.fa-star-half { - --fa: "\f089"; +.fa-fax:before { + content: "\f1ac"; } -.fa-boxes, -.fa-boxes-alt, -.fa-boxes-stacked { - --fa: "\f468"; +.fa-paragraph:before { + content: "\f1dd"; } -.fa-chain, -.fa-link { - --fa: "\f0c1"; +.fa-check-to-slot:before, +.fa-vote-yea:before { + content: "\f772"; } -.fa-assistive-listening-systems, -.fa-ear-listen { - --fa: "\f2a2"; +.fa-star-half:before { + content: "\f089"; } -.fa-tree-city { - --fa: "\e587"; +.fa-boxes-alt:before, +.fa-boxes-stacked:before, +.fa-boxes:before { + content: "\f468"; } -.fa-play { - --fa: "\f04b"; +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; } -.fa-font { - --fa: "\f031"; +.fa-assistive-listening-systems:before, +.fa-ear-listen:before { + content: "\f2a2"; } -.fa-table-cells-row-lock { - --fa: "\e67a"; +.fa-tree-city:before { + content: "\e587"; } -.fa-rupiah-sign { - --fa: "\e23d"; +.fa-play:before { + content: "\f04b"; } -.fa-magnifying-glass, -.fa-search { - --fa: "\f002"; +.fa-font:before { + content: "\f031"; } -.fa-ping-pong-paddle-ball, -.fa-table-tennis, -.fa-table-tennis-paddle-ball { - --fa: "\f45d"; +.fa-table-cells-row-lock:before { + content: "\e67a"; } -.fa-diagnoses, -.fa-person-dots-from-line { - --fa: "\f470"; +.fa-rupiah-sign:before { + content: "\e23d"; } -.fa-trash-can-arrow-up, -.fa-trash-restore-alt { - --fa: "\f82a"; +.fa-magnifying-glass:before, +.fa-search:before { + content: "\f002"; } -.fa-naira-sign { - --fa: "\e1f6"; +.fa-ping-pong-paddle-ball:before, +.fa-table-tennis-paddle-ball:before, +.fa-table-tennis:before { + content: "\f45d"; } -.fa-cart-arrow-down { - --fa: "\f218"; +.fa-diagnoses:before, +.fa-person-dots-from-line:before { + content: "\f470"; } -.fa-walkie-talkie { - --fa: "\f8ef"; +.fa-trash-can-arrow-up:before, +.fa-trash-restore-alt:before { + content: "\f82a"; } -.fa-file-edit, -.fa-file-pen { - --fa: "\f31c"; +.fa-naira-sign:before { + content: "\e1f6"; } -.fa-receipt { - --fa: "\f543"; +.fa-cart-arrow-down:before { + content: "\f218"; } -.fa-pen-square, -.fa-pencil-square, -.fa-square-pen { - --fa: "\f14b"; +.fa-walkie-talkie:before { + content: "\f8ef"; } -.fa-suitcase-rolling { - --fa: "\f5c1"; +.fa-file-edit:before, +.fa-file-pen:before { + content: "\f31c"; } -.fa-person-circle-exclamation { - --fa: "\e53f"; +.fa-receipt:before { + content: "\f543"; } -.fa-chevron-down { - --fa: "\f078"; +.fa-pen-square:before, +.fa-pencil-square:before, +.fa-square-pen:before { + content: "\f14b"; } -.fa-battery, -.fa-battery-5, -.fa-battery-full { - --fa: "\f240"; +.fa-suitcase-rolling:before { + content: "\f5c1"; } -.fa-skull-crossbones { - --fa: "\f714"; +.fa-person-circle-exclamation:before { + content: "\e53f"; } -.fa-code-compare { - --fa: "\e13a"; +.fa-chevron-down:before { + content: "\f078"; } -.fa-list-dots, -.fa-list-ul { - --fa: "\f0ca"; +.fa-battery-5:before, +.fa-battery-full:before, +.fa-battery:before { + content: "\f240"; } -.fa-school-lock { - --fa: "\e56f"; +.fa-skull-crossbones:before { + content: "\f714"; } -.fa-tower-cell { - --fa: "\e585"; +.fa-code-compare:before { + content: "\e13a"; } -.fa-down-long, -.fa-long-arrow-alt-down { - --fa: "\f309"; +.fa-list-dots:before, +.fa-list-ul:before { + content: "\f0ca"; } -.fa-ranking-star { - --fa: "\e561"; +.fa-school-lock:before { + content: "\e56f"; } -.fa-chess-king { - --fa: "\f43f"; +.fa-tower-cell:before { + content: "\e585"; } -.fa-person-harassing { - --fa: "\e549"; +.fa-down-long:before, +.fa-long-arrow-alt-down:before { + content: "\f309"; } -.fa-brazilian-real-sign { - --fa: "\e46c"; +.fa-ranking-star:before { + content: "\e561"; } -.fa-landmark-alt, -.fa-landmark-dome { - --fa: "\f752"; +.fa-chess-king:before { + content: "\f43f"; } -.fa-arrow-up { - --fa: "\f062"; +.fa-person-harassing:before { + content: "\e549"; } -.fa-television, -.fa-tv, -.fa-tv-alt { - --fa: "\f26c"; +.fa-brazilian-real-sign:before { + content: "\e46c"; } -.fa-shrimp { - --fa: "\e448"; +.fa-landmark-alt:before, +.fa-landmark-dome:before { + content: "\f752"; } -.fa-list-check, -.fa-tasks { - --fa: "\f0ae"; +.fa-arrow-up:before { + content: "\f062"; } -.fa-jug-detergent { - --fa: "\e519"; +.fa-television:before, +.fa-tv-alt:before, +.fa-tv:before { + content: "\f26c"; } -.fa-circle-user, -.fa-user-circle { - --fa: "\f2bd"; +.fa-shrimp:before { + content: "\e448"; } -.fa-user-shield { - --fa: "\f505"; +.fa-list-check:before, +.fa-tasks:before { + content: "\f0ae"; } -.fa-wind { - --fa: "\f72e"; +.fa-jug-detergent:before { + content: "\e519"; } -.fa-car-burst, -.fa-car-crash { - --fa: "\f5e1"; +.fa-circle-user:before, +.fa-user-circle:before { + content: "\f2bd"; } -.fa-y { - --fa: "\59"; +.fa-user-shield:before { + content: "\f505"; } -.fa-person-snowboarding, -.fa-snowboarding { - --fa: "\f7ce"; +.fa-wind:before { + content: "\f72e"; } -.fa-shipping-fast, -.fa-truck-fast { - --fa: "\f48b"; +.fa-car-burst:before, +.fa-car-crash:before { + content: "\f5e1"; } -.fa-fish { - --fa: "\f578"; +.fa-y:before { + content: "\59"; } -.fa-user-graduate { - --fa: "\f501"; +.fa-person-snowboarding:before, +.fa-snowboarding:before { + content: "\f7ce"; } -.fa-adjust, -.fa-circle-half-stroke { - --fa: "\f042"; +.fa-shipping-fast:before, +.fa-truck-fast:before { + content: "\f48b"; } -.fa-clapperboard { - --fa: "\e131"; +.fa-fish:before { + content: "\f578"; } -.fa-circle-radiation, -.fa-radiation-alt { - --fa: "\f7ba"; +.fa-user-graduate:before { + content: "\f501"; } -.fa-baseball, -.fa-baseball-ball { - --fa: "\f433"; +.fa-adjust:before, +.fa-circle-half-stroke:before { + content: "\f042"; } -.fa-jet-fighter-up { - --fa: "\e518"; +.fa-clapperboard:before { + content: "\e131"; } -.fa-diagram-project, -.fa-project-diagram { - --fa: "\f542"; +.fa-circle-radiation:before, +.fa-radiation-alt:before { + content: "\f7ba"; } -.fa-copy { - --fa: "\f0c5"; +.fa-baseball-ball:before, +.fa-baseball:before { + content: "\f433"; } -.fa-volume-mute, -.fa-volume-times, -.fa-volume-xmark { - --fa: "\f6a9"; +.fa-jet-fighter-up:before { + content: "\e518"; } -.fa-hand-sparkles { - --fa: "\e05d"; +.fa-diagram-project:before, +.fa-project-diagram:before { + content: "\f542"; } -.fa-grip, -.fa-grip-horizontal { - --fa: "\f58d"; +.fa-copy:before { + content: "\f0c5"; } -.fa-share-from-square, -.fa-share-square { - --fa: "\f14d"; +.fa-volume-mute:before, +.fa-volume-times:before, +.fa-volume-xmark:before { + content: "\f6a9"; } -.fa-child-combatant, -.fa-child-rifle { - --fa: "\e4e0"; +.fa-hand-sparkles:before { + content: "\e05d"; } -.fa-gun { - --fa: "\e19b"; +.fa-grip-horizontal:before, +.fa-grip:before { + content: "\f58d"; } -.fa-phone-square, -.fa-square-phone { - --fa: "\f098"; +.fa-share-from-square:before, +.fa-share-square:before { + content: "\f14d"; } -.fa-add, -.fa-plus { - --fa: "\2b"; +.fa-child-combatant:before, +.fa-child-rifle:before { + content: "\e4e0"; } -.fa-expand { - --fa: "\f065"; +.fa-gun:before { + content: "\e19b"; } -.fa-computer { - --fa: "\e4e5"; +.fa-phone-square:before, +.fa-square-phone:before { + content: "\f098"; } -.fa-close, -.fa-multiply, -.fa-remove, -.fa-times, -.fa-xmark { - --fa: "\f00d"; +.fa-add:before, +.fa-plus:before { + content: "\2b"; } -.fa-arrows, -.fa-arrows-up-down-left-right { - --fa: "\f047"; +.fa-expand:before { + content: "\f065"; } -.fa-chalkboard-teacher, -.fa-chalkboard-user { - --fa: "\f51c"; +.fa-computer:before { + content: "\e4e5"; } -.fa-peso-sign { - --fa: "\e222"; +.fa-close:before, +.fa-multiply:before, +.fa-remove:before, +.fa-times:before, +.fa-xmark:before { + content: "\f00d"; } -.fa-building-shield { - --fa: "\e4d8"; +.fa-arrows-up-down-left-right:before, +.fa-arrows:before { + content: "\f047"; } -.fa-baby { - --fa: "\f77c"; +.fa-chalkboard-teacher:before, +.fa-chalkboard-user:before { + content: "\f51c"; } -.fa-users-line { - --fa: "\e592"; +.fa-peso-sign:before { + content: "\e222"; } -.fa-quote-left, -.fa-quote-left-alt { - --fa: "\f10d"; +.fa-building-shield:before { + content: "\e4d8"; } -.fa-tractor { - --fa: "\f722"; +.fa-baby:before { + content: "\f77c"; } -.fa-trash-arrow-up, -.fa-trash-restore { - --fa: "\f829"; +.fa-users-line:before { + content: "\e592"; } -.fa-arrow-down-up-lock { - --fa: "\e4b0"; +.fa-quote-left-alt:before, +.fa-quote-left:before { + content: "\f10d"; } -.fa-lines-leaning { - --fa: "\e51e"; +.fa-tractor:before { + content: "\f722"; } -.fa-ruler-combined { - --fa: "\f546"; +.fa-trash-arrow-up:before, +.fa-trash-restore:before { + content: "\f829"; } -.fa-copyright { - --fa: "\f1f9"; +.fa-arrow-down-up-lock:before { + content: "\e4b0"; } -.fa-equals { - --fa: "\3d"; +.fa-lines-leaning:before { + content: "\e51e"; } -.fa-blender { - --fa: "\f517"; +.fa-ruler-combined:before { + content: "\f546"; } -.fa-teeth { - --fa: "\f62e"; +.fa-copyright:before { + content: "\f1f9"; } -.fa-ils, -.fa-shekel, -.fa-shekel-sign, -.fa-sheqel, -.fa-sheqel-sign { - --fa: "\f20b"; +.fa-equals:before { + content: "\3d"; } -.fa-map { - --fa: "\f279"; +.fa-blender:before { + content: "\f517"; } -.fa-rocket { - --fa: "\f135"; +.fa-teeth:before { + content: "\f62e"; } -.fa-photo-film, -.fa-photo-video { - --fa: "\f87c"; +.fa-ils:before, +.fa-shekel-sign:before, +.fa-shekel:before, +.fa-sheqel-sign:before, +.fa-sheqel:before { + content: "\f20b"; } -.fa-folder-minus { - --fa: "\f65d"; +.fa-map:before { + content: "\f279"; } -.fa-hexagon-nodes-bolt { - --fa: "\e69a"; +.fa-rocket:before { + content: "\f135"; } -.fa-store { - --fa: "\f54e"; +.fa-photo-film:before, +.fa-photo-video:before { + content: "\f87c"; } -.fa-arrow-trend-up { - --fa: "\e098"; +.fa-folder-minus:before { + content: "\f65d"; } -.fa-plug-circle-minus { - --fa: "\e55e"; +.fa-store:before { + content: "\f54e"; } -.fa-sign, -.fa-sign-hanging { - --fa: "\f4d9"; +.fa-arrow-trend-up:before { + content: "\e098"; } -.fa-bezier-curve { - --fa: "\f55b"; +.fa-plug-circle-minus:before { + content: "\e55e"; } -.fa-bell-slash { - --fa: "\f1f6"; +.fa-sign-hanging:before, +.fa-sign:before { + content: "\f4d9"; } -.fa-tablet, -.fa-tablet-android { - --fa: "\f3fb"; +.fa-bezier-curve:before { + content: "\f55b"; } -.fa-school-flag { - --fa: "\e56e"; +.fa-bell-slash:before { + content: "\f1f6"; } -.fa-fill { - --fa: "\f575"; +.fa-tablet-android:before, +.fa-tablet:before { + content: "\f3fb"; } -.fa-angle-up { - --fa: "\f106"; +.fa-school-flag:before { + content: "\e56e"; } -.fa-drumstick-bite { - --fa: "\f6d7"; +.fa-fill:before { + content: "\f575"; } -.fa-holly-berry { - --fa: "\f7aa"; +.fa-angle-up:before { + content: "\f106"; } -.fa-chevron-left { - --fa: "\f053"; +.fa-drumstick-bite:before { + content: "\f6d7"; } -.fa-bacteria { - --fa: "\e059"; +.fa-holly-berry:before { + content: "\f7aa"; } -.fa-hand-lizard { - --fa: "\f258"; +.fa-chevron-left:before { + content: "\f053"; } -.fa-notdef { - --fa: "\e1fe"; +.fa-bacteria:before { + content: "\e059"; } -.fa-disease { - --fa: "\f7fa"; +.fa-hand-lizard:before { + content: "\f258"; } -.fa-briefcase-medical { - --fa: "\f469"; +.fa-notdef:before { + content: "\e1fe"; } -.fa-genderless { - --fa: "\f22d"; +.fa-disease:before { + content: "\f7fa"; } -.fa-chevron-right { - --fa: "\f054"; +.fa-briefcase-medical:before { + content: "\f469"; } -.fa-retweet { - --fa: "\f079"; +.fa-genderless:before { + content: "\f22d"; } -.fa-car-alt, -.fa-car-rear { - --fa: "\f5de"; +.fa-chevron-right:before { + content: "\f054"; } -.fa-pump-soap { - --fa: "\e06b"; +.fa-retweet:before { + content: "\f079"; } -.fa-video-slash { - --fa: "\f4e2"; +.fa-car-alt:before, +.fa-car-rear:before { + content: "\f5de"; } -.fa-battery-2, -.fa-battery-quarter { - --fa: "\f243"; +.fa-pump-soap:before { + content: "\e06b"; } -.fa-radio { - --fa: "\f8d7"; +.fa-video-slash:before { + content: "\f4e2"; } -.fa-baby-carriage, -.fa-carriage-baby { - --fa: "\f77d"; +.fa-battery-2:before, +.fa-battery-quarter:before { + content: "\f243"; } -.fa-traffic-light { - --fa: "\f637"; +.fa-radio:before { + content: "\f8d7"; } -.fa-thermometer { - --fa: "\f491"; +.fa-baby-carriage:before, +.fa-carriage-baby:before { + content: "\f77d"; } -.fa-vr-cardboard { - --fa: "\f729"; +.fa-traffic-light:before { + content: "\f637"; } -.fa-hand-middle-finger { - --fa: "\f806"; +.fa-thermometer:before { + content: "\f491"; } -.fa-percent, -.fa-percentage { - --fa: "\25"; +.fa-vr-cardboard:before { + content: "\f729"; } -.fa-truck-moving { - --fa: "\f4df"; +.fa-hand-middle-finger:before { + content: "\f806"; } -.fa-glass-water-droplet { - --fa: "\e4f5"; +.fa-percent:before, +.fa-percentage:before { + content: "\25"; } -.fa-display { - --fa: "\e163"; +.fa-truck-moving:before { + content: "\f4df"; } -.fa-face-smile, -.fa-smile { - --fa: "\f118"; +.fa-glass-water-droplet:before { + content: "\e4f5"; } -.fa-thumb-tack, -.fa-thumbtack { - --fa: "\f08d"; +.fa-display:before { + content: "\e163"; } -.fa-trophy { - --fa: "\f091"; +.fa-face-smile:before, +.fa-smile:before { + content: "\f118"; } -.fa-person-praying, -.fa-pray { - --fa: "\f683"; +.fa-thumb-tack:before, +.fa-thumbtack:before { + content: "\f08d"; } -.fa-hammer { - --fa: "\f6e3"; +.fa-trophy:before { + content: "\f091"; } -.fa-hand-peace { - --fa: "\f25b"; +.fa-person-praying:before, +.fa-pray:before { + content: "\f683"; } -.fa-rotate, -.fa-sync-alt { - --fa: "\f2f1"; +.fa-hammer:before { + content: "\f6e3"; } -.fa-spinner { - --fa: "\f110"; +.fa-hand-peace:before { + content: "\f25b"; } -.fa-robot { - --fa: "\f544"; +.fa-rotate:before, +.fa-sync-alt:before { + content: "\f2f1"; } -.fa-peace { - --fa: "\f67c"; +.fa-spinner:before { + content: "\f110"; } -.fa-cogs, -.fa-gears { - --fa: "\f085"; +.fa-robot:before { + content: "\f544"; } -.fa-warehouse { - --fa: "\f494"; +.fa-peace:before { + content: "\f67c"; } -.fa-arrow-up-right-dots { - --fa: "\e4b7"; +.fa-cogs:before, +.fa-gears:before { + content: "\f085"; } -.fa-splotch { - --fa: "\f5bc"; +.fa-warehouse:before { + content: "\f494"; } -.fa-face-grin-hearts, -.fa-grin-hearts { - --fa: "\f584"; +.fa-arrow-up-right-dots:before { + content: "\e4b7"; } -.fa-dice-four { - --fa: "\f524"; +.fa-splotch:before { + content: "\f5bc"; } -.fa-sim-card { - --fa: "\f7c4"; +.fa-face-grin-hearts:before, +.fa-grin-hearts:before { + content: "\f584"; } -.fa-transgender, -.fa-transgender-alt { - --fa: "\f225"; +.fa-dice-four:before { + content: "\f524"; } -.fa-mercury { - --fa: "\f223"; +.fa-sim-card:before { + content: "\f7c4"; } -.fa-arrow-turn-down, -.fa-level-down { - --fa: "\f149"; +.fa-transgender-alt:before, +.fa-transgender:before { + content: "\f225"; } -.fa-person-falling-burst { - --fa: "\e547"; +.fa-mercury:before { + content: "\f223"; } -.fa-award { - --fa: "\f559"; +.fa-arrow-turn-down:before, +.fa-level-down:before { + content: "\f149"; } -.fa-ticket-alt, -.fa-ticket-simple { - --fa: "\f3ff"; +.fa-person-falling-burst:before { + content: "\e547"; } -.fa-building { - --fa: "\f1ad"; +.fa-award:before { + content: "\f559"; } -.fa-angle-double-left, -.fa-angles-left { - --fa: "\f100"; +.fa-ticket-alt:before, +.fa-ticket-simple:before { + content: "\f3ff"; } -.fa-qrcode { - --fa: "\f029"; +.fa-building:before { + content: "\f1ad"; } -.fa-clock-rotate-left, -.fa-history { - --fa: "\f1da"; +.fa-angle-double-left:before, +.fa-angles-left:before { + content: "\f100"; } -.fa-face-grin-beam-sweat, -.fa-grin-beam-sweat { - --fa: "\f583"; +.fa-qrcode:before { + content: "\f029"; } -.fa-arrow-right-from-file, -.fa-file-export { - --fa: "\f56e"; +.fa-clock-rotate-left:before, +.fa-history:before { + content: "\f1da"; } -.fa-shield, -.fa-shield-blank { - --fa: "\f132"; +.fa-face-grin-beam-sweat:before, +.fa-grin-beam-sweat:before { + content: "\f583"; } -.fa-arrow-up-short-wide, -.fa-sort-amount-up-alt { - --fa: "\f885"; +.fa-arrow-right-from-file:before, +.fa-file-export:before { + content: "\f56e"; } -.fa-comment-nodes { - --fa: "\e696"; +.fa-shield-blank:before, +.fa-shield:before { + content: "\f132"; } -.fa-house-medical { - --fa: "\e3b2"; +.fa-arrow-up-short-wide:before, +.fa-sort-amount-up-alt:before { + content: "\f885"; } -.fa-golf-ball, -.fa-golf-ball-tee { - --fa: "\f450"; +.fa-house-medical:before { + content: "\e3b2"; } -.fa-chevron-circle-left, -.fa-circle-chevron-left { - --fa: "\f137"; +.fa-golf-ball-tee:before, +.fa-golf-ball:before { + content: "\f450"; } -.fa-house-chimney-window { - --fa: "\e00d"; +.fa-chevron-circle-left:before, +.fa-circle-chevron-left:before { + content: "\f137"; } -.fa-pen-nib { - --fa: "\f5ad"; +.fa-house-chimney-window:before { + content: "\e00d"; } -.fa-tent-arrow-turn-left { - --fa: "\e580"; +.fa-pen-nib:before { + content: "\f5ad"; } -.fa-tents { - --fa: "\e582"; +.fa-tent-arrow-turn-left:before { + content: "\e580"; } -.fa-magic, -.fa-wand-magic { - --fa: "\f0d0"; +.fa-tents:before { + content: "\e582"; } -.fa-dog { - --fa: "\f6d3"; +.fa-magic:before, +.fa-wand-magic:before { + content: "\f0d0"; } -.fa-carrot { - --fa: "\f787"; +.fa-dog:before { + content: "\f6d3"; } -.fa-moon { - --fa: "\f186"; +.fa-carrot:before { + content: "\f787"; } -.fa-wine-glass-alt, -.fa-wine-glass-empty { - --fa: "\f5ce"; +.fa-moon:before { + content: "\f186"; } -.fa-cheese { - --fa: "\f7ef"; +.fa-wine-glass-alt:before, +.fa-wine-glass-empty:before { + content: "\f5ce"; } -.fa-yin-yang { - --fa: "\f6ad"; +.fa-cheese:before { + content: "\f7ef"; } -.fa-music { - --fa: "\f001"; +.fa-yin-yang:before { + content: "\f6ad"; } -.fa-code-commit { - --fa: "\f386"; +.fa-music:before { + content: "\f001"; } -.fa-temperature-low { - --fa: "\f76b"; +.fa-code-commit:before { + content: "\f386"; } -.fa-biking, -.fa-person-biking { - --fa: "\f84a"; +.fa-temperature-low:before { + content: "\f76b"; } -.fa-broom { - --fa: "\f51a"; +.fa-biking:before, +.fa-person-biking:before { + content: "\f84a"; } -.fa-shield-heart { - --fa: "\e574"; +.fa-broom:before { + content: "\f51a"; } -.fa-gopuram { - --fa: "\f664"; +.fa-shield-heart:before { + content: "\e574"; } -.fa-earth-oceania, -.fa-globe-oceania { - --fa: "\e47b"; +.fa-gopuram:before { + content: "\f664"; } -.fa-square-xmark, -.fa-times-square, -.fa-xmark-square { - --fa: "\f2d3"; +.fa-earth-oceania:before, +.fa-globe-oceania:before { + content: "\e47b"; } -.fa-hashtag { - --fa: "\23"; +.fa-square-xmark:before, +.fa-times-square:before, +.fa-xmark-square:before { + content: "\f2d3"; } -.fa-expand-alt, -.fa-up-right-and-down-left-from-center { - --fa: "\f424"; +.fa-hashtag:before { + content: "\23"; } -.fa-oil-can { - --fa: "\f613"; +.fa-expand-alt:before, +.fa-up-right-and-down-left-from-center:before { + content: "\f424"; } -.fa-t { - --fa: "\54"; +.fa-oil-can:before { + content: "\f613"; } -.fa-hippo { - --fa: "\f6ed"; +.fa-t:before { + content: "\54"; } -.fa-chart-column { - --fa: "\e0e3"; +.fa-hippo:before { + content: "\f6ed"; } -.fa-infinity { - --fa: "\f534"; +.fa-chart-column:before { + content: "\e0e3"; } -.fa-vial-circle-check { - --fa: "\e596"; +.fa-infinity:before { + content: "\f534"; } -.fa-person-arrow-down-to-line { - --fa: "\e538"; +.fa-vial-circle-check:before { + content: "\e596"; } -.fa-voicemail { - --fa: "\f897"; +.fa-person-arrow-down-to-line:before { + content: "\e538"; } -.fa-fan { - --fa: "\f863"; +.fa-voicemail:before { + content: "\f897"; } -.fa-person-walking-luggage { - --fa: "\e554"; +.fa-fan:before { + content: "\f863"; } -.fa-arrows-alt-v, -.fa-up-down { - --fa: "\f338"; +.fa-person-walking-luggage:before { + content: "\e554"; } -.fa-cloud-moon-rain { - --fa: "\f73c"; +.fa-arrows-alt-v:before, +.fa-up-down:before { + content: "\f338"; } -.fa-calendar { - --fa: "\f133"; +.fa-cloud-moon-rain:before { + content: "\f73c"; } -.fa-trailer { - --fa: "\e041"; +.fa-calendar:before { + content: "\f133"; } -.fa-bahai, -.fa-haykal { - --fa: "\f666"; +.fa-trailer:before { + content: "\e041"; } -.fa-sd-card { - --fa: "\f7c2"; +.fa-bahai:before, +.fa-haykal:before { + content: "\f666"; } -.fa-dragon { - --fa: "\f6d5"; +.fa-sd-card:before { + content: "\f7c2"; } -.fa-shoe-prints { - --fa: "\f54b"; +.fa-dragon:before { + content: "\f6d5"; } -.fa-circle-plus, -.fa-plus-circle { - --fa: "\f055"; +.fa-shoe-prints:before { + content: "\f54b"; } -.fa-face-grin-tongue-wink, -.fa-grin-tongue-wink { - --fa: "\f58b"; +.fa-circle-plus:before, +.fa-plus-circle:before { + content: "\f055"; } -.fa-hand-holding { - --fa: "\f4bd"; +.fa-face-grin-tongue-wink:before, +.fa-grin-tongue-wink:before { + content: "\f58b"; } -.fa-plug-circle-exclamation { - --fa: "\e55d"; +.fa-hand-holding:before { + content: "\f4bd"; } -.fa-chain-broken, -.fa-chain-slash, -.fa-link-slash, -.fa-unlink { - --fa: "\f127"; +.fa-plug-circle-exclamation:before { + content: "\e55d"; } -.fa-clone { - --fa: "\f24d"; +.fa-chain-broken:before, +.fa-chain-slash:before, +.fa-link-slash:before, +.fa-unlink:before { + content: "\f127"; } -.fa-person-walking-arrow-loop-left { - --fa: "\e551"; +.fa-clone:before { + content: "\f24d"; } -.fa-arrow-up-z-a, -.fa-sort-alpha-up-alt { - --fa: "\f882"; +.fa-person-walking-arrow-loop-left:before { + content: "\e551"; } -.fa-fire-alt, -.fa-fire-flame-curved { - --fa: "\f7e4"; +.fa-arrow-up-z-a:before, +.fa-sort-alpha-up-alt:before { + content: "\f882"; } -.fa-tornado { - --fa: "\f76f"; +.fa-fire-alt:before, +.fa-fire-flame-curved:before { + content: "\f7e4"; } -.fa-file-circle-plus { - --fa: "\e494"; +.fa-tornado:before { + content: "\f76f"; } -.fa-book-quran, -.fa-quran { - --fa: "\f687"; +.fa-file-circle-plus:before { + content: "\e494"; } -.fa-anchor { - --fa: "\f13d"; +.fa-book-quran:before, +.fa-quran:before { + content: "\f687"; } -.fa-border-all { - --fa: "\f84c"; +.fa-anchor:before { + content: "\f13d"; } -.fa-angry, -.fa-face-angry { - --fa: "\f556"; +.fa-border-all:before { + content: "\f84c"; } -.fa-cookie-bite { - --fa: "\f564"; +.fa-angry:before, +.fa-face-angry:before { + content: "\f556"; } -.fa-arrow-trend-down { - --fa: "\e097"; +.fa-cookie-bite:before { + content: "\f564"; } -.fa-feed, -.fa-rss { - --fa: "\f09e"; +.fa-arrow-trend-down:before { + content: "\e097"; } -.fa-draw-polygon { - --fa: "\f5ee"; +.fa-feed:before, +.fa-rss:before { + content: "\f09e"; } -.fa-balance-scale, -.fa-scale-balanced { - --fa: "\f24e"; +.fa-draw-polygon:before { + content: "\f5ee"; } -.fa-gauge-simple-high, -.fa-tachometer, -.fa-tachometer-fast { - --fa: "\f62a"; +.fa-balance-scale:before, +.fa-scale-balanced:before { + content: "\f24e"; } -.fa-shower { - --fa: "\f2cc"; +.fa-gauge-simple-high:before, +.fa-tachometer-fast:before, +.fa-tachometer:before { + content: "\f62a"; } -.fa-desktop, -.fa-desktop-alt { - --fa: "\f390"; +.fa-shower:before { + content: "\f2cc"; } -.fa-m { - --fa: "\4d"; +.fa-desktop-alt:before, +.fa-desktop:before { + content: "\f390"; } -.fa-table-list, -.fa-th-list { - --fa: "\f00b"; +.fa-m:before { + content: "\4d"; } -.fa-comment-sms, -.fa-sms { - --fa: "\f7cd"; +.fa-table-list:before, +.fa-th-list:before { + content: "\f00b"; } -.fa-book { - --fa: "\f02d"; +.fa-comment-sms:before, +.fa-sms:before { + content: "\f7cd"; } -.fa-user-plus { - --fa: "\f234"; +.fa-book:before { + content: "\f02d"; } -.fa-check { - --fa: "\f00c"; +.fa-user-plus:before { + content: "\f234"; } -.fa-battery-4, -.fa-battery-three-quarters { - --fa: "\f241"; +.fa-check:before { + content: "\f00c"; } -.fa-house-circle-check { - --fa: "\e509"; +.fa-battery-4:before, +.fa-battery-three-quarters:before { + content: "\f241"; } -.fa-angle-left { - --fa: "\f104"; +.fa-house-circle-check:before { + content: "\e509"; } -.fa-diagram-successor { - --fa: "\e47a"; +.fa-angle-left:before { + content: "\f104"; } -.fa-truck-arrow-right { - --fa: "\e58b"; +.fa-diagram-successor:before { + content: "\e47a"; } -.fa-arrows-split-up-and-left { - --fa: "\e4bc"; +.fa-truck-arrow-right:before { + content: "\e58b"; } -.fa-fist-raised, -.fa-hand-fist { - --fa: "\f6de"; +.fa-arrows-split-up-and-left:before { + content: "\e4bc"; } -.fa-cloud-moon { - --fa: "\f6c3"; +.fa-fist-raised:before, +.fa-hand-fist:before { + content: "\f6de"; } -.fa-briefcase { - --fa: "\f0b1"; +.fa-cloud-moon:before { + content: "\f6c3"; } -.fa-person-falling { - --fa: "\e546"; +.fa-briefcase:before { + content: "\f0b1"; } -.fa-image-portrait, -.fa-portrait { - --fa: "\f3e0"; +.fa-person-falling:before { + content: "\e546"; } -.fa-user-tag { - --fa: "\f507"; +.fa-image-portrait:before, +.fa-portrait:before { + content: "\f3e0"; } -.fa-rug { - --fa: "\e569"; +.fa-user-tag:before { + content: "\f507"; } -.fa-earth-europe, -.fa-globe-europe { - --fa: "\f7a2"; +.fa-rug:before { + content: "\e569"; } -.fa-cart-flatbed-suitcase, -.fa-luggage-cart { - --fa: "\f59d"; +.fa-earth-europe:before, +.fa-globe-europe:before { + content: "\f7a2"; } -.fa-rectangle-times, -.fa-rectangle-xmark, -.fa-times-rectangle, -.fa-window-close { - --fa: "\f410"; +.fa-cart-flatbed-suitcase:before, +.fa-luggage-cart:before { + content: "\f59d"; } -.fa-baht-sign { - --fa: "\e0ac"; +.fa-rectangle-times:before, +.fa-rectangle-xmark:before, +.fa-times-rectangle:before, +.fa-window-close:before { + content: "\f410"; } -.fa-book-open { - --fa: "\f518"; +.fa-baht-sign:before { + content: "\e0ac"; } -.fa-book-journal-whills, -.fa-journal-whills { - --fa: "\f66a"; +.fa-book-open:before { + content: "\f518"; } -.fa-handcuffs { - --fa: "\e4f8"; +.fa-book-journal-whills:before, +.fa-journal-whills:before { + content: "\f66a"; } -.fa-exclamation-triangle, -.fa-triangle-exclamation, -.fa-warning { - --fa: "\f071"; +.fa-handcuffs:before { + content: "\e4f8"; } -.fa-database { - --fa: "\f1c0"; +.fa-exclamation-triangle:before, +.fa-triangle-exclamation:before, +.fa-warning:before { + content: "\f071"; } -.fa-mail-forward, -.fa-share { - --fa: "\f064"; +.fa-database:before { + content: "\f1c0"; } -.fa-bottle-droplet { - --fa: "\e4c4"; +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; } -.fa-mask-face { - --fa: "\e1d7"; +.fa-bottle-droplet:before { + content: "\e4c4"; } -.fa-hill-rockslide { - --fa: "\e508"; +.fa-mask-face:before { + content: "\e1d7"; } -.fa-exchange-alt, -.fa-right-left { - --fa: "\f362"; +.fa-hill-rockslide:before { + content: "\e508"; } -.fa-paper-plane { - --fa: "\f1d8"; +.fa-exchange-alt:before, +.fa-right-left:before { + content: "\f362"; } -.fa-road-circle-exclamation { - --fa: "\e565"; +.fa-paper-plane:before { + content: "\f1d8"; } -.fa-dungeon { - --fa: "\f6d9"; +.fa-road-circle-exclamation:before { + content: "\e565"; } -.fa-align-right { - --fa: "\f038"; +.fa-dungeon:before { + content: "\f6d9"; } -.fa-money-bill-1-wave, -.fa-money-bill-wave-alt { - --fa: "\f53b"; +.fa-align-right:before { + content: "\f038"; } -.fa-life-ring { - --fa: "\f1cd"; +.fa-money-bill-1-wave:before, +.fa-money-bill-wave-alt:before { + content: "\f53b"; } -.fa-hands, -.fa-sign-language, -.fa-signing { - --fa: "\f2a7"; +.fa-life-ring:before { + content: "\f1cd"; } -.fa-calendar-day { - --fa: "\f783"; +.fa-hands:before, +.fa-sign-language:before, +.fa-signing:before { + content: "\f2a7"; } -.fa-ladder-water, -.fa-swimming-pool, -.fa-water-ladder { - --fa: "\f5c5"; +.fa-calendar-day:before { + content: "\f783"; } -.fa-arrows-up-down, -.fa-arrows-v { - --fa: "\f07d"; +.fa-ladder-water:before, +.fa-swimming-pool:before, +.fa-water-ladder:before { + content: "\f5c5"; } -.fa-face-grimace, -.fa-grimace { - --fa: "\f57f"; +.fa-arrows-up-down:before, +.fa-arrows-v:before { + content: "\f07d"; } -.fa-wheelchair-alt, -.fa-wheelchair-move { - --fa: "\e2ce"; +.fa-face-grimace:before, +.fa-grimace:before { + content: "\f57f"; } -.fa-level-down-alt, -.fa-turn-down { - --fa: "\f3be"; +.fa-wheelchair-alt:before, +.fa-wheelchair-move:before { + content: "\e2ce"; } -.fa-person-walking-arrow-right { - --fa: "\e552"; +.fa-level-down-alt:before, +.fa-turn-down:before { + content: "\f3be"; } -.fa-envelope-square, -.fa-square-envelope { - --fa: "\f199"; +.fa-person-walking-arrow-right:before { + content: "\e552"; } -.fa-dice { - --fa: "\f522"; +.fa-envelope-square:before, +.fa-square-envelope:before { + content: "\f199"; } -.fa-bowling-ball { - --fa: "\f436"; +.fa-dice:before { + content: "\f522"; } -.fa-brain { - --fa: "\f5dc"; +.fa-bowling-ball:before { + content: "\f436"; } -.fa-band-aid, -.fa-bandage { - --fa: "\f462"; +.fa-brain:before { + content: "\f5dc"; } -.fa-calendar-minus { - --fa: "\f272"; +.fa-band-aid:before, +.fa-bandage:before { + content: "\f462"; } -.fa-circle-xmark, -.fa-times-circle, -.fa-xmark-circle { - --fa: "\f057"; +.fa-calendar-minus:before { + content: "\f272"; } -.fa-gifts { - --fa: "\f79c"; +.fa-circle-xmark:before, +.fa-times-circle:before, +.fa-xmark-circle:before { + content: "\f057"; } -.fa-hotel { - --fa: "\f594"; +.fa-gifts:before { + content: "\f79c"; } -.fa-earth-asia, -.fa-globe-asia { - --fa: "\f57e"; +.fa-hotel:before { + content: "\f594"; } -.fa-id-card-alt, -.fa-id-card-clip { - --fa: "\f47f"; +.fa-earth-asia:before, +.fa-globe-asia:before { + content: "\f57e"; } -.fa-magnifying-glass-plus, -.fa-search-plus { - --fa: "\f00e"; +.fa-id-card-alt:before, +.fa-id-card-clip:before { + content: "\f47f"; } -.fa-thumbs-up { - --fa: "\f164"; +.fa-magnifying-glass-plus:before, +.fa-search-plus:before { + content: "\f00e"; } -.fa-user-clock { - --fa: "\f4fd"; +.fa-thumbs-up:before { + content: "\f164"; } -.fa-allergies, -.fa-hand-dots { - --fa: "\f461"; +.fa-user-clock:before { + content: "\f4fd"; } -.fa-file-invoice { - --fa: "\f570"; +.fa-allergies:before, +.fa-hand-dots:before { + content: "\f461"; } -.fa-window-minimize { - --fa: "\f2d1"; +.fa-file-invoice:before { + content: "\f570"; } -.fa-coffee, -.fa-mug-saucer { - --fa: "\f0f4"; +.fa-window-minimize:before { + content: "\f2d1"; } -.fa-brush { - --fa: "\f55d"; +.fa-coffee:before, +.fa-mug-saucer:before { + content: "\f0f4"; } -.fa-file-half-dashed { - --fa: "\e698"; +.fa-brush:before { + content: "\f55d"; } -.fa-mask { - --fa: "\f6fa"; +.fa-mask:before { + content: "\f6fa"; } -.fa-magnifying-glass-minus, -.fa-search-minus { - --fa: "\f010"; +.fa-magnifying-glass-minus:before, +.fa-search-minus:before { + content: "\f010"; } -.fa-ruler-vertical { - --fa: "\f548"; +.fa-ruler-vertical:before { + content: "\f548"; } -.fa-user-alt, -.fa-user-large { - --fa: "\f406"; +.fa-user-alt:before, +.fa-user-large:before { + content: "\f406"; } -.fa-train-tram { - --fa: "\e5b4"; +.fa-train-tram:before { + content: "\e5b4"; } -.fa-user-nurse { - --fa: "\f82f"; +.fa-user-nurse:before { + content: "\f82f"; } -.fa-syringe { - --fa: "\f48e"; +.fa-syringe:before { + content: "\f48e"; } -.fa-cloud-sun { - --fa: "\f6c4"; +.fa-cloud-sun:before { + content: "\f6c4"; } -.fa-stopwatch-20 { - --fa: "\e06f"; +.fa-stopwatch-20:before { + content: "\e06f"; } -.fa-square-full { - --fa: "\f45c"; +.fa-square-full:before { + content: "\f45c"; } -.fa-magnet { - --fa: "\f076"; +.fa-magnet:before { + content: "\f076"; } -.fa-jar { - --fa: "\e516"; +.fa-jar:before { + content: "\e516"; } -.fa-note-sticky, -.fa-sticky-note { - --fa: "\f249"; +.fa-note-sticky:before, +.fa-sticky-note:before { + content: "\f249"; } -.fa-bug-slash { - --fa: "\e490"; +.fa-bug-slash:before { + content: "\e490"; } -.fa-arrow-up-from-water-pump { - --fa: "\e4b6"; +.fa-arrow-up-from-water-pump:before { + content: "\e4b6"; } -.fa-bone { - --fa: "\f5d7"; +.fa-bone:before { + content: "\f5d7"; } -.fa-table-cells-row-unlock { - --fa: "\e691"; +.fa-table-cells-row-unlock:before { + content: "\e691"; } -.fa-user-injured { - --fa: "\f728"; +.fa-user-injured:before { + content: "\f728"; } -.fa-face-sad-tear, -.fa-sad-tear { - --fa: "\f5b4"; +.fa-face-sad-tear:before, +.fa-sad-tear:before { + content: "\f5b4"; } -.fa-plane { - --fa: "\f072"; +.fa-plane:before { + content: "\f072"; } -.fa-tent-arrows-down { - --fa: "\e581"; +.fa-tent-arrows-down:before { + content: "\e581"; } -.fa-exclamation { - --fa: "\21"; +.fa-exclamation:before { + content: "\21"; } -.fa-arrows-spin { - --fa: "\e4bb"; +.fa-arrows-spin:before { + content: "\e4bb"; } -.fa-print { - --fa: "\f02f"; +.fa-print:before { + content: "\f02f"; } -.fa-try, -.fa-turkish-lira, -.fa-turkish-lira-sign { - --fa: "\e2bb"; +.fa-try:before, +.fa-turkish-lira-sign:before, +.fa-turkish-lira:before { + content: "\e2bb"; } -.fa-dollar, -.fa-dollar-sign, -.fa-usd { - --fa: "\24"; +.fa-dollar-sign:before, +.fa-dollar:before, +.fa-usd:before { + content: "\24"; } -.fa-x { - --fa: "\58"; +.fa-x:before { + content: "\58"; } -.fa-magnifying-glass-dollar, -.fa-search-dollar { - --fa: "\f688"; +.fa-magnifying-glass-dollar:before, +.fa-search-dollar:before { + content: "\f688"; } -.fa-users-cog, -.fa-users-gear { - --fa: "\f509"; +.fa-users-cog:before, +.fa-users-gear:before { + content: "\f509"; } -.fa-person-military-pointing { - --fa: "\e54a"; +.fa-person-military-pointing:before { + content: "\e54a"; } -.fa-bank, -.fa-building-columns, -.fa-institution, -.fa-museum, -.fa-university { - --fa: "\f19c"; +.fa-bank:before, +.fa-building-columns:before, +.fa-institution:before, +.fa-museum:before, +.fa-university:before { + content: "\f19c"; } -.fa-umbrella { - --fa: "\f0e9"; +.fa-umbrella:before { + content: "\f0e9"; } -.fa-trowel { - --fa: "\e589"; +.fa-trowel:before { + content: "\e589"; } -.fa-d { - --fa: "\44"; +.fa-d:before { + content: "\44"; } -.fa-stapler { - --fa: "\e5af"; +.fa-stapler:before { + content: "\e5af"; } -.fa-masks-theater, -.fa-theater-masks { - --fa: "\f630"; +.fa-masks-theater:before, +.fa-theater-masks:before { + content: "\f630"; } -.fa-kip-sign { - --fa: "\e1c4"; +.fa-kip-sign:before { + content: "\e1c4"; } -.fa-hand-point-left { - --fa: "\f0a5"; +.fa-hand-point-left:before { + content: "\f0a5"; } -.fa-handshake-alt, -.fa-handshake-simple { - --fa: "\f4c6"; +.fa-handshake-alt:before, +.fa-handshake-simple:before { + content: "\f4c6"; } -.fa-fighter-jet, -.fa-jet-fighter { - --fa: "\f0fb"; +.fa-fighter-jet:before, +.fa-jet-fighter:before { + content: "\f0fb"; } -.fa-share-alt-square, -.fa-square-share-nodes { - --fa: "\f1e1"; +.fa-share-alt-square:before, +.fa-square-share-nodes:before { + content: "\f1e1"; } -.fa-barcode { - --fa: "\f02a"; +.fa-barcode:before { + content: "\f02a"; } -.fa-plus-minus { - --fa: "\e43c"; +.fa-plus-minus:before { + content: "\e43c"; } -.fa-video, -.fa-video-camera { - --fa: "\f03d"; +.fa-video-camera:before, +.fa-video:before { + content: "\f03d"; } -.fa-graduation-cap, -.fa-mortar-board { - --fa: "\f19d"; +.fa-graduation-cap:before, +.fa-mortar-board:before { + content: "\f19d"; } -.fa-hand-holding-medical { - --fa: "\e05c"; +.fa-hand-holding-medical:before { + content: "\e05c"; } -.fa-person-circle-check { - --fa: "\e53e"; +.fa-person-circle-check:before { + content: "\e53e"; } -.fa-level-up-alt, -.fa-turn-up { - --fa: "\f3bf"; +.fa-level-up-alt:before, +.fa-turn-up:before { + content: "\f3bf"; } .fa-sr-only, .fa-sr-only-focusable:not(:focus), diff --git a/templates/assets/css/responsive.bootstrap5.min.css b/templates/assets/css/responsive.bootstrap5.min.css new file mode 100644 index 00000000..332de18e --- /dev/null +++ b/templates/assets/css/responsive.bootstrap5.min.css @@ -0,0 +1,232 @@ +table.dataTable.dtr-inline.collapsed > tbody > tr > td.child, +table.dataTable.dtr-inline.collapsed > tbody > tr > th.child, +table.dataTable.dtr-inline.collapsed > tbody > tr > td.dataTables_empty { + cursor: default !important; +} +table.dataTable.dtr-inline.collapsed > tbody > tr > td.child:before, +table.dataTable.dtr-inline.collapsed > tbody > tr > th.child:before, +table.dataTable.dtr-inline.collapsed > tbody > tr > td.dataTables_empty:before { + display: none !important; +} +table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control, +table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control { + cursor: pointer; +} +table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control:before, +table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control:before { + margin-right: 0.5em; + display: inline-block; + box-sizing: border-box; + content: ""; + border-top: 5px solid transparent; + border-left: 10px solid rgba(0, 0, 0, 0.5); + border-bottom: 5px solid transparent; + border-right: 0px solid transparent; +} +table.dataTable.dtr-inline.collapsed + > tbody + > tr + > td.dtr-control.arrow-right::before, +table.dataTable.dtr-inline.collapsed + > tbody + > tr + > th.dtr-control.arrow-right::before { + border-top: 5px solid transparent; + border-left: 0px solid transparent; + border-bottom: 5px solid transparent; + border-right: 10px solid rgba(0, 0, 0, 0.5); +} +table.dataTable.dtr-inline.collapsed + > tbody + > tr.dtr-expanded + > td.dtr-control:before, +table.dataTable.dtr-inline.collapsed + > tbody + > tr.dtr-expanded + > th.dtr-control:before { + border-top: 10px solid rgba(0, 0, 0, 0.5); + border-left: 5px solid transparent; + border-bottom: 0px solid transparent; + border-right: 5px solid transparent; +} +table.dataTable.dtr-inline.collapsed.compact > tbody > tr > td.dtr-control, +table.dataTable.dtr-inline.collapsed.compact > tbody > tr > th.dtr-control { + padding-left: 0.333em; +} +table.dataTable.dtr-column > tbody > tr > td.dtr-control, +table.dataTable.dtr-column > tbody > tr > th.dtr-control, +table.dataTable.dtr-column > tbody > tr > td.control, +table.dataTable.dtr-column > tbody > tr > th.control { + cursor: pointer; +} +table.dataTable.dtr-column > tbody > tr > td.dtr-control:before, +table.dataTable.dtr-column > tbody > tr > th.dtr-control:before, +table.dataTable.dtr-column > tbody > tr > td.control:before, +table.dataTable.dtr-column > tbody > tr > th.control:before { + display: inline-block; + box-sizing: border-box; + content: ""; + border-top: 5px solid transparent; + border-left: 10px solid rgba(0, 0, 0, 0.5); + border-bottom: 5px solid transparent; + border-right: 0px solid transparent; +} +table.dataTable.dtr-column > tbody > tr > td.dtr-control.arrow-right::before, +table.dataTable.dtr-column > tbody > tr > th.dtr-control.arrow-right::before, +table.dataTable.dtr-column > tbody > tr > td.control.arrow-right::before, +table.dataTable.dtr-column > tbody > tr > th.control.arrow-right::before { + border-top: 5px solid transparent; + border-left: 0px solid transparent; + border-bottom: 5px solid transparent; + border-right: 10px solid rgba(0, 0, 0, 0.5); +} +table.dataTable.dtr-column > tbody > tr.dtr-expanded td.dtr-control:before, +table.dataTable.dtr-column > tbody > tr.dtr-expanded th.dtr-control:before, +table.dataTable.dtr-column > tbody > tr.dtr-expanded td.control:before, +table.dataTable.dtr-column > tbody > tr.dtr-expanded th.control:before { + border-top: 10px solid rgba(0, 0, 0, 0.5); + border-left: 5px solid transparent; + border-bottom: 0px solid transparent; + border-right: 5px solid transparent; +} +table.dataTable > tbody > tr.child { + padding: 0.5em 1em; +} +table.dataTable > tbody > tr.child:hover { + background: transparent !important; +} +table.dataTable > tbody > tr.child ul.dtr-details { + display: inline-block; + list-style-type: none; + margin: 0; + padding: 0; +} +table.dataTable > tbody > tr.child ul.dtr-details > li { + border-bottom: 1px solid #efefef; + padding: 0.5em 0; +} +table.dataTable > tbody > tr.child ul.dtr-details > li:first-child { + padding-top: 0; +} +table.dataTable > tbody > tr.child ul.dtr-details > li:last-child { + padding-bottom: 0; + border-bottom: none; +} +table.dataTable > tbody > tr.child span.dtr-title { + display: inline-block; + min-width: 75px; + font-weight: bold; +} +div.dtr-modal { + position: fixed; + box-sizing: border-box; + top: 0; + left: 0; + height: 100%; + width: 100%; + z-index: 100; + padding: 10em 1em; +} +div.dtr-modal div.dtr-modal-display { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + width: 50%; + height: fit-content; + max-height: 75%; + overflow: auto; + margin: auto; + z-index: 102; + overflow: auto; + background-color: #f5f5f7; + border: 1px solid black; + border-radius: 0.5em; + box-shadow: 0 12px 30px rgba(0, 0, 0, 0.6); +} +div.dtr-modal div.dtr-modal-content { + position: relative; + padding: 2.5em; +} +div.dtr-modal div.dtr-modal-content h2 { + margin-top: 0; +} +div.dtr-modal div.dtr-modal-close { + position: absolute; + top: 6px; + right: 6px; + width: 22px; + height: 22px; + text-align: center; + border-radius: 3px; + cursor: pointer; + z-index: 12; +} +div.dtr-modal div.dtr-modal-background { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 101; + background: rgba(0, 0, 0, 0.6); +} +@media screen and (max-width: 767px) { + div.dtr-modal div.dtr-modal-display { + width: 95%; + } +} +html.dark table.dataTable > tbody > tr > td.dtr-control:before, +html[data-bs-theme="dark"] + table.dataTable + > tbody + > tr + > td.dtr-control:before { + border-left-color: rgba(255, 255, 255, 0.5) !important; +} +html.dark table.dataTable > tbody > tr > td.dtr-control.arrow-right::before, +html[data-bs-theme="dark"] + table.dataTable + > tbody + > tr + > td.dtr-control.arrow-right::before { + border-right-color: rgba(255, 255, 255, 0.5) !important; +} +html.dark table.dataTable > tbody > tr.dtr-expanded > td.dtr-control:before, +html.dark table.dataTable > tbody > tr.dtr-expanded > th.dtr-control:before, +html[data-bs-theme="dark"] + table.dataTable + > tbody + > tr.dtr-expanded + > td.dtr-control:before, +html[data-bs-theme="dark"] + table.dataTable + > tbody + > tr.dtr-expanded + > th.dtr-control:before { + border-top-color: rgba(255, 255, 255, 0.5) !important; + border-left-color: transparent !important; + border-right-color: transparent !important; +} +html.dark table.dataTable > tbody > tr.child ul.dtr-details > li, +html[data-bs-theme="dark"] + table.dataTable + > tbody + > tr.child + ul.dtr-details + > li { + border-bottom-color: rgb(64, 67, 70); +} +html.dark div.dtr-modal div.dtr-modal-display, +html[data-bs-theme="dark"] div.dtr-modal div.dtr-modal-display { + background-color: rgb(33, 37, 41); + border: 1px solid rgba(255, 255, 255, 0.15); +} +div.dtr-bs-modal table.table tr:first-child td { + border-top: none; +} +table.dataTable.table-bordered th.dtr-control.dtr-hidden + *, +table.dataTable.table-bordered td.dtr-control.dtr-hidden + * { + border-left-width: 1px; +} diff --git a/templates/assets/js/Chart.min.js b/templates/assets/js/Chart.min.js index 090a9bde..73d7b3a2 100644 --- a/templates/assets/js/Chart.min.js +++ b/templates/assets/js/Chart.min.js @@ -1,14 +1,11697 @@ -/*! - * Chart.js - * http://chartjs.org/ - * Version: 2.5.0 +/** + * Skipped minification because the original files appears to be already minified. + * Original file: /npm/chart.js@4.4.7/dist/chart.umd.js * - * Copyright 2017 Nick Downie - * Released under the MIT license - * https://github.com/chartjs/Chart.js/blob/master/LICENSE.md + * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files + */ +/*! + * Chart.js v4.4.7 + * https://www.chartjs.org + * (c) 2024 Chart.js Contributors + * Released under the MIT License */ -!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.Chart=t()}}(function(){return function t(e,a,i){function n(r,s){if(!a[r]){if(!e[r]){var l="function"==typeof require&&require;if(!s&&l)return l(r,!0);if(o)return o(r,!0);var u=new Error("Cannot find module '"+r+"'");throw u.code="MODULE_NOT_FOUND",u}var d=a[r]={exports:{}};e[r][0].call(d.exports,function(t){var a=e[r][1][t];return n(a?a:t)},d,d.exports,t,e,a,i)}return a[r].exports}for(var o="function"==typeof require&&require,r=0;ra?(e+.05)/(a+.05):(a+.05)/(e+.05)},level:function(t){var e=this.contrast(t);return e>=7.1?"AAA":e>=4.5?"AA":""},dark:function(){var t=this.values.rgb,e=(299*t[0]+587*t[1]+114*t[2])/1e3;return e<128},light:function(){return!this.dark()},negate:function(){for(var t=[],e=0;e<3;e++)t[e]=255-this.values.rgb[e];return this.setValues("rgb",t),this},lighten:function(t){var e=this.values.hsl;return e[2]+=e[2]*t,this.setValues("hsl",e),this},darken:function(t){var e=this.values.hsl;return e[2]-=e[2]*t,this.setValues("hsl",e),this},saturate:function(t){var e=this.values.hsl;return e[1]+=e[1]*t,this.setValues("hsl",e),this},desaturate:function(t){var e=this.values.hsl;return e[1]-=e[1]*t,this.setValues("hsl",e),this},whiten:function(t){var e=this.values.hwb;return e[1]+=e[1]*t,this.setValues("hwb",e),this},blacken:function(t){var e=this.values.hwb;return e[2]+=e[2]*t,this.setValues("hwb",e),this},greyscale:function(){var t=this.values.rgb,e=.3*t[0]+.59*t[1]+.11*t[2];return this.setValues("rgb",[e,e,e]),this},clearer:function(t){var e=this.values.alpha;return this.setValues("alpha",e-e*t),this},opaquer:function(t){var e=this.values.alpha;return this.setValues("alpha",e+e*t),this},rotate:function(t){var e=this.values.hsl,a=(e[0]+t)%360;return e[0]=a<0?360+a:a,this.setValues("hsl",e),this},mix:function(t,e){var a=this,i=t,n=void 0===e?.5:e,o=2*n-1,r=a.alpha()-i.alpha(),s=((o*r===-1?o:(o+r)/(1+o*r))+1)/2,l=1-s;return this.rgb(s*a.red()+l*i.red(),s*a.green()+l*i.green(),s*a.blue()+l*i.blue()).alpha(a.alpha()*n+i.alpha()*(1-n))},toJSON:function(){return this.rgb()},clone:function(){var t,e,a=new o,i=this.values,n=a.values;for(var r in i)i.hasOwnProperty(r)&&(t=i[r],e={}.toString.call(t),"[object Array]"===e?n[r]=t.slice(0):"[object Number]"===e?n[r]=t:console.error("unexpected color value:",t));return a}},o.prototype.spaces={rgb:["red","green","blue"],hsl:["hue","saturation","lightness"],hsv:["hue","saturation","value"],hwb:["hue","whiteness","blackness"],cmyk:["cyan","magenta","yellow","black"]},o.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},o.prototype.getValues=function(t){for(var e=this.values,a={},i=0;i.04045?Math.pow((e+.055)/1.055,2.4):e/12.92,a=a>.04045?Math.pow((a+.055)/1.055,2.4):a/12.92,i=i>.04045?Math.pow((i+.055)/1.055,2.4):i/12.92;var n=.4124*e+.3576*a+.1805*i,o=.2126*e+.7152*a+.0722*i,r=.0193*e+.1192*a+.9505*i;return[100*n,100*o,100*r]}function d(t){var e,a,i,n=u(t),o=n[0],r=n[1],s=n[2];return o/=95.047,r/=100,s/=108.883,o=o>.008856?Math.pow(o,1/3):7.787*o+16/116,r=r>.008856?Math.pow(r,1/3):7.787*r+16/116,s=s>.008856?Math.pow(s,1/3):7.787*s+16/116,e=116*r-16,a=500*(o-r),i=200*(r-s),[e,a,i]}function c(t){return z(d(t))}function h(t){var e,a,i,n,o,r=t[0]/360,s=t[1]/100,l=t[2]/100;if(0==s)return o=255*l,[o,o,o];a=l<.5?l*(1+s):l+s-l*s,e=2*l-a,n=[0,0,0];for(var u=0;u<3;u++)i=r+1/3*-(u-1),i<0&&i++,i>1&&i--,o=6*i<1?e+6*(a-e)*i:2*i<1?a:3*i<2?e+(a-e)*(2/3-i)*6:e,n[u]=255*o;return n}function f(t){var e,a,i=t[0],n=t[1]/100,o=t[2]/100;return 0===o?[0,0,0]:(o*=2,n*=o<=1?o:2-o,a=(o+n)/2,e=2*n/(o+n),[i,100*e,100*a])}function p(t){return o(h(t))}function m(t){return s(h(t))}function v(t){return l(h(t))}function x(t){var e=t[0]/60,a=t[1]/100,i=t[2]/100,n=Math.floor(e)%6,o=e-Math.floor(e),r=255*i*(1-a),s=255*i*(1-a*o),l=255*i*(1-a*(1-o)),i=255*i;switch(n){case 0:return[i,l,r];case 1:return[s,i,r];case 2:return[r,i,l];case 3:return[r,s,i];case 4:return[l,r,i];case 5:return[i,r,s]}}function y(t){var e,a,i=t[0],n=t[1]/100,o=t[2]/100;return a=(2-n)*o,e=n*o,e/=a<=1?a:2-a,e=e||0,a/=2,[i,100*e,100*a]}function k(t){return o(x(t))}function S(t){return s(x(t))}function M(t){return l(x(t))}function w(t){var e,a,i,n,o=t[0]/360,s=t[1]/100,l=t[2]/100,u=s+l;switch(u>1&&(s/=u,l/=u),e=Math.floor(6*o),a=1-l,i=6*o-e,0!=(1&e)&&(i=1-i),n=s+i*(a-s),e){default:case 6:case 0:r=a,g=n,b=s;break;case 1:r=n,g=a,b=s;break;case 2:r=s,g=a,b=n;break;case 3:r=s,g=n,b=a;break;case 4:r=n,g=s,b=a;break;case 5:r=a,g=s,b=n}return[255*r,255*g,255*b]}function C(t){return i(w(t))}function I(t){return n(w(t))}function D(t){return s(w(t))}function A(t){return l(w(t))}function T(t){var e,a,i,n=t[0]/100,o=t[1]/100,r=t[2]/100,s=t[3]/100;return e=1-Math.min(1,n*(1-s)+s),a=1-Math.min(1,o*(1-s)+s),i=1-Math.min(1,r*(1-s)+s),[255*e,255*a,255*i]}function P(t){return i(T(t))}function _(t){return n(T(t))}function F(t){return o(T(t))}function V(t){return l(T(t))}function R(t){var e,a,i,n=t[0]/100,o=t[1]/100,r=t[2]/100;return e=3.2406*n+o*-1.5372+r*-.4986,a=n*-.9689+1.8758*o+.0415*r,i=.0557*n+o*-.204+1.057*r,e=e>.0031308?1.055*Math.pow(e,1/2.4)-.055:e*=12.92,a=a>.0031308?1.055*Math.pow(a,1/2.4)-.055:a*=12.92,i=i>.0031308?1.055*Math.pow(i,1/2.4)-.055:i*=12.92,e=Math.min(Math.max(0,e),1),a=Math.min(Math.max(0,a),1),i=Math.min(Math.max(0,i),1),[255*e,255*a,255*i]}function O(t){var e,a,i,n=t[0],o=t[1],r=t[2];return n/=95.047,o/=100,r/=108.883,n=n>.008856?Math.pow(n,1/3):7.787*n+16/116,o=o>.008856?Math.pow(o,1/3):7.787*o+16/116,r=r>.008856?Math.pow(r,1/3):7.787*r+16/116,e=116*o-16,a=500*(n-o),i=200*(o-r),[e,a,i]}function L(t){return z(O(t))}function B(t){var e,a,i,n,o=t[0],r=t[1],s=t[2];return o<=8?(a=100*o/903.3,n=7.787*(a/100)+16/116):(a=100*Math.pow((o+16)/116,3),n=Math.pow(a/100,1/3)),e=e/95.047<=.008856?e=95.047*(r/500+n-16/116)/7.787:95.047*Math.pow(r/500+n,3),i=i/108.883<=.008859?i=108.883*(n-s/200-16/116)/7.787:108.883*Math.pow(n-s/200,3),[e,a,i]}function z(t){var e,a,i,n=t[0],o=t[1],r=t[2];return e=Math.atan2(r,o),a=360*e/2/Math.PI,a<0&&(a+=360),i=Math.sqrt(o*o+r*r),[n,i,a]}function W(t){return R(B(t))}function N(t){var e,a,i,n=t[0],o=t[1],r=t[2];return i=r/360*2*Math.PI,e=o*Math.cos(i),a=o*Math.sin(i),[n,e,a]}function E(t){return B(N(t))}function H(t){return W(N(t))}function j(t){return G[t]}function U(t){return i(j(t))}function q(t){return n(j(t))}function Y(t){return o(j(t))}function X(t){return s(j(t))}function K(t){return d(j(t))}function J(t){return u(j(t))}e.exports={rgb2hsl:i,rgb2hsv:n,rgb2hwb:o,rgb2cmyk:s,rgb2keyword:l,rgb2xyz:u,rgb2lab:d,rgb2lch:c,hsl2rgb:h,hsl2hsv:f,hsl2hwb:p,hsl2cmyk:m,hsl2keyword:v,hsv2rgb:x,hsv2hsl:y,hsv2hwb:k,hsv2cmyk:S,hsv2keyword:M,hwb2rgb:w,hwb2hsl:C,hwb2hsv:I,hwb2cmyk:D,hwb2keyword:A,cmyk2rgb:T,cmyk2hsl:P,cmyk2hsv:_,cmyk2hwb:F,cmyk2keyword:V,keyword2rgb:j,keyword2hsl:U,keyword2hsv:q,keyword2hwb:Y,keyword2cmyk:X,keyword2lab:K,keyword2xyz:J,xyz2rgb:R,xyz2lab:O,xyz2lch:L,lab2xyz:B,lab2rgb:W,lab2lch:z,lch2lab:N,lch2xyz:E,lch2rgb:H};var G={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},Z={};for(var Q in G)Z[JSON.stringify(G[Q])]=Q},{}],5:[function(t,e,a){var i=t(4),n=function(){return new u};for(var o in i){n[o+"Raw"]=function(t){return function(e){return"number"==typeof e&&(e=Array.prototype.slice.call(arguments)),i[t](e)}}(o);var r=/(\w+)2(\w+)/.exec(o),s=r[1],l=r[2];n[s]=n[s]||{},n[s][l]=n[o]=function(t){return function(e){"number"==typeof e&&(e=Array.prototype.slice.call(arguments));var a=i[t](e);if("string"==typeof a||void 0===a)return a;for(var n=0;n0&&(t[0].yLabel?a=t[0].yLabel:e.labels.length>0&&t[0].index');var a=t.data,i=a.datasets,n=a.labels;if(i.length)for(var o=0;o'),n[o]&&e.push(n[o]),e.push("");return e.push(""),e.join("")},legend:{labels:{generateLabels:function(t){var a=t.data;return a.labels.length&&a.datasets.length?a.labels.map(function(i,n){var o=t.getDatasetMeta(0),r=a.datasets[0],s=o.data[n],l=s&&s.custom||{},u=e.getValueAtIndexOrDefault,d=t.options.elements.arc,c=l.backgroundColor?l.backgroundColor:u(r.backgroundColor,n,d.backgroundColor),h=l.borderColor?l.borderColor:u(r.borderColor,n,d.borderColor),f=l.borderWidth?l.borderWidth:u(r.borderWidth,n,d.borderWidth);return{text:i,fillStyle:c,strokeStyle:h,lineWidth:f,hidden:isNaN(r.data[n])||o.data[n].hidden,index:n}}):[]}},onClick:function(t,e){var a,i,n,o=e.index,r=this.chart;for(a=0,i=(r.data.datasets||[]).length;a=Math.PI?-1:g<-Math.PI?1:0);var p=g+f,m={x:Math.cos(g),y:Math.sin(g)},v={x:Math.cos(p),y:Math.sin(p)},b=g<=0&&0<=p||g<=2*Math.PI&&2*Math.PI<=p,x=g<=.5*Math.PI&&.5*Math.PI<=p||g<=2.5*Math.PI&&2.5*Math.PI<=p,y=g<=-Math.PI&&-Math.PI<=p||g<=Math.PI&&Math.PI<=p,k=g<=.5*-Math.PI&&.5*-Math.PI<=p||g<=1.5*Math.PI&&1.5*Math.PI<=p,S=h/100,M={x:y?-1:Math.min(m.x*(m.x<0?1:S),v.x*(v.x<0?1:S)),y:k?-1:Math.min(m.y*(m.y<0?1:S),v.y*(v.y<0?1:S))},w={x:b?1:Math.max(m.x*(m.x>0?1:S),v.x*(v.x>0?1:S)),y:x?1:Math.max(m.y*(m.y>0?1:S),v.y*(v.y>0?1:S))},C={width:.5*(w.x-M.x),height:.5*(w.y-M.y)};u=Math.min(s/C.width,l/C.height),d={x:(w.x+M.x)*-.5,y:(w.y+M.y)*-.5}}i.borderWidth=a.getMaxBorderWidth(c.data),i.outerRadius=Math.max((u-i.borderWidth)/2,0),i.innerRadius=Math.max(h?i.outerRadius/100*h:0,0),i.radiusLength=(i.outerRadius-i.innerRadius)/i.getVisibleDatasetCount(),i.offsetX=d.x*i.outerRadius,i.offsetY=d.y*i.outerRadius,c.total=a.calculateTotal(),a.outerRadius=i.outerRadius-i.radiusLength*a.getRingIndex(a.index),a.innerRadius=Math.max(a.outerRadius-i.radiusLength,0),e.each(c.data,function(e,i){a.updateElement(e,i,t)})},updateElement:function(t,a,i){var n=this,o=n.chart,r=o.chartArea,s=o.options,l=s.animation,u=(r.left+r.right)/2,d=(r.top+r.bottom)/2,c=s.rotation,h=s.rotation,f=n.getDataset(),g=i&&l.animateRotate?0:t.hidden?0:n.calculateCircumference(f.data[a])*(s.circumference/(2*Math.PI)),p=i&&l.animateScale?0:n.innerRadius,m=i&&l.animateScale?0:n.outerRadius,v=e.getValueAtIndexOrDefault;e.extend(t,{_datasetIndex:n.index,_index:a,_model:{x:u+o.offsetX,y:d+o.offsetY,startAngle:c,endAngle:h,circumference:g,outerRadius:m,innerRadius:p,label:v(f.label,a,o.data.labels[a])}});var b=t._model;this.removeHoverStyle(t),i&&l.animateRotate||(0===a?b.startAngle=s.rotation:b.startAngle=n.getMeta().data[a-1]._model.endAngle,b.endAngle=b.startAngle+b.circumference),t.pivot()},removeHoverStyle:function(e){t.DatasetController.prototype.removeHoverStyle.call(this,e,this.chart.options.elements.arc)},calculateTotal:function(){var t,a=this.getDataset(),i=this.getMeta(),n=0;return e.each(i.data,function(e,i){t=a.data[i],isNaN(t)||e.hidden||(n+=Math.abs(t))}),n},calculateCircumference:function(t){var e=this.getMeta().total;return e>0&&!isNaN(t)?2*Math.PI*(t/e):0},getMaxBorderWidth:function(t){for(var e,a,i=0,n=this.index,o=t.length,r=0;ri?e:i,i=a>i?a:i;return i}})}},{}],18:[function(t,e,a){"use strict";e.exports=function(t){function e(t,e){return a.getValueOrDefault(t.showLine,e.showLines)}var a=t.helpers;t.defaults.line={showLines:!0,spanGaps:!1,hover:{mode:"label"},scales:{xAxes:[{type:"category",id:"x-axis-0"}],yAxes:[{type:"linear",id:"y-axis-0"}]}},t.controllers.line=t.DatasetController.extend({datasetElementType:t.elements.Line,dataElementType:t.elements.Point,update:function(t){var i,n,o,r=this,s=r.getMeta(),l=s.dataset,u=s.data||[],d=r.chart.options,c=d.elements.line,h=r.getScaleForId(s.yAxisID),f=r.getDataset(),g=e(f,d);for(g&&(o=l.custom||{},void 0!==f.tension&&void 0===f.lineTension&&(f.lineTension=f.tension),l._scale=h,l._datasetIndex=r.index,l._children=u,l._model={spanGaps:f.spanGaps?f.spanGaps:d.spanGaps,tension:o.tension?o.tension:a.getValueOrDefault(f.lineTension,c.tension),backgroundColor:o.backgroundColor?o.backgroundColor:f.backgroundColor||c.backgroundColor,borderWidth:o.borderWidth?o.borderWidth:f.borderWidth||c.borderWidth,borderColor:o.borderColor?o.borderColor:f.borderColor||c.borderColor,borderCapStyle:o.borderCapStyle?o.borderCapStyle:f.borderCapStyle||c.borderCapStyle,borderDash:o.borderDash?o.borderDash:f.borderDash||c.borderDash,borderDashOffset:o.borderDashOffset?o.borderDashOffset:f.borderDashOffset||c.borderDashOffset,borderJoinStyle:o.borderJoinStyle?o.borderJoinStyle:f.borderJoinStyle||c.borderJoinStyle,fill:o.fill?o.fill:void 0!==f.fill?f.fill:c.fill,steppedLine:o.steppedLine?o.steppedLine:a.getValueOrDefault(f.steppedLine,c.stepped),cubicInterpolationMode:o.cubicInterpolationMode?o.cubicInterpolationMode:a.getValueOrDefault(f.cubicInterpolationMode,c.cubicInterpolationMode),scaleTop:h.top,scaleBottom:h.bottom,scaleZero:h.getBasePixel()},l.pivot()),i=0,n=u.length;i');var a=t.data,i=a.datasets,n=a.labels;if(i.length)for(var o=0;o'),n[o]&&e.push(n[o]),e.push("");return e.push(""),e.join("")},legend:{labels:{generateLabels:function(t){var a=t.data;return a.labels.length&&a.datasets.length?a.labels.map(function(i,n){var o=t.getDatasetMeta(0),r=a.datasets[0],s=o.data[n],l=s.custom||{},u=e.getValueAtIndexOrDefault,d=t.options.elements.arc,c=l.backgroundColor?l.backgroundColor:u(r.backgroundColor,n,d.backgroundColor),h=l.borderColor?l.borderColor:u(r.borderColor,n,d.borderColor),f=l.borderWidth?l.borderWidth:u(r.borderWidth,n,d.borderWidth);return{text:i,fillStyle:c,strokeStyle:h,lineWidth:f,hidden:isNaN(r.data[n])||o.data[n].hidden,index:n}}):[]}},onClick:function(t,e){var a,i,n,o=e.index,r=this.chart;for(a=0,i=(r.data.datasets||[]).length;a0&&!isNaN(t)?2*Math.PI/e:0}})}},{}],20:[function(t,e,a){"use strict";e.exports=function(t){var e=t.helpers;t.defaults.radar={aspectRatio:1,scale:{type:"radialLinear"},elements:{line:{tension:0}}},t.controllers.radar=t.DatasetController.extend({datasetElementType:t.elements.Line,dataElementType:t.elements.Point,linkScales:e.noop,update:function(t){var a=this,i=a.getMeta(),n=i.dataset,o=i.data,r=n.custom||{},s=a.getDataset(),l=a.chart.options.elements.line,u=a.chart.scale;void 0!==s.tension&&void 0===s.lineTension&&(s.lineTension=s.tension),e.extend(i.dataset,{_datasetIndex:a.index,_children:o,_loop:!0,_model:{tension:r.tension?r.tension:e.getValueOrDefault(s.lineTension,l.tension),backgroundColor:r.backgroundColor?r.backgroundColor:s.backgroundColor||l.backgroundColor,borderWidth:r.borderWidth?r.borderWidth:s.borderWidth||l.borderWidth,borderColor:r.borderColor?r.borderColor:s.borderColor||l.borderColor,fill:r.fill?r.fill:void 0!==s.fill?s.fill:l.fill,borderCapStyle:r.borderCapStyle?r.borderCapStyle:s.borderCapStyle||l.borderCapStyle,borderDash:r.borderDash?r.borderDash:s.borderDash||l.borderDash,borderDashOffset:r.borderDashOffset?r.borderDashOffset:s.borderDashOffset||l.borderDashOffset,borderJoinStyle:r.borderJoinStyle?r.borderJoinStyle:s.borderJoinStyle||l.borderJoinStyle,scaleTop:u.top,scaleBottom:u.bottom,scaleZero:u.getBasePosition()}}),i.dataset.pivot(),e.each(o,function(e,i){a.updateElement(e,i,t)},a),a.updateBezierControlPoints()},updateElement:function(t,a,i){var n=this,o=t.custom||{},r=n.getDataset(),s=n.chart.scale,l=n.chart.options.elements.point,u=s.getPointPositionForValue(a,r.data[a]);e.extend(t,{_datasetIndex:n.index,_index:a,_scale:s,_model:{x:i?s.xCenter:u.x,y:i?s.yCenter:u.y,tension:o.tension?o.tension:e.getValueOrDefault(r.lineTension,n.chart.options.elements.line.tension),radius:o.radius?o.radius:e.getValueAtIndexOrDefault(r.pointRadius,a,l.radius),backgroundColor:o.backgroundColor?o.backgroundColor:e.getValueAtIndexOrDefault(r.pointBackgroundColor,a,l.backgroundColor),borderColor:o.borderColor?o.borderColor:e.getValueAtIndexOrDefault(r.pointBorderColor,a,l.borderColor),borderWidth:o.borderWidth?o.borderWidth:e.getValueAtIndexOrDefault(r.pointBorderWidth,a,l.borderWidth),pointStyle:o.pointStyle?o.pointStyle:e.getValueAtIndexOrDefault(r.pointStyle,a,l.pointStyle),hitRadius:o.hitRadius?o.hitRadius:e.getValueAtIndexOrDefault(r.hitRadius,a,l.hitRadius)}}),t._model.skip=o.skip?o.skip:isNaN(t._model.x)||isNaN(t._model.y)},updateBezierControlPoints:function(){var t=this.chart.chartArea,a=this.getMeta();e.each(a.data,function(i,n){var o=i._model,r=e.splineCurve(e.previousItem(a.data,n,!0)._model,o,e.nextItem(a.data,n,!0)._model,o.tension);o.controlPointPreviousX=Math.max(Math.min(r.previous.x,t.right),t.left),o.controlPointPreviousY=Math.max(Math.min(r.previous.y,t.bottom),t.top),o.controlPointNextX=Math.max(Math.min(r.next.x,t.right),t.left),o.controlPointNextY=Math.max(Math.min(r.next.y,t.bottom),t.top),i.pivot()})},draw:function(t){var a=this.getMeta(),i=t||1;e.each(a.data,function(t){t.transition(i)}),a.dataset.transition(i).draw(),e.each(a.data,function(t){t.draw()})},setHoverStyle:function(t){var a=this.chart.data.datasets[t._datasetIndex],i=t.custom||{},n=t._index,o=t._model;o.radius=i.hoverRadius?i.hoverRadius:e.getValueAtIndexOrDefault(a.pointHoverRadius,n,this.chart.options.elements.point.hoverRadius),o.backgroundColor=i.hoverBackgroundColor?i.hoverBackgroundColor:e.getValueAtIndexOrDefault(a.pointHoverBackgroundColor,n,e.getHoverColor(o.backgroundColor)),o.borderColor=i.hoverBorderColor?i.hoverBorderColor:e.getValueAtIndexOrDefault(a.pointHoverBorderColor,n,e.getHoverColor(o.borderColor)),o.borderWidth=i.hoverBorderWidth?i.hoverBorderWidth:e.getValueAtIndexOrDefault(a.pointHoverBorderWidth,n,o.borderWidth)},removeHoverStyle:function(t){var a=this.chart.data.datasets[t._datasetIndex],i=t.custom||{},n=t._index,o=t._model,r=this.chart.options.elements.point;o.radius=i.radius?i.radius:e.getValueAtIndexOrDefault(a.radius,n,r.radius),o.backgroundColor=i.backgroundColor?i.backgroundColor:e.getValueAtIndexOrDefault(a.pointBackgroundColor,n,r.backgroundColor),o.borderColor=i.borderColor?i.borderColor:e.getValueAtIndexOrDefault(a.pointBorderColor,n,r.borderColor),o.borderWidth=i.borderWidth?i.borderWidth:e.getValueAtIndexOrDefault(a.pointBorderWidth,n,r.borderWidth)}})}},{}],21:[function(t,e,a){"use strict";e.exports=function(t){var e=t.helpers;t.defaults.global.animation={duration:1e3,easing:"easeOutQuart",onProgress:e.noop,onComplete:e.noop},t.Animation=t.Element.extend({currentStep:null,numSteps:60,easing:"",render:null,onAnimationProgress:null,onAnimationComplete:null}),t.animationService={frameDuration:17,animations:[],dropFrames:0,request:null,addAnimation:function(t,e,a,i){var n=this;i||(t.animating=!0);for(var o=0;o1&&(a=Math.floor(t.dropFrames),t.dropFrames=t.dropFrames%1);for(var i=0;it.animations[i].animationObject.numSteps&&(t.animations[i].animationObject.currentStep=t.animations[i].animationObject.numSteps),t.animations[i].animationObject.render(t.animations[i].chartInstance,t.animations[i].animationObject),t.animations[i].animationObject.onAnimationProgress&&t.animations[i].animationObject.onAnimationProgress.call&&t.animations[i].animationObject.onAnimationProgress.call(t.animations[i].chartInstance,t.animations[i]),t.animations[i].animationObject.currentStep===t.animations[i].animationObject.numSteps?(t.animations[i].animationObject.onAnimationComplete&&t.animations[i].animationObject.onAnimationComplete.call&&t.animations[i].animationObject.onAnimationComplete.call(t.animations[i].chartInstance,t.animations[i]),t.animations[i].chartInstance.animating=!1,t.animations.splice(i,1)):++i;var n=Date.now(),o=(n-e)/t.frameDuration;t.dropFrames+=o,t.animations.length>0&&t.requestAnimationFrame()}}}},{}],22:[function(t,e,a){"use strict";e.exports=function(t){var e=t.canvasHelpers={};e.drawPoint=function(e,a,i,n,o){var r,s,l,u,d,c;if("object"==typeof a&&(r=a.toString(),"[object HTMLImageElement]"===r||"[object HTMLCanvasElement]"===r))return void e.drawImage(a,n-a.width/2,o-a.height/2);if(!(isNaN(i)||i<=0)){switch(a){default:e.beginPath(),e.arc(n,o,i,0,2*Math.PI),e.closePath(),e.fill();break;case"triangle":e.beginPath(),s=3*i/Math.sqrt(3),d=s*Math.sqrt(3)/2,e.moveTo(n-s/2,o+d/3),e.lineTo(n+s/2,o+d/3),e.lineTo(n,o-2*d/3),e.closePath(),e.fill();break;case"rect":c=1/Math.SQRT2*i,e.beginPath(),e.fillRect(n-c,o-c,2*c,2*c),e.strokeRect(n-c,o-c,2*c,2*c);break;case"rectRounded":var h=i/Math.SQRT2,f=n-h,g=o-h,p=Math.SQRT2*i;t.helpers.drawRoundedRectangle(e,f,g,p,p,i/2),e.fill();break;case"rectRot":c=1/Math.SQRT2*i,e.beginPath(),e.moveTo(n-c,o),e.lineTo(n,o+c),e.lineTo(n+c,o),e.lineTo(n,o-c),e.closePath(),e.fill();break;case"cross":e.beginPath(),e.moveTo(n,o+i),e.lineTo(n,o-i),e.moveTo(n-i,o),e.lineTo(n+i,o),e.closePath();break;case"crossRot":e.beginPath(),l=Math.cos(Math.PI/4)*i,u=Math.sin(Math.PI/4)*i,e.moveTo(n-l,o-u),e.lineTo(n+l,o+u),e.moveTo(n-l,o+u),e.lineTo(n+l,o-u),e.closePath();break;case"star":e.beginPath(),e.moveTo(n,o+i),e.lineTo(n,o-i),e.moveTo(n-i,o),e.lineTo(n+i,o),l=Math.cos(Math.PI/4)*i,u=Math.sin(Math.PI/4)*i,e.moveTo(n-l,o-u),e.lineTo(n+l,o+u),e.moveTo(n-l,o+u),e.lineTo(n+l,o-u),e.closePath();break;case"line":e.beginPath(),e.moveTo(n-i,o),e.lineTo(n+i,o),e.closePath();break;case"dash":e.beginPath(),e.moveTo(n,o),e.lineTo(n+i,o),e.closePath()}e.stroke()}},e.clipArea=function(t,e){t.save(),t.beginPath(),t.rect(e.left,e.top,e.right-e.left,e.bottom-e.top),t.clip()},e.unclipArea=function(t){t.restore()}}},{}],23:[function(t,e,a){"use strict";e.exports=function(t){function e(e){e=e||{};var a=e.data=e.data||{};return a.datasets=a.datasets||[],a.labels=a.labels||[],e.options=i.configMerge(t.defaults.global,t.defaults[e.type],e.options||{}),e}function a(t){var e=t.options;e.scale?t.scale.options=e.scale:e.scales&&e.scales.xAxes.concat(e.scales.yAxes).forEach(function(e){t.scales[e.id].options=e}),t.tooltip._options=e.tooltips}var i=t.helpers,n=t.plugins,o=t.platform;t.types={},t.instances={},t.controllers={},t.Controller=function(a,n,r){var s=this;n=e(n);var l=o.acquireContext(a,n),u=l&&l.canvas,d=u&&u.height,c=u&&u.width;return r.ctx=l,r.canvas=u,r.config=n,r.width=c,r.height=d,r.aspectRatio=d?c/d:null,s.id=i.uid(),s.chart=r,s.config=n,s.options=n.options,s._bufferedRender=!1,t.instances[s.id]=s,Object.defineProperty(s,"data",{get:function(){return s.config.data}}),l&&u?(s.initialize(),s.update(),s):(console.error("Failed to create chart: can't acquire context from the given item"),s)},i.extend(t.Controller.prototype,{initialize:function(){var t=this;return n.notify(t,"beforeInit"),i.retinaScale(t.chart),t.bindEvents(),t.options.responsive&&t.resize(!0),t.ensureScalesHaveIDs(),t.buildScales(),t.initToolTip(),n.notify(t,"afterInit"),t},clear:function(){return i.clear(this.chart),this},stop:function(){return t.animationService.cancelAnimation(this),this},resize:function(t){var e=this,a=e.chart,o=e.options,r=a.canvas,s=o.maintainAspectRatio&&a.aspectRatio||null,l=Math.floor(i.getMaximumWidth(r)),u=Math.floor(s?l/s:i.getMaximumHeight(r));if((a.width!==l||a.height!==u)&&(r.width=a.width=l,r.height=a.height=u,r.style.width=l+"px",r.style.height=u+"px",i.retinaScale(a),!t)){var d={width:l,height:u};n.notify(e,"resize",[d]),e.options.onResize&&e.options.onResize(e,d),e.stop(),e.update(e.options.responsiveAnimationDuration)}},ensureScalesHaveIDs:function(){var t=this.options,e=t.scales||{},a=t.scale;i.each(e.xAxes,function(t,e){t.id=t.id||"x-axis-"+e}),i.each(e.yAxes,function(t,e){t.id=t.id||"y-axis-"+e}),a&&(a.id=a.id||"scale")},buildScales:function(){var e=this,a=e.options,n=e.scales={},o=[];a.scales&&(o=o.concat((a.scales.xAxes||[]).map(function(t){return{options:t,dtype:"category"}}),(a.scales.yAxes||[]).map(function(t){return{options:t,dtype:"linear"}}))),a.scale&&o.push({options:a.scale,dtype:"radialLinear",isDefault:!0}),i.each(o,function(a){var o=a.options,r=i.getValueOrDefault(o.type,a.dtype),s=t.scaleService.getScaleConstructor(r);if(s){var l=new s({id:o.id,options:o,ctx:e.chart.ctx,chart:e});n[l.id]=l,a.isDefault&&(e.scale=l)}}),t.scaleService.addScalesToLayout(this)},buildOrUpdateControllers:function(){var e=this,a=[],n=[];if(i.each(e.data.datasets,function(i,o){var r=e.getDatasetMeta(o);r.type||(r.type=i.type||e.config.type),a.push(r.type),r.controller?r.controller.updateIndex(o):(r.controller=new t.controllers[r.type](e,o),n.push(r.controller))},e),a.length>1)for(var o=1;o0||(n.forEach(function(e){delete t[e]}),delete t._chartjs)}}var i=t.helpers,n=["push","pop","shift","splice","unshift"];t.DatasetController=function(t,e){this.initialize(t,e)},i.extend(t.DatasetController.prototype,{datasetElementType:null,dataElementType:null,initialize:function(t,e){var a=this;a.chart=t,a.index=e,a.linkScales(),a.addElements()},updateIndex:function(t){this.index=t},linkScales:function(){var t=this,e=t.getMeta(),a=t.getDataset();null===e.xAxisID&&(e.xAxisID=a.xAxisID||t.chart.options.scales.xAxes[0].id),null===e.yAxisID&&(e.yAxisID=a.yAxisID||t.chart.options.scales.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(t){return this.chart.scales[t]},reset:function(){this.update(!0)},destroy:function(){this._data&&a(this._data,this)},createMetaDataset:function(){var t=this,e=t.datasetElementType;return e&&new e({_chart:t.chart.chart,_datasetIndex:t.index})},createMetaData:function(t){var e=this,a=e.dataElementType;return a&&new a({_chart:e.chart.chart,_datasetIndex:e.index,_index:t})},addElements:function(){var t,e,a=this,i=a.getMeta(),n=a.getDataset().data||[],o=i.data;for(t=0,e=n.length;ti&&t.insertElements(i,n-i)},insertElements:function(t,e){for(var a=0;a=0;n--)e.call(a,t[n],n);else for(n=0;n=i[a].length||!i[a][n].type?i[a].push(o.configMerge(s,e)):e.type&&e.type!==i[a][n].type?i[a][n]=o.configMerge(i[a][n],s,e):i[a][n]=o.configMerge(i[a][n],e)}):(i[a]=[],o.each(e,function(e){var n=o.getValueOrDefault(e.type,"xAxes"===a?"category":"linear");i[a].push(o.configMerge(t.scaleService.getScaleDefaults(n),e))})):i.hasOwnProperty(a)&&"object"==typeof i[a]&&null!==i[a]&&"object"==typeof e?i[a]=o.configMerge(i[a],e):i[a]=e}),i},o.getValueAtIndexOrDefault=function(t,e,a){return void 0===t||null===t?a:o.isArray(t)?e=0;i--){var n=t[i];if(e(n))return n}},o.inherits=function(t){var e=this,a=t&&t.hasOwnProperty("constructor")?t.constructor:function(){return e.apply(this,arguments)},i=function(){this.constructor=a};return i.prototype=e.prototype,a.prototype=new i,a.extend=o.inherits,t&&o.extend(a.prototype,t),a.__super__=e.prototype,a},o.noop=function(){},o.uid=function(){var t=0;return function(){return t++}}(),o.isNumber=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},o.almostEquals=function(t,e,a){return Math.abs(t-e)t},o.max=function(t){return t.reduce(function(t,e){return isNaN(e)?t:Math.max(t,e)},Number.NEGATIVE_INFINITY)},o.min=function(t){return t.reduce(function(t,e){return isNaN(e)?t:Math.min(t,e)},Number.POSITIVE_INFINITY)},o.sign=Math.sign?function(t){return Math.sign(t)}:function(t){return t=+t,0===t||isNaN(t)?t:t>0?1:-1},o.log10=Math.log10?function(t){return Math.log10(t)}:function(t){return Math.log(t)/Math.LN10},o.toRadians=function(t){return t*(Math.PI/180)},o.toDegrees=function(t){return t*(180/Math.PI)},o.getAngleFromPoint=function(t,e){var a=e.x-t.x,i=e.y-t.y,n=Math.sqrt(a*a+i*i),o=Math.atan2(i,a);return o<-.5*Math.PI&&(o+=2*Math.PI),{angle:o,distance:n}},o.distanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},o.aliasPixel=function(t){return t%2===0?0:.5},o.splineCurve=function(t,e,a,i){var n=t.skip?e:t,o=e,r=a.skip?e:a,s=Math.sqrt(Math.pow(o.x-n.x,2)+Math.pow(o.y-n.y,2)),l=Math.sqrt(Math.pow(r.x-o.x,2)+Math.pow(r.y-o.y,2)),u=s/(s+l),d=l/(s+l);u=isNaN(u)?0:u,d=isNaN(d)?0:d;var c=i*u,h=i*d;return{previous:{x:o.x-c*(r.x-n.x),y:o.y-c*(r.y-n.y)},next:{x:o.x+h*(r.x-n.x),y:o.y+h*(r.y-n.y)}}},o.EPSILON=Number.EPSILON||1e-14,o.splineCurveMonotone=function(t){var e,a,i,n,r=(t||[]).map(function(t){return{model:t._model,deltaK:0,mK:0}}),s=r.length;for(e=0;e0?r[e-1]:null,n=e0?r[e-1]:null,n=e=t.length-1?t[0]:t[e+1]:e>=t.length-1?t[t.length-1]:t[e+1]},o.previousItem=function(t,e,a){return a?e<=0?t[t.length-1]:t[e-1]:e<=0?t[0]:t[e-1]},o.niceNum=function(t,e){var a,i=Math.floor(o.log10(t)),n=t/Math.pow(10,i);return a=e?n<1.5?1:n<3?2:n<7?5:10:n<=1?1:n<=2?2:n<=5?5:10,a*Math.pow(10,i)};var r=o.easingEffects={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return-1*t*(t-2)},easeInOutQuad:function(t){return(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1)},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return 1*((t=t/1-1)*t*t+1)},easeInOutCubic:function(t){return(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return-1*((t=t/1-1)*t*t*t-1)},easeInOutQuart:function(t){return(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},easeInQuint:function(t){return 1*(t/=1)*t*t*t*t},easeOutQuint:function(t){return 1*((t=t/1-1)*t*t*t*t+1)},easeInOutQuint:function(t){return(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},easeInSine:function(t){return-1*Math.cos(t/1*(Math.PI/2))+1},easeOutSine:function(t){return 1*Math.sin(t/1*(Math.PI/2))},easeInOutSine:function(t){return-.5*(Math.cos(Math.PI*t/1)-1)},easeInExpo:function(t){return 0===t?1:1*Math.pow(2,10*(t/1-1))},easeOutExpo:function(t){return 1===t?1:1*(-Math.pow(2,-10*t/1)+1)},easeInOutExpo:function(t){return 0===t?0:1===t?1:(t/=.5)<1?.5*Math.pow(2,10*(t-1)):.5*(-Math.pow(2,-10*--t)+2)},easeInCirc:function(t){return t>=1?t:-1*(Math.sqrt(1-(t/=1)*t)-1)},easeOutCirc:function(t){return 1*Math.sqrt(1-(t=t/1-1)*t)},easeInOutCirc:function(t){return(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},easeInElastic:function(t){var e=1.70158,a=0,i=1;return 0===t?0:1===(t/=1)?1:(a||(a=.3),i0?(a=l[0].clientX,i=l[0].clientY):(a=n.clientX,i=n.clientY);var u=parseFloat(o.getStyle(r,"padding-left")),d=parseFloat(o.getStyle(r,"padding-top")),c=parseFloat(o.getStyle(r,"padding-right")),h=parseFloat(o.getStyle(r,"padding-bottom")),f=s.right-s.left-u-c,g=s.bottom-s.top-d-h;return a=Math.round((a-s.left-u)/f*r.width/e.currentDevicePixelRatio),i=Math.round((i-s.top-d)/g*r.height/e.currentDevicePixelRatio),{x:a,y:i}},o.addEvent=function(t,e,a){t.addEventListener?t.addEventListener(e,a):t.attachEvent?t.attachEvent("on"+e,a):t["on"+e]=a},o.removeEvent=function(t,e,a){t.removeEventListener?t.removeEventListener(e,a,!1):t.detachEvent?t.detachEvent("on"+e,a):t["on"+e]=o.noop},o.getConstraintWidth=function(t){return n(t,"max-width","clientWidth")},o.getConstraintHeight=function(t){return n(t,"max-height","clientHeight")},o.getMaximumWidth=function(t){var e=t.parentNode,a=parseInt(o.getStyle(e,"padding-left"),10),i=parseInt(o.getStyle(e,"padding-right"),10),n=e.clientWidth-a-i,r=o.getConstraintWidth(t);return isNaN(r)?n:Math.min(n,r)},o.getMaximumHeight=function(t){var e=t.parentNode,a=parseInt(o.getStyle(e,"padding-top"),10),i=parseInt(o.getStyle(e,"padding-bottom"),10),n=e.clientHeight-a-i,r=o.getConstraintHeight(t);return isNaN(r)?n:Math.min(n,r)},o.getStyle=function(t,e){return t.currentStyle?t.currentStyle[e]:document.defaultView.getComputedStyle(t,null).getPropertyValue(e)},o.retinaScale=function(t){var e=t.currentDevicePixelRatio=window.devicePixelRatio||1;if(1!==e){var a=t.canvas,i=t.height,n=t.width;a.height=i*e,a.width=n*e,t.ctx.scale(e,e),a.style.height=i+"px",a.style.width=n+"px"}},o.clear=function(t){t.ctx.clearRect(0,0,t.width,t.height)},o.fontString=function(t,e,a){return e+" "+t+"px "+a},o.longestText=function(t,e,a,i){i=i||{};var n=i.data=i.data||{},r=i.garbageCollect=i.garbageCollect||[];i.font!==e&&(n=i.data={},r=i.garbageCollect=[],i.font=e),t.font=e;var s=0;o.each(a,function(e){void 0!==e&&null!==e&&o.isArray(e)!==!0?s=o.measureText(t,n,r,s,e):o.isArray(e)&&o.each(e,function(e){void 0===e||null===e||o.isArray(e)||(s=o.measureText(t,n,r,s,e))})});var l=r.length/2;if(l>a.length){for(var u=0;ui&&(i=o),i},o.numberOfLabelLines=function(t){var e=1;return o.each(t,function(t){o.isArray(t)&&t.length>e&&(e=t.length)}),e},o.drawRoundedRectangle=function(t,e,a,i,n,o){t.beginPath(),t.moveTo(e+o,a),t.lineTo(e+i-o,a),t.quadraticCurveTo(e+i,a,e+i,a+o),t.lineTo(e+i,a+n-o),t.quadraticCurveTo(e+i,a+n,e+i-o,a+n),t.lineTo(e+o,a+n),t.quadraticCurveTo(e,a+n,e,a+n-o),t.lineTo(e,a+o),t.quadraticCurveTo(e,a,e+o,a),t.closePath()},o.color=function(e){return i?i(e instanceof CanvasGradient?t.defaults.global.defaultColor:e):(console.error("Color.js not found!"),e)},o.isArray=Array.isArray?function(t){return Array.isArray(t)}:function(t){return"[object Array]"===Object.prototype.toString.call(t)},o.arrayEquals=function(t,e){var a,i,n,r;if(!t||!e||t.length!==e.length)return!1;for(a=0,i=t.length;a0&&(s=t.getDatasetMeta(s[0]._datasetIndex).data),s},"x-axis":function(t,e){return o(t,e,!0)},point:function(t,a){var n=e(a,t.chart);return i(t,n)},nearest:function(t,a,i){var o=e(a,t.chart),r=n(t,o,i.intersect);return r.length>1&&r.sort(function(t,e){var a=t.getArea(),i=e.getArea(),n=a-i;return 0===n&&(n=t._datasetIndex-e._datasetIndex),n}),r.slice(0,1)},x:function(t,i,n){var o=e(i,t.chart),r=[],s=!1;return a(t,function(t){t.inXRange(o.x)&&r.push(t),t.inRange(o.x,o.y)&&(s=!0)}),n.intersect&&!s&&(r=[]),r},y:function(t,i,n){var o=e(i,t.chart),r=[],s=!1;return a(t,function(t){t.inYRange(o.y)&&r.push(t),t.inRange(o.x,o.y)&&(s=!0)}),n.intersect&&!s&&(r=[]),r}}}}},{}],28:[function(t,e,a){"use strict";e.exports=function(){var t=function(e,a){return this.controller=new t.Controller(e,a,this),this.controller};return t.defaults={global:{responsive:!0,responsiveAnimationDuration:0,maintainAspectRatio:!0,events:["mousemove","mouseout","click","touchstart","touchmove"],hover:{onHover:null,mode:"nearest",intersect:!0,animationDuration:400},onClick:null,defaultColor:"rgba(0,0,0,0.1)",defaultFontColor:"#666",defaultFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",defaultFontSize:12,defaultFontStyle:"normal",showLines:!0,elements:{},legendCallback:function(t){var e=[];e.push('
    ');for(var a=0;a'),t.data.datasets[a].label&&e.push(t.data.datasets[a].label),e.push("");return e.push("
"),e.join("")}}},t.Chart=t,t}},{}],29:[function(t,e,a){"use strict";e.exports=function(t){var e=t.helpers;t.layoutService={defaults:{},addBox:function(t,e){t.boxes||(t.boxes=[]),t.boxes.push(e)},removeBox:function(t,e){t.boxes&&t.boxes.splice(t.boxes.indexOf(e),1)},update:function(t,a,i){function n(t){var e,a=t.isHorizontal();a?(e=t.update(t.options.fullWidth?x:C,w),I-=e.height):(e=t.update(M,S),C-=e.width),D.push({horizontal:a,minSize:e,box:t})}function o(t){var a=e.findNextWhere(D,function(e){return e.box===t});if(a)if(t.isHorizontal()){var i={left:Math.max(F,A),right:Math.max(V,T),top:0,bottom:0};t.update(t.options.fullWidth?x:C,y/2,i)}else t.update(a.minSize.width,I)}function r(t){var a=e.findNextWhere(D,function(e){return e.box===t}),i={left:0,right:0,top:R,bottom:O};a&&t.update(a.minSize.width,I,i)}function s(t){t.isHorizontal()?(t.left=t.options.fullWidth?d:F,t.right=t.options.fullWidth?a-c:F+C,t.top=E,t.bottom=E+t.height,E=t.bottom):(t.left=N,t.right=N+t.width,t.top=R,t.bottom=R+I,N=t.right)}if(t){var l=t.options.layout,u=l?l.padding:null,d=0,c=0,h=0,f=0;isNaN(u)?(d=u.left||0,c=u.right||0,h=u.top||0,f=u.bottom||0):(d=u,c=u,h=u,f=u);var g=e.where(t.boxes,function(t){return"left"===t.options.position}),p=e.where(t.boxes,function(t){return"right"===t.options.position}),m=e.where(t.boxes,function(t){return"top"===t.options.position}),v=e.where(t.boxes,function(t){return"bottom"===t.options.position}),b=e.where(t.boxes,function(t){return"chartArea"===t.options.position});m.sort(function(t,e){return(e.options.fullWidth?1:0)-(t.options.fullWidth?1:0)}),v.sort(function(t,e){return(t.options.fullWidth?1:0)-(e.options.fullWidth?1:0)});var x=a-d-c,y=i-h-f,k=x/2,S=y/2,M=(a-k)/(g.length+p.length),w=(i-S)/(m.length+v.length),C=x,I=y,D=[];e.each(g.concat(p,m,v),n);var A=0,T=0,P=0,_=0;e.each(m.concat(v),function(t){if(t.getPadding){var e=t.getPadding();A=Math.max(A,e.left),T=Math.max(T,e.right)}}),e.each(g.concat(p),function(t){if(t.getPadding){var e=t.getPadding();P=Math.max(P,e.top),_=Math.max(_,e.bottom)}});var F=d,V=c,R=h,O=f;e.each(g.concat(p),o),e.each(g,function(t){F+=t.width}),e.each(p,function(t){V+=t.width}),e.each(m.concat(v),o),e.each(m,function(t){R+=t.height}),e.each(v,function(t){O+=t.height}),e.each(g.concat(p),r),F=d,V=c,R=h,O=f,e.each(g,function(t){F+=t.width}),e.each(p,function(t){V+=t.width}),e.each(m,function(t){R+=t.height}),e.each(v,function(t){O+=t.height});var L=Math.max(A-F,0);F+=L,V+=Math.max(T-V,0);var B=Math.max(P-R,0);R+=B,O+=Math.max(_-O,0);var z=i-R-O,W=a-F-V;W===C&&z===I||(e.each(g,function(t){t.height=z}),e.each(p,function(t){t.height=z}),e.each(m,function(t){t.options.fullWidth||(t.width=W)}),e.each(v,function(t){t.options.fullWidth||(t.width=W)}),I=z,C=W);var N=d+L,E=h+B;e.each(g.concat(m),s),N+=C,E+=I,e.each(p,s),e.each(v,s),t.chartArea={left:F,top:R,right:F+C,bottom:R+I},e.each(b,function(e){e.left=t.chartArea.left,e.top=t.chartArea.top,e.right=t.chartArea.right,e.bottom=t.chartArea.bottom,e.update(C,I)})}}}}},{}],30:[function(t,e,a){"use strict";e.exports=function(t){function e(t,e){return t.usePointStyle?e*Math.SQRT2:t.boxWidth}function a(e,a){var i=new t.Legend({ctx:e.chart.ctx,options:a,chart:e});e.legend=i,t.layoutService.addBox(e,i)}var i=t.helpers,n=i.noop;t.defaults.global.legend={display:!0,position:"top",fullWidth:!0,reverse:!1,onClick:function(t,e){var a=e.datasetIndex,i=this.chart,n=i.getDatasetMeta(a);n.hidden=null===n.hidden?!i.data.datasets[a].hidden:null,i.update()},onHover:null,labels:{boxWidth:40,padding:10,generateLabels:function(t){var e=t.data;return i.isArray(e.datasets)?e.datasets.map(function(e,a){return{text:e.label,fillStyle:i.isArray(e.backgroundColor)?e.backgroundColor[0]:e.backgroundColor,hidden:!t.isDatasetVisible(a),lineCap:e.borderCapStyle,lineDash:e.borderDash,lineDashOffset:e.borderDashOffset,lineJoin:e.borderJoinStyle,lineWidth:e.borderWidth,strokeStyle:e.borderColor,pointStyle:e.pointStyle,datasetIndex:a}},this):[]}}},t.Legend=t.Element.extend({initialize:function(t){i.extend(this,t),this.legendHitBoxes=[],this.doughnutMode=!1},beforeUpdate:n,update:function(t,e,a){var i=this;return i.beforeUpdate(),i.maxWidth=t,i.maxHeight=e,i.margins=a,i.beforeSetDimensions(),i.setDimensions(),i.afterSetDimensions(),i.beforeBuildLabels(),i.buildLabels(),i.afterBuildLabels(),i.beforeFit(),i.fit(),i.afterFit(),i.afterUpdate(),i.minSize},afterUpdate:n,beforeSetDimensions:n,setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0,t.minSize={width:0,height:0}},afterSetDimensions:n,beforeBuildLabels:n,buildLabels:function(){var t=this,e=t.options.labels,a=e.generateLabels.call(t,t.chart);e.filter&&(a=a.filter(function(a){return e.filter(a,t.chart.data)})),t.options.reverse&&a.reverse(),t.legendItems=a},afterBuildLabels:n,beforeFit:n,fit:function(){var a=this,n=a.options,o=n.labels,r=n.display,s=a.ctx,l=t.defaults.global,u=i.getValueOrDefault,d=u(o.fontSize,l.defaultFontSize),c=u(o.fontStyle,l.defaultFontStyle),h=u(o.fontFamily,l.defaultFontFamily),f=i.fontString(d,c,h),g=a.legendHitBoxes=[],p=a.minSize,m=a.isHorizontal();if(m?(p.width=a.maxWidth,p.height=r?10:0):(p.width=r?10:0,p.height=a.maxHeight),r)if(s.font=f,m){var v=a.lineWidths=[0],b=a.legendItems.length?d+o.padding:0;s.textAlign="left",s.textBaseline="top",i.each(a.legendItems,function(t,i){var n=e(o,d),r=n+d/2+s.measureText(t.text).width;v[v.length-1]+r+o.padding>=a.width&&(b+=d+o.padding,v[v.length]=a.left),g[i]={left:0,top:0,width:r,height:d},v[v.length-1]+=r+o.padding}),p.height+=b}else{var x=o.padding,y=a.columnWidths=[],k=o.padding,S=0,M=0,w=d+x;i.each(a.legendItems,function(t,a){var i=e(o,d),n=i+d/2+s.measureText(t.text).width;M+w>p.height&&(k+=S+o.padding,y.push(S),S=0,M=0),S=Math.max(S,n),M+=w,g[a]={left:0,top:0,width:n,height:d}}),k+=S,y.push(S),p.width+=k}a.width=p.width,a.height=p.height},afterFit:n,isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},draw:function(){var a=this,n=a.options,o=n.labels,r=t.defaults.global,s=r.elements.line,l=a.width,u=a.lineWidths;if(n.display){var d,c=a.ctx,h=i.getValueOrDefault,f=h(o.fontColor,r.defaultFontColor),g=h(o.fontSize,r.defaultFontSize),p=h(o.fontStyle,r.defaultFontStyle),m=h(o.fontFamily,r.defaultFontFamily),v=i.fontString(g,p,m);c.textAlign="left",c.textBaseline="top",c.lineWidth=.5,c.strokeStyle=f,c.fillStyle=f,c.font=v;var b=e(o,g),x=a.legendHitBoxes,y=function(e,a,i){if(!(isNaN(b)||b<=0)){c.save(),c.fillStyle=h(i.fillStyle,r.defaultColor),c.lineCap=h(i.lineCap,s.borderCapStyle),c.lineDashOffset=h(i.lineDashOffset,s.borderDashOffset),c.lineJoin=h(i.lineJoin,s.borderJoinStyle),c.lineWidth=h(i.lineWidth,s.borderWidth),c.strokeStyle=h(i.strokeStyle,r.defaultColor);var o=0===h(i.lineWidth,s.borderWidth);if(c.setLineDash&&c.setLineDash(h(i.lineDash,s.borderDash)),n.labels&&n.labels.usePointStyle){var l=g*Math.SQRT2/2,u=l/Math.SQRT2,d=e+u,f=a+u;t.canvasHelpers.drawPoint(c,i.pointStyle,l,d,f)}else o||c.strokeRect(e,a,b,g),c.fillRect(e,a,b,g);c.restore()}},k=function(t,e,a,i){c.fillText(a.text,b+g/2+t,e),a.hidden&&(c.beginPath(),c.lineWidth=2,c.moveTo(b+g/2+t,e+g/2),c.lineTo(b+g/2+t+i,e+g/2),c.stroke())},S=a.isHorizontal();d=S?{x:a.left+(l-u[0])/2,y:a.top+o.padding,line:0}:{x:a.left+o.padding,y:a.top+o.padding,line:0};var M=g+o.padding;i.each(a.legendItems,function(t,e){var i=c.measureText(t.text).width,n=b+g/2+i,r=d.x,s=d.y;S?r+n>=l&&(s=d.y+=M,d.line++,r=d.x=a.left+(l-u[d.line])/2):s+M>a.bottom&&(r=d.x=r+a.columnWidths[d.line]+o.padding,s=d.y=a.top+o.padding,d.line++),y(r,s,t),x[e].left=r,x[e].top=s,k(r,s,t,i),S?d.x+=n+o.padding:d.y+=M})}},handleEvent:function(t){var e=this,a=e.options,i="mouseup"===t.type?"click":t.type,n=!1;if("mousemove"===i){if(!a.onHover)return}else{if("click"!==i)return;if(!a.onClick)return}var o=t.x,r=t.y;if(o>=e.left&&o<=e.right&&r>=e.top&&r<=e.bottom)for(var s=e.legendHitBoxes,l=0;l=u.left&&o<=u.left+u.width&&r>=u.top&&r<=u.top+u.height){if("click"===i){a.onClick.call(e,t.native,e.legendItems[l]),n=!0;break}if("mousemove"===i){a.onHover.call(e,t.native,e.legendItems[l]),n=!0;break}}}return n}}),t.plugins.register({beforeInit:function(t){var e=t.options.legend;e&&a(t,e)},beforeUpdate:function(e){var n=e.options.legend;n?(n=i.configMerge(t.defaults.global.legend,n),e.legend?e.legend.options=n:a(e,n)):(t.layoutService.removeBox(e,e.legend),delete e.legend)},afterEvent:function(t,e){var a=t.legend;a&&a.handleEvent(e)}})}},{}],31:[function(t,e,a){"use strict";e.exports=function(t){var e=t.helpers;t.defaults.global.plugins={},t.plugins={_plugins:[],_cacheId:0,register:function(t){var e=this._plugins;[].concat(t).forEach(function(t){e.indexOf(t)===-1&&e.push(t)}),this._cacheId++},unregister:function(t){var e=this._plugins;[].concat(t).forEach(function(t){var a=e.indexOf(t);a!==-1&&e.splice(a,1)}),this._cacheId++},clear:function(){this._plugins=[],this._cacheId++},count:function(){return this._plugins.length; -},getAll:function(){return this._plugins},notify:function(t,e,a){var i,n,o,r,s,l=this.descriptors(t),u=l.length;for(i=0;ic&&rt.maxHeight){r--;break}r++,d=s*u}t.labelRotation=r},afterCalculateTickRotation:function(){i.callCallback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){i.callCallback(this.options.beforeFit,[this])},fit:function(){var t=this,n=t.minSize={width:0,height:0},o=t.options,r=o.ticks,s=o.scaleLabel,l=o.gridLines,u=o.display,d=t.isHorizontal(),c=a(r),h=1.5*a(s).size,f=o.gridLines.tickMarkLength;if(d?n.width=t.isFullWidth()?t.maxWidth-t.margins.left-t.margins.right:t.maxWidth:n.width=u&&l.drawTicks?f:0,d?n.height=u&&l.drawTicks?f:0:n.height=t.maxHeight,s.display&&u&&(d?n.height+=h:n.width+=h),r.display&&u){var g=i.longestText(t.ctx,c.font,t.ticks,t.longestTextCache),p=i.numberOfLabelLines(t.ticks),m=.5*c.size;if(d){t.longestLabelWidth=g;var v=i.toRadians(t.labelRotation),b=Math.cos(v),x=Math.sin(v),y=x*g+c.size*p+m*p;n.height=Math.min(t.maxHeight,n.height+y),t.ctx.font=c.font;var k=t.ticks[0],S=e(t.ctx,k,c.font),M=t.ticks[t.ticks.length-1],w=e(t.ctx,M,c.font);0!==t.labelRotation?(t.paddingLeft="bottom"===o.position?b*S+3:b*m+3,t.paddingRight="bottom"===o.position?b*m+3:b*w+3):(t.paddingLeft=S/2+3,t.paddingRight=w/2+3)}else r.mirror?g=0:g+=t.options.ticks.padding,n.width+=g,t.paddingTop=c.size/2,t.paddingBottom=c.size/2}t.handleMargins(),t.width=n.width,t.height=n.height},handleMargins:function(){var t=this;t.margins&&(t.paddingLeft=Math.max(t.paddingLeft-t.margins.left,0),t.paddingTop=Math.max(t.paddingTop-t.margins.top,0),t.paddingRight=Math.max(t.paddingRight-t.margins.right,0),t.paddingBottom=Math.max(t.paddingBottom-t.margins.bottom,0))},afterFit:function(){i.callCallback(this.options.afterFit,[this])},isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(t){return null===t||"undefined"==typeof t?NaN:"number"!=typeof t||isFinite(t)?"object"==typeof t?t instanceof Date||t.isValid?t:this.getRightValue(this.isHorizontal()?t.x:t.y):t:NaN},getLabelForIndex:i.noop,getPixelForValue:i.noop,getValueForPixel:i.noop,getPixelForTick:function(t,e){var a=this;if(a.isHorizontal()){var i=a.width-(a.paddingLeft+a.paddingRight),n=i/Math.max(a.ticks.length-(a.options.gridLines.offsetGridLines?0:1),1),o=n*t+a.paddingLeft;e&&(o+=n/2);var r=a.left+Math.round(o);return r+=a.isFullWidth()?a.margins.left:0}var s=a.height-(a.paddingTop+a.paddingBottom);return a.top+t*(s/(a.ticks.length-1))},getPixelForDecimal:function(t){var e=this;if(e.isHorizontal()){var a=e.width-(e.paddingLeft+e.paddingRight),i=a*t+e.paddingLeft,n=e.left+Math.round(i);return n+=e.isFullWidth()?e.margins.left:0}return e.top+t*e.height},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var t=this,e=t.min,a=t.max;return t.beginAtZero?0:e<0&&a<0?a:e>0&&a>0?e:0},draw:function(e){var n=this,o=n.options;if(o.display){var r,s,l=n.ctx,u=t.defaults.global,d=o.ticks,c=o.gridLines,h=o.scaleLabel,f=0!==n.labelRotation,g=d.autoSkip,p=n.isHorizontal();d.maxTicksLimit&&(s=d.maxTicksLimit);var m=i.getValueOrDefault(d.fontColor,u.defaultFontColor),v=a(d),b=c.drawTicks?c.tickMarkLength:0,x=i.getValueOrDefault(c.borderDash,u.borderDash),y=i.getValueOrDefault(c.borderDashOffset,u.borderDashOffset),k=i.getValueOrDefault(h.fontColor,u.defaultFontColor),S=a(h),M=i.toRadians(n.labelRotation),w=Math.cos(M),C=n.longestLabelWidth*w;l.fillStyle=m;var I=[];if(p){if(r=!1,f&&(C/=2),(C+d.autoSkipPadding)*n.ticks.length>n.width-(n.paddingLeft+n.paddingRight)&&(r=1+Math.floor((C+d.autoSkipPadding)*n.ticks.length/(n.width-(n.paddingLeft+n.paddingRight)))),s&&n.ticks.length>s)for(;!r||n.ticks.length/(r||1)>s;)r||(r=1),r+=1;g||(r=!1)}var D="right"===o.position?n.left:n.right-b,A="right"===o.position?n.left+b:n.right,T="bottom"===o.position?n.top:n.bottom-b,P="bottom"===o.position?n.top+b:n.bottom;if(i.each(n.ticks,function(t,a){if(void 0!==t&&null!==t){var s=n.ticks.length===a+1,l=r>1&&a%r>0||a%r===0&&a+r>=n.ticks.length;if((!l||s)&&void 0!==t&&null!==t){var u,h;a===("undefined"!=typeof n.zeroLineIndex?n.zeroLineIndex:0)?(u=c.zeroLineWidth,h=c.zeroLineColor):(u=i.getValueAtIndexOrDefault(c.lineWidth,a),h=i.getValueAtIndexOrDefault(c.color,a));var g,m,v,k,S,w,C,_,F,V,R="middle",O="middle";if(p){"bottom"===o.position?(O=f?"middle":"top",R=f?"right":"center",V=n.top+b):(O=f?"middle":"bottom",R=f?"left":"center",V=n.bottom-b);var L=n.getPixelForTick(a)+i.aliasPixel(u);F=n.getPixelForTick(a,c.offsetGridLines)+d.labelOffset,g=v=S=C=L,m=T,k=P,w=e.top,_=e.bottom}else{var B,z="left"===o.position,W=d.padding;d.mirror?(R=z?"left":"right",B=W):(R=z?"right":"left",B=b+W),F=z?n.right-B:n.left+B;var N=n.getPixelForTick(a);N+=i.aliasPixel(u),V=n.getPixelForTick(a,c.offsetGridLines),g=D,v=A,S=e.left,C=e.right,m=k=w=_=N}I.push({tx1:g,ty1:m,tx2:v,ty2:k,x1:S,y1:w,x2:C,y2:_,labelX:F,labelY:V,glWidth:u,glColor:h,glBorderDash:x,glBorderDashOffset:y,rotation:-1*M,label:t,textBaseline:O,textAlign:R})}}}),i.each(I,function(t){if(c.display&&(l.save(),l.lineWidth=t.glWidth,l.strokeStyle=t.glColor,l.setLineDash&&(l.setLineDash(t.glBorderDash),l.lineDashOffset=t.glBorderDashOffset),l.beginPath(),c.drawTicks&&(l.moveTo(t.tx1,t.ty1),l.lineTo(t.tx2,t.ty2)),c.drawOnChartArea&&(l.moveTo(t.x1,t.y1),l.lineTo(t.x2,t.y2)),l.stroke(),l.restore()),d.display){l.save(),l.translate(t.labelX,t.labelY),l.rotate(t.rotation),l.font=v.font,l.textBaseline=t.textBaseline,l.textAlign=t.textAlign;var e=t.label;if(i.isArray(e))for(var a=0,n=0;a0)i=t.stepSize;else{var o=e.niceNum(a.max-a.min,!1);i=e.niceNum(o/(t.maxTicks-1),!0)}var r=Math.floor(a.min/i)*i,s=Math.ceil(a.max/i)*i;t.min&&t.max&&t.stepSize&&e.almostWhole((t.max-t.min)/t.stepSize,i/1e3)&&(r=t.min,s=t.max);var l=(s-r)/i;l=e.almostEquals(l,Math.round(l),i/1e3)?Math.round(l):Math.ceil(l),n.push(void 0!==t.min?t.min:r);for(var u=1;u3?i[2]-i[1]:i[1]-i[0];Math.abs(n)>1&&t!==Math.floor(t)&&(n=t-Math.floor(t));var o=e.log10(Math.abs(n)),r="";if(0!==t){var s=-1*Math.floor(o);s=Math.max(Math.min(s,20),0),r=t.toFixed(s)}else r="0";return r},logarithmic:function(t,a,i){var n=t/Math.pow(10,Math.floor(e.log10(t)));return 0===t?"0":1===n||2===n||5===n||0===a||a===i.length-1?t.toExponential():""}}}}},{}],35:[function(t,e,a){"use strict";e.exports=function(t){function e(e,a){var i=new t.Title({ctx:e.chart.ctx,options:a,chart:e});e.titleBlock=i,t.layoutService.addBox(e,i)}var a=t.helpers;t.defaults.global.title={display:!1,position:"top",fullWidth:!0,fontStyle:"bold",padding:10,text:""};var i=a.noop;t.Title=t.Element.extend({initialize:function(t){var e=this;a.extend(e,t),e.legendHitBoxes=[]},beforeUpdate:i,update:function(t,e,a){var i=this;return i.beforeUpdate(),i.maxWidth=t,i.maxHeight=e,i.margins=a,i.beforeSetDimensions(),i.setDimensions(),i.afterSetDimensions(),i.beforeBuildLabels(),i.buildLabels(),i.afterBuildLabels(),i.beforeFit(),i.fit(),i.afterFit(),i.afterUpdate(),i.minSize},afterUpdate:i,beforeSetDimensions:i,setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0,t.minSize={width:0,height:0}},afterSetDimensions:i,beforeBuildLabels:i,buildLabels:i,afterBuildLabels:i,beforeFit:i,fit:function(){var e=this,i=a.getValueOrDefault,n=e.options,o=t.defaults.global,r=n.display,s=i(n.fontSize,o.defaultFontSize),l=e.minSize;e.isHorizontal()?(l.width=e.maxWidth,l.height=r?s+2*n.padding:0):(l.width=r?s+2*n.padding:0,l.height=e.maxHeight),e.width=l.width,e.height=l.height},afterFit:i,isHorizontal:function(){var t=this.options.position;return"top"===t||"bottom"===t},draw:function(){var e=this,i=e.ctx,n=a.getValueOrDefault,o=e.options,r=t.defaults.global;if(o.display){var s,l,u,d=n(o.fontSize,r.defaultFontSize),c=n(o.fontStyle,r.defaultFontStyle),h=n(o.fontFamily,r.defaultFontFamily),f=a.fontString(d,c,h),g=0,p=e.top,m=e.left,v=e.bottom,b=e.right;i.fillStyle=n(o.fontColor,r.defaultFontColor),i.font=f,e.isHorizontal()?(s=m+(b-m)/2,l=p+(v-p)/2,u=b-m):(s="left"===o.position?m+d/2:b-d/2,l=p+(v-p)/2,u=v-p,g=Math.PI*("left"===o.position?-.5:.5)),i.save(),i.translate(s,l),i.rotate(g),i.textAlign="center",i.textBaseline="middle",i.fillText(o.text,0,0,u),i.restore()}}}),t.plugins.register({beforeInit:function(t){var a=t.options.title;a&&e(t,a)},beforeUpdate:function(i){var n=i.options.title;n?(n=a.configMerge(t.defaults.global.title,n),i.titleBlock?i.titleBlock.options=n:e(i,n)):(t.layoutService.removeBox(i,i.titleBlock),delete i.titleBlock)}})}},{}],36:[function(t,e,a){"use strict";e.exports=function(t){function e(t,e){var a=l.color(t);return a.alpha(e*a.alpha()).rgbaString()}function a(t,e){return e&&(l.isArray(e)?Array.prototype.push.apply(t,e):t.push(e)),t}function i(t){var e=t._xScale,a=t._yScale||t._scale,i=t._index,n=t._datasetIndex;return{xLabel:e?e.getLabelForIndex(i,n):"",yLabel:a?a.getLabelForIndex(i,n):"",index:i,datasetIndex:n,x:t._model.x,y:t._model.y}}function n(e){var a=t.defaults.global,i=l.getValueOrDefault;return{xPadding:e.xPadding,yPadding:e.yPadding,xAlign:e.xAlign,yAlign:e.yAlign,bodyFontColor:e.bodyFontColor,_bodyFontFamily:i(e.bodyFontFamily,a.defaultFontFamily),_bodyFontStyle:i(e.bodyFontStyle,a.defaultFontStyle),_bodyAlign:e.bodyAlign,bodyFontSize:i(e.bodyFontSize,a.defaultFontSize),bodySpacing:e.bodySpacing,titleFontColor:e.titleFontColor,_titleFontFamily:i(e.titleFontFamily,a.defaultFontFamily),_titleFontStyle:i(e.titleFontStyle,a.defaultFontStyle),titleFontSize:i(e.titleFontSize,a.defaultFontSize),_titleAlign:e.titleAlign,titleSpacing:e.titleSpacing,titleMarginBottom:e.titleMarginBottom,footerFontColor:e.footerFontColor,_footerFontFamily:i(e.footerFontFamily,a.defaultFontFamily),_footerFontStyle:i(e.footerFontStyle,a.defaultFontStyle),footerFontSize:i(e.footerFontSize,a.defaultFontSize),_footerAlign:e.footerAlign,footerSpacing:e.footerSpacing,footerMarginTop:e.footerMarginTop,caretSize:e.caretSize,cornerRadius:e.cornerRadius,backgroundColor:e.backgroundColor,opacity:0,legendColorBackground:e.multiKeyBackground,displayColors:e.displayColors}}function o(t,e){var a=t._chart.ctx,i=2*e.yPadding,n=0,o=e.body,r=o.reduce(function(t,e){return t+e.before.length+e.lines.length+e.after.length},0);r+=e.beforeBody.length+e.afterBody.length;var s=e.title.length,u=e.footer.length,d=e.titleFontSize,c=e.bodyFontSize,h=e.footerFontSize;i+=s*d,i+=s?(s-1)*e.titleSpacing:0,i+=s?e.titleMarginBottom:0,i+=r*c,i+=r?(r-1)*e.bodySpacing:0,i+=u?e.footerMarginTop:0,i+=u*h,i+=u?(u-1)*e.footerSpacing:0;var f=0,g=function(t){n=Math.max(n,a.measureText(t).width+f)};return a.font=l.fontString(d,e._titleFontStyle,e._titleFontFamily),l.each(e.title,g),a.font=l.fontString(c,e._bodyFontStyle,e._bodyFontFamily),l.each(e.beforeBody.concat(e.afterBody),g),f=e.displayColors?c+2:0,l.each(o,function(t){l.each(t.before,g),l.each(t.lines,g),l.each(t.after,g)}),f=0,a.font=l.fontString(h,e._footerFontStyle,e._footerFontFamily),l.each(e.footer,g),n+=2*e.xPadding,{width:n,height:i}}function r(t,e){var a=t._model,i=t._chart,n=t._chartInstance.chartArea,o="center",r="center";a.yi.height-e.height&&(r="bottom");var s,l,u,d,c,h=(n.left+n.right)/2,f=(n.top+n.bottom)/2;"center"===r?(s=function(t){return t<=h},l=function(t){return t>h}):(s=function(t){return t<=e.width/2},l=function(t){return t>=i.width-e.width/2}),u=function(t){return t+e.width>i.width},d=function(t){return t-e.width<0},c=function(t){return t<=f?"top":"bottom"},s(a.x)?(o="left",u(a.x)&&(o="center",r=c(a.y))):l(a.x)&&(o="right",d(a.x)&&(o="center",r=c(a.y)));var g=t._options;return{xAlign:g.xAlign?g.xAlign:o,yAlign:g.yAlign?g.yAlign:r}}function s(t,e,a){var i=t.x,n=t.y,o=t.caretSize,r=t.caretPadding,s=t.cornerRadius,l=a.xAlign,u=a.yAlign,d=o+r,c=s+r;return"right"===l?i-=e.width:"center"===l&&(i-=e.width/2),"top"===u?n+=d:n-="bottom"===u?e.height+d:e.height/2,"center"===u?"left"===l?i+=d:"right"===l&&(i-=d):"left"===l?i-=c:"right"===l&&(i+=c),{x:i,y:n}}var l=t.helpers;t.defaults.global.tooltips={enabled:!0,custom:null,mode:"nearest",position:"average",intersect:!0,backgroundColor:"rgba(0,0,0,0.8)",titleFontStyle:"bold",titleSpacing:2,titleMarginBottom:6,titleFontColor:"#fff",titleAlign:"left",bodySpacing:2,bodyFontColor:"#fff",bodyAlign:"left",footerFontStyle:"bold",footerSpacing:2,footerMarginTop:6,footerFontColor:"#fff",footerAlign:"left",yPadding:6,xPadding:6,caretSize:5,cornerRadius:6,multiKeyBackground:"#fff",displayColors:!0,callbacks:{beforeTitle:l.noop,title:function(t,e){var a="",i=e.labels,n=i?i.length:0;if(t.length>0){var o=t[0];o.xLabel?a=o.xLabel:n>0&&o.indexl;)o-=2*Math.PI;for(;o=s&&o<=l,d=r>=i.innerRadius&&r<=i.outerRadius;return u&&d}return!1},getCenterPoint:function(){var t=this._view,e=(t.startAngle+t.endAngle)/2,a=(t.innerRadius+t.outerRadius)/2;return{x:t.x+Math.cos(e)*a,y:t.y+Math.sin(e)*a}},getArea:function(){var t=this._view;return Math.PI*((t.endAngle-t.startAngle)/(2*Math.PI))*(Math.pow(t.outerRadius,2)-Math.pow(t.innerRadius,2))},tooltipPosition:function(){var t=this._view,e=t.startAngle+(t.endAngle-t.startAngle)/2,a=(t.outerRadius-t.innerRadius)/2+t.innerRadius;return{x:t.x+Math.cos(e)*a,y:t.y+Math.sin(e)*a}},draw:function(){var t=this._chart.ctx,e=this._view,a=e.startAngle,i=e.endAngle;t.beginPath(),t.arc(e.x,e.y,e.outerRadius,a,i),t.arc(e.x,e.y,e.innerRadius,i,a,!0),t.closePath(),t.strokeStyle=e.borderColor,t.lineWidth=e.borderWidth,t.fillStyle=e.backgroundColor,t.fill(),t.lineJoin="bevel",e.borderWidth&&t.stroke()}})}},{}],38:[function(t,e,a){"use strict";e.exports=function(t){var e=t.helpers,a=t.defaults.global;t.defaults.global.elements.line={tension:.4,backgroundColor:a.defaultColor,borderWidth:3,borderColor:a.defaultColor,borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",capBezierPoints:!0,fill:!0},t.elements.Line=t.Element.extend({draw:function(){function t(t,e){var a=e._view;e._view.steppedLine===!0?(l.lineTo(a.x,t._view.y),l.lineTo(a.x,a.y)):0===e._view.tension?l.lineTo(a.x,a.y):l.bezierCurveTo(t._view.controlPointNextX,t._view.controlPointNextY,a.controlPointPreviousX,a.controlPointPreviousY,a.x,a.y)}var i=this,n=i._view,o=n.spanGaps,r=n.scaleZero,s=i._loop;s||("top"===n.fill?r=n.scaleTop:"bottom"===n.fill&&(r=n.scaleBottom));var l=i._chart.ctx;l.save();var u=i._children.slice(),d=-1;s&&u.length&&u.push(u[0]);var c,h,f,g;if(u.length&&n.fill){for(l.beginPath(),c=0;ce?1:-1,r=1,s=u.borderSkipped||"left"):(e=u.x-u.width/2,a=u.x+u.width/2,i=u.y,n=u.base,o=1,r=n>i?1:-1,s=u.borderSkipped||"bottom"),d){var c=Math.min(Math.abs(e-a),Math.abs(i-n));d=d>c?c:d;var h=d/2,f=e+("left"!==s?h*o:0),g=a+("right"!==s?-h*o:0),p=i+("top"!==s?h*r:0),m=n+("bottom"!==s?-h*r:0);f!==g&&(i=p,n=m),p!==m&&(e=f,a=g)}l.beginPath(),l.fillStyle=u.backgroundColor,l.strokeStyle=u.borderColor,l.lineWidth=d;var v=[[e,n],[e,i],[a,i],[a,n]],b=["bottom","left","top","right"],x=b.indexOf(s,0);x===-1&&(x=0);var y=t(0);l.moveTo(y[0],y[1]);for(var k=1;k<4;k++)y=t(k),l.lineTo(y[0],y[1]);l.fill(),d&&l.stroke()},height:function(){var t=this._view;return t.base-t.y},inRange:function(t,e){var i=!1;if(this._view){var n=a(this);i=t>=n.left&&t<=n.right&&e>=n.top&&e<=n.bottom}return i},inLabelRange:function(t,i){var n=this;if(!n._view)return!1;var o=!1,r=a(n);return o=e(n)?t>=r.left&&t<=r.right:i>=r.top&&i<=r.bottom},inXRange:function(t){var e=a(this);return t>=e.left&&t<=e.right},inYRange:function(t){var e=a(this);return t>=e.top&&t<=e.bottom},getCenterPoint:function(){var t,a,i=this._view;return e(this)?(t=i.x,a=(i.y+i.base)/2):(t=(i.x+i.base)/2,a=i.y),{x:t,y:a}},getArea:function(){var t=this._view;return t.width*Math.abs(t.y-t.base)},tooltipPosition:function(){var t=this._view;return{x:t.x,y:t.y}}})}},{}],41:[function(t,e,a){"use strict";e.exports=function(t){function e(t,e){var a=l.getStyle(t,e),i=a&&a.match(/(\d+)px/);return i?Number(i[1]):void 0}function a(t,a){var i=t.style,n=t.getAttribute("height"),o=t.getAttribute("width");if(t._chartjs={initial:{height:n,width:o,style:{display:i.display,height:i.height,width:i.width}}},i.display=i.display||"block",null===o||""===o){var r=e(t,"width");void 0!==r&&(t.width=r)}if(null===n||""===n)if(""===t.style.height)t.height=t.width/(a.options.aspectRatio||2);else{var s=e(t,"height");void 0!==r&&(t.height=s)}return t}function i(t,e,a,i,n){return{type:t,chart:e,native:n||null,x:void 0!==a?a:null,y:void 0!==i?i:null}}function n(t,e){ -var a=u[t.type]||t.type,n=l.getRelativePosition(t,e);return i(a,e,n.x,n.y,t)}function o(t){var e=document.createElement("iframe");return e.className="chartjs-hidden-iframe",e.style.cssText="display:block;overflow:hidden;border:0;margin:0;top:0;left:0;bottom:0;right:0;height:100%;width:100%;position:absolute;pointer-events:none;z-index:-1;",e.tabIndex=-1,l.addEvent(e,"load",function(){l.addEvent(e.contentWindow||e,"resize",t),t()}),e}function r(t,e,a){var n=t._chartjs={ticking:!1},r=function(){n.ticking||(n.ticking=!0,l.requestAnimFrame.call(window,function(){if(n.resizer)return n.ticking=!1,e(i("resize",a))}))};n.resizer=o(r),t.insertBefore(n.resizer,t.firstChild)}function s(t){if(t&&t._chartjs){var e=t._chartjs.resizer;e&&(e.parentNode.removeChild(e),t._chartjs.resizer=null),delete t._chartjs}}var l=t.helpers,u={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"};return{acquireContext:function(t,e){if("string"==typeof t?t=document.getElementById(t):t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t instanceof HTMLCanvasElement){var i=t.getContext&&t.getContext("2d");if(i instanceof CanvasRenderingContext2D)return a(t,e),i}return null},releaseContext:function(t){var e=t.canvas;if(e._chartjs){var a=e._chartjs.initial;["height","width"].forEach(function(t){var i=a[t];void 0===i||null===i?e.removeAttribute(t):e.setAttribute(t,i)}),l.each(a.style||{},function(t,a){e.style[a]=t}),e.width=e.width,delete e._chartjs}},addEventListener:function(t,e,a){var i=t.chart.canvas;if("resize"===e)return void r(i.parentNode,a,t.chart);var o=a._chartjs||(a._chartjs={}),s=o.proxies||(o.proxies={}),u=s[t.id+"_"+e]=function(e){a(n(e,t.chart))};l.addEvent(i,e,u)},removeEventListener:function(t,e,a){var i=t.chart.canvas;if("resize"===e)return void s(i.parentNode,a);var n=a._chartjs||{},o=n.proxies||{},r=o[t.id+"_"+e];r&&l.removeEvent(i,e,r)}}}},{}],42:[function(t,e,a){"use strict";var i=t(41);e.exports=function(t){t.platform={acquireContext:function(){},releaseContext:function(){},addEventListener:function(){},removeEventListener:function(){}},t.helpers.extend(t.platform,i(t))}},{41:41}],43:[function(t,e,a){"use strict";e.exports=function(t){var e=t.helpers,a={position:"bottom"},i=t.Scale.extend({getLabels:function(){var t=this.chart.data;return(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels},determineDataLimits:function(){var t=this,a=t.getLabels();t.minIndex=0,t.maxIndex=a.length-1;var i;void 0!==t.options.ticks.min&&(i=e.indexOf(a,t.options.ticks.min),t.minIndex=i!==-1?i:t.minIndex),void 0!==t.options.ticks.max&&(i=e.indexOf(a,t.options.ticks.max),t.maxIndex=i!==-1?i:t.maxIndex),t.min=a[t.minIndex],t.max=a[t.maxIndex]},buildTicks:function(){var t=this,e=t.getLabels();t.ticks=0===t.minIndex&&t.maxIndex===e.length-1?e:e.slice(t.minIndex,t.maxIndex+1)},getLabelForIndex:function(t,e){var a=this,i=a.chart.data,n=a.isHorizontal();return i.yLabels&&!n?a.getRightValue(i.datasets[e].data[t]):a.ticks[t-a.minIndex]},getPixelForValue:function(t,e,a,i){var n=this,o=Math.max(n.maxIndex+1-n.minIndex-(n.options.gridLines.offsetGridLines?0:1),1);if(void 0!==t&&isNaN(e)){var r=n.getLabels(),s=r.indexOf(t);e=s!==-1?s:e}if(n.isHorizontal()){var l=n.width/o,u=l*(e-n.minIndex);return(n.options.gridLines.offsetGridLines&&i||n.maxIndex===n.minIndex&&i)&&(u+=l/2),n.left+Math.round(u)}var d=n.height/o,c=d*(e-n.minIndex);return n.options.gridLines.offsetGridLines&&i&&(c+=d/2),n.top+Math.round(c)},getPixelForTick:function(t,e){return this.getPixelForValue(this.ticks[t],t+this.minIndex,null,e)},getValueForPixel:function(t){var e,a=this,i=Math.max(a.ticks.length-(a.options.gridLines.offsetGridLines?0:1),1),n=a.isHorizontal(),o=(n?a.width:a.height)/i;return t-=n?a.left:a.top,a.options.gridLines.offsetGridLines&&(t-=o/2),e=t<=0?0:Math.round(t/o)},getBasePixel:function(){return this.bottom}});t.scaleService.registerScaleType("category",i,a)}},{}],44:[function(t,e,a){"use strict";e.exports=function(t){var e=t.helpers,a={position:"left",ticks:{callback:t.Ticks.formatters.linear}},i=t.LinearScaleBase.extend({determineDataLimits:function(){function t(t){return s?t.xAxisID===a.id:t.yAxisID===a.id}var a=this,i=a.options,n=a.chart,o=n.data,r=o.datasets,s=a.isHorizontal();a.min=null,a.max=null;var l=i.stacked;if(void 0===l&&e.each(r,function(e,a){if(!l){var i=n.getDatasetMeta(a);n.isDatasetVisible(a)&&t(i)&&void 0!==i.stack&&(l=!0)}}),i.stacked||l){var u={};e.each(r,function(o,r){var s=n.getDatasetMeta(r),l=[s.type,void 0===i.stacked&&void 0===s.stack?r:"",s.stack].join(".");void 0===u[l]&&(u[l]={positiveValues:[],negativeValues:[]});var d=u[l].positiveValues,c=u[l].negativeValues;n.isDatasetVisible(r)&&t(s)&&e.each(o.data,function(t,e){var n=+a.getRightValue(t);isNaN(n)||s.data[e].hidden||(d[e]=d[e]||0,c[e]=c[e]||0,i.relativePoints?d[e]=100:n<0?c[e]+=n:d[e]+=n)})}),e.each(u,function(t){var i=t.positiveValues.concat(t.negativeValues),n=e.min(i),o=e.max(i);a.min=null===a.min?n:Math.min(a.min,n),a.max=null===a.max?o:Math.max(a.max,o)})}else e.each(r,function(i,o){var r=n.getDatasetMeta(o);n.isDatasetVisible(o)&&t(r)&&e.each(i.data,function(t,e){var i=+a.getRightValue(t);isNaN(i)||r.data[e].hidden||(null===a.min?a.min=i:ia.max&&(a.max=i))})});this.handleTickRangeOptions()},getTickLimit:function(){var a,i=this,n=i.options.ticks;if(i.isHorizontal())a=Math.min(n.maxTicksLimit?n.maxTicksLimit:11,Math.ceil(i.width/50));else{var o=e.getValueOrDefault(n.fontSize,t.defaults.global.defaultFontSize);a=Math.min(n.maxTicksLimit?n.maxTicksLimit:11,Math.ceil(i.height/(2*o)))}return a},handleDirectionalChanges:function(){this.isHorizontal()||this.ticks.reverse()},getLabelForIndex:function(t,e){return+this.getRightValue(this.chart.data.datasets[e].data[t])},getPixelForValue:function(t){var e,a=this,i=a.start,n=+a.getRightValue(t),o=a.end-i;return a.isHorizontal()?(e=a.left+a.width/o*(n-i),Math.round(e)):(e=a.bottom-a.height/o*(n-i),Math.round(e))},getValueForPixel:function(t){var e=this,a=e.isHorizontal(),i=a?e.width:e.height,n=(a?t-e.left:e.bottom-t)/i;return e.start+(e.end-e.start)*n},getPixelForTick:function(t){return this.getPixelForValue(this.ticksAsNumbers[t])}});t.scaleService.registerScaleType("linear",i,a)}},{}],45:[function(t,e,a){"use strict";e.exports=function(t){var e=t.helpers,a=e.noop;t.LinearScaleBase=t.Scale.extend({handleTickRangeOptions:function(){var t=this,a=t.options,i=a.ticks;if(i.beginAtZero){var n=e.sign(t.min),o=e.sign(t.max);n<0&&o<0?t.max=0:n>0&&o>0&&(t.min=0)}void 0!==i.min?t.min=i.min:void 0!==i.suggestedMin&&(t.min=Math.min(t.min,i.suggestedMin)),void 0!==i.max?t.max=i.max:void 0!==i.suggestedMax&&(t.max=Math.max(t.max,i.suggestedMax)),t.min===t.max&&(t.max++,i.beginAtZero||t.min--)},getTickLimit:a,handleDirectionalChanges:a,buildTicks:function(){var a=this,i=a.options,n=i.ticks,o=a.getTickLimit();o=Math.max(2,o);var r={maxTicks:o,min:n.min,max:n.max,stepSize:e.getValueOrDefault(n.fixedStepSize,n.stepSize)},s=a.ticks=t.Ticks.generators.linear(r,a);a.handleDirectionalChanges(),a.max=e.max(s),a.min=e.min(s),n.reverse?(s.reverse(),a.start=a.max,a.end=a.min):(a.start=a.min,a.end=a.max)},convertTicksToLabels:function(){var e=this;e.ticksAsNumbers=e.ticks.slice(),e.zeroLineIndex=e.ticks.indexOf(0),t.Scale.prototype.convertTicksToLabels.call(e)}})}},{}],46:[function(t,e,a){"use strict";e.exports=function(t){var e=t.helpers,a={position:"left",ticks:{callback:t.Ticks.formatters.logarithmic}},i=t.Scale.extend({determineDataLimits:function(){function t(t){return u?t.xAxisID===a.id:t.yAxisID===a.id}var a=this,i=a.options,n=i.ticks,o=a.chart,r=o.data,s=r.datasets,l=e.getValueOrDefault,u=a.isHorizontal();a.min=null,a.max=null,a.minNotZero=null;var d=i.stacked;if(void 0===d&&e.each(s,function(e,a){if(!d){var i=o.getDatasetMeta(a);o.isDatasetVisible(a)&&t(i)&&void 0!==i.stack&&(d=!0)}}),i.stacked||d){var c={};e.each(s,function(n,r){var s=o.getDatasetMeta(r),l=[s.type,void 0===i.stacked&&void 0===s.stack?r:"",s.stack].join(".");o.isDatasetVisible(r)&&t(s)&&(void 0===c[l]&&(c[l]=[]),e.each(n.data,function(t,e){var n=c[l],o=+a.getRightValue(t);isNaN(o)||s.data[e].hidden||(n[e]=n[e]||0,i.relativePoints?n[e]=100:n[e]+=o)}))}),e.each(c,function(t){var i=e.min(t),n=e.max(t);a.min=null===a.min?i:Math.min(a.min,i),a.max=null===a.max?n:Math.max(a.max,n)})}else e.each(s,function(i,n){var r=o.getDatasetMeta(n);o.isDatasetVisible(n)&&t(r)&&e.each(i.data,function(t,e){var i=+a.getRightValue(t);isNaN(i)||r.data[e].hidden||(null===a.min?a.min=i:ia.max&&(a.max=i),0!==i&&(null===a.minNotZero||in?{start:e-a-5,end:e}:{start:e,end:e+a+5}}function o(t){var o,r,s,l=a(t),u=Math.min(t.height/2,t.width/2),d={l:t.width,r:0,t:t.height,b:0},c={};t.ctx.font=l.font,t._pointLabelSizes=[];var h=e(t);for(o=0;od.r&&(d.r=m.end,c.r=g),v.startd.b&&(d.b=v.end,c.b=g)}t.setReductions(u,d,c)}function r(t){var e=Math.min(t.height/2,t.width/2);t.drawingArea=Math.round(e),t.setCenterPoint(0,0,0,0)}function s(t){return 0===t||180===t?"center":t<180?"left":"right"}function l(t,e,a,i){if(f.isArray(e))for(var n=a.y,o=1.5*i,r=0;r270||t<90)&&(a.y-=e.h)}function d(t){var i=t.ctx,n=f.getValueOrDefault,o=t.options,r=o.angleLines,d=o.pointLabels;i.lineWidth=r.lineWidth,i.strokeStyle=r.color;var c=t.getDistanceFromCenterForValue(o.reverse?t.min:t.max),h=a(t);i.textBaseline="top";for(var p=e(t)-1;p>=0;p--){if(r.display){var m=t.getPointPosition(p,c);i.beginPath(),i.moveTo(t.xCenter,t.yCenter),i.lineTo(m.x,m.y),i.stroke(),i.closePath()}var v=t.getPointPosition(p,c+5),b=n(d.fontColor,g.defaultFontColor);i.font=h.font,i.fillStyle=b;var x=t.getIndexAngle(p),y=f.toDegrees(x);i.textAlign=s(y),u(y,t._pointLabelSizes[p],v),l(i,t.pointLabels[p]||"",v,h.size)}}function c(t,a,i,n){var o=t.ctx;if(o.strokeStyle=f.getValueAtIndexOrDefault(a.color,n-1),o.lineWidth=f.getValueAtIndexOrDefault(a.lineWidth,n-1),t.options.lineArc)o.beginPath(),o.arc(t.xCenter,t.yCenter,i,0,2*Math.PI),o.closePath(),o.stroke();else{var r=e(t);if(0===r)return;o.beginPath();var s=t.getPointPosition(0,i);o.moveTo(s.x,s.y);for(var l=1;l0&&a>0?e:0)},draw:function(){var t=this,e=t.options,a=e.gridLines,i=e.ticks,n=f.getValueOrDefault;if(e.display){var o=t.ctx,r=n(i.fontSize,g.defaultFontSize),s=n(i.fontStyle,g.defaultFontStyle),l=n(i.fontFamily,g.defaultFontFamily),u=f.fontString(r,s,l);f.each(t.ticks,function(s,l){if(l>0||e.reverse){var d=t.getDistanceFromCenterForValue(t.ticksAsNumbers[l]),h=t.yCenter-d;if(a.display&&0!==l&&c(t,a,d,l),i.display){var f=n(i.fontColor,g.defaultFontColor);if(o.font=u,i.showLabelBackdrop){var p=o.measureText(s).width;o.fillStyle=i.backdropColor,o.fillRect(t.xCenter-p/2-i.backdropPaddingX,h-r/2-i.backdropPaddingY,p+2*i.backdropPaddingX,r+2*i.backdropPaddingY)}o.textAlign="center",o.textBaseline="middle",o.fillStyle=f,o.fillText(s,t.xCenter,h)}}}),e.lineArc||d(t)}}});t.scaleService.registerScaleType("radialLinear",m,p)}},{}],48:[function(t,e,a){"use strict";var i=t(1);i="function"==typeof i?i:window.moment,e.exports=function(t){var e=t.helpers,a={units:[{name:"millisecond",steps:[1,2,5,10,20,50,100,250,500]},{name:"second",steps:[1,2,5,10,30]},{name:"minute",steps:[1,2,5,10,30]},{name:"hour",steps:[1,2,3,6,12]},{name:"day",steps:[1,2,5]},{name:"week",maxStep:4},{name:"month",maxStep:3},{name:"quarter",maxStep:4},{name:"year",maxStep:!1}]},n={position:"bottom",time:{parser:!1,format:!1,unit:!1,round:!1,displayFormat:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{millisecond:"h:mm:ss.SSS a",second:"h:mm:ss a",minute:"h:mm:ss a",hour:"MMM D, hA",day:"ll",week:"ll",month:"MMM YYYY",quarter:"[Q]Q - YYYY",year:"YYYY"}},ticks:{autoSkip:!1}},o=t.Scale.extend({initialize:function(){if(!i)throw new Error("Chart.js - Moment.js could not be found! You must include it before Chart.js to use the time scale. Download at https://momentjs.com");t.Scale.prototype.initialize.call(this)},getLabelMoment:function(t,e){return null===t||null===e?null:"undefined"!=typeof this.labelMoments[t]?this.labelMoments[t][e]:null},getLabelDiff:function(t,e){var a=this;return null===t||null===e?null:(void 0===a.labelDiffs&&a.buildLabelDiffs(),"undefined"!=typeof a.labelDiffs[t]?a.labelDiffs[t][e]:null)},getMomentStartOf:function(t){var e=this;return"week"===e.options.time.unit&&e.options.time.isoWeekday!==!1?t.clone().startOf("isoWeek").isoWeekday(e.options.time.isoWeekday):t.clone().startOf(e.tickUnit)},determineDataLimits:function(){var t=this;t.labelMoments=[];var a=[];t.chart.data.labels&&t.chart.data.labels.length>0?(e.each(t.chart.data.labels,function(e){var i=t.parseTime(e);i.isValid()&&(t.options.time.round&&i.startOf(t.options.time.round),a.push(i))},t),t.firstTick=i.min.call(t,a),t.lastTick=i.max.call(t,a)):(t.firstTick=null,t.lastTick=null),e.each(t.chart.data.datasets,function(n,o){var r=[],s=t.chart.isDatasetVisible(o);"object"==typeof n.data[0]&&null!==n.data[0]?e.each(n.data,function(e){var a=t.parseTime(t.getRightValue(e));a.isValid()&&(t.options.time.round&&a.startOf(t.options.time.round),r.push(a),s&&(t.firstTick=null!==t.firstTick?i.min(t.firstTick,a):a,t.lastTick=null!==t.lastTick?i.max(t.lastTick,a):a))},t):r=a,t.labelMoments.push(r)},t),t.options.time.min&&(t.firstTick=t.parseTime(t.options.time.min)),t.options.time.max&&(t.lastTick=t.parseTime(t.options.time.max)),t.firstTick=(t.firstTick||i()).clone(),t.lastTick=(t.lastTick||i()).clone()},buildLabelDiffs:function(){var t=this;t.labelDiffs=[];var a=[];t.chart.data.labels&&t.chart.data.labels.length>0&&e.each(t.chart.data.labels,function(e){var i=t.parseTime(e);i.isValid()&&(t.options.time.round&&i.startOf(t.options.time.round),a.push(i.diff(t.firstTick,t.tickUnit,!0)))},t),e.each(t.chart.data.datasets,function(i){var n=[];"object"==typeof i.data[0]&&null!==i.data[0]?e.each(i.data,function(e){var a=t.parseTime(t.getRightValue(e));a.isValid()&&(t.options.time.round&&a.startOf(t.options.time.round),n.push(a.diff(t.firstTick,t.tickUnit,!0)))},t):n=a,t.labelDiffs.push(n)},t)},buildTicks:function(){var i=this;i.ctx.save();var n=e.getValueOrDefault(i.options.ticks.fontSize,t.defaults.global.defaultFontSize),o=e.getValueOrDefault(i.options.ticks.fontStyle,t.defaults.global.defaultFontStyle),r=e.getValueOrDefault(i.options.ticks.fontFamily,t.defaults.global.defaultFontFamily),s=e.fontString(n,o,r);if(i.ctx.font=s,i.ticks=[],i.unitScale=1,i.scaleSizeInUnits=0,i.options.time.unit)i.tickUnit=i.options.time.unit||"day",i.displayFormat=i.options.time.displayFormats[i.tickUnit],i.scaleSizeInUnits=i.lastTick.diff(i.firstTick,i.tickUnit,!0),i.unitScale=e.getValueOrDefault(i.options.time.unitStepSize,1);else{var l=i.isHorizontal()?i.width:i.height,u=i.tickFormatFunction(i.firstTick,0,[]),d=i.ctx.measureText(u).width,c=Math.cos(e.toRadians(i.options.ticks.maxRotation)),h=Math.sin(e.toRadians(i.options.ticks.maxRotation));d=d*c+n*h;var f=l/d;i.tickUnit=i.options.time.minUnit,i.scaleSizeInUnits=i.lastTick.diff(i.firstTick,i.tickUnit,!0),i.displayFormat=i.options.time.displayFormats[i.tickUnit];for(var g=0,p=a.units[g];g=Math.ceil(i.scaleSizeInUnits/f)){i.unitScale=e.getValueOrDefault(i.options.time.unitStepSize,p.steps[m]);break}break}if(p.maxStep===!1||Math.ceil(i.scaleSizeInUnits/f)=0&&(i.lastTick=y),i.scaleSizeInUnits=i.lastTick.diff(i.firstTick,i.tickUnit,!0)}i.options.time.displayFormat&&(i.displayFormat=i.options.time.displayFormat),i.ticks.push(i.firstTick.clone());for(var S=i.unitScale;S<=i.scaleSizeInUnits;S+=i.unitScale){var M=x.clone().add(S,i.tickUnit);if(i.options.time.max&&M.diff(i.lastTick,i.tickUnit,!0)>=0)break;i.ticks.push(M)}var w=i.ticks[i.ticks.length-1].diff(i.lastTick,i.tickUnit);0===w&&0!==i.scaleSizeInUnits||(i.options.time.max?(i.ticks.push(i.lastTick.clone()),i.scaleSizeInUnits=i.lastTick.diff(i.ticks[0],i.tickUnit,!0)):(i.ticks.push(i.lastTick.clone()),i.scaleSizeInUnits=i.lastTick.diff(i.firstTick,i.tickUnit,!0))),i.ctx.restore(),i.labelDiffs=void 0},getLabelForIndex:function(t,e){var a=this,i=a.chart.data.labels&&t { + let t = 0; + return () => t++; + })(); + function s(t) { + return null == t; + } + function n(t) { + if (Array.isArray && Array.isArray(t)) return !0; + const e = Object.prototype.toString.call(t); + return "[object" === e.slice(0, 7) && "Array]" === e.slice(-6); + } + function o(t) { + return ( + null !== t && "[object Object]" === Object.prototype.toString.call(t) + ); + } + function a(t) { + return ("number" == typeof t || t instanceof Number) && isFinite(+t); + } + function r(t, e) { + return a(t) ? t : e; + } + function l(t, e) { + return void 0 === t ? e : t; + } + const h = (t, e) => + "string" == typeof t && t.endsWith("%") ? parseFloat(t) / 100 : +t / e, + c = (t, e) => + "string" == typeof t && t.endsWith("%") ? (parseFloat(t) / 100) * e : +t; + function d(t, e, i) { + if (t && "function" == typeof t.call) return t.apply(i, e); + } + function u(t, e, i, s) { + let a, r, l; + if (n(t)) + if (((r = t.length), s)) for (a = r - 1; a >= 0; a--) e.call(i, t[a], a); + else for (a = 0; a < r; a++) e.call(i, t[a], a); + else if (o(t)) + for (l = Object.keys(t), r = l.length, a = 0; a < r; a++) + e.call(i, t[l[a]], l[a]); + } + function f(t, e) { + let i, s, n, o; + if (!t || !e || t.length !== e.length) return !1; + for (i = 0, s = t.length; i < s; ++i) + if ( + ((n = t[i]), + (o = e[i]), + n.datasetIndex !== o.datasetIndex || n.index !== o.index) + ) + return !1; + return !0; + } + function g(t) { + if (n(t)) return t.map(g); + if (o(t)) { + const e = Object.create(null), + i = Object.keys(t), + s = i.length; + let n = 0; + for (; n < s; ++n) e[i[n]] = g(t[i[n]]); + return e; + } + return t; + } + function p(t) { + return -1 === ["__proto__", "prototype", "constructor"].indexOf(t); + } + function m(t, e, i, s) { + if (!p(t)) return; + const n = e[t], + a = i[t]; + o(n) && o(a) ? b(n, a, s) : (e[t] = g(a)); + } + function b(t, e, i) { + const s = n(e) ? e : [e], + a = s.length; + if (!o(t)) return t; + const r = (i = i || {}).merger || m; + let l; + for (let e = 0; e < a; ++e) { + if (((l = s[e]), !o(l))) continue; + const n = Object.keys(l); + for (let e = 0, s = n.length; e < s; ++e) r(n[e], t, l, i); + } + return t; + } + function x(t, e) { + return b(t, e, { merger: _ }); + } + function _(t, e, i) { + if (!p(t)) return; + const s = e[t], + n = i[t]; + o(s) && o(n) + ? x(s, n) + : Object.prototype.hasOwnProperty.call(e, t) || (e[t] = g(n)); + } + const y = { "": (t) => t, x: (t) => t.x, y: (t) => t.y }; + function v(t) { + const e = t.split("."), + i = []; + let s = ""; + for (const t of e) + (s += t), + s.endsWith("\\") ? (s = s.slice(0, -1) + ".") : (i.push(s), (s = "")); + return i; + } + function M(t, e) { + const i = + y[e] || + (y[e] = (function (t) { + const e = v(t); + return (t) => { + for (const i of e) { + if ("" === i) break; + t = t && t[i]; + } + return t; + }; + })(e)); + return i(t); + } + function w(t) { + return t.charAt(0).toUpperCase() + t.slice(1); + } + const k = (t) => void 0 !== t, + S = (t) => "function" == typeof t, + P = (t, e) => { + if (t.size !== e.size) return !1; + for (const i of t) if (!e.has(i)) return !1; + return !0; + }; + function D(t) { + return ( + "mouseup" === t.type || "click" === t.type || "contextmenu" === t.type + ); + } + const C = Math.PI, + O = 2 * C, + A = O + C, + T = Number.POSITIVE_INFINITY, + L = C / 180, + E = C / 2, + R = C / 4, + I = (2 * C) / 3, + z = Math.log10, + F = Math.sign; + function V(t, e, i) { + return Math.abs(t - e) < i; + } + function B(t) { + const e = Math.round(t); + t = V(t, e, t / 1e3) ? e : t; + const i = Math.pow(10, Math.floor(z(t))), + s = t / i; + return (s <= 1 ? 1 : s <= 2 ? 2 : s <= 5 ? 5 : 10) * i; + } + function W(t) { + const e = [], + i = Math.sqrt(t); + let s; + for (s = 1; s < i; s++) t % s == 0 && (e.push(s), e.push(t / s)); + return i === (0 | i) && e.push(i), e.sort((t, e) => t - e).pop(), e; + } + function N(t) { + return !isNaN(parseFloat(t)) && isFinite(t); + } + function H(t, e) { + const i = Math.round(t); + return i - e <= t && i + e >= t; + } + function j(t, e, i) { + let s, n, o; + for (s = 0, n = t.length; s < n; s++) + (o = t[s][i]), + isNaN(o) || + ((e.min = Math.min(e.min, o)), (e.max = Math.max(e.max, o))); + } + function $(t) { + return t * (C / 180); + } + function Y(t) { + return t * (180 / C); + } + function U(t) { + if (!a(t)) return; + let e = 1, + i = 0; + for (; Math.round(t * e) / e !== t; ) (e *= 10), i++; + return i; + } + function X(t, e) { + const i = e.x - t.x, + s = e.y - t.y, + n = Math.sqrt(i * i + s * s); + let o = Math.atan2(s, i); + return o < -0.5 * C && (o += O), { angle: o, distance: n }; + } + function q(t, e) { + return Math.sqrt(Math.pow(e.x - t.x, 2) + Math.pow(e.y - t.y, 2)); + } + function K(t, e) { + return ((t - e + A) % O) - C; + } + function G(t) { + return ((t % O) + O) % O; + } + function Z(t, e, i, s) { + const n = G(t), + o = G(e), + a = G(i), + r = G(o - n), + l = G(a - n), + h = G(n - o), + c = G(n - a); + return n === o || n === a || (s && o === a) || (r > l && h < c); + } + function J(t, e, i) { + return Math.max(e, Math.min(i, t)); + } + function Q(t) { + return J(t, -32768, 32767); + } + function tt(t, e, i, s = 1e-6) { + return t >= Math.min(e, i) - s && t <= Math.max(e, i) + s; + } + function et(t, e, i) { + i = i || ((i) => t[i] < e); + let s, + n = t.length - 1, + o = 0; + for (; n - o > 1; ) (s = (o + n) >> 1), i(s) ? (o = s) : (n = s); + return { lo: o, hi: n }; + } + const it = (t, e, i, s) => + et( + t, + i, + s + ? (s) => { + const n = t[s][e]; + return n < i || (n === i && t[s + 1][e] === i); + } + : (s) => t[s][e] < i + ), + st = (t, e, i) => et(t, i, (s) => t[s][e] >= i); + function nt(t, e, i) { + let s = 0, + n = t.length; + for (; s < n && t[s] < e; ) s++; + for (; n > s && t[n - 1] > i; ) n--; + return s > 0 || n < t.length ? t.slice(s, n) : t; + } + const ot = ["push", "pop", "shift", "splice", "unshift"]; + function at(t, e) { + t._chartjs + ? t._chartjs.listeners.push(e) + : (Object.defineProperty(t, "_chartjs", { + configurable: !0, + enumerable: !1, + value: { listeners: [e] }, + }), + ot.forEach((e) => { + const i = "_onData" + w(e), + s = t[e]; + Object.defineProperty(t, e, { + configurable: !0, + enumerable: !1, + value(...e) { + const n = s.apply(this, e); + return ( + t._chartjs.listeners.forEach((t) => { + "function" == typeof t[i] && t[i](...e); + }), + n + ); + }, + }); + })); + } + function rt(t, e) { + const i = t._chartjs; + if (!i) return; + const s = i.listeners, + n = s.indexOf(e); + -1 !== n && s.splice(n, 1), + s.length > 0 || + (ot.forEach((e) => { + delete t[e]; + }), + delete t._chartjs); + } + function lt(t) { + const e = new Set(t); + return e.size === t.length ? t : Array.from(e); + } + const ht = + "undefined" == typeof window + ? function (t) { + return t(); + } + : window.requestAnimationFrame; + function ct(t, e) { + let i = [], + s = !1; + return function (...n) { + (i = n), + s || + ((s = !0), + ht.call(window, () => { + (s = !1), t.apply(e, i); + })); + }; + } + function dt(t, e) { + let i; + return function (...s) { + return ( + e ? (clearTimeout(i), (i = setTimeout(t, e, s))) : t.apply(this, s), e + ); + }; + } + const ut = (t) => ("start" === t ? "left" : "end" === t ? "right" : "center"), + ft = (t, e, i) => ("start" === t ? e : "end" === t ? i : (e + i) / 2), + gt = (t, e, i, s) => + t === (s ? "left" : "right") ? i : "center" === t ? (e + i) / 2 : e; + function pt(t, e, i) { + const s = e.length; + let n = 0, + o = s; + if (t._sorted) { + const { iScale: a, _parsed: r } = t, + l = a.axis, + { min: h, max: c, minDefined: d, maxDefined: u } = a.getUserBounds(); + d && + (n = J( + Math.min(it(r, l, h).lo, i ? s : it(e, l, a.getPixelForValue(h)).lo), + 0, + s - 1 + )), + (o = u + ? J( + Math.max( + it(r, a.axis, c, !0).hi + 1, + i ? 0 : it(e, l, a.getPixelForValue(c), !0).hi + 1 + ), + n, + s + ) - n + : s - n); + } + return { start: n, count: o }; + } + function mt(t) { + const { xScale: e, yScale: i, _scaleRanges: s } = t, + n = { xmin: e.min, xmax: e.max, ymin: i.min, ymax: i.max }; + if (!s) return (t._scaleRanges = n), !0; + const o = + s.xmin !== e.min || + s.xmax !== e.max || + s.ymin !== i.min || + s.ymax !== i.max; + return Object.assign(s, n), o; + } + class bt { + constructor() { + (this._request = null), + (this._charts = new Map()), + (this._running = !1), + (this._lastDate = void 0); + } + _notify(t, e, i, s) { + const n = e.listeners[s], + o = e.duration; + n.forEach((s) => + s({ + chart: t, + initial: e.initial, + numSteps: o, + currentStep: Math.min(i - e.start, o), + }) + ); + } + _refresh() { + this._request || + ((this._running = !0), + (this._request = ht.call(window, () => { + this._update(), + (this._request = null), + this._running && this._refresh(); + }))); + } + _update(t = Date.now()) { + let e = 0; + this._charts.forEach((i, s) => { + if (!i.running || !i.items.length) return; + const n = i.items; + let o, + a = n.length - 1, + r = !1; + for (; a >= 0; --a) + (o = n[a]), + o._active + ? (o._total > i.duration && (i.duration = o._total), + o.tick(t), + (r = !0)) + : ((n[a] = n[n.length - 1]), n.pop()); + r && (s.draw(), this._notify(s, i, t, "progress")), + n.length || + ((i.running = !1), + this._notify(s, i, t, "complete"), + (i.initial = !1)), + (e += n.length); + }), + (this._lastDate = t), + 0 === e && (this._running = !1); + } + _getAnims(t) { + const e = this._charts; + let i = e.get(t); + return ( + i || + ((i = { + running: !1, + initial: !0, + items: [], + listeners: { complete: [], progress: [] }, + }), + e.set(t, i)), + i + ); + } + listen(t, e, i) { + this._getAnims(t).listeners[e].push(i); + } + add(t, e) { + e && e.length && this._getAnims(t).items.push(...e); + } + has(t) { + return this._getAnims(t).items.length > 0; + } + start(t) { + const e = this._charts.get(t); + e && + ((e.running = !0), + (e.start = Date.now()), + (e.duration = e.items.reduce((t, e) => Math.max(t, e._duration), 0)), + this._refresh()); + } + running(t) { + if (!this._running) return !1; + const e = this._charts.get(t); + return !!(e && e.running && e.items.length); + } + stop(t) { + const e = this._charts.get(t); + if (!e || !e.items.length) return; + const i = e.items; + let s = i.length - 1; + for (; s >= 0; --s) i[s].cancel(); + (e.items = []), this._notify(t, e, Date.now(), "complete"); + } + remove(t) { + return this._charts.delete(t); + } + } + var xt = new bt(); + /*! + * @kurkle/color v0.3.2 + * https://github.com/kurkle/color#readme + * (c) 2023 Jukka Kurkela + * Released under the MIT License + */ function _t(t) { + return (t + 0.5) | 0; + } + const yt = (t, e, i) => Math.max(Math.min(t, i), e); + function vt(t) { + return yt(_t(2.55 * t), 0, 255); + } + function Mt(t) { + return yt(_t(255 * t), 0, 255); + } + function wt(t) { + return yt(_t(t / 2.55) / 100, 0, 1); + } + function kt(t) { + return yt(_t(100 * t), 0, 100); + } + const St = { + 0: 0, + 1: 1, + 2: 2, + 3: 3, + 4: 4, + 5: 5, + 6: 6, + 7: 7, + 8: 8, + 9: 9, + A: 10, + B: 11, + C: 12, + D: 13, + E: 14, + F: 15, + a: 10, + b: 11, + c: 12, + d: 13, + e: 14, + f: 15, + }, + Pt = [..."0123456789ABCDEF"], + Dt = (t) => Pt[15 & t], + Ct = (t) => Pt[(240 & t) >> 4] + Pt[15 & t], + Ot = (t) => (240 & t) >> 4 == (15 & t); + function At(t) { + var e = ((t) => Ot(t.r) && Ot(t.g) && Ot(t.b) && Ot(t.a))(t) ? Dt : Ct; + return t + ? "#" + + e(t.r) + + e(t.g) + + e(t.b) + + ((t, e) => (t < 255 ? e(t) : ""))(t.a, e) + : void 0; + } + const Tt = + /^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/; + function Lt(t, e, i) { + const s = e * Math.min(i, 1 - i), + n = (e, n = (e + t / 30) % 12) => + i - s * Math.max(Math.min(n - 3, 9 - n, 1), -1); + return [n(0), n(8), n(4)]; + } + function Et(t, e, i) { + const s = (s, n = (s + t / 60) % 6) => + i - i * e * Math.max(Math.min(n, 4 - n, 1), 0); + return [s(5), s(3), s(1)]; + } + function Rt(t, e, i) { + const s = Lt(t, 1, 0.5); + let n; + for ( + e + i > 1 && ((n = 1 / (e + i)), (e *= n), (i *= n)), n = 0; + n < 3; + n++ + ) + (s[n] *= 1 - e - i), (s[n] += e); + return s; + } + function It(t) { + const e = t.r / 255, + i = t.g / 255, + s = t.b / 255, + n = Math.max(e, i, s), + o = Math.min(e, i, s), + a = (n + o) / 2; + let r, l, h; + return ( + n !== o && + ((h = n - o), + (l = a > 0.5 ? h / (2 - n - o) : h / (n + o)), + (r = (function (t, e, i, s, n) { + return t === n + ? (e - i) / s + (e < i ? 6 : 0) + : e === n + ? (i - t) / s + 2 + : (t - e) / s + 4; + })(e, i, s, h, n)), + (r = 60 * r + 0.5)), + [0 | r, l || 0, a] + ); + } + function zt(t, e, i, s) { + return (Array.isArray(e) ? t(e[0], e[1], e[2]) : t(e, i, s)).map(Mt); + } + function Ft(t, e, i) { + return zt(Lt, t, e, i); + } + function Vt(t) { + return ((t % 360) + 360) % 360; + } + function Bt(t) { + const e = Tt.exec(t); + let i, + s = 255; + if (!e) return; + e[5] !== i && (s = e[6] ? vt(+e[5]) : Mt(+e[5])); + const n = Vt(+e[2]), + o = +e[3] / 100, + a = +e[4] / 100; + return ( + (i = + "hwb" === e[1] + ? (function (t, e, i) { + return zt(Rt, t, e, i); + })(n, o, a) + : "hsv" === e[1] + ? (function (t, e, i) { + return zt(Et, t, e, i); + })(n, o, a) + : Ft(n, o, a)), + { r: i[0], g: i[1], b: i[2], a: s } + ); + } + const Wt = { + x: "dark", + Z: "light", + Y: "re", + X: "blu", + W: "gr", + V: "medium", + U: "slate", + A: "ee", + T: "ol", + S: "or", + B: "ra", + C: "lateg", + D: "ights", + R: "in", + Q: "turquois", + E: "hi", + P: "ro", + O: "al", + N: "le", + M: "de", + L: "yello", + F: "en", + K: "ch", + G: "arks", + H: "ea", + I: "ightg", + J: "wh", + }, + Nt = { + OiceXe: "f0f8ff", + antiquewEte: "faebd7", + aqua: "ffff", + aquamarRe: "7fffd4", + azuY: "f0ffff", + beige: "f5f5dc", + bisque: "ffe4c4", + black: "0", + blanKedOmond: "ffebcd", + Xe: "ff", + XeviTet: "8a2be2", + bPwn: "a52a2a", + burlywood: "deb887", + caMtXe: "5f9ea0", + KartYuse: "7fff00", + KocTate: "d2691e", + cSO: "ff7f50", + cSnflowerXe: "6495ed", + cSnsilk: "fff8dc", + crimson: "dc143c", + cyan: "ffff", + xXe: "8b", + xcyan: "8b8b", + xgTMnPd: "b8860b", + xWay: "a9a9a9", + xgYF: "6400", + xgYy: "a9a9a9", + xkhaki: "bdb76b", + xmagFta: "8b008b", + xTivegYF: "556b2f", + xSange: "ff8c00", + xScEd: "9932cc", + xYd: "8b0000", + xsOmon: "e9967a", + xsHgYF: "8fbc8f", + xUXe: "483d8b", + xUWay: "2f4f4f", + xUgYy: "2f4f4f", + xQe: "ced1", + xviTet: "9400d3", + dAppRk: "ff1493", + dApskyXe: "bfff", + dimWay: "696969", + dimgYy: "696969", + dodgerXe: "1e90ff", + fiYbrick: "b22222", + flSOwEte: "fffaf0", + foYstWAn: "228b22", + fuKsia: "ff00ff", + gaRsbSo: "dcdcdc", + ghostwEte: "f8f8ff", + gTd: "ffd700", + gTMnPd: "daa520", + Way: "808080", + gYF: "8000", + gYFLw: "adff2f", + gYy: "808080", + honeyMw: "f0fff0", + hotpRk: "ff69b4", + RdianYd: "cd5c5c", + Rdigo: "4b0082", + ivSy: "fffff0", + khaki: "f0e68c", + lavFMr: "e6e6fa", + lavFMrXsh: "fff0f5", + lawngYF: "7cfc00", + NmoncEffon: "fffacd", + ZXe: "add8e6", + ZcSO: "f08080", + Zcyan: "e0ffff", + ZgTMnPdLw: "fafad2", + ZWay: "d3d3d3", + ZgYF: "90ee90", + ZgYy: "d3d3d3", + ZpRk: "ffb6c1", + ZsOmon: "ffa07a", + ZsHgYF: "20b2aa", + ZskyXe: "87cefa", + ZUWay: "778899", + ZUgYy: "778899", + ZstAlXe: "b0c4de", + ZLw: "ffffe0", + lime: "ff00", + limegYF: "32cd32", + lRF: "faf0e6", + magFta: "ff00ff", + maPon: "800000", + VaquamarRe: "66cdaa", + VXe: "cd", + VScEd: "ba55d3", + VpurpN: "9370db", + VsHgYF: "3cb371", + VUXe: "7b68ee", + VsprRggYF: "fa9a", + VQe: "48d1cc", + VviTetYd: "c71585", + midnightXe: "191970", + mRtcYam: "f5fffa", + mistyPse: "ffe4e1", + moccasR: "ffe4b5", + navajowEte: "ffdead", + navy: "80", + Tdlace: "fdf5e6", + Tive: "808000", + TivedBb: "6b8e23", + Sange: "ffa500", + SangeYd: "ff4500", + ScEd: "da70d6", + pOegTMnPd: "eee8aa", + pOegYF: "98fb98", + pOeQe: "afeeee", + pOeviTetYd: "db7093", + papayawEp: "ffefd5", + pHKpuff: "ffdab9", + peru: "cd853f", + pRk: "ffc0cb", + plum: "dda0dd", + powMrXe: "b0e0e6", + purpN: "800080", + YbeccapurpN: "663399", + Yd: "ff0000", + Psybrown: "bc8f8f", + PyOXe: "4169e1", + saddNbPwn: "8b4513", + sOmon: "fa8072", + sandybPwn: "f4a460", + sHgYF: "2e8b57", + sHshell: "fff5ee", + siFna: "a0522d", + silver: "c0c0c0", + skyXe: "87ceeb", + UXe: "6a5acd", + UWay: "708090", + UgYy: "708090", + snow: "fffafa", + sprRggYF: "ff7f", + stAlXe: "4682b4", + tan: "d2b48c", + teO: "8080", + tEstN: "d8bfd8", + tomato: "ff6347", + Qe: "40e0d0", + viTet: "ee82ee", + JHt: "f5deb3", + wEte: "ffffff", + wEtesmoke: "f5f5f5", + Lw: "ffff00", + LwgYF: "9acd32", + }; + let Ht; + function jt(t) { + Ht || + ((Ht = (function () { + const t = {}, + e = Object.keys(Nt), + i = Object.keys(Wt); + let s, n, o, a, r; + for (s = 0; s < e.length; s++) { + for (a = r = e[s], n = 0; n < i.length; n++) + (o = i[n]), (r = r.replace(o, Wt[o])); + (o = parseInt(Nt[a], 16)), + (t[r] = [(o >> 16) & 255, (o >> 8) & 255, 255 & o]); + } + return t; + })()), + (Ht.transparent = [0, 0, 0, 0])); + const e = Ht[t.toLowerCase()]; + return e && { r: e[0], g: e[1], b: e[2], a: 4 === e.length ? e[3] : 255 }; + } + const $t = + /^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/; + const Yt = (t) => + t <= 0.0031308 ? 12.92 * t : 1.055 * Math.pow(t, 1 / 2.4) - 0.055, + Ut = (t) => (t <= 0.04045 ? t / 12.92 : Math.pow((t + 0.055) / 1.055, 2.4)); + function Xt(t, e, i) { + if (t) { + let s = It(t); + (s[e] = Math.max(0, Math.min(s[e] + s[e] * i, 0 === e ? 360 : 1))), + (s = Ft(s)), + (t.r = s[0]), + (t.g = s[1]), + (t.b = s[2]); + } + } + function qt(t, e) { + return t ? Object.assign(e || {}, t) : t; + } + function Kt(t) { + var e = { r: 0, g: 0, b: 0, a: 255 }; + return ( + Array.isArray(t) + ? t.length >= 3 && + ((e = { r: t[0], g: t[1], b: t[2], a: 255 }), + t.length > 3 && (e.a = Mt(t[3]))) + : ((e = qt(t, { r: 0, g: 0, b: 0, a: 1 })).a = Mt(e.a)), + e + ); + } + function Gt(t) { + return "r" === t.charAt(0) + ? (function (t) { + const e = $t.exec(t); + let i, + s, + n, + o = 255; + if (e) { + if (e[7] !== i) { + const t = +e[7]; + o = e[8] ? vt(t) : yt(255 * t, 0, 255); + } + return ( + (i = +e[1]), + (s = +e[3]), + (n = +e[5]), + (i = 255 & (e[2] ? vt(i) : yt(i, 0, 255))), + (s = 255 & (e[4] ? vt(s) : yt(s, 0, 255))), + (n = 255 & (e[6] ? vt(n) : yt(n, 0, 255))), + { r: i, g: s, b: n, a: o } + ); + } + })(t) + : Bt(t); + } + class Zt { + constructor(t) { + if (t instanceof Zt) return t; + const e = typeof t; + let i; + var s, n, o; + "object" === e + ? (i = Kt(t)) + : "string" === e && + ((o = (s = t).length), + "#" === s[0] && + (4 === o || 5 === o + ? (n = { + r: 255 & (17 * St[s[1]]), + g: 255 & (17 * St[s[2]]), + b: 255 & (17 * St[s[3]]), + a: 5 === o ? 17 * St[s[4]] : 255, + }) + : (7 !== o && 9 !== o) || + (n = { + r: (St[s[1]] << 4) | St[s[2]], + g: (St[s[3]] << 4) | St[s[4]], + b: (St[s[5]] << 4) | St[s[6]], + a: 9 === o ? (St[s[7]] << 4) | St[s[8]] : 255, + })), + (i = n || jt(t) || Gt(t))), + (this._rgb = i), + (this._valid = !!i); + } + get valid() { + return this._valid; + } + get rgb() { + var t = qt(this._rgb); + return t && (t.a = wt(t.a)), t; + } + set rgb(t) { + this._rgb = Kt(t); + } + rgbString() { + return this._valid + ? (t = this._rgb) && + (t.a < 255 + ? `rgba(${t.r}, ${t.g}, ${t.b}, ${wt(t.a)})` + : `rgb(${t.r}, ${t.g}, ${t.b})`) + : void 0; + var t; + } + hexString() { + return this._valid ? At(this._rgb) : void 0; + } + hslString() { + return this._valid + ? (function (t) { + if (!t) return; + const e = It(t), + i = e[0], + s = kt(e[1]), + n = kt(e[2]); + return t.a < 255 + ? `hsla(${i}, ${s}%, ${n}%, ${wt(t.a)})` + : `hsl(${i}, ${s}%, ${n}%)`; + })(this._rgb) + : void 0; + } + mix(t, e) { + if (t) { + const i = this.rgb, + s = t.rgb; + let n; + const o = e === n ? 0.5 : e, + a = 2 * o - 1, + r = i.a - s.a, + l = ((a * r == -1 ? a : (a + r) / (1 + a * r)) + 1) / 2; + (n = 1 - l), + (i.r = 255 & (l * i.r + n * s.r + 0.5)), + (i.g = 255 & (l * i.g + n * s.g + 0.5)), + (i.b = 255 & (l * i.b + n * s.b + 0.5)), + (i.a = o * i.a + (1 - o) * s.a), + (this.rgb = i); + } + return this; + } + interpolate(t, e) { + return ( + t && + (this._rgb = (function (t, e, i) { + const s = Ut(wt(t.r)), + n = Ut(wt(t.g)), + o = Ut(wt(t.b)); + return { + r: Mt(Yt(s + i * (Ut(wt(e.r)) - s))), + g: Mt(Yt(n + i * (Ut(wt(e.g)) - n))), + b: Mt(Yt(o + i * (Ut(wt(e.b)) - o))), + a: t.a + i * (e.a - t.a), + }; + })(this._rgb, t._rgb, e)), + this + ); + } + clone() { + return new Zt(this.rgb); + } + alpha(t) { + return (this._rgb.a = Mt(t)), this; + } + clearer(t) { + return (this._rgb.a *= 1 - t), this; + } + greyscale() { + const t = this._rgb, + e = _t(0.3 * t.r + 0.59 * t.g + 0.11 * t.b); + return (t.r = t.g = t.b = e), this; + } + opaquer(t) { + return (this._rgb.a *= 1 + t), this; + } + negate() { + const t = this._rgb; + return (t.r = 255 - t.r), (t.g = 255 - t.g), (t.b = 255 - t.b), this; + } + lighten(t) { + return Xt(this._rgb, 2, t), this; + } + darken(t) { + return Xt(this._rgb, 2, -t), this; + } + saturate(t) { + return Xt(this._rgb, 1, t), this; + } + desaturate(t) { + return Xt(this._rgb, 1, -t), this; + } + rotate(t) { + return ( + (function (t, e) { + var i = It(t); + (i[0] = Vt(i[0] + e)), + (i = Ft(i)), + (t.r = i[0]), + (t.g = i[1]), + (t.b = i[2]); + })(this._rgb, t), + this + ); + } + } + function Jt(t) { + if (t && "object" == typeof t) { + const e = t.toString(); + return "[object CanvasPattern]" === e || "[object CanvasGradient]" === e; + } + return !1; + } + function Qt(t) { + return Jt(t) ? t : new Zt(t); + } + function te(t) { + return Jt(t) ? t : new Zt(t).saturate(0.5).darken(0.1).hexString(); + } + const ee = ["x", "y", "borderWidth", "radius", "tension"], + ie = ["color", "borderColor", "backgroundColor"]; + const se = new Map(); + function ne(t, e, i) { + return (function (t, e) { + e = e || {}; + const i = t + JSON.stringify(e); + let s = se.get(i); + return s || ((s = new Intl.NumberFormat(t, e)), se.set(i, s)), s; + })(e, i).format(t); + } + const oe = { + values: (t) => (n(t) ? t : "" + t), + numeric(t, e, i) { + if (0 === t) return "0"; + const s = this.chart.options.locale; + let n, + o = t; + if (i.length > 1) { + const e = Math.max( + Math.abs(i[0].value), + Math.abs(i[i.length - 1].value) + ); + (e < 1e-4 || e > 1e15) && (n = "scientific"), + (o = (function (t, e) { + let i = + e.length > 3 ? e[2].value - e[1].value : e[1].value - e[0].value; + Math.abs(i) >= 1 && t !== Math.floor(t) && (i = t - Math.floor(t)); + return i; + })(t, i)); + } + const a = z(Math.abs(o)), + r = isNaN(a) ? 1 : Math.max(Math.min(-1 * Math.floor(a), 20), 0), + l = { notation: n, minimumFractionDigits: r, maximumFractionDigits: r }; + return Object.assign(l, this.options.ticks.format), ne(t, s, l); + }, + logarithmic(t, e, i) { + if (0 === t) return "0"; + const s = i[e].significand || t / Math.pow(10, Math.floor(z(t))); + return [1, 2, 3, 5, 10, 15].includes(s) || e > 0.8 * i.length + ? oe.numeric.call(this, t, e, i) + : ""; + }, + }; + var ae = { formatters: oe }; + const re = Object.create(null), + le = Object.create(null); + function he(t, e) { + if (!e) return t; + const i = e.split("."); + for (let e = 0, s = i.length; e < s; ++e) { + const s = i[e]; + t = t[s] || (t[s] = Object.create(null)); + } + return t; + } + function ce(t, e, i) { + return "string" == typeof e ? b(he(t, e), i) : b(he(t, ""), e); + } + class de { + constructor(t, e) { + (this.animation = void 0), + (this.backgroundColor = "rgba(0,0,0,0.1)"), + (this.borderColor = "rgba(0,0,0,0.1)"), + (this.color = "#666"), + (this.datasets = {}), + (this.devicePixelRatio = (t) => t.chart.platform.getDevicePixelRatio()), + (this.elements = {}), + (this.events = [ + "mousemove", + "mouseout", + "click", + "touchstart", + "touchmove", + ]), + (this.font = { + family: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif", + size: 12, + style: "normal", + lineHeight: 1.2, + weight: null, + }), + (this.hover = {}), + (this.hoverBackgroundColor = (t, e) => te(e.backgroundColor)), + (this.hoverBorderColor = (t, e) => te(e.borderColor)), + (this.hoverColor = (t, e) => te(e.color)), + (this.indexAxis = "x"), + (this.interaction = { + mode: "nearest", + intersect: !0, + includeInvisible: !1, + }), + (this.maintainAspectRatio = !0), + (this.onHover = null), + (this.onClick = null), + (this.parsing = !0), + (this.plugins = {}), + (this.responsive = !0), + (this.scale = void 0), + (this.scales = {}), + (this.showLine = !0), + (this.drawActiveElementsOnTop = !0), + this.describe(t), + this.apply(e); + } + set(t, e) { + return ce(this, t, e); + } + get(t) { + return he(this, t); + } + describe(t, e) { + return ce(le, t, e); + } + override(t, e) { + return ce(re, t, e); + } + route(t, e, i, s) { + const n = he(this, t), + a = he(this, i), + r = "_" + e; + Object.defineProperties(n, { + [r]: { value: n[e], writable: !0 }, + [e]: { + enumerable: !0, + get() { + const t = this[r], + e = a[s]; + return o(t) ? Object.assign({}, e, t) : l(t, e); + }, + set(t) { + this[r] = t; + }, + }, + }); + } + apply(t) { + t.forEach((t) => t(this)); + } + } + var ue = new de( + { + _scriptable: (t) => !t.startsWith("on"), + _indexable: (t) => "events" !== t, + hover: { _fallback: "interaction" }, + interaction: { _scriptable: !1, _indexable: !1 }, + }, + [ + function (t) { + t.set("animation", { + delay: void 0, + duration: 1e3, + easing: "easeOutQuart", + fn: void 0, + from: void 0, + loop: void 0, + to: void 0, + type: void 0, + }), + t.describe("animation", { + _fallback: !1, + _indexable: !1, + _scriptable: (t) => + "onProgress" !== t && "onComplete" !== t && "fn" !== t, + }), + t.set("animations", { + colors: { type: "color", properties: ie }, + numbers: { type: "number", properties: ee }, + }), + t.describe("animations", { _fallback: "animation" }), + t.set("transitions", { + active: { animation: { duration: 400 } }, + resize: { animation: { duration: 0 } }, + show: { + animations: { + colors: { from: "transparent" }, + visible: { type: "boolean", duration: 0 }, + }, + }, + hide: { + animations: { + colors: { to: "transparent" }, + visible: { + type: "boolean", + easing: "linear", + fn: (t) => 0 | t, + }, + }, + }, + }); + }, + function (t) { + t.set("layout", { + autoPadding: !0, + padding: { top: 0, right: 0, bottom: 0, left: 0 }, + }); + }, + function (t) { + t.set("scale", { + display: !0, + offset: !1, + reverse: !1, + beginAtZero: !1, + bounds: "ticks", + clip: !0, + grace: 0, + grid: { + display: !0, + lineWidth: 1, + drawOnChartArea: !0, + drawTicks: !0, + tickLength: 8, + tickWidth: (t, e) => e.lineWidth, + tickColor: (t, e) => e.color, + offset: !1, + }, + border: { display: !0, dash: [], dashOffset: 0, width: 1 }, + title: { display: !1, text: "", padding: { top: 4, bottom: 4 } }, + ticks: { + minRotation: 0, + maxRotation: 50, + mirror: !1, + textStrokeWidth: 0, + textStrokeColor: "", + padding: 3, + display: !0, + autoSkip: !0, + autoSkipPadding: 3, + labelOffset: 0, + callback: ae.formatters.values, + minor: {}, + major: {}, + align: "center", + crossAlign: "near", + showLabelBackdrop: !1, + backdropColor: "rgba(255, 255, 255, 0.75)", + backdropPadding: 2, + }, + }), + t.route("scale.ticks", "color", "", "color"), + t.route("scale.grid", "color", "", "borderColor"), + t.route("scale.border", "color", "", "borderColor"), + t.route("scale.title", "color", "", "color"), + t.describe("scale", { + _fallback: !1, + _scriptable: (t) => + !t.startsWith("before") && + !t.startsWith("after") && + "callback" !== t && + "parser" !== t, + _indexable: (t) => + "borderDash" !== t && "tickBorderDash" !== t && "dash" !== t, + }), + t.describe("scales", { _fallback: "scale" }), + t.describe("scale.ticks", { + _scriptable: (t) => "backdropPadding" !== t && "callback" !== t, + _indexable: (t) => "backdropPadding" !== t, + }); + }, + ] + ); + function fe() { + return "undefined" != typeof window && "undefined" != typeof document; + } + function ge(t) { + let e = t.parentNode; + return e && "[object ShadowRoot]" === e.toString() && (e = e.host), e; + } + function pe(t, e, i) { + let s; + return ( + "string" == typeof t + ? ((s = parseInt(t, 10)), + -1 !== t.indexOf("%") && (s = (s / 100) * e.parentNode[i])) + : (s = t), + s + ); + } + const me = (t) => t.ownerDocument.defaultView.getComputedStyle(t, null); + function be(t, e) { + return me(t).getPropertyValue(e); + } + const xe = ["top", "right", "bottom", "left"]; + function _e(t, e, i) { + const s = {}; + i = i ? "-" + i : ""; + for (let n = 0; n < 4; n++) { + const o = xe[n]; + s[o] = parseFloat(t[e + "-" + o + i]) || 0; + } + return (s.width = s.left + s.right), (s.height = s.top + s.bottom), s; + } + const ye = (t, e, i) => (t > 0 || e > 0) && (!i || !i.shadowRoot); + function ve(t, e) { + if ("native" in t) return t; + const { canvas: i, currentDevicePixelRatio: s } = e, + n = me(i), + o = "border-box" === n.boxSizing, + a = _e(n, "padding"), + r = _e(n, "border", "width"), + { + x: l, + y: h, + box: c, + } = (function (t, e) { + const i = t.touches, + s = i && i.length ? i[0] : t, + { offsetX: n, offsetY: o } = s; + let a, + r, + l = !1; + if (ye(n, o, t.target)) (a = n), (r = o); + else { + const t = e.getBoundingClientRect(); + (a = s.clientX - t.left), (r = s.clientY - t.top), (l = !0); + } + return { x: a, y: r, box: l }; + })(t, i), + d = a.left + (c && r.left), + u = a.top + (c && r.top); + let { width: f, height: g } = e; + return ( + o && ((f -= a.width + r.width), (g -= a.height + r.height)), + { + x: Math.round((((l - d) / f) * i.width) / s), + y: Math.round((((h - u) / g) * i.height) / s), + } + ); + } + const Me = (t) => Math.round(10 * t) / 10; + function we(t, e, i, s) { + const n = me(t), + o = _e(n, "margin"), + a = pe(n.maxWidth, t, "clientWidth") || T, + r = pe(n.maxHeight, t, "clientHeight") || T, + l = (function (t, e, i) { + let s, n; + if (void 0 === e || void 0 === i) { + const o = t && ge(t); + if (o) { + const t = o.getBoundingClientRect(), + a = me(o), + r = _e(a, "border", "width"), + l = _e(a, "padding"); + (e = t.width - l.width - r.width), + (i = t.height - l.height - r.height), + (s = pe(a.maxWidth, o, "clientWidth")), + (n = pe(a.maxHeight, o, "clientHeight")); + } else (e = t.clientWidth), (i = t.clientHeight); + } + return { width: e, height: i, maxWidth: s || T, maxHeight: n || T }; + })(t, e, i); + let { width: h, height: c } = l; + if ("content-box" === n.boxSizing) { + const t = _e(n, "border", "width"), + e = _e(n, "padding"); + (h -= e.width + t.width), (c -= e.height + t.height); + } + (h = Math.max(0, h - o.width)), + (c = Math.max(0, s ? h / s : c - o.height)), + (h = Me(Math.min(h, a, l.maxWidth))), + (c = Me(Math.min(c, r, l.maxHeight))), + h && !c && (c = Me(h / 2)); + return ( + (void 0 !== e || void 0 !== i) && + s && + l.height && + c > l.height && + ((c = l.height), (h = Me(Math.floor(c * s)))), + { width: h, height: c } + ); + } + function ke(t, e, i) { + const s = e || 1, + n = Math.floor(t.height * s), + o = Math.floor(t.width * s); + (t.height = Math.floor(t.height)), (t.width = Math.floor(t.width)); + const a = t.canvas; + return ( + a.style && + (i || (!a.style.height && !a.style.width)) && + ((a.style.height = `${t.height}px`), (a.style.width = `${t.width}px`)), + (t.currentDevicePixelRatio !== s || a.height !== n || a.width !== o) && + ((t.currentDevicePixelRatio = s), + (a.height = n), + (a.width = o), + t.ctx.setTransform(s, 0, 0, s, 0, 0), + !0) + ); + } + const Se = (function () { + let t = !1; + try { + const e = { + get passive() { + return (t = !0), !1; + }, + }; + fe() && + (window.addEventListener("test", null, e), + window.removeEventListener("test", null, e)); + } catch (t) {} + return t; + })(); + function Pe(t, e) { + const i = be(t, e), + s = i && i.match(/^(\d+)(\.\d+)?px$/); + return s ? +s[1] : void 0; + } + function De(t) { + return !t || s(t.size) || s(t.family) + ? null + : (t.style ? t.style + " " : "") + + (t.weight ? t.weight + " " : "") + + t.size + + "px " + + t.family; + } + function Ce(t, e, i, s, n) { + let o = e[n]; + return ( + o || ((o = e[n] = t.measureText(n).width), i.push(n)), o > s && (s = o), s + ); + } + function Oe(t, e, i, s) { + let o = ((s = s || {}).data = s.data || {}), + a = (s.garbageCollect = s.garbageCollect || []); + s.font !== e && + ((o = s.data = {}), (a = s.garbageCollect = []), (s.font = e)), + t.save(), + (t.font = e); + let r = 0; + const l = i.length; + let h, c, d, u, f; + for (h = 0; h < l; h++) + if (((u = i[h]), null == u || n(u))) { + if (n(u)) + for (c = 0, d = u.length; c < d; c++) + (f = u[c]), null == f || n(f) || (r = Ce(t, o, a, r, f)); + } else r = Ce(t, o, a, r, u); + t.restore(); + const g = a.length / 2; + if (g > i.length) { + for (h = 0; h < g; h++) delete o[a[h]]; + a.splice(0, g); + } + return r; + } + function Ae(t, e, i) { + const s = t.currentDevicePixelRatio, + n = 0 !== i ? Math.max(i / 2, 0.5) : 0; + return Math.round((e - n) * s) / s + n; + } + function Te(t, e) { + (e || t) && + ((e = e || t.getContext("2d")).save(), + e.resetTransform(), + e.clearRect(0, 0, t.width, t.height), + e.restore()); + } + function Le(t, e, i, s) { + Ee(t, e, i, s, null); + } + function Ee(t, e, i, s, n) { + let o, a, r, l, h, c, d, u; + const f = e.pointStyle, + g = e.rotation, + p = e.radius; + let m = (g || 0) * L; + if ( + f && + "object" == typeof f && + ((o = f.toString()), + "[object HTMLImageElement]" === o || "[object HTMLCanvasElement]" === o) + ) + return ( + t.save(), + t.translate(i, s), + t.rotate(m), + t.drawImage(f, -f.width / 2, -f.height / 2, f.width, f.height), + void t.restore() + ); + if (!(isNaN(p) || p <= 0)) { + switch ((t.beginPath(), f)) { + default: + n ? t.ellipse(i, s, n / 2, p, 0, 0, O) : t.arc(i, s, p, 0, O), + t.closePath(); + break; + case "triangle": + (c = n ? n / 2 : p), + t.moveTo(i + Math.sin(m) * c, s - Math.cos(m) * p), + (m += I), + t.lineTo(i + Math.sin(m) * c, s - Math.cos(m) * p), + (m += I), + t.lineTo(i + Math.sin(m) * c, s - Math.cos(m) * p), + t.closePath(); + break; + case "rectRounded": + (h = 0.516 * p), + (l = p - h), + (a = Math.cos(m + R) * l), + (d = Math.cos(m + R) * (n ? n / 2 - h : l)), + (r = Math.sin(m + R) * l), + (u = Math.sin(m + R) * (n ? n / 2 - h : l)), + t.arc(i - d, s - r, h, m - C, m - E), + t.arc(i + u, s - a, h, m - E, m), + t.arc(i + d, s + r, h, m, m + E), + t.arc(i - u, s + a, h, m + E, m + C), + t.closePath(); + break; + case "rect": + if (!g) { + (l = Math.SQRT1_2 * p), + (c = n ? n / 2 : l), + t.rect(i - c, s - l, 2 * c, 2 * l); + break; + } + m += R; + case "rectRot": + (d = Math.cos(m) * (n ? n / 2 : p)), + (a = Math.cos(m) * p), + (r = Math.sin(m) * p), + (u = Math.sin(m) * (n ? n / 2 : p)), + t.moveTo(i - d, s - r), + t.lineTo(i + u, s - a), + t.lineTo(i + d, s + r), + t.lineTo(i - u, s + a), + t.closePath(); + break; + case "crossRot": + m += R; + case "cross": + (d = Math.cos(m) * (n ? n / 2 : p)), + (a = Math.cos(m) * p), + (r = Math.sin(m) * p), + (u = Math.sin(m) * (n ? n / 2 : p)), + t.moveTo(i - d, s - r), + t.lineTo(i + d, s + r), + t.moveTo(i + u, s - a), + t.lineTo(i - u, s + a); + break; + case "star": + (d = Math.cos(m) * (n ? n / 2 : p)), + (a = Math.cos(m) * p), + (r = Math.sin(m) * p), + (u = Math.sin(m) * (n ? n / 2 : p)), + t.moveTo(i - d, s - r), + t.lineTo(i + d, s + r), + t.moveTo(i + u, s - a), + t.lineTo(i - u, s + a), + (m += R), + (d = Math.cos(m) * (n ? n / 2 : p)), + (a = Math.cos(m) * p), + (r = Math.sin(m) * p), + (u = Math.sin(m) * (n ? n / 2 : p)), + t.moveTo(i - d, s - r), + t.lineTo(i + d, s + r), + t.moveTo(i + u, s - a), + t.lineTo(i - u, s + a); + break; + case "line": + (a = n ? n / 2 : Math.cos(m) * p), + (r = Math.sin(m) * p), + t.moveTo(i - a, s - r), + t.lineTo(i + a, s + r); + break; + case "dash": + t.moveTo(i, s), + t.lineTo(i + Math.cos(m) * (n ? n / 2 : p), s + Math.sin(m) * p); + break; + case !1: + t.closePath(); + } + t.fill(), e.borderWidth > 0 && t.stroke(); + } + } + function Re(t, e, i) { + return ( + (i = i || 0.5), + !e || + (t && + t.x > e.left - i && + t.x < e.right + i && + t.y > e.top - i && + t.y < e.bottom + i) + ); + } + function Ie(t, e) { + t.save(), + t.beginPath(), + t.rect(e.left, e.top, e.right - e.left, e.bottom - e.top), + t.clip(); + } + function ze(t) { + t.restore(); + } + function Fe(t, e, i, s, n) { + if (!e) return t.lineTo(i.x, i.y); + if ("middle" === n) { + const s = (e.x + i.x) / 2; + t.lineTo(s, e.y), t.lineTo(s, i.y); + } else ("after" === n) != !!s ? t.lineTo(e.x, i.y) : t.lineTo(i.x, e.y); + t.lineTo(i.x, i.y); + } + function Ve(t, e, i, s) { + if (!e) return t.lineTo(i.x, i.y); + t.bezierCurveTo( + s ? e.cp1x : e.cp2x, + s ? e.cp1y : e.cp2y, + s ? i.cp2x : i.cp1x, + s ? i.cp2y : i.cp1y, + i.x, + i.y + ); + } + function Be(t, e, i, s, n) { + if (n.strikethrough || n.underline) { + const o = t.measureText(s), + a = e - o.actualBoundingBoxLeft, + r = e + o.actualBoundingBoxRight, + l = i - o.actualBoundingBoxAscent, + h = i + o.actualBoundingBoxDescent, + c = n.strikethrough ? (l + h) / 2 : h; + (t.strokeStyle = t.fillStyle), + t.beginPath(), + (t.lineWidth = n.decorationWidth || 2), + t.moveTo(a, c), + t.lineTo(r, c), + t.stroke(); + } + } + function We(t, e) { + const i = t.fillStyle; + (t.fillStyle = e.color), + t.fillRect(e.left, e.top, e.width, e.height), + (t.fillStyle = i); + } + function Ne(t, e, i, o, a, r = {}) { + const l = n(e) ? e : [e], + h = r.strokeWidth > 0 && "" !== r.strokeColor; + let c, d; + for ( + t.save(), + t.font = a.string, + (function (t, e) { + e.translation && t.translate(e.translation[0], e.translation[1]), + s(e.rotation) || t.rotate(e.rotation), + e.color && (t.fillStyle = e.color), + e.textAlign && (t.textAlign = e.textAlign), + e.textBaseline && (t.textBaseline = e.textBaseline); + })(t, r), + c = 0; + c < l.length; + ++c + ) + (d = l[c]), + r.backdrop && We(t, r.backdrop), + h && + (r.strokeColor && (t.strokeStyle = r.strokeColor), + s(r.strokeWidth) || (t.lineWidth = r.strokeWidth), + t.strokeText(d, i, o, r.maxWidth)), + t.fillText(d, i, o, r.maxWidth), + Be(t, i, o, d, r), + (o += Number(a.lineHeight)); + t.restore(); + } + function He(t, e) { + const { x: i, y: s, w: n, h: o, radius: a } = e; + t.arc(i + a.topLeft, s + a.topLeft, a.topLeft, 1.5 * C, C, !0), + t.lineTo(i, s + o - a.bottomLeft), + t.arc(i + a.bottomLeft, s + o - a.bottomLeft, a.bottomLeft, C, E, !0), + t.lineTo(i + n - a.bottomRight, s + o), + t.arc( + i + n - a.bottomRight, + s + o - a.bottomRight, + a.bottomRight, + E, + 0, + !0 + ), + t.lineTo(i + n, s + a.topRight), + t.arc(i + n - a.topRight, s + a.topRight, a.topRight, 0, -E, !0), + t.lineTo(i + a.topLeft, s); + } + function je(t, e = [""], i, s, n = () => t[0]) { + const o = i || t; + void 0 === s && (s = ti("_fallback", t)); + const a = { + [Symbol.toStringTag]: "Object", + _cacheable: !0, + _scopes: t, + _rootScopes: o, + _fallback: s, + _getTarget: n, + override: (i) => je([i, ...t], e, o, s), + }; + return new Proxy(a, { + deleteProperty: (e, i) => ( + delete e[i], delete e._keys, delete t[0][i], !0 + ), + get: (i, s) => + qe(i, s, () => + (function (t, e, i, s) { + let n; + for (const o of e) + if (((n = ti(Ue(o, t), i)), void 0 !== n)) + return Xe(t, n) ? Je(i, s, t, n) : n; + })(s, e, t, i) + ), + getOwnPropertyDescriptor: (t, e) => + Reflect.getOwnPropertyDescriptor(t._scopes[0], e), + getPrototypeOf: () => Reflect.getPrototypeOf(t[0]), + has: (t, e) => ei(t).includes(e), + ownKeys: (t) => ei(t), + set(t, e, i) { + const s = t._storage || (t._storage = n()); + return (t[e] = s[e] = i), delete t._keys, !0; + }, + }); + } + function $e(t, e, i, s) { + const a = { + _cacheable: !1, + _proxy: t, + _context: e, + _subProxy: i, + _stack: new Set(), + _descriptors: Ye(t, s), + setContext: (e) => $e(t, e, i, s), + override: (n) => $e(t.override(n), e, i, s), + }; + return new Proxy(a, { + deleteProperty: (e, i) => (delete e[i], delete t[i], !0), + get: (t, e, i) => + qe(t, e, () => + (function (t, e, i) { + const { _proxy: s, _context: a, _subProxy: r, _descriptors: l } = t; + let h = s[e]; + S(h) && + l.isScriptable(e) && + (h = (function (t, e, i, s) { + const { _proxy: n, _context: o, _subProxy: a, _stack: r } = i; + if (r.has(t)) + throw new Error( + "Recursion detected: " + Array.from(r).join("->") + "->" + t + ); + r.add(t); + let l = e(o, a || s); + r.delete(t), Xe(t, l) && (l = Je(n._scopes, n, t, l)); + return l; + })(e, h, t, i)); + n(h) && + h.length && + (h = (function (t, e, i, s) { + const { + _proxy: n, + _context: a, + _subProxy: r, + _descriptors: l, + } = i; + if (void 0 !== a.index && s(t)) return e[a.index % e.length]; + if (o(e[0])) { + const i = e, + s = n._scopes.filter((t) => t !== i); + e = []; + for (const o of i) { + const i = Je(s, n, t, o); + e.push($e(i, a, r && r[t], l)); + } + } + return e; + })(e, h, t, l.isIndexable)); + Xe(e, h) && (h = $e(h, a, r && r[e], l)); + return h; + })(t, e, i) + ), + getOwnPropertyDescriptor: (e, i) => + e._descriptors.allKeys + ? Reflect.has(t, i) + ? { enumerable: !0, configurable: !0 } + : void 0 + : Reflect.getOwnPropertyDescriptor(t, i), + getPrototypeOf: () => Reflect.getPrototypeOf(t), + has: (e, i) => Reflect.has(t, i), + ownKeys: () => Reflect.ownKeys(t), + set: (e, i, s) => ((t[i] = s), delete e[i], !0), + }); + } + function Ye(t, e = { scriptable: !0, indexable: !0 }) { + const { + _scriptable: i = e.scriptable, + _indexable: s = e.indexable, + _allKeys: n = e.allKeys, + } = t; + return { + allKeys: n, + scriptable: i, + indexable: s, + isScriptable: S(i) ? i : () => i, + isIndexable: S(s) ? s : () => s, + }; + } + const Ue = (t, e) => (t ? t + w(e) : e), + Xe = (t, e) => + o(e) && + "adapters" !== t && + (null === Object.getPrototypeOf(e) || e.constructor === Object); + function qe(t, e, i) { + if (Object.prototype.hasOwnProperty.call(t, e) || "constructor" === e) + return t[e]; + const s = i(); + return (t[e] = s), s; + } + function Ke(t, e, i) { + return S(t) ? t(e, i) : t; + } + const Ge = (t, e) => (!0 === t ? e : "string" == typeof t ? M(e, t) : void 0); + function Ze(t, e, i, s, n) { + for (const o of e) { + const e = Ge(i, o); + if (e) { + t.add(e); + const o = Ke(e._fallback, i, n); + if (void 0 !== o && o !== i && o !== s) return o; + } else if (!1 === e && void 0 !== s && i !== s) return null; + } + return !1; + } + function Je(t, e, i, s) { + const a = e._rootScopes, + r = Ke(e._fallback, i, s), + l = [...t, ...a], + h = new Set(); + h.add(s); + let c = Qe(h, l, i, r || i, s); + return ( + null !== c && + (void 0 === r || r === i || ((c = Qe(h, l, r, c, s)), null !== c)) && + je(Array.from(h), [""], a, r, () => + (function (t, e, i) { + const s = t._getTarget(); + e in s || (s[e] = {}); + const a = s[e]; + if (n(a) && o(i)) return i; + return a || {}; + })(e, i, s) + ) + ); + } + function Qe(t, e, i, s, n) { + for (; i; ) i = Ze(t, e, i, s, n); + return i; + } + function ti(t, e) { + for (const i of e) { + if (!i) continue; + const e = i[t]; + if (void 0 !== e) return e; + } + } + function ei(t) { + let e = t._keys; + return ( + e || + (e = t._keys = + (function (t) { + const e = new Set(); + for (const i of t) + for (const t of Object.keys(i).filter((t) => !t.startsWith("_"))) + e.add(t); + return Array.from(e); + })(t._scopes)), + e + ); + } + function ii(t, e, i, s) { + const { iScale: n } = t, + { key: o = "r" } = this._parsing, + a = new Array(s); + let r, l, h, c; + for (r = 0, l = s; r < l; ++r) + (h = r + i), (c = e[h]), (a[r] = { r: n.parse(M(c, o), h) }); + return a; + } + const si = Number.EPSILON || 1e-14, + ni = (t, e) => e < t.length && !t[e].skip && t[e], + oi = (t) => ("x" === t ? "y" : "x"); + function ai(t, e, i, s) { + const n = t.skip ? e : t, + o = e, + a = i.skip ? e : i, + r = q(o, n), + l = q(a, o); + let h = r / (r + l), + c = l / (r + l); + (h = isNaN(h) ? 0 : h), (c = isNaN(c) ? 0 : c); + const d = s * h, + u = s * c; + return { + previous: { x: o.x - d * (a.x - n.x), y: o.y - d * (a.y - n.y) }, + next: { x: o.x + u * (a.x - n.x), y: o.y + u * (a.y - n.y) }, + }; + } + function ri(t, e = "x") { + const i = oi(e), + s = t.length, + n = Array(s).fill(0), + o = Array(s); + let a, + r, + l, + h = ni(t, 0); + for (a = 0; a < s; ++a) + if (((r = l), (l = h), (h = ni(t, a + 1)), l)) { + if (h) { + const t = h[e] - l[e]; + n[a] = 0 !== t ? (h[i] - l[i]) / t : 0; + } + o[a] = r + ? h + ? F(n[a - 1]) !== F(n[a]) + ? 0 + : (n[a - 1] + n[a]) / 2 + : n[a - 1] + : n[a]; + } + !(function (t, e, i) { + const s = t.length; + let n, + o, + a, + r, + l, + h = ni(t, 0); + for (let c = 0; c < s - 1; ++c) + (l = h), + (h = ni(t, c + 1)), + l && + h && + (V(e[c], 0, si) + ? (i[c] = i[c + 1] = 0) + : ((n = i[c] / e[c]), + (o = i[c + 1] / e[c]), + (r = Math.pow(n, 2) + Math.pow(o, 2)), + r <= 9 || + ((a = 3 / Math.sqrt(r)), + (i[c] = n * a * e[c]), + (i[c + 1] = o * a * e[c])))); + })(t, n, o), + (function (t, e, i = "x") { + const s = oi(i), + n = t.length; + let o, + a, + r, + l = ni(t, 0); + for (let h = 0; h < n; ++h) { + if (((a = r), (r = l), (l = ni(t, h + 1)), !r)) continue; + const n = r[i], + c = r[s]; + a && + ((o = (n - a[i]) / 3), + (r[`cp1${i}`] = n - o), + (r[`cp1${s}`] = c - o * e[h])), + l && + ((o = (l[i] - n) / 3), + (r[`cp2${i}`] = n + o), + (r[`cp2${s}`] = c + o * e[h])); + } + })(t, o, e); + } + function li(t, e, i) { + return Math.max(Math.min(t, i), e); + } + function hi(t, e, i, s, n) { + let o, a, r, l; + if ( + (e.spanGaps && (t = t.filter((t) => !t.skip)), + "monotone" === e.cubicInterpolationMode) + ) + ri(t, n); + else { + let i = s ? t[t.length - 1] : t[0]; + for (o = 0, a = t.length; o < a; ++o) + (r = t[o]), + (l = ai(i, r, t[Math.min(o + 1, a - (s ? 0 : 1)) % a], e.tension)), + (r.cp1x = l.previous.x), + (r.cp1y = l.previous.y), + (r.cp2x = l.next.x), + (r.cp2y = l.next.y), + (i = r); + } + e.capBezierPoints && + (function (t, e) { + let i, + s, + n, + o, + a, + r = Re(t[0], e); + for (i = 0, s = t.length; i < s; ++i) + (a = o), + (o = r), + (r = i < s - 1 && Re(t[i + 1], e)), + o && + ((n = t[i]), + a && + ((n.cp1x = li(n.cp1x, e.left, e.right)), + (n.cp1y = li(n.cp1y, e.top, e.bottom))), + r && + ((n.cp2x = li(n.cp2x, e.left, e.right)), + (n.cp2y = li(n.cp2y, e.top, e.bottom)))); + })(t, i); + } + const ci = (t) => 0 === t || 1 === t, + di = (t, e, i) => -Math.pow(2, 10 * (t -= 1)) * Math.sin(((t - e) * O) / i), + ui = (t, e, i) => Math.pow(2, -10 * t) * Math.sin(((t - e) * O) / i) + 1, + fi = { + linear: (t) => t, + easeInQuad: (t) => t * t, + easeOutQuad: (t) => -t * (t - 2), + easeInOutQuad: (t) => + (t /= 0.5) < 1 ? 0.5 * t * t : -0.5 * (--t * (t - 2) - 1), + easeInCubic: (t) => t * t * t, + easeOutCubic: (t) => (t -= 1) * t * t + 1, + easeInOutCubic: (t) => + (t /= 0.5) < 1 ? 0.5 * t * t * t : 0.5 * ((t -= 2) * t * t + 2), + easeInQuart: (t) => t * t * t * t, + easeOutQuart: (t) => -((t -= 1) * t * t * t - 1), + easeInOutQuart: (t) => + (t /= 0.5) < 1 + ? 0.5 * t * t * t * t + : -0.5 * ((t -= 2) * t * t * t - 2), + easeInQuint: (t) => t * t * t * t * t, + easeOutQuint: (t) => (t -= 1) * t * t * t * t + 1, + easeInOutQuint: (t) => + (t /= 0.5) < 1 + ? 0.5 * t * t * t * t * t + : 0.5 * ((t -= 2) * t * t * t * t + 2), + easeInSine: (t) => 1 - Math.cos(t * E), + easeOutSine: (t) => Math.sin(t * E), + easeInOutSine: (t) => -0.5 * (Math.cos(C * t) - 1), + easeInExpo: (t) => (0 === t ? 0 : Math.pow(2, 10 * (t - 1))), + easeOutExpo: (t) => (1 === t ? 1 : 1 - Math.pow(2, -10 * t)), + easeInOutExpo: (t) => + ci(t) + ? t + : t < 0.5 + ? 0.5 * Math.pow(2, 10 * (2 * t - 1)) + : 0.5 * (2 - Math.pow(2, -10 * (2 * t - 1))), + easeInCirc: (t) => (t >= 1 ? t : -(Math.sqrt(1 - t * t) - 1)), + easeOutCirc: (t) => Math.sqrt(1 - (t -= 1) * t), + easeInOutCirc: (t) => + (t /= 0.5) < 1 + ? -0.5 * (Math.sqrt(1 - t * t) - 1) + : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1), + easeInElastic: (t) => (ci(t) ? t : di(t, 0.075, 0.3)), + easeOutElastic: (t) => (ci(t) ? t : ui(t, 0.075, 0.3)), + easeInOutElastic(t) { + const e = 0.1125; + return ci(t) + ? t + : t < 0.5 + ? 0.5 * di(2 * t, e, 0.45) + : 0.5 + 0.5 * ui(2 * t - 1, e, 0.45); + }, + easeInBack(t) { + const e = 1.70158; + return t * t * ((e + 1) * t - e); + }, + easeOutBack(t) { + const e = 1.70158; + return (t -= 1) * t * ((e + 1) * t + e) + 1; + }, + easeInOutBack(t) { + let e = 1.70158; + return (t /= 0.5) < 1 + ? t * t * ((1 + (e *= 1.525)) * t - e) * 0.5 + : 0.5 * ((t -= 2) * t * ((1 + (e *= 1.525)) * t + e) + 2); + }, + easeInBounce: (t) => 1 - fi.easeOutBounce(1 - t), + easeOutBounce(t) { + const e = 7.5625, + i = 2.75; + return t < 1 / i + ? e * t * t + : t < 2 / i + ? e * (t -= 1.5 / i) * t + 0.75 + : t < 2.5 / i + ? e * (t -= 2.25 / i) * t + 0.9375 + : e * (t -= 2.625 / i) * t + 0.984375; + }, + easeInOutBounce: (t) => + t < 0.5 + ? 0.5 * fi.easeInBounce(2 * t) + : 0.5 * fi.easeOutBounce(2 * t - 1) + 0.5, + }; + function gi(t, e, i, s) { + return { x: t.x + i * (e.x - t.x), y: t.y + i * (e.y - t.y) }; + } + function pi(t, e, i, s) { + return { + x: t.x + i * (e.x - t.x), + y: + "middle" === s + ? i < 0.5 + ? t.y + : e.y + : "after" === s + ? i < 1 + ? t.y + : e.y + : i > 0 + ? e.y + : t.y, + }; + } + function mi(t, e, i, s) { + const n = { x: t.cp2x, y: t.cp2y }, + o = { x: e.cp1x, y: e.cp1y }, + a = gi(t, n, i), + r = gi(n, o, i), + l = gi(o, e, i), + h = gi(a, r, i), + c = gi(r, l, i); + return gi(h, c, i); + } + const bi = /^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/, + xi = + /^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/; + function _i(t, e) { + const i = ("" + t).match(bi); + if (!i || "normal" === i[1]) return 1.2 * e; + switch (((t = +i[2]), i[3])) { + case "px": + return t; + case "%": + t /= 100; + } + return e * t; + } + const yi = (t) => +t || 0; + function vi(t, e) { + const i = {}, + s = o(e), + n = s ? Object.keys(e) : e, + a = o(t) ? (s ? (i) => l(t[i], t[e[i]]) : (e) => t[e]) : () => t; + for (const t of n) i[t] = yi(a(t)); + return i; + } + function Mi(t) { + return vi(t, { top: "y", right: "x", bottom: "y", left: "x" }); + } + function wi(t) { + return vi(t, ["topLeft", "topRight", "bottomLeft", "bottomRight"]); + } + function ki(t) { + const e = Mi(t); + return (e.width = e.left + e.right), (e.height = e.top + e.bottom), e; + } + function Si(t, e) { + (t = t || {}), (e = e || ue.font); + let i = l(t.size, e.size); + "string" == typeof i && (i = parseInt(i, 10)); + let s = l(t.style, e.style); + s && + !("" + s).match(xi) && + (console.warn('Invalid font style specified: "' + s + '"'), (s = void 0)); + const n = { + family: l(t.family, e.family), + lineHeight: _i(l(t.lineHeight, e.lineHeight), i), + size: i, + style: s, + weight: l(t.weight, e.weight), + string: "", + }; + return (n.string = De(n)), n; + } + function Pi(t, e, i, s) { + let o, + a, + r, + l = !0; + for (o = 0, a = t.length; o < a; ++o) + if ( + ((r = t[o]), + void 0 !== r && + (void 0 !== e && "function" == typeof r && ((r = r(e)), (l = !1)), + void 0 !== i && n(r) && ((r = r[i % r.length]), (l = !1)), + void 0 !== r)) + ) + return s && !l && (s.cacheable = !1), r; + } + function Di(t, e, i) { + const { min: s, max: n } = t, + o = c(e, (n - s) / 2), + a = (t, e) => (i && 0 === t ? 0 : t + e); + return { min: a(s, -Math.abs(o)), max: a(n, o) }; + } + function Ci(t, e) { + return Object.assign(Object.create(t), e); + } + function Oi(t, e, i) { + return t + ? (function (t, e) { + return { + x: (i) => t + t + e - i, + setWidth(t) { + e = t; + }, + textAlign: (t) => + "center" === t ? t : "right" === t ? "left" : "right", + xPlus: (t, e) => t - e, + leftForLtr: (t, e) => t - e, + }; + })(e, i) + : { + x: (t) => t, + setWidth(t) {}, + textAlign: (t) => t, + xPlus: (t, e) => t + e, + leftForLtr: (t, e) => t, + }; + } + function Ai(t, e) { + let i, s; + ("ltr" !== e && "rtl" !== e) || + ((i = t.canvas.style), + (s = [ + i.getPropertyValue("direction"), + i.getPropertyPriority("direction"), + ]), + i.setProperty("direction", e, "important"), + (t.prevTextDirection = s)); + } + function Ti(t, e) { + void 0 !== e && + (delete t.prevTextDirection, + t.canvas.style.setProperty("direction", e[0], e[1])); + } + function Li(t) { + return "angle" === t + ? { between: Z, compare: K, normalize: G } + : { between: tt, compare: (t, e) => t - e, normalize: (t) => t }; + } + function Ei({ start: t, end: e, count: i, loop: s, style: n }) { + return { + start: t % i, + end: e % i, + loop: s && (e - t + 1) % i == 0, + style: n, + }; + } + function Ri(t, e, i) { + if (!i) return [t]; + const { property: s, start: n, end: o } = i, + a = e.length, + { compare: r, between: l, normalize: h } = Li(s), + { + start: c, + end: d, + loop: u, + style: f, + } = (function (t, e, i) { + const { property: s, start: n, end: o } = i, + { between: a, normalize: r } = Li(s), + l = e.length; + let h, + c, + { start: d, end: u, loop: f } = t; + if (f) { + for ( + d += l, u += l, h = 0, c = l; + h < c && a(r(e[d % l][s]), n, o); + ++h + ) + d--, u--; + (d %= l), (u %= l); + } + return u < d && (u += l), { start: d, end: u, loop: f, style: t.style }; + })(t, e, i), + g = []; + let p, + m, + b, + x = !1, + _ = null; + const y = () => x || (l(n, b, p) && 0 !== r(n, b)), + v = () => !x || 0 === r(o, p) || l(o, b, p); + for (let t = c, i = c; t <= d; ++t) + (m = e[t % a]), + m.skip || + ((p = h(m[s])), + p !== b && + ((x = l(p, n, o)), + null === _ && y() && (_ = 0 === r(p, n) ? t : i), + null !== _ && + v() && + (g.push(Ei({ start: _, end: t, loop: u, count: a, style: f })), + (_ = null)), + (i = t), + (b = p))); + return ( + null !== _ && + g.push(Ei({ start: _, end: d, loop: u, count: a, style: f })), + g + ); + } + function Ii(t, e) { + const i = [], + s = t.segments; + for (let n = 0; n < s.length; n++) { + const o = Ri(s[n], t.points, e); + o.length && i.push(...o); + } + return i; + } + function zi(t, e) { + const i = t.points, + s = t.options.spanGaps, + n = i.length; + if (!n) return []; + const o = !!t._loop, + { start: a, end: r } = (function (t, e, i, s) { + let n = 0, + o = e - 1; + if (i && !s) for (; n < e && !t[n].skip; ) n++; + for (; n < e && t[n].skip; ) n++; + for (n %= e, i && (o += n); o > n && t[o % e].skip; ) o--; + return (o %= e), { start: n, end: o }; + })(i, n, o, s); + if (!0 === s) return Fi(t, [{ start: a, end: r, loop: o }], i, e); + return Fi( + t, + (function (t, e, i, s) { + const n = t.length, + o = []; + let a, + r = e, + l = t[e]; + for (a = e + 1; a <= i; ++a) { + const i = t[a % n]; + i.skip || i.stop + ? l.skip || + ((s = !1), + o.push({ start: e % n, end: (a - 1) % n, loop: s }), + (e = r = i.stop ? a : null)) + : ((r = a), l.skip && (e = a)), + (l = i); + } + return null !== r && o.push({ start: e % n, end: r % n, loop: s }), o; + })(i, a, r < a ? r + n : r, !!t._fullLoop && 0 === a && r === n - 1), + i, + e + ); + } + function Fi(t, e, i, s) { + return s && s.setContext && i + ? (function (t, e, i, s) { + const n = t._chart.getContext(), + o = Vi(t.options), + { + _datasetIndex: a, + options: { spanGaps: r }, + } = t, + l = i.length, + h = []; + let c = o, + d = e[0].start, + u = d; + function f(t, e, s, n) { + const o = r ? -1 : 1; + if (t !== e) { + for (t += l; i[t % l].skip; ) t -= o; + for (; i[e % l].skip; ) e += o; + t % l != e % l && + (h.push({ start: t % l, end: e % l, loop: s, style: n }), + (c = n), + (d = e % l)); + } + } + for (const t of e) { + d = r ? d : t.start; + let e, + o = i[d % l]; + for (u = d + 1; u <= t.end; u++) { + const r = i[u % l]; + (e = Vi( + s.setContext( + Ci(n, { + type: "segment", + p0: o, + p1: r, + p0DataIndex: (u - 1) % l, + p1DataIndex: u % l, + datasetIndex: a, + }) + ) + )), + Bi(e, c) && f(d, u - 1, t.loop, c), + (o = r), + (c = e); + } + d < u - 1 && f(d, u - 1, t.loop, c); + } + return h; + })(t, e, i, s) + : e; + } + function Vi(t) { + return { + backgroundColor: t.backgroundColor, + borderCapStyle: t.borderCapStyle, + borderDash: t.borderDash, + borderDashOffset: t.borderDashOffset, + borderJoinStyle: t.borderJoinStyle, + borderWidth: t.borderWidth, + borderColor: t.borderColor, + }; + } + function Bi(t, e) { + if (!e) return !1; + const i = [], + s = function (t, e) { + return Jt(e) ? (i.includes(e) || i.push(e), i.indexOf(e)) : e; + }; + return JSON.stringify(t, s) !== JSON.stringify(e, s); + } + var Wi = Object.freeze({ + __proto__: null, + HALF_PI: E, + INFINITY: T, + PI: C, + PITAU: A, + QUARTER_PI: R, + RAD_PER_DEG: L, + TAU: O, + TWO_THIRDS_PI: I, + _addGrace: Di, + _alignPixel: Ae, + _alignStartEnd: ft, + _angleBetween: Z, + _angleDiff: K, + _arrayUnique: lt, + _attachContext: $e, + _bezierCurveTo: Ve, + _bezierInterpolation: mi, + _boundSegment: Ri, + _boundSegments: Ii, + _capitalize: w, + _computeSegments: zi, + _createResolver: je, + _decimalPlaces: U, + _deprecated: function (t, e, i, s) { + void 0 !== e && + console.warn( + t + ': "' + i + '" is deprecated. Please use "' + s + '" instead' + ); + }, + _descriptors: Ye, + _elementsEqual: f, + _factorize: W, + _filterBetween: nt, + _getParentNode: ge, + _getStartAndCountOfVisiblePoints: pt, + _int16Range: Q, + _isBetween: tt, + _isClickEvent: D, + _isDomSupported: fe, + _isPointInArea: Re, + _limitValue: J, + _longestText: Oe, + _lookup: et, + _lookupByKey: it, + _measureText: Ce, + _merger: m, + _mergerIf: _, + _normalizeAngle: G, + _parseObjectDataRadialScale: ii, + _pointInLine: gi, + _readValueToProps: vi, + _rlookupByKey: st, + _scaleRangesChanged: mt, + _setMinAndMaxByKey: j, + _splitKey: v, + _steppedInterpolation: pi, + _steppedLineTo: Fe, + _textX: gt, + _toLeftRightCenter: ut, + _updateBezierControlPoints: hi, + addRoundedRectPath: He, + almostEquals: V, + almostWhole: H, + callback: d, + clearCanvas: Te, + clipArea: Ie, + clone: g, + color: Qt, + createContext: Ci, + debounce: dt, + defined: k, + distanceBetweenPoints: q, + drawPoint: Le, + drawPointLegend: Ee, + each: u, + easingEffects: fi, + finiteOrDefault: r, + fontString: function (t, e, i) { + return e + " " + t + "px " + i; + }, + formatNumber: ne, + getAngleFromPoint: X, + getHoverColor: te, + getMaximumSize: we, + getRelativePosition: ve, + getRtlAdapter: Oi, + getStyle: be, + isArray: n, + isFinite: a, + isFunction: S, + isNullOrUndef: s, + isNumber: N, + isObject: o, + isPatternOrGradient: Jt, + listenArrayEvents: at, + log10: z, + merge: b, + mergeIf: x, + niceNum: B, + noop: e, + overrideTextDirection: Ai, + readUsedSize: Pe, + renderText: Ne, + requestAnimFrame: ht, + resolve: Pi, + resolveObjectKey: M, + restoreTextDirection: Ti, + retinaScale: ke, + setsEqual: P, + sign: F, + splineCurve: ai, + splineCurveMonotone: ri, + supportsEventListenerOptions: Se, + throttled: ct, + toDegrees: Y, + toDimension: c, + toFont: Si, + toFontString: De, + toLineHeight: _i, + toPadding: ki, + toPercentage: h, + toRadians: $, + toTRBL: Mi, + toTRBLCorners: wi, + uid: i, + unclipArea: ze, + unlistenArrayEvents: rt, + valueOrDefault: l, + }); + function Ni(t, e, i, s) { + const { controller: n, data: o, _sorted: a } = t, + r = n._cachedMeta.iScale; + if (r && e === r.axis && "r" !== e && a && o.length) { + const t = r._reversePixels ? st : it; + if (!s) return t(o, e, i); + if (n._sharedOptions) { + const s = o[0], + n = "function" == typeof s.getRange && s.getRange(e); + if (n) { + const s = t(o, e, i - n), + a = t(o, e, i + n); + return { lo: s.lo, hi: a.hi }; + } + } + } + return { lo: 0, hi: o.length - 1 }; + } + function Hi(t, e, i, s, n) { + const o = t.getSortedVisibleDatasetMetas(), + a = i[e]; + for (let t = 0, i = o.length; t < i; ++t) { + const { index: i, data: r } = o[t], + { lo: l, hi: h } = Ni(o[t], e, a, n); + for (let t = l; t <= h; ++t) { + const e = r[t]; + e.skip || s(e, i, t); + } + } + } + function ji(t, e, i, s, n) { + const o = []; + if (!n && !t.isPointInArea(e)) return o; + return ( + Hi( + t, + i, + e, + function (i, a, r) { + (n || Re(i, t.chartArea, 0)) && + i.inRange(e.x, e.y, s) && + o.push({ element: i, datasetIndex: a, index: r }); + }, + !0 + ), + o + ); + } + function $i(t, e, i, s, n, o) { + let a = []; + const r = (function (t) { + const e = -1 !== t.indexOf("x"), + i = -1 !== t.indexOf("y"); + return function (t, s) { + const n = e ? Math.abs(t.x - s.x) : 0, + o = i ? Math.abs(t.y - s.y) : 0; + return Math.sqrt(Math.pow(n, 2) + Math.pow(o, 2)); + }; + })(i); + let l = Number.POSITIVE_INFINITY; + return ( + Hi(t, i, e, function (i, h, c) { + const d = i.inRange(e.x, e.y, n); + if (s && !d) return; + const u = i.getCenterPoint(n); + if (!(!!o || t.isPointInArea(u)) && !d) return; + const f = r(e, u); + f < l + ? ((a = [{ element: i, datasetIndex: h, index: c }]), (l = f)) + : f === l && a.push({ element: i, datasetIndex: h, index: c }); + }), + a + ); + } + function Yi(t, e, i, s, n, o) { + return o || t.isPointInArea(e) + ? "r" !== i || s + ? $i(t, e, i, s, n, o) + : (function (t, e, i, s) { + let n = []; + return ( + Hi(t, i, e, function (t, i, o) { + const { startAngle: a, endAngle: r } = t.getProps( + ["startAngle", "endAngle"], + s + ), + { angle: l } = X(t, { x: e.x, y: e.y }); + Z(l, a, r) && n.push({ element: t, datasetIndex: i, index: o }); + }), + n + ); + })(t, e, i, n) + : []; + } + function Ui(t, e, i, s, n) { + const o = [], + a = "x" === i ? "inXRange" : "inYRange"; + let r = !1; + return ( + Hi(t, i, e, (t, s, l) => { + t[a] && + t[a](e[i], n) && + (o.push({ element: t, datasetIndex: s, index: l }), + (r = r || t.inRange(e.x, e.y, n))); + }), + s && !r ? [] : o + ); + } + var Xi = { + evaluateInteractionItems: Hi, + modes: { + index(t, e, i, s) { + const n = ve(e, t), + o = i.axis || "x", + a = i.includeInvisible || !1, + r = i.intersect ? ji(t, n, o, s, a) : Yi(t, n, o, !1, s, a), + l = []; + return r.length + ? (t.getSortedVisibleDatasetMetas().forEach((t) => { + const e = r[0].index, + i = t.data[e]; + i && + !i.skip && + l.push({ element: i, datasetIndex: t.index, index: e }); + }), + l) + : []; + }, + dataset(t, e, i, s) { + const n = ve(e, t), + o = i.axis || "xy", + a = i.includeInvisible || !1; + let r = i.intersect ? ji(t, n, o, s, a) : Yi(t, n, o, !1, s, a); + if (r.length > 0) { + const e = r[0].datasetIndex, + i = t.getDatasetMeta(e).data; + r = []; + for (let t = 0; t < i.length; ++t) + r.push({ element: i[t], datasetIndex: e, index: t }); + } + return r; + }, + point: (t, e, i, s) => + ji(t, ve(e, t), i.axis || "xy", s, i.includeInvisible || !1), + nearest(t, e, i, s) { + const n = ve(e, t), + o = i.axis || "xy", + a = i.includeInvisible || !1; + return Yi(t, n, o, i.intersect, s, a); + }, + x: (t, e, i, s) => Ui(t, ve(e, t), "x", i.intersect, s), + y: (t, e, i, s) => Ui(t, ve(e, t), "y", i.intersect, s), + }, + }; + const qi = ["left", "top", "right", "bottom"]; + function Ki(t, e) { + return t.filter((t) => t.pos === e); + } + function Gi(t, e) { + return t.filter((t) => -1 === qi.indexOf(t.pos) && t.box.axis === e); + } + function Zi(t, e) { + return t.sort((t, i) => { + const s = e ? i : t, + n = e ? t : i; + return s.weight === n.weight ? s.index - n.index : s.weight - n.weight; + }); + } + function Ji(t, e) { + const i = (function (t) { + const e = {}; + for (const i of t) { + const { stack: t, pos: s, stackWeight: n } = i; + if (!t || !qi.includes(s)) continue; + const o = + e[t] || (e[t] = { count: 0, placed: 0, weight: 0, size: 0 }); + o.count++, (o.weight += n); + } + return e; + })(t), + { vBoxMaxWidth: s, hBoxMaxHeight: n } = e; + let o, a, r; + for (o = 0, a = t.length; o < a; ++o) { + r = t[o]; + const { fullSize: a } = r.box, + l = i[r.stack], + h = l && r.stackWeight / l.weight; + r.horizontal + ? ((r.width = h ? h * s : a && e.availableWidth), (r.height = n)) + : ((r.width = s), (r.height = h ? h * n : a && e.availableHeight)); + } + return i; + } + function Qi(t, e, i, s) { + return Math.max(t[i], e[i]) + Math.max(t[s], e[s]); + } + function ts(t, e) { + (t.top = Math.max(t.top, e.top)), + (t.left = Math.max(t.left, e.left)), + (t.bottom = Math.max(t.bottom, e.bottom)), + (t.right = Math.max(t.right, e.right)); + } + function es(t, e, i, s) { + const { pos: n, box: a } = i, + r = t.maxPadding; + if (!o(n)) { + i.size && (t[n] -= i.size); + const e = s[i.stack] || { size: 0, count: 1 }; + (e.size = Math.max(e.size, i.horizontal ? a.height : a.width)), + (i.size = e.size / e.count), + (t[n] += i.size); + } + a.getPadding && ts(r, a.getPadding()); + const l = Math.max(0, e.outerWidth - Qi(r, t, "left", "right")), + h = Math.max(0, e.outerHeight - Qi(r, t, "top", "bottom")), + c = l !== t.w, + d = h !== t.h; + return ( + (t.w = l), + (t.h = h), + i.horizontal ? { same: c, other: d } : { same: d, other: c } + ); + } + function is(t, e) { + const i = e.maxPadding; + function s(t) { + const s = { left: 0, top: 0, right: 0, bottom: 0 }; + return ( + t.forEach((t) => { + s[t] = Math.max(e[t], i[t]); + }), + s + ); + } + return s(t ? ["left", "right"] : ["top", "bottom"]); + } + function ss(t, e, i, s) { + const n = []; + let o, a, r, l, h, c; + for (o = 0, a = t.length, h = 0; o < a; ++o) { + (r = t[o]), + (l = r.box), + l.update(r.width || e.w, r.height || e.h, is(r.horizontal, e)); + const { same: a, other: d } = es(e, i, r, s); + (h |= a && n.length), (c = c || d), l.fullSize || n.push(r); + } + return (h && ss(n, e, i, s)) || c; + } + function ns(t, e, i, s, n) { + (t.top = i), + (t.left = e), + (t.right = e + s), + (t.bottom = i + n), + (t.width = s), + (t.height = n); + } + function os(t, e, i, s) { + const n = i.padding; + let { x: o, y: a } = e; + for (const r of t) { + const t = r.box, + l = s[r.stack] || { count: 1, placed: 0, weight: 1 }, + h = r.stackWeight / l.weight || 1; + if (r.horizontal) { + const s = e.w * h, + o = l.size || t.height; + k(l.start) && (a = l.start), + t.fullSize + ? ns(t, n.left, a, i.outerWidth - n.right - n.left, o) + : ns(t, e.left + l.placed, a, s, o), + (l.start = a), + (l.placed += s), + (a = t.bottom); + } else { + const s = e.h * h, + a = l.size || t.width; + k(l.start) && (o = l.start), + t.fullSize + ? ns(t, o, n.top, a, i.outerHeight - n.bottom - n.top) + : ns(t, o, e.top + l.placed, a, s), + (l.start = o), + (l.placed += s), + (o = t.right); + } + } + (e.x = o), (e.y = a); + } + var as = { + addBox(t, e) { + t.boxes || (t.boxes = []), + (e.fullSize = e.fullSize || !1), + (e.position = e.position || "top"), + (e.weight = e.weight || 0), + (e._layers = + e._layers || + function () { + return [ + { + z: 0, + draw(t) { + e.draw(t); + }, + }, + ]; + }), + t.boxes.push(e); + }, + removeBox(t, e) { + const i = t.boxes ? t.boxes.indexOf(e) : -1; + -1 !== i && t.boxes.splice(i, 1); + }, + configure(t, e, i) { + (e.fullSize = i.fullSize), + (e.position = i.position), + (e.weight = i.weight); + }, + update(t, e, i, s) { + if (!t) return; + const n = ki(t.options.layout.padding), + o = Math.max(e - n.width, 0), + a = Math.max(i - n.height, 0), + r = (function (t) { + const e = (function (t) { + const e = []; + let i, s, n, o, a, r; + for (i = 0, s = (t || []).length; i < s; ++i) + (n = t[i]), + ({ + position: o, + options: { stack: a, stackWeight: r = 1 }, + } = n), + e.push({ + index: i, + box: n, + pos: o, + horizontal: n.isHorizontal(), + weight: n.weight, + stack: a && o + a, + stackWeight: r, + }); + return e; + })(t), + i = Zi( + e.filter((t) => t.box.fullSize), + !0 + ), + s = Zi(Ki(e, "left"), !0), + n = Zi(Ki(e, "right")), + o = Zi(Ki(e, "top"), !0), + a = Zi(Ki(e, "bottom")), + r = Gi(e, "x"), + l = Gi(e, "y"); + return { + fullSize: i, + leftAndTop: s.concat(o), + rightAndBottom: n.concat(l).concat(a).concat(r), + chartArea: Ki(e, "chartArea"), + vertical: s.concat(n).concat(l), + horizontal: o.concat(a).concat(r), + }; + })(t.boxes), + l = r.vertical, + h = r.horizontal; + u(t.boxes, (t) => { + "function" == typeof t.beforeLayout && t.beforeLayout(); + }); + const c = + l.reduce( + (t, e) => + e.box.options && !1 === e.box.options.display ? t : t + 1, + 0 + ) || 1, + d = Object.freeze({ + outerWidth: e, + outerHeight: i, + padding: n, + availableWidth: o, + availableHeight: a, + vBoxMaxWidth: o / 2 / c, + hBoxMaxHeight: a / 2, + }), + f = Object.assign({}, n); + ts(f, ki(s)); + const g = Object.assign( + { maxPadding: f, w: o, h: a, x: n.left, y: n.top }, + n + ), + p = Ji(l.concat(h), d); + ss(r.fullSize, g, d, p), + ss(l, g, d, p), + ss(h, g, d, p) && ss(l, g, d, p), + (function (t) { + const e = t.maxPadding; + function i(i) { + const s = Math.max(e[i] - t[i], 0); + return (t[i] += s), s; + } + (t.y += i("top")), (t.x += i("left")), i("right"), i("bottom"); + })(g), + os(r.leftAndTop, g, d, p), + (g.x += g.w), + (g.y += g.h), + os(r.rightAndBottom, g, d, p), + (t.chartArea = { + left: g.left, + top: g.top, + right: g.left + g.w, + bottom: g.top + g.h, + height: g.h, + width: g.w, + }), + u(r.chartArea, (e) => { + const i = e.box; + Object.assign(i, t.chartArea), + i.update(g.w, g.h, { left: 0, top: 0, right: 0, bottom: 0 }); + }); + }, + }; + class rs { + acquireContext(t, e) {} + releaseContext(t) { + return !1; + } + addEventListener(t, e, i) {} + removeEventListener(t, e, i) {} + getDevicePixelRatio() { + return 1; + } + getMaximumSize(t, e, i, s) { + return ( + (e = Math.max(0, e || t.width)), + (i = i || t.height), + { width: e, height: Math.max(0, s ? Math.floor(e / s) : i) } + ); + } + isAttached(t) { + return !0; + } + updateConfig(t) {} + } + class ls extends rs { + acquireContext(t) { + return (t && t.getContext && t.getContext("2d")) || null; + } + updateConfig(t) { + t.options.animation = !1; + } + } + const hs = "$chartjs", + cs = { + touchstart: "mousedown", + touchmove: "mousemove", + touchend: "mouseup", + pointerenter: "mouseenter", + pointerdown: "mousedown", + pointermove: "mousemove", + pointerup: "mouseup", + pointerleave: "mouseout", + pointerout: "mouseout", + }, + ds = (t) => null === t || "" === t; + const us = !!Se && { passive: !0 }; + function fs(t, e, i) { + t && t.canvas && t.canvas.removeEventListener(e, i, us); + } + function gs(t, e) { + for (const i of t) if (i === e || i.contains(e)) return !0; + } + function ps(t, e, i) { + const s = t.canvas, + n = new MutationObserver((t) => { + let e = !1; + for (const i of t) + (e = e || gs(i.addedNodes, s)), (e = e && !gs(i.removedNodes, s)); + e && i(); + }); + return n.observe(document, { childList: !0, subtree: !0 }), n; + } + function ms(t, e, i) { + const s = t.canvas, + n = new MutationObserver((t) => { + let e = !1; + for (const i of t) + (e = e || gs(i.removedNodes, s)), (e = e && !gs(i.addedNodes, s)); + e && i(); + }); + return n.observe(document, { childList: !0, subtree: !0 }), n; + } + const bs = new Map(); + let xs = 0; + function _s() { + const t = window.devicePixelRatio; + t !== xs && + ((xs = t), + bs.forEach((e, i) => { + i.currentDevicePixelRatio !== t && e(); + })); + } + function ys(t, e, i) { + const s = t.canvas, + n = s && ge(s); + if (!n) return; + const o = ct((t, e) => { + const s = n.clientWidth; + i(t, e), s < n.clientWidth && i(); + }, window), + a = new ResizeObserver((t) => { + const e = t[0], + i = e.contentRect.width, + s = e.contentRect.height; + (0 === i && 0 === s) || o(i, s); + }); + return ( + a.observe(n), + (function (t, e) { + bs.size || window.addEventListener("resize", _s), bs.set(t, e); + })(t, o), + a + ); + } + function vs(t, e, i) { + i && i.disconnect(), + "resize" === e && + (function (t) { + bs.delete(t), bs.size || window.removeEventListener("resize", _s); + })(t); + } + function Ms(t, e, i) { + const s = t.canvas, + n = ct((e) => { + null !== t.ctx && + i( + (function (t, e) { + const i = cs[t.type] || t.type, + { x: s, y: n } = ve(t, e); + return { + type: i, + chart: e, + native: t, + x: void 0 !== s ? s : null, + y: void 0 !== n ? n : null, + }; + })(e, t) + ); + }, t); + return ( + (function (t, e, i) { + t && t.addEventListener(e, i, us); + })(s, e, n), + n + ); + } + class ws extends rs { + acquireContext(t, e) { + const i = t && t.getContext && t.getContext("2d"); + return i && i.canvas === t + ? ((function (t, e) { + const i = t.style, + s = t.getAttribute("height"), + n = t.getAttribute("width"); + if ( + ((t[hs] = { + initial: { + height: s, + width: n, + style: { + display: i.display, + height: i.height, + width: i.width, + }, + }, + }), + (i.display = i.display || "block"), + (i.boxSizing = i.boxSizing || "border-box"), + ds(n)) + ) { + const e = Pe(t, "width"); + void 0 !== e && (t.width = e); + } + if (ds(s)) + if ("" === t.style.height) t.height = t.width / (e || 2); + else { + const e = Pe(t, "height"); + void 0 !== e && (t.height = e); + } + })(t, e), + i) + : null; + } + releaseContext(t) { + const e = t.canvas; + if (!e[hs]) return !1; + const i = e[hs].initial; + ["height", "width"].forEach((t) => { + const n = i[t]; + s(n) ? e.removeAttribute(t) : e.setAttribute(t, n); + }); + const n = i.style || {}; + return ( + Object.keys(n).forEach((t) => { + e.style[t] = n[t]; + }), + (e.width = e.width), + delete e[hs], + !0 + ); + } + addEventListener(t, e, i) { + this.removeEventListener(t, e); + const s = t.$proxies || (t.$proxies = {}), + n = { attach: ps, detach: ms, resize: ys }[e] || Ms; + s[e] = n(t, e, i); + } + removeEventListener(t, e) { + const i = t.$proxies || (t.$proxies = {}), + s = i[e]; + if (!s) return; + (({ attach: vs, detach: vs, resize: vs })[e] || fs)(t, e, s), + (i[e] = void 0); + } + getDevicePixelRatio() { + return window.devicePixelRatio; + } + getMaximumSize(t, e, i, s) { + return we(t, e, i, s); + } + isAttached(t) { + const e = t && ge(t); + return !(!e || !e.isConnected); + } + } + function ks(t) { + return !fe() || + ("undefined" != typeof OffscreenCanvas && t instanceof OffscreenCanvas) + ? ls + : ws; + } + var Ss = Object.freeze({ + __proto__: null, + BasePlatform: rs, + BasicPlatform: ls, + DomPlatform: ws, + _detectPlatform: ks, + }); + const Ps = "transparent", + Ds = { + boolean: (t, e, i) => (i > 0.5 ? e : t), + color(t, e, i) { + const s = Qt(t || Ps), + n = s.valid && Qt(e || Ps); + return n && n.valid ? n.mix(s, i).hexString() : e; + }, + number: (t, e, i) => t + (e - t) * i, + }; + class Cs { + constructor(t, e, i, s) { + const n = e[i]; + s = Pi([t.to, s, n, t.from]); + const o = Pi([t.from, n, s]); + (this._active = !0), + (this._fn = t.fn || Ds[t.type || typeof o]), + (this._easing = fi[t.easing] || fi.linear), + (this._start = Math.floor(Date.now() + (t.delay || 0))), + (this._duration = this._total = Math.floor(t.duration)), + (this._loop = !!t.loop), + (this._target = e), + (this._prop = i), + (this._from = o), + (this._to = s), + (this._promises = void 0); + } + active() { + return this._active; + } + update(t, e, i) { + if (this._active) { + this._notify(!1); + const s = this._target[this._prop], + n = i - this._start, + o = this._duration - n; + (this._start = i), + (this._duration = Math.floor(Math.max(o, t.duration))), + (this._total += n), + (this._loop = !!t.loop), + (this._to = Pi([t.to, e, s, t.from])), + (this._from = Pi([t.from, s, e])); + } + } + cancel() { + this._active && + (this.tick(Date.now()), (this._active = !1), this._notify(!1)); + } + tick(t) { + const e = t - this._start, + i = this._duration, + s = this._prop, + n = this._from, + o = this._loop, + a = this._to; + let r; + if (((this._active = n !== a && (o || e < i)), !this._active)) + return (this._target[s] = a), void this._notify(!0); + e < 0 + ? (this._target[s] = n) + : ((r = (e / i) % 2), + (r = o && r > 1 ? 2 - r : r), + (r = this._easing(Math.min(1, Math.max(0, r)))), + (this._target[s] = this._fn(n, a, r))); + } + wait() { + const t = this._promises || (this._promises = []); + return new Promise((e, i) => { + t.push({ res: e, rej: i }); + }); + } + _notify(t) { + const e = t ? "res" : "rej", + i = this._promises || []; + for (let t = 0; t < i.length; t++) i[t][e](); + } + } + class Os { + constructor(t, e) { + (this._chart = t), (this._properties = new Map()), this.configure(e); + } + configure(t) { + if (!o(t)) return; + const e = Object.keys(ue.animation), + i = this._properties; + Object.getOwnPropertyNames(t).forEach((s) => { + const a = t[s]; + if (!o(a)) return; + const r = {}; + for (const t of e) r[t] = a[t]; + ((n(a.properties) && a.properties) || [s]).forEach((t) => { + (t !== s && i.has(t)) || i.set(t, r); + }); + }); + } + _animateOptions(t, e) { + const i = e.options, + s = (function (t, e) { + if (!e) return; + let i = t.options; + if (!i) return void (t.options = e); + i.$shared && + (t.options = i = + Object.assign({}, i, { $shared: !1, $animations: {} })); + return i; + })(t, i); + if (!s) return []; + const n = this._createAnimations(s, i); + return ( + i.$shared && + (function (t, e) { + const i = [], + s = Object.keys(e); + for (let e = 0; e < s.length; e++) { + const n = t[s[e]]; + n && n.active() && i.push(n.wait()); + } + return Promise.all(i); + })(t.options.$animations, i).then( + () => { + t.options = i; + }, + () => {} + ), + n + ); + } + _createAnimations(t, e) { + const i = this._properties, + s = [], + n = t.$animations || (t.$animations = {}), + o = Object.keys(e), + a = Date.now(); + let r; + for (r = o.length - 1; r >= 0; --r) { + const l = o[r]; + if ("$" === l.charAt(0)) continue; + if ("options" === l) { + s.push(...this._animateOptions(t, e)); + continue; + } + const h = e[l]; + let c = n[l]; + const d = i.get(l); + if (c) { + if (d && c.active()) { + c.update(d, h, a); + continue; + } + c.cancel(); + } + d && d.duration + ? ((n[l] = c = new Cs(d, t, l, h)), s.push(c)) + : (t[l] = h); + } + return s; + } + update(t, e) { + if (0 === this._properties.size) return void Object.assign(t, e); + const i = this._createAnimations(t, e); + return i.length ? (xt.add(this._chart, i), !0) : void 0; + } + } + function As(t, e) { + const i = (t && t.options) || {}, + s = i.reverse, + n = void 0 === i.min ? e : 0, + o = void 0 === i.max ? e : 0; + return { start: s ? o : n, end: s ? n : o }; + } + function Ts(t, e) { + const i = [], + s = t._getSortedDatasetMetas(e); + let n, o; + for (n = 0, o = s.length; n < o; ++n) i.push(s[n].index); + return i; + } + function Ls(t, e, i, s = {}) { + const n = t.keys, + o = "single" === s.mode; + let r, l, h, c; + if (null === e) return; + let d = !1; + for (r = 0, l = n.length; r < l; ++r) { + if (((h = +n[r]), h === i)) { + if (((d = !0), s.all)) continue; + break; + } + (c = t.values[h]), a(c) && (o || 0 === e || F(e) === F(c)) && (e += c); + } + return d || s.all ? e : 0; + } + function Es(t, e) { + const i = t && t.options.stacked; + return i || (void 0 === i && void 0 !== e.stack); + } + function Rs(t, e, i) { + const s = t[e] || (t[e] = {}); + return s[i] || (s[i] = {}); + } + function Is(t, e, i, s) { + for (const n of e.getMatchingVisibleMetas(s).reverse()) { + const e = t[n.index]; + if ((i && e > 0) || (!i && e < 0)) return n.index; + } + return null; + } + function zs(t, e) { + const { chart: i, _cachedMeta: s } = t, + n = i._stacks || (i._stacks = {}), + { iScale: o, vScale: a, index: r } = s, + l = o.axis, + h = a.axis, + c = (function (t, e, i) { + return `${t.id}.${e.id}.${i.stack || i.type}`; + })(o, a, s), + d = e.length; + let u; + for (let t = 0; t < d; ++t) { + const i = e[t], + { [l]: o, [h]: d } = i; + (u = (i._stacks || (i._stacks = {}))[h] = Rs(n, c, o)), + (u[r] = d), + (u._top = Is(u, a, !0, s.type)), + (u._bottom = Is(u, a, !1, s.type)); + (u._visualValues || (u._visualValues = {}))[r] = d; + } + } + function Fs(t, e) { + const i = t.scales; + return Object.keys(i) + .filter((t) => i[t].axis === e) + .shift(); + } + function Vs(t, e) { + const i = t.controller.index, + s = t.vScale && t.vScale.axis; + if (s) { + e = e || t._parsed; + for (const t of e) { + const e = t._stacks; + if (!e || void 0 === e[s] || void 0 === e[s][i]) return; + delete e[s][i], + void 0 !== e[s]._visualValues && + void 0 !== e[s]._visualValues[i] && + delete e[s]._visualValues[i]; + } + } + } + const Bs = (t) => "reset" === t || "none" === t, + Ws = (t, e) => (e ? t : Object.assign({}, t)); + class Ns { + static defaults = {}; + static datasetElementType = null; + static dataElementType = null; + constructor(t, e) { + (this.chart = t), + (this._ctx = t.ctx), + (this.index = e), + (this._cachedDataOpts = {}), + (this._cachedMeta = this.getMeta()), + (this._type = this._cachedMeta.type), + (this.options = void 0), + (this._parsing = !1), + (this._data = void 0), + (this._objectData = void 0), + (this._sharedOptions = void 0), + (this._drawStart = void 0), + (this._drawCount = void 0), + (this.enableOptionSharing = !1), + (this.supportsDecimation = !1), + (this.$context = void 0), + (this._syncList = []), + (this.datasetElementType = new.target.datasetElementType), + (this.dataElementType = new.target.dataElementType), + this.initialize(); + } + initialize() { + const t = this._cachedMeta; + this.configure(), + this.linkScales(), + (t._stacked = Es(t.vScale, t)), + this.addElements(), + this.options.fill && + !this.chart.isPluginEnabled("filler") && + console.warn( + "Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options" + ); + } + updateIndex(t) { + this.index !== t && Vs(this._cachedMeta), (this.index = t); + } + linkScales() { + const t = this.chart, + e = this._cachedMeta, + i = this.getDataset(), + s = (t, e, i, s) => ("x" === t ? e : "r" === t ? s : i), + n = (e.xAxisID = l(i.xAxisID, Fs(t, "x"))), + o = (e.yAxisID = l(i.yAxisID, Fs(t, "y"))), + a = (e.rAxisID = l(i.rAxisID, Fs(t, "r"))), + r = e.indexAxis, + h = (e.iAxisID = s(r, n, o, a)), + c = (e.vAxisID = s(r, o, n, a)); + (e.xScale = this.getScaleForId(n)), + (e.yScale = this.getScaleForId(o)), + (e.rScale = this.getScaleForId(a)), + (e.iScale = this.getScaleForId(h)), + (e.vScale = this.getScaleForId(c)); + } + getDataset() { + return this.chart.data.datasets[this.index]; + } + getMeta() { + return this.chart.getDatasetMeta(this.index); + } + getScaleForId(t) { + return this.chart.scales[t]; + } + _getOtherScale(t) { + const e = this._cachedMeta; + return t === e.iScale ? e.vScale : e.iScale; + } + reset() { + this._update("reset"); + } + _destroy() { + const t = this._cachedMeta; + this._data && rt(this._data, this), t._stacked && Vs(t); + } + _dataCheck() { + const t = this.getDataset(), + e = t.data || (t.data = []), + i = this._data; + if (o(e)) { + const t = this._cachedMeta; + this._data = (function (t, e) { + const { iScale: i, vScale: s } = e, + n = "x" === i.axis ? "x" : "y", + o = "x" === s.axis ? "x" : "y", + a = Object.keys(t), + r = new Array(a.length); + let l, h, c; + for (l = 0, h = a.length; l < h; ++l) + (c = a[l]), (r[l] = { [n]: c, [o]: t[c] }); + return r; + })(e, t); + } else if (i !== e) { + if (i) { + rt(i, this); + const t = this._cachedMeta; + Vs(t), (t._parsed = []); + } + e && Object.isExtensible(e) && at(e, this), + (this._syncList = []), + (this._data = e); + } + } + addElements() { + const t = this._cachedMeta; + this._dataCheck(), + this.datasetElementType && (t.dataset = new this.datasetElementType()); + } + buildOrUpdateElements(t) { + const e = this._cachedMeta, + i = this.getDataset(); + let s = !1; + this._dataCheck(); + const n = e._stacked; + (e._stacked = Es(e.vScale, e)), + e.stack !== i.stack && ((s = !0), Vs(e), (e.stack = i.stack)), + this._resyncElements(t), + (s || n !== e._stacked) && + (zs(this, e._parsed), (e._stacked = Es(e.vScale, e))); + } + configure() { + const t = this.chart.config, + e = t.datasetScopeKeys(this._type), + i = t.getOptionScopes(this.getDataset(), e, !0); + (this.options = t.createResolver(i, this.getContext())), + (this._parsing = this.options.parsing), + (this._cachedDataOpts = {}); + } + parse(t, e) { + const { _cachedMeta: i, _data: s } = this, + { iScale: a, _stacked: r } = i, + l = a.axis; + let h, + c, + d, + u = (0 === t && e === s.length) || i._sorted, + f = t > 0 && i._parsed[t - 1]; + if (!1 === this._parsing) (i._parsed = s), (i._sorted = !0), (d = s); + else { + d = n(s[t]) + ? this.parseArrayData(i, s, t, e) + : o(s[t]) + ? this.parseObjectData(i, s, t, e) + : this.parsePrimitiveData(i, s, t, e); + const a = () => null === c[l] || (f && c[l] < f[l]); + for (h = 0; h < e; ++h) + (i._parsed[h + t] = c = d[h]), u && (a() && (u = !1), (f = c)); + i._sorted = u; + } + r && zs(this, d); + } + parsePrimitiveData(t, e, i, s) { + const { iScale: n, vScale: o } = t, + a = n.axis, + r = o.axis, + l = n.getLabels(), + h = n === o, + c = new Array(s); + let d, u, f; + for (d = 0, u = s; d < u; ++d) + (f = d + i), + (c[d] = { [a]: h || n.parse(l[f], f), [r]: o.parse(e[f], f) }); + return c; + } + parseArrayData(t, e, i, s) { + const { xScale: n, yScale: o } = t, + a = new Array(s); + let r, l, h, c; + for (r = 0, l = s; r < l; ++r) + (h = r + i), + (c = e[h]), + (a[r] = { x: n.parse(c[0], h), y: o.parse(c[1], h) }); + return a; + } + parseObjectData(t, e, i, s) { + const { xScale: n, yScale: o } = t, + { xAxisKey: a = "x", yAxisKey: r = "y" } = this._parsing, + l = new Array(s); + let h, c, d, u; + for (h = 0, c = s; h < c; ++h) + (d = h + i), + (u = e[d]), + (l[h] = { x: n.parse(M(u, a), d), y: o.parse(M(u, r), d) }); + return l; + } + getParsed(t) { + return this._cachedMeta._parsed[t]; + } + getDataElement(t) { + return this._cachedMeta.data[t]; + } + applyStack(t, e, i) { + const s = this.chart, + n = this._cachedMeta, + o = e[t.axis]; + return Ls( + { keys: Ts(s, !0), values: e._stacks[t.axis]._visualValues }, + o, + n.index, + { mode: i } + ); + } + updateRangeFromParsed(t, e, i, s) { + const n = i[e.axis]; + let o = null === n ? NaN : n; + const a = s && i._stacks[e.axis]; + s && a && ((s.values = a), (o = Ls(s, n, this._cachedMeta.index))), + (t.min = Math.min(t.min, o)), + (t.max = Math.max(t.max, o)); + } + getMinMax(t, e) { + const i = this._cachedMeta, + s = i._parsed, + n = i._sorted && t === i.iScale, + o = s.length, + r = this._getOtherScale(t), + l = ((t, e, i) => + t && !e.hidden && e._stacked && { keys: Ts(i, !0), values: null })( + e, + i, + this.chart + ), + h = { min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY }, + { min: c, max: d } = (function (t) { + const { + min: e, + max: i, + minDefined: s, + maxDefined: n, + } = t.getUserBounds(); + return { + min: s ? e : Number.NEGATIVE_INFINITY, + max: n ? i : Number.POSITIVE_INFINITY, + }; + })(r); + let u, f; + function g() { + f = s[u]; + const e = f[r.axis]; + return !a(f[t.axis]) || c > e || d < e; + } + for ( + u = 0; + u < o && (g() || (this.updateRangeFromParsed(h, t, f, l), !n)); + ++u + ); + if (n) + for (u = o - 1; u >= 0; --u) + if (!g()) { + this.updateRangeFromParsed(h, t, f, l); + break; + } + return h; + } + getAllParsedValues(t) { + const e = this._cachedMeta._parsed, + i = []; + let s, n, o; + for (s = 0, n = e.length; s < n; ++s) + (o = e[s][t.axis]), a(o) && i.push(o); + return i; + } + getMaxOverflow() { + return !1; + } + getLabelAndValue(t) { + const e = this._cachedMeta, + i = e.iScale, + s = e.vScale, + n = this.getParsed(t); + return { + label: i ? "" + i.getLabelForValue(n[i.axis]) : "", + value: s ? "" + s.getLabelForValue(n[s.axis]) : "", + }; + } + _update(t) { + const e = this._cachedMeta; + this.update(t || "default"), + (e._clip = (function (t) { + let e, i, s, n; + return ( + o(t) + ? ((e = t.top), (i = t.right), (s = t.bottom), (n = t.left)) + : (e = i = s = n = t), + { top: e, right: i, bottom: s, left: n, disabled: !1 === t } + ); + })( + l( + this.options.clip, + (function (t, e, i) { + if (!1 === i) return !1; + const s = As(t, i), + n = As(e, i); + return { + top: n.end, + right: s.end, + bottom: n.start, + left: s.start, + }; + })(e.xScale, e.yScale, this.getMaxOverflow()) + ) + )); + } + update(t) {} + draw() { + const t = this._ctx, + e = this.chart, + i = this._cachedMeta, + s = i.data || [], + n = e.chartArea, + o = [], + a = this._drawStart || 0, + r = this._drawCount || s.length - a, + l = this.options.drawActiveElementsOnTop; + let h; + for (i.dataset && i.dataset.draw(t, n, a, r), h = a; h < a + r; ++h) { + const e = s[h]; + e.hidden || (e.active && l ? o.push(e) : e.draw(t, n)); + } + for (h = 0; h < o.length; ++h) o[h].draw(t, n); + } + getStyle(t, e) { + const i = e ? "active" : "default"; + return void 0 === t && this._cachedMeta.dataset + ? this.resolveDatasetElementOptions(i) + : this.resolveDataElementOptions(t || 0, i); + } + getContext(t, e, i) { + const s = this.getDataset(); + let n; + if (t >= 0 && t < this._cachedMeta.data.length) { + const e = this._cachedMeta.data[t]; + (n = + e.$context || + (e.$context = (function (t, e, i) { + return Ci(t, { + active: !1, + dataIndex: e, + parsed: void 0, + raw: void 0, + element: i, + index: e, + mode: "default", + type: "data", + }); + })(this.getContext(), t, e))), + (n.parsed = this.getParsed(t)), + (n.raw = s.data[t]), + (n.index = n.dataIndex = t); + } else + (n = + this.$context || + (this.$context = (function (t, e) { + return Ci(t, { + active: !1, + dataset: void 0, + datasetIndex: e, + index: e, + mode: "default", + type: "dataset", + }); + })(this.chart.getContext(), this.index))), + (n.dataset = s), + (n.index = n.datasetIndex = this.index); + return (n.active = !!e), (n.mode = i), n; + } + resolveDatasetElementOptions(t) { + return this._resolveElementOptions(this.datasetElementType.id, t); + } + resolveDataElementOptions(t, e) { + return this._resolveElementOptions(this.dataElementType.id, e, t); + } + _resolveElementOptions(t, e = "default", i) { + const s = "active" === e, + n = this._cachedDataOpts, + o = t + "-" + e, + a = n[o], + r = this.enableOptionSharing && k(i); + if (a) return Ws(a, r); + const l = this.chart.config, + h = l.datasetElementScopeKeys(this._type, t), + c = s ? [`${t}Hover`, "hover", t, ""] : [t, ""], + d = l.getOptionScopes(this.getDataset(), h), + u = Object.keys(ue.elements[t]), + f = l.resolveNamedOptions(d, u, () => this.getContext(i, s, e), c); + return ( + f.$shared && ((f.$shared = r), (n[o] = Object.freeze(Ws(f, r)))), f + ); + } + _resolveAnimations(t, e, i) { + const s = this.chart, + n = this._cachedDataOpts, + o = `animation-${e}`, + a = n[o]; + if (a) return a; + let r; + if (!1 !== s.options.animation) { + const s = this.chart.config, + n = s.datasetAnimationScopeKeys(this._type, e), + o = s.getOptionScopes(this.getDataset(), n); + r = s.createResolver(o, this.getContext(t, i, e)); + } + const l = new Os(s, r && r.animations); + return r && r._cacheable && (n[o] = Object.freeze(l)), l; + } + getSharedOptions(t) { + if (t.$shared) + return ( + this._sharedOptions || (this._sharedOptions = Object.assign({}, t)) + ); + } + includeOptions(t, e) { + return !e || Bs(t) || this.chart._animationsDisabled; + } + _getSharedOptions(t, e) { + const i = this.resolveDataElementOptions(t, e), + s = this._sharedOptions, + n = this.getSharedOptions(i), + o = this.includeOptions(e, n) || n !== s; + return ( + this.updateSharedOptions(n, e, i), + { sharedOptions: n, includeOptions: o } + ); + } + updateElement(t, e, i, s) { + Bs(s) ? Object.assign(t, i) : this._resolveAnimations(e, s).update(t, i); + } + updateSharedOptions(t, e, i) { + t && !Bs(e) && this._resolveAnimations(void 0, e).update(t, i); + } + _setStyle(t, e, i, s) { + t.active = s; + const n = this.getStyle(e, s); + this._resolveAnimations(e, i, s).update(t, { + options: (!s && this.getSharedOptions(n)) || n, + }); + } + removeHoverStyle(t, e, i) { + this._setStyle(t, i, "active", !1); + } + setHoverStyle(t, e, i) { + this._setStyle(t, i, "active", !0); + } + _removeDatasetHoverStyle() { + const t = this._cachedMeta.dataset; + t && this._setStyle(t, void 0, "active", !1); + } + _setDatasetHoverStyle() { + const t = this._cachedMeta.dataset; + t && this._setStyle(t, void 0, "active", !0); + } + _resyncElements(t) { + const e = this._data, + i = this._cachedMeta.data; + for (const [t, e, i] of this._syncList) this[t](e, i); + this._syncList = []; + const s = i.length, + n = e.length, + o = Math.min(n, s); + o && this.parse(0, o), + n > s + ? this._insertElements(s, n - s, t) + : n < s && this._removeElements(n, s - n); + } + _insertElements(t, e, i = !0) { + const s = this._cachedMeta, + n = s.data, + o = t + e; + let a; + const r = (t) => { + for (t.length += e, a = t.length - 1; a >= o; a--) t[a] = t[a - e]; + }; + for (r(n), a = t; a < o; ++a) n[a] = new this.dataElementType(); + this._parsing && r(s._parsed), + this.parse(t, e), + i && this.updateElements(n, t, e, "reset"); + } + updateElements(t, e, i, s) {} + _removeElements(t, e) { + const i = this._cachedMeta; + if (this._parsing) { + const s = i._parsed.splice(t, e); + i._stacked && Vs(i, s); + } + i.data.splice(t, e); + } + _sync(t) { + if (this._parsing) this._syncList.push(t); + else { + const [e, i, s] = t; + this[e](i, s); + } + this.chart._dataChanges.push([this.index, ...t]); + } + _onDataPush() { + const t = arguments.length; + this._sync(["_insertElements", this.getDataset().data.length - t, t]); + } + _onDataPop() { + this._sync(["_removeElements", this._cachedMeta.data.length - 1, 1]); + } + _onDataShift() { + this._sync(["_removeElements", 0, 1]); + } + _onDataSplice(t, e) { + e && this._sync(["_removeElements", t, e]); + const i = arguments.length - 2; + i && this._sync(["_insertElements", t, i]); + } + _onDataUnshift() { + this._sync(["_insertElements", 0, arguments.length]); + } + } + class Hs { + static defaults = {}; + static defaultRoutes = void 0; + x; + y; + active = !1; + options; + $animations; + tooltipPosition(t) { + const { x: e, y: i } = this.getProps(["x", "y"], t); + return { x: e, y: i }; + } + hasValue() { + return N(this.x) && N(this.y); + } + getProps(t, e) { + const i = this.$animations; + if (!e || !i) return this; + const s = {}; + return ( + t.forEach((t) => { + s[t] = i[t] && i[t].active() ? i[t]._to : this[t]; + }), + s + ); + } + } + function js(t, e) { + const i = t.options.ticks, + n = (function (t) { + const e = t.options.offset, + i = t._tickSize(), + s = t._length / i + (e ? 0 : 1), + n = t._maxLength / i; + return Math.floor(Math.min(s, n)); + })(t), + o = Math.min(i.maxTicksLimit || n, n), + a = i.major.enabled + ? (function (t) { + const e = []; + let i, s; + for (i = 0, s = t.length; i < s; i++) t[i].major && e.push(i); + return e; + })(e) + : [], + r = a.length, + l = a[0], + h = a[r - 1], + c = []; + if (r > o) + return ( + (function (t, e, i, s) { + let n, + o = 0, + a = i[0]; + for (s = Math.ceil(s), n = 0; n < t.length; n++) + n === a && (e.push(t[n]), o++, (a = i[o * s])); + })(e, c, a, r / o), + c + ); + const d = (function (t, e, i) { + const s = (function (t) { + const e = t.length; + let i, s; + if (e < 2) return !1; + for (s = t[0], i = 1; i < e; ++i) + if (t[i] - t[i - 1] !== s) return !1; + return s; + })(t), + n = e.length / i; + if (!s) return Math.max(n, 1); + const o = W(s); + for (let t = 0, e = o.length - 1; t < e; t++) { + const e = o[t]; + if (e > n) return e; + } + return Math.max(n, 1); + })(a, e, o); + if (r > 0) { + let t, i; + const n = r > 1 ? Math.round((h - l) / (r - 1)) : null; + for ($s(e, c, d, s(n) ? 0 : l - n, l), t = 0, i = r - 1; t < i; t++) + $s(e, c, d, a[t], a[t + 1]); + return $s(e, c, d, h, s(n) ? e.length : h + n), c; + } + return $s(e, c, d), c; + } + function $s(t, e, i, s, n) { + const o = l(s, 0), + a = Math.min(l(n, t.length), t.length); + let r, + h, + c, + d = 0; + for ( + i = Math.ceil(i), n && ((r = n - s), (i = r / Math.floor(r / i))), c = o; + c < 0; + + ) + d++, (c = Math.round(o + d * i)); + for (h = Math.max(o, 0); h < a; h++) + h === c && (e.push(t[h]), d++, (c = Math.round(o + d * i))); + } + const Ys = (t, e, i) => ("top" === e || "left" === e ? t[e] + i : t[e] - i), + Us = (t, e) => Math.min(e || t, t); + function Xs(t, e) { + const i = [], + s = t.length / e, + n = t.length; + let o = 0; + for (; o < n; o += s) i.push(t[Math.floor(o)]); + return i; + } + function qs(t, e, i) { + const s = t.ticks.length, + n = Math.min(e, s - 1), + o = t._startPixel, + a = t._endPixel, + r = 1e-6; + let l, + h = t.getPixelForTick(n); + if ( + !( + i && + ((l = + 1 === s + ? Math.max(h - o, a - h) + : 0 === e + ? (t.getPixelForTick(1) - h) / 2 + : (h - t.getPixelForTick(n - 1)) / 2), + (h += n < e ? l : -l), + h < o - r || h > a + r) + ) + ) + return h; + } + function Ks(t) { + return t.drawTicks ? t.tickLength : 0; + } + function Gs(t, e) { + if (!t.display) return 0; + const i = Si(t.font, e), + s = ki(t.padding); + return (n(t.text) ? t.text.length : 1) * i.lineHeight + s.height; + } + function Zs(t, e, i) { + let s = ut(t); + return ( + ((i && "right" !== e) || (!i && "right" === e)) && + (s = ((t) => ("left" === t ? "right" : "right" === t ? "left" : t))(s)), + s + ); + } + class Js extends Hs { + constructor(t) { + super(), + (this.id = t.id), + (this.type = t.type), + (this.options = void 0), + (this.ctx = t.ctx), + (this.chart = t.chart), + (this.top = void 0), + (this.bottom = void 0), + (this.left = void 0), + (this.right = void 0), + (this.width = void 0), + (this.height = void 0), + (this._margins = { left: 0, right: 0, top: 0, bottom: 0 }), + (this.maxWidth = void 0), + (this.maxHeight = void 0), + (this.paddingTop = void 0), + (this.paddingBottom = void 0), + (this.paddingLeft = void 0), + (this.paddingRight = void 0), + (this.axis = void 0), + (this.labelRotation = void 0), + (this.min = void 0), + (this.max = void 0), + (this._range = void 0), + (this.ticks = []), + (this._gridLineItems = null), + (this._labelItems = null), + (this._labelSizes = null), + (this._length = 0), + (this._maxLength = 0), + (this._longestTextCache = {}), + (this._startPixel = void 0), + (this._endPixel = void 0), + (this._reversePixels = !1), + (this._userMax = void 0), + (this._userMin = void 0), + (this._suggestedMax = void 0), + (this._suggestedMin = void 0), + (this._ticksLength = 0), + (this._borderValue = 0), + (this._cache = {}), + (this._dataLimitsCached = !1), + (this.$context = void 0); + } + init(t) { + (this.options = t.setContext(this.getContext())), + (this.axis = t.axis), + (this._userMin = this.parse(t.min)), + (this._userMax = this.parse(t.max)), + (this._suggestedMin = this.parse(t.suggestedMin)), + (this._suggestedMax = this.parse(t.suggestedMax)); + } + parse(t, e) { + return t; + } + getUserBounds() { + let { + _userMin: t, + _userMax: e, + _suggestedMin: i, + _suggestedMax: s, + } = this; + return ( + (t = r(t, Number.POSITIVE_INFINITY)), + (e = r(e, Number.NEGATIVE_INFINITY)), + (i = r(i, Number.POSITIVE_INFINITY)), + (s = r(s, Number.NEGATIVE_INFINITY)), + { min: r(t, i), max: r(e, s), minDefined: a(t), maxDefined: a(e) } + ); + } + getMinMax(t) { + let e, + { min: i, max: s, minDefined: n, maxDefined: o } = this.getUserBounds(); + if (n && o) return { min: i, max: s }; + const a = this.getMatchingVisibleMetas(); + for (let r = 0, l = a.length; r < l; ++r) + (e = a[r].controller.getMinMax(this, t)), + n || (i = Math.min(i, e.min)), + o || (s = Math.max(s, e.max)); + return ( + (i = o && i > s ? s : i), + (s = n && i > s ? i : s), + { min: r(i, r(s, i)), max: r(s, r(i, s)) } + ); + } + getPadding() { + return { + left: this.paddingLeft || 0, + top: this.paddingTop || 0, + right: this.paddingRight || 0, + bottom: this.paddingBottom || 0, + }; + } + getTicks() { + return this.ticks; + } + getLabels() { + const t = this.chart.data; + return ( + this.options.labels || + (this.isHorizontal() ? t.xLabels : t.yLabels) || + t.labels || + [] + ); + } + getLabelItems(t = this.chart.chartArea) { + return ( + this._labelItems || (this._labelItems = this._computeLabelItems(t)) + ); + } + beforeLayout() { + (this._cache = {}), (this._dataLimitsCached = !1); + } + beforeUpdate() { + d(this.options.beforeUpdate, [this]); + } + update(t, e, i) { + const { beginAtZero: s, grace: n, ticks: o } = this.options, + a = o.sampleSize; + this.beforeUpdate(), + (this.maxWidth = t), + (this.maxHeight = e), + (this._margins = i = + Object.assign({ left: 0, right: 0, top: 0, bottom: 0 }, i)), + (this.ticks = null), + (this._labelSizes = null), + (this._gridLineItems = null), + (this._labelItems = null), + this.beforeSetDimensions(), + this.setDimensions(), + this.afterSetDimensions(), + (this._maxLength = this.isHorizontal() + ? this.width + i.left + i.right + : this.height + i.top + i.bottom), + this._dataLimitsCached || + (this.beforeDataLimits(), + this.determineDataLimits(), + this.afterDataLimits(), + (this._range = Di(this, n, s)), + (this._dataLimitsCached = !0)), + this.beforeBuildTicks(), + (this.ticks = this.buildTicks() || []), + this.afterBuildTicks(); + const r = a < this.ticks.length; + this._convertTicksToLabels(r ? Xs(this.ticks, a) : this.ticks), + this.configure(), + this.beforeCalculateLabelRotation(), + this.calculateLabelRotation(), + this.afterCalculateLabelRotation(), + o.display && + (o.autoSkip || "auto" === o.source) && + ((this.ticks = js(this, this.ticks)), + (this._labelSizes = null), + this.afterAutoSkip()), + r && this._convertTicksToLabels(this.ticks), + this.beforeFit(), + this.fit(), + this.afterFit(), + this.afterUpdate(); + } + configure() { + let t, + e, + i = this.options.reverse; + this.isHorizontal() + ? ((t = this.left), (e = this.right)) + : ((t = this.top), (e = this.bottom), (i = !i)), + (this._startPixel = t), + (this._endPixel = e), + (this._reversePixels = i), + (this._length = e - t), + (this._alignToPixels = this.options.alignToPixels); + } + afterUpdate() { + d(this.options.afterUpdate, [this]); + } + beforeSetDimensions() { + d(this.options.beforeSetDimensions, [this]); + } + setDimensions() { + this.isHorizontal() + ? ((this.width = this.maxWidth), + (this.left = 0), + (this.right = this.width)) + : ((this.height = this.maxHeight), + (this.top = 0), + (this.bottom = this.height)), + (this.paddingLeft = 0), + (this.paddingTop = 0), + (this.paddingRight = 0), + (this.paddingBottom = 0); + } + afterSetDimensions() { + d(this.options.afterSetDimensions, [this]); + } + _callHooks(t) { + this.chart.notifyPlugins(t, this.getContext()), + d(this.options[t], [this]); + } + beforeDataLimits() { + this._callHooks("beforeDataLimits"); + } + determineDataLimits() {} + afterDataLimits() { + this._callHooks("afterDataLimits"); + } + beforeBuildTicks() { + this._callHooks("beforeBuildTicks"); + } + buildTicks() { + return []; + } + afterBuildTicks() { + this._callHooks("afterBuildTicks"); + } + beforeTickToLabelConversion() { + d(this.options.beforeTickToLabelConversion, [this]); + } + generateTickLabels(t) { + const e = this.options.ticks; + let i, s, n; + for (i = 0, s = t.length; i < s; i++) + (n = t[i]), (n.label = d(e.callback, [n.value, i, t], this)); + } + afterTickToLabelConversion() { + d(this.options.afterTickToLabelConversion, [this]); + } + beforeCalculateLabelRotation() { + d(this.options.beforeCalculateLabelRotation, [this]); + } + calculateLabelRotation() { + const t = this.options, + e = t.ticks, + i = Us(this.ticks.length, t.ticks.maxTicksLimit), + s = e.minRotation || 0, + n = e.maxRotation; + let o, + a, + r, + l = s; + if ( + !this._isVisible() || + !e.display || + s >= n || + i <= 1 || + !this.isHorizontal() + ) + return void (this.labelRotation = s); + const h = this._getLabelSizes(), + c = h.widest.width, + d = h.highest.height, + u = J(this.chart.width - c, 0, this.maxWidth); + (o = t.offset ? this.maxWidth / i : u / (i - 1)), + c + 6 > o && + ((o = u / (i - (t.offset ? 0.5 : 1))), + (a = + this.maxHeight - + Ks(t.grid) - + e.padding - + Gs(t.title, this.chart.options.font)), + (r = Math.sqrt(c * c + d * d)), + (l = Y( + Math.min( + Math.asin(J((h.highest.height + 6) / o, -1, 1)), + Math.asin(J(a / r, -1, 1)) - Math.asin(J(d / r, -1, 1)) + ) + )), + (l = Math.max(s, Math.min(n, l)))), + (this.labelRotation = l); + } + afterCalculateLabelRotation() { + d(this.options.afterCalculateLabelRotation, [this]); + } + afterAutoSkip() {} + beforeFit() { + d(this.options.beforeFit, [this]); + } + fit() { + const t = { width: 0, height: 0 }, + { + chart: e, + options: { ticks: i, title: s, grid: n }, + } = this, + o = this._isVisible(), + a = this.isHorizontal(); + if (o) { + const o = Gs(s, e.options.font); + if ( + (a + ? ((t.width = this.maxWidth), (t.height = Ks(n) + o)) + : ((t.height = this.maxHeight), (t.width = Ks(n) + o)), + i.display && this.ticks.length) + ) { + const { + first: e, + last: s, + widest: n, + highest: o, + } = this._getLabelSizes(), + r = 2 * i.padding, + l = $(this.labelRotation), + h = Math.cos(l), + c = Math.sin(l); + if (a) { + const e = i.mirror ? 0 : c * n.width + h * o.height; + t.height = Math.min(this.maxHeight, t.height + e + r); + } else { + const e = i.mirror ? 0 : h * n.width + c * o.height; + t.width = Math.min(this.maxWidth, t.width + e + r); + } + this._calculatePadding(e, s, c, h); + } + } + this._handleMargins(), + a + ? ((this.width = this._length = + e.width - this._margins.left - this._margins.right), + (this.height = t.height)) + : ((this.width = t.width), + (this.height = this._length = + e.height - this._margins.top - this._margins.bottom)); + } + _calculatePadding(t, e, i, s) { + const { + ticks: { align: n, padding: o }, + position: a, + } = this.options, + r = 0 !== this.labelRotation, + l = "top" !== a && "x" === this.axis; + if (this.isHorizontal()) { + const a = this.getPixelForTick(0) - this.left, + h = this.right - this.getPixelForTick(this.ticks.length - 1); + let c = 0, + d = 0; + r + ? l + ? ((c = s * t.width), (d = i * e.height)) + : ((c = i * t.height), (d = s * e.width)) + : "start" === n + ? (d = e.width) + : "end" === n + ? (c = t.width) + : "inner" !== n && ((c = t.width / 2), (d = e.width / 2)), + (this.paddingLeft = Math.max( + ((c - a + o) * this.width) / (this.width - a), + 0 + )), + (this.paddingRight = Math.max( + ((d - h + o) * this.width) / (this.width - h), + 0 + )); + } else { + let i = e.height / 2, + s = t.height / 2; + "start" === n + ? ((i = 0), (s = t.height)) + : "end" === n && ((i = e.height), (s = 0)), + (this.paddingTop = i + o), + (this.paddingBottom = s + o); + } + } + _handleMargins() { + this._margins && + ((this._margins.left = Math.max(this.paddingLeft, this._margins.left)), + (this._margins.top = Math.max(this.paddingTop, this._margins.top)), + (this._margins.right = Math.max( + this.paddingRight, + this._margins.right + )), + (this._margins.bottom = Math.max( + this.paddingBottom, + this._margins.bottom + ))); + } + afterFit() { + d(this.options.afterFit, [this]); + } + isHorizontal() { + const { axis: t, position: e } = this.options; + return "top" === e || "bottom" === e || "x" === t; + } + isFullSize() { + return this.options.fullSize; + } + _convertTicksToLabels(t) { + let e, i; + for ( + this.beforeTickToLabelConversion(), + this.generateTickLabels(t), + e = 0, + i = t.length; + e < i; + e++ + ) + s(t[e].label) && (t.splice(e, 1), i--, e--); + this.afterTickToLabelConversion(); + } + _getLabelSizes() { + let t = this._labelSizes; + if (!t) { + const e = this.options.ticks.sampleSize; + let i = this.ticks; + e < i.length && (i = Xs(i, e)), + (this._labelSizes = t = + this._computeLabelSizes( + i, + i.length, + this.options.ticks.maxTicksLimit + )); + } + return t; + } + _computeLabelSizes(t, e, i) { + const { ctx: o, _longestTextCache: a } = this, + r = [], + l = [], + h = Math.floor(e / Us(e, i)); + let c, + d, + f, + g, + p, + m, + b, + x, + _, + y, + v, + M = 0, + w = 0; + for (c = 0; c < e; c += h) { + if ( + ((g = t[c].label), + (p = this._resolveTickFontOptions(c)), + (o.font = m = p.string), + (b = a[m] = a[m] || { data: {}, gc: [] }), + (x = p.lineHeight), + (_ = y = 0), + s(g) || n(g)) + ) { + if (n(g)) + for (d = 0, f = g.length; d < f; ++d) + (v = g[d]), + s(v) || n(v) || ((_ = Ce(o, b.data, b.gc, _, v)), (y += x)); + } else (_ = Ce(o, b.data, b.gc, _, g)), (y = x); + r.push(_), l.push(y), (M = Math.max(_, M)), (w = Math.max(y, w)); + } + !(function (t, e) { + u(t, (t) => { + const i = t.gc, + s = i.length / 2; + let n; + if (s > e) { + for (n = 0; n < s; ++n) delete t.data[i[n]]; + i.splice(0, s); + } + }); + })(a, e); + const k = r.indexOf(M), + S = l.indexOf(w), + P = (t) => ({ width: r[t] || 0, height: l[t] || 0 }); + return { + first: P(0), + last: P(e - 1), + widest: P(k), + highest: P(S), + widths: r, + heights: l, + }; + } + getLabelForValue(t) { + return t; + } + getPixelForValue(t, e) { + return NaN; + } + getValueForPixel(t) {} + getPixelForTick(t) { + const e = this.ticks; + return t < 0 || t > e.length - 1 + ? null + : this.getPixelForValue(e[t].value); + } + getPixelForDecimal(t) { + this._reversePixels && (t = 1 - t); + const e = this._startPixel + t * this._length; + return Q(this._alignToPixels ? Ae(this.chart, e, 0) : e); + } + getDecimalForPixel(t) { + const e = (t - this._startPixel) / this._length; + return this._reversePixels ? 1 - e : e; + } + getBasePixel() { + return this.getPixelForValue(this.getBaseValue()); + } + getBaseValue() { + const { min: t, max: e } = this; + return t < 0 && e < 0 ? e : t > 0 && e > 0 ? t : 0; + } + getContext(t) { + const e = this.ticks || []; + if (t >= 0 && t < e.length) { + const i = e[t]; + return ( + i.$context || + (i.$context = (function (t, e, i) { + return Ci(t, { tick: i, index: e, type: "tick" }); + })(this.getContext(), t, i)) + ); + } + return ( + this.$context || + (this.$context = Ci(this.chart.getContext(), { + scale: this, + type: "scale", + })) + ); + } + _tickSize() { + const t = this.options.ticks, + e = $(this.labelRotation), + i = Math.abs(Math.cos(e)), + s = Math.abs(Math.sin(e)), + n = this._getLabelSizes(), + o = t.autoSkipPadding || 0, + a = n ? n.widest.width + o : 0, + r = n ? n.highest.height + o : 0; + return this.isHorizontal() + ? r * i > a * s + ? a / i + : r / s + : r * s < a * i + ? r / i + : a / s; + } + _isVisible() { + const t = this.options.display; + return "auto" !== t ? !!t : this.getMatchingVisibleMetas().length > 0; + } + _computeGridLineItems(t) { + const e = this.axis, + i = this.chart, + s = this.options, + { grid: n, position: a, border: r } = s, + h = n.offset, + c = this.isHorizontal(), + d = this.ticks.length + (h ? 1 : 0), + u = Ks(n), + f = [], + g = r.setContext(this.getContext()), + p = g.display ? g.width : 0, + m = p / 2, + b = function (t) { + return Ae(i, t, p); + }; + let x, _, y, v, M, w, k, S, P, D, C, O; + if ("top" === a) + (x = b(this.bottom)), + (w = this.bottom - u), + (S = x - m), + (D = b(t.top) + m), + (O = t.bottom); + else if ("bottom" === a) + (x = b(this.top)), + (D = t.top), + (O = b(t.bottom) - m), + (w = x + m), + (S = this.top + u); + else if ("left" === a) + (x = b(this.right)), + (M = this.right - u), + (k = x - m), + (P = b(t.left) + m), + (C = t.right); + else if ("right" === a) + (x = b(this.left)), + (P = t.left), + (C = b(t.right) - m), + (M = x + m), + (k = this.left + u); + else if ("x" === e) { + if ("center" === a) x = b((t.top + t.bottom) / 2 + 0.5); + else if (o(a)) { + const t = Object.keys(a)[0], + e = a[t]; + x = b(this.chart.scales[t].getPixelForValue(e)); + } + (D = t.top), (O = t.bottom), (w = x + m), (S = w + u); + } else if ("y" === e) { + if ("center" === a) x = b((t.left + t.right) / 2); + else if (o(a)) { + const t = Object.keys(a)[0], + e = a[t]; + x = b(this.chart.scales[t].getPixelForValue(e)); + } + (M = x - m), (k = M - u), (P = t.left), (C = t.right); + } + const A = l(s.ticks.maxTicksLimit, d), + T = Math.max(1, Math.ceil(d / A)); + for (_ = 0; _ < d; _ += T) { + const t = this.getContext(_), + e = n.setContext(t), + s = r.setContext(t), + o = e.lineWidth, + a = e.color, + l = s.dash || [], + d = s.dashOffset, + u = e.tickWidth, + g = e.tickColor, + p = e.tickBorderDash || [], + m = e.tickBorderDashOffset; + (y = qs(this, _, h)), + void 0 !== y && + ((v = Ae(i, y, o)), + c ? (M = k = P = C = v) : (w = S = D = O = v), + f.push({ + tx1: M, + ty1: w, + tx2: k, + ty2: S, + x1: P, + y1: D, + x2: C, + y2: O, + width: o, + color: a, + borderDash: l, + borderDashOffset: d, + tickWidth: u, + tickColor: g, + tickBorderDash: p, + tickBorderDashOffset: m, + })); + } + return (this._ticksLength = d), (this._borderValue = x), f; + } + _computeLabelItems(t) { + const e = this.axis, + i = this.options, + { position: s, ticks: a } = i, + r = this.isHorizontal(), + l = this.ticks, + { align: h, crossAlign: c, padding: d, mirror: u } = a, + f = Ks(i.grid), + g = f + d, + p = u ? -d : g, + m = -$(this.labelRotation), + b = []; + let x, + _, + y, + v, + M, + w, + k, + S, + P, + D, + C, + O, + A = "middle"; + if ("top" === s) + (w = this.bottom - p), (k = this._getXAxisLabelAlignment()); + else if ("bottom" === s) + (w = this.top + p), (k = this._getXAxisLabelAlignment()); + else if ("left" === s) { + const t = this._getYAxisLabelAlignment(f); + (k = t.textAlign), (M = t.x); + } else if ("right" === s) { + const t = this._getYAxisLabelAlignment(f); + (k = t.textAlign), (M = t.x); + } else if ("x" === e) { + if ("center" === s) w = (t.top + t.bottom) / 2 + g; + else if (o(s)) { + const t = Object.keys(s)[0], + e = s[t]; + w = this.chart.scales[t].getPixelForValue(e) + g; + } + k = this._getXAxisLabelAlignment(); + } else if ("y" === e) { + if ("center" === s) M = (t.left + t.right) / 2 - g; + else if (o(s)) { + const t = Object.keys(s)[0], + e = s[t]; + M = this.chart.scales[t].getPixelForValue(e); + } + k = this._getYAxisLabelAlignment(f).textAlign; + } + "y" === e && + ("start" === h ? (A = "top") : "end" === h && (A = "bottom")); + const T = this._getLabelSizes(); + for (x = 0, _ = l.length; x < _; ++x) { + (y = l[x]), (v = y.label); + const t = a.setContext(this.getContext(x)); + (S = this.getPixelForTick(x) + a.labelOffset), + (P = this._resolveTickFontOptions(x)), + (D = P.lineHeight), + (C = n(v) ? v.length : 1); + const e = C / 2, + i = t.color, + o = t.textStrokeColor, + h = t.textStrokeWidth; + let d, + f = k; + if ( + (r + ? ((M = S), + "inner" === k && + (f = + x === _ - 1 + ? this.options.reverse + ? "left" + : "right" + : 0 === x + ? this.options.reverse + ? "right" + : "left" + : "center"), + (O = + "top" === s + ? "near" === c || 0 !== m + ? -C * D + D / 2 + : "center" === c + ? -T.highest.height / 2 - e * D + D + : -T.highest.height + D / 2 + : "near" === c || 0 !== m + ? D / 2 + : "center" === c + ? T.highest.height / 2 - e * D + : T.highest.height - C * D), + u && (O *= -1), + 0 === m || t.showLabelBackdrop || (M += (D / 2) * Math.sin(m))) + : ((w = S), (O = ((1 - C) * D) / 2)), + t.showLabelBackdrop) + ) { + const e = ki(t.backdropPadding), + i = T.heights[x], + s = T.widths[x]; + let n = O - e.top, + o = 0 - e.left; + switch (A) { + case "middle": + n -= i / 2; + break; + case "bottom": + n -= i; + } + switch (k) { + case "center": + o -= s / 2; + break; + case "right": + o -= s; + break; + case "inner": + x === _ - 1 ? (o -= s) : x > 0 && (o -= s / 2); + } + d = { + left: o, + top: n, + width: s + e.width, + height: i + e.height, + color: t.backdropColor, + }; + } + b.push({ + label: v, + font: P, + textOffset: O, + options: { + rotation: m, + color: i, + strokeColor: o, + strokeWidth: h, + textAlign: f, + textBaseline: A, + translation: [M, w], + backdrop: d, + }, + }); + } + return b; + } + _getXAxisLabelAlignment() { + const { position: t, ticks: e } = this.options; + if (-$(this.labelRotation)) return "top" === t ? "left" : "right"; + let i = "center"; + return ( + "start" === e.align + ? (i = "left") + : "end" === e.align + ? (i = "right") + : "inner" === e.align && (i = "inner"), + i + ); + } + _getYAxisLabelAlignment(t) { + const { + position: e, + ticks: { crossAlign: i, mirror: s, padding: n }, + } = this.options, + o = t + n, + a = this._getLabelSizes().widest.width; + let r, l; + return ( + "left" === e + ? s + ? ((l = this.right + n), + "near" === i + ? (r = "left") + : "center" === i + ? ((r = "center"), (l += a / 2)) + : ((r = "right"), (l += a))) + : ((l = this.right - o), + "near" === i + ? (r = "right") + : "center" === i + ? ((r = "center"), (l -= a / 2)) + : ((r = "left"), (l = this.left))) + : "right" === e + ? s + ? ((l = this.left + n), + "near" === i + ? (r = "right") + : "center" === i + ? ((r = "center"), (l -= a / 2)) + : ((r = "left"), (l -= a))) + : ((l = this.left + o), + "near" === i + ? (r = "left") + : "center" === i + ? ((r = "center"), (l += a / 2)) + : ((r = "right"), (l = this.right))) + : (r = "right"), + { textAlign: r, x: l } + ); + } + _computeLabelArea() { + if (this.options.ticks.mirror) return; + const t = this.chart, + e = this.options.position; + return "left" === e || "right" === e + ? { top: 0, left: this.left, bottom: t.height, right: this.right } + : "top" === e || "bottom" === e + ? { top: this.top, left: 0, bottom: this.bottom, right: t.width } + : void 0; + } + drawBackground() { + const { + ctx: t, + options: { backgroundColor: e }, + left: i, + top: s, + width: n, + height: o, + } = this; + e && (t.save(), (t.fillStyle = e), t.fillRect(i, s, n, o), t.restore()); + } + getLineWidthForValue(t) { + const e = this.options.grid; + if (!this._isVisible() || !e.display) return 0; + const i = this.ticks.findIndex((e) => e.value === t); + if (i >= 0) { + return e.setContext(this.getContext(i)).lineWidth; + } + return 0; + } + drawGrid(t) { + const e = this.options.grid, + i = this.ctx, + s = + this._gridLineItems || + (this._gridLineItems = this._computeGridLineItems(t)); + let n, o; + const a = (t, e, s) => { + s.width && + s.color && + (i.save(), + (i.lineWidth = s.width), + (i.strokeStyle = s.color), + i.setLineDash(s.borderDash || []), + (i.lineDashOffset = s.borderDashOffset), + i.beginPath(), + i.moveTo(t.x, t.y), + i.lineTo(e.x, e.y), + i.stroke(), + i.restore()); + }; + if (e.display) + for (n = 0, o = s.length; n < o; ++n) { + const t = s[n]; + e.drawOnChartArea && a({ x: t.x1, y: t.y1 }, { x: t.x2, y: t.y2 }, t), + e.drawTicks && + a( + { x: t.tx1, y: t.ty1 }, + { x: t.tx2, y: t.ty2 }, + { + color: t.tickColor, + width: t.tickWidth, + borderDash: t.tickBorderDash, + borderDashOffset: t.tickBorderDashOffset, + } + ); + } + } + drawBorder() { + const { + chart: t, + ctx: e, + options: { border: i, grid: s }, + } = this, + n = i.setContext(this.getContext()), + o = i.display ? n.width : 0; + if (!o) return; + const a = s.setContext(this.getContext(0)).lineWidth, + r = this._borderValue; + let l, h, c, d; + this.isHorizontal() + ? ((l = Ae(t, this.left, o) - o / 2), + (h = Ae(t, this.right, a) + a / 2), + (c = d = r)) + : ((c = Ae(t, this.top, o) - o / 2), + (d = Ae(t, this.bottom, a) + a / 2), + (l = h = r)), + e.save(), + (e.lineWidth = n.width), + (e.strokeStyle = n.color), + e.beginPath(), + e.moveTo(l, c), + e.lineTo(h, d), + e.stroke(), + e.restore(); + } + drawLabels(t) { + if (!this.options.ticks.display) return; + const e = this.ctx, + i = this._computeLabelArea(); + i && Ie(e, i); + const s = this.getLabelItems(t); + for (const t of s) { + const i = t.options, + s = t.font; + Ne(e, t.label, 0, t.textOffset, s, i); + } + i && ze(e); + } + drawTitle() { + const { + ctx: t, + options: { position: e, title: i, reverse: s }, + } = this; + if (!i.display) return; + const a = Si(i.font), + r = ki(i.padding), + l = i.align; + let h = a.lineHeight / 2; + "bottom" === e || "center" === e || o(e) + ? ((h += r.bottom), + n(i.text) && (h += a.lineHeight * (i.text.length - 1))) + : (h += r.top); + const { + titleX: c, + titleY: d, + maxWidth: u, + rotation: f, + } = (function (t, e, i, s) { + const { top: n, left: a, bottom: r, right: l, chart: h } = t, + { chartArea: c, scales: d } = h; + let u, + f, + g, + p = 0; + const m = r - n, + b = l - a; + if (t.isHorizontal()) { + if (((f = ft(s, a, l)), o(i))) { + const t = Object.keys(i)[0], + s = i[t]; + g = d[t].getPixelForValue(s) + m - e; + } else + g = "center" === i ? (c.bottom + c.top) / 2 + m - e : Ys(t, i, e); + u = l - a; + } else { + if (o(i)) { + const t = Object.keys(i)[0], + s = i[t]; + f = d[t].getPixelForValue(s) - b + e; + } else + f = "center" === i ? (c.left + c.right) / 2 - b + e : Ys(t, i, e); + (g = ft(s, r, n)), (p = "left" === i ? -E : E); + } + return { titleX: f, titleY: g, maxWidth: u, rotation: p }; + })(this, h, e, l); + Ne(t, i.text, 0, 0, a, { + color: i.color, + maxWidth: u, + rotation: f, + textAlign: Zs(l, e, s), + textBaseline: "middle", + translation: [c, d], + }); + } + draw(t) { + this._isVisible() && + (this.drawBackground(), + this.drawGrid(t), + this.drawBorder(), + this.drawTitle(), + this.drawLabels(t)); + } + _layers() { + const t = this.options, + e = (t.ticks && t.ticks.z) || 0, + i = l(t.grid && t.grid.z, -1), + s = l(t.border && t.border.z, 0); + return this._isVisible() && this.draw === Js.prototype.draw + ? [ + { + z: i, + draw: (t) => { + this.drawBackground(), this.drawGrid(t), this.drawTitle(); + }, + }, + { + z: s, + draw: () => { + this.drawBorder(); + }, + }, + { + z: e, + draw: (t) => { + this.drawLabels(t); + }, + }, + ] + : [ + { + z: e, + draw: (t) => { + this.draw(t); + }, + }, + ]; + } + getMatchingVisibleMetas(t) { + const e = this.chart.getSortedVisibleDatasetMetas(), + i = this.axis + "AxisID", + s = []; + let n, o; + for (n = 0, o = e.length; n < o; ++n) { + const o = e[n]; + o[i] !== this.id || (t && o.type !== t) || s.push(o); + } + return s; + } + _resolveTickFontOptions(t) { + return Si(this.options.ticks.setContext(this.getContext(t)).font); + } + _maxDigits() { + const t = this._resolveTickFontOptions(0).lineHeight; + return (this.isHorizontal() ? this.width : this.height) / t; + } + } + class Qs { + constructor(t, e, i) { + (this.type = t), + (this.scope = e), + (this.override = i), + (this.items = Object.create(null)); + } + isForType(t) { + return Object.prototype.isPrototypeOf.call( + this.type.prototype, + t.prototype + ); + } + register(t) { + const e = Object.getPrototypeOf(t); + let i; + (function (t) { + return "id" in t && "defaults" in t; + })(e) && (i = this.register(e)); + const s = this.items, + n = t.id, + o = this.scope + "." + n; + if (!n) throw new Error("class does not have id: " + t); + return ( + n in s || + ((s[n] = t), + (function (t, e, i) { + const s = b(Object.create(null), [ + i ? ue.get(i) : {}, + ue.get(e), + t.defaults, + ]); + ue.set(e, s), + t.defaultRoutes && + (function (t, e) { + Object.keys(e).forEach((i) => { + const s = i.split("."), + n = s.pop(), + o = [t].concat(s).join("."), + a = e[i].split("."), + r = a.pop(), + l = a.join("."); + ue.route(o, n, l, r); + }); + })(e, t.defaultRoutes); + t.descriptors && ue.describe(e, t.descriptors); + })(t, o, i), + this.override && ue.override(t.id, t.overrides)), + o + ); + } + get(t) { + return this.items[t]; + } + unregister(t) { + const e = this.items, + i = t.id, + s = this.scope; + i in e && delete e[i], + s && i in ue[s] && (delete ue[s][i], this.override && delete re[i]); + } + } + class tn { + constructor() { + (this.controllers = new Qs(Ns, "datasets", !0)), + (this.elements = new Qs(Hs, "elements")), + (this.plugins = new Qs(Object, "plugins")), + (this.scales = new Qs(Js, "scales")), + (this._typedRegistries = [ + this.controllers, + this.scales, + this.elements, + ]); + } + add(...t) { + this._each("register", t); + } + remove(...t) { + this._each("unregister", t); + } + addControllers(...t) { + this._each("register", t, this.controllers); + } + addElements(...t) { + this._each("register", t, this.elements); + } + addPlugins(...t) { + this._each("register", t, this.plugins); + } + addScales(...t) { + this._each("register", t, this.scales); + } + getController(t) { + return this._get(t, this.controllers, "controller"); + } + getElement(t) { + return this._get(t, this.elements, "element"); + } + getPlugin(t) { + return this._get(t, this.plugins, "plugin"); + } + getScale(t) { + return this._get(t, this.scales, "scale"); + } + removeControllers(...t) { + this._each("unregister", t, this.controllers); + } + removeElements(...t) { + this._each("unregister", t, this.elements); + } + removePlugins(...t) { + this._each("unregister", t, this.plugins); + } + removeScales(...t) { + this._each("unregister", t, this.scales); + } + _each(t, e, i) { + [...e].forEach((e) => { + const s = i || this._getRegistryForType(e); + i || s.isForType(e) || (s === this.plugins && e.id) + ? this._exec(t, s, e) + : u(e, (e) => { + const s = i || this._getRegistryForType(e); + this._exec(t, s, e); + }); + }); + } + _exec(t, e, i) { + const s = w(t); + d(i["before" + s], [], i), e[t](i), d(i["after" + s], [], i); + } + _getRegistryForType(t) { + for (let e = 0; e < this._typedRegistries.length; e++) { + const i = this._typedRegistries[e]; + if (i.isForType(t)) return i; + } + return this.plugins; + } + _get(t, e, i) { + const s = e.get(t); + if (void 0 === s) + throw new Error('"' + t + '" is not a registered ' + i + "."); + return s; + } + } + var en = new tn(); + class sn { + constructor() { + this._init = []; + } + notify(t, e, i, s) { + "beforeInit" === e && + ((this._init = this._createDescriptors(t, !0)), + this._notify(this._init, t, "install")); + const n = s ? this._descriptors(t).filter(s) : this._descriptors(t), + o = this._notify(n, t, e, i); + return ( + "afterDestroy" === e && + (this._notify(n, t, "stop"), + this._notify(this._init, t, "uninstall")), + o + ); + } + _notify(t, e, i, s) { + s = s || {}; + for (const n of t) { + const t = n.plugin; + if (!1 === d(t[i], [e, s, n.options], t) && s.cancelable) return !1; + } + return !0; + } + invalidate() { + s(this._cache) || + ((this._oldCache = this._cache), (this._cache = void 0)); + } + _descriptors(t) { + if (this._cache) return this._cache; + const e = (this._cache = this._createDescriptors(t)); + return this._notifyStateChanges(t), e; + } + _createDescriptors(t, e) { + const i = t && t.config, + s = l(i.options && i.options.plugins, {}), + n = (function (t) { + const e = {}, + i = [], + s = Object.keys(en.plugins.items); + for (let t = 0; t < s.length; t++) i.push(en.getPlugin(s[t])); + const n = t.plugins || []; + for (let t = 0; t < n.length; t++) { + const s = n[t]; + -1 === i.indexOf(s) && (i.push(s), (e[s.id] = !0)); + } + return { plugins: i, localIds: e }; + })(i); + return !1 !== s || e + ? (function (t, { plugins: e, localIds: i }, s, n) { + const o = [], + a = t.getContext(); + for (const r of e) { + const e = r.id, + l = nn(s[e], n); + null !== l && + o.push({ + plugin: r, + options: on(t.config, { plugin: r, local: i[e] }, l, a), + }); + } + return o; + })(t, n, s, e) + : []; + } + _notifyStateChanges(t) { + const e = this._oldCache || [], + i = this._cache, + s = (t, e) => + t.filter((t) => !e.some((e) => t.plugin.id === e.plugin.id)); + this._notify(s(e, i), t, "stop"), this._notify(s(i, e), t, "start"); + } + } + function nn(t, e) { + return e || !1 !== t ? (!0 === t ? {} : t) : null; + } + function on(t, { plugin: e, local: i }, s, n) { + const o = t.pluginScopeKeys(e), + a = t.getOptionScopes(s, o); + return ( + i && e.defaults && a.push(e.defaults), + t.createResolver(a, n, [""], { + scriptable: !1, + indexable: !1, + allKeys: !0, + }) + ); + } + function an(t, e) { + const i = ue.datasets[t] || {}; + return ( + ((e.datasets || {})[t] || {}).indexAxis || + e.indexAxis || + i.indexAxis || + "x" + ); + } + function rn(t) { + if ("x" === t || "y" === t || "r" === t) return t; + } + function ln(t, ...e) { + if (rn(t)) return t; + for (const s of e) { + const e = + s.axis || + ("top" === (i = s.position) || "bottom" === i + ? "x" + : "left" === i || "right" === i + ? "y" + : void 0) || + (t.length > 1 && rn(t[0].toLowerCase())); + if (e) return e; + } + var i; + throw new Error( + `Cannot determine type of '${t}' axis. Please provide 'axis' or 'position' option.` + ); + } + function hn(t, e, i) { + if (i[e + "AxisID"] === t) return { axis: e }; + } + function cn(t, e) { + const i = re[t.type] || { scales: {} }, + s = e.scales || {}, + n = an(t.type, e), + a = Object.create(null); + return ( + Object.keys(s).forEach((e) => { + const r = s[e]; + if (!o(r)) + return console.error(`Invalid scale configuration for scale: ${e}`); + if (r._proxy) + return console.warn( + `Ignoring resolver passed as options for scale: ${e}` + ); + const l = ln( + e, + r, + (function (t, e) { + if (e.data && e.data.datasets) { + const i = e.data.datasets.filter( + (e) => e.xAxisID === t || e.yAxisID === t + ); + if (i.length) return hn(t, "x", i[0]) || hn(t, "y", i[0]); + } + return {}; + })(e, t), + ue.scales[r.type] + ), + h = (function (t, e) { + return t === e ? "_index_" : "_value_"; + })(l, n), + c = i.scales || {}; + a[e] = x(Object.create(null), [{ axis: l }, r, c[l], c[h]]); + }), + t.data.datasets.forEach((i) => { + const n = i.type || t.type, + o = i.indexAxis || an(n, e), + r = (re[n] || {}).scales || {}; + Object.keys(r).forEach((t) => { + const e = (function (t, e) { + let i = t; + return ( + "_index_" === t + ? (i = e) + : "_value_" === t && (i = "x" === e ? "y" : "x"), + i + ); + })(t, o), + n = i[e + "AxisID"] || e; + (a[n] = a[n] || Object.create(null)), + x(a[n], [{ axis: e }, s[n], r[t]]); + }); + }), + Object.keys(a).forEach((t) => { + const e = a[t]; + x(e, [ue.scales[e.type], ue.scale]); + }), + a + ); + } + function dn(t) { + const e = t.options || (t.options = {}); + (e.plugins = l(e.plugins, {})), (e.scales = cn(t, e)); + } + function un(t) { + return ( + ((t = t || {}).datasets = t.datasets || []), + (t.labels = t.labels || []), + t + ); + } + const fn = new Map(), + gn = new Set(); + function pn(t, e) { + let i = fn.get(t); + return i || ((i = e()), fn.set(t, i), gn.add(i)), i; + } + const mn = (t, e, i) => { + const s = M(e, i); + void 0 !== s && t.add(s); + }; + class bn { + constructor(t) { + (this._config = (function (t) { + return ((t = t || {}).data = un(t.data)), dn(t), t; + })(t)), + (this._scopeCache = new Map()), + (this._resolverCache = new Map()); + } + get platform() { + return this._config.platform; + } + get type() { + return this._config.type; + } + set type(t) { + this._config.type = t; + } + get data() { + return this._config.data; + } + set data(t) { + this._config.data = un(t); + } + get options() { + return this._config.options; + } + set options(t) { + this._config.options = t; + } + get plugins() { + return this._config.plugins; + } + update() { + const t = this._config; + this.clearCache(), dn(t); + } + clearCache() { + this._scopeCache.clear(), this._resolverCache.clear(); + } + datasetScopeKeys(t) { + return pn(t, () => [[`datasets.${t}`, ""]]); + } + datasetAnimationScopeKeys(t, e) { + return pn(`${t}.transition.${e}`, () => [ + [`datasets.${t}.transitions.${e}`, `transitions.${e}`], + [`datasets.${t}`, ""], + ]); + } + datasetElementScopeKeys(t, e) { + return pn(`${t}-${e}`, () => [ + [`datasets.${t}.elements.${e}`, `datasets.${t}`, `elements.${e}`, ""], + ]); + } + pluginScopeKeys(t) { + const e = t.id; + return pn(`${this.type}-plugin-${e}`, () => [ + [`plugins.${e}`, ...(t.additionalOptionScopes || [])], + ]); + } + _cachedScopes(t, e) { + const i = this._scopeCache; + let s = i.get(t); + return (s && !e) || ((s = new Map()), i.set(t, s)), s; + } + getOptionScopes(t, e, i) { + const { options: s, type: n } = this, + o = this._cachedScopes(t, i), + a = o.get(e); + if (a) return a; + const r = new Set(); + e.forEach((e) => { + t && (r.add(t), e.forEach((e) => mn(r, t, e))), + e.forEach((t) => mn(r, s, t)), + e.forEach((t) => mn(r, re[n] || {}, t)), + e.forEach((t) => mn(r, ue, t)), + e.forEach((t) => mn(r, le, t)); + }); + const l = Array.from(r); + return ( + 0 === l.length && l.push(Object.create(null)), + gn.has(e) && o.set(e, l), + l + ); + } + chartOptionScopes() { + const { options: t, type: e } = this; + return [t, re[e] || {}, ue.datasets[e] || {}, { type: e }, ue, le]; + } + resolveNamedOptions(t, e, i, s = [""]) { + const o = { $shared: !0 }, + { resolver: a, subPrefixes: r } = xn(this._resolverCache, t, s); + let l = a; + if ( + (function (t, e) { + const { isScriptable: i, isIndexable: s } = Ye(t); + for (const o of e) { + const e = i(o), + a = s(o), + r = (a || e) && t[o]; + if ((e && (S(r) || _n(r))) || (a && n(r))) return !0; + } + return !1; + })(a, e) + ) { + o.$shared = !1; + l = $e(a, (i = S(i) ? i() : i), this.createResolver(t, i, r)); + } + for (const t of e) o[t] = l[t]; + return o; + } + createResolver(t, e, i = [""], s) { + const { resolver: n } = xn(this._resolverCache, t, i); + return o(e) ? $e(n, e, void 0, s) : n; + } + } + function xn(t, e, i) { + let s = t.get(e); + s || ((s = new Map()), t.set(e, s)); + const n = i.join(); + let o = s.get(n); + if (!o) { + (o = { + resolver: je(e, i), + subPrefixes: i.filter((t) => !t.toLowerCase().includes("hover")), + }), + s.set(n, o); + } + return o; + } + const _n = (t) => o(t) && Object.getOwnPropertyNames(t).some((e) => S(t[e])); + const yn = ["top", "bottom", "left", "right", "chartArea"]; + function vn(t, e) { + return "top" === t || "bottom" === t || (-1 === yn.indexOf(t) && "x" === e); + } + function Mn(t, e) { + return function (i, s) { + return i[t] === s[t] ? i[e] - s[e] : i[t] - s[t]; + }; + } + function wn(t) { + const e = t.chart, + i = e.options.animation; + e.notifyPlugins("afterRender"), d(i && i.onComplete, [t], e); + } + function kn(t) { + const e = t.chart, + i = e.options.animation; + d(i && i.onProgress, [t], e); + } + function Sn(t) { + return ( + fe() && "string" == typeof t + ? (t = document.getElementById(t)) + : t && t.length && (t = t[0]), + t && t.canvas && (t = t.canvas), + t + ); + } + const Pn = {}, + Dn = (t) => { + const e = Sn(t); + return Object.values(Pn) + .filter((t) => t.canvas === e) + .pop(); + }; + function Cn(t, e, i) { + const s = Object.keys(t); + for (const n of s) { + const s = +n; + if (s >= e) { + const o = t[n]; + delete t[n], (i > 0 || s > e) && (t[s + i] = o); + } + } + } + function On(t, e, i) { + return t.options.clip ? t[i] : e[i]; + } + class An { + static defaults = ue; + static instances = Pn; + static overrides = re; + static registry = en; + static version = "4.4.7"; + static getChart = Dn; + static register(...t) { + en.add(...t), Tn(); + } + static unregister(...t) { + en.remove(...t), Tn(); + } + constructor(t, e) { + const s = (this.config = new bn(e)), + n = Sn(t), + o = Dn(n); + if (o) + throw new Error( + "Canvas is already in use. Chart with ID '" + + o.id + + "' must be destroyed before the canvas with ID '" + + o.canvas.id + + "' can be reused." + ); + const a = s.createResolver(s.chartOptionScopes(), this.getContext()); + (this.platform = new (s.platform || ks(n))()), + this.platform.updateConfig(s); + const r = this.platform.acquireContext(n, a.aspectRatio), + l = r && r.canvas, + h = l && l.height, + c = l && l.width; + (this.id = i()), + (this.ctx = r), + (this.canvas = l), + (this.width = c), + (this.height = h), + (this._options = a), + (this._aspectRatio = this.aspectRatio), + (this._layers = []), + (this._metasets = []), + (this._stacks = void 0), + (this.boxes = []), + (this.currentDevicePixelRatio = void 0), + (this.chartArea = void 0), + (this._active = []), + (this._lastEvent = void 0), + (this._listeners = {}), + (this._responsiveListeners = void 0), + (this._sortedMetasets = []), + (this.scales = {}), + (this._plugins = new sn()), + (this.$proxies = {}), + (this._hiddenIndices = {}), + (this.attached = !1), + (this._animationsDisabled = void 0), + (this.$context = void 0), + (this._doResize = dt((t) => this.update(t), a.resizeDelay || 0)), + (this._dataChanges = []), + (Pn[this.id] = this), + r && l + ? (xt.listen(this, "complete", wn), + xt.listen(this, "progress", kn), + this._initialize(), + this.attached && this.update()) + : console.error( + "Failed to create chart: can't acquire context from the given item" + ); + } + get aspectRatio() { + const { + options: { aspectRatio: t, maintainAspectRatio: e }, + width: i, + height: n, + _aspectRatio: o, + } = this; + return s(t) ? (e && o ? o : n ? i / n : null) : t; + } + get data() { + return this.config.data; + } + set data(t) { + this.config.data = t; + } + get options() { + return this._options; + } + set options(t) { + this.config.options = t; + } + get registry() { + return en; + } + _initialize() { + return ( + this.notifyPlugins("beforeInit"), + this.options.responsive + ? this.resize() + : ke(this, this.options.devicePixelRatio), + this.bindEvents(), + this.notifyPlugins("afterInit"), + this + ); + } + clear() { + return Te(this.canvas, this.ctx), this; + } + stop() { + return xt.stop(this), this; + } + resize(t, e) { + xt.running(this) + ? (this._resizeBeforeDraw = { width: t, height: e }) + : this._resize(t, e); + } + _resize(t, e) { + const i = this.options, + s = this.canvas, + n = i.maintainAspectRatio && this.aspectRatio, + o = this.platform.getMaximumSize(s, t, e, n), + a = i.devicePixelRatio || this.platform.getDevicePixelRatio(), + r = this.width ? "resize" : "attach"; + (this.width = o.width), + (this.height = o.height), + (this._aspectRatio = this.aspectRatio), + ke(this, a, !0) && + (this.notifyPlugins("resize", { size: o }), + d(i.onResize, [this, o], this), + this.attached && this._doResize(r) && this.render()); + } + ensureScalesHaveIDs() { + u(this.options.scales || {}, (t, e) => { + t.id = e; + }); + } + buildOrUpdateScales() { + const t = this.options, + e = t.scales, + i = this.scales, + s = Object.keys(i).reduce((t, e) => ((t[e] = !1), t), {}); + let n = []; + e && + (n = n.concat( + Object.keys(e).map((t) => { + const i = e[t], + s = ln(t, i), + n = "r" === s, + o = "x" === s; + return { + options: i, + dposition: n ? "chartArea" : o ? "bottom" : "left", + dtype: n ? "radialLinear" : o ? "category" : "linear", + }; + }) + )), + u(n, (e) => { + const n = e.options, + o = n.id, + a = ln(o, n), + r = l(n.type, e.dtype); + (void 0 !== n.position && vn(n.position, a) === vn(e.dposition)) || + (n.position = e.dposition), + (s[o] = !0); + let h = null; + if (o in i && i[o].type === r) h = i[o]; + else { + (h = new (en.getScale(r))({ + id: o, + type: r, + ctx: this.ctx, + chart: this, + })), + (i[h.id] = h); + } + h.init(n, t); + }), + u(s, (t, e) => { + t || delete i[e]; + }), + u(i, (t) => { + as.configure(this, t, t.options), as.addBox(this, t); + }); + } + _updateMetasets() { + const t = this._metasets, + e = this.data.datasets.length, + i = t.length; + if ((t.sort((t, e) => t.index - e.index), i > e)) { + for (let t = e; t < i; ++t) this._destroyDatasetMeta(t); + t.splice(e, i - e); + } + this._sortedMetasets = t.slice(0).sort(Mn("order", "index")); + } + _removeUnreferencedMetasets() { + const { + _metasets: t, + data: { datasets: e }, + } = this; + t.length > e.length && delete this._stacks, + t.forEach((t, i) => { + 0 === e.filter((e) => e === t._dataset).length && + this._destroyDatasetMeta(i); + }); + } + buildOrUpdateControllers() { + const t = [], + e = this.data.datasets; + let i, s; + for ( + this._removeUnreferencedMetasets(), i = 0, s = e.length; + i < s; + i++ + ) { + const s = e[i]; + let n = this.getDatasetMeta(i); + const o = s.type || this.config.type; + if ( + (n.type && + n.type !== o && + (this._destroyDatasetMeta(i), (n = this.getDatasetMeta(i))), + (n.type = o), + (n.indexAxis = s.indexAxis || an(o, this.options)), + (n.order = s.order || 0), + (n.index = i), + (n.label = "" + s.label), + (n.visible = this.isDatasetVisible(i)), + n.controller) + ) + n.controller.updateIndex(i), n.controller.linkScales(); + else { + const e = en.getController(o), + { datasetElementType: s, dataElementType: a } = ue.datasets[o]; + Object.assign(e, { + dataElementType: en.getElement(a), + datasetElementType: s && en.getElement(s), + }), + (n.controller = new e(this, i)), + t.push(n.controller); + } + } + return this._updateMetasets(), t; + } + _resetElements() { + u( + this.data.datasets, + (t, e) => { + this.getDatasetMeta(e).controller.reset(); + }, + this + ); + } + reset() { + this._resetElements(), this.notifyPlugins("reset"); + } + update(t) { + const e = this.config; + e.update(); + const i = (this._options = e.createResolver( + e.chartOptionScopes(), + this.getContext() + )), + s = (this._animationsDisabled = !i.animation); + if ( + (this._updateScales(), + this._checkEventBindings(), + this._updateHiddenIndices(), + this._plugins.invalidate(), + !1 === this.notifyPlugins("beforeUpdate", { mode: t, cancelable: !0 })) + ) + return; + const n = this.buildOrUpdateControllers(); + this.notifyPlugins("beforeElementsUpdate"); + let o = 0; + for (let t = 0, e = this.data.datasets.length; t < e; t++) { + const { controller: e } = this.getDatasetMeta(t), + i = !s && -1 === n.indexOf(e); + e.buildOrUpdateElements(i), (o = Math.max(+e.getMaxOverflow(), o)); + } + (o = this._minPadding = i.layout.autoPadding ? o : 0), + this._updateLayout(o), + s || + u(n, (t) => { + t.reset(); + }), + this._updateDatasets(t), + this.notifyPlugins("afterUpdate", { mode: t }), + this._layers.sort(Mn("z", "_idx")); + const { _active: a, _lastEvent: r } = this; + r + ? this._eventHandler(r, !0) + : a.length && this._updateHoverStyles(a, a, !0), + this.render(); + } + _updateScales() { + u(this.scales, (t) => { + as.removeBox(this, t); + }), + this.ensureScalesHaveIDs(), + this.buildOrUpdateScales(); + } + _checkEventBindings() { + const t = this.options, + e = new Set(Object.keys(this._listeners)), + i = new Set(t.events); + (P(e, i) && !!this._responsiveListeners === t.responsive) || + (this.unbindEvents(), this.bindEvents()); + } + _updateHiddenIndices() { + const { _hiddenIndices: t } = this, + e = this._getUniformDataChanges() || []; + for (const { method: i, start: s, count: n } of e) { + Cn(t, s, "_removeElements" === i ? -n : n); + } + } + _getUniformDataChanges() { + const t = this._dataChanges; + if (!t || !t.length) return; + this._dataChanges = []; + const e = this.data.datasets.length, + i = (e) => + new Set( + t + .filter((t) => t[0] === e) + .map((t, e) => e + "," + t.splice(1).join(",")) + ), + s = i(0); + for (let t = 1; t < e; t++) if (!P(s, i(t))) return; + return Array.from(s) + .map((t) => t.split(",")) + .map((t) => ({ method: t[1], start: +t[2], count: +t[3] })); + } + _updateLayout(t) { + if (!1 === this.notifyPlugins("beforeLayout", { cancelable: !0 })) return; + as.update(this, this.width, this.height, t); + const e = this.chartArea, + i = e.width <= 0 || e.height <= 0; + (this._layers = []), + u( + this.boxes, + (t) => { + (i && "chartArea" === t.position) || + (t.configure && t.configure(), this._layers.push(...t._layers())); + }, + this + ), + this._layers.forEach((t, e) => { + t._idx = e; + }), + this.notifyPlugins("afterLayout"); + } + _updateDatasets(t) { + if ( + !1 !== + this.notifyPlugins("beforeDatasetsUpdate", { mode: t, cancelable: !0 }) + ) { + for (let t = 0, e = this.data.datasets.length; t < e; ++t) + this.getDatasetMeta(t).controller.configure(); + for (let e = 0, i = this.data.datasets.length; e < i; ++e) + this._updateDataset(e, S(t) ? t({ datasetIndex: e }) : t); + this.notifyPlugins("afterDatasetsUpdate", { mode: t }); + } + } + _updateDataset(t, e) { + const i = this.getDatasetMeta(t), + s = { meta: i, index: t, mode: e, cancelable: !0 }; + !1 !== this.notifyPlugins("beforeDatasetUpdate", s) && + (i.controller._update(e), + (s.cancelable = !1), + this.notifyPlugins("afterDatasetUpdate", s)); + } + render() { + !1 !== this.notifyPlugins("beforeRender", { cancelable: !0 }) && + (xt.has(this) + ? this.attached && !xt.running(this) && xt.start(this) + : (this.draw(), wn({ chart: this }))); + } + draw() { + let t; + if (this._resizeBeforeDraw) { + const { width: t, height: e } = this._resizeBeforeDraw; + (this._resizeBeforeDraw = null), this._resize(t, e); + } + if ((this.clear(), this.width <= 0 || this.height <= 0)) return; + if (!1 === this.notifyPlugins("beforeDraw", { cancelable: !0 })) return; + const e = this._layers; + for (t = 0; t < e.length && e[t].z <= 0; ++t) e[t].draw(this.chartArea); + for (this._drawDatasets(); t < e.length; ++t) e[t].draw(this.chartArea); + this.notifyPlugins("afterDraw"); + } + _getSortedDatasetMetas(t) { + const e = this._sortedMetasets, + i = []; + let s, n; + for (s = 0, n = e.length; s < n; ++s) { + const n = e[s]; + (t && !n.visible) || i.push(n); + } + return i; + } + getSortedVisibleDatasetMetas() { + return this._getSortedDatasetMetas(!0); + } + _drawDatasets() { + if (!1 === this.notifyPlugins("beforeDatasetsDraw", { cancelable: !0 })) + return; + const t = this.getSortedVisibleDatasetMetas(); + for (let e = t.length - 1; e >= 0; --e) this._drawDataset(t[e]); + this.notifyPlugins("afterDatasetsDraw"); + } + _drawDataset(t) { + const e = this.ctx, + i = t._clip, + s = !i.disabled, + n = (function (t, e) { + const { xScale: i, yScale: s } = t; + return i && s + ? { + left: On(i, e, "left"), + right: On(i, e, "right"), + top: On(s, e, "top"), + bottom: On(s, e, "bottom"), + } + : e; + })(t, this.chartArea), + o = { meta: t, index: t.index, cancelable: !0 }; + !1 !== this.notifyPlugins("beforeDatasetDraw", o) && + (s && + Ie(e, { + left: !1 === i.left ? 0 : n.left - i.left, + right: !1 === i.right ? this.width : n.right + i.right, + top: !1 === i.top ? 0 : n.top - i.top, + bottom: !1 === i.bottom ? this.height : n.bottom + i.bottom, + }), + t.controller.draw(), + s && ze(e), + (o.cancelable = !1), + this.notifyPlugins("afterDatasetDraw", o)); + } + isPointInArea(t) { + return Re(t, this.chartArea, this._minPadding); + } + getElementsAtEventForMode(t, e, i, s) { + const n = Xi.modes[e]; + return "function" == typeof n ? n(this, t, i, s) : []; + } + getDatasetMeta(t) { + const e = this.data.datasets[t], + i = this._metasets; + let s = i.filter((t) => t && t._dataset === e).pop(); + return ( + s || + ((s = { + type: null, + data: [], + dataset: null, + controller: null, + hidden: null, + xAxisID: null, + yAxisID: null, + order: (e && e.order) || 0, + index: t, + _dataset: e, + _parsed: [], + _sorted: !1, + }), + i.push(s)), + s + ); + } + getContext() { + return ( + this.$context || + (this.$context = Ci(null, { chart: this, type: "chart" })) + ); + } + getVisibleDatasetCount() { + return this.getSortedVisibleDatasetMetas().length; + } + isDatasetVisible(t) { + const e = this.data.datasets[t]; + if (!e) return !1; + const i = this.getDatasetMeta(t); + return "boolean" == typeof i.hidden ? !i.hidden : !e.hidden; + } + setDatasetVisibility(t, e) { + this.getDatasetMeta(t).hidden = !e; + } + toggleDataVisibility(t) { + this._hiddenIndices[t] = !this._hiddenIndices[t]; + } + getDataVisibility(t) { + return !this._hiddenIndices[t]; + } + _updateVisibility(t, e, i) { + const s = i ? "show" : "hide", + n = this.getDatasetMeta(t), + o = n.controller._resolveAnimations(void 0, s); + k(e) + ? ((n.data[e].hidden = !i), this.update()) + : (this.setDatasetVisibility(t, i), + o.update(n, { visible: i }), + this.update((e) => (e.datasetIndex === t ? s : void 0))); + } + hide(t, e) { + this._updateVisibility(t, e, !1); + } + show(t, e) { + this._updateVisibility(t, e, !0); + } + _destroyDatasetMeta(t) { + const e = this._metasets[t]; + e && e.controller && e.controller._destroy(), delete this._metasets[t]; + } + _stop() { + let t, e; + for ( + this.stop(), xt.remove(this), t = 0, e = this.data.datasets.length; + t < e; + ++t + ) + this._destroyDatasetMeta(t); + } + destroy() { + this.notifyPlugins("beforeDestroy"); + const { canvas: t, ctx: e } = this; + this._stop(), + this.config.clearCache(), + t && + (this.unbindEvents(), + Te(t, e), + this.platform.releaseContext(e), + (this.canvas = null), + (this.ctx = null)), + delete Pn[this.id], + this.notifyPlugins("afterDestroy"); + } + toBase64Image(...t) { + return this.canvas.toDataURL(...t); + } + bindEvents() { + this.bindUserEvents(), + this.options.responsive + ? this.bindResponsiveEvents() + : (this.attached = !0); + } + bindUserEvents() { + const t = this._listeners, + e = this.platform, + i = (i, s) => { + e.addEventListener(this, i, s), (t[i] = s); + }, + s = (t, e, i) => { + (t.offsetX = e), (t.offsetY = i), this._eventHandler(t); + }; + u(this.options.events, (t) => i(t, s)); + } + bindResponsiveEvents() { + this._responsiveListeners || (this._responsiveListeners = {}); + const t = this._responsiveListeners, + e = this.platform, + i = (i, s) => { + e.addEventListener(this, i, s), (t[i] = s); + }, + s = (i, s) => { + t[i] && (e.removeEventListener(this, i, s), delete t[i]); + }, + n = (t, e) => { + this.canvas && this.resize(t, e); + }; + let o; + const a = () => { + s("attach", a), + (this.attached = !0), + this.resize(), + i("resize", n), + i("detach", o); + }; + (o = () => { + (this.attached = !1), + s("resize", n), + this._stop(), + this._resize(0, 0), + i("attach", a); + }), + e.isAttached(this.canvas) ? a() : o(); + } + unbindEvents() { + u(this._listeners, (t, e) => { + this.platform.removeEventListener(this, e, t); + }), + (this._listeners = {}), + u(this._responsiveListeners, (t, e) => { + this.platform.removeEventListener(this, e, t); + }), + (this._responsiveListeners = void 0); + } + updateHoverStyle(t, e, i) { + const s = i ? "set" : "remove"; + let n, o, a, r; + for ( + "dataset" === e && + ((n = this.getDatasetMeta(t[0].datasetIndex)), + n.controller["_" + s + "DatasetHoverStyle"]()), + a = 0, + r = t.length; + a < r; + ++a + ) { + o = t[a]; + const e = o && this.getDatasetMeta(o.datasetIndex).controller; + e && e[s + "HoverStyle"](o.element, o.datasetIndex, o.index); + } + } + getActiveElements() { + return this._active || []; + } + setActiveElements(t) { + const e = this._active || [], + i = t.map(({ datasetIndex: t, index: e }) => { + const i = this.getDatasetMeta(t); + if (!i) throw new Error("No dataset found at index " + t); + return { datasetIndex: t, element: i.data[e], index: e }; + }); + !f(i, e) && + ((this._active = i), + (this._lastEvent = null), + this._updateHoverStyles(i, e)); + } + notifyPlugins(t, e, i) { + return this._plugins.notify(this, t, e, i); + } + isPluginEnabled(t) { + return 1 === this._plugins._cache.filter((e) => e.plugin.id === t).length; + } + _updateHoverStyles(t, e, i) { + const s = this.options.hover, + n = (t, e) => + t.filter( + (t) => + !e.some( + (e) => t.datasetIndex === e.datasetIndex && t.index === e.index + ) + ), + o = n(e, t), + a = i ? t : n(t, e); + o.length && this.updateHoverStyle(o, s.mode, !1), + a.length && s.mode && this.updateHoverStyle(a, s.mode, !0); + } + _eventHandler(t, e) { + const i = { + event: t, + replay: e, + cancelable: !0, + inChartArea: this.isPointInArea(t), + }, + s = (e) => + (e.options.events || this.options.events).includes(t.native.type); + if (!1 === this.notifyPlugins("beforeEvent", i, s)) return; + const n = this._handleEvent(t, e, i.inChartArea); + return ( + (i.cancelable = !1), + this.notifyPlugins("afterEvent", i, s), + (n || i.changed) && this.render(), + this + ); + } + _handleEvent(t, e, i) { + const { _active: s = [], options: n } = this, + o = e, + a = this._getActiveElements(t, s, i, o), + r = D(t), + l = (function (t, e, i, s) { + return i && "mouseout" !== t.type ? (s ? e : t) : null; + })(t, this._lastEvent, i, r); + i && + ((this._lastEvent = null), + d(n.onHover, [t, a, this], this), + r && d(n.onClick, [t, a, this], this)); + const h = !f(a, s); + return ( + (h || e) && ((this._active = a), this._updateHoverStyles(a, s, e)), + (this._lastEvent = l), + h + ); + } + _getActiveElements(t, e, i, s) { + if ("mouseout" === t.type) return []; + if (!i) return e; + const n = this.options.hover; + return this.getElementsAtEventForMode(t, n.mode, n, s); + } + } + function Tn() { + return u(An.instances, (t) => t._plugins.invalidate()); + } + function Ln() { + throw new Error( + "This method is not implemented: Check that a complete date adapter is provided." + ); + } + class En { + static override(t) { + Object.assign(En.prototype, t); + } + options; + constructor(t) { + this.options = t || {}; + } + init() {} + formats() { + return Ln(); + } + parse() { + return Ln(); + } + format() { + return Ln(); + } + add() { + return Ln(); + } + diff() { + return Ln(); + } + startOf() { + return Ln(); + } + endOf() { + return Ln(); + } + } + var Rn = { _date: En }; + function In(t) { + const e = t.iScale, + i = (function (t, e) { + if (!t._cache.$bar) { + const i = t.getMatchingVisibleMetas(e); + let s = []; + for (let e = 0, n = i.length; e < n; e++) + s = s.concat(i[e].controller.getAllParsedValues(t)); + t._cache.$bar = lt(s.sort((t, e) => t - e)); + } + return t._cache.$bar; + })(e, t.type); + let s, + n, + o, + a, + r = e._length; + const l = () => { + 32767 !== o && + -32768 !== o && + (k(a) && (r = Math.min(r, Math.abs(o - a) || r)), (a = o)); + }; + for (s = 0, n = i.length; s < n; ++s) (o = e.getPixelForValue(i[s])), l(); + for (a = void 0, s = 0, n = e.ticks.length; s < n; ++s) + (o = e.getPixelForTick(s)), l(); + return r; + } + function zn(t, e, i, s) { + return ( + n(t) + ? (function (t, e, i, s) { + const n = i.parse(t[0], s), + o = i.parse(t[1], s), + a = Math.min(n, o), + r = Math.max(n, o); + let l = a, + h = r; + Math.abs(a) > Math.abs(r) && ((l = r), (h = a)), + (e[i.axis] = h), + (e._custom = { + barStart: l, + barEnd: h, + start: n, + end: o, + min: a, + max: r, + }); + })(t, e, i, s) + : (e[i.axis] = i.parse(t, s)), + e + ); + } + function Fn(t, e, i, s) { + const n = t.iScale, + o = t.vScale, + a = n.getLabels(), + r = n === o, + l = []; + let h, c, d, u; + for (h = i, c = i + s; h < c; ++h) + (u = e[h]), + (d = {}), + (d[n.axis] = r || n.parse(a[h], h)), + l.push(zn(u, d, o, h)); + return l; + } + function Vn(t) { + return t && void 0 !== t.barStart && void 0 !== t.barEnd; + } + function Bn(t, e, i, s) { + let n = e.borderSkipped; + const o = {}; + if (!n) return void (t.borderSkipped = o); + if (!0 === n) + return void (t.borderSkipped = { + top: !0, + right: !0, + bottom: !0, + left: !0, + }); + const { + start: a, + end: r, + reverse: l, + top: h, + bottom: c, + } = (function (t) { + let e, i, s, n, o; + return ( + t.horizontal + ? ((e = t.base > t.x), (i = "left"), (s = "right")) + : ((e = t.base < t.y), (i = "bottom"), (s = "top")), + e ? ((n = "end"), (o = "start")) : ((n = "start"), (o = "end")), + { start: i, end: s, reverse: e, top: n, bottom: o } + ); + })(t); + "middle" === n && + i && + ((t.enableBorderRadius = !0), + (i._top || 0) === s + ? (n = h) + : (i._bottom || 0) === s + ? (n = c) + : ((o[Wn(c, a, r, l)] = !0), (n = h))), + (o[Wn(n, a, r, l)] = !0), + (t.borderSkipped = o); + } + function Wn(t, e, i, s) { + var n, o, a; + return ( + s + ? ((a = i), + (t = Nn((t = (n = t) === (o = e) ? a : n === a ? o : n), i, e))) + : (t = Nn(t, e, i)), + t + ); + } + function Nn(t, e, i) { + return "start" === t ? e : "end" === t ? i : t; + } + function Hn(t, { inflateAmount: e }, i) { + t.inflateAmount = "auto" === e ? (1 === i ? 0.33 : 0) : e; + } + class jn extends Ns { + static id = "doughnut"; + static defaults = { + datasetElementType: !1, + dataElementType: "arc", + animation: { animateRotate: !0, animateScale: !1 }, + animations: { + numbers: { + type: "number", + properties: [ + "circumference", + "endAngle", + "innerRadius", + "outerRadius", + "startAngle", + "x", + "y", + "offset", + "borderWidth", + "spacing", + ], + }, + }, + cutout: "50%", + rotation: 0, + circumference: 360, + radius: "100%", + spacing: 0, + indexAxis: "r", + }; + static descriptors = { + _scriptable: (t) => "spacing" !== t, + _indexable: (t) => + "spacing" !== t && + !t.startsWith("borderDash") && + !t.startsWith("hoverBorderDash"), + }; + static overrides = { + aspectRatio: 1, + plugins: { + legend: { + labels: { + generateLabels(t) { + const e = t.data; + if (e.labels.length && e.datasets.length) { + const { + labels: { pointStyle: i, color: s }, + } = t.legend.options; + return e.labels.map((e, n) => { + const o = t.getDatasetMeta(0).controller.getStyle(n); + return { + text: e, + fillStyle: o.backgroundColor, + strokeStyle: o.borderColor, + fontColor: s, + lineWidth: o.borderWidth, + pointStyle: i, + hidden: !t.getDataVisibility(n), + index: n, + }; + }); + } + return []; + }, + }, + onClick(t, e, i) { + i.chart.toggleDataVisibility(e.index), i.chart.update(); + }, + }, + }, + }; + constructor(t, e) { + super(t, e), + (this.enableOptionSharing = !0), + (this.innerRadius = void 0), + (this.outerRadius = void 0), + (this.offsetX = void 0), + (this.offsetY = void 0); + } + linkScales() {} + parse(t, e) { + const i = this.getDataset().data, + s = this._cachedMeta; + if (!1 === this._parsing) s._parsed = i; + else { + let n, + a, + r = (t) => +i[t]; + if (o(i[t])) { + const { key: t = "value" } = this._parsing; + r = (e) => +M(i[e], t); + } + for (n = t, a = t + e; n < a; ++n) s._parsed[n] = r(n); + } + } + _getRotation() { + return $(this.options.rotation - 90); + } + _getCircumference() { + return $(this.options.circumference); + } + _getRotationExtents() { + let t = O, + e = -O; + for (let i = 0; i < this.chart.data.datasets.length; ++i) + if ( + this.chart.isDatasetVisible(i) && + this.chart.getDatasetMeta(i).type === this._type + ) { + const s = this.chart.getDatasetMeta(i).controller, + n = s._getRotation(), + o = s._getCircumference(); + (t = Math.min(t, n)), (e = Math.max(e, n + o)); + } + return { rotation: t, circumference: e - t }; + } + update(t) { + const e = this.chart, + { chartArea: i } = e, + s = this._cachedMeta, + n = s.data, + o = + this.getMaxBorderWidth() + + this.getMaxOffset(n) + + this.options.spacing, + a = Math.max((Math.min(i.width, i.height) - o) / 2, 0), + r = Math.min(h(this.options.cutout, a), 1), + l = this._getRingWeight(this.index), + { circumference: d, rotation: u } = this._getRotationExtents(), + { + ratioX: f, + ratioY: g, + offsetX: p, + offsetY: m, + } = (function (t, e, i) { + let s = 1, + n = 1, + o = 0, + a = 0; + if (e < O) { + const r = t, + l = r + e, + h = Math.cos(r), + c = Math.sin(r), + d = Math.cos(l), + u = Math.sin(l), + f = (t, e, s) => + Z(t, r, l, !0) ? 1 : Math.max(e, e * i, s, s * i), + g = (t, e, s) => + Z(t, r, l, !0) ? -1 : Math.min(e, e * i, s, s * i), + p = f(0, h, d), + m = f(E, c, u), + b = g(C, h, d), + x = g(C + E, c, u); + (s = (p - b) / 2), + (n = (m - x) / 2), + (o = -(p + b) / 2), + (a = -(m + x) / 2); + } + return { ratioX: s, ratioY: n, offsetX: o, offsetY: a }; + })(u, d, r), + b = (i.width - o) / f, + x = (i.height - o) / g, + _ = Math.max(Math.min(b, x) / 2, 0), + y = c(this.options.radius, _), + v = (y - Math.max(y * r, 0)) / this._getVisibleDatasetWeightTotal(); + (this.offsetX = p * y), + (this.offsetY = m * y), + (s.total = this.calculateTotal()), + (this.outerRadius = y - v * this._getRingWeightOffset(this.index)), + (this.innerRadius = Math.max(this.outerRadius - v * l, 0)), + this.updateElements(n, 0, n.length, t); + } + _circumference(t, e) { + const i = this.options, + s = this._cachedMeta, + n = this._getCircumference(); + return (e && i.animation.animateRotate) || + !this.chart.getDataVisibility(t) || + null === s._parsed[t] || + s.data[t].hidden + ? 0 + : this.calculateCircumference((s._parsed[t] * n) / O); + } + updateElements(t, e, i, s) { + const n = "reset" === s, + o = this.chart, + a = o.chartArea, + r = o.options.animation, + l = (a.left + a.right) / 2, + h = (a.top + a.bottom) / 2, + c = n && r.animateScale, + d = c ? 0 : this.innerRadius, + u = c ? 0 : this.outerRadius, + { sharedOptions: f, includeOptions: g } = this._getSharedOptions(e, s); + let p, + m = this._getRotation(); + for (p = 0; p < e; ++p) m += this._circumference(p, n); + for (p = e; p < e + i; ++p) { + const e = this._circumference(p, n), + i = t[p], + o = { + x: l + this.offsetX, + y: h + this.offsetY, + startAngle: m, + endAngle: m + e, + circumference: e, + outerRadius: u, + innerRadius: d, + }; + g && + (o.options = + f || this.resolveDataElementOptions(p, i.active ? "active" : s)), + (m += e), + this.updateElement(i, p, o, s); + } + } + calculateTotal() { + const t = this._cachedMeta, + e = t.data; + let i, + s = 0; + for (i = 0; i < e.length; i++) { + const n = t._parsed[i]; + null === n || + isNaN(n) || + !this.chart.getDataVisibility(i) || + e[i].hidden || + (s += Math.abs(n)); + } + return s; + } + calculateCircumference(t) { + const e = this._cachedMeta.total; + return e > 0 && !isNaN(t) ? O * (Math.abs(t) / e) : 0; + } + getLabelAndValue(t) { + const e = this._cachedMeta, + i = this.chart, + s = i.data.labels || [], + n = ne(e._parsed[t], i.options.locale); + return { label: s[t] || "", value: n }; + } + getMaxBorderWidth(t) { + let e = 0; + const i = this.chart; + let s, n, o, a, r; + if (!t) + for (s = 0, n = i.data.datasets.length; s < n; ++s) + if (i.isDatasetVisible(s)) { + (o = i.getDatasetMeta(s)), (t = o.data), (a = o.controller); + break; + } + if (!t) return 0; + for (s = 0, n = t.length; s < n; ++s) + (r = a.resolveDataElementOptions(s)), + "inner" !== r.borderAlign && + (e = Math.max(e, r.borderWidth || 0, r.hoverBorderWidth || 0)); + return e; + } + getMaxOffset(t) { + let e = 0; + for (let i = 0, s = t.length; i < s; ++i) { + const t = this.resolveDataElementOptions(i); + e = Math.max(e, t.offset || 0, t.hoverOffset || 0); + } + return e; + } + _getRingWeightOffset(t) { + let e = 0; + for (let i = 0; i < t; ++i) + this.chart.isDatasetVisible(i) && (e += this._getRingWeight(i)); + return e; + } + _getRingWeight(t) { + return Math.max(l(this.chart.data.datasets[t].weight, 1), 0); + } + _getVisibleDatasetWeightTotal() { + return this._getRingWeightOffset(this.chart.data.datasets.length) || 1; + } + } + class $n extends Ns { + static id = "polarArea"; + static defaults = { + dataElementType: "arc", + animation: { animateRotate: !0, animateScale: !0 }, + animations: { + numbers: { + type: "number", + properties: [ + "x", + "y", + "startAngle", + "endAngle", + "innerRadius", + "outerRadius", + ], + }, + }, + indexAxis: "r", + startAngle: 0, + }; + static overrides = { + aspectRatio: 1, + plugins: { + legend: { + labels: { + generateLabels(t) { + const e = t.data; + if (e.labels.length && e.datasets.length) { + const { + labels: { pointStyle: i, color: s }, + } = t.legend.options; + return e.labels.map((e, n) => { + const o = t.getDatasetMeta(0).controller.getStyle(n); + return { + text: e, + fillStyle: o.backgroundColor, + strokeStyle: o.borderColor, + fontColor: s, + lineWidth: o.borderWidth, + pointStyle: i, + hidden: !t.getDataVisibility(n), + index: n, + }; + }); + } + return []; + }, + }, + onClick(t, e, i) { + i.chart.toggleDataVisibility(e.index), i.chart.update(); + }, + }, + }, + scales: { + r: { + type: "radialLinear", + angleLines: { display: !1 }, + beginAtZero: !0, + grid: { circular: !0 }, + pointLabels: { display: !1 }, + startAngle: 0, + }, + }, + }; + constructor(t, e) { + super(t, e), (this.innerRadius = void 0), (this.outerRadius = void 0); + } + getLabelAndValue(t) { + const e = this._cachedMeta, + i = this.chart, + s = i.data.labels || [], + n = ne(e._parsed[t].r, i.options.locale); + return { label: s[t] || "", value: n }; + } + parseObjectData(t, e, i, s) { + return ii.bind(this)(t, e, i, s); + } + update(t) { + const e = this._cachedMeta.data; + this._updateRadius(), this.updateElements(e, 0, e.length, t); + } + getMinMax() { + const t = this._cachedMeta, + e = { min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY }; + return ( + t.data.forEach((t, i) => { + const s = this.getParsed(i).r; + !isNaN(s) && + this.chart.getDataVisibility(i) && + (s < e.min && (e.min = s), s > e.max && (e.max = s)); + }), + e + ); + } + _updateRadius() { + const t = this.chart, + e = t.chartArea, + i = t.options, + s = Math.min(e.right - e.left, e.bottom - e.top), + n = Math.max(s / 2, 0), + o = + (n - + Math.max( + i.cutoutPercentage ? (n / 100) * i.cutoutPercentage : 1, + 0 + )) / + t.getVisibleDatasetCount(); + (this.outerRadius = n - o * this.index), + (this.innerRadius = this.outerRadius - o); + } + updateElements(t, e, i, s) { + const n = "reset" === s, + o = this.chart, + a = o.options.animation, + r = this._cachedMeta.rScale, + l = r.xCenter, + h = r.yCenter, + c = r.getIndexAngle(0) - 0.5 * C; + let d, + u = c; + const f = 360 / this.countVisibleElements(); + for (d = 0; d < e; ++d) u += this._computeAngle(d, s, f); + for (d = e; d < e + i; d++) { + const e = t[d]; + let i = u, + g = u + this._computeAngle(d, s, f), + p = o.getDataVisibility(d) + ? r.getDistanceFromCenterForValue(this.getParsed(d).r) + : 0; + (u = g), + n && (a.animateScale && (p = 0), a.animateRotate && (i = g = c)); + const m = { + x: l, + y: h, + innerRadius: 0, + outerRadius: p, + startAngle: i, + endAngle: g, + options: this.resolveDataElementOptions(d, e.active ? "active" : s), + }; + this.updateElement(e, d, m, s); + } + } + countVisibleElements() { + const t = this._cachedMeta; + let e = 0; + return ( + t.data.forEach((t, i) => { + !isNaN(this.getParsed(i).r) && this.chart.getDataVisibility(i) && e++; + }), + e + ); + } + _computeAngle(t, e, i) { + return this.chart.getDataVisibility(t) + ? $(this.resolveDataElementOptions(t, e).angle || i) + : 0; + } + } + var Yn = Object.freeze({ + __proto__: null, + BarController: class extends Ns { + static id = "bar"; + static defaults = { + datasetElementType: !1, + dataElementType: "bar", + categoryPercentage: 0.8, + barPercentage: 0.9, + grouped: !0, + animations: { + numbers: { + type: "number", + properties: ["x", "y", "base", "width", "height"], + }, + }, + }; + static overrides = { + scales: { + _index_: { type: "category", offset: !0, grid: { offset: !0 } }, + _value_: { type: "linear", beginAtZero: !0 }, + }, + }; + parsePrimitiveData(t, e, i, s) { + return Fn(t, e, i, s); + } + parseArrayData(t, e, i, s) { + return Fn(t, e, i, s); + } + parseObjectData(t, e, i, s) { + const { iScale: n, vScale: o } = t, + { xAxisKey: a = "x", yAxisKey: r = "y" } = this._parsing, + l = "x" === n.axis ? a : r, + h = "x" === o.axis ? a : r, + c = []; + let d, u, f, g; + for (d = i, u = i + s; d < u; ++d) + (g = e[d]), + (f = {}), + (f[n.axis] = n.parse(M(g, l), d)), + c.push(zn(M(g, h), f, o, d)); + return c; + } + updateRangeFromParsed(t, e, i, s) { + super.updateRangeFromParsed(t, e, i, s); + const n = i._custom; + n && + e === this._cachedMeta.vScale && + ((t.min = Math.min(t.min, n.min)), (t.max = Math.max(t.max, n.max))); + } + getMaxOverflow() { + return 0; + } + getLabelAndValue(t) { + const e = this._cachedMeta, + { iScale: i, vScale: s } = e, + n = this.getParsed(t), + o = n._custom, + a = Vn(o) + ? "[" + o.start + ", " + o.end + "]" + : "" + s.getLabelForValue(n[s.axis]); + return { label: "" + i.getLabelForValue(n[i.axis]), value: a }; + } + initialize() { + (this.enableOptionSharing = !0), super.initialize(); + this._cachedMeta.stack = this.getDataset().stack; + } + update(t) { + const e = this._cachedMeta; + this.updateElements(e.data, 0, e.data.length, t); + } + updateElements(t, e, i, n) { + const o = "reset" === n, + { + index: a, + _cachedMeta: { vScale: r }, + } = this, + l = r.getBasePixel(), + h = r.isHorizontal(), + c = this._getRuler(), + { sharedOptions: d, includeOptions: u } = this._getSharedOptions( + e, + n + ); + for (let f = e; f < e + i; f++) { + const e = this.getParsed(f), + i = + o || s(e[r.axis]) + ? { base: l, head: l } + : this._calculateBarValuePixels(f), + g = this._calculateBarIndexPixels(f, c), + p = (e._stacks || {})[r.axis], + m = { + horizontal: h, + base: i.base, + enableBorderRadius: + !p || Vn(e._custom) || a === p._top || a === p._bottom, + x: h ? i.head : g.center, + y: h ? g.center : i.head, + height: h ? g.size : Math.abs(i.size), + width: h ? Math.abs(i.size) : g.size, + }; + u && + (m.options = + d || + this.resolveDataElementOptions(f, t[f].active ? "active" : n)); + const b = m.options || t[f].options; + Bn(m, b, p, a), Hn(m, b, c.ratio), this.updateElement(t[f], f, m, n); + } + } + _getStacks(t, e) { + const { iScale: i } = this._cachedMeta, + n = i + .getMatchingVisibleMetas(this._type) + .filter((t) => t.controller.options.grouped), + o = i.options.stacked, + a = [], + r = this._cachedMeta.controller.getParsed(e), + l = r && r[i.axis], + h = (t) => { + const e = t._parsed.find((t) => t[i.axis] === l), + n = e && e[t.vScale.axis]; + if (s(n) || isNaN(n)) return !0; + }; + for (const i of n) + if ( + (void 0 === e || !h(i)) && + ((!1 === o || + -1 === a.indexOf(i.stack) || + (void 0 === o && void 0 === i.stack)) && + a.push(i.stack), + i.index === t) + ) + break; + return a.length || a.push(void 0), a; + } + _getStackCount(t) { + return this._getStacks(void 0, t).length; + } + _getStackIndex(t, e, i) { + const s = this._getStacks(t, i), + n = void 0 !== e ? s.indexOf(e) : -1; + return -1 === n ? s.length - 1 : n; + } + _getRuler() { + const t = this.options, + e = this._cachedMeta, + i = e.iScale, + s = []; + let n, o; + for (n = 0, o = e.data.length; n < o; ++n) + s.push(i.getPixelForValue(this.getParsed(n)[i.axis], n)); + const a = t.barThickness; + return { + min: a || In(e), + pixels: s, + start: i._startPixel, + end: i._endPixel, + stackCount: this._getStackCount(), + scale: i, + grouped: t.grouped, + ratio: a ? 1 : t.categoryPercentage * t.barPercentage, + }; + } + _calculateBarValuePixels(t) { + const { + _cachedMeta: { vScale: e, _stacked: i, index: n }, + options: { base: o, minBarLength: a }, + } = this, + r = o || 0, + l = this.getParsed(t), + h = l._custom, + c = Vn(h); + let d, + u, + f = l[e.axis], + g = 0, + p = i ? this.applyStack(e, l, i) : f; + p !== f && ((g = p - f), (p = f)), + c && + ((f = h.barStart), + (p = h.barEnd - h.barStart), + 0 !== f && F(f) !== F(h.barEnd) && (g = 0), + (g += f)); + const m = s(o) || c ? g : o; + let b = e.getPixelForValue(m); + if ( + ((d = this.chart.getDataVisibility(t) + ? e.getPixelForValue(g + p) + : b), + (u = d - b), + Math.abs(u) < a) + ) { + (u = + (function (t, e, i) { + return 0 !== t + ? F(t) + : (e.isHorizontal() ? 1 : -1) * (e.min >= i ? 1 : -1); + })(u, e, r) * a), + f === r && (b -= u / 2); + const t = e.getPixelForDecimal(0), + s = e.getPixelForDecimal(1), + o = Math.min(t, s), + h = Math.max(t, s); + (b = Math.max(Math.min(b, h), o)), + (d = b + u), + i && + !c && + (l._stacks[e.axis]._visualValues[n] = + e.getValueForPixel(d) - e.getValueForPixel(b)); + } + if (b === e.getPixelForValue(r)) { + const t = (F(u) * e.getLineWidthForValue(r)) / 2; + (b += t), (u -= t); + } + return { size: u, base: b, head: d, center: d + u / 2 }; + } + _calculateBarIndexPixels(t, e) { + const i = e.scale, + n = this.options, + o = n.skipNull, + a = l(n.maxBarThickness, 1 / 0); + let r, h; + if (e.grouped) { + const i = o ? this._getStackCount(t) : e.stackCount, + l = + "flex" === n.barThickness + ? (function (t, e, i, s) { + const n = e.pixels, + o = n[t]; + let a = t > 0 ? n[t - 1] : null, + r = t < n.length - 1 ? n[t + 1] : null; + const l = i.categoryPercentage; + null === a && + (a = o - (null === r ? e.end - e.start : r - o)), + null === r && (r = o + o - a); + const h = o - ((o - Math.min(a, r)) / 2) * l; + return { + chunk: ((Math.abs(r - a) / 2) * l) / s, + ratio: i.barPercentage, + start: h, + }; + })(t, e, n, i) + : (function (t, e, i, n) { + const o = i.barThickness; + let a, r; + return ( + s(o) + ? ((a = e.min * i.categoryPercentage), + (r = i.barPercentage)) + : ((a = o * n), (r = 1)), + { chunk: a / n, ratio: r, start: e.pixels[t] - a / 2 } + ); + })(t, e, n, i), + c = this._getStackIndex( + this.index, + this._cachedMeta.stack, + o ? t : void 0 + ); + (r = l.start + l.chunk * c + l.chunk / 2), + (h = Math.min(a, l.chunk * l.ratio)); + } else + (r = i.getPixelForValue(this.getParsed(t)[i.axis], t)), + (h = Math.min(a, e.min * e.ratio)); + return { base: r - h / 2, head: r + h / 2, center: r, size: h }; + } + draw() { + const t = this._cachedMeta, + e = t.vScale, + i = t.data, + s = i.length; + let n = 0; + for (; n < s; ++n) + null === this.getParsed(n)[e.axis] || + i[n].hidden || + i[n].draw(this._ctx); + } + }, + BubbleController: class extends Ns { + static id = "bubble"; + static defaults = { + datasetElementType: !1, + dataElementType: "point", + animations: { + numbers: { + type: "number", + properties: ["x", "y", "borderWidth", "radius"], + }, + }, + }; + static overrides = { + scales: { x: { type: "linear" }, y: { type: "linear" } }, + }; + initialize() { + (this.enableOptionSharing = !0), super.initialize(); + } + parsePrimitiveData(t, e, i, s) { + const n = super.parsePrimitiveData(t, e, i, s); + for (let t = 0; t < n.length; t++) + n[t]._custom = this.resolveDataElementOptions(t + i).radius; + return n; + } + parseArrayData(t, e, i, s) { + const n = super.parseArrayData(t, e, i, s); + for (let t = 0; t < n.length; t++) { + const s = e[i + t]; + n[t]._custom = l(s[2], this.resolveDataElementOptions(t + i).radius); + } + return n; + } + parseObjectData(t, e, i, s) { + const n = super.parseObjectData(t, e, i, s); + for (let t = 0; t < n.length; t++) { + const s = e[i + t]; + n[t]._custom = l( + s && s.r && +s.r, + this.resolveDataElementOptions(t + i).radius + ); + } + return n; + } + getMaxOverflow() { + const t = this._cachedMeta.data; + let e = 0; + for (let i = t.length - 1; i >= 0; --i) + e = Math.max(e, t[i].size(this.resolveDataElementOptions(i)) / 2); + return e > 0 && e; + } + getLabelAndValue(t) { + const e = this._cachedMeta, + i = this.chart.data.labels || [], + { xScale: s, yScale: n } = e, + o = this.getParsed(t), + a = s.getLabelForValue(o.x), + r = n.getLabelForValue(o.y), + l = o._custom; + return { + label: i[t] || "", + value: "(" + a + ", " + r + (l ? ", " + l : "") + ")", + }; + } + update(t) { + const e = this._cachedMeta.data; + this.updateElements(e, 0, e.length, t); + } + updateElements(t, e, i, s) { + const n = "reset" === s, + { iScale: o, vScale: a } = this._cachedMeta, + { sharedOptions: r, includeOptions: l } = this._getSharedOptions( + e, + s + ), + h = o.axis, + c = a.axis; + for (let d = e; d < e + i; d++) { + const e = t[d], + i = !n && this.getParsed(d), + u = {}, + f = (u[h] = n + ? o.getPixelForDecimal(0.5) + : o.getPixelForValue(i[h])), + g = (u[c] = n ? a.getBasePixel() : a.getPixelForValue(i[c])); + (u.skip = isNaN(f) || isNaN(g)), + l && + ((u.options = + r || + this.resolveDataElementOptions(d, e.active ? "active" : s)), + n && (u.options.radius = 0)), + this.updateElement(e, d, u, s); + } + } + resolveDataElementOptions(t, e) { + const i = this.getParsed(t); + let s = super.resolveDataElementOptions(t, e); + s.$shared && (s = Object.assign({}, s, { $shared: !1 })); + const n = s.radius; + return ( + "active" !== e && (s.radius = 0), + (s.radius += l(i && i._custom, n)), + s + ); + } + }, + DoughnutController: jn, + LineController: class extends Ns { + static id = "line"; + static defaults = { + datasetElementType: "line", + dataElementType: "point", + showLine: !0, + spanGaps: !1, + }; + static overrides = { + scales: { _index_: { type: "category" }, _value_: { type: "linear" } }, + }; + initialize() { + (this.enableOptionSharing = !0), + (this.supportsDecimation = !0), + super.initialize(); + } + update(t) { + const e = this._cachedMeta, + { dataset: i, data: s = [], _dataset: n } = e, + o = this.chart._animationsDisabled; + let { start: a, count: r } = pt(e, s, o); + (this._drawStart = a), + (this._drawCount = r), + mt(e) && ((a = 0), (r = s.length)), + (i._chart = this.chart), + (i._datasetIndex = this.index), + (i._decimated = !!n._decimated), + (i.points = s); + const l = this.resolveDatasetElementOptions(t); + this.options.showLine || (l.borderWidth = 0), + (l.segment = this.options.segment), + this.updateElement(i, void 0, { animated: !o, options: l }, t), + this.updateElements(s, a, r, t); + } + updateElements(t, e, i, n) { + const o = "reset" === n, + { iScale: a, vScale: r, _stacked: l, _dataset: h } = this._cachedMeta, + { sharedOptions: c, includeOptions: d } = this._getSharedOptions( + e, + n + ), + u = a.axis, + f = r.axis, + { spanGaps: g, segment: p } = this.options, + m = N(g) ? g : Number.POSITIVE_INFINITY, + b = this.chart._animationsDisabled || o || "none" === n, + x = e + i, + _ = t.length; + let y = e > 0 && this.getParsed(e - 1); + for (let i = 0; i < _; ++i) { + const g = t[i], + _ = b ? g : {}; + if (i < e || i >= x) { + _.skip = !0; + continue; + } + const v = this.getParsed(i), + M = s(v[f]), + w = (_[u] = a.getPixelForValue(v[u], i)), + k = (_[f] = + o || M + ? r.getBasePixel() + : r.getPixelForValue(l ? this.applyStack(r, v, l) : v[f], i)); + (_.skip = isNaN(w) || isNaN(k) || M), + (_.stop = i > 0 && Math.abs(v[u] - y[u]) > m), + p && ((_.parsed = v), (_.raw = h.data[i])), + d && + (_.options = + c || + this.resolveDataElementOptions(i, g.active ? "active" : n)), + b || this.updateElement(g, i, _, n), + (y = v); + } + } + getMaxOverflow() { + const t = this._cachedMeta, + e = t.dataset, + i = (e.options && e.options.borderWidth) || 0, + s = t.data || []; + if (!s.length) return i; + const n = s[0].size(this.resolveDataElementOptions(0)), + o = s[s.length - 1].size( + this.resolveDataElementOptions(s.length - 1) + ); + return Math.max(i, n, o) / 2; + } + draw() { + const t = this._cachedMeta; + t.dataset.updateControlPoints(this.chart.chartArea, t.iScale.axis), + super.draw(); + } + }, + PieController: class extends jn { + static id = "pie"; + static defaults = { + cutout: 0, + rotation: 0, + circumference: 360, + radius: "100%", + }; + }, + PolarAreaController: $n, + RadarController: class extends Ns { + static id = "radar"; + static defaults = { + datasetElementType: "line", + dataElementType: "point", + indexAxis: "r", + showLine: !0, + elements: { line: { fill: "start" } }, + }; + static overrides = { + aspectRatio: 1, + scales: { r: { type: "radialLinear" } }, + }; + getLabelAndValue(t) { + const e = this._cachedMeta.vScale, + i = this.getParsed(t); + return { + label: e.getLabels()[t], + value: "" + e.getLabelForValue(i[e.axis]), + }; + } + parseObjectData(t, e, i, s) { + return ii.bind(this)(t, e, i, s); + } + update(t) { + const e = this._cachedMeta, + i = e.dataset, + s = e.data || [], + n = e.iScale.getLabels(); + if (((i.points = s), "resize" !== t)) { + const e = this.resolveDatasetElementOptions(t); + this.options.showLine || (e.borderWidth = 0); + const o = { _loop: !0, _fullLoop: n.length === s.length, options: e }; + this.updateElement(i, void 0, o, t); + } + this.updateElements(s, 0, s.length, t); + } + updateElements(t, e, i, s) { + const n = this._cachedMeta.rScale, + o = "reset" === s; + for (let a = e; a < e + i; a++) { + const e = t[a], + i = this.resolveDataElementOptions(a, e.active ? "active" : s), + r = n.getPointPositionForValue(a, this.getParsed(a).r), + l = o ? n.xCenter : r.x, + h = o ? n.yCenter : r.y, + c = { + x: l, + y: h, + angle: r.angle, + skip: isNaN(l) || isNaN(h), + options: i, + }; + this.updateElement(e, a, c, s); + } + } + }, + ScatterController: class extends Ns { + static id = "scatter"; + static defaults = { + datasetElementType: !1, + dataElementType: "point", + showLine: !1, + fill: !1, + }; + static overrides = { + interaction: { mode: "point" }, + scales: { x: { type: "linear" }, y: { type: "linear" } }, + }; + getLabelAndValue(t) { + const e = this._cachedMeta, + i = this.chart.data.labels || [], + { xScale: s, yScale: n } = e, + o = this.getParsed(t), + a = s.getLabelForValue(o.x), + r = n.getLabelForValue(o.y); + return { label: i[t] || "", value: "(" + a + ", " + r + ")" }; + } + update(t) { + const e = this._cachedMeta, + { data: i = [] } = e, + s = this.chart._animationsDisabled; + let { start: n, count: o } = pt(e, i, s); + if ( + ((this._drawStart = n), + (this._drawCount = o), + mt(e) && ((n = 0), (o = i.length)), + this.options.showLine) + ) { + this.datasetElementType || this.addElements(); + const { dataset: n, _dataset: o } = e; + (n._chart = this.chart), + (n._datasetIndex = this.index), + (n._decimated = !!o._decimated), + (n.points = i); + const a = this.resolveDatasetElementOptions(t); + (a.segment = this.options.segment), + this.updateElement(n, void 0, { animated: !s, options: a }, t); + } else + this.datasetElementType && + (delete e.dataset, (this.datasetElementType = !1)); + this.updateElements(i, n, o, t); + } + addElements() { + const { showLine: t } = this.options; + !this.datasetElementType && + t && + (this.datasetElementType = this.chart.registry.getElement("line")), + super.addElements(); + } + updateElements(t, e, i, n) { + const o = "reset" === n, + { iScale: a, vScale: r, _stacked: l, _dataset: h } = this._cachedMeta, + c = this.resolveDataElementOptions(e, n), + d = this.getSharedOptions(c), + u = this.includeOptions(n, d), + f = a.axis, + g = r.axis, + { spanGaps: p, segment: m } = this.options, + b = N(p) ? p : Number.POSITIVE_INFINITY, + x = this.chart._animationsDisabled || o || "none" === n; + let _ = e > 0 && this.getParsed(e - 1); + for (let c = e; c < e + i; ++c) { + const e = t[c], + i = this.getParsed(c), + p = x ? e : {}, + y = s(i[g]), + v = (p[f] = a.getPixelForValue(i[f], c)), + M = (p[g] = + o || y + ? r.getBasePixel() + : r.getPixelForValue(l ? this.applyStack(r, i, l) : i[g], c)); + (p.skip = isNaN(v) || isNaN(M) || y), + (p.stop = c > 0 && Math.abs(i[f] - _[f]) > b), + m && ((p.parsed = i), (p.raw = h.data[c])), + u && + (p.options = + d || + this.resolveDataElementOptions(c, e.active ? "active" : n)), + x || this.updateElement(e, c, p, n), + (_ = i); + } + this.updateSharedOptions(d, n, c); + } + getMaxOverflow() { + const t = this._cachedMeta, + e = t.data || []; + if (!this.options.showLine) { + let t = 0; + for (let i = e.length - 1; i >= 0; --i) + t = Math.max(t, e[i].size(this.resolveDataElementOptions(i)) / 2); + return t > 0 && t; + } + const i = t.dataset, + s = (i.options && i.options.borderWidth) || 0; + if (!e.length) return s; + const n = e[0].size(this.resolveDataElementOptions(0)), + o = e[e.length - 1].size( + this.resolveDataElementOptions(e.length - 1) + ); + return Math.max(s, n, o) / 2; + } + }, + }); + function Un(t, e, i, s) { + const n = vi(t.options.borderRadius, [ + "outerStart", + "outerEnd", + "innerStart", + "innerEnd", + ]); + const o = (i - e) / 2, + a = Math.min(o, (s * e) / 2), + r = (t) => { + const e = ((i - Math.min(o, t)) * s) / 2; + return J(t, 0, Math.min(o, e)); + }; + return { + outerStart: r(n.outerStart), + outerEnd: r(n.outerEnd), + innerStart: J(n.innerStart, 0, a), + innerEnd: J(n.innerEnd, 0, a), + }; + } + function Xn(t, e, i, s) { + return { x: i + t * Math.cos(e), y: s + t * Math.sin(e) }; + } + function qn(t, e, i, s, n, o) { + const { x: a, y: r, startAngle: l, pixelMargin: h, innerRadius: c } = e, + d = Math.max(e.outerRadius + s + i - h, 0), + u = c > 0 ? c + s + i + h : 0; + let f = 0; + const g = n - l; + if (s) { + const t = ((c > 0 ? c - s : 0) + (d > 0 ? d - s : 0)) / 2; + f = (g - (0 !== t ? (g * t) / (t + s) : g)) / 2; + } + const p = (g - Math.max(0.001, g * d - i / C) / d) / 2, + m = l + p + f, + b = n - p - f, + { + outerStart: x, + outerEnd: _, + innerStart: y, + innerEnd: v, + } = Un(e, u, d, b - m), + M = d - x, + w = d - _, + k = m + x / M, + S = b - _ / w, + P = u + y, + D = u + v, + O = m + y / P, + A = b - v / D; + if ((t.beginPath(), o)) { + const e = (k + S) / 2; + if ((t.arc(a, r, d, k, e), t.arc(a, r, d, e, S), _ > 0)) { + const e = Xn(w, S, a, r); + t.arc(e.x, e.y, _, S, b + E); + } + const i = Xn(D, b, a, r); + if ((t.lineTo(i.x, i.y), v > 0)) { + const e = Xn(D, A, a, r); + t.arc(e.x, e.y, v, b + E, A + Math.PI); + } + const s = (b - v / u + (m + y / u)) / 2; + if ( + (t.arc(a, r, u, b - v / u, s, !0), + t.arc(a, r, u, s, m + y / u, !0), + y > 0) + ) { + const e = Xn(P, O, a, r); + t.arc(e.x, e.y, y, O + Math.PI, m - E); + } + const n = Xn(M, m, a, r); + if ((t.lineTo(n.x, n.y), x > 0)) { + const e = Xn(M, k, a, r); + t.arc(e.x, e.y, x, m - E, k); + } + } else { + t.moveTo(a, r); + const e = Math.cos(k) * d + a, + i = Math.sin(k) * d + r; + t.lineTo(e, i); + const s = Math.cos(S) * d + a, + n = Math.sin(S) * d + r; + t.lineTo(s, n); + } + t.closePath(); + } + function Kn(t, e, i, s, n) { + const { fullCircles: o, startAngle: a, circumference: r, options: l } = e, + { + borderWidth: h, + borderJoinStyle: c, + borderDash: d, + borderDashOffset: u, + } = l, + f = "inner" === l.borderAlign; + if (!h) return; + t.setLineDash(d || []), + (t.lineDashOffset = u), + f + ? ((t.lineWidth = 2 * h), (t.lineJoin = c || "round")) + : ((t.lineWidth = h), (t.lineJoin = c || "bevel")); + let g = e.endAngle; + if (o) { + qn(t, e, i, s, g, n); + for (let e = 0; e < o; ++e) t.stroke(); + isNaN(r) || (g = a + (r % O || O)); + } + f && + (function (t, e, i) { + const { + startAngle: s, + pixelMargin: n, + x: o, + y: a, + outerRadius: r, + innerRadius: l, + } = e; + let h = n / r; + t.beginPath(), + t.arc(o, a, r, s - h, i + h), + l > n + ? ((h = n / l), t.arc(o, a, l, i + h, s - h, !0)) + : t.arc(o, a, n, i + E, s - E), + t.closePath(), + t.clip(); + })(t, e, g), + o || (qn(t, e, i, s, g, n), t.stroke()); + } + function Gn(t, e, i = e) { + (t.lineCap = l(i.borderCapStyle, e.borderCapStyle)), + t.setLineDash(l(i.borderDash, e.borderDash)), + (t.lineDashOffset = l(i.borderDashOffset, e.borderDashOffset)), + (t.lineJoin = l(i.borderJoinStyle, e.borderJoinStyle)), + (t.lineWidth = l(i.borderWidth, e.borderWidth)), + (t.strokeStyle = l(i.borderColor, e.borderColor)); + } + function Zn(t, e, i) { + t.lineTo(i.x, i.y); + } + function Jn(t, e, i = {}) { + const s = t.length, + { start: n = 0, end: o = s - 1 } = i, + { start: a, end: r } = e, + l = Math.max(n, a), + h = Math.min(o, r), + c = (n < a && o < a) || (n > r && o > r); + return { + count: s, + start: l, + loop: e.loop, + ilen: h < l && !c ? s + h - l : h - l, + }; + } + function Qn(t, e, i, s) { + const { points: n, options: o } = e, + { count: a, start: r, loop: l, ilen: h } = Jn(n, i, s), + c = (function (t) { + return t.stepped + ? Fe + : t.tension || "monotone" === t.cubicInterpolationMode + ? Ve + : Zn; + })(o); + let d, + u, + f, + { move: g = !0, reverse: p } = s || {}; + for (d = 0; d <= h; ++d) + (u = n[(r + (p ? h - d : d)) % a]), + u.skip || + (g ? (t.moveTo(u.x, u.y), (g = !1)) : c(t, f, u, p, o.stepped), + (f = u)); + return l && ((u = n[(r + (p ? h : 0)) % a]), c(t, f, u, p, o.stepped)), !!l; + } + function to(t, e, i, s) { + const n = e.points, + { count: o, start: a, ilen: r } = Jn(n, i, s), + { move: l = !0, reverse: h } = s || {}; + let c, + d, + u, + f, + g, + p, + m = 0, + b = 0; + const x = (t) => (a + (h ? r - t : t)) % o, + _ = () => { + f !== g && (t.lineTo(m, g), t.lineTo(m, f), t.lineTo(m, p)); + }; + for (l && ((d = n[x(0)]), t.moveTo(d.x, d.y)), c = 0; c <= r; ++c) { + if (((d = n[x(c)]), d.skip)) continue; + const e = d.x, + i = d.y, + s = 0 | e; + s === u + ? (i < f ? (f = i) : i > g && (g = i), (m = (b * m + e) / ++b)) + : (_(), t.lineTo(e, i), (u = s), (b = 0), (f = g = i)), + (p = i); + } + _(); + } + function eo(t) { + const e = t.options, + i = e.borderDash && e.borderDash.length; + return !( + t._decimated || + t._loop || + e.tension || + "monotone" === e.cubicInterpolationMode || + e.stepped || + i + ) + ? to + : Qn; + } + const io = "function" == typeof Path2D; + function so(t, e, i, s) { + io && !e.options.segment + ? (function (t, e, i, s) { + let n = e._path; + n || ((n = e._path = new Path2D()), e.path(n, i, s) && n.closePath()), + Gn(t, e.options), + t.stroke(n); + })(t, e, i, s) + : (function (t, e, i, s) { + const { segments: n, options: o } = e, + a = eo(e); + for (const r of n) + Gn(t, o, r.style), + t.beginPath(), + a(t, e, r, { start: i, end: i + s - 1 }) && t.closePath(), + t.stroke(); + })(t, e, i, s); + } + class no extends Hs { + static id = "line"; + static defaults = { + borderCapStyle: "butt", + borderDash: [], + borderDashOffset: 0, + borderJoinStyle: "miter", + borderWidth: 3, + capBezierPoints: !0, + cubicInterpolationMode: "default", + fill: !1, + spanGaps: !1, + stepped: !1, + tension: 0, + }; + static defaultRoutes = { + backgroundColor: "backgroundColor", + borderColor: "borderColor", + }; + static descriptors = { + _scriptable: !0, + _indexable: (t) => "borderDash" !== t && "fill" !== t, + }; + constructor(t) { + super(), + (this.animated = !0), + (this.options = void 0), + (this._chart = void 0), + (this._loop = void 0), + (this._fullLoop = void 0), + (this._path = void 0), + (this._points = void 0), + (this._segments = void 0), + (this._decimated = !1), + (this._pointsUpdated = !1), + (this._datasetIndex = void 0), + t && Object.assign(this, t); + } + updateControlPoints(t, e) { + const i = this.options; + if ( + (i.tension || "monotone" === i.cubicInterpolationMode) && + !i.stepped && + !this._pointsUpdated + ) { + const s = i.spanGaps ? this._loop : this._fullLoop; + hi(this._points, i, t, s, e), (this._pointsUpdated = !0); + } + } + set points(t) { + (this._points = t), + delete this._segments, + delete this._path, + (this._pointsUpdated = !1); + } + get points() { + return this._points; + } + get segments() { + return ( + this._segments || (this._segments = zi(this, this.options.segment)) + ); + } + first() { + const t = this.segments, + e = this.points; + return t.length && e[t[0].start]; + } + last() { + const t = this.segments, + e = this.points, + i = t.length; + return i && e[t[i - 1].end]; + } + interpolate(t, e) { + const i = this.options, + s = t[e], + n = this.points, + o = Ii(this, { property: e, start: s, end: s }); + if (!o.length) return; + const a = [], + r = (function (t) { + return t.stepped + ? pi + : t.tension || "monotone" === t.cubicInterpolationMode + ? mi + : gi; + })(i); + let l, h; + for (l = 0, h = o.length; l < h; ++l) { + const { start: h, end: c } = o[l], + d = n[h], + u = n[c]; + if (d === u) { + a.push(d); + continue; + } + const f = r(d, u, Math.abs((s - d[e]) / (u[e] - d[e])), i.stepped); + (f[e] = t[e]), a.push(f); + } + return 1 === a.length ? a[0] : a; + } + pathSegment(t, e, i) { + return eo(this)(t, this, e, i); + } + path(t, e, i) { + const s = this.segments, + n = eo(this); + let o = this._loop; + (e = e || 0), (i = i || this.points.length - e); + for (const a of s) o &= n(t, this, a, { start: e, end: e + i - 1 }); + return !!o; + } + draw(t, e, i, s) { + const n = this.options || {}; + (this.points || []).length && + n.borderWidth && + (t.save(), so(t, this, i, s), t.restore()), + this.animated && ((this._pointsUpdated = !1), (this._path = void 0)); + } + } + function oo(t, e, i, s) { + const n = t.options, + { [i]: o } = t.getProps([i], s); + return Math.abs(e - o) < n.radius + n.hitRadius; + } + function ao(t, e) { + const { + x: i, + y: s, + base: n, + width: o, + height: a, + } = t.getProps(["x", "y", "base", "width", "height"], e); + let r, l, h, c, d; + return ( + t.horizontal + ? ((d = a / 2), + (r = Math.min(i, n)), + (l = Math.max(i, n)), + (h = s - d), + (c = s + d)) + : ((d = o / 2), + (r = i - d), + (l = i + d), + (h = Math.min(s, n)), + (c = Math.max(s, n))), + { left: r, top: h, right: l, bottom: c } + ); + } + function ro(t, e, i, s) { + return t ? 0 : J(e, i, s); + } + function lo(t) { + const e = ao(t), + i = e.right - e.left, + s = e.bottom - e.top, + n = (function (t, e, i) { + const s = t.options.borderWidth, + n = t.borderSkipped, + o = Mi(s); + return { + t: ro(n.top, o.top, 0, i), + r: ro(n.right, o.right, 0, e), + b: ro(n.bottom, o.bottom, 0, i), + l: ro(n.left, o.left, 0, e), + }; + })(t, i / 2, s / 2), + a = (function (t, e, i) { + const { enableBorderRadius: s } = t.getProps(["enableBorderRadius"]), + n = t.options.borderRadius, + a = wi(n), + r = Math.min(e, i), + l = t.borderSkipped, + h = s || o(n); + return { + topLeft: ro(!h || l.top || l.left, a.topLeft, 0, r), + topRight: ro(!h || l.top || l.right, a.topRight, 0, r), + bottomLeft: ro(!h || l.bottom || l.left, a.bottomLeft, 0, r), + bottomRight: ro(!h || l.bottom || l.right, a.bottomRight, 0, r), + }; + })(t, i / 2, s / 2); + return { + outer: { x: e.left, y: e.top, w: i, h: s, radius: a }, + inner: { + x: e.left + n.l, + y: e.top + n.t, + w: i - n.l - n.r, + h: s - n.t - n.b, + radius: { + topLeft: Math.max(0, a.topLeft - Math.max(n.t, n.l)), + topRight: Math.max(0, a.topRight - Math.max(n.t, n.r)), + bottomLeft: Math.max(0, a.bottomLeft - Math.max(n.b, n.l)), + bottomRight: Math.max(0, a.bottomRight - Math.max(n.b, n.r)), + }, + }, + }; + } + function ho(t, e, i, s) { + const n = null === e, + o = null === i, + a = t && !(n && o) && ao(t, s); + return a && (n || tt(e, a.left, a.right)) && (o || tt(i, a.top, a.bottom)); + } + function co(t, e) { + t.rect(e.x, e.y, e.w, e.h); + } + function uo(t, e, i = {}) { + const s = t.x !== i.x ? -e : 0, + n = t.y !== i.y ? -e : 0, + o = (t.x + t.w !== i.x + i.w ? e : 0) - s, + a = (t.y + t.h !== i.y + i.h ? e : 0) - n; + return { x: t.x + s, y: t.y + n, w: t.w + o, h: t.h + a, radius: t.radius }; + } + var fo = Object.freeze({ + __proto__: null, + ArcElement: class extends Hs { + static id = "arc"; + static defaults = { + borderAlign: "center", + borderColor: "#fff", + borderDash: [], + borderDashOffset: 0, + borderJoinStyle: void 0, + borderRadius: 0, + borderWidth: 2, + offset: 0, + spacing: 0, + angle: void 0, + circular: !0, + }; + static defaultRoutes = { backgroundColor: "backgroundColor" }; + static descriptors = { + _scriptable: !0, + _indexable: (t) => "borderDash" !== t, + }; + circumference; + endAngle; + fullCircles; + innerRadius; + outerRadius; + pixelMargin; + startAngle; + constructor(t) { + super(), + (this.options = void 0), + (this.circumference = void 0), + (this.startAngle = void 0), + (this.endAngle = void 0), + (this.innerRadius = void 0), + (this.outerRadius = void 0), + (this.pixelMargin = 0), + (this.fullCircles = 0), + t && Object.assign(this, t); + } + inRange(t, e, i) { + const s = this.getProps(["x", "y"], i), + { angle: n, distance: o } = X(s, { x: t, y: e }), + { + startAngle: a, + endAngle: r, + innerRadius: h, + outerRadius: c, + circumference: d, + } = this.getProps( + [ + "startAngle", + "endAngle", + "innerRadius", + "outerRadius", + "circumference", + ], + i + ), + u = (this.options.spacing + this.options.borderWidth) / 2, + f = l(d, r - a), + g = Z(n, a, r) && a !== r, + p = f >= O || g, + m = tt(o, h + u, c + u); + return p && m; + } + getCenterPoint(t) { + const { + x: e, + y: i, + startAngle: s, + endAngle: n, + innerRadius: o, + outerRadius: a, + } = this.getProps( + ["x", "y", "startAngle", "endAngle", "innerRadius", "outerRadius"], + t + ), + { offset: r, spacing: l } = this.options, + h = (s + n) / 2, + c = (o + a + l + r) / 2; + return { x: e + Math.cos(h) * c, y: i + Math.sin(h) * c }; + } + tooltipPosition(t) { + return this.getCenterPoint(t); + } + draw(t) { + const { options: e, circumference: i } = this, + s = (e.offset || 0) / 4, + n = (e.spacing || 0) / 2, + o = e.circular; + if ( + ((this.pixelMargin = "inner" === e.borderAlign ? 0.33 : 0), + (this.fullCircles = i > O ? Math.floor(i / O) : 0), + 0 === i || this.innerRadius < 0 || this.outerRadius < 0) + ) + return; + t.save(); + const a = (this.startAngle + this.endAngle) / 2; + t.translate(Math.cos(a) * s, Math.sin(a) * s); + const r = s * (1 - Math.sin(Math.min(C, i || 0))); + (t.fillStyle = e.backgroundColor), + (t.strokeStyle = e.borderColor), + (function (t, e, i, s, n) { + const { fullCircles: o, startAngle: a, circumference: r } = e; + let l = e.endAngle; + if (o) { + qn(t, e, i, s, l, n); + for (let e = 0; e < o; ++e) t.fill(); + isNaN(r) || (l = a + (r % O || O)); + } + qn(t, e, i, s, l, n), t.fill(); + })(t, this, r, n, o), + Kn(t, this, r, n, o), + t.restore(); + } + }, + BarElement: class extends Hs { + static id = "bar"; + static defaults = { + borderSkipped: "start", + borderWidth: 0, + borderRadius: 0, + inflateAmount: "auto", + pointStyle: void 0, + }; + static defaultRoutes = { + backgroundColor: "backgroundColor", + borderColor: "borderColor", + }; + constructor(t) { + super(), + (this.options = void 0), + (this.horizontal = void 0), + (this.base = void 0), + (this.width = void 0), + (this.height = void 0), + (this.inflateAmount = void 0), + t && Object.assign(this, t); + } + draw(t) { + const { + inflateAmount: e, + options: { borderColor: i, backgroundColor: s }, + } = this, + { inner: n, outer: o } = lo(this), + a = + (r = o.radius).topLeft || + r.topRight || + r.bottomLeft || + r.bottomRight + ? He + : co; + var r; + t.save(), + (o.w === n.w && o.h === n.h) || + (t.beginPath(), + a(t, uo(o, e, n)), + t.clip(), + a(t, uo(n, -e, o)), + (t.fillStyle = i), + t.fill("evenodd")), + t.beginPath(), + a(t, uo(n, e)), + (t.fillStyle = s), + t.fill(), + t.restore(); + } + inRange(t, e, i) { + return ho(this, t, e, i); + } + inXRange(t, e) { + return ho(this, t, null, e); + } + inYRange(t, e) { + return ho(this, null, t, e); + } + getCenterPoint(t) { + const { + x: e, + y: i, + base: s, + horizontal: n, + } = this.getProps(["x", "y", "base", "horizontal"], t); + return { x: n ? (e + s) / 2 : e, y: n ? i : (i + s) / 2 }; + } + getRange(t) { + return "x" === t ? this.width / 2 : this.height / 2; + } + }, + LineElement: no, + PointElement: class extends Hs { + static id = "point"; + parsed; + skip; + stop; + static defaults = { + borderWidth: 1, + hitRadius: 1, + hoverBorderWidth: 1, + hoverRadius: 4, + pointStyle: "circle", + radius: 3, + rotation: 0, + }; + static defaultRoutes = { + backgroundColor: "backgroundColor", + borderColor: "borderColor", + }; + constructor(t) { + super(), + (this.options = void 0), + (this.parsed = void 0), + (this.skip = void 0), + (this.stop = void 0), + t && Object.assign(this, t); + } + inRange(t, e, i) { + const s = this.options, + { x: n, y: o } = this.getProps(["x", "y"], i); + return ( + Math.pow(t - n, 2) + Math.pow(e - o, 2) < + Math.pow(s.hitRadius + s.radius, 2) + ); + } + inXRange(t, e) { + return oo(this, t, "x", e); + } + inYRange(t, e) { + return oo(this, t, "y", e); + } + getCenterPoint(t) { + const { x: e, y: i } = this.getProps(["x", "y"], t); + return { x: e, y: i }; + } + size(t) { + let e = (t = t || this.options || {}).radius || 0; + e = Math.max(e, (e && t.hoverRadius) || 0); + return 2 * (e + ((e && t.borderWidth) || 0)); + } + draw(t, e) { + const i = this.options; + this.skip || + i.radius < 0.1 || + !Re(this, e, this.size(i) / 2) || + ((t.strokeStyle = i.borderColor), + (t.lineWidth = i.borderWidth), + (t.fillStyle = i.backgroundColor), + Le(t, i, this.x, this.y)); + } + getRange() { + const t = this.options || {}; + return t.radius + t.hitRadius; + } + }, + }); + function go(t, e, i, s) { + const n = t.indexOf(e); + if (-1 === n) + return ((t, e, i, s) => ( + "string" == typeof e + ? ((i = t.push(e) - 1), s.unshift({ index: i, label: e })) + : isNaN(e) && (i = null), + i + ))(t, e, i, s); + return n !== t.lastIndexOf(e) ? i : n; + } + function po(t) { + const e = this.getLabels(); + return t >= 0 && t < e.length ? e[t] : t; + } + function mo(t, e, { horizontal: i, minRotation: s }) { + const n = $(s), + o = (i ? Math.sin(n) : Math.cos(n)) || 0.001, + a = 0.75 * e * ("" + t).length; + return Math.min(e / o, a); + } + class bo extends Js { + constructor(t) { + super(t), + (this.start = void 0), + (this.end = void 0), + (this._startValue = void 0), + (this._endValue = void 0), + (this._valueRange = 0); + } + parse(t, e) { + return s(t) || + (("number" == typeof t || t instanceof Number) && !isFinite(+t)) + ? null + : +t; + } + handleTickRangeOptions() { + const { beginAtZero: t } = this.options, + { minDefined: e, maxDefined: i } = this.getUserBounds(); + let { min: s, max: n } = this; + const o = (t) => (s = e ? s : t), + a = (t) => (n = i ? n : t); + if (t) { + const t = F(s), + e = F(n); + t < 0 && e < 0 ? a(0) : t > 0 && e > 0 && o(0); + } + if (s === n) { + let e = 0 === n ? 1 : Math.abs(0.05 * n); + a(n + e), t || o(s - e); + } + (this.min = s), (this.max = n); + } + getTickLimit() { + const t = this.options.ticks; + let e, + { maxTicksLimit: i, stepSize: s } = t; + return ( + s + ? ((e = Math.ceil(this.max / s) - Math.floor(this.min / s) + 1), + e > 1e3 && + (console.warn( + `scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${e} ticks. Limiting to 1000.` + ), + (e = 1e3))) + : ((e = this.computeTickLimit()), (i = i || 11)), + i && (e = Math.min(i, e)), + e + ); + } + computeTickLimit() { + return Number.POSITIVE_INFINITY; + } + buildTicks() { + const t = this.options, + e = t.ticks; + let i = this.getTickLimit(); + i = Math.max(2, i); + const n = (function (t, e) { + const i = [], + { + bounds: n, + step: o, + min: a, + max: r, + precision: l, + count: h, + maxTicks: c, + maxDigits: d, + includeBounds: u, + } = t, + f = o || 1, + g = c - 1, + { min: p, max: m } = e, + b = !s(a), + x = !s(r), + _ = !s(h), + y = (m - p) / (d + 1); + let v, + M, + w, + k, + S = B((m - p) / g / f) * f; + if (S < 1e-14 && !b && !x) return [{ value: p }, { value: m }]; + (k = Math.ceil(m / S) - Math.floor(p / S)), + k > g && (S = B((k * S) / g / f) * f), + s(l) || ((v = Math.pow(10, l)), (S = Math.ceil(S * v) / v)), + "ticks" === n + ? ((M = Math.floor(p / S) * S), (w = Math.ceil(m / S) * S)) + : ((M = p), (w = m)), + b && x && o && H((r - a) / o, S / 1e3) + ? ((k = Math.round(Math.min((r - a) / S, c))), + (S = (r - a) / k), + (M = a), + (w = r)) + : _ + ? ((M = b ? a : M), (w = x ? r : w), (k = h - 1), (S = (w - M) / k)) + : ((k = (w - M) / S), + (k = V(k, Math.round(k), S / 1e3) + ? Math.round(k) + : Math.ceil(k))); + const P = Math.max(U(S), U(M)); + (v = Math.pow(10, s(l) ? P : l)), + (M = Math.round(M * v) / v), + (w = Math.round(w * v) / v); + let D = 0; + for ( + b && + (u && M !== a + ? (i.push({ value: a }), + M < a && D++, + V(Math.round((M + D * S) * v) / v, a, mo(a, y, t)) && D++) + : M < a && D++); + D < k; + ++D + ) { + const t = Math.round((M + D * S) * v) / v; + if (x && t > r) break; + i.push({ value: t }); + } + return ( + x && u && w !== r + ? i.length && V(i[i.length - 1].value, r, mo(r, y, t)) + ? (i[i.length - 1].value = r) + : i.push({ value: r }) + : (x && w !== r) || i.push({ value: w }), + i + ); + })( + { + maxTicks: i, + bounds: t.bounds, + min: t.min, + max: t.max, + precision: e.precision, + step: e.stepSize, + count: e.count, + maxDigits: this._maxDigits(), + horizontal: this.isHorizontal(), + minRotation: e.minRotation || 0, + includeBounds: !1 !== e.includeBounds, + }, + this._range || this + ); + return ( + "ticks" === t.bounds && j(n, this, "value"), + t.reverse + ? (n.reverse(), (this.start = this.max), (this.end = this.min)) + : ((this.start = this.min), (this.end = this.max)), + n + ); + } + configure() { + const t = this.ticks; + let e = this.min, + i = this.max; + if ((super.configure(), this.options.offset && t.length)) { + const s = (i - e) / Math.max(t.length - 1, 1) / 2; + (e -= s), (i += s); + } + (this._startValue = e), (this._endValue = i), (this._valueRange = i - e); + } + getLabelForValue(t) { + return ne(t, this.chart.options.locale, this.options.ticks.format); + } + } + class xo extends bo { + static id = "linear"; + static defaults = { ticks: { callback: ae.formatters.numeric } }; + determineDataLimits() { + const { min: t, max: e } = this.getMinMax(!0); + (this.min = a(t) ? t : 0), + (this.max = a(e) ? e : 1), + this.handleTickRangeOptions(); + } + computeTickLimit() { + const t = this.isHorizontal(), + e = t ? this.width : this.height, + i = $(this.options.ticks.minRotation), + s = (t ? Math.sin(i) : Math.cos(i)) || 0.001, + n = this._resolveTickFontOptions(0); + return Math.ceil(e / Math.min(40, n.lineHeight / s)); + } + getPixelForValue(t) { + return null === t + ? NaN + : this.getPixelForDecimal((t - this._startValue) / this._valueRange); + } + getValueForPixel(t) { + return this._startValue + this.getDecimalForPixel(t) * this._valueRange; + } + } + const _o = (t) => Math.floor(z(t)), + yo = (t, e) => Math.pow(10, _o(t) + e); + function vo(t) { + return 1 === t / Math.pow(10, _o(t)); + } + function Mo(t, e, i) { + const s = Math.pow(10, i), + n = Math.floor(t / s); + return Math.ceil(e / s) - n; + } + function wo(t, { min: e, max: i }) { + e = r(t.min, e); + const s = [], + n = _o(e); + let o = (function (t, e) { + let i = _o(e - t); + for (; Mo(t, e, i) > 10; ) i++; + for (; Mo(t, e, i) < 10; ) i--; + return Math.min(i, _o(t)); + })(e, i), + a = o < 0 ? Math.pow(10, Math.abs(o)) : 1; + const l = Math.pow(10, o), + h = n > o ? Math.pow(10, n) : 0, + c = Math.round((e - h) * a) / a, + d = Math.floor((e - h) / l / 10) * l * 10; + let u = Math.floor((c - d) / Math.pow(10, o)), + f = r(t.min, Math.round((h + d + u * Math.pow(10, o)) * a) / a); + for (; f < i; ) + s.push({ value: f, major: vo(f), significand: u }), + u >= 10 ? (u = u < 15 ? 15 : 20) : u++, + u >= 20 && (o++, (u = 2), (a = o >= 0 ? 1 : a)), + (f = Math.round((h + d + u * Math.pow(10, o)) * a) / a); + const g = r(t.max, f); + return s.push({ value: g, major: vo(g), significand: u }), s; + } + class ko extends Js { + static id = "logarithmic"; + static defaults = { + ticks: { callback: ae.formatters.logarithmic, major: { enabled: !0 } }, + }; + constructor(t) { + super(t), + (this.start = void 0), + (this.end = void 0), + (this._startValue = void 0), + (this._valueRange = 0); + } + parse(t, e) { + const i = bo.prototype.parse.apply(this, [t, e]); + if (0 !== i) return a(i) && i > 0 ? i : null; + this._zero = !0; + } + determineDataLimits() { + const { min: t, max: e } = this.getMinMax(!0); + (this.min = a(t) ? Math.max(0, t) : null), + (this.max = a(e) ? Math.max(0, e) : null), + this.options.beginAtZero && (this._zero = !0), + this._zero && + this.min !== this._suggestedMin && + !a(this._userMin) && + (this.min = + t === yo(this.min, 0) ? yo(this.min, -1) : yo(this.min, 0)), + this.handleTickRangeOptions(); + } + handleTickRangeOptions() { + const { minDefined: t, maxDefined: e } = this.getUserBounds(); + let i = this.min, + s = this.max; + const n = (e) => (i = t ? i : e), + o = (t) => (s = e ? s : t); + i === s && (i <= 0 ? (n(1), o(10)) : (n(yo(i, -1)), o(yo(s, 1)))), + i <= 0 && n(yo(s, -1)), + s <= 0 && o(yo(i, 1)), + (this.min = i), + (this.max = s); + } + buildTicks() { + const t = this.options, + e = wo({ min: this._userMin, max: this._userMax }, this); + return ( + "ticks" === t.bounds && j(e, this, "value"), + t.reverse + ? (e.reverse(), (this.start = this.max), (this.end = this.min)) + : ((this.start = this.min), (this.end = this.max)), + e + ); + } + getLabelForValue(t) { + return void 0 === t + ? "0" + : ne(t, this.chart.options.locale, this.options.ticks.format); + } + configure() { + const t = this.min; + super.configure(), + (this._startValue = z(t)), + (this._valueRange = z(this.max) - z(t)); + } + getPixelForValue(t) { + return ( + (void 0 !== t && 0 !== t) || (t = this.min), + null === t || isNaN(t) + ? NaN + : this.getPixelForDecimal( + t === this.min ? 0 : (z(t) - this._startValue) / this._valueRange + ) + ); + } + getValueForPixel(t) { + const e = this.getDecimalForPixel(t); + return Math.pow(10, this._startValue + e * this._valueRange); + } + } + function So(t) { + const e = t.ticks; + if (e.display && t.display) { + const t = ki(e.backdropPadding); + return l(e.font && e.font.size, ue.font.size) + t.height; + } + return 0; + } + function Po(t, e, i, s, n) { + return t === s || t === n + ? { start: e - i / 2, end: e + i / 2 } + : t < s || t > n + ? { start: e - i, end: e } + : { start: e, end: e + i }; + } + function Do(t) { + const e = { + l: t.left + t._padding.left, + r: t.right - t._padding.right, + t: t.top + t._padding.top, + b: t.bottom - t._padding.bottom, + }, + i = Object.assign({}, e), + s = [], + o = [], + a = t._pointLabels.length, + r = t.options.pointLabels, + l = r.centerPointLabels ? C / a : 0; + for (let u = 0; u < a; u++) { + const a = r.setContext(t.getPointLabelContext(u)); + o[u] = a.padding; + const f = t.getPointPosition(u, t.drawingArea + o[u], l), + g = Si(a.font), + p = + ((h = t.ctx), + (c = g), + (d = n((d = t._pointLabels[u])) ? d : [d]), + { w: Oe(h, c.string, d), h: d.length * c.lineHeight }); + s[u] = p; + const m = G(t.getIndexAngle(u) + l), + b = Math.round(Y(m)); + Co(i, e, m, Po(b, f.x, p.w, 0, 180), Po(b, f.y, p.h, 90, 270)); + } + var h, c, d; + t.setCenterPoint(e.l - i.l, i.r - e.r, e.t - i.t, i.b - e.b), + (t._pointLabelItems = (function (t, e, i) { + const s = [], + n = t._pointLabels.length, + o = t.options, + { centerPointLabels: a, display: r } = o.pointLabels, + l = { extra: So(o) / 2, additionalAngle: a ? C / n : 0 }; + let h; + for (let o = 0; o < n; o++) { + (l.padding = i[o]), (l.size = e[o]); + const n = Oo(t, o, l); + s.push(n), + "auto" === r && ((n.visible = Ao(n, h)), n.visible && (h = n)); + } + return s; + })(t, s, o)); + } + function Co(t, e, i, s, n) { + const o = Math.abs(Math.sin(i)), + a = Math.abs(Math.cos(i)); + let r = 0, + l = 0; + s.start < e.l + ? ((r = (e.l - s.start) / o), (t.l = Math.min(t.l, e.l - r))) + : s.end > e.r && + ((r = (s.end - e.r) / o), (t.r = Math.max(t.r, e.r + r))), + n.start < e.t + ? ((l = (e.t - n.start) / a), (t.t = Math.min(t.t, e.t - l))) + : n.end > e.b && + ((l = (n.end - e.b) / a), (t.b = Math.max(t.b, e.b + l))); + } + function Oo(t, e, i) { + const s = t.drawingArea, + { extra: n, additionalAngle: o, padding: a, size: r } = i, + l = t.getPointPosition(e, s + n + a, o), + h = Math.round(Y(G(l.angle + E))), + c = (function (t, e, i) { + 90 === i || 270 === i ? (t -= e / 2) : (i > 270 || i < 90) && (t -= e); + return t; + })(l.y, r.h, h), + d = (function (t) { + if (0 === t || 180 === t) return "center"; + if (t < 180) return "left"; + return "right"; + })(h), + u = (function (t, e, i) { + "right" === i ? (t -= e) : "center" === i && (t -= e / 2); + return t; + })(l.x, r.w, d); + return { + visible: !0, + x: l.x, + y: c, + textAlign: d, + left: u, + top: c, + right: u + r.w, + bottom: c + r.h, + }; + } + function Ao(t, e) { + if (!e) return !0; + const { left: i, top: s, right: n, bottom: o } = t; + return !( + Re({ x: i, y: s }, e) || + Re({ x: i, y: o }, e) || + Re({ x: n, y: s }, e) || + Re({ x: n, y: o }, e) + ); + } + function To(t, e, i) { + const { left: n, top: o, right: a, bottom: r } = i, + { backdropColor: l } = e; + if (!s(l)) { + const i = wi(e.borderRadius), + s = ki(e.backdropPadding); + t.fillStyle = l; + const h = n - s.left, + c = o - s.top, + d = a - n + s.width, + u = r - o + s.height; + Object.values(i).some((t) => 0 !== t) + ? (t.beginPath(), + He(t, { x: h, y: c, w: d, h: u, radius: i }), + t.fill()) + : t.fillRect(h, c, d, u); + } + } + function Lo(t, e, i, s) { + const { ctx: n } = t; + if (i) n.arc(t.xCenter, t.yCenter, e, 0, O); + else { + let i = t.getPointPosition(0, e); + n.moveTo(i.x, i.y); + for (let o = 1; o < s; o++) + (i = t.getPointPosition(o, e)), n.lineTo(i.x, i.y); + } + } + class Eo extends bo { + static id = "radialLinear"; + static defaults = { + display: !0, + animate: !0, + position: "chartArea", + angleLines: { + display: !0, + lineWidth: 1, + borderDash: [], + borderDashOffset: 0, + }, + grid: { circular: !1 }, + startAngle: 0, + ticks: { showLabelBackdrop: !0, callback: ae.formatters.numeric }, + pointLabels: { + backdropColor: void 0, + backdropPadding: 2, + display: !0, + font: { size: 10 }, + callback: (t) => t, + padding: 5, + centerPointLabels: !1, + }, + }; + static defaultRoutes = { + "angleLines.color": "borderColor", + "pointLabels.color": "color", + "ticks.color": "color", + }; + static descriptors = { angleLines: { _fallback: "grid" } }; + constructor(t) { + super(t), + (this.xCenter = void 0), + (this.yCenter = void 0), + (this.drawingArea = void 0), + (this._pointLabels = []), + (this._pointLabelItems = []); + } + setDimensions() { + const t = (this._padding = ki(So(this.options) / 2)), + e = (this.width = this.maxWidth - t.width), + i = (this.height = this.maxHeight - t.height); + (this.xCenter = Math.floor(this.left + e / 2 + t.left)), + (this.yCenter = Math.floor(this.top + i / 2 + t.top)), + (this.drawingArea = Math.floor(Math.min(e, i) / 2)); + } + determineDataLimits() { + const { min: t, max: e } = this.getMinMax(!1); + (this.min = a(t) && !isNaN(t) ? t : 0), + (this.max = a(e) && !isNaN(e) ? e : 0), + this.handleTickRangeOptions(); + } + computeTickLimit() { + return Math.ceil(this.drawingArea / So(this.options)); + } + generateTickLabels(t) { + bo.prototype.generateTickLabels.call(this, t), + (this._pointLabels = this.getLabels() + .map((t, e) => { + const i = d(this.options.pointLabels.callback, [t, e], this); + return i || 0 === i ? i : ""; + }) + .filter((t, e) => this.chart.getDataVisibility(e))); + } + fit() { + const t = this.options; + t.display && t.pointLabels.display + ? Do(this) + : this.setCenterPoint(0, 0, 0, 0); + } + setCenterPoint(t, e, i, s) { + (this.xCenter += Math.floor((t - e) / 2)), + (this.yCenter += Math.floor((i - s) / 2)), + (this.drawingArea -= Math.min( + this.drawingArea / 2, + Math.max(t, e, i, s) + )); + } + getIndexAngle(t) { + return G( + t * (O / (this._pointLabels.length || 1)) + + $(this.options.startAngle || 0) + ); + } + getDistanceFromCenterForValue(t) { + if (s(t)) return NaN; + const e = this.drawingArea / (this.max - this.min); + return this.options.reverse ? (this.max - t) * e : (t - this.min) * e; + } + getValueForDistanceFromCenter(t) { + if (s(t)) return NaN; + const e = t / (this.drawingArea / (this.max - this.min)); + return this.options.reverse ? this.max - e : this.min + e; + } + getPointLabelContext(t) { + const e = this._pointLabels || []; + if (t >= 0 && t < e.length) { + const i = e[t]; + return (function (t, e, i) { + return Ci(t, { label: i, index: e, type: "pointLabel" }); + })(this.getContext(), t, i); + } + } + getPointPosition(t, e, i = 0) { + const s = this.getIndexAngle(t) - E + i; + return { + x: Math.cos(s) * e + this.xCenter, + y: Math.sin(s) * e + this.yCenter, + angle: s, + }; + } + getPointPositionForValue(t, e) { + return this.getPointPosition(t, this.getDistanceFromCenterForValue(e)); + } + getBasePosition(t) { + return this.getPointPositionForValue(t || 0, this.getBaseValue()); + } + getPointLabelPosition(t) { + const { left: e, top: i, right: s, bottom: n } = this._pointLabelItems[t]; + return { left: e, top: i, right: s, bottom: n }; + } + drawBackground() { + const { + backgroundColor: t, + grid: { circular: e }, + } = this.options; + if (t) { + const i = this.ctx; + i.save(), + i.beginPath(), + Lo( + this, + this.getDistanceFromCenterForValue(this._endValue), + e, + this._pointLabels.length + ), + i.closePath(), + (i.fillStyle = t), + i.fill(), + i.restore(); + } + } + drawGrid() { + const t = this.ctx, + e = this.options, + { angleLines: i, grid: s, border: n } = e, + o = this._pointLabels.length; + let a, r, l; + if ( + (e.pointLabels.display && + (function (t, e) { + const { + ctx: i, + options: { pointLabels: s }, + } = t; + for (let n = e - 1; n >= 0; n--) { + const e = t._pointLabelItems[n]; + if (!e.visible) continue; + const o = s.setContext(t.getPointLabelContext(n)); + To(i, o, e); + const a = Si(o.font), + { x: r, y: l, textAlign: h } = e; + Ne(i, t._pointLabels[n], r, l + a.lineHeight / 2, a, { + color: o.color, + textAlign: h, + textBaseline: "middle", + }); + } + })(this, o), + s.display && + this.ticks.forEach((t, e) => { + if (0 !== e || (0 === e && this.min < 0)) { + r = this.getDistanceFromCenterForValue(t.value); + const i = this.getContext(e), + a = s.setContext(i), + l = n.setContext(i); + !(function (t, e, i, s, n) { + const o = t.ctx, + a = e.circular, + { color: r, lineWidth: l } = e; + (!a && !s) || + !r || + !l || + i < 0 || + (o.save(), + (o.strokeStyle = r), + (o.lineWidth = l), + o.setLineDash(n.dash || []), + (o.lineDashOffset = n.dashOffset), + o.beginPath(), + Lo(t, i, a, s), + o.closePath(), + o.stroke(), + o.restore()); + })(this, a, r, o, l); + } + }), + i.display) + ) { + for (t.save(), a = o - 1; a >= 0; a--) { + const s = i.setContext(this.getPointLabelContext(a)), + { color: n, lineWidth: o } = s; + o && + n && + ((t.lineWidth = o), + (t.strokeStyle = n), + t.setLineDash(s.borderDash), + (t.lineDashOffset = s.borderDashOffset), + (r = this.getDistanceFromCenterForValue( + e.reverse ? this.min : this.max + )), + (l = this.getPointPosition(a, r)), + t.beginPath(), + t.moveTo(this.xCenter, this.yCenter), + t.lineTo(l.x, l.y), + t.stroke()); + } + t.restore(); + } + } + drawBorder() {} + drawLabels() { + const t = this.ctx, + e = this.options, + i = e.ticks; + if (!i.display) return; + const s = this.getIndexAngle(0); + let n, o; + t.save(), + t.translate(this.xCenter, this.yCenter), + t.rotate(s), + (t.textAlign = "center"), + (t.textBaseline = "middle"), + this.ticks.forEach((s, a) => { + if (0 === a && this.min >= 0 && !e.reverse) return; + const r = i.setContext(this.getContext(a)), + l = Si(r.font); + if ( + ((n = this.getDistanceFromCenterForValue(this.ticks[a].value)), + r.showLabelBackdrop) + ) { + (t.font = l.string), + (o = t.measureText(s.label).width), + (t.fillStyle = r.backdropColor); + const e = ki(r.backdropPadding); + t.fillRect( + -o / 2 - e.left, + -n - l.size / 2 - e.top, + o + e.width, + l.size + e.height + ); + } + Ne(t, s.label, 0, -n, l, { + color: r.color, + strokeColor: r.textStrokeColor, + strokeWidth: r.textStrokeWidth, + }); + }), + t.restore(); + } + drawTitle() {} + } + const Ro = { + millisecond: { common: !0, size: 1, steps: 1e3 }, + second: { common: !0, size: 1e3, steps: 60 }, + minute: { common: !0, size: 6e4, steps: 60 }, + hour: { common: !0, size: 36e5, steps: 24 }, + day: { common: !0, size: 864e5, steps: 30 }, + week: { common: !1, size: 6048e5, steps: 4 }, + month: { common: !0, size: 2628e6, steps: 12 }, + quarter: { common: !1, size: 7884e6, steps: 4 }, + year: { common: !0, size: 3154e7 }, + }, + Io = Object.keys(Ro); + function zo(t, e) { + return t - e; + } + function Fo(t, e) { + if (s(e)) return null; + const i = t._adapter, + { parser: n, round: o, isoWeekday: r } = t._parseOpts; + let l = e; + return ( + "function" == typeof n && (l = n(l)), + a(l) || (l = "string" == typeof n ? i.parse(l, n) : i.parse(l)), + null === l + ? null + : (o && + (l = + "week" !== o || (!N(r) && !0 !== r) + ? i.startOf(l, o) + : i.startOf(l, "isoWeek", r)), + +l) + ); + } + function Vo(t, e, i, s) { + const n = Io.length; + for (let o = Io.indexOf(t); o < n - 1; ++o) { + const t = Ro[Io[o]], + n = t.steps ? t.steps : Number.MAX_SAFE_INTEGER; + if (t.common && Math.ceil((i - e) / (n * t.size)) <= s) return Io[o]; + } + return Io[n - 1]; + } + function Bo(t, e, i) { + if (i) { + if (i.length) { + const { lo: s, hi: n } = et(i, e); + t[i[s] >= e ? i[s] : i[n]] = !0; + } + } else t[e] = !0; + } + function Wo(t, e, i) { + const s = [], + n = {}, + o = e.length; + let a, r; + for (a = 0; a < o; ++a) + (r = e[a]), (n[r] = a), s.push({ value: r, major: !1 }); + return 0 !== o && i + ? (function (t, e, i, s) { + const n = t._adapter, + o = +n.startOf(e[0].value, s), + a = e[e.length - 1].value; + let r, l; + for (r = o; r <= a; r = +n.add(r, 1, s)) + (l = i[r]), l >= 0 && (e[l].major = !0); + return e; + })(t, s, n, i) + : s; + } + class No extends Js { + static id = "time"; + static defaults = { + bounds: "data", + adapters: {}, + time: { + parser: !1, + unit: !1, + round: !1, + isoWeekday: !1, + minUnit: "millisecond", + displayFormats: {}, + }, + ticks: { source: "auto", callback: !1, major: { enabled: !1 } }, + }; + constructor(t) { + super(t), + (this._cache = { data: [], labels: [], all: [] }), + (this._unit = "day"), + (this._majorUnit = void 0), + (this._offsets = {}), + (this._normalized = !1), + (this._parseOpts = void 0); + } + init(t, e = {}) { + const i = t.time || (t.time = {}), + s = (this._adapter = new Rn._date(t.adapters.date)); + s.init(e), + x(i.displayFormats, s.formats()), + (this._parseOpts = { + parser: i.parser, + round: i.round, + isoWeekday: i.isoWeekday, + }), + super.init(t), + (this._normalized = e.normalized); + } + parse(t, e) { + return void 0 === t ? null : Fo(this, t); + } + beforeLayout() { + super.beforeLayout(), (this._cache = { data: [], labels: [], all: [] }); + } + determineDataLimits() { + const t = this.options, + e = this._adapter, + i = t.time.unit || "day"; + let { + min: s, + max: n, + minDefined: o, + maxDefined: r, + } = this.getUserBounds(); + function l(t) { + o || isNaN(t.min) || (s = Math.min(s, t.min)), + r || isNaN(t.max) || (n = Math.max(n, t.max)); + } + (o && r) || + (l(this._getLabelBounds()), + ("ticks" === t.bounds && "labels" === t.ticks.source) || + l(this.getMinMax(!1))), + (s = a(s) && !isNaN(s) ? s : +e.startOf(Date.now(), i)), + (n = a(n) && !isNaN(n) ? n : +e.endOf(Date.now(), i) + 1), + (this.min = Math.min(s, n - 1)), + (this.max = Math.max(s + 1, n)); + } + _getLabelBounds() { + const t = this.getLabelTimestamps(); + let e = Number.POSITIVE_INFINITY, + i = Number.NEGATIVE_INFINITY; + return ( + t.length && ((e = t[0]), (i = t[t.length - 1])), { min: e, max: i } + ); + } + buildTicks() { + const t = this.options, + e = t.time, + i = t.ticks, + s = + "labels" === i.source ? this.getLabelTimestamps() : this._generate(); + "ticks" === t.bounds && + s.length && + ((this.min = this._userMin || s[0]), + (this.max = this._userMax || s[s.length - 1])); + const n = this.min, + o = nt(s, n, this.max); + return ( + (this._unit = + e.unit || + (i.autoSkip + ? Vo(e.minUnit, this.min, this.max, this._getLabelCapacity(n)) + : (function (t, e, i, s, n) { + for (let o = Io.length - 1; o >= Io.indexOf(i); o--) { + const i = Io[o]; + if (Ro[i].common && t._adapter.diff(n, s, i) >= e - 1) + return i; + } + return Io[i ? Io.indexOf(i) : 0]; + })(this, o.length, e.minUnit, this.min, this.max))), + (this._majorUnit = + i.major.enabled && "year" !== this._unit + ? (function (t) { + for (let e = Io.indexOf(t) + 1, i = Io.length; e < i; ++e) + if (Ro[Io[e]].common) return Io[e]; + })(this._unit) + : void 0), + this.initOffsets(s), + t.reverse && o.reverse(), + Wo(this, o, this._majorUnit) + ); + } + afterAutoSkip() { + this.options.offsetAfterAutoskip && + this.initOffsets(this.ticks.map((t) => +t.value)); + } + initOffsets(t = []) { + let e, + i, + s = 0, + n = 0; + this.options.offset && + t.length && + ((e = this.getDecimalForValue(t[0])), + (s = 1 === t.length ? 1 - e : (this.getDecimalForValue(t[1]) - e) / 2), + (i = this.getDecimalForValue(t[t.length - 1])), + (n = + 1 === t.length + ? i + : (i - this.getDecimalForValue(t[t.length - 2])) / 2)); + const o = t.length < 3 ? 0.5 : 0.25; + (s = J(s, 0, o)), + (n = J(n, 0, o)), + (this._offsets = { start: s, end: n, factor: 1 / (s + 1 + n) }); + } + _generate() { + const t = this._adapter, + e = this.min, + i = this.max, + s = this.options, + n = s.time, + o = n.unit || Vo(n.minUnit, e, i, this._getLabelCapacity(e)), + a = l(s.ticks.stepSize, 1), + r = "week" === o && n.isoWeekday, + h = N(r) || !0 === r, + c = {}; + let d, + u, + f = e; + if ( + (h && (f = +t.startOf(f, "isoWeek", r)), + (f = +t.startOf(f, h ? "day" : o)), + t.diff(i, e, o) > 1e5 * a) + ) + throw new Error( + e + " and " + i + " are too far apart with stepSize of " + a + " " + o + ); + const g = "data" === s.ticks.source && this.getDataTimestamps(); + for (d = f, u = 0; d < i; d = +t.add(d, a, o), u++) Bo(c, d, g); + return ( + (d !== i && "ticks" !== s.bounds && 1 !== u) || Bo(c, d, g), + Object.keys(c) + .sort(zo) + .map((t) => +t) + ); + } + getLabelForValue(t) { + const e = this._adapter, + i = this.options.time; + return i.tooltipFormat + ? e.format(t, i.tooltipFormat) + : e.format(t, i.displayFormats.datetime); + } + format(t, e) { + const i = this.options.time.displayFormats, + s = this._unit, + n = e || i[s]; + return this._adapter.format(t, n); + } + _tickFormatFunction(t, e, i, s) { + const n = this.options, + o = n.ticks.callback; + if (o) return d(o, [t, e, i], this); + const a = n.time.displayFormats, + r = this._unit, + l = this._majorUnit, + h = r && a[r], + c = l && a[l], + u = i[e], + f = l && c && u && u.major; + return this._adapter.format(t, s || (f ? c : h)); + } + generateTickLabels(t) { + let e, i, s; + for (e = 0, i = t.length; e < i; ++e) + (s = t[e]), (s.label = this._tickFormatFunction(s.value, e, t)); + } + getDecimalForValue(t) { + return null === t ? NaN : (t - this.min) / (this.max - this.min); + } + getPixelForValue(t) { + const e = this._offsets, + i = this.getDecimalForValue(t); + return this.getPixelForDecimal((e.start + i) * e.factor); + } + getValueForPixel(t) { + const e = this._offsets, + i = this.getDecimalForPixel(t) / e.factor - e.end; + return this.min + i * (this.max - this.min); + } + _getLabelSize(t) { + const e = this.options.ticks, + i = this.ctx.measureText(t).width, + s = $(this.isHorizontal() ? e.maxRotation : e.minRotation), + n = Math.cos(s), + o = Math.sin(s), + a = this._resolveTickFontOptions(0).size; + return { w: i * n + a * o, h: i * o + a * n }; + } + _getLabelCapacity(t) { + const e = this.options.time, + i = e.displayFormats, + s = i[e.unit] || i.millisecond, + n = this._tickFormatFunction(t, 0, Wo(this, [t], this._majorUnit), s), + o = this._getLabelSize(n), + a = + Math.floor( + this.isHorizontal() ? this.width / o.w : this.height / o.h + ) - 1; + return a > 0 ? a : 1; + } + getDataTimestamps() { + let t, + e, + i = this._cache.data || []; + if (i.length) return i; + const s = this.getMatchingVisibleMetas(); + if (this._normalized && s.length) + return (this._cache.data = s[0].controller.getAllParsedValues(this)); + for (t = 0, e = s.length; t < e; ++t) + i = i.concat(s[t].controller.getAllParsedValues(this)); + return (this._cache.data = this.normalize(i)); + } + getLabelTimestamps() { + const t = this._cache.labels || []; + let e, i; + if (t.length) return t; + const s = this.getLabels(); + for (e = 0, i = s.length; e < i; ++e) t.push(Fo(this, s[e])); + return (this._cache.labels = this._normalized ? t : this.normalize(t)); + } + normalize(t) { + return lt(t.sort(zo)); + } + } + function Ho(t, e, i) { + let s, + n, + o, + a, + r = 0, + l = t.length - 1; + i + ? (e >= t[r].pos && e <= t[l].pos && ({ lo: r, hi: l } = it(t, "pos", e)), + ({ pos: s, time: o } = t[r]), + ({ pos: n, time: a } = t[l])) + : (e >= t[r].time && + e <= t[l].time && + ({ lo: r, hi: l } = it(t, "time", e)), + ({ time: s, pos: o } = t[r]), + ({ time: n, pos: a } = t[l])); + const h = n - s; + return h ? o + ((a - o) * (e - s)) / h : o; + } + var jo = Object.freeze({ + __proto__: null, + CategoryScale: class extends Js { + static id = "category"; + static defaults = { ticks: { callback: po } }; + constructor(t) { + super(t), + (this._startValue = void 0), + (this._valueRange = 0), + (this._addedLabels = []); + } + init(t) { + const e = this._addedLabels; + if (e.length) { + const t = this.getLabels(); + for (const { index: i, label: s } of e) t[i] === s && t.splice(i, 1); + this._addedLabels = []; + } + super.init(t); + } + parse(t, e) { + if (s(t)) return null; + const i = this.getLabels(); + return ((t, e) => (null === t ? null : J(Math.round(t), 0, e)))( + (e = + isFinite(e) && i[e] === t + ? e + : go(i, t, l(e, t), this._addedLabels)), + i.length - 1 + ); + } + determineDataLimits() { + const { minDefined: t, maxDefined: e } = this.getUserBounds(); + let { min: i, max: s } = this.getMinMax(!0); + "ticks" === this.options.bounds && + (t || (i = 0), e || (s = this.getLabels().length - 1)), + (this.min = i), + (this.max = s); + } + buildTicks() { + const t = this.min, + e = this.max, + i = this.options.offset, + s = []; + let n = this.getLabels(); + (n = 0 === t && e === n.length - 1 ? n : n.slice(t, e + 1)), + (this._valueRange = Math.max(n.length - (i ? 0 : 1), 1)), + (this._startValue = this.min - (i ? 0.5 : 0)); + for (let i = t; i <= e; i++) s.push({ value: i }); + return s; + } + getLabelForValue(t) { + return po.call(this, t); + } + configure() { + super.configure(), + this.isHorizontal() || (this._reversePixels = !this._reversePixels); + } + getPixelForValue(t) { + return ( + "number" != typeof t && (t = this.parse(t)), + null === t + ? NaN + : this.getPixelForDecimal((t - this._startValue) / this._valueRange) + ); + } + getPixelForTick(t) { + const e = this.ticks; + return t < 0 || t > e.length - 1 + ? null + : this.getPixelForValue(e[t].value); + } + getValueForPixel(t) { + return Math.round( + this._startValue + this.getDecimalForPixel(t) * this._valueRange + ); + } + getBasePixel() { + return this.bottom; + } + }, + LinearScale: xo, + LogarithmicScale: ko, + RadialLinearScale: Eo, + TimeScale: No, + TimeSeriesScale: class extends No { + static id = "timeseries"; + static defaults = No.defaults; + constructor(t) { + super(t), + (this._table = []), + (this._minPos = void 0), + (this._tableRange = void 0); + } + initOffsets() { + const t = this._getTimestampsForTable(), + e = (this._table = this.buildLookupTable(t)); + (this._minPos = Ho(e, this.min)), + (this._tableRange = Ho(e, this.max) - this._minPos), + super.initOffsets(t); + } + buildLookupTable(t) { + const { min: e, max: i } = this, + s = [], + n = []; + let o, a, r, l, h; + for (o = 0, a = t.length; o < a; ++o) + (l = t[o]), l >= e && l <= i && s.push(l); + if (s.length < 2) + return [ + { time: e, pos: 0 }, + { time: i, pos: 1 }, + ]; + for (o = 0, a = s.length; o < a; ++o) + (h = s[o + 1]), + (r = s[o - 1]), + (l = s[o]), + Math.round((h + r) / 2) !== l && + n.push({ time: l, pos: o / (a - 1) }); + return n; + } + _generate() { + const t = this.min, + e = this.max; + let i = super.getDataTimestamps(); + return ( + (i.includes(t) && i.length) || i.splice(0, 0, t), + (i.includes(e) && 1 !== i.length) || i.push(e), + i.sort((t, e) => t - e) + ); + } + _getTimestampsForTable() { + let t = this._cache.all || []; + if (t.length) return t; + const e = this.getDataTimestamps(), + i = this.getLabelTimestamps(); + return ( + (t = + e.length && i.length + ? this.normalize(e.concat(i)) + : e.length + ? e + : i), + (t = this._cache.all = t), + t + ); + } + getDecimalForValue(t) { + return (Ho(this._table, t) - this._minPos) / this._tableRange; + } + getValueForPixel(t) { + const e = this._offsets, + i = this.getDecimalForPixel(t) / e.factor - e.end; + return Ho(this._table, i * this._tableRange + this._minPos, !0); + } + }, + }); + const $o = [ + "rgb(54, 162, 235)", + "rgb(255, 99, 132)", + "rgb(255, 159, 64)", + "rgb(255, 205, 86)", + "rgb(75, 192, 192)", + "rgb(153, 102, 255)", + "rgb(201, 203, 207)", + ], + Yo = $o.map((t) => t.replace("rgb(", "rgba(").replace(")", ", 0.5)")); + function Uo(t) { + return $o[t % $o.length]; + } + function Xo(t) { + return Yo[t % Yo.length]; + } + function qo(t) { + let e = 0; + return (i, s) => { + const n = t.getDatasetMeta(s).controller; + n instanceof jn + ? (e = (function (t, e) { + return (t.backgroundColor = t.data.map(() => Uo(e++))), e; + })(i, e)) + : n instanceof $n + ? (e = (function (t, e) { + return (t.backgroundColor = t.data.map(() => Xo(e++))), e; + })(i, e)) + : n && + (e = (function (t, e) { + return (t.borderColor = Uo(e)), (t.backgroundColor = Xo(e)), ++e; + })(i, e)); + }; + } + function Ko(t) { + let e; + for (e in t) if (t[e].borderColor || t[e].backgroundColor) return !0; + return !1; + } + var Go = { + id: "colors", + defaults: { enabled: !0, forceOverride: !1 }, + beforeLayout(t, e, i) { + if (!i.enabled) return; + const { + data: { datasets: s }, + options: n, + } = t.config, + { elements: o } = n, + a = + Ko(s) || + ((r = n) && (r.borderColor || r.backgroundColor)) || + (o && Ko(o)) || + "rgba(0,0,0,0.1)" !== ue.borderColor || + "rgba(0,0,0,0.1)" !== ue.backgroundColor; + var r; + if (!i.forceOverride && a) return; + const l = qo(t); + s.forEach(l); + }, + }; + function Zo(t) { + if (t._decimated) { + const e = t._data; + delete t._decimated, + delete t._data, + Object.defineProperty(t, "data", { + configurable: !0, + enumerable: !0, + writable: !0, + value: e, + }); + } + } + function Jo(t) { + t.data.datasets.forEach((t) => { + Zo(t); + }); + } + var Qo = { + id: "decimation", + defaults: { algorithm: "min-max", enabled: !1 }, + beforeElementsUpdate: (t, e, i) => { + if (!i.enabled) return void Jo(t); + const n = t.width; + t.data.datasets.forEach((e, o) => { + const { _data: a, indexAxis: r } = e, + l = t.getDatasetMeta(o), + h = a || e.data; + if ("y" === Pi([r, t.options.indexAxis])) return; + if (!l.controller.supportsDecimation) return; + const c = t.scales[l.xAxisID]; + if ("linear" !== c.type && "time" !== c.type) return; + if (t.options.parsing) return; + let { start: d, count: u } = (function (t, e) { + const i = e.length; + let s, + n = 0; + const { iScale: o } = t, + { + min: a, + max: r, + minDefined: l, + maxDefined: h, + } = o.getUserBounds(); + return ( + l && (n = J(it(e, o.axis, a).lo, 0, i - 1)), + (s = h ? J(it(e, o.axis, r).hi + 1, n, i) - n : i - n), + { start: n, count: s } + ); + })(l, h); + if (u <= (i.threshold || 4 * n)) return void Zo(e); + let f; + switch ( + (s(a) && + ((e._data = h), + delete e.data, + Object.defineProperty(e, "data", { + configurable: !0, + enumerable: !0, + get: function () { + return this._decimated; + }, + set: function (t) { + this._data = t; + }, + })), + i.algorithm) + ) { + case "lttb": + f = (function (t, e, i, s, n) { + const o = n.samples || s; + if (o >= i) return t.slice(e, e + i); + const a = [], + r = (i - 2) / (o - 2); + let l = 0; + const h = e + i - 1; + let c, + d, + u, + f, + g, + p = e; + for (a[l++] = t[p], c = 0; c < o - 2; c++) { + let s, + n = 0, + o = 0; + const h = Math.floor((c + 1) * r) + 1 + e, + m = Math.min(Math.floor((c + 2) * r) + 1, i) + e, + b = m - h; + for (s = h; s < m; s++) (n += t[s].x), (o += t[s].y); + (n /= b), (o /= b); + const x = Math.floor(c * r) + 1 + e, + _ = Math.min(Math.floor((c + 1) * r) + 1, i) + e, + { x: y, y: v } = t[p]; + for (u = f = -1, s = x; s < _; s++) + (f = + 0.5 * + Math.abs((y - n) * (t[s].y - v) - (y - t[s].x) * (o - v))), + f > u && ((u = f), (d = t[s]), (g = s)); + (a[l++] = d), (p = g); + } + return (a[l++] = t[h]), a; + })(h, d, u, n, i); + break; + case "min-max": + f = (function (t, e, i, n) { + let o, + a, + r, + l, + h, + c, + d, + u, + f, + g, + p = 0, + m = 0; + const b = [], + x = e + i - 1, + _ = t[e].x, + y = t[x].x - _; + for (o = e; o < e + i; ++o) { + (a = t[o]), (r = ((a.x - _) / y) * n), (l = a.y); + const e = 0 | r; + if (e === h) + l < f ? ((f = l), (c = o)) : l > g && ((g = l), (d = o)), + (p = (m * p + a.x) / ++m); + else { + const i = o - 1; + if (!s(c) && !s(d)) { + const e = Math.min(c, d), + s = Math.max(c, d); + e !== u && e !== i && b.push({ ...t[e], x: p }), + s !== u && s !== i && b.push({ ...t[s], x: p }); + } + o > 0 && i !== u && b.push(t[i]), + b.push(a), + (h = e), + (m = 0), + (f = g = l), + (c = d = u = o); + } + } + return b; + })(h, d, u, n); + break; + default: + throw new Error( + `Unsupported decimation algorithm '${i.algorithm}'` + ); + } + e._decimated = f; + }); + }, + destroy(t) { + Jo(t); + }, + }; + function ta(t, e, i, s) { + if (s) return; + let n = e[t], + o = i[t]; + return ( + "angle" === t && ((n = G(n)), (o = G(o))), + { property: t, start: n, end: o } + ); + } + function ea(t, e, i) { + for (; e > t; e--) { + const t = i[e]; + if (!isNaN(t.x) && !isNaN(t.y)) break; + } + return e; + } + function ia(t, e, i, s) { + return t && e ? s(t[i], e[i]) : t ? t[i] : e ? e[i] : 0; + } + function sa(t, e) { + let i = [], + s = !1; + return ( + n(t) + ? ((s = !0), (i = t)) + : (i = (function (t, e) { + const { x: i = null, y: s = null } = t || {}, + n = e.points, + o = []; + return ( + e.segments.forEach(({ start: t, end: e }) => { + e = ea(t, e, n); + const a = n[t], + r = n[e]; + null !== s + ? (o.push({ x: a.x, y: s }), o.push({ x: r.x, y: s })) + : null !== i && + (o.push({ x: i, y: a.y }), o.push({ x: i, y: r.y })); + }), + o + ); + })(t, e)), + i.length + ? new no({ points: i, options: { tension: 0 }, _loop: s, _fullLoop: s }) + : null + ); + } + function na(t) { + return t && !1 !== t.fill; + } + function oa(t, e, i) { + let s = t[e].fill; + const n = [e]; + let o; + if (!i) return s; + for (; !1 !== s && -1 === n.indexOf(s); ) { + if (!a(s)) return s; + if (((o = t[s]), !o)) return !1; + if (o.visible) return s; + n.push(s), (s = o.fill); + } + return !1; + } + function aa(t, e, i) { + const s = (function (t) { + const e = t.options, + i = e.fill; + let s = l(i && i.target, i); + void 0 === s && (s = !!e.backgroundColor); + if (!1 === s || null === s) return !1; + if (!0 === s) return "origin"; + return s; + })(t); + if (o(s)) return !isNaN(s.value) && s; + let n = parseFloat(s); + return a(n) && Math.floor(n) === n + ? (function (t, e, i, s) { + ("-" !== t && "+" !== t) || (i = e + i); + if (i === e || i < 0 || i >= s) return !1; + return i; + })(s[0], e, n, i) + : ["origin", "start", "end", "stack", "shape"].indexOf(s) >= 0 && s; + } + function ra(t, e, i) { + const s = []; + for (let n = 0; n < i.length; n++) { + const o = i[n], + { first: a, last: r, point: l } = la(o, e, "x"); + if (!(!l || (a && r))) + if (a) s.unshift(l); + else if ((t.push(l), !r)) break; + } + t.push(...s); + } + function la(t, e, i) { + const s = t.interpolate(e, i); + if (!s) return {}; + const n = s[i], + o = t.segments, + a = t.points; + let r = !1, + l = !1; + for (let t = 0; t < o.length; t++) { + const e = o[t], + s = a[e.start][i], + h = a[e.end][i]; + if (tt(n, s, h)) { + (r = n === s), (l = n === h); + break; + } + } + return { first: r, last: l, point: s }; + } + class ha { + constructor(t) { + (this.x = t.x), (this.y = t.y), (this.radius = t.radius); + } + pathSegment(t, e, i) { + const { x: s, y: n, radius: o } = this; + return ( + (e = e || { start: 0, end: O }), + t.arc(s, n, o, e.end, e.start, !0), + !i.bounds + ); + } + interpolate(t) { + const { x: e, y: i, radius: s } = this, + n = t.angle; + return { x: e + Math.cos(n) * s, y: i + Math.sin(n) * s, angle: n }; + } + } + function ca(t) { + const { chart: e, fill: i, line: s } = t; + if (a(i)) + return (function (t, e) { + const i = t.getDatasetMeta(e), + s = i && t.isDatasetVisible(e); + return s ? i.dataset : null; + })(e, i); + if ("stack" === i) + return (function (t) { + const { scale: e, index: i, line: s } = t, + n = [], + o = s.segments, + a = s.points, + r = (function (t, e) { + const i = [], + s = t.getMatchingVisibleMetas("line"); + for (let t = 0; t < s.length; t++) { + const n = s[t]; + if (n.index === e) break; + n.hidden || i.unshift(n.dataset); + } + return i; + })(e, i); + r.push(sa({ x: null, y: e.bottom }, s)); + for (let t = 0; t < o.length; t++) { + const e = o[t]; + for (let t = e.start; t <= e.end; t++) ra(n, a[t], r); + } + return new no({ points: n, options: {} }); + })(t); + if ("shape" === i) return !0; + const n = (function (t) { + const e = t.scale || {}; + if (e.getPointPositionForValue) + return (function (t) { + const { scale: e, fill: i } = t, + s = e.options, + n = e.getLabels().length, + a = s.reverse ? e.max : e.min, + r = (function (t, e, i) { + let s; + return ( + (s = + "start" === t + ? i + : "end" === t + ? e.options.reverse + ? e.min + : e.max + : o(t) + ? t.value + : e.getBaseValue()), + s + ); + })(i, e, a), + l = []; + if (s.grid.circular) { + const t = e.getPointPositionForValue(0, a); + return new ha({ + x: t.x, + y: t.y, + radius: e.getDistanceFromCenterForValue(r), + }); + } + for (let t = 0; t < n; ++t) l.push(e.getPointPositionForValue(t, r)); + return l; + })(t); + return (function (t) { + const { scale: e = {}, fill: i } = t, + s = (function (t, e) { + let i = null; + return ( + "start" === t + ? (i = e.bottom) + : "end" === t + ? (i = e.top) + : o(t) + ? (i = e.getPixelForValue(t.value)) + : e.getBasePixel && (i = e.getBasePixel()), + i + ); + })(i, e); + if (a(s)) { + const t = e.isHorizontal(); + return { x: t ? s : null, y: t ? null : s }; + } + return null; + })(t); + })(t); + return n instanceof ha ? n : sa(n, s); + } + function da(t, e, i) { + const s = ca(e), + { line: n, scale: o, axis: a } = e, + r = n.options, + l = r.fill, + h = r.backgroundColor, + { above: c = h, below: d = h } = l || {}; + s && + n.points.length && + (Ie(t, i), + (function (t, e) { + const { line: i, target: s, above: n, below: o, area: a, scale: r } = e, + l = i._loop ? "angle" : e.axis; + t.save(), + "x" === l && + o !== n && + (ua(t, s, a.top), + fa(t, { line: i, target: s, color: n, scale: r, property: l }), + t.restore(), + t.save(), + ua(t, s, a.bottom)); + fa(t, { line: i, target: s, color: o, scale: r, property: l }), + t.restore(); + })(t, { + line: n, + target: s, + above: c, + below: d, + area: i, + scale: o, + axis: a, + }), + ze(t)); + } + function ua(t, e, i) { + const { segments: s, points: n } = e; + let o = !0, + a = !1; + t.beginPath(); + for (const r of s) { + const { start: s, end: l } = r, + h = n[s], + c = n[ea(s, l, n)]; + o + ? (t.moveTo(h.x, h.y), (o = !1)) + : (t.lineTo(h.x, i), t.lineTo(h.x, h.y)), + (a = !!e.pathSegment(t, r, { move: a })), + a ? t.closePath() : t.lineTo(c.x, i); + } + t.lineTo(e.first().x, i), t.closePath(), t.clip(); + } + function fa(t, e) { + const { line: i, target: s, property: n, color: o, scale: a } = e, + r = (function (t, e, i) { + const s = t.segments, + n = t.points, + o = e.points, + a = []; + for (const t of s) { + let { start: s, end: r } = t; + r = ea(s, r, n); + const l = ta(i, n[s], n[r], t.loop); + if (!e.segments) { + a.push({ source: t, target: l, start: n[s], end: n[r] }); + continue; + } + const h = Ii(e, l); + for (const e of h) { + const s = ta(i, o[e.start], o[e.end], e.loop), + r = Ri(t, n, s); + for (const t of r) + a.push({ + source: t, + target: e, + start: { [i]: ia(l, s, "start", Math.max) }, + end: { [i]: ia(l, s, "end", Math.min) }, + }); + } + } + return a; + })(i, s, n); + for (const { source: e, target: l, start: h, end: c } of r) { + const { style: { backgroundColor: r = o } = {} } = e, + d = !0 !== s; + t.save(), (t.fillStyle = r), ga(t, a, d && ta(n, h, c)), t.beginPath(); + const u = !!i.pathSegment(t, e); + let f; + if (d) { + u ? t.closePath() : pa(t, s, c, n); + const e = !!s.pathSegment(t, l, { move: u, reverse: !0 }); + (f = u && e), f || pa(t, s, h, n); + } + t.closePath(), t.fill(f ? "evenodd" : "nonzero"), t.restore(); + } + } + function ga(t, e, i) { + const { top: s, bottom: n } = e.chart.chartArea, + { property: o, start: a, end: r } = i || {}; + "x" === o && (t.beginPath(), t.rect(a, s, r - a, n - s), t.clip()); + } + function pa(t, e, i, s) { + const n = e.interpolate(i, s); + n && t.lineTo(n.x, n.y); + } + var ma = { + id: "filler", + afterDatasetsUpdate(t, e, i) { + const s = (t.data.datasets || []).length, + n = []; + let o, a, r, l; + for (a = 0; a < s; ++a) + (o = t.getDatasetMeta(a)), + (r = o.dataset), + (l = null), + r && + r.options && + r instanceof no && + (l = { + visible: t.isDatasetVisible(a), + index: a, + fill: aa(r, a, s), + chart: t, + axis: o.controller.options.indexAxis, + scale: o.vScale, + line: r, + }), + (o.$filler = l), + n.push(l); + for (a = 0; a < s; ++a) + (l = n[a]), l && !1 !== l.fill && (l.fill = oa(n, a, i.propagate)); + }, + beforeDraw(t, e, i) { + const s = "beforeDraw" === i.drawTime, + n = t.getSortedVisibleDatasetMetas(), + o = t.chartArea; + for (let e = n.length - 1; e >= 0; --e) { + const i = n[e].$filler; + i && + (i.line.updateControlPoints(o, i.axis), + s && i.fill && da(t.ctx, i, o)); + } + }, + beforeDatasetsDraw(t, e, i) { + if ("beforeDatasetsDraw" !== i.drawTime) return; + const s = t.getSortedVisibleDatasetMetas(); + for (let e = s.length - 1; e >= 0; --e) { + const i = s[e].$filler; + na(i) && da(t.ctx, i, t.chartArea); + } + }, + beforeDatasetDraw(t, e, i) { + const s = e.meta.$filler; + na(s) && "beforeDatasetDraw" === i.drawTime && da(t.ctx, s, t.chartArea); + }, + defaults: { propagate: !0, drawTime: "beforeDatasetDraw" }, + }; + const ba = (t, e) => { + let { boxHeight: i = e, boxWidth: s = e } = t; + return ( + t.usePointStyle && + ((i = Math.min(i, e)), (s = t.pointStyleWidth || Math.min(s, e))), + { boxWidth: s, boxHeight: i, itemHeight: Math.max(e, i) } + ); + }; + class xa extends Hs { + constructor(t) { + super(), + (this._added = !1), + (this.legendHitBoxes = []), + (this._hoveredItem = null), + (this.doughnutMode = !1), + (this.chart = t.chart), + (this.options = t.options), + (this.ctx = t.ctx), + (this.legendItems = void 0), + (this.columnSizes = void 0), + (this.lineWidths = void 0), + (this.maxHeight = void 0), + (this.maxWidth = void 0), + (this.top = void 0), + (this.bottom = void 0), + (this.left = void 0), + (this.right = void 0), + (this.height = void 0), + (this.width = void 0), + (this._margins = void 0), + (this.position = void 0), + (this.weight = void 0), + (this.fullSize = void 0); + } + update(t, e, i) { + (this.maxWidth = t), + (this.maxHeight = e), + (this._margins = i), + this.setDimensions(), + this.buildLabels(), + this.fit(); + } + setDimensions() { + this.isHorizontal() + ? ((this.width = this.maxWidth), + (this.left = this._margins.left), + (this.right = this.width)) + : ((this.height = this.maxHeight), + (this.top = this._margins.top), + (this.bottom = this.height)); + } + buildLabels() { + const t = this.options.labels || {}; + let e = d(t.generateLabels, [this.chart], this) || []; + t.filter && (e = e.filter((e) => t.filter(e, this.chart.data))), + t.sort && (e = e.sort((e, i) => t.sort(e, i, this.chart.data))), + this.options.reverse && e.reverse(), + (this.legendItems = e); + } + fit() { + const { options: t, ctx: e } = this; + if (!t.display) return void (this.width = this.height = 0); + const i = t.labels, + s = Si(i.font), + n = s.size, + o = this._computeTitleHeight(), + { boxWidth: a, itemHeight: r } = ba(i, n); + let l, h; + (e.font = s.string), + this.isHorizontal() + ? ((l = this.maxWidth), (h = this._fitRows(o, n, a, r) + 10)) + : ((h = this.maxHeight), (l = this._fitCols(o, s, a, r) + 10)), + (this.width = Math.min(l, t.maxWidth || this.maxWidth)), + (this.height = Math.min(h, t.maxHeight || this.maxHeight)); + } + _fitRows(t, e, i, s) { + const { + ctx: n, + maxWidth: o, + options: { + labels: { padding: a }, + }, + } = this, + r = (this.legendHitBoxes = []), + l = (this.lineWidths = [0]), + h = s + a; + let c = t; + (n.textAlign = "left"), (n.textBaseline = "middle"); + let d = -1, + u = -h; + return ( + this.legendItems.forEach((t, f) => { + const g = i + e / 2 + n.measureText(t.text).width; + (0 === f || l[l.length - 1] + g + 2 * a > o) && + ((c += h), (l[l.length - (f > 0 ? 0 : 1)] = 0), (u += h), d++), + (r[f] = { left: 0, top: u, row: d, width: g, height: s }), + (l[l.length - 1] += g + a); + }), + c + ); + } + _fitCols(t, e, i, s) { + const { + ctx: n, + maxHeight: o, + options: { + labels: { padding: a }, + }, + } = this, + r = (this.legendHitBoxes = []), + l = (this.columnSizes = []), + h = o - t; + let c = a, + d = 0, + u = 0, + f = 0, + g = 0; + return ( + this.legendItems.forEach((t, o) => { + const { itemWidth: p, itemHeight: m } = (function (t, e, i, s, n) { + const o = (function (t, e, i, s) { + let n = t.text; + n && + "string" != typeof n && + (n = n.reduce((t, e) => (t.length > e.length ? t : e))); + return e + i.size / 2 + s.measureText(n).width; + })(s, t, e, i), + a = (function (t, e, i) { + let s = t; + "string" != typeof e.text && (s = _a(e, i)); + return s; + })(n, s, e.lineHeight); + return { itemWidth: o, itemHeight: a }; + })(i, e, n, t, s); + o > 0 && + u + m + 2 * a > h && + ((c += d + a), + l.push({ width: d, height: u }), + (f += d + a), + g++, + (d = u = 0)), + (r[o] = { left: f, top: u, col: g, width: p, height: m }), + (d = Math.max(d, p)), + (u += m + a); + }), + (c += d), + l.push({ width: d, height: u }), + c + ); + } + adjustHitBoxes() { + if (!this.options.display) return; + const t = this._computeTitleHeight(), + { + legendHitBoxes: e, + options: { + align: i, + labels: { padding: s }, + rtl: n, + }, + } = this, + o = Oi(n, this.left, this.width); + if (this.isHorizontal()) { + let n = 0, + a = ft(i, this.left + s, this.right - this.lineWidths[n]); + for (const r of e) + n !== r.row && + ((n = r.row), + (a = ft(i, this.left + s, this.right - this.lineWidths[n]))), + (r.top += this.top + t + s), + (r.left = o.leftForLtr(o.x(a), r.width)), + (a += r.width + s); + } else { + let n = 0, + a = ft(i, this.top + t + s, this.bottom - this.columnSizes[n].height); + for (const r of e) + r.col !== n && + ((n = r.col), + (a = ft( + i, + this.top + t + s, + this.bottom - this.columnSizes[n].height + ))), + (r.top = a), + (r.left += this.left + s), + (r.left = o.leftForLtr(o.x(r.left), r.width)), + (a += r.height + s); + } + } + isHorizontal() { + return ( + "top" === this.options.position || "bottom" === this.options.position + ); + } + draw() { + if (this.options.display) { + const t = this.ctx; + Ie(t, this), this._draw(), ze(t); + } + } + _draw() { + const { options: t, columnSizes: e, lineWidths: i, ctx: s } = this, + { align: n, labels: o } = t, + a = ue.color, + r = Oi(t.rtl, this.left, this.width), + h = Si(o.font), + { padding: c } = o, + d = h.size, + u = d / 2; + let f; + this.drawTitle(), + (s.textAlign = r.textAlign("left")), + (s.textBaseline = "middle"), + (s.lineWidth = 0.5), + (s.font = h.string); + const { boxWidth: g, boxHeight: p, itemHeight: m } = ba(o, d), + b = this.isHorizontal(), + x = this._computeTitleHeight(); + (f = b + ? { + x: ft(n, this.left + c, this.right - i[0]), + y: this.top + c + x, + line: 0, + } + : { + x: this.left + c, + y: ft(n, this.top + x + c, this.bottom - e[0].height), + line: 0, + }), + Ai(this.ctx, t.textDirection); + const _ = m + c; + this.legendItems.forEach((y, v) => { + (s.strokeStyle = y.fontColor), (s.fillStyle = y.fontColor); + const M = s.measureText(y.text).width, + w = r.textAlign(y.textAlign || (y.textAlign = o.textAlign)), + k = g + u + M; + let S = f.x, + P = f.y; + r.setWidth(this.width), + b + ? v > 0 && + S + k + c > this.right && + ((P = f.y += _), + f.line++, + (S = f.x = ft(n, this.left + c, this.right - i[f.line]))) + : v > 0 && + P + _ > this.bottom && + ((S = f.x = S + e[f.line].width + c), + f.line++, + (P = f.y = + ft(n, this.top + x + c, this.bottom - e[f.line].height))); + if ( + ((function (t, e, i) { + if (isNaN(g) || g <= 0 || isNaN(p) || p < 0) return; + s.save(); + const n = l(i.lineWidth, 1); + if ( + ((s.fillStyle = l(i.fillStyle, a)), + (s.lineCap = l(i.lineCap, "butt")), + (s.lineDashOffset = l(i.lineDashOffset, 0)), + (s.lineJoin = l(i.lineJoin, "miter")), + (s.lineWidth = n), + (s.strokeStyle = l(i.strokeStyle, a)), + s.setLineDash(l(i.lineDash, [])), + o.usePointStyle) + ) { + const a = { + radius: (p * Math.SQRT2) / 2, + pointStyle: i.pointStyle, + rotation: i.rotation, + borderWidth: n, + }, + l = r.xPlus(t, g / 2); + Ee(s, a, l, e + u, o.pointStyleWidth && g); + } else { + const o = e + Math.max((d - p) / 2, 0), + a = r.leftForLtr(t, g), + l = wi(i.borderRadius); + s.beginPath(), + Object.values(l).some((t) => 0 !== t) + ? He(s, { x: a, y: o, w: g, h: p, radius: l }) + : s.rect(a, o, g, p), + s.fill(), + 0 !== n && s.stroke(); + } + s.restore(); + })(r.x(S), P, y), + (S = gt(w, S + g + u, b ? S + k : this.right, t.rtl)), + (function (t, e, i) { + Ne(s, i.text, t, e + m / 2, h, { + strikethrough: i.hidden, + textAlign: r.textAlign(i.textAlign), + }); + })(r.x(S), P, y), + b) + ) + f.x += k + c; + else if ("string" != typeof y.text) { + const t = h.lineHeight; + f.y += _a(y, t) + c; + } else f.y += _; + }), + Ti(this.ctx, t.textDirection); + } + drawTitle() { + const t = this.options, + e = t.title, + i = Si(e.font), + s = ki(e.padding); + if (!e.display) return; + const n = Oi(t.rtl, this.left, this.width), + o = this.ctx, + a = e.position, + r = i.size / 2, + l = s.top + r; + let h, + c = this.left, + d = this.width; + if (this.isHorizontal()) + (d = Math.max(...this.lineWidths)), + (h = this.top + l), + (c = ft(t.align, c, this.right - d)); + else { + const e = this.columnSizes.reduce((t, e) => Math.max(t, e.height), 0); + h = + l + + ft( + t.align, + this.top, + this.bottom - e - t.labels.padding - this._computeTitleHeight() + ); + } + const u = ft(a, c, c + d); + (o.textAlign = n.textAlign(ut(a))), + (o.textBaseline = "middle"), + (o.strokeStyle = e.color), + (o.fillStyle = e.color), + (o.font = i.string), + Ne(o, e.text, u, h, i); + } + _computeTitleHeight() { + const t = this.options.title, + e = Si(t.font), + i = ki(t.padding); + return t.display ? e.lineHeight + i.height : 0; + } + _getLegendItemAt(t, e) { + let i, s, n; + if (tt(t, this.left, this.right) && tt(e, this.top, this.bottom)) + for (n = this.legendHitBoxes, i = 0; i < n.length; ++i) + if ( + ((s = n[i]), + tt(t, s.left, s.left + s.width) && tt(e, s.top, s.top + s.height)) + ) + return this.legendItems[i]; + return null; + } + handleEvent(t) { + const e = this.options; + if ( + !(function (t, e) { + if ( + ("mousemove" === t || "mouseout" === t) && + (e.onHover || e.onLeave) + ) + return !0; + if (e.onClick && ("click" === t || "mouseup" === t)) return !0; + return !1; + })(t.type, e) + ) + return; + const i = this._getLegendItemAt(t.x, t.y); + if ("mousemove" === t.type || "mouseout" === t.type) { + const o = this._hoveredItem, + a = + ((n = i), + null !== (s = o) && + null !== n && + s.datasetIndex === n.datasetIndex && + s.index === n.index); + o && !a && d(e.onLeave, [t, o, this], this), + (this._hoveredItem = i), + i && !a && d(e.onHover, [t, i, this], this); + } else i && d(e.onClick, [t, i, this], this); + var s, n; + } + } + function _a(t, e) { + return e * (t.text ? t.text.length : 0); + } + var ya = { + id: "legend", + _element: xa, + start(t, e, i) { + const s = (t.legend = new xa({ ctx: t.ctx, options: i, chart: t })); + as.configure(t, s, i), as.addBox(t, s); + }, + stop(t) { + as.removeBox(t, t.legend), delete t.legend; + }, + beforeUpdate(t, e, i) { + const s = t.legend; + as.configure(t, s, i), (s.options = i); + }, + afterUpdate(t) { + const e = t.legend; + e.buildLabels(), e.adjustHitBoxes(); + }, + afterEvent(t, e) { + e.replay || t.legend.handleEvent(e.event); + }, + defaults: { + display: !0, + position: "top", + align: "center", + fullSize: !0, + reverse: !1, + weight: 1e3, + onClick(t, e, i) { + const s = e.datasetIndex, + n = i.chart; + n.isDatasetVisible(s) + ? (n.hide(s), (e.hidden = !0)) + : (n.show(s), (e.hidden = !1)); + }, + onHover: null, + onLeave: null, + labels: { + color: (t) => t.chart.options.color, + boxWidth: 40, + padding: 10, + generateLabels(t) { + const e = t.data.datasets, + { + labels: { + usePointStyle: i, + pointStyle: s, + textAlign: n, + color: o, + useBorderRadius: a, + borderRadius: r, + }, + } = t.legend.options; + return t._getSortedDatasetMetas().map((t) => { + const l = t.controller.getStyle(i ? 0 : void 0), + h = ki(l.borderWidth); + return { + text: e[t.index].label, + fillStyle: l.backgroundColor, + fontColor: o, + hidden: !t.visible, + lineCap: l.borderCapStyle, + lineDash: l.borderDash, + lineDashOffset: l.borderDashOffset, + lineJoin: l.borderJoinStyle, + lineWidth: (h.width + h.height) / 4, + strokeStyle: l.borderColor, + pointStyle: s || l.pointStyle, + rotation: l.rotation, + textAlign: n || l.textAlign, + borderRadius: a && (r || l.borderRadius), + datasetIndex: t.index, + }; + }, this); + }, + }, + title: { + color: (t) => t.chart.options.color, + display: !1, + position: "center", + text: "", + }, + }, + descriptors: { + _scriptable: (t) => !t.startsWith("on"), + labels: { + _scriptable: (t) => !["generateLabels", "filter", "sort"].includes(t), + }, + }, + }; + class va extends Hs { + constructor(t) { + super(), + (this.chart = t.chart), + (this.options = t.options), + (this.ctx = t.ctx), + (this._padding = void 0), + (this.top = void 0), + (this.bottom = void 0), + (this.left = void 0), + (this.right = void 0), + (this.width = void 0), + (this.height = void 0), + (this.position = void 0), + (this.weight = void 0), + (this.fullSize = void 0); + } + update(t, e) { + const i = this.options; + if (((this.left = 0), (this.top = 0), !i.display)) + return void (this.width = this.height = this.right = this.bottom = 0); + (this.width = this.right = t), (this.height = this.bottom = e); + const s = n(i.text) ? i.text.length : 1; + this._padding = ki(i.padding); + const o = s * Si(i.font).lineHeight + this._padding.height; + this.isHorizontal() ? (this.height = o) : (this.width = o); + } + isHorizontal() { + const t = this.options.position; + return "top" === t || "bottom" === t; + } + _drawArgs(t) { + const { top: e, left: i, bottom: s, right: n, options: o } = this, + a = o.align; + let r, + l, + h, + c = 0; + return ( + this.isHorizontal() + ? ((l = ft(a, i, n)), (h = e + t), (r = n - i)) + : ("left" === o.position + ? ((l = i + t), (h = ft(a, s, e)), (c = -0.5 * C)) + : ((l = n - t), (h = ft(a, e, s)), (c = 0.5 * C)), + (r = s - e)), + { titleX: l, titleY: h, maxWidth: r, rotation: c } + ); + } + draw() { + const t = this.ctx, + e = this.options; + if (!e.display) return; + const i = Si(e.font), + s = i.lineHeight / 2 + this._padding.top, + { titleX: n, titleY: o, maxWidth: a, rotation: r } = this._drawArgs(s); + Ne(t, e.text, 0, 0, i, { + color: e.color, + maxWidth: a, + rotation: r, + textAlign: ut(e.align), + textBaseline: "middle", + translation: [n, o], + }); + } + } + var Ma = { + id: "title", + _element: va, + start(t, e, i) { + !(function (t, e) { + const i = new va({ ctx: t.ctx, options: e, chart: t }); + as.configure(t, i, e), as.addBox(t, i), (t.titleBlock = i); + })(t, i); + }, + stop(t) { + const e = t.titleBlock; + as.removeBox(t, e), delete t.titleBlock; + }, + beforeUpdate(t, e, i) { + const s = t.titleBlock; + as.configure(t, s, i), (s.options = i); + }, + defaults: { + align: "center", + display: !1, + font: { weight: "bold" }, + fullSize: !0, + padding: 10, + position: "top", + text: "", + weight: 2e3, + }, + defaultRoutes: { color: "color" }, + descriptors: { _scriptable: !0, _indexable: !1 }, + }; + const wa = new WeakMap(); + var ka = { + id: "subtitle", + start(t, e, i) { + const s = new va({ ctx: t.ctx, options: i, chart: t }); + as.configure(t, s, i), as.addBox(t, s), wa.set(t, s); + }, + stop(t) { + as.removeBox(t, wa.get(t)), wa.delete(t); + }, + beforeUpdate(t, e, i) { + const s = wa.get(t); + as.configure(t, s, i), (s.options = i); + }, + defaults: { + align: "center", + display: !1, + font: { weight: "normal" }, + fullSize: !0, + padding: 0, + position: "top", + text: "", + weight: 1500, + }, + defaultRoutes: { color: "color" }, + descriptors: { _scriptable: !0, _indexable: !1 }, + }; + const Sa = { + average(t) { + if (!t.length) return !1; + let e, + i, + s = new Set(), + n = 0, + o = 0; + for (e = 0, i = t.length; e < i; ++e) { + const i = t[e].element; + if (i && i.hasValue()) { + const t = i.tooltipPosition(); + s.add(t.x), (n += t.y), ++o; + } + } + if (0 === o || 0 === s.size) return !1; + return { x: [...s].reduce((t, e) => t + e) / s.size, y: n / o }; + }, + nearest(t, e) { + if (!t.length) return !1; + let i, + s, + n, + o = e.x, + a = e.y, + r = Number.POSITIVE_INFINITY; + for (i = 0, s = t.length; i < s; ++i) { + const s = t[i].element; + if (s && s.hasValue()) { + const t = q(e, s.getCenterPoint()); + t < r && ((r = t), (n = s)); + } + } + if (n) { + const t = n.tooltipPosition(); + (o = t.x), (a = t.y); + } + return { x: o, y: a }; + }, + }; + function Pa(t, e) { + return e && (n(e) ? Array.prototype.push.apply(t, e) : t.push(e)), t; + } + function Da(t) { + return ("string" == typeof t || t instanceof String) && t.indexOf("\n") > -1 + ? t.split("\n") + : t; + } + function Ca(t, e) { + const { element: i, datasetIndex: s, index: n } = e, + o = t.getDatasetMeta(s).controller, + { label: a, value: r } = o.getLabelAndValue(n); + return { + chart: t, + label: a, + parsed: o.getParsed(n), + raw: t.data.datasets[s].data[n], + formattedValue: r, + dataset: o.getDataset(), + dataIndex: n, + datasetIndex: s, + element: i, + }; + } + function Oa(t, e) { + const i = t.chart.ctx, + { body: s, footer: n, title: o } = t, + { boxWidth: a, boxHeight: r } = e, + l = Si(e.bodyFont), + h = Si(e.titleFont), + c = Si(e.footerFont), + d = o.length, + f = n.length, + g = s.length, + p = ki(e.padding); + let m = p.height, + b = 0, + x = s.reduce( + (t, e) => t + e.before.length + e.lines.length + e.after.length, + 0 + ); + if ( + ((x += t.beforeBody.length + t.afterBody.length), + d && + (m += + d * h.lineHeight + (d - 1) * e.titleSpacing + e.titleMarginBottom), + x) + ) { + m += + g * (e.displayColors ? Math.max(r, l.lineHeight) : l.lineHeight) + + (x - g) * l.lineHeight + + (x - 1) * e.bodySpacing; + } + f && + (m += e.footerMarginTop + f * c.lineHeight + (f - 1) * e.footerSpacing); + let _ = 0; + const y = function (t) { + b = Math.max(b, i.measureText(t).width + _); + }; + return ( + i.save(), + (i.font = h.string), + u(t.title, y), + (i.font = l.string), + u(t.beforeBody.concat(t.afterBody), y), + (_ = e.displayColors ? a + 2 + e.boxPadding : 0), + u(s, (t) => { + u(t.before, y), u(t.lines, y), u(t.after, y); + }), + (_ = 0), + (i.font = c.string), + u(t.footer, y), + i.restore(), + (b += p.width), + { width: b, height: m } + ); + } + function Aa(t, e, i, s) { + const { x: n, width: o } = i, + { + width: a, + chartArea: { left: r, right: l }, + } = t; + let h = "center"; + return ( + "center" === s + ? (h = n <= (r + l) / 2 ? "left" : "right") + : n <= o / 2 + ? (h = "left") + : n >= a - o / 2 && (h = "right"), + (function (t, e, i, s) { + const { x: n, width: o } = s, + a = i.caretSize + i.caretPadding; + return ( + ("left" === t && n + o + a > e.width) || + ("right" === t && n - o - a < 0) || + void 0 + ); + })(h, t, e, i) && (h = "center"), + h + ); + } + function Ta(t, e, i) { + const s = + i.yAlign || + e.yAlign || + (function (t, e) { + const { y: i, height: s } = e; + return i < s / 2 ? "top" : i > t.height - s / 2 ? "bottom" : "center"; + })(t, i); + return { xAlign: i.xAlign || e.xAlign || Aa(t, e, i, s), yAlign: s }; + } + function La(t, e, i, s) { + const { caretSize: n, caretPadding: o, cornerRadius: a } = t, + { xAlign: r, yAlign: l } = i, + h = n + o, + { topLeft: c, topRight: d, bottomLeft: u, bottomRight: f } = wi(a); + let g = (function (t, e) { + let { x: i, width: s } = t; + return "right" === e ? (i -= s) : "center" === e && (i -= s / 2), i; + })(e, r); + const p = (function (t, e, i) { + let { y: s, height: n } = t; + return "top" === e ? (s += i) : (s -= "bottom" === e ? n + i : n / 2), s; + })(e, l, h); + return ( + "center" === l + ? "left" === r + ? (g += h) + : "right" === r && (g -= h) + : "left" === r + ? (g -= Math.max(c, u) + n) + : "right" === r && (g += Math.max(d, f) + n), + { x: J(g, 0, s.width - e.width), y: J(p, 0, s.height - e.height) } + ); + } + function Ea(t, e, i) { + const s = ki(i.padding); + return "center" === e + ? t.x + t.width / 2 + : "right" === e + ? t.x + t.width - s.right + : t.x + s.left; + } + function Ra(t) { + return Pa([], Da(t)); + } + function Ia(t, e) { + const i = + e && e.dataset && e.dataset.tooltip && e.dataset.tooltip.callbacks; + return i ? t.override(i) : t; + } + const za = { + beforeTitle: e, + title(t) { + if (t.length > 0) { + const e = t[0], + i = e.chart.data.labels, + s = i ? i.length : 0; + if (this && this.options && "dataset" === this.options.mode) + return e.dataset.label || ""; + if (e.label) return e.label; + if (s > 0 && e.dataIndex < s) return i[e.dataIndex]; + } + return ""; + }, + afterTitle: e, + beforeBody: e, + beforeLabel: e, + label(t) { + if (this && this.options && "dataset" === this.options.mode) + return t.label + ": " + t.formattedValue || t.formattedValue; + let e = t.dataset.label || ""; + e && (e += ": "); + const i = t.formattedValue; + return s(i) || (e += i), e; + }, + labelColor(t) { + const e = t.chart + .getDatasetMeta(t.datasetIndex) + .controller.getStyle(t.dataIndex); + return { + borderColor: e.borderColor, + backgroundColor: e.backgroundColor, + borderWidth: e.borderWidth, + borderDash: e.borderDash, + borderDashOffset: e.borderDashOffset, + borderRadius: 0, + }; + }, + labelTextColor() { + return this.options.bodyColor; + }, + labelPointStyle(t) { + const e = t.chart + .getDatasetMeta(t.datasetIndex) + .controller.getStyle(t.dataIndex); + return { pointStyle: e.pointStyle, rotation: e.rotation }; + }, + afterLabel: e, + afterBody: e, + beforeFooter: e, + footer: e, + afterFooter: e, + }; + function Fa(t, e, i, s) { + const n = t[e].call(i, s); + return void 0 === n ? za[e].call(i, s) : n; + } + class Va extends Hs { + static positioners = Sa; + constructor(t) { + super(), + (this.opacity = 0), + (this._active = []), + (this._eventPosition = void 0), + (this._size = void 0), + (this._cachedAnimations = void 0), + (this._tooltipItems = []), + (this.$animations = void 0), + (this.$context = void 0), + (this.chart = t.chart), + (this.options = t.options), + (this.dataPoints = void 0), + (this.title = void 0), + (this.beforeBody = void 0), + (this.body = void 0), + (this.afterBody = void 0), + (this.footer = void 0), + (this.xAlign = void 0), + (this.yAlign = void 0), + (this.x = void 0), + (this.y = void 0), + (this.height = void 0), + (this.width = void 0), + (this.caretX = void 0), + (this.caretY = void 0), + (this.labelColors = void 0), + (this.labelPointStyles = void 0), + (this.labelTextColors = void 0); + } + initialize(t) { + (this.options = t), + (this._cachedAnimations = void 0), + (this.$context = void 0); + } + _resolveAnimations() { + const t = this._cachedAnimations; + if (t) return t; + const e = this.chart, + i = this.options.setContext(this.getContext()), + s = i.enabled && e.options.animation && i.animations, + n = new Os(this.chart, s); + return s._cacheable && (this._cachedAnimations = Object.freeze(n)), n; + } + getContext() { + return ( + this.$context || + (this.$context = + ((t = this.chart.getContext()), + (e = this), + (i = this._tooltipItems), + Ci(t, { tooltip: e, tooltipItems: i, type: "tooltip" }))) + ); + var t, e, i; + } + getTitle(t, e) { + const { callbacks: i } = e, + s = Fa(i, "beforeTitle", this, t), + n = Fa(i, "title", this, t), + o = Fa(i, "afterTitle", this, t); + let a = []; + return (a = Pa(a, Da(s))), (a = Pa(a, Da(n))), (a = Pa(a, Da(o))), a; + } + getBeforeBody(t, e) { + return Ra(Fa(e.callbacks, "beforeBody", this, t)); + } + getBody(t, e) { + const { callbacks: i } = e, + s = []; + return ( + u(t, (t) => { + const e = { before: [], lines: [], after: [] }, + n = Ia(i, t); + Pa(e.before, Da(Fa(n, "beforeLabel", this, t))), + Pa(e.lines, Fa(n, "label", this, t)), + Pa(e.after, Da(Fa(n, "afterLabel", this, t))), + s.push(e); + }), + s + ); + } + getAfterBody(t, e) { + return Ra(Fa(e.callbacks, "afterBody", this, t)); + } + getFooter(t, e) { + const { callbacks: i } = e, + s = Fa(i, "beforeFooter", this, t), + n = Fa(i, "footer", this, t), + o = Fa(i, "afterFooter", this, t); + let a = []; + return (a = Pa(a, Da(s))), (a = Pa(a, Da(n))), (a = Pa(a, Da(o))), a; + } + _createItems(t) { + const e = this._active, + i = this.chart.data, + s = [], + n = [], + o = []; + let a, + r, + l = []; + for (a = 0, r = e.length; a < r; ++a) l.push(Ca(this.chart, e[a])); + return ( + t.filter && (l = l.filter((e, s, n) => t.filter(e, s, n, i))), + t.itemSort && (l = l.sort((e, s) => t.itemSort(e, s, i))), + u(l, (e) => { + const i = Ia(t.callbacks, e); + s.push(Fa(i, "labelColor", this, e)), + n.push(Fa(i, "labelPointStyle", this, e)), + o.push(Fa(i, "labelTextColor", this, e)); + }), + (this.labelColors = s), + (this.labelPointStyles = n), + (this.labelTextColors = o), + (this.dataPoints = l), + l + ); + } + update(t, e) { + const i = this.options.setContext(this.getContext()), + s = this._active; + let n, + o = []; + if (s.length) { + const t = Sa[i.position].call(this, s, this._eventPosition); + (o = this._createItems(i)), + (this.title = this.getTitle(o, i)), + (this.beforeBody = this.getBeforeBody(o, i)), + (this.body = this.getBody(o, i)), + (this.afterBody = this.getAfterBody(o, i)), + (this.footer = this.getFooter(o, i)); + const e = (this._size = Oa(this, i)), + a = Object.assign({}, t, e), + r = Ta(this.chart, i, a), + l = La(i, a, r, this.chart); + (this.xAlign = r.xAlign), + (this.yAlign = r.yAlign), + (n = { + opacity: 1, + x: l.x, + y: l.y, + width: e.width, + height: e.height, + caretX: t.x, + caretY: t.y, + }); + } else 0 !== this.opacity && (n = { opacity: 0 }); + (this._tooltipItems = o), + (this.$context = void 0), + n && this._resolveAnimations().update(this, n), + t && + i.external && + i.external.call(this, { + chart: this.chart, + tooltip: this, + replay: e, + }); + } + drawCaret(t, e, i, s) { + const n = this.getCaretPosition(t, i, s); + e.lineTo(n.x1, n.y1), e.lineTo(n.x2, n.y2), e.lineTo(n.x3, n.y3); + } + getCaretPosition(t, e, i) { + const { xAlign: s, yAlign: n } = this, + { caretSize: o, cornerRadius: a } = i, + { topLeft: r, topRight: l, bottomLeft: h, bottomRight: c } = wi(a), + { x: d, y: u } = t, + { width: f, height: g } = e; + let p, m, b, x, _, y; + return ( + "center" === n + ? ((_ = u + g / 2), + "left" === s + ? ((p = d), (m = p - o), (x = _ + o), (y = _ - o)) + : ((p = d + f), (m = p + o), (x = _ - o), (y = _ + o)), + (b = p)) + : ((m = + "left" === s + ? d + Math.max(r, h) + o + : "right" === s + ? d + f - Math.max(l, c) - o + : this.caretX), + "top" === n + ? ((x = u), (_ = x - o), (p = m - o), (b = m + o)) + : ((x = u + g), (_ = x + o), (p = m + o), (b = m - o)), + (y = x)), + { x1: p, x2: m, x3: b, y1: x, y2: _, y3: y } + ); + } + drawTitle(t, e, i) { + const s = this.title, + n = s.length; + let o, a, r; + if (n) { + const l = Oi(i.rtl, this.x, this.width); + for ( + t.x = Ea(this, i.titleAlign, i), + e.textAlign = l.textAlign(i.titleAlign), + e.textBaseline = "middle", + o = Si(i.titleFont), + a = i.titleSpacing, + e.fillStyle = i.titleColor, + e.font = o.string, + r = 0; + r < n; + ++r + ) + e.fillText(s[r], l.x(t.x), t.y + o.lineHeight / 2), + (t.y += o.lineHeight + a), + r + 1 === n && (t.y += i.titleMarginBottom - a); + } + } + _drawColorBox(t, e, i, s, n) { + const a = this.labelColors[i], + r = this.labelPointStyles[i], + { boxHeight: l, boxWidth: h } = n, + c = Si(n.bodyFont), + d = Ea(this, "left", n), + u = s.x(d), + f = l < c.lineHeight ? (c.lineHeight - l) / 2 : 0, + g = e.y + f; + if (n.usePointStyle) { + const e = { + radius: Math.min(h, l) / 2, + pointStyle: r.pointStyle, + rotation: r.rotation, + borderWidth: 1, + }, + i = s.leftForLtr(u, h) + h / 2, + o = g + l / 2; + (t.strokeStyle = n.multiKeyBackground), + (t.fillStyle = n.multiKeyBackground), + Le(t, e, i, o), + (t.strokeStyle = a.borderColor), + (t.fillStyle = a.backgroundColor), + Le(t, e, i, o); + } else { + (t.lineWidth = o(a.borderWidth) + ? Math.max(...Object.values(a.borderWidth)) + : a.borderWidth || 1), + (t.strokeStyle = a.borderColor), + t.setLineDash(a.borderDash || []), + (t.lineDashOffset = a.borderDashOffset || 0); + const e = s.leftForLtr(u, h), + i = s.leftForLtr(s.xPlus(u, 1), h - 2), + r = wi(a.borderRadius); + Object.values(r).some((t) => 0 !== t) + ? (t.beginPath(), + (t.fillStyle = n.multiKeyBackground), + He(t, { x: e, y: g, w: h, h: l, radius: r }), + t.fill(), + t.stroke(), + (t.fillStyle = a.backgroundColor), + t.beginPath(), + He(t, { x: i, y: g + 1, w: h - 2, h: l - 2, radius: r }), + t.fill()) + : ((t.fillStyle = n.multiKeyBackground), + t.fillRect(e, g, h, l), + t.strokeRect(e, g, h, l), + (t.fillStyle = a.backgroundColor), + t.fillRect(i, g + 1, h - 2, l - 2)); + } + t.fillStyle = this.labelTextColors[i]; + } + drawBody(t, e, i) { + const { body: s } = this, + { + bodySpacing: n, + bodyAlign: o, + displayColors: a, + boxHeight: r, + boxWidth: l, + boxPadding: h, + } = i, + c = Si(i.bodyFont); + let d = c.lineHeight, + f = 0; + const g = Oi(i.rtl, this.x, this.width), + p = function (i) { + e.fillText(i, g.x(t.x + f), t.y + d / 2), (t.y += d + n); + }, + m = g.textAlign(o); + let b, x, _, y, v, M, w; + for ( + e.textAlign = o, + e.textBaseline = "middle", + e.font = c.string, + t.x = Ea(this, m, i), + e.fillStyle = i.bodyColor, + u(this.beforeBody, p), + f = a && "right" !== m ? ("center" === o ? l / 2 + h : l + 2 + h) : 0, + y = 0, + M = s.length; + y < M; + ++y + ) { + for ( + b = s[y], + x = this.labelTextColors[y], + e.fillStyle = x, + u(b.before, p), + _ = b.lines, + a && + _.length && + (this._drawColorBox(e, t, y, g, i), + (d = Math.max(c.lineHeight, r))), + v = 0, + w = _.length; + v < w; + ++v + ) + p(_[v]), (d = c.lineHeight); + u(b.after, p); + } + (f = 0), (d = c.lineHeight), u(this.afterBody, p), (t.y -= n); + } + drawFooter(t, e, i) { + const s = this.footer, + n = s.length; + let o, a; + if (n) { + const r = Oi(i.rtl, this.x, this.width); + for ( + t.x = Ea(this, i.footerAlign, i), + t.y += i.footerMarginTop, + e.textAlign = r.textAlign(i.footerAlign), + e.textBaseline = "middle", + o = Si(i.footerFont), + e.fillStyle = i.footerColor, + e.font = o.string, + a = 0; + a < n; + ++a + ) + e.fillText(s[a], r.x(t.x), t.y + o.lineHeight / 2), + (t.y += o.lineHeight + i.footerSpacing); + } + } + drawBackground(t, e, i, s) { + const { xAlign: n, yAlign: o } = this, + { x: a, y: r } = t, + { width: l, height: h } = i, + { + topLeft: c, + topRight: d, + bottomLeft: u, + bottomRight: f, + } = wi(s.cornerRadius); + (e.fillStyle = s.backgroundColor), + (e.strokeStyle = s.borderColor), + (e.lineWidth = s.borderWidth), + e.beginPath(), + e.moveTo(a + c, r), + "top" === o && this.drawCaret(t, e, i, s), + e.lineTo(a + l - d, r), + e.quadraticCurveTo(a + l, r, a + l, r + d), + "center" === o && "right" === n && this.drawCaret(t, e, i, s), + e.lineTo(a + l, r + h - f), + e.quadraticCurveTo(a + l, r + h, a + l - f, r + h), + "bottom" === o && this.drawCaret(t, e, i, s), + e.lineTo(a + u, r + h), + e.quadraticCurveTo(a, r + h, a, r + h - u), + "center" === o && "left" === n && this.drawCaret(t, e, i, s), + e.lineTo(a, r + c), + e.quadraticCurveTo(a, r, a + c, r), + e.closePath(), + e.fill(), + s.borderWidth > 0 && e.stroke(); + } + _updateAnimationTarget(t) { + const e = this.chart, + i = this.$animations, + s = i && i.x, + n = i && i.y; + if (s || n) { + const i = Sa[t.position].call(this, this._active, this._eventPosition); + if (!i) return; + const o = (this._size = Oa(this, t)), + a = Object.assign({}, i, this._size), + r = Ta(e, t, a), + l = La(t, a, r, e); + (s._to === l.x && n._to === l.y) || + ((this.xAlign = r.xAlign), + (this.yAlign = r.yAlign), + (this.width = o.width), + (this.height = o.height), + (this.caretX = i.x), + (this.caretY = i.y), + this._resolveAnimations().update(this, l)); + } + } + _willRender() { + return !!this.opacity; + } + draw(t) { + const e = this.options.setContext(this.getContext()); + let i = this.opacity; + if (!i) return; + this._updateAnimationTarget(e); + const s = { width: this.width, height: this.height }, + n = { x: this.x, y: this.y }; + i = Math.abs(i) < 0.001 ? 0 : i; + const o = ki(e.padding), + a = + this.title.length || + this.beforeBody.length || + this.body.length || + this.afterBody.length || + this.footer.length; + e.enabled && + a && + (t.save(), + (t.globalAlpha = i), + this.drawBackground(n, t, s, e), + Ai(t, e.textDirection), + (n.y += o.top), + this.drawTitle(n, t, e), + this.drawBody(n, t, e), + this.drawFooter(n, t, e), + Ti(t, e.textDirection), + t.restore()); + } + getActiveElements() { + return this._active || []; + } + setActiveElements(t, e) { + const i = this._active, + s = t.map(({ datasetIndex: t, index: e }) => { + const i = this.chart.getDatasetMeta(t); + if (!i) throw new Error("Cannot find a dataset at index " + t); + return { datasetIndex: t, element: i.data[e], index: e }; + }), + n = !f(i, s), + o = this._positionChanged(s, e); + (n || o) && + ((this._active = s), + (this._eventPosition = e), + (this._ignoreReplayEvents = !0), + this.update(!0)); + } + handleEvent(t, e, i = !0) { + if (e && this._ignoreReplayEvents) return !1; + this._ignoreReplayEvents = !1; + const s = this.options, + n = this._active || [], + o = this._getActiveElements(t, n, e, i), + a = this._positionChanged(o, t), + r = e || !f(o, n) || a; + return ( + r && + ((this._active = o), + (s.enabled || s.external) && + ((this._eventPosition = { x: t.x, y: t.y }), this.update(!0, e))), + r + ); + } + _getActiveElements(t, e, i, s) { + const n = this.options; + if ("mouseout" === t.type) return []; + if (!s) + return e.filter( + (t) => + this.chart.data.datasets[t.datasetIndex] && + void 0 !== + this.chart + .getDatasetMeta(t.datasetIndex) + .controller.getParsed(t.index) + ); + const o = this.chart.getElementsAtEventForMode(t, n.mode, n, i); + return n.reverse && o.reverse(), o; + } + _positionChanged(t, e) { + const { caretX: i, caretY: s, options: n } = this, + o = Sa[n.position].call(this, t, e); + return !1 !== o && (i !== o.x || s !== o.y); + } + } + var Ba = { + id: "tooltip", + _element: Va, + positioners: Sa, + afterInit(t, e, i) { + i && (t.tooltip = new Va({ chart: t, options: i })); + }, + beforeUpdate(t, e, i) { + t.tooltip && t.tooltip.initialize(i); + }, + reset(t, e, i) { + t.tooltip && t.tooltip.initialize(i); + }, + afterDraw(t) { + const e = t.tooltip; + if (e && e._willRender()) { + const i = { tooltip: e }; + if ( + !1 === t.notifyPlugins("beforeTooltipDraw", { ...i, cancelable: !0 }) + ) + return; + e.draw(t.ctx), t.notifyPlugins("afterTooltipDraw", i); + } + }, + afterEvent(t, e) { + if (t.tooltip) { + const i = e.replay; + t.tooltip.handleEvent(e.event, i, e.inChartArea) && (e.changed = !0); + } + }, + defaults: { + enabled: !0, + external: null, + position: "average", + backgroundColor: "rgba(0,0,0,0.8)", + titleColor: "#fff", + titleFont: { weight: "bold" }, + titleSpacing: 2, + titleMarginBottom: 6, + titleAlign: "left", + bodyColor: "#fff", + bodySpacing: 2, + bodyFont: {}, + bodyAlign: "left", + footerColor: "#fff", + footerSpacing: 2, + footerMarginTop: 6, + footerFont: { weight: "bold" }, + footerAlign: "left", + padding: 6, + caretPadding: 2, + caretSize: 5, + cornerRadius: 6, + boxHeight: (t, e) => e.bodyFont.size, + boxWidth: (t, e) => e.bodyFont.size, + multiKeyBackground: "#fff", + displayColors: !0, + boxPadding: 0, + borderColor: "rgba(0,0,0,0)", + borderWidth: 0, + animation: { duration: 400, easing: "easeOutQuart" }, + animations: { + numbers: { + type: "number", + properties: ["x", "y", "width", "height", "caretX", "caretY"], + }, + opacity: { easing: "linear", duration: 200 }, + }, + callbacks: za, + }, + defaultRoutes: { bodyFont: "font", footerFont: "font", titleFont: "font" }, + descriptors: { + _scriptable: (t) => + "filter" !== t && "itemSort" !== t && "external" !== t, + _indexable: !1, + callbacks: { _scriptable: !1, _indexable: !1 }, + animation: { _fallback: !1 }, + animations: { _fallback: "animation" }, + }, + additionalOptionScopes: ["interaction"], + }; + return ( + An.register(Yn, jo, fo, t), + (An.helpers = { ...Wi }), + (An._adapters = Rn), + (An.Animation = Cs), + (An.Animations = Os), + (An.animator = xt), + (An.controllers = en.controllers.items), + (An.DatasetController = Ns), + (An.Element = Hs), + (An.elements = fo), + (An.Interaction = Xi), + (An.layouts = as), + (An.platforms = Ss), + (An.Scale = Js), + (An.Ticks = ae), + Object.assign(An, Yn, jo, fo, t, Ss), + (An.Chart = An), + "undefined" != typeof window && (window.Chart = An), + An + ); +}); +//# sourceMappingURL=chart.umd.js.map diff --git a/templates/assets/js/bootstrap.min.js b/templates/assets/js/bootstrap.min.js index 9ee65d39..f5edb3b5 100644 --- a/templates/assets/js/bootstrap.min.js +++ b/templates/assets/js/bootstrap.min.js @@ -1,79 +1,62 @@ /*! - * Bootstrap v5.3.3 (https://getbootstrap.com/) - * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Bootstrap v5.3.0 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ !(function (t, e) { "object" == typeof exports && "undefined" != typeof module - ? (module.exports = e(require("@popperjs/core"))) + ? (module.exports = e()) : "function" == typeof define && define.amd - ? define(["@popperjs/core"], e) + ? define(e) : ((t = "undefined" != typeof globalThis ? globalThis : t || self).bootstrap = - e(t.Popper)); -})(this, function (t) { + e()); +})(this, function () { "use strict"; - function e(t) { - const e = Object.create(null, { - [Symbol.toStringTag]: { value: "Module" }, - }); - if (t) - for (const i in t) - if ("default" !== i) { - const s = Object.getOwnPropertyDescriptor(t, i); - Object.defineProperty( - e, - i, - s.get ? s : { enumerable: !0, get: () => t[i] } - ); - } - return (e.default = t), Object.freeze(e); - } - const i = e(t), - s = new Map(), - n = { - set(t, e, i) { - s.has(t) || s.set(t, new Map()); - const n = s.get(t); - n.has(e) || 0 === n.size - ? n.set(e, i) + const t = new Map(), + e = { + set(e, i, n) { + t.has(e) || t.set(e, new Map()); + const s = t.get(e); + s.has(i) || 0 === s.size + ? s.set(i, n) : console.error( `Bootstrap doesn't allow more than one instance per element. Bound instance: ${ - Array.from(n.keys())[0] + Array.from(s.keys())[0] }.` ); }, - get: (t, e) => (s.has(t) && s.get(t).get(e)) || null, - remove(t, e) { - if (!s.has(t)) return; - const i = s.get(t); - i.delete(e), 0 === i.size && s.delete(t); + get: (e, i) => (t.has(e) && t.get(e).get(i)) || null, + remove(e, i) { + if (!t.has(e)) return; + const n = t.get(e); + n.delete(i), 0 === n.size && t.delete(e); }, }, - o = "transitionend", - r = (t) => ( + i = "transitionend", + n = (t) => ( t && window.CSS && window.CSS.escape && (t = t.replace(/#([^\s"#']+)/g, (t, e) => `#${CSS.escape(e)}`)), t ), - a = (t) => { - t.dispatchEvent(new Event(o)); + s = (t) => { + t.dispatchEvent(new Event(i)); }, - l = (t) => + o = (t) => !(!t || "object" != typeof t) && (void 0 !== t.jquery && (t = t[0]), void 0 !== t.nodeType), - c = (t) => - l(t) + r = (t) => + o(t) ? t.jquery ? t[0] : t : "string" == typeof t && t.length > 0 - ? document.querySelector(r(t)) + ? document.querySelector(n(t)) : null, - h = (t) => { - if (!l(t) || 0 === t.getClientRects().length) return !1; + a = (t) => { + if (!o(t) || 0 === t.getClientRects().length) return !1; const e = "visible" === getComputedStyle(t).getPropertyValue("visibility"), i = t.closest("details:not([open])"); @@ -85,14 +68,14 @@ } return e; }, - d = (t) => + l = (t) => !t || t.nodeType !== Node.ELEMENT_NODE || !!t.classList.contains("disabled") || (void 0 !== t.disabled ? t.disabled : t.hasAttribute("disabled") && "false" !== t.getAttribute("disabled")), - u = (t) => { + c = (t) => { if (!document.documentElement.attachShadow) return null; if ("function" == typeof t.getRootNode) { const e = t.getRootNode(); @@ -101,82 +84,82 @@ return t instanceof ShadowRoot ? t : t.parentNode - ? u(t.parentNode) + ? c(t.parentNode) : null; }, - _ = () => {}, - g = (t) => { + h = () => {}, + d = (t) => { t.offsetHeight; }, - f = () => + u = () => window.jQuery && !document.body.hasAttribute("data-bs-no-jquery") ? window.jQuery : null, - m = [], + f = [], p = () => "rtl" === document.documentElement.dir, - b = (t) => { + m = (t) => { var e; (e = () => { - const e = f(); + const e = u(); if (e) { const i = t.NAME, - s = e.fn[i]; + n = e.fn[i]; (e.fn[i] = t.jQueryInterface), (e.fn[i].Constructor = t), - (e.fn[i].noConflict = () => ((e.fn[i] = s), t.jQueryInterface)); + (e.fn[i].noConflict = () => ((e.fn[i] = n), t.jQueryInterface)); } }), "loading" === document.readyState - ? (m.length || + ? (f.length || document.addEventListener("DOMContentLoaded", () => { - for (const t of m) t(); + for (const t of f) t(); }), - m.push(e)) + f.push(e)) : e(); }, - v = (t, e = [], i = t) => ("function" == typeof t ? t(...e) : i), - y = (t, e, i = !0) => { - if (!i) return void v(t); - const s = + g = (t, e = [], i = t) => ("function" == typeof t ? t(...e) : i), + _ = (t, e, n = !0) => { + if (!n) return void g(t); + const o = ((t) => { if (!t) return 0; let { transitionDuration: e, transitionDelay: i } = window.getComputedStyle(t); - const s = Number.parseFloat(e), - n = Number.parseFloat(i); - return s || n + const n = Number.parseFloat(e), + s = Number.parseFloat(i); + return n || s ? ((e = e.split(",")[0]), (i = i.split(",")[0]), 1e3 * (Number.parseFloat(e) + Number.parseFloat(i))) : 0; })(e) + 5; - let n = !1; - const r = ({ target: i }) => { - i === e && ((n = !0), e.removeEventListener(o, r), v(t)); + let r = !1; + const a = ({ target: n }) => { + n === e && ((r = !0), e.removeEventListener(i, a), g(t)); }; - e.addEventListener(o, r), + e.addEventListener(i, a), setTimeout(() => { - n || a(e); - }, s); + r || s(e); + }, o); }, - w = (t, e, i, s) => { - const n = t.length; + b = (t, e, i, n) => { + const s = t.length; let o = t.indexOf(e); return -1 === o - ? !i && s - ? t[n - 1] + ? !i && n + ? t[s - 1] : t[0] : ((o += i ? 1 : -1), - s && (o = (o + n) % n), - t[Math.max(0, Math.min(o, n - 1))]); + n && (o = (o + s) % s), + t[Math.max(0, Math.min(o, s - 1))]); }, - A = /[^.]*(?=\..*)\.|.*/, - E = /\..*/, - C = /::\d+$/, - T = {}; - let k = 1; - const $ = { mouseenter: "mouseover", mouseleave: "mouseout" }, - S = new Set([ + v = /[^.]*(?=\..*)\.|.*/, + y = /\..*/, + w = /::\d+$/, + A = {}; + let E = 1; + const T = { mouseenter: "mouseover", mouseleave: "mouseout" }, + C = new Set([ "click", "dblclick", "mouseup", @@ -224,28 +207,28 @@ "abort", "scroll", ]); - function L(t, e) { - return (e && `${e}::${k++}`) || t.uidEvent || k++; + function O(t, e) { + return (e && `${e}::${E++}`) || t.uidEvent || E++; } - function O(t) { - const e = L(t); - return (t.uidEvent = e), (T[e] = T[e] || {}), T[e]; + function x(t) { + const e = O(t); + return (t.uidEvent = e), (A[e] = A[e] || {}), A[e]; } - function I(t, e, i = null) { + function k(t, e, i = null) { return Object.values(t).find( (t) => t.callable === e && t.delegationSelector === i ); } - function D(t, e, i) { - const s = "string" == typeof e, - n = s ? i : e || i; - let o = M(t); - return S.has(o) || (o = t), [s, n, o]; + function L(t, e, i) { + const n = "string" == typeof e, + s = n ? i : e || i; + let o = N(t); + return C.has(o) || (o = t), [n, s, o]; } - function N(t, e, i, s, n) { + function S(t, e, i, n, s) { if ("string" != typeof e || !t) return; - let [o, r, a] = D(e, i, s); - if (e in $) { + let [o, r, a] = L(e, i, n); + if (e in T) { const t = (t) => function (e) { if ( @@ -257,111 +240,111 @@ }; r = t(r); } - const l = O(t), + const l = x(t), c = l[a] || (l[a] = {}), - h = I(c, r, o ? i : null); - if (h) return void (h.oneOff = h.oneOff && n); - const d = L(r, e.replace(A, "")), + h = k(c, r, o ? i : null); + if (h) return void (h.oneOff = h.oneOff && s); + const d = O(r, e.replace(v, "")), u = o ? (function (t, e, i) { - return function s(n) { + return function n(s) { const o = t.querySelectorAll(e); - for (let { target: r } = n; r && r !== this; r = r.parentNode) + for (let { target: r } = s; r && r !== this; r = r.parentNode) for (const a of o) if (a === r) return ( - F(n, { delegateTarget: r }), - s.oneOff && j.off(t, n.type, e, i), - i.apply(r, [n]) + M(s, { delegateTarget: r }), + n.oneOff && P.off(t, s.type, e, i), + i.apply(r, [s]) ); }; })(t, i, r) : (function (t, e) { - return function i(s) { + return function i(n) { return ( - F(s, { delegateTarget: t }), - i.oneOff && j.off(t, s.type, e), - e.apply(t, [s]) + M(n, { delegateTarget: t }), + i.oneOff && P.off(t, n.type, e), + e.apply(t, [n]) ); }; })(t, r); (u.delegationSelector = o ? i : null), (u.callable = r), - (u.oneOff = n), + (u.oneOff = s), (u.uidEvent = d), (c[d] = u), t.addEventListener(a, u, o); } - function P(t, e, i, s, n) { - const o = I(e[i], s, n); - o && (t.removeEventListener(i, o, Boolean(n)), delete e[i][o.uidEvent]); + function D(t, e, i, n, s) { + const o = k(e[i], n, s); + o && (t.removeEventListener(i, o, Boolean(s)), delete e[i][o.uidEvent]); } - function x(t, e, i, s) { - const n = e[i] || {}; - for (const [o, r] of Object.entries(n)) - o.includes(s) && P(t, e, i, r.callable, r.delegationSelector); + function I(t, e, i, n) { + const s = e[i] || {}; + for (const [o, r] of Object.entries(s)) + o.includes(n) && D(t, e, i, r.callable, r.delegationSelector); } - function M(t) { - return (t = t.replace(E, "")), $[t] || t; + function N(t) { + return (t = t.replace(y, "")), T[t] || t; } - const j = { - on(t, e, i, s) { - N(t, e, i, s, !1); + const P = { + on(t, e, i, n) { + S(t, e, i, n, !1); }, - one(t, e, i, s) { - N(t, e, i, s, !0); + one(t, e, i, n) { + S(t, e, i, n, !0); }, - off(t, e, i, s) { + off(t, e, i, n) { if ("string" != typeof e || !t) return; - const [n, o, r] = D(e, i, s), + const [s, o, r] = L(e, i, n), a = r !== e, - l = O(t), + l = x(t), c = l[r] || {}, h = e.startsWith("."); if (void 0 === o) { - if (h) for (const i of Object.keys(l)) x(t, l, i, e.slice(1)); - for (const [i, s] of Object.entries(c)) { - const n = i.replace(C, ""); - (a && !e.includes(n)) || P(t, l, r, s.callable, s.delegationSelector); + if (h) for (const i of Object.keys(l)) I(t, l, i, e.slice(1)); + for (const [i, n] of Object.entries(c)) { + const s = i.replace(w, ""); + (a && !e.includes(s)) || D(t, l, r, n.callable, n.delegationSelector); } } else { if (!Object.keys(c).length) return; - P(t, l, r, o, n ? i : null); + D(t, l, r, o, s ? i : null); } }, trigger(t, e, i) { if ("string" != typeof e || !t) return null; - const s = f(); - let n = null, + const n = u(); + let s = null, o = !0, r = !0, a = !1; - e !== M(e) && - s && - ((n = s.Event(e, i)), - s(t).trigger(n), - (o = !n.isPropagationStopped()), - (r = !n.isImmediatePropagationStopped()), - (a = n.isDefaultPrevented())); - const l = F(new Event(e, { bubbles: o, cancelable: !0 }), i); + e !== N(e) && + n && + ((s = n.Event(e, i)), + n(t).trigger(s), + (o = !s.isPropagationStopped()), + (r = !s.isImmediatePropagationStopped()), + (a = s.isDefaultPrevented())); + const l = M(new Event(e, { bubbles: o, cancelable: !0 }), i); return ( a && l.preventDefault(), r && t.dispatchEvent(l), - l.defaultPrevented && n && n.preventDefault(), + l.defaultPrevented && s && s.preventDefault(), l ); }, }; - function F(t, e = {}) { - for (const [i, s] of Object.entries(e)) + function M(t, e = {}) { + for (const [i, n] of Object.entries(e)) try { - t[i] = s; + t[i] = n; } catch (e) { - Object.defineProperty(t, i, { configurable: !0, get: () => s }); + Object.defineProperty(t, i, { configurable: !0, get: () => n }); } return t; } - function z(t) { + function j(t) { if ("true" === t) return !0; if ("false" === t) return !1; if (t === Number(t).toString()) return Number(t); @@ -373,15 +356,15 @@ return t; } } - function H(t) { + function F(t) { return t.replace(/[A-Z]/g, (t) => `-${t.toLowerCase()}`); } - const B = { + const H = { setDataAttribute(t, e, i) { - t.setAttribute(`data-bs-${H(e)}`, i); + t.setAttribute(`data-bs-${F(e)}`, i); }, removeDataAttribute(t, e) { - t.removeAttribute(`data-bs-${H(e)}`); + t.removeAttribute(`data-bs-${F(e)}`); }, getDataAttributes(t) { if (!t) return {}; @@ -389,16 +372,16 @@ i = Object.keys(t.dataset).filter( (t) => t.startsWith("bs") && !t.startsWith("bsConfig") ); - for (const s of i) { - let i = s.replace(/^bs/, ""); + for (const n of i) { + let i = n.replace(/^bs/, ""); (i = i.charAt(0).toLowerCase() + i.slice(1, i.length)), - (e[i] = z(t.dataset[s])); + (e[i] = j(t.dataset[n])); } return e; }, - getDataAttribute: (t, e) => z(t.getAttribute(`data-bs-${H(e)}`)), + getDataAttribute: (t, e) => j(t.getAttribute(`data-bs-${F(e)}`)), }; - class q { + class $ { static get Default() { return {}; } @@ -422,18 +405,18 @@ return t; } _mergeConfigObj(t, e) { - const i = l(e) ? B.getDataAttribute(e, "config") : {}; + const i = o(e) ? H.getDataAttribute(e, "config") : {}; return { ...this.constructor.Default, ...("object" == typeof i ? i : {}), - ...(l(e) ? B.getDataAttributes(e) : {}), + ...(o(e) ? H.getDataAttributes(e) : {}), ...("object" == typeof t ? t : {}), }; } _typeCheckConfig(t, e = this.constructor.DefaultType) { - for (const [s, n] of Object.entries(e)) { - const e = t[s], - o = l(e) + for (const [n, s] of Object.entries(e)) { + const e = t[n], + r = o(e) ? "element" : null == (i = e) ? `${i}` @@ -441,29 +424,29 @@ .call(i) .match(/\s([a-z]+)/i)[1] .toLowerCase(); - if (!new RegExp(n).test(o)) + if (!new RegExp(s).test(r)) throw new TypeError( - `${this.constructor.NAME.toUpperCase()}: Option "${s}" provided type "${o}" but expected type "${n}".` + `${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${r}" but expected type "${s}".` ); } var i; } } - class W extends q { - constructor(t, e) { + class W extends $ { + constructor(t, i) { super(), - (t = c(t)) && + (t = r(t)) && ((this._element = t), - (this._config = this._getConfig(e)), - n.set(this._element, this.constructor.DATA_KEY, this)); + (this._config = this._getConfig(i)), + e.set(this._element, this.constructor.DATA_KEY, this)); } dispose() { - n.remove(this._element, this.constructor.DATA_KEY), - j.off(this._element, this.constructor.EVENT_KEY); + e.remove(this._element, this.constructor.DATA_KEY), + P.off(this._element, this.constructor.EVENT_KEY); for (const t of Object.getOwnPropertyNames(this)) this[t] = null; } _queueCallback(t, e, i = !0) { - y(t, e, i); + _(t, e, i); } _getConfig(t) { return ( @@ -474,7 +457,7 @@ ); } static getInstance(t) { - return n.get(c(t), this.DATA_KEY); + return e.get(r(t), this.DATA_KEY); } static getOrCreateInstance(t, e = {}) { return ( @@ -482,7 +465,7 @@ ); } static get VERSION() { - return "5.3.3"; + return "5.3.0"; } static get DATA_KEY() { return `bs.${this.NAME}`; @@ -494,7 +477,7 @@ return `${t}${this.EVENT_KEY}`; } } - const R = (t) => { + const B = (t) => { let e = t.getAttribute("data-bs-target"); if (!e || "#" === e) { let i = t.getAttribute("href"); @@ -502,14 +485,9 @@ i.includes("#") && !i.startsWith("#") && (i = `#${i.split("#")[1]}`), (e = i && "#" !== i ? i.trim() : null); } - return e - ? e - .split(",") - .map((t) => r(t)) - .join(",") - : null; + return n(e); }, - K = { + z = { find: (t, e = document.documentElement) => [].concat(...Element.prototype.querySelectorAll.call(e, t)), findOne: (t, e = document.documentElement) => @@ -517,8 +495,8 @@ children: (t, e) => [].concat(...t.children).filter((t) => t.matches(e)), parents(t, e) { const i = []; - let s = t.parentNode.closest(e); - for (; s; ) i.push(s), (s = s.parentNode.closest(e)); + let n = t.parentNode.closest(e); + for (; n; ) i.push(n), (n = n.parentNode.closest(e)); return i; }, prev(t, e) { @@ -550,52 +528,51 @@ ] .map((t) => `${t}:not([tabindex^="-"])`) .join(","); - return this.find(e, t).filter((t) => !d(t) && h(t)); + return this.find(e, t).filter((t) => !l(t) && a(t)); }, getSelectorFromElement(t) { - const e = R(t); - return e && K.findOne(e) ? e : null; + const e = B(t); + return e && z.findOne(e) ? e : null; }, getElementFromSelector(t) { - const e = R(t); - return e ? K.findOne(e) : null; + const e = B(t); + return e ? z.findOne(e) : null; }, getMultipleElementsFromSelector(t) { - const e = R(t); - return e ? K.find(e) : []; + const e = B(t); + return e ? z.find(e) : []; }, }, - V = (t, e = "hide") => { + R = (t, e = "hide") => { const i = `click.dismiss${t.EVENT_KEY}`, - s = t.NAME; - j.on(document, i, `[data-bs-dismiss="${s}"]`, function (i) { + n = t.NAME; + P.on(document, i, `[data-bs-dismiss="${n}"]`, function (i) { if ( - (["A", "AREA"].includes(this.tagName) && i.preventDefault(), d(this)) + (["A", "AREA"].includes(this.tagName) && i.preventDefault(), l(this)) ) return; - const n = K.getElementFromSelector(this) || this.closest(`.${s}`); - t.getOrCreateInstance(n)[e](); + const s = z.getElementFromSelector(this) || this.closest(`.${n}`); + t.getOrCreateInstance(s)[e](); }); - }, - Q = ".bs.alert", - X = `close${Q}`, - Y = `closed${Q}`; - class U extends W { + }; + class q extends W { static get NAME() { return "alert"; } close() { - if (j.trigger(this._element, X).defaultPrevented) return; + if (P.trigger(this._element, "close.bs.alert").defaultPrevented) return; this._element.classList.remove("show"); const t = this._element.classList.contains("fade"); this._queueCallback(() => this._destroyElement(), this._element, t); } _destroyElement() { - this._element.remove(), j.trigger(this._element, Y), this.dispose(); + this._element.remove(), + P.trigger(this._element, "closed.bs.alert"), + this.dispose(); } static jQueryInterface(t) { return this.each(function () { - const e = U.getOrCreateInstance(this); + const e = q.getOrCreateInstance(this); if ("string" == typeof t) { if (void 0 === e[t] || t.startsWith("_") || "constructor" === t) throw new TypeError(`No method named "${t}"`); @@ -604,9 +581,9 @@ }); } } - V(U, "close"), b(U); - const G = '[data-bs-toggle="button"]'; - class J extends W { + R(q, "close"), m(q); + const V = '[data-bs-toggle="button"]'; + class K extends W { static get NAME() { return "button"; } @@ -618,51 +595,45 @@ } static jQueryInterface(t) { return this.each(function () { - const e = J.getOrCreateInstance(this); + const e = K.getOrCreateInstance(this); "toggle" === t && e[t](); }); } } - j.on(document, "click.bs.button.data-api", G, (t) => { + P.on(document, "click.bs.button.data-api", V, (t) => { t.preventDefault(); - const e = t.target.closest(G); - J.getOrCreateInstance(e).toggle(); + const e = t.target.closest(V); + K.getOrCreateInstance(e).toggle(); }), - b(J); - const Z = ".bs.swipe", - tt = `touchstart${Z}`, - et = `touchmove${Z}`, - it = `touchend${Z}`, - st = `pointerdown${Z}`, - nt = `pointerup${Z}`, - ot = { endCallback: null, leftCallback: null, rightCallback: null }, - rt = { + m(K); + const Q = { endCallback: null, leftCallback: null, rightCallback: null }, + X = { endCallback: "(function|null)", leftCallback: "(function|null)", rightCallback: "(function|null)", }; - class at extends q { + class Y extends $ { constructor(t, e) { super(), (this._element = t), t && - at.isSupported() && + Y.isSupported() && ((this._config = this._getConfig(e)), (this._deltaX = 0), (this._supportPointerEvents = Boolean(window.PointerEvent)), this._initEvents()); } static get Default() { - return ot; + return Q; } static get DefaultType() { - return rt; + return X; } static get NAME() { return "swipe"; } dispose() { - j.off(this._element, Z); + P.off(this._element, ".bs.swipe"); } _start(t) { this._supportPointerEvents @@ -673,7 +644,7 @@ this._eventIsPointerPenTouch(t) && (this._deltaX = t.clientX - this._deltaX), this._handleSwipe(), - v(this._config.endCallback); + g(this._config.endCallback); } _move(t) { this._deltaX = @@ -686,16 +657,16 @@ if (t <= 40) return; const e = t / this._deltaX; (this._deltaX = 0), - e && v(e > 0 ? this._config.rightCallback : this._config.leftCallback); + e && g(e > 0 ? this._config.rightCallback : this._config.leftCallback); } _initEvents() { this._supportPointerEvents - ? (j.on(this._element, st, (t) => this._start(t)), - j.on(this._element, nt, (t) => this._end(t)), + ? (P.on(this._element, "pointerdown.bs.swipe", (t) => this._start(t)), + P.on(this._element, "pointerup.bs.swipe", (t) => this._end(t)), this._element.classList.add("pointer-event")) - : (j.on(this._element, tt, (t) => this._start(t)), - j.on(this._element, et, (t) => this._move(t)), - j.on(this._element, it, (t) => this._end(t))); + : (P.on(this._element, "touchstart.bs.swipe", (t) => this._start(t)), + P.on(this._element, "touchmove.bs.swipe", (t) => this._move(t)), + P.on(this._element, "touchend.bs.swipe", (t) => this._end(t))); } _eventIsPointerPenTouch(t) { return ( @@ -710,27 +681,15 @@ ); } } - const lt = ".bs.carousel", - ct = ".data-api", - ht = "next", - dt = "prev", - ut = "left", - _t = "right", - gt = `slide${lt}`, - ft = `slid${lt}`, - mt = `keydown${lt}`, - pt = `mouseenter${lt}`, - bt = `mouseleave${lt}`, - vt = `dragstart${lt}`, - yt = `load${lt}${ct}`, - wt = `click${lt}${ct}`, - At = "carousel", - Et = "active", - Ct = ".active", - Tt = ".carousel-item", - kt = Ct + Tt, - $t = { ArrowLeft: _t, ArrowRight: ut }, - St = { + const U = "next", + G = "prev", + J = "left", + Z = "right", + tt = "slid.bs.carousel", + et = "carousel", + it = "active", + nt = { ArrowLeft: Z, ArrowRight: J }, + st = { interval: 5e3, keyboard: !0, pause: "hover", @@ -738,7 +697,7 @@ touch: !0, wrap: !0, }, - Lt = { + ot = { interval: "(number|boolean)", keyboard: "boolean", pause: "(string|boolean)", @@ -746,7 +705,7 @@ touch: "boolean", wrap: "boolean", }; - class Ot extends W { + class rt extends W { constructor(t, e) { super(t, e), (this._interval = null), @@ -754,33 +713,33 @@ (this._isSliding = !1), (this.touchTimeout = null), (this._swipeHelper = null), - (this._indicatorsElement = K.findOne( + (this._indicatorsElement = z.findOne( ".carousel-indicators", this._element )), this._addEventListeners(), - this._config.ride === At && this.cycle(); + this._config.ride === et && this.cycle(); } static get Default() { - return St; + return st; } static get DefaultType() { - return Lt; + return ot; } static get NAME() { return "carousel"; } next() { - this._slide(ht); + this._slide(U); } nextWhenVisible() { - !document.hidden && h(this._element) && this.next(); + !document.hidden && a(this._element) && this.next(); } prev() { - this._slide(dt); + this._slide(G); } pause() { - this._isSliding && a(this._element), this._clearInterval(); + this._isSliding && s(this._element), this._clearInterval(); } cycle() { this._clearInterval(), @@ -793,18 +752,18 @@ _maybeEnableCycle() { this._config.ride && (this._isSliding - ? j.one(this._element, ft, () => this.cycle()) + ? P.one(this._element, tt, () => this.cycle()) : this.cycle()); } to(t) { const e = this._getItems(); if (t > e.length - 1 || t < 0) return; if (this._isSliding) - return void j.one(this._element, ft, () => this.to(t)); + return void P.one(this._element, tt, () => this.to(t)); const i = this._getItemIndex(this._getActive()); if (i === t) return; - const s = t > i ? ht : dt; - this._slide(s, e[t]); + const n = t > i ? U : G; + this._slide(n, e[t]); } dispose() { this._swipeHelper && this._swipeHelper.dispose(), super.dispose(); @@ -813,20 +772,21 @@ return (t.defaultInterval = t.interval), t; } _addEventListeners() { - this._config.keyboard && j.on(this._element, mt, (t) => this._keydown(t)), + this._config.keyboard && + P.on(this._element, "keydown.bs.carousel", (t) => this._keydown(t)), "hover" === this._config.pause && - (j.on(this._element, pt, () => this.pause()), - j.on(this._element, bt, () => this._maybeEnableCycle())), - this._config.touch && - at.isSupported() && - this._addTouchEventListeners(); + (P.on(this._element, "mouseenter.bs.carousel", () => this.pause()), + P.on(this._element, "mouseleave.bs.carousel", () => + this._maybeEnableCycle() + )), + this._config.touch && Y.isSupported() && this._addTouchEventListeners(); } _addTouchEventListeners() { - for (const t of K.find(".carousel-item img", this._element)) - j.on(t, vt, (t) => t.preventDefault()); + for (const t of z.find(".carousel-item img", this._element)) + P.on(t, "dragstart.bs.carousel", (t) => t.preventDefault()); const t = { - leftCallback: () => this._slide(this._directionToOrder(ut)), - rightCallback: () => this._slide(this._directionToOrder(_t)), + leftCallback: () => this._slide(this._directionToOrder(J)), + rightCallback: () => this._slide(this._directionToOrder(Z)), endCallback: () => { "hover" === this._config.pause && (this.pause(), @@ -837,11 +797,11 @@ ))); }, }; - this._swipeHelper = new at(this._element, t); + this._swipeHelper = new Y(this._element, t); } _keydown(t) { if (/input|textarea/i.test(t.target.tagName)) return; - const e = $t[t.key]; + const e = nt[t.key]; e && (t.preventDefault(), this._slide(this._directionToOrder(e))); } _getItemIndex(t) { @@ -849,10 +809,10 @@ } _setActiveIndicatorElement(t) { if (!this._indicatorsElement) return; - const e = K.findOne(Ct, this._indicatorsElement); - e.classList.remove(Et), e.removeAttribute("aria-current"); - const i = K.findOne(`[data-bs-slide-to="${t}"]`, this._indicatorsElement); - i && (i.classList.add(Et), i.setAttribute("aria-current", "true")); + const e = z.findOne(".active", this._indicatorsElement); + e.classList.remove(it), e.removeAttribute("aria-current"); + const i = z.findOne(`[data-bs-slide-to="${t}"]`, this._indicatorsElement); + i && (i.classList.add(it), i.setAttribute("aria-current", "true")); } _updateInterval() { const t = this._activeElement || this._getActive(); @@ -863,37 +823,37 @@ _slide(t, e = null) { if (this._isSliding) return; const i = this._getActive(), - s = t === ht, - n = e || w(this._getItems(), i, s, this._config.wrap); - if (n === i) return; - const o = this._getItemIndex(n), + n = t === U, + s = e || b(this._getItems(), i, n, this._config.wrap); + if (s === i) return; + const o = this._getItemIndex(s), r = (e) => - j.trigger(this._element, e, { - relatedTarget: n, + P.trigger(this._element, e, { + relatedTarget: s, direction: this._orderToDirection(t), from: this._getItemIndex(i), to: o, }); - if (r(gt).defaultPrevented) return; - if (!i || !n) return; + if (r("slide.bs.carousel").defaultPrevented) return; + if (!i || !s) return; const a = Boolean(this._interval); this.pause(), (this._isSliding = !0), this._setActiveIndicatorElement(o), - (this._activeElement = n); - const l = s ? "carousel-item-start" : "carousel-item-end", - c = s ? "carousel-item-next" : "carousel-item-prev"; - n.classList.add(c), - g(n), + (this._activeElement = s); + const l = n ? "carousel-item-start" : "carousel-item-end", + c = n ? "carousel-item-next" : "carousel-item-prev"; + s.classList.add(c), + d(s), i.classList.add(l), - n.classList.add(l), + s.classList.add(l), this._queueCallback( () => { - n.classList.remove(l, c), - n.classList.add(Et), - i.classList.remove(Et, c, l), + s.classList.remove(l, c), + s.classList.add(it), + i.classList.remove(it, c, l), (this._isSliding = !1), - r(ft); + r(tt); }, i, this._isAnimated() @@ -904,24 +864,24 @@ return this._element.classList.contains("slide"); } _getActive() { - return K.findOne(kt, this._element); + return z.findOne(".active.carousel-item", this._element); } _getItems() { - return K.find(Tt, this._element); + return z.find(".carousel-item", this._element); } _clearInterval() { this._interval && (clearInterval(this._interval), (this._interval = null)); } _directionToOrder(t) { - return p() ? (t === ut ? dt : ht) : t === ut ? ht : dt; + return p() ? (t === J ? G : U) : t === J ? U : G; } _orderToDirection(t) { - return p() ? (t === dt ? ut : _t) : t === dt ? _t : ut; + return p() ? (t === G ? J : Z) : t === G ? Z : J; } static jQueryInterface(t) { return this.each(function () { - const e = Ot.getOrCreateInstance(this, t); + const e = rt.getOrCreateInstance(this, t); if ("number" != typeof t) { if ("string" == typeof t) { if (void 0 === e[t] || t.startsWith("_") || "constructor" === t) @@ -932,43 +892,41 @@ }); } } - j.on(document, wt, "[data-bs-slide], [data-bs-slide-to]", function (t) { - const e = K.getElementFromSelector(this); - if (!e || !e.classList.contains(At)) return; - t.preventDefault(); - const i = Ot.getOrCreateInstance(e), - s = this.getAttribute("data-bs-slide-to"); - return s - ? (i.to(s), void i._maybeEnableCycle()) - : "next" === B.getDataAttribute(this, "slide") - ? (i.next(), void i._maybeEnableCycle()) - : (i.prev(), void i._maybeEnableCycle()); - }), - j.on(window, yt, () => { - const t = K.find('[data-bs-ride="carousel"]'); - for (const e of t) Ot.getOrCreateInstance(e); + P.on( + document, + "click.bs.carousel.data-api", + "[data-bs-slide], [data-bs-slide-to]", + function (t) { + const e = z.getElementFromSelector(this); + if (!e || !e.classList.contains(et)) return; + t.preventDefault(); + const i = rt.getOrCreateInstance(e), + n = this.getAttribute("data-bs-slide-to"); + return n + ? (i.to(n), void i._maybeEnableCycle()) + : "next" === H.getDataAttribute(this, "slide") + ? (i.next(), void i._maybeEnableCycle()) + : (i.prev(), void i._maybeEnableCycle()); + } + ), + P.on(window, "load.bs.carousel.data-api", () => { + const t = z.find('[data-bs-ride="carousel"]'); + for (const e of t) rt.getOrCreateInstance(e); }), - b(Ot); - const It = ".bs.collapse", - Dt = `show${It}`, - Nt = `shown${It}`, - Pt = `hide${It}`, - xt = `hidden${It}`, - Mt = `click${It}.data-api`, - jt = "show", - Ft = "collapse", - zt = "collapsing", - Ht = `:scope .${Ft} .${Ft}`, - Bt = '[data-bs-toggle="collapse"]', - qt = { parent: null, toggle: !0 }, - Wt = { parent: "(null|element)", toggle: "boolean" }; - class Rt extends W { + m(rt); + const at = "show", + lt = "collapse", + ct = "collapsing", + ht = '[data-bs-toggle="collapse"]', + dt = { parent: null, toggle: !0 }, + ut = { parent: "(null|element)", toggle: "boolean" }; + class ft extends W { constructor(t, e) { super(t, e), (this._isTransitioning = !1), (this._triggerArray = []); - const i = K.find(Bt); + const i = z.find(ht); for (const t of i) { - const e = K.getSelectorFromElement(t), - i = K.find(e).filter((t) => t === this._element); + const e = z.getSelectorFromElement(t), + i = z.find(e).filter((t) => t === this._element); null !== e && i.length && this._triggerArray.push(t); } this._initializeChildren(), @@ -977,10 +935,10 @@ this._config.toggle && this.toggle(); } static get Default() { - return qt; + return dt; } static get DefaultType() { - return Wt; + return ut; } static get NAME() { return "collapse"; @@ -997,15 +955,15 @@ ".collapse.show, .collapse.collapsing" ) .filter((t) => t !== this._element) - .map((t) => Rt.getOrCreateInstance(t, { toggle: !1 }))), + .map((t) => ft.getOrCreateInstance(t, { toggle: !1 }))), t.length && t[0]._isTransitioning) ) return; - if (j.trigger(this._element, Dt).defaultPrevented) return; + if (P.trigger(this._element, "show.bs.collapse").defaultPrevented) return; for (const e of t) e.hide(); const e = this._getDimension(); - this._element.classList.remove(Ft), - this._element.classList.add(zt), + this._element.classList.remove(lt), + this._element.classList.add(ct), (this._element.style[e] = 0), this._addAriaAndCollapsedClass(this._triggerArray, !0), (this._isTransitioning = !0); @@ -1013,10 +971,10 @@ this._queueCallback( () => { (this._isTransitioning = !1), - this._element.classList.remove(zt), - this._element.classList.add(Ft, jt), + this._element.classList.remove(ct), + this._element.classList.add(lt, at), (this._element.style[e] = ""), - j.trigger(this._element, Nt); + P.trigger(this._element, "shown.bs.collapse"); }, this._element, !0 @@ -1025,16 +983,16 @@ } hide() { if (this._isTransitioning || !this._isShown()) return; - if (j.trigger(this._element, Pt).defaultPrevented) return; + if (P.trigger(this._element, "hide.bs.collapse").defaultPrevented) return; const t = this._getDimension(); (this._element.style[t] = `${ this._element.getBoundingClientRect()[t] }px`), - g(this._element), - this._element.classList.add(zt), - this._element.classList.remove(Ft, jt); + d(this._element), + this._element.classList.add(ct), + this._element.classList.remove(lt, at); for (const t of this._triggerArray) { - const e = K.getElementFromSelector(t); + const e = z.getElementFromSelector(t); e && !this._isShown(e) && this._addAriaAndCollapsedClass([t], !1); } (this._isTransitioning = !0), @@ -1042,19 +1000,19 @@ this._queueCallback( () => { (this._isTransitioning = !1), - this._element.classList.remove(zt), - this._element.classList.add(Ft), - j.trigger(this._element, xt); + this._element.classList.remove(ct), + this._element.classList.add(lt), + P.trigger(this._element, "hidden.bs.collapse"); }, this._element, !0 ); } _isShown(t = this._element) { - return t.classList.contains(jt); + return t.classList.contains(at); } _configAfterMerge(t) { - return (t.toggle = Boolean(t.toggle)), (t.parent = c(t.parent)), t; + return (t.toggle = Boolean(t.toggle)), (t.parent = r(t.parent)), t; } _getDimension() { return this._element.classList.contains("collapse-horizontal") @@ -1063,15 +1021,15 @@ } _initializeChildren() { if (!this._config.parent) return; - const t = this._getFirstLevelChildren(Bt); + const t = this._getFirstLevelChildren(ht); for (const e of t) { - const t = K.getElementFromSelector(e); + const t = z.getElementFromSelector(e); t && this._addAriaAndCollapsedClass([e], this._isShown(t)); } } _getFirstLevelChildren(t) { - const e = K.find(Ht, this._config.parent); - return K.find(t, this._config.parent).filter((t) => !e.includes(t)); + const e = z.find(":scope .collapse .collapse", this._config.parent); + return z.find(t, this._config.parent).filter((t) => !e.includes(t)); } _addAriaAndCollapsedClass(t, e) { if (t.length) @@ -1084,7 +1042,7 @@ return ( "string" == typeof t && /show|hide/.test(t) && (e.toggle = !1), this.each(function () { - const i = Rt.getOrCreateInstance(this, e); + const i = ft.getOrCreateInstance(this, e); if ("string" == typeof t) { if (void 0 === i[t]) throw new TypeError(`No method named "${t}"`); i[t](); @@ -1093,37 +1051,1351 @@ ); } } - j.on(document, Mt, Bt, function (t) { + P.on(document, "click.bs.collapse.data-api", ht, function (t) { ("A" === t.target.tagName || (t.delegateTarget && "A" === t.delegateTarget.tagName)) && t.preventDefault(); - for (const t of K.getMultipleElementsFromSelector(this)) - Rt.getOrCreateInstance(t, { toggle: !1 }).toggle(); + for (const t of z.getMultipleElementsFromSelector(this)) + ft.getOrCreateInstance(t, { toggle: !1 }).toggle(); }), - b(Rt); - const Kt = "dropdown", - Vt = ".bs.dropdown", - Qt = ".data-api", - Xt = "ArrowUp", - Yt = "ArrowDown", - Ut = `hide${Vt}`, - Gt = `hidden${Vt}`, - Jt = `show${Vt}`, - Zt = `shown${Vt}`, - te = `click${Vt}${Qt}`, - ee = `keydown${Vt}${Qt}`, - ie = `keyup${Vt}${Qt}`, - se = "show", - ne = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)', - oe = `${ne}.${se}`, - re = ".dropdown-menu", - ae = p() ? "top-end" : "top-start", - le = p() ? "top-start" : "top-end", - ce = p() ? "bottom-end" : "bottom-start", - he = p() ? "bottom-start" : "bottom-end", - de = p() ? "left-start" : "right-start", - ue = p() ? "right-start" : "left-start", - _e = { + m(ft); + var pt = "top", + mt = "bottom", + gt = "right", + _t = "left", + bt = "auto", + vt = [pt, mt, gt, _t], + yt = "start", + wt = "end", + At = "clippingParents", + Et = "viewport", + Tt = "popper", + Ct = "reference", + Ot = vt.reduce(function (t, e) { + return t.concat([e + "-" + yt, e + "-" + wt]); + }, []), + xt = [].concat(vt, [bt]).reduce(function (t, e) { + return t.concat([e, e + "-" + yt, e + "-" + wt]); + }, []), + kt = "beforeRead", + Lt = "read", + St = "afterRead", + Dt = "beforeMain", + It = "main", + Nt = "afterMain", + Pt = "beforeWrite", + Mt = "write", + jt = "afterWrite", + Ft = [kt, Lt, St, Dt, It, Nt, Pt, Mt, jt]; + function Ht(t) { + return t ? (t.nodeName || "").toLowerCase() : null; + } + function $t(t) { + if (null == t) return window; + if ("[object Window]" !== t.toString()) { + var e = t.ownerDocument; + return (e && e.defaultView) || window; + } + return t; + } + function Wt(t) { + return t instanceof $t(t).Element || t instanceof Element; + } + function Bt(t) { + return t instanceof $t(t).HTMLElement || t instanceof HTMLElement; + } + function zt(t) { + return ( + "undefined" != typeof ShadowRoot && + (t instanceof $t(t).ShadowRoot || t instanceof ShadowRoot) + ); + } + const Rt = { + name: "applyStyles", + enabled: !0, + phase: "write", + fn: function (t) { + var e = t.state; + Object.keys(e.elements).forEach(function (t) { + var i = e.styles[t] || {}, + n = e.attributes[t] || {}, + s = e.elements[t]; + Bt(s) && + Ht(s) && + (Object.assign(s.style, i), + Object.keys(n).forEach(function (t) { + var e = n[t]; + !1 === e + ? s.removeAttribute(t) + : s.setAttribute(t, !0 === e ? "" : e); + })); + }); + }, + effect: function (t) { + var e = t.state, + i = { + popper: { + position: e.options.strategy, + left: "0", + top: "0", + margin: "0", + }, + arrow: { position: "absolute" }, + reference: {}, + }; + return ( + Object.assign(e.elements.popper.style, i.popper), + (e.styles = i), + e.elements.arrow && Object.assign(e.elements.arrow.style, i.arrow), + function () { + Object.keys(e.elements).forEach(function (t) { + var n = e.elements[t], + s = e.attributes[t] || {}, + o = Object.keys( + e.styles.hasOwnProperty(t) ? e.styles[t] : i[t] + ).reduce(function (t, e) { + return (t[e] = ""), t; + }, {}); + Bt(n) && + Ht(n) && + (Object.assign(n.style, o), + Object.keys(s).forEach(function (t) { + n.removeAttribute(t); + })); + }); + } + ); + }, + requires: ["computeStyles"], + }; + function qt(t) { + return t.split("-")[0]; + } + var Vt = Math.max, + Kt = Math.min, + Qt = Math.round; + function Xt() { + var t = navigator.userAgentData; + return null != t && t.brands && Array.isArray(t.brands) + ? t.brands + .map(function (t) { + return t.brand + "/" + t.version; + }) + .join(" ") + : navigator.userAgent; + } + function Yt() { + return !/^((?!chrome|android).)*safari/i.test(Xt()); + } + function Ut(t, e, i) { + void 0 === e && (e = !1), void 0 === i && (i = !1); + var n = t.getBoundingClientRect(), + s = 1, + o = 1; + e && + Bt(t) && + ((s = (t.offsetWidth > 0 && Qt(n.width) / t.offsetWidth) || 1), + (o = (t.offsetHeight > 0 && Qt(n.height) / t.offsetHeight) || 1)); + var r = (Wt(t) ? $t(t) : window).visualViewport, + a = !Yt() && i, + l = (n.left + (a && r ? r.offsetLeft : 0)) / s, + c = (n.top + (a && r ? r.offsetTop : 0)) / o, + h = n.width / s, + d = n.height / o; + return { + width: h, + height: d, + top: c, + right: l + h, + bottom: c + d, + left: l, + x: l, + y: c, + }; + } + function Gt(t) { + var e = Ut(t), + i = t.offsetWidth, + n = t.offsetHeight; + return ( + Math.abs(e.width - i) <= 1 && (i = e.width), + Math.abs(e.height - n) <= 1 && (n = e.height), + { x: t.offsetLeft, y: t.offsetTop, width: i, height: n } + ); + } + function Jt(t, e) { + var i = e.getRootNode && e.getRootNode(); + if (t.contains(e)) return !0; + if (i && zt(i)) { + var n = e; + do { + if (n && t.isSameNode(n)) return !0; + n = n.parentNode || n.host; + } while (n); + } + return !1; + } + function Zt(t) { + return $t(t).getComputedStyle(t); + } + function te(t) { + return ["table", "td", "th"].indexOf(Ht(t)) >= 0; + } + function ee(t) { + return ( + (Wt(t) ? t.ownerDocument : t.document) || window.document + ).documentElement; + } + function ie(t) { + return "html" === Ht(t) + ? t + : t.assignedSlot || t.parentNode || (zt(t) ? t.host : null) || ee(t); + } + function ne(t) { + return Bt(t) && "fixed" !== Zt(t).position ? t.offsetParent : null; + } + function se(t) { + for (var e = $t(t), i = ne(t); i && te(i) && "static" === Zt(i).position; ) + i = ne(i); + return i && + ("html" === Ht(i) || ("body" === Ht(i) && "static" === Zt(i).position)) + ? e + : i || + (function (t) { + var e = /firefox/i.test(Xt()); + if (/Trident/i.test(Xt()) && Bt(t) && "fixed" === Zt(t).position) + return null; + var i = ie(t); + for ( + zt(i) && (i = i.host); + Bt(i) && ["html", "body"].indexOf(Ht(i)) < 0; + + ) { + var n = Zt(i); + if ( + "none" !== n.transform || + "none" !== n.perspective || + "paint" === n.contain || + -1 !== ["transform", "perspective"].indexOf(n.willChange) || + (e && "filter" === n.willChange) || + (e && n.filter && "none" !== n.filter) + ) + return i; + i = i.parentNode; + } + return null; + })(t) || + e; + } + function oe(t) { + return ["top", "bottom"].indexOf(t) >= 0 ? "x" : "y"; + } + function re(t, e, i) { + return Vt(t, Kt(e, i)); + } + function ae(t) { + return Object.assign({}, { top: 0, right: 0, bottom: 0, left: 0 }, t); + } + function le(t, e) { + return e.reduce(function (e, i) { + return (e[i] = t), e; + }, {}); + } + const ce = { + name: "arrow", + enabled: !0, + phase: "main", + fn: function (t) { + var e, + i = t.state, + n = t.name, + s = t.options, + o = i.elements.arrow, + r = i.modifiersData.popperOffsets, + a = qt(i.placement), + l = oe(a), + c = [_t, gt].indexOf(a) >= 0 ? "height" : "width"; + if (o && r) { + var h = (function (t, e) { + return ae( + "number" != + typeof (t = + "function" == typeof t + ? t(Object.assign({}, e.rects, { placement: e.placement })) + : t) + ? t + : le(t, vt) + ); + })(s.padding, i), + d = Gt(o), + u = "y" === l ? pt : _t, + f = "y" === l ? mt : gt, + p = + i.rects.reference[c] + + i.rects.reference[l] - + r[l] - + i.rects.popper[c], + m = r[l] - i.rects.reference[l], + g = se(o), + _ = g ? ("y" === l ? g.clientHeight || 0 : g.clientWidth || 0) : 0, + b = p / 2 - m / 2, + v = h[u], + y = _ - d[c] - h[f], + w = _ / 2 - d[c] / 2 + b, + A = re(v, w, y), + E = l; + i.modifiersData[n] = (((e = {})[E] = A), (e.centerOffset = A - w), e); + } + }, + effect: function (t) { + var e = t.state, + i = t.options.element, + n = void 0 === i ? "[data-popper-arrow]" : i; + null != n && + ("string" != typeof n || (n = e.elements.popper.querySelector(n))) && + Jt(e.elements.popper, n) && + (e.elements.arrow = n); + }, + requires: ["popperOffsets"], + requiresIfExists: ["preventOverflow"], + }; + function he(t) { + return t.split("-")[1]; + } + var de = { top: "auto", right: "auto", bottom: "auto", left: "auto" }; + function ue(t) { + var e, + i = t.popper, + n = t.popperRect, + s = t.placement, + o = t.variation, + r = t.offsets, + a = t.position, + l = t.gpuAcceleration, + c = t.adaptive, + h = t.roundOffsets, + d = t.isFixed, + u = r.x, + f = void 0 === u ? 0 : u, + p = r.y, + m = void 0 === p ? 0 : p, + g = "function" == typeof h ? h({ x: f, y: m }) : { x: f, y: m }; + (f = g.x), (m = g.y); + var _ = r.hasOwnProperty("x"), + b = r.hasOwnProperty("y"), + v = _t, + y = pt, + w = window; + if (c) { + var A = se(i), + E = "clientHeight", + T = "clientWidth"; + A === $t(i) && + "static" !== Zt((A = ee(i))).position && + "absolute" === a && + ((E = "scrollHeight"), (T = "scrollWidth")), + (s === pt || ((s === _t || s === gt) && o === wt)) && + ((y = mt), + (m -= + (d && A === w && w.visualViewport + ? w.visualViewport.height + : A[E]) - n.height), + (m *= l ? 1 : -1)), + (s !== _t && ((s !== pt && s !== mt) || o !== wt)) || + ((v = gt), + (f -= + (d && A === w && w.visualViewport ? w.visualViewport.width : A[T]) - + n.width), + (f *= l ? 1 : -1)); + } + var C, + O = Object.assign({ position: a }, c && de), + x = + !0 === h + ? (function (t, e) { + var i = t.x, + n = t.y, + s = e.devicePixelRatio || 1; + return { x: Qt(i * s) / s || 0, y: Qt(n * s) / s || 0 }; + })({ x: f, y: m }, $t(i)) + : { x: f, y: m }; + return ( + (f = x.x), + (m = x.y), + l + ? Object.assign( + {}, + O, + (((C = {})[y] = b ? "0" : ""), + (C[v] = _ ? "0" : ""), + (C.transform = + (w.devicePixelRatio || 1) <= 1 + ? "translate(" + f + "px, " + m + "px)" + : "translate3d(" + f + "px, " + m + "px, 0)"), + C) + ) + : Object.assign( + {}, + O, + (((e = {})[y] = b ? m + "px" : ""), + (e[v] = _ ? f + "px" : ""), + (e.transform = ""), + e) + ) + ); + } + const fe = { + name: "computeStyles", + enabled: !0, + phase: "beforeWrite", + fn: function (t) { + var e = t.state, + i = t.options, + n = i.gpuAcceleration, + s = void 0 === n || n, + o = i.adaptive, + r = void 0 === o || o, + a = i.roundOffsets, + l = void 0 === a || a, + c = { + placement: qt(e.placement), + variation: he(e.placement), + popper: e.elements.popper, + popperRect: e.rects.popper, + gpuAcceleration: s, + isFixed: "fixed" === e.options.strategy, + }; + null != e.modifiersData.popperOffsets && + (e.styles.popper = Object.assign( + {}, + e.styles.popper, + ue( + Object.assign({}, c, { + offsets: e.modifiersData.popperOffsets, + position: e.options.strategy, + adaptive: r, + roundOffsets: l, + }) + ) + )), + null != e.modifiersData.arrow && + (e.styles.arrow = Object.assign( + {}, + e.styles.arrow, + ue( + Object.assign({}, c, { + offsets: e.modifiersData.arrow, + position: "absolute", + adaptive: !1, + roundOffsets: l, + }) + ) + )), + (e.attributes.popper = Object.assign({}, e.attributes.popper, { + "data-popper-placement": e.placement, + })); + }, + data: {}, + }; + var pe = { passive: !0 }; + const me = { + name: "eventListeners", + enabled: !0, + phase: "write", + fn: function () {}, + effect: function (t) { + var e = t.state, + i = t.instance, + n = t.options, + s = n.scroll, + o = void 0 === s || s, + r = n.resize, + a = void 0 === r || r, + l = $t(e.elements.popper), + c = [].concat(e.scrollParents.reference, e.scrollParents.popper); + return ( + o && + c.forEach(function (t) { + t.addEventListener("scroll", i.update, pe); + }), + a && l.addEventListener("resize", i.update, pe), + function () { + o && + c.forEach(function (t) { + t.removeEventListener("scroll", i.update, pe); + }), + a && l.removeEventListener("resize", i.update, pe); + } + ); + }, + data: {}, + }; + var ge = { left: "right", right: "left", bottom: "top", top: "bottom" }; + function _e(t) { + return t.replace(/left|right|bottom|top/g, function (t) { + return ge[t]; + }); + } + var be = { start: "end", end: "start" }; + function ve(t) { + return t.replace(/start|end/g, function (t) { + return be[t]; + }); + } + function ye(t) { + var e = $t(t); + return { scrollLeft: e.pageXOffset, scrollTop: e.pageYOffset }; + } + function we(t) { + return Ut(ee(t)).left + ye(t).scrollLeft; + } + function Ae(t) { + var e = Zt(t), + i = e.overflow, + n = e.overflowX, + s = e.overflowY; + return /auto|scroll|overlay|hidden/.test(i + s + n); + } + function Ee(t) { + return ["html", "body", "#document"].indexOf(Ht(t)) >= 0 + ? t.ownerDocument.body + : Bt(t) && Ae(t) + ? t + : Ee(ie(t)); + } + function Te(t, e) { + var i; + void 0 === e && (e = []); + var n = Ee(t), + s = n === (null == (i = t.ownerDocument) ? void 0 : i.body), + o = $t(n), + r = s ? [o].concat(o.visualViewport || [], Ae(n) ? n : []) : n, + a = e.concat(r); + return s ? a : a.concat(Te(ie(r))); + } + function Ce(t) { + return Object.assign({}, t, { + left: t.x, + top: t.y, + right: t.x + t.width, + bottom: t.y + t.height, + }); + } + function Oe(t, e, i) { + return e === Et + ? Ce( + (function (t, e) { + var i = $t(t), + n = ee(t), + s = i.visualViewport, + o = n.clientWidth, + r = n.clientHeight, + a = 0, + l = 0; + if (s) { + (o = s.width), (r = s.height); + var c = Yt(); + (c || (!c && "fixed" === e)) && + ((a = s.offsetLeft), (l = s.offsetTop)); + } + return { width: o, height: r, x: a + we(t), y: l }; + })(t, i) + ) + : Wt(e) + ? (function (t, e) { + var i = Ut(t, !1, "fixed" === e); + return ( + (i.top = i.top + t.clientTop), + (i.left = i.left + t.clientLeft), + (i.bottom = i.top + t.clientHeight), + (i.right = i.left + t.clientWidth), + (i.width = t.clientWidth), + (i.height = t.clientHeight), + (i.x = i.left), + (i.y = i.top), + i + ); + })(e, i) + : Ce( + (function (t) { + var e, + i = ee(t), + n = ye(t), + s = null == (e = t.ownerDocument) ? void 0 : e.body, + o = Vt( + i.scrollWidth, + i.clientWidth, + s ? s.scrollWidth : 0, + s ? s.clientWidth : 0 + ), + r = Vt( + i.scrollHeight, + i.clientHeight, + s ? s.scrollHeight : 0, + s ? s.clientHeight : 0 + ), + a = -n.scrollLeft + we(t), + l = -n.scrollTop; + return ( + "rtl" === Zt(s || i).direction && + (a += Vt(i.clientWidth, s ? s.clientWidth : 0) - o), + { width: o, height: r, x: a, y: l } + ); + })(ee(t)) + ); + } + function xe(t) { + var e, + i = t.reference, + n = t.element, + s = t.placement, + o = s ? qt(s) : null, + r = s ? he(s) : null, + a = i.x + i.width / 2 - n.width / 2, + l = i.y + i.height / 2 - n.height / 2; + switch (o) { + case pt: + e = { x: a, y: i.y - n.height }; + break; + case mt: + e = { x: a, y: i.y + i.height }; + break; + case gt: + e = { x: i.x + i.width, y: l }; + break; + case _t: + e = { x: i.x - n.width, y: l }; + break; + default: + e = { x: i.x, y: i.y }; + } + var c = o ? oe(o) : null; + if (null != c) { + var h = "y" === c ? "height" : "width"; + switch (r) { + case yt: + e[c] = e[c] - (i[h] / 2 - n[h] / 2); + break; + case wt: + e[c] = e[c] + (i[h] / 2 - n[h] / 2); + } + } + return e; + } + function ke(t, e) { + void 0 === e && (e = {}); + var i = e, + n = i.placement, + s = void 0 === n ? t.placement : n, + o = i.strategy, + r = void 0 === o ? t.strategy : o, + a = i.boundary, + l = void 0 === a ? At : a, + c = i.rootBoundary, + h = void 0 === c ? Et : c, + d = i.elementContext, + u = void 0 === d ? Tt : d, + f = i.altBoundary, + p = void 0 !== f && f, + m = i.padding, + g = void 0 === m ? 0 : m, + _ = ae("number" != typeof g ? g : le(g, vt)), + b = u === Tt ? Ct : Tt, + v = t.rects.popper, + y = t.elements[p ? b : u], + w = (function (t, e, i, n) { + var s = + "clippingParents" === e + ? (function (t) { + var e = Te(ie(t)), + i = + ["absolute", "fixed"].indexOf(Zt(t).position) >= 0 && + Bt(t) + ? se(t) + : t; + return Wt(i) + ? e.filter(function (t) { + return Wt(t) && Jt(t, i) && "body" !== Ht(t); + }) + : []; + })(t) + : [].concat(e), + o = [].concat(s, [i]), + r = o[0], + a = o.reduce(function (e, i) { + var s = Oe(t, i, n); + return ( + (e.top = Vt(s.top, e.top)), + (e.right = Kt(s.right, e.right)), + (e.bottom = Kt(s.bottom, e.bottom)), + (e.left = Vt(s.left, e.left)), + e + ); + }, Oe(t, r, n)); + return ( + (a.width = a.right - a.left), + (a.height = a.bottom - a.top), + (a.x = a.left), + (a.y = a.top), + a + ); + })(Wt(y) ? y : y.contextElement || ee(t.elements.popper), l, h, r), + A = Ut(t.elements.reference), + E = xe({ reference: A, element: v, strategy: "absolute", placement: s }), + T = Ce(Object.assign({}, v, E)), + C = u === Tt ? T : A, + O = { + top: w.top - C.top + _.top, + bottom: C.bottom - w.bottom + _.bottom, + left: w.left - C.left + _.left, + right: C.right - w.right + _.right, + }, + x = t.modifiersData.offset; + if (u === Tt && x) { + var k = x[s]; + Object.keys(O).forEach(function (t) { + var e = [gt, mt].indexOf(t) >= 0 ? 1 : -1, + i = [pt, mt].indexOf(t) >= 0 ? "y" : "x"; + O[t] += k[i] * e; + }); + } + return O; + } + function Le(t, e) { + void 0 === e && (e = {}); + var i = e, + n = i.placement, + s = i.boundary, + o = i.rootBoundary, + r = i.padding, + a = i.flipVariations, + l = i.allowedAutoPlacements, + c = void 0 === l ? xt : l, + h = he(n), + d = h + ? a + ? Ot + : Ot.filter(function (t) { + return he(t) === h; + }) + : vt, + u = d.filter(function (t) { + return c.indexOf(t) >= 0; + }); + 0 === u.length && (u = d); + var f = u.reduce(function (e, i) { + return ( + (e[i] = ke(t, { + placement: i, + boundary: s, + rootBoundary: o, + padding: r, + })[qt(i)]), + e + ); + }, {}); + return Object.keys(f).sort(function (t, e) { + return f[t] - f[e]; + }); + } + const Se = { + name: "flip", + enabled: !0, + phase: "main", + fn: function (t) { + var e = t.state, + i = t.options, + n = t.name; + if (!e.modifiersData[n]._skip) { + for ( + var s = i.mainAxis, + o = void 0 === s || s, + r = i.altAxis, + a = void 0 === r || r, + l = i.fallbackPlacements, + c = i.padding, + h = i.boundary, + d = i.rootBoundary, + u = i.altBoundary, + f = i.flipVariations, + p = void 0 === f || f, + m = i.allowedAutoPlacements, + g = e.options.placement, + _ = qt(g), + b = + l || + (_ !== g && p + ? (function (t) { + if (qt(t) === bt) return []; + var e = _e(t); + return [ve(t), e, ve(e)]; + })(g) + : [_e(g)]), + v = [g].concat(b).reduce(function (t, i) { + return t.concat( + qt(i) === bt + ? Le(e, { + placement: i, + boundary: h, + rootBoundary: d, + padding: c, + flipVariations: p, + allowedAutoPlacements: m, + }) + : i + ); + }, []), + y = e.rects.reference, + w = e.rects.popper, + A = new Map(), + E = !0, + T = v[0], + C = 0; + C < v.length; + C++ + ) { + var O = v[C], + x = qt(O), + k = he(O) === yt, + L = [pt, mt].indexOf(x) >= 0, + S = L ? "width" : "height", + D = ke(e, { + placement: O, + boundary: h, + rootBoundary: d, + altBoundary: u, + padding: c, + }), + I = L ? (k ? gt : _t) : k ? mt : pt; + y[S] > w[S] && (I = _e(I)); + var N = _e(I), + P = []; + if ( + (o && P.push(D[x] <= 0), + a && P.push(D[I] <= 0, D[N] <= 0), + P.every(function (t) { + return t; + })) + ) { + (T = O), (E = !1); + break; + } + A.set(O, P); + } + if (E) + for ( + var M = function (t) { + var e = v.find(function (e) { + var i = A.get(e); + if (i) + return i.slice(0, t).every(function (t) { + return t; + }); + }); + if (e) return (T = e), "break"; + }, + j = p ? 3 : 1; + j > 0 && "break" !== M(j); + j-- + ); + e.placement !== T && + ((e.modifiersData[n]._skip = !0), (e.placement = T), (e.reset = !0)); + } + }, + requiresIfExists: ["offset"], + data: { _skip: !1 }, + }; + function De(t, e, i) { + return ( + void 0 === i && (i = { x: 0, y: 0 }), + { + top: t.top - e.height - i.y, + right: t.right - e.width + i.x, + bottom: t.bottom - e.height + i.y, + left: t.left - e.width - i.x, + } + ); + } + function Ie(t) { + return [pt, gt, mt, _t].some(function (e) { + return t[e] >= 0; + }); + } + const Ne = { + name: "hide", + enabled: !0, + phase: "main", + requiresIfExists: ["preventOverflow"], + fn: function (t) { + var e = t.state, + i = t.name, + n = e.rects.reference, + s = e.rects.popper, + o = e.modifiersData.preventOverflow, + r = ke(e, { elementContext: "reference" }), + a = ke(e, { altBoundary: !0 }), + l = De(r, n), + c = De(a, s, o), + h = Ie(l), + d = Ie(c); + (e.modifiersData[i] = { + referenceClippingOffsets: l, + popperEscapeOffsets: c, + isReferenceHidden: h, + hasPopperEscaped: d, + }), + (e.attributes.popper = Object.assign({}, e.attributes.popper, { + "data-popper-reference-hidden": h, + "data-popper-escaped": d, + })); + }, + }, + Pe = { + name: "offset", + enabled: !0, + phase: "main", + requires: ["popperOffsets"], + fn: function (t) { + var e = t.state, + i = t.options, + n = t.name, + s = i.offset, + o = void 0 === s ? [0, 0] : s, + r = xt.reduce(function (t, i) { + return ( + (t[i] = (function (t, e, i) { + var n = qt(t), + s = [_t, pt].indexOf(n) >= 0 ? -1 : 1, + o = + "function" == typeof i + ? i(Object.assign({}, e, { placement: t })) + : i, + r = o[0], + a = o[1]; + return ( + (r = r || 0), + (a = (a || 0) * s), + [_t, gt].indexOf(n) >= 0 ? { x: a, y: r } : { x: r, y: a } + ); + })(i, e.rects, o)), + t + ); + }, {}), + a = r[e.placement], + l = a.x, + c = a.y; + null != e.modifiersData.popperOffsets && + ((e.modifiersData.popperOffsets.x += l), + (e.modifiersData.popperOffsets.y += c)), + (e.modifiersData[n] = r); + }, + }, + Me = { + name: "popperOffsets", + enabled: !0, + phase: "read", + fn: function (t) { + var e = t.state, + i = t.name; + e.modifiersData[i] = xe({ + reference: e.rects.reference, + element: e.rects.popper, + strategy: "absolute", + placement: e.placement, + }); + }, + data: {}, + }, + je = { + name: "preventOverflow", + enabled: !0, + phase: "main", + fn: function (t) { + var e = t.state, + i = t.options, + n = t.name, + s = i.mainAxis, + o = void 0 === s || s, + r = i.altAxis, + a = void 0 !== r && r, + l = i.boundary, + c = i.rootBoundary, + h = i.altBoundary, + d = i.padding, + u = i.tether, + f = void 0 === u || u, + p = i.tetherOffset, + m = void 0 === p ? 0 : p, + g = ke(e, { + boundary: l, + rootBoundary: c, + padding: d, + altBoundary: h, + }), + _ = qt(e.placement), + b = he(e.placement), + v = !b, + y = oe(_), + w = "x" === y ? "y" : "x", + A = e.modifiersData.popperOffsets, + E = e.rects.reference, + T = e.rects.popper, + C = + "function" == typeof m + ? m(Object.assign({}, e.rects, { placement: e.placement })) + : m, + O = + "number" == typeof C + ? { mainAxis: C, altAxis: C } + : Object.assign({ mainAxis: 0, altAxis: 0 }, C), + x = e.modifiersData.offset + ? e.modifiersData.offset[e.placement] + : null, + k = { x: 0, y: 0 }; + if (A) { + if (o) { + var L, + S = "y" === y ? pt : _t, + D = "y" === y ? mt : gt, + I = "y" === y ? "height" : "width", + N = A[y], + P = N + g[S], + M = N - g[D], + j = f ? -T[I] / 2 : 0, + F = b === yt ? E[I] : T[I], + H = b === yt ? -T[I] : -E[I], + $ = e.elements.arrow, + W = f && $ ? Gt($) : { width: 0, height: 0 }, + B = e.modifiersData["arrow#persistent"] + ? e.modifiersData["arrow#persistent"].padding + : { top: 0, right: 0, bottom: 0, left: 0 }, + z = B[S], + R = B[D], + q = re(0, E[I], W[I]), + V = v + ? E[I] / 2 - j - q - z - O.mainAxis + : F - q - z - O.mainAxis, + K = v + ? -E[I] / 2 + j + q + R + O.mainAxis + : H + q + R + O.mainAxis, + Q = e.elements.arrow && se(e.elements.arrow), + X = Q ? ("y" === y ? Q.clientTop || 0 : Q.clientLeft || 0) : 0, + Y = null != (L = null == x ? void 0 : x[y]) ? L : 0, + U = N + K - Y, + G = re(f ? Kt(P, N + V - Y - X) : P, N, f ? Vt(M, U) : M); + (A[y] = G), (k[y] = G - N); + } + if (a) { + var J, + Z = "x" === y ? pt : _t, + tt = "x" === y ? mt : gt, + et = A[w], + it = "y" === w ? "height" : "width", + nt = et + g[Z], + st = et - g[tt], + ot = -1 !== [pt, _t].indexOf(_), + rt = null != (J = null == x ? void 0 : x[w]) ? J : 0, + at = ot ? nt : et - E[it] - T[it] - rt + O.altAxis, + lt = ot ? et + E[it] + T[it] - rt - O.altAxis : st, + ct = + f && ot + ? (function (t, e, i) { + var n = re(t, e, i); + return n > i ? i : n; + })(at, et, lt) + : re(f ? at : nt, et, f ? lt : st); + (A[w] = ct), (k[w] = ct - et); + } + e.modifiersData[n] = k; + } + }, + requiresIfExists: ["offset"], + }; + function Fe(t, e, i) { + void 0 === i && (i = !1); + var n, + s, + o = Bt(e), + r = + Bt(e) && + (function (t) { + var e = t.getBoundingClientRect(), + i = Qt(e.width) / t.offsetWidth || 1, + n = Qt(e.height) / t.offsetHeight || 1; + return 1 !== i || 1 !== n; + })(e), + a = ee(e), + l = Ut(t, r, i), + c = { scrollLeft: 0, scrollTop: 0 }, + h = { x: 0, y: 0 }; + return ( + (o || (!o && !i)) && + (("body" !== Ht(e) || Ae(a)) && + (c = + (n = e) !== $t(n) && Bt(n) + ? { scrollLeft: (s = n).scrollLeft, scrollTop: s.scrollTop } + : ye(n)), + Bt(e) + ? (((h = Ut(e, !0)).x += e.clientLeft), (h.y += e.clientTop)) + : a && (h.x = we(a))), + { + x: l.left + c.scrollLeft - h.x, + y: l.top + c.scrollTop - h.y, + width: l.width, + height: l.height, + } + ); + } + function He(t) { + var e = new Map(), + i = new Set(), + n = []; + function s(t) { + i.add(t.name), + [] + .concat(t.requires || [], t.requiresIfExists || []) + .forEach(function (t) { + if (!i.has(t)) { + var n = e.get(t); + n && s(n); + } + }), + n.push(t); + } + return ( + t.forEach(function (t) { + e.set(t.name, t); + }), + t.forEach(function (t) { + i.has(t.name) || s(t); + }), + n + ); + } + var $e = { placement: "bottom", modifiers: [], strategy: "absolute" }; + function We() { + for (var t = arguments.length, e = new Array(t), i = 0; i < t; i++) + e[i] = arguments[i]; + return !e.some(function (t) { + return !(t && "function" == typeof t.getBoundingClientRect); + }); + } + function Be(t) { + void 0 === t && (t = {}); + var e = t, + i = e.defaultModifiers, + n = void 0 === i ? [] : i, + s = e.defaultOptions, + o = void 0 === s ? $e : s; + return function (t, e, i) { + void 0 === i && (i = o); + var s, + r, + a = { + placement: "bottom", + orderedModifiers: [], + options: Object.assign({}, $e, o), + modifiersData: {}, + elements: { reference: t, popper: e }, + attributes: {}, + styles: {}, + }, + l = [], + c = !1, + h = { + state: a, + setOptions: function (i) { + var s = "function" == typeof i ? i(a.options) : i; + d(), + (a.options = Object.assign({}, o, a.options, s)), + (a.scrollParents = { + reference: Wt(t) + ? Te(t) + : t.contextElement + ? Te(t.contextElement) + : [], + popper: Te(e), + }); + var r, + c, + u = (function (t) { + var e = He(t); + return Ft.reduce(function (t, i) { + return t.concat( + e.filter(function (t) { + return t.phase === i; + }) + ); + }, []); + })( + ((r = [].concat(n, a.options.modifiers)), + (c = r.reduce(function (t, e) { + var i = t[e.name]; + return ( + (t[e.name] = i + ? Object.assign({}, i, e, { + options: Object.assign({}, i.options, e.options), + data: Object.assign({}, i.data, e.data), + }) + : e), + t + ); + }, {})), + Object.keys(c).map(function (t) { + return c[t]; + })) + ); + return ( + (a.orderedModifiers = u.filter(function (t) { + return t.enabled; + })), + a.orderedModifiers.forEach(function (t) { + var e = t.name, + i = t.options, + n = void 0 === i ? {} : i, + s = t.effect; + if ("function" == typeof s) { + var o = s({ state: a, name: e, instance: h, options: n }); + l.push(o || function () {}); + } + }), + h.update() + ); + }, + forceUpdate: function () { + if (!c) { + var t = a.elements, + e = t.reference, + i = t.popper; + if (We(e, i)) { + (a.rects = { + reference: Fe(e, se(i), "fixed" === a.options.strategy), + popper: Gt(i), + }), + (a.reset = !1), + (a.placement = a.options.placement), + a.orderedModifiers.forEach(function (t) { + return (a.modifiersData[t.name] = Object.assign( + {}, + t.data + )); + }); + for (var n = 0; n < a.orderedModifiers.length; n++) + if (!0 !== a.reset) { + var s = a.orderedModifiers[n], + o = s.fn, + r = s.options, + l = void 0 === r ? {} : r, + d = s.name; + "function" == typeof o && + (a = + o({ state: a, options: l, name: d, instance: h }) || a); + } else (a.reset = !1), (n = -1); + } + } + }, + update: + ((s = function () { + return new Promise(function (t) { + h.forceUpdate(), t(a); + }); + }), + function () { + return ( + r || + (r = new Promise(function (t) { + Promise.resolve().then(function () { + (r = void 0), t(s()); + }); + })), + r + ); + }), + destroy: function () { + d(), (c = !0); + }, + }; + if (!We(t, e)) return h; + function d() { + l.forEach(function (t) { + return t(); + }), + (l = []); + } + return ( + h.setOptions(i).then(function (t) { + !c && i.onFirstUpdate && i.onFirstUpdate(t); + }), + h + ); + }; + } + var ze = Be(), + Re = Be({ defaultModifiers: [me, Me, fe, Rt] }), + qe = Be({ defaultModifiers: [me, Me, fe, Rt, Pe, Se, je, ce, Ne] }); + const Ve = Object.freeze( + Object.defineProperty( + { + __proto__: null, + afterMain: Nt, + afterRead: St, + afterWrite: jt, + applyStyles: Rt, + arrow: ce, + auto: bt, + basePlacements: vt, + beforeMain: Dt, + beforeRead: kt, + beforeWrite: Pt, + bottom: mt, + clippingParents: At, + computeStyles: fe, + createPopper: qe, + createPopperBase: ze, + createPopperLite: Re, + detectOverflow: ke, + end: wt, + eventListeners: me, + flip: Se, + hide: Ne, + left: _t, + main: It, + modifierPhases: Ft, + offset: Pe, + placements: xt, + popper: Tt, + popperGenerator: Be, + popperOffsets: Me, + preventOverflow: je, + read: Lt, + reference: Ct, + right: gt, + start: yt, + top: pt, + variationPlacements: Ot, + viewport: Et, + write: Mt, + }, + Symbol.toStringTag, + { value: "Module" } + ) + ), + Ke = "dropdown", + Qe = "ArrowUp", + Xe = "ArrowDown", + Ye = "click.bs.dropdown.data-api", + Ue = "keydown.bs.dropdown.data-api", + Ge = "show", + Je = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)', + Ze = `${Je}.show`, + ti = ".dropdown-menu", + ei = p() ? "top-end" : "top-start", + ii = p() ? "top-start" : "top-end", + ni = p() ? "bottom-end" : "bottom-start", + si = p() ? "bottom-start" : "bottom-end", + oi = p() ? "left-start" : "right-start", + ri = p() ? "right-start" : "left-start", + ai = { autoClose: !0, boundary: "clippingParents", display: "dynamic", @@ -1131,7 +2403,7 @@ popperConfig: null, reference: "toggle", }, - ge = { + li = { autoClose: "(boolean|string)", boundary: "(string|element)", display: "string", @@ -1139,49 +2411,49 @@ popperConfig: "(null|object|function)", reference: "(string|element|object)", }; - class fe extends W { + class ci extends W { constructor(t, e) { super(t, e), (this._popper = null), (this._parent = this._element.parentNode), (this._menu = - K.next(this._element, re)[0] || - K.prev(this._element, re)[0] || - K.findOne(re, this._parent)), + z.next(this._element, ti)[0] || + z.prev(this._element, ti)[0] || + z.findOne(ti, this._parent)), (this._inNavbar = this._detectNavbar()); } static get Default() { - return _e; + return ai; } static get DefaultType() { - return ge; + return li; } static get NAME() { - return Kt; + return Ke; } toggle() { return this._isShown() ? this.hide() : this.show(); } show() { - if (d(this._element) || this._isShown()) return; + if (l(this._element) || this._isShown()) return; const t = { relatedTarget: this._element }; - if (!j.trigger(this._element, Jt, t).defaultPrevented) { + if (!P.trigger(this._element, "show.bs.dropdown", t).defaultPrevented) { if ( (this._createPopper(), "ontouchstart" in document.documentElement && !this._parent.closest(".navbar-nav")) ) for (const t of [].concat(...document.body.children)) - j.on(t, "mouseover", _); + P.on(t, "mouseover", h); this._element.focus(), this._element.setAttribute("aria-expanded", !0), - this._menu.classList.add(se), - this._element.classList.add(se), - j.trigger(this._element, Zt, t); + this._menu.classList.add(Ge), + this._element.classList.add(Ge), + P.trigger(this._element, "shown.bs.dropdown", t); } } hide() { - if (d(this._element) || !this._isShown()) return; + if (l(this._element) || !this._isShown()) return; const t = { relatedTarget: this._element }; this._completeHide(t); } @@ -1193,57 +2465,57 @@ this._popper && this._popper.update(); } _completeHide(t) { - if (!j.trigger(this._element, Ut, t).defaultPrevented) { + if (!P.trigger(this._element, "hide.bs.dropdown", t).defaultPrevented) { if ("ontouchstart" in document.documentElement) for (const t of [].concat(...document.body.children)) - j.off(t, "mouseover", _); + P.off(t, "mouseover", h); this._popper && this._popper.destroy(), - this._menu.classList.remove(se), - this._element.classList.remove(se), + this._menu.classList.remove(Ge), + this._element.classList.remove(Ge), this._element.setAttribute("aria-expanded", "false"), - B.removeDataAttribute(this._menu, "popper"), - j.trigger(this._element, Gt, t); + H.removeDataAttribute(this._menu, "popper"), + P.trigger(this._element, "hidden.bs.dropdown", t); } } _getConfig(t) { if ( "object" == typeof (t = super._getConfig(t)).reference && - !l(t.reference) && + !o(t.reference) && "function" != typeof t.reference.getBoundingClientRect ) throw new TypeError( - `${Kt.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.` + `${Ke.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.` ); return t; } _createPopper() { - if (void 0 === i) + if (void 0 === Ve) throw new TypeError( "Bootstrap's dropdowns require Popper (https://popper.js.org)" ); let t = this._element; "parent" === this._config.reference ? (t = this._parent) - : l(this._config.reference) - ? (t = c(this._config.reference)) + : o(this._config.reference) + ? (t = r(this._config.reference)) : "object" == typeof this._config.reference && (t = this._config.reference); const e = this._getPopperConfig(); - this._popper = i.createPopper(t, this._menu, e); + this._popper = qe(t, this._menu, e); } _isShown() { - return this._menu.classList.contains(se); + return this._menu.classList.contains(Ge); } _getPlacement() { const t = this._parent; - if (t.classList.contains("dropend")) return de; - if (t.classList.contains("dropstart")) return ue; + if (t.classList.contains("dropend")) return oi; + if (t.classList.contains("dropstart")) return ri; if (t.classList.contains("dropup-center")) return "top"; if (t.classList.contains("dropdown-center")) return "bottom"; const e = "end" === getComputedStyle(this._menu).getPropertyValue("--bs-position").trim(); - return t.classList.contains("dropup") ? (e ? le : ae) : e ? he : ce; + return t.classList.contains("dropup") ? (e ? ii : ei) : e ? si : ni; } _detectNavbar() { return null !== this._element.closest(".navbar"); @@ -1269,21 +2541,23 @@ }; return ( (this._inNavbar || "static" === this._config.display) && - (B.setDataAttribute(this._menu, "popper", "static"), + (H.setDataAttribute(this._menu, "popper", "static"), (t.modifiers = [{ name: "applyStyles", enabled: !1 }])), - { ...t, ...v(this._config.popperConfig, [t]) } + { ...t, ...g(this._config.popperConfig, [t]) } ); } _selectMenuItem({ key: t, target: e }) { - const i = K.find( - ".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)", - this._menu - ).filter((t) => h(t)); - i.length && w(i, e, t === Yt, !i.includes(e)).focus(); + const i = z + .find( + ".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)", + this._menu + ) + .filter((t) => a(t)); + i.length && b(i, e, t === Xe, !i.includes(e)).focus(); } static jQueryInterface(t) { return this.each(function () { - const e = fe.getOrCreateInstance(this, t); + const e = ci.getOrCreateInstance(this, t); if ("string" == typeof t) { if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`); e[t](); @@ -1292,16 +2566,16 @@ } static clearMenus(t) { if (2 === t.button || ("keyup" === t.type && "Tab" !== t.key)) return; - const e = K.find(oe); + const e = z.find(Ze); for (const i of e) { - const e = fe.getInstance(i); + const e = ci.getInstance(i); if (!e || !1 === e._config.autoClose) continue; - const s = t.composedPath(), - n = s.includes(e._menu); + const n = t.composedPath(), + s = n.includes(e._menu); if ( - s.includes(e._element) || - ("inside" === e._config.autoClose && !n) || - ("outside" === e._config.autoClose && n) + n.includes(e._element) || + ("inside" === e._config.autoClose && !s) || + ("outside" === e._config.autoClose && s) ) continue; if ( @@ -1317,46 +2591,45 @@ static dataApiKeydownHandler(t) { const e = /input|textarea/i.test(t.target.tagName), i = "Escape" === t.key, - s = [Xt, Yt].includes(t.key); - if (!s && !i) return; + n = [Qe, Xe].includes(t.key); + if (!n && !i) return; if (e && !i) return; t.preventDefault(); - const n = this.matches(ne) + const s = this.matches(Je) ? this - : K.prev(this, ne)[0] || - K.next(this, ne)[0] || - K.findOne(ne, t.delegateTarget.parentNode), - o = fe.getOrCreateInstance(n); - if (s) return t.stopPropagation(), o.show(), void o._selectMenuItem(t); - o._isShown() && (t.stopPropagation(), o.hide(), n.focus()); - } - } - j.on(document, ee, ne, fe.dataApiKeydownHandler), - j.on(document, ee, re, fe.dataApiKeydownHandler), - j.on(document, te, fe.clearMenus), - j.on(document, ie, fe.clearMenus), - j.on(document, te, ne, function (t) { - t.preventDefault(), fe.getOrCreateInstance(this).toggle(); + : z.prev(this, Je)[0] || + z.next(this, Je)[0] || + z.findOne(Je, t.delegateTarget.parentNode), + o = ci.getOrCreateInstance(s); + if (n) return t.stopPropagation(), o.show(), void o._selectMenuItem(t); + o._isShown() && (t.stopPropagation(), o.hide(), s.focus()); + } + } + P.on(document, Ue, Je, ci.dataApiKeydownHandler), + P.on(document, Ue, ti, ci.dataApiKeydownHandler), + P.on(document, Ye, ci.clearMenus), + P.on(document, "keyup.bs.dropdown.data-api", ci.clearMenus), + P.on(document, Ye, Je, function (t) { + t.preventDefault(), ci.getOrCreateInstance(this).toggle(); }), - b(fe); - const me = "backdrop", - pe = "show", - be = `mousedown.bs.${me}`, - ve = { + m(ci); + const hi = "show", + di = "mousedown.bs.backdrop", + ui = { className: "modal-backdrop", clickCallback: null, isAnimated: !1, isVisible: !0, rootElement: "body", }, - ye = { + fi = { className: "string", clickCallback: "(function|null)", isAnimated: "boolean", isVisible: "boolean", rootElement: "(element|string)", }; - class we extends q { + class pi extends $ { constructor(t) { super(), (this._config = this._getConfig(t)), @@ -1364,35 +2637,35 @@ (this._element = null); } static get Default() { - return ve; + return ui; } static get DefaultType() { - return ye; + return fi; } static get NAME() { - return me; + return "backdrop"; } show(t) { - if (!this._config.isVisible) return void v(t); + if (!this._config.isVisible) return void g(t); this._append(); const e = this._getElement(); - this._config.isAnimated && g(e), - e.classList.add(pe), + this._config.isAnimated && d(e), + e.classList.add(hi), this._emulateAnimation(() => { - v(t); + g(t); }); } hide(t) { this._config.isVisible - ? (this._getElement().classList.remove(pe), + ? (this._getElement().classList.remove(hi), this._emulateAnimation(() => { - this.dispose(), v(t); + this.dispose(), g(t); })) - : v(t); + : g(t); } dispose() { this._isAppended && - (j.off(this._element, be), + (P.off(this._element, di), this._element.remove(), (this._isAppended = !1)); } @@ -1406,28 +2679,26 @@ return this._element; } _configAfterMerge(t) { - return (t.rootElement = c(t.rootElement)), t; + return (t.rootElement = r(t.rootElement)), t; } _append() { if (this._isAppended) return; const t = this._getElement(); this._config.rootElement.append(t), - j.on(t, be, () => { - v(this._config.clickCallback); + P.on(t, di, () => { + g(this._config.clickCallback); }), (this._isAppended = !0); } _emulateAnimation(t) { - y(t, this._getElement(), this._config.isAnimated); + _(t, this._getElement(), this._config.isAnimated); } } - const Ae = ".bs.focustrap", - Ee = `focusin${Ae}`, - Ce = `keydown.tab${Ae}`, - Te = "backward", - ke = { autofocus: !0, trapElement: null }, - $e = { autofocus: "boolean", trapElement: "element" }; - class Se extends q { + const mi = ".bs.focustrap", + gi = "backward", + _i = { autofocus: !0, trapElement: null }, + bi = { autofocus: "boolean", trapElement: "element" }; + class vi extends $ { constructor(t) { super(), (this._config = this._getConfig(t)), @@ -1435,10 +2706,10 @@ (this._lastTabNavDirection = null); } static get Default() { - return ke; + return _i; } static get DefaultType() { - return $e; + return bi; } static get NAME() { return "focustrap"; @@ -1446,35 +2717,37 @@ activate() { this._isActive || (this._config.autofocus && this._config.trapElement.focus(), - j.off(document, Ae), - j.on(document, Ee, (t) => this._handleFocusin(t)), - j.on(document, Ce, (t) => this._handleKeydown(t)), + P.off(document, mi), + P.on(document, "focusin.bs.focustrap", (t) => this._handleFocusin(t)), + P.on(document, "keydown.tab.bs.focustrap", (t) => + this._handleKeydown(t) + ), (this._isActive = !0)); } deactivate() { - this._isActive && ((this._isActive = !1), j.off(document, Ae)); + this._isActive && ((this._isActive = !1), P.off(document, mi)); } _handleFocusin(t) { const { trapElement: e } = this._config; if (t.target === document || t.target === e || e.contains(t.target)) return; - const i = K.focusableChildren(e); + const i = z.focusableChildren(e); 0 === i.length ? e.focus() - : this._lastTabNavDirection === Te + : this._lastTabNavDirection === gi ? i[i.length - 1].focus() : i[0].focus(); } _handleKeydown(t) { "Tab" === t.key && - (this._lastTabNavDirection = t.shiftKey ? Te : "forward"); + (this._lastTabNavDirection = t.shiftKey ? gi : "forward"); } } - const Le = ".fixed-top, .fixed-bottom, .is-fixed, .sticky-top", - Oe = ".sticky-top", - Ie = "padding-right", - De = "margin-right"; - class Ne { + const yi = ".fixed-top, .fixed-bottom, .is-fixed, .sticky-top", + wi = ".sticky-top", + Ai = "padding-right", + Ei = "margin-right"; + class Ti { constructor() { this._element = document.body; } @@ -1485,15 +2758,15 @@ hide() { const t = this.getWidth(); this._disableOverFlow(), - this._setElementAttributes(this._element, Ie, (e) => e + t), - this._setElementAttributes(Le, Ie, (e) => e + t), - this._setElementAttributes(Oe, De, (e) => e - t); + this._setElementAttributes(this._element, Ai, (e) => e + t), + this._setElementAttributes(yi, Ai, (e) => e + t), + this._setElementAttributes(wi, Ei, (e) => e - t); } reset() { this._resetElementAttributes(this._element, "overflow"), - this._resetElementAttributes(this._element, Ie), - this._resetElementAttributes(Le, Ie), - this._resetElementAttributes(Oe, De); + this._resetElementAttributes(this._element, Ai), + this._resetElementAttributes(yi, Ai), + this._resetElementAttributes(wi, Ei); } isOverflowing() { return this.getWidth() > 0; @@ -1503,68 +2776,60 @@ (this._element.style.overflow = "hidden"); } _setElementAttributes(t, e, i) { - const s = this.getWidth(); + const n = this.getWidth(); this._applyManipulationCallback(t, (t) => { - if (t !== this._element && window.innerWidth > t.clientWidth + s) + if (t !== this._element && window.innerWidth > t.clientWidth + n) return; this._saveInitialAttribute(t, e); - const n = window.getComputedStyle(t).getPropertyValue(e); - t.style.setProperty(e, `${i(Number.parseFloat(n))}px`); + const s = window.getComputedStyle(t).getPropertyValue(e); + t.style.setProperty(e, `${i(Number.parseFloat(s))}px`); }); } _saveInitialAttribute(t, e) { const i = t.style.getPropertyValue(e); - i && B.setDataAttribute(t, e, i); + i && H.setDataAttribute(t, e, i); } _resetElementAttributes(t, e) { this._applyManipulationCallback(t, (t) => { - const i = B.getDataAttribute(t, e); + const i = H.getDataAttribute(t, e); null !== i - ? (B.removeDataAttribute(t, e), t.style.setProperty(e, i)) + ? (H.removeDataAttribute(t, e), t.style.setProperty(e, i)) : t.style.removeProperty(e); }); } _applyManipulationCallback(t, e) { - if (l(t)) e(t); - else for (const i of K.find(t, this._element)) e(i); - } - } - const Pe = ".bs.modal", - xe = `hide${Pe}`, - Me = `hidePrevented${Pe}`, - je = `hidden${Pe}`, - Fe = `show${Pe}`, - ze = `shown${Pe}`, - He = `resize${Pe}`, - Be = `click.dismiss${Pe}`, - qe = `mousedown.dismiss${Pe}`, - We = `keydown.dismiss${Pe}`, - Re = `click${Pe}.data-api`, - Ke = "modal-open", - Ve = "show", - Qe = "modal-static", - Xe = { backdrop: !0, focus: !0, keyboard: !0 }, - Ye = { + if (o(t)) e(t); + else for (const i of z.find(t, this._element)) e(i); + } + } + const Ci = ".bs.modal", + Oi = "hidden.bs.modal", + xi = "show.bs.modal", + ki = "modal-open", + Li = "show", + Si = "modal-static", + Di = { backdrop: !0, focus: !0, keyboard: !0 }, + Ii = { backdrop: "(boolean|string)", focus: "boolean", keyboard: "boolean", }; - class Ue extends W { + class Ni extends W { constructor(t, e) { super(t, e), - (this._dialog = K.findOne(".modal-dialog", this._element)), + (this._dialog = z.findOne(".modal-dialog", this._element)), (this._backdrop = this._initializeBackDrop()), (this._focustrap = this._initializeFocusTrap()), (this._isShown = !1), (this._isTransitioning = !1), - (this._scrollBar = new Ne()), + (this._scrollBar = new Ti()), this._addEventListeners(); } static get Default() { - return Xe; + return Di; } static get DefaultType() { - return Ye; + return Ii; } static get NAME() { return "modal"; @@ -1575,22 +2840,22 @@ show(t) { this._isShown || this._isTransitioning || - j.trigger(this._element, Fe, { relatedTarget: t }).defaultPrevented || + P.trigger(this._element, xi, { relatedTarget: t }).defaultPrevented || ((this._isShown = !0), (this._isTransitioning = !0), this._scrollBar.hide(), - document.body.classList.add(Ke), + document.body.classList.add(ki), this._adjustDialog(), this._backdrop.show(() => this._showElement(t))); } hide() { this._isShown && !this._isTransitioning && - (j.trigger(this._element, xe).defaultPrevented || + (P.trigger(this._element, "hide.bs.modal").defaultPrevented || ((this._isShown = !1), (this._isTransitioning = !0), this._focustrap.deactivate(), - this._element.classList.remove(Ve), + this._element.classList.remove(Li), this._queueCallback( () => this._hideModal(), this._element, @@ -1598,8 +2863,8 @@ ))); } dispose() { - j.off(window, Pe), - j.off(this._dialog, Pe), + P.off(window, Ci), + P.off(this._dialog, Ci), this._backdrop.dispose(), this._focustrap.deactivate(), super.dispose(); @@ -1608,13 +2873,13 @@ this._adjustDialog(); } _initializeBackDrop() { - return new we({ + return new pi({ isVisible: Boolean(this._config.backdrop), isAnimated: this._isAnimated(), }); } _initializeFocusTrap() { - return new Se({ trapElement: this._element }); + return new vi({ trapElement: this._element }); } _showElement(t) { document.body.contains(this._element) || @@ -1624,32 +2889,32 @@ this._element.setAttribute("aria-modal", !0), this._element.setAttribute("role", "dialog"), (this._element.scrollTop = 0); - const e = K.findOne(".modal-body", this._dialog); + const e = z.findOne(".modal-body", this._dialog); e && (e.scrollTop = 0), - g(this._element), - this._element.classList.add(Ve), + d(this._element), + this._element.classList.add(Li), this._queueCallback( () => { this._config.focus && this._focustrap.activate(), (this._isTransitioning = !1), - j.trigger(this._element, ze, { relatedTarget: t }); + P.trigger(this._element, "shown.bs.modal", { relatedTarget: t }); }, this._dialog, this._isAnimated() ); } _addEventListeners() { - j.on(this._element, We, (t) => { + P.on(this._element, "keydown.dismiss.bs.modal", (t) => { "Escape" === t.key && (this._config.keyboard ? this.hide() : this._triggerBackdropTransition()); }), - j.on(window, He, () => { + P.on(window, "resize.bs.modal", () => { this._isShown && !this._isTransitioning && this._adjustDialog(); }), - j.on(this._element, qe, (t) => { - j.one(this._element, Be, (e) => { + P.on(this._element, "mousedown.dismiss.bs.modal", (t) => { + P.one(this._element, "click.dismiss.bs.modal", (e) => { this._element === t.target && this._element === e.target && ("static" !== this._config.backdrop @@ -1665,26 +2930,27 @@ this._element.removeAttribute("role"), (this._isTransitioning = !1), this._backdrop.hide(() => { - document.body.classList.remove(Ke), + document.body.classList.remove(ki), this._resetAdjustments(), this._scrollBar.reset(), - j.trigger(this._element, je); + P.trigger(this._element, Oi); }); } _isAnimated() { return this._element.classList.contains("fade"); } _triggerBackdropTransition() { - if (j.trigger(this._element, Me).defaultPrevented) return; + if (P.trigger(this._element, "hidePrevented.bs.modal").defaultPrevented) + return; const t = this._element.scrollHeight > document.documentElement.clientHeight, e = this._element.style.overflowY; "hidden" === e || - this._element.classList.contains(Qe) || + this._element.classList.contains(Si) || (t || (this._element.style.overflowY = "hidden"), - this._element.classList.add(Qe), + this._element.classList.add(Si), this._queueCallback(() => { - this._element.classList.remove(Qe), + this._element.classList.remove(Si), this._queueCallback(() => { this._element.style.overflowY = e; }, this._dialog); @@ -1711,7 +2977,7 @@ } static jQueryInterface(t, e) { return this.each(function () { - const i = Ue.getOrCreateInstance(this, t); + const i = Ni.getOrCreateInstance(this, t); if ("string" == typeof t) { if (void 0 === i[t]) throw new TypeError(`No method named "${t}"`); i[t](e); @@ -1719,42 +2985,38 @@ }); } } - j.on(document, Re, '[data-bs-toggle="modal"]', function (t) { - const e = K.getElementFromSelector(this); - ["A", "AREA"].includes(this.tagName) && t.preventDefault(), - j.one(e, Fe, (t) => { - t.defaultPrevented || - j.one(e, je, () => { - h(this) && this.focus(); - }); - }); - const i = K.findOne(".modal.show"); - i && Ue.getInstance(i).hide(), Ue.getOrCreateInstance(e).toggle(this); - }), - V(Ue), - b(Ue); - const Ge = ".bs.offcanvas", - Je = ".data-api", - Ze = `load${Ge}${Je}`, - ti = "show", - ei = "showing", - ii = "hiding", - si = ".offcanvas.show", - ni = `show${Ge}`, - oi = `shown${Ge}`, - ri = `hide${Ge}`, - ai = `hidePrevented${Ge}`, - li = `hidden${Ge}`, - ci = `resize${Ge}`, - hi = `click${Ge}${Je}`, - di = `keydown.dismiss${Ge}`, - ui = { backdrop: !0, keyboard: !0, scroll: !1 }, - _i = { + P.on( + document, + "click.bs.modal.data-api", + '[data-bs-toggle="modal"]', + function (t) { + const e = z.getElementFromSelector(this); + ["A", "AREA"].includes(this.tagName) && t.preventDefault(), + P.one(e, xi, (t) => { + t.defaultPrevented || + P.one(e, Oi, () => { + a(this) && this.focus(); + }); + }); + const i = z.findOne(".modal.show"); + i && Ni.getInstance(i).hide(), Ni.getOrCreateInstance(e).toggle(this); + } + ), + R(Ni), + m(Ni); + const Pi = "show", + Mi = "showing", + ji = "hiding", + Fi = ".offcanvas.show", + Hi = "hidePrevented.bs.offcanvas", + $i = "hidden.bs.offcanvas", + Wi = { backdrop: !0, keyboard: !0, scroll: !1 }, + Bi = { backdrop: "(boolean|string)", keyboard: "boolean", scroll: "boolean", }; - class gi extends W { + class zi extends W { constructor(t, e) { super(t, e), (this._isShown = !1), @@ -1763,10 +3025,10 @@ this._addEventListeners(); } static get Default() { - return ui; + return Wi; } static get DefaultType() { - return _i; + return Bi; } static get NAME() { return "offcanvas"; @@ -1776,20 +3038,23 @@ } show(t) { this._isShown || - j.trigger(this._element, ni, { relatedTarget: t }).defaultPrevented || + P.trigger(this._element, "show.bs.offcanvas", { relatedTarget: t }) + .defaultPrevented || ((this._isShown = !0), this._backdrop.show(), - this._config.scroll || new Ne().hide(), + this._config.scroll || new Ti().hide(), this._element.setAttribute("aria-modal", !0), this._element.setAttribute("role", "dialog"), - this._element.classList.add(ei), + this._element.classList.add(Mi), this._queueCallback( () => { (this._config.scroll && !this._config.backdrop) || this._focustrap.activate(), - this._element.classList.add(ti), - this._element.classList.remove(ei), - j.trigger(this._element, oi, { relatedTarget: t }); + this._element.classList.add(Pi), + this._element.classList.remove(Mi), + P.trigger(this._element, "shown.bs.offcanvas", { + relatedTarget: t, + }); }, this._element, !0 @@ -1797,19 +3062,19 @@ } hide() { this._isShown && - (j.trigger(this._element, ri).defaultPrevented || + (P.trigger(this._element, "hide.bs.offcanvas").defaultPrevented || (this._focustrap.deactivate(), this._element.blur(), (this._isShown = !1), - this._element.classList.add(ii), + this._element.classList.add(ji), this._backdrop.hide(), this._queueCallback( () => { - this._element.classList.remove(ti, ii), + this._element.classList.remove(Pi, ji), this._element.removeAttribute("aria-modal"), this._element.removeAttribute("role"), - this._config.scroll || new Ne().reset(), - j.trigger(this._element, li); + this._config.scroll || new Ti().reset(), + P.trigger(this._element, $i); }, this._element, !0 @@ -1820,7 +3085,7 @@ } _initializeBackDrop() { const t = Boolean(this._config.backdrop); - return new we({ + return new pi({ className: "offcanvas-backdrop", isVisible: t, isAnimated: !0, @@ -1829,23 +3094,23 @@ ? () => { "static" !== this._config.backdrop ? this.hide() - : j.trigger(this._element, ai); + : P.trigger(this._element, Hi); } : null, }); } _initializeFocusTrap() { - return new Se({ trapElement: this._element }); + return new vi({ trapElement: this._element }); } _addEventListeners() { - j.on(this._element, di, (t) => { + P.on(this._element, "keydown.dismiss.bs.offcanvas", (t) => { "Escape" === t.key && - (this._config.keyboard ? this.hide() : j.trigger(this._element, ai)); + (this._config.keyboard ? this.hide() : P.trigger(this._element, Hi)); }); } static jQueryInterface(t) { return this.each(function () { - const e = gi.getOrCreateInstance(this, t); + const e = zi.getOrCreateInstance(this, t); if ("string" == typeof t) { if (void 0 === e[t] || t.startsWith("_") || "constructor" === t) throw new TypeError(`No method named "${t}"`); @@ -1854,28 +3119,33 @@ }); } } - j.on(document, hi, '[data-bs-toggle="offcanvas"]', function (t) { - const e = K.getElementFromSelector(this); - if ((["A", "AREA"].includes(this.tagName) && t.preventDefault(), d(this))) - return; - j.one(e, li, () => { - h(this) && this.focus(); - }); - const i = K.findOne(si); - i && i !== e && gi.getInstance(i).hide(), - gi.getOrCreateInstance(e).toggle(this); - }), - j.on(window, Ze, () => { - for (const t of K.find(si)) gi.getOrCreateInstance(t).show(); + P.on( + document, + "click.bs.offcanvas.data-api", + '[data-bs-toggle="offcanvas"]', + function (t) { + const e = z.getElementFromSelector(this); + if ((["A", "AREA"].includes(this.tagName) && t.preventDefault(), l(this))) + return; + P.one(e, $i, () => { + a(this) && this.focus(); + }); + const i = z.findOne(Fi); + i && i !== e && zi.getInstance(i).hide(), + zi.getOrCreateInstance(e).toggle(this); + } + ), + P.on(window, "load.bs.offcanvas.data-api", () => { + for (const t of z.find(Fi)) zi.getOrCreateInstance(t).show(); }), - j.on(window, ci, () => { - for (const t of K.find("[aria-modal][class*=show][class*=offcanvas-]")) + P.on(window, "resize.bs.offcanvas", () => { + for (const t of z.find("[aria-modal][class*=show][class*=offcanvas-]")) "fixed" !== getComputedStyle(t).position && - gi.getOrCreateInstance(t).hide(); + zi.getOrCreateInstance(t).hide(); }), - V(gi), - b(gi); - const fi = { + R(zi), + m(zi); + const Ri = { "*": ["class", "dir", "id", "lang", "role", /^aria-[\w-]*$/i], a: ["target", "href", "title", "rel"], area: [], @@ -1883,10 +3153,7 @@ br: [], col: [], code: [], - dd: [], div: [], - dl: [], - dt: [], em: [], hr: [], h1: [], @@ -1910,7 +3177,7 @@ u: [], ul: [], }, - mi = new Set([ + qi = new Set([ "background", "cite", "href", @@ -1920,15 +3187,15 @@ "src", "xlink:href", ]), - pi = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i, - bi = (t, e) => { + Vi = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i, + Ki = (t, e) => { const i = t.nodeName.toLowerCase(); return e.includes(i) - ? !mi.has(i) || Boolean(pi.test(t.nodeValue)) + ? !qi.has(i) || Boolean(Vi.test(t.nodeValue)) : e.filter((t) => t instanceof RegExp).some((t) => t.test(i)); }, - vi = { - allowList: fi, + Qi = { + allowList: Ri, content: {}, extraClass: "", html: !1, @@ -1936,7 +3203,7 @@ sanitizeFn: null, template: "
", }, - yi = { + Xi = { allowList: "object", content: "object", extraClass: "(string|function)", @@ -1945,19 +3212,19 @@ sanitizeFn: "(null|function)", template: "string", }, - wi = { + Yi = { entry: "(string|element|function|null)", selector: "(string|element)", }; - class Ai extends q { + class Ui extends $ { constructor(t) { super(), (this._config = this._getConfig(t)); } static get Default() { - return vi; + return Qi; } static get DefaultType() { - return yi; + return Xi; } static get NAME() { return "TemplateFactory"; @@ -1991,64 +3258,64 @@ } _checkContent(t) { for (const [e, i] of Object.entries(t)) - super._typeCheckConfig({ selector: e, entry: i }, wi); + super._typeCheckConfig({ selector: e, entry: i }, Yi); } _setContent(t, e, i) { - const s = K.findOne(i, t); - s && + const n = z.findOne(i, t); + n && ((e = this._resolvePossibleFunction(e)) - ? l(e) - ? this._putElementInTemplate(c(e), s) + ? o(e) + ? this._putElementInTemplate(r(e), n) : this._config.html - ? (s.innerHTML = this._maybeSanitize(e)) - : (s.textContent = e) - : s.remove()); + ? (n.innerHTML = this._maybeSanitize(e)) + : (n.textContent = e) + : n.remove()); } _maybeSanitize(t) { return this._config.sanitize ? (function (t, e, i) { if (!t.length) return t; if (i && "function" == typeof i) return i(t); - const s = new window.DOMParser().parseFromString(t, "text/html"), - n = [].concat(...s.body.querySelectorAll("*")); - for (const t of n) { + const n = new window.DOMParser().parseFromString(t, "text/html"), + s = [].concat(...n.body.querySelectorAll("*")); + for (const t of s) { const i = t.nodeName.toLowerCase(); if (!Object.keys(e).includes(i)) { t.remove(); continue; } - const s = [].concat(...t.attributes), - n = [].concat(e["*"] || [], e[i] || []); - for (const e of s) bi(e, n) || t.removeAttribute(e.nodeName); + const n = [].concat(...t.attributes), + s = [].concat(e["*"] || [], e[i] || []); + for (const e of n) Ki(e, s) || t.removeAttribute(e.nodeName); } - return s.body.innerHTML; + return n.body.innerHTML; })(t, this._config.allowList, this._config.sanitizeFn) : t; } _resolvePossibleFunction(t) { - return v(t, [this]); + return g(t, [this]); } _putElementInTemplate(t, e) { if (this._config.html) return (e.innerHTML = ""), void e.append(t); e.textContent = t.textContent; } } - const Ei = new Set(["sanitize", "allowList", "sanitizeFn"]), - Ci = "fade", - Ti = "show", - ki = ".modal", - $i = "hide.bs.modal", - Si = "hover", - Li = "focus", - Oi = { + const Gi = new Set(["sanitize", "allowList", "sanitizeFn"]), + Ji = "fade", + Zi = "show", + tn = ".modal", + en = "hide.bs.modal", + nn = "hover", + sn = "focus", + on = { AUTO: "auto", TOP: "top", RIGHT: p() ? "left" : "right", BOTTOM: "bottom", LEFT: p() ? "right" : "left", }, - Ii = { - allowList: fi, + rn = { + allowList: Ri, animation: !0, boundary: "clippingParents", container: !1, @@ -2067,7 +3334,7 @@ title: "", trigger: "hover focus", }, - Di = { + an = { allowList: "object", animation: "boolean", boundary: "(string|element)", @@ -2086,9 +3353,9 @@ title: "(string|element|function)", trigger: "string", }; - class Ni extends W { + class ln extends W { constructor(t, e) { - if (void 0 === i) + if (void 0 === Ve) throw new TypeError( "Bootstrap's tooltips require Popper (https://popper.js.org)" ); @@ -2105,10 +3372,10 @@ this._config.selector || this._fixTitle(); } static get Default() { - return Ii; + return rn; } static get DefaultType() { - return Di; + return an; } static get NAME() { return "tooltip"; @@ -2129,7 +3396,7 @@ } dispose() { clearTimeout(this._timeout), - j.off(this._element.closest(ki), $i, this._hideModalHandler), + P.off(this._element.closest(tn), en, this._hideModalHandler), this._element.getAttribute("data-bs-original-title") && this._element.setAttribute( "title", @@ -2142,28 +3409,28 @@ if ("none" === this._element.style.display) throw new Error("Please use show on visible elements"); if (!this._isWithContent() || !this._isEnabled) return; - const t = j.trigger(this._element, this.constructor.eventName("show")), + const t = P.trigger(this._element, this.constructor.eventName("show")), e = ( - u(this._element) || this._element.ownerDocument.documentElement + c(this._element) || this._element.ownerDocument.documentElement ).contains(this._element); if (t.defaultPrevented || !e) return; this._disposePopper(); const i = this._getTipElement(); this._element.setAttribute("aria-describedby", i.getAttribute("id")); - const { container: s } = this._config; + const { container: n } = this._config; if ( (this._element.ownerDocument.documentElement.contains(this.tip) || - (s.append(i), - j.trigger(this._element, this.constructor.eventName("inserted"))), + (n.append(i), + P.trigger(this._element, this.constructor.eventName("inserted"))), (this._popper = this._createPopper(i)), - i.classList.add(Ti), + i.classList.add(Zi), "ontouchstart" in document.documentElement) ) for (const t of [].concat(...document.body.children)) - j.on(t, "mouseover", _); + P.on(t, "mouseover", h); this._queueCallback( () => { - j.trigger(this._element, this.constructor.eventName("shown")), + P.trigger(this._element, this.constructor.eventName("shown")), !1 === this._isHovered && this._leave(), (this._isHovered = !1); }, @@ -2174,25 +3441,25 @@ hide() { if ( this._isShown() && - !j.trigger(this._element, this.constructor.eventName("hide")) + !P.trigger(this._element, this.constructor.eventName("hide")) .defaultPrevented ) { if ( - (this._getTipElement().classList.remove(Ti), + (this._getTipElement().classList.remove(Zi), "ontouchstart" in document.documentElement) ) for (const t of [].concat(...document.body.children)) - j.off(t, "mouseover", _); + P.off(t, "mouseover", h); (this._activeTrigger.click = !1), - (this._activeTrigger[Li] = !1), - (this._activeTrigger[Si] = !1), + (this._activeTrigger.focus = !1), + (this._activeTrigger.hover = !1), (this._isHovered = null), this._queueCallback( () => { this._isWithActiveTrigger() || (this._isHovered || this._disposePopper(), this._element.removeAttribute("aria-describedby"), - j.trigger(this._element, this.constructor.eventName("hidden"))); + P.trigger(this._element, this.constructor.eventName("hidden"))); }, this.tip, this._isAnimated() @@ -2217,7 +3484,7 @@ _createTipElement(t) { const e = this._getTemplateFactory(t).toHtml(); if (!e) return null; - e.classList.remove(Ci, Ti), + e.classList.remove(Ji, Zi), e.classList.add(`bs-${this.constructor.NAME}-auto`); const i = ((t) => { do { @@ -2226,7 +3493,7 @@ return t; })(this.constructor.NAME).toString(); return ( - e.setAttribute("id", i), this._isAnimated() && e.classList.add(Ci), e + e.setAttribute("id", i), this._isAnimated() && e.classList.add(Ji), e ); } setContent(t) { @@ -2237,7 +3504,7 @@ return ( this._templateFactory ? this._templateFactory.changeContent(t) - : (this._templateFactory = new Ai({ + : (this._templateFactory = new Ui({ ...this._config, content: t, extraClass: this._resolvePossibleFunction( @@ -2264,16 +3531,16 @@ } _isAnimated() { return ( - this._config.animation || (this.tip && this.tip.classList.contains(Ci)) + this._config.animation || (this.tip && this.tip.classList.contains(Ji)) ); } _isShown() { - return this.tip && this.tip.classList.contains(Ti); + return this.tip && this.tip.classList.contains(Zi); } _createPopper(t) { - const e = v(this._config.placement, [this, t, this._element]), - s = Oi[e.toUpperCase()]; - return i.createPopper(this._element, t, this._getPopperConfig(s)); + const e = g(this._config.placement, [this, t, this._element]), + i = on[e.toUpperCase()]; + return qe(this._element, t, this._getPopperConfig(i)); } _getOffset() { const { offset: t } = this._config; @@ -2284,7 +3551,7 @@ : t; } _resolvePossibleFunction(t) { - return v(t, [this._element]); + return g(t, [this._element]); } _getPopperConfig(t) { const e = { @@ -2316,13 +3583,13 @@ }, ], }; - return { ...e, ...v(this._config.popperConfig, [e]) }; + return { ...e, ...g(this._config.popperConfig, [e]) }; } _setListeners() { const t = this._config.trigger.split(" "); for (const e of t) if ("click" === e) - j.on( + P.on( this._element, this.constructor.eventName("click"), this._config.selector, @@ -2332,20 +3599,20 @@ ); else if ("manual" !== e) { const t = - e === Si + e === nn ? this.constructor.eventName("mouseenter") : this.constructor.eventName("focusin"), i = - e === Si + e === nn ? this.constructor.eventName("mouseleave") : this.constructor.eventName("focusout"); - j.on(this._element, t, this._config.selector, (t) => { + P.on(this._element, t, this._config.selector, (t) => { const e = this._initializeOnDelegatedTarget(t); - (e._activeTrigger["focusin" === t.type ? Li : Si] = !0), e._enter(); + (e._activeTrigger["focusin" === t.type ? sn : nn] = !0), e._enter(); }), - j.on(this._element, i, this._config.selector, (t) => { + P.on(this._element, i, this._config.selector, (t) => { const e = this._initializeOnDelegatedTarget(t); - (e._activeTrigger["focusout" === t.type ? Li : Si] = + (e._activeTrigger["focusout" === t.type ? sn : nn] = e._element.contains(t.relatedTarget)), e._leave(); }); @@ -2353,7 +3620,7 @@ (this._hideModalHandler = () => { this._element && this.hide(); }), - j.on(this._element.closest(ki), $i, this._hideModalHandler); + P.on(this._element.closest(tn), en, this._hideModalHandler); } _fixTitle() { const t = this._element.getAttribute("title"); @@ -2386,8 +3653,8 @@ return Object.values(this._activeTrigger).includes(!0); } _getConfig(t) { - const e = B.getDataAttributes(this._element); - for (const t of Object.keys(e)) Ei.has(t) && delete e[t]; + const e = H.getDataAttributes(this._element); + for (const t of Object.keys(e)) Gi.has(t) && delete e[t]; return ( (t = { ...e, ...("object" == typeof t && t ? t : {}) }), (t = this._mergeConfigObj(t)), @@ -2398,7 +3665,7 @@ } _configAfterMerge(t) { return ( - (t.container = !1 === t.container ? document.body : c(t.container)), + (t.container = !1 === t.container ? document.body : r(t.container)), "number" == typeof t.delay && (t.delay = { show: t.delay, hide: t.delay }), "number" == typeof t.title && (t.title = t.title.toString()), @@ -2418,7 +3685,7 @@ } static jQueryInterface(t) { return this.each(function () { - const e = Ni.getOrCreateInstance(this, t); + const e = ln.getOrCreateInstance(this, t); if ("string" == typeof t) { if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`); e[t](); @@ -2426,9 +3693,9 @@ }); } } - b(Ni); - const Pi = { - ...Ni.Default, + m(ln); + const cn = { + ...ln.Default, content: "", offset: [0, 8], placement: "right", @@ -2436,13 +3703,13 @@ '', trigger: "click", }, - xi = { ...Ni.DefaultType, content: "(null|string|element|function)" }; - class Mi extends Ni { + hn = { ...ln.DefaultType, content: "(null|string|element|function)" }; + class dn extends ln { static get Default() { - return Pi; + return cn; } static get DefaultType() { - return xi; + return hn; } static get NAME() { return "popover"; @@ -2461,7 +3728,7 @@ } static jQueryInterface(t) { return this.each(function () { - const e = Mi.getOrCreateInstance(this, t); + const e = dn.getOrCreateInstance(this, t); if ("string" == typeof t) { if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`); e[t](); @@ -2469,30 +3736,25 @@ }); } } - b(Mi); - const ji = ".bs.scrollspy", - Fi = `activate${ji}`, - zi = `click${ji}`, - Hi = `load${ji}.data-api`, - Bi = "active", - qi = "[href]", - Wi = ".nav-link", - Ri = `${Wi}, .nav-item > ${Wi}, .list-group-item`, - Ki = { + m(dn); + const un = "click.bs.scrollspy", + fn = "active", + pn = "[href]", + mn = { offset: null, rootMargin: "0px 0px -25%", smoothScroll: !1, target: null, threshold: [0.1, 0.5, 1], }, - Vi = { + gn = { offset: "(number|null)", rootMargin: "string", smoothScroll: "boolean", target: "element", threshold: "array", }; - class Qi extends W { + class _n extends W { constructor(t, e) { super(t, e), (this._targetLinks = new Map()), @@ -2507,10 +3769,10 @@ this.refresh(); } static get Default() { - return Ki; + return mn; } static get DefaultType() { - return Vi; + return gn; } static get NAME() { return "scrollspy"; @@ -2529,7 +3791,7 @@ } _configAfterMerge(t) { return ( - (t.target = c(t.target) || document.body), + (t.target = r(t.target) || document.body), (t.rootMargin = t.offset ? `${t.offset}px 0px -30%` : t.rootMargin), "string" == typeof t.threshold && (t.threshold = t.threshold @@ -2540,16 +3802,16 @@ } _maybeEnableSmoothScroll() { this._config.smoothScroll && - (j.off(this._config.target, zi), - j.on(this._config.target, zi, qi, (t) => { + (P.off(this._config.target, un), + P.on(this._config.target, un, pn, (t) => { const e = this._observableSections.get(t.target.hash); if (e) { t.preventDefault(); const i = this._rootElement || window, - s = e.offsetTop - this._element.offsetTop; + n = e.offsetTop - this._element.offsetTop; if (i.scrollTo) - return void i.scrollTo({ top: s, behavior: "smooth" }); - i.scrollTop = s; + return void i.scrollTo({ top: n, behavior: "smooth" }); + i.scrollTop = n; } })); } @@ -2567,9 +3829,9 @@ (this._previousScrollData.visibleEntryTop = t.target.offsetTop), this._process(e(t)); }, - s = (this._rootElement || document.documentElement).scrollTop, - n = s >= this._previousScrollData.parentScrollTop; - this._previousScrollData.parentScrollTop = s; + n = (this._rootElement || document.documentElement).scrollTop, + s = n >= this._previousScrollData.parentScrollTop; + this._previousScrollData.parentScrollTop = n; for (const o of t) { if (!o.isIntersecting) { (this._activeTarget = null), this._clearActiveClass(e(o)); @@ -2577,18 +3839,18 @@ } const t = o.target.offsetTop >= this._previousScrollData.visibleEntryTop; - if (n && t) { - if ((i(o), !s)) return; - } else n || t || i(o); + if (s && t) { + if ((i(o), !n)) return; + } else s || t || i(o); } } _initializeTargetsAndObservables() { (this._targetLinks = new Map()), (this._observableSections = new Map()); - const t = K.find(qi, this._config.target); + const t = z.find(pn, this._config.target); for (const e of t) { - if (!e.hash || d(e)) continue; - const t = K.findOne(decodeURI(e.hash), this._element); - h(t) && + if (!e.hash || l(e)) continue; + const t = z.findOne(decodeURI(e.hash), this._element); + a(t) && (this._targetLinks.set(decodeURI(e.hash), e), this._observableSections.set(e.hash, t)); } @@ -2597,25 +3859,31 @@ this._activeTarget !== t && (this._clearActiveClass(this._config.target), (this._activeTarget = t), - t.classList.add(Bi), + t.classList.add(fn), this._activateParents(t), - j.trigger(this._element, Fi, { relatedTarget: t })); + P.trigger(this._element, "activate.bs.scrollspy", { + relatedTarget: t, + })); } _activateParents(t) { if (t.classList.contains("dropdown-item")) - K.findOne(".dropdown-toggle", t.closest(".dropdown")).classList.add(Bi); + z.findOne(".dropdown-toggle", t.closest(".dropdown")).classList.add(fn); else - for (const e of K.parents(t, ".nav, .list-group")) - for (const t of K.prev(e, Ri)) t.classList.add(Bi); + for (const e of z.parents(t, ".nav, .list-group")) + for (const t of z.prev( + e, + ".nav-link, .nav-item > .nav-link, .list-group-item" + )) + t.classList.add(fn); } _clearActiveClass(t) { - t.classList.remove(Bi); - const e = K.find(`${qi}.${Bi}`, t); - for (const t of e) t.classList.remove(Bi); + t.classList.remove(fn); + const e = z.find("[href].active", t); + for (const t of e) t.classList.remove(fn); } static jQueryInterface(t) { return this.each(function () { - const e = Qi.getOrCreateInstance(this, t); + const e = _n.getOrCreateInstance(this, t); if ("string" == typeof t) { if (void 0 === e[t] || t.startsWith("_") || "constructor" === t) throw new TypeError(`No method named "${t}"`); @@ -2624,34 +3892,21 @@ }); } } - j.on(window, Hi, () => { - for (const t of K.find('[data-bs-spy="scroll"]')) Qi.getOrCreateInstance(t); + P.on(window, "load.bs.scrollspy.data-api", () => { + for (const t of z.find('[data-bs-spy="scroll"]')) _n.getOrCreateInstance(t); }), - b(Qi); - const Xi = ".bs.tab", - Yi = `hide${Xi}`, - Ui = `hidden${Xi}`, - Gi = `show${Xi}`, - Ji = `shown${Xi}`, - Zi = `click${Xi}`, - ts = `keydown${Xi}`, - es = `load${Xi}`, - is = "ArrowLeft", - ss = "ArrowRight", - ns = "ArrowUp", - os = "ArrowDown", - rs = "Home", - as = "End", - ls = "active", - cs = "fade", - hs = "show", - ds = ".dropdown-toggle", - us = `:not(${ds})`, - _s = + m(_n); + const bn = "ArrowLeft", + vn = "ArrowRight", + yn = "ArrowUp", + wn = "ArrowDown", + An = "active", + En = "fade", + Tn = "show", + Cn = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]', - gs = `.nav-link${us}, .list-group-item${us}, [role="tab"]${us}, ${_s}`, - fs = `.${ls}[data-bs-toggle="tab"], .${ls}[data-bs-toggle="pill"], .${ls}[data-bs-toggle="list"]`; - class ms extends W { + On = `.nav-link:not(.dropdown-toggle), .list-group-item:not(.dropdown-toggle), [role="tab"]:not(.dropdown-toggle), ${Cn}`; + class xn extends W { constructor(t) { super(t), (this._parent = this._element.closest( @@ -2659,7 +3914,7 @@ )), this._parent && (this._setInitialAttributes(this._parent, this._getChildren()), - j.on(this._element, ts, (t) => this._keydown(t))); + P.on(this._element, "keydown.bs.tab", (t) => this._keydown(t))); } static get NAME() { return "tab"; @@ -2668,60 +3923,60 @@ const t = this._element; if (this._elemIsActive(t)) return; const e = this._getActiveElem(), - i = e ? j.trigger(e, Yi, { relatedTarget: t }) : null; - j.trigger(t, Gi, { relatedTarget: e }).defaultPrevented || + i = e ? P.trigger(e, "hide.bs.tab", { relatedTarget: t }) : null; + P.trigger(t, "show.bs.tab", { relatedTarget: e }).defaultPrevented || (i && i.defaultPrevented) || (this._deactivate(e, t), this._activate(t, e)); } _activate(t, e) { t && - (t.classList.add(ls), - this._activate(K.getElementFromSelector(t)), + (t.classList.add(An), + this._activate(z.getElementFromSelector(t)), this._queueCallback( () => { "tab" === t.getAttribute("role") ? (t.removeAttribute("tabindex"), t.setAttribute("aria-selected", !0), this._toggleDropDown(t, !0), - j.trigger(t, Ji, { relatedTarget: e })) - : t.classList.add(hs); + P.trigger(t, "shown.bs.tab", { relatedTarget: e })) + : t.classList.add(Tn); }, t, - t.classList.contains(cs) + t.classList.contains(En) )); } _deactivate(t, e) { t && - (t.classList.remove(ls), + (t.classList.remove(An), t.blur(), - this._deactivate(K.getElementFromSelector(t)), + this._deactivate(z.getElementFromSelector(t)), this._queueCallback( () => { "tab" === t.getAttribute("role") ? (t.setAttribute("aria-selected", !1), t.setAttribute("tabindex", "-1"), this._toggleDropDown(t, !1), - j.trigger(t, Ui, { relatedTarget: e })) - : t.classList.remove(hs); + P.trigger(t, "hidden.bs.tab", { relatedTarget: e })) + : t.classList.remove(Tn); }, t, - t.classList.contains(cs) + t.classList.contains(En) )); } _keydown(t) { - if (![is, ss, ns, os, rs, as].includes(t.key)) return; + if (![bn, vn, yn, wn].includes(t.key)) return; t.stopPropagation(), t.preventDefault(); - const e = this._getChildren().filter((t) => !d(t)); - let i; - if ([rs, as].includes(t.key)) i = e[t.key === rs ? 0 : e.length - 1]; - else { - const s = [ss, os].includes(t.key); - i = w(e, t.target, s, !0); - } - i && (i.focus({ preventScroll: !0 }), ms.getOrCreateInstance(i).show()); + const e = [vn, wn].includes(t.key), + i = b( + this._getChildren().filter((t) => !l(t)), + t.target, + e, + !0 + ); + i && (i.focus({ preventScroll: !0 }), xn.getOrCreateInstance(i).show()); } _getChildren() { - return K.find(gs, this._parent); + return z.find(On, this._parent); } _getActiveElem() { return this._getChildren().find((t) => this._elemIsActive(t)) || null; @@ -2741,7 +3996,7 @@ this._setInitialAttributesOnTargetPanel(t); } _setInitialAttributesOnTargetPanel(t) { - const e = K.getElementFromSelector(t); + const e = z.getElementFromSelector(t); e && (this._setAttributeIfNotExists(e, "role", "tabpanel"), t.id && this._setAttributeIfNotExists(e, "aria-labelledby", `${t.id}`)); @@ -2749,27 +4004,29 @@ _toggleDropDown(t, e) { const i = this._getOuterElement(t); if (!i.classList.contains("dropdown")) return; - const s = (t, s) => { - const n = K.findOne(t, i); - n && n.classList.toggle(s, e); + const n = (t, n) => { + const s = z.findOne(t, i); + s && s.classList.toggle(n, e); }; - s(ds, ls), s(".dropdown-menu", hs), i.setAttribute("aria-expanded", e); + n(".dropdown-toggle", An), + n(".dropdown-menu", Tn), + i.setAttribute("aria-expanded", e); } _setAttributeIfNotExists(t, e, i) { t.hasAttribute(e) || t.setAttribute(e, i); } _elemIsActive(t) { - return t.classList.contains(ls); + return t.classList.contains(An); } _getInnerElement(t) { - return t.matches(gs) ? t : K.findOne(gs, t); + return t.matches(On) ? t : z.findOne(On, t); } _getOuterElement(t) { return t.closest(".nav-item, .list-group-item") || t; } static jQueryInterface(t) { return this.each(function () { - const e = ms.getOrCreateInstance(this); + const e = xn.getOrCreateInstance(this); if ("string" == typeof t) { if (void 0 === e[t] || t.startsWith("_") || "constructor" === t) throw new TypeError(`No method named "${t}"`); @@ -2778,29 +4035,23 @@ }); } } - j.on(document, Zi, _s, function (t) { + P.on(document, "click.bs.tab", Cn, function (t) { ["A", "AREA"].includes(this.tagName) && t.preventDefault(), - d(this) || ms.getOrCreateInstance(this).show(); + l(this) || xn.getOrCreateInstance(this).show(); }), - j.on(window, es, () => { - for (const t of K.find(fs)) ms.getOrCreateInstance(t); + P.on(window, "load.bs.tab", () => { + for (const t of z.find( + '.active[data-bs-toggle="tab"], .active[data-bs-toggle="pill"], .active[data-bs-toggle="list"]' + )) + xn.getOrCreateInstance(t); }), - b(ms); - const ps = ".bs.toast", - bs = `mouseover${ps}`, - vs = `mouseout${ps}`, - ys = `focusin${ps}`, - ws = `focusout${ps}`, - As = `hide${ps}`, - Es = `hidden${ps}`, - Cs = `show${ps}`, - Ts = `shown${ps}`, - ks = "hide", - $s = "show", - Ss = "showing", - Ls = { animation: "boolean", autohide: "boolean", delay: "number" }, - Os = { animation: !0, autohide: !0, delay: 5e3 }; - class Is extends W { + m(xn); + const kn = "hide", + Ln = "show", + Sn = "showing", + Dn = { animation: "boolean", autohide: "boolean", delay: "number" }, + In = { animation: !0, autohide: !0, delay: 5e3 }; + class Nn extends W { constructor(t, e) { super(t, e), (this._timeout = null), @@ -2809,25 +4060,25 @@ this._setListeners(); } static get Default() { - return Os; + return In; } static get DefaultType() { - return Ls; + return Dn; } static get NAME() { return "toast"; } show() { - j.trigger(this._element, Cs).defaultPrevented || + P.trigger(this._element, "show.bs.toast").defaultPrevented || (this._clearTimeout(), this._config.animation && this._element.classList.add("fade"), - this._element.classList.remove(ks), - g(this._element), - this._element.classList.add($s, Ss), + this._element.classList.remove(kn), + d(this._element), + this._element.classList.add(Ln, Sn), this._queueCallback( () => { - this._element.classList.remove(Ss), - j.trigger(this._element, Ts), + this._element.classList.remove(Sn), + P.trigger(this._element, "shown.bs.toast"), this._maybeScheduleHide(); }, this._element, @@ -2836,13 +4087,13 @@ } hide() { this.isShown() && - (j.trigger(this._element, As).defaultPrevented || - (this._element.classList.add(Ss), + (P.trigger(this._element, "hide.bs.toast").defaultPrevented || + (this._element.classList.add(Sn), this._queueCallback( () => { - this._element.classList.add(ks), - this._element.classList.remove(Ss, $s), - j.trigger(this._element, Es); + this._element.classList.add(kn), + this._element.classList.remove(Sn, Ln), + P.trigger(this._element, "hidden.bs.toast"); }, this._element, this._config.animation @@ -2850,11 +4101,11 @@ } dispose() { this._clearTimeout(), - this.isShown() && this._element.classList.remove($s), + this.isShown() && this._element.classList.remove(Ln), super.dispose(); } isShown() { - return this._element.classList.contains($s); + return this._element.classList.contains(Ln); } _maybeScheduleHide() { this._config.autohide && @@ -2881,17 +4132,25 @@ this._maybeScheduleHide(); } _setListeners() { - j.on(this._element, bs, (t) => this._onInteraction(t, !0)), - j.on(this._element, vs, (t) => this._onInteraction(t, !1)), - j.on(this._element, ys, (t) => this._onInteraction(t, !0)), - j.on(this._element, ws, (t) => this._onInteraction(t, !1)); + P.on(this._element, "mouseover.bs.toast", (t) => + this._onInteraction(t, !0) + ), + P.on(this._element, "mouseout.bs.toast", (t) => + this._onInteraction(t, !1) + ), + P.on(this._element, "focusin.bs.toast", (t) => + this._onInteraction(t, !0) + ), + P.on(this._element, "focusout.bs.toast", (t) => + this._onInteraction(t, !1) + ); } _clearTimeout() { clearTimeout(this._timeout), (this._timeout = null); } static jQueryInterface(t) { return this.each(function () { - const e = Is.getOrCreateInstance(this, t); + const e = Nn.getOrCreateInstance(this, t); if ("string" == typeof t) { if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`); e[t](this); @@ -2900,22 +4159,22 @@ } } return ( - V(Is), - b(Is), + R(Nn), + m(Nn), { - Alert: U, - Button: J, - Carousel: Ot, - Collapse: Rt, - Dropdown: fe, - Modal: Ue, - Offcanvas: gi, - Popover: Mi, - ScrollSpy: Qi, - Tab: ms, - Toast: Is, - Tooltip: Ni, + Alert: q, + Button: K, + Carousel: rt, + Collapse: ft, + Dropdown: ci, + Modal: Ni, + Offcanvas: zi, + Popover: dn, + ScrollSpy: _n, + Tab: xn, + Toast: Nn, + Tooltip: ln, } ); }); -//# sourceMappingURL=bootstrap.min.js.map +//# sourceMappingURL=bootstrap.bundle.min.js.map diff --git a/templates/assets/js/dataTables.bootstrap.min.js b/templates/assets/js/dataTables.bootstrap.min.js deleted file mode 100644 index 560f9abd..00000000 --- a/templates/assets/js/dataTables.bootstrap.min.js +++ /dev/null @@ -1,5 +0,0 @@ -:root{--dt-row-selected: 13, 110, 253;--dt-row-selected-text: 255, 255, 255;--dt-row-selected-link: 9, 10, 11;--dt-row-stripe: 0, 0, 0;--dt-row-hover: 0, 0, 0;--dt-column-ordering: 0, 0, 0;--dt-html-background: white}:root.dark{--dt-html-background: rgb(33, 37, 41)}table.dataTable td.dt-control{text-align:center;cursor:pointer}table.dataTable td.dt-control:before{display:inline-block;box-sizing:border-box;content:"";border-top:5px solid transparent;border-left:10px solid rgba(0, 0, 0, 0.5);border-bottom:5px solid transparent;border-right:0px solid transparent}table.dataTable tr.dt-hasChild td.dt-control:before{border-top:10px solid rgba(0, 0, 0, 0.5);border-left:5px solid transparent;border-bottom:0px solid transparent;border-right:5px solid transparent}table.dataTable tfoot:empty{display:none}html.dark table.dataTable td.dt-control:before,:root[data-bs-theme=dark] table.dataTable td.dt-control:before,:root[data-theme=dark] table.dataTable td.dt-control:before{border-left-color:rgba(255, 255, 255, 0.5)}html.dark table.dataTable tr.dt-hasChild td.dt-control:before,:root[data-bs-theme=dark] table.dataTable tr.dt-hasChild td.dt-control:before,:root[data-theme=dark] table.dataTable tr.dt-hasChild td.dt-control:before{border-top-color:rgba(255, 255, 255, 0.5);border-left-color:transparent}div.dt-scroll{width:100%}div.dt-scroll-body thead tr,div.dt-scroll-body tfoot tr{height:0}div.dt-scroll-body thead tr th,div.dt-scroll-body thead tr td,div.dt-scroll-body tfoot tr th,div.dt-scroll-body tfoot tr td{height:0 !important;padding-top:0px !important;padding-bottom:0px !important;border-top-width:0px !important;border-bottom-width:0px !important}div.dt-scroll-body thead tr th div.dt-scroll-sizing,div.dt-scroll-body thead tr td div.dt-scroll-sizing,div.dt-scroll-body tfoot tr th div.dt-scroll-sizing,div.dt-scroll-body tfoot tr td div.dt-scroll-sizing{height:0 !important;overflow:hidden !important}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}table.dataTable thead>tr>th.dt-orderable-asc span.dt-column-order:before,table.dataTable thead>tr>th.dt-ordering-asc span.dt-column-order:before,table.dataTable thead>tr>td.dt-orderable-asc span.dt-column-order:before,table.dataTable thead>tr>td.dt-ordering-asc span.dt-column-order:before{position:absolute;display:block;bottom:50%;content:"▲";content:"▲"/""}table.dataTable thead>tr>th.dt-orderable-desc span.dt-column-order:after,table.dataTable thead>tr>th.dt-ordering-desc span.dt-column-order:after,table.dataTable thead>tr>td.dt-orderable-desc span.dt-column-order:after,table.dataTable thead>tr>td.dt-ordering-desc span.dt-column-order:after{position:absolute;display:block;top:50%;content:"▼";content:"▼"/""}table.dataTable thead>tr>th.dt-orderable-asc,table.dataTable thead>tr>th.dt-orderable-desc,table.dataTable thead>tr>th.dt-ordering-asc,table.dataTable thead>tr>th.dt-ordering-desc,table.dataTable thead>tr>td.dt-orderable-asc,table.dataTable thead>tr>td.dt-orderable-desc,table.dataTable thead>tr>td.dt-ordering-asc,table.dataTable thead>tr>td.dt-ordering-desc{position:relative;padding-right:30px}table.dataTable thead>tr>th.dt-orderable-asc span.dt-column-order,table.dataTable thead>tr>th.dt-orderable-desc span.dt-column-order,table.dataTable thead>tr>th.dt-ordering-asc span.dt-column-order,table.dataTable thead>tr>th.dt-ordering-desc span.dt-column-order,table.dataTable thead>tr>td.dt-orderable-asc span.dt-column-order,table.dataTable thead>tr>td.dt-orderable-desc span.dt-column-order,table.dataTable thead>tr>td.dt-ordering-asc span.dt-column-order,table.dataTable thead>tr>td.dt-ordering-desc span.dt-column-order{position:absolute;right:12px;top:0;bottom:0;width:12px}table.dataTable thead>tr>th.dt-orderable-asc span.dt-column-order:before,table.dataTable thead>tr>th.dt-orderable-asc span.dt-column-order:after,table.dataTable thead>tr>th.dt-orderable-desc span.dt-column-order:before,table.dataTable thead>tr>th.dt-orderable-desc span.dt-column-order:after,table.dataTable thead>tr>th.dt-ordering-asc span.dt-column-order:before,table.dataTable thead>tr>th.dt-ordering-asc span.dt-column-order:after,table.dataTable thead>tr>th.dt-ordering-desc span.dt-column-order:before,table.dataTable thead>tr>th.dt-ordering-desc span.dt-column-order:after,table.dataTable thead>tr>td.dt-orderable-asc span.dt-column-order:before,table.dataTable thead>tr>td.dt-orderable-asc span.dt-column-order:after,table.dataTable thead>tr>td.dt-orderable-desc span.dt-column-order:before,table.dataTable thead>tr>td.dt-orderable-desc span.dt-column-order:after,table.dataTable thead>tr>td.dt-ordering-asc span.dt-column-order:before,table.dataTable thead>tr>td.dt-ordering-asc span.dt-column-order:after,table.dataTable thead>tr>td.dt-ordering-desc span.dt-column-order:before,table.dataTable thead>tr>td.dt-ordering-desc span.dt-column-order:after{left:0;opacity:.125;line-height:9px;font-size:.8em}table.dataTable thead>tr>th.dt-orderable-asc,table.dataTable thead>tr>th.dt-orderable-desc,table.dataTable thead>tr>td.dt-orderable-asc,table.dataTable thead>tr>td.dt-orderable-desc{cursor:pointer}table.dataTable thead>tr>th.dt-orderable-asc:hover,table.dataTable thead>tr>th.dt-orderable-desc:hover,table.dataTable thead>tr>td.dt-orderable-asc:hover,table.dataTable thead>tr>td.dt-orderable-desc:hover{outline:2px solid rgba(0, 0, 0, 0.05);outline-offset:-2px}table.dataTable thead>tr>th.dt-ordering-asc span.dt-column-order:before,table.dataTable thead>tr>th.dt-ordering-desc span.dt-column-order:after,table.dataTable thead>tr>td.dt-ordering-asc span.dt-column-order:before,table.dataTable thead>tr>td.dt-ordering-desc span.dt-column-order:after{opacity:.6}table.dataTable thead>tr>th.sorting_desc_disabled span.dt-column-order:after,table.dataTable thead>tr>th.sorting_asc_disabled span.dt-column-order:before,table.dataTable thead>tr>td.sorting_desc_disabled span.dt-column-order:after,table.dataTable thead>tr>td.sorting_asc_disabled span.dt-column-order:before{display:none}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}div.dt-scroll-body>table.dataTable>thead>tr>th,div.dt-scroll-body>table.dataTable>thead>tr>td{overflow:hidden}:root.dark table.dataTable thead>tr>th.dt-orderable-asc:hover,:root.dark table.dataTable thead>tr>th.dt-orderable-desc:hover,:root.dark table.dataTable thead>tr>td.dt-orderable-asc:hover,:root.dark table.dataTable thead>tr>td.dt-orderable-desc:hover,:root[data-bs-theme=dark] table.dataTable thead>tr>th.dt-orderable-asc:hover,:root[data-bs-theme=dark] table.dataTable thead>tr>th.dt-orderable-desc:hover,:root[data-bs-theme=dark] table.dataTable thead>tr>td.dt-orderable-asc:hover,:root[data-bs-theme=dark] table.dataTable thead>tr>td.dt-orderable-desc:hover{outline:2px solid rgba(255, 255, 255, 0.05)}div.dt-processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-22px;text-align:center;padding:2px;z-index:10}div.dt-processing>div:last-child{position:relative;width:80px;height:15px;margin:1em auto}div.dt-processing>div:last-child>div{position:absolute;top:0;width:13px;height:13px;border-radius:50%;background:rgb(13, 110, 253);background:rgb(var(--dt-row-selected));animation-timing-function:cubic-bezier(0, 1, 1, 0)}div.dt-processing>div:last-child>div:nth-child(1){left:8px;animation:datatables-loader-1 .6s infinite}div.dt-processing>div:last-child>div:nth-child(2){left:8px;animation:datatables-loader-2 .6s infinite}div.dt-processing>div:last-child>div:nth-child(3){left:32px;animation:datatables-loader-2 .6s infinite}div.dt-processing>div:last-child>div:nth-child(4){left:56px;animation:datatables-loader-3 .6s infinite}@keyframes datatables-loader-1{0%{transform:scale(0)}100%{transform:scale(1)}}@keyframes datatables-loader-3{0%{transform:scale(1)}100%{transform:scale(0)}}@keyframes datatables-loader-2{0%{transform:translate(0, 0)}100%{transform:translate(24px, 0)}}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}table.dataTable th,table.dataTable td{box-sizing:border-box}table.dataTable th.dt-type-numeric,table.dataTable th.dt-type-date,table.dataTable td.dt-type-numeric,table.dataTable td.dt-type-date{text-align:right}table.dataTable th.dt-left,table.dataTable td.dt-left{text-align:left}table.dataTable th.dt-center,table.dataTable td.dt-center{text-align:center}table.dataTable th.dt-right,table.dataTable td.dt-right{text-align:right}table.dataTable th.dt-justify,table.dataTable td.dt-justify{text-align:justify}table.dataTable th.dt-nowrap,table.dataTable td.dt-nowrap{white-space:nowrap}table.dataTable th.dt-empty,table.dataTable td.dt-empty{text-align:center;vertical-align:top}table.dataTable thead th,table.dataTable thead td,table.dataTable tfoot th,table.dataTable tfoot td{text-align:left}table.dataTable thead th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable tfoot td.dt-head-left{text-align:left}table.dataTable thead th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable tfoot td.dt-head-center{text-align:center}table.dataTable thead th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable tfoot td.dt-head-right{text-align:right}table.dataTable thead th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable tfoot td.dt-head-justify{text-align:justify}table.dataTable thead th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable tfoot td.dt-head-nowrap{white-space:nowrap}table.dataTable tbody th.dt-body-left,table.dataTable tbody td.dt-body-left{text-align:left}table.dataTable tbody th.dt-body-center,table.dataTable tbody td.dt-body-center{text-align:center}table.dataTable tbody th.dt-body-right,table.dataTable tbody td.dt-body-right{text-align:right}table.dataTable tbody th.dt-body-justify,table.dataTable tbody td.dt-body-justify{text-align:justify}table.dataTable tbody th.dt-body-nowrap,table.dataTable tbody td.dt-body-nowrap{white-space:nowrap}/*! Bootstrap 5 integration for DataTables - * - * ©2020 SpryMedia Ltd, all rights reserved. - * License: MIT datatables.net/license/mit - */table.table.dataTable{clear:both;margin-bottom:0;max-width:none;border-spacing:0}table.table.dataTable.table-striped>tbody>tr:nth-of-type(2n+1)>*{box-shadow:none}table.table.dataTable>:not(caption)>*>*{background-color:var(--bs-table-bg)}table.table.dataTable>tbody>tr{background-color:transparent}table.table.dataTable>tbody>tr.selected>*{box-shadow:inset 0 0 0 9999px rgb(13, 110, 253);box-shadow:inset 0 0 0 9999px rgb(var(--dt-row-selected));color:rgb(255, 255, 255);color:rgb(var(--dt-row-selected-text))}table.table.dataTable>tbody>tr.selected a{color:rgb(9, 10, 11);color:rgb(var(--dt-row-selected-link))}table.table.dataTable.table-striped>tbody>tr:nth-of-type(2n+1)>*{box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-stripe), 0.05)}table.table.dataTable.table-striped>tbody>tr:nth-of-type(2n+1).selected>*{box-shadow:inset 0 0 0 9999px rgba(13, 110, 253, 0.95);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.95)}table.table.dataTable.table-hover>tbody>tr:hover>*{box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-hover), 0.075)}table.table.dataTable.table-hover>tbody>tr.selected:hover>*{box-shadow:inset 0 0 0 9999px rgba(13, 110, 253, 0.975);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.975)}div.dt-container div.dt-layout-start>*:not(:last-child){margin-right:1em}div.dt-container div.dt-layout-end>*:not(:first-child){margin-left:1em}div.dt-container div.dt-layout-full{width:100%}div.dt-container div.dt-layout-full>*:only-child{margin-left:auto;margin-right:auto}div.dt-container div.dt-layout-table>div{display:block !important}@media screen and (max-width: 767px){div.dt-container div.dt-layout-start>*:not(:last-child){margin-right:0}div.dt-container div.dt-layout-end>*:not(:first-child){margin-left:0}}div.dt-container div.dt-length label{font-weight:normal;text-align:left;white-space:nowrap}div.dt-container div.dt-length select{width:auto;display:inline-block;margin-right:.5em}div.dt-container div.dt-search{text-align:right}div.dt-container div.dt-search label{font-weight:normal;white-space:nowrap;text-align:left}div.dt-container div.dt-search input{margin-left:.5em;display:inline-block;width:auto}div.dt-container div.dt-paging{margin:0}div.dt-container div.dt-paging ul.pagination{margin:2px 0;flex-wrap:wrap}div.dt-container div.dt-row{position:relative}div.dt-scroll-head table.dataTable{margin-bottom:0 !important}div.dt-scroll-body{border-bottom-color:var(--bs-border-color);border-bottom-width:var(--bs-border-width);border-bottom-style:solid}div.dt-scroll-body>table{border-top:none;margin-top:0 !important;margin-bottom:0 !important}div.dt-scroll-body>table>tbody>tr:first-child{border-top-width:0}div.dt-scroll-body>table>thead>tr{border-width:0 !important}div.dt-scroll-body>table>tbody>tr:last-child>*{border-bottom:none}div.dt-scroll-foot>.dt-scroll-footInner{box-sizing:content-box}div.dt-scroll-foot>.dt-scroll-footInner>table{margin-top:0 !important;border-top:none}div.dt-scroll-foot>.dt-scroll-footInner>table>tfoot>tr:first-child{border-top-width:0 !important}@media screen and (max-width: 767px){div.dt-container div.dt-length,div.dt-container div.dt-search,div.dt-container div.dt-info,div.dt-container div.dt-paging{text-align:center}div.dt-container .row{--bs-gutter-y: 0.5rem}div.dt-container div.dt-paging ul.pagination{justify-content:center !important}}table.dataTable.table-sm>thead>tr th.dt-orderable-asc,table.dataTable.table-sm>thead>tr th.dt-orderable-desc,table.dataTable.table-sm>thead>tr th.dt-ordering-asc,table.dataTable.table-sm>thead>tr th.dt-ordering-desc,table.dataTable.table-sm>thead>tr td.dt-orderable-asc,table.dataTable.table-sm>thead>tr td.dt-orderable-desc,table.dataTable.table-sm>thead>tr td.dt-ordering-asc,table.dataTable.table-sm>thead>tr td.dt-ordering-desc{padding-right:20px}table.dataTable.table-sm>thead>tr th.dt-orderable-asc span.dt-column-order,table.dataTable.table-sm>thead>tr th.dt-orderable-desc span.dt-column-order,table.dataTable.table-sm>thead>tr th.dt-ordering-asc span.dt-column-order,table.dataTable.table-sm>thead>tr th.dt-ordering-desc span.dt-column-order,table.dataTable.table-sm>thead>tr td.dt-orderable-asc span.dt-column-order,table.dataTable.table-sm>thead>tr td.dt-orderable-desc span.dt-column-order,table.dataTable.table-sm>thead>tr td.dt-ordering-asc span.dt-column-order,table.dataTable.table-sm>thead>tr td.dt-ordering-desc span.dt-column-order{right:5px}div.dt-scroll-head table.table-bordered{border-bottom-width:0}div.table-responsive>div.dt-container>div.row{margin:0}div.table-responsive>div.dt-container>div.row>div[class^=col-]:first-child{padding-left:0}div.table-responsive>div.dt-container>div.row>div[class^=col-]:last-child{padding-right:0}:root[data-bs-theme=dark]{--dt-row-hover: 255, 255, 255;--dt-row-stripe: 255, 255, 255;--dt-column-ordering: 255, 255, 255} \ No newline at end of file diff --git a/templates/assets/js/datatables.bootstrap5.min.js b/templates/assets/js/datatables.bootstrap5.min.js new file mode 100644 index 00000000..de7a4ae7 --- /dev/null +++ b/templates/assets/js/datatables.bootstrap5.min.js @@ -0,0 +1,64 @@ +/*! DataTables Bootstrap 5 integration + * © SpryMedia Ltd - datatables.net/license + */ +!(function (n) { + var o, r; + "function" == typeof define && define.amd + ? define(["jquery", "datatables.net"], function (t) { + return n(t, window, document); + }) + : "object" == typeof exports + ? ((o = require("jquery")), + (r = function (t, e) { + e.fn.dataTable || require("datatables.net")(t, e); + }), + "undefined" == typeof window + ? (module.exports = function (t, e) { + return ( + (t = t || window), (e = e || o(t)), r(t, e), n(e, 0, t.document) + ); + }) + : (r(window, o), (module.exports = n(o, window, window.document)))) + : n(jQuery, window, document); +})(function (d, t, e) { + "use strict"; + var n = d.fn.dataTable; + return ( + d.extend(!0, n.defaults, { renderer: "bootstrap" }), + d.extend(!0, n.ext.classes, { + container: "dt-container dt-bootstrap5", + search: { input: "form-control form-control-sm" }, + length: { select: "form-select form-select-sm" }, + processing: { container: "dt-processing card" }, + layout: { + row: "row mt-2 justify-content-between", + cell: "d-md-flex justify-content-between align-items-center", + tableCell: "col-12", + start: "dt-layout-start col-md-auto me-auto", + end: "dt-layout-end col-md-auto ms-auto", + full: "dt-layout-full col-md", + }, + }), + (n.ext.renderer.pagingButton.bootstrap = function (t, e, n, o, r) { + var a = ["dt-paging-button", "page-item"], + o = + (o && a.push("active"), + r && a.push("disabled"), + d("
  • ").addClass(a.join(" "))); + return { + display: o, + clicker: d("