diff --git a/package-lock.json b/package-lock.json index 384e858..0e81ce0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,36 +1,58 @@ { "name": "portmap", "version": "1.0.0", - "lockfileVersion": 1, + "lockfileVersion": 3, "requires": true, - "dependencies": { - "@aashutoshrathi/word-wrap": { + "packages": { + "": { + "name": "portmap", + "version": "1.0.0", + "license": "ISC", + "devDependencies": { + "eslint": "^8.57.0", + "eslint-config-prettier": "^9.1.0", + "prettier": "^3.6.2" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "@eslint-community/eslint-utils": { + "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, - "requires": { + "dependencies": { "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "@eslint-community/regexpp": { + "node_modules/@eslint-community/regexpp": { "version": "4.10.0", "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", - "dev": true + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } }, - "@eslint/eslintrc": { + "node_modules/@eslint/eslintrc": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, - "requires": { + "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^9.6.0", @@ -40,214 +62,299 @@ "js-yaml": "^4.1.0", "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "@eslint/js": { + "node_modules/@eslint/js": { "version": "8.57.0", "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", - "dev": true + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } }, - "@humanwhocodes/config-array": { + "node_modules/@humanwhocodes/config-array": { "version": "0.11.14", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "deprecated": "Use @eslint/config-array instead", "dev": true, - "requires": { + "dependencies": { "@humanwhocodes/object-schema": "^2.0.2", "debug": "^4.3.1", "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" } }, - "@humanwhocodes/module-importer": { + "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } }, - "@humanwhocodes/object-schema": { + "node_modules/@humanwhocodes/object-schema": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", "dev": true }, - "@nodelib/fs.scandir": { + "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, - "requires": { + "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" } }, - "@nodelib/fs.stat": { + "node_modules/@nodelib/fs.stat": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true + "dev": true, + "engines": { + "node": ">= 8" + } }, - "@nodelib/fs.walk": { + "node_modules/@nodelib/fs.walk": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, - "requires": { + "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" } }, - "@ungap/structured-clone": { + "node_modules/@ungap/structured-clone": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", "dev": true }, - "acorn": { + "node_modules/acorn": { "version": "8.11.3", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "dev": true + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } }, - "acorn-jsx": { + "node_modules/acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } }, - "ajv": { + "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "requires": { + "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "ansi-regex": { + "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + } }, - "ansi-styles": { + "node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "requires": { + "dependencies": { "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "argparse": { + "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "balanced-match": { + "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, - "brace-expansion": { + "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "requires": { + "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "callsites": { + "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "chalk": { + "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "requires": { + "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "color-convert": { + "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "requires": { + "dependencies": { "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "color-name": { + "node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "concat-map": { + "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, - "cross-spawn": { + "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, - "requires": { + "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" } }, - "debug": { + "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, - "requires": { + "dependencies": { "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "deep-is": { + "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, - "doctrine": { + "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, - "requires": { + "dependencies": { "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" } }, - "escape-string-regexp": { + "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "eslint": { + "node_modules/eslint": { "version": "8.57.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, - "requires": { + "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", @@ -286,542 +393,778 @@ "optionator": "^0.9.3", "strip-ansi": "^6.0.1", "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "eslint-config-prettier": { + "node_modules/eslint-config-prettier": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", - "dev": true + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } }, - "eslint-scope": { + "node_modules/eslint-scope": { "version": "7.2.2", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, - "requires": { + "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "eslint-visitor-keys": { + "node_modules/eslint-visitor-keys": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } }, - "espree": { + "node_modules/espree": { "version": "9.6.1", "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, - "requires": { + "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "esquery": { + "node_modules/esquery": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, - "requires": { + "dependencies": { "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" } }, - "esrecurse": { + "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, - "requires": { + "dependencies": { "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" } }, - "estraverse": { + "node_modules/estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true + "dev": true, + "engines": { + "node": ">=4.0" + } }, - "esutils": { + "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "fast-deep-equal": { + "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, - "fast-json-stable-stringify": { + "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, - "fast-levenshtein": { + "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, - "fastq": { + "node_modules/fastq": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "dev": true, - "requires": { + "dependencies": { "reusify": "^1.0.4" } }, - "file-entry-cache": { + "node_modules/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, - "requires": { + "dependencies": { "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" } }, - "find-up": { + "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, - "requires": { + "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "flat-cache": { + "node_modules/flat-cache": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, - "requires": { + "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.3", "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" } }, - "flatted": { + "node_modules/flatted": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", "dev": true }, - "fs.realpath": { + "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, - "glob": { + "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, - "requires": { + "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "glob-parent": { + "node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, - "requires": { + "dependencies": { "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" } }, - "globals": { + "node_modules/globals": { "version": "13.24.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, - "requires": { + "dependencies": { "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "graphemer": { + "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, - "has-flag": { + "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + } }, - "ignore": { + "node_modules/ignore": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "dev": true + "dev": true, + "engines": { + "node": ">= 4" + } }, - "import-fresh": { + "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, - "requires": { + "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "imurmurhash": { + "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.8.19" + } }, - "inflight": { + "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, - "requires": { + "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, - "inherits": { + "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "is-extglob": { + "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "is-glob": { + "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "requires": { + "dependencies": { "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "is-path-inside": { + "node_modules/is-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + } }, - "isexe": { + "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, - "js-yaml": { + "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, - "requires": { + "dependencies": { "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "json-buffer": { + "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true }, - "json-schema-traverse": { + "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "json-stable-stringify-without-jsonify": { + "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, - "keyv": { + "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, - "requires": { + "dependencies": { "json-buffer": "3.0.1" } }, - "levn": { + "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, - "requires": { + "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" } }, - "locate-path": { + "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, - "requires": { + "dependencies": { "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "lodash.merge": { + "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "minimatch": { + "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "requires": { + "dependencies": { "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "ms": { + "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "natural-compare": { + "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "once": { + "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, - "requires": { + "dependencies": { "wrappy": "1" } }, - "optionator": { + "node_modules/optionator": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, - "requires": { + "dependencies": { "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" } }, - "p-limit": { + "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, - "requires": { + "dependencies": { "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "p-locate": { + "node_modules/p-locate": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, - "requires": { + "dependencies": { "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "parent-module": { + "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, - "requires": { + "dependencies": { "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "path-exists": { + "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + } }, - "path-is-absolute": { + "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "path-key": { + "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + } }, - "prelude-ls": { + "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8.0" + } }, - "prettier": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", - "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", - "dev": true + "node_modules/prettier": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", + "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } }, - "punycode": { + "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "queue-microtask": { + "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "resolve-from": { + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "reusify": { + "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } }, - "rimraf": { + "node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, - "requires": { + "dependencies": { "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "run-parallel": { + "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, - "requires": { + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { "queue-microtask": "^1.2.2" } }, - "shebang-command": { + "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "requires": { + "dependencies": { "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "shebang-regex": { + "node_modules/shebang-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + } }, - "strip-ansi": { + "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "requires": { + "dependencies": { "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "strip-json-comments": { + "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "supports-color": { + "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "requires": { + "dependencies": { "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "text-table": { + "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, - "type-check": { + "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, - "requires": { + "dependencies": { "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" } }, - "type-fest": { + "node_modules/type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "uri-js": { + "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, - "requires": { + "dependencies": { "punycode": "^2.1.0" } }, - "which": { + "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "requires": { + "dependencies": { "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "wrappy": { + "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, - "yocto-queue": { + "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } } } diff --git a/package.json b/package.json index 7abd75c..b2d6d55 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,6 @@ "devDependencies": { "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", - "prettier": "^3.2.5" + "prettier": "^3.6.2" } } diff --git a/static/css/article.css b/static/css/article.css new file mode 100644 index 0000000..1661db5 --- /dev/null +++ b/static/css/article.css @@ -0,0 +1,206 @@ +.articles-grid { + display: flex; + flex-direction: column; + gap: 24px; + margin-top: 2rem; +} + +.article-card { + background: white; + border-radius: 16px; + padding: 24px; + box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08); + border: 1px solid #e5e5e5; + transition: all 0.3s ease; + opacity: 0; + transform: translateY(30px); + animation: fadeInUp 0.6s ease forwards; +} + +.article-card:hover { + transform: translateY(-3px); + box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12); + border-color: #0b9a33; +} + +.article-header { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 16px; + flex-wrap: wrap; + gap: 12px; +} + +.article-title-link { + text-decoration: none; + flex: 1; + min-width: 0; +} + +.article-title { + font-size: 1.1rem; + font-weight: 600; + color: #1a202c; + margin: 0; + line-height: 1.4; + transition: color 0.2s ease; + text-underline: #0b9a33; + text-decoration: underline; +} + +.article-title-link:hover .article-title { + color: #0b9a33; +} + +.datatype-badge { + background: linear-gradient(135deg, #3e9f59, #0b9a33); + color: white; + padding: 8px 16px; + border-radius: 10px; + font-size: 0.85rem; + font-weight: 500; + text-transform: capitalize; + white-space: nowrap; + box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3); + border: none; + display: inline-block; +} + +.article-meta { + display: flex; + align-items: center; + justify-content: space-between; + color: #666; + font-size: 0.95rem; + margin-top: 8px; +} + +.source-destination { + display: flex; + flex-direction: column; + gap: 12px; + flex: 1; +} + +.source, +.destination { + align-items: flex-start; + gap: 8px; + padding: 10px 16px; + background: rgba(102, 126, 234, 0.08); + border-radius: 12px; + border: 1px solid rgba(102, 126, 234, 0.15); + font-weight: 500; + color: #4a5568; + width: 100%; + min-height: 44px; +} + +.source-text, +.destination-text { + word-wrap: break-word; + overflow-wrap: break-word; + hyphens: auto; + line-height: 1.5; + flex: 1; +} + +.source::before { + content: '📁'; + font-size: 0.9rem; +} + +.destination::before { + content: '📂'; + font-size: 0.9rem; +} + +.arrow { + display: none; +} + +.source-label, +.destination-label { + font-weight: 500; + color: #555; +} + +/* Responsive Design */ +@media (max-width: 768px) { + .blog-container { + padding: 0 16px; + } + + .blog-hero-title { + font-size: 2rem; + } + + .article-header { + flex-direction: column; + align-items: flex-start; + gap: 16px; + } + + .article-title { + font-size: 1.2rem; + } + + .article-meta { + flex-direction: column; + align-items: flex-start; + gap: 8px; + } + + .source-destination { + flex-direction: column; + align-items: flex-start; + gap: 8px; + } + + .arrow { + display: none; + } +} + +/* Animations */ +@keyframes fadeInUp { + from { + opacity: 0; + transform: translateY(30px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + +.article-card:nth-child(1) { + animation-delay: 0.1s; +} +.article-card:nth-child(2) { + animation-delay: 0.2s; +} +.article-card:nth-child(3) { + animation-delay: 0.3s; +} +.article-card:nth-child(4) { + animation-delay: 0.4s; +} +.article-card:nth-child(5) { + animation-delay: 0.5s; +} +.article-card:nth-child(6) { + animation-delay: 0.6s; +} +.article-card:nth-child(7) { + animation-delay: 0.7s; +} +.article-card:nth-child(8) { + animation-delay: 0.8s; +} + +/* Hide old table styling */ +table { + display: none; +} diff --git a/static/js/htmx.min.js b/static/js/htmx.min.js index 998414c..533ab2b 100644 --- a/static/js/htmx.min.js +++ b/static/js/htmx.min.js @@ -1 +1,2696 @@ -(function(e,t){if(typeof define==="function"&&define.amd){define([],t)}else{e.htmx=t()}})(typeof self!=="undefined"?self:this,function(){return function(){"use strict";var U={onLoad:t,process:ct,on:M,off:D,trigger:$,ajax:er,find:C,findAll:R,closest:H,values:function(e,t){var r=Mt(e,t||"post");return r.values},remove:O,addClass:L,removeClass:q,toggleClass:A,takeClass:T,defineExtension:or,removeExtension:ar,logAll:E,logger:null,config:{historyEnabled:true,historyCacheSize:10,refreshOnHistoryMiss:false,defaultSwapStyle:"innerHTML",defaultSwapDelay:0,defaultSettleDelay:20,includeIndicatorStyles:true,indicatorClass:"htmx-indicator",requestClass:"htmx-request",addedClass:"htmx-added",settlingClass:"htmx-settling",swappingClass:"htmx-swapping",allowEval:true,inlineScriptNonce:"",attributesToSettle:["class","style","width","height"],withCredentials:false,timeout:0,wsReconnectDelay:"full-jitter",disableSelector:"[hx-disable], [data-hx-disable]",useTemplateFragments:false,scrollBehavior:"smooth",defaultFocusScroll:false},parseInterval:v,_:e,createEventSource:function(e){return new EventSource(e,{withCredentials:true})},createWebSocket:function(e){return new WebSocket(e,[])},version:"1.7.0"};var r={bodyContains:Y,filterValues:jt,hasAttribute:s,getAttributeValue:V,getClosestMatch:h,getExpressionVars:Gt,getHeaders:Xt,getInputValues:Mt,getInternalData:_,getSwapSpecification:Ut,getTriggerSpecs:ke,getTarget:ne,makeFragment:g,mergeObjects:Q,makeSettleInfo:zt,oobSwap:B,selectAndSwap:we,settleImmediately:Ct,shouldCancel:Pe,triggerEvent:$,triggerErrorEvent:J,withExtensions:gt};var n=["get","post","put","delete","patch"];var i=n.map(function(e){return"[hx-"+e+"], [data-hx-"+e+"]"}).join(", ");function v(e){if(e==undefined){return undefined}if(e.slice(-2)=="ms"){return parseFloat(e.slice(0,-2))||undefined}if(e.slice(-1)=="s"){return parseFloat(e.slice(0,-1))*1e3||undefined}return parseFloat(e)||undefined}function f(e,t){return e.getAttribute&&e.getAttribute(t)}function s(e,t){return e.hasAttribute&&(e.hasAttribute(t)||e.hasAttribute("data-"+t))}function V(e,t){return f(e,t)||f(e,"data-"+t)}function u(e){return e.parentElement}function z(){return document}function h(e,t){if(t(e)){return e}else if(u(e)){return h(u(e),t)}else{return null}}function o(e,t,r){var n=V(t,r);var i=V(t,"hx-disinherit");if(e!==t&&i&&(i==="*"||i.split(" ").indexOf(r)>=0)){return"unset"}else{return n}}function G(t,r){var n=null;h(t,function(e){return n=o(t,e,r)});if(n!=="unset"){return n}}function d(e,t){var r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector;return r&&r.call(e,t)}function a(e){var t=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i;var r=t.exec(e);if(r){return r[1].toLowerCase()}else{return""}}function l(e,t){var r=new DOMParser;var n=r.parseFromString(e,"text/html");var i=n.body;while(t>0){t--;i=i.firstChild}if(i==null){i=z().createDocumentFragment()}return i}function g(e){if(U.config.useTemplateFragments){var t=l("",0);return t.querySelector("template").content}else{var r=a(e);switch(r){case"thead":case"tbody":case"tfoot":case"colgroup":case"caption":return l(""+e+"
",1);case"col":return l(""+e+"
",2);case"tr":return l(""+e+"
",2);case"td":case"th":return l(""+e+"
",3);case"script":return l("
"+e+"
",1);default:return l(e,0)}}}function K(e){if(e){e()}}function p(e,t){return Object.prototype.toString.call(e)==="[object "+t+"]"}function m(e){return p(e,"Function")}function x(e){return p(e,"Object")}function _(e){var t="htmx-internal-data";var r=e[t];if(!r){r=e[t]={}}return r}function y(e){var t=[];if(e){for(var r=0;r=0}function Y(e){if(e.getRootNode()instanceof ShadowRoot){return z().body.contains(e.getRootNode().host)}else{return z().body.contains(e)}}function w(e){return e.trim().split(/\s+/)}function Q(e,t){for(var r in t){if(t.hasOwnProperty(r)){e[r]=t[r]}}return e}function S(e){try{return JSON.parse(e)}catch(e){pt(e);return null}}function e(e){return Jt(z().body,function(){return eval(e)})}function t(t){var e=U.on("htmx:load",function(e){t(e.detail.elt)});return e}function E(){U.logger=function(e,t,r){if(console){console.log(t,e,r)}}}function C(e,t){if(t){return e.querySelector(t)}else{return C(z(),e)}}function R(e,t){if(t){return e.querySelectorAll(t)}else{return R(z(),e)}}function O(e,t){e=k(e);if(t){setTimeout(function(){O(e)},t)}else{e.parentElement.removeChild(e)}}function L(e,t,r){e=k(e);if(r){setTimeout(function(){L(e,t)},r)}else{e.classList&&e.classList.add(t)}}function q(e,t,r){e=k(e);if(r){setTimeout(function(){q(e,t)},r)}else{if(e.classList){e.classList.remove(t);if(e.classList.length===0){e.removeAttribute("class")}}}}function A(e,t){e=k(e);e.classList.toggle(t)}function T(e,t){e=k(e);W(e.parentElement.children,function(e){q(e,t)});L(e,t)}function H(e,t){e=k(e);if(e.closest){return e.closest(t)}else{do{if(e==null||d(e,t)){return e}}while(e=e&&u(e))}}function N(e,t){if(t.indexOf("closest ")===0){return[H(e,t.substr(8))]}else if(t.indexOf("find ")===0){return[C(e,t.substr(5))]}else if(t==="document"){return[document]}else if(t==="window"){return[window]}else{return z().querySelectorAll(t)}}function ee(e,t){if(t){return N(e,t)[0]}else{return N(z().body,e)[0]}}function k(e){if(p(e,"String")){return C(e)}else{return e}}function I(e,t,r){if(m(t)){return{target:z().body,event:e,listener:t}}else{return{target:k(e),event:t,listener:r}}}function M(t,r,n){lr(function(){var e=I(t,r,n);e.target.addEventListener(e.event,e.listener)});var e=m(r);return e?r:n}function D(t,r,n){lr(function(){var e=I(t,r,n);e.target.removeEventListener(e.event,e.listener)});return m(r)?r:n}var te=z().createElement("output");function F(e,t){var r=G(e,t);if(r){if(r==="this"){return[re(e,t)]}else{var n=N(e,r);if(n.length===0){pt('The selector "'+r+'" on '+t+" returned no matches!");return[te]}else{return n}}}}function re(e,t){return h(e,function(e){return V(e,t)!=null})}function ne(e){var t=G(e,"hx-target");if(t){if(t==="this"){return re(e,"hx-target")}else{return ee(e,t)}}else{var r=_(e);if(r.boosted){return z().body}else{return e}}}function P(e){var t=U.config.attributesToSettle;for(var r=0;r0){a=e.substr(0,e.indexOf(":"));t=e.substr(e.indexOf(":")+1,e.length)}else{a=e}var r=z().querySelectorAll(t);if(r){W(r,function(e){var t;var r=i.cloneNode(true);t=z().createDocumentFragment();t.appendChild(r);if(!j(a,e)){t=r}var n={shouldSwap:true,target:e,fragment:t};if(!$(e,"htmx:oobBeforeSwap",n))return;e=n.target;if(n["shouldSwap"]){ye(a,e,e,t,o)}W(o.elts,function(e){$(e,"htmx:oobAfterSwap",n)})});i.parentNode.removeChild(i)}else{i.parentNode.removeChild(i);J(z().body,"htmx:oobErrorNoTarget",{content:i})}return e}function ie(e,r){W(R(e,"[hx-swap-oob], [data-hx-swap-oob]"),function(e){var t=V(e,"hx-swap-oob");if(t!=null){B(t,e,r)}})}function oe(e){W(R(e,"[hx-preserve], [data-hx-preserve]"),function(e){var t=V(e,"id");var r=z().getElementById(t);if(r!=null){e.parentNode.replaceChild(r,e)}})}function ae(n,e,i){W(e.querySelectorAll("[id]"),function(e){if(e.id&&e.id.length>0){var t=n.querySelector(e.tagName+"[id='"+e.id+"']");if(t&&t!==n){var r=e.cloneNode();X(e,t);i.tasks.push(function(){X(e,r)})}}})}function se(e){return function(){q(e,U.config.addedClass);ct(e);at(e);le(e);$(e,"htmx:load")}}function le(e){var t="[autofocus]";var r=d(e,t)?e:e.querySelector(t);if(r!=null){r.focus()}}function ue(e,t,r,n){ae(e,r,n);while(r.childNodes.length>0){var i=r.firstChild;L(i,U.config.addedClass);e.insertBefore(i,t);if(i.nodeType!==Node.TEXT_NODE&&i.nodeType!==Node.COMMENT_NODE){n.tasks.push(se(i))}}}function fe(t){var e=_(t);if(e.webSocket){e.webSocket.close()}if(e.sseEventSource){e.sseEventSource.close()}$(t,"htmx:beforeCleanupElement");if(e.listenerInfos){W(e.listenerInfos,function(e){if(t!==e.on){e.on.removeEventListener(e.trigger,e.listener)}})}if(t.children){W(t.children,function(e){fe(e)})}}function ce(e,t,r){if(e.tagName==="BODY"){return me(e,t,r)}else{var n;var i=e.previousSibling;ue(u(e),e,t,r);if(i==null){n=u(e).firstChild}else{n=i.nextSibling}_(e).replacedWith=n;r.elts=[];while(n&&n!==e){if(n.nodeType===Node.ELEMENT_NODE){r.elts.push(n)}n=n.nextElementSibling}fe(e);u(e).removeChild(e)}}function he(e,t,r){return ue(e,e.firstChild,t,r)}function de(e,t,r){return ue(u(e),e,t,r)}function ve(e,t,r){return ue(e,null,t,r)}function ge(e,t,r){return ue(u(e),e.nextSibling,t,r)}function pe(e,t,r){fe(e);return u(e).removeChild(e)}function me(e,t,r){var n=e.firstChild;ue(e,n,t,r);if(n){while(n.nextSibling){fe(n.nextSibling);e.removeChild(n.nextSibling)}fe(n);e.removeChild(n)}}function xe(e,t){var r=G(e,"hx-select");if(r){var n=z().createDocumentFragment();W(t.querySelectorAll(r),function(e){n.appendChild(e)});t=n}return t}function ye(e,t,r,n,i){switch(e){case"none":return;case"outerHTML":ce(r,n,i);return;case"afterbegin":he(r,n,i);return;case"beforebegin":de(r,n,i);return;case"beforeend":ve(r,n,i);return;case"afterend":ge(r,n,i);return;case"delete":pe(r,n,i);return;default:var o=sr(t);for(var a=0;a-1){var t=e.replace(/]*>|>)([\s\S]*?)<\/svg>/gim,"");var r=t.match(/]*>|>)([\s\S]*?)<\/title>/im);if(r){return r[2]}}}function we(e,t,r,n,i){i.title=be(n);var o=g(n);if(o){ie(o,i);o=xe(r,o);oe(o);return ye(e,r,t,o,i)}}function Se(e,t,r){var n=e.getResponseHeader(t);if(n.indexOf("{")===0){var i=S(n);for(var o in i){if(i.hasOwnProperty(o)){var a=i[o];if(!x(a)){a={value:a}}$(r,o,a)}}}else{$(r,n,[])}}var Ee=/\s/;var Ce=/[\s,]/;var Re=/[_$a-zA-Z]/;var Oe=/[_$a-zA-Z0-9]/;var Le=['"',"'","/"];var qe=/[^\s]/;function Ae(e){var t=[];var r=0;while(r0){var a=t[0];if(a==="]"){n--;if(n===0){if(o===null){i=i+"true"}t.shift();i+=")})";try{var s=Jt(e,function(){return Function(i)()},function(){return true});s.source=i;return s}catch(e){J(z().body,"htmx:syntax:error",{error:e,source:i});return null}}}else if(a==="["){n++}if(Te(a,o,r)){i+="(("+r+"."+a+") ? ("+r+"."+a+") : (window."+a+"))"}else{i=i+a}o=t.shift()}}}function c(e,t){var r="";while(e.length>0&&!e[0].match(t)){r+=e.shift()}return r}var Ne="input, textarea, select";function ke(e){var t=V(e,"hx-trigger");var r=[];if(t){var n=Ae(t);do{c(n,qe);var f=n.length;var i=c(n,/[,\[\s]/);if(i!==""){if(i==="every"){var o={trigger:"every"};c(n,qe);o.pollInterval=v(c(n,/[,\[\s]/));c(n,qe);var a=He(e,n,"event");if(a){o.eventFilter=a}r.push(o)}else if(i.indexOf("sse:")===0){r.push({trigger:"sse",sseEvent:i.substr(4)})}else{var s={trigger:i};var a=He(e,n,"event");if(a){s.eventFilter=a}while(n.length>0&&n[0]!==","){c(n,qe);var l=n.shift();if(l==="changed"){s.changed=true}else if(l==="once"){s.once=true}else if(l==="consume"){s.consume=true}else if(l==="delay"&&n[0]===":"){n.shift();s.delay=v(c(n,Ce))}else if(l==="from"&&n[0]===":"){n.shift();var u=c(n,Ce);if(u==="closest"||u==="find"){n.shift();u+=" "+c(n,Ce)}s.from=u}else if(l==="target"&&n[0]===":"){n.shift();s.target=c(n,Ce)}else if(l==="throttle"&&n[0]===":"){n.shift();s.throttle=v(c(n,Ce))}else if(l==="queue"&&n[0]===":"){n.shift();s.queue=c(n,Ce)}else if((l==="root"||l==="threshold")&&n[0]===":"){n.shift();s[l]=c(n,Ce)}else{J(e,"htmx:syntax:error",{token:n.shift()})}}r.push(s)}}if(n.length===f){J(e,"htmx:syntax:error",{token:n.shift()})}c(n,qe)}while(n[0]===","&&n.shift())}if(r.length>0){return r}else if(d(e,"form")){return[{trigger:"submit"}]}else if(d(e,Ne)){return[{trigger:"change"}]}else{return[{trigger:"click"}]}}function Ie(e){_(e).cancelled=true}function Me(e,t,r,n){var i=_(e);i.timeout=setTimeout(function(){if(Y(e)&&i.cancelled!==true){if(!je(n,dt("hx:poll:trigger",{triggerSpec:n,target:e}))){Z(t,r,e)}Me(e,t,V(e,"hx-"+t),n)}},n.pollInterval)}function De(e){return location.hostname===e.hostname&&f(e,"href")&&f(e,"href").indexOf("#")!==0}function Fe(t,r,e){if(t.tagName==="A"&&De(t)&&t.target===""||t.tagName==="FORM"){r.boosted=true;var n,i;if(t.tagName==="A"){n="get";i=f(t,"href");r.pushURL=true}else{var o=f(t,"method");n=o?o.toLowerCase():"get";if(n==="get"){r.pushURL=true}i=f(t,"action")}e.forEach(function(e){Be(t,n,i,r,e,true)})}}function Pe(e,t){if(e.type==="submit"||e.type==="click"){if(t.tagName==="FORM"){return true}if(d(t,'input[type="submit"], button')&&H(t,"form")!==null){return true}if(t.tagName==="A"&&t.href&&(t.getAttribute("href")==="#"||t.getAttribute("href").indexOf("#")!==0)){return true}}return false}function Xe(e,t){return _(e).boosted&&e.tagName==="A"&&t.type==="click"&&(t.ctrlKey||t.metaKey)}function je(e,t){var r=e.eventFilter;if(r){try{return r(t)!==true}catch(e){J(z().body,"htmx:eventFilter:error",{error:e,source:r.source});return true}}return false}function Be(o,a,s,e,l,u){var t;if(l.from){t=N(o,l.from)}else{t=[o]}W(t,function(n){var i=function(e){if(!Y(o)){n.removeEventListener(l.trigger,i);return}if(Xe(o,e)){return}if(u||Pe(e,o)){e.preventDefault()}if(je(l,e)){return}var t=_(e);t.triggerSpec=l;if(t.handledFor==null){t.handledFor=[]}var r=_(o);if(t.handledFor.indexOf(o)<0){t.handledFor.push(o);if(l.consume){e.stopPropagation()}if(l.target&&e.target){if(!d(e.target,l.target)){return}}if(l.once){if(r.triggeredOnce){return}else{r.triggeredOnce=true}}if(l.changed){if(r.lastValue===o.value){return}else{r.lastValue=o.value}}if(r.delayed){clearTimeout(r.delayed)}if(r.throttle){return}if(l.throttle){if(!r.throttle){Z(a,s,o,e);r.throttle=setTimeout(function(){r.throttle=null},l.throttle)}}else if(l.delay){r.delayed=setTimeout(function(){Z(a,s,o,e)},l.delay)}else{Z(a,s,o,e)}}};if(e.listenerInfos==null){e.listenerInfos=[]}e.listenerInfos.push({trigger:l.trigger,listener:i,on:n});n.addEventListener(l.trigger,i)})}var Ue=false;var Ve=null;function ze(){if(!Ve){Ve=function(){Ue=true};window.addEventListener("scroll",Ve);setInterval(function(){if(Ue){Ue=false;W(z().querySelectorAll("[hx-trigger='revealed'],[data-hx-trigger='revealed']"),function(e){_e(e)})}},200)}}function _e(e){if(!s(e,"data-hx-revealed")&&b(e)){e.setAttribute("data-hx-revealed","true");var t=_(e);if(t.initialized){Z(t.verb,t.path,e)}else{e.addEventListener("htmx:afterProcessNode",function(){Z(t.verb,t.path,e)},{once:true})}}}function We(e,t,r){var n=w(r);for(var i=0;i=0){var t=Ge(n);setTimeout(function(){Je(s,r,n+1)},t)}};t.onopen=function(e){n=0};_(s).webSocket=t;t.addEventListener("message",function(e){if($e(s)){return}var t=e.data;gt(s,function(e){t=e.transformResponse(t,null,s)});var r=zt(s);var n=g(t);var i=y(n.children);for(var o=0;o0){$(u,"htmx:validation:halted",i);return}t.send(JSON.stringify(l));if(Pe(e,u)){e.preventDefault()}})}else{J(u,"htmx:noWebSocketSourceError")}}function Ge(e){var t=U.config.wsReconnectDelay;if(typeof t==="function"){return t(e)}if(t==="full-jitter"){var r=Math.min(e,6);var n=1e3*Math.pow(2,r);return n*Math.random()}pt('htmx.config.wsReconnectDelay must either be a function or the string "full-jitter"')}function Ke(e,t,r){var n=w(r);for(var i=0;iU.config.historyCacheSize){i.shift()}while(i.length>0){try{localStorage.setItem("htmx-history-cache",JSON.stringify(i));break}catch(e){J(z().body,"htmx:historyCacheError",{cause:e,cache:i});i.shift()}}}function bt(e){var t=S(localStorage.getItem("htmx-history-cache"))||[];for(var r=0;r=200&&this.status<400){$(z().body,"htmx:historyCacheMissLoad",i);var e=g(this.response);e=e.querySelector("[hx-history-elt],[data-hx-history-elt]")||e;var t=xt();var r=zt(t);me(t,e,r);Ct(r.tasks);mt=n;$(z().body,"htmx:historyRestore",{path:n})}else{J(z().body,"htmx:historyCacheMissLoadError",i)}};e.send()}function Ot(e){St();e=e||location.pathname+location.search;var t=bt(e);if(t){var r=g(t.content);var n=xt();var i=zt(n);me(n,r,i);Ct(i.tasks);document.title=t.title;window.scrollTo(0,t.scroll);mt=e;$(z().body,"htmx:historyRestore",{path:e})}else{if(U.config.refreshOnHistoryMiss){window.location.reload(true)}else{Rt(e)}}}function Lt(e){var t=G(e,"hx-push-url");return t&&t!=="false"||_(e).boosted&&_(e).pushURL}function qt(e){var t=G(e,"hx-push-url");return t==="true"||t==="false"?null:t}function At(e){var t=F(e,"hx-indicator");if(t==null){t=[e]}W(t,function(e){e.classList["add"].call(e.classList,U.config.requestClass)});return t}function Tt(e){W(e,function(e){e.classList["remove"].call(e.classList,U.config.requestClass)})}function Ht(e,t){for(var r=0;r=0}function Ut(e,t){var r=t?t:G(e,"hx-swap");var n={swapStyle:_(e).boosted?"innerHTML":U.config.defaultSwapStyle,swapDelay:U.config.defaultSwapDelay,settleDelay:U.config.defaultSettleDelay};if(_(e).boosted&&!Bt(e)){n["show"]="top"}if(r){var i=w(r);if(i.length>0){n["swapStyle"]=i[0];for(var o=1;o0?l.join(":"):null;n["scroll"]=f;n["scrollTarget"]=u}if(a.indexOf("show:")===0){var c=a.substr(5);var l=c.split(":");var h=l.pop();var u=l.length>0?l.join(":"):null;n["show"]=h;n["showTarget"]=u}if(a.indexOf("focus-scroll:")===0){var d=a.substr("focus-scroll:".length);n["focusScroll"]=d=="true"}}}}return n}function Vt(t,r,n){var i=null;gt(r,function(e){if(i==null){i=e.encodeParameters(t,n,r)}});if(i!=null){return i}else{if(G(r,"hx-encoding")==="multipart/form-data"||d(r,"form")&&f(r,"enctype")==="multipart/form-data"){return Pt(n)}else{return Ft(n)}}}function zt(e){return{tasks:[],elts:[e]}}function _t(e,t){var r=e[0];var n=e[e.length-1];if(t.scroll){var i=null;if(t.scrollTarget){i=ee(r,t.scrollTarget)}if(t.scroll==="top"&&(r||i)){i=i||r;i.scrollTop=0}if(t.scroll==="bottom"&&(n||i)){i=i||n;i.scrollTop=i.scrollHeight}}if(t.show){var i=null;if(t.showTarget){var o=t.showTarget;if(t.showTarget==="window"){o="body"}i=ee(r,o)}if(t.show==="top"&&(r||i)){i=i||r;i.scrollIntoView({block:"start",behavior:U.config.scrollBehavior})}if(t.show==="bottom"&&(n||i)){i=i||n;i.scrollIntoView({block:"end",behavior:U.config.scrollBehavior})}}}function Wt(e,t,r,n){if(n==null){n={}}if(e==null){return n}var i=V(e,t);if(i){var o=i.trim();var a=r;if(o.indexOf("javascript:")===0){o=o.substr(11);a=true}else if(o.indexOf("js:")===0){o=o.substr(3);a=true}if(o.indexOf("{")!==0){o="{"+o+"}"}var s;if(a){s=Jt(e,function(){return Function("return ("+o+")")()},{})}else{s=S(o)}for(var l in s){if(s.hasOwnProperty(l)){if(n[l]==null){n[l]=s[l]}}}}return Wt(u(e),t,r,n)}function Jt(e,t,r){if(U.config.allowEval){return t()}else{J(e,"htmx:evalDisallowedError");return r}}function $t(e,t){return Wt(e,"hx-vars",true,t)}function Zt(e,t){return Wt(e,"hx-vals",false,t)}function Gt(e){return Q($t(e),Zt(e))}function Kt(t,r,n){if(n!==null){try{t.setRequestHeader(r,n)}catch(e){t.setRequestHeader(r,encodeURIComponent(n));t.setRequestHeader(r+"-URI-AutoEncoded","true")}}}function Yt(t){if(t.responseURL&&typeof URL!=="undefined"){try{var e=new URL(t.responseURL);return e.pathname+e.search}catch(e){J(z().body,"htmx:badResponseUrl",{url:t.responseURL})}}}function Qt(e,t){return e.getAllResponseHeaders().match(t)}function er(e,t,r){e=e.toLowerCase();if(r){if(r instanceof Element||p(r,"String")){return Z(e,t,null,null,{targetOverride:k(r),returnPromise:true})}else{return Z(e,t,k(r.source),r.event,{handler:r.handler,headers:r.headers,values:r.values,targetOverride:k(r.target),swapOverride:r.swap,returnPromise:true})}}else{return Z(e,t,null,null,{returnPromise:true})}}function tr(e){var t=[];while(e){t.push(e);e=e.parentElement}return t}function Z(e,t,n,f,r){var c=null;var h=null;r=r!=null?r:{};if(r.returnPromise&&typeof Promise!=="undefined"){var d=new Promise(function(e,t){c=e;h=t})}if(n==null){n=z().body}var v=r.handler||rr;if(!Y(n)){return}var g=r.targetOverride||ne(n);if(g==null||g==te){J(n,"htmx:targetError",{target:V(n,"hx-target")});return}var p=n;var i=_(n);var o=G(n,"hx-sync");var m=null;var x=false;if(o){var y=o.split(":");var b=y[0].trim();if(b==="this"){p=re(n,"hx-sync")}else{p=ee(n,b)}o=(y[1]||"drop").trim();i=_(p);if(o==="drop"&&i.xhr&&i.abortable!==true){return}else if(o==="abort"){if(i.xhr){return}else{x=true}}else if(o==="replace"){$(p,"htmx:abort")}else if(o.indexOf("queue")===0){var w=o.split(" ");m=(w[1]||"last").trim()}}if(i.xhr){if(i.abortable){$(p,"htmx:abort")}else{if(m==null){if(f){var S=_(f);if(S&&S.triggerSpec&&S.triggerSpec.queue){m=S.triggerSpec.queue}}if(m==null){m="last"}}if(i.queuedRequests==null){i.queuedRequests=[]}if(m==="first"&&i.queuedRequests.length===0){i.queuedRequests.push(function(){Z(e,t,n,f,r)})}else if(m==="all"){i.queuedRequests.push(function(){Z(e,t,n,f,r)})}else if(m==="last"){i.queuedRequests=[];i.queuedRequests.push(function(){Z(e,t,n,f,r)})}return}}var a=new XMLHttpRequest;i.xhr=a;i.abortable=x;var s=function(){i.xhr=null;i.abortable=false;if(i.queuedRequests!=null&&i.queuedRequests.length>0){var e=i.queuedRequests.shift();e()}};var E=G(n,"hx-prompt");if(E){var C=prompt(E);if(C===null||!$(n,"htmx:prompt",{prompt:C,target:g})){K(c);s();return d}}var R=G(n,"hx-confirm");if(R){if(!confirm(R)){K(c);s();return d}}var O=Xt(n,g,C);if(r.headers){O=Q(O,r.headers)}var L=Mt(n,e);var q=L.errors;var A=L.values;if(r.values){A=Q(A,r.values)}var T=Gt(n);var H=Q(A,T);var N=jt(H,n);if(e!=="get"&&G(n,"hx-encoding")==null){O["Content-Type"]="application/x-www-form-urlencoded"}if(t==null||t===""){t=z().location.href}var k=Wt(n,"hx-request");var l={parameters:N,unfilteredParameters:H,headers:O,target:g,verb:e,errors:q,withCredentials:r.credentials||k.credentials||U.config.withCredentials,timeout:r.timeout||k.timeout||U.config.timeout,path:t,triggeringEvent:f};if(!$(n,"htmx:configRequest",l)){K(c);s();return d}t=l.path;e=l.verb;O=l.headers;N=l.parameters;q=l.errors;if(q&&q.length>0){$(n,"htmx:validation:halted",l);K(c);s();return d}var I=t.split("#");var M=I[0];var D=I[1];if(e==="get"){var F=M;var P=Object.keys(N).length!==0;if(P){if(F.indexOf("?")<0){F+="?"}else{F+="&"}F+=Ft(N);if(D){F+="#"+D}}a.open("GET",F,true)}else{a.open(e.toUpperCase(),t,true)}a.overrideMimeType("text/html");a.withCredentials=l.withCredentials;a.timeout=l.timeout;if(k.noHeaders){}else{for(var X in O){if(O.hasOwnProperty(X)){var j=O[X];Kt(a,X,j)}}}var u={xhr:a,target:g,requestConfig:l,etc:r,pathInfo:{path:t,finalPath:F,anchor:D}};a.onload=function(){try{var e=tr(n);v(n,u);Tt(B);$(n,"htmx:afterRequest",u);$(n,"htmx:afterOnLoad",u);if(!Y(n)){var t=null;while(e.length>0&&t==null){var r=e.shift();if(Y(r)){t=r}}if(t){$(t,"htmx:afterRequest",u);$(t,"htmx:afterOnLoad",u)}}K(c);s()}catch(e){J(n,"htmx:onLoadError",Q({error:e},u));throw e}};a.onerror=function(){Tt(B);J(n,"htmx:afterRequest",u);J(n,"htmx:sendError",u);K(h);s()};a.onabort=function(){Tt(B);J(n,"htmx:afterRequest",u);J(n,"htmx:sendAbort",u);K(h);s()};a.ontimeout=function(){Tt(B);J(n,"htmx:afterRequest",u);J(n,"htmx:timeout",u);K(h);s()};if(!$(n,"htmx:beforeRequest",u)){K(c);s();return d}var B=At(n);W(["loadstart","loadend","progress","abort"],function(t){W([a,a.upload],function(e){e.addEventListener(t,function(e){$(n,"htmx:xhr:"+t,{lengthComputable:e.lengthComputable,loaded:e.loaded,total:e.total})})})});$(n,"htmx:beforeSend",u);a.send(e==="get"?null:Vt(a,n,N));return d}function rr(s,l){var u=l.xhr;var f=l.target;var r=l.etc;if(!$(s,"htmx:beforeOnLoad",l))return;if(Qt(u,/HX-Trigger:/i)){Se(u,"HX-Trigger",s)}if(Qt(u,/HX-Push:/i)){var c=u.getResponseHeader("HX-Push")}if(Qt(u,/HX-Redirect:/i)){window.location.href=u.getResponseHeader("HX-Redirect");return}if(Qt(u,/HX-Refresh:/i)){if("true"===u.getResponseHeader("HX-Refresh")){location.reload();return}}if(Qt(u,/HX-Retarget:/i)){l.target=z().querySelector(u.getResponseHeader("HX-Retarget"))}var h;if(c=="false"){h=false}else{h=Lt(s)||c}var n=u.status>=200&&u.status<400&&u.status!==204;var d=u.response;var e=u.status>=400;var t=Q({shouldSwap:n,serverResponse:d,isError:e},l);if(!$(f,"htmx:beforeSwap",t))return;f=t.target;d=t.serverResponse;e=t.isError;l.failed=e;l.successful=!e;if(t.shouldSwap){if(u.status===286){Ie(s)}gt(s,function(e){d=e.transformResponse(d,u,s)});if(h){St()}var i=r.swapOverride;var v=Ut(s,i);f.classList.add(U.config.swappingClass);var o=function(){try{var e=document.activeElement;var t={};try{t={elt:e,start:e?e.selectionStart:null,end:e?e.selectionEnd:null}}catch(e){}var n=zt(f);we(v.swapStyle,f,s,d,n);if(t.elt&&!Y(t.elt)&&t.elt.id){var r=document.getElementById(t.elt.id);var i={preventScroll:v.focusScroll!==undefined?!v.focusScroll:!U.config.defaultFocusScroll};if(r){if(t.start&&r.setSelectionRange){r.setSelectionRange(t.start,t.end)}r.focus(i)}}f.classList.remove(U.config.swappingClass);W(n.elts,function(e){if(e.classList){e.classList.add(U.config.settlingClass)}$(e,"htmx:afterSwap",l)});if(l.pathInfo.anchor){location.hash=l.pathInfo.anchor}if(Qt(u,/HX-Trigger-After-Swap:/i)){var o=s;if(!Y(s)){o=z().body}Se(u,"HX-Trigger-After-Swap",o)}var a=function(){W(n.tasks,function(e){e.call()});W(n.elts,function(e){if(e.classList){e.classList.remove(U.config.settlingClass)}$(e,"htmx:afterSettle",l)});if(h){var e=c||qt(s)||Yt(u)||l.pathInfo.finalPath||l.pathInfo.path;Et(e);$(z().body,"htmx:pushedIntoHistory",{path:e})}if(n.title){var t=C("title");if(t){t.innerHTML=n.title}else{window.document.title=n.title}}_t(n.elts,v);if(Qt(u,/HX-Trigger-After-Settle:/i)){var r=s;if(!Y(s)){r=z().body}Se(u,"HX-Trigger-After-Settle",r)}};if(v.settleDelay>0){setTimeout(a,v.settleDelay)}else{a()}}catch(e){J(s,"htmx:swapError",l);throw e}};if(v.swapDelay>0){setTimeout(o,v.swapDelay)}else{o()}}if(e){J(s,"htmx:responseError",Q({error:"Response Status Error Code "+u.status+" from "+l.pathInfo.path},l))}}var nr={};function ir(){return{init:function(e){return null},onEvent:function(e,t){return true},transformResponse:function(e,t,r){return e},isInlineSwap:function(e){return false},handleSwap:function(e,t,r,n){return false},encodeParameters:function(e,t,r){return null}}}function or(e,t){if(t.init){t.init(r)}nr[e]=Q(ir(),t)}function ar(e){delete nr[e]}function sr(e,r,n){if(e==undefined){return r}if(r==undefined){r=[]}if(n==undefined){n=[]}var t=V(e,"hx-ext");if(t){W(t.split(","),function(e){e=e.replace(/ /g,"");if(e.slice(0,7)=="ignore:"){n.push(e.slice(7));return}if(n.indexOf(e)<0){var t=nr[e];if(t&&r.indexOf(t)<0){r.push(t)}}})}return sr(u(e),r,n)}function lr(e){if(z().readyState!=="loading"){e()}else{z().addEventListener("DOMContentLoaded",e)}}function ur(){if(U.config.includeIndicatorStyles!==false){z().head.insertAdjacentHTML("beforeend","")}}function fr(){var e=z().querySelector('meta[name="htmx-config"]');if(e){return S(e.content)}else{return null}}function cr(){var e=fr();if(e){U.config=Q(U.config,e)}}lr(function(){cr();ur();var e=z().body;ct(e);var t=z().querySelectorAll("[hx-trigger='restored'],[data-hx-trigger='restored']");e.addEventListener("htmx:abort",function(e){var t=e.target;var r=_(t);if(r&&r.xhr){r.xhr.abort()}});window.onpopstate=function(e){if(e.state&&e.state.htmx){Ot();W(t,function(e){$(e,"htmx:restored",{document:z(),triggerEvent:$})})}};setTimeout(function(){$(e,"htmx:load",{})},0)});return U}()}); \ No newline at end of file +(function (e, t) { + if (typeof define === 'function' && define.amd) { + define([], t); + } else { + e.htmx = t(); + } +})(typeof self !== 'undefined' ? self : this, function () { + return (function () { + 'use strict'; + var U = { + onLoad: t, + process: ct, + on: M, + off: D, + trigger: $, + ajax: er, + find: C, + findAll: R, + closest: H, + values: function (e, t) { + var r = Mt(e, t || 'post'); + return r.values; + }, + remove: O, + addClass: L, + removeClass: q, + toggleClass: A, + takeClass: T, + defineExtension: or, + removeExtension: ar, + logAll: E, + logger: null, + config: { + historyEnabled: true, + historyCacheSize: 10, + refreshOnHistoryMiss: false, + defaultSwapStyle: 'innerHTML', + defaultSwapDelay: 0, + defaultSettleDelay: 20, + includeIndicatorStyles: true, + indicatorClass: 'htmx-indicator', + requestClass: 'htmx-request', + addedClass: 'htmx-added', + settlingClass: 'htmx-settling', + swappingClass: 'htmx-swapping', + allowEval: true, + inlineScriptNonce: '', + attributesToSettle: ['class', 'style', 'width', 'height'], + withCredentials: false, + timeout: 0, + wsReconnectDelay: 'full-jitter', + disableSelector: '[hx-disable], [data-hx-disable]', + useTemplateFragments: false, + scrollBehavior: 'smooth', + defaultFocusScroll: false, + }, + parseInterval: v, + _: e, + createEventSource: function (e) { + return new EventSource(e, { withCredentials: true }); + }, + createWebSocket: function (e) { + return new WebSocket(e, []); + }, + version: '1.7.0', + }; + var r = { + bodyContains: Y, + filterValues: jt, + hasAttribute: s, + getAttributeValue: V, + getClosestMatch: h, + getExpressionVars: Gt, + getHeaders: Xt, + getInputValues: Mt, + getInternalData: _, + getSwapSpecification: Ut, + getTriggerSpecs: ke, + getTarget: ne, + makeFragment: g, + mergeObjects: Q, + makeSettleInfo: zt, + oobSwap: B, + selectAndSwap: we, + settleImmediately: Ct, + shouldCancel: Pe, + triggerEvent: $, + triggerErrorEvent: J, + withExtensions: gt, + }; + var n = ['get', 'post', 'put', 'delete', 'patch']; + var i = n + .map(function (e) { + return '[hx-' + e + '], [data-hx-' + e + ']'; + }) + .join(', '); + function v(e) { + if (e == undefined) { + return undefined; + } + if (e.slice(-2) == 'ms') { + return parseFloat(e.slice(0, -2)) || undefined; + } + if (e.slice(-1) == 's') { + return parseFloat(e.slice(0, -1)) * 1e3 || undefined; + } + return parseFloat(e) || undefined; + } + function f(e, t) { + return e.getAttribute && e.getAttribute(t); + } + function s(e, t) { + return ( + e.hasAttribute && (e.hasAttribute(t) || e.hasAttribute('data-' + t)) + ); + } + function V(e, t) { + return f(e, t) || f(e, 'data-' + t); + } + function u(e) { + return e.parentElement; + } + function z() { + return document; + } + function h(e, t) { + if (t(e)) { + return e; + } else if (u(e)) { + return h(u(e), t); + } else { + return null; + } + } + function o(e, t, r) { + var n = V(t, r); + var i = V(t, 'hx-disinherit'); + if (e !== t && i && (i === '*' || i.split(' ').indexOf(r) >= 0)) { + return 'unset'; + } else { + return n; + } + } + function G(t, r) { + var n = null; + h(t, function (e) { + return (n = o(t, e, r)); + }); + if (n !== 'unset') { + return n; + } + } + function d(e, t) { + var r = + e.matches || + e.matchesSelector || + e.msMatchesSelector || + e.mozMatchesSelector || + e.webkitMatchesSelector || + e.oMatchesSelector; + return r && r.call(e, t); + } + function a(e) { + var t = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i; + var r = t.exec(e); + if (r) { + return r[1].toLowerCase(); + } else { + return ''; + } + } + function l(e, t) { + var r = new DOMParser(); + var n = r.parseFromString(e, 'text/html'); + var i = n.body; + while (t > 0) { + t--; + i = i.firstChild; + } + if (i == null) { + i = z().createDocumentFragment(); + } + return i; + } + function g(e) { + if (U.config.useTemplateFragments) { + var t = l('', 0); + return t.querySelector('template').content; + } else { + var r = a(e); + switch (r) { + case 'thead': + case 'tbody': + case 'tfoot': + case 'colgroup': + case 'caption': + return l('' + e + '
', 1); + case 'col': + return l('' + e + '
', 2); + case 'tr': + return l('' + e + '
', 2); + case 'td': + case 'th': + return l('' + e + '
', 3); + case 'script': + return l('
' + e + '
', 1); + default: + return l(e, 0); + } + } + } + function K(e) { + if (e) { + e(); + } + } + function p(e, t) { + return Object.prototype.toString.call(e) === '[object ' + t + ']'; + } + function m(e) { + return p(e, 'Function'); + } + function x(e) { + return p(e, 'Object'); + } + function _(e) { + var t = 'htmx-internal-data'; + var r = e[t]; + if (!r) { + r = e[t] = {}; + } + return r; + } + function y(e) { + var t = []; + if (e) { + for (var r = 0; r < e.length; r++) { + t.push(e[r]); + } + } + return t; + } + function W(e, t) { + if (e) { + for (var r = 0; r < e.length; r++) { + t(e[r]); + } + } + } + function b(e) { + var t = e.getBoundingClientRect(); + var r = t.top; + var n = t.bottom; + return r < window.innerHeight && n >= 0; + } + function Y(e) { + if (e.getRootNode() instanceof ShadowRoot) { + return z().body.contains(e.getRootNode().host); + } else { + return z().body.contains(e); + } + } + function w(e) { + return e.trim().split(/\s+/); + } + function Q(e, t) { + for (var r in t) { + if (t.hasOwnProperty(r)) { + e[r] = t[r]; + } + } + return e; + } + function S(e) { + try { + return JSON.parse(e); + } catch (e) { + pt(e); + return null; + } + } + function e(e) { + return Jt(z().body, function () { + return eval(e); + }); + } + function t(t) { + var e = U.on('htmx:load', function (e) { + t(e.detail.elt); + }); + return e; + } + function E() { + U.logger = function (e, t, r) { + if (console) { + console.log(t, e, r); + } + }; + } + function C(e, t) { + if (t) { + return e.querySelector(t); + } else { + return C(z(), e); + } + } + function R(e, t) { + if (t) { + return e.querySelectorAll(t); + } else { + return R(z(), e); + } + } + function O(e, t) { + e = k(e); + if (t) { + setTimeout(function () { + O(e); + }, t); + } else { + e.parentElement.removeChild(e); + } + } + function L(e, t, r) { + e = k(e); + if (r) { + setTimeout(function () { + L(e, t); + }, r); + } else { + e.classList && e.classList.add(t); + } + } + function q(e, t, r) { + e = k(e); + if (r) { + setTimeout(function () { + q(e, t); + }, r); + } else { + if (e.classList) { + e.classList.remove(t); + if (e.classList.length === 0) { + e.removeAttribute('class'); + } + } + } + } + function A(e, t) { + e = k(e); + e.classList.toggle(t); + } + function T(e, t) { + e = k(e); + W(e.parentElement.children, function (e) { + q(e, t); + }); + L(e, t); + } + function H(e, t) { + e = k(e); + if (e.closest) { + return e.closest(t); + } else { + do { + if (e == null || d(e, t)) { + return e; + } + } while ((e = e && u(e))); + } + } + function N(e, t) { + if (t.indexOf('closest ') === 0) { + return [H(e, t.substr(8))]; + } else if (t.indexOf('find ') === 0) { + return [C(e, t.substr(5))]; + } else if (t === 'document') { + return [document]; + } else if (t === 'window') { + return [window]; + } else { + return z().querySelectorAll(t); + } + } + function ee(e, t) { + if (t) { + return N(e, t)[0]; + } else { + return N(z().body, e)[0]; + } + } + function k(e) { + if (p(e, 'String')) { + return C(e); + } else { + return e; + } + } + function I(e, t, r) { + if (m(t)) { + return { target: z().body, event: e, listener: t }; + } else { + return { target: k(e), event: t, listener: r }; + } + } + function M(t, r, n) { + lr(function () { + var e = I(t, r, n); + e.target.addEventListener(e.event, e.listener); + }); + var e = m(r); + return e ? r : n; + } + function D(t, r, n) { + lr(function () { + var e = I(t, r, n); + e.target.removeEventListener(e.event, e.listener); + }); + return m(r) ? r : n; + } + var te = z().createElement('output'); + function F(e, t) { + var r = G(e, t); + if (r) { + if (r === 'this') { + return [re(e, t)]; + } else { + var n = N(e, r); + if (n.length === 0) { + pt('The selector "' + r + '" on ' + t + ' returned no matches!'); + return [te]; + } else { + return n; + } + } + } + } + function re(e, t) { + return h(e, function (e) { + return V(e, t) != null; + }); + } + function ne(e) { + var t = G(e, 'hx-target'); + if (t) { + if (t === 'this') { + return re(e, 'hx-target'); + } else { + return ee(e, t); + } + } else { + var r = _(e); + if (r.boosted) { + return z().body; + } else { + return e; + } + } + } + function P(e) { + var t = U.config.attributesToSettle; + for (var r = 0; r < t.length; r++) { + if (e === t[r]) { + return true; + } + } + return false; + } + function X(t, r) { + W(t.attributes, function (e) { + if (!r.hasAttribute(e.name) && P(e.name)) { + t.removeAttribute(e.name); + } + }); + W(r.attributes, function (e) { + if (P(e.name)) { + t.setAttribute(e.name, e.value); + } + }); + } + function j(e, t) { + var r = sr(t); + for (var n = 0; n < r.length; n++) { + var i = r[n]; + try { + if (i.isInlineSwap(e)) { + return true; + } + } catch (e) { + pt(e); + } + } + return e === 'outerHTML'; + } + function B(e, i, o) { + var t = '#' + i.id; + var a = 'outerHTML'; + if (e === 'true') { + } else if (e.indexOf(':') > 0) { + a = e.substr(0, e.indexOf(':')); + t = e.substr(e.indexOf(':') + 1, e.length); + } else { + a = e; + } + var r = z().querySelectorAll(t); + if (r) { + W(r, function (e) { + var t; + var r = i.cloneNode(true); + t = z().createDocumentFragment(); + t.appendChild(r); + if (!j(a, e)) { + t = r; + } + var n = { shouldSwap: true, target: e, fragment: t }; + if (!$(e, 'htmx:oobBeforeSwap', n)) return; + e = n.target; + if (n['shouldSwap']) { + ye(a, e, e, t, o); + } + W(o.elts, function (e) { + $(e, 'htmx:oobAfterSwap', n); + }); + }); + i.parentNode.removeChild(i); + } else { + i.parentNode.removeChild(i); + J(z().body, 'htmx:oobErrorNoTarget', { content: i }); + } + return e; + } + function ie(e, r) { + W(R(e, '[hx-swap-oob], [data-hx-swap-oob]'), function (e) { + var t = V(e, 'hx-swap-oob'); + if (t != null) { + B(t, e, r); + } + }); + } + function oe(e) { + W(R(e, '[hx-preserve], [data-hx-preserve]'), function (e) { + var t = V(e, 'id'); + var r = z().getElementById(t); + if (r != null) { + e.parentNode.replaceChild(r, e); + } + }); + } + function ae(n, e, i) { + W(e.querySelectorAll('[id]'), function (e) { + if (e.id && e.id.length > 0) { + var t = n.querySelector(e.tagName + "[id='" + e.id + "']"); + if (t && t !== n) { + var r = e.cloneNode(); + X(e, t); + i.tasks.push(function () { + X(e, r); + }); + } + } + }); + } + function se(e) { + return function () { + q(e, U.config.addedClass); + ct(e); + at(e); + le(e); + $(e, 'htmx:load'); + }; + } + function le(e) { + var t = '[autofocus]'; + var r = d(e, t) ? e : e.querySelector(t); + if (r != null) { + r.focus(); + } + } + function ue(e, t, r, n) { + ae(e, r, n); + while (r.childNodes.length > 0) { + var i = r.firstChild; + L(i, U.config.addedClass); + e.insertBefore(i, t); + if (i.nodeType !== Node.TEXT_NODE && i.nodeType !== Node.COMMENT_NODE) { + n.tasks.push(se(i)); + } + } + } + function fe(t) { + var e = _(t); + if (e.webSocket) { + e.webSocket.close(); + } + if (e.sseEventSource) { + e.sseEventSource.close(); + } + $(t, 'htmx:beforeCleanupElement'); + if (e.listenerInfos) { + W(e.listenerInfos, function (e) { + if (t !== e.on) { + e.on.removeEventListener(e.trigger, e.listener); + } + }); + } + if (t.children) { + W(t.children, function (e) { + fe(e); + }); + } + } + function ce(e, t, r) { + if (e.tagName === 'BODY') { + return me(e, t, r); + } else { + var n; + var i = e.previousSibling; + ue(u(e), e, t, r); + if (i == null) { + n = u(e).firstChild; + } else { + n = i.nextSibling; + } + _(e).replacedWith = n; + r.elts = []; + while (n && n !== e) { + if (n.nodeType === Node.ELEMENT_NODE) { + r.elts.push(n); + } + n = n.nextElementSibling; + } + fe(e); + u(e).removeChild(e); + } + } + function he(e, t, r) { + return ue(e, e.firstChild, t, r); + } + function de(e, t, r) { + return ue(u(e), e, t, r); + } + function ve(e, t, r) { + return ue(e, null, t, r); + } + function ge(e, t, r) { + return ue(u(e), e.nextSibling, t, r); + } + function pe(e, t, r) { + fe(e); + return u(e).removeChild(e); + } + function me(e, t, r) { + var n = e.firstChild; + ue(e, n, t, r); + if (n) { + while (n.nextSibling) { + fe(n.nextSibling); + e.removeChild(n.nextSibling); + } + fe(n); + e.removeChild(n); + } + } + function xe(e, t) { + var r = G(e, 'hx-select'); + if (r) { + var n = z().createDocumentFragment(); + W(t.querySelectorAll(r), function (e) { + n.appendChild(e); + }); + t = n; + } + return t; + } + function ye(e, t, r, n, i) { + switch (e) { + case 'none': + return; + case 'outerHTML': + ce(r, n, i); + return; + case 'afterbegin': + he(r, n, i); + return; + case 'beforebegin': + de(r, n, i); + return; + case 'beforeend': + ve(r, n, i); + return; + case 'afterend': + ge(r, n, i); + return; + case 'delete': + pe(r, n, i); + return; + default: + var o = sr(t); + for (var a = 0; a < o.length; a++) { + var f = o[a]; + try { + var s = f.handleSwap(e, r, n, i); + if (s) { + if (typeof s.length !== 'undefined') { + for (var l = 0; l < s.length; l++) { + var u = s[l]; + if ( + u.nodeType !== Node.TEXT_NODE && + u.nodeType !== Node.COMMENT_NODE + ) { + i.tasks.push(se(u)); + } + } + } + return; + } + } catch (e) { + pt(e); + } + } + if (e === 'innerHTML') { + me(r, n, i); + } else { + ye(U.config.defaultSwapStyle, t, r, n, i); + } + } + } + function be(e) { + if (e.indexOf(' -1) { + var t = e.replace(/]*>|>)([\s\S]*?)<\/svg>/gim, ''); + var r = t.match(/]*>|>)([\s\S]*?)<\/title>/im); + if (r) { + return r[2]; + } + } + } + function we(e, t, r, n, i) { + i.title = be(n); + var o = g(n); + if (o) { + ie(o, i); + o = xe(r, o); + oe(o); + return ye(e, r, t, o, i); + } + } + function Se(e, t, r) { + var n = e.getResponseHeader(t); + if (n.indexOf('{') === 0) { + var i = S(n); + for (var o in i) { + if (i.hasOwnProperty(o)) { + var a = i[o]; + if (!x(a)) { + a = { value: a }; + } + $(r, o, a); + } + } + } else { + $(r, n, []); + } + } + var Ee = /\s/; + var Ce = /[\s,]/; + var Re = /[_$a-zA-Z]/; + var Oe = /[_$a-zA-Z0-9]/; + var Le = ['"', "'", '/']; + var qe = /[^\s]/; + function Ae(e) { + var t = []; + var r = 0; + while (r < e.length) { + if (Re.exec(e.charAt(r))) { + var n = r; + while (Oe.exec(e.charAt(r + 1))) { + r++; + } + t.push(e.substr(n, r - n + 1)); + } else if (Le.indexOf(e.charAt(r)) !== -1) { + var i = e.charAt(r); + var n = r; + r++; + while (r < e.length && e.charAt(r) !== i) { + if (e.charAt(r) === '\\') { + r++; + } + r++; + } + t.push(e.substr(n, r - n + 1)); + } else { + var o = e.charAt(r); + t.push(o); + } + r++; + } + return t; + } + function Te(e, t, r) { + return ( + Re.exec(e.charAt(0)) && + e !== 'true' && + e !== 'false' && + e !== 'this' && + e !== r && + t !== '.' + ); + } + function He(e, t, r) { + if (t[0] === '[') { + t.shift(); + var n = 1; + var i = ' return (function(' + r + '){ return ('; + var o = null; + while (t.length > 0) { + var a = t[0]; + if (a === ']') { + n--; + if (n === 0) { + if (o === null) { + i = i + 'true'; + } + t.shift(); + i += ')})'; + try { + var s = Jt( + e, + function () { + return Function(i)(); + }, + function () { + return true; + } + ); + s.source = i; + return s; + } catch (e) { + J(z().body, 'htmx:syntax:error', { error: e, source: i }); + return null; + } + } + } else if (a === '[') { + n++; + } + if (Te(a, o, r)) { + i += + '((' + + r + + '.' + + a + + ') ? (' + + r + + '.' + + a + + ') : (window.' + + a + + '))'; + } else { + i = i + a; + } + o = t.shift(); + } + } + } + function c(e, t) { + var r = ''; + while (e.length > 0 && !e[0].match(t)) { + r += e.shift(); + } + return r; + } + var Ne = 'input, textarea, select'; + function ke(e) { + var t = V(e, 'hx-trigger'); + var r = []; + if (t) { + var n = Ae(t); + do { + c(n, qe); + var f = n.length; + var i = c(n, /[,\[\s]/); + if (i !== '') { + if (i === 'every') { + var o = { trigger: 'every' }; + c(n, qe); + o.pollInterval = v(c(n, /[,\[\s]/)); + c(n, qe); + var a = He(e, n, 'event'); + if (a) { + o.eventFilter = a; + } + r.push(o); + } else if (i.indexOf('sse:') === 0) { + r.push({ trigger: 'sse', sseEvent: i.substr(4) }); + } else { + var s = { trigger: i }; + var a = He(e, n, 'event'); + if (a) { + s.eventFilter = a; + } + while (n.length > 0 && n[0] !== ',') { + c(n, qe); + var l = n.shift(); + if (l === 'changed') { + s.changed = true; + } else if (l === 'once') { + s.once = true; + } else if (l === 'consume') { + s.consume = true; + } else if (l === 'delay' && n[0] === ':') { + n.shift(); + s.delay = v(c(n, Ce)); + } else if (l === 'from' && n[0] === ':') { + n.shift(); + var u = c(n, Ce); + if (u === 'closest' || u === 'find') { + n.shift(); + u += ' ' + c(n, Ce); + } + s.from = u; + } else if (l === 'target' && n[0] === ':') { + n.shift(); + s.target = c(n, Ce); + } else if (l === 'throttle' && n[0] === ':') { + n.shift(); + s.throttle = v(c(n, Ce)); + } else if (l === 'queue' && n[0] === ':') { + n.shift(); + s.queue = c(n, Ce); + } else if ( + (l === 'root' || l === 'threshold') && + n[0] === ':' + ) { + n.shift(); + s[l] = c(n, Ce); + } else { + J(e, 'htmx:syntax:error', { token: n.shift() }); + } + } + r.push(s); + } + } + if (n.length === f) { + J(e, 'htmx:syntax:error', { token: n.shift() }); + } + c(n, qe); + } while (n[0] === ',' && n.shift()); + } + if (r.length > 0) { + return r; + } else if (d(e, 'form')) { + return [{ trigger: 'submit' }]; + } else if (d(e, Ne)) { + return [{ trigger: 'change' }]; + } else { + return [{ trigger: 'click' }]; + } + } + function Ie(e) { + _(e).cancelled = true; + } + function Me(e, t, r, n) { + var i = _(e); + i.timeout = setTimeout(function () { + if (Y(e) && i.cancelled !== true) { + if (!je(n, dt('hx:poll:trigger', { triggerSpec: n, target: e }))) { + Z(t, r, e); + } + Me(e, t, V(e, 'hx-' + t), n); + } + }, n.pollInterval); + } + function De(e) { + return ( + location.hostname === e.hostname && + f(e, 'href') && + f(e, 'href').indexOf('#') !== 0 + ); + } + function Fe(t, r, e) { + if ( + (t.tagName === 'A' && De(t) && t.target === '') || + t.tagName === 'FORM' + ) { + r.boosted = true; + var n, i; + if (t.tagName === 'A') { + n = 'get'; + i = f(t, 'href'); + r.pushURL = true; + } else { + var o = f(t, 'method'); + n = o ? o.toLowerCase() : 'get'; + if (n === 'get') { + r.pushURL = true; + } + i = f(t, 'action'); + } + e.forEach(function (e) { + Be(t, n, i, r, e, true); + }); + } + } + function Pe(e, t) { + if (e.type === 'submit' || e.type === 'click') { + if (t.tagName === 'FORM') { + return true; + } + if (d(t, 'input[type="submit"], button') && H(t, 'form') !== null) { + return true; + } + if ( + t.tagName === 'A' && + t.href && + (t.getAttribute('href') === '#' || + t.getAttribute('href').indexOf('#') !== 0) + ) { + return true; + } + } + return false; + } + function Xe(e, t) { + return ( + _(e).boosted && + e.tagName === 'A' && + t.type === 'click' && + (t.ctrlKey || t.metaKey) + ); + } + function je(e, t) { + var r = e.eventFilter; + if (r) { + try { + return r(t) !== true; + } catch (e) { + J(z().body, 'htmx:eventFilter:error', { error: e, source: r.source }); + return true; + } + } + return false; + } + function Be(o, a, s, e, l, u) { + var t; + if (l.from) { + t = N(o, l.from); + } else { + t = [o]; + } + W(t, function (n) { + var i = function (e) { + if (!Y(o)) { + n.removeEventListener(l.trigger, i); + return; + } + if (Xe(o, e)) { + return; + } + if (u || Pe(e, o)) { + e.preventDefault(); + } + if (je(l, e)) { + return; + } + var t = _(e); + t.triggerSpec = l; + if (t.handledFor == null) { + t.handledFor = []; + } + var r = _(o); + if (t.handledFor.indexOf(o) < 0) { + t.handledFor.push(o); + if (l.consume) { + e.stopPropagation(); + } + if (l.target && e.target) { + if (!d(e.target, l.target)) { + return; + } + } + if (l.once) { + if (r.triggeredOnce) { + return; + } else { + r.triggeredOnce = true; + } + } + if (l.changed) { + if (r.lastValue === o.value) { + return; + } else { + r.lastValue = o.value; + } + } + if (r.delayed) { + clearTimeout(r.delayed); + } + if (r.throttle) { + return; + } + if (l.throttle) { + if (!r.throttle) { + Z(a, s, o, e); + r.throttle = setTimeout(function () { + r.throttle = null; + }, l.throttle); + } + } else if (l.delay) { + r.delayed = setTimeout(function () { + Z(a, s, o, e); + }, l.delay); + } else { + Z(a, s, o, e); + } + } + }; + if (e.listenerInfos == null) { + e.listenerInfos = []; + } + e.listenerInfos.push({ trigger: l.trigger, listener: i, on: n }); + n.addEventListener(l.trigger, i); + }); + } + var Ue = false; + var Ve = null; + function ze() { + if (!Ve) { + Ve = function () { + Ue = true; + }; + window.addEventListener('scroll', Ve); + setInterval(function () { + if (Ue) { + Ue = false; + W( + z().querySelectorAll( + "[hx-trigger='revealed'],[data-hx-trigger='revealed']" + ), + function (e) { + _e(e); + } + ); + } + }, 200); + } + } + function _e(e) { + if (!s(e, 'data-hx-revealed') && b(e)) { + e.setAttribute('data-hx-revealed', 'true'); + var t = _(e); + if (t.initialized) { + Z(t.verb, t.path, e); + } else { + e.addEventListener( + 'htmx:afterProcessNode', + function () { + Z(t.verb, t.path, e); + }, + { once: true } + ); + } + } + } + function We(e, t, r) { + var n = w(r); + for (var i = 0; i < n.length; i++) { + var o = n[i].split(/:(.+)/); + if (o[0] === 'connect') { + Je(e, o[1], 0); + } + if (o[0] === 'send') { + Ze(e); + } + } + } + function Je(s, r, n) { + if (!Y(s)) { + return; + } + if (r.indexOf('/') == 0) { + var e = location.hostname + (location.port ? ':' + location.port : ''); + if (location.protocol == 'https:') { + r = 'wss://' + e + r; + } else if (location.protocol == 'http:') { + r = 'ws://' + e + r; + } + } + var t = U.createWebSocket(r); + t.onerror = function (e) { + J(s, 'htmx:wsError', { error: e, socket: t }); + $e(s); + }; + t.onclose = function (e) { + if ([1006, 1012, 1013].indexOf(e.code) >= 0) { + var t = Ge(n); + setTimeout(function () { + Je(s, r, n + 1); + }, t); + } + }; + t.onopen = function (e) { + n = 0; + }; + _(s).webSocket = t; + t.addEventListener('message', function (e) { + if ($e(s)) { + return; + } + var t = e.data; + gt(s, function (e) { + t = e.transformResponse(t, null, s); + }); + var r = zt(s); + var n = g(t); + var i = y(n.children); + for (var o = 0; o < i.length; o++) { + var a = i[o]; + B(V(a, 'hx-swap-oob') || 'true', a, r); + } + Ct(r.tasks); + }); + } + function $e(e) { + if (!Y(e)) { + _(e).webSocket.close(); + return true; + } + } + function Ze(u) { + var f = h(u, function (e) { + return _(e).webSocket != null; + }); + if (f) { + u.addEventListener(ke(u)[0].trigger, function (e) { + var t = _(f).webSocket; + var r = Xt(u, f); + var n = Mt(u, 'post'); + var i = n.errors; + var o = n.values; + var a = Gt(u); + var s = Q(o, a); + var l = jt(s, u); + l['HEADERS'] = r; + if (i && i.length > 0) { + $(u, 'htmx:validation:halted', i); + return; + } + t.send(JSON.stringify(l)); + if (Pe(e, u)) { + e.preventDefault(); + } + }); + } else { + J(u, 'htmx:noWebSocketSourceError'); + } + } + function Ge(e) { + var t = U.config.wsReconnectDelay; + if (typeof t === 'function') { + return t(e); + } + if (t === 'full-jitter') { + var r = Math.min(e, 6); + var n = 1e3 * Math.pow(2, r); + return n * Math.random(); + } + pt( + 'htmx.config.wsReconnectDelay must either be a function or the string "full-jitter"' + ); + } + function Ke(e, t, r) { + var n = w(r); + for (var i = 0; i < n.length; i++) { + var o = n[i].split(/:(.+)/); + if (o[0] === 'connect') { + Ye(e, o[1]); + } + if (o[0] === 'swap') { + Qe(e, o[1]); + } + } + } + function Ye(t, e) { + var r = U.createEventSource(e); + r.onerror = function (e) { + J(t, 'htmx:sseError', { error: e, source: r }); + tt(t); + }; + _(t).sseEventSource = r; + } + function Qe(o, a) { + var s = h(o, rt); + if (s) { + var l = _(s).sseEventSource; + var u = function (e) { + if (tt(s)) { + l.removeEventListener(a, u); + return; + } + var t = e.data; + gt(o, function (e) { + t = e.transformResponse(t, null, o); + }); + var r = Ut(o); + var n = ne(o); + var i = zt(o); + we(r.swapStyle, o, n, t, i); + Ct(i.tasks); + $(o, 'htmx:sseMessage', e); + }; + _(o).sseListener = u; + l.addEventListener(a, u); + } else { + J(o, 'htmx:noSSESourceError'); + } + } + function et(e, t, r, n) { + var i = h(e, rt); + if (i) { + var o = _(i).sseEventSource; + var a = function () { + if (!tt(i)) { + if (Y(e)) { + Z(t, r, e); + } else { + o.removeEventListener(n, a); + } + } + }; + _(e).sseListener = a; + o.addEventListener(n, a); + } else { + J(e, 'htmx:noSSESourceError'); + } + } + function tt(e) { + if (!Y(e)) { + _(e).sseEventSource.close(); + return true; + } + } + function rt(e) { + return _(e).sseEventSource != null; + } + function nt(e, t, r, n, i) { + var o = function () { + if (!n.loaded) { + n.loaded = true; + Z(t, r, e); + } + }; + if (i) { + setTimeout(o, i); + } else { + o(); + } + } + function it(o, a, e) { + var t = false; + W(n, function (n) { + if (s(o, 'hx-' + n)) { + var i = V(o, 'hx-' + n); + t = true; + a.path = i; + a.verb = n; + e.forEach(function (e) { + if (e.sseEvent) { + et(o, n, i, e.sseEvent); + } else if (e.trigger === 'revealed') { + ze(); + _e(o); + } else if (e.trigger === 'intersect') { + var t = {}; + if (e.root) { + t.root = ee(o, e.root); + } + if (e.threshold) { + t.threshold = parseFloat(e.threshold); + } + var r = new IntersectionObserver(function (e) { + for (var t = 0; t < e.length; t++) { + var r = e[t]; + if (r.isIntersecting) { + $(o, 'intersect'); + break; + } + } + }, t); + r.observe(o); + Be(o, n, i, a, e); + } else if (e.trigger === 'load') { + nt(o, n, i, a, e.delay); + } else if (e.pollInterval) { + a.polling = true; + Me(o, n, i, e); + } else { + Be(o, n, i, a, e); + } + }); + } + }); + return t; + } + function ot(e) { + if ( + e.type === 'text/javascript' || + e.type === 'module' || + e.type === '' + ) { + var t = z().createElement('script'); + W(e.attributes, function (e) { + t.setAttribute(e.name, e.value); + }); + t.textContent = e.textContent; + t.async = false; + if (U.config.inlineScriptNonce) { + t.nonce = U.config.inlineScriptNonce; + } + var r = e.parentElement; + try { + r.insertBefore(t, e); + } catch (e) { + pt(e); + } finally { + r.removeChild(e); + } + } + } + function at(e) { + if (d(e, 'script')) { + ot(e); + } + W(R(e, 'script'), function (e) { + ot(e); + }); + } + function st() { + return document.querySelector('[hx-boost], [data-hx-boost]'); + } + function lt(e) { + if (e.querySelectorAll) { + var t = st() ? ', a, form' : ''; + var r = e.querySelectorAll( + i + + t + + ', [hx-sse], [data-hx-sse], [hx-ws],' + + ' [data-hx-ws], [hx-ext], [hx-data-ext]' + ); + return r; + } else { + return []; + } + } + function ut(r) { + var e = function (e) { + if (d(e.target, "button, input[type='submit']")) { + var t = _(r); + t.lastButtonClicked = e.target; + } + }; + r.addEventListener('click', e); + r.addEventListener('focusin', e); + r.addEventListener('focusout', function (e) { + var t = _(r); + t.lastButtonClicked = null; + }); + } + function ft(e) { + if (e.closest && e.closest(U.config.disableSelector)) { + return; + } + var t = _(e); + if (!t.initialized) { + t.initialized = true; + $(e, 'htmx:beforeProcessNode'); + if (e.value) { + t.lastValue = e.value; + } + var r = ke(e); + var n = it(e, t, r); + if (!n && G(e, 'hx-boost') === 'true') { + Fe(e, t, r); + } + if (e.tagName === 'FORM') { + ut(e); + } + var i = V(e, 'hx-sse'); + if (i) { + Ke(e, t, i); + } + var o = V(e, 'hx-ws'); + if (o) { + We(e, t, o); + } + $(e, 'htmx:afterProcessNode'); + } + } + function ct(e) { + e = k(e); + ft(e); + W(lt(e), function (e) { + ft(e); + }); + } + function ht(e) { + return e.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase(); + } + function dt(e, t) { + var r; + if (window.CustomEvent && typeof window.CustomEvent === 'function') { + r = new CustomEvent(e, { bubbles: true, cancelable: true, detail: t }); + } else { + r = z().createEvent('CustomEvent'); + r.initCustomEvent(e, true, true, t); + } + return r; + } + function J(e, t, r) { + $(e, t, Q({ error: t }, r)); + } + function vt(e) { + return e === 'htmx:afterProcessNode'; + } + function gt(e, t) { + W(sr(e), function (e) { + try { + t(e); + } catch (e) { + pt(e); + } + }); + } + function pt(e) { + if (console.error) { + console.error(e); + } else if (console.log) { + console.log('ERROR: ', e); + } + } + function $(e, t, r) { + e = k(e); + if (r == null) { + r = {}; + } + r['elt'] = e; + var n = dt(t, r); + if (U.logger && !vt(t)) { + U.logger(e, t, r); + } + if (r.error) { + pt(r.error); + $(e, 'htmx:error', { errorInfo: r }); + } + var i = e.dispatchEvent(n); + var o = ht(t); + if (i && o !== t) { + var a = dt(o, n.detail); + i = i && e.dispatchEvent(a); + } + gt(e, function (e) { + i = i && e.onEvent(t, n) !== false; + }); + return i; + } + var mt = location.pathname + location.search; + function xt() { + var e = z().querySelector('[hx-history-elt],[data-hx-history-elt]'); + return e || z().body; + } + function yt(e, t, r, n) { + var i = S(localStorage.getItem('htmx-history-cache')) || []; + for (var o = 0; o < i.length; o++) { + if (i[o].url === e) { + i.splice(o, 1); + break; + } + } + i.push({ url: e, content: t, title: r, scroll: n }); + while (i.length > U.config.historyCacheSize) { + i.shift(); + } + while (i.length > 0) { + try { + localStorage.setItem('htmx-history-cache', JSON.stringify(i)); + break; + } catch (e) { + J(z().body, 'htmx:historyCacheError', { cause: e, cache: i }); + i.shift(); + } + } + } + function bt(e) { + var t = S(localStorage.getItem('htmx-history-cache')) || []; + for (var r = 0; r < t.length; r++) { + if (t[r].url === e) { + return t[r]; + } + } + return null; + } + function wt(e) { + var t = U.config.requestClass; + var r = e.cloneNode(true); + W(R(r, '.' + t), function (e) { + q(e, t); + }); + return r.innerHTML; + } + function St() { + var e = xt(); + var t = mt || location.pathname + location.search; + $(z().body, 'htmx:beforeHistorySave', { path: t, historyElt: e }); + if (U.config.historyEnabled) + history.replaceState({ htmx: true }, z().title, window.location.href); + yt(t, wt(e), z().title, window.scrollY); + } + function Et(e) { + if (U.config.historyEnabled) history.pushState({ htmx: true }, '', e); + mt = e; + } + function Ct(e) { + W(e, function (e) { + e.call(); + }); + } + function Rt(n) { + var e = new XMLHttpRequest(); + var i = { path: n, xhr: e }; + $(z().body, 'htmx:historyCacheMiss', i); + e.open('GET', n, true); + e.setRequestHeader('HX-History-Restore-Request', 'true'); + e.onload = function () { + if (this.status >= 200 && this.status < 400) { + $(z().body, 'htmx:historyCacheMissLoad', i); + var e = g(this.response); + e = e.querySelector('[hx-history-elt],[data-hx-history-elt]') || e; + var t = xt(); + var r = zt(t); + me(t, e, r); + Ct(r.tasks); + mt = n; + $(z().body, 'htmx:historyRestore', { path: n }); + } else { + J(z().body, 'htmx:historyCacheMissLoadError', i); + } + }; + e.send(); + } + function Ot(e) { + St(); + e = e || location.pathname + location.search; + var t = bt(e); + if (t) { + var r = g(t.content); + var n = xt(); + var i = zt(n); + me(n, r, i); + Ct(i.tasks); + document.title = t.title; + window.scrollTo(0, t.scroll); + mt = e; + $(z().body, 'htmx:historyRestore', { path: e }); + } else { + if (U.config.refreshOnHistoryMiss) { + window.location.reload(true); + } else { + Rt(e); + } + } + } + function Lt(e) { + var t = G(e, 'hx-push-url'); + return (t && t !== 'false') || (_(e).boosted && _(e).pushURL); + } + function qt(e) { + var t = G(e, 'hx-push-url'); + return t === 'true' || t === 'false' ? null : t; + } + function At(e) { + var t = F(e, 'hx-indicator'); + if (t == null) { + t = [e]; + } + W(t, function (e) { + e.classList['add'].call(e.classList, U.config.requestClass); + }); + return t; + } + function Tt(e) { + W(e, function (e) { + e.classList['remove'].call(e.classList, U.config.requestClass); + }); + } + function Ht(e, t) { + for (var r = 0; r < e.length; r++) { + var n = e[r]; + if (n.isSameNode(t)) { + return true; + } + } + return false; + } + function Nt(e) { + if (e.name === '' || e.name == null || e.disabled) { + return false; + } + if ( + e.type === 'button' || + e.type === 'submit' || + e.tagName === 'image' || + e.tagName === 'reset' || + e.tagName === 'file' + ) { + return false; + } + if (e.type === 'checkbox' || e.type === 'radio') { + return e.checked; + } + return true; + } + function kt(t, r, n, e, i) { + if (e == null || Ht(t, e)) { + return; + } else { + t.push(e); + } + if (Nt(e)) { + var o = f(e, 'name'); + var a = e.value; + if (e.multiple) { + a = y(e.querySelectorAll('option:checked')).map(function (e) { + return e.value; + }); + } + if (e.files) { + a = y(e.files); + } + if (o != null && a != null) { + var s = r[o]; + if (s) { + if (Array.isArray(s)) { + if (Array.isArray(a)) { + r[o] = s.concat(a); + } else { + s.push(a); + } + } else { + if (Array.isArray(a)) { + r[o] = [s].concat(a); + } else { + r[o] = [s, a]; + } + } + } else { + r[o] = a; + } + } + if (i) { + It(e, n); + } + } + if (d(e, 'form')) { + var l = e.elements; + W(l, function (e) { + kt(t, r, n, e, i); + }); + } + } + function It(e, t) { + if (e.willValidate) { + $(e, 'htmx:validation:validate'); + if (!e.checkValidity()) { + t.push({ + elt: e, + message: e.validationMessage, + validity: e.validity, + }); + $(e, 'htmx:validation:failed', { + message: e.validationMessage, + validity: e.validity, + }); + } + } + } + function Mt(e, t) { + var r = []; + var n = {}; + var i = {}; + var o = []; + var a = _(e); + var s = d(e, 'form') && e.noValidate !== true; + if (a.lastButtonClicked) { + s = s && a.lastButtonClicked.formNoValidate !== true; + } + if (t !== 'get') { + kt(r, i, o, H(e, 'form'), s); + } + kt(r, n, o, e, s); + if (a.lastButtonClicked) { + var l = f(a.lastButtonClicked, 'name'); + if (l) { + n[l] = a.lastButtonClicked.value; + } + } + var u = F(e, 'hx-include'); + W(u, function (e) { + kt(r, n, o, e, s); + if (!d(e, 'form')) { + W(e.querySelectorAll(Ne), function (e) { + kt(r, n, o, e, s); + }); + } + }); + n = Q(n, i); + return { errors: o, values: n }; + } + function Dt(e, t, r) { + if (e !== '') { + e += '&'; + } + if (String(r) === '[object Object]') { + r = JSON.stringify(r); + } + var n = encodeURIComponent(r); + e += encodeURIComponent(t) + '=' + n; + return e; + } + function Ft(e) { + var t = ''; + for (var r in e) { + if (e.hasOwnProperty(r)) { + var n = e[r]; + if (Array.isArray(n)) { + W(n, function (e) { + t = Dt(t, r, e); + }); + } else { + t = Dt(t, r, n); + } + } + } + return t; + } + function Pt(e) { + var t = new FormData(); + for (var r in e) { + if (e.hasOwnProperty(r)) { + var n = e[r]; + if (Array.isArray(n)) { + W(n, function (e) { + t.append(r, e); + }); + } else { + t.append(r, n); + } + } + } + return t; + } + function Xt(e, t, r) { + var n = { + 'HX-Request': 'true', + 'HX-Trigger': f(e, 'id'), + 'HX-Trigger-Name': f(e, 'name'), + 'HX-Target': V(t, 'id'), + 'HX-Current-URL': z().location.href, + }; + Wt(e, 'hx-headers', false, n); + if (r !== undefined) { + n['HX-Prompt'] = r; + } + if (_(e).boosted) { + n['HX-Boosted'] = 'true'; + } + return n; + } + function jt(t, e) { + var r = G(e, 'hx-params'); + if (r) { + if (r === 'none') { + return {}; + } else if (r === '*') { + return t; + } else if (r.indexOf('not ') === 0) { + W(r.substr(4).split(','), function (e) { + e = e.trim(); + delete t[e]; + }); + return t; + } else { + var n = {}; + W(r.split(','), function (e) { + e = e.trim(); + n[e] = t[e]; + }); + return n; + } + } else { + return t; + } + } + function Bt(e) { + return f(e, 'href') && f(e, 'href').indexOf('#') >= 0; + } + function Ut(e, t) { + var r = t ? t : G(e, 'hx-swap'); + var n = { + swapStyle: _(e).boosted ? 'innerHTML' : U.config.defaultSwapStyle, + swapDelay: U.config.defaultSwapDelay, + settleDelay: U.config.defaultSettleDelay, + }; + if (_(e).boosted && !Bt(e)) { + n['show'] = 'top'; + } + if (r) { + var i = w(r); + if (i.length > 0) { + n['swapStyle'] = i[0]; + for (var o = 1; o < i.length; o++) { + var a = i[o]; + if (a.indexOf('swap:') === 0) { + n['swapDelay'] = v(a.substr(5)); + } + if (a.indexOf('settle:') === 0) { + n['settleDelay'] = v(a.substr(7)); + } + if (a.indexOf('scroll:') === 0) { + var s = a.substr(7); + var l = s.split(':'); + var f = l.pop(); + var u = l.length > 0 ? l.join(':') : null; + n['scroll'] = f; + n['scrollTarget'] = u; + } + if (a.indexOf('show:') === 0) { + var c = a.substr(5); + var l = c.split(':'); + var h = l.pop(); + var u = l.length > 0 ? l.join(':') : null; + n['show'] = h; + n['showTarget'] = u; + } + if (a.indexOf('focus-scroll:') === 0) { + var d = a.substr('focus-scroll:'.length); + n['focusScroll'] = d == 'true'; + } + } + } + } + return n; + } + function Vt(t, r, n) { + var i = null; + gt(r, function (e) { + if (i == null) { + i = e.encodeParameters(t, n, r); + } + }); + if (i != null) { + return i; + } else { + if ( + G(r, 'hx-encoding') === 'multipart/form-data' || + (d(r, 'form') && f(r, 'enctype') === 'multipart/form-data') + ) { + return Pt(n); + } else { + return Ft(n); + } + } + } + function zt(e) { + return { tasks: [], elts: [e] }; + } + function _t(e, t) { + var r = e[0]; + var n = e[e.length - 1]; + if (t.scroll) { + var i = null; + if (t.scrollTarget) { + i = ee(r, t.scrollTarget); + } + if (t.scroll === 'top' && (r || i)) { + i = i || r; + i.scrollTop = 0; + } + if (t.scroll === 'bottom' && (n || i)) { + i = i || n; + i.scrollTop = i.scrollHeight; + } + } + if (t.show) { + var i = null; + if (t.showTarget) { + var o = t.showTarget; + if (t.showTarget === 'window') { + o = 'body'; + } + i = ee(r, o); + } + if (t.show === 'top' && (r || i)) { + i = i || r; + i.scrollIntoView({ + block: 'start', + behavior: U.config.scrollBehavior, + }); + } + if (t.show === 'bottom' && (n || i)) { + i = i || n; + i.scrollIntoView({ block: 'end', behavior: U.config.scrollBehavior }); + } + } + } + function Wt(e, t, r, n) { + if (n == null) { + n = {}; + } + if (e == null) { + return n; + } + var i = V(e, t); + if (i) { + var o = i.trim(); + var a = r; + if (o.indexOf('javascript:') === 0) { + o = o.substr(11); + a = true; + } else if (o.indexOf('js:') === 0) { + o = o.substr(3); + a = true; + } + if (o.indexOf('{') !== 0) { + o = '{' + o + '}'; + } + var s; + if (a) { + s = Jt( + e, + function () { + return Function('return (' + o + ')')(); + }, + {} + ); + } else { + s = S(o); + } + for (var l in s) { + if (s.hasOwnProperty(l)) { + if (n[l] == null) { + n[l] = s[l]; + } + } + } + } + return Wt(u(e), t, r, n); + } + function Jt(e, t, r) { + if (U.config.allowEval) { + return t(); + } else { + J(e, 'htmx:evalDisallowedError'); + return r; + } + } + function $t(e, t) { + return Wt(e, 'hx-vars', true, t); + } + function Zt(e, t) { + return Wt(e, 'hx-vals', false, t); + } + function Gt(e) { + return Q($t(e), Zt(e)); + } + function Kt(t, r, n) { + if (n !== null) { + try { + t.setRequestHeader(r, n); + } catch (e) { + t.setRequestHeader(r, encodeURIComponent(n)); + t.setRequestHeader(r + '-URI-AutoEncoded', 'true'); + } + } + } + function Yt(t) { + if (t.responseURL && typeof URL !== 'undefined') { + try { + var e = new URL(t.responseURL); + return e.pathname + e.search; + } catch (e) { + J(z().body, 'htmx:badResponseUrl', { url: t.responseURL }); + } + } + } + function Qt(e, t) { + return e.getAllResponseHeaders().match(t); + } + function er(e, t, r) { + e = e.toLowerCase(); + if (r) { + if (r instanceof Element || p(r, 'String')) { + return Z(e, t, null, null, { + targetOverride: k(r), + returnPromise: true, + }); + } else { + return Z(e, t, k(r.source), r.event, { + handler: r.handler, + headers: r.headers, + values: r.values, + targetOverride: k(r.target), + swapOverride: r.swap, + returnPromise: true, + }); + } + } else { + return Z(e, t, null, null, { returnPromise: true }); + } + } + function tr(e) { + var t = []; + while (e) { + t.push(e); + e = e.parentElement; + } + return t; + } + function Z(e, t, n, f, r) { + var c = null; + var h = null; + r = r != null ? r : {}; + if (r.returnPromise && typeof Promise !== 'undefined') { + var d = new Promise(function (e, t) { + c = e; + h = t; + }); + } + if (n == null) { + n = z().body; + } + var v = r.handler || rr; + if (!Y(n)) { + return; + } + var g = r.targetOverride || ne(n); + if (g == null || g == te) { + J(n, 'htmx:targetError', { target: V(n, 'hx-target') }); + return; + } + var p = n; + var i = _(n); + var o = G(n, 'hx-sync'); + var m = null; + var x = false; + if (o) { + var y = o.split(':'); + var b = y[0].trim(); + if (b === 'this') { + p = re(n, 'hx-sync'); + } else { + p = ee(n, b); + } + o = (y[1] || 'drop').trim(); + i = _(p); + if (o === 'drop' && i.xhr && i.abortable !== true) { + return; + } else if (o === 'abort') { + if (i.xhr) { + return; + } else { + x = true; + } + } else if (o === 'replace') { + $(p, 'htmx:abort'); + } else if (o.indexOf('queue') === 0) { + var w = o.split(' '); + m = (w[1] || 'last').trim(); + } + } + if (i.xhr) { + if (i.abortable) { + $(p, 'htmx:abort'); + } else { + if (m == null) { + if (f) { + var S = _(f); + if (S && S.triggerSpec && S.triggerSpec.queue) { + m = S.triggerSpec.queue; + } + } + if (m == null) { + m = 'last'; + } + } + if (i.queuedRequests == null) { + i.queuedRequests = []; + } + if (m === 'first' && i.queuedRequests.length === 0) { + i.queuedRequests.push(function () { + Z(e, t, n, f, r); + }); + } else if (m === 'all') { + i.queuedRequests.push(function () { + Z(e, t, n, f, r); + }); + } else if (m === 'last') { + i.queuedRequests = []; + i.queuedRequests.push(function () { + Z(e, t, n, f, r); + }); + } + return; + } + } + var a = new XMLHttpRequest(); + i.xhr = a; + i.abortable = x; + var s = function () { + i.xhr = null; + i.abortable = false; + if (i.queuedRequests != null && i.queuedRequests.length > 0) { + var e = i.queuedRequests.shift(); + e(); + } + }; + var E = G(n, 'hx-prompt'); + if (E) { + var C = prompt(E); + if (C === null || !$(n, 'htmx:prompt', { prompt: C, target: g })) { + K(c); + s(); + return d; + } + } + var R = G(n, 'hx-confirm'); + if (R) { + if (!confirm(R)) { + K(c); + s(); + return d; + } + } + var O = Xt(n, g, C); + if (r.headers) { + O = Q(O, r.headers); + } + var L = Mt(n, e); + var q = L.errors; + var A = L.values; + if (r.values) { + A = Q(A, r.values); + } + var T = Gt(n); + var H = Q(A, T); + var N = jt(H, n); + if (e !== 'get' && G(n, 'hx-encoding') == null) { + O['Content-Type'] = 'application/x-www-form-urlencoded'; + } + if (t == null || t === '') { + t = z().location.href; + } + var k = Wt(n, 'hx-request'); + var l = { + parameters: N, + unfilteredParameters: H, + headers: O, + target: g, + verb: e, + errors: q, + withCredentials: + r.credentials || k.credentials || U.config.withCredentials, + timeout: r.timeout || k.timeout || U.config.timeout, + path: t, + triggeringEvent: f, + }; + if (!$(n, 'htmx:configRequest', l)) { + K(c); + s(); + return d; + } + t = l.path; + e = l.verb; + O = l.headers; + N = l.parameters; + q = l.errors; + if (q && q.length > 0) { + $(n, 'htmx:validation:halted', l); + K(c); + s(); + return d; + } + var I = t.split('#'); + var M = I[0]; + var D = I[1]; + if (e === 'get') { + var F = M; + var P = Object.keys(N).length !== 0; + if (P) { + if (F.indexOf('?') < 0) { + F += '?'; + } else { + F += '&'; + } + F += Ft(N); + if (D) { + F += '#' + D; + } + } + a.open('GET', F, true); + } else { + a.open(e.toUpperCase(), t, true); + } + a.overrideMimeType('text/html'); + a.withCredentials = l.withCredentials; + a.timeout = l.timeout; + if (k.noHeaders) { + } else { + for (var X in O) { + if (O.hasOwnProperty(X)) { + var j = O[X]; + Kt(a, X, j); + } + } + } + var u = { + xhr: a, + target: g, + requestConfig: l, + etc: r, + pathInfo: { path: t, finalPath: F, anchor: D }, + }; + a.onload = function () { + try { + var e = tr(n); + v(n, u); + Tt(B); + $(n, 'htmx:afterRequest', u); + $(n, 'htmx:afterOnLoad', u); + if (!Y(n)) { + var t = null; + while (e.length > 0 && t == null) { + var r = e.shift(); + if (Y(r)) { + t = r; + } + } + if (t) { + $(t, 'htmx:afterRequest', u); + $(t, 'htmx:afterOnLoad', u); + } + } + K(c); + s(); + } catch (e) { + J(n, 'htmx:onLoadError', Q({ error: e }, u)); + throw e; + } + }; + a.onerror = function () { + Tt(B); + J(n, 'htmx:afterRequest', u); + J(n, 'htmx:sendError', u); + K(h); + s(); + }; + a.onabort = function () { + Tt(B); + J(n, 'htmx:afterRequest', u); + J(n, 'htmx:sendAbort', u); + K(h); + s(); + }; + a.ontimeout = function () { + Tt(B); + J(n, 'htmx:afterRequest', u); + J(n, 'htmx:timeout', u); + K(h); + s(); + }; + if (!$(n, 'htmx:beforeRequest', u)) { + K(c); + s(); + return d; + } + var B = At(n); + W(['loadstart', 'loadend', 'progress', 'abort'], function (t) { + W([a, a.upload], function (e) { + e.addEventListener(t, function (e) { + $(n, 'htmx:xhr:' + t, { + lengthComputable: e.lengthComputable, + loaded: e.loaded, + total: e.total, + }); + }); + }); + }); + $(n, 'htmx:beforeSend', u); + a.send(e === 'get' ? null : Vt(a, n, N)); + return d; + } + function rr(s, l) { + var u = l.xhr; + var f = l.target; + var r = l.etc; + if (!$(s, 'htmx:beforeOnLoad', l)) return; + if (Qt(u, /HX-Trigger:/i)) { + Se(u, 'HX-Trigger', s); + } + if (Qt(u, /HX-Push:/i)) { + var c = u.getResponseHeader('HX-Push'); + } + if (Qt(u, /HX-Redirect:/i)) { + window.location.href = u.getResponseHeader('HX-Redirect'); + return; + } + if (Qt(u, /HX-Refresh:/i)) { + if ('true' === u.getResponseHeader('HX-Refresh')) { + location.reload(); + return; + } + } + if (Qt(u, /HX-Retarget:/i)) { + l.target = z().querySelector(u.getResponseHeader('HX-Retarget')); + } + var h; + if (c == 'false') { + h = false; + } else { + h = Lt(s) || c; + } + var n = u.status >= 200 && u.status < 400 && u.status !== 204; + var d = u.response; + var e = u.status >= 400; + var t = Q({ shouldSwap: n, serverResponse: d, isError: e }, l); + if (!$(f, 'htmx:beforeSwap', t)) return; + f = t.target; + d = t.serverResponse; + e = t.isError; + l.failed = e; + l.successful = !e; + if (t.shouldSwap) { + if (u.status === 286) { + Ie(s); + } + gt(s, function (e) { + d = e.transformResponse(d, u, s); + }); + if (h) { + St(); + } + var i = r.swapOverride; + var v = Ut(s, i); + f.classList.add(U.config.swappingClass); + var o = function () { + try { + var e = document.activeElement; + var t = {}; + try { + t = { + elt: e, + start: e ? e.selectionStart : null, + end: e ? e.selectionEnd : null, + }; + } catch (e) {} + var n = zt(f); + we(v.swapStyle, f, s, d, n); + if (t.elt && !Y(t.elt) && t.elt.id) { + var r = document.getElementById(t.elt.id); + var i = { + preventScroll: + v.focusScroll !== undefined + ? !v.focusScroll + : !U.config.defaultFocusScroll, + }; + if (r) { + if (t.start && r.setSelectionRange) { + r.setSelectionRange(t.start, t.end); + } + r.focus(i); + } + } + f.classList.remove(U.config.swappingClass); + W(n.elts, function (e) { + if (e.classList) { + e.classList.add(U.config.settlingClass); + } + $(e, 'htmx:afterSwap', l); + }); + if (l.pathInfo.anchor) { + location.hash = l.pathInfo.anchor; + } + if (Qt(u, /HX-Trigger-After-Swap:/i)) { + var o = s; + if (!Y(s)) { + o = z().body; + } + Se(u, 'HX-Trigger-After-Swap', o); + } + var a = function () { + W(n.tasks, function (e) { + e.call(); + }); + W(n.elts, function (e) { + if (e.classList) { + e.classList.remove(U.config.settlingClass); + } + $(e, 'htmx:afterSettle', l); + }); + if (h) { + var e = + c || + qt(s) || + Yt(u) || + l.pathInfo.finalPath || + l.pathInfo.path; + Et(e); + $(z().body, 'htmx:pushedIntoHistory', { path: e }); + } + if (n.title) { + var t = C('title'); + if (t) { + t.innerHTML = n.title; + } else { + window.document.title = n.title; + } + } + _t(n.elts, v); + if (Qt(u, /HX-Trigger-After-Settle:/i)) { + var r = s; + if (!Y(s)) { + r = z().body; + } + Se(u, 'HX-Trigger-After-Settle', r); + } + }; + if (v.settleDelay > 0) { + setTimeout(a, v.settleDelay); + } else { + a(); + } + } catch (e) { + J(s, 'htmx:swapError', l); + throw e; + } + }; + if (v.swapDelay > 0) { + setTimeout(o, v.swapDelay); + } else { + o(); + } + } + if (e) { + J( + s, + 'htmx:responseError', + Q( + { + error: + 'Response Status Error Code ' + + u.status + + ' from ' + + l.pathInfo.path, + }, + l + ) + ); + } + } + var nr = {}; + function ir() { + return { + init: function (e) { + return null; + }, + onEvent: function (e, t) { + return true; + }, + transformResponse: function (e, t, r) { + return e; + }, + isInlineSwap: function (e) { + return false; + }, + handleSwap: function (e, t, r, n) { + return false; + }, + encodeParameters: function (e, t, r) { + return null; + }, + }; + } + function or(e, t) { + if (t.init) { + t.init(r); + } + nr[e] = Q(ir(), t); + } + function ar(e) { + delete nr[e]; + } + function sr(e, r, n) { + if (e == undefined) { + return r; + } + if (r == undefined) { + r = []; + } + if (n == undefined) { + n = []; + } + var t = V(e, 'hx-ext'); + if (t) { + W(t.split(','), function (e) { + e = e.replace(/ /g, ''); + if (e.slice(0, 7) == 'ignore:') { + n.push(e.slice(7)); + return; + } + if (n.indexOf(e) < 0) { + var t = nr[e]; + if (t && r.indexOf(t) < 0) { + r.push(t); + } + } + }); + } + return sr(u(e), r, n); + } + function lr(e) { + if (z().readyState !== 'loading') { + e(); + } else { + z().addEventListener('DOMContentLoaded', e); + } + } + function ur() { + if (U.config.includeIndicatorStyles !== false) { + z().head.insertAdjacentHTML( + 'beforeend', + '' + ); + } + } + function fr() { + var e = z().querySelector('meta[name="htmx-config"]'); + if (e) { + return S(e.content); + } else { + return null; + } + } + function cr() { + var e = fr(); + if (e) { + U.config = Q(U.config, e); + } + } + lr(function () { + cr(); + ur(); + var e = z().body; + ct(e); + var t = z().querySelectorAll( + "[hx-trigger='restored'],[data-hx-trigger='restored']" + ); + e.addEventListener('htmx:abort', function (e) { + var t = e.target; + var r = _(t); + if (r && r.xhr) { + r.xhr.abort(); + } + }); + window.onpopstate = function (e) { + if (e.state && e.state.htmx) { + Ot(); + W(t, function (e) { + $(e, 'htmx:restored', { document: z(), triggerEvent: $ }); + }); + } + }; + setTimeout(function () { + $(e, 'htmx:load', {}); + }, 0); + }); + return U; + })(); +}); diff --git a/templates/_base.html b/templates/_base.html index 1d88e9f..be1b83a 100644 --- a/templates/_base.html +++ b/templates/_base.html @@ -10,7 +10,9 @@ {% block full_title %}{% block title %}{% endblock title %} | {{ PROJECT_NAME }}{% endblock full_title %} - + + +