pax_global_header00006660000000000000000000000064152052316320014511gustar00rootroot0000000000000052 comment=a25f01e8154290b203ab480ffeedc60c80bd0710 iamkun-dayjs-a25f01e/000077500000000000000000000000001520523163200145125ustar00rootroot00000000000000iamkun-dayjs-a25f01e/.editorconfig000066400000000000000000000001361520523163200171670ustar00rootroot00000000000000root = true [*] charset = utf-8 end_of_line = lf insert_final_newline = true indent_size = 2 iamkun-dayjs-a25f01e/.eslintrc.json000066400000000000000000000011061520523163200173040ustar00rootroot00000000000000{ "extends": "airbnb-base", "plugins": [ "jest" ], "env": { "jest/globals": true }, "globals": { "window": true, "dayjs": true }, "rules": { "semi": [ 2, "never" ], "comma-dangle": [ "error", "never" ], "no-param-reassign": [ 0 ], "func-names": [ 0 ], "import/no-extraneous-dependencies": [ 0 ], "import/no-unresolved": [ 2, { "ignore": [ "dayjs" ] } ], "import/extensions": [ 2, "never" ] } } iamkun-dayjs-a25f01e/.github/000077500000000000000000000000001520523163200160525ustar00rootroot00000000000000iamkun-dayjs-a25f01e/.github/FUNDING.yml000066400000000000000000000011271520523163200176700ustar00rootroot00000000000000# These are supported funding model platforms github: [iamkun] patreon: # Replace with a single Patreon username open_collective: dayjs ko_fi: # Replace with a single Ko-fi username tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry liberapay: # Replace with a single Liberapay username issuehunt: # Replace with a single IssueHunt username otechie: # Replace with a single Otechie username custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] iamkun-dayjs-a25f01e/.github/ISSUE_TEMPLATE/000077500000000000000000000000001520523163200202355ustar00rootroot00000000000000iamkun-dayjs-a25f01e/.github/ISSUE_TEMPLATE/--bug-report.md000066400000000000000000000006561520523163200230060ustar00rootroot00000000000000--- name: "\U0001F4A9Bug report" about: Create a report to help us improve title: '' labels: '' assignees: '' --- **Describe the bug** A clear and concise description of what the bug is. **Expected behavior** A clear and concise description of what you expected to happen. **Information** - Day.js Version [e.g. v1.0.0] - OS: [e.g. iOS] - Browser [e.g. chrome 62] - Time zone: [e.g. GMT-07:00 DST (Pacific Daylight Time)] iamkun-dayjs-a25f01e/.github/workflows/000077500000000000000000000000001520523163200201075ustar00rootroot00000000000000iamkun-dayjs-a25f01e/.github/workflows/check.yml000066400000000000000000000002621520523163200217070ustar00rootroot00000000000000name: Lint & Unit Test on: push: branches: [dev] pull_request: branches: [dev] jobs: check: uses: ./.github/workflows/lint-test.yml secrets: inherit iamkun-dayjs-a25f01e/.github/workflows/lint-test.yml000066400000000000000000000013251520523163200225560ustar00rootroot00000000000000on: workflow_call: secrets: CODECOV_TOKEN: required: false jobs: lint-and-test: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Setup Node uses: actions/setup-node@v3 with: node-version: 'lts/*' cache: 'npm' - name: Install dependencies run: npm install - name: Run Lint run: npm run lint - name: Run tests run: npm test - name: Upload coverage to Codecov env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} if: env.CODECOV_TOKEN != null uses: codecov/codecov-action@v4 with: token: ${{ env.CODECOV_TOKEN }} iamkun-dayjs-a25f01e/.github/workflows/release.yml000066400000000000000000000020331520523163200222500ustar00rootroot00000000000000name: Release on: push: branches: [master] jobs: lint-and-test: uses: ./.github/workflows/lint-test.yml secrets: inherit release: needs: lint-and-test runs-on: ubuntu-latest permissions: contents: write issues: write pull-requests: write id-token: write steps: - name: Checkout uses: actions/checkout@v3 with: fetch-depth: 0 - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: 'lts/*' - name: Install dependencies run: npm clean-install - name: Build env: NODE_OPTIONS: --openssl-legacy-provider run: npm run build && npm run babel - name: Verify provenance run: npm audit signatures - name: Release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | npm install @semantic-release/changelog @semantic-release/git semantic-release --no-save npx patch-package npx semantic-release iamkun-dayjs-a25f01e/.gitignore000066400000000000000000000002461520523163200165040ustar00rootroot00000000000000# OSX .DS_Store # IDE .idea .vscode # npm node_modules yarn.lock # jest coverage # build /locale /plugin /dayjs.min.js /esm /index.d.ts locale.json #dev demo.js iamkun-dayjs-a25f01e/.npmignore000066400000000000000000000004121520523163200165060ustar00rootroot00000000000000# OSX .DS_Store # IDE .idea # npm node_modules yarn.lock package-lock.json # jest coverage # dev src test types build babel.config.js prettier.config.js .eslintrc.json patches #doc CONTRIBUTING.md docs #other .travis.yml karma.sauce.conf.js .github .releaserc iamkun-dayjs-a25f01e/.releaserc000066400000000000000000000003341520523163200164600ustar00rootroot00000000000000{ "branches": ["master"], "prepare": [ { "path": "@semantic-release/changelog" }, [ "@semantic-release/git", { "assets": [ "CHANGELOG.md" ] } ] ] } iamkun-dayjs-a25f01e/CHANGELOG.md000066400000000000000000002427141520523163200163350ustar00rootroot00000000000000## [1.11.21](https://github.com/iamkun/dayjs/compare/v1.11.20...v1.11.21) (2026-05-26) ### Bug Fixes * preserve unsupported year tokens in format ([#3015](https://github.com/iamkun/dayjs/issues/3015)) ([#3016](https://github.com/iamkun/dayjs/issues/3016)) ([8fda602](https://github.com/iamkun/dayjs/commit/8fda602beac5abbc64230ddc49085aa532320f26)) ## [1.11.20](https://github.com/iamkun/dayjs/compare/v1.11.19...v1.11.20) (2026-03-12) ### Bug Fixes * Update locale km.js to support meridiem ([#3017](https://github.com/iamkun/dayjs/issues/3017)) ([9d2b6a1](https://github.com/iamkun/dayjs/commit/9d2b6a1ec744ad5db13afd4d701f93349135dfec)) * update updateLocale plugin to merge nested object properties instead of replacing ([#3012](https://github.com/iamkun/dayjs/issues/3012)) ([99691c5](https://github.com/iamkun/dayjs/commit/99691c5f3bd1371d3b763d5f9dfaed9a1945a477)), closes [#1118](https://github.com/iamkun/dayjs/issues/1118) ## [1.11.19](https://github.com/iamkun/dayjs/compare/v1.11.18...v1.11.19) (2025-10-31) ### Bug Fixes * added usage warnings for diff + updated unit tests ([#2948](https://github.com/iamkun/dayjs/issues/2948)) ([269a7a9](https://github.com/iamkun/dayjs/commit/269a7a9cf3649b7a4b328e771173701764a8480d)) * dont instantiate regexes within ar locale functions to avoid performance overhead ([#2898](https://github.com/iamkun/dayjs/issues/2898)) ([af5e9f0](https://github.com/iamkun/dayjs/commit/af5e9f0e7649cbd1ecf707daab8303f2733f2563)) * replace italian locale "un' ora fa" with "un'ora fa", add tests for it ([#2930](https://github.com/iamkun/dayjs/issues/2930)) ([9e9f76c](https://github.com/iamkun/dayjs/commit/9e9f76cf117fa834260b30193434bc4481b4b6be)) * Updated Belarusian locale with relative time ([#2656](https://github.com/iamkun/dayjs/issues/2656)) ([1d8746c](https://github.com/iamkun/dayjs/commit/1d8746c23bd667bde80ee627a915301ebd69e1a2)) ## [1.11.18](https://github.com/iamkun/dayjs/compare/v1.11.17...v1.11.18) (2025-08-30) ### Bug Fixes * error semantic-release dependency ([8cfb313](https://github.com/iamkun/dayjs/commit/8cfb31386d840d31e9655870f4d8c01592eb753a)) ## [1.11.17](https://github.com/iamkun/dayjs/compare/v1.11.16...v1.11.17) (2025-08-29) ### Bug Fixes * [en-AU] locale use the same ordinal as moment ([#2878](https://github.com/iamkun/dayjs/issues/2878)) ([1b95ecd](https://github.com/iamkun/dayjs/commit/1b95ecd21d4feafe7ab113a2d48d7d8d93bb95c9)) ## [1.11.16](https://github.com/iamkun/dayjs/compare/v1.11.15...v1.11.16) (2025-08-29) ### Bug Fixes * test release workflow (no code changes) ([c38c428](https://github.com/iamkun/dayjs/commit/c38c428a78c344699eff373adfc8c007bb3a514f)) ## [1.11.15](https://github.com/iamkun/dayjs/compare/v1.11.14...v1.11.15) (2025-08-28) ### Bug Fixes * Fix misspellings in Irish or Irish Gaelic [ga] ([#2861](https://github.com/iamkun/dayjs/issues/2861)) ([9c14a42](https://github.com/iamkun/dayjs/commit/9c14a4245a8e764ee3260ff17a7ff48dfd09d279)) ## [1.11.14](https://github.com/iamkun/dayjs/compare/v1.11.13...v1.11.14) (2025-08-27) ### Bug Fixes * .utcOffset(0, true) result and its clone are different bug ([#2505](https://github.com/iamkun/dayjs/issues/2505)) ([fefdcd4](https://github.com/iamkun/dayjs/commit/fefdcd4b6b807786f65139b6dd801e0014d7dc6f)) ## [1.11.13](https://github.com/iamkun/dayjs/compare/v1.11.12...v1.11.13) (2024-08-20) ### Bug Fixes * customParseFormat supports Q quter / w ww weekOfYear ([#2705](https://github.com/iamkun/dayjs/issues/2705)) ([8ca74f1](https://github.com/iamkun/dayjs/commit/8ca74f178eff4bb4eb686676cf35fe7edb815536)) ## [1.11.12](https://github.com/iamkun/dayjs/compare/v1.11.11...v1.11.12) (2024-07-18) ### Bug Fixes * Add NegativeYear Plugin support ([#2640](https://github.com/iamkun/dayjs/issues/2640)) ([6a42e0d](https://github.com/iamkun/dayjs/commit/6a42e0d7398639238f575d51287daaf4d495a2a3)) * add UTC support to negativeYear plugin ([#2692](https://github.com/iamkun/dayjs/issues/2692)) ([f3ef705](https://github.com/iamkun/dayjs/commit/f3ef705613af83333fe132b470896a65e12f31b0)) * Fix zero offset issue when use tz with locale ([#2532](https://github.com/iamkun/dayjs/issues/2532)) ([d0e6738](https://github.com/iamkun/dayjs/commit/d0e6738a66e1b65d3706aad2f9168ebb43d4f887)) * Improve typing for min/max plugin ([#2573](https://github.com/iamkun/dayjs/issues/2573)) ([4fbe94a](https://github.com/iamkun/dayjs/commit/4fbe94aaba8c815a42cf4d23dabac918ec50e68c)) * timezone plugin correct parse UTC tz ([#2693](https://github.com/iamkun/dayjs/issues/2693)) ([b575c81](https://github.com/iamkun/dayjs/commit/b575c81a8c9c85c7a0baf6f608a12f9d3ba95bd1)) ## [1.11.11](https://github.com/iamkun/dayjs/compare/v1.11.10...v1.11.11) (2024-04-28) ### Bug Fixes * day of week type literal ([#2630](https://github.com/iamkun/dayjs/issues/2630)) ([f68d73e](https://github.com/iamkun/dayjs/commit/f68d73efe562fdedd9e288ecb0ce6565e602f507)) * improve locale "zh-hk" format and meridiem ([#2419](https://github.com/iamkun/dayjs/issues/2419)) ([a947a51](https://github.com/iamkun/dayjs/commit/a947a5171aad5695eaf593bc95fe073de0f0894a)) * Update 'da' locale to match correct first week of year ([#2592](https://github.com/iamkun/dayjs/issues/2592)) ([44b0936](https://github.com/iamkun/dayjs/commit/44b0936ad709212b63e48672d8b9c225e2c3b830)) * update locale Bulgarian monthsShort Jan ([#2538](https://github.com/iamkun/dayjs/issues/2538)) ([f0c9a41](https://github.com/iamkun/dayjs/commit/f0c9a41c6ec91528f3790e442b0c5dff15a4e640)) ## [1.11.10](https://github.com/iamkun/dayjs/compare/v1.11.9...v1.11.10) (2023-09-19) ### Bug Fixes * Add Korean Day of Month with ordinal ([#2395](https://github.com/iamkun/dayjs/issues/2395)) ([dd55ee2](https://github.com/iamkun/dayjs/commit/dd55ee2aadd1009242235e47d558bbf028827896)) * change back fa locale to the Gregorian calendar equivalent ([#2411](https://github.com/iamkun/dayjs/issues/2411)) ([95e9458](https://github.com/iamkun/dayjs/commit/95e9458b221fe35e59ee4a160a5db247313a68fb)) * duration plugin - MILLISECONDS_A_MONTH const calculation ([#2362](https://github.com/iamkun/dayjs/issues/2362)) ([f0a0b54](https://github.com/iamkun/dayjs/commit/f0a0b546b074b3b511c2319a1ce83d412894b91f)) * duration plugin getter get result 0 instead of undefined ([#2369](https://github.com/iamkun/dayjs/issues/2369)) ([061aa7e](https://github.com/iamkun/dayjs/commit/061aa7ed6c31696974665fc9b11a74d30841ebed)) * fix isDayjs check logic ([#2383](https://github.com/iamkun/dayjs/issues/2383)) ([5f3f878](https://github.com/iamkun/dayjs/commit/5f3f8786c796cd432fe6bcb6966a810daea89203)) * fix timezone plugin to get correct locale setting ([#2420](https://github.com/iamkun/dayjs/issues/2420)) ([4f45012](https://github.com/iamkun/dayjs/commit/4f4501256fa1bc72128aae1d841bbd782df86aed)) * **locale:** add meridiem in `ar` locale ([#2418](https://github.com/iamkun/dayjs/issues/2418)) ([361be5c](https://github.com/iamkun/dayjs/commit/361be5c7c628614ee833d710acbe154a598b904d)) * round durations to millisecond precision for ISO string ([#2367](https://github.com/iamkun/dayjs/issues/2367)) ([890a17a](https://github.com/iamkun/dayjs/commit/890a17a8d8ddd43c7c8b806e3afc7b27f3288d27)) * sub-second precisions need to be rounded at the seconds field to avoid adding floats ([#2377](https://github.com/iamkun/dayjs/issues/2377)) ([a9d7d03](https://github.com/iamkun/dayjs/commit/a9d7d0398d22ebd4bfc3812ca0134a97606d54d9)) * update $x logic to avoid plugin error ([#2429](https://github.com/iamkun/dayjs/issues/2429)) ([2254635](https://github.com/iamkun/dayjs/commit/22546357f30924fcff3b3ffa14fd04be21f97a5e)) * Update Slovenian locale for relative time ([#2396](https://github.com/iamkun/dayjs/issues/2396)) ([5470a15](https://github.com/iamkun/dayjs/commit/5470a15e437fac803797363063b24f3ba3bd5299)) * update uzbek language translation ([#2327](https://github.com/iamkun/dayjs/issues/2327)) ([0a91056](https://github.com/iamkun/dayjs/commit/0a910564d76dc7c128da8e0d85d8e11ebdb5660b)) ## [1.11.9](https://github.com/iamkun/dayjs/compare/v1.11.8...v1.11.9) (2023-07-01) ### Bug Fixes * Add null to min and max plugin return type ([#2355](https://github.com/iamkun/dayjs/issues/2355)) ([62d9042](https://github.com/iamkun/dayjs/commit/62d9042eb84b78d78324694ccbeaad1679d37e68)) * check if null passed to objectSupport parser ([#2175](https://github.com/iamkun/dayjs/issues/2175)) ([013968f](https://github.com/iamkun/dayjs/commit/013968f609c32e2269df69b4dd1feb2e8e1e035a)) * dayjs.diff improve performance ([#2244](https://github.com/iamkun/dayjs/issues/2244)) ([33c80e1](https://github.com/iamkun/dayjs/commit/33c80e14cf14f70ceb4f54639e266cd70a3c3996)) * dayjs(null) throws error, not return dayjs object as invalid date ([#2334](https://github.com/iamkun/dayjs/issues/2334)) ([c79e2f5](https://github.com/iamkun/dayjs/commit/c79e2f5d03eef5660b1f13385b69c0c9668d2f98)) * objectSupport plugin causes an error when null is passed to dayjs function (closes [#2277](https://github.com/iamkun/dayjs/issues/2277)) ([#2342](https://github.com/iamkun/dayjs/issues/2342)) ([89bf31c](https://github.com/iamkun/dayjs/commit/89bf31ce0a36dcfc892029dc019d85d3654cf5fb)) * Optimize format method ([#2313](https://github.com/iamkun/dayjs/issues/2313)) ([1fe1b1d](https://github.com/iamkun/dayjs/commit/1fe1b1d9a214d3b8c9f267b432801424a493f1c4)) * update Duration plugin add/subtract take into account days in month ([#2337](https://github.com/iamkun/dayjs/issues/2337)) ([3b1060f](https://github.com/iamkun/dayjs/commit/3b1060f92183ab3a3c49289c2d87fbdd34c1eacc)) * update MinMax plugin 1. ignore the 'null' in args 2. return the only one arg ([#2330](https://github.com/iamkun/dayjs/issues/2330)) ([3c2c6ee](https://github.com/iamkun/dayjs/commit/3c2c6ee4db00bbb43a7a3bb0b56bc0d0f03daddc)) ## [1.11.8](https://github.com/iamkun/dayjs/compare/v1.11.7...v1.11.8) (2023-06-02) ### Bug Fixes * .format add padding to 'YYYY' ([#2231](https://github.com/iamkun/dayjs/issues/2231)) ([00c223b](https://github.com/iamkun/dayjs/commit/00c223b7e92970d07557133994fcb225a6d4c960)) * Added .valueOf method to Duration class ([#2226](https://github.com/iamkun/dayjs/issues/2226)) ([9b4fcfd](https://github.com/iamkun/dayjs/commit/9b4fcfde35b39693894be1821b6c7222fac98657)) * timezone type mark `date` parameter as optional ([#2222](https://github.com/iamkun/dayjs/issues/2222)) ([b87aa0e](https://github.com/iamkun/dayjs/commit/b87aa0ed9a748c478a66ef48230cd1d6350d7b8a)) * type file first parameter date is optional in isSame(), isBefore(), isAfter() ([#2272](https://github.com/iamkun/dayjs/issues/2272)) ([4d56f3e](https://github.com/iamkun/dayjs/commit/4d56f3eb2b3770879d60f824590bf1b32f237d47)) ## [1.11.7](https://github.com/iamkun/dayjs/compare/v1.11.6...v1.11.7) (2022-12-06) ### Bug Fixes * Add locale (zh-tw) meridiem ([#2149](https://github.com/iamkun/dayjs/issues/2149)) ([1e9ba76](https://github.com/iamkun/dayjs/commit/1e9ba761ff4e3f2759106dfe1aa9054d5826451c)) * update fa locale ([#2151](https://github.com/iamkun/dayjs/issues/2151)) ([1c26732](https://github.com/iamkun/dayjs/commit/1c267321a1a01b4947e1482bac67d67ebc7c3dfa)) ## [1.11.6](https://github.com/iamkun/dayjs/compare/v1.11.5...v1.11.6) (2022-10-21) ### Bug Fixes * add BigIntSupport plugin ([#2087](https://github.com/iamkun/dayjs/issues/2087)) ([f6dce48](https://github.com/iamkun/dayjs/commit/f6dce48a9e39677718b087867d9fd901d5078155)) * Fix objectSupport collides with Duration plugin - issue [#2027](https://github.com/iamkun/dayjs/issues/2027) ([#2038](https://github.com/iamkun/dayjs/issues/2038)) ([c9370ea](https://github.com/iamkun/dayjs/commit/c9370ea96bf420439ee7eaa4146e8ed643160312)) ## [1.11.5](https://github.com/iamkun/dayjs/compare/v1.11.4...v1.11.5) (2022-08-12) ### Bug Fixes * ordinal for nl not working ([#2011](https://github.com/iamkun/dayjs/issues/2011)) ([c93c85e](https://github.com/iamkun/dayjs/commit/c93c85eaa11564a1aae2d823480a417812c01bf4)) * wrong ordinal for french locale ([#2010](https://github.com/iamkun/dayjs/issues/2010)) ([dd192a7](https://github.com/iamkun/dayjs/commit/dd192a72fc5d26ce56481e89b0c1ccf5f939be0c)) ## [1.11.4](https://github.com/iamkun/dayjs/compare/v1.11.3...v1.11.4) (2022-07-19) ### Bug Fixes * correct past property in ku (kurdish) locale ([#1916](https://github.com/iamkun/dayjs/issues/1916)) ([74e82b9](https://github.com/iamkun/dayjs/commit/74e82b9da5ec8b90361fc27ac7c8b63faf354502)) * fix French [fr] local ordinal ([#1932](https://github.com/iamkun/dayjs/issues/1932)) ([8f09834](https://github.com/iamkun/dayjs/commit/8f09834a88b8e7f8353c6e7473d4711596890a8c)) * fix objectSupport plugin ConfigTypeMap type ([#1441](https://github.com/iamkun/dayjs/issues/1441)) ([#1990](https://github.com/iamkun/dayjs/issues/1990)) ([fd51fe4](https://github.com/iamkun/dayjs/commit/fd51fe4f7fa799d8c598343e71fa59299ec4cf93)) * fix type error to add ordianl property in InstanceLocaleDataReturn and GlobalLocaleDataReturn types ([#1931](https://github.com/iamkun/dayjs/issues/1931)) ([526f0ae](https://github.com/iamkun/dayjs/commit/526f0ae549ffbeeb9ef1099ca23964791fc59743)) * update locale ar-* meridiem function ([#1954](https://github.com/iamkun/dayjs/issues/1954)) ([3d31611](https://github.com/iamkun/dayjs/commit/3d316117f04362d31f4e8bd349620b8414ce5d0c)) * zh-tw / zh-hk locale ordinal error ([#1976](https://github.com/iamkun/dayjs/issues/1976)) ([0a1bd08](https://github.com/iamkun/dayjs/commit/0a1bd08e736be7d4e378aaca280caa6543f8066d)) ## [1.11.3](https://github.com/iamkun/dayjs/compare/v1.11.2...v1.11.3) (2022-06-06) ### Bug Fixes * customParseFormat plugin to parse comma as a separator character ([#1913](https://github.com/iamkun/dayjs/issues/1913)) ([41b1405](https://github.com/iamkun/dayjs/commit/41b1405971e099431211ae6c2a100cd797da4427)) * update Dutch [nl] locale ordinal ([#1908](https://github.com/iamkun/dayjs/issues/1908)) ([5da98f8](https://github.com/iamkun/dayjs/commit/5da98f8085d2d2847d79e38c795082703a14f24b)) ## [1.11.2](https://github.com/iamkun/dayjs/compare/v1.11.1...v1.11.2) (2022-05-06) ### Bug Fixes * add OpUnitType (week) to quarterOfYear startOf/endOf types ([#1865](https://github.com/iamkun/dayjs/issues/1865)) ([400bc3e](https://github.com/iamkun/dayjs/commit/400bc3e8915e0c58e7abbfd3a1235364b1abaf3e)) * Fix type issue with ManipulateType ([#1864](https://github.com/iamkun/dayjs/issues/1864)) ([d033dfc](https://github.com/iamkun/dayjs/commit/d033dfcfc1d2ced39b2733898e8d85ad5984c9e9)) * fix UTC plugin .valueOf not taking DST into account ([#1448](https://github.com/iamkun/dayjs/issues/1448)) ([27d1c50](https://github.com/iamkun/dayjs/commit/27d1c506100ae6624f258c21cc06b24768ced733)) ## [1.11.1](https://github.com/iamkun/dayjs/compare/v1.11.0...v1.11.1) (2022-04-15) ### Bug Fixes * add Bengali (Bangladesh) [bn-bd] locale ([#1806](https://github.com/iamkun/dayjs/issues/1806)) ([840ed76](https://github.com/iamkun/dayjs/commit/840ed76eedc085afefc4dedd05f31d44196b63b0)) * refactor replace deprecated String.prototype.substr() ([#1836](https://github.com/iamkun/dayjs/issues/1836)) ([627fa39](https://github.com/iamkun/dayjs/commit/627fa393e4daf83c92431162dbe18534b23fcbae)) * Update German [de] locale, adds the abbreviations for month including a . in the end, as in September -> Sept. ([#1831](https://github.com/iamkun/dayjs/issues/1831)) ([4e2802c](https://github.com/iamkun/dayjs/commit/4e2802cc3bec2941ffb737a15fb531c90951eafe)) * update Italian (Switzerland) [it-ch] locale relativeTime ([#1829](https://github.com/iamkun/dayjs/issues/1829)) ([8e6d11d](https://github.com/iamkun/dayjs/commit/8e6d11d053393d97bee1ba411adb2d82de1a58c4)) * update Kurdish [ku] locale strings and formatted output contains non-standard kurdish characters ([#1848](https://github.com/iamkun/dayjs/issues/1848)) ([a597d0b](https://github.com/iamkun/dayjs/commit/a597d0b1b8dd28e626f8c59d326622088f7b51e7)) * update locale bo [Tibetan]: corrected the orders in formats ([#1823](https://github.com/iamkun/dayjs/issues/1823)) ([e790516](https://github.com/iamkun/dayjs/commit/e79051617af6787358f6c9b5443d987b8b53a9e1)) # [1.11.0](https://github.com/iamkun/dayjs/compare/v1.10.8...v1.11.0) (2022-03-14) ### Bug Fixes * Add Kirundi (rn) locale ([#1793](https://github.com/iamkun/dayjs/issues/1793)) ([74e5247](https://github.com/iamkun/dayjs/commit/74e5247227a779fffde39bdfcd1ee19911496709)) * add missing date shorthand D type definition ([#1752](https://github.com/iamkun/dayjs/issues/1752)) ([b045baf](https://github.com/iamkun/dayjs/commit/b045baf1646a81f7e4f446f355d02d5fb0ef4aa7)) * Add relative time to Galician (gl) and fix ordinals ([#1800](https://github.com/iamkun/dayjs/issues/1800)) ([dcbf170](https://github.com/iamkun/dayjs/commit/dcbf1708400624addfbddbc71e0f6a9ac15fa961)) * update German locales (de-at, de-ch) ([#1775](https://github.com/iamkun/dayjs/issues/1775)) ([f9055a7](https://github.com/iamkun/dayjs/commit/f9055a77bf3d84c575e5fcf99e21611138ba64d7)) * update Icelandic [is] locale relativeTime config ([#1796](https://github.com/iamkun/dayjs/issues/1796)) ([76f9e17](https://github.com/iamkun/dayjs/commit/76f9e1756de7e99c01e471dab30ea074b9ec9629)) * Update index.d.ts note ([#1716](https://github.com/iamkun/dayjs/issues/1716)) ([5a108ff](https://github.com/iamkun/dayjs/commit/5a108ff3159c53fd270ea7638f33c35c934d6457)) * Update locale German [de] monthsShort ([#1746](https://github.com/iamkun/dayjs/issues/1746)) ([4a7b7d0](https://github.com/iamkun/dayjs/commit/4a7b7d07c885bb9338514c234dbb708e24e9863e)) * update meridiem function to Kurdish (ku) locale ([#1725](https://github.com/iamkun/dayjs/issues/1725)) ([efd3904](https://github.com/iamkun/dayjs/commit/efd3904ff8cbf0a4fc064911dda76fc86b669f7b)) * update updateLocal plugin typescript types ([#1692](https://github.com/iamkun/dayjs/issues/1692)) ([c7a3f73](https://github.com/iamkun/dayjs/commit/c7a3f73064dbb63b4d365b2ad4c792f075f4d8d8)) ### Features * Fallback to language only locale + support uppercase locales ([#1524](https://github.com/iamkun/dayjs/issues/1524)) ([9138dc2](https://github.com/iamkun/dayjs/commit/9138dc28206875372da4fb74c64716437cd11b95)) ## [1.10.8](https://github.com/iamkun/dayjs/compare/v1.10.7...v1.10.8) (2022-02-28) ### Bug Fixes * set locale pt, pt-br correct weekdays and months ([#1697](https://github.com/iamkun/dayjs/issues/1697)) ([e019301](https://github.com/iamkun/dayjs/commit/e01930171c8235f58a114236f146086428f99569)) ## [1.10.7](https://github.com/iamkun/dayjs/compare/v1.10.6...v1.10.7) (2021-09-10) ### Bug Fixes * Add Spanish (Mexico) [es-mx] locale ([#1614](https://github.com/iamkun/dayjs/issues/1614)) ([3393f2a](https://github.com/iamkun/dayjs/commit/3393f2ad55346d55902683a2e31c6f253d96c8c2)) * Add Arabic (Iraq) [ar-iq] locale ([#1627](https://github.com/iamkun/dayjs/issues/1627)) ([b5a1391](https://github.com/iamkun/dayjs/commit/b5a1391011b247d08863d291542db5937b23b427)) * add format object type to type file ([#1572](https://github.com/iamkun/dayjs/issues/1572)) ([5a79cc6](https://github.com/iamkun/dayjs/commit/5a79cc6408e825d9e123629eb44fc19c996d7751)) * duration plugin when parsing duration from ISO string, set missing components to 0 instead of NaN ([#1611](https://github.com/iamkun/dayjs/issues/1611)) ([252585b](https://github.com/iamkun/dayjs/commit/252585b4b2bd59508150e21bb994908a9d78f9b0)) * narrow type for `add` and `subtract` ([#1576](https://github.com/iamkun/dayjs/issues/1576)) ([1686962](https://github.com/iamkun/dayjs/commit/16869621b1a42563064dbf87f80c1ebfd74c1188)) * update customParseFormat plugin strict x X parsing ([#1571](https://github.com/iamkun/dayjs/issues/1571)) ([08adda5](https://github.com/iamkun/dayjs/commit/08adda54edbcca38601f57841921d0f87f84e49e)) * update Lithuanian [lt] locale spelling for single month ([#1609](https://github.com/iamkun/dayjs/issues/1609)) ([255dc54](https://github.com/iamkun/dayjs/commit/255dc54d9295de135a9037ce6ca13cae4bfd2cfb)) * Update Norwegian BokmÃ¥l [nb] local yearStart 4 ([#1608](https://github.com/iamkun/dayjs/issues/1608)) ([7a8467c](https://github.com/iamkun/dayjs/commit/7a8467c0b7d59821f7e19d4a6973bcda8e4c19b1)) * update plugin advancedFormat `isValid` validation ([#1566](https://github.com/iamkun/dayjs/issues/1566)) ([755fc8b](https://github.com/iamkun/dayjs/commit/755fc8bb1c532eb991459f180eee81367d12016c)) * update Sinhalese [si] locale month name ([#1475](https://github.com/iamkun/dayjs/issues/1475)) ([63de2a8](https://github.com/iamkun/dayjs/commit/63de2a8b7dcd7e68c132c85d88572d4c9d296907)) * update utcOffset plugin type file ([#1604](https://github.com/iamkun/dayjs/issues/1604)) ([f68e4b1](https://github.com/iamkun/dayjs/commit/f68e4b1a29fc33542f74cde10ec6d9fb045ca37e)) ## [1.10.6](https://github.com/iamkun/dayjs/compare/v1.10.5...v1.10.6) (2021-07-06) ### Bug Fixes * add invalid date string override ([#1465](https://github.com/iamkun/dayjs/issues/1465)) ([#1470](https://github.com/iamkun/dayjs/issues/1470)) ([06f88f4](https://github.com/iamkun/dayjs/commit/06f88f425828b1ce96b737332d25145a95a4ee9d)) * add sv-fi Finland Swedish locale ([#1522](https://github.com/iamkun/dayjs/issues/1522)) ([8e32164](https://github.com/iamkun/dayjs/commit/8e32164855cff724642e24c37a631eb4c4d760c8)) * customParseFormat support parsing X x timestamp ([#1567](https://github.com/iamkun/dayjs/issues/1567)) ([eb087f5](https://github.com/iamkun/dayjs/commit/eb087f52861313b8dd8a5c1b77858665ec72859e)) * dayjs ConfigTypeMap add null & undefined ([#1560](https://github.com/iamkun/dayjs/issues/1560)) ([b5e40e6](https://github.com/iamkun/dayjs/commit/b5e40e6f16abeaea6a0facfa466d20aefaa8a444)) * Fix DayOfYear plugin when using BadMutable plugin ([#1511](https://github.com/iamkun/dayjs/issues/1511)) ([0b0c6a3](https://github.com/iamkun/dayjs/commit/0b0c6a31ec9c0aff991b0e8dd6eed116201274cc)) * Implement ordinal in Bulgarian translation (fixes [#1501](https://github.com/iamkun/dayjs/issues/1501)) ([#1502](https://github.com/iamkun/dayjs/issues/1502)) ([b728da5](https://github.com/iamkun/dayjs/commit/b728da5ed9ed08210004ed20ce5fcd52a92de7da)) * more strict delimiter in REGEX_PARSE ([#1555](https://github.com/iamkun/dayjs/issues/1555)) ([bfdab5c](https://github.com/iamkun/dayjs/commit/bfdab5c0d45a5736b68e8e1b1354fc021e05f607)) * parameter type ([#1549](https://github.com/iamkun/dayjs/issues/1549)) ([f369844](https://github.com/iamkun/dayjs/commit/f369844dd69d253c4c7cbf68150939db3db233be)) * update customParseFormat plugin to custom two-digit year parse function ([#1421](https://github.com/iamkun/dayjs/issues/1421)) ([bb5df55](https://github.com/iamkun/dayjs/commit/bb5df55cd3975dc7638b8f4e762afa470b6620f7)) * update names of weekdays and months in Bulgarian [bg] to lowercase ([#1438](https://github.com/iamkun/dayjs/issues/1438)) ([b246210](https://github.com/iamkun/dayjs/commit/b24621091fec9cf6704de21e4b323f6f0c4abbf1)) * update type file `.diff` ([#1505](https://github.com/iamkun/dayjs/issues/1505)) ([6508494](https://github.com/iamkun/dayjs/commit/6508494a4e62977b4397baaeef293d1bcf3c7235)) * update UTC plugin type file for strict parsing ([#1443](https://github.com/iamkun/dayjs/issues/1443)) ([b4f28df](https://github.com/iamkun/dayjs/commit/b4f28df219fe63202dffdbeeaec5677c4d2c9111)) ## [1.10.5](https://github.com/iamkun/dayjs/compare/v1.10.4...v1.10.5) (2021-05-26) ### Bug Fixes * add meridiem in ar locales ([#1375](https://github.com/iamkun/dayjs/issues/1375)) ([319f616](https://github.com/iamkun/dayjs/commit/319f616e572a03b984013d04d1b3a18ffd5b1190)) * Added Zulu support to customParseFormat ([#1359](https://github.com/iamkun/dayjs/issues/1359)) ([1138a3f](https://github.com/iamkun/dayjs/commit/1138a3f0a76592c6d72fb86c4399e133fa41e2ec)) * fix Bengali [bn] locale monthsShort error ([a0e6c0c](https://github.com/iamkun/dayjs/commit/a0e6c0cf3e1828020dfa11432c6716990f6ed5e0)) * fix missing types for ArraySupport plugin ([#1401](https://github.com/iamkun/dayjs/issues/1401)) ([b1abdc4](https://github.com/iamkun/dayjs/commit/b1abdc40ee6c9d18ff46c311a114e0755677ea6f)) * fix Ukrainian [uk] locale ([#1463](https://github.com/iamkun/dayjs/issues/1463)) ([0fdac93](https://github.com/iamkun/dayjs/commit/0fdac93ff2531542301b76952be9b084b2e2dfa0)) * hotfix for `Duration` types ([#1357](https://github.com/iamkun/dayjs/issues/1357)) ([855b7b3](https://github.com/iamkun/dayjs/commit/855b7b3d049a3903794f91db3419f167c00dabd2)), closes [#1354](https://github.com/iamkun/dayjs/issues/1354) * timezone plugin DST error ([#1352](https://github.com/iamkun/dayjs/issues/1352)) ([71bed15](https://github.com/iamkun/dayjs/commit/71bed155edf32bff24379930ac684fc783538d8f)) * Update duration plugin change string to number ([#1394](https://github.com/iamkun/dayjs/issues/1394)) ([e1546d1](https://github.com/iamkun/dayjs/commit/e1546d1a0cdb97ae92cf11efe61d94707af6a3a3)) * update Duration plugin to support no-argument ([#1400](https://github.com/iamkun/dayjs/issues/1400)) ([8d9a5ae](https://github.com/iamkun/dayjs/commit/8d9a5ae0749e1b4e76babd4deeaa3b1d9776c29b)) * Update Finnish [fi] locale to set yearStart ([#1378](https://github.com/iamkun/dayjs/issues/1378)) ([f3370bd](https://github.com/iamkun/dayjs/commit/f3370bda4e435118f714c8a7daf5c88cfc4b69ba)) * update Russian [ru] locale meridiem and unit tests ([#1403](https://github.com/iamkun/dayjs/issues/1403)) ([f10f39d](https://github.com/iamkun/dayjs/commit/f10f39de7db70244a3c35e4a421090a12972457b)) * update Russian [ru] locale yearStart config ([#1372](https://github.com/iamkun/dayjs/issues/1372)) ([5052515](https://github.com/iamkun/dayjs/commit/5052515fe35b2444201ef8ef87220b1876a94d0a)) * update Slovenian [sl] locale to set correct ordinal ([#1386](https://github.com/iamkun/dayjs/issues/1386)) ([cb4f746](https://github.com/iamkun/dayjs/commit/cb4f74633b3020d6dbf19548c8cb13613dafca18)) * update Spanish [es] locale to change month names to lowercase ([#1414](https://github.com/iamkun/dayjs/issues/1414)) ([9c20e77](https://github.com/iamkun/dayjs/commit/9c20e77caf7b1b5eccf418175203b198d4e29535)) * update Swedish [sv] locale to set correct yearStart ([#1385](https://github.com/iamkun/dayjs/issues/1385)) ([66c5935](https://github.com/iamkun/dayjs/commit/66c59354964ef456bcd5f6152819618f44978082)) * update UTC plugin to support string argument like +HH:mm ([#1395](https://github.com/iamkun/dayjs/issues/1395)) ([656127c](https://github.com/iamkun/dayjs/commit/656127cc44eda50923a1ac755602863fc32b9e69)) ## [1.10.4](https://github.com/iamkun/dayjs/compare/v1.10.3...v1.10.4) (2021-01-22) ### Bug Fixes * Correct handling negative duration ([#1317](https://github.com/iamkun/dayjs/issues/1317)) ([3f5c085](https://github.com/iamkun/dayjs/commit/3f5c085608182472f20b84766b10949945663e44)) * Improve `Duration` types ([#1338](https://github.com/iamkun/dayjs/issues/1338)) ([4aca4b1](https://github.com/iamkun/dayjs/commit/4aca4b1b584a15de1146d929f95c944594032f20)) * parse a string for MMM month format with underscore delimiter ([#1349](https://github.com/iamkun/dayjs/issues/1349)) ([82ef9a3](https://github.com/iamkun/dayjs/commit/82ef9a304f06287ac0a14c4da9a7fe6152b5fec9)) * Update Bengali [bn] locale ([#1329](https://github.com/iamkun/dayjs/issues/1329)) ([02d96ec](https://github.com/iamkun/dayjs/commit/02d96ec7189f62d6ef8987135919cbb5ceff20a6)) * update locale Portuguese [pt] yearStart ([#1345](https://github.com/iamkun/dayjs/issues/1345)) ([5c785d5](https://github.com/iamkun/dayjs/commit/5c785d528cc08811638d7cbfc7fc158d67b32d75)) * update Polish [pl] locale yearStart ([#1348](https://github.com/iamkun/dayjs/issues/1348)) ([e93e6b8](https://github.com/iamkun/dayjs/commit/e93e6b8ffa61036b26382f1763e3864d4a7d5df5)) * Update Slovenian [sl] relativeTime locale ([#1333](https://github.com/iamkun/dayjs/issues/1333)) ([fe5f1d0](https://github.com/iamkun/dayjs/commit/fe5f1d0afbe57b70339e268047e6c3028ca3d59b)) ## [1.10.3](https://github.com/iamkun/dayjs/compare/v1.10.2...v1.10.3) (2021-01-09) ### Bug Fixes * fix customParseFormat plugin strict mode parse meridiem bug ([#1321](https://github.com/iamkun/dayjs/issues/1321)) ([e49eeef](https://github.com/iamkun/dayjs/commit/e49eeefbe8acb36419d36ca2e7ed8bc152f73ac1)) * fix weekYear plugin missing locale bug ([#1319](https://github.com/iamkun/dayjs/issues/1319)) ([344bdc0](https://github.com/iamkun/dayjs/commit/344bdc0eed6843edb05723dc7853a41833d88f08)), closes [#1304](https://github.com/iamkun/dayjs/issues/1304) * update advancedFormat plugin to add format options for iso week and weekyear ([#1309](https://github.com/iamkun/dayjs/issues/1309)) ([2c54c64](https://github.com/iamkun/dayjs/commit/2c54c6441871a175ac9b95e41e4cd075dbac10cb)) * update devHelper to add dev warning setting locale before loading ([c5cc893](https://github.com/iamkun/dayjs/commit/c5cc89355e1e206ca72433c19c40cb528690b04f)) * update German [de] locale yearStart ([1858df8](https://github.com/iamkun/dayjs/commit/1858df8008de56570680723df89b36a8cbc970ef)), closes [#1264](https://github.com/iamkun/dayjs/issues/1264) ## [1.10.2](https://github.com/iamkun/dayjs/compare/v1.10.1...v1.10.2) (2021-01-05) ### Bug Fixes * fix parse regex bug ([#1307](https://github.com/iamkun/dayjs/issues/1307)) ([db2b6a5](https://github.com/iamkun/dayjs/commit/db2b6a5ea8e70f9fda645d113ca33495aa96b616)), closes [#1305](https://github.com/iamkun/dayjs/issues/1305) * remove module entry in package.json to revert 1.10.1 change ([#1314](https://github.com/iamkun/dayjs/issues/1314)) ([824dcb8](https://github.com/iamkun/dayjs/commit/824dcb8dfcccf14f64b6a2741a00fcdfe53dcd98)) * update devHelper add warning "passing Year as a Number will be parsed as a Unix timestamp" ([#1315](https://github.com/iamkun/dayjs/issues/1315)) ([b0dda31](https://github.com/iamkun/dayjs/commit/b0dda3139e25441ab4e7c1f4f192dee0ecce6ef8)) ## [1.10.1](https://github.com/iamkun/dayjs/compare/v1.10.0...v1.10.1) (2021-01-03) ### Bug Fixes * fix typescript type error UnitTypeLongPlural ([#1302](https://github.com/iamkun/dayjs/issues/1302)) ([bfaabe4](https://github.com/iamkun/dayjs/commit/bfaabe4f398c11564eca6cda7c8aded22e1b231a)), closes [#1300](https://github.com/iamkun/dayjs/issues/1300) # [1.10.0](https://github.com/iamkun/dayjs/compare/v1.9.8...v1.10.0) (2021-01-03) ### Bug Fixes * add ordinal to localeData plugin ([#1266](https://github.com/iamkun/dayjs/issues/1266)) ([fd229fa](https://github.com/iamkun/dayjs/commit/fd229fa5bd26bcba810e2535eb937ea8d99106c2)) * add preParsePostFormat plugin & update Arabic [ar] locale ([#1255](https://github.com/iamkun/dayjs/issues/1255)) ([f2e4790](https://github.com/iamkun/dayjs/commit/f2e479006a9a49bc0917f8620101d40ac645f7f2)) * add type support for plural forms of units ([#1289](https://github.com/iamkun/dayjs/issues/1289)) ([de49bb1](https://github.com/iamkun/dayjs/commit/de49bb100badfb92b9a5933cc568841f340a923f)) * escape last period to match only milliseconds ([#1239](https://github.com/iamkun/dayjs/issues/1239)) ([#1295](https://github.com/iamkun/dayjs/issues/1295)) ([64037e6](https://github.com/iamkun/dayjs/commit/64037e6a8cf303dcfd2b954f309bd9691f87fffc)) ### Features * add ES6 Module Support, package.json module point to "esm/index.js" ([#1298](https://github.com/iamkun/dayjs/issues/1298)) ([f63375d](https://github.com/iamkun/dayjs/commit/f63375dea89becbd3bb2bb8ea7289c58c752bfed)), closes [#598](https://github.com/iamkun/dayjs/issues/598) [#313](https://github.com/iamkun/dayjs/issues/313) ## [1.9.8](https://github.com/iamkun/dayjs/compare/v1.9.7...v1.9.8) (2020-12-27) ### Bug Fixes * fix Ukrainian [uk] locale typo ([1605cc0](https://github.com/iamkun/dayjs/commit/1605cc0f6fe0e9c46a92d529bc9cd6e130432337)) * update Hebrew [he] locale for double units ([#1287](https://github.com/iamkun/dayjs/issues/1287)) ([1c4b0da](https://github.com/iamkun/dayjs/commit/1c4b0da1468522e59dc9ee646d10dd2b31477d99)) * update zh locale meridiem "noon" ([0e7ff3d](https://github.com/iamkun/dayjs/commit/0e7ff3dd29ca3aed85cb76dfcb8298d326e26542)) * update zh-cn locale definition of noon ([#1278](https://github.com/iamkun/dayjs/issues/1278)) ([d5930b9](https://github.com/iamkun/dayjs/commit/d5930b96ff884f4176ca3fcb1bc95e8f1ec75c71)) ## [1.9.7](https://github.com/iamkun/dayjs/compare/v1.9.6...v1.9.7) (2020-12-05) ### Bug Fixes * add duration.format to format a Duration ([#1202](https://github.com/iamkun/dayjs/issues/1202)) ([9a859a1](https://github.com/iamkun/dayjs/commit/9a859a147ba223a1eeff0f2bb6f33d97e0ccc6c7)) * Add function handling for relativeTime.future and relativeTime.past ([#1197](https://github.com/iamkun/dayjs/issues/1197)) ([ef1979c](https://github.com/iamkun/dayjs/commit/ef1979ce85c61fe2d759ef3c37cb6aaf2358094f)) * avoid install installed plugin ([#1214](https://github.com/iamkun/dayjs/issues/1214)) ([a92eb6c](https://github.com/iamkun/dayjs/commit/a92eb6c4dc1437ec920e69484d52984f5921a8ea)) * avoid memory leak after installing a plugin too many times ([b8d2e32](https://github.com/iamkun/dayjs/commit/b8d2e32a9eb59661a7ed6200daa070687becaebd)) * fix diff bug when UTC plugin enabled ([#1201](https://github.com/iamkun/dayjs/issues/1201)) ([9544ed2](https://github.com/iamkun/dayjs/commit/9544ed2a6c466b8308d26b33a388a6737435a1f4)), closes [#1200](https://github.com/iamkun/dayjs/issues/1200) * fix startOf/endOf bug in timezone plugin ([#1229](https://github.com/iamkun/dayjs/issues/1229)) ([eb5fbc4](https://github.com/iamkun/dayjs/commit/eb5fbc4c7d1b62a8615d2f263b404a9515d8e15c)) * fix utc plugin diff edge case ([#1187](https://github.com/iamkun/dayjs/issues/1187)) ([971b3d4](https://github.com/iamkun/dayjs/commit/971b3d40b4c9403165138f1034e2223cd97c3abf)) * update customParseFormat plugin to parse 2-digit offset ([#1209](https://github.com/iamkun/dayjs/issues/1209)) ([b56936a](https://github.com/iamkun/dayjs/commit/b56936ab77b8f6289a1b77d49307b495c4bf9f91)), closes [#1205](https://github.com/iamkun/dayjs/issues/1205) * Update timezone plugin type definition ([#1221](https://github.com/iamkun/dayjs/issues/1221)) ([34cfb92](https://github.com/iamkun/dayjs/commit/34cfb920b9653ad44d4b31fe49e533692a3ce01b)) ## [1.9.6](https://github.com/iamkun/dayjs/compare/v1.9.5...v1.9.6) (2020-11-10) ### Bug Fixes * fix customParseFormat plugin parsing date bug ([#1198](https://github.com/iamkun/dayjs/issues/1198)) ([50f05ad](https://github.com/iamkun/dayjs/commit/50f05ad3addf27827c5657ae7519514e40d9faec)), closes [#1194](https://github.com/iamkun/dayjs/issues/1194) * Update lv (Latvian) locale relative time ([#1192](https://github.com/iamkun/dayjs/issues/1192)) ([6d6c684](https://github.com/iamkun/dayjs/commit/6d6c6841b13ba4f7e69de92caf132a3592c5253a)) ## [1.9.5](https://github.com/iamkun/dayjs/compare/v1.9.4...v1.9.5) (2020-11-05) ### Bug Fixes * customParseFormat plugin supports parsing localizedFormats ([#1110](https://github.com/iamkun/dayjs/issues/1110)) ([402b603](https://github.com/iamkun/dayjs/commit/402b603aa3ee4199786950bc88b3fdc6b527aa35)) * fix customParseFormat plugin parse meridiem bug ([#1169](https://github.com/iamkun/dayjs/issues/1169)) ([9e8f8d9](https://github.com/iamkun/dayjs/commit/9e8f8d96c69d557f4d267f42567c25ae9e7ab227)), closes [#1168](https://github.com/iamkun/dayjs/issues/1168) * fix devHelper error in umd bundle in browser ([#1165](https://github.com/iamkun/dayjs/issues/1165)) ([d11b5ee](https://github.com/iamkun/dayjs/commit/d11b5ee7dc11af671355f65ccda00f6ba42cc725)) * fix utc plugin diff bug in DST ([#1171](https://github.com/iamkun/dayjs/issues/1171)) ([f8da3fe](https://github.com/iamkun/dayjs/commit/f8da3fe7e50c84c0502bf5be0b364910922dbd79)), closes [#1097](https://github.com/iamkun/dayjs/issues/1097) [#1021](https://github.com/iamkun/dayjs/issues/1021) * isoWeek plugin type ([#1177](https://github.com/iamkun/dayjs/issues/1177)) ([c3d0436](https://github.com/iamkun/dayjs/commit/c3d0436b06f74989e3a2c751a5d170f8072c4aad)) * update localeData plugin to support meridiem ([#1174](https://github.com/iamkun/dayjs/issues/1174)) ([fdb09e4](https://github.com/iamkun/dayjs/commit/fdb09e4074cc7e8f6196846f18d3566c1f9e8fcd)), closes [#1172](https://github.com/iamkun/dayjs/issues/1172) * update timezone plugin parse Date instance / timestamp logic & remove useless test ([#1183](https://github.com/iamkun/dayjs/issues/1183)) ([a7f858b](https://github.com/iamkun/dayjs/commit/a7f858bb70ad81f718ba35c479e84b54eace48b2)) ## [1.9.4](https://github.com/iamkun/dayjs/compare/v1.9.3...v1.9.4) (2020-10-23) ### Bug Fixes * Add descriptions to types ([#1148](https://github.com/iamkun/dayjs/issues/1148)) ([9a407a1](https://github.com/iamkun/dayjs/commit/9a407a140b089345a387d1aceab4d0d1635229c7)) * add devHelper plugin ([#1163](https://github.com/iamkun/dayjs/issues/1163)) ([de49dc8](https://github.com/iamkun/dayjs/commit/de49dc80c83b85de4170571b64412bd60ada221b)) * Fix Hungarian (hu) locale ([#1112](https://github.com/iamkun/dayjs/issues/1112)) ([ab13754](https://github.com/iamkun/dayjs/commit/ab13754f43c5033dacaa0eb2042dc4ab1a7a2754)) * fix minMax plugin parsing empty array bug ([#1062](https://github.com/iamkun/dayjs/issues/1062)) ([368108b](https://github.com/iamkun/dayjs/commit/368108bc6d5cb1542f711b8eba722bd4dfaab0cd)) * update adding/subtracting Duration from Dayjs object ([#1156](https://github.com/iamkun/dayjs/issues/1156)) ([f861aca](https://github.com/iamkun/dayjs/commit/f861acac3e83e28d3a4a96312c71119fd6b544fc)) * update en-NZ locale to use proper ordinal formatting function ([#1143](https://github.com/iamkun/dayjs/issues/1143)) ([fcdbc58](https://github.com/iamkun/dayjs/commit/fcdbc5880710456a29b2bacf250542230bf48b99)) * update localeData plugin type ([#1116](https://github.com/iamkun/dayjs/issues/1116)) ([ee5a4ec](https://github.com/iamkun/dayjs/commit/ee5a4ec41edddfb57d103c35182dc635c9264a10)) * update timezone plugin to support custom parse format ([#1160](https://github.com/iamkun/dayjs/issues/1160)) ([48cbf31](https://github.com/iamkun/dayjs/commit/48cbf3118ba5427de428777c2e025896db654f2e)), closes [#1159](https://github.com/iamkun/dayjs/issues/1159) * update timezone plugin to support keepLocalTime ([#1161](https://github.com/iamkun/dayjs/issues/1161)) ([1d429e5](https://github.com/iamkun/dayjs/commit/1d429e5fe4467ebddcf81b43cf6f36e5e3be944c)), closes [#1149](https://github.com/iamkun/dayjs/issues/1149) ## [1.9.3](https://github.com/iamkun/dayjs/compare/v1.9.2...v1.9.3) (2020-10-13) ### Bug Fixes * fix localizedFormat export error ([#1133](https://github.com/iamkun/dayjs/issues/1133)) ([deecd6a](https://github.com/iamkun/dayjs/commit/deecd6ab8a2f4173ee7046f6b568b41fd2677531)), closes [#1132](https://github.com/iamkun/dayjs/issues/1132) ## [1.9.2](https://github.com/iamkun/dayjs/compare/v1.9.1...v1.9.2) (2020-10-13) ### Bug Fixes * add arraySupport plugin ([#1129](https://github.com/iamkun/dayjs/issues/1129)) ([be505c2](https://github.com/iamkun/dayjs/commit/be505c2c540261027342cecc55d8919a3d18d893)) * export type of duration plugin ([#1094](https://github.com/iamkun/dayjs/issues/1094)) ([2c92e71](https://github.com/iamkun/dayjs/commit/2c92e71bf55d09601120cdf433da7a19cc8abff6)) * Fix LocaleData plugin longDateFormat lowercase error ([#1101](https://github.com/iamkun/dayjs/issues/1101)) ([7937ccd](https://github.com/iamkun/dayjs/commit/7937ccdeac47d094a60e65ebb62a6020b81c46f4)) * Fix objectSupport plugin bug in UTC ([#1107](https://github.com/iamkun/dayjs/issues/1107)) ([fe90bb6](https://github.com/iamkun/dayjs/commit/fe90bb6944f2ff1969ca975954d303b449dfa95b)), closes [#1105](https://github.com/iamkun/dayjs/issues/1105) * fix Serbian locale grammar (sr, sr-cyrl) ([#1108](https://github.com/iamkun/dayjs/issues/1108)) ([cc87eff](https://github.com/iamkun/dayjs/commit/cc87eff8b75b0d86ce0956516319d402bccae6c0)) * Fix typo for "monday" in arabic ([#1067](https://github.com/iamkun/dayjs/issues/1067)) ([2e1e426](https://github.com/iamkun/dayjs/commit/2e1e42650124f30282dc4d710798d576b928f1c7)) * support dayjs.add(Duration), dayjs.subtract(Duration) ([#1099](https://github.com/iamkun/dayjs/issues/1099)) ([b1a0294](https://github.com/iamkun/dayjs/commit/b1a02942c5238203aaa04ce9a074c73742324ab7)) * update Breton [br] locale relativeTime config ([#1103](https://github.com/iamkun/dayjs/issues/1103)) ([b038bfd](https://github.com/iamkun/dayjs/commit/b038bfdb128889d677c95534d2be29cc30c9e72f)) * update Catalan [ca] locale ordinal ([73da380](https://github.com/iamkun/dayjs/commit/73da38024c8b550bdcfbe3ff7e578e742c7aecf2)) * update German [de] locale relativeTime config ([#1109](https://github.com/iamkun/dayjs/issues/1109)) ([f6e771b](https://github.com/iamkun/dayjs/commit/f6e771b70f93d19ebb12e6b794aa4628a1796248)) * update localeData plugin to add longDateFormat to global localeData ([#1106](https://github.com/iamkun/dayjs/issues/1106)) ([16937d1](https://github.com/iamkun/dayjs/commit/16937d16e053b8c1d4a607622fa2fdbfd9809832)) * Update objectSupport plugin to return current date time while parsing empty object ([f56783e](https://github.com/iamkun/dayjs/commit/f56783e14d8cf50916b015e7188b23bb6fbca839)) ## [1.9.1](https://github.com/iamkun/dayjs/compare/v1.9.0...v1.9.1) (2020-09-28) ### Bug Fixes * Fix objectSupport plugin to get the correct result (zero-based month) ([#1089](https://github.com/iamkun/dayjs/issues/1089)) ([f95ac15](https://github.com/iamkun/dayjs/commit/f95ac15a4577ae5a3d1ce353872a2cd9fc454bc2)) # [1.9.0](https://github.com/iamkun/dayjs/compare/v1.8.36...v1.9.0) (2020-09-28) ### Bug Fixes * Add `setDefault` typing to timezone.d.ts ([#1057](https://github.com/iamkun/dayjs/issues/1057)) ([c0f0886](https://github.com/iamkun/dayjs/commit/c0f088620f17260e6e3ebce7697d561b5623f5f3)) * fix DST bug in utc plugin ([#1053](https://github.com/iamkun/dayjs/issues/1053)) ([3d73543](https://github.com/iamkun/dayjs/commit/3d7354361f042ced1176d91f9ae9edffe6173425)) * Fix optional type for timezone plugin ([#1081](https://github.com/iamkun/dayjs/issues/1081)) ([a6ebcf2](https://github.com/iamkun/dayjs/commit/a6ebcf283a83273562dce5663155e3b3a12ea9a5)), closes [#1079](https://github.com/iamkun/dayjs/issues/1079) * Fix timezone plugin conversion bug ([#1073](https://github.com/iamkun/dayjs/issues/1073)) ([16816a3](https://github.com/iamkun/dayjs/commit/16816a31ff43220aca9d1d179df6b729182abb55)) * update duration plugin type file ([#1065](https://github.com/iamkun/dayjs/issues/1065)) ([94af9af](https://github.com/iamkun/dayjs/commit/94af9af27c5bc182cbb24f1845e561dd1d82d776)) * update timezone plugin to support getting offset name e.g. EST ([#1069](https://github.com/iamkun/dayjs/issues/1069)) ([cbb755e](https://github.com/iamkun/dayjs/commit/cbb755e5c68d49c5678291f3ce832b32831a056e)) * update utc plugin to support keepLocalTime `.utc(true)` ([#1080](https://github.com/iamkun/dayjs/issues/1080)) ([5ce4e0d](https://github.com/iamkun/dayjs/commit/5ce4e0d2f552f3645262537ff7afdc946f5a7e72)) ### Features * Correct casing for en-sg locale name ([#1048](https://github.com/iamkun/dayjs/issues/1048)) ([2edaddc](https://github.com/iamkun/dayjs/commit/2edaddc22a7eb914f915531f389766217acd7034)) ## [1.8.36](https://github.com/iamkun/dayjs/compare/v1.8.35...v1.8.36) (2020-09-17) ### Bug Fixes * Add Amharic (am) locale ([#1046](https://github.com/iamkun/dayjs/issues/1046)) ([cdc49a1](https://github.com/iamkun/dayjs/commit/cdc49a1911c74b7ea96ed222f42796d53715cfed)) * Export Duration type in duration plugin ([#1043](https://github.com/iamkun/dayjs/issues/1043)) ([0f20c3a](https://github.com/iamkun/dayjs/commit/0f20c3ac75d9ac1026a15a7bb343d3a150d9b30f)) * Fix duration plugin parsing milliseconds bug ([#1042](https://github.com/iamkun/dayjs/issues/1042)) ([fe2301b](https://github.com/iamkun/dayjs/commit/fe2301b22318886aaa89ed1620e0a118e98c2b8a)) * Timezone plugin set default timezone ([#1033](https://github.com/iamkun/dayjs/issues/1033)) ([0c2050a](https://github.com/iamkun/dayjs/commit/0c2050a152da708b01edd6150a5013f642b14576)) * Timezone plugin should have the same behavior in latest ICU version ([#1032](https://github.com/iamkun/dayjs/issues/1032)) ([de31592](https://github.com/iamkun/dayjs/commit/de315921575cc50c38464b27d0338e30a54d8e2a)) * Update Finnish (fi) locale ([#963](https://github.com/iamkun/dayjs/issues/963)) ([cf8b6a0](https://github.com/iamkun/dayjs/commit/cf8b6a096f24b54cbdb95675ac386d8ac85ea616)) * Update Polish (pl) , Hungarian (hr) and Lithuanian (lt) localization ([#1045](https://github.com/iamkun/dayjs/issues/1045)) ([638fd39](https://github.com/iamkun/dayjs/commit/638fd394fc24f4188390faf387da6b156e7c6320)) ## [1.8.35](https://github.com/iamkun/dayjs/compare/v1.8.34...v1.8.35) (2020-09-02) ### Bug Fixes * Fix BadMutable plugin bug in .diff ([#1023](https://github.com/iamkun/dayjs/issues/1023)) ([40ab6d9](https://github.com/iamkun/dayjs/commit/40ab6d9a53e8047cfca63c611c25dd045372d021)) * fix LocaleData plugin to support instance.weekdays() API ([#1019](https://github.com/iamkun/dayjs/issues/1019)) ([a09d259](https://github.com/iamkun/dayjs/commit/a09d259a407b81d1cb6bb5623fad551c775d8674)), closes [#1017](https://github.com/iamkun/dayjs/issues/1017) * Update Dutch (nl) locale to set correct yearStart ([1533a2c](https://github.com/iamkun/dayjs/commit/1533a2cc1475270032da2d87b19fc3d62327e6e3)) ## [1.8.34](https://github.com/iamkun/dayjs/compare/v1.8.33...v1.8.34) (2020-08-20) ### Bug Fixes * Fix Timezone plugin to preserve milliseconds while changing timezone ([#1003](https://github.com/iamkun/dayjs/issues/1003)) ([5f446ed](https://github.com/iamkun/dayjs/commit/5f446eda770fa97e895c81a8195b3ba5d082cef0)), closes [#1002](https://github.com/iamkun/dayjs/issues/1002) * support parsing unlimited decimals of millisecond ([#1010](https://github.com/iamkun/dayjs/issues/1010)) ([d1bdd36](https://github.com/iamkun/dayjs/commit/d1bdd36a56e3d1786523a180e3fc18068f609135)), closes [#544](https://github.com/iamkun/dayjs/issues/544) * update Duration plugin to support global locale ([#1008](https://github.com/iamkun/dayjs/issues/1008)) ([1c49c83](https://github.com/iamkun/dayjs/commit/1c49c83e79811eede13db6372b5d65db598aee77)), closes [#1007](https://github.com/iamkun/dayjs/issues/1007) ## [1.8.33](https://github.com/iamkun/dayjs/compare/v1.8.32...v1.8.33) (2020-08-10) ### Bug Fixes * Add PluralGetSet plugin for plural getters/setters ([#996](https://github.com/iamkun/dayjs/issues/996)) ([f76e3ce](https://github.com/iamkun/dayjs/commit/f76e3ce2fbe5d3e9ed9121086baf55eb0cc4d355)) * Add typescript type defs in esm build ([#985](https://github.com/iamkun/dayjs/issues/985)) ([50e3b3c](https://github.com/iamkun/dayjs/commit/50e3b3c6719cb0b4ec6eff394dacd63d5db8f253)) * Fix isoWeek Plugin cal bug in UTC mode ([#993](https://github.com/iamkun/dayjs/issues/993)) ([f2e5f32](https://github.com/iamkun/dayjs/commit/f2e5f327aaf12b4572296ec6e107ecc05fcf76e7)) * Fix Timezone plugin parsing js date, Day.js object, timestamp bug && update type file ([#994](https://github.com/iamkun/dayjs/issues/994)) ([22f3d49](https://github.com/iamkun/dayjs/commit/22f3d49405da98db6da56d1673eebcd01b57554b)), closes [#992](https://github.com/iamkun/dayjs/issues/992) [#989](https://github.com/iamkun/dayjs/issues/989) * Fix Timezone plugin UTCOffset rounding bug ([#987](https://github.com/iamkun/dayjs/issues/987)) ([b07182b](https://github.com/iamkun/dayjs/commit/b07182bbdf5aef7f6bf1e88fcd38432e2b8ee465)), closes [#986](https://github.com/iamkun/dayjs/issues/986) * Fix UTC plugin bug while comparing an utc instance to a local one ([#995](https://github.com/iamkun/dayjs/issues/995)) ([747c0fb](https://github.com/iamkun/dayjs/commit/747c0fb4eba6353755b5dad3417fd8d5a408c378)) * Update pt-br locale weekStart 0 ([#984](https://github.com/iamkun/dayjs/issues/984)) ([0f881c1](https://github.com/iamkun/dayjs/commit/0f881c18efb02b9d0ba7f76cba92bb504226fa95)) ## [1.8.32](https://github.com/iamkun/dayjs/compare/v1.8.31...v1.8.32) (2020-08-04) ### Bug Fixes * Add Experimental Timezone Plugin ([#974](https://github.com/iamkun/dayjs/issues/974)) ([e69caba](https://github.com/iamkun/dayjs/commit/e69caba1b0957241a855aa0ae38db899fa2c3795)) * fix parse date string error e.g. '2020/9/30' ([#980](https://github.com/iamkun/dayjs/issues/980)) ([231790d](https://github.com/iamkun/dayjs/commit/231790da62af0494732960c2c50d86ae9bf63ec6)), closes [#979](https://github.com/iamkun/dayjs/issues/979) * update monthDiff function to get more accurate results ([19e8a7f](https://github.com/iamkun/dayjs/commit/19e8a7f2f7582b717f49d446822e39603694433c)) * Update UTC plugin to support keepLocalTime ([#973](https://github.com/iamkun/dayjs/issues/973)) ([9f488e5](https://github.com/iamkun/dayjs/commit/9f488e5aca92f0b4c2951459436829d79f86d8d7)) ## [1.8.31](https://github.com/iamkun/dayjs/compare/v1.8.30...v1.8.31) (2020-07-29) ### Bug Fixes * Rollback LocalePresetType to string ([#968](https://github.com/iamkun/dayjs/issues/968)) ([b342bd3](https://github.com/iamkun/dayjs/commit/b342bd3d84987d6c7587a0c4590d614fb0e670d7)) * Update Regex to parse 'YYYY' correctly ([#969](https://github.com/iamkun/dayjs/issues/969)) ([70c1239](https://github.com/iamkun/dayjs/commit/70c123990dcc6bd479fa2b5d7f9985127872a826)) ## [1.8.30](https://github.com/iamkun/dayjs/compare/v1.8.29...v1.8.30) (2020-07-22) ### Bug Fixes * Add Haitian Creole (ht) and Spanish Puerto Rico (es-pr) locale configs ([#958](https://github.com/iamkun/dayjs/issues/958)) ([b2642e2](https://github.com/iamkun/dayjs/commit/b2642e2d1f87734a34808c66e5176cb18bc0414d)) * Fix UTC plugin wrong hour bug while adding month or year ([#957](https://github.com/iamkun/dayjs/issues/957)) ([28ae070](https://github.com/iamkun/dayjs/commit/28ae070024ff26685c88ce4cc8747307e86923c9)) * Update French (fr) locale to set correct yearStart ([14ab808](https://github.com/iamkun/dayjs/commit/14ab808a7b7e226f2eb2cbe894916a18ed5d967d)), closes [#956](https://github.com/iamkun/dayjs/issues/956) ## [1.8.29](https://github.com/iamkun/dayjs/compare/v1.8.28...v1.8.29) (2020-07-02) ### Bug Fixes * Duration plugin supports parse ISO string with week (W) ([#950](https://github.com/iamkun/dayjs/issues/950)) ([f0fc12a](https://github.com/iamkun/dayjs/commit/f0fc12adadcab53fb0577ad8f5e2f1cf784fd8f5)) * LocaleData plugin supports locale order ([#938](https://github.com/iamkun/dayjs/issues/938)) ([62f429d](https://github.com/iamkun/dayjs/commit/62f429db73a0a069b1267231dea172b85f4b90e3)), closes [#936](https://github.com/iamkun/dayjs/issues/936) * Update type definition to support array format ([#945](https://github.com/iamkun/dayjs/issues/945)) ([81d4740](https://github.com/iamkun/dayjs/commit/81d4740511d47e34f891b21afeb0449ef8a28688)), closes [#944](https://github.com/iamkun/dayjs/issues/944) * Update type definition to support strict mode ([#951](https://github.com/iamkun/dayjs/issues/951)) ([8d54f3f](https://github.com/iamkun/dayjs/commit/8d54f3f7d4d161e72c767fa09699e70a2b3d681c)) ## [1.8.28](https://github.com/iamkun/dayjs/compare/v1.8.27...v1.8.28) (2020-05-28) ### Bug Fixes * Fix CustomParseFormat plugin month index error ([#918](https://github.com/iamkun/dayjs/issues/918)) ([fa2ec7f](https://github.com/iamkun/dayjs/commit/fa2ec7fcb980dcd2c7498dafe2f9ca2e52d735cf)), closes [#915](https://github.com/iamkun/dayjs/issues/915) * Update Ukrainian (uk) locale monthFormat and monthStandalone ([#899](https://github.com/iamkun/dayjs/issues/899)) ([a08756e](https://github.com/iamkun/dayjs/commit/a08756e80bd1d7126fca28c5ad9e382613fc86c4)) ## [1.8.27](https://github.com/iamkun/dayjs/compare/v1.8.26...v1.8.27) (2020-05-14) ### Bug Fixes * Add Kinyarwanda (rw) locale ([#903](https://github.com/iamkun/dayjs/issues/903)) ([f355235](https://github.com/iamkun/dayjs/commit/f355235a836540d77880959fb1b614c87e9f7b3e)) * Add plugin objectSupport ([#887](https://github.com/iamkun/dayjs/issues/887)) ([52dfb13](https://github.com/iamkun/dayjs/commit/52dfb13a6b84f0a753cc5761192b92416f440961)) * Add Turkmen (tk) locale ([#893](https://github.com/iamkun/dayjs/issues/893)) ([a9ca8dc](https://github.com/iamkun/dayjs/commit/a9ca8dcbbd0964c5b9abb4e8a2d620c983cf091a)) * Fix CustomParseFormat plugin set locale error ([#896](https://github.com/iamkun/dayjs/issues/896)) ([8035c8a](https://github.com/iamkun/dayjs/commit/8035c8a760549b631252252718db3cdc4ab2f68f)) * Fix locale month function bug ([#908](https://github.com/iamkun/dayjs/issues/908)) ([bf347c3](https://github.com/iamkun/dayjs/commit/bf347c36e401f50727fb5afcc537497b54b90d6b)) * Update CustomParseFormat plugin to support Array formats ([#906](https://github.com/iamkun/dayjs/issues/906)) ([97856c6](https://github.com/iamkun/dayjs/commit/97856c603ef5fbbeb1cf8a42387479e56a77dbe8)) ## [1.8.26](https://github.com/iamkun/dayjs/compare/v1.8.25...v1.8.26) (2020-04-30) ### Bug Fixes * Fix Duration plugin `.toISOString` format bug ([#889](https://github.com/iamkun/dayjs/issues/889)) ([058d624](https://github.com/iamkun/dayjs/commit/058d624808fd2be024ae846bcb2e03885f39b556)), closes [#888](https://github.com/iamkun/dayjs/issues/888) * Fix WeekOfYear plugin bug while using BadMutable plugin ([#884](https://github.com/iamkun/dayjs/issues/884)) ([2977438](https://github.com/iamkun/dayjs/commit/2977438458542573a4500e21f7ba5d1f8442960e)) * Update CustomParseFormat plugin strict mode ([#882](https://github.com/iamkun/dayjs/issues/882)) ([db642ac](https://github.com/iamkun/dayjs/commit/db642ac73e52e00d8c41546b2935c9e691cf66e0)) * Update RelativeTime plugin default config ([#883](https://github.com/iamkun/dayjs/issues/883)) ([0606f42](https://github.com/iamkun/dayjs/commit/0606f425aef8ccbfc3da3e43cba368130603b0cc)) ## [1.8.25](https://github.com/iamkun/dayjs/compare/v1.8.24...v1.8.25) (2020-04-21) ### Bug Fixes * Fix CustomParseFormat plugin of parsing only YYYY / YYYY-MM bug ([#873](https://github.com/iamkun/dayjs/issues/873)) ([3cea04d](https://github.com/iamkun/dayjs/commit/3cea04d33d54d44bbdd3d026b5c7f67ebf176116)), closes [#849](https://github.com/iamkun/dayjs/issues/849) * Fix Duration plugin get seconds ([#867](https://github.com/iamkun/dayjs/issues/867)) ([62b092d](https://github.com/iamkun/dayjs/commit/62b092d9f9a3db5506ef01f798bdf211f163f53f)) * Fix type definition of locale ([9790b85](https://github.com/iamkun/dayjs/commit/9790b853e6113243a7f4a81dd12c6509e406a102)) * Fix UTC plugin startOf, endOf bug ([#872](https://github.com/iamkun/dayjs/issues/872)) ([4141084](https://github.com/iamkun/dayjs/commit/4141084ba96d35cadcda3f1e661bf1d0f6c8e4de)), closes [#809](https://github.com/iamkun/dayjs/issues/809) [#808](https://github.com/iamkun/dayjs/issues/808) ## [1.8.24](https://github.com/iamkun/dayjs/compare/v1.8.23...v1.8.24) (2020-04-10) ### Bug Fixes * Add config option to RelativeTime plugin ([#851](https://github.com/iamkun/dayjs/issues/851)) ([bd24034](https://github.com/iamkun/dayjs/commit/bd24034b95bfc656024b75ef3f3c986708845fed)) * add Duration plugin ([#858](https://github.com/iamkun/dayjs/issues/858)) ([d568273](https://github.com/iamkun/dayjs/commit/d568273223199ca0497f238e2cc3a8d3dcf32d0f)) * Add en-in, en-tt locales ([#855](https://github.com/iamkun/dayjs/issues/855)) ([c39fb96](https://github.com/iamkun/dayjs/commit/c39fb96e2a9102c14b004c14a6c073af9d266f2f)) * add isToday, isTomorrow, isYesterday plugins ([#857](https://github.com/iamkun/dayjs/issues/857)) ([fc08ab6](https://github.com/iamkun/dayjs/commit/fc08ab68f8a28269802deeab9d6b0473b92cdc51)) * Add option callback to Calendar plugin ([#839](https://github.com/iamkun/dayjs/issues/839)) ([b25be90](https://github.com/iamkun/dayjs/commit/b25be9094325295310c8fc5e617fb058be8a5f68)) * Fix monthsShort for locale fr ([#862](https://github.com/iamkun/dayjs/issues/862)) ([d2de9a0](https://github.com/iamkun/dayjs/commit/d2de9a0b44b830038ed0094f79bfd40726311f2a)) * Update Breton locale (br) meridiem config ([#856](https://github.com/iamkun/dayjs/issues/856)) ([a2a6672](https://github.com/iamkun/dayjs/commit/a2a66720abb788a8f1cffbfd0929b35579f29c72)) * Update Ukrainian (uk) locale relative time ([#842](https://github.com/iamkun/dayjs/issues/842)) ([578bc1a](https://github.com/iamkun/dayjs/commit/578bc1a23c6e737783bbac3da12c0ed5d1edcf82)) ## [1.8.23](https://github.com/iamkun/dayjs/compare/v1.8.22...v1.8.23) (2020-03-16) ### Bug Fixes * Add Chinese (zh) locale ([f9b8945](https://github.com/iamkun/dayjs/commit/f9b89453166d8b53d33b1d7eefd9942022552e6e)) * Fix IsoWeek plugin typescript definition ([#828](https://github.com/iamkun/dayjs/issues/828)) ([30aab0c](https://github.com/iamkun/dayjs/commit/30aab0c7bce85dfac0ae208a891def30f88b5cb4)) * Update Arabic (ar) locale relative time ([#836](https://github.com/iamkun/dayjs/issues/836)) ([14044c6](https://github.com/iamkun/dayjs/commit/14044c6fda1229e3f0e5473d3f886bd79589b15f)) * Update Slovak (sk) locale, Czech (cs) locale ([#833](https://github.com/iamkun/dayjs/issues/833)) ([f0d451f](https://github.com/iamkun/dayjs/commit/f0d451f795e9ebf752cd854d51b25b11de2343a3)) * Update Thai (th) locale relativeTime ([#826](https://github.com/iamkun/dayjs/issues/826)) ([63b7c03](https://github.com/iamkun/dayjs/commit/63b7c03a6dbb0507d60776e8bad6cccde3828b88)), closes [#816](https://github.com/iamkun/dayjs/issues/816) ## [1.8.22](https://github.com/iamkun/dayjs/compare/v1.8.21...v1.8.22) (2020-03-08) ### Bug Fixes * Add IsoWeek plugin ([#811](https://github.com/iamkun/dayjs/issues/811)) ([28a2207](https://github.com/iamkun/dayjs/commit/28a2207ef9849afbac15dd29267b2e7a09cd3c16)) * Fix unsupported locale fallback to previous one ([#819](https://github.com/iamkun/dayjs/issues/819)) ([4868715](https://github.com/iamkun/dayjs/commit/48687152cf5bee6a4c1b8ceea4bda8b9bab9be10)) ## [1.8.21](https://github.com/iamkun/dayjs/compare/v1.8.20...v1.8.21) (2020-02-26) ### Bug Fixes * Set + Get accept 'D' as the short version of 'date' ([#795](https://github.com/iamkun/dayjs/issues/795)) ([523c038](https://github.com/iamkun/dayjs/commit/523c03880fa8bbad83214494ad02cd606cdb8b30)) * Update DayOfYear plugin type ([#799](https://github.com/iamkun/dayjs/issues/799)) ([5809652](https://github.com/iamkun/dayjs/commit/5809652e40245b7759827d9bf317abdcfa75a330)) * Update fi (Finnish) locale relativeTime ([#797](https://github.com/iamkun/dayjs/issues/797)) ([4a470fb](https://github.com/iamkun/dayjs/commit/4a470fbd6fef9e051727d0f26d53cc050b85935d)) ## [1.8.20](https://github.com/iamkun/dayjs/compare/v1.8.19...v1.8.20) (2020-02-04) ### Bug Fixes * Add Bislama Locale (bi) ([#780](https://github.com/iamkun/dayjs/issues/780)) ([9ac6ab4](https://github.com/iamkun/dayjs/commit/9ac6ab481bc883dd4ecc02caab12c8b2fc218a42)) * Fix weekOfYear plugin to support yearStart locale for better week number result ([#769](https://github.com/iamkun/dayjs/issues/769)) ([f00db36](https://github.com/iamkun/dayjs/commit/f00db36e70bc7beaca1abadeb30a9b1fbb3261ee)) * Update et (Estonian) locale relativeTime ([#790](https://github.com/iamkun/dayjs/issues/790)) ([d8e0f45](https://github.com/iamkun/dayjs/commit/d8e0f45f6cd2d5e5704b9797929227454c92d1a5)) * Update LocaleData plugin to support dayjs.localeData().weekdays() API ([287fed6](https://github.com/iamkun/dayjs/commit/287fed6db9eb4fd979b4861aca4dacbd32422533)), closes [#779](https://github.com/iamkun/dayjs/issues/779) * Update LocaleData plugin to support dayjs.months dayjs.weekdays API ([144c2ae](https://github.com/iamkun/dayjs/commit/144c2ae6e15fbf89e3acd7c8cb9e237c5f6e1348)), closes [#779](https://github.com/iamkun/dayjs/issues/779) * Update pl locale fusional config ([d372475](https://github.com/iamkun/dayjs/commit/d3724758bb27d5b17587b995ba14e7e80dcd1151)) ## [1.8.19](https://github.com/iamkun/dayjs/compare/v1.8.18...v1.8.19) (2020-01-06) ### Bug Fixes * Add UpdateLocale plugin to update a locale's properties ([#766](https://github.com/iamkun/dayjs/issues/766)) ([82ce2ba](https://github.com/iamkun/dayjs/commit/82ce2ba8d7e402e40f6d005d400eb5356a0b0633)) * Fix CustomParseFormat Plugin 'YYYY-MM' use first day of the month ([ba709ec](https://github.com/iamkun/dayjs/commit/ba709eca86a71ae648bc68bf67d9abdc229198d4)), closes [#761](https://github.com/iamkun/dayjs/issues/761) * Fix CustomParseFormat Plugin to set correct locale ([66ce23f](https://github.com/iamkun/dayjs/commit/66ce23f2e18c5506e8f1a7ef20d3483a4df80087)) * Fix WeekOfYear Plugin wrong calender week number bug ([79b86db](https://github.com/iamkun/dayjs/commit/79b86dbbf3cfd3f1e2165b3d479a7061ad1b6925)), closes [#760](https://github.com/iamkun/dayjs/issues/760) * Update RelativeTime plugin to support function to make additional processing ([#767](https://github.com/iamkun/dayjs/issues/767)) ([4bd9250](https://github.com/iamkun/dayjs/commit/4bd9250fbe7131e2fddfb5fa1b3350e8c2262ca9)) * Update ru, uk, cs locale to support relativeTime with plural ([3f080f7](https://github.com/iamkun/dayjs/commit/3f080f7d6bfdc4018cbb7c4d0112ff1ead4ef6b8)) ## [1.8.18](https://github.com/iamkun/dayjs/compare/v1.8.17...v1.8.18) (2019-12-18) ### Bug Fixes * Add missing locale type definition ([#716](https://github.com/iamkun/dayjs/issues/716)) ([cde5d0b](https://github.com/iamkun/dayjs/commit/cde5d0b91be7b2f5f3098de4aa0b9a4f0f28ea5c)) * Fix .locale() handel unsupported locale ([78ec173](https://github.com/iamkun/dayjs/commit/78ec173fcecc1299516ab7b44f4554d431b4b2fd)) * Update Italian locale (it) ([#727](https://github.com/iamkun/dayjs/issues/727)) ([5b53e98](https://github.com/iamkun/dayjs/commit/5b53e98c0a3ba0eb9573a9c77caeb907439be9e7)) * Update locale (fa) ([#733](https://github.com/iamkun/dayjs/issues/733)) ([9ad2e47](https://github.com/iamkun/dayjs/commit/9ad2e47e0569b23991bb0d5578f49c792c12df08)) * Update locale (zh-cn) ([#706](https://github.com/iamkun/dayjs/issues/706)) ([e31e544](https://github.com/iamkun/dayjs/commit/e31e54414fb90e1f54da13a117748ba37f52645d)) * Update locale (zh-cn) meridiem ([#735](https://github.com/iamkun/dayjs/issues/735)) ([15d1b81](https://github.com/iamkun/dayjs/commit/15d1b813e7faf5a1f9d1ea6fc673fd27ac49d8b1)) * Update LocaleData plugin to support dayjs().longDateFormat() ([#734](https://github.com/iamkun/dayjs/issues/734)) ([aa0f210](https://github.com/iamkun/dayjs/commit/aa0f210a1e3c4f6aba61c3b96f9eb445b43a33f0)), closes [#680](https://github.com/iamkun/dayjs/issues/680) * Update Mongolian (mn) locale relativeTime ([#753](https://github.com/iamkun/dayjs/issues/753)) ([6d51435](https://github.com/iamkun/dayjs/commit/6d51435092c0c94d8e50256d3f0f058cdd15febe)) * Update Swedish locale (sv) fix ordinal error ([#745](https://github.com/iamkun/dayjs/issues/745)) ([49670d5](https://github.com/iamkun/dayjs/commit/49670d5ae31e4e21636cc5a8bfe35fef0f6d9e4a)), closes [#743](https://github.com/iamkun/dayjs/issues/743) ## [1.8.17](https://github.com/iamkun/dayjs/compare/v1.8.16...v1.8.17) (2019-11-06) ### Bug Fixes * Fix set utcOffset in utc mode ([d148115](https://github.com/iamkun/dayjs/commit/d148115dad8f1a5afc0a64e9b8163dfeba4616b6)) * Update advancedFormat plugin to support w ww wo week tokens … ([#678](https://github.com/iamkun/dayjs/issues/678)) ([26cfa63](https://github.com/iamkun/dayjs/commit/26cfa63a524b803f7966dac5464f9cbf8f63387e)), closes [#676](https://github.com/iamkun/dayjs/issues/676) * Update ka locale weekdays ([f8ca3d4](https://github.com/iamkun/dayjs/commit/f8ca3d4ba1d3cbe41613d3909c0627935a51a0c4)) * Update nb locale ([#679](https://github.com/iamkun/dayjs/issues/679)) ([1063b0e](https://github.com/iamkun/dayjs/commit/1063b0e1b5c19a1354d233cc0f21438e7073233a)) * Update Polish locale (pl)([#713](https://github.com/iamkun/dayjs/issues/713)) ([30d2f02](https://github.com/iamkun/dayjs/commit/30d2f026b47188833a4f44fee4bab52467d4a718)) * Update Ukrainian locale (uk) ([#710](https://github.com/iamkun/dayjs/issues/710)) ([360161c](https://github.com/iamkun/dayjs/commit/360161cac75f597fdd51d9d1ff138601282a1b4b)) * UTC plugin set utcOffset value ([#668](https://github.com/iamkun/dayjs/issues/668)) ([8877883](https://github.com/iamkun/dayjs/commit/88778838e71dd309e79cd1a8094d5bea36ca3390)) ## [1.8.16](https://github.com/iamkun/dayjs/compare/v1.8.15...v1.8.16) (2019-08-27) ### Bug Fixes * Fix relativeTime Plugin .FromNow() result error in UTC mode ([a385d5c](https://github.com/iamkun/dayjs/commit/a385d5c)) * Handle locale in WeekOfYear plugin ([#658](https://github.com/iamkun/dayjs/issues/658)) ([0e45b0a](https://github.com/iamkun/dayjs/commit/0e45b0a)) * LocaleData plugin returns all months and weekdays data when pas no argument ([#645](https://github.com/iamkun/dayjs/issues/645)) ([95e70b4](https://github.com/iamkun/dayjs/commit/95e70b4)) * Return null in toJSON if not valid ([#633](https://github.com/iamkun/dayjs/issues/633)) ([19affc8](https://github.com/iamkun/dayjs/commit/19affc8)) * Update Danish (da) locale ([#626](https://github.com/iamkun/dayjs/issues/626)) ([ac2ec77](https://github.com/iamkun/dayjs/commit/ac2ec77)) * Update Korean locale meridiem ([#642](https://github.com/iamkun/dayjs/issues/642)) ([b457146](https://github.com/iamkun/dayjs/commit/b457146)) * update Occitan locale Catalan locale ([#630](https://github.com/iamkun/dayjs/issues/630)) ([fef135e](https://github.com/iamkun/dayjs/commit/fef135e)) * update pt-br locale ([#628](https://github.com/iamkun/dayjs/issues/628)) ([ccf596d](https://github.com/iamkun/dayjs/commit/ccf596d)) * Update weekdaysShort to some locale files ([#643](https://github.com/iamkun/dayjs/issues/643)) ([cc1f15f](https://github.com/iamkun/dayjs/commit/cc1f15f)) ## [1.8.15](https://github.com/iamkun/dayjs/compare/v1.8.14...v1.8.15) (2019-07-08) ### Bug Fixes * Fix dayjs.locale() returns current global locale ([#602](https://github.com/iamkun/dayjs/issues/602)) ([790cd1a](https://github.com/iamkun/dayjs/commit/790cd1a)) * Fix incorrect Thai locale translation of July ([#607](https://github.com/iamkun/dayjs/issues/607)) ([43cbfd3](https://github.com/iamkun/dayjs/commit/43cbfd3)) * Lowercase french locale months and weekdays ([#615](https://github.com/iamkun/dayjs/issues/615)) ([e5a257c](https://github.com/iamkun/dayjs/commit/e5a257c)) * Type - Export Ls object to query all available locales ([#623](https://github.com/iamkun/dayjs/issues/623)) ([f6bfae0](https://github.com/iamkun/dayjs/commit/f6bfae0)) * Update nb (Norsk BokmÃ¥l) locale ([#604](https://github.com/iamkun/dayjs/issues/604)) ([907f5c9](https://github.com/iamkun/dayjs/commit/907f5c9)) * Update types of `.diff` API ([#617](https://github.com/iamkun/dayjs/issues/617)) ([f0f43d2](https://github.com/iamkun/dayjs/commit/f0f43d2)) ## [1.8.14](https://github.com/iamkun/dayjs/compare/v1.8.13...v1.8.14) (2019-05-07) ### Bug Fixes * Fix `.format` API returns UTC offset when value is 0 bug ([b254964](https://github.com/iamkun/dayjs/commit/b254964)) * Fix QuarterOfYear plugin bug ([#591](https://github.com/iamkun/dayjs/issues/591)) ([434f774](https://github.com/iamkun/dayjs/commit/434f774)) * Fix UTC plugin add day DST bug ([#590](https://github.com/iamkun/dayjs/issues/590)) ([86cd839](https://github.com/iamkun/dayjs/commit/86cd839)) ## [1.8.13](https://github.com/iamkun/dayjs/compare/v1.8.12...v1.8.13) (2019-04-26) ### Bug Fixes * Add missing relativeTime and formats for some locales ([#560](https://github.com/iamkun/dayjs/issues/560)) ([96b917e](https://github.com/iamkun/dayjs/commit/96b917e)) * Add weekday (locale aware day of the week) plugin ([#569](https://github.com/iamkun/dayjs/issues/569)) ([9007cc5](https://github.com/iamkun/dayjs/commit/9007cc5)), closes [#559](https://github.com/iamkun/dayjs/issues/559) * Allow customizing "am" / "pm" strings with locale meridiem function ([#580](https://github.com/iamkun/dayjs/issues/580)) ([576e93e](https://github.com/iamkun/dayjs/commit/576e93e)), closes [#578](https://github.com/iamkun/dayjs/issues/578) * Fix `.add` day/week decimal rouding bug ([800f6c9](https://github.com/iamkun/dayjs/commit/800f6c9)) * Fix `.diff` type definition error ([#565](https://github.com/iamkun/dayjs/issues/565)) ([c4921ae](https://github.com/iamkun/dayjs/commit/c4921ae)), closes [#561](https://github.com/iamkun/dayjs/issues/561) * Fix CustomParseFormat plugin bug ([#568](https://github.com/iamkun/dayjs/issues/568)) ([1f5a9db](https://github.com/iamkun/dayjs/commit/1f5a9db)), closes [#555](https://github.com/iamkun/dayjs/issues/555) * Fix relativeTime plugin Math.round bug ([40bea40](https://github.com/iamkun/dayjs/commit/40bea40)) * skip square brackets in buddhistEra, advancedFormat plugins ([#556](https://github.com/iamkun/dayjs/issues/556)) ([9279718](https://github.com/iamkun/dayjs/commit/9279718)), closes [#554](https://github.com/iamkun/dayjs/issues/554) * Update Indonesian locale([#574](https://github.com/iamkun/dayjs/issues/574)) ([0aa7143](https://github.com/iamkun/dayjs/commit/0aa7143)) * Update locale month to support both array and function ([#581](https://github.com/iamkun/dayjs/issues/581)) ([b6599d3](https://github.com/iamkun/dayjs/commit/b6599d3)) * Update LocalizedFormat plugin lowercase formats logic ([#557](https://github.com/iamkun/dayjs/issues/557)) ([d409304](https://github.com/iamkun/dayjs/commit/d409304)) ## [1.8.12](https://github.com/iamkun/dayjs/compare/v1.8.11...v1.8.12) (2019-04-02) ### Bug Fixes * Add .get API ([7318797](https://github.com/iamkun/dayjs/commit/7318797)) * Add 79 locales ([#541](https://github.com/iamkun/dayjs/issues/541)) ([f75a125](https://github.com/iamkun/dayjs/commit/f75a125)) * Add Calendar plugin ([d1b9cf9](https://github.com/iamkun/dayjs/commit/d1b9cf9)) * Add isoWeeksInYear plugin ([2db8631](https://github.com/iamkun/dayjs/commit/2db8631)) * Add Occitan (oc-lnc) locale file ([#551](https://github.com/iamkun/dayjs/issues/551)) ([c30b715](https://github.com/iamkun/dayjs/commit/c30b715)) * Add plugin minMax to sopport .max .min ([2870a23](https://github.com/iamkun/dayjs/commit/2870a23)) * Fix set Month Year error in last day of the month ([d058f4a](https://github.com/iamkun/dayjs/commit/d058f4a)) * Update ko locale weekdaysShort ([#543](https://github.com/iamkun/dayjs/issues/543)) ([317fd3e](https://github.com/iamkun/dayjs/commit/317fd3e)) * Update localizedFormat plugin to support lowercase localizable formats (l, ll, lll, llll) ([#546](https://github.com/iamkun/dayjs/issues/546)) ([f2b5ebf](https://github.com/iamkun/dayjs/commit/f2b5ebf)) ## [1.8.11](https://github.com/iamkun/dayjs/compare/v1.8.10...v1.8.11) (2019-03-21) ### Bug Fixes * Add .add('quarter') .startOf('quarter') through plugin quarterOfYear ([dde39e9](https://github.com/iamkun/dayjs/commit/dde39e9)), closes [#537](https://github.com/iamkun/dayjs/issues/537) [#531](https://github.com/iamkun/dayjs/issues/531) * Add locale support for Azerbaijani language (az) ([#535](https://github.com/iamkun/dayjs/issues/535)) ([eeb20fa](https://github.com/iamkun/dayjs/commit/eeb20fa)) * Correct typescript definition `add` ([22a249c](https://github.com/iamkun/dayjs/commit/22a249c)), closes [#531](https://github.com/iamkun/dayjs/issues/531) * Fix CustomParseFormat plugin formatting bug ([#536](https://github.com/iamkun/dayjs/issues/536)) ([8578546](https://github.com/iamkun/dayjs/commit/8578546)), closes [#533](https://github.com/iamkun/dayjs/issues/533) * Update pt locale ([#538](https://github.com/iamkun/dayjs/issues/538)) ([1ac9e1e](https://github.com/iamkun/dayjs/commit/1ac9e1e)) ## [1.8.10](https://github.com/iamkun/dayjs/compare/v1.8.9...v1.8.10) (2019-03-10) ### Bug Fixes * **locale:** Add nepali (ne) locale ([#524](https://github.com/iamkun/dayjs/issues/524)) ([bdbec01](https://github.com/iamkun/dayjs/commit/bdbec01)) * Add WeekYear plugin ([a892608](https://github.com/iamkun/dayjs/commit/a892608)) * API .locale() with no argument should return current locale name string ([8d63d88](https://github.com/iamkun/dayjs/commit/8d63d88)) * CustomParseFormat correct parse HH:mm:ss with only one digit like 0:12:10 ([600d547](https://github.com/iamkun/dayjs/commit/600d547)) * CustomParseFormat plugin parse Do format string ([bf27fda](https://github.com/iamkun/dayjs/commit/bf27fda)), closes [#522](https://github.com/iamkun/dayjs/issues/522) * Expand setters like .year(2000) .hour(12) ([ac532a0](https://github.com/iamkun/dayjs/commit/ac532a0)) * Move toObject, toArray API to separate plugin from core ([40a3431](https://github.com/iamkun/dayjs/commit/40a3431)) ## [1.8.9](https://github.com/iamkun/dayjs/compare/v1.8.8...v1.8.9) (2019-03-06) ### Features * Add UTC mode with UTC plugin ([#517](https://github.com/iamkun/dayjs/issues/517)) ([caf335c](https://github.com/iamkun/dayjs/commit/caf335c)) > For plugin developers: Please note, we have changed the name of some method in `Utils` in order to reduce the file size. ([#517](https://github.com/iamkun/dayjs/issues/517)) ([detail](https://github.com/iamkun/dayjs/pull/517/files#diff-2b4ca49d4bb0a774c4d4c1672d7aa781R46)) ### Bug Fixes * Add locale de-AT ([#515](https://github.com/iamkun/dayjs/issues/515)) ([d93f7b6](https://github.com/iamkun/dayjs/commit/d93f7b6)) * Add locale zh-hk ([#516](https://github.com/iamkun/dayjs/issues/516)) ([5fc05a6](https://github.com/iamkun/dayjs/commit/5fc05a6)) ## [1.8.8](https://github.com/iamkun/dayjs/compare/v1.8.7...v1.8.8) (2019-02-25) ### Bug Fixes * Update relativeTime plugin type definition ([de56f2c](https://github.com/iamkun/dayjs/commit/de56f2c)) ## [1.8.7](https://github.com/iamkun/dayjs/compare/v1.8.6...v1.8.7) (2019-02-24) ### Bug Fixes * Add plugin type definitions ([#418](https://github.com/iamkun/dayjs/issues/418)) ([361d437](https://github.com/iamkun/dayjs/commit/361d437)) * Add Swahili locale ([#508](https://github.com/iamkun/dayjs/issues/508)) ([b9cee84](https://github.com/iamkun/dayjs/commit/b9cee84)) * Parse month string 'MMMM MMM (February, Feb)' in customParseFormat ([#457](https://github.com/iamkun/dayjs/issues/457)) ([f343206](https://github.com/iamkun/dayjs/commit/f343206)) * Update declaration file .diff .isBefore .isSame .isAfter ([#496](https://github.com/iamkun/dayjs/issues/496)) ([4523275](https://github.com/iamkun/dayjs/commit/4523275)) * Word orders corrections for locale 'fa' ([#491](https://github.com/iamkun/dayjs/issues/491)) ([56050c2](https://github.com/iamkun/dayjs/commit/56050c2)) ## [1.8.6](https://github.com/iamkun/dayjs/compare/v1.8.5...v1.8.6) (2019-02-14) ### Bug Fixes * Add Bahasa Melayu (Malaysia) locale ([#485](https://github.com/iamkun/dayjs/issues/485)) ([cb208b0](https://github.com/iamkun/dayjs/commit/cb208b0)) * Copy & export built-in en locale to /locale folder as a separate file ([a7e05e0](https://github.com/iamkun/dayjs/commit/a7e05e0)) * Fix bug in customParseFormat plugin while month(MM) is '01' ([9884ca5](https://github.com/iamkun/dayjs/commit/9884ca5)), closes [#494](https://github.com/iamkun/dayjs/issues/494) * Fix startOf week bug while week start is not Sunday ([5eaf77b](https://github.com/iamkun/dayjs/commit/5eaf77b)) * Implemented isBetween inclusivity ([#464](https://github.com/iamkun/dayjs/issues/464)) ([af2f4f1](https://github.com/iamkun/dayjs/commit/af2f4f1)) * Update Swedish and Finnish locales ([#488](https://github.com/iamkun/dayjs/issues/488)) ([f142082](https://github.com/iamkun/dayjs/commit/f142082)) * Fix commonJS require ES Module bug in webpack4 ([23f9f3d](https://github.com/iamkun/dayjs/commit/23f9f3d)), check [#492](https://github.com/iamkun/dayjs/issues/492) > Get access to ESM code with `import dayjs from 'dayjs/esm'` ## [1.8.5](https://github.com/iamkun/dayjs/compare/v1.8.4...v1.8.5) (2019-02-07) ### Bug Fixes * Add en-gb locale ([#478](https://github.com/iamkun/dayjs/issues/478)) ([508c3a7](https://github.com/iamkun/dayjs/commit/508c3a7)) * **module:** transpile everything except ES6 modules in the 'module' entrypoint ([#477](https://github.com/iamkun/dayjs/issues/477)) ([#480](https://github.com/iamkun/dayjs/issues/480)) ([#482](https://github.com/iamkun/dayjs/issues/482)) ([767017d](https://github.com/iamkun/dayjs/commit/767017d)) * update customParseFormat plugin support hh:mm ([54947cc](https://github.com/iamkun/dayjs/commit/54947cc)), closes [#484](https://github.com/iamkun/dayjs/issues/484) * Update module in package.json ([5c5a7a0](https://github.com/iamkun/dayjs/commit/5c5a7a0)) ## [1.8.4](https://github.com/iamkun/dayjs/compare/v1.8.3...v1.8.4) (2019-02-05) * Allow set start day of week in locale && Allow set week in weekOfYear plugin ([1295591](https://github.com/iamkun/dayjs/commit/1295591)) ### Bug Fixes * update all locale files with correct week start ([5b03412](https://github.com/iamkun/dayjs/commit/5b03412)) * update es es-do locale adding weekStart && update weekStart test ([66e42ec](https://github.com/iamkun/dayjs/commit/66e42ec)) * Revert default export ([b00da1b](https://github.com/iamkun/dayjs/commit/b00da1b)) ## [1.8.3](https://github.com/iamkun/dayjs/compare/v1.8.2...v1.8.3) (2019-02-04) ### Bug Fixes * fix ios safari YYYY-MM-DD HH:mm parse BUG ([e02ae82](https://github.com/iamkun/dayjs/commit/e02ae82)), closes [#254](https://github.com/iamkun/dayjs/issues/254) ## [1.8.2](https://github.com/iamkun/dayjs/compare/v1.8.1...v1.8.2) (2019-02-02) ### Bug Fixes * Add missing czech language locale ([#461](https://github.com/iamkun/dayjs/issues/461)) ([7e04004](https://github.com/iamkun/dayjs/commit/7e04004)) * Add utcOffset api method and fix calculating diff error in DST ([#453](https://github.com/iamkun/dayjs/issues/453)) ([ce2e30e](https://github.com/iamkun/dayjs/commit/ce2e30e)) * Fix it locale error ([#458](https://github.com/iamkun/dayjs/issues/458)) ([f6d9a64](https://github.com/iamkun/dayjs/commit/f6d9a64)) * Add DayOfYear plugin (#454) * Fix es locale monthsShort error ## [1.8.1](https://github.com/iamkun/dayjs/compare/v1.8.0...v1.8.1) (2019-02-02) * Add LocalizedFormat plugin supplying format like LTS, LT, LLLL * update declaration File with default export (#278) > From v1.8.1, in TypeScript Project, just `import from dayjs from 'dayjs'` * add ES2015 module support (#451) ### Performance Improvements * **format:** reuse matches instead of created when replacing ([#441](https://github.com/iamkun/dayjs/issues/441)) ([10b79d8](https://github.com/iamkun/dayjs/commit/10b79d8)) # [1.8.0](https://github.com/iamkun/dayjs/compare/v1.7.8...v1.8.0) (2019-01-14) ### Features * add CustomParseFormat plugin and QuarterOfYear plugin ([#450](https://github.com/iamkun/dayjs/issues/450)) ([8f6f63c](https://github.com/iamkun/dayjs/commit/8f6f63c)) ## [1.7.8](https://github.com/iamkun/dayjs/compare/v1.7.7...v1.7.8) (2018-12-13) ### Feature * update isSame isBefore isAfter supports units ([fd65464](https://github.com/iamkun/dayjs/commit/fd65464)) * add greek lithuanian locales ## [1.7.7](https://github.com/iamkun/dayjs/compare/v1.7.6...v1.7.7) (2018-09-26) ### Bug Fixes * **DST:** fix daylight saving time DST bug && add test ([#354](https://github.com/iamkun/dayjs/issues/354)) ([6fca6d5](https://github.com/iamkun/dayjs/commit/6fca6d5)) ## [1.7.6](https://github.com/iamkun/dayjs/compare/v1.7.5...v1.7.6) (2018-09-25) ### Bug Fixes * **add dayjs.unix:** add dayjs.unix to parse timestamp in seconds && locale update ([5711c5e](https://github.com/iamkun/dayjs/commit/5711c5e)) ## [1.7.5](https://github.com/iamkun/dayjs/compare/v1.7.4...v1.7.5) (2018-08-10) ### Bug Fixes * add isBetween API & update ([b5fc3d1](https://github.com/iamkun/dayjs/commit/b5fc3d1)) ## [1.7.4](https://github.com/iamkun/dayjs/compare/v1.7.3...v1.7.4) (2018-07-11) ### Bug Fixes * update set week logic ([60b6325](https://github.com/iamkun/dayjs/commit/60b6325)), closes [#276](https://github.com/iamkun/dayjs/issues/276) ## [1.7.3](https://github.com/iamkun/dayjs/compare/v1.7.2...v1.7.3) (2018-07-10) ### Bug Fixes * **locale-nl:** set correct weekdays and months ([6d089d7](https://github.com/iamkun/dayjs/commit/6d089d7)) ## [1.7.2](https://github.com/iamkun/dayjs/compare/v1.7.1...v1.7.2) (2018-07-04) ### Bug Fixes * DEPRECATED isLeapYear, use IsLeapYear plugin instead ([e2e5116](https://github.com/iamkun/dayjs/commit/e2e5116)) ## [1.7.1](https://github.com/iamkun/dayjs/compare/v1.7.0...v1.7.1) (2018-07-03) ### Bug Fixes * fix week() error near the end of the year ([fa03689](https://github.com/iamkun/dayjs/commit/fa03689)) # [1.7.0](https://github.com/iamkun/dayjs/compare/v1.6.10...v1.7.0) (2018-07-02) ### Features * Added method `.week()` to retrieve week of the year ([e1c1b1c](https://github.com/iamkun/dayjs/commit/e1c1b1c)) * Updated Japanese locae ## [1.6.10](https://github.com/iamkun/dayjs/compare/v1.6.9...v1.6.10) (2018-06-25) ### Bug Fixes * Add relative locales to russian language ([c7e9898](https://github.com/iamkun/dayjs/commit/c7e9898)), closes [#256](https://github.com/iamkun/dayjs/issues/256) ## [1.6.9](https://github.com/iamkun/dayjs/compare/v1.6.8...v1.6.9) (2018-06-14) ### Bug Fixes * add isDayjs => boolean API ([6227c8b](https://github.com/iamkun/dayjs/commit/6227c8b)) ## [1.6.8](https://github.com/iamkun/dayjs/compare/v1.6.7...v1.6.8) (2018-06-14) ### Bug Fixes * fix Advanced format bug in zh-cn ([0c07874](https://github.com/iamkun/dayjs/commit/0c07874)), closes [#242](https://github.com/iamkun/dayjs/issues/242) ## [1.6.7](https://github.com/iamkun/dayjs/compare/v1.6.6...v1.6.7) (2018-06-11) ### Bug Fixes * fix id locale ([1ebbeb8](https://github.com/iamkun/dayjs/commit/1ebbeb8)), closes [#234](https://github.com/iamkun/dayjs/issues/234) ## [1.6.6](https://github.com/iamkun/dayjs/compare/v1.6.5...v1.6.6) (2018-06-06) ### Bug Fixes * format API update and locale file update ([5ca48f0](https://github.com/iamkun/dayjs/commit/5ca48f0)), closes [#228](https://github.com/iamkun/dayjs/issues/228) ## [1.6.5](https://github.com/iamkun/dayjs/compare/v1.6.4...v1.6.5) (2018-05-31) ### Bug Fixes * bugfix, utils update and locale file update ([ebcb6d5](https://github.com/iamkun/dayjs/commit/ebcb6d5)), closes [#214](https://github.com/iamkun/dayjs/issues/214) ## [1.6.4](https://github.com/iamkun/dayjs/compare/v1.6.3...v1.6.4) (2018-05-25) ### Bug Fixes * add RelativeTime plugin and locale file update ([c1fbbca](https://github.com/iamkun/dayjs/commit/c1fbbca)), closes [#198](https://github.com/iamkun/dayjs/issues/198) ## [1.6.3](https://github.com/iamkun/dayjs/compare/v1.6.2...v1.6.3) (2018-05-21) ### Bug Fixes * Changing locales locally is immutable from this release ([2cce729](https://github.com/iamkun/dayjs/commit/2cce729)), closes [#182](https://github.com/iamkun/dayjs/issues/182) * instance locale change should be immutable ([84597c9](https://github.com/iamkun/dayjs/commit/84597c9)) * Add more locales * english ordinal fix ## [1.6.2](https://github.com/iamkun/dayjs/compare/v1.6.1...v1.6.2) (2018-05-18) ### Bug Fixes * change-log update && test new npm release ([aa49cba](https://github.com/iamkun/dayjs/commit/aa49cba)), closes [#163](https://github.com/iamkun/dayjs/issues/163) ## [1.6.1](https://github.com/iamkun/dayjs/compare/v1.6.0...v1.6.1) (2018-05-18) ### Bug Fixes * Add German, Brazilian Portuguese locales * add() & parse() bug fix & add locale de, pt-br ([bf1331e](https://github.com/iamkun/dayjs/commit/bf1331e)) # [1.6.0](https://github.com/iamkun/dayjs/compare/v1.5.24...v1.6.0) (2018-05-15) ### Features * Locale && Plugin ([2342c55](https://github.com/iamkun/dayjs/commit/2342c55)), closes [#141](https://github.com/iamkun/dayjs/issues/141) iamkun-dayjs-a25f01e/CONTRIBUTING.md000066400000000000000000000021501520523163200167410ustar00rootroot00000000000000# Contributing to Day.js Thank you for taking the time to read our contribution guidelines. You can start contributing in many ways like filing bug reports, [improving the locale and documentation](https://github.com/iamkun/dayjs/issues/171), or helping others. Our open source community strives to be nice, welcoming and professional. Instances of abusive, harassing, or otherwise unacceptable behavior will not be tolerated. ## Style * Day.js is written in ES6. * We use ESLint to check our code. You can use `npm run lint` before submitting a pull request. * Please use semantic commit message. ## Bugs * Before submitting a bug report, search the issues for similar tickets. Your issue may have already been discussed and resolved. * Feel free to add a comment to an existing issue, even if it's closed. * Be thorough in your title and report, don't leave out important details. * English, please. ## Tests * Feel free to create a new `test/*.test.js` file if none of the existing test files suits your test case. * Help us keep 100% test coverage :D. * You can use `npm run test` before submitting a pull request. iamkun-dayjs-a25f01e/LICENSE000066400000000000000000000020601520523163200155150ustar00rootroot00000000000000MIT License Copyright (c) 2018-present, iamkun Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. iamkun-dayjs-a25f01e/README.md000066400000000000000000000175001520523163200157740ustar00rootroot00000000000000English | [简体中文](./docs/zh-cn/README.zh-CN.md) | [日本語](./docs/ja/README-ja.md) | [Português Brasileiro](./docs/pt-br/README-pt-br.md) | [한국어](./docs/ko/README-ko.md) | [Español (España)](./docs/es-es/README-es-es.md) | [РуÑÑкий](./docs/ru/README-ru.md) | [Türkçe](./docs/tr/README-tr.md) | [සිංහල](./docs/si/README-si.md) | [עברית](./docs/he/README-he.md)

Day.js

Fast 2kB alternative to Moment.js with the same modern API

Gzip Size NPM Version Build Status Codecov License
Sauce Test Status

> Day.js is a minimalist JavaScript library that parses, validates, manipulates, and displays dates and times for modern browsers with a largely Moment.js-compatible API. If you use Moment.js, you already know how to use Day.js. ```js dayjs().startOf('month').add(1, 'day').set('year', 2018).format('YYYY-MM-DD HH:mm:ss'); ``` * 🕒 Familiar Moment.js API & patterns * 💪 Immutable * 🔥 Chainable * 🌠I18n support * 📦 2kb mini library * 👫 All browsers supported --- ## Getting Started ### Documentation You can find more details, API, and other docs on [day.js.org](https://day.js.org/) website. ### Installation ```console npm install dayjs --save ``` 📚[Installation Guide](https://day.js.org/docs/en/installation/installation) ### API It's easy to use Day.js APIs to parse, validate, manipulate, and display dates and times. ```javascript dayjs('2018-08-08') // parse dayjs().format('{YYYY} MM-DDTHH:mm:ss SSS [Z] A') // display dayjs().set('month', 3).month() // get & set dayjs().add(1, 'year') // manipulate dayjs().isBefore(dayjs()) // query ``` 📚[API Reference](https://day.js.org/docs/en/parse/parse) ### I18n Day.js has great support for internationalization. But none of them will be included in your build unless you use them. ```javascript import 'dayjs/locale/es' // load on demand dayjs.locale('es') // use Spanish locale globally dayjs('2018-05-05').locale('zh-cn').format() // use Chinese Simplified locale in a specific instance ``` 📚[Internationalization](https://day.js.org/docs/en/i18n/i18n) ### Plugin A plugin is an independent module that can be added to Day.js to extend functionality or add new features. ```javascript import advancedFormat from 'dayjs/plugin/advancedFormat' // load on demand dayjs.extend(advancedFormat) // use plugin dayjs().format('Q Do k kk X x') // more available formats ``` 📚[Plugin List](https://day.js.org/docs/en/plugin/plugin) ## Downloads ![Day.js Chart](./docs/assets/download.png) ## Sponsors Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor via Github](https://github.com/sponsors/iamkun/)] [[Become a sponsor via OpenCollective](https://opencollective.com/dayjs#sponsor)]                                                       Instagram Story Viewer          Sayfone Cheap international calls                   BestKru                   Route Optimizer and Route Planner Software                            ## Contributors This project exists thanks to all the people who contribute. Please give us a 💖 star 💖 to support us. Thank you. And thank you to all our backers! 🙠## License Day.js is licensed under a [MIT License](./LICENSE). iamkun-dayjs-a25f01e/babel.config.js000066400000000000000000000004251520523163200173620ustar00rootroot00000000000000module.exports = { env: { test: { presets: [ '@babel/preset-env' ] }, build: { presets: [ [ '@babel/preset-env', { modules: false, loose: true } ] ] } } } iamkun-dayjs-a25f01e/build/000077500000000000000000000000001520523163200156115ustar00rootroot00000000000000iamkun-dayjs-a25f01e/build/esm.js000066400000000000000000000032451520523163200167370ustar00rootroot00000000000000const fs = require('fs') const path = require('path') const util = require('util') const { ncp } = require('ncp') const { promisify } = util const typeFileExt = '.d.ts' const localeDir = path.join(process.env.PWD, 'esm/locale') const pluginDir = path.join(process.env.PWD, 'esm/plugin') const localeTypePath = path.join(process.env.PWD, 'esm/locale', `index${typeFileExt}`); (async () => { try { const readLocaleDir = await promisify(fs.readdir)(localeDir) readLocaleDir.forEach(async (l) => { const filePath = path.join(localeDir, l) const readFile = await promisify(fs.readFile)(filePath, 'utf8') const result = readFile.replace("'dayjs'", "'../index'") await promisify(fs.writeFile)(filePath, result, 'utf8') }) await promisify(ncp)('./types/', './esm') const readLocaleFile = await promisify(fs.readFile)(localeTypePath, 'utf8') const localResult = readLocaleFile.replace("'dayjs", "'dayjs/esm") await promisify(fs.writeFile)(localeTypePath, localResult, 'utf8') const readPluginDir = await promisify(fs.readdir)(pluginDir) readPluginDir.forEach(async (p) => { if (p.includes(typeFileExt)) { const pluginName = p.replace(typeFileExt, '') const filePath = path.join(pluginDir, p) const targetPath = path.join(pluginDir, pluginName, `index${typeFileExt}`) const readFile = await promisify(fs.readFile)(filePath, 'utf8') const result = readFile.replace(/'dayjs'/g, "'dayjs/esm'") await promisify(fs.writeFile)(targetPath, result, 'utf8') await promisify(fs.unlink)(filePath) } }) } catch (e) { console.error(e) // eslint-disable-line no-console } })() iamkun-dayjs-a25f01e/build/index.js000066400000000000000000000042051520523163200172570ustar00rootroot00000000000000const rollup = require('rollup') const configFactory = require('./rollup.config') const fs = require('fs') const util = require('util') const path = require('path') const { ncp } = require('ncp') const { promisify } = util const promisifyReadDir = promisify(fs.readdir) const promisifyReadFile = promisify(fs.readFile) const promisifyWriteFile = promisify(fs.writeFile) const localeNameRegex = /\/\/ (.*) \[/ const formatName = n => n.replace(/\.js/, '').replace('-', '_') const localePath = path.join(__dirname, '../src/locale') async function build(option) { const bundle = await rollup.rollup(option.input) await bundle.write(option.output) } async function listLocaleJson(localeArr) { const localeListArr = [] await Promise.all(localeArr.map(async (l) => { const localeData = await promisifyReadFile(path.join(localePath, l), 'utf-8') localeListArr.push({ key: l.slice(0, -3), name: localeData.match(localeNameRegex)[1] }) })) promisifyWriteFile(path.join(__dirname, '../locale.json'), JSON.stringify(localeListArr), 'utf8') } (async () => { try { /* eslint-disable no-restricted-syntax, no-await-in-loop */ // We use await-in-loop to make rollup run sequentially to save on RAM const locales = await promisifyReadDir(localePath) for (const l of locales) { // run builds sequentially to limit RAM usage await build(configFactory({ input: `./src/locale/${l}`, fileName: `./locale/${l}`, name: `dayjs_locale_${formatName(l)}` })) } const plugins = await promisifyReadDir(path.join(__dirname, '../src/plugin')) for (const plugin of plugins) { // run builds sequentially to limit RAM usage await build(configFactory({ input: `./src/plugin/${plugin}/index`, fileName: `./plugin/${plugin}.js`, name: `dayjs_plugin_${formatName(plugin)}` })) } build(configFactory({ input: './src/index.js', fileName: './dayjs.min.js' })) await promisify(ncp)('./types/', './') // list locales await listLocaleJson(locales) } catch (e) { console.error(e) // eslint-disable-line no-console } })() iamkun-dayjs-a25f01e/build/rollup.config.js000066400000000000000000000010241520523163200207250ustar00rootroot00000000000000const babel = require('rollup-plugin-babel') const { terser } = require('rollup-plugin-terser') module.exports = (config) => { const { input, fileName, name } = config return { input: { input, external: [ 'dayjs' ], plugins: [ babel({ exclude: 'node_modules/**' }), terser() ] }, output: { file: fileName, format: 'umd', name: name || 'dayjs', globals: { dayjs: 'dayjs' }, compact: true } } } iamkun-dayjs-a25f01e/docs/000077500000000000000000000000001520523163200154425ustar00rootroot00000000000000iamkun-dayjs-a25f01e/docs/assets/000077500000000000000000000000001520523163200167445ustar00rootroot00000000000000iamkun-dayjs-a25f01e/docs/assets/download.png000066400000000000000000005100271520523163200212660ustar00rootroot00000000000000‰PNG  IHDR „míhÅIDATxìÝ œdW](þ{«{f2Y„D2 ›Ä,ì"Ë“ÅõÏ¢vI @€Àz; @€ P} @€ @€ÕHÚ˜ @€¨®€Ì @€ @€ê ÈX§6®Ó/mX¯ò&@€ @€ª/ C @€ @ úwfhà>  @€ @€@5dE€ @€T_@† @€Àº°pÝ>z‰ @€Àz3 @€ P} @€ @€Õ(3´°”P @€ @€ê Ȉ @€¨¾€  @€u,`à:~øR'@€õ& _ @€ @ ú2$@€ @€ª/ðí mü¶… @€¨–€l @€ @€ê ÈX×6®ëÇ/yXOr%@€ @€ª/ C @€ @ úÚØ©¡N€ @€ª#  @€ @ ú2$@€Ö¹€ €ëü }X/ò$@€ @€ª/ C @€ @ úÇghàñÎ @€ @€@5dA€ @€T_@† @€Àº°pÝ @€Àz# @€ P} @€ @€Õ˜›¡ €sEœ @€ @€µ/  @€ @ ú2$@€d6ú @€Ê H @€¨¾€  @€ @€ê ÌÏÐÀù&Z @€ @€ÀÚ°z @€ @ ú2$@€„€ €à @€U @€ P} @€ @€Õè–¡ €ÝT´ @€ @€µ+`å @€ @€@õdH€h ØØbðA€ª* / @€ @ ú2$@€ @€ª/Ð=C»»h%@€ @€kSÀª  @€ @€ê È Ð°° ¡ @€U @€ P} @€ @€ÕX(C’ÑN€ @€Öž€ @€ @€Õ! @`VÀÀY  P5ù @€ @€Õ! @€ P}…3´pa= @€ @`m X- @€ P} @€:lìÀP%@€U  @€ P} @€ @€ÕX,CÓÑG€ @€ÖŽ€• @€ @€Õ! @à8ãpB€ª"  @€ @ ú2$@€ @€ª/°x†6. @€¬ «$@€ @€ª/ C @€Àç€8%@€U @€ P} @€ @€Õ8Q†6žHH? @€~+$@€ @€ª/ C @€À<ç‘h @€k]Àú  @€ @€ê È @€¨¾À‰3´ðÄFF @€ @€á°: @€ @ ú2$@€t°° Š& °–¬ @€¨¾€  @€ @€ê ,%C—¢d  @€^+#@€ @€ª/ C @€@W»²h$@€kUÀº  @€ @€ê È @€¨¾ÀÒ2´piNF @€ @€á°* @€ @ ú2$@€, `à0š  @€ÀZ°f @€ @ ú2$@€ @€ª/°Ô m\ª”q @€ @`ø¬ˆ @€¨¾€  @€ ظ  °Ö¬— @€¨¾€  @€ @€ê ,=C—ne$ @€.«!@€ @€ª/ C @€À"6.‚£‹¬%k%@€ @€ª/ C @€ @ úËÉÐÀåhK€ @€†GÀJÖ›Àó>qNö+½8û•[^’í¹å÷²çÜòÖlÏÇþ*âϳ=½6û•ýZ”OËžûï÷^o4òíŸ@ñë÷~`ñ²³¾xÙY//^¾õ¢|[ñò³ÿ*Úþ´xéÖF”Ï-~ãì'/»Çw÷of&@€ °®$O€XTÀÀEyt @€µ"` @€•Øó‘e{>ö[ÙsnùÏlzæãY‘¿)+²G®ÿ3˳˲â‰ÿ=ËòggEñQþi63ý©lÏ-ޏ"û_7ß7óÀ2Š—n}Lñ²³®Žø|62óoñ{}Lñü¬È.ʧÄw-}ïž–åùXôýfV+Þžeþ+Æ¿¯xéY¿\¼âÞ[bœƒ¾˜” @€¨¾Àò2¬-o¸Ñ @€ @€ÀPXDµž{óƒ³çÜò³lä¦,+~%˳ånä{@–eÙhí?³_ùØÕÙ þÃÛÙ2ÿN$P¼üì ‹—n}{–ç;#¾+b9Ç£²<{uÖœI›_^üöÙ›—s±± @€tÐD€8€ €'ÒM€Ö‚€5 @€TH`Ï-ÙLíCYžýLO²*ŠÙÑcŸÉö|üç{2ŸI*'PÔ³ ÅKÏÚ›ÅõYž?¹ nŒ9žŸ}«ø÷â7îõãQw Ð#Ó @€ @€ÕXn†µå^`< @€ °êPEË?xvöœ[þ&R»"¢×dž,k¾>ÛóѽÙåßÔëÉÍ·vŠWœùýÙ}Ïz–g»ûÅ™Y­ùgÅKÏzYæ6% @€õ G @€À l3«ø¿<Ï¿)Þ‘"ê߈rý#3¿<Ю|ÊæL}å»’ @€@¥$G€X²€ €K¦2 ›€õ @€¬I_ùø³<;g¨ÖžçOÈžóo8™5]zé¥gìÞ½û^_|ñÆ•Ìsùå—oÚ¾}û}bŽ{Öëõ +™£×ÄúGvìØqvZG¥þÔi1óÓá3dÿ·À|[ñÎÙë:©ã’K.¹ë®]»¶,2Iß©{oÛ¶í´EÆt특OI߇®KlŒ9ú¹¾»Æïæ;—¸”yÃâw÷qý}*õ]Ÿ—eä@€ @€T_`åÙÿÑo剸’ @€T^@‚Õ(šÿ}(É7þØr×µcÇŽ ÆÇÇß\¯×ŽŽ~mzzúÓ[¶l9çÿí?x¢ùvíÚu^Œ=ñ­#GŽÜ122òɘ㶸îh´Ý1õÙ#Îßñ)âÞ™í˜SÙ½{÷é1æãiì?¦î;w~_û<µ7oÚô7ÿ¢ÿ–Xÿt­VûLZÇ¡C‡f¢í3‘ËsW²y,Ýwh¢YüøÐ¬åÛ Ù”Ý~Ç’¾wñÎŒHÏî?ây<;êwò¢üÌÆÏÌÌ|9ê‡â1þŸrú8bÄßD|3Ú>µyóæÛ£þõˆ—¥ïH´u=bÞĘ?ŽHs+}¢~,âÿEüzļ ªÑ6°õEŽçÆýþ,âs)÷øÝ|)Ꟊ8¿‹ÇÏM*Ú[Ûe—]v·hK¿»O9rä«qý'ã»Þúݦ¹Ëëc®ïŽq­ßQQ?P¶ÇØOD{z×—mJ @€ ˜Ž ° —e(&k!@€X³?4œ+/ž°œu=³V«}¨(ŠŸˆëÎŒè<í7DüRgcg}ÇŽŸ™™ùh´]qJÄÜãühØ_¯×gÿ\oÌ÷©h»_Џ÷X”]éééÿé-‹÷ËóüߢžÅµgDÙº6ʳ"ZÇÄÄDmË–-oŽqh87bîqv\û››7o~gŒÛ¹΋"˳<Îï]Ѽh)†ñ]Io–l=¿f³ù¨¸&}÷~.ʳ#ÊãÌxŽ—Çwæ¥ñýLo<ü«èøáˆÎï×éqþ‚øŽüI”óŽññññ¼?é;Ô9wzößí/ŠøHÜãþQ΃Z_äuiä˜Ö—6tÞcvY–Öziü.Þ9<££=ë\[´?àØ±cÿeúÝÝ;ÊòHù=:Í×?"5FýîQ¶~GQ¦þ(ZGë9Díû#p  @€ @ ú'“¡ €'£çZ @€ 08wª‚ÀåÿŽHãÃx¤MUKZWÚ¼—çùcp¹)èÖ¢(®Šó_ˆ¸6â«YŒyl*çÆ%—\r×Z­öwퟎúµ1Çö(/xDyüj½^o½q-úgßî—Däóޏoš§lß[Vº•·ÝvÛÏG{ÚLEëhÄõÏŠH¤þo«åÎ8tèÐ/ßY]cŸ¿qæÃcÅi]Ãvä\îŠâÙìŒkÒ¦ÓÏÇwâ·£¾3ÚÞey¼0ÎßÐ>yoÔŸ±+ÎßQOŸ}«]jŒógÇ|W§z;þ3Ê—GÛeQþ^Dy¤Mqˆïå©eCg÷ê×úžsˆ{•¿»?µý¯h{^´½/¢uDÛŸD.?Ú:™ó}{¢)­ÿö¨—¿Ù?¶òHs'Ó´qðp4¦’)nzëˆû%ëÔÖùûhõù @€艀I @€Ë°pY\ @€a° @€5)°y¦Ûæ†%•»e—ü»–²˜Z­ö»ãþæðáÃ÷ŸššúÅF£±7bû† ÒÛÑ>Ø1&mœÝ¬·iÓ¦ £/m4Š"ûÓ¸æ>ÛcŽk£|íÖ­[ÓfÄN)òÌß»ô¦Ç•0¾wtt4}ïžÏ)×dzë]Ú”:;W<Ï+¢ï1ÑùÛû£þ”x†oe­ïU:¿ä’KN‰ñ¿“ê)¢~ ¾‡çÆ5/Œïå¾(/‰k}ŸHGz“à Seèéú.¿üòMiM÷zR¬éi±¶ßÜ^õÿ}inYzãeço´ÕÖñqSüFï×–¿ÙôÏ Êþ¸ÏãÓÛ.¯½öÚC1ïO¦ˆÜÿµì?óÌ3[mÑ~ÜŸÒ.û•½0 @€ P}“ËÐÀ“ós5 @€Œ€»TC 9’ÞZ6¼¹lš9áúvìØ‘6}_;‰;6mÚôÔë®»îhû¼UìÝ»÷KQù‘ˆ®G³Ùüá²£(Š×”õ²œ˜˜hFû?”çQÞ#¢×UÌå®ÅoŸ½y™÷ŸŽïÐOìÛ·oö­téúxNSÙŽÛ¦¦¦~£]Ÿ-â¦7è•ç÷.+7nLo¼KûüÓguV=¾‡ÓíóV199ù‘¨ütDy¤·Sv{ `Ï×wäÈ‘qÓ»E¤ãUñ½üëTéŒhÛ黚šÏ©×ëéÍ©~\„ÝOµ£³íqíGã$EYvèС­­Š @€Á ¸# @`™6.Ìp 0 Ö@€ °VŠÙÍfC™Ažp}yžÏn**ŠâàUW]u¤[.Fã‹1ö»õuÖY¿|ôèÑÍ)¦¦¦n˜3&ß±cÇŵÆwvȦM›þ(NZ³âþÏHoF‹óÎcöº‘‘‘Î?ÛÚ9¦³>ûÖ¸˜ïÕõzý O˜˜˜(ßP˜MNNþ÷ÈçQé€×®z>äß»™c'üÞ;ášk®ùÜœ¶ô'k•mñýù§¨ÇÑ>ïº4 ÚÓÆÖTMo«üÕxþÍÖÉœøü}4•o•ï̹q>÷èùúâŽhqÏkZ•îÂøY]†|,ìÒ›4»te³› kµZ¹Ù°Û8mp+ @€ @ ú'›¡ €'+èz @€ Ðw 0Lç—‹©Õjï)ëÝÊf³ùÝÚ'&&¦eÍf3ý©ßòt^Y«Õü“¹ãããÏÞ²eË犢H›_óþdLÞ¦6ûæ½8ïzÄØß-;âú±²>33ó3e=Ú¯*ë‹•W]uÕ׎=ú=1&ý¹àÖ›£^ßótèл£ý–c:Ëk¯½öPœß‘޻Ĩ·ïܹó±qÝ"žsüQQs×òäh¿º 3âÿ§ãëUYæ5×\ó¹øî¤·=¶îõñìÿ8¾“ÿ=ʇGŒŽŽþgt~D:¦ãü§Ê âu¯{Ýâ»ú›í{Fý±¶WÅwô)‰ø7¦·s–›ó>855õáöø“.Â#m”-çùãðx^ÄxÙ $@€è€) @€+°p…p.#@€«!àž @€xÕ÷þuVdŸªLŠâï³W?hÉo¶›œœ|GQ¿Ò‘ÃDý`Äû£=ý¹Üt§Y¹Ñ/Õ;ãU'Ol6›ïŽë>ñ'ÑþSéHõT¦Hoc{[ªtÆþýûÿ-Î;79Moܸñºh[òqÊ)§¼ ߑ޴yj"ÖñϵZí?ò<O4þbDëˆó_?pàÀp=»ÖÊ–ð‘üQŒš}‹[Ô‡à(^Ÿÿâ'Ž ÁBZKøò—¿ü²¨ü^Dyüø.¤“ï†ý埮¾#Ú|ß¾}ÿm;Ž;ö²ø¾¥¼a¬aOœ¿-â=éÏß»Ý÷ÕøM=©]ïUñ¾Ž‰žõWD\áè“€i  @€ @€ê ô*C{%i @€ Ð{3VU Ï®ªÔò,mnZÖ’¦¦¦Ò柊‹>1÷¸=ÏóEñ¬²#êEYo4/Žó—Æy· ‚·Fû“bÌOFÙ¹¹¯ë浸ÏdŒ+߿ꪫ–µ¡,?zôèÆiSb·õDWöѸϥ“““W¤“µùó?}8Ëó}CµöÚHc©ë9ºÔ±+wÝu×ïÝ%ñ¬ÿGÌñ鈹Gú~¼£ÙlÞwjjêíƒXßÁƒïˆïà3â·³=î}[D·£ë;/½Ñ°ì\ÉÚâÇýŽâüª˜/mŽLQu @€ôXÀt @€ ظb: @€A ¸ @€@e^uîïD.ŸŠ†ã³+ÏÓJÒh4þ>⼸vc­V{t”OŠò»£íŒÉÉÉ—NMM½)êyЍ·ù,Î_´iÓ¦»Æ5ÉóüÂf³™ÞxZŒ½WÄ_G{åƒR{Q±Kms#úÚѶ·£¾äêÁƒ¿÷úÕ­[·ž‘66¦\=::zfô]ù¼.Ú×ö1sì·‡'âÿæÏÿÌ?/u=ñ n‹(¿K³K;¯ïÔ‡Ë1ñ¼.ëì+ëû÷￱cLç[,Ë!Y\ûæsŸÃ‡oŠÆô'߃{GÛæˆ§tn®‹þÖí[_äymÜokÜø´øþ§ßÍS£|@Zo´Ï]_´pm1Wú½ýrŒ-;7ߦ¾cÑwID2h‰zú½¤KEÏLH€ @€T_ wÚØ;K3 @€ @€Þ ˜­ºy^dyöâ¡H°ùÅ“]G£Ñ8ÖÞXõ×Q~~©ó¥·ïŵ7MNN¾ëšk®ù§¨s}jjêÓØ¹}õzýÔ<ÏËÍ`ŸŽëÿßÜ1çwï¨w­NLLLÇÿ‘66¦\nÜ·oßu¼ó}î?cÙÃð½+²cùsc-C}´ßøÿâûðîø|fØëúfú}Dù—QÞœÖ;lk´ @€% F€8 OÏ¥ @`îE€ P1W÷ûYžÿáªfUdÏÏ^}ÎûWu 'qó¢(~3.HÇËÒG·¸øâ‹7Fû3"Êãsee½•ù ?ûY–ÿC¶ªÿj—æŸMêyUWáæ†UÀº @€ @€ê ô2C{©i. @€ Ð;3­â[ãYQÜ´*©Ù²WŸ—6ЭÊíWzÓz½þ¢ˆE|*ÏóËÛó|5Ê×EÌ;ÆÇÇ_µeË–#EQü\ÙY«Õþ±¬¯Ë2oÖ#ïëpä¿›¿ð3WáÆnI€ @`X¬‹ pR6žŸ‹  @€À ܇ @ ’W>ôY6ýÓ‘Û¡ˆÁyþÎìŽf¹ynp÷íÍîÓ<8âÞåñFãXyÒYE‘Þþ×Ù4¹ÿþílXoõü‡>šeÅO <ï<CþÂ[ÿ×Àïë†Ö”€Å @€ @€Õèm†6öÖÓl @€ @ 7fY?¯~ÐG²fö£YžýÇ€’~[–7/Éö^ð¥ݯ§·)Šâ=1á#>šçù[jµÚÃÆßÇùBÇuqÍ+£óùQ>6ÆîŒúº?òzg–åé{÷­l ÿò?È_pëÏäVnB€ @`- X+ @à$l˜’ @€¨¾€  @€=XÑÀM›6Ín;vìØ=6lØp÷¹133sVç:·lÙòœ8?7"Ëóü­£££g4»Fyf´Ý‘EñÔñññMõEŒ{D̳³=îÓÍfó{b¾3Ž=º9æ9ÐnOo|E»žÕëõS£ï÷ÚçiÓß“âšÍ[·nÝíÛÛí©xSú(czzúuQ/7>7ÆoH×ÕjµGG{¹éð5;wî,7FóÂÇJæd¾ ¯\ RÀ½ @€ @€ê È @€¨¾@?3\ÑÀ<ÏÞ^Ô'^÷º×}aïÞ½_šør{LY”›õ>æ™g>mß¾}­sQþ×ÌÌÌE1(mÈ‹"Û•>NEQì(Ç4›Í‹®¹æšÿLç¼cjj*õ}8G¤7æQ¦‡OŽòôˆ´Ùp¼ÑhüuªOLL4ãšk£þ;é8×®]ç¥ÊöíÛ¿3ÊŽH׿)®ù­ßZëþýûo ‹‹S_Äh¬ã™Q.z¬t¾Aå»èâu @€ @€@?ÌM€ @€T_@† @€ž ¬tà÷·Wñ/írÑ¢ýf¼ûµ½vbb¢Ù®·Š´Y0Ïó7§“¢(Ò&½T=Qüx{À{ËÍíóVó•›ùNß±cGë…1wyÍôYgõû­Ç¤?'Üj™™™yjªŒŽŽ>)•)¢­œ3¶brròQùRD:ž–>‹“˜¯\{_ó]líú @`îE€ @€T_@† @€ @€@õú›áŠ6Æ’Ê €7Öëõ‡ïŒò…Q>-Ê3£îñ½ ïî¨wVËöÑ]»vméìèROoôkݧ(ŠwuéOoø{OÙ^ʧ‡IDAT«ÕZoó‹óó#ÒqÓÄÄDë-~餌F£ñé¨ß‘®¿ •å5YÌóþ8ïvüS»ñÜv¹X±’ù™ïbk×G€ @€ý0/ @€ P} @€z,°Ò €l¯ã…Q¾¿(Š«£|i”å¡z½þ[—_~ù¦¨·Ž™™™{µ*ñÑl6?ż#Ú[Â7uÄø³S¹PÄüw+ûò<ÿ²ÞY=ztö>1¦¼ÿYiLœÏö¥ó9‘6¦?÷Ûº&rj•1æ«FãX”óŽS®áó:ç4ÄØeÏ7È|ç,×)¬’€Û @€ @€Õ! @€ P}~g¸ì €;wîL›èFÛ Kñ¦ó<ÿ‡8¿)¢<~åèѣʓ(OhEQ|µU™ós|¥lªÕj›Ëz·rttt¶?曽®sìÁƒ[oòk·•÷o]×n·w+Zë‹1§¥ÎXW«Œú×#º1æ+íŽSÚå‚EŒ]ö|ƒÌwÁ…ë @€ @€~ ˜› @€¨¾€  @€=XöÀ™™™ï+WQÅo7“““?åC¢=ýÙÜÖô¢ïçÆÇÇ0ÚÒŸÎ-R™bãÆ³õt^F­VëlßP¶w+=:;6ÏóÙz·±í¶ã拵•ÛÝÇÍtó¶ÆÄØrþ‘ÔÞ-bl9¦[÷qm+™o€ùž‹Ý*2¿ßÕýðçï;à;à;à;à;à;à;à;à;à;à;à;à;Pýï€gìûøøøøøøøøøøøøTÿ;ÐÓg\óeo¼ãŽ;þ>¦¹ Ùl>`jjê9QŸÝüÖh4>çOŠ(ŸJ•›§2űcÇ6¦rnĘÎöcsû;Ï7nÜ8;_Q×uë¬7_ÿ:;çÔ[óżө=†ÎÞ+w‹Xû¦níÝÚV2ß óí¶fm¬ºÀÄ RDá @ ßs¤ˆÂA€ÀI ¤ßRŠ“œÆådw¤ßSŠ;Ï| p²é÷”âdçq=w ¤ßSŠ;Ï| p²é÷”âdçq=Y–~K)X~µ±Âô{J±6Vk•†_ ýžR ÿJ­ÀÚH¿§kcµZå²7¾þõ¯ÿFÚèwÍ5×ÜÜm©/Ú?‘EQ¾-ð›éûb»\¬Xö|Îw±µë#@€ @€Þ ˜‘ @€¨¾€  @€}XöÀz½þÖˆ/Ž]½ÈŠÎO}yž"•Ífóã©LõG¤²K<²Ý6}àÀ/·ë éÏ—›ùµÀ ÙûÔjµ[Ò˜¢(Ê·ž9lHmm÷óшôöÂrlú³Æ©);zôhùFÃÖyû#yË €­û´Û*V2ß ó]hÝÚ  @` nB€ @€T_@† @€ @€@õ“á²7æyžÞîw·(/¹ì²Ëî6w™õzýqÑv¿ˆt¼/}\sÍ5éÕ‹ŸNõ¸nÏå—_þ©^ÆØØØ¹QzD:þ*},!þ¢=æ‘qýcÚõVkØPÅKZ'Yvûäää‡R½V«ýY*Ûñ¼v9[ÄÚ^^žDý­©¾aÆÙõÄõ¯Lm1>>~iœß%"‹k:çOMóâ$æH¾ó¬ @€ú+`v @€ @ ú2$@€ôI`ÙcoŽHÇ)ÇŽ{÷Ž;fÿÔîøøøGGkã\”ÓGý­(Ëco»rÊ‘#G®«×ëNçQ>.ÏórÎÔtÜ›£ÿsÇRlÛ¶í´4 E\3•ÊQcô?qbb¢¶}ûös¢íõ÷ˆHǵñ‘Þ —Þê÷ލß‘ŽÇ5ÏJs¦ŒQÿÕ¢(ž™:">Úh4ZoêÛ»woúsÃméø±±±ßܽ{÷=/¾øâqÍÅqÍkSGÄtZG”­#ÖqŸèo­;Ê´ãc¥óÅÜÉ7–è @€Upk @€ @ ú2$@€ @€ª/0¨ —½prr2m¢k´x~­VûH½^ÿzÄ·Š¢ø›h/߆÷?_÷º×}!Î[ÇáÇ_•E¤ã‰ññ¡¸æX”ÿñÀˆtüy£ÑøËTéˆS£>šâŒ3ÎÈ£l±ŽÉó|_ë$ËÎŽò¯:tdddäãQÿ©ˆt|>>žÑ:bîoÆ5ÏjdYšóàæÍ›o?vìØ£­óí~åFÀhŽ££ÏŽÊtDzËßs§§§oÛ²eË7âüM§D¤Í…¿´ÿþt¿tšmܸ1µ§{¤˜Ý¸˜:GW0ß óMk @€ 07!@€ @€ª/ C @€@ßj+™yëÖ­»âº±ˆ¯F¤ãôøHÞ¢ÈÞŸçù'''ßNʸîºëf¾õ­o=<ÎË̓QmmÂKåtQW>|øédNÌ”çÓÓÓͲžÊ¸Ç/DyyÄéH›íR™âOfff.H›þÒIqÍ›kµÚâüÖˆ¹ÇM±ŽÅ57uvìÛ·ï31×9Ñ÷žŽöò^é ?155UnFìÒ½ºÒùbíÉ·ûªµ @€@ÿÜ @€¨¾€  @€ @€ê .Ãmœ˜˜h6k"îÚl6ï™çù…<|øðh´=brrò#ÝRxýë_ÿèߺuëHôŸ“6⎎Þ;Ú6LMMýzÚ$íÇÑw×hx}Äç£þÍ(;"Ú^±9·EqQ”´×ñ“ørœÏ;öïß}\s¯M›6Ý%Öý˜ˆGÆ Ó¢í!±ŽG}Þs}*úלã¿aÆ»Ç5)þ4Î;®¾úê[¢/½±ð¶è¸1â¸c¹óµ/X¾íû) @€ @ Ÿæ&@€ @€ª/ C @€@V´°s=×\sÍç&''ßñ‘nø:Ç–õöÂOñÒÛðÊöne½^\´o+Š"ýéá¨v?ÆmSSS7DùÑ¥®ãª«®úZ¬û½ÿ×ÍÝ\ØõFqÍ‘ÿÁÿî½{÷¦·ÿu—ÇÆÆöDyfÄÜ?kMwË™ïÎ+îüŒû$ß;ïæ“!à @€ @€@õdH€ @€T_`žôÀ,ö­q;"^±fŽ;wÞ7ÏóWÅ‚oŠ˜÷†Àhs @€ @€Àú= @€ P} @€ú*0ô‹¢¨OOOßcjjêc}•èñäÍfóóyžÿôÖ­[Öh4–ôvÁ/Át °¦,– @€¨¾€  @€ @€ê 6áß855õ¦k¯½öëƒe9ù»¥M“““oœ˜˜hžülf @€ @€Ê Hˆ @€¨¾€  @€}ú €}Îßô @`(,‚ @€¨¾€  @€ @€ê :C-î~ @€ @ Ë @€ @€Õ! @ ï6öØ  @€À‰ô @€ @€Õ! @€ P}ÁghààÍÝ‘ @€Ö»€ü  @€ @€ê È 0€ì @`1} @€ @€@õdH€ @€T_`52´p5ÔÝ“ @€Ö³€Ü  @€ @€ê È 0Âì& @`!í @€ @€@õdH€ @€T_`u2´puÜÝ• @€Ö«€¼  @€ @€ê È 0 í6 @ ›€6 @€ @ ú2$@€ @€ª/°ZÚ¸ZòîK€ @€ëQ@Î @€ @€@õdH€˜€ €£v# 0WÀ9 @€ P} @€ @€ÕX½ m\={w&@€ @€õ& _ @€ @ ú2$@€ PÀÀb»èP'@€ @€ª/ C @€ @ ú«™¡ €«©ïÞ @€ °žäJ€ @€T_@† @€ Ø8Pn7#@€¥€’ @€¨¾€  @€ @€ê ¬n†6®®¿» @€ @€Àz' @€ P} @€,`à€ÁÝŽ$A€ @€T_@† @€ @€@õV;CWû ¸? @€¬9 @› IIDAT€ @€Õ! @`à6œÜ  @€ @€ @ ú2$@€ @€ª/°úÚ¸úÏÀ  @€ @ êò#@€ @€ª/ C @€À*ظ ènI€ë[@ö @€ @€@õdH€ @€T_`2´pž‚5 @€ @€@•äF€ @€T_@† @€U°pUØÝ”Ö¯€Ì  @€ @€ê È @€¨¾Àpdhàp<« @€ @€ª È‹ @€¨¾€  @€«$`à*Á»-¬OY @€ @€Õ! @€ P}aÉÐÀayÖA€ @€U @€ P} @€VMÀÀU£wcX2&@€ @€ª/ C @€ @ úÓ¡ €Ãó,¬„ @€ª&  @€ @ ú2$@€¬¢€ €«ˆïÖ °¾dK€ @€T_@† @€ @€@õ†)C‡éiX  @€TI@. @€ @€@õdH€XUW•ßÍ  @`ýÈ” @€¨¾€  @€ @€ê W†6×ó° @€¨Š€< @€ @€ê È °Ê6®òp{X²$@€ @€ª/ C @€ @ úÖ¡ €ÃöD¬‡ @€ª  @€ @ ú2$@€¬º€ €«þ,€ª/ C @€ @ ú2$@€ @€ª/0|Ú8|ÏÄŠ @€ @`­ X? @€ P} @€†@ÀÀ!x–@€Õ @€ P} @€ @€ÕÆ mƧbM @€ °–¬ @€¨¾€  @€C!`àP<‹ @€ê ÈŒ @€¨¾€  @€ @€ê g†6çs±* @€X«ÖM€ @€T_@† @€!°pH„e @€@5dE€ @€T_@† @€ @€@õ†5C‡õÉX @€¬Ek&@€ @€ª/ C @€ÀÐØ84ÂB @ z2"@€ @€ª/ C @€ @ úÎpÏÇþ>›[&²=7_´Ð l\HF; @€X®€ñ @€ @€@õdH€è§Àž[Š,+.úvdWdYíﺥ € Éh'@€')àr @€ @ ú2$@€ @€ª/0° ÷Ü2±Ü{Ù¸\1ã  @€ @€@w­ @€ @€@õdH€è§ÀËÜÀåŠO€–$` @€ P} @€ @€ÕP†{n¾h%w²p%j®!@€ @€sœ @€ @€Õ! @ o5ûfkb °Là  @€ @€ê È @€¨¾Àêg˜_Ÿe)²®ÿj][5 @€ @€Ë0– @€¨¾€  @€« PÜ]y € Éh'@€+p! @€ P} @€ @€Õd†ù…ÝïÖ¼¾{û­=ÝX¯×ÏÚÎ;tçô]?óh],¢{ùÇöíÛï÷~rÄC/¾øâK™¡^¯ß=â ±ÞÇ^zé¥g,åšmÛ¶ã566ö#»wï¾çR®YlÌJçT¾‹­] @€´ @€ @€@õdH€è«@qÑJ¦ïÙÀ‰‰‰4×;‹¢øÓˆ}ÝS¯×ÿ0¢¹Xlß¾ýœn×.ЖýRÌwlddä“qß·G|`Ë–-G¢í-—]vÙݺ]·cÇŽŠþÏEß"þ®Ùl¾{ttôkÑvsă£mÞ×Ü/únܼyóí1þ}yž¿szzú¶hûÊøøø3æ]p‚†Î7°|O°|Ý °ˆ€. @€ @ ú2$@€ @€ª/0^yÁõ‹­#mÚ[¬É}‡šˆÁŒXìxÄb©oddds*—cccûò<MŒHÇíé£O?vìØ-õzýÔöy«H›õjµÚ߯É="ÒqG|LG¤ãüøøP\sÜ&ÀÝ»wß+®ùXô=2¢<Òu©~—¢(þ$®¹,,%V:ß ò]JÆ @€ @€À¬€  @€ P} @€ú'°çæ½ý/-¨'ÇÇÇÓÆ¾¥ ‰<ú¾'"ËóüÇ6lØp÷nqøðá¤1'ŠtϘgg{ܧ›Íæ÷43Ž=º¹(ŠíöôÀW´ëY½^?5ú~¯}ž6ý=)®Ù¼uëÖMѾ½ÝžŠ7¥2¦§§_õr“áscü†t]­V{t´—›_³sçÎrSa4/|¬d¾Aæ»ðÊõ @€À‰Œ @€ @€ª/ C @€ @ úÃa¾èÛÿÒ Oz`{SÝŸ§É">Ñõؾ}ûý££µ‰nddä]{÷îýR·¸îºëfbÜ ¢(v”ƒšÍæE×\sͦóƒÞ155•ú>œÎ#.È#ÒÆÃ'GyzD×7¿Nõ‰‰‰f\smÔ'"çïÚµë¼T‰ug”?‘®S\ó[1>mÌöïßcžç§¾ˆÑXÇ3£\ôXé|±Þ”Skî¸OßòmÝÀ @€,]ÀH @€ @ ú2$@€ôU ¶À‹NtÛÚ‰,¡ÿµ1æÌ<Ïßå#ºµZíáíŽ/íÛ·¯|k^»iEÅ·¯zo¹ù¯}Þ*b=åf¾ÓwìØÑú“¾EQ”×LŸuÖY¿ßxüGús­–™™™§¦Êèèè“R™"ÚÊ9Ói+&''ß•/E¤ãiéc±8‰ùʵ÷5ßÅÖ®N,` @€ P} @€ @€ÕX+žÔÀz½þc‘è³#n?räHzÓ^T»yž»çýÛ·o¿ÏøøøÏ½8âçvìØqA»o©Ez£ß™ipQïJå܈ö÷”mµZ­õ6¿8??"7•oñK'e4ôÃ;Òy\_®©¼&‹yÞŸúºÄ?µÛÎm—‹+™où.¶v} @€ p¼€3 @€ @ ú2$@€ ­ÀŠ7Öëõ»GV‘þ4îOû¯ûEæ÷G˲7ÖëõûÇu{#²Z­ö“ûöí»=Õ‹ûßÿþߊþsbüÃ>üø«®ºêkqÞ:<ø•M›6ý8ù|D:~&},7nÌËþ¢(6–õEÊc}yüë<ŸSoÍó¶ÞLCgï5gÜìi³ÙìþfG|»²’ù™ï·WªF€ @€'ÐM€ @€T_@† @€þ Œnú®7yÃϾ·k{Gã²7Ƶo‰ÍóüMܵk×–2Š¢8#ú²(7¦¶Ë/¿ü;ÒùÄÄD³Ñhüûþýûÿõºë®›Imq b¿áIDATÕUW‰óß‹HÇ9ñ±è¦»ééé´¡0†eibëž­“Žö[Ë–o¶+åu]¯iiõEnßHç‘K«Œz«=ÊyGŒ-ÿ¬q矞7.5¬d¾æ›þÌñ¡Xg¯"¦j½šÏâé¸6>Šˆ,æ~G”·G¤ãÅqͳҜ—]vÙÝ¢þ«ÑÿÌÔñÑF£ÑzSßÞ½{ÓŸþÛhKÇŒýæîÝ»ïyñÅoŒk.Žk^›:"¦cMoŒ²uÄ:îý­uGùVc|¬t¾˜{ ùÆ °l @€ @€Õ! @€ P}µ—á²7®$ÅF£ñÅ<Ϧ}íéQ¾µ^¯§Íq_‰ú'"‘6èퟚšú›TïˆS£>šâŒ3ÎÈ£l“““ÿsîkdÙÙQþÕ¡C‡ŽŒŒŒ|<ê?‘ŽÏÇÇó#ZG¬ã›qͳZ'Y–æ<¸yóæÛ;öÅhë|»_¹0šcàèè³£Rn`|îôôôm[¶lùF´½)¢Ü¸øKû÷ïO÷‹¦,Û¸qcjO÷H1»q1uŽ®`¾Aæ›Ö( @€ @`] @€ @€@õdH€XµA­qrròóõoFÙyÑöÚˆÍѸµ(Š‹¢¼àðáãÑö“ørœÏ;öïß}ôßkÓ¦MwÉóü1ŒA§EÛC¦¦¦>õyGÌõ©è{\\sJŒX xü† îפøÓ8?î¸úê«o‰¾ôÆÂÛ¢ãÆˆãŽåÎ×¾x`ù¶ï§ @€ @€ùZ @€ @€ê È 0 ZÚóÖå^Å ]ç5Õæµ  áÚk¯ýúþýûoLqðàÁòí}]ï\¯×ÛŠ¢xG” Fã¶©©©¢üèu×]7ûÖÀ/ˆŽ«®ºêk“““ïø—¸nîæÂ1ÿˆkŽÄøÆøwïÝ»7½ýoþ vËØØØž¨žñ—]åÌ×9AÜ ùvÞSº h#@€ @€ª/ C @€ @ úk3ÃUÙ¸Lª·Æø´IðeQ®™cçÎ÷ÍóüU±à›"æ½!0Ú @€ °¬™ @€¨¾€  @€kD`è7EQŸžž¾ÇÔÔÔÇÖˆik™ÍfóóyžÿôÖ­[Öh4–ôvÁÖ…> @`M X, @€ P} @€ @€ÕX«ýÀ©©©7]{íµ__kÀiÓßäää'&&škmíÖK€ @€ è @€ @€ª/ C @€Àšú €kFÒB  @` H™ @€¨¾€  @€ @€ê ¬Ý m\»ÏÎÊ  @€ @`ÐîG€ @€T_@† @€ äv¿]óúîíÇ·Úx¼‡3 °d  @€ @€ê È @€¨¾ÀZÎÐÀµüô¬ @€)à^ @€ @€@õdH€XS6®©Çe± 0<VB€ @€T_@† @€ @€@õÖv†6®íçgõ @€ 0(÷!@€ @€ª/ C @€ÀÀŠ‹ºÞòÊ ®ïÚ>§ÑÀ9 N  @€ÀRŒ!@€ @€ª/ C @€ @ úk=C×ú´~ @€„€{ @€ @€Õ! @`Í Ø¸æ™ @€Àê X @€ P} @€ @€Õ@†{n¾(+£·³°¨¦$@€ @€Š H‡ @€¨¾€  @€½Øó±¿Ï²Ú·cÏ-ÇÝ"m <®¡<ɯ/k'*m<‘~ 0GÀ) @€ P} @€ @€Õèk†­Í~ÅEsîqEëm€sOæÔÀ“Ñs- @€¬9 @€ @€Õ! @ ww¾ÙïŠîŽ,ÐÞ}ô‰Zm<‘~ pœ€ @€ @ ú2$@€ @€ª/ÐÏ ksßü×q³Î·.4®¸¡ã‚E«µE{u @€ @€õ.  @€ @ ú2$@€ôV`ñ·üÝù†ÀžÜÑÀž0š„Ö‹€<  @€ @€ê È @€¨¾@ß2\Òæ¾Ú"o\ÞÊjËn4 @€XW’%@€ @€ª/ C @€@jKØÜ—_xç Ëòγ•|ÖVr‘k @€Àú5 @€ P} @€ @€Õèk†WœüìÍë—:‡ €K•2Ž @€ÖŸ€Œ  @€ @€ê È Ð+%ýùßt³¢ý–À²Lm+ Wææ*X‡R&@€ @€ª/ C @€ @ úý˰ÖÞØw’w¸òofxÅ2ç^`|qÃræ±p9ZÆ @€ @€Àz' @€ P} @€z#°øŸÿ}IonÒ}»»h%@€ª @€ @€@õdH€ @€T_ o.ð6¿ì%YÖ¼¾ow‰m  @€8NÀ  @€ P} @€z!°ØÛÿ®Ñb›øúóÀí™–´I°=¶£°°C•Ü)à“ @€¨¾€  @€ @€ê ô+Ãâ¢Ïü’•ÎgàJå\G€ @€Õ  @€ P} @€ú-°è[üfV¼Éo±eÛ¸˜Ž>X—’&@€ @€ª/ C @€ @ ú}ÉpÏÍ+{û_ks`~ýü5EÛ•çMÌo_Z‹ €Ks2Š @€ª+ 3 @€ @ ú2$@€ôY ï²¹oÎ-¯<÷ ÑÒ~`qg[4¯ì°pen®"@€Ê HŒ @€¨¾€  @€ @€ê ô+ÃÚo,nXÒÓÛþ®Xi @€ÀÊ\E€ @€T_@† @€ @€@õÖK†6®—'-O @€è&  @€¨¾€  @€=È/ìád'=• €'Mh¨Ž€L @€ @€ê È @€¨¾Àjdؼ~5îjàj¨»' @€ ‡€U @€ @€Õ! @ §ÅE=î$'³ð$]N€Õ  @€ P} @€ @€ÕX• ¯¼`í¿°^¯Ÿ9>>þ´;w>h1ĉ‰‰Ñ±±±F<%®¹œŸôFÄíÛ·ß'îý䈇^|ñÅ»ÙW¯×ïñ„Xïc/½ôÒ3ÊöÅÊmÛ¶ãkÿ‘Ý»wßs±±Ké[é|ƒÊw)9C€ @€5*`Ù @€ @€@õdH€¨´ÀIo¼+uÚ›øÞYÅŸFì+Û;ËÝ»wŸ^¯×:tèXžçÿñ¶èÿDœIÌ1çË9ò±±±_Š9ŒŒ|2îûöˆlÙ²åH´½å²Ë.»[·ÉvìØñCÑÿ¹èûBÄß5›ÍwŽŽ~-ÚnŽxp´Í;âšûEß›7o¾=Æ¿/ÖþÎéééÛ¢í+±ögÌ»à +œo`ùž`ùº  PA) @€ @€Õ! @€ P}>f¸ç拺Ϟ_ß½½ÿ­=ÛxèС‰Xî#º_|ñÈôôôû£óÒˆòøj»2ZÅ‹o»í¶·´Ï—TŒíËóü51¸Ü8x{ÔËãéÇŽ»¥^¯ŸZ6¤r||üµZío£~ˆtÜÓé8?>>×· p÷îÝ÷Šk>}Œ(t]ªß%Öþ'qÍeéd)±Òù•ïRr0† @€k^@ @€ @€@õdH€è©@m €=½É²&«-kôƒÇÇÇ]/ŠXðزeËs¢ó܈,Ïó·ŽŽŽžÑh4îå™ÑvSDVÅSc®MõEŒ{D̳³=îÓÍfó{b¾3Ž=º9æ9ÐnOo|E»žÕëõS£ï÷ÚçiÓß“âšÍ[·nÝíÛÛí©xSú(czzúuQ/7>7ÆoH×ÕjµGG{¹éð5;wî,7FóÂÇJæd¾ ¯\ª+ 3 @€ @ ú2$@€ @€ª/°:7¬Î}³ì¤7¶7Õýy;O·ËnE¹YïógžyæÓöíÛ×Ú8åÍÌ̤‘iC^ºnWú8QE±£Ól6/ºæškþ39ÊÓ#ÒfÃñF£ñש>11ÑŒk®úïD¤ãü]»v—*Û·oÿÎ(8"]ÿ¦¸æ·b|k­û÷ï¿1Ïó‹S_Äh¬ã™Q.z¬t¾Aå»èâu @€ @ :2!@€ @€ª/ C @€@åNz`½6âÌ<ÏÓŸï}cÔçí7ãݯÝñÚ‰‰‰f»Þ*8ðå¸þÍé¤(Š´I/UO?ÞðÞró_û¼UÄ|åf¾ÓwìØÑú“¾1wyÍôYgõû­Ç¤?'Üj™™™yjªŒŽŽ>)•)¢­œ3¶brròQùRD:ž–>‹“˜¯\{_ó]líú P]™ @€ @€Õ! @€ P}~g˜_Øï;,wþ“ÚX¯×,nøìˆÛ9’Þ´Õ®Ç÷v´¾»£ÞY-ÛGwíÚµ¥³£K=½ÑïÌÔ^Å»R97¢ý=e[­Vk½Í/ÎÏHÇM­·ø¥“2Fzƒáé<®¿ •å5YÌóþ8ïvüS»ñÜv¹X±’ù™ïbk×G€ @€jÈ‚ @€¨¾€  @€=(Ò_ºí2kóú.iZñÀz½~÷XáG¤?ûSüJªw‹™™™{•íÍfó“e½³ŒöÖŸðMm1þìT.qﻕ}yžÿGYï,=:{ŸSÞÿ¬4&ÎgûÒùœH›SN­kŠ¢h•1æ«FãX”óŽS®áó:ç4ÄØeÏ7È|ç,×)Ö…€$  @€ @€ê È @€¨¾Àªexåko``½!â”<ÏÿprròmQ_ì8µì,Šâ«e½³Œyf7ÖjµÍ}s룣£³ý1ßìuã<Øz“_»­¼뺸æp»½[ÑZ_Œ9-uƺZeÔ¿Ñõˆ1_iwœÒ.,bì²çd¾ .\ @€ª#  @€ @ ú2$@€ôV`ÏÍ ¼ý/_µÍ)Á½°ÿââ‰øÒÈÈÈÎ(=jµZQظqãl½lKeç˜8ß±àqôèÑÙ9ò<Ÿ­/xA–7_Q£‹Œm¦¾˜·5&Æ–ó¤öncË1ݺk[É|Ì÷ŒXìÖFLÕ:z9§¹²ŒÁú3Ho=MáÙ÷åÙûMÅÿR¯·ïÖwGÎ)Ö[Þòõ¿!ýø¤ßRŠ~ÌmNßÙõøH¿§ë1w9ûÍ÷ã;~O)ú1·9}g×ãw ýžR¬ÑÜý÷ü·°g7\ÿÛ•~O)<—áz.žÇÚ|é·”Âó[›ÏÏs¾ç–~O)<›á{6žÉÚ|&é÷”Âó[›ÏÏs¾ç–~O)x6}þïÿo|ù¿Ç_Ï?¦ï؃XSÜfþQ›ß´xK½^¿ŒØ‘ÕjµŸÜ·oßí©¾X4›Í¼ì?vìØÆ²ÞYƘÎöc}së7nœ¯(ŠÎëæ-Ï›/eG—²5_Ì;úbèì½Òy·ˆµ§‡Ø­k^ÛJæd¾ó¬ @€U @€ P} @€%päëïÔ­ºÝgÙc’·DŒæyþ¦ˆîÚµkKEQœ}Y”SÛå—_þé<â›­£V«ÞªÌùˆ¹Ê±Y³ÙüÖœîãN§§§gûc¾Ö='Û¶m+ÿÔnœeåýËëº^“F´úb=߈zÊ¥UF½Õå¼#Æ–9uþÙáyãRCØ,{¾æ›þÌñ¡Xg¯"¦j½šÏ<ÿ°åºþ\?Ï=…g¿þž½gÞûgž~K)ØöÞ–éú4M¿§žÿú|þž{ïŸ{ú=¥`Û{[¦ëÓ4ýžR¬ÉçÿhÝëó{;ÌÏ=ýžR ó­Íïf­|Òo)ÅZY¯uúm ûw ýžR û:­Ïoi­|Òï)ÅZY¯uúm ûw ýžRt]gßÿûÿ´ïzxÜcþqÚÝ{½çj¡üæß;ZV²ðÁq]Ú÷Ì™™™/wFžç;S_Ä£Sû‘#G¾õ,ÚoMeЍ?(•s£(Š–mqígËz·²Ñh¤0­®¸®ë|§žzê­ñÑl6Ëûß§éèzMꈸoD:ÊkÊòôÝ»w—ýRÿlDNiŸ|±].V,{¾ç»ØÚõ @€ @`­ X? @€ P} @€ú P\ÔuÒ+Ï›èÚ> Æ•llýiÜ嬯Ùl~¼õG”õ9å#ÛçÓør»¾PQDG¹™ïQQïvÌÞ§V«Ý’Eqs*#Ω×ë¢<ôçGScÇØ¦óGý¾TΉ<Æ–[÷™Ó?÷t%ó 2ß¹ëuN€ H @€‹~•IDAT¨¾€  @€ @€ê ô9Ã=·,°É/¿¾Ïw>áôËÞ¸uëÖMºEÜíÕéÿPö§ók®¹&½zñÓ©žçùžË/¿ü;R½Œ±±±s£þôˆtüUúXBüE{Ì#ãúÇ´ë­¢^¯o(Šâ%­“,»}rròC©^«Õþ,•íx^»œ-bm//O¢þÖTß°aÃìzâúW¦¶Î¿4Îï‘òîœ?5Í‹“˜o ùÎ[° @€TI@. @€ @€@õdH€˜@qÃÀnµÀ–½pbb¢1Ý-â͈ÖQö·NîüØ{g‘räÈ‘ëêõzëO Gù¸<ÏßÜîKÅÕ飌èÿ\ıÛ¶m;­lk¦:êoŒþ'Æ=kÛ·o?'Ú_qˆt\EDú³Åïˆòöˆt¼8®yVšó²Ë.»[Ôµ(Šg¦Žˆ6Ö›úöîÝ›þÜðßF[:~`llì7wïÞ}Ï‹/¾xc\sq\óÚÔ1kzc”­#ÖqŸèo­;Ê´ãc¥óÅÜÉ7–è @€Àº( @€ P} @€ @€Õ@†W à+ºÅ²7®è.qÑáÇÓÛ?Õt<1>>T¯×EùŒHÇŸ7¿L•Ž85ê£)Î8ãŒ<ÊÖ199ù/yžïkdÙÙQþÕ¡C‡ŽŒŒŒ|<ê?‘ŽÏÇÇó#ZGÌý͸æY­“,KsܼyóíÇŽûb´u¾Ý¯ÜÍ1ptôÙQ™ŽHoù{îôôôm[¶lùFœ¿)┈´¹ð—öïߟî—N³7¦öt³Sçè æd¾i‚ @€ @€ P} @€z+°àŸÿÛ\yÞ8útÔtŸìºë®›ùÖ·¾õð¸_#¢<Òæ¸TŸ.ŠâŠÃ‡?#̉™ò|zzzö ƒ©mrrò¢¼<⎈t”ó¥úŸÌÌÌ\6ý¥“2âš7×jµ'Äù­s›bŠknêìØ·oßgb®s¢ï=íå½ÒbjjªÜŒØ1¤{u¥óÅÚ’o÷Uk%@€@ÕäC€ @€T_@† @€ @€@õúa~áwxÉímîéÀF£ñ«ùääävËâõ¯ý7¢|ëÖ­#ÑNÚˆ7::zïhÛ055õëi“`´wDß]£áõŸú7£ì<Šh{mÄæhÜZÅEQ^pøðáÑhûÉ|9Îçû÷ï¿>úïµiÓ¦»äyþ˜ˆGÆ Ó¢í!±ŽG}Þs}*úלã¿aÆ»Ç5)þ4Î;®¾úê[¢/½±ð¶è¸1â¸c¹óµ/X¾íû) @€ P™ @€ @€Õ! @ ç­=i]fm^ߥqàM=ݸÔÕOLL4Æ¿§xémx‹]W¯×ýÛŠ¢xG” 1ßmSSS7DùÑn »]xÕUW}mrrò½ÿ×ÍÝ\Øí’,®9ã?ãß½wïÞôö¿®ãRãØØØž(ÏŒ˜ûg£éÎc9óÝyÅŸqÿä{çÝ| @ z2"@€ @€ª/ C @€ @ ú}ÍpÏ- Îå×/Ø7ÀŽUÙ¸ÌüÞãïˆxYÄš9vîÜyß<Ï_ ¾)bÞ£ÍA€ @€ƒp' @€ @ ú2$@€ôX`¸ÿüoJvè7EQŸžž¾ÇÔÔÔÇÒ‚×J4›ÍÏçyþÓ[·n}X£ÑXÒÛ×JnÖI€µ/  @€ @ ú2$@€ @€ª/Ðï ‹‹ºÞáÊó~3`× ú×8ô§¦¦Þtíµ×~½ý™9mú›œœ|ãÄÄD³?w0+ @€,YÀ@ @€ @ ú2$@€ôR`ÏÍÝ7ÿõò=˜kè7ö GS @€ãœ @€ @€Õ! @€ P}þfX[``~}ﻼÙkËn4 @€XsL€ @€T_@† @€ 7 èFKº €Kb2ˆª#  @€ @ ú2$@€ @€ª/Ðï ó û}‡^Ìo`/ÍA€ @€Ã+`e @€ @€@õdH€˜@ÓŸ˜µ @€9N  @€ @€ê È @€¨¾€ ïðÀ;| @€ @€@5dE€ @€T_@† @€>uôÊ ¼°+ŒF Ðw7 @€ @€ª/ C @€ @ ú2,¼°”P @€ @€@õdD€ @€T_@† @€u,`à:~øR'@€Àz/ @€ P} @€ @€Õè{†{n¾¨û=òë»·¯^« €«gïÎ @€ Ð_³ @€ @€Õ! @`] ظ®¿ä  °žäJ€ @€T_@† @€ @€@õ‘am7âÞË»GmyÃ&@€ @€kDÀ2  @€ @€ê È 0Pâ†Þn 7³p H† @€ÀÚ @€ P} @€ @€Õáñ6ïጠ@€ª!  @€ @ ú2$@€¬{×ýWÖƒ€  @€ @€ê È @€¨¾À 2Ì/ì~§æõÝÛW¯ÕÀÕ³wg @€è—€y  @€ @€ê È @ ³З€*/ A @€ @ ú2$@€ @€ª/ Ãù6Î7ÑB€ @€k[Àê  @€ @€ê È @ l TY@n @€ @€@õdH€ @€T_`u½Û•\ßµ}m\E|·&@€ @€>˜’ @€¨¾€  @€Z6¶| @€@UäE€ @€T_@† @€ @€@õdØ]ÀÀî.Z  @€ @`m X5 @€ P} @€´llC( @ Šr"@€ @€ª/ C @€ @ ú2\HÀÀ…d´ @€ @€ÀÚ°b @€ @ ú2$@€ôS`ÏÍuŸ>¿¾{ûê¶Ú¸ºþîN€}05 @€ P} @€ @€ÕáÂ6.l£‡ @€Ö–€Õ @€ @€Õ! @€@‡€ €ª P%¹ @€ @€Õ! @€ P}.&`àb:ú @€ @`íX) @€ P} @€ú.P»¨û-Šº·¯nkmuoïî @ ?f%@€ @€ª/ C @€ @ ú2\\ÀÀÅ}ô @€ @€ÀÚ°J @€ @ ú2$@€˜#`à§ P9 @€ @€Õ! @€ P}žHÀÀ é'@€ @€á°B @€ @ ú2$@€˜'`à<  °Ö¬Ÿ @€¨¾€  @€ @€ê ÈðÄ6žØÈ @€n«#@€ @€ª/ C @€.6vAÑD€kYÀÚ  @€ @€ê È @€¨¾À3ÜsóEß¾[~á·ëÃ_³pøŸ‘ @€ @€Àbú @€ @€ê È Ðk=·Ld{n)Z‘Õþ>ʉÅoѼ~ñþÕéµpuÜÝ•ú$`Z @€ @ ú2$@€ @€ª/0€ ¯˜s+N¼ pÎCpjà<K @€ @€ ¸ @€¨¾€  @€½Hoÿë>ãYVtü9à©ÕÀazÖB€')àr @€ @ ú2$@€ @€ª/Ð÷ ¯èûtí6 @€ ÐS @€ @€Õ! @ — ¿ý¯—wØ\6ŒÚ @ ßæ'@€ @€ª/ C @€ @ ú}ΰ2oÿKN6&A€ @€kQÀš  @€ @€uýt¥IDATê È Ð;“yûß•\ß»…ôn&{gi&XU7'@€ @€ª/ C @€ @ ú2\Ž€ €ËÑ2– @€†GÀJ @€ @€ê È Ð[JýùßDc`R °æ$@€ @€T_@† @€ @€@õú–áž›/êÛÜ«8± €«ˆïÖ @€ °b @€ @€Õ! @ ‡5{¨i* ÐCS @€ @€Õ! @€ P}~f˜_ØÏÙWkîÚjÝØ}  @€ @€ÀŠ\H€ @€T_@† @€ž 'ñÀüúž.¥‡“ÙØCLS @€Àê¸+ @€ P} @€ @€Õè[†{n^dóßðnî[Ї €KQ2† @€†IÀZ @€ @€ê È ÐCÚB_ÒÛ¬ÊTµU¹«› @€ž ˜ˆ @€¨¾€  @€ @€ê ô3ÃüÂ~ξšsŸôÀz½~÷ñññŽòq;vìøî%$“ǘÅ"º—lß¾ý>±Ž'G<ôâ‹/Þ¸”ê±öˆ'ìܹó±—^zéK¹fÛ¶m§ÅøGýÈîݻ﹔k³Òù•ïbk×G€ @€UpS @€ @ ú2$@€ôT Xà €Í볬¸¡§·ðd+Þ866va½^ÿ\¬÷ EQüM”ÿP«Õþ+Ún‰¾‰óyGôýaDs±Ø¾}û9ó.\¸!{ýRÌwldd䓱޷G|`Ë–-G¢í-—]vÙݺ]ºcÇŽŠþÖÚ£ÿïšÍæ»GGG¿m7G<8ÚæqÍý¢ïÆÍ›7ßãß—çù;§§§o‹¶¯Œ?cÞ'hXá|Ë÷Ë×M€¡° @€ @ ú2$@€ @€ª/з ÷ܼÀ濸ã•\ŸK8†w“àŠ6Ž?#Ïó”ü=ÚÙßÑ.Sqnô½³^¯?.̉GÌ9Ÿw:22²y^ã cccûâ^¯‰îшtÜž>ÚñôcÇŽÝë8µ}Þ*ÒÚkµÚ߯IçÚ§ã<çÇLJâšã6îÞ½û^qÍÇ¢ï‘åQæ|—¢(þ$®¹¬ì8Q¹Òù•ï‰Ö¯Ÿ @€«(àÖ @€ @€@õdH€è¡@m €­ýoqŸôÀ(ÖèQ[îº/¿üòMEQ4Ú×})êß×h46=ztKžç;Úí©øýôÑyÔ¿'"‹q?¶aÆ»w‹Ã‡$9QŒ?"æÙÙ÷éf³ù=±Ž3b›cMÚíé €¯h׳z½~jôý^û³› ›ÍæE×\sͦ‹bwÄšR߇ÓyÄ¥ióaZï“£~zD×7¿Nõ‰‰‰f\smÔ'"çïÚµë¼T‰ug”?‘®S\ó[1>mÌöïßcžç§¾ˆÑXÇ3£\ôXé|±Þ”Skî¸OßòmÝÀ @€†UÀº @€ @€ê È ÐSüžN7d“-{`­Vûþv·ONN¾«]Ÿ-ò<ÿDyòÍo~óže=®{x»þ¥}ûö•oÍk7­¨øñöUï-7ÿµÏ[E¬£ÜÌwúŽ;ZÒ·(Šòšé³Î:kî ÓuéÏ §2›™™yjªŒŽŽ>)•)¢­œ3¶" Þ•/E¤ãiéc±8‰ùʵ÷5ßÅÖ®Ã&`= @€ @€@õdH€ @€T_ ¿uÿÊó&ZíW^p}«\ô£¹„1‹NзÎeo,Šâ_‹¢xi¬hOļ#ÏórÜç8ð©r@´—ß¿}ûöûŒÿüØØØ‹#~nÇŽ”ã–X¦7ú™ÆÆZæmBl·¿'•)jµÚy©Œ8?"7MLL´Þâ—NÊh4ŸŽúé åšÊk²˜çý©¯KüS»íÜv¹X±’ù™ïbk×G€ @€Õpo @€ @ ú2$@€ôN`ÏÍÝ7ÿõî«>Ó²76¿žššzQ£Ñ˜,W?11QÛ¾}û9õzýÚ¢(ZoÎËóü·ËþvYn|ÌÈÈÈ'cÜëcÌK"þ V«}$®}[DkS_{ü‚EŒký â4 ®ÿTΣG~²l‹1÷j×ÏJeœÏö¥ó9‘6¦?÷Ûº&ÖÙ*cÌW#çcQÎ;bL¹†{ÌëœÓc—=ß ó³\§bK#@€ @€ª/ C @€ @ úý̰¶ÀÀüú~Þus×Nöfõz}Ç¡C‡fFFF>s=;"ÏŸœœ|eªtÄÃÚõÓÛå¿Fù¾ˆòM|O‰ú1߆(=FGG7—Š¢øJYï,<Øz“_»íÔvÙº.®9Ü>ïV|55ƘÓR™çy«Œú×#º1æ+íŽSÚå‚EŒ]ö|ƒÌwÁ…ë @€ @€Àj ¸? @€ P} @€"PÜpümN°!pI&øøuvÒËrsüŠñññç–mÛ¶mK›ÞÊ·ö½wÓ¦Mwi4øoGý®÷—é8;>^±è×å€<Ïgëe[—ò¸M…±æÑ.cʦfªÄ¼­11¶œ$µw‹[ŽéÖ}\ÛJæd¾Ç-Ö †XÀÒ @€ @€ê È @€¨¾€ ONà¤7NMMýn£ÑÈc§åyþô(?‘Eñ›;vìøo©~ÿûßÿ[QžS«Õ~øðáÇ_uÕU_‹óÖqðàÁ¯lÚ´éÄIëº(&bÑcãÆy9 î³±¬/Rëì‹uÎ^ßÙÞ®·æ‹y[o&<ÁØÖ%ÍfsS«²„•Ì7À|ψ¶ö0bªÖÑË9Í•e ÖŸAÚ@³_ÏÞ3ïÏ3ÿîøRðí/×õåš~K)<÷õõÜWëy¯‡û¦ßSŠõ«ýïÆ ¾é÷”b÷rßéõðH¿§ë!W9úMâ;~O)q/÷ð®úw ý–RT=Ïõ’Ÿ7þÿ†:ŽŸã´ïü‹…f§Ý½×{ªŽ¿÷Ò¿[]—¸ì €1ËÏäy~y³Ù¼$ê]èo½0:[ó?·^¯1âߢm¡ãüvÇôþýû¿Ð®/TÑQnæ{TÔ»(kµÚ-©^ÅÍ©üÿÙû(¹®úÀ÷ßûtµdÙVl‡`I¼‚ÇF v$Á¥jòœIî„$( ÿŒÇ€Ô-Y+7¦Wh9U_9ÉŒ ùÿºÛöØanþ $¹Âº•á1a‘‰ Ãr^@$<6~Hݵÿ¿ß©sªOU}êTuUuÕéo­³ëì³_gïÏ©j±â_vIºJæ2)ç¦CÊ^,%I&Ñö‹z­éüùóß§ç–d¥mÞ§¥¾õ²—ñ†¹ÞÖùr € € €ÀX 0i@@@(¾+D@À/¤np'íç$uqÔ–»h<ô¦A·w´Ö~!êóËoxÃ.òÓ¡C‡vÉÅ«$éoørñlI/žžÞ+ç¦CÇ‘qßjž¼E—ÞSuù óúd«™™™Iç\ü ž˜ŸŸÿœÖAðgzŽÒoEçÆIæp{|!ùi~rrò/ô¬Iúÿ¾ž“éàÁƒo’ëË$é“_‹ÚÒ:ÆÊzÛ&L €Å` € € € P|Vˆ € € €@oÇö,c%™öWX×^<*%]ÖjµùhòmÙ²åã333Ï®Í~Dê?%×á.zrþO’t7=Å w´Ö~HúüŒ–k’ü‹e­¿H¯s·è9NRÿ5I4Ýpà —Äå2Îb"ÿ^©ÿÉjµìß¿ÿ*)¤çHÒã^y  eìcžk=~[úܨcÞ|óÍÏ–üoJý/i…¤/.,,„;õÝyç_—ëƒí#IDATIÒã•ÓÓÓ¿wøðáçîÛ·o‹ôÙ'}Þ¥’VdNï•sxÈ<^ õá¼å|2,”·^Ç“±‡²^™" € € €`  € € € P|Vˆ €@–€mÛ¨®ÞÚ·£ßê\½¾é=­¬©ÁF_t¸¸¸ø!kíû¢‰ëOâ~yffæqIOA ;þ…ιw.,,|TÛÉù1éózÍKºT’jpÜ7%ÿ÷’®•¤‚Çeü¿Ô|"],y (,mß¾ÝJ><æçç?+cÞ^³[ÎñðÃ?311ñw’ÿeIz<*oo“2'¥Ïá…1:æ}Û¶m{âÂ… IYrw¿8PŠ¥a©ôFÉÄŒo]YYydÇŽß‘2uˆýøñãz?)6fË–-Z®÷ÐÔ\ÔÊRã s½:G €…`1 € € € P|Vˆ € € €@“€Kÿ `ߎ~õò9îh—©M™c×T͈¿‚^æ7??ÿ+ιé獵A}ð&Eæ+ÖÚ}‹‹‹oÑ‹8IŸ÷K¹FUÆ?!¬qáOçJ›3R÷Zés“ä[Õ¸`ee¥çõ,cþšœß,éiIzè˜zÖôÕÕÕ=ô§q’> ‚`J®ÏHj=>/ëz™ôù|²â®»îúgë*©ûd¢<¾—îøó2÷81Ñ$=Ûëx2÷¡¬7}Ö”"€ € € 0>Ì@@@Š/À @ð ÌžJþóvˆ*4àïØÕS&L{–£Ò‘>õ(+r‹òZXXØ>99yE¯¶Ö¾bee廤ìóóóï—6m‡”ÿ•Ô¿LÛIŸÖtþüùmRö<©û³¶R u—Ëé=’•ü“rNNÊÞ%i›ît.ŒÚÜsîܹ’”½îž{îù†”·Ç_–úçmݺõ2™÷õ’^!.‘²ï•e}Aòm‡Œõe©{µô¹HÚ_' ~T×.}®ô§rÝt¼ûÝï>-åV ‘ôIMG·ãE‡¶Þè~œ@(‚k@@@@â °B@@@/p.ѨÙ`½«¸óÎ;¿~üøñOÎÏÏöÞ{ï}<ÏxÚNú|FÓ}÷ÝïÞ—ÚuffæÕRqƒsî#rö ,..žóxàÆ®Íš¯î¸ãŽo˼?-é³Ò¯5¸°¹qt%}ž‘öJûOèÚ£âÔÓôôô¬T\)éÃ’RnÆK ÷Êz“÷$ € € €Àx0K@@@(¾+D@Xw 2àô!_ƒÊylŽC‡½ÐZûdÂúsÂm;J9 € C€{ € € € €@ñX! € € €Í•æËøª6?ëÏ6Ïyäs3+++ÏY\\|(Ï‚²Ú ³®V«=j­ý•;w^·°°kwÁaÎ{!€ € € PTÖ… € € €Å`… €ô$pl€=Á­£Óâââûî½÷ÞÇ×1ĆtÕ ¿ùùù÷V«ÕÚ†L€›"€ €€ @@@@ ø¬@@@5ÙÓÕµ‹dÎ.'¯Š’ùûÍH € € € P|Vˆ € € €Å`… €ô"àNôÒkÔû8êOˆù!€ €@ïôD@@@â °B@@@šìަ˂_lšÀ‚?G–‡ € € €Æ@@@@ ø¬@lWN­?vM5µ|Ì óÈô@@À+@ € € €_€"€ € € °&0{*=øo­Eár›$°pÏ!€ € € €@› € € € P|Vˆ €@–@à œËê5ÎuÁ8Ož¹#€ €^*@@@@ ø¬@@@&»·ér\lŠÀMðY" € € €›^@@@(¾+D@ [Àyv¬-g÷ßZÇ÷Ù1s@ð Pƒ € € €Å`… € € €¬ ÌžòÿI“c{†1=˜6 € € €_€"€ € € €@ñX! €Y'Ð6øO5}#!€ €…`1 € € € P|Vˆ € € €@.w"W³1mTøÀ1}.L@@@º ) € € €_€"€ ÐA ’^_cÀtJ@@‘`R € € € P|Vˆ € € €ÀšÀì)ÏÏÿJ“c{†1=˜6 € € €_€"€ € € €@ñX! €Y'Ð:øOE}#!€ €…`! € € € P|Vˆ € € €@“€ÝÛtÙ¸p'Ù‚f XÐgƲ@@@@ !@@@@Š/À @Èpžkì˜ G- € 0RL@@@Š/À @@@X˜=]]»hÉÛC` É]2U@@@(¾+D@@@â °B@z˜ë©×˜u Æl¾L@ð Pƒ € € €Å`… € € €4 Tš/7×Ua7×cdµ € € €lNV € € €Å`… €xfOW½uÇ®ñ×y;_€ã÷̘1 €¤ PŠ € € €Å`… € € €äØ?ÿ« Ô¥‘@@@@ Ø¬@@@Š/À @ȨdÖn‚J7ÁCf‰ €l ‰ € € €Å`… € € €ã+0{ªlô'{5õc:žoœMòó¿ºüBêÂH € € € PlV‡ € € €Å`… €Ѐ¿ÙÓΘ`IV£;öUŒ^gðIÃÎGPNoc—ÓË‹YsY¬ @6™ËE@@@â °B@@@q˜}(úK™y°dÖ˜2¬q'ÒJ‹ZVÀÀ¢>*Ö… € € €kä@@@@ ø¬@`¬tç?ã<»ôÅ+›Ðã‹.Ïvo— ÙœÀB>V… €À&`¹ € € € P|Vˆ € € 0n9‚û:f-ÙÓ÷Ø5Õ¬^E«+\`ÑëA@@@vJ@@@@ ø¬@`ŒÂÝÿrο›¶ñ³§:ì,7,þ™Àâ?cVˆ €@ÑX € € €_€"€ € €V Ÿ?åk— ËäYXÁ=«¤@@@ $ÀR@@@@ ø¬@`¼º êseÓõŽ~g@wb˜nî¶Ýewû®%wt—«§ÝÕaÞ_ïè @[&Ž € € €Å`… € € €c&à<z¾eLT|5£ZîŽî®šÀ-gku 4C|*pˆnÜ @@@6H€Û"€ € € €@ñX! €@QjSýYY7; öçŽí£¸ô Å Oyû})!°/Œ ‚ €$Àm@@@@ ø¬@@@ (Çö,§/Åuù3ÀÒ>u šgüÔÆ=†»ÿùz;Sæ.€ ô‰RŽ € € €Å`% € € € P|Vˆ 0Ö³§Êéó·Qp^|Noµ®Ro€áºFí¾s` ¨ƒšÌ^•!@@`HÜ@@@Š/À @@@ÆL h¿u7ñ‰J®öÞÃ\½ûÔ¨ÃÏüZ·Woänßµd·dŒ«Iƒ ôFEH¬@@@Š/À @@@@ ø¬@ ¨îD}e«sõs¿ß¸³`S ƒýœi †tÝÐôñE`1 @†*ÀÍ@@@@ ø¬@@@ hÞŸéu-Ár¾…žvq€¡¯_ÊÃÀ¾NC…ºë_Jà OyJÓÛc€ï'…Ûn¼¾‚¶ùz.-˜Ïø‚ÿâÛ¤ì@8æ€ñÊ8#€ € € €@qX € € €_€"€Œ™@¥}¾¶¤$=`/^œ‹s½žë»ÿyz[³ljvÊ9S5-/[@¸D@`z € € € P|Vˆ € € 0ºáî¾éM¤úÚŽYyÊî{õØ9S3ž Mþ—÷ç…íœ}ûÙ){ë™Ô{Œu`~Z"€ € € €À¸ 0o@@@(¾+DAÙSe3ûÐ’™=í¢ï>—äçÊé+q'ÒË»,ݺý•é=j©Áqém{-uÞuû‚ó2ï”( wÿsÆcg2_fòP‰ €#&Àt@@@@ ø¬@@@`£Â]þô'}›ú*a@àFέ´Õ8ØI…zž[4~–W¦×Óf=Åñ=ƒŒq gE#€ € € €@X  € € €_€"€Œ”€îügŒg·»¦€ÀÑ™ö±=CØ0m¹v..µo?;ez ´no&ùäÜWäZ—ÈÛç¤OSàáÇŸ'}’ºWHŠxÍ—ÉÜ? }nŽ+:{oXëí4ê@ØnŠ € € €Å`… € € €'þüïÆÝ¾ã/Áõém܉ôò~”ú‚ólîÝÿ¬ïg€)›ŒWÞîßüæ7ouÎ-D÷þºä¿oaaaÛùóçwXkDåzú#}‹ÓŽ;Þ"ù«%i÷¡R©´]ú].ç+¥ì󒌌õ³üךÏJZ'í~PÆ9¤yI_©Õjß#ãm—yl“qî‘2=tÀßÕŒ¦™™™‹¥î~ÍKÒ ¿Ÿ’>ÛvîÜ©kÚ/eññ¾8£ç•••ÿ(ç8Èð­Ò~RûAðÃRþá¡C‡â B)ö½Œ7ÌõúgN  € € €ÃàN € € € P|Vˆ 0Jv¯g6즩µ:­¬µM!¯óçuZ¼w‡Ak–MÎW×€O?ýôÊØX§|¿°¸¸xR®Í}÷Ý÷Íùùù{œs¿¯×’^¤Á‚rŽ8XïÑ+¯¼òçîºë®0pNÎ_]]]ÕhF ÈÓ¶7é[§$÷iÖjµòÝwßýOÚGæñ´ÌIë¾ ×’tÇA+gïOËùRIlxpaaᣚ¯V«5és¯äÿ@’/¹é¦›®ÑÌþýûŸ%瓤ýß'}þ½´çzüøñÏXk÷i¤’Ìã—äœyô:Þ°Ö›9y*@Ø8îŒ € € €Å`… € € €*à4†+eµes욪$kLm*LÇ®±r]Miœ^tlÏrzÅè–ö#8¯ãê¬Kºt6÷®†]AðÑÄž˜ŸŸÿ«(ß8Ykÿ>¾xòÉ'Ÿ«ùhg¼i^Ò»ªÕjMÎãž{îù†ôû 8ç4HO³žÔ(þ7QîÓqð_tžd¼8˜ïÒ¼\ eì¸ÏÊ®]»šv(ÔzI()²žð,m¾%k¾ ç¶CÚÄsxN[eK´íz¼a®·eº\"€ € € °!Ü@@@Š/À @FD ¸séAwƒ ®‘¥÷4.vçëi|cçºé×u`ëà333~øáÕ‰‰‰¿“º7JÒãmóó󿯙(]ug½oÅùäÙZûÍø:‚mq>í\*•õιF¿dÛûî»/ÜÉ/*‹ïö“>ç¢ò´S8?is‰Vʼ³ä—”zH›oFEgïIÚv=Þ0×ë8 €lœwF@@@â °B@@@ <Á2¡Íüs¿Î¤ºt³;Ÿ‰_Ýülp—†A|^Ïq \Kÿß=xðà[ã² \œß²eK#—é9ÙF®'%¥õ¢óçÏ7ưÖ6òõÚÔ÷¦ñdÎ¥ÔVõšždܰ´ÇŸÐò´$mã6iÕMe½Œ7Ìõ6M– @@@6D€›"€ € € €@ñX! €À T- ÚÇYy:=æêìߦÇH”¶¾RÆi?ŽíyH ÛÇ7½ÇØ|rú9¿(cúŽ®ïõ©/ÿ¼o°dùWŸ¨½S®}ãKUû±îÀxÈ………'çççÿL®¯—ÏAð ’×ãI}Ó$e—ê¹5Yk¿+.«ÕjOÅùä9ί¬¬4êe¼íqyò|à 7\’¸Žï÷Kíµëd>ßÑkç\x–|X.ç¶CÚÆkzº­²¥ —ñ†¹Þ–ér‰ € € €Àи! € € €_€"€ŒˆÀ%WÜ’:“ï<¦h©U›¹ð©è"£ÖIDAT§ÁŒ#øÇÇV?Õíà]ÎÌÌžžþÿ:t¨œv³………pÎýuT÷sz¶ÖžÑ³&É¿LÏ­Iú¼4.[]]=çÓÎr¯ÇåÒ/u¼‹/¾xOܦV«Å÷$*KíÕ½0:Ç}â󥇎ý¢&õ“¬é{ë9óXtÎ:u=Þ×û¸Lüá>&*<ú9&cƒÁæ3пyšxö›ïÙóÌ„Á×ä_'Mƒ›1ùžn¶Ï€~—4m¶u³^¾ëƒú è÷IÓ Æg\>»›í3 ß'M›mݬ—ïú >ú}Ò4¨ñwsv7ãó×͸vÖÌ÷½ßŸý.iê÷¸ŒÇgu³~ôû¤i³®ŸuóÝï÷g@¿Ošú=.ãñYíÏg`öôŒü·Óôãݯz‹Tt¾Ï%ÏúÏÒ.û(]ôŒ4h«^.U-Ç®ïóÅH´4l\¶mÖ_sý ·¼¼1z"³­|T.»¾ß«ý€ôëxDí|ã§öï:PFy½µö͵Zí ’O=¤>ÜP*Ãñ¥íßI><$ÿƒa¦ýíQÑÊ=÷Üó(Ÿ85e\ÅÁ|?$ù´£qŸ NkçÜ)=KºjfffRÎM‡”½X J’L¢íõZÓùóç¿OÏ-ÉJÛ80¼OK}ëe/ã s½­óå@@@! p+@@@(¾+D »×39O9Åë°fÙd¾lOîa€^æ¸-•ÖÚ/DE¿ü†7¼áò(ß8:th—\¼J’á–‡wß}·F3E ¤ÿì›ßüæïÒ|œ¦§§¯–ük%éñú–#ÅÑ£¯þ×'ÛÏÌÌL:çb'æçç?§õAü™ž£ô[ѹq’¹Ý_HþCšŸœœlÌGúÿ¾–%ÓÁƒß$×—I2Ò'9¾µ¥uŒ7”õ¶M˜@6R€{#€ € € €@ñX! € € €ÀðfOWq©¿;üÉl’;:{"k¥öÈy&Y-Ò뺬ÕjóÑPmÙ²åã333Ï®Í~DêõwˆÃ]ô¤ü?IŠ;£ÌEÏ<óÌÒ/Ü&Qί¶Ö~0ªÓÓ»õ-NRÿ5I4Ýpà —ÄåÒg1‘¯ÔÿdµZ öïß•”¿GÒs$éq¯¼9Iº«ßGäü„$=~[úܨcÞ|óÍÏ–üo:ç~I+$}qaa!Ü©ïÎ;ïÔ-%?&ez¼rzzú÷>üÜ}ûöm‘>û¤Ï»´BÒŠÌé½r™Ç ¤þB”N†…òÖëx2öPÖ+Sä@@@@`ø1 € € €_€"€Œ¸À±kz Dó¯Êyß|åA{`âì©ö²ð†v9<õûͺôÝk¦÷ûeöµs¦ÇWÐm¿ÅÅÅYkßõÓŸÄýòÌÌÌã’ž ‚@wü sï\XXøhÔΜ;wî’H’?)oŸ“>äüß$½T’ÿ·ôù°fébÉk@aiûöíVòá1??ÿY™Ç]á…1»åü?üð3'ù_–¤Ç£òö6Iá!c?)}n /ŒÑ1ïÛ¶mÛ.\xLÊ’»ûÅ€R, K¥7JfE’îò÷Ö•••GvìØñ¹V‡‹ä¬Á…¿~üøq½Ÿ^š-[¶h¹ÞCS#pQ+K=Œ7ÌõêI €Œ€S@@@@â °B@@@¨xnÛ] Ú±=½Äy&PÔb{ë±²©¾½îþ§V¾u›æççÅ97#ýâÝô.•¼¼ÉÉ|ÅZ»oqqñ-z§x`õ©§žú~¹^§ù¯rîܹ_Ћ–´jL½dee¥VÏÕße¿&¹7KzZ’ñxšÿÀêêê úÓ‹8IŸA0%×g$µŸ—y¼Lú|>Yq×]wý³Œu•Ô}2QßKwüyYoŒ˜h’žíu<™ûPÖ›>kJ@@@´ã#€ € € €@ñX! €À† Ìžöïð×÷Ýÿ6|µ½MÀ™ÔëA|¦çWègͲizÙÔ À¦&=ÊxnQ^ Û'''¯‚àÕÖÚW¬¬¬|—”½`~~þýÒ¦íxÏ{Þó©?¸sçÎ ©¼JúM•J¥çKÙ¤ ÷;$(åM‡Ô].ú“¾JþIÉ''eï’´M w:ç~ϹsçJRöº{î¹çRÞv?~|YꟷuëÖËdÞ×Kz…4ºDʾWæñÉ·2Ö—¥îÕÒç"i4øQ]»ô¹BÒŸÊuÓñîw¿û´”뎅HÅg$5ÝŽuÚz£ûqB@`ã¸3 € € €_€"€ € €l„@vÿÛˆ™àžöíg§LÍ6R¸ŽuõظåwÞùõãÇr~~þ³÷Þ{ï㊌LµZ­-,,üƒô[ÖÝð2šš™™™WKý ιÈÙ{Èx,..žóÓ Ó:ÞqÇß–yZÒg¥_kpaZ#}ž‘öJûOèÚSE…ÓÓÓ³’½RÒ‡%¥ÝŒ—@î?”õ&ïI@@@A 06 € € €_€"€l°@ÖÜÛìlýz»[zéN‚qZïzÖ¸Þ äèÿ!i£?ñ{TÎcs:tè…ÖÚÿ ÖŸnÛ!PÊ9@@À/@  € € €_€"€ € €ŒŒ€]6Çö (¯×ÀÂÁq·íÖ_¡Ý˜›÷pבtÎͬ¬¬µ&Q8gúœ·ªÁ„š·¨M%.ÈH`„´b†E@@@`* € € € P|Vˆ г@üçÝͯbê»ý­ ¶ƒ×ÊšráN}}þ“Û³\(Ô ?IÇ®±Fˤj”wÛîr˜Žî®6æiÝÞF>™©™ô]ÍÆ¾ÜXîŽ €Iò € € € P|Vˆ € € O æóÿEc´íö—±ûŸæ]=UÔ‹º÷û¤Ašú=îÆsô¸%£É¸Š;ºËi0àn5Ð!G6p «fp@@@ & € € €Å`… €= dóÅcºrcÀzÀ`\Ñzž‡ùZ'=¨ë0øÏ¸v߉”²AM¢OãØ'H†A@u 0 € € €_€"€ € €äÈæka¢bêíÛÚê-çºë_ý~·é?Ëkj]ÿ,¯7øOWàLÙh2ãóÑÀñd¦ € € € Ыý@@@@ ø¬@ G_0_Êp®,…]´—Ö›úèm—?{ë™®ƒ ‡ÁLà0”¹ €t  € € €_€"€ € €t¨ïæ×¹]¾£»ûß±=ž€º0 1ßêºlUßý¯ËN#Þ|$GÜŒé!€ € € €@@@@Š/À @ú*0'£i’SÎãØ5Õœ-7I³ÞvÿeGùé07@6+E@@@â °B@@@\v¯·YÐg=;çµöªMµ–læë"îþ§ÏsuZ$@@@(¶«C@@@â °B@Þ\9µ_ü'5Ç®ž2&+PëjSæØžœ‚f“¼Ö±ûŸ5#kI á… €.À@@@@ ø¬@@@ ³ÀìiÏOöjP_¢{hæLS  ¶ÑÀ¿« þ3ͯ¢îþ§«¹@ @@@Š-Àê@@@@ ø¬@ ŸîDÛhº# »ÆCà_›O®;gòìîçl»®ñ߈ÀÁs@È @@@Š/À @@@r ؽ¹šµ6*üÏýú~9ïϯãç[­GìzÄGL‡é €?Ë‘IDAT € € €À@@@Š/À @zðº]Sím&… €À&`‰ € € € P|Vˆ € €l€—éî¾ÛÏ=µÑ?,“üÉßd¾iÖsMWcvQÂÓ ¿”‰n©\:YN©p‘M7]M+O+ðôº~$»œ3Í@@@@` ˜2 € € €_€"€##˜ÔÝÿâùé.€q~èçÙÓ#½£\¿<2ƒÿº¹‰î–˜ÚÞ¦îØ·ÖÔx¸Ö )îX³SÆØ9£»J~Ôwÿ3ò"P8@@`èÜ@@@Š/À @@@ °ç>ÖñÞï?_îØf@ *¹Ç=vÍX êŒÆt€—Û$GÃzðazì > Ôzûö³SšOa´JG p´@˜  € € € B€1@@@@ ø¬/+ì7‡ØÝîsã%š˜m`†okò¼ìøšz–G †b@ C#€ € € €@ñX! € € °±•N·?±rm§&Ô÷*`ÝÞ^»ö§ŸëøüûsŸeÃ7ž€ € € € €À @@@Š/À @‘ȹËÞò…ë6bÊyÓæÌ±kª1Á¾ÜÓ™ ÛÐÝíu³GÎxë̘¾ÓÇ´@c¦Ž € € €Å`… € € €ÀX¸Ûv/P-;01úiZ»,pcü§vl'™wxèu˜Ù°7ßîÅûù_%Þà@ @@@Š-Àê@@@@ ø¬%»7Ïl–W®ÍÓlmêÇ®±æØÕSf vþ ƒü·dŒ«˜(¹ÛwÉu—3Öh€£Ô+œ—oðšè½Í½Ü xn‹ €À¦`á € € € P|Vˆ € €l¨€Þ®~]­Ó˜XÃÀ4 ükY¼3åz^J6FžužàO;go=3†Î —640{jÔ"€ € € €@X € € €_€"€##0{º:2si›ˆ'0ñØž± L«ùµ-®^à À3& À[µsf@/wÛî²qfDƒ?ÍÀ^Œ–@@ E€"@@@(¾+D@@ÆF`î™7œ€±ÙSùÏFËûð¢Ÿþ ƒ5ÇÀxí‘3#jÖõÚÀÀu͛Π€ € € 0L@@@Š/À @Q°{Gi6ks <Áiv¬vÿ«¯ÇUêç.Þ=ÑEë›úæe¶ë`ík· ¯£1 € %@ € € €_€"€ € €*àù™Ý SÖÍÝã²î¿uÑn€ùïx‚'×ì²~–¸È»ÿ©a o‘¸' € € €_€"€ € € €@ñX! 0åÒƒ©Ó¬>}cjyÿ GugÂîVšh×ÝHõÖåÉ“õLÛ{à úkklÎÝÿtñ¾‘@@!p @@@(¾+D@@6N`ö”7hÌh¶oòÄ~2Ø·3am ¸‡G\3kë\íïOòf%&ïkŠùÚ Àbb²*@@@H G@@@â °B@`”‚Ô@ßî#1óc{ÖãFbB&a]O“öÖ3°N;·1÷í`Øçê Ïã1 € .@) € € €_€"€ € €#(àÛýO§úÀ…Ô˜A­Ê—2vl àmc7 (®1«¶Œ»mwÙݾkÉÝåÖÒîjÓ{ά̘~åéœq³‰_¸‰½Y: € € €›F€…"€ € € €@ñX! 0ZÖ»;ÝK'¾Ü¿`; è›}hÉÌžvÆz®J¾ê·ÙÞŽGP\ÇŸêµsÙ~v.¹êaä7ÓÏÿªg oÃKÜ @@@Š/À @@@@ ø¬‚€'¨¯ë;w bë0âìi'-òìþ'Íô°{õ=;¹ÙõC¬ L"`Ñ$^vξýì”Éð[ ¶³í~Òo­>1¬fÌúåž:üfJë¼á†.9tèЫ$•8ðÝ9ð¬´ÉJRÝý±ÿþ­÷¯­µÿueeå)û¦¬÷Ú:t(èq¼¡­·Ãô©F@@@À+@ € € €_€"€ƒ–ZÆ®äléÙvi—ÛŠÖU ãiJd¢R/u©‰ÆÔú<—úÝõÞðÓ ?IÜgo=Ó´m¦·ŸÒúAÍ…q›z œ™™ù™Z­öyêjIz<-ošädv;ç><==ý«zÑ’~°åºírbbb[[¡§@îq—µö¥º$I'ô-J¯½páÂi™ëÅÑuxÒ`½ >&Ï‘¤‡Î{E3’^"ésÒ§)ððáÃÏ“>IÝ+$ŇöÓüe²ÞHŸ›õ"Oêu¼a­7Ïhƒ €@Nš!€ € €K÷´IDAT €@ñX! € € ÐÙÓ¾Ýþ*f6ÞQ¯?·êÏ(«sÆhJÍ%vL©?¶§)x.¥ÅÈ…Á}·žYn üëi¢53˜õj\3º¯®«ÕªÛÝ-iÅ9÷ Û4YkFÊÃÀ8Éß·ÿþgÉut+™ï‘d¤îg&''¯HKçÎû´M§tðàÁ”qEí¾R«Õ¾Gæ°ýüùóÛdN÷DåºàïFy333s±ÔÝ]kÐßOIŸm;wîÜ*åû£r=½Oßâ´²²ò%¯ë–“y«´ŸÔ~Aü°ÄA‡xèС8¨PŠýG/ã s½þ™Sƒ € € €@'ê@@@@ ø¬€ÀlàWñxvÒ‹{ؽq.yÞ[z0y™#o—¥Ñœ¤GmÊ]öÆíø‰ŒyùæÞ£ÃøC¬¶.ÕÎÔŒZ˜qzõ%8qœ,s $uu<üðÃ?/Â@7kí¿]\\üK¹ùùù?wÎÝ^S’×Dy³ÿþK> ¢›˜˜ø«;ï¼óëiéX•v¹Ï¸Q­V+ß}÷Ýÿ¤×÷ÝwßÓ2'­û‚^Kz“$+IZΗJ2ÒÿàÂÂÂG5_­VkÒç^Éÿ$=^rÓM7]£™·1þ˜æe½ï“>ÿ^Úkð 9~üøg¤lŸÖI*É<~IΙG¯ãÉ|uMáØrŸ­7¼o €ôK€q@@@@ ø¬@@è‹@H§7h ðÓ€AÝ1P“Vg¥šY6áËO™oî„ÛñšÊÒö[LuÛý¦Ü@he»üÀ¥¿³ìvüø’ Ü’1®ÒܦiðJÓ= ´<ûh”¶àNkäù˜M÷ zXñ¿Œú<ýo|ãýQ¾q²Ö~(¾pÎý@œ‚àû£ü×ïºë®x×¼¨¨§Ó¿‰z}:þ‹®Ã“Ì#æ»ôÀ/×B™OÜge×®]¤e-éãëÕÕÕŸÕ|©Tú)=k’²xL½ ÓüüüG$óuIzüœ¾e¥uŒÏ} ëÍš;u € € €t @@@Š/À @ t–sk‚aÐ_°$óÐ>3{ÚãÖê¥">Ê¥“q6×¹ºíþŠ6Ô~•‹î7KÛø¯1ôgŽ]=¥éu“ËM÷ªl‹T{æIyóŒÓ§6Î4­ÇD¯±ÛMÏÙžÑâ tê%ðŠhýgÒvë«Õjºc^ØÄ9Æéî{q0àßìß¿ÿü·ÓÓÓ¿-éW8°'ìÿÍJÓ+%éN~¥çÖ$÷þd\A¸›Ÿ\¿D’Ÿ¯V«á.~z§………¯HþiI:n<§¸‘qþFëRÒÊ®ŽÎY§^Ææz³æN €ÝÐ@@@Š/À @@@õ „}9†™=U6õ¶a^Ža“µ@¶ÚrXñÖ¶«\ÔVƒþÜm»ËîèîjTÔ8i°`¹i§ÀFÕÈdêsßåÜQM»«ië™É2‘®º\XX¸eçÎrN v³ÖêOpÎý0cÂ÷8ðú‰‰‰/IÝ{¤íœ¤ÿÁÿ333óç333aP_Ø:ãMÚ=;®–þÿç“çóçÏ)¾–6Ï‹ò»ô,×:½nI¨‹a™gx–6ß’5_sÛ!mâ9<§­²¥@Úv=Þ0×Û2].@@@èB€¦ € € € P|VˆŒ@µëùŒ)gí8á*ƺ½ë舸þ{¬ànßµd§;&F…®bŒ¦è² '{äL[pfA––¹Œ ³ÖSY­VkRå$5xµv.*üÂÝwßý×Q^O×雤K%éñ·ò¦õñN|ÿJ®?3333)çÌ£T*m‹8ç¾ç“çûî»/ÜÉ/*»8:‡ý¤Ï¹è:íô--”6—èÙZž%ÿ¸¤ÔCÚ|3ª¸(:{OÒ¶ëñ†¹^ïÄ©@@ [Ú#€ € € €@ñX! € € ÐJ¾aý©ÚœmSF<¶g9¥´QT.=ØÈ{3žŸËíêg€;ÌÃ{ï*Âà?ÏœµNwLÖšL+Ãkd‚>ÍħA}¯—¼“dn¸á z‹wíûôÖ­[/[XXø~I?rþüù!m>,IÝòv«¤ÌCú„ãj#km#¯×žÔTèœ+yÚi±7ê€ai?¡•i)箽Œ7Ìõ†“ä @@@è‚ € € €Å`… €@ßfOiP_Þa» þÛ«}mlÖØVž<™=O v*—:ôÕFCNîèîªÉ˜sfÝ€çjo=ã}=ݺí9÷4ÊXvZwàþýû¯š™™ù[çÜ;"ÝAOƒû>]›¿øÅOIþª ¾ÿܹs?zÇw|[®Ãã¾ûîûæÖ­[Q.•¤‡êÙ›¶lÙbãJ¹ï–8Ÿqnúé^+¯Œ¶áx2®1j `ã^¾>µZm«¯®µ\nÝõxC\ïv™ïÎ>&*<ú9&cƒÁæ3ÐjM<ûÍ÷ìÇù™òÜ¿[þuÒ4Êsdn|ßÇå3 ß%Mã2_æÉwkÔ?ú}Ò4êód~|—Æå3 ß'Mã2_æÉwkÔ?ú}Ò4êód~Ãý.áÝ»·~Ÿ4aØ»!vØÅŸý.iН9óÙà3°¾Ï€~Ÿ4á¸>Güð‹?ú}Ò_sNûl|çÿ›ü÷»”÷Ô§q=kö+Oëõ€î—cÁï<öN¹ùÚ|ÒLeŸœ~Î/jzämW¾#Nyúk[“ãg~?õ•ó C6mn‰9IËÜóïÐÖ„AšÒ¨íXyæ'¥¬~ŸÏì«×þG£ý`æZŸËÆŽ-Kl?Ö¨»þ½ubbâïdØk%i°Üû¶nÝúü………FðŸ1ÆT«Õš”ýÃñãÇÿöXÕ¶ÉtÇw<#×÷KÒã*yË ’[YYÑ€BifLÛÃLËÛ õ]ãÒ'£LÜ/µOÔ&¬³Ö~G¯sáYòa¹œÛi{iTøttöžzo˜ëõNœ @@@2¨D@@@â °B@`|ªÛâP¤–9íÆ›œµT0Z[Ëô‚ŠïžéÍ;–>ò¶+ßrý '߯鹗·ÄÉÝuVë|h¶õÕ'˿犉ë“×äÇO §À}ûöMÌÌÌ<àœû½hÉH¾.¸I† ~ŽÉXÆ`°ù ôož&žýæ{öãûÌGûY}MþuÒ„ïh?'žÏx<ý.iâyÇóâ9þsÒï“&žÕè?+žÑx<#ý>iâyÇóâ9þsÒï“&žÕè?«á=#,Öc­ß'M냾|ù Ô?ú]Ò„GÝÖûÐõŽC>‹|êŸý>i?ÙSWMõu vþ—\q‹ü÷»ÛJÁGeðµ5üÿþß0Æ.›–— êŽ-Åý¿|÷«Þ"ƒ®ÍǤǸ£»g²‚ø´NÝm»¯NŽ×©Ÿ´m:ž»=øþ¦‚è¢ÍÍ3OiÞq-m¤Ês”.Ò åêc×óž†õâç^<ñŸ%Wo?˜¹ŽÂزÄö£§Àg=ëYï–¡ôg{åd¶nÝú¢ÅÅÅzÑšôúàÁƒo™™yLÒÿÔkOzIT¾rüøñÿå}''q0ßI>íøÁ¸0‚ÓšwÎÒ³¤«d.“rn:¤ìÅRP’dm¿¨×šÎŸ?ÿ}znIVÚÆ€á}Zê[/{o˜ëm/× € € €t  € € €_€"€À&˜}hɘ žfO;3{º:°•Ïž*jìÊEžÃ®Î…§è­\zÐì•]ö|*—Nšrö8M÷õÝÈÝ-æ®â«o*Ü’»mwèX?çìâLØ×ŒùËÞz¦-¨sÌ—”{úAî–QÙ™™—;ç¦õÒZ{laaáàõŸðÕ"_ú©x¶¤—NOOï•sÓñ†7¼árë Qá)9kÀ›œ2ÚÔ¯1›¶¢”9NÊã/ÌóóóŸÓ†Aü™ž£ô[ѹq’9Ü_HþCšŸœœü =k’þ¿¯çd:xðà›äú2IFú$Ç×¢¶´Žñ†²Þ¶ S€ €@÷ô@@@@â °B@@(¢@ìçZÂ*föTkYŸVxƵË&e—>“󵴽æ‚Çö,›c×XnNÛ.mÿ S.”ËÄaÌÁtýê÷Ï皀Ý匜sµ§Q¡‚nWc­}kÔç鉉‰w¼ñoü¾´oß¾-ÚÖ9§_ˆÍKÿÍÌÌüŒæ5IþÅ[¶lÑú‹ôZÚ6}¥þk’.hºá†.Ñ6šdœE=k’ü{¥þ'«Õj°ÿþ«¤ì=’ž#I{åÍIÒ]ý>"ç'$éñÛÒçFóæ›o~¶äSîýKZ!é‹ áN}wÞyç×åúc’ôxåôôôï>|ø¹ûöíÛ"}öIŸwi…¤‡œÃCæñ©ç-çÆ_ˆ^Ç“±‡²Þpò¼!€ € € Е@@@@ ø¬6‰€g×¹ Où T܉¼#W·Ýo܎טz ß-á¹)˜¯f–ïuìšêTåÃÖ;gš^vξýìTSQ΋òäI¹Ÿ•ÔÖaÎÈýÚJS ºÜÅ/uŒ–šíi=-£ô÷²Ç ˶Iôkœ¶Ç£ ë@çÜFK»heeå‘ÉÉÉG}éòË/ÿm»°°ð˜µöõš—t©$ Ôà¸oJþï%]+IôŽ/..þ¥æébÉ—4mß¾ÝÊ9<æçç?+cÞ^³[ÎñðÃ?311ñw’ÿeIz<*oo“2'¥Ïá…1:æ}Û¶m{âÂ… IYrw¿8PŠ¥a©ôFÉÄŒoÕuïØ±ã;Rö>Iqàâ¯?~\ï'EÆlÙ²EËõš‹ZYêa¼a®WçHB@ g:"€ € € €@ñX! € €O ÜýAðISIDATÏ·,WÌ.€¶í—D}3èT®AqJ¶µ9~Ö9SµGÎÚµt¦ŽaMZ Ÿéø:vµÛÍ™pC+cÔ¦òÿÕÆ×x^VÆôTebð_Ö|»­s6wÀh·CCû ›IîÛ·oBÚ?_R®#Ùh~~þýÖ†_Ú/DåwY”?#u¯]\\¼)ºNžVã‹•••Zœ×³Œùkr~³¤§%é¡cêYÓVWW÷hП^ÄIú|0ý’‰ËçÏ;ç^&}>Ÿ(3wÝu×?ËXWIÝ'åñ½t‡ÀŸ—¹ÇÁˆ‰&éÙ^Ç“¹e½é³¦@@@tJ@@@@ ø¬6ƒ@ד±Ðh@ œ}hÉÌžvQªËeôôW¹rj]¸S^þ]SÇØ¨BgêkÒ5h `˜ö,›–—ú¹Ûw-…éèî5ÃÀÔû›Ö—³GÎH;Ûe ËÙz7“µsb[c 6R «Àx`uaaÁæM‹‹‹ÿWrqóóó%}_¶²²ò]Aü°¦óçÏo“²çIÝŸ%ÛÆy©»\òú“¾JþIÉ''eï’´M w:þQØsîܹ’”½îž{îù†”·Ç_–úçmݺõ2kíõ’^!.‘²ï•9Aòm‡Œõe©{µô¹HÚ_' ~trrò é£éOåºéx÷»ß}Zê¬>"é3’šŽnÇ‹:m½Ñý8!€ Эí@@@@ ø¬@@ )ÆÝd¯LƒÿŒ©ÓÔ¶ÒÓ§uãà'dÍrp¦Áh¾]qÓñô(Þ»ãøãÔÀã•Üé0±}j )QL6K Û Ñ¬±Æ´.Óy3m@Øxf€ € € €Å`… €#& »X¹Ûw-…©«]¡Fl!L¦@žÝý¬Û;Ì)å¹—î·¼r]ž¦]·ÑÝÿ*Ý¿ÖÏ·ëßZ‹¶\e[¢SmúOü†MÈØÐε5§ ÐmŸ»B¯vp‹ 74##€ €@¡X € € €_€"€Œ˜€KùÙEWÑ]Gl¢LY¹§o4Sÿ±ç>n4?² 'æ*ËÒwLÛ1/ì’ãMwÿk4Küôo£,g¦\:éiéÊÆKaš=íÌì骧a£¸<é«Ñd¤3]²ñ³µ#ý<ÇmrA?&Ì € € € P|Vˆ € € °q™;ýM¤nÜ\¹óx 0{Š, Õ§n4ËÑ®zš×`ÀQ\süw?žkë+Ûîo-J½v;^c4àOS¹ô YÚ~‹iÚýϳÓ_Þ€63õÆÍ…•ŽÍÔ-Xÿb@@@Š/À @@@Í! tñ®K#µâ(xÅ;'vôÒPÑm(®€îþç[ÝÜS7ãLÙŒÒKþv*lŸ–]6«v®Ó.€TgŒ3©/;gœ©¦VÅ…r8ë;×ïá«M–»²™=%ÆrNGùæÀĨPO‚êF*h0oÐ\ŽÀJ]:)ŸÀH}òM¹ï­ì;)"€ ° X" € € €_€"€›LÀݾkÉÝåLà–ŒqÍk0àÈ0ŒZ`ÊÈÀ0@ ‡À8þ Íœ³ ÂUƒæÊ¥St÷¿òäÉåzŸ3qЙžkvª^žÚµQ˜'°ª\:iÊž94jd&*lkFçÕZ¦×YAu¾>ÚoR¯pZ‚Ã6¼­ „£k—q.ÿç.îQÜs°Þ¥Ñ@@@Š/À @@@" „;þ¥Zni‚sÍA柫]‘dbmj¦£»³w·Jô!k Y`ùÂuÞå-ûvÚÓÀ£Ù‡–L#êß”¬9‡ÁfÖ,/mÿ “U¹è~c¢@3 ö³o?;eœµáùÖ3Ë^ŒÖ ¹GkQëu§×Ú§ïþÖGs ó‰·p‰ë¦¬§OS›a_äð2YAÞ/÷+„@PˆU°@¦÷B@@@â °B@`Ó„ÁÆU¼ žÈ¨óvêsE`ʆWnð™n©±›ãí»–rw¦!N@ƒó,jyå:ÓÔvVƒýùû¡Akq2–ç±÷6ñ<¼‰Ç®i DÔ Àpǿ҃fiû-ÆíxMxsÛé'~ÃVÙo0ØØ=ÐÓ´\:ÞSç`Œ]®'“ûU–yg6öÕõc}™÷í¥2ÇÏ&g5örOúlzunz?@@@Ø,@@(²€óÿ鲟à»QV4û ƒÿZ:åêOTŒî ˜Ö¯_e2g Hì8\"ØLwüÓ@ÀrédÔÍÎE™uŸÂ @#ãi ž¦š2šZFÖ9¸gMsìjyÓ@À–žËòdG›²þ´²žmúýëkH¯£tô‚Ñ›3B@`j € € € P|Vˆl  "Ù ÝD‹Ì4Ä`Îp·ºÛw-…磻«ý|úùÕõjê縣8V}γۚö×v ˜SB pK‰+ÉÊg@¾g’ñÖ增;ÿït|Ïç­íyÛµuìXÐvíØ2l A€ô¦Þ¯Ë¹ëö–ÔS¡’>“pÇBcçÂÀÌpçÂ3}ý· P`,f]ë\×}éŒ € € €c!À$@@@‚ &ÇO¦þr¦¬Wõ‹þ½ë˜apØí»–êANž±åþžšöâ!¸µß| JÄRÝ9S_Ÿk¸[Ü/<WÑ]Ë2ŸsÎI…c„AP®bâq×ýS¨9o>Àf±[Ýi— ×ÞO×fÓAIjp^øLÓæë*ap`ZUî²”€¸‰”²Üãm|Ã0x«Í­ «1_ÿÆ?Ì`qðêiËßhýL…)Ú}ÓÿsºÍ#VŸº±¹ ãÕD¥c“¾7¨A Yw“^·e –Ô÷çÈ€ôO çÀþM‘@@@@`T˜ € € PXo€–K_s=©¾;Y?õÒ‚#äìd–Ο§ÔûLótîO›0°³ÓP2O LêÔ,­Þ;þ:ÆÔûlxòðɺrÍMÚõjšk|å˜=]5³-,™ÙÓNR5µs¿Àá÷DJ5™´¿µ©3Ê,\Ú~‹§Þõ}@­eyåÚô{Û3:Ñrv_+—L_Ck©³'Z‹¸œ€îL8¸Ñ{ÙûYé÷ߊަ7ò½ùGÄ@&‚ € € €Å`… €À¦È ª`…3Q ‡«„€=ëeÞ¿e+Óí«1Çn;n¢öb”ù ÖCît"%àMç¤KºC`xŽv.ë8VÈ3Y÷2RL×=&t'PÔ©ÓWi  O»Ž‚-wÖïG²hyå:3÷tb·¾è3¤ß¹%Ù6oÞp§IåÒIÿ0õuûë»­‰ÖÒm·qm_Î$8® dÞ A ÇÀ!ÌŒ[ € € € €À p{@@@  Þ ;;îŠÓaG£†J¯GÞûËÈ-d­A/Ò¢~äc½uáß½NC\y8‡w ¥x·²p ݵ,%дåóÑ´¼^?¦i”¡_„kïÇ]C·~ Ľ QtÛõ€< þ3¦ž_kR1y袿›ôgÏ}ÜL=þNS}êF£y \N¿;kWqnùÂuq¶ësy²üçT›h]S×÷ˆ;Ä߇æ5ŵz¶þ u­±ÛeM+O›¬þÔ @€ÿ1ÔÁ vxFG@°@@@(¾+D¨ ¬Ú¹z¦Ã»3å8X£CËüÕ2fîÆžÿ@¢åd“6Œ‚‰úºúǬ†Òƒ–Âùn©ñL»ù|„‹øæÿ~6œŠ¸ìQ_SzpßÚ¬ëA~•µ‚d._ÅiÐ_²§æçžºQOFwÏ 3z«l»¿ÿ#«‹þdr˜N;{îc rŒ×Ô~C7Z?•Ûá§{÷æÝݯfÆ*°ÑðB`Äz ±50@@@€C"€ € €…ÈÚEMîhüAFÒ$qdn%Z5e;ÜŸ ¦&­|ÝßuxùnÚÚª‹ÏB2/Ï\òìî—³uj×_Õ…›LÖ9S5žàW©æY`É?5Wî¸  |ON¬\›:IJ”kp`jeT¨m¢l×§ÊEõÀ¿r©¾`û2ÿöÂÎ%aФºhMõ.丞ùÖGÒ;{C‚æ6d ˜íC- €ÔxG@@@â °B@`óø¥ aQÎ Àún]ðùîßÅ4Í)0by>Ò&ÏçlÜ‚Gó¬©ùIG¹¾]Ǻ mœ«u ؽëênßÏ7†ÕÀ¸ÆEK&Ü1O¾'-Å£{ÿµýrŽùÖÆj§<ÐäÚR5À²x¿VFnYÿ>úþÆaZÜ¢7 ûnô@@@@â °B@@@`ó ´ h =rÖšš “ï?–[—;ð¥ë-_@“þÇyMiÉ×'­-e}ð²ù>3Ñ]»û<8ÏϧFƒõtÑN­nz-ßC«»ÿé”ÁºzÙH]|}ÈôI`m»ÞÌ œ{êÆÌÁÖótGÀ¹§o4z¶úw¼·II/ÛpW.=(e)Çì©Ìù5õ¨·ííû|lOÓ|šÆÝ€‹Ö77` ÜD€@Aà@@T#€ € € €@ñX! °I¼W`ä1ÐMfÕÎ¥6q¦ì·µCžà¼´dfO;S?WóެÁ~ôgÏ}ÜL=þN£;ê9'ï míÜ “s7X“û5QÉÝ´¹aú¿AÍm†åùOÄ4) ªÛî7ü¤·áµù÷b=݋ҷëÀ¢,œu € € € €€_€@@@ °¾àºÿ9 @ò:Lôqw6_0[ëC©™‘Ú ÊŒêËóÌ €çû|{žÍ†û>ëÑg;üÎmø$™@G ÚëØ(GƒÙÓUc‚%c¢`Àú¹Rþ­÷¹å ×u@ƒý4诽a<^{Mžï<™§q§6á×7ŸN·z½/Ð:šHEƒü¢|ë©rÑý­E\K ë÷Dƒ‡5î³~×oÈ €]€õ!€ € € €@ñX! €@^_ ƒ3ùþÑð*ž€'´Sňì ýý³{Óf®?ï«)­nheQ qyò¤ç–ë7wÃ󌻦žGìÍû}ŒæY.4唟Nn¬7+-ƒÓ2þ}êôL0†\§@Ð]Z#€ € € €@ñX! € € €€O ë?Šç –òŠùn˜QîËf ‚ò¬Ùk¤®Còë72IDAT¾Ë¼¿ÎÁ—¢`#_uʳGq·ïZ2[rGw9wt÷PzvË^µ#/0Š;ãÕê;­ú‚¿»7­¤uÑ`8Ý OÏiõR6'i„›2?)‹þ–-mÿ ¯Mƒ5¯ëá~jþ¿³òÜ ¿úâ-Àâ=SV„ €@ @@@Š/À @Í$Ðá'GsQD mm'úÜ×»óm ¶I3Þ]ÊøN|÷D¢ïóÒå£þš‚*]Å»Î.ÇŽ›{Ç‹Ý↜ØHc{ÂÀ0Xj½ŸÍðçÓÃéYƒãZZÍ™Ýý/žgýg’íœQ#M5;–%'umnÇkŒj>îk2v¢k´!3 ;×4pøìLø™7¼ÆJ «À±Z“E@@@žè„ € € ÐA ÐÐÔ²)`ª©&¼ƒªÂ\‡·ãtè=”joðÖPîÞåM|Á%} –3¾@>_à_žék_ ÄÈÓ¶Ç6¾nŸœ~Î+I fíw€«ÏÍ7±ÖrÏX}6[×Ô‡ký;£»7†éèîêp<ìÞ>L}ô‡¿ý{Kzæ™Ç ½MkÀ_å¢?Ò ,Iµ)c$xð_ ¢öíg§Âtë™ÜAdape<ç¡ „ÏìÈYkŒ35Ûõ³3C{å¡ÝjLoŒé¼™6 € G€» € € € €@ñX! °¹<ÁuÝ dµN°Mâ‘ 9ªT´Ë…? {û®% 6J̆l·¾ D_Ðb·ã÷Ðþ{®˜¸>µ›|w†òùÖàÇÔ P˜% ÏF®Ùhð¦<+£Ióú3ηípðLúO÷êO½¦ÍÙWžÖ¶XeéN Bý{®AXGÎTÃÿt÷AMcŒõïå/«pS»Úì;@÷Ë“'û>•q°‹Àq]"óF@@@ü´D@@È% i »š…9aÜ.×ÌIë“Uñ´7؈  þ«Eó çÖÿŸ†FÏ}RçÔÆ¾g”Úx=…)»åépq_|Ö²dòÿÅmz ˆˆ»gŸ©-’@ˆ¸%ßš–k×.™ÙSå0ùå-Ç9]5³QÊè·´ý7Lëîvz­å݆U5×ùF¶i»uýÝU/Ï Ë¥“Æ9k»Ý9Ï3Üègþ-¶9žÃè-‰õ_ÀÌ 8€¹ÿkÙˆƒ¸)÷D@1`š € € € P|Vˆ ЛÀª'h!Ô¥9a\÷·ðµu?T_z„F¾µôû§aû2ãµA¼A;¾õ¬uí˜ËzNÞûv5jà Œªuºì"ûJïØ‰Wo›¼ÉïJ²OÞuû$û9Çä¼F:ï*iÓ[^¹ÎØs7S¿Sªƒ%c$e¢I#ÿ¡ýfO»p cô~õ–µw+G?•[¹è~ãv¼Æ,m¿%<ëµ¶Žë5ß[²MÁy½Ñ©—;ÑÚâ1wy÷Íúù_Ï¿'­7çðäôô§@@@ $ÀR@@@" xƒµ2w'êRÄ™²Þ' ˜ë²ë ›‡óJìHØÝÓŒÂ9Gkó›íÍl–3 GìÒÈzôŒ×zž¯}A{½ 8¨¹ös޽¬kÈ}|ßc þ«þµM¨bfZj+Í*¨·¯d5i­ wóJüm-—N&𨹰>QÒ}Ö(GA†}ý»Ë»¦jÌ0‚Môr©»˜í•5Ø#gd.Q³"ž¼óf¹ðk7¼Ž€Ãqæ. €Œ£sF@@@â °B@ okÁe»‹È‰…Z‰à–¨¸~ wĢ«·ª¿ûƨ×v~Ϲ š>Ó¶#¡«ø‚‡’7ÎÓ&Ù~ùp=ñ¼AxqƒõŸõ~šÚF`°Yøk»áà ¶•2vôÜ^m\ÏÁ¥Íƒæ^wÍô¸›)Ø«ýoMFð_´vWÂ7ºÊ<éÎFÚg6òT†_ +IÿÖiªÙ) úzéÄ—;>?ý¹`ÏÈsæØ5Õa¿écßä‰emcÒƒüü&ûõ…•œÈn‘Rûú?öîªY.=Øó\Rî4’Eõï´m_gøùÉ)3)ÆN gàØ­‹ #€ € € €@×t@@@zÐÀŸµà2 *Ûå4 ¨·Ñ Ð+÷Îf)‰å{ ­ñ½ßË$ׯ¶0èÑwóþ•«IüysGås&ÉøÖ Žô˜éxY³Óúø~ú¯ß3äê{Öý NóÌ;kÎëúÛ" M .½}—w—¹°OÚ4Æ`½iÓÞ¨2Ÿã‰•kóL©’3°«ÿâëÎvš×`¿0½ýì”Õtë™ðï×ë&OdÒið_eÛýËzÖq) þÓë÷]ü;íAeZ!é}—þN}ücWOÉ¥´ÓÝþ4™F)ïpÔ¹&U¶ýQò2‘Ï’¼ü×'6²áÚúõ·¢1êhfô3`Œþ›WOöÈY[ 4¼XŸÀ&ùuB"°“õ €lVÖ € € €Å`… €@”´ ¨!„uµ_\2P¬›{ݽ( r²svH?û>#Ó¾KX¸Tyväæ}o¾;_û•‡ól 4“›Éä}]‡…Á}·ïZÒ¼žÓî'–Z§IÛ¥¥d`K2ßÔ6ϼ{ýŒ5Ý(ÿÅ'§ŸãÝ©,%uΟ­£‰`Ép€o½~“æÎ1Ù @yÏw³úÔyY 8Üå/¥‹¯<¥i²¨\zДK'÷³¯kfyiû-šKM•‹î7F>ÕÛn·ÆÔ¢ >9ÓŸî­wÑñÝŽ×Ƚ¬È{Yî­ã6ý}Õ>¦µþƬÎI— =t :!Þ\ŸIœ†x[n…À¦ò¬’6 € € € P|Vˆ € €ô$à @1ΔÀ­žNÝnhÀßYku×#Ý+þs¶¾KUë’5XQSk¹^ûúh]/©S°¦<ËŽÃJ›?oŸGÇÉe7wø3Q›¬ÃH^ƒõìï)í}Ÿýp—+ÏnjÂÏX0ÚÒKË4µëe§ç mú•²‚ ë÷p•Ôùxíê½ò¼‡6y¹Møym^àÜÓ76t¼ w®«xv¬¤w·m;ã%Û•'O&/Sóúü¤Ý²ìµ6wÆ“ï‘ÿNÛ³l >9·6–vKÛÃh  þi^ÆìO`ŸÞ·í~=lÝžXëLæÙÔè‚Å °XÏ“Õ € Ð/ÆA@@@â °B@ ?)(;–5ŽqÆ„5´ÕLz NS€•óñ˜Ž¯Î^‡ècƒ.×á³IÎH?£YŸádÛÖ|¯ýZÇi½nùLéϦc×…¤¾^fúþúž+&Rª4y£æ€¾.ŸI<Ï.Ï3‹ÇÓ³~§4è4LÝî˜X³Ž“¸ld»Øý¯Ñ'Ê4Ξ*Gåm'÷¬)SÒk« ÂÝûäs^d½­Ú9 Ø‹Ç*G»÷…ý³ú%ê4HÐ9k|G¤ÿœ©Ù)š¯0ÀϦÿ 5žà¼^>£¥­©€•­ä»w‡‰S4 älîÐzuà 7\rèСWI*8pà»[ëÓ®«Õjizzú¥’þÕÌÌÌ‹åzÝóØ¿ÿ <øÓ’®Ý·oß–´û¶–ÍÌÌ\!iJæþª7½éMÛ[ëÓ®£õþÌýÇ>üÜ´6Ý”õ:Þ°ÖÛÍZh‹ € € 0ÎÌ@@Þ4DSï#Ðs\|(#»ž¦ ¸>ÍrÕ®fe ™; %9Fæ›ëù‚±’sÉ“ïÃ}ú·$ ŒŠ~Š7ž|Î3Ô6¾]ûµöÄM{zÖ‰þiYÓ9ÛØA2­M¾²þµÊýL4È2q[}Ɖ˦¬½õÌrSAÁ.ô³mŒ«è©a’|nGÓù•µûŸÛñS.=ØiŠ™ÿ‚rZã0XO¾7¤æ[é.|a‘ï;VÖßêÏÛÎéX:? ,—t÷@;góñÕ‡2Ú>L]†Vsý nÓ×S}ý}’Á@`“ ½®ûСC/›™™9½mÛ¶'jµÚ'$-AðU)ûçƒþë´q>|©ÔßóðÃ_°ÖþOI.íþ^®Ÿ‘>sÕjµ$×Ývzzú×eÌ _rÎýI'wìØñŒ”ýÉÍ7ßüì´Á8ð©ÿšÔý/I—¹¢T*}[ÊNIz¹”µÒçER÷™h½-sÿ¯+++HÙ7eî¿ÐÖ¡CAã m½¦O5 €@ÑX € € €_€"Ð'0˜!pKF’;ºËevôé– 3NΤ˜Q{õ²£S´†|¶û“¬à¿uÌ7švÛÉûÝÍšGë(Ý´mí+×a ”ü- £ÂÏŽ«˜uHå{6rã~yv=ëçý6b¬n=åY6}¾|ý‡l§sÒÏœþ;žoÛ=пWzð³ÝöÌ\%¬k+ïPò}[¾p]j§}“'–µBìÒ‚ö´n-MTÖòÙ¹8pOÇÔÀ?Mõ¾ì~ÉZ Ú3FÿFF©fóïàgúð wlÛío.üÉá> Ï €À0:¦MbffægjµÚç¥îjIz<-ošädv;ç><==ý«z§}ûöM¬¬¬ü\¿IR||+Ê”¤Ïo?òÈ#]ç:É=î²Öþ¡4ŽŸ||¼öÂ… §e®ÇzÖ`½ >&ùçHÒCç½¢I/‘ô9éÓxøðáçIŸ‡¤î’âCûiþ2™û¤ÏÍz‘'õ:Þ°Ö›g ´A@@(–«A@@ 0`Á™æ€‰–ž ¯b ¤ ´.XƒlZË6ìºõóÚ¯‰t\ª¸xn–Ìç™owmDç¹wžbÏR»æl«Ÿ‰0Ý]ÇÑkc|sÕrMqë>ûv=ëðéeEï?ßüç·1†/ÀÎÓh³žLã{ßçgâ³Ëš«ÇµþyòwÔ ? \?sáçVÖ¸%-ÿmów]GÜÃÛÛU:͹­k8ïµRÝýoyåÚµ‚Dî {OØ#g­/ ÚÓ€½DuKÖ•£]+-áåÞ”]uL üÓ6’7ÛÅ~Ú¶‘ºÞÁOn¶ÞãØ5ú·Hµ%Õ¦:ÿ•ôHNIDATS Â)ÌÆ»'†Wõ·×ÿñ+ë™Öwe¶–rô"Ðu`µ¾Kß½ÑÍVœs?±°°°M“µög¤< Œ“ü}û÷ï–\‡ÇŽ;Þ"™0`Pê>T*•¶KŸËå|¥”k0¡‘±~ö g÷@iÓtH»”qE…_©Õjß#ãm?þü6瞨\wüÝ(offf.–ºû£k úû)é³mçÎ[¥|T®§÷é[œVVVþ£äã ÷JûIíÁKytø‡‡Šƒ ¥Øô2Þ0×ëŸ95 €›D€e"€ € € €@ñX!}H fp¦ÜuCŸfÃ0 Ï»›»êgCƒkôÜM¿A·í. ®}6öíg§ÚKã;ç†z–gÓ•sJÐXWý£Åuê£Ï? ¼ Ü’1®îª€ý¶fÙ$_5Ó|mºxéX5›ñŒ×ÆÒ ¦µ«sáfO•ÍìCKûžøí²=÷q£_=Þ©­ÛeYO°RsÓð96e_5=_WIm¼žg”:`z¡ù¥ïÄ'íå{côsÙçÝsy…ß ™CâÐï“Î7Lú=IÔµf}»ÿ…íên¦þ·jí'w½la§ô·rI¢7½®Qªß™ÆÅ˜dÔ(L{zÿ[1&KešŒ¢@Zpq}žvoýÌ{–@‡Àö®?üðÏKièf­ý·‹‹‹)×á1??ÿçιà cJòú‘(¯§8XïÑ+¯¼òçîºë®0pNÎ_]]]Õÿ× ÈÓv7é[§$÷9·©Õjå»ï¾ûŸôú¾ûî{Zæ¤u_ÐkIºã •³‘ùþ´œ/•¤Á†>ªùjµZ“>÷Jþ$éñ’›nºéÍDAŒ?¦yéÿ>éóï¥}8×ãÇFÊöi¤’Ìã—äœyô:Þ°Ö›9y*@@@ *À²@@è^ 3˜¡)Уû±»éGܶ»Gܾk©q>º»š9ÇnnBÛ¾h Wøe\EÏ…{> Öô"×=„9£ÿ Õtze/¦õyÇkìê–háío猬-Ñr-Ûñû/Ï­u”“²œë:t>u ¢ó®+Z_”× ©Ð9¼öuÔré§§§@>NRýFÕ§nÌXo¿î÷ðYÉ3KÈg$}â¿×iÝ´,4ÖÌSøwGæÒñ[Òùvl' ´Ž«I.Ó´ïWJKý7,.Ç“y„ÁŠáœ]%®×{Æíô¬A ¾Ýÿ¤~NRã¨ÿMªV+Ûâý“ÕQ&XŠ2M§²o绦VrÑë÷Oºr €t/tßÅü˨ÏÓßøÆ7Þå'kí‡â çÜh>ÚïEš—ô®jµZ“sã¸çž{¾!ý>¨ÒGƒô4Û)ý›¨Á§ãà¿è:<Éxq0ߥÒWÆŽû¬ìÚµë†ÍoúsÂaÉêêêÏj¦T*ý”ž5IY<¦^†i~~þ#’ùº$=~Nß²Ò:Æ‹ç>ÐõfÍ:@M"À2@@@@ ø¬~ä fèÇ­ÒÆÐà‡0Bƒ#4ipD2i™¤0€"mÊÖ- Ï × )§?WI/Ï5j×¼óõ,uy ^Ò@1£€ÆÎé9¼îrœŽÍ»š¯'H«ãM¢YßóUYcÔ¬é¤ß悵‹a>ïµ»v™sö„Hé³ SògL}kŽn¡ý¢ìÚ)Ü­ïTyî©{k•=äfOëO•VZ{jàòÊuõâ¬çVoá}ßVÊ· o5Ë •¿©}»ú\§ŽÐ±°þùëâ;1‘ÝVÿ¦4þ’oŒ¤ð:m&ß‹¦æÒNÇ­—¥Ü_ëG}þõ>)ﺫ]Kqý³jçZŠ;^–'u÷?í§)£yÍ,›‚¾ôo}WK»ü×§·w'ÒË)EºÈ ô wET~æXòS­V{V|ᜋãâ A­ú„¾¥¤¸¼tÓM7íH©OéŽ~WjÜã¯ôÜš¤ü“qYán~rýIz|¾Z­®h&™¾"×OKÒ÷èYRÜÇÈ8#×iÇ ¯ŽÎY§^Ææz³æN € € €@X € €= 8ãf‘ºµÓ·—Ž©Áää>wí“lŽstwUËäyIÉ6äs´ ø{h‹¦´¾ò´¶ë,Ë=ßõÝGƒC4¸FÏyFÊÛ®1–³Ã ñ}Çjf9kÞõ@+³¡/}É dÍ7ÙÎÈÚš®õ1lzÐTø™h¬z³§1Á’& Ðê÷Ïõ&î–šmü­‹þ¾¥6êkadã ” ?OžïüP>מ{û d¾j諃ð¤MS½\¯ûó?!ÿne>³æuèîMsh¾Hÿ¼JýŽ”'O.çÞÕOúè¡ý4™ÖϼV†ÉÎÕ¿+áo €Cè:paaá–;wNÈ95ØÍZ«?¹NÝ9÷?4³ººú<=kªÕj_Òsk’òŠË¤ýî8Ÿvž™™yv\.÷ûÇ8Ÿ<Ÿ?¾qiß—¶‘ëF^·$ 4Ò&ì#kÏÒæ[²æ rn;¤M<‡ð§‘Û$ ¤m×ã s½‰©’EØœ¬@@@Š/À ; Àè.è¯e‰Î”u - Ϻc q•äÏ*¹^wІéý¥ó ƒoßµ´áó¸m·?¸³÷%z{êÚ½•èJàÑ0²Î{È÷$ïàï®m®¢ßÙ¶Ïò:v¦K›7)µu®ÂÆÚ<­ÃÀ'ÝáQ“®_’=rÖ6õÓà?c*iCh àÔãm?<—ÖÔSf÷z*ÌÜS76ªÔßÄë¿o»\Ûóh´îOÆF»%†âÒͨqßnútÓ6síYs+RnT/½Î¨wâïhòoœîÒ¨Ï_ƒA5¥ïéw±ãweíÞú™J™b½(e÷¿zEôî ÖŒª[O_Xyár\¦ÏÙÊgßèwÁÄ/;g£ÏA\Â@`ð€þ›W«ÕšÔ:IMÇ^c­#È¿p÷ÝwÿuÔàâè¬;ë}+Î'ÏÖÚoÆ×Al‹óiçR©Ô¨wÎ5ú%ÛÞwß}áN~QY|ÿ°Ÿô9•§ÂùI›K´Ræž%ÿ¸¤ÔCÚ|3ª¸(:{OÒ¶ëñ†¹^ïÄ©@@@(¨ËB@@ {zàC÷ýzéN„A,½ôNô‰ƒ82Çr ÂKôJ6ôÔyiЇ& ¹}×R§›«öÕÔ©m§úp,½§ÎC’u·c€J§»Fõk,QÉæ;e åÑ調ÿ{næÈÞ矼WÇà¡–g~¾3o[¯Ô{t î³»ŒÙô5ê¸õ;¤¿wªzi€S˜Þ~v*üÉÛ¨ÝõTÏ~ó=ûá?óÍaüÝò¯“&|7Çóæ9ö9ëwI΃uÆwóøê÷IÏ|ó?ϸmí›{ç¾’qÔMÚwm.}ô»¤©cß§Vj?)íÛŽO}éü祰cÿA¶yê‚Û*ãç:ì‘3 Ò°i¾ÝôÖ+C´Éçàûžõñšþ \x{뙇¾úDíí#­•ÄŸÍhìµ ONdzo?û«:¶§IXÍoç§¾táuÚG ŸZqŸÖë4#©ßÙÉ)¹6mßSºé“ú÷CºfÉÝú´åÔã`tG¸©Çßiì·>¶dêã„ÎRŸ<Ëeú¡…é5ÉRW‰žErÌd>Ù8w>~Ò!KŸŸ>¹îx4¹¿þÑÄ)ù7íÿœüýäßM¦bfO;5ŠîÛv¨<œKôw¬­Ä÷Öùêu[’¿ORŽÓ|Ö¿½Râ;ý¢¹øZ  ?½-z¨øÎcï4Ç®iû[!#µ­å_ºü´”ç:®þÇíÒ°mŒÍVæ šüÎ7Úÿ·ÏÓߎ7‰¦Äñǰ4žÿ}Aù¦ûŽeþ\yz«Ñ”øú$³ŸúÊùÍK‘\~#4r-™¼—û÷ï¿jffæosñÿÑô¾aaAÿ‡r8L­V³aFÞ.\¸°ENm‡´I–_hk(زeKc<¹o²_¢US¶i<+¯¦Úæ‹p<Wƒ5°q¯æfkW2÷üÿƒ<ûÞá ­ã s½áxC@@Ø4,@@^.»È¾²S¿§8ßÍ9ù<’ýòxëgQŸ_ØO×·ëÞoâ4{ú¬¹é“o1z.mm_»ݼr¤½<líMÿŽ­]­åZç­sY«]˵º´^¯µlÎÅËô»¤~è×Übíª5 t­&;—5fvϵÚ_ý‡“û{ñ­~j­çæÍ}îé¹ÿÝxíŽÓ?¸y¥X9ùÖó·%ëßý|w/F«õê®o˜˜ø;¡÷¨µÖ¾oëÖ­Ï_HÿIOꛦ .Õsk’¾ß—Õjµ§â|Úyee¥Q/ãmOksà 7$£¨ãûÇýRûDã„u2Ÿïèµs.,—sÛ!mã5%v¸­ô2Þ×nN IDAT«?sü°Ì³_I† ~Ç8Æ`°9 ¾.ß$M<ÿÍùü‡ùÜ7˽¾&ß)M›e½¬“¿ƒü èwIÓ ïÁØ|†7Óg@¿Oš6ÓšY+ßñA~ôû¤i÷`l>Ûé3 ß'M›iÍE]+ë¿]ú}Ò4¶ÏCzäÿÆ’yl›´ÏHƒu­ñ¹—Nè»aRk–¦šº¸òðõòÿ>§mAðv³Î×õ/šü5"×üÝÑÝ3i&Ͻ4¸EµÞ7–¶‘:ïánÛ}µT6ÍÃ×GçÖ¾µòZçæOÚ…‡6J¦i׿pËË¥¬o‡Î]ï£sÑänßõÊàM÷ô\ëwISfÛÈE†H=2ûJ×o+•ûä8¬þ¤gÛ|ºí}?Ûîwýó·4þ{„>“¶RðÜ‹'þ³œšæpåï>òc¹™´—~^žëù>kyüÝÕ³ôoŒ]¿n×ÎÕï×ý7‹Ö'·H?zWFkÌÙ¤ªIƒÖ#ðç âÒ±fZû.ìúŽß; 4k½Wëµ>Ûè;±6ocîäÓ:N|­ÏPòMcéuøüäo´ä½Gô÷úa3{z& ükmyÉ·´%¯?è~â•@™,Ó|<'ý§×i©õyçù^È8ëçYÎçn¾_=¬ãžX C*ä2ýÐÏCžg—ì¶îFý»_õÉ·=“´2÷ÿúMýÞKUç#|¦¦ûœk.ãÒn¢´Eÿ7ŽL·å¸ä ýß-MkýÓÚkη´ª_^ò¬¶¿¥RÑÔ—k>k›å3ùïOé¢gŒ&Áð›í{“Êà LmÛ(Ü·oßÄÌÌÌιߋ ‘|y~~þ—ï¸ãŽoGe“µöL|!ù—ÅùäYú¿4¾^]]=çÓÎ €¤_êx_|ñž¸o­V‹ïÿHT–Ú'ª{atŽûÄçK>úEMê'YÓ÷Ösæ±èœuêz¼!¯7kîÔ!€ € €J€Å € €QÀݶ»<Èu züæ¹û~bÑÎÙ·Ÿ Ó­g–›ûcSÊŒï¥A„iuΔ㵺£»«îö]Kîè.æÛŒ}óŒví_Åçxüø:õ<ÑAœÖιSz–¤?[<)ç¦cffæÅRP’dm¿¨×šÎŸ?ÿ}znIVÚÆ€á}Zê[/{o˜ëm/× €›E€u"€ € € €@ñXa¡â /¸(Pm—Ó²¾/:G€PxOgÒ®L¾WV [V°Ictkr*h¡ÉxÕçá*¦±É'gêõ&Ç˵æ±lÜ7Ç-´‰¶—Ï@c¾zmRî­mÃ$ë ÏÞdœæÏSÎ~†Í®–y·[f÷èºÖðÓõ@Ãéàýìw¢kÌ.g»ægÝèÝ{F>?½w®÷Ô ¥z.ÏûDŘ`ɧ‡*fö´ 3»¦„e¶ïOe[àZê°²ŽY ì=H®mØnžIÖßÓÕÎnáç6 •¶:–&¹Ë“56òÝgü?¡ÛÅß*ß÷£%à¯ñ÷U¦9õø @Œ“^Kqâ¨ß_wøK¦fuŒÔ Oaž BO×¶bùæø7ÓycBÚ¤èR \:éé±¾<ƒ®850k•333/wÎMkkí±………ƒwÜqGúö¦ÚHÒÝwß­ÛnE²Fú̾ùÍoþ.ÍÇizzZ·.mtýѹÓI·CÕ6¯þ×k&N2ÇI™cÕþÄüüüç´.‚?Ós”~+:7N2·Ûã ÉHó“““ùHÿßײd:xðà›äú2Iº¶äøZÔ–Ö1ÞPÖÛ6a @@@ +ÀÂ@@Š#¡%ƒ¾â¥IYßyZ!â{õûì½ÿPös¥˜xW* F1)¯0Я¼ÑTëL¹7WWé¥_sŸ”ù4MÎwÑ~ïæq}ýå¡Gâ:5›ãù¨·¦Ôþ*ô~žt¿.‡ÍܖöÃ}÷éèä NíðÜã§ÍC¾7iÅ™}Ò:t* wáK –40 úMYGs0Z§›xë+Þš”Šå•λ­uÓ5iZ+IË¥í"gRÖ«}Ûþøž»³'¬îÂØ:ŽñåÜqUŸ³=r¦ªþaJö Ÿ™Î¨÷¤v­žá¿ž!u.žªöbÏgWwýÓû&;èuk`ë¼’í[óݵ½¶µ{t]ËÌ5mœîkPô9S¾è‹¯ìó ‡´ th­}k4ÊÓïxãßø/|iß¾}[¢¶zºSß$]ôÌ3Ï<033órÉ9¿ZÆü æ£¤» FY£õ_“64Ýpà —ÄÒg1‘¯ÔÿdµZ öïß•”¿GÒs$éq¯¼9Iº«ßGäü„$=~[úܨcÞ|óÍÏ–üo:ç~I+$}qaa!Ü©ïÎ;ïÔŸþ˜”éñÊéééß;|øðsumÒgŸôy—VHZ‘9½WÎá!óxÔ‡ó–s#Lµ×ñd졬7œ>·È£þ™K™„ö«™eÓéåì ã3oíë›ck»Äµ5iJ™äŽ]Éò¼Ÿ§dŸåÕo`ƒËÀyÆž±´N?ô٥׬•æ¹ÏZëAä*þAug@© ?¶þ½×ùÖì””ð°ÞïEjÀ^_gbëëL³Ëï—Røw6mÜ®ËlΟÿ ½ëñïØ:¡t“<ëIþmñíØ§A€É@¾nžqëtMõ`õ€Q-k]UãúØïç­Ñ¦-ÓKÐ`Û ¤èç!¥Ø˜žžSêH"€&%0[Å9÷£Q‹‹VVV™œœ|Ô—.¿üò_ˆÚšsçνCòIÒã'åís333äüß$½T’ÿ÷‡5“HK¾¤iûöíVÎá1??ÿYkí]á…1»åü?üð3'ù_–¤Ç£òö6Iá!c?)}n /ŒÑ1ïÛ¶mÛ.\xLÊ’»ûÅ€R, K¥7JfE’‘þoÕuïØ±ã;rý>IIÒàÂ_?~ü¸ÞO/Í–-[´\ï¡©¸¨•¥ÆæzuŽ$@@@¢ °>@@"Ô±2‚ÿt‘z´MÎT¿_ÎÆëhÖ·û„A>¾‰Ø¹8ø+ ú°¦‡€ c|eR“~ÈóhH>½QKiԮѯ¥:÷e4NÇöA^™sÈè×zO5·º£˜î¨öšZéuÞ Ii«Ÿwû®%ýlMz-Å&>k~œ“=r¦ê›¿zúêå‰ç“Õ>ó7ëSÆ÷Ü{~ö”þäoFoWw¼õ̲zZù jP[–GÆ`ÍUÞ{ÛÞþ¶4žûªígakfÙ$ž½YçK­â´Î¡Ýå¹$®Y ö‹RmÊ»ZÒ5ú=вD3_ÖóïcV ²ç3Ùø^DA“绫–·òiYž¤ÁbqpŸž§§Ñ¤Á†zŽïë*äç Áø¾tâK'â|ó9o0ks/®@õ Ý °oß¾ iÿ|I]<ðÀêSO=õýÒqAR|hpœæWœs•sçÎ5µ0J«ÑÙ¬¬¬Ô⼞çççMÎo–ô´$=âñ4ÿÕÕÕ=ô§q’> ‚@ÿ?8ÎÄe‰óçe/“>ŸO”™»îºëŸe¬«¤î“‰òø^ºCàÏ/..ÆÁˆ‰&éÙ^Ç“¹e½é³¦@ Ð,@@@Š/À *à nhYm#p¡¥¼›Ëúùî[ï_õãls}Ôï¥A*ÆÌa²@êݳß;ÓéY¾·Ô­MØ> <ñ ›§<§ÑÐó<ÕÆç¦»få…æñ=?ª²GÎT5Ë»#`'çhœð¤ójjï*a@ ñ¬SƒÃŽ#ò¶šõùΪ‹æï{fQuÛ)«½Z¶u‚ij“«ô#sé]úWtÔ;E»j¶¯ÉwïüiU;—ë;ÙW‡.óþü¯]6Ç®©®¥ä®vµÔ J žkܽéoA£4Ìôä-Ð2yíMçë­•æËÕƒí\ýÜÜG50°¹4yÕãç-ÏntyÚ$§B@`hAë²®5ˆoaaÁæM‹‹‹ÿWr¼÷¼ç=ß‘¾wîÜ©„Wi ^©Tz¾”MJÛßÑñ“í5/u—Ëù=’•ü“rNNÊÞ%i›ît.üÿ Øsîܹ’”½îž{îù†”·Ç_–úçmݺõ2kíõ’^!.‘²ï•y|Aòm‡Œõe©{µô¹HÚëÞº?:99y…ôÑô§­ÞýîwŸ–:+åHúŒ¤¦£Ûñ¢ÎC[ot?N € € €`Y € €ã/ÐÕ®f¾¨|aÐXà–¼­³‰¼²*\%«¶›º0¸L½tŽqªÙ©¶‚–BÏdêã[Àb–gÚ˜™ÏPî£kKë×Z–9N½q8wŸ‡Õhª7mz×`¾° Ã\ÂñÆkoiekµsá÷!m^ieñpy‚Ùâ¶C8‡©v¶±[åz¦Ñx>ÑÏH–[§þÝÔ÷qgºü·•ÿ¦ìÝ­/ÿ(ݵLÊòï⦣ÛÔ 7­é&…m}Ÿu_ gØi£ßÒÍÂY…hé>ÙÁqÚûÿÏÞ™ÀGUýÿÜÉDö5 ‹@@© üÕ‚/%ékëÚME[[‹ Š]´¦µB1‰——Ö¨ŠµÕºû¶nµ¶ª¸TÐAÔ„°ïKH&sÿÏsfîäÎ{îÜ™ÌLfùÍçž9Ûsžóœï½3 7?ÎÕÔßËÜ­J6 üT¦F;‹õ¸ì ´…}k{þ5•soM, tði5¢nÏ4 0è$Q ãcuuµoáÂ…YˆÇ»á9ù­¨¨ø”6/ IDATê¿T×õ×(Wä¯iÑ¢EK)_g'$´xï½÷î_°`ÁÛ”Þ§qVq¡ÝAcŽ’ý*²óþûïçÝÿlí¸qæÌ™•”¤ô2%Û#f4RÖkžeÈX(€€€€€€€@æȈF!’뀘GŠÜÅj1Š)b8®Lß<Ž…€Á4¯¡Îb[•…Rv#".žW¹¡Ý8n ŒåbHâsè Öáµ :r’>œÏ‹Ì ›—+„£‰¼þm=+úä5h; 4WÂÖØ°äNˆ[Еåulp(¨D›<„üp’œìC Û+n˜¹±i÷÷’Kñp"vT=úÓ~·:cåj!W[diqŽŠ„¿b㦠ËYT©ej$J¥ïáÈ"Ãv¼  JÈ'_ªs¬+w³dœÚg1—ا¹·2]qóG  q&Ð)À(×ðÙó#~çSžô#Ö ¯¼òÊaš¦ÝAã?¢¶C µáH@@@Ò€R¼å°XDTrŒ£øO×â$áî%ç´3µ0ÙÙÅØ&EKÑÎÁ¢<»ùÌ’hEVæ±Vߪù»{ñ¹iNc9çÖá²®ò!;éÍ<T<´vqˆÓšÍþiº¸š>5*_‰Š#ª Âù:d1§6·Q“‰Îe¸U -ѬWuDu=ÄcR‡¨ÅU±‡¡ð)w«³e©ÅF,4Êîò:ï„:yíÌm¨v7¢³­œ¸9Åæ°C Ã0-V.Æw }>¢»Ú†$¯¶öïN[£(¥Ï(ÇÍãKÐoö”¿Ód/¬b$`ÿ³¢,weŒþ2oXÊ u]¯ðz½ý-Z´>ðû|¾íš¦}wРA.\èjwÁtZb &€¥€€€€€€d> ^¡VõŽsN4T;ÜÇÐ|\V‰‹,LdÓˆI5F5GD‡Q$`t Þ•O¸{IqJ”B+ÿ6þ~ü‚½ÊfDhSŒE ,xªººÚ»ŒH<Ì  .X°Â»ž™SºÄŽ8A îT" žH%ÒQ ëxŒMÒo)Y"tá ¨ÑÒäñ’Âý+AÂ)6s#<1lœvÐs¿µ¥ƒ NÆjŒŒ†‡Å–w±fá#¯Í§• §—Ň“iXŸãµjí-´-cj¶×ަñyéÌÅwäœwfÜÖ¹•B¶ˆ|¤‹&’Â+[?êóJÃ̇RìÅçÆì/~eâgŒíz;>­®-íˆþ”ÇGÞ¹‘­"%óÍåHãœúãà§v4O›®-òéosš}  LÀÓÉóczH-ˆ@@@@@@ % È?¸ÊÇòŽUíI¶§dÄ*¥ dBp цo©5N¢A “ÎÿñgÜWUëâ¾8%¿HF3 btl«­0Ëâ? ÞôÇaéSU\aC×0 ö„ÑÄagË×£6·Q>­œEwv6ÂÍK¯›ÁV­ãç×ê2…ê~ƼFJ|m0{§Gžº¹.õÙ]×FŸ5W]{V»¸Ö= 1™j’híU~¸=ž¾ØŸ%ùX|íRÒê„ð• ) ´Ø% Zç ´}ÿŒ’mGÑcê9î¨ØÑ°ãÕsÐy ØDÎÌkŒ×£wÍ>#G ´×­¥¶TþkOiŠÔ àI0R3 D       ù°BÔ'àù)AB¯Òç—è¼;`ꯂ@|$âzgŸüYc᧨wþS ƒlD‡Áyø³;p5Ï톌_ØäƲc6šKi5A/,¢²ã‚}Qüñ›üÚŒõÏèóʱfªó?WqDX×¼†:7Sú¹± µykf¿I¡-65^G$1œÍ°tlâëH¦9员Ê~fi¡d#m#ÙEÙŸŸá!°`.¼UmªHø+N‚,Ž“EY2.Æî€Üž TÓ<]h{þ%ÊÜÅ3T‰Êz](w:dJÜ_¹~ Ù&þq±10>ñ»HyM²Ùægš0¿ü1µÿü0÷9•cçä³£}þ˜:ê%cÇW7_ñZÊØÅca )IÀ”<- @@@ “`Z#ÀB!!Tâ?S°³4Y¡L ý“G(vbra©D}Rðgì°ÉNBõÒjXX¤êÔüLç Ï7Ímˆ<Ì&’ú‡v^£6·Q“‰ETR(\¿TMúÑâK»ÛÙâ¸Óš?>×ËLª¡òÚpŠ‚®Í|] \fdŸ›k-ÚëÌ…Ð*³XF*ÄTêäÜÒQˆYˆguAŸk×UŸ-ûÇÜæTñÛÄAáY"„Î?£ü‚A[Cs£Š›Ïåw¾ýúy×Bó,FYõÝlôGÌég—ÊwûX·±[ìXÜ)ì×#”í¯'P]ø8R¬@@ õ èU®b¤?Èú…E®¬aéM ÂDn,úà4UÂÀpHZ‡ÄÒŸ*vCÄ«7F+>’“¥æ›f²('%v¦Óì…‰.Äaþ5ʼn7óˆÒÕˆ>9“m‡dÐuc»¾85ú¿3ç?0G\ÏqÀgü3•˜L5“ª©:£lWø’¢®(]Is•Lv&î~Ÿbç5ÍÓ…½8Q±NÞõZ“ª=h§ð§L‡ÅRЄKQ¡"†ï!ä÷/cwqþ¤}ÕŽ.§ëw1ÕÛ(QOÄÃ"*ŒhƒX èÝ¿¦ª¸¦Öhx€0^$á@@@ ý `      )E zAŸK±`J­Á$@&Lh„-żã–B¼À¢?'s¾„Ë®ùsùD6žL±Ê9MõkU{ˆQ'WˆA¼"`–Z„é$ÓÎ)}¸ Ú|ý˜ÆDöá,3¹B1… hVajH¬é~ŽÝЧBí¾b·ÛžûÑégi]oe}µðïúg³½LXí +U»ÑﻲÃ.€væÂ^Ôgkªh´?ÙßRäg{ÎÕÂ@ÅzüÍ‘¸Dê÷{Á;€¤2²¼•Ñ…gûûit.2Å@Û3‰FÌ'€‚€¤4›?Fûã ˆMT¢•xÈ?ï ¶ô[J–èóKt¡ºÆ­Â•ÐC5>HF«Rôר±è+ªÝ8"þN±«§1·ƒÀ+ª8 G^7¯Hë´^6öš|ü«M‡©‰¯!h>>ÏœäuÒP-RàU”k/ŒÌ/‚Ïäø:qZŸê{ÊiŒcŸn¿ŸÜIM%ŽòØqœÇÚ©š·´ŸU¼as›;kîëØºê”¹5ÏÁe·âG¶µ¦ŽŒ5|ù\ T…ˆêûÀáÚ´ ~ÙÄR;šwÏeÁ_ ùÊ…²}´ÉÆ´.`  ±<»2, @@@¢![#à,rú#®±Û˜‘§ØÂNgHùù:fñŸRøXSØgÂ…è+0Ô”ir7·0_&‹„UâÄH"¢„erî 1Y áÖ.dSEcር+áïàæÈPíß:)ÏÇB@™Ø¯ÕuHY*ñTEh®vÀKY( L®]!~ ólÚ50ا³@.è8¼àøn.~†ºGüòz‚i¬kÁb`t{&…¬íÕ°ÏÖˆl! Í™F€€€€€€€@æÀ A@R— žTѱø$اúc®G÷ï”Èõùƒ;°Op6@ sÐu,T¸`Dá.)âS}F‚ãÌMŠÿÌ-Q—UÂ7(sú\GœGå7âÀÌ0ùÞ Y’¦†˜qEµkªÐ:~ÞÙ“¼víüEüØ Bt÷ŸÏN Ñ~â:¯ÓãyŒB¸Ç]n“º5ŽÞÎ*ÒN?G8–ÊõKDe½H±ýÞI ý2lFh*aÚ^o6‹L‹&åϪ´ˆA‚@f(Ë]• ‰Ó* ŒH¸Hk@@@@@@ ÁXüû˜±ËŽÓy„ýãø¬b&¥ EX^zÏkiD5û¤ÝŠÝ]·ñpÅÃáU혤éS…êsMÃp¸ àÓÊ…ÐL-*áž_¨ ÑxNBþ>¥¤Š´y½5³ß$Û`i}¶íhL'ÑU¼£¨\kÿ»C¼ç ÷Wޔ̖øílñ÷3ó²ü¼£X»kÑ }O™'Š¡±HIDATPî¨èŽÅBÐ:Bâ«ÒöýsIMóô°É#‹#ÆķA>R8LXûc…ã¼…˜–·tjx+Z@@ þ cŠÌ'€‚€$“€1w1Ó«•e›* ÙõY„RÐâZàAóÚùD¤4H×­æ,s%’à#|xç6Õç:þ“åC%pLÂüü}Çb=mn£æO QïP¥Ím¨æ$|Z¹|„ïœÆò$„Ž)²™@„ÏŒ¼Î'L,å~F¹ÉdìÇ9§zÿçÏ/³÷—ŠcUË÷óRïxû5…´Ú=Ò7Ä ¼Â,ƒ­ZEQBØ^kþóW%¯ê#Ó…UðçÀ&:á¢bNWÍR(x>J¾rˆÿ\Qƒ€d<3þc    À@@@@@@ aüB?;“^¥Üi†ÅBvÙýáºM£?~Ú‡·)ç 7EK&HÑ5ñuéß³D×çs,…%þÏŽ"h¾²ˆknƒ´UX  ¶UÍY@¨gß!ç³ïBõ¹VÙ›Ûí>ûæ~”£"àxž¢ò”@cÅuËŸ—Î ×q&Rךr§¸ßÚ ð#a…g‰É°áœ“¨’Š*›¦xL«¾´}‚H%ÕÎ~‘ÆYúYtÇB7ZÏE‡o¬²ôv *9اßËTë7›«ÆÇiÝæ©èg]H•+ÌDÐyä²C*?pW˜ÐÁ¬@@ ™ìÄùsÂûœDOvB›FløtÊlæs2G$…_—!â8½Êÿ9ÿ|øãÑjäîmóÜýÑ_%’u! ôÏå»B¸¥—ô6‡`1©çoDŸœÉ¶ZvµµAcâ (¿4w?»]Gè‰Ï#€¥`ný!T5s@*›h„~f1”„•¼1²ÐM/{¦uj™¶ç_ÂîѶ1̬⣟Mªõv dÆŠÑB¹Õ€Èí¶»ÿ)Å›áþjŽL6ÖµN–C ¼îÐÔ@€ <ÓªújÂ5Ã|@ÀJ`jî*kê. x\ÚÁ @@@2•Ö      ~“ƒs]”¹ßÍI-ðÿaWÝŒ ªù‚£PÈ )¹ ù¡ë2<8•øOØ?ÆP¨_R$ëÓÊï€ÄBJÚÜFM¶‹ôx¥S¬éAQ‚@ (DÈZ„Lã¡JŒf3ƒÜŽs*aŸÍ»&ޙͮ=émöëàGÛ²PŽZä¦aj—>•°ÉˆÇ£RDÅ( µßq°æÈô~Þ™¢ó¥ÑˆÅßäô^çì6—ƒ\ëæR6(ƒP)›N7Ö )OÀ“ò&5@L       ù°BäP‹˜‚1x„åÀ.ƈð—6·¡Zã?ò²Ð‰“&ê^ ib¼®Y@§ñgdNc9ï˜P,mZŒŽ„FçéF@µ{_ØÏŒt[XöÅËß?‚Èœø;Œÿœñ²Š )“ñTÉ÷޽¥Íw`ØN€ÿ|ù×î$†kgÝ1Ê.FW7_Z'„¡Çò»§Mh[w‚àÚŠ($ñ:WD€fÈ ey+³bnéqk;ÈHX€€€€€€@B¸ÞÙOÓ§º €ÅK®ìæ5ÔùÅ k~ܪ¢+^ͼv#ÅË'üt@ªwyýÃW‰¢‚_Ÿ?øD Å ûpkǶ Nrm žîA  ðÏp™"ä¸}–xÇ>#EñHW[ÆìǶ#ÊÆNÙýO!lŒ:ïÁ$ÊnóΪ˜rXdÉÉÆ·y¼Mwüšó‹!ìã®92],5í(B_4.´5H6MÄQÈ|X!€€@’¸ÝEFe,–ã¨äãP¹`M±€:a2^‡~KÉáуIŸ_¢ûÓàjë²PA×4X@}gÙºÙeÐMgÅßÑyã&nêh Y2¾{¡6Év©>`E†¾X¬WY¯ÓêªÚ“®ØÕͨÌI”F3Q#jK5!|åTs{9õÑP7±N»èqœ’ÜÕÎò³Hù˜ÛHs†Äܦ`¡:OäW†£ ¸OðšüI¶úý·ûKÎïz•Ü%ÐÙ½iD€¯CÜÉe·¡¿5³Ÿý®e*i&„c.ïò§ÍmÔ„Ðjdòiå²m^Càý‘3$# Ú½/I?'ÂâACêpÚÁ-b”*¡˜r`‚0K?‹ƒ;úÊEíhJcýßkÓäT] Ðè{8‘ÑØ±µkKd Vß–ºãµcfeÜv׈ejTA@@ Ñ L4aøH]ˆ @@@@@@ uäèUÊÇ¡ª„ "Â+â"¿ ‹b ›ª]Èç· 3P7°à‘¬¶@O< $ЗÿÜ×çt]Ü<ØÕN/#úäLvšV£Ím¨voŸZ–»L†ð/µÂ‹.š8|¯D7!¬#(ÊÕlÅ´,B4ýiI Ê}ÔZÇDy,ôsšŒ…_œœlR£O)þ«k§Íº€KÉÏÕ9¨Ò60.q™âÚ¡CΣÍZÔ1)Ùª‡ @@âOÀSd       ™O+H¿(Êf.Îp²éRŠÿÈ6î"p%ÐòïÈ¢.aÿ ùlìG ^/vTÁI§v›sÏbÖ¸.!½ÅF«¸ÃÀ@ʨ\ëêçw{ÜQîäÖ>Ké#ì ¯qèvÉ…¨MÓ§ÖycªbàÝíÂ1·%HügžBT®_R©X®ÕZBÆ BÐç¥c"c@°%P–»Ê¶Î tæƒ^Ì%€•€€€€€$›?´M‹îê*Á ›ØUsÑ¸Ý n„\ºP‹"Åî4Và' s£ºÒyõ‹G§î^h¿k™ü $ŸVÎ;ç‰L}ñwB„µÅ]a¾wGúÜwx8 "À‚>f…¥újaû¸Vúg®+,.Dp†ŸdˆÒŒ¹â’kj!’‹µ¸ù¹åf„ßí|å±uìRWmª4‘×’®ºv»:ð”No.Ø,‘e):ïxû•ChjÏ­ 1ðÄ<2£b1       ™O+HóD#q!Š÷ºøàrw>]¨þX,"¿´mNc¹6·QRÐ%l_f™œwþàjs›í 4fÕcK…OÔisªeÊ„Gæ ‡­Õ¡]YL@þ¬°[‡¾—í¢­Ó°èOx–ÁÂ,kUW•¨¬×)™tQ§«#mÅYšZ̧\x›J„§jWz²ïpˆ)g:Õ–jä׋¯²Ö£/ñ0P¼IDAT çô*Y7œGxô©a&s¥ð‡{µ¥Ž»]&)4TØJ‰jÇBc P|Zy0ǘyæîÊlê&E’¹q‘µ6‰\x¤ë&‘sg˜oÿgÔò¹¡Ï]ð3—jëMÇ] S!âÉ •k˧¨W£Ü•~~òN~œ•£v¯9w¼Ö ðc+fSØfp³ö¹\_íèr²äk‚ó£ë3šñ4€€@tÊrWF7Ö’@Ö %¼€€€€€€d4,Α £x‡5Y9¢Ò”_ãFJÓ%¤VØrÇ?«(ê²C¥2gÖd'æ±þÚÙº¢Ï4a¿‹XŽ^%T»ÿñþÍi,÷Ç)äK–¹OÖÂßœâ–cÇDl‘BňV0H58oîÏn´¹š Ï'¹Û¦ûá°H6Êúj!5Á“6·¡ZÞý‹“‚Åu,q|©víSˆyf ){*r<Ú!ñúºÑ7‰uD×{G&è^¨MêÈøLËŸ9Ni½>ì˜ÜÓ§-Eùääæ³ùÅ~U–UT¹zÊ,ãU;±ŸK¡‹³^â“ù$<ŒOtð¢"`w ÙÚBj‹‰ Ë¿|‚@:(Ë]•ŽawjÌžN½Ó'G       ™O+T`!výSÀAsÆÀu8µüǨàŽ}67™ãÓÉõì<Ä}v]ÔÆ"@jÔ…wdË!EQ ï"Ä;¯¡NãÝʤàlÙ·O+פ˜1B„Jñ Ã8•ÀÅaºL€¯÷DLñX"¨ÆÕ§ü>qð©ßa(º@ MhSVÅöH`ö¦/å÷$wZ‹$êŠÔâÑ_‘~ýEÛ÷Hý¶ƒâÝhÃ#ÞS˜ü-õŽ¢ƒÂv‘2¯H@à‰úA@Ò“€éyÞ5€€€@¬0@@@@À ÀB(£Œ²‰@Ö_ûRÄçÑ—¡WéóKtý–*gÁ%ÅnP®„|„Œíd²<&˜º”GLâ ¬ù£¼[ô ÁZWî!Üt…)-Xô›–§YЪïm|¶:ïDÊÝÿtÅ.~VN¿«“R<¨I©_áV(…ƒIØN9·*Ø8¶GæU×:A1_†çRBà©@Œæ´#0-Oµa¨Çá{2í–‰€A S”å­ì”yÓyRO:ßÑØ1@@@@@@@ ó `…¶²^eKÙB€w¾ä”-ë Y§_짇þq^e®MÂ26Ä;UȽ§äÁB=áJ´£%ãÿI˜#%OCfåV|ä Ü,ʵpLÑÌ š^«Pî䙌ïôB…h³€^Û.€ qY¤ÇûFêWâo³ÿ9³?åDéӑ¿ÃEÑÙ¶3ŗΑ¡@@ ”ÀÔÜU¡ ¨E$`DD0È X €€€€€Ÿ€~xÏ^Yù;ÿ©þ¸«|toûEòÖÌ~“ÚkQ–R屦JÑNûz¤P°½š’¡J ¨:o ‰.#œÆu,eñ¬Ü1sþàjá ì‹ëÄp–²üBMËg˜>¿þÏvʆÀ@ ª";É©’"Àʵ6;`é6mäÑyW6{±žªvráóùÊEp'@†q]døË^h©Þõ/pDÞÝP76é´fÄ   í²XØ%L%€u€0)þsڽυÀlDŸœÉì+–äËÄ22¾cd>þà¯ðëÔ§k³_(¤ÕÑž´9êØ^‰ ÷ÝR²Äÿ9 E¶yô%"øÑ«Ú˯,&ò¦ï|~³øbÈ–¥Û úìÏ"?Ï!(UÖëB>6ØÎÎe›W>úyb_#üí!QUXX;ºœühBæcë¢ã#ÀâÆ á€€ÄL ,weÌc³u €Ùzæ±nÈFX3€€€€ÈÚGŸòâ‘@ @ ?zU`íÊŒ…PÊÎ ê` 6·Q†ðNô­†Û¸O$ñ¥Ím¨6'9µŒG–BÞ²åü„,:Ê 3’;õ±˜ïÖçàƒm…!î“?½J¶…Œ‰üÙ 1wQá8mÍçÞÖ)A øù×@ß#)Rf¡Ú=Ö¼ §¹l^½j¬Ùå( xÊ¢`˜W‰ÊõK䮀FKH®Eþü°Ø¯¶TÂì•V‡¸@ÜàëÈl@À%gZ§.u2ÕöýCÑ­EþÞSŒD3d2‡Çûð;_ð’ðKYVÀrA@@@@@@2ŸVhK …O¶ÐYóY;˜Åá|w/Ô&Åä&EEMAáΜÆr.Ç´6 Jò:7‹ù AŸB(…~ÒÆ²j“}–昪ä+¦q G@î «€°ïÚ×^C)ê¼ãí½¦:ûÚ±uö£@@ m@ÌסS`‡ða0€€€@@¨      ’x70™æ®–"¦8Fé÷ŸÌŠrcêšãÎq\nf»ò)œ0_+þó+²ú%yÜR²D´?âÚÂC¯²r’u'q^ OÚY¼¡  YL ªƒkWŒ×ñ{BÁb¸AÀqWµà 9€€@z(ËÃc€£9SY*ŒlA@@@@@@Ò“¢Ô&.ñ®eœ¤€‰ÅJ%zü„GQˆÿ³Ô¦–ѵiö Öô©rg:Óµ"èšÑçÇózI/¾ü >Â×1ôöÏÿ³Õ^W “¾UmW}Ö –í(YŒè¾òN™“‚@T@@2ÀÔÜU™¶¤„®À„â…s”!€@@@@@@@ …H ¹;…‡¦‡íZnãÜ"çp6qÝûÖÌ~±=þ—gÀc|˜BÇ_+œl=Ñõ"wÁ³íL»Fß±ØQ&)pd‘#§ö]2ÙFŠÿ¬«SÔ¥½ì‹,þ“fR¤çÒÖ§• MÔ ›Wû¼6ht!P¹VîBkníØ:Q[ªQŸ½€:pDKÀgû3%Z/aö|®Â…¨óŽ·iMǦ6õ5X[ZŽ+BÌ  ö°;`8—¬†c@ €€€€€€€@¦Àz@@ U ø…yn„EzE€næ0QÒô©¦ZHqDŸœÉ! QT´y ‰ù#v1¤“i̼tQæ¿¶Òiµ¡±²XŽERØGëœBLô*!w=\-r¸Òé\!û¨ø8|„Ðj¤à…”b>g/'ÊÏ–ù»Á\69SŽ5Ù  B¨µÿŒg 9 QãÞ{‚Änî€eKP©/Šë‘¬q€€¤²Ü•¢ »º>×–0ô%€ÈA@@@@@ …D#\Ò«XmðÎB' h²í»ÉE#¶ë%²ßøZð5ÍB?¾Nƒ‰w0tÜÓ}†ìE?f£Ð²´§q¡­êš´·é¦s£Ím¨Öæ4–³Àˆ“š@@ 9œvæKJúRûi ê³ç­*f܇Ôq¾ò0,N kD€€@:¨*zÌ6̪Bûv[ã,iÌB`–œY,@@@@@@²š ©I€ÅNQGÆ¢¨¨©„NZð‰öÝzD¢_4_¢§ÈDÿmà–£:÷©J~øš–;Ž5d=1ú´r¡‰Ä]㺦»¼@@ y*×/•õºÞéB@ËÒÕ;±Y QM%uÞ Šp´Äý\UÌ]³Éš¯½à.”¾rá/› PH'e¹+EµIX–»J,)þy:-!i±B˜4Ô˜@@@ Ó`bHRø$XìdŒ,iÊùxÇ4›Q¶Mþyl»ï\fßãÜÚ½P›älÞxˆ¸«œÓõ/!]<ðå¿6Ÿ€M‡2¡ÕDd6V“PÁ`Ø|Ô éSé=üHª87|z´€¤ ÿ ½,4ZÏ’Ðz¼kšý÷–ð9Ã\ŠÆX°ïpáx×?\[¸:™@uáã–ïêNÓƒ@š¨*z¬NïõÕ:þ-)¾V”å®LÓ•$6lObݧžwD       ù°BH;mZçIa—MôqÙÕM«aÏJTLÂ1¿Oök—äšì:Ðæ‚€‚-]#òñ³sªUN¢Œª|$¦]¯JŒ_öªù?C\¤ÏgIMª=øxÄ@e=}÷[ÅïR(Ç=SÌé(°Â£nã~àЖA@2ƒ@¤{þ9Ÿgù @@@ ý `      "Tâ'­}×2•pIeîE]ªybÇP”k¿ ³ÀO“‚ÃØgÍî‘~¶V†Z ‹ÿ‚d4a¿óR\£"ê_£ú-%Kôù%º·¿vÖz{¢ÄkóiåÚÜF“šÃõ¤ÕhsªE /…”*ñž?ìÒgGm 8ü]`ã]~ßÜ<Ø^`«cã&Úô2Q¹ÖžIGV³O§Ý;ÆvŒ€ýÎŒuÞ s‹Ñ   HtOÄνR4hgœámY&Ìð³‰å€€€€€€!@R€“øI !Ë›×*á‚IÔ%…óW;ù ¸ fæy‚ñ(ø´r[7JÙb‰¦Qž3æH²nv Œšm’TfáŸðèKDð3z•ÕcomãÓjXè(?~ÿÚµaòg…ØøûDðel´-°?êˆâZuï›üâø¨rv™¡ßytt½öB²äûˆnFXg¬@@@€ @È@@@2—V |H&ÁIDAT    )A@WüA> @2Ǩu„UA¡•`Ÿ,²ÜùŒ…fWÁ2 ¥‚*XëÔćr*Xðyîäh1=€@*pµŸÿ…GáS_ꈫv¬‹ß"øpœñ&°Ô;^áçIÍ   2<)IÁ       ™O+ìüã}ú駇šÓ¼yóú9EóÈ# 1Ûsù¶Ûnà4&Ù}&L(¼þúëûòúnºé¦þ§vZQ¢bèÞ½»ç²Ë.ë¹xñâ!ÌáÌ3Ïìæñ8ß¾4hPîìÙ³{=öØcCªªªúOœ8±ÐM|ÇÏ»îºëú<þøãÇΙ3§Ÿ›q'žxbá¯ýë~Ìâ§?ýiï¡C‡æ¹™ 6B8íÒÇb&+#'½ÐJ¯b–ôãö¤æ§"ôôÚ,„I`ÅëÐX¸5§±ÜQ”%ðŠ'ÇkåæÁe|½È]øæ—èþ¼],8äµ²ëŸW]È8lzd“¼^øº™ÛPí´iÍ›‹k^£9£qi¾æÃÆE±‹`ØX4€ÄF@õ3/6oi0Êcÿ3Þ¹+¡ uP¢êñØ%0Q±¥°_WâÉŽ?‰¡a*??Ã;€€€d$, @@@@ I.½ôÒ¾Ó¦MëcNÕÕÕCrss5»¾ò•¯tùÑ~ÔÏlÏå+¯¼²¿}²ÛÊÊʺnÞ¼ù„?üð„Ûn»íX^ß¼yó¿óÎ;Ç·´´œ\YYÙ'^1±ðïã?»wïÞ“}ôÑÓ§Oïwýõ×—¼öÚk¥<‰…zÖ¹òóóµ7ß|sTccãøûï¿øøÃ~Ä{ðûï¿®]»Æ«}§œrJÑž={ÆoÚ´éÄÚÚÚ¡?øÁúΟ?khhøRyyyWë\#GŽÌojjúÒªU«N¸ù曇\Jçúw¿ûÝ0âs"ñÓ­[7Üc´Bs[7 膨útaÿÇc—5WÖP]+|M„]/z•“ 5vAñŸ›Aaqƒ;GÕØóð‘yískØ­2œZ@ ¸§ÜòX´Ç).åTÅÅMЉ65X )øêBª¨€€€€t¸Ýœ»âŠ+¾”ÊéÆòé—_~yq¸ExË¥—^Ú•ìO9sæ³gÏîðÿHÕ_²ÖN-       Ê[*àÝë~ö³Ÿõ¶‹é—¿üeJýìbc‘Ü?þñÒ¡C‡Ú——§ÝqÇCyC»ñÑ´ñN|MMMãO8á„.v㊊Š<,Ô»å–[‚÷¡˜+9ñôÓO?ÆnL¯^½rß{ï½Î;ï¼û]Ó§OïÁÆ=zäÚ+))Éÿç?ÿ9fÊ”)ÁX˜ÅºuëÆ 0Àö~Û„ ºnÛ¶m<‹í|¢Í  Ûÿ!ÞI àÔg¸5çº(“‚,»Ç²]D1)’j‡¥hcT¸Gs ¨Î]öžõö#É t—ÀÁÕò:¢v§CÚðÎNFܧ±¨O%ŽŒ56ëXýa€T®-•õºž%2q™ÛlÉh !žÕX·ÿÏV3×u…?W»ÔµÕ8NS[ZíØŸ‘NÆï´Â€€@ƈ÷¿á2zAq^vÙe…tãñߺ®¿HéÕt¦äsJ3fÌ©oӮ͜9ógä¯5''g3Íý*¥•={öß›¹¹¹û©m-¥/Q[ØAc†Sß{tÓõ Ù¿«iÚ?¼^oµí5kÖùa"4Äè/ië>ºA@@ = JN'@÷zúÚ1eÊ”îví©Ðö /Œ¤{EšË¡C‡ÚÞ|óÍý6l8b´qN÷Äú3¦€Ë±¦'žxb8Ýo ¹GG÷·ÂÜýêW¿*áGðrGmmí ùqÙH‡n3£{u⡇jôs~ï½÷ãv.É<†Ûèž—xùå—Gs™Ó#<2”î»Y°=óà>#uéÒųhÑ¢!Fy(§ÝÖ?‹`…z Ñ—C…††Z¦ˆåZÉÑ¥Å"äšÑ«„G_âtÝÆUüKìvçMÕÖ¦Ù OèJaŸ?jS¹A;€@ àŸy)Vô!ÙíÖçY"*×vLÄ×ÑñÑ/$–ößѱxÂèÕ…)fõ ¶«›§+úõ¥Š4ƒ€@ÌBn.Æê¥  àNkû?‡©Ý|ü?sÅ®L7‹ìÚíÚfΜù€¦i÷PŸ1÷A*Ç·[[[ë+**äÿX6gÍšu>Ýèü'ÕûQ⣙޼”øCo«iLˆpöìÙChÌzê;…’qð8.w×uý9s5WܤXý%k½nÖHEˆ)õ”––vÉÏÏ×Ì‘Mœ8±ð˜cŽÉ1·ES¶ú‹f¬YØg7Žû Üí®©©©¥[·n+§L™²aôèÑkn½õÖFcÝ—tOÈö? 6N9‹¿üå/wé£{LbÆŒ›è>ÔŠþð‡9â3Æó\t_«7õ‰«®º*¸{"aÛ®]»®8pà*³8¯¤¤¤à‚ .»ÖÔÔô/..2gßÇüÇ………ÜtÓM Æ<œ³Ÿ#Þýoܸq]¹SKK‹oäÈ‘1sÏ=w½Ï Oœþù½± S²Kz•]«šã½cì©æá/ÕNf#¨_2ZLXôçÑ—„ŠÿLýB¯b`Hº¥d‰ ò8³©µ….¶ëÜ:¡ºî÷où¬Q|ÚœÆrõ¨ÄöH¥Ý—]3Ú@ ë ¨~^e˜Êúj!»ëÙ®/[;a¡ÉiåÚ2)2”1˜Ú­E¶³¶ÉºV'³Hor—@—¶‘|¡?Nì…GK½ãE]ëÅ>wç[1:QÍð    ÐN & ݈ìuå•Wž4sæÌËé&çûº®Ïnw©,iÔ3‚’Ð4íܼ¼¼>viÏž=kØ&Rš5kÖÿ#?Wì>§Ž#.\XL7"‹(ž‡í|öÖ@™oÈv¡>C†Í¢¿3iLÝÔ- ö†åOS ^¯÷Qª"ÃëÉ>ÇÑ ×Ó¨ÝÞCL Q!5«Xü%s½êÈÑ  iEÁ‚€€€¤º"*++Cvüe”ÿ={vïõë×O÷}N¦{8=z2Ý šxøðá“ÞyçÑÆÎxÆr?úè£1[¶lËé¯ýëð¾}ûæ,_¾|TkkëÉœžxâ‰c [kÞ»wïºçl^¶lÙþ`… ·ß~ûvÊ‚Gÿþý{FÁ6·…ï|ç;RœgØ¿öÚk{yä‘=\üñÇ÷>ýôÓ;¹l¤É“'O›6­{aaaðž­õ۲ͶmÛ¼7ÜpÃ\6Ò/~ñ‹\þÚ×¾2×üãÍk×®=JLõªªªm›6m2þ³+›‹ .¸ Çœ9säXÙ@o¿ûÝï¶’] Å+¯¼r ®®n—9åääh?ýéOûp©‹§Úk¡¥°ÝÇB»ýµx ‚âåÇÞSŒ€_ä–ˆ ô*!L‰Eƒœ§Òj„j×=ë¸ø]—VÏ!uþ¬isµ`JøOy"2 hhúÔhÌSÏÖ¿C”}\|öƒÜµV®_"„'D•¨¬×)UÛö(v"´‘Ùûh³ùOZ¨-UÌiï­  jª›/…86ÕN â,&à‰eítCïºÉú¦i,´›èÆÇŒ3Ž#;yC”Æ/»ÿþûwÙ¥gžy¦ì"t³÷ Èb)ûÃþð)×/^ܼhÑ"îû/×)].„Ð(ïY”w£$hü¬… ¾Îåêêjy„ÊwSâcÌUW]UÊŠ»åÿK‰Ç?Mc~Kö,äǨ¼G>§q¥\Šã"ÊXýQ¼¼&雿IØzåx´$€ S•Àe—]" ;ãŒ3z¸õµ×^A÷†5ª(//OÞãá±tOFyN;í´â>øàø³Î:KÞóá¾Ñ£Gw8p`'î߸qã—&Mšt ïîÇýÊ{b,¢ãÝñØŽÓ™gžëwÞ9ˆÛD÷¤våhóã?>äItß)Dð÷Ê+¯„ˆÙÿøñãCÆ<÷Üs»¹ÝHÄjÝG2ªbÀ€r7ÃA¦] éÞ’0„††áêÕ«eÎY¸9lØ09–ëœî¸ãŽñãÿøÇxÇŽ[ÈvH~~ñŸ^å¯Yß5›?„[m¨îVHE¦ŽGGwOR ,|¢Nà•"\^S V«Ñæ6T+…p ;ÎÝ|NpÍÇ4\€@tä³ZÉ;ãÕWKA\¤Ýñ:²žÇq÷?=Tx'í£™Ð2Þ*×dÛW%w4ìâ™Ë]ÿîCIãßjDíèNÛ‰5žKƒ¯Î$€¹A@@Ì”7;ÍF6åϩ͜š¨îxÐMÓ»xàc×¼@SLÙ7£Þ¦­Rü¨ËLÓ4CÌ×íŠ+®ô¥›ŸÆoIIÉ¥aèÛ=Fµ­­í<.Óá39çDm†O®Ê´`Á‚ר`Üèý•ø3bOèzƒG'€€¤Ä     Ðiš››}^¯W79rdQ—.]ä}(*ç÷êÕKþ'Qîohh8ʹ]úéOÚûÌ3ÏìiîÛ½{wëš5k›ýçääh7ÝtSˆ0ÏÓ¯_¿<~¤­Qw“¿ñÆ{ »=zäîÚµëÄ—^ziD}}ýñ—_~yðñ»ûöíó.Y²$D8gŒs“oذ¡ùóÏ??j¤wß}÷°yܬY³B„“+W®úèöÞ½{¯>á„ÖŽ7îc³1µu1×­å––}ÕªU‡þþ÷¿ïyá…‚?«׿ùÍo~zÿý÷oå2§^½zå{î¹=G]Äká¶M›654è#.Çšnºé¦íC‡ýØHMMMÁûU555ý¿úÕ¯†ì>H÷®v‘my¾Ï?ÿ¼Õ\çrsssP¨g/Ï;ï¼Oi¬œëÔSO]ÏvFZ¾|ù(^£Q§ñ¾eË–îÑ£GŽÑÆ@£läæx¹w\äIÿî*ZªÇ¶Ý§u|‡•ØÏvB4¦/ÍþÚJôEè  ¦£¸ÏÅç$¡¢Ütd–¾D¡" ãD•Ü0tTGkU‘xL@sÙ:R«³¶(êæÔËÂw¤6;g„ÙQA[ `*PžÐjBk†prNNÎf]××4­FÓ´?y<ž5¯TTTHQ_¤(È®·aCã7esN7u7u²(—pNõ`×-‰E€‚läŠSæd³n²†ÝP¥v!1ôãºSŠÅ_2×ë;ú@@@  TN&pçwtÊ~ð)æ;çœszrïV÷ÐC…|øðÂGydHnn®r^³½Ûr·nÝ<,È»ñÆ›Ç<ÿüó»Þ~ûíÃÖÝ iÝf3Y¦ûO2ç7º§ŒoܸqMMMòñÈlk$º%Ÿ¶‘——¼wh7aoäÖØŒöìÌ;¾ûŸÁÍ/8ÒÂ…]‰u Oa"<#rù(i›kÈè眮'mn#}_D°c[Nd/¤ð¯Qó_£ÜhJ.ÄtÂÉ¥¢ˆfl%À;ÖêÂ$Á—í÷R°×¶A'ÇÄOèJ§ÎoªÝ÷Ì£ô¥æZhÙÓÎÇõœv»†zE-Ñ4·‚ÎDÿ   |øQ13÷Ä<2úCºò)—’ñ?›Ï¦ò{tƒ1rǃn¬tCÓö†íâÅ‹åN~BHKã€Ëq4flµÛÇÍdÓ•sMÓdNå°G£P›<Èf¯,ñ1'dµ¿d®7°d       fnªxöÙg÷óNrF\,˜3fLA¿~ý‚÷~>þøãC­­¶ÿßR»ùæ›·÷»ßý¬ººzëæÍ›þío¾~ýúã÷ïß?ÊnžÄ ýÌš5kóîÝ»ƒ»âÉFÅÛE]Ôýg?ûÙ@º‡´ØºukËÿøÇí,ÂkkkÓ¹ƒû/¾øâ>ÿþ÷¿Gq=éüóÏ?fÇŽã'MštŒÙïZxÁÈÿÐJ¼äüFaa¡f”Ü,ú£{\FsH~ûí·\µjÕ¸äl;wîÜ/üqy¯‹ê!svªüèÑ£QÙ«ü¤{{\wÿ ÀÐæ6Tk†8˧•Ër›. Ø[³„¡.â'°õ‹ZÜ ÈkCеÁ=Îùz™×P§Ñ5ä8Yà,l§ñµFã·&n§¤Íi,wº®œúDàåÆ&`š”,.ñHîááê7ná„w£@À‰@¢Å®…q2Ȫðòd{´on‡QølSüNàF@hFoÿ¾ªT=‚X«³ŽB’K³@z˜–·tjzDŠ(A2@R€—^z)‹ÞŒ]ûÞ.((è¾pá“)}¹¥¥…ÿòræ`ÊçQr}ë\ÐxÊ)§l`Ÿ²“ÞN;í´bÇãè“Ì"ö?ùä“ß{î¹Q………Áûu,6¼ñÆ·œuÖY_>8 ï]Q]¥¥¥|ß-ÄQQQð>û Ã`·nÝ ˆçñ¿üå/QÜÔå?ÈoÛÙgŸ½ñ–[náÿ8+íÍbÃÀn€²FÈ|̘1<7UýÇ‘#G86ÙG-éó}É|ŸØïþ·õ ï.mnÃBbóœ<^›×Àp´üó¾W@î\asªÆiÕywM«½j«êû~Ž ?yÌiü¾Ì× ÀA| Rvp;ÛRGp~¾Î¸-,‘?î3ÛªÊG¼úÛÔg{ðœÔœ/ærüyS(öG`=Ž1>?aŸ79vëÁ¶â0j´Kª"¸ŽëÀ >?„#ôP}ÞVî>Cß{â²RŒçY"®zëN™¢½Ny¾kV/§9ÝÞæöŸÉ‡vÛâöÆí'0Âý:9NAüíþ†ýœ;> vwŒÙR(«Ú±ü»!T¡ç-tlp^:ûˆðýÛæmáïqË‡ŠªþÏ!Î_gŸ?ÌŸ’×`àßEôA‰|l=àËÖßIláo(ÚöÆ©ñ¸ãŽã›¬#é¦âÉ{öì™rï½÷î7\/^¼xoAAÿ‚½=Ðö½@®ÌòóóùF°ì§®Áÿ¥,,ojk —ÝpŽ— ¡oÒù•;F°•#}>Ÿý·ì }‹Å_2×-j       ej˜?¾q¿G8tèPyß…+^¯W_¸pá^.«Ò{ï½7rôèÑÁ'.Ðý±eË––7ß|ó óâ6ÕpÙÎóȂ˷cä!sæÌ YÇ~ØüÙgŸå>Nt¯GŒ?>#·E›Þzë­ßýîw{™Çñއ#FŒXwóÍ7ï4·¯[·.87·Ož<ÙxòWßG¢{mÁ{_ûöí î|Ø¿ÿò;†^ò)r½½úê«ûzõêµæïÿû!ªmÛ¶ÉûcÜÀë,-- aó¿ÿû¿!ÀM›6µ°m6§¦^§ZÿÀ[›îTõ¡’A€¯Amnc ‹ïXÌÆiùæÖ ¹=óØàU^ó›v¶¹À$"8…Of¢èûšÕ‚FÕ»öî…Ú$»öTeb+Ú@ cô:Y¹¿èɾ»kŸŸ N•õâšÕÏŠ«ÞRþü:`›’‰ÏŠÜÛ¹`¶-(¶·÷³åâÉKX eé/ãyn‹»÷þã"¯Ç'X@BÀ)€€€@8¤«««}tCwãC=ôá3Ï<¼éh„sï½÷òËÇõ‘”oRR9ì ·,(”í§X,o—úw4Z Æ8Û1ÙG75å Oº±,sê“픇dÛ-ÐØÈ•Y,þ’¸^~Ìñ >^‰\É#^þàG0ÈN¼#'œÿì<ÿ8ïÑŸ÷H̶ÑO'N‘ìÐö`šyLù³Ä ç6óÎ-ÎiçœSþ­£F ëx7º±cÇ~TRRòÑ”)SêùË_6õûãD.ü݋᷹J---¼‹‘iذaœ‡ŒíÚµkÈ=µ;vð=¡äªþꫯ™|øÇŸþ9ßÓ ñCö¼CŸ´ã·‹/¾˜wt ÚÜvÛm}¸ÝH6làûa²ÿã?Ý»wïàŽ‹, üÑ~´éœsÎù„î?±xOÚÑX™¯^½šÏUýÇo~óÞ1OöQKë•W^"Z\¶lÙ>nO£´ƒbëg@·¾¿Fn­‡Ææ‹ë\§/ÚþœuÛºÿ‘¤as«ÆåJq’ÕÞÖ55ZíPOƒŸaomº®KÕ–Éœ×ABΛ߷¼öéR1Z¿¯Ã÷:ãwQ®çus¤æràóí8gQžÆë0“åÉÇæïí¹±¡AŽó ?õ®œ“Ä“À燇ªÏRÀÊÝg¨kÅÏmQ#róæ|9g,²3Ä€•õd>wåú? ¶¡Î¿¿ÜBÛïQr’ñýbïºríhš[±N­Îv®-Êq~nþ¸Òàç­1c¥°‡Á?Ql»öú›ÝÌuÞñvÍB$:žD­~SñºÏ¼˜üßÁáŸÀç&'7ßþ»ߣ™w-à;'nç4ðï®ðÏ•MKÀ6nsÓéâ‹B ?<áMÓB7c™éæ!ßL4ªaùÂ… ù—YÙNãÆÉ‚å­K—.c…ð7ú|¾I4rÛ1>yW—ÊÆ#ï6{öì›±d#MÓN”!BþGv ÍšEí/ÉëµÆ‹:€€€€€€¤8„—Êþñ°à0,Ļロ¯aíFÉ'žXH÷\ŒªØ¶m[K}}=‹ÔdÛµ×^ÛÇÜ/ãð¶zõjã?ƒJo¯¿þú¨¢¢"MVèmΜ9ýúöí›GEy9rÄ×ÐÐÐzÖYgu£ûTtôèÑ“¤ÃÛi§VDãzšM>øàƒƒo¾ùæ¡Ë.»¬§5‘m·§Ÿ~zßþýûƒ¢Ê’’’‚»îºkPnn®öíoû˜«¯¾º¿Ùßõ×_/ïEÝ~ûíûô錛m/^,w7´ÎÃõ‰'þâ¿ØBëaS™¾óïôºä’Kº{<ñë_ÿºß¸qã‚;¶´´è·Ýv ê¤mö¾é,Hº¶4YSa°Ðæ6T ¡Õ“O+÷·‰Ô|ù„½Fu)·À ²€.ʄ݋>¯vÍŠ6ÅÏm_¨Ëßôý¥iß\%*ëuQ¹¶=¶ÊzúÔÛëöãhç ï úRøðÇIã㩇Å:©Çö ¹üó*ÆÛqhÌLP‹gIDATzŠý.™™”±*Õ¿ÉÝÈÔ’"œ5kÖõ;)}¬EŒ ôyzè¡H7 u²5Ä|§RÙîøF#Ý”¬ç2ݰ\Ë9¥‘KÈ OjÔvåòA›l×Q›<èF¦Ý[l  œG«ßbñ—Ìõª#G€€¤Ä    Rjjj¶Z¢{,¾§žzŠw‹³vë«W¯n¦{.ÁúàÁƒ ^zé¥á7Þxc¿×^{mÄwÞ94ØI…œœ²>ø`È}©áÇîÝ»÷¤5kÖŒmjjúÒüùó‡˜'©««“ë°î H÷£"Æs×]w 6ûâòÉ'ŸÜíÑGa—þüç?`›;ÿG2eºöÚkÓ“_xá…QùùùÁû}¼ûß²eËxAqå•W†yàŒ3úÛÍÃm·ß~{É'Ÿ|Òòî»ïwŒaÆÃÈÖÖÖ‰7ß|sz½^¾‡Å®36é7.Óo)Y"Óü]¦ÁÕúüÁô~û¥'L8ÈÁ>¸­¼f[“$Ìm;/ÓŽ_ÿÁ4¯Á^à˪0F“ñi5!®ùZo³´…˜**Á­GDÿ¼@Rˆ€!ª«-åŸí¡ß ®ÂÌñ ç*×ògß_V«þyÔêñp öjG— ¡)¾—k6/ƒMšâA‚»xP„È6ž$-x#ÍÓ›Ò 3gΜJyÈqÙe—õÐ4í²@ãZÊÝÜ,4¶'>…|N¦1Á£¢¢"n×.X°`5—éÆëÿqH¿ äÁŒb¸Å¨Pù%.çååýsN4þvÎÍiÖ¬Y—S½;%AcÌþ¹),uÀ_RÖ0@@@@@@@ Å ¼Ô&°råÊæÝ»w{ÍQ._¾<(*3·›Ë>ŸOÔ××KñšÑ~î¹çöª©©ræ™gö¤û0F³Ìyùä“;™E°1PøôÓO›©õòåË¥€räÈ‘ùÌ'Ðí*kii‘ ëëë[ ´zÍš5Ò—y0ÏýꫯîéׯßjÃÞÜŸIe)þ*ŸóJYLäl^$|v5¹#`§Â ’ÿ9Tì¾úÊ)ÜJUjñï¾çj'=O™p%VTÄ!J!cˆFŒã<‘â@?€€€€@‡x:4Úåà… Œß ˜w£œE€,ŽÛKåO(§Ä½‡-Zô—M© •ùfhnqq±Fey,X°à}òù€¬1˜ò¿ÓMÙ£999¨|±ô.Ävz¿’<(ŽÃ4fº¬Á>lmmÝImæÝý ! 5“anî¨`¯÷z½Mtƒöµ=MÉ.þ졇âù¨Iˆüü|nç98…‹Ü™ƒ¿d®—cDô €(S…ÝsYa¤®]»~hŽkúôé_}œ¿öÚkÆÐ ­Üf¤=z¬2ÆîÙ³§mÔ¨QkŽ?þø¯¾úêÍ×^{ígguV=ùÿà¼óÎû”û4M ÎûÒK/Éé~χԾšSAAÁ†¿hò?üá{JJJ>4hЪ /¼pCuuuìY³>;vìÇìÿÇ?þq#Ý#Ò Ÿ¼s Í·¢¾¾^ 9â3úT9ûá1nSß¾}åS. —\rÉggÅÔ©S×VUU}qñÅB÷Ï>1bÄé>™¼—ŶŸ|òI‹Û9 ;óΆ|N8ᄵ]ºtùÀ`ñµ¯}mÝãZÁvfa"Ï—™)6ñŸÐDHäKõ¸Qóœ>‘Ø^   BÜül”ájSeí æ¢Z&áñ–&!bÖ™Çø¢ûyƒjÀ° Ñ•¢¼¶ÊÎA µèÝ¿¦Hg¸¢Í N¢úϸ߂ÒR‹½Òiè‚ ž¥ˆüËô¶,Œ“Î¥zõ}{Ñ¢EWQÙz´ tSÕg”9'Ÿ?¦ü'”ŒGž°OªÊã¹¶¶¶±,ú“µÀyžnŒòÿÎi4™³t]Gc>27>ðÀ_¯‘Ô÷–©Ý˜‹wüÅnˆM&öÅXýQìIY¯}Ôh4 €A@@@2’ÀÚµkÒý”]÷ÜsÏοÿýï9¢'k¡MMM^÷ÕÔÔl£{F»×­[wÔnîüü|íÑGRZZZÄý}ôÿçQ.&<-[¶ìðM7Ý´ýé§ŸÞwðàÁûgñœœ¹,ÞxãCÙ!ü£?ÇÏ\3G×"„˜gˆ80ª›çoú̓Ûÿ`åíeaz¥ÀÚLÑ ˜mRu½ª?@i:ÿm$U£F\ !|î…t†P;'‰Æ68(¡^‡ÐÜ­;D8˜Ð¨à@Òž@Yîʲ´_ 6â"\¸páç”4N‹-Z©Zý‚ –‘Í8¯×{ŒÇã9SKKKµ ¡¾ÿ³G}=¨é»ÊÖGèÔv%¾±:H×uþ»gÏž\j»ðá‡y¼ ù‘ÇC=TGýC ºkš6™Ò)ÔÑ•ÚN¤øÿKå°ƒ|}F}ÿCc É~LÉËËëCc8½HõãÁ¬§>›(½G)äˆÖ_`pÒÖ˜€€€€€€¤4©Bà«_ýj×Ë.»¬ÇÓÜÜìûö·¿½‰ËH™@@¯ŠmZ ?B4¶±.G©ÄF.‡‹DïPè6Ø€€@Ò È¿)†Ï*ÅpáÍŽ-R§uP@§òN…œì"P±³ i³!ºÚÐf\ˆ_T\0ïÞhóyµ:ʸ:  %p¯"¦`´3?òÈ#zè¡÷8-^¼ØØ½ÏÖMEEÅÿPÇ¥º®¿F¹òX¸paÓ¢E‹–R¾î™gž î¨@÷Þ{ïþ ¼Mé}g’EøAcŽ’ý*²óþûïçÝÿÂ-3gά¤â@J/S²=¢ñgv@ó'e½æ9Q'€ð@@@@@ ÓìÛ·Ï×ÒÒâ{óÍ7÷—””¬Þ±c‡«ûS0&î0mn£æ$ Óæ6ľs`‡£ 8ÀMódF m—²»¦yø¬ši  iJ ‘:bÅX„‹fÒr¼æNÄh‡rŒD~ò\Äè6ÃR-žD¬>A F±ì¶ãT  tŠ0bT¡/Q•E‚ó)wyt¾Ù•W^9LÓ´;(’(…íHm8@@@@@@@:DƒA u¼ýöÛ‡ >œ2eʆݻwCü—:§¦C‘DëhsË…ÐBwÃa!O£v‘ðWÄ?8éÚÒ„ @@@ ÝT®å'ŠÅ7j)’Š  “;F;­Bü­›{…ø¬v´óï/1Å21*y½•<ô÷Ê®l¯`ý  YC Msõó0â=‘¬æ_hÊ u]¯ðz½ý-Z´Þrz¼û|¾íš¦}wРA.\èjwÁôX¢%€°@@@@@@ Þ<Â^ `ÖñNïÈ¢?J, LêMh ¼@ ‹`©  0|çuÜÐùÙjA˜bV»XíÚl†;ÍU[ª ¡Ùìès ¼b `sM(Ä™18Wq:ÿÊAèHu)/\´hÑÓüÈàh@¦‚-‹þ,XðTuuµ/âA       i°H%,úã”ô˜LbDëÜÚ܆jk[ÔuMŸj;Æ'ê^ !”ߺ° ¼@âNÀÕÏ'â3©wlç\)¬b¡œY@Çej‹ûîy±ÆÊñD îß °FH! Ûsücñs_Äùå¿&ˆ³¤TäÌç?ÎëŽÑ†€då¿«²AL+õÄ4 ƒ@@@@ µ ˆ?4¿©E~ÿ19þLà:—@zÏîbWÑô^ ¢H§ÝnYÈ:¹“ ºF— ns…&b+—ÂA§ÉuD¿«EÂÈL@r.­2‡ÈÒŒeÈuÞñöËpýsÁ~8ZA +¤Óï)rB2P˜"d€€€€€€€@ À5€$@šìÚ¥ÍmÔ„0 þ´-»ÿ ¼@@@b&H ÆÂs)î ‡Huˆ@@@ #B?€€€@ê@„      D©ø8üis5ŠÃ£“ÈS€kil¨ß<¸,ÃGè a´©ö òÕÙ·'«Õµ€O±Ë¯›øÝØ$k½˜'õ ¸¾&S)ˆ’L¿û%8¦Ë<mšâ÷Ì[j¼V”qÀxÔ%€È@@ Ñ”°ÁchþОpžIDATA ½ à;"½Ï¢ïʵe¢rýQY¯òêŽ9̶ÑnÅynílø%rWB›éÐñ    `%pÄ«¿mmËö:€Ù~`ý   þ°ˆ?Èüݺtm©°{eÃÚíÖ¶T'€ø@R™‹ÿ„g‰zàç§Ì«„lO^àîv镱…ÕÙâ8wóוª=|¥hˆ²ÜU¶žjŽþ0ðóж ÈßéðŸ«"P íÎ0`èâPÈDX€t"•h®CJèÔº°ýÕ¼/ðƒ€Çöç…¢@ÃydZCì8Ò‹|`‘r€€€€7F°”%€À@@@@@@@2Ÿ@&¬PÓ§Ú.Ã':(øx@*¨RQ¹~‰²/Ù•õÕöS: çì‡$¤µÍI¤W#jKñÁ8Ž7Œƒ€K>ü|rI fÙK Î;Ÿ“ì=ýXy¢ ´iÊß‹ö5ãÀVü%´.uÌ#€€@R@¨“̘2Ž€j—PPìŽ&ðô' ÕÙ, Ì‚À`R òlÆ&´I_šP÷nËÇøÚ‰©-¢ø&QŽç¾HâA²Á‘%èzJ“•"LHWÕÍÓ¡ãó§ƒf# Ÿ<  [‘íÀ[›îx…€0*   iFá‚€€€€€€d>¬@ µ ¨wÿ“që~¬ z–Áu#‰*!Û¥aÞ4û8“0³ë)jG— aˆPY¶ w/¿­iÇ/|äÓÝpX@€”k(€DA`ZÞÒÔÿyÅz` FÀfÀ#^ìþgw>2Hh·<´€€€€€€d¬@@@@@ íðÎBT)âvªvÖT8snfá¡…›Ýõl†%¬‰E|µ¥š‰QÎÄë‘cÙ‡+J€0O ˆ@@ Û ð.€ÚÜFM­Fðn€”>lðb÷?þ‚0œ Z@@@Ò…âDÐ…·"úâ›Ï¡-¨$œ@:Mඨš>Uà™HÀõî}¼óŸ#€*Q¹~‰¨¬×ýI–«GX;鲉ņ'Ùxãö@€€€€@úÐæ6TksË9¾hûÛéyò"Í`òa&Î"€yA@@@ m @Xœ¶§'‹€yw>Y®ÑŠö¤èOŠ y·A/…!¡ÇVÜ/B·+ðH@@@À={SX‚€€€@J@0      ÐaúüÁÕúü½= ˆ:ì:õDØ©L¿y°½PÂØa)õWˆ3ƒV ÚXh—Às¢õog_ÚõQìúRzà `&à=ŠÝ•Ì×µJ$¨ÙŽ]ꯜ’;"õ³)ÕˆÚÑå¦:Š eÜ|F³ –   iN í€iÎჀ€€€€€¸ “4 pöíÇŠ+—Ž‹[:÷Žcã¹êo¼±ßO~ò“Þõ9f̘‚ÊÊÊ>—]vYÏAƒåºõ7pàÀ\÷ƒü —#ëß¿.ÛrÜguV·üü|-Ò˜Hý“'OîrËœkÆ}ûܳöîÞµ˜sœXgëñx„S²Ú[ë¼ÆhÖko­»*ÚÙqÛÈÞ¹£­>QwAÀ#Ê„Ý ;!ÚQA´€¨¯JéD *ÁÖ¸÷¡ µÙú¨kuÞP=¯V'änƒFî+R¤(ðp"ðä%o;u'²¾A T>e¸ªŸQº9€X@h‚*€€€@Ê@€    ©HàÈ^¯è6  néð®Öx-óŠ+®èYSS3äw¿ûݰX}Þ~ûí[[[O^»ví¸;î¸cè£>:¢±±q|SSÓ—Î9çœb•ß§Ÿ~zèþýû'lÙ²e<{üñÇãòÊ•+ÇØ O<ñÄÂ5k֌ݺuëx¶å¸_}õÕÒ£Gž¼lÙ²QÝ»wê~‹øþò—¿ õù|ßzë­±7Ì¿»à÷ú›xsÃ^ñlÝGb@É1°8g 9þ‰'¶µµMtJ7n<Á<Æ(G»^cœSÞ½P“bE'£¯kžÖÍ(sÎâ?9rY´áÓ° z@ ³`^d¨¬¯VO¥Õ©û=µc#qccr_a@µ@P_*x·¿`r›i^A@@@@ DuÃ0õ„ˆ@@@@@@@2ŸV±àèjkk;´›à’%KFþò—¿”››«q$^¯W§Å€ò_zé¥Ñ_ÿú×C„gÜùòË/˜6mZŸâââ®û|>Îd?~|×wß}wŒ¬Þx׿wÞyg,½ºpÏÑÖÖ¦s™Ó”)SŽY·n­ðŽûíÒþóŸÒ‹/¾¸¦ÉÐE›×46²T¼ðæZÑ¿wbÙçœsÎ1FY•øš ¢]¯i¨,r œd%ðÆu«@1Ðe›uÍ׊Yô7¦oîhNnÄÚÜуeŸˆ,héóÒæ5دGö;ÿ ¼@@2“€6U±®!ìwä³µÙYO³ÿ#:ô9ë¼ê]ÕAŸC2¼¤éE ºùRüœI¯S†hA c @˜±§  %€e€€€€@§œrJÑøÃî/¾øâ±›7oþR÷îÝ]?ª×êúŒ3ÎèZVVÖÛ9â›:uêÚ¼¼¼ ? ÿ»¹]Ó4ñÌ3ό䲑îºë®AçœsNO®úé§Íçž{îúœœœßøÆ7Öoݺµ…Û\0{öì^\æôç?ÿyhQQ‘¼_÷î»ïèٳ燹¹¹\pÁ² ýë_÷ãr¤Ä>ùä“¥0ñÈáÃúÏ™$NÖELÛG|ôÁ»rx^^¾¸ãO‡ì8iÒ$9fïÞ½ÞQ£F}d—ˆñ:é ðf^ïæOêEÅ…gˆS-?8ÿì]ªõ† ù±XÓËibIÞD®sâ:‹ú [79‹þx ''ûe›Z* ñŸRçä} ‰%ï I$ Û ¿YÐç ȳXZwêKCm­5 Õ4RÝ}ü‘<¡2‡@¤Ï…÷èÛ™³X¬@@²ƒ€¼¡˜®KEÜ       ™O+h ÔÕÕyì±Ç†~ë[ßꑟŸß¡û_µµµCŒù§L™²vÙ²e‡¹ÞÒÒ¢ç;ßùtõêÕ‡¸~Ì1ÇäôíÛWîôÇõË/¿¼/ç‡j7nÜÚW^yå×_zé¥]tÑF.sºà‚ ¤HËãÇïÊyss³ïË_þòú}ûöù¸þüóÏï?餓Ör™Ó׿þu)Hä²SúùÏÞßèÿÞ·¾¾kÍê²zèÀ~ñ£oNû÷í‘õ“O›"Š sŠe…ÞÆŽ)•q|²ö#­û‘ϾÄ)wßæaœŽîü´Ï'Ÿ|ÒÒÔÔä%Óà\/ù¾äÌSÄï,“}ëÞûgïY?¸`¿¬Ð›y½T¼[ŸÈÅ{œØF•>Ùå]¯ê‹ÔÎcþêÞÐ4Zá/Ù @@ Í T®µÿ…,Ë… Å‚æ1~‘EÈäËjËÍ.ÒRÅc€vtá& VGtšÐ ê   ît註)`   q#G     ‘ÀŽ;Zx·>#y½^=â …ÁÀó¹kË–--+V¬hæ²9=ÿüó~5~ãßÎ=í´ÓŠŒ]oºé¦ÆÃ‡K!™Èãßÿþ÷áŸþô§›ïºë®-üãwÉFzË …B( ™BÀ“¾ Aä       ™O+è 6ì¿]ºtù8>|â‰'vDïÅ?¢°°PÞ?khh8êo }8p`žÑòù矷pùÚk¯íǹ®ëâ¾ûî“?ŠÅsÑEu?å”SЏïÞ{ïÝuÝu×5=öØc{¹Îé?ÿùÏAÎ{õê•7vìØ.éŽ;îd”Ÿzê©ÝFY•{<‘Øýðã?>l'´[úúß‚ÃÇŽŸ(x'¾Á½º ,,’ºAñÁ;oŠó¿…¨¾ûaqã‹Äw.™!zôê#ǰ- ø¸b^ïßžþ#7‰ü‚BqúWÏÇ•ž ë\t_‹y½<Ö.&iáE_ìmÛÂfœ³¨Ë‘Û­Ûá þkÓj}¸Ø!Ðq<:A@@ ­˜Dx~±‚âç¤V'üB?ûÕq_íèr²Ñ„ÌÇš„…öC„ð¹°i«ÚPÓÚÍQHY Ò€Þýké4"ÈHòfF® ‹È<X€€€€$™@Ïž=Wæåå}0iÒ$ÛÇÍ^pÁ½8$ûýë_ÿ’>öØc ¸mÿþýÞ3Î8£ë¾}ûÆ:t褧žzjä{ï½w|[[ÛÄeË–Ê·ìä÷›ßü¦Éçó MÓÄ|pü}÷ÝWrÍ5×ô¡r饗^*E…ä§íþûïßÅþÒ¨Q£äÎ…l³yóf[ñâú5«¹[¦ÁCGÈüÿMš*s~»}Á“bÎíˆó¦]*¾yñt1÷·Š×W6ˆ«u3w ð±/¸Þ½»Åøÿ7Iüëã­bùÆýâwü?ñÔ??ï}Þ,^úû?çÖËcx¬tÅ øx÷>ý™‡±¨Eæ6sÙÇvæö¨ËØ¥+jd1À@$ÐÚø;ÍÊB>!j„ÐÌâ¼)êx¤ìÞÏ–§ßz1tm^ƒùçbçYA@€¤­bÇ       á°<èl,Èóz½:çÖX^}õÕ}úô‘;¾óÎ; jËeÛ¢¢¢œ^xaô1Ç#ë,ävÞoÊ”)Ç455Èenã´lٲÓ'O^Ãv¼óàÕW_=àî»ïzÒI'uc»Ã‡· 2䣖–íR=rŒþ=;¶ËFç‡ìçL¦¢.]e>qòWdÎo…E]Dkk‹hjø\9,µ‚ãøÑ¯³YÃ&‚…|}{s¥¨k7qÿ“¯ŠczHM¤Ðu˜<æ¾RÞź^ã&±€~,àÛ׬°âÀ­+X hNÜæ4Îì+kÿp£ØÙP¿yp™™Ê  ™J@·ÿ¾÷ þBÍmr¿RMÔÊTj§šÇÁ0guÞñamhˆ•€O-Zzò’·cõÚ‘q    ;cg‡‘   É%€Ù@@@@@ %ôïß?wݺuÇŸuÖY=9 Ã‡û¾õ­omä2§îÝ»KÁ_~~¾Æâ··ß~{ÿ°aÃVSyÅ×¾öµu{÷îõ²]¯^½r~øá!\æT^^ÞõÿøG©¦i\ K]ºtÉù׿þ5ªgÏž¶‚>óCŒÈm¾€˪”›'uŒâ„ §Møm•˜4¼›øÆ—GŠ)£{Š;«® Šú.ûñõ¢ßÿS‰ Á_~~¾÷ïгN*NR .ÿÖWÄÞÝ;¥O^ïcxp ‹eƒåE~,Ø3 ø¸Ì>øYÌm«,4'[#§F…އhs#r`çH f(ƒÄ“@åÚ2Á)ž>“âK³'Õy'„Í^×Þf„PRhkû9óÿOŸPkÔ@âBÀö3Ïp i*ĉÈ|X!¤믿¾oCCÉ¥¥¥E‹ùŽ?þøwìØÑÆukZ»v-ïê·á³Ï>kå¾7ÞxãЈ#>nkkÓ¹~ÑEõæœÓóÏ??²¸¸XŠûV¯^}hêÔ©k >¸ð 7lݺµ…m&L˜ÐõÝwß-å²SòxÚoûu-Ì+p²å>o« OT_;C\uñ™â{_›(î­½å ðX”Çâ¼'¾Wüå‘ûØ\ ýÎüöweÙüVÿñJ1û{g‹Û›dóêïˆo>F´y½²~þE—t‘›7CägðqÙÆ4qMº¶4qÎÓг¦OµÚ'lE/?|Füðžx,ì«\¿DÈT¯‹Êúv±:—+©Mx–N\f{sTlc®ËZ†|Ï;ìp\+ ÍÚ,b?úìóNŸ‚“‚€€t„@ûÀŽxÁXH4øN$0hРܵk׎½í¶ÛŽÍÍÍÕ8”—_~ywß¾}Wâ>nãtðàÁ pΜ9ÜfN{öìi{ï½÷ä£lyW?ë :4¯GrçÀ•+W?~ü:~$0?î÷¹çžÛ_RRòÑîÝ»¥Jï¸ãŽ“âC³OkyïÞ½ÁŽéÞCÆkµÉëÚó Ñv$ðˆß­_ˆÿ¼µD¼õþª&ÞyÏà±8Å€wܽLNrX•ú…}U²%äìå¸F›ŠîÿÁmÓ“ŠMuÞñöaÉÎì»Ð  @ø3R[ÊÿV ßu}å¢vt9µâˆ’@Yîª(GÀ@âO -€ñÇ       ©Fñ€@ª3fLÁ† ¾D¹Ü½Žwã;ýôÓמwÞyŸz½^ÝçÞ½{ýÛÝQDzeËQvlÞ¼YîèÇ£FÊÿÙÏ~Ö—ËœæÎ»…ssòù|bÑ¢EÛ¹ƒ^xá1\V%Š7è¿tì yvv'Mþªr_ãçŸr&‹ñ¾ØÛ‹?ül_=džƒ† ãLìÛ³Kæü¶fåûœ…¥“ÿ%CÂúíæ 3JZƒUì§Õ¨…I €€€…€§ÌÒ`TYøÇɨ[ò Â.vγ!.õ*Ä~–U¢  ÞõÅ€Q ‰·)ü@:¨óNÈsÓù, v€€€€@@ˆ     Ð)òóóµ+VߥKyíá‡Þ6pàÀ–/_~XÐÒ¥Kåî~Üê©§ÚîÖ7lذ|îçT__ßRPPÀ;opU8p@îÞ×½P+Ó7w´‘|GöKz+,,”ñP1ä0Æœ40gbËÑfÙ7|Äq¶ÀÉe_ÎùÖû54Éß°|ÓA}ãö#îºë®Ar°åwBd"7öùgr‚÷ÞüWeê9âä/µèÁõËFz|ìpz÷[¾øÌ_¼ÛÙº:%c±Ÿ6·Q>­œsmnCûã;%"L YE ûëøƒ±À+jÊþÜzÊñï¨2‡HEí   Ðöâö8ÄP°½QìMÉ‚È|X!¤Å‹kˆÿæÍ›÷ÅW\Ñ)²;î¸CîÔÇv·ÜrK çæÔ³gÏœSN9EŠùöïß/Å~/¿üò~Ãæºë®ëÏB¾‘½sGwÍ׊tñ%—wý{þùçƒöÆ8Î1\^÷чœ‰^}úi_ÿæ4Y6Þò ÅEßû~w®·µµéO>ûâ¶m»íçr^^ž6}úô¾†ÐmŒôÈ#k”ÿ¹tù¶­+ªk >ïèÆßÜÖóP«~аá¼kñ1âäI_á¢Ø¿oÌÍoV{s_g–µy Ù!ÊÑ5ûÇûì³ûÆŒS J†`®©©É»yóf¹;ÞI'Ôí•W^aˆÇŽ[P__Bnn®Ü}ï¾ûîÛÊþ_ýõƒ---:—¿õ­oõzdтѹ¹þûX@÷À“¯Š£Çr·hüâ3ßáÇ}²BoG=™ãætL÷žÔâ?{°Ö_ ÷ï\$.¸´Bxrrĉ¿,{é-Á»R—øÏþsÆrQ|øá‡R¼×«W¯Üµk×?bĹSa.ÅûÄO =óÌ3åûöíóÖÖÖîäAÖõ.üóÿuc!÷•;\<[÷‘È ¬å±ûÛcâ~$!!•¬gÈùJÓeTÅ!îxøˆCsQçU µìòw Fƒ€$•€?›’Ê“@vH;`v¬@@@@@@²“V É&Àb8MÓ„¦i‚wÀãù‡žÇí\îׯ_ÞÚµkÇ9¥Q£FI±ÛÿïÿœÚpèàA—Ï>û잇:©µµõä5kÖŒëÛ·¯Tömܸ±yîܹRèõzõK.¹ä¶çtþfŠw6ozP,]»Sœ:å¹Yx½­bæùeÞ!P6Ð[NNŽŒ[Ó4¡yÚo÷-ýûßćï¾IBu7ÜzŸxwóañÈÿ-£Æ~I¶³èðÜsÏÝ(+ôvæ™gn¤X宄£G.¢¿D6'sìßûÞ÷ú‰à])ÖM\6Ò©§žºÎwÖ9ç/߸_ÆÿËëEßþ¥Ù¦õkÅcÜ!Ëæ·/ö¶m1×Qp P¹Öi÷>‡.»jK«]Z @âBN@ Ý LËs©ë«ëÒ0݉ ~Î Ð~G°3fÇœ    ™,@@@@@ CŽ=*wÖsrÒÖ&5oÒÄ(ãß>rWvDxëš§wÓ7wôÄ’¼‰=ÅÞ‘ßûÚIžõÿ]%Z[[äÈÜ\ÿ®---ú3Ï<³säÈ‘ÿ•·çž{nÿYg®½gIDATUÿù§A ÈË j ÅêïˆoŸ>Floj‹süª:«ëíËkóz©¥ý˜5í ñÜã …±ÃŸ¦iÁÎ76;öãÝ»wðàAߨQ£>~óÍ7÷~ A$×7lØp„ú?zå•WQaÇŽm'N\³nݺí­­2 ÜÀ®--GÅ_ÿ²X\ôÕñd‰#mhúÔ´‰f ¬@€ °À¯rý!S}µà:·“G!ÔlD²­&84r!ÛÈÞ:bQk/’¨óâ÷‰Ž`ÅXN"phç]43¦ÈžôZ'¢È|X!Ä—@EEEƒ¦i+<Ï •çãŽ;î¿¿ÿýÿ¥—^ÚÇ9Õwñ87éØž¹MÚžOGtÍ׊y,§-_|&.9ó1ix7qñÿž$nüée¢tXÉÆ‚‚‚.ºè¢ÏØÆšÖ¼ûÆ1çO9^L>îqÅùåâ¦Ê 1ý¼ÓÅ©C‹ÄåßúŠØÚø…à—yž¼¼¼Ö}¼ÊÇB»ƒdèl" ÿn½áÇâÔc Å…e_Õ×Î3/øªÑ·K 7mÚäW'Jkÿ[SS“wÊ”)òóó?˜:uêÚŸýìg›¿üå/¯a~£G^óé§Ÿ¶ú-Cßëëë[ÆŽ»–ÇëýÚø1yD±\G¨µ¿v¨Eú[ñžT>a#x€$› ýXô'DéOà™Ö©K#®âÁÓïŒhè;CA@@’@S€€€€€@Lœ8±°¢¢¢KK‹oÅŠÍÑL9¤GΠ~]=ÁùìÆn¬ÿ¯x奿Šü\Q2tèÐÁÇ{lÉ€úvëÖ­‹aoöÓr´Y¬|ï-¹sÞWþGøL;öÆc€gÍšÕk̸ñžëB64Ì‚ùæOêÅKÏ<. üéÎ#»Ë%^¶lÙaB¾ûî»G‚Ž\äzŸBìÙµÃÑúP«~ÐÑ ÙC KWªÍkp'ÌÊR>Ùµìœ*!…¶«®R¸¶LM±C«Ï-±ˆ/l÷¼¶ùåÆ&²X€€€„Àî¡-Gøºñ‰ÂîBx›…سYˆ]Ÿq Iˆ#»„8¼SˆýBìXçÏu]ˆ®}…(‹ÿÖíð®i4UXˆxç-7ܳk‡©Õ_ä±þRû;·}±·mK{Kç–ö7ûtn˜]¹›Ÿb÷?HEZdqïèßå¯F_¹Lµ¥Zjîüçžq]«j7ÀÀ#‘Ý»‚%€@Ò `BÈ üoªª¢ð]«©íén7-ÍŒUb ©NÀT?Cˆ@@²™Ö    )D`LßÜÑŽ¢?S¬‡ ðtóˆ–CBìÚ(ÄÑý¦^K‘wܽI½Mˆ®}„(ê40Ä,Ü 6š üà®yZ7SS°Øt ­iû!_“ÑÀ> F[gçûšu;û$`~Hˆ²›@•ýò]ˆú‚u÷âJ1àØÈ¢Á ÿÎ*دk©w|g„yA@@À–@YÞÊ:½çW‹þ–ÿ\p¹ªè±:mnCµí4‚€@œ xâì/aîà@@@@@@@ ó `… ªXü×5_+vßÞ¶Â]]»÷.ºOˆ}_)ì‹4°õÙ6ú­Ž$·ŠƒŸìjßùÅ|þÎÐwމSh«¿Æâ:ÞíoEcë NÉÿjÕú£À;€€€€’€ÿñ¿öݵ£ý»ôÙ÷¢@ÒžE M«áõT>&ÊrW ¡‰:mN#ý,x€@Rx’2 &è `€€€€¤~ì¯Jdg Pî¸×µŸ¿ùÐ!ÚZüe7ïÍ{…8z@Í#öxzïfŸ¼¸Ì;øªÈ@@ “dæZt-âŽlG¼úÛ™¹x¬* U ÛÙÎ;õ ;ò®~r@ö½Õa7Àì;éX1€¤ ~ °6·Q>­œsˆÿRð$!$Èpi"Ìð³€å€€€€€€!R‹ÿúuõ Œ‹óxÇ>Þq¯¸¸¸»´?²WfQ½5ï“æÝºu ÛmPµ  `yãx,M)WM‡SZ¢ÒD<Rà ™A rm™¨\¿D&åŠ|¦ïå6¿Pi+"õ«G¦|™C{°u­Ú+ª’Oª:Ñ Ðùd&fæÊ°*T'`ªŸ!Ä  ÙJë à$þc‹þ8ñãuy—¾¼¼¼Üœœœ\áó Ñv4ú´–c ‹dÁôÆþyNS“²ØÙàÝßì;    `&€2d Cø'ÿ޲òV;ºœê¼ %®/_¹Â@jÍÊC«©92XØ-žùص£ @@@@2“@3~Q/™EõVØCšï£—,ؼíkÖp6]²)R|Ò(Þö7û¤@@ 3 `nH$³Èwâ3„}2gÁŸ^¦˜¾JD+æ“>•þÓͼ[]¶ïæg°@      ¸ ¯¸âŠ/Ïš5ë[y‘©®®Î9sæ ”Î&û㨮Œ#’/£ÆŒCiþ³(Ÿ6mZ¾Ñî”WTTô¡T~å•Wž~ùå—;Ù}—^ziW²?•b?cöìÙŒöXóXý%k½±® ã@@@@@@@ °T" ÿqŒnÄu[¶lÙʶ¢K/!ò»É¢«·®}…È+GmÞ¹sç§1‡ЮÍÉO"ûµèŽ?2&r~øÈbR&ò«ò?’Wðãy#ÀÑË¢FðÚý þeÉn~¡âTó(Dœºûmã Ü€¸'KøðÄÃåe—]Vèñxþ­ëú‹”NPùœ={v·ŠŠŠ‡é&h«¦iSz…l?¡úÑY³fÕTWWçR=šC›9sæÏÈgkNNÎfšûUJ+{öìy”Ú^¸úê«{Û9»âŠ+¾JýÛ¨o¥ù|¾7sss÷SÛZJ_¢¶°ƒÆ §¾÷ŠŠŠ’ý»û?¼^oµí¥ØÏ¡!FI[o„ðÑ   ‰$ß     Ðix÷?ÕänÅu---­MMM ÒOc…pó(à¢^B”C¶nݺE"¼±ð“]Þõç+[Wp[„aèp>Q'ðäÀŒ H.D~‘¦gàZ…ÀÌ:V›jmq¨×ˆÚ€è¯v,¾@ù»X,é/…¼Wº=7!£PŒ$à‰Çª î$?Žâ½iÓ¦åx½Þdw9%ãð?Eˆ\]×o¤£/þÜù}æÌ™hšvYs¤²q|»µµµ¾¢¢¢‹ÑÀù¬Y³Î÷x<ÿ¤r?J|4Ó›—cèm5 Ξ={YO}§P2Çåîûs4æj®¸I±úKÖzݬ6       ?ð©A€ÅªÝÿx7»hÄu[¶lÙ¶{÷îÂC·­z¢+ÝŠÒ<á Í)â˜ÁBt§D½Û¶mÛ²3Âîd÷ù|#È_qKKKùy8ÐÎ;Þ( е õ=¨³èïLS4hРjŸhçìi~3’×ë}”Êt·–Þ…¸žìóxœÇã9ZŒ™÷º“K-ŽXü%s½ÂG7€€$–¼ƒ€€€d$î…Zñ9ƒŒ”Š‹T‰ÿ8V'1÷Û¥O?ýôóíÛ·7ɾâBô;Aˆ^#üb¿îC„`a`ßR!LF[¶lù¢¡¡ÁoOõt?ö7û”Ž…gºó@ü ¨ŠM;Û–ƒK,ꫬׅð,‘‰ËÜf?¼Ê¾YÕªÄyvýº ÁáZµø¯¶T2ñŽ¥Õ;þÙAF€€€€€@ Ä$ÌÉɹÅçó} i í&ºŒÁëm8pà·xà)œ£|k[[ÿãˆyìê*~ãä”t]¿Âè§XÊþð‡?|ÊõÅ‹7/Z´ˆûþËuJ¼ã F9 Ï¢¼%Aãg-\¸ðu.WWWûhÌ#T¾›c®ºêªR.°Ø‘òÿ¥Ä㟦1¿%{ëC=ô1˜Æ}”r)Ž‹(wZ½iÓ¦O>ûâ‹/6òÉ'ë?¤×Æ7:tèˆÝÜéÞ¶n‡w½UÈ‚Êt_WVǯkK³zýX|¼d‡MÔ ¼:F€EwB؉ÿ ¿U¢Òa>ÃÊ^ÜW#ÅA›6µ`/‡nˆýh^Þ‘08è41 .\x ¥¡F¢è§Pr:F™:ß4•ÍE£=÷ª«®ê)„¹+¬¬QË@J¼“ß2έI×õ·Œ6ÇS( äUWWË]üu™ÑzXÔØÌ?–sJÆA~VPÝîx'Ð8:;e±øKæzbG€€€€€€ęܥC4ÇB>N,Þ›X’7‘ÛYœÇu»u°¨Žííú¸m`q޼¿ÃeNìí9ñXNì›ÏÇs± ÛF›xû°úæ6žGå/žbµ–––Ö={öìÛ¶mÛÎíÛ·ïÚ·oß½TsgJ;‹?Ùå]ÏiEc늎 *3… Ö §/Úþ6(D$à$þ æÇŠJ±`[â-¥¿·øÊeÓ.~4^ùx^)ú³Cб ÑKà¡+„çž2!ä¹IàÜp  _ð   (žD96ûmkkbÔéžæf£lΩ]>—ÛÈ~0çªTQQÑÛèÓ4m“Q6ç---ÁyÈÆ˜¿„m¨ìãº%±P£ëºÌÉfßÂ… [);ÈÆˆ¡_X§¥l£ö—ÌõZÂE@@’K³€€€¤$C4g ŽÛYœgmw[gá óØ~HœAì˪Äs± ÛªlìÚyg×çÔÆâ?ˆÕœ¹ïãÇsr?–I'€Ê’Ž<«'ÄâAÀ ÿ®{n,…¨\¿Äq'@³¸Ï\ó®Õ…596äT ˆÐ uJ§ã90)€€€€$”@R€´‚.”ä¡ëú>Y°¼iš¶×hòxáK0È>¼ë)'œûì;÷ÙvΓµÞþôÓ‰S²æÃ<øìfò5ÀŸ%N™¼F¬ Ÿád^üyâ”Ì91W]ãM7 ¼ópÍ å×MévÙî9ƒéw"¾_1±ØŽlvð.€x¢š#WÄøÙ7Ïóí}Û¾ØÛ¶ƒÆDôyß-]9õ¥ó‡ïÁÀ÷à‘V½€xD<¶l+&#p¸G×ë k®ŸÀç…P…{›}+¨5½÷»ê­;Å5«— Î9¹ý\|ï‰ ä8áY"8UÖëÒ‡y¼ß!ŠÃqhg1yqwÝ5¾ÙÆëp7§À÷ W³òŸ?2±ªv¿™Úxƒ ®7×ÿ|âäÆ6¸¦p D¾øóÄ ¬"³#0rs ð牓ÛL´ñÿÆky÷Xê ©ú|>ÍpÜÚÚšo”Í9Ù˜ÚE«¹ÏZÎÏÏúÓuÝ<ÎjjÔCüiô2:lréüz¹LƒsqÝ.Qì®nŽñØXü%s½#€€€€€€$‡fIÃ5ƒžÐÍóó¢\mÒèÞ¹“úuóôŸX’wb÷B­ÇÀùî9ýÇôÍ=ŽÛ¹l$îOtâxb™ƒãŽ4.ZßRü·¯m[$¿èL#°¯Y;ÓÖ„õ€@gØ´³m¹*†­|ï«úR¾ý{OL•õ¢kŸŸ‹Ü‚I2çò5«ŸÜi%Ÿ•ãÌv<Þ<–ëæ~£|hç]‚“Qw“?xúnÌâjã=ŠïÔxÝû™ýçHu€}¼ÈÃę܀€$’@R€´€Ã”äáñxäeY1½išvŒQõù|GŒ²]îõzƒýä¯ØÎæÒK/5µËÝÆüÆ8Û1lHIöQ<‡¨,t]—9•e;åaÙk2?v8ÌŽbñ—ÄõòcŽ·PœñJäJñò?B€Av2ØEŸ$N8ÿÙyþ³ç¼'ïüòs9mò˜ƒuæ²æÏ'œãÌ=Ç8·É=·üyâîÉåžñ¼õùƒ+XøGÿ®;FöÎ1¦oîpÎY(×5_“÷S¸l¤°AøÑ¹‡Zt¾ÇÁ2r÷'»¼ëÙŸÊr`qïàÆÿñÓ6 éžÓK5Öˆ‘s#ñ|_ìkk 1¶þÐ.ÿÓn&±á]3þ;€®[WkÐ-ÇÕçv@—œ¿¹õ ;Ü˳½²èçüé‹¶?G lEþÛCúýîWY_!XÀg·*r_åú? ™ê¥PÐ_® ![d;l’ÿ÷cj'›µ£)·?ºö9 <ý:ꬡäæ`;W߃äl‹xò:gZ•;vä¼NÜÏ+ð}¡äUrß§n—GnáQ²{\S¸:v ðÏ'NàØ1Žà~Æ5ÀŸ'NF9® \»øóÄ)[9Ò¯»áGR€š¦ñS9;•ÇÉ‚åM×õŒ¦¶¶¶F£l—/\¸0øË>³õ×¥K—±ÆXŸÏgÌßh³èÈ1FÞmöìÙ†Ð/`âÏhM'úKbg wÊ¢ö—äõ:ÅŽ>ˆ8J<ýæÁeBèUN3uÍ×”ÿéÑiœµïú¯‹ÿûAo±¼¢o¯ü¨Oþÿ}¿wÕ}”¸Ý÷â÷{µÚ¸1]÷?Åö5ë¾ØÛ¶eEc+?&Ñ:¥ˆ;‹A—\ñSqÞ´Ke•E…ëvx׳_ÎÄó±Aß¾}s.»ì²ž•••}N<ñÄBnëH1bDþOúÓÞ½œ­/ºÏå¹é¦›ú³HcKKK󝹿š><× Aƒr#ÙGêŸ2eJ—9sæô»ä’Kº;Åîñx„Û¤šsòäÉ]n¸á†¾^xá1ݺuKÊ}KU,YÙî¼¼@ÂhÂö³5ðÖ¦äïJ'âòrü½Â?ƒÎ¿Pòׄຨü¨_Ùè°ädW¹–Æy(YºdU«µ¥Õ²èÏYÜ'«Ê7¿²  É!€Y@@@KÀ“X÷~ï>Ÿoƒ¿$•ÿŸQ¶ä§êÞ‡~xw ¬Êtê0Ä|§RÙîÎC7ëÙ@×õµœSI7AÃn¶RÛqÔ'oŒšl×Q›úèˆ;î¸cèªU«Nhmm=ù–[n`1Xe!Þ‘#GNÚ¸qã—~÷»ß [°`Áð/¾øâÄ}ûö?ãŒ3än‹Áo¼1rÞ¼yƒï¹çã?®Rkèqíµ×ö9zôèÉëÖ­ûÒÝwß=”çjll¿ÿþ çŸ~ðÉ¡£Ôµ?ÿùÏÇÒ}¼‰Ë–-;þü!TɱöÙg㬱¿øâ‹ÃÛÚÚ&ºI‡ ¹¿F÷íÄ_þò—¡<×[o½5–8ûÌ3ÏŒ:pàÀI›6m:aäÈ‘ùê(Ñ †²/ä6ÍF¤f×–h*ë«eNÍÁ‰2ë¡/ iñ‹ûlø­œú‚Fá…¶Ç…{BKg°\'æ$HŠðøo½ø9¯MÓ´ÊŸüä'!7gÎœŠ©ænIDATÉÛ¹›û…䑲¿ N¡ñ“e™UTTäéºnüí Ýð\ÍtCñÿ8¤_ò`F±ÝbT¨ü—óòò‚ñÐøÛ¹ÍœfÍšu9Õ»S4ÆìŸ›ÂRü%e½a£@@@@@@BN“CÀy÷¿Xc`‹9jÑ|²Ë»þ`‹0þ³f¬nCÆõú˜xsÝ(w/tÞÁ°G¯>âúù¿7ÌǬ˜ §vZQ]]ÝØ^½zÿÓ¨Ïç!æææj7ÜpCÉã?~¬iˆcñ‰'ž8–…x………òþ[[[Ý®âÿã)Ä1Ç“ûú믹üòË{::¡NºÖ{Ò¤IÅTTóçÏp×]w ÍÏÏרÈGqÓd\ÅÅÅ9Ï=÷ܨhD€ï½÷ÞèK.¹¤/Ýë’>8vY ·c=¶àÕW_-¥WP˜gÌEÝœœ£aøŸÿü§ôâ‹/îc7×ðáà ׬Y3ŽÎIŽa@Ò€6¯¡N›ÛHß}ýÍ‚’O+׿6$AH—R a^<çÒÕÿyÁ/ø ŒÛjK‰¯ ¾F—V'„¯<¸[ Ñì6¯KãÍþÜ„€€€=´‚€€$š€¼™èIþïä…G}¦¢¢âK\§ü4M{žËô` —õo£ÔÊéÒK/ þÏh³HЕŸ¢þ¯WWW{f̘1’š§ÔЛNIÐÍÈ×(?H‰iÌtöyõÕWó#X~Iýq¥u .\G¹¸ÿþûùqÃÿä2¥I3gμmöìÙ¦M›–Oã§Ñ˜û¨/ÇÁNÇPê—qS¾’Û8Åê|'e½#€€$&ˆ ~ä¯>pµL·”,‰‹S“ϱø›8çÄÏ5Ëí©N9唢 §Mëþ›ûþ(^ùÏ&ѽgïˆa=ÿüó#éþ‹´{ñÅwuéÒ僜œœ?úÑ6¸ïÿû}ÇŽ[ ÞÊÊʺ~ï{ßëË&---ú¹çž»>77÷ƒüüü|ðÁ­ÜÎsÝqÇC¸¬Jü_ö©ú¹Åq×_ý .Ó}*AåÏ9nž‹îoñÊå.±xñâ²áí›ßüf1ñ“‚Ã]»vµŽ3æ#ŽýôÓO_»|ùòý<œêÚ“O>9œËœè^Ùtm£*Ñ=»¶ã´téÒ}œsúÁ~Ðãä“OîÆå#GŽø¦Nº–|@kZ¹jÕªCÜž——§½üòËüÔ®"%€6¯¡Î{·vn|Á& dñ’Yô'“ËÏZÊ¡ª\÷ß+¢[#‹úFBÀÚRMÔŽ.~ŸÃ€]ìOXE€2†š#Ý>Wß©cdN:z.|£@@@@2„@Ò€{ö칓˜­§ÄÇ×émuEEE+åÿ¦t%>þJ7&_æ‚)u¡r.§ââbry,X°à}ºQú€¬1˜ò¿oÙ²å(ÝàÜ@å‹)ñ±Þn $ò}˜ÆL—!Øç⢢¢ƒ­­­;©ívJÆaen<þˆ ^J‚Æ_ïõz›zöìÉ7!Ÿ¦¶BJ,.üÙC=ÄóqUÐMVnç98…‹Ü‹¿d®—cDD€ïèHaß̓ËT£dÿ-%K„G§?ÎëUBPÒ…­}k›ÙYOX^,ò³4É*·³àOVRü­®®nÌ]‹ž,<ëÛßù|‹¦=`»5Œ1"РAùlµaÆ#ßùÎw69rDþ‡ÒÅ‹ï™7oÞÜG÷…įýëþ\vJ7ß|³ä±Í´iÓ6¼òÊ+’9ÝSÒgÏžÝøÜsÏñ8½zõÊ£ºR¸lÙ²Rº¤Q,>öe—®»îº¾t?LÞ3[´hѶßþö·;ØŽçš5kVÃÛo¿-E{t_-çÌ3Ï”b;îW¥_üâ¸Å„'žxâšúúú®/_¾üðé§Ÿ¾aïÞ½òÙqÇÛÔÔäýÓŸþ´×.½øâ‹û)Æì£±±ñè×¾öµ\æôóŸÿ<Èò¬³Îª§õævºØ6a„uû÷ïoãú)§œÒÍãñp @@ Ù*×– )þÓm¯ pjDm)ÿr)Œ£1zèãcòå ׯ; Ž.Âa_”a     xñºsÆB>ÇhŸyæ™¶#GŽœLF )‹ã¸ì¥›ŠUtsï|®X’¼ÑÇmtãÒǹ‘,Xðc*ÿ„R3%> \~®­­m,‹þ¸b$ó<Ý0¤¤‰£Í”DqŒ£1™ÚÄ<ðùI}o™Ú¹ø†íwè«!F4™ØcõG±'e½öQ£@@FŽA@@@B„}}‰>¿D—»ûÍúè@( ÁŸ°¼~ü·½•,æ³4 ~Ä.?Ê—r+[W° ·q2Ú­c’Y?ÔªOu™ö˜BÜ­ÎܸcÇŽ–#‡ #y½Î·®~üã÷1ÆßvÛma2¾õÖ[w´¶¶êl3uêÔîœ;%Cwøðá¶¿þõ¯Rüg¶Ÿ1cÆçFý²Ë.³ÞyçÙï xûí·o1ì­ù7¿ùÍܦ뺸æšk¹lN×]w]°mæÌ™ÁušmÌež“ëŸþyó–-[¤ØëFÚ¹s§„Ù¥KWå]±bÅ677û&Nœ(Ÿ¸aø:á„ø?þ öiˆÿŒ>Οzê)þO»‚ŽßùÎwŽá6¤Ð„-¯€ët"þyø?¨ÄB°HŽ×Åy- }ô÷—@â:'!,â@¾kØÆÚÎŽTÉGcT} n—kÝüص.Á'îA@@@@Ì<æJ¬å… ~NIã´hÑ¢àãn­þüñCd3kРA|ƒp$ ñrss¥¶<wÓ3Ï<ûc©ob>NõíT–ÿ ˜ÊÆ¡SÛ}”ЍaÝè,£|ìž={r©í‡~x7ÕÃŽ‡z¨Žú‡t×4m2¥SȨ+µHqü—ÊaùúŒúþ‡Æ’ý2˜’——ׇÆpz‘ê!ǃ>XO}5òMã÷(9¢õœ´õæC       —nèÆŽ~aÂ>½J½ŠÅì‡\çrä¤É?À›E~,îã´n‡wý¾f=(VcnãdnðÀÁ']6´öœ¡C‡J¼S¢Ñ®ÊçÏŸ?`ôèÑ’íÌ™3?ݶm[PPH÷E~~¾¼7ùñǶóñüóÏï5ÚO=õÔ'líÈA@@ ²¾ZˆÂ?ÿ´ò÷ 1ðÎÂ7#š¤H°¶T£³½Ñh2—Es”ìW‘ý›÷ß?ïþ'ÛíÞèÆf%µó#N¬5¦fÿ?ÿÿ;ÍŸ”õúgÃ;€€$\ƒ€€€@`ñ ôü;òùwå‹ç2ØwÄýrXȳ9—’V£Ím ?è·Û°ÈÅ}œÚ[S³´¿Ù'Æ;Âä±O¯×«>|ØÇekÚºu«D¼Ÿf<&·gÏžRhõEí9,€ãö¢¢"þ²\”‰Ûÿþ÷¿Ö4M¼ýöÛþð‡?쑊·®]»Êñ»wïŠë¬¦GŽ‘Â>}úØÆc¶Ÿ>}úgœqÆFãQÂÜ×­[7ÏW\ÑsÆ ãòòò4n»ë®»¶r®J<æ¿ø…1~þùçGùñÀfÛQ£FIá"·mÞ¼ù(çÖôî»ï1ÚFŒQ`”‘'€®9>bóˆW;³Ãu¦ÀúÒƒ@åú%h¥HGàñ"YÅ¥_«‹‹›x81á@@@@@ Î"Þ°Œó|Žî/Q{3¥ù”Òæ¸òÊ+‡išvü¥°© €€€€€€d%t_´ÜqÏ£/ èéU²=‹“~Âvý³qL6R(hÓÖ¤‰:«øOdðë˜BOq4Ë+,,”÷ÈX¨wàÀ)¢cžÊÆhÿì³Ï¤ ­K—.žk®¹¦ÑnäúÓŸ†åÜÜ\Í(sþÌ3Ï ëÝ»wÞ‘#G|_ÿú×?á6§”““#Ç;íxôèQ)j4vÜsògí[¿~ýñ´ö“-Z4¢W`÷CÞ•0’0ñ©§žfˆg̘ñ©Õo=¤p‘ÛwìØa+^4ï È,Ù @@ ŒÇýVÖëBèü¤¥H“ÄGüçZL§;Š“#ÿ~­ÎÙg¤~çÑèL"€µ€€€$‡€¼¹™œ©b›E×õ ºùÚn2®ÍCçŒòù|Û5Mûî Aƒ&,\¸ÐÕî‚)fN%€ÉA@@@ )‚;öÝR²D ì:4«^e?\w% Æ2¿D·ßAPåßfV]Øÿ‘^ô‡i­FJ>­\›ÓX.2ôÕ5_‹Jìg‡A×uÙì$î3l¤a„·_ýêW †ÉwÞ9´¦¦¦~~¾Ö¿ÿÜ^xaø9çœÓÓè7ûýæ7¿Y|þùç÷æ¾ýèG›<(…{\” ! 1‡ÓúìÆq›Ýއ÷Þ{ïp;a#Ûs1bDþÙgŸ-׸fÍšÃo¼ñÆ!n7'ºw¬ñl †˜Ð¦ Mñ$àôÝ!”¯}ÍØP ‘ ? TÖW )úó,®„,ló•Çwç?ö™ŠpSjˆâ:q-,M­"èÚ/cÑ¢EO?òÈ# {Ä‹ý¬oeÑß‚ žª®®v}£¶ã³Â€€€€€€¤:äÇ'ÆŽ}R0§W¹Þ9Ï®ôei ­’ï›Û‹ò C#£.s7pudÿÒ8ò›®-åÿdš×Py@ê[ìkÖvHÓ´ˆ¢ -[¶ìðk¯½¶‡²èîÆo|ôèÑ“·nÝ:þÛßþv/]×ÅþýûåÔÐÐ+IDATŽ‚ÍÍÍ2çîž|òÉ‘<æ_ÿú×Þ§žzj—Ý&MS¯ÁšEwný:ôcMÓVwÜq=óÌ3;9v^Ó]wÝ5”c¶ósë­·¤1²«¦¦f‹,XÞØ‡ÑTXX¨>`ÔÚÚªŠÈ@@";úIq üªÃÌe¿ëGýÒp~—`áßèrwq•›Ýý|4?…‘6‡›5¥Íb(€t€†‚€€$‹@Ê “ó€€€tL    I! W…M£‹²˜D€š>5Ì—µ!G¯²6uç9y'ÃÚœk5BîêgnS—Yø§îÍüž®yZ·hVÙÜÜìc{C(ÇekêÚµ«¼æóISkwXýì³ÏÞTUUõ…áÛ0Ø¿¿÷šk®Ù¼wï^ùØÛG ¿þúëDZ ®¥¥Å7{öì/†žg¤~ýúå ziš&Œ6ãÑÁmmmRWTT$ã#³°ƒwäFöÍy,iÓ¦M-]tÑg÷ÜsO×4M\uÕU½¸lMçž{nOnãùž~úi[!#­_ ÙÎü8`®©oß¾ÁÇ>|Øxc0ò˜h"Žiñ”Xðž<•õÕBðŽ~‚ñ'ÞåO¶axÊ„«ÿØ^«µ‰þ±oN¾È⾸‹yÞŽ$ü:BcA@@@@âOÀ—±yÄ(Ì'ì:î¨Ç"ÀùƒéäQDEc"Z“>¿D·Î-ëÔq¼ôµi56]6Mníl†¦xÓ¡û]»jÅ }Û¶m­<ž€ýû÷Ïå²5 :´ÛXÔÆ¹›tÓM7m/**ú°wïÞ+¿ûÝï~RRR²ª{÷î«~ÿûßïêÓ§œg÷îÝR8f̘"ö™ŸŸïY·nÝ—6mÚtâ¦@úå/9ˆû8m†øîðáÃRHGqK‘ ÛXÅ …t»ví’sYûúرc ÞyçÑœ&Nœ(×kôyeeåÞëÓ¦M žsÎ9Å]»v•ó½ùæ›Ê]7lØÐÂ>8Ѽrí\6§³Î:+x^?ýôÓ£æ>”A@løE~U6=ÜT%äÎ,*¶3§)þ3·Ä»YÜçò÷ŸxæäÏ…hÑi8ú@@ K`™   É#`òXc&P¨€€¤ ýæÁeœR)\ŽÇš¬ñq¿ªõ k½Ê/ÖcÁ^ ÝR²DŠõ “@n×èRdßìRäXn;ÿɹe…%šºæG'üïÿ{$0T\pÁÇe#çÇÕöêÕ+D°gôÙå^xá1‹/òûßÿ^ ÷vïÞÝÆôݲe‹àMš4© ½BDrG•;ùÙù³k3vljj’âEöG)ì^_yyyWMÓ¤‹O>ù¤Yoûöík;í´ÓŠ9}ÿûß÷Y‡1˜Ûñ‹_ô7ê·Þz«Ü-Ш›sÞIÑSwÜq¶bÃ3Î8#(|ï½÷™Ç£œ@ß3›v¶-OàÌp¹°²d`qŸˆ$ìË©¢P8QæthuBøÊEmitÿQÂÉ¥cϧ2HC±]Ò¸©˜¡@@@@@ Û„Ýì˜@@@@@@@ Õ°€N>²Ö£/”üB¹(wÌ YT|*æ˜8.#… ô<¢LÄò’»ôÄ{Ñîh7ûãd×ç¦M×–º13l´¹ Iúc½1cúç÷ÝwßNc555ƒ²‘?ôÐCƒ ±ÛÒ¥K÷íªüä“Oî2}úô~?ùÉOþö·¿hµ«­­-á6]×EUUÕV.2ä£.]º|`—~õ«_}Î6loôÿîw¿“1ÿõ¯ÝÃ}œž}öÙaœ›Ó‚ †õE‹É1FÝš³@±­­M øÃö±ösâí¯iÅ[o½¶ÃŸ±“! üÞxã GÑÞš5k³£^½zå]qÅ=¹l$Z§ç»ßýn_®sLÏ?ÿü~.#%€ÃwÎé‹¶¿„0€@L¤¸/ÂHÝáw#­. úÓDm"ùk"ÏgÓLM5"òd–äCÆÄ¼lçMÁ mãÌÐFåyÉÐõbY ðÿÙ{89®ò^ûœž‘dyÁ+‹52†ØH(€Ù CðL>n¸³„8ËÉöu¸‚'bf®¯LHÆÀE±-lljIˆ1\²8B’ÆaqXŒRÌ>cñ¾Ku}ï{ºN«¦»ªºº§—êî§õö9uÖ÷©mƒ3å»zI™-«ºp)E#?țҧæk€-?:—HÕõ}Çwì¿óÎ;Ý+iO8á„e333§žvÚi‡yä‘…~ðƒ'®_¿ÞÍj¹ä’K~î¿æškN*‹/T»ù曟áÓwìØq¿óï<ñ=ïyÏW®\iµ½ë¯¿þä3Î8ÃÍ2øýïÿ±_üâî¾Ò†yì±Ç‚8[XX|{>_ËkÚÔÔÔ/T §ñW½êUÇ^~ùåCO|âN=õÔåŸþô§ŸöŒg<ý^÷¡‡:øÙÏ~öa-§¶gÏž_–6œï[¶ly’¦©}ýë_weŽ?þøeßúÖ·žyÜqǹ™ uDÑPÊ:¤²Ø¾}{yœZWMëixÿý÷»Ù5žd—]vY™å¶mÛž¦œThùÊW¾òˆo|ãÏ\¾|¹Õº_ûÚ×_5еƒ@ôoN¤¿Ÿ=\üPd•hÞàOؼ{˜ EÜWÏdÛE•.M­Õ¿ùáuŒ•kŸvÎ@XéL–õ þ4˜ý/ ¼Ê$ðn %ª@€ @ « $80 É€ @€ n$Ð ŸUÐçÄI‚Ÿ¥¢ÿ=ïyÏ*¿iÆÇ>ö±_ìÚµkŸÆÕV¬XaåcÔ$^~ÎöãÿøÀ'>ñ 7ÛžŠØ>øÁ>õ‘GyÁC=ôü7½éMnf½G}ôàoüÆoÜ¡í,Åî½÷ÞƒÒþÚ†úqÁ<å®»îzÞý×=çõ¯ýñš®vÎ9çü@Coê—–W[¶l™õé¯~õ«¿¿ÿþ¢®ŸvÚiGÜsÏ=Ï“õ,,,¼Pg4Ôòš÷þ÷¿ÿ§QšvÜqÇ ø¶æææÊœ4/΄çý·Þz«vØa*¶|ªöõùÏþ™kÖ¬qÂEY^óš×|?®>i­!àþÎdüûÔh¨‹€ÿ™Œ×HuµÜþÂ*žS! ÎèfÙk¿ ™{T_ ‹ZËÊõZqDc v @€ à ”LúB@€z† @(e_R%Ažæñ?8;±œä¹PËy œ8Яe ÑH[Y û2iåmäÇZ_¡FX5ŽCåU,ã„wE;b²Šf¤œ½x>Cy[å«ëËT¤K{Fû?äVOÆ98±XåàžpXá(Ÿvôa¶÷iû÷×Ô¢™¯|å+½üå/ßõ‹_ü g­uÑÿçÿüŸ¹ßû½ßs¯âu‰ò¥â4 Üâgás+òõæ7¿ùÇ;vìø¹Ö•Ucm©­ ÌO~ò“}k×®½ý?ø›uPó—bccc?{ç;ßù£ÇÜ ÷¢m=øàƒ ¯{ÝëöT¾BWü-‹Æï»ï¾ƒO}êSo»å–[R_µŠú¬-ù×]wxË[Þr‡ð¸Kó¢6<<|„_ßµk×c>ž¾øÅ/Þý7ó7¿ð3üY[êGë|ÿûß|ݺußQ‘£®cí#àþ>ù¿3ú÷Eâ'~`ïeíó€žê$@ñ~%°y×° =þZL22/%1[æâ (7,šâHÇgP ]"€ @€zš@âà&¢!€ @€ Ðm–îï!a_¶lpf沕Mf¸$ê«ÌHXÏ H¬ª)}T¥i‚5³‡tö¸NÒM#ŸH='TQŸÑvÕbÔòE;R×ãC“ð)ùZ©évlÞí+lOû7|b |ä’÷šuOZöP¡P¸5¶@˜øå/ùÑ'=éIß>æ˜c¾qÖYgýצM›~øŒg<ã¶åË—ÿç–-[~+ïxÇ;~úœç<ç;šðõ¯ý £&õç´îé§Ÿ~û…^øÃW½êU»Õ‡“O>ù;ssse¡a´N\ü²Ë.»ÛZ{«ÖË×´~ô£÷¬\¹ò'tÒ·7lØðƒ³Ï>ûûÇü7>úèoýÃ?üÃCZ&j§œrÊíRg¯¦Ýxãhèíç?ÿùÂgœ±gppðÖ—¼ä%ßUq¡Š•Ë“Ÿüäo_ýõ‹Êûz*2T?ÕÞò–·üا§…*ü{ÛÛÞö“[Ÿÿüçßþû¿ÿû?zõ«_½{ÅŠÿyê©§6M$™æyñìØÜ„•¿3úwÊJ<¾©€@g Œ§ô/×9v6%ßgI9%lˆÀÔº,œjšJõàUÁõ£|7Àw@€ pˆÀC,ˆA€z‹£ @u( ú‚´’µèv˪u(–:Cß¡b%Ÿ­WÅTPW•˜’Ø›4WÅ,%›·¶,p)ÅŠêLÆOØ^´´Sьڼu³ò툆Ö÷y¥¯«§ù.ùÒqÅ¥GŠhÔj_•íi¶$<ð@ñ“Ÿüäƒ;vì¸÷Ž;îHœ¥ïØc¸ñÆOÕή¼òJ÷Ê_WÚ­·ÞúøW\qïç>÷¹Ø +Ë/e]……W]uÕ}ûØÇîO›9ï…/|áa£££OÞ¿Qý‹ëSÅy_ùÊWûèG?zŠ•K\¹f¥}ó›ß||Û¶m÷|ö³Ÿ}Xü*½¹YÓz™cë/:럳ÝÆ:`Ìøí¬ÑÙéÌÁ â¾"ⵂ$A€ @ȇ¦À! € @€ ÐM–âkIh·A_½&ã,€É>ÙPP§âºz»O+oÇæ&Œ ðÒ e̳[æf½%UÑüÒ¬üH/V´n†@—žT)‡é;¿þÈ=EIBIDAT¿üïúN³ì†Ûe.nèG,³Gúô'V8ÊÇ£á#‚¦‹ï.»ì²U'Ÿ|òa·ÞzëÃßùÎwöEûË{üúë¯?å°Ã+|ä#ùYÞ}Å?@}OÀ þö̘ͻc 3%3ã‰\¦ÖŒ¸¼š3ÓÙYS³Œk‰/t˜BÕoºÏ!\‚ @Q£4ˆC€z‡# @™ ”^Ç›,´ËÜP½kÌX%&4Z´¥¶%Û å² öŠ&Û,7í¤ÉòÉÚ^¶t *Yzõo$ý ØÄ‰«ËFª… <À7@€ °˜ÀÅ+¡ö›ÔJ9]ÆSŽg‰ÔÚ¸Ó³´L@€@sÐJïh†øÏÓq"À¢Îž,×.N­µUBA_–]M Ø•3iw5rœ‡ @h½ ¬ˆl@€ @€@7hÜÇd‘½x^(6™Äuê@šÀ.)o .š ¶%[=¡M¥ U\¨eª,©_0°u½æÎ;¥ÍD?|„€ @ Íÿùþ§ÖÍ:ÑŸ†>€º’NC€ J+‰°@è~Œ€ d"àfÿK,i'e¥áÊåÒvI³ééìƒj‡q‚@S0ñ¯Nó#©~ЦîA¼ÒT}*øTå“Ð)G,³GÆõýàãŇâÒIƒ ÐÅp½ lÞ3#ÃKY¬\Ó¨¹^s3ú¹ H©@ @€ t/šž#¬‰ˆ€ @€ ¼hÔ¿¤ÙÿìdÕìviâ¾F»Oªç ¾¥ø‘>cŸŒiËœüXžÔiJzÑŽc'ŠÕd½Šá@€–@`ó®a³yw`LÿOå¦Uð·fÄL©­0ÌèW&C¤‡ °Ÿ÷ðÆehõ  @¨&€°š )€ î&€÷€ @ ´ÙÿbÅmfÏ‹­ú’.Î e jù;  ­4fé+,£¾ëØt6@g Ãö @M!@#í#°y÷„ç©@¯d-˜q¯ 3ÿÕ“ŠÿÖ5ö 5Z&=A¡`OlF@€ PA Ã*À (@€ @È3Æ|K˜aOgº‹iPEp1Éõ%ÅŠóêk¢–šoÇæ­qã°“†ÙúL/}x•â¿°ç`8œpÂlÞ5&Ö”Ä }hsvÖÄJƒ @€ Ї2 `&L‚ @€ ä•@ý²fVEs&és0Yä—Z/Ò^©\E;Ò¯Q‹”‹ö¦Øt!!Àl€D!@`iJâ¼ZmŒS˜iаº§I3µfÄðZÓj2¤@èK € Ä@Ï…T@€@wÀk@€ PA ¸dõppéÐŒ³­CA fLÂëkì’gð³5gÿ‹º¥"@«¯é-Ú÷ŠÞ‹çG¬X´L\ÜŽÍMÄ¥“,’^œ¥.e äŽ5€Šü6ïIð×Ù‘”/ÌÔ_'¶Æ¤™Z˵O,û“€M÷¾[RóÉ„ @€@7Èè3ÀŒ (@€ @È#ſպîýtñB0c3ì̤²ì´ŒUñž±“N¼'qÛ 0O…j‡¼’6­TÄÒò*вZ‹À­µ >!À±Ð'šaB –€¾¶W…ÆŒøWøŽ7›ß®á¥½ÖwO6àù7¿;Ö7MDü§0@ˆ @€’ L"C: @ ûà1 @}F@gõ3‹~Á¸®[W—f‹Ñ¼ÌLêØ©èo±x/sG‰µM£ÂBSù±“¥¼ÊtÖ!@}I€A/•€ŠÿTèwHøWц½(°"/Ëj°4¡1uÍ®œÅ#Ê@€ @€@×Èì0Ą̀(@€ @È'ò ̰‰ýãN›—˜]Ièg'5³ÎŠv¤”fø4³ž5%-u/ŽƒîÝvxd*ìSK.æÔzMo ×XãaáŠÀÎV$4¾zÄ ïj¼25!Eö=Ä+€a¥÷0"@€ L`2r @ÝEo!@èNüg‚„¥C úÚß0Z+È›ÀNý±Ï8Û2×¼Ùkè¯ü®?=²?x(nS}˜=*.4$èÚc a<$÷ÆZM@E›÷Ì7«_aÆlÞ]ß¼»4+r´F\Z4¿füङZk)ŽHÑI±„EgLÈÒä·þÍK5ˆµ©µÕ~Ç$ýD ¸©ŸFËX!@€ `ê@€°X… @€ tš@Tü·t_줛—°—Þ-té®ó8ƒÃˆ3@¢ˆ'Гǀ!úŠ€ ýœðÏÍÚº[/‰wéŒ~Fâ*¬ª?:µ®ôÏ :¡žÆ´ãúI“Ž9ùŒ0VØRû©¬B€@`ô€ @ À4:äA€º‡žB€ Ж.þ+ þTôW²9ý¼È1Ä:û™ZLVï%%ÍØ{#eD þËŠb¹$€SQn6¿B;WÞÍ ¨×=Kÿ™qž ]1_:3aLrz³œ¥ó!· Óű÷ÿøËýˆ‘C€ ô º†„°.\† @€ t†@µø¯^?Tü‡à¯^j=^~cáA Ž€ŠÿÔâòHƒº‰€ÿ™z})ec„}±,’ÄyIõ ¥™ãÚZqTÂ+€kˆœâÚ" €zœÃƒ @é éÙäB€ Ðp€ ž&PSügͬ1vÒ¤|ìâ¿<ýœ¥"À¾™ °Ÿ74cwt_GüçPðÕµpi¦ÖŒÔ,•Zà`Âu˜=3±ÚàŠx`ÚŒ‚‰‘> PëØøøïÜÒ" @€@¿¨sœëFq@€ @€@=‚KV—|õÔ:T¶T7¨úûP ‰´“%Ÿÿñ¹h—ø£¶ôÁÒ«T¥"ÀžE=á°ÂQqê‘ÁÃqé¤õÝÇu_ï«A3Xt-}u®³=3fsÔvëk|)Íþ—0¼¤ÙøŠO­-µ÷zߪ*MšOÇVÕ6 €@mußµ¤º‚NB€ ZÖ"D> @ ÿð€ p¿K‡fL!˜1&¶%1_6gËõ¥nj¢±[æfµŒŠíؼ5n6@;i4OÖ}¾ád*Ž:]²5T“( ºš€Š[ÕTôç÷í®ÎCÀÓûT§‚?Së'µ`X®£"fÆÍæÝ1I3ëÙÙÒl~Ŭÿüùç‰à&Së“4YRº Ä÷¸F é&âO\=Ò XÜý¡Øt!@€ ÐêöºPw *@€ @€ JÀ ýTø˜Šwƒqö™Ÿäú¾bªÀ/ÿ…).°csÎbò\¾ L@Åj*˜ŠšŠ¨raÛ^{Ì­;^¬©´?}ÕÑßñºccóþxø(S»üWÑY2áúrÚéw»ø´º¿ßú~š¹=êÛz”†ê# â?'üKÍE›K*ŠøJ‚¼ZbºISžýOÛ.º¨ÐX¼ÙÆòݸâ[$¨—@Âë¶ïÿñ—ëm‰òèx @€j@X›% @ù&€w€ 䊀ï¥ÍÚ7Œ§9\³¾V¶fÖÍî‡ÀÏðiQåÂ^yêa7½pÕ2Si£/:Ò¼zÍa·V¦ëºæ ©vù¯Â3íKº\Ò¢â?5m 3&+ƒ%A§2rM —s"9ño‰ƒŒ ú\~²ŠUø§V{@”€ú@/ŒØÍþ—0ó]ìøTx·v¨øÎ™ÄËÂ<­`g›j¢øÏ„:[7ëú“ *Ƽy×p|;2–ø R!@€ @ _48N€ ‚£ @€ ô''þ[ªð¯`ª~øý¥Î0qkäÇmSþº’@-  ÿÔºrp8 @ #ñlåT§â¿uÕ×@N”·v¸Wú®1­ÿes²º”Š«ScR U×¥BÁM¥o@€@‰ß€ @ +BÖ‚”ƒ @ wp€ 6È,þSÑ^ÑŽµ8õU¥qéqiåÇà8.¤A ’@’0WÇʲYOªðO­3^Ñ+ Ð ºßG7û_­a¨ðÏL:Q_f1]­6s’Ÿ8ë_Nüà @€ @Ȇ}@Ø0:*B€ @€@Þ—¬ö–Å7WöÒ¡ö9Ûºz"©^ yI#_I…FE;b/ž©÷•£Gf_ì›7† Pﱕ3b•"@þ©åÌMÜ °D*xSÑŸ†éMM7›ßZkt6?á/½|Îsˆ±†öÌȆ c€@€²@˜%!@ù"€7€ ” ¨8/Ø:˜B0ãM×5½\¨"âò´¼Šú¼™`<¹^üÚºá_¢PIû«ðgå`¼ÐŽÍ%Š+š`ˆ#¿Y4½P…jq^“@ànŠ9ÑßîÀ˜ÂŒ¸-×Njš1—–ÅÙ”L² @€ @ × ,a|—ª€ @€ ÐY~?c’ÄyÁ¸›Ùï’ÕÃQOø/±Ž–,ÕÓ˜Z©¼ÆâÌN62ã_´%Gt=)N: Ð3Tˆø¯g6'Í{BÑŸ[‹~GWÅ»~Æ¿E£‘•à&ùŠY ‘kÑ íµ×G†F€ê'@ @€ PB=…) @€@nà @ ï 8QžŸÁ/†Î¶'å\y)W “ƒRÀ/ROŃ~5)¬9CŸÎSy‘è¯`âN¨kø@ ß Ôsl 3*>€@è×ø/AØ–<‚Éä¬^˱göÚˆ @€ 4•À’C¸$|T† @€ N(‰ç2ˆø9¸×ûšÔ™ÿU¢f¸$Lê˶ö‡ëE¯.­ðU@€ î¿u‹ÿòày |¨ñßÍ»âÿ飞Ð$ t3|‡ @õ@X/JC€òA/ @}LÀ‰ÿ ¾b®=“øCmÍÙÿ @ %êÇÚ-sÌØ’@£€@[ä½7óŸoÈÍ©µ ÕëÊJµ’–sUWnWœ† @€ Ð$KlàR€ @€ÚL –ø¯žWƒz×]zgó«·¼ï,&´Aüká"¯.©E @è ÉΉÿj ÛÝkí,ʉݶ8cj] !_!áK‚›ZìÍC€@ÀU@€ P/B½(@€@Ç à @ o [W§ÏS´#öâùcl]?*kÒl~õÕ3Y>I3•LÂÀ† P‹@FqìÏ.~¨VSäCÈ1|º¶y·\fŒIÿ鵘ZÜ&MOÏþ—0›ŸŠ&ãh@€ @ýN`ÉãG¸d„4@€ @í Pÿã‰}©ø/|ÕgYÌçföK¬aŒæK=~\=M ×ÓW6­@=y ¯>ôêÒz£, à œø½—ù8! ,‘€ ÿ6洛äë1É4ÆÎ:_IäJºÏ3| @ˆ'@* @¨ŸÀú™Q€ ÐYô@è[)â?c'+År*ÐÓ™ýŒä•Ì”>*ðS+Z7[`e=sÐF~¨.U©þÎR&¬•4S™ Î K@u¨:ncê3û_ ’ î"Ð ou–ºÍ{fL•eþ©ÃvÖL­ј3N­µÆG\z4Ï觯°16áú¯8kø@€ @€@h¨ Mhƒ& @€ @-%Pšý/© ;©b¿Äܱ¹ Í·cóÖÙÅóñ¿°',R`¸$‰úb §'—¬–ƒÓË ÔO€ÙÿêgF @ 'œo×°Ñp©.ie1ßî £³øU¶Y.£"?ÿjß@®O¢VY)v}Ò‰üⲦÖõ‘À-¸)Iÿ>€ 2"€ @ ¡F@€@çÐ3 @ O ãI·csIy¦»™E€¶j¶ÁFûI­—Øj-2!ÐGlÊliy}„ˆ¡BÝEÀ ñŒŠð 3FÃÍ»ƒXÑ^­‘¹¶¤®¶a¼ÏèõÔ¸´WjÓ £ej5š–¯3ü­mú5YZùÍK›ÍO·EŒç}%Œ?I€ @€ú—@SFÞ  ÏÓL²ë_Ö¯_òÆ_%öܳÎ:ky–FGGOÙ´iÓËÎ=÷Ü£²Ô9ûì³ò/Þ°aÃ+/¸à‚§d©“V¦ÑöÚ5Þ4ßɃ @€ еfÿk•Nè^íÁ¦Î6-™9^0Ã&õC& G YüÛ‚ã4ÎÒ 4“€›™O…±1í•fïÓrUóÊ^'üKupÜ8a`j™ ™vÖè+~°e`E@€@-äC€ Æ´U8::ú×bÅ4[¿~ý©u ÅnذáÒÞAðÏbß<öØc÷IÚ§/¼ðÂããÚ:ï¼ó~Mò.y¿û÷b±ø¥ÁÁÁ%m—Øs$­j‘:O—¼¯®\¹òa)ÿkíçöJÚý7n|CU… ¶×¶ñÖpŸl@èú… ô%¤ÙÿlóÅx|U`dÇæí!kþlƒ]Z lÂëã!~' Ç¦Q¡®Î˜©V´#¶³‚>€šA`³¾ÖW_ë‚= ŵ;~(jŒ©^ÑüSÑ`¥U7ÐÜ;kŒÎú·f¤¹íö@k‰bHÝF=0>†@€ @Í#Ф–Ú*ŸOK]V¦ˆdnذá kíG$iPL—‡õ+´×8p`÷èèèáẠ6nÜø†B¡ðo²ò$1]—¯1]ž)_ß–:‹D€\pÁIRgä½HÌ/ZOãGAð)©s¡®d±FÛk×x³Œ2€ @€ÚA }ö¿vxÐÂ>“iæ?ÃH% ‚?±ÓÙ–¹ÙÔÂdBèÍ*üÛSz¥¯Ñ×ð:!ظ¸¢3ûF_Å++ù_¬üU …‰B·ü$_*Ó|y„7€ Ðô @€%ÐN 'IÌXk_³lÙ²âì¾ûîû®–©e7n<]ÚÙ–ûI±Xü¥ééé£öïß¿2‚«ÃtðaÜŒŽŽ.y®«èï7¤ÎÊU«V­ôõaºŸÐ/o !q/2|¯”_¦õ …¯Hº~dÓ¦M^T(ÉÉK#íµs¼Éž“@&@÷€ † —¬.š ¶%[=Ñpcí¬hƒ3“ºSÑOR^žÒm-ARÊó4| @ #Í¡àO…}›wƽŽ7HþWåeì¨UÅì¬ÑÙý¼M­µÆÙš3¥¶Nò[Õw¯´« {e,Œ€ @€ZD iͶM¸~ýúSÄk'¢øÂå—_~OœÝpà ¥\Í%‚ó|¡b±8|ÕUWýPׯ½öÚÇwîÜ©y·ëºØ¹bVL…‡¯’ðH1#õ7NOOÿ‹Æ'&&ŠRç‰XL—gžþùk5"~'áÿ'¦õ?!uþTÊ«xÐlß¾ý«ÖÚ³4OlPüx“„©K£í‰¿:&×¶ôÓ²ñºø‚ @€rA ,ÚSá^¥•…|CöiþÖÕ‰3悘ÈÏÁ¸Ö39þ¸±,ò9ꬌ®õd¼hf1| @è^øWü‘k¯NÂÎJïzí¤&ѸEËèÌ~*ö E~:ßZ\qÒ @h2šƒ @h›°P(¼ tóž+®¸ÂÏš&5üVXë/þ ×]`­õb¾#Ï;ï<÷Jß |…¡¡¡¿réë„]ÊÁƒ_«‘ÁÁÁßÐPMÒ|›ºêlÇŽŸ•È=bº¼N¿Òl íyß[:Þ4ßɃ  {@è?^´§"¸J‹Òðy&7b•3ü9!]´¼K=úÕN„Ú¿ m=4+aÉgO¼WÝ2û_¼÷©²*RX… @ oœ¸OgöÛ=á^Ù»Y¨n½0#×bKý•ÚU±žZi­¡o/êSAßÚ 3åÌJSÚ®XqÄè,åÙý˜ÙOØ4i nÊÞP=e³·JI@€ @È9&º×6 µö…¡ß·®_¿þä7þî† Þ/ö¶óÎ;o]˜—5Ї'já ¾ a¥IúÍ>­P(¬ ãÏ ÃÛ&&&Ü,~Ạ¦§§"‘ÇÅt†@ ý„LIDATc¤[5/Æþ#L[†iA#íµs¼i¾“@€ ´‰€ â–ÖU0^Ñi+ÉB:3’§U[hο¨ÈÑ‹/ÒÏÇ“»¶òƒurn¯ä諃{e,Œ€ Ð56WˆüTØ·y\›¨¸OÍÈ5Š›ÙoÜlÞˆM­c4½Y£´³¡XOE{VZÕkŸ …|*æó–&ê+ ¥íuÒ˜tÀ@€@g Ð; @X ¶ ÅI/¤¡¬—ót½ÂT¨¯ûuuÄOJ™¦§§HXµHïÓª2+¤lÝíµs¼î² @ù!€'€ ÐGœ0®)³Âã5…„ÒÎÂ×n¼nŒ&A|(>%ûc'{iö¿‡äÑ’@€@›¨ˆ¯,ôS1_(òsÂ>OrdܸWþ&eW¦ÛYIQ1Ÿq‹•üƒ‹óË‚½µa`$¾®$䛊„qM“ÖFEÙŽm쎮 @€ @ Û4Õßv Ÿz~d~C¯ˆù™ø^-ñ¯ŽŽŽ.“0u\é Ap¿GÃk¯½ÖÍ䦆®žÔ¹/\ ÐD)s„†ÖZJü!±ØEÊÜf†‰”­»½vŽ7Ñq2 @€ î$*¦ ‡T0‰¯ªSq`ÔLÆ«séÐLéuÄCAµÐ-AüW£ý®ÿYÿ#° Î4qW>.ƒ4@€šN@gùs"¾ ñšhi}ªèO­8b¦Ê¯ãµÒæb¡Ÿ1“¥üuñ× R€ ^$À˜ @€ÀÒ´ExöÙg«èÍÏÚwËŠ+Žžžž~ØKöïßÿDÂ?‰é²Z¾¶ˆ¥.R'ð¬µå¸O‹ ‰ ƒ Œ)㓊‘v])ëÛÐô8“²¾L\ö¢´FÚkçx9Ë  䇞@€@H…µŠBEQñž)3Q+ úVOT úJÎùº®Î"ña0^«n©…”ï¢IÉí­¬ÀÞÔ[b4€ œpâ?ñ¯þåÚẺþTøW!ì+Íìg{]ïZ 'L+Ü Íœ("øÌùÂ=@€ @M'ÐäÛ"<å”S¿O- /¸ï¾û~uÛ¶mʺ[®½öÚûW¬XñÛ²r—˜.oÕ¯4[¾|¹þw¤+ÁrIÿ:Ͷò‰®WÄ]{Ò®›™PŠ–ûª(W^-‹+Ê+5"´×Æñ%î¯j¢ISnif›´e ú ¨ÕØöý·íÙæ­ÙæO–³“|[îýÅU%5¶{³·û"áœüÕ —/ÿèÀ½Ù±ù!ošö³‡‹zl!¸%,Z_PêoÕÍžôÛN®úrµx¯²¹`ܘ`|ïûN¼LrÊÛ¿žºR¯®EÇg·Ìí‘Jåþº)þØ ö¾1)ýg<ª›Æ‡¯Ü§åtÐs”ZWþÝÈ)SX6ûœß]íéñ¤Öùýà­óÛæü›/‹µÿõí/o›wÆ›/ï™kZδHü÷ÈÝ2Sëö8ó}v~ßi×6Ðm/È3-óßà¹_»¶ ýôò1¨ç'µ^#cëácXÎyÛ¾z<©åÍ/üá8èÖ}@'µnõ¿9öò¶èñ¤–7¿Úå\:T/mNLL§§§¿¿}ûöoÜpà +ÝØ¶mÛ>IûK1]N•¯TÑÝ‚ ¥˜1…Bá(©ø:»4ë O}4Œøz±uÂ2.ÏZûˆ®AàB‰»t «)ë_k}ípU9Mh¤½vŽW}Ä @ wp€úˆÀÍžôÒ¤á¾lç]·x‹–Ñ´?°÷²oÌ-¨ /š•9þèäªOžñ´eŸ\9hû¯lì)GÞlšßû¾ß­a=u+ÛJZw¿±ù!_R™nNOböƒ»~¹›Ç…ï€ –8ÿæw›Í»çÍÐ ?iŽ8á]±6¸â¥Æ[Ô _^ë«iZ.Z¦V|aß-F…}jie5ÿÊ—5r]–Ö*y½Jàã¿sK¯qA€ @€@,¦'¶E˜Åë æ}¹M›6=ÑÇãÂééé{|ºÔ{¶GÃÃ?|_/‹sa|oÆÖ óž†¾Ž¼à‚ ¼Ð/,R ¬µ§•bæî0L ên¯ã}H¿³‰&M¹¥™mÒ–10è?ú7OmßÛžmÞšmþs9;©Á·5|áÚ_\õXRc»7q»Ÿñ´åÏ‘¿S1‹”ÄTÖ/Ûy×§Œ5³¦O’-KS*ÌR.½ŒŒÏ½âWBš¬Ÿø½ï–z©ãî†ü•ˬþ㛸šmyÙNÙ–†k¡ÕõÛž1tt?Ös”ûOØš³èñ¤Öž›w:ÁŸüamÏR‘~ôú+4YÿÈig˜+_öngÆhº‰.V®Ã¤œ–ióΰÆ÷&q×ý!º$Æ›Ô_GϹŒã¦Óû€žŸÔ:íýs,4°äòï·Oj½2ÆÁ±Ùé}@'µNûAÿ ½²èñ¤Ö+ã©w±7—mnܸñ½£££w‹}'Ö‹Râ3KYؾ}û/ÂxRH†ó½XâqËé>±P(ìÖx»4;U|Y&á¢EÒN‘„A1)û=]WÛ¿ÿó5¬0+e½ÐõS‘_¹ÚH{ío¥¿¬C€@§ Ð? tœ@pÉêáàÒ¡™²m]=Ñq§°ÏëÕ ¹ùN¶[æfíØÜDÙd=ß×á]`oª£4E!@ˆؼ[¯½Æ£I­GÌÔºY3µvâÉz´ÓRž•$Ši5¥z’ØÐB%@€ @€zŸ@ FØ øý}±ãÅžµaÆ3%\´œsÎ9ÇXkÏ U¤§‚·p51øÇ0çEÒæaÜ£££Ë‚ ‡.nõá;v|[c…Báï5 í°ˆ—ú‰ß¨ñeË–}NC5©ÿA £¶qãÆseýh1#u¢íkR•-¡½¶Œ·Êa @€ ÐçTôg ÁŒ ÌpÙL0l]=¡Â@“ñ£e]­'–XÍgÆæͬÉú)Úx Î˜”—Ö¶ÖSK+—çêXoW¢œ¦¢¿òJ¿G¬™íwŒ€ P&ÐVñŸ5Sk­ÿ•¨) 'êªS£I²ûˆÀÂ>^ÿÛG››¡Bˆ#@ @h¶ƒ ЪÔakí£££¯Ñ¸šÄOY¾|¹æ¦ëRö]z“üŸ‹P;ûì³ðéÒÎÎHüzÉÿõ‰‰‰ÂúõëO•ôëÄž$¦Ë5òˆé¬~Ÿ•ða1]Þ/uÞ®m^xá…ÇKü=Ò÷›4Cì{ÓÓÓn¦¾Ë/¿\_»ùo’¦ËK7lØð'\pÁSÎ:ë¬åRç,©óçš!¶ >]/¡[Ä“%ßù-á7]¢|5Úž´Ý–ñŠ‹,€ /x@"Pì NôëC0®Â@-›&j~YDh¤NhÁÖ¡@a±C ­5³:sž ýT€§æZ±“:; Ë+§¹Œø/-#mرyëê]ÌØÛ™QB€@VíšùoÒL­‰ÿ'Ьž.­µ{Ž@À Ð=·M @€ %hImNOOßm­}k8‚#%T Šãî—øbÏSÞö;wþ«Æ#v¸ÄÕŽ:ê(+¡[vìØñuió ·bÌj ?wçwîø/‰¿YL—»äë}bn?•:ow+Æh›×®\¹òáÜ-iÑÙý¼P’¥ààà;$âŒï]XXØ{ì±Ç>"iŸóÂÅwnß¾]û“$c–/_®éÚ‡ZY¸¨™ƒ ´×Îñª @€ú™€ŠöTÜ—‰Á€ŠúâK–ÛIõã®L|õE©N¸·(%}EËG…{Ö ñÂ:f®® Ã*>pí툱fÖÄ}4]ò]¹0ßÅ5=\_ØI—¿8±÷ÖŠ&ž—‰û@€€#PšýÏE«¿¬ž[õŸ*¬8bLhn6¿µ¶´n´\¤+õÕ¤l©ÜD$“(š@ (ûXš¡ @èa € 4‡@¡9ÍÔneÇŽŸ´ÖꫬnK«0ν:WÖç$ïõ;wî<_â•ËAŸ°°°Pôq ¥Íÿ)áEb‹é¢mj¨ö©ƒ®SÑŸ®x“:ÿ¯P(ÈC 3çÓ"ámA<[êÜI3W\qÅO¥­S%ïæHºïKgüâ»#FŠÄGmO|oËxã½&€:B€N!@ 3eÏ™›YOg׋±K‡ftÖ=g—¬ŽkÜ ò ÁL\^lZ`†µ½Ø¼,íH×gl­It‚»DAžöi+~ ×´CæÅ…ÆÍì'e][ªðOg ŒJz©¼‰|lˆÿ"#ÎuÛ'KAÊ@€zŸÀxâu¶¾òëw×N˜r|ݬ{¾²ÆKùVÊ…¶fĸ6"å|ùN„ôÙŸö=tKœQC€ @èS-vÛ€êÿŽ;¾0==ýì………' …_QÛ¿ÿJI;Iòþ^ËTšä#i׉Ý%ñG%Œ.¤ý¹ØJI\þ€·î¾ûî”´7^}õÕ÷JzÕ²}ûöYÉ?iÅŠG[kÏ{‘:BÒNÛ¹sçí¯Z¤­KÞË¥ÎaRþyRàW—-[v‚ÔQû;Y_´\yå•»%ÏJâ^±¯Š-Zêm/¬Ü¶ñ†ý@€ @ ÷T<§Â?÷ªÞÀè=Iü¸ü@~HSá ®žð>m+óÌ‹: ªfòs>-*“²Î"èú+ævqKH;hD~6³(O…jÎ.Ö×ÏM¨00Í#WV_)\¶9fÚ‰F @B`óž´ÈH¸Ž‘z,€ @ Kà& @h¶ ½Ó×\sÍCÛ·oÿªÚµ×^ëgïóÙ‹ÂÑÑÑ—KÂÙA|VÂÄezzzïÎ;o’ð{7ÜpCyÖÀÄ ’±mÛ¶wìØq‹Ø×¥^¥¸PJT/RgŸ”ÿ–”ÿÒå—_®³ÿU S6lذY¢'Šý“XìRO{Ѥÿ¶Œ7Ú'q@h;:„ œ`®Ì8ñ_²ÉÙ[‡‚šâ¿4!žøáü‘Žœ Ð‰ e%>xxƒIDATË"e}Ý,Å›QFÅzvlÞÅOÇ¥¦3ø!Ê3-ø(ï,Íþìá⇲”£  @ § ¸WÿºöŽæ¤ÑÙüârº7 Ï{‘€Î&ÄÐ»Ž€Mß_?þ;·tÝp€šD€f @€@óä^Áè“vîܹ§yÃn}KÅbñ.kí[V­Zõ¼éééL³ ¶Þ+z€ ®"€³€ J $´K-Ò¼Lÿ…â8Ì-/®õÀ ›TñŸ4IB­kƒ3 ŸÞ%´ßDFüƒ»2 L„Q@èQNè§b¿¨é+ 3r-%×S‰ãž4YfUK¬žÓ Ü‚ @€ @ ÷ ´p„¹îܹó×\sÍC-dÐ’¦Uô·cÇŽë'&&Š-é€F!@€ Ðgô¹Î.šq¯ëMÚ5ެz}ëA;YvRŃjéÂú[¦FïxÙλnéÑ0@€@„€ýí™1›wƨЯ҂4áŸ64i¦ÖNhƒ@÷8˜|ßðÈÝêžqà) 4›íA€ fȽ°™ƒ¥-@€@ÀU@ xÑŸ)3Ît¦¼0/>P¡Ý¼µc‹Ííˆ3/ÃLl¥¶­í•⇾K‚@›ücÞ¡¢aÌ.n§!aØA÷ìMiÎÿìá"?§"€º—€Šÿœè¯¦È/iŒ½,þK3é½@€+{a+2@€ @Í ÐÒ6¶/C€ @X$ü«)úó½ØÅB;Ÿ,¡ŠöœÍMØ‹çGT hT èÌ,þ¨@°h¥Ì\â,3VÚ1quMõ§TöPºúqh-C¬hf Ÿî'Ps;vÿ @ ŠÀæÝr=¥³ýUådL°³Ìü—ÅòJ î‡&Í•/»,¯ã ´šíC€ æ@Ø\ž´@hZ Ðç‚­«'²ÍöeÍl¥ÐÎÔøhù’Í[7; ýÍ['Ü2WSt§uô›Ú´›_«^l%{™À‰ØËÀ½¼ þ%0¾„¡Oš©5#K¨ŸÿªxØû¦ÖNÈ 'Kfå£8bJi’Ä@€ @}A ÅƒDØbÀ4@€ ÔG ¸thƘ`¼¾ZvRE{õÕY\ZgåS[œZ{­Ô¯Õôª íHb›m|êVLb1eIÊ/ôíh'óë9žA€$àfÿk¤."©F¨Q'ÇTðçl͈áµÀ9ÞP¸@ =è€ 4›Àf¥=@€ÀÒ Ð ¾%àÄ6Y?:‹žŠìÆætV¬µš^ÎÍ(~c'ÝŒ€·có6Mð•–gøô.Ù7âg;¼ÇùD @`IJâ¿”êP‘_Ô̤1nf4ktÖ¿þI- 1•!@€ @è -w`ËÓ @€ PI ¸dõ°Šý‚­CAÔLñ_Yô7ŸùU½•ý·b]}*âÒ5ž©K¦‚ê¥}ÃN..Ja€ ÐÝ6ïÒèOÄdIä§³¡y[;ÁÌh)ÄÈ‚ @ G0 @€ Ð|›Ï”!@K#@m@u¶®žpbºK‡f4W]ÓÓÊ8AžŠòÄâê7+Íù±u(0…`&“ØoQÇvÒê¬zÏ”DT‹2»s%°7Õt‘`MDÝVÀŽÍMXÙ—MÑŽhØ3ûs·mü… ¥P¡Ÿ³Ý³1fRŸ4ú*Ô”}“Å@!@€ @è}m!À6@¦ @€ ´‚€í©˜ÎãNLçfÏ ÆUdg"þ™ª2C–Ó<Ï òT”'VJ[]ñ#n¤Á”hɧˆ QE‰s~¤ÔͲfÖ‰¤ÆæòÉäùS4³¦Ö'‹H°Väç’@Tø—Kq € F`³ŠþTè§fÆÍæÝ؄ټ'Eüggÿ¥A%€ ^'Àø @€@+ lUÚ„ 4N€š€2P¡íÅ–>$T‘ŸqÂÀ¸‚¡p°2Ë•?ÔFevܺú£ÂÁ’Oa»ÚN¥ÅUNM³“öâù‘Ô"]œ‰¬‹7®C€º‘€›­o×°Ñp)þ—D~ã1MHZ ¯ÿÉ’¤©5={]'£«w¡< @€ @½O -#DØÌt@€ lœî’ÕÃ*ÜóVYSË”„v•9Ñõ`Ü òtæ¿hr]qiÃÍ0˜^©ìŠýÒ‹Ö™k'm/ÎúWIÁšÚ³>½M€ÑA€ZH@Å~Îtf¾ÂŒ1¡•fì+ÍÚWO÷Nü—"òKnk29‹@€ Ð# @h €­áJ«€ ÆP èk*øs¾B ?Ì:{г`ëPàò„Ž ]¾¬ÔZš$È+ S:ËêOJå,éíH_ˆÿtà½Iƒ$ëIH‡ @ q*üó‚?“(ÚÓ×÷Ndêäü›ßm’ÛIkb’WÿVàa€ @€ Þ'Ц"lhº @€@%9OÅuζòcêxe™CëAfô;ÔZ]±À «¯quö¾ïDù8.'CZYè7oíXhÏè+ûêÕ¸E“2 e¦ÓûF@h Í»'J³ýej½¶PÅGœð®L­-.„øo1Ö @èS € ´ŠÀV‘¥]@€@ý¨ô ÅOgõs³ýfب™ Ÿ¬åÒšRÑ]Z~RÞ€ÎH˜”Ygºú 3ü©ØoË\Šø­Îv»´¸;*“.õ·!@h#ÑO_Á[¶ÝÆ ý*|(¥W¤ÖZ­·|­ö4ñŸR¨6R @€ @è}m!À¶¡¦#@€ £â?ùo>‹Œ3Åéëf‹vÄ;iTt¦&ë~>—n²}tö¿§YH˜FÚ—vMh¾}"ü«¬³V%Ê6²csÕé¤ôF@¨A ,úÛ”fô †ñfÆ¥¶ÎÞ”…€‰ÿ¤Y´/ b—äÙÿ&)Êõ¥‘PkÚYcÔ$mj-×2† @P @h€­cKË€ úPèy-ÿíHV¡˜–Óç\¨B<µÈ,|š»!3\²Z~lŽÍ­JÔv\?Ò¶†UH¨"`Çæ­1V~8«c›>€ ôâ9Û3cLAL5‡©B@ܧ—´³ÉùñuK¢Âøj*ò›Z7k\¸Öš©5#%“´ø¤B€ @€ Þ'ÐÆ"l#lº‚ @èwu¼FWgæ«…KʨhìÀÎN¦W©•Ö–vÃXj:û_jM2“ر¹ g[æR~˜OªMz7Àg@ècNà·kØÍܧ;g{fÌf1'úË,ü‹BŒð•Kè¬|kFLiƾrê¡H¢ÐpüP™E±ן‹Ê²@€ú–‡ @­$€°•ti€ %!'Pšý/à U|§³¿éÌ|åáâêÙI+e¢9*3Z?šèã’îòýz#áÀ!cÚl€Kî§ߨ@€º€ýí™1›ýë|U侯×h¨<µV FÅá¬|:c_RêcR^eºÎúW™Æz-äC€ @€ ÐûÚ:B€mÅMg€ @ýKàxnkfMÑŽ¨Ù±y«¢¾C3úcÝŒpóVb“Τ¬Õr’nâ>­”«È>´ÝŠÔäÕ¸6*KLÂë€cú7| x¤B€@ßPQ]yf¿V üÒhFÄåb6aÆáųýéÌ„å:ÑHRýh†@ÆÀ€ ´–ÀÖò¥u@€@6”‚zš@êì½IjiìØÜ„³-s ?Ô–jk;vlÞª Ð;©a]â?“ò Ì!ÑŸ Î4| @€jp:é¯YÂ?ÞG¤ãêüĘeÒÄÎøw0ký˜&5)¸I¿±: P€ @€ Þ'Ðæ"l3pºƒ @èúÜ*»th&PÛ:j7)b9;67Ñ "%!àÜ„†õ¶ïêX+4ÔñýDÅ€ºZ«Æ6Ož"À` @ Ç ”gý3‹gÔkhØ¡èoj­5SkFœ oj­\G:!`Z‹“Æ•K+R™W)T´üãG%"Ö!@€@( @€ZM`« Ó> @ 6J@]FÀ üTØWfL¥©0NÍIãj~}Qh—8ëÊ¢ÆÚ¶’8£a‚h°mŽÑ @è'ôÛ=aô¿eÛ³ÔYÿì¬1jÅãE¦âSšÙ/éš2]üWª[Ñ`¸ªc £Æ‡f.§I¤na¡Ôa @€ @½O í#DØvät@€ Эtö;ÕϨ Om‰éÊÙò &þ`#ŸÀò8ÁÀl(@]I@…q›£b?/ô3ãÆ åT,§–ut*ð3*à+ŽZy¦¿p¶¿´æTˆ§åME;šžVÏå¹þ],öKÇ›A" @€@6”‚ @ß{5IDAT­'€°õŒé€ N€\@`Iœ(ï’ÕÃ.©¡•ݬw:Û_rÙ³­üÈ›½tÛK&‰ùlp¦1Áx¬?E3kø@€ ^$àDqb¿F«¢»âˆQÑž›Ùoí„ÄÅÖÍ–^í+a#ͪàÏ™ÔO›ÝoQÛAÂ?p Ä_ï•ëêÊ+D²  @€ @½O #DØèt @€ € ûœ]:4ã_½«b<ß:D_Á«³ói^eë®þÖÕšçâ¡`ÐÅ5=Ú¶Æ5-j’f’Do•eZ·“¹Ÿý/IÌ—2ó¡Ý2‡0Óö§Œ tÍ{fÄÛq±&,vÖ8Ñߺœ\7køQŽt’p0¾4©€ @ _ 0n@€ Ð…vtB€ $ ©œ`íÒ¡'lsáê‰Ô 9Ït‚;ßéX¼…B»8×uüeŸ ϼ©Oãq•$ÏñÒvµ/”t£¦³øEMÓ´­¨iZÔ4/¶¯F»@ü×ȰŒÍ÷Œ† ‰J€ ô,}µmiV¿ ³(ܵXðæÄõ¼Ò7•ؤÿ¥ÉKfÓÆœ—åÁ|€ @€ @ ÷ td„;‚N!@€@mNü¦"4/>sa0^J¯]?/%¢¢¿D1ŸŒÓ‹ö¼ß¥q&¼jÖJ ¥®c–Zhé™ÖÌš¨©®hGìØ¼U37ašÆíØ\Wˆ8™ÍÏð@ Ð4 4€ ù’Ó¼*Û3c6ïŒ)øYýÆ¥zÄ$]ó½(ЋR¸¾ÅÎJùI3µÖŠåï:p*e&Begì™â?  @€@C¨@€ÚC`{8Ó  @ ž©H .~SàPP*“Ð@B²Ö) í´¾ZüŒ‚eў΢±„fËÉ®žÎº§¶UÛ ‰þÊ%“"áØ¤¾1ÁxR©Ü¤툽x~±ÍMDÅsWÑŸ ·ÌéÀ¹q¿™Žè›ÙmA€ D*LÓ™ùT¨§B> ©¸OmwpHäW˜1Z¦l™}z-ª–èÆ¡ +×xjÅcÄJb?ü‰­É¥ðïóSß%¨ZÆ«’Ê Esy…H” @€ @ ÷ th„;žn!@€@é™Lâ·P,ç„vñB>߇¶©Â¿êv¥ '¶“ÿj^i¯,Ús~¨¯dÚF å]{ZÞ›K Å~:랚1p©õé³Þ:*þëaAŸÃ¡3ºH¯¬åj4C6ú…ã„  xáŸóÅ ù4M­Áö3WSÁ\1"öS‘ŸÚºY“6£^æöÛ]ðàdr <»rœÉ£$€ ´‚mB€ v@Ø.Òô@¨&@ šH wâ¼p¶¾hÃ:+ŸqB¾hj$˜a­ëDäÄG]™`Ü•/3.tiñÅÛ’ÚNšôeÇæ­Îè×–±uC'½©ÜÄG@€º˜€¾’7Qø×ÖqMš©nûŰJó%ˆÿbš ©& @€ @€ Ðû:6B€COÇ€ ô#ã9Óó¢¦Â½p6=“&Ö« -7R_}n–>i× hZÍŠÝQ hGŒš±“.”¸ã]Ûßx8+à„ÑrÎöš)PÅx^(èòv /r͉ö$ͽŽWE†j:;_Ôަ5]8.1éw÷„„¥EÛÖ¾š3«_(Ì[k)Ž”Í‰û$͉öTäWi)b7/,·¡íôêkK›$ò-×þ‘µÄh±ö½DbݾÌ`Ѐ @€ ô>ŽŽ`GñÓ9 @ û 8¡ŸÎz§3×yÓ×Ί91à%«ÿpØÀ½àε·u((…ͺ¶ÅG k¹¦e´ïv ÿJ>©¯Óoe©`NÅ€vl^~ì\œ¯eÒÍNjݲ0Z¸,¸›·ZÆŽÍM2I+÷g'–õ¦3ø툕|W/Aèíª2^×|é¾Ò–ú×h[•m³¾ºSªŸø½—¥d“,"À  c‚ X!ö4±ÕMåá„uNŒ—ÒlD”g´¬®«-ª2.kb…S.t¢=IkL¸WªˆÐõ+=,i±³F*Öóíè vÞ|a}¢<Ój*ç´|ò @€@ß @h/€íåMo€ œ}{a[ â:µp¿47}c‚ñÄr*,3*Ôò¾œÆm-‰ø4ßçU†.OÚ0Ú–šp¡öŒ»|M«Ó\ÿ2N'æÓöÅJã_íf'qù* ”2*úÓ™„æÛ±ykT„ç̤|ì¤ Û+ îæ&¬Ô-[Ê,}¾Q+õiYošÖ€èÏ· _Ò–†Ñtâ"pÐN&õü³‡‹JÊ#€ C‚ 8FìÄn•ÔÇÅ~(öSY_û±wÈúR—äëò¥¶Üœú⟠—Ò˜ …:£_Ê,~K邺‰×~Í#wsýç@ÔñEQ@€ @€zŸ@‡Gˆ°Ã€î!@$àDn[‡‚*a[`† ÆUô'°si…`ƉòL–O0®}¸ö.šÑ¸3éCûQs"»KVK¿¥öœoZÖ•)¥Å'û_Þ˜›7<饮7ÎÊR¥ö\¾cl¹Êzu¬[3kT¨Îrçâ&þ£3àÅçT§:Qž ñÆ"b@ßWØŸ–©®I ’ 8!¦ÛªËüàîƒ_®N%H"@: П‚ 8GFþC±ˆ½`¡˜Þ{ÀüôþY5òõßÄ®‘r·Š½Lâõ/¥Ùÿꯗ«*îS3“Æhµâˆq3þ!ü3­þ¸Y•}BGW¾ŒÙŸÐ @€<B@€ ÐnÛMœþ @ÆtœAY\§·šÞe!  ÿT¨gjŠòR LYäg¢MÊ}H<»ÀPR?WOh,Íö¾ïÄwŸñ´eŸL+ÓpžŠ¤¢VÙæ툊úTˆ§Â*g‹D{RIË©IYYkhqík»:CŸ†j[æfjŒJìMÕìäËvÞuKu:)€ xAü±ÄÿBì˜Ï|ïó›×Ì›eïý/óKø¡yêÖ˜c¶ÜaλáçæÛ{÷Ióùú’Ôy½„MZR„\Mê¡9ÍGÌ”ŠûÔÖNŠëºÚºYÃkg›ƒ:K+º-œ³¢ðü­o¬Haµ6J@€ @€ Ðû:>B€ß8@h/úÓYøÜìv*¸««ë`ܨð¯îzuu"…¥Ÿ†ûJbÅÈL‚Òà¢å)GÞµ(¡)+vÒŽÍ['ìSÁ7M3E;RÎOáYéIùr;)e›â6@ #¿ošp&ÉÒ>=7aø@u ( Ðo‚ÒÌ—è¸ßù÷w™×\=onÜõˆ®–íÇ‹æê¯>`žû¡›+¾|¿Oÿ¤Ô=ÍlÞ5\6Ÿ“ŽÇg*⟌Ï[jªŠ ÕtÆ>oÅÒL}:[_öæ'÷e‡Õ¶’Nè·«†²m?þ;·´­:‚ @]KÇ!@€@û l?sz„ ~'Єñ—Å|—ͨ OgÍKkÖå×=£^Z‹IyV~\TKÊoSºŒUUöæ8T&.iÝ–„céB(åoIÝP9!à„€[æfÙ§s²Ap€rK ‚cʼnÿ}ôKeqŸ&ÅÚ…Ÿ¾ËüÅ×Ô¼Ïî~ä[Æfʶyw`œí™‘pâ©Hpw²(__çZ2k¦ÖZi\®×UÌå­Xìiž7ãó¤tÕbuFiiCê©@Ì™ÎØç-œ©¯4[Ÿ”«j 2aRüJö¿²4ëí%PÚw&Ü6*mÓööß ½1@€ @€zŸ@Fˆ0 @õp¯à-3îõ¸å™ò‚ÒÌw[«_ëÊëÌ}õtÒPYÃÍM8ÐØ¼5:S˜iòÇšY›µí f”¸4SßG|ÐÙÏÔl á_} S€z™cƒúŽÀ&ñ±ŸùÞ#&‹øOʺå~úçæ4¯Z{„9ó—Vº´Å_Á°¬ëunh*4—䪥Z€·HÐ¥¢½P°­z¨LI4è….\3’Y ¦í;mº*îÊT¥’@€ ®%€ã€ @ v‚:}B€@×ÐYåt9}À‰IDATÕ•mëPp(¾zÂåo•ð’ÕÃZ¾b°FÓœéì}•¦õÄ*ëøumÛ”E>5.Ö.© ÛlV¯Z®7·hæ;67a}[ZÆ—÷¡K³Õ?Júüh¨e‹vÄ^èìgj† @€b<ðxñMÞ~Kí™ÿ´œ·G暯=àV_ÿì#]ØÝ_å:;qiy‰•È€@ÀU@€ @€zŸ@.Fˆ0›' @ ’€ ä*Ó:µ®¾¨xLE~FgÞÓÙô3ì„xùh¨¦yÞ´¬˜{E¯úm \’^®¯õ¼…uËu¶®žÐþ¥£>—¯kµ¬$Ì^ÞNza›¶lÇ"â=MH²¢u¢¼41œkëâù«â9±EB:ß ü’ú0v‘o¾˜ö©mÉ7‰á BLá˜ÌBÚw~è˜Õæ­¶ëÌù-i¼ò4‘0€ …e ¾ °y×°Ù¼gfÅí¹éèà kù§]Ô=ôÙó¨«ó+O=Ì… ~Mº™ú¬Ü´jSëf)ê?ñDÄ~:+ ¤1û_Ó0Ó @€@^à @è €áN¯€ C@…n*²Sñ›Šä4,Yõkmcª7=Éû£¾Þ©H¯Ñ^´®Z=õ]ù`\ûW·zê§•UÁš øÆTð6·hö>_Õ:aܼ5NdgåG»Ð|½-sòƒž©ë£Â½Ê *>Ta Ñ~Ô/ }âƒIù¨FË›„Ï€0LÈÒäR}a€ @H àÄ}%ŸŠübÍèëxƒá'9ð meî¦h¬>ûþ=\…UOtac_ź¯Óë'C-ªØÏ½Bx­5Súaf¨Kt3|‡ @€ @ ÷ äd„s²!p€@¿p";¡íÒ¡º¹Yñª`ã*€+‰WOèLx±&m”Ê ®üÖ0Ôô­‘zÚŸ7ÍSóe#a²?UvY‚-ͨ§³Ûeð©Hn‘e¬Wº>Ô¯±¹ ]ÏZ_ë™$ Rš¸ŒK% € ÐL´t1'üÛ3cœ¸¯$ð3&Ž·Ò8Š¥p°`K‘:¿— ”*  cgKfêùLÝÕSƒ²€ @€À’ Ð @è€"O¿€º€ë©XN-"”ób¼ZCrõUx§õÕ¤ '²ó¯Ã­Ù€ÑÚÆÎÆg*ôR3—¦³À…¦ýyÓ<µŠ*-ZmA³*`SËØ´5³%±œé¹O#ãj¤NÏc@€ @Õ6ïžp³ü9០þª‹$¥ì}pÁì?˜¡£Íq‡‡j¾¤Â1éÏyÊ —:tôÀ—J³åéŒy:sžØ¡×éN'4‘ŠyµnQt’}C€ @€ Ðûr3B€¹Ù8´šÀ"ñYd6¸V÷›çöËLT”WË.ÌÐW%˜+ ëʳîIY/ t3ò¹õ¡`‘دª<“ʯo*`S3I³ß™ÈGÅÏDRz/*cÌ>¨:„“Ù¥$ @ ‚«€@®¸ýv 'ðS‘Ÿ7Ÿ¶gFòñyܸ™þ$ÖÀ2sÇ£®ÖŸs¤ ëùú­g•ë|¡ªžÎì7µvÂ8‹§ÖZ3¥ëëf«ê@€ ´]@€ Î@Ø9öô ´‰€¹]:Tz½¬Îúæ„g%Ášü Szµl(l“KmíÆß ñ¶†¯Ä ò O¹Ô2Ç-£ë®lÈXãj«vE1™íˆ³cóVMãΜÏêl“FËEkžÔwu|X®-˜÷õÃl;67aÅ£mhž©üØIÛëâ?òA;©A³Â,K9Ê@€ t9'úóÂ>}¯š—QȨÃ’¾äåo¾ñkã÷õXfýzîªæœÓŸà‹ÿ¥B]Fw!@€ @è}9!Àm \šO@g¡s"·š´’X-v;êìx^:4£mzk¾ÇÉ-Æ ùB¢µ\9õ×å •fÝÓñ«E ¯Ÿ€ ëŠvD…tvËܬšoDãÎÆæ&TXæìâù;6¿X ¨õ5MóÂ6\=—ë†uަýjGªia}MŽšÕ64OúˆŠ 5=Z®WãÊ2Uxüg?F @-%@ã€@8ŸÎЊø6Á¯VóçßüncTÜ×a_­îŒ±³ÆGþêÖûuæí¯=ëÉËÍöß~²ÉòY>`Í•o(—´Öþ4K=Ê@€ @'€€ @ “v’>}C-% 3ޣ¾ºqb9­šÎާmU¤«°ÖëªòÑ×ó¼_Œøá²Ñù6áâA8‹áP FWNýuya¹n ¼Àm,*‚kÓ´ïÊ®4Mwê ë¶ÌÉz•…j¯Û-sN0èjµ‹»*Ús¦ýúþ5žÑíË›k°_¾Úš³žø½—õ Æ @€º–€þí™1NÀW%â—q;! Dbÿq»bóJ´z/ ךÅcb,ú^}U¯1¿¯Ýl|ÉÑæ/ßòsÔŠäÇpÏ[µÂÌž’yéɇi•ÏË×V1@ ; à5 @€ @½O W#L~ò˜+7qèg:£]=ã×òNü×\0îúŠ8èû×tg[KÂ<ç¹u73ßê‰,âA-sÑG|ø„à ϋtÑ[QØ©éLw*´«¸9ÜØ¼5’g´Lši1+å£VUWûó¦íI-ãfö«¨ëÒ2 î Ÿ\PÑcÚ,€Ìþ—‹Í„€ú„Ä"°HøWsæ¾x ÎØ4ñŸu‚¿©5#fjí„Qq_œU ÖZû’ô›bûï…O0?ºøéæO_óDóÊgnž~Ü2³æ‰ËÍžs¤¹öÍO1ßøƒ“½øï_¤üF©{@B@€ @ +à$ @è,Bg»§w@ ›,¶yQ›³]²z8n,®Žä©Í™–WÓ×éFMËDM˨I?:£ÏI<5ÔòbZÞ´EüŽXú:$ì«xå®ä…¥J®«él‚b¥ñ¬ž(e.þV^FÊ,NÍËšô;£:5Ô™ WÎN:ÁŠíT𧦯®MÚ©¨Ëj™4“úZ®Ò M[TWûó¦í%Ô«lgIëTn+nÝ/MåÇN2û_%Ö!@€@NÔ'ü‹:=n´n4ŘñÅ«¬E…ëfjÁÚ¥ÞóÅþé¸ÃÌk>?ºÚüà}O7»ßó4ó©ß[eÞ~ú$Û-zoøZkíÝ_€@wÀk@€ @€zŸ@ÎFˆ0g¤•îŒŽŽž 6²iÓ¦—{î¹Gµ²/ÚîU=/Ê»duYЧB4ª•…u)çÆ5O˔ʮžð‚8Mwæ„lRNË«ùu‚W·ZFÍÔñÑòj5«ØIc¼™æ|´_µ†Z Æ=;_]9ÇÆ§´(T1^=V´#VE{csúÔsÊJÜ™ ê$O…}Îôé•¡ÖUs³ê :+žÔ‚E¯¬ÕôZ¶¨žä©ÀΛ¦yóíëºæ÷Újëx줛«ëµŸ*”Ó:eS´áÓÞ™¶*EŒeÿBA õ¡ú«¶eN~$k»›tXI€u@€ G* Ë£_øT" ÛÇ™ øbÄ{NèæzI¡ ÷¼µK¨Wr¿yßVîiŠ#FÅ{ÎÜì|ÕÿU»ÃFêÔn•€¢ˆC€ @€ Ðûr8B€9Ü(ÍrÉZû*iëH1ÁÆéééÑøÄÄDqçÎ×HüÃbº<óüóÏ_«‘^0/üsb;ÎyS!]Ô¼À·Ѽh¼\¿ètét&;µzÝ×:n¼¹ºÄYº±cÚ¦Mþ)ì[g´^”†Æ‰SꚤO#u’Ú"€ @ •r×¶’é q*$ gSÙæ0¾YEfb¹s<畹*ÛÐêuyQ² 6ë6ÓíãLP¶w€IDAT|Á°1jõ6ÞÍå£Â?'ú;4˜©µr§ù‡’jÆ\š¥(@€ @ .† @y €0[¡E>Að[aÓ CCCÆ£ÁGüÊÁƒ_ëãÝêërË¿nHž}…m*jSq›É"fÓ:jZ¶hG׳“® ÍZ¤¬›õNg³ tÚw¥¹6}Ûaèêµp<;67aÅ'ç¿ú«&}kšï[g 4ëêÍéV¥±WäÇ­Þzç¿Ôzqy¤åžB€ æX$ Åfå4ŽÅÙž£"?'$ÓYâEdãâä¸+«å½Í «ÂÊþu=®ÿhš–YŠù¶tLY¬ÞòÑ6ËÂÈ Ä$š§ñ0¿ÌUÙ†æø…ùYâ‹ÚèW±Ÿì}åE…}~Æ¿ á_¹ŒDt6@÷J`‰×\¤½še(@`Éh€ @€ Þ'Ë"ÌåfišSÏ [ºmbbb!Œ—ƒéééŸÈÊãb:Cà: »ÙœøÏÍÜ×Í£è€ï•¢;±9«ðEËIº¶i®ŠÛT”V²yk$‘EÅpNÀ77áêl™›-Õ™›(‡š5Éi91“áSnWÊûx†jM)RCèsÖF}=㸙ÄÏÝ¿yúåw]›X€ @€ ¥X$¢Sq—ZTÀ¥ëÞ¼¨,.ôeÒB_/F÷Ö¿y©9ÿæw›Câ»P|ú²H(ŠÍÊi*‹³DÁ_ fZO-®MM«ì_×5=Í´ÌRÌ·­~e±zËGÛ¬ÄÍÓxe>ë%vÖ”Dy“Æ1Þ¥™–ñ&å¦ÖZ£Â¾©uÒŽ´PkѲ®Ÿ”‚ó·¾Ñdm/¥² @€ T € äƒÀ|l‡Vy1¤ [k¤a‚©ÐH™“òOÖ¯ÔÊ?¦ÅüÀÕ„¼‰?¾x↉·ÍÌ.œŽ`N7L“ÜZ©íApŸ† ö€¦K™#4lªsòFÀ*ÏHóWò&ûøY¿xä¡™~0¯šIa§ùÊDÍ3Ѹ¦«¥ÕæiYoÑtâ­Ù—uùíåCM3/ø½;KÙæl“Öl¸ö(W=7©qLͰ÷è>ÞÎ}[%µvöÙS}y!¡Ü‡Œ§›ÃU”Ñ45©Yµhz«ªØ”@{؈Ø-)®¢8oÅÅâ='Ø[kMUèE|ÑPzjëfͦ÷µgÐɽ8!`Ôgñ5¹49€ @€–L€ @€@^ ÌË–h¡A ¦4_ÔÞËû€Oj½<Æ´±Ý)×!U À*$½“Á®p4§ŽŽŽ. ãå@ÒN‘•A1)««M±3—}ës¿:ø­OµÚž3ðÿ8qàžÿ«fŒ½ƒAÏí?ÿîuFý»ÛŽoüÍë>ûÈ=1jyõ¿8vºiÐcI­›|Γ¯Ö¼Å`Ù ž]ÅJÓ¼EEr÷éµB-[¶5#fJmݬ™3‘®—mí„™J2©W.ÖÓ¾ÔTä§¡ØGN{£QómD\ @€@n à @€ @½O ×#D˜ëͳ4ç …ÂßGZø£HÜE­µ—ºˆ|IüF šºÜô7ÝòÅ?yÓ·}ðUçîýàÿKÍL­y?ƒžÛ®û×5öoŽoöæìWžñgF žÍá Çþæ¨Ç’ûAcûÁŸ­½Þ`Ù|ð·W±Ò4o•w2>½VXYoÉë4@€ @€@ï`„€ @ _æk{4Õ› >+ >,¦ËûGGGß~öÙgqá…/ñ÷Hþ›4Cì{ÓÓÓß“€šE€v @€ @è}Œ€ @€ Þ'ó"ÌùZŠ{ÓÓÓZkß¶1(áµ+W®|øÀwKüƒb~ñB@¿N@€ @u 8 @€ @½O€B€ ¼@˜·-ÒdvìØñÿ …ˆ4;'V¹ÜÁ³§§§o«Ì`€–D€Ê€ @€ ô>F@€ @€@ïÈýæ~-ÝÁíÛ·ÏNOOŸ´bÅŠ£­µgˆ½HZ=BÒNÛ¹sçíg @€ % 2 @€ @½O€B€ ü@˜¿mÒ2¶mÛöàŽ;nûúôôô£-눆!ô;Æ@€ @€@ï`„€ @€ ô>.!À.ØH¸@€ @ù&€w€ @€ ô>F@€òH`· >A€@7Àw@€ @€zŸ#„ @€ @ ÷ tÅvÅfÂI@€ @È/<ƒ @€ @ ÷ 0B@€ Oó¹]𠀺•~C€ @€ Ðû! @€ @½O KFˆ°K6nB€ @€@> à @€ @½O€B€ ¼@˜×-ƒ_€ Ðð€ @€ Þ'À!@€ @è}]3B€]³©p€ @€òG @€ @è}Œ€ ä—Àün<ƒ n#€¿€ @€ ô>F@€ @€@ïè¢"종«€ @€ /x@€ @€@ï`„€ @ Ïæyëà t|… @€ @ ÷ 0B@€ @€zŸ@W`Wm.œ…ú”Àý2n5 X &Ø/m¨IÀ,‘€KjKl†êèVM÷['µ¦7LƒèSz<©õéð6šN@'µ¦7LƒèSz<©õéð6šJ@%µ¦6Jc8D ïbz<©õÝÀ0ZD@'µ5O³è;z<©õÝÀÓŒ0y€òAà›â†š,¹%€cÝDànqVM@`‰ôXR[b3T‡Bz<©…«€À èñ¤¶Äf¨„ôxR Wû4`Øh=žÔš×"-A  豤ֿ9šK@'µæ¶Jkè_z<©õ/FæÐãI­¹­V¶Öeë»lƒá. @€ äƒ^@€ @€ Ðû! @È;€yßBø@Ý@!@€ @è}Œ€ @€ Þ'Ðu#DØu› ‡!@€ @ óð€ @€ Þ'À!@€@þ Ìÿ6ÂC@ KLLL žwÞy§mܸñU>]ܶb5—ÑÑÑÄF6mÚô²sÏ=÷¨š"¤Ÿ—H¯“úË"É©Q)ÿËRþ×ׯ_²Ì䣔cI#@^ËÈ>þô 6¼ZŽgŸuÖY˳ttöÙg!å_,õWÝéæIDAT^yÁ<%K_fttô9F^'ý>Ù§U„zÌdµŠª¬B ³ò~ž’ãõH9þN—c÷µr,>SŽùΣw¤Ï7/“sÎpÊycQ#zÊ>þ,±WË~~Ь×uO.õ^+væ¢FVäZï8õMìe]tÑŠ‘ ÜxÇ;ÞñDÙ¿_)û싳Þ…Ça]×}rܵý¾-7q¤¯„ÇG[ÎSr¬û¾Ío ©[÷s _·#!ö-ÙWëÞÏÃã°-ç©FüëÛÉÀ;N Ñë1¹Ç9Yž¼Jì¹òÌ žç„uõØ•>^^›>Mü­ë¾­ã€q ïè>+÷Quíç²_Ê>^÷ó‰FîÛ¢Dž…œ(Ç×ëÄßgGÓ‰C Oôøk«ºïmÓyªÖïSyB‰/pÚyž’c·îû6uRŸ’óâ+åuºÆ5Ítá­]¸Ñpȹ ;NnZn¼óÎ; …oAðÏþ@Òû½PŒóXN@¿&ù?—¼_ˆý{±XüÒàààƒ’¶Kì9’–ºœsÎ9‡I?_”þþNìYi…åfêiÒæbIÙÛ¥ìç~$ëób¿.ë,È y€7 X—ʾ©ÇÔ¬µŸ‘ãã¶c=vŸ¤m×c.ÎY9¦ž.ù_]¹råÃRþ+Rïó {%í~iï qubÒþZŽ‘¿“cëí1yFÚš+f´«ãÚ í& ÇŒì³¹=OÉÍÔSäý˜¯Éñ÷59vÿQí’c~AüþÓ‹.ºh…¬³@ 7äºêÙ²oîÏ7_’sÎŒœ7~&i?•}ù¿Ç9*ûù‘’µ^/Ê>þ±ÏH¹;d}ŸÔ™Lº^”2åE@œ!õþQì_ˉ1égDì§r­wú&ö¥}ûö= iß–¿§ÆT! % ûæYb÷/[¶ì.Ù¿?/ûìWÂû¢Y¹¾[眤×}Ý'ûGîÛâü' ­$ЮóT£÷mѱ×ó\#Z8ÚE Ñý¼]ç©Fýk?ú@%¯Ç¬Ü ½S®È=Îä¹Á?‹}SžèsÂO_xá…ÇWö£ëœ¥§Šý‡ÞëI_¯M(÷m÷Ê}ÛEÚ.ÖŸò:êFöóFŸOȱQ÷}[%7yö¡º„ÏËñ¥¿i]Q™Ï::M  ÎS-ÇbêïS2žýuzG¢ÿ2v§–r_$ÇÔˆíÒß§ôÚOÎQ_Ó¸\^•õ”ËÎADO´9p t'y ·Z<üX¼˜_#‡Iø¡ùùù*<0xƒüPüo’ÿ$1]—¯1]ž)_ß–“MªpÅŠ—I¹A±ÔEÚ9Q~DûºRÕ'‰–—%ö9)ó Y#@­&Їòï+rõ>iÖïß÷HÜ/å˜ûF¥ H\œ$ÇÔ)ô"1¿èq¥ñ£¥½OÉ~~¡®$™—’÷+biK1-³"uV!Ðvy?Oɱ{¤ÜLé1ÿ¶Žž ãüá¾}û>§ y ç’×ÈuÕmâË1]ô\£¦ñÕr¾ù'y8à÷gM3úBöó[eå\1¿øëÅA©óþ½{÷~ÚgÄ…z¬ÈˆšÇå\¦?Jý»´±ZL=žô¸ÒøsäºKþ.¼DW0ä€/"~|Bìh1]ôØðûì™r}÷m)ã7Í7r<Ô}Ý'û}ÇîÛœÓ|A MÚužjô¾­CÖç•õ:¸N×}D Ñý¼]ç©Fýë£MÈPsF Ñë1¹¼Bî…>"ÃñÏ õGVÝòúì–óßán-ü’õºïÛôØ•êßóÏõšTM’Œ>[ü¨Üoý±®`ÈFöóFŸOÈqX÷}[£;ï¼sBÒS'³|t„@ÞÏS!”ÓÃ01g+3É€@ ´ë<µ”û¢ðÚîC‚EµÿœßXk×ê3KMïCØ5› G!< )᩾ɷ(áòéééc$Ô™*îPO¿''¹ò,{?\Êþ¥æ‰éC„ß:+W­ZµBÒ×Kš_TÖ¯_¯¯q{¾Ül+m|]Ê^à &…zÒ“¼ÿÓÿ„Ô¾ÞôØc©¿Gȃ“³%Ý/Û}„$°wïÞwHÿ/Óåž ÇÇ r¬'û¬GRŽÝ£dý4±ÓåL9FcgUÓL í" ×Uzž¹¦ÔŸY}ö¿ÉþºRMÎ úîįÕë¶°œ9öØcß-q'`’¼åÁÁQRç õ1TL¨ûÿk+÷s}ð(ç)}eÜûä<§"÷çJ;‰‹\ž">}4,pW±Xüeéç(9'ê,šç„éƒrnôeÂ$t†€'§Ê1¡çuà'²Ïþ’ì³ÇÜwß}‡Iúi¢Ø ÄÿŸ„åEއº¯ûÚy>,;Jm&ÐÎóT£÷mrÜ×ý\£Íéeîçí:O5ê_y€D Ðf\É=Òér-¸)tÕ_/µÿþ•rïãÿé^Ÿ{ ,c=¦ä!Äq’ðÿ‰éÏ'¤ÞŸÊñ¤‚W³}ûö¯Ê¾¯õ4{PŽ!Ìš+VüwY¿MúÔW”Óµ`’IÛ{åØùzœÉƒB©Ð?ÄØ,eg’Ú!í ×sž’ãÓ»ÂcNο¿mÛ¶}7rüÜöØc½AãjrœkˆA “î¼óÎÿ!ý;!¹ì»¿+ûlùU¼r^øŒì§o—|]åeÏÿ`u׉'žøº+®¸Â Ó%ü™œ;tßvç,©x¾Xy) _óÔW¤¯K%QÅ‚$/RÎ÷£×˜¿vÕUWíÒÒrN,Ê1¥ÿ|²Y×Å^$8^!! :J@öq/ò3 /•}ö‡êÐ 7ÜpPŽ©J\ï$0Ï:ûì³ÝÌÊ\÷µû|¨cèvž§äœW÷}›2i乆ÖËáH_hd?oçyªÿúj2Ø\hôzLöóóü@äÞhØ_/^{íµËý˜æÝæëlë*Œ0œÏ:ë¬åÒ×kö¶Êý“>3$< ×¥Ÿ‘ôò,ïr.«9û’”g@K 4²Ÿ‡ù癟O4rßöUäo€NŠña‚¾®@ ódmè9ºœ;ô\äÐÊó”v ×™§Hè„êr.úÂå—_~Oœé3)ÇŽhçyJŽÃ†žOH=ÿOÉú÷o’ëL÷,]®ý¾+ç¾sLHPâ¿F»"@Ø› '!<YŸæý’xÕL*r¢˜“ü;Ät)¿–TN(¿¥ b CCC%a墯4piò£°ð ëzc5÷Ÿ‡š‘dÒ—¿ø¼MNX‹fÎë¼SʨÂý­²ŽP °tœÀ*õ@öËÿ+a V^Âÿ ÀOÇlË_rÌxm¹žìûŸ•çI`^§_jÒÇ}F)KRý‹þ(-³Ró0i÷“ò€Pg]“UtŽ€œ›rž:‡‰é2¯_I&Ç•/—T„t´ƒÀ3ÂN¿÷Þ{?ÆËs7úÙgÝ?kl*Í<ûô0ýÏ'&&ŠaÜW_}õ½RÏ]£Iý'—®_’®?fé¹ÉÛšždRßõ)ùwÈaZW¢‡–+Vü¹_“²™„゚hä¾-†™>8QŽY}ÃÏõ1ù$A £dßlè¹8Ý–ó”ôcäX|†b÷\þs±ÄY Wm;O €ºï‹.¸à‚“¤žÛÎEò›®›àIÒܲ}ûöÉóóa±·Ê±ç—vyyÿB˜÷-„€@ž œà“ÀùxExl¸þ‹0ÔÀ —n“ýŒ/šîLN2ú ܽBNÚÕW ûôK%ïdo’˜eÊÙ×K9]ʯ6•“ÚSäfïù]tÑ iënùøoÕ$þ¨Äê"@á&=\šsÿÁ$T»%·<1Lt³'…qLéMЭaZeða‚ÿ¡Yg›‘ý¾|Li\ÊDÛ•ÕlËÊ•+Uð§—Íb¶Ê”‚@ëäþ<%Wþ1þ åÜäfV ×W¿ëãr>,‹@|!:@ÀSs¡(}‘ ÅbQg¤ui²Ïzá¹Ø¡é_Ò¯óéƒçŸ¾¿v4;vìøM=7y“ã¥<[ZLšäVþHW*-œaÓ]cJÞ‹ÅX ÐQrœøcÆý‡mŒ3þ˜Óbïó¹î‹¶Óòû¶ÐOt‚€ß×[zžZÂ}›Þƒ5ò\£,ãú$­,a?oËyj þõÑVd¨9#àÏQz]—õzLgôs3¡ËuãâÆ#é7ûty–èߤãûÊ|>”{­G¥­ÿ£&ñ*¡áÀÀÀoFúùg'„@ Ô½Ÿ‹¯ =Ÿã¢‘û6é®´È9KßäóY{xß¾}:[§DY ;þ˜ÊåyJiÉùÉÿãï­ëׯ?yãÆ¿»aÆ÷‹½í¼óÎ+ÿ–¬e1䀀?¦2_‰ÏuŸ§äÓÐïÊðoŸR†{››´µLާçÉñ´ÚcvîÜy“Øßnß¾ý«â[×,»fSá( 7ò£ìgW­Z5 &?ÌV‰çä$q†ø|¼˜._ׯІ4”‹µØg5OLE€ú:SU Ëjý‹¾º@j¹“ä&íf¹ü39yÝ¿°°°W~ þO¹Ùz\ÖwIºW¸KqtŽ€Gb=¦äøò¢ ²C眕âìIDATsÎ1²âgð»Mân‘ýÛ'HýEÿ¥á È—”ñÿ©»H`$YK^ä8Òüµ!9®ßsÝu×=¢q & ÇQ®ÏSÊçàÁƒ×J¨‚$}E÷­rNú=9¦FĶKºŸwÏÔ±aX*9¦Úrž’~«û¾m©ã£>ÚI@öñ†öóv§õ¯ é Q\Ésÿ\]Ÿ‘û{h³fÿþýå{,¹s׉r|Ô}>¼òÊ+w˼[Ô¤~ùÙ¢üüdyÆ¿Y:Ý&¦ËŒüœú-„õ|ŽEöÓº÷syÞàŽ‘<‡(;ºîMÒ«žOH_uß·ùöä8Vˆ{ƒ‚£o¾öÚkï÷y„ȼŸ§BV^xÆÀÀ€ÎNvW“b+ ß•ãí3bN8–'€@Çȹ£-ç)é§¡û69nü?Òß.÷pkäØù¶ÀÚ/éßãé§²þ˜ØŸžuÖY’ÞU À®Ú\8 äÀÄÄDQ­Ò¯ .¸à$9Iètæšµ 7NÓ m¥†rBÑ×j4ÎÜ+Þ¤Ìq™YÒžøÄ'–Ø_>$méÊ£+ê>SÒ¿)2^]‘Îj”i î˜Ò+—/_® œpAöÛK|ç²ûãä!ŸVJÿpÁÕ¯Ì_ʺørUXÿžO<ñÊ0N\ÐãI­Ò™<œ§Ô'}…Ïàà Š©ô?­VËñô—’þïb*ªÕãõy ÿܸÙÖ¤ ÚN <ž‚ʎ凡_“sÍd˜~»ìÛ_ ãú_ˆ.*û·»¾s+‘/©çÏQ:“­»NŒd×õâø§ËŠ‘ÊŠ+V¬ÐkAŸìÏ~ à¯ûªŽ)¹?y¿8ôR1]ôuQ®Œ/~ß­ëºO]5m,jy9F}"¥÷sw¼DÛiÁyÊ¿ÑnLÚ}Û¢‚ݸ‚ÏýH îý¼Í空ýëÇȘóC@ÏQj•%]ɳ‚ò½‘ÜK•õ¯½öZý‡BŸT¾÷ û©ç|èÛp¡œ7õž*€&ÇõŸ¹DcnZµjÕ¯‡qtœ@ûyù‘cªžçþ|SuL%Ý·Eà|\â‡Éqô×;vìøŒÄY [zL©U:˜£óÔóBߎ ÃoH¨Ïõ¹ºDþÎûUy&¸LW0tš@xB´€@ÛÎSrL¥Þ·µ`l4 ¶¨µŸwâ<…PË¿hYâÈÙgŸOÈókݧÏËñ¿Óî¥Rχ•m ”Ň‘¼3ï¼óÎäZ5­ŸHq¢½@ ËƺŸGŸ=,õùD­û6å&Çʨ„¯»GŽ©M²@ ëäåWÖoÓséy¨¡3ê*ÜX¿~ý©ržú†\¯]:¥ÿA¯ßüL|úÚßò9êÀîú.,[d¦—_7U.1rÕUWýP|‹&ñ¿;öØcäóÄÿDÒõºòv u©úçMÄ ÐIr<ýºì¯sâÃ[Ätù†<|{Áu×]÷ˆ®¨5ãº/§çC¦hãy*Ó}[S×þÆè™öóNœ§ÂM“É¿°,:N ËõØòåËË÷Rr?½gJò?ö^*Ëù°²Ayöø]ùØ®Zµj™×/’|ýEózc̉±@ W²ìçòì¡|L-åùD–û6)sŠº\LßtðÆ+®¸âacèy;OrÊ) »Så·²ȳó_ݶmÛƒ²îù½÷~yvþÛ²r—˜.úÉbÈ 6ž§ê¾/’k½¿–ë¾w鱤À®¾új}+Õ÷ç®?”x×,»fSá( g6lxõàààOÅG/LúÞÀÀÀ3wîÜù×’V¹è…š¦¥_ æòä¤Sþ±+¡\bòÁƒï‰dþËöíÛYwÑ}ûö]á"ò%7€*¶ :O@Ž©5ò à[âÉ”˜Î ¦Z¯•pÊú¢ÿú•‡€þ8qÇäW-r,ùiÑ£¯©*WOÂù矬”•˜ ”>ÁìJË+9¦rwž:çœsŽ^ÏÓE׫€I_÷+á·%A_aú5Í”ãü·4Ä ÐyÎýoÅ÷ʵÞÉš»~’óÌ'äaÛSe¿-‹ÿ$O—GõKMÒùs‘®–Mê>Á¯Èõ˜¿NôIu…ríù¿åxùM©¤"* ÊËmÒÿ“µŸˆé²W¿0ä@ø`]ï›>'þ-¦Ë˜üàzºø¦ j²/éº/çC&hÛyJŽ©Ì÷mM#ÍA mêÙÏÛ|žr êñÏUà & ûl¦ç å{#¹—‰}æΈäGT¾÷ ê9†Uú¬OžE~ý¾ûî{…äüPLYhˆõ<®`=ûyù‘cªîçõÜ· ¹O‹ ÊóŽOˆ}KŸ£{“s¥;ž%\®i]tQù™ˆÔa@Ç äñ<%磢b-ž©-#°iÓ¦Ë1¥3=G;‘‡ÛO”ãÊOc®ÉQóÇÉ‘úúh†K{§…ñèq&5È1ö»‘š×DâD!+y=O­X±¢<ó¬O‰ȱû§aúa7ntB«p! ¯Ô•cê97ù{%>,? ½Y¶•ÿûÖ;'û°?GéµV쵟Ô–/ðàÁyo4ܹsçrÎLÎ}€0÷›!<?øg‰.¦Ë­òëÉrÑ·CV±ØE.Âv…úÚ¸ea¼H›:=ºÎx¦³Šù²åü¬‘k®¹æ!)ëņ±â¾‹.ºH_‹z˜”Ó¥|"Ó  °~ýú“åbëfé[äëŒ;wþ~×|OÊ»eÿþý~61·~Y9î¼0I˜ÍH›ïK?,>~!Œ@ W䜒Ûó”CåWø –ÿ³? Pþ8‘z˜VuÎ Ó Ð6ÇwܕҙŸñazÅŠO—sÀM’»È>\þ' ‰Ÿ[È}¥”f-\}õÕ÷j¤S‘¬óltu¹&}tûöí߯ õAÅS¥]ýE L¢Ïš‰A ôAà²eËôujOûÛ ûí°?×ゆ®ûäØÈíù0n¤A Qí:O5xßÖè°¨Žhp?oÛyªAÿ:Â’N! ¸ÓçëþÙö‹µ+ßc …ò3¿zχò|â%ò ò"±É˜>\’”Ñüwq¾úƒ@ÞGYï~.Ï$z>Ñà}ÇKÞw ü«"çó”<ì{¯øw·Øwª?”ðÌ0º ÏÆ Ð1í:O5r_$×Ñßtõ™y'¹öóÏ+<¯lÚä2U59`“Ò Ð?Î9çÎùé_¿&?¿L~`½³9©ü}¤ÌEâ.*.uù’ø,eùÛ°òkÎ=÷ÜUa¼ìÛ·ï¿"}¹×,úuÂTd¶ˆÀÀÀ€ +Tü÷°+ÏÛ±cÇ-µº’Žõuq®˜Ôù ‹D¾äæè\YÕ:ìçÑãO’—´¸ÿd”TD¡%%ÊüÈûyJ<~ÕÓ’ø[|<Ê1{Ž_—.!ʯB íä!Ûsd?t3BȾ9%7þ·•^±‘èËUW]¥ÿMè^»+u6_Tñj› 6¬‘ʯÓ¥|>Ó•Lÿ‰d»øx´û¦Êú’þÎ0má±Çûd'€@Çȃ@½qÓäøxSWÕr¦‘ë¾sºã¾­ÖÐɇ@MíŸhä¾mÕªU+Ä–Å™»dûÁý ìIDATLLŸÓÑçë:NÈûyJØ|_Lg {–œÏ”ø¢Eü?FÎeþ9ºN,ÃïU‹±Òníûˆ /¼ðx‰¿Gòµ]ÍûžüVþÏaMhÀþÂ×üÒÆ9\·Ò—¾fË¿Zñ‡òDý ³ Ð~¡HÕ¿tjß¾}ÄOšvþùçë=¼üòËõ• ÿ®¿Tn€þD޹§Èù岟Ÿ%Ç”Ÿ¥sAn‚®Ë-)8ï¼óVK*T”À JR Xîäý<µzõjýïü»BpsÔErÜèºÞ`Éñû!‰û™Ö>+çIJΎ°Ö¾7ìüqyHp™ž’Löåò —Rçr1]“sÛ ²o;¹„/—óÒÿÓŒÐTFë¤í÷µ¤ÝmÒþ¯OLL ª/ÿ_’ö.Í—óâß]wÝuhƒ@' ȾøÇÚ¿ì›_Ü¿ÿ×’Ž'M—rVÌ4rÝ—÷ó¡Ž ƒ@3ȱԖóT£÷mÍ#m@ ]ÝÏÛužjÔ¿vñ£ThôzLÎmþŸïį—û½Ç)¬_¿^g6¿Núy’˜.úz^'vrœõ¾ÌÏXv£<Ÿx…6ª¦Ï=öØÏHÜϬô7géyù`ƒû¹ªîçܷɳˆ¢ØBœ‰E1·ø|·Â:H ïç)9g;OÉñ£œ_#ën‘ø)Ë—/×|,é›åÜó?—É:D@öÓF®ÇÔÛºÎSÞ…oûíPl£G[Äܨ6mÚô¤eË–ý«¤; ˆŒåýïš`×l*…òF@.¸^æ}* _“Á]I¶°°ðQ_vzzúQ9YøÿTѵ+W®|øÀ:}ltö2/ôU륯ۤ/úiݧ‹Ï·Ë ì1±ý’ð×bÚÿãRæmgÉJ€r-! ÇÏK" OÈzâ1uðàA÷_½¾üààà;$îo€Þ+ÇÜ^y8§â†OHº¿ñyçöíÛ½ØH’_NóµåøYä‹O'„@§ Èßü\Ÿ§&&&Šòùož“øûQ9näu·<´xLÒÿ@L—ä˜ç<¥$°Ž}ôWCÓóLÚyê˜cŽyCXÖÜwß}úßí{Âõ_—ðÛ²Ÿ« õ‹–˜.ÿ ×mÿ¤‘FíÚk¯½_êúãFûÜwÞù˜Wû$ýÃbºÜ!ÇÝF`è$ðŸ9t?Õ‡Ó¿švږ뾥ܷu B ArLåýôç©9É{½üæÅìRŒ!ÐÎ󔌰áû¢ð 9*ôÓÙý³tLé?˜¼K®ß(}tÕ‚°«6ÎBy" ô_ f3šþ»ÈýíÛ·ÏJÝ“äÁÁÑrav†˜^`!i§ÉEÚí‹ Ç¬H¹Ÿˆ¹þ¥ü7cŠ”“äÂðcRöÅ’°\ú9CŲ¾\Ò_¡&%%;J¶ˆ€ìË~éöé áI•n\}õÕ?–cáårL&ûùó$_g“9AÚRû;Y¯¹„eÕ‡?M+,¾~HÊj9+ñ秊%" ûhWœ§®¼òÊÝâëk…Ór=?Iøkb§®Zµj@ޝÑð5Z’ÄÎЇ䲟º¿ûYB9ýmÔ[}  õ6ê~-é§ê?‚ >UÒ–IÙÿ­íKzê"ÇÃÕR^}p¯#H*,åþBʰ°°0¤?`éq%ëËÄþû¶mÛLªG:ÚI ¼Òý9«éléeë¹î“}¿£çòÓD ÐBz‘}=ëñdåÜÓðyJÎ3Kºo‹bŸ3?׈Ökcœ®ú”ÀR÷óVŸ§–ê_ŸnV†ÝAò÷~)×cÔÿs±•2„UA K¸î¾ûî”´7ÊñVþ‡Á¥ž¯ºêª/J›Ïxì±Çtv¥J?¿*÷TO‘´•b"÷SYÿqXª²@ 5–ºŸ×ó|b©÷mqäXz˜>SWÁm\Ò Ðv²OvÅyJ®¿ ¾>[žù=Až-þŠÚþýûõu’äý}ÛÁÑ!b´ó<%ûý’žOÈñt·ØÛÄN(‹'Éuß+ôø’õ'‹ù7êÄŒ2¿Ió»mð èòààA9AÝ"öu9™¸ÿVlÕÐ¥ýÒÏ-*¶>1ô9¦öÉ~þ-Ùß¿„p¨ç6/ê9¦Úrž’cö€žŸ$œû¾¾"¸Ã¥K$hN²î׺ëCôVÿÆ5×\s§þ€¥ÇUs¼§䀜£ÚvÝ'}µå|˜?ÊxÔOÚyžê'®Œµ ȹ£mç©þ¥ÌÈû‰€ÜKíݹsçM~O\nÕØCÔJ?_’{ªŸ·ªÚÍ+þð‹ë¾þØÎŒ²½ä¼Ñ–ó”<ó{Hž-~UíÚk¯ÕYjÛ;Pzƒ@´û<%×|sb_Ôã« ÃkY[†–†!@ ' 0(@€ @€zŸ#„ @€ @ ÷ ôÈöȆd€ @€ д @€ @€@ï`„€ @ [ ìÖ-‡ß€ Ð ô @€ @€@ï`„€ @€ ô>ž!ÀžÙ” € @€šO€!@€ @è}Œ€ t/€Ý»íð€ÚM€þ @€ @è}Œ€ @€ Þ'ÐC#DØC“¡@€ @€@s Ð @€ @½O€B€ n&€°›·¾C€@; Ð @€ @½O€B€ @€ Ðûzj„{js2@€ @hZ‚ @€ @ ÷ 0B@€ ÐÝv÷öÃ{@hú @€ @ ÷ 0B@€ @€zŸ@`mP†@€ @Í!@+€ @€ ô>F@€ºÀnß‚ø@í @€ @€ ô>F@€ @€@ïè¹"ì¹MÊ€ @€ @`éh€ @€ Þ'À!@€@÷@ØýÛ@€@« Ð> @€ @½O€B€ @€ Ðûzp„{p£2$@€ @XjC€ @€ Ðû! @è{a+2@h%Ú† @€ @ ÷ 0B@€ @€zŸ@OŽ`OnV@€ @ & @€ @½O€B€ Þ ðÿÿÿÕ‘1IDAT™\º‘¿!IEND®B`‚iamkun-dayjs-a25f01e/docs/demo/000077500000000000000000000000001520523163200163665ustar00rootroot00000000000000iamkun-dayjs-a25f01e/docs/demo/index.js000066400000000000000000000015431520523163200200360ustar00rootroot00000000000000import dayjs from 'dayjs' // basic usage dayjs().format() // parse dayjs('2018-08-08').format() // format dayjs().format('YYYY-MM-DD') // locale dayjs().locale('zh-cn').format() // add dayjs().add(1, 'year').format() // subtract dayjs().subtract(1, 'year').format() // diff dayjs().diff(dayjs().add(1, 'year'), 'year') // isBefore dayjs().isBefore(dayjs().add(1, 'year')) // isAfter dayjs().isAfter(dayjs().subtract(1, 'year')) // isSame dayjs().isSame(dayjs()) // isLeapYear dayjs().isLeapYear() // isBetween dayjs().isBetween(dayjs().subtract(1, 'year'), dayjs().add(1, 'year')) // isSameOrAfter dayjs().isSameOrAfter(dayjs().subtract(1, 'year')) // isSameOrBefore dayjs().isSameOrBefore(dayjs().add(1, 'year')) // startOf dayjs().startOf('year').format() // endOf dayjs().endOf('year').format() // week dayjs().week() // weekday dayjs().weekday() iamkun-dayjs-a25f01e/docs/en/000077500000000000000000000000001520523163200160445ustar00rootroot00000000000000iamkun-dayjs-a25f01e/docs/en/API-reference.md000066400000000000000000000001171520523163200207320ustar00rootroot00000000000000### Note The documents are moved to [https://day.js.org](https://day.js.org). iamkun-dayjs-a25f01e/docs/en/I18n.md000066400000000000000000000001171520523163200171040ustar00rootroot00000000000000### Note The documents are moved to [https://day.js.org](https://day.js.org). iamkun-dayjs-a25f01e/docs/en/Installation.md000066400000000000000000000001171520523163200210260ustar00rootroot00000000000000### Note The documents are moved to [https://day.js.org](https://day.js.org). iamkun-dayjs-a25f01e/docs/en/Plugin.md000066400000000000000000000001171520523163200176230ustar00rootroot00000000000000### Note The documents are moved to [https://day.js.org](https://day.js.org). iamkun-dayjs-a25f01e/docs/es-es/000077500000000000000000000000001520523163200164565ustar00rootroot00000000000000iamkun-dayjs-a25f01e/docs/es-es/API-reference.md000066400000000000000000000001201520523163200213360ustar00rootroot00000000000000### Note The documents are moved to [https://day.js.org](https://day.js.org). iamkun-dayjs-a25f01e/docs/es-es/I18n.md000066400000000000000000000001201520523163200175100ustar00rootroot00000000000000### Note The documents are moved to [https://day.js.org](https://day.js.org). iamkun-dayjs-a25f01e/docs/es-es/Installation.md000066400000000000000000000001201520523163200214320ustar00rootroot00000000000000### Note The documents are moved to [https://day.js.org](https://day.js.org). iamkun-dayjs-a25f01e/docs/es-es/Plugin.md000066400000000000000000000001201520523163200202270ustar00rootroot00000000000000### Note The documents are moved to [https://day.js.org](https://day.js.org). iamkun-dayjs-a25f01e/docs/es-es/README-es-es.md000066400000000000000000000122461520523163200207540ustar00rootroot00000000000000Español (España) | [English](../../README.md) | [简体中文](../zh-cn/README.zh-CN.md) | [日本語](../ja/README-ja.md) | [Português Brasileiro](../pt-br/README-pt-br.md) | [한국어](../ko/README-ko.md) | [РуÑÑкий](../ru/README-ru.md) | [עברית](./docs/he/README-he.md)

Day.js

Alternativa rápida y ligera 2kB a Moment.js, con la misma API moderna


Gzip Size NPM Version Build Status Codecov License
Sauce Test Status

> Day.js es una librería minimalista para JavaScript que analiza, valida, manipula y muestra fechas y horas para navegadores modernos, manteniendo una API casi completamente compatible con Moment.js. Si usas o has usado Moment.js, ya sabes usar Day.js ```js dayjs() .startOf('month') .add(1, 'day') .set('year', 2018) .format('YYYY-MM-DD HH:mm:ss') ``` - 🕒 API & patrones familiares para usuarios de Moment.js - 💪 Inmutable - 🔥 Encadenable - 🌠Soporta I18n - 📦 Mini librería de 2kb - 👫 Compatible con todos los navegadores --- # Primeros pasos ### Documentación Puedes encontrar más detalles, la API y otros documentos en [day.js.org](https://day.js.org/) el sitio web. ## Instalación ```console npm install dayjs --save ``` 📚[Guía de instalación](https://day.js.org/docs/en/installation/installation) ## API Es fácil el usar las APIs de Day.js para analizar, validar, manipular y mostrar fechas y horas. ```javascript dayjs('2018-08-08') // analiza dayjs().format('{YYYY} MM-DDTHH:mm:ss SSS [Z] A') // da formato dayjs() .set('month', 3) .month() // get & set dayjs().add(1, 'year') // manipula dayjs().isBefore(dayjs()) // consulta ``` 📚[Referencia de la API](https://day.js.org/docs/en/parse/parse) ## I18n Day.js soporta muy bien la internacionalización. Pero no se incluirá en tu compilación final a menos que así lo requieras. ```javascript import 'dayjs/locale/es' // carga bajo demanda dayjs.locale('es') // usar la configuración regional española globalmente dayjs('2018-05-05') .locale('zh-cn') .format() // usar el chino simplificado en una instancia concreta ``` 📚[Internacionalización](https://day.js.org/docs/en/i18n/i18n) ## Complementos Un complemento o _plugin_ es un módulo independiente que puede añadirse a Day.js para extender su funcionalidad o añadir nuevas características. ```javascript import advancedFormat from 'dayjs/plugin/advancedFormat' // carga bajo demanda dayjs.extend(advancedFormat) // uso del complemento dayjs().format('Q Do k kk X x') // ahora tenemos más formatos disponibles ``` 📚[Lista de complementos](https://day.js.org/docs/en/plugin/plugin) ## Patrocinadores Apoya a este proyecto convirtiéndote en un patrocinador. Tu logo aparecerá aquí, enlazado a tu sitio web. [[Conviértete en un patrocinador](https://opencollective.com/dayjs#sponsor)] [![Avatar patrocinador 1](https://opencollective.com/dayjs/sponsor/0/avatar.svg)](https://opencollective.com/dayjs/sponsor/0/website) [![Avatar patrocinador 2](https://opencollective.com/dayjs/sponsor/1/avatar.svg)](https://opencollective.com/dayjs/sponsor/1/website) [![Avatar patrocinador 3](https://opencollective.com/dayjs/sponsor/2/avatar.svg)](https://opencollective.com/dayjs/sponsor/2/website) ## Contribuidores Este proyecto existe gracias a todas las personas que contribuyen en él. Por favor, danos una 💖 estrella 💖 para apoyarnos. Gracias. ¡Y gracias también a todos nuestros micromecenas! 🙠## Licencia Day.js está licenciado bajo la [Licencia MIT](./LICENSE). iamkun-dayjs-a25f01e/docs/fr/000077500000000000000000000000001520523163200160515ustar00rootroot00000000000000iamkun-dayjs-a25f01e/docs/fr/README-fr.md000066400000000000000000000111371520523163200177400ustar00rootroot00000000000000Français | [English](../../README.md) | [简体中文](./docs/zh-cn/README.zh-CN.md) | [日本語](./docs/ja/README-ja.md) | [Português Brasileiro](./docs/pt-br/README-pt-br.md) | [한국어](./docs/ko/README-ko.md) | [Español (España)](./docs/es-es/README-es-es.md) | [РуÑÑкий](./docs/ru/README-ru.md) | [Türkçe](./docs/tr/README-tr.md) | [සිංහල](./docs/si/README-si.md) | [עברית](./docs/he/README-he.md)

Day.js

Alternative rapide de 2kB à Moment.js avec la même API moderne

Gzip Size NPM Version Build Status Codecov License
Sauce Test Status

> Day.js est une bibliothèque JavaScript minimaliste qui analyse, valide, manipule et affiche les dates et heures pour les navigateurs modernes avec une API largement compatible avec Moment.js. Si vous utilisez Moment.js, vous savez déjà comment utiliser Day.js. ```js dayjs().startOf('month').add(1, 'day').set('year', 2018).format('YYYY-MM-DD HH:mm:ss'); ``` * 🕒 Familiarité avec l'API et les modèles Moment.js * 💪 Immuable * 🔥 Enchaînable * 🌠Support I18n * 📦 Petite bibliothèque de 2kb * 👫 Tous les navigateurs sont pris en charge --- ## Mise en place ### Documentation Vous trouverez plus de détails sur l'API et les autres documents sur le site [day.js.org](https://day.js.org/). ### Installation ```console npm install dayjs --save ``` 📚[Guide d'installation](https://day.js.org/docs/en/installation/installation) ### API Il est facile d'utiliser les API de Day.js pour analyser, valider, manipuler et afficher des dates et des heures. ```javascript dayjs('2018-08-08') // parse dayjs().format('{YYYY} MM-DDTHH:mm:ss SSS [Z] A') // display dayjs().set('month', 3).month() // get & set dayjs().add(1, 'year') // manipulate dayjs().isBefore(dayjs()) // query ``` 📚[API Reference](https://day.js.org/docs/en/parse/parse) ### I18n Day.js offre une excellente prise en charge de l'internationalisation. Mais aucun d'entre eux ne sera inclus dans votre construction si vous ne l'utilisez pas. ```javascript import 'dayjs/locale/es' // load on demand dayjs.locale('es') // use Spanish locale globally dayjs('2018-05-05').locale('zh-cn').format() // use Chinese Simplified locale in a specific instance ``` 📚[Internationalisation](https://day.js.org/docs/en/i18n/i18n) ### Plugin Un plugin est un module indépendant qui peut être ajouté à Day.js pour en étendre les fonctionnalités ou en ajouter de nouvelles. ```javascript import advancedFormat from 'dayjs/plugin/advancedFormat' // load on demand dayjs.extend(advancedFormat) // use plugin dayjs().format('Q Do k kk X x') // more available formats ``` 📚[Liste des plugins](https://day.js.org/docs/en/plugin/plugin) ## Contributeurs Ce projet existe grâce à toutes les personnes qui y contribuent. Donnez-nous une 💖 étoile 💖 pour nous soutenir. Nous vous remercions. Et merci à tous nos donateurs ! 🙠## Licence Day.js est sous licence [MIT License](./LICENSE). iamkun-dayjs-a25f01e/docs/he/000077500000000000000000000000001520523163200160365ustar00rootroot00000000000000iamkun-dayjs-a25f01e/docs/he/README-he.md000066400000000000000000000120531520523163200177100ustar00rootroot00000000000000
עברית | [English](../../README.md) | [简体中文](./docs/zh-cn/README.zh-CN.md) | [日本語](./docs/ja/README-ja.md) | [Português Brasileiro](./docs/pt-br/README-pt-br.md) | [한국어](./docs/ko/README-ko.md) | [Español (España)](./docs/es-es/README-es-es.md) | [РуÑÑкий](./docs/ru/README-ru.md) | [Türkçe](./docs/tr/README-tr.md) | [සිංහල](./docs/si/README-si.md)

Day.js

×לטרנטיבה מהירה ל-Moment.js ששוקלת רק 2kB ×¢× ×ותן יכולות מודרניות

Gzip Size NPM Version Build Status Codecov License
Sauce Test Status

> Day.js ×”×™× ×¡×¤×¨×™×™×” מינימלסטית לפענוח, ×ימות, מניפולציה והצגה של ת××¨×™×›×™× ×•×©×¢×•×ª ×œ×“×¤×“×¤× ×™× ×ž×•×“×¨× ×™× ×¢× ×ª×ימות גבוהה ל-API של Moment.js. ×× ×”×©×ª×ž×©×ª× ×‘-Moment.js, ××ª× ×›×‘×¨ ×™×•×“×¢×™× ×ת Day.js
```js dayjs().startOf('month').add(1, 'day').set('year', 2018).format('YYYY-MM-DD HH:mm:ss'); ```
* 🕒 תבניות ו-API ×–×”×™× ×œ-Moment.js * 💪 ×ינו ניתן לשינוי * 🔥 ניתן לשרשור * 🌠תמיכה ב-I18n * 📦 ספרייה קטנטנה 2kb * 👫 נתמכת בכל ×”×“×¤×“×¤× ×™× --- ## ×¦×¢×“×™× ×¨××©×•× ×™× ### דוקומנטצייה ב×תר [day.js.org](https://day.js.org/) ניתן ×œ×ž×¦×•× ×¤×¨×˜×™× × ×•×¡×¤×™×, API, ×•×ª×™×¢×•×“×™× × ×•×¡×¤×™×. ### התקנה ```console npm install dayjs --save ``` 📚[מדריך התקנה](https://day.js.org/docs/en/installation/installation) ### API מ×וד קל להשתמש ב-Day.js לפענוח, ×ימות, מניפולציה והצגה של ת××¨×™×›×™× ×•×©×¢×•×ª.
```javascript dayjs('2018-08-08') // פענוח dayjs().format('{YYYY} MM-DDTHH:mm:ss SSS [Z] A') // הצגה dayjs().set('month', 3).month() // קבלה והגדרה dayjs().add(1, 'year') // מניפולציה dayjs().isBefore(dayjs()) // ש×ילתה ```
📚[תיעודי API](https://day.js.org/docs/en/parse/parse) ### I18n ל-Day.js יש תמיכה מצוינית בבינל×ומיות. ×בל ××£ ×חד ×ž×”× ×œ× ×™×›×œ×œ בקובץ הסופי ××œ× ×× ×›×Ÿ יתבצע ×‘×”× ×©×™×ž×•×©.
```javascript import 'dayjs/locale/es' // טעינה לפי הצורך dayjs.locale('es') // הגדרה לשימוש בספרדית ב×ופן גלובל×לי dayjs('2018-05-05').locale('zh-cn').format() // הגדרה לשימוש בסינית פשוטה למופע ספיציפי בלבד ```
📚[בינל×ומיות](https://day.js.org/docs/en/i18n/i18n) ### תוסף תוסף ×”×•× ×ž×•×“×•×œ בלתי-תלוי הניתן להוספה ל-Day.js להרחבה ×ו להוספה של פונקציות.
```javascript import advancedFormat from 'dayjs/plugin/advancedFormat' // טעינה לפי הצורך dayjs.extend(advancedFormat) // שימוש בתוסף dayjs().format('Q Do k kk X x') // כעת יותר ×פשרויות זמינות ```
📚[רשימת תוספי×](https://day.js.org/docs/en/plugin/plugin) ## ×ª×•×¨×ž×™× ×¤×¨×•×™×§×˜ ×–×” ×§×™×™× ×”×•×“×•×ª לכל ×”×× ×©×™× ×©×ª×ž×›×• בו. תנו לנו 💖 כוכב 💖 כדי לתמוך בנו. תודה רבה. ותודה רבה לכל ×”×ª×•×ž×›×™× ×©×œ× ×•! 🙠## רישיון Day.js מורשה לשימוש ×¢× [רישיון MIT](./LICENSE).
iamkun-dayjs-a25f01e/docs/ja/000077500000000000000000000000001520523163200160345ustar00rootroot00000000000000iamkun-dayjs-a25f01e/docs/ja/API-reference.md000066400000000000000000000001201520523163200207140ustar00rootroot00000000000000### Note The documents are moved to [https://day.js.org](https://day.js.org). iamkun-dayjs-a25f01e/docs/ja/I18n.md000066400000000000000000000001201520523163200170660ustar00rootroot00000000000000### Note The documents are moved to [https://day.js.org](https://day.js.org). iamkun-dayjs-a25f01e/docs/ja/Installation.md000066400000000000000000000001201520523163200210100ustar00rootroot00000000000000### Note The documents are moved to [https://day.js.org](https://day.js.org). iamkun-dayjs-a25f01e/docs/ja/Plugin.md000066400000000000000000000001201520523163200176050ustar00rootroot00000000000000### Note The documents are moved to [https://day.js.org](https://day.js.org). iamkun-dayjs-a25f01e/docs/ja/README-ja.md000066400000000000000000000105731520523163200177110ustar00rootroot00000000000000日本語 | [English](../../README.md) | [简体中文](../zh-cn/README.zh-CN.md) | [Português Brasileiro](../pt-br/README-pt-br.md) | [한국어](../ko/README-ko.md) | [Español (España)](../es-es/README-es-es.md) | [РуÑÑкий](../ru/README-ru.md)| [עברית](../he/README-he.md)

Day.js

Moment.js ã¨åŒã˜ API ã‚’å‚™ãˆãŸ 2kB ã®è»½é‡ãƒ©ã‚¤ãƒ–ラリ


Gzip Size NPM Version Build Status Codecov License
Sauce Test Status

> Day.js ã¯æ—¥ä»˜ã¨æ™‚刻をパース・検証・æ“作・表示ã™ã‚‹æœ€å°ã®ãƒ¢ãƒ€ãƒ³ãƒ–ラウザå‘ã‘ JavaScript ライブラリã§ã‚り〠Moment.js ã® API ã¨ã®åºƒã„äº’æ›æ€§ã‚’æŒã¡ã¾ã™ã€‚ Moment.js を使ã£ãŸã“ã¨ãŒã‚れã°ã™ãã«ã§ã‚‚ Day.js を使ã„å§‹ã‚ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ ```js dayjs() .startOf('month') .add(1, 'day') .set('year', 2018) .format('YYYY-MM-DD HH:mm:ss') ``` - 🕒 Moment.js ã¨é¡žä¼¼ã—㟠API ã¨ä½¿ç”¨æ³• - 💪 イミュータブル - 🔥 メソッドãƒã‚§ãƒ¼ãƒ³ - 🌠国際化サãƒãƒ¼ãƒˆ (I18n) - 📦 2kb ã®è»½é‡ãƒ©ã‚¤ãƒ–ラリ - 👫 全ブラウザをサãƒãƒ¼ãƒˆ --- ## ã¯ã˜ã‚ã« ### ドキュメント 詳細ã€APIã€ãã®ä»–ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã«ã¤ã„ã¦ã¯ã€[day.js.org](https://day.js.org/) ã®ã‚¦ã‚§ãƒ–サイトをå‚ç…§ã—ã¦ãã ã•ã„。 ### インストール ```console npm install dayjs --save ``` 📚[インストールガイド](https://day.js.org/docs/en/installation/installation) ### API Day.js API ã§æ—¥ä»˜ã¨æ™‚刻をパース・検証・æ“作・表示ã™ã‚‹ã®ã¯ç°¡å˜ã§ã™ã€‚ ```javascript dayjs('2018-08-08') // パース dayjs().format('{YYYY} MM-DDTHH:mm:ss SSS [Z] A') // 表示 dayjs() .set('month', 3) .month() // get & set dayjs().add(1, 'year') // æ“作 dayjs().isBefore(dayjs()) // クエリ ``` 📚[API リファレンス](https://day.js.org/docs/en/parse/parse) ### 国際化 (I18n) Day.js ã¯å›½éš›åŒ–を手厚ãサãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚ ã¾ãŸã€ä½¿ç”¨ã—ãªã„ロケールをビルドã«å«ã¿ã¾ã›ã‚“。 ```javascript import 'dayjs/locale/es' // å¿…è¦ã«å¿œã˜ã¦èª­ã¿è¾¼ã¿ dayjs.locale('es') // スペイン語をグローãƒãƒ«ãƒ­ã‚±ãƒ¼ãƒ«ã¨ã—ã¦é©ç”¨ dayjs('2018-05-05') .locale('zh-cn') .format() // 簡体字中国語を特定ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã«ã®ã¿é©ç”¨ ``` 📚[国際化](https://day.js.org/docs/en/i18n/i18n) ### プラグイン プラグインã¨ã¯ã€ Day.js ã®æ©Ÿèƒ½ã‚’æ‹¡å¼µã—ãŸã‚Šã€æ–°ãŸãªæ©Ÿèƒ½ã‚’追加ã™ã‚‹ãŸã‚ã®ç‹¬ç«‹ã—ãŸãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®ã“ã¨ã§ã™ã€‚ ```javascript import advancedFormat from 'dayjs/plugin/advancedFormat' // å¿…è¦ã«å¿œã˜ã¦èª­ã¿è¾¼ã¿ dayjs.extend(advancedFormat) // プラグインを使用 dayjs().format('Q Do k kk X x') // 多様ãªãƒ•ォーマットãŒåˆ©ç”¨å¯èƒ½ã« ``` 📚[プラグインリスト](https://day.js.org/docs/en/plugin/plugin) ## ライセンス Day.js 㯠[MIT License](../../LICENSE) ã®ã‚‚ã¨ã§åˆ©ç”¨ã‚’許諾ã—ã¾ã™ã€‚ iamkun-dayjs-a25f01e/docs/ko/000077500000000000000000000000001520523163200160535ustar00rootroot00000000000000iamkun-dayjs-a25f01e/docs/ko/API-reference.md000066400000000000000000000001201520523163200207330ustar00rootroot00000000000000### Note The documents are moved to [https://day.js.org](https://day.js.org). iamkun-dayjs-a25f01e/docs/ko/I18n.md000066400000000000000000000001201520523163200171050ustar00rootroot00000000000000### Note The documents are moved to [https://day.js.org](https://day.js.org). iamkun-dayjs-a25f01e/docs/ko/Installation.md000066400000000000000000000001201520523163200210270ustar00rootroot00000000000000### Note The documents are moved to [https://day.js.org](https://day.js.org). iamkun-dayjs-a25f01e/docs/ko/Plugin.md000066400000000000000000000001201520523163200176240ustar00rootroot00000000000000### Note The documents are moved to [https://day.js.org](https://day.js.org). iamkun-dayjs-a25f01e/docs/ko/README-ko.md000066400000000000000000000102751520523163200177460ustar00rootroot00000000000000한국어 | [English](../../README.md) | [简体中文](../zh-cn/README.zh-CN.md) | [日本語](../ja/README-ja.md) | [Português Brasileiro](../pt-br/README-pt-br.md) | [Español (España)](../es-es/README-es-es.md) | [РуÑÑкий](../ru/README-ru.md)| [עברית](./docs/he/README-he.md)

Day.js

Moment.js와 호환ë˜ëŠ” API를 가진 경량 ë¼ì´ë¸ŒëŸ¬ë¦¬ (2kB)


Gzip Size NPM Version Build Status Codecov License
Sauce Test Status

> Day.js는 ëŒ€ë¶€ë¶„ì˜ APIê°€ Moment.js와 호환ë˜ë©° 최신 브ë¼ìš°ì €ì—서 날짜와 ì‹œê°„ì— ëŒ€í•œ 구문 ë¶„ì„, 유효성 검사, ì¡°ìž‘, ì¶œë ¥ì„ ê°„íŽ¸í•˜ê²Œ 처리하는 경량 JavaScript ë¼ì´ë¸ŒëŸ¬ë¦¬ 입니다. Moment.js를 사용해본 ê²½í—˜ì´ ìžˆë‹¤ë©´, Day.jsë„ ì‰½ê²Œ 사용하실 수 있습니다. ```js dayjs() .startOf('month') .add(1, 'day') .set('year', 2018) .format('YYYY-MM-DD HH:mm:ss') ``` - 🕒 친숙한 Moment.js API와 패턴 - 💪 불변 오브ì íЏ(Immutable) - 🔥 메소드 ì²´ì¸(Chainable) - 🌠I18n ì§€ì› - 📦 2kb 미니 ë¼ì´ë¸ŒëŸ¬ë¦¬ - 👫 모든 브ë¼ìš°ì € ì§€ì› --- ## 시작해볼까요! ### 문서 ë” ë§Žì€ ì„¸ë¶€ 사항과 API ë° ë‹¤ë¥¸ 문서는 [day.js.org](https://day.js.org/) 웹사ì´íЏì—서 확ì¸í•˜ì‹¤ 수 있습니다. ### 설치 ```console npm install dayjs --save ``` 📚[설치 ê°€ì´ë“œ](https://day.js.org/docs/en/installation/installation) ### API Day.js API를 사용하여 날짜와 ì‹œê°„ì˜ êµ¬ë¬¸ ë¶„ì„, ê²€ì¦, ì¡°ìž‘, ì¶œë ¥ì„ ê°„íŽ¸í•˜ê²Œ 처리할 수 있습니다. ```javascript dayjs('2018-08-08') // parse dayjs().format('{YYYY} MM-DDTHH:mm:ss SSS [Z] A') // display dayjs() .set('month', 3) .month() // get & set dayjs().add(1, 'year') // manipulate dayjs().isBefore(dayjs()) // query ``` 📚[API 참고](https://day.js.org/docs/en/parse/parse) ### I18n Day.js는 êµ­ì œí™”ì— ëŒ€í•œ ë§Žì€ ì§€ì›ì„ 제공하고 있습니다. 하지만 ì´ ê¸°ëŠ¥ì„ ì‚¬ìš©í•˜ì§€ 않는 경우, ë¹Œë“œì— í¬í•¨ë˜ì§€ 않습니다. ```javascript import 'dayjs/locale/es' // load on demand dayjs.locale('es') // use Spanish locale globally dayjs('2018-05-05') .locale('zh-cn') .format() // use Chinese Simplified locale in a specific instance ``` 📚[I18n](https://day.js.org/docs/en/i18n/i18n) ### Plugin 플러그ì¸ì€ Day.jsì˜ ê¸°ëŠ¥ì„ í™•ìž¥í•˜ê±°ë‚˜ 새로운 ê¸°ëŠ¥ì„ ë„입하기 위한 ë…립ì ì¸ 모듈입니다. ```javascript import advancedFormat from 'dayjs/plugin/advancedFormat' // load on demand dayjs.extend(advancedFormat) // use plugin dayjs().format('Q Do k kk X x') // more available formats ``` 📚[í”ŒëŸ¬ê·¸ì¸ ëª©ë¡](https://day.js.org/docs/en/plugin/plugin) ## License Day.js는 [MIT License](./LICENSE)를 사용합니다. iamkun-dayjs-a25f01e/docs/pt-br/000077500000000000000000000000001520523163200164665ustar00rootroot00000000000000iamkun-dayjs-a25f01e/docs/pt-br/API-reference.md000066400000000000000000000001201520523163200213460ustar00rootroot00000000000000### Note The documents are moved to [https://day.js.org](https://day.js.org). iamkun-dayjs-a25f01e/docs/pt-br/I18n.md000066400000000000000000000001201520523163200175200ustar00rootroot00000000000000### Note The documents are moved to [https://day.js.org](https://day.js.org). iamkun-dayjs-a25f01e/docs/pt-br/Installation.md000066400000000000000000000001201520523163200214420ustar00rootroot00000000000000### Note The documents are moved to [https://day.js.org](https://day.js.org). iamkun-dayjs-a25f01e/docs/pt-br/Plugin.md000066400000000000000000000001201520523163200202370ustar00rootroot00000000000000### Note The documents are moved to [https://day.js.org](https://day.js.org). iamkun-dayjs-a25f01e/docs/pt-br/README-pt-br.md000066400000000000000000000111431520523163200207670ustar00rootroot00000000000000Português Brasileiro | [English](../../README.md) | [简体中文](../zh-cn/README.zh-CN.md) | [日本語](../ja/README-ja.md) | [한국어](../ko/README-ko.md) | [Español (España)](../es-es/README-es-es.md) | [РуÑÑкий](../ru/README-ru.md)| [עברית](./docs/he/README-he.md)

Day.js

Alternativa veloz ao Moment.js, com 2kB e a mesma API moderna


Gzip Size NPM Version Build Status Codecov License
Sauce Test Status

> Day.js é uma biblioteca JavaScript minimalista que analisa, valida, manipula e formata datas e horas para navegadores modernos, usando uma API quase completamente compatível com Moment.js. Se você já usou Moment.js, já sabe usar Day.js. ```js dayjs() .startOf('month') .add(1, 'day') .set('year', 2018) .format('YYYY-MM-DD HH:mm:ss') ``` - 🕒 API & padrões familiares aos do Moment.js - 💪 Imutável - 🔥 Encadeável - 🌠Suporta I18n - 📦 Mini biblioteca de 2kb - 👫 Suporta todos os navegadores --- ## Começando ### Documentação Você pode encontrar mais detalhes sobre a API e também a documentação completa em [day.js.org](https://day.js.org/). ### Instalação ```console npm install dayjs --save ``` 📚[Guia de instalação](https://day.js.org/docs/en/installation/installation) ### API É fácil utilizar a API do Day.js para converter, validar, manipular, e exibir datas e horas. ```javascript dayjs('2018-08-08') // converte dayjs().format('{YYYY} MM-DDTHH:mm:ss SSS [Z] A') // formata dayjs() .set('month', 3) .month() // get & set dayjs().add(1, 'year') // manipula dayjs().isBefore(dayjs()) // verifica ``` 📚[Referência da API](https://day.js.org/docs/en/parse/parse) ### I18n Day.js tem suporte para internacionalização. Porém nenhuma estará inclusa no seu _build_ a menos que você utilize-a. ```javascript import 'dayjs/locale/es' // carregar sob demanda dayjs.locale('es') // usar locale espanhol globalmente dayjs('2018-05-05') .locale('pt-br') .format() // usar locale em português brasileiro em uma instância específica ``` 📚[Internacionalização](https://day.js.org/docs/en/i18n/i18n) ### Plugin Um plugin é um módulo independente que pode ser adicionado ao Day.js para estender funcionalidades e adicionar novos recursos. ```javascript import advancedFormat from 'dayjs/plugin/advancedFormat' // carregar sob demanda dayjs.extend(advancedFormat) // usar plugin dayjs().format('Q Do k kk X x') // mais formatos disponíveis pelo plugin ``` 📚[Lista de Plugins](https://day.js.org/docs/en/plugin/plugin) ## Patrocinadores Ajude este projeto se tornando um patrocinador. O seu logo será exibido aqui, com um link para o seu site. [[Tornar-se um Patrocinador](https://opencollective.com/dayjs#sponsor)]. ## Contribuidores Este projeto existe graças a todas as pessoas que contribuem. Por favor, nos dê uma 💖 estrela 💖 para suportar-nos. Obrigado. E obrigado a todos os nossos apoiadores! 🙠## Licença Day.js é licenciado sob a [MIT License](../../LICENSE). iamkun-dayjs-a25f01e/docs/ru/000077500000000000000000000000001520523163200160705ustar00rootroot00000000000000iamkun-dayjs-a25f01e/docs/ru/LICENSE-ru000066400000000000000000000044771520523163200175350ustar00rootroot00000000000000Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ MIT ÐвторÑкое право (c) Ñ 2018 года по наÑтоÑщее времÑ, iamkun Ð”Ð°Ð½Ð½Ð°Ñ Ð»Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐ°ÐµÑ‚ лицам, получившим копию данного программного обеÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð¸ ÑопутÑтвующей документации (в дальнейшем именуемыми «Программное обеÑпечение»), безвозмездно иÑпользовать Программное обеÑпечение без ограничений, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ð½ÐµÐ¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð½Ð¾Ðµ право на иÑпользование, копирование, изменение, ÑлиÑние, публикацию, раÑпроÑтранение, Ñублицензирование и/или продажу копий Программного обеÑпечениÑ, а также лицам, которым предоÑтавлÑетÑÑ Ð´Ð°Ð½Ð½Ð¾Ðµ Программное обеÑпечение, при Ñоблюдении Ñледующих уÑловий: Указанное выше уведомление об авторÑком праве и данные уÑÐ»Ð¾Ð²Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ быть включены во вÑе копии или значимые чаÑти данного Программного обеÑпечениÑ. ДÐÐÐОЕ ПРОГРÐММÐОЕ ОБЕСПЕЧЕÐИЕ ПРЕДОСТÐВЛЯЕТСЯ «КÐК ЕСТЬ», БЕЗ КÐКИХ-ЛИБО ГÐРÐÐТИЙ, ЯВÐО ВЫРÐЖЕÐÐЫХ ИЛИ ПОДРÐЗУМЕВÐЕМЫХ, ВКЛЮЧÐЯ ГÐРÐÐТИИ ТОВÐРÐОЙ ПРИГОДÐОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОÐКРЕТÐОМУ ÐÐЗÐÐЧЕÐИЮ И ОТСУТСТВИЯ ÐÐРУШЕÐИЙ, ÐО ÐЕ ОГРÐÐИЧИВÐЯСЬ ИМИ. ÐИ Ð’ КÐКОМ СЛУЧÐЕ ÐВТОРЫ ИЛИ ПРÐВООБЛÐДÐТЕЛИ ÐЕ ÐЕСУТ ОТВЕТСТВЕÐÐОСТИ ПО КÐКИМ-ЛИБО ИСКÐМ, ЗРУЩЕРБ ИЛИ ПО ИÐЫМ ТРЕБОВÐÐИЯМ, Ð’ ТОМ ЧИСЛЕ, ПРИ ДЕЙСТВИИ КОÐТРÐКТÐ, ДЕЛИКТЕ ИЛИ ИÐОЙ СИТУÐЦИИ, ВОЗÐИКШИМ ИЗ-ЗРИСПОЛЬЗОВÐÐИЯ ПРОГРÐММÐОГО ОБЕСПЕЧЕÐИЯ ИЛИ ИÐЫХ ДЕЙСТВИЙ С ПРОГРÐММÐЫМ ОБЕСПЕЧЕÐИЕМ.iamkun-dayjs-a25f01e/docs/ru/README-ru.md000066400000000000000000000141101520523163200177700ustar00rootroot00000000000000РуÑÑкий | [English](../../README.md) | [简体中文](../zh-cn/README.zh-CN.md) | [日本語](../ja/README-ja.md) | [Português Brasileiro](../pt-br/README-pt-br.md) | [한국어](../ko/README-ko.md) | [Español (España)](../es-es/README-es-es.md)| [עברית](./docs/he/README-he.md)

Day.js

БыÑÑ‚Ñ€Ð°Ñ 2kB альтернатива Moment.js Ñ Ñ‚ÐµÐ¼ же Ñовременным API


Gzip Size NPM Version Build Status Codecov License
Sauce Test Status

> Day.js - Ñто Ð¼Ð¸Ð½Ð¸Ð°Ñ‚ÑŽÑ€Ð½Ð°Ñ JavaScript библиотека, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¿Ð°Ñ€Ñит, валидирует, управлÑет, и отображает даты и Ð²Ñ€ÐµÐ¼Ñ Ð´Ð»Ñ Ñовременных браузеров, Ð¾Ð±Ð»Ð°Ð´Ð°ÑŽÑ‰Ð°Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¾Ð¹ ÑовмеÑтимоÑтью Ñ Moment.js API. ЕÑли вы иÑпользуете Moment.js, вы уже знаете как пользоватьÑÑ Day.js. ```js dayjs().startOf('month').add(1, 'day').set('year', 2018).format('YYYY-MM-DD HH:mm:ss'); ``` * 🕒 Хорошо знакомые API и паттерны Moment.js * 💪 ÐÐµÐ¸Ð·Ð¼ÐµÐ½Ð½Ð°Ñ * 🔥 Ð¦ÐµÐ¿Ð½Ð°Ñ * 🌠Поддержка интернационализации (I18n) * 📦 2kb мини-библиотека * 👫 ПоддерживающаÑÑÑ Ð²Ñеми браузерами --- ## Ðачало работы ### Ð”Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ð’Ñ‹ можете найти больше детальной информации, API, и других документов на веб-Ñайте [day.js.org](https://day.js.org/). ### УÑтановка ```console npm install dayjs --save ``` 📚[ИнÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ Ð¿Ð¾ уÑтановке](https://day.js.org/docs/en/installation/installation) ### API API Day.js легко иÑпользовать Ð´Ð»Ñ Ð¿Ð°Ñ€Ñинга, валидации, управлениÑ, и Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð´Ð°Ñ‚ и времени. ```javascript dayjs('2018-08-08') // парÑинг dayjs().format('{YYYY} MM-DDTHH:mm:ss SSS [Z] A') // отображение dayjs().set('month', 3).month() // получение и уÑтановка dayjs().add(1, 'year') // управление dayjs().isBefore(dayjs()) // оÑведомление ``` 📚[СÑылка на API](https://day.js.org/docs/en/parse/parse) ### I18n Day.js обладает великолепной поддержкой интернационализации. Ðо ни одна из локализаций не будет включена в вашу Ñборку до тех пор, пока вы не начнёте её иÑпользовать. ```javascript import 'dayjs/locale/es' // загрузка по требованию dayjs.locale('es') // глобальное иÑпользование ИÑпанÑкой локали dayjs('2018-05-05').locale('zh-cn').format() // иÑпользование упрощённой КитайÑкой локали в конкретном Ñлучае ``` 📚[ИнтернационализациÑ](https://day.js.org/docs/en/i18n/i18n) ### Плагин Плагин - Ñто незавиÑимый модуль, который может быть добавлен в Day.js Ñ Ñ†ÐµÐ»ÑŒÑŽ раÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ñ‹Ñ… возможноÑтей или Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ñ‹Ñ… оÑобенноÑтей. ```javascript import advancedFormat from 'dayjs/plugin/advancedFormat' // загрузка по требованию dayjs.extend(advancedFormat) // иÑпользование плагина dayjs().format('Q Do k kk X x') // больше доÑтупных форматов ``` 📚[СпиÑок плагинов](https://day.js.org/docs/en/plugin/plugin) ## СпонÑоры Поддержите Ñтот проект, Ñтав ÑпонÑором. Ваш логотип будет показан здеÑÑŒ Ñ ÑÑылкой на ваш веб-Ñайт. [[Стать ÑпонÑором](https://opencollective.com/dayjs#sponsor)] ## Контрибьюторы Этот проект ÑущеÑтвует Ð±Ð»Ð°Ð³Ð¾Ð´Ð°Ñ€Ñ Ð²Ñем людÑм, кто вноÑит Ñвой вклад в его развитие. ПожалуйÑта поÑтавьте 💖 звездочку 💖, чтобы поддержать наÑ. СпаÑибо. Также выражаю благодарноÑть вÑем нашим ÑпонÑорам! 🙠## Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ Day.js раÑпроÑтранÑетÑÑ Ð¿Ð¾Ð´ [лицензией MIT](./LICENSE-ru). iamkun-dayjs-a25f01e/docs/si/000077500000000000000000000000001520523163200160555ustar00rootroot00000000000000iamkun-dayjs-a25f01e/docs/si/README-si.md000066400000000000000000000152451520523163200177540ustar00rootroot00000000000000සිංහල | [English](../../README.md) | [简体中文](./docs/zh-cn/README.zh-CN.md) | [日本語](./docs/ja/README-ja.md) | [Português Brasileiro](./docs/pt-br/README-pt-br.md) | [한국어](./docs/ko/README-ko.md) | [Español (España)](./docs/es-es/README-es-es.md) | [РуÑÑкий](./docs/ru/README-ru.md) | [Türkçe](./docs/tr/README-tr.md)| [עברית](./docs/he/README-he.md)

Day.js

නවීන යෙ.à¶šà·Šâ€à¶».මු. සමඟින් Moment.js සඳහ෠කි.à¶¶. 2 à¶š වේගවත් විකල්පයකි

Gzip Size NPM Version Build Status Codecov License
Sauce Test Status

> Day.js යනු බොහ෠සෙයින් Moment.js-à¶œà·à·…පෙන යෙ.à¶šà·Šâ€à¶».මු. සහිත නවීන අතිරික්සු සඳහ෠දින සහ වේලà·à·€à¶±à·Š à¶´à·Šâ€à¶»à¶¯à¶»à·Šà·à¶±à¶ºà¶§, à·„à·à·ƒà·’රවීමට, වලංගු කිරීමට සහ විග්â€à¶»à·„ කිරීමට ඉත෠කුඩ෠ජà·à·€à·à·ƒà·Šà¶šà·Šâ€à¶»à·’à¶´à·Šà¶§à·Š එකතුවකි. Moment.js à¶·à·à·€à·’ත෠කරන්නේ නම්, Day.js à¶·à·à·€à·’ත෠කරන අයුරු ඔබ දà·à¶±à¶§à¶¸à¶­à·Š දන්නවà·. ```js dayjs().startOf('month').add(1, 'day').set('year', 2018).format('YYYY-MM-DD HH:mm:ss'); ``` * 🕒 හුරුපුරුදු Moment.js යෙ.à¶šà·Šâ€à¶».මු. හ෠රට෠* 💪 නිත්â€à¶ºà¶ºà·’ * 🔥 ඈඳීමට à·„à·à¶šà·’ය * 🌠I18n සහà·à¶º * 📦 à¶šà·’.à¶¶. 2 à¶š කුඩ෠එකතුව * 👫 සියළු අතිරික්සු සඳහ෠සහà·à¶º --- ## පටන් à¶œà·à¶±à·“ම ### à¶´à·Šâ€à¶»à¶½à·™à·Šà¶›à¶±à¶º [day.js.org](https://day.js.org/) වියමන අඩවියෙහි යෙ.à¶šà·Šâ€à¶».මු. සහ වෙනත් à¶´à·Šâ€à¶»à¶½à·šà¶›à¶±à·€à¶½ à·€à·à¶©à·’ විස්තර සොය෠ගà·à¶±à·“මට à·„à·à¶šà·’ය. ### ස්ථà·à¶´à¶±à¶º ```console npm install dayjs --save ``` 📚[ ස්ථà·à¶´à¶± මà·à¶»à·Šà¶œà·à¶´à¶¯à·šà·à¶º](https://day.js.org/docs/en/installation/installation) ### යෙ.à¶šà·Šâ€à¶».මු. දින සහ වේලà·à·€à¶±à·Š à¶´à·Šâ€à¶»à¶¯à¶»à·Šà·à¶±à¶ºà¶§, à·„à·à·ƒà·’රවීමට, වලංගු කිරීමට සහ විග්â€à¶»à·„ කිරීමට Day.js යෙ.à¶šà·Šâ€à¶».මු. à¶·à·à·€à·’ත෠කිරීම පහසුය. ```javascript dayjs('2018-08-08') // parse dayjs().format('{YYYY} MM-DDTHH:mm:ss SSS [Z] A') // display dayjs().set('month', 3).month() // get & set dayjs().add(1, 'year') // manipulate dayjs().isBefore(dayjs()) // query ``` 📚[ යෙ.à¶šà·Šâ€à¶».මු. යොමුව](https://day.js.org/docs/en/parse/parse) ### I18n දේà·à·“යකරණය සඳහ෠Day.js සුවිà·à·šà·‚à·“ ලෙස සහය දක්වයි. නමුත් à¶·à·à·€à·’ත෠කරන්නේ නම් මිස ඒව෠කිසිවක් ඔබගේ à¶­à·à¶±à·“මට ඇතුළත් නොවේ. ```javascript import 'dayjs/locale/es' // load on demand dayjs.locale('es') // use Spanish locale globally dayjs('2018-05-05').locale('zh-cn').format() // use Chinese Simplified locale in a specific instance ``` 📚[ දේà·à·“යකරණය](https://day.js.org/docs/en/i18n/i18n) ### දිගුව දිගුවක් යනු à¶šà·Šâ€à¶»à·’යà·à¶šà·à¶»à·’ත්වය විස්තීරණයට හ෠නව විà·à·šà·‚à·à¶‚à¶œ අඩංගු කිරීමට Day.js වෙත à¶‘à¶šà¶­à·” à¶šà·… à·„à·à¶šà·’ ස්වà·à¶°à·“à¶± ඒකකයකි. ```javascript import advancedFormat from 'dayjs/plugin/advancedFormat' // load on demand dayjs.extend(advancedFormat) // use plugin dayjs().format('Q Do k kk X x') // more available formats ``` 📚[ දිගු ලේඛනය](https://day.js.org/docs/en/plugin/plugin) ## අනුග්â€à¶»à·à·„කයින් අනුග්â€à¶»à·„ය දà·à¶šà·Šà·€à·“මෙන් මෙම ව්â€à¶ºà·à¶´à·˜à¶­à·’යට සහà·à¶º වන්න. ඔබගේ අඩවියේ සබà·à¶³à·’යක් සමඟ ඔබගේ à¶½à·à¶‚ඡනය මෙහි පෙන්වනු ඇත. [[ගිට්හබ් හරහ෠අනුග්â€à¶»à·à·„කයෙකු වන්න](https://github.com/sponsors/iamkun/)] [[ඕපන්කලෙක්ටිව් හරහ෠අනුග්â€à¶»à·à·„කයෙකු වන්න](https://opencollective.com/dayjs#sponsor)] ## දà·à¶ºà¶šà¶ºà·’න් මෙම ව්â€à¶ºà·à¶´à·˜à¶­à·’ය පවතිනුයේ දà·à¶ºà¶š වූ සියළුම දෙනà·à¶§ ස්තූති වන්නටය. à¶…à¶´à¶§ සහà·à¶º වීමට 💖 තරුවක් 💖 ලබ෠දෙන්න. ඔබට තුති. à¶’ වගේම අපගේ මූල්â€à¶ºà¶¯à·à¶ºà¶šà¶ºà·’න් à·ƒà·à¶¸à¶§ ස්තුතියි! 🙠## බලපත්â€à¶»à¶º [MIT බලපත්â€à¶»à¶ºà¶šà·Š](./LICENSE) යටතේ Day.js නිකුත් à¶šà¶» ඇත. iamkun-dayjs-a25f01e/docs/sw/000077500000000000000000000000001520523163200160735ustar00rootroot00000000000000iamkun-dayjs-a25f01e/docs/sw/README-sw.md000066400000000000000000000116711520523163200200070ustar00rootroot00000000000000Swahili | [English](../../README.md) | [Kireno](../pt-br/README-pt-br.md) | [Kichina](../zh-cn/README.zh-CN.md) | [Kijapani](../ja/README-ja.md) | [Kikorea](../ko/README-ko.md) | [Kihispania](../es-es/README-es-es.md) | [Kirusi](../ru/README-ru.md) | [Kituruki](../tr/README-tr.md) | [Sinhala](../si/README-si.md) | [Kiebrania](../he/README-he.md)

Day.js

Fast 2kB mbadala wa Moment.js ukiwa na API zinazofanana na za kisasa

Gzip Size NPM Version Build Status Codecov License
Sauce Test Status

> Day.js ni Maktaba ya JavaScript ya minimalist ambayo inachanganua, kuthibitisha, kudhibiti, na kuonyesha tarehe na nyakati kwa vivinjari vya kisasa na API inayofanana sana na Moment.js. Ikiwa unatumia Moment.js, tayari unajua jinsi ya kutumia Day.js. ```js dayjs().startOf('month').add(1, 'day').set('year', 2018).format('YYYY-MM-DD HH:mm:ss'); ``` * 🕒 Michoro na API maarufu za Moment.js * 💪 Hazibadiliki * 🔥 Zinaunganishwa * 🌠Zinaruhusu I18n * 📦 Maktaba ndogo ya 2kb * 👫 Browser zote zinaruhusu --- ## Kuanza ### Nyaraka Unaweza kutafuta maelekezo zaidi ya API na nyaraka zingine kupitia tovuti ya [day.js.org](https://day.js.org/). ### Kusakinisha ```console npm install dayjs --save ``` 📚[Maelekezo ya Kusakinisha](https://day.js.org/docs/en/installation/installation) ### API Ni rahisi kutumia Day.js kupitisha, kuhakiki, kubadili na kuonesha tarehe na mda. ```javascript dayjs('2018-08-08') // changanua dayjs().format('{YYYY} MM-DDTHH:mm:ss SSS [Z] A') // display dayjs().set('month', 3).month() // chukua na weka dayjs().add(1, 'year') // manipulate dayjs().isBefore(dayjs()) // query ``` 📚[Maelekezo Ya API](https://day.js.org/docs/en/parse/parse) ### I18n Day.js ina ruhusu kwa internalization. Lakini hakuna hata moja ambayo itawekwa katika utengezaji endapo utatumia. ```javascript import 'dayjs/locale/es' // load on demand dayjs.locale('es') // use Spanish locale globally dayjs('2018-05-05').locale('zh-cn').format() // use Chinese Simplified locale in a specific instance ``` 📚[Internationalization](https://day.js.org/docs/en/i18n/i18n) ### Zana Zana ya Kujumuisha ni moduli inayojitegemea ambayo inaweza ikaweka katika Day.js ili kuweza kuongeza uwezo au kuongeza sifa. ```javascript import advancedFormat from 'dayjs/plugin/advancedFormat' // Upakiaji kwa Mahitaji dayjs.extend(advancedFormat) // tumia plugin dayjs().format('Q Do k kk X x') // njia zaidi zilizopo ``` 📚[Idadi Ya Plugin](https://day.js.org/docs/en/plugin/plugin) ### Trend Zinazoweza Tumika ## Wafadhili Toa mchango wako kwa huu mradi kwa kuwa mfadhili. Nembo yako itaonekana hapa pamoja na link ya kwenda kwenye tovuti yako. [[Kuwa mfadhili kupitia GitHub](https://github.com/sponsors/iamkun/)] [[Kuwa mfadhili kupitia OpenCollective](https://opencollective.com/dayjs#sponsor)] ## Wachangiaji Huu mradi umefika hapa ulipo hapa shukrani ziende kwa watu wote wanao changia. Tafadhali tupe 💖 nyota/maua 💖 kutuunga mkono sisi.Ahsante. Na ahsante kwa wafadhili wote! 🙠## Leseni Day.js ipo chini ya kibali cha [leseni ya MTI](./LICENSE). iamkun-dayjs-a25f01e/docs/tr/000077500000000000000000000000001520523163200160675ustar00rootroot00000000000000iamkun-dayjs-a25f01e/docs/tr/README-tr.md000066400000000000000000000115211520523163200177710ustar00rootroot00000000000000Türkçe | [English](../../README.md) | [简体中文](../zh-cn/README.zh-CN.md) | [日本語](../ja/README-ja.md) | [Português Brasileiro](../pt-br/README-pt-br.md) | [한국어](../ko/README-ko.md) | [Español (España)](../es-es/README-es-es.md) | [РуÑÑкий](../ru/README-ru.md)| [עברית](./docs/he/README-he.md)

Day.js

Aynı modern API ile 2kB hızlı bir Moment.js alternatifi


Gzip Size NPM Version Build Status Codecov License
Sauce Test Status

> Day.js, büyük ölçüde Moment.js uyumlu bir API ile modern tarayıcılar için tarih ve saatleri dönüştüren, doÄŸrulayan, iÅŸleyen ve görüntüleyen minimalist bir JavaScript kütüphanesidir. Moment.js kullanıyorsanız, Day.js'i nasıl kullanacağınızı zaten biliyorsunuzdur. ```js dayjs() .startOf('month') .add(1, 'day') .set('year', 2018) .format('YYYY-MM-DD HH:mm:ss') ``` - 🕒 Benzer Moment.js API & Kalıpları - 💪 DeÄŸiÅŸmez - 🔥 Zincirlenebilir - 🌠I18n destekler - 📦 2kB boyutunda küçük bir kütüphane - 👫 Bütün tarayıcılarda desteklenir --- # BaÅŸlarken ### Dökümantasyon Daha fazla bilgiye, API ve diÄŸer dökümanlara [day.js.org](https://day.js.org/) websitesinden ulaÅŸabilirsiniz. ## Kurulum ```console npm install dayjs --save ``` 📚[Kurulum Rehberi](https://day.js.org/docs/en/installation/installation) ## API Tarihleri ve saatleri dönüştürmek, doÄŸrulamak, iÅŸlemek ve görüntülemek için Day.js API'larını kullanmak kolaydır. ```javascript dayjs('2018-08-08') // dönüştürme dayjs().format('{YYYY} MM-DDTHH:mm:ss SSS [Z] A') // belirli bir formatta görüntüleme dayjs() .set('month', 3) .month() // görüntüleme & deÄŸer atama dayjs().add(1, 'year') // deÄŸiÅŸtirme dayjs().isBefore(dayjs()) // sorgulama ``` 📚[API Referansı](https://day.js.org/docs/en/parse/parse) ## I18n Day.js, uluslararasılaÅŸtırma için büyük desteÄŸe sahiptir. Ancak siz kullanmadığınız sürece bunların hiçbiri yapınıza dahil edilmeyecektir. ```javascript import 'dayjs/locale/es' // isteÄŸe göre yükle dayjs.locale('tr') // yerel ayarı Türkçe olarak kullan dayjs('2018-05-05') .locale('zh-cn') .format() //belirli bir durum için BasitleÅŸtirilmiÅŸ Çince formatında görüntüleme ``` 📚[UluslararasılaÅŸtırma](https://day.js.org/docs/en/i18n/i18n) ## Eklenti Eklenti, iÅŸlevselliÄŸi geniÅŸletmek veya yeni özellikler eklemek için Day.js'e eklenebilen bağımsız bir modüldür. ```javascript import advancedFormat from 'dayjs/plugin/advancedFormat' // isteÄŸe göre yükle dayjs.extend(advancedFormat) // eklentiyi kullan dayjs().format('Q Do k kk X x') // diÄŸer mevcut formatlar ``` 📚[Eklenti Listesi](https://day.js.org/docs/en/plugin/plugin) ## Sponsorlar Sponsor olarak bu projeye destek olun. Logonuz, web sayfanızın linki ile birlikte burada görünür. [[Sponsor Ol](https://opencollective.com/dayjs#sponsor)] ## Katkıda Bulunanlar Bu proje, katkıda bulunan tüm insanlar sayesinde mevcut. Lütfen bize destek olmak için projeye 💖 yıldız 💖 verin. TeÅŸekkürler. Ve tüm destekçilerimize teÅŸekkür ederiz! 🙠## Lisans Day.js, bir [MIT Lisansı](../../LICENSE) altında lisanslanmıştır. iamkun-dayjs-a25f01e/docs/zh-cn/000077500000000000000000000000001520523163200164615ustar00rootroot00000000000000iamkun-dayjs-a25f01e/docs/zh-cn/API-reference.md000066400000000000000000000001131520523163200213430ustar00rootroot00000000000000### æé†’ 文档已è¿ç§»è‡³ [https://day.js.org](https://day.js.org)。 iamkun-dayjs-a25f01e/docs/zh-cn/I18n.md000066400000000000000000000001131520523163200175150ustar00rootroot00000000000000### æé†’ 文档已è¿ç§»è‡³ [https://day.js.org](https://day.js.org)。 iamkun-dayjs-a25f01e/docs/zh-cn/Installation.md000066400000000000000000000001131520523163200214370ustar00rootroot00000000000000### æé†’ 文档已è¿ç§»è‡³ [https://day.js.org](https://day.js.org)。 iamkun-dayjs-a25f01e/docs/zh-cn/Plugin.md000066400000000000000000000001131520523163200202340ustar00rootroot00000000000000### æé†’ 文档已è¿ç§»è‡³ [https://day.js.org](https://day.js.org)。 iamkun-dayjs-a25f01e/docs/zh-cn/README.zh-CN.md000066400000000000000000000074521520523163200206660ustar00rootroot00000000000000简体中文 | [English](../../README.md) | [日本語](../ja/README-ja.md) | [Português Brasileiro](../pt-br/README-pt-br.md) | [한국어](../ko/README-ko.md) | [Español (España)](../es-es/README-es-es.md) | [РуÑÑкий](../ru/README-ru.md)

Day.js

Moment.js çš„ 2kB è½»é‡åŒ–æ–¹æ¡ˆï¼Œæ‹¥æœ‰åŒæ ·å¼ºå¤§çš„ API


Gzip Size NPM Version Build Status Codecov License
Sauce Test Status

> Day.js 是一个轻é‡çš„å¤„ç†æ—¶é—´å’Œæ—¥æœŸçš„ JavaScript 库,和 Moment.js çš„ API è®¾è®¡ä¿æŒå®Œå…¨ä¸€æ ·. 如果您曾ç»ç”¨è¿‡ Moment.js, 那么您已ç»çŸ¥é“如何使用 Day.js ```js dayjs() .startOf('month') .add(1, 'day') .set('year', 2018) .format('YYYY-MM-DD HH:mm:ss') ``` - 🕒 å’Œ Moment.js 相åŒçš„ API 和用法 - 💪 ä¸å¯å˜æ•°æ® (Immutable) - 🔥 支æŒé“¾å¼æ“作 (Chainable) - 🌠国际化 I18n - 📦 ä»… 2kb 大å°çš„微型库 - 👫 å…¨æµè§ˆå™¨å…¼å®¹ --- ## 快速开始 ### 文档 访问 [day.js.org](https://day.js.org/) 网站查看更详细的文档 ### 安装 ```console npm install dayjs --save ``` 📚[安装指å—](https://day.js.org/docs/zh-CN/installation/installation) ### API Day.js 有很多 API æ¥è§£æžã€å¤„ç†ã€æ ¡éªŒã€å¢žå‡ã€å±•示时间和日期 ```javascript dayjs('2018-08-08') // è§£æž dayjs().format('{YYYY} MM-DDTHH:mm:ss SSS [Z] A') // 展示 dayjs() .set('month', 3) .month() // èŽ·å– dayjs().add(1, 'year') // å¤„ç† dayjs().isBefore(dayjs()) // 查询 ``` 📚[API å‚考](https://day.js.org/docs/zh-CN/parse/parse) ### 国际化 I18n Day.js 支æŒå›½é™…化 ä½†é™¤éžæ‰‹åŠ¨åŠ è½½ï¼Œå¤šå›½è¯­è¨€é»˜è®¤æ˜¯ä¸ä¼šè¢«æ‰“包到工程里的 ```javascript import 'dayjs/locale/es' // 按需加载 dayjs.locale('es') // 全局使用西ç­ç‰™è¯­ dayjs('2018-05-05') .locale('zh-cn') .format() // 在这个实例上使用简体中文 ``` 📚[国际化 I18n](https://day.js.org/docs/zh-CN/i18n/i18n) ### æ’ä»¶ æ’件是一些独立的程åºï¼Œå¯ä»¥ç»™ Day.js 增加新功能和扩展已有功能 ```javascript import advancedFormat from 'dayjs/plugin/advancedFormat' // 按需加载æ’ä»¶ dayjs.extend(advancedFormat) // 使用æ’ä»¶ dayjs().format('Q Do k kk X x') // 使用扩展åŽçš„API ``` 📚[æ’件列表](https://day.js.org/docs/zh-CN/plugin/plugin) ## å¼€æºåè®® Day.js éµå¾ª [MIT å¼€æºåè®®](../../LICENSE). iamkun-dayjs-a25f01e/karma.sauce.conf.js000066400000000000000000000041011520523163200201620ustar00rootroot00000000000000module.exports = function (config) { const batches = [ { sl_chrome_26: { base: 'SauceLabs', browserName: 'chrome', version: '26' }, sl_chrome: { base: 'SauceLabs', browserName: 'chrome' }, sl_firefox_4: { base: 'SauceLabs', browserName: 'firefox', version: '4' }, sl_firefox: { base: 'SauceLabs', browserName: 'firefox' }, sl_mac_safari_8: { base: 'SauceLabs', browserName: 'safari', version: '8', platform: 'OS X 10.10' }, sl_mac_safari: { base: 'SauceLabs', browserName: 'safari', platform: 'macOS 10.13' } }, { sl_ie_9: { base: 'SauceLabs', browserName: 'internet explorer', version: '9' }, sl_ie: { base: 'SauceLabs', browserName: 'internet explorer' }, sl_edge_13: { base: 'SauceLabs', browserName: 'MicrosoftEdge', platform: 'Windows 10', version: '13' }, sl_edge: { base: 'SauceLabs', browserName: 'MicrosoftEdge' } }, { sl_ios_safari_9: { base: 'SauceLabs', browserName: 'iphone', version: '9.3' }, sl_android_4_4: { base: 'SauceLabs', browserName: 'android', version: '4.4' } }, { sl_ios_safari: { base: 'SauceLabs', browserName: 'iphone' }, sl_android: { base: 'SauceLabs', browserName: 'android' } } ] const batch = batches[process.argv[4] || 0] config.set({ basePath: '', frameworks: ['jasmine'], files: [ 'dayjs.min.js', 'test/*spec.js' ], reporters: ['dots', 'saucelabs'], port: 9876, colors: true, logLevel: config.LOG_DEBUG, sauceLabs: { // build: 'Manual', testName: 'Day.js' }, captureTimeout: 200000, // try fix ios timeout customLaunchers: batch, browsers: Object.keys(batch), singleRun: true }) } iamkun-dayjs-a25f01e/package-lock.json000066400000000000000000056272371520523163200177540ustar00rootroot00000000000000{ "name": "dayjs", "version": "0.0.0-development", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "dayjs", "version": "0.0.0-development", "license": "MIT", "devDependencies": { "@babel/cli": "^7.0.0-beta.44", "@babel/core": "^7.0.0-beta.44", "@babel/node": "^7.0.0-beta.44", "@babel/preset-env": "^7.0.0-beta.44", "@semantic-release/github": "^11.0.4", "babel-core": "^7.0.0-bridge.0", "babel-jest": "^22.4.3", "babel-plugin-external-helpers": "^6.22.0", "cross-env": "^5.1.6", "eslint": "^4.19.1", "eslint-config-airbnb-base": "^12.1.0", "eslint-plugin-import": "^2.10.0", "eslint-plugin-jest": "^21.15.0", "gzip-size-cli": "^2.1.0", "jasmine-core": "^2.99.1", "jest": "^22.4.3", "karma": "^2.0.2", "karma-jasmine": "^1.1.2", "karma-sauce-launcher": "^1.1.0", "mockdate": "^2.0.2", "moment": "2.29.2", "moment-timezone": "0.5.31", "ncp": "^2.0.0", "pre-commit": "^1.2.2", "prettier": "^1.16.1", "rollup": "^2.45.1", "rollup-plugin-babel": "^4.4.0", "rollup-plugin-terser": "^7.0.2", "size-limit": "^0.18.0", "typescript": "^2.8.3" } }, "node_modules/@ampproject/remapping": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", "dev": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.0" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@babel/cli": { "version": "7.17.6", "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.17.6.tgz", "integrity": "sha512-l4w608nsDNlxZhiJ5tE3DbNmr61fIKMZ6fTBo171VEFuFMIYuJ3mHRhTLEkKKyvx2Mizkkv/0a8OJOnZqkKYNA==", "dev": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.4", "commander": "^4.0.1", "convert-source-map": "^1.1.0", "fs-readdir-recursive": "^1.1.0", "glob": "^7.0.0", "make-dir": "^2.1.0", "slash": "^2.0.0", "source-map": "^0.5.0" }, "bin": { "babel": "bin/babel.js", "babel-external-helpers": "bin/babel-external-helpers.js" }, "engines": { "node": ">=6.9.0" }, "optionalDependencies": { "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", "chokidar": "^3.4.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/code-frame": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { "version": "7.17.7", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz", "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { "version": "7.17.9", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.9.tgz", "integrity": "sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.16.7", "@babel/generator": "^7.17.9", "@babel/helper-compilation-targets": "^7.17.7", "@babel/helper-module-transforms": "^7.17.7", "@babel/helpers": "^7.17.9", "@babel/parser": "^7.17.9", "@babel/template": "^7.16.7", "@babel/traverse": "^7.17.9", "@babel/types": "^7.17.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.1", "semver": "^6.3.0" }, "engines": { "node": ">=6.9.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/babel" } }, "node_modules/@babel/generator": { "version": "7.17.9", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz", "integrity": "sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==", "dev": true, "dependencies": { "@babel/types": "^7.17.0", "jsesc": "^2.5.1", "source-map": "^0.5.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-annotate-as-pure": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", "dev": true, "dependencies": { "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", "dev": true, "dependencies": { "@babel/helper-explode-assignable-expression": "^7.16.7", "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { "version": "7.17.7", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz", "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==", "dev": true, "dependencies": { "@babel/compat-data": "^7.17.7", "@babel/helper-validator-option": "^7.16.7", "browserslist": "^4.17.5", "semver": "^6.3.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-create-class-features-plugin": { "version": "7.17.9", "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz", "integrity": "sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.7", "@babel/helper-environment-visitor": "^7.16.7", "@babel/helper-function-name": "^7.17.9", "@babel/helper-member-expression-to-functions": "^7.17.7", "@babel/helper-optimise-call-expression": "^7.16.7", "@babel/helper-replace-supers": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-create-regexp-features-plugin": { "version": "7.17.0", "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz", "integrity": "sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.7", "regexpu-core": "^5.0.1" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-define-polyfill-provider": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.13.0", "@babel/helper-module-imports": "^7.12.13", "@babel/helper-plugin-utils": "^7.13.0", "@babel/traverse": "^7.13.0", "debug": "^4.1.1", "lodash.debounce": "^4.0.8", "resolve": "^1.14.2", "semver": "^6.1.2" }, "peerDependencies": { "@babel/core": "^7.4.0-0" } }, "node_modules/@babel/helper-environment-visitor": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", "dev": true, "dependencies": { "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-explode-assignable-expression": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", "dev": true, "dependencies": { "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { "version": "7.17.9", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", "dev": true, "dependencies": { "@babel/template": "^7.16.7", "@babel/types": "^7.17.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", "dev": true, "dependencies": { "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-member-expression-to-functions": { "version": "7.17.7", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz", "integrity": "sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==", "dev": true, "dependencies": { "@babel/types": "^7.17.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", "dev": true, "dependencies": { "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { "version": "7.17.7", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz", "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.16.7", "@babel/helper-module-imports": "^7.16.7", "@babel/helper-simple-access": "^7.17.7", "@babel/helper-split-export-declaration": "^7.16.7", "@babel/helper-validator-identifier": "^7.16.7", "@babel/template": "^7.16.7", "@babel/traverse": "^7.17.3", "@babel/types": "^7.17.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-optimise-call-expression": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", "dev": true, "dependencies": { "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.7", "@babel/helper-wrap-function": "^7.16.8", "@babel/types": "^7.16.8" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-replace-supers": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.16.7", "@babel/helper-member-expression-to-functions": "^7.16.7", "@babel/helper-optimise-call-expression": "^7.16.7", "@babel/traverse": "^7.16.7", "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { "version": "7.17.7", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz", "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==", "dev": true, "dependencies": { "@babel/types": "^7.17.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", "dev": true, "dependencies": { "@babel/types": "^7.16.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", "dev": true, "dependencies": { "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", "dev": true, "dependencies": { "@babel/helper-function-name": "^7.16.7", "@babel/template": "^7.16.7", "@babel/traverse": "^7.16.8", "@babel/types": "^7.16.8" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { "version": "7.17.9", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz", "integrity": "sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==", "dev": true, "dependencies": { "@babel/template": "^7.16.7", "@babel/traverse": "^7.17.9", "@babel/types": "^7.17.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/node": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/node/-/node-7.16.8.tgz", "integrity": "sha512-V2dopEtPUL4LD+e8UtMIZB6BbsmMsS/7E1ZAvWNINzBfi7Cf3X9MLCpzHVZT4HeeF1lQl72IRtqqVt2RUImwyA==", "dev": true, "dependencies": { "@babel/register": "^7.16.8", "commander": "^4.0.1", "core-js": "^3.20.2", "node-environment-flags": "^1.0.5", "regenerator-runtime": "^0.13.4", "v8flags": "^3.1.1" }, "bin": { "babel-node": "bin/babel-node.js" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/parser": { "version": "7.17.9", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.9.tgz", "integrity": "sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==", "dev": true, "bin": { "parser": "bin/babel-parser.js" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", "@babel/plugin-proposal-optional-chaining": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.13.0" } }, "node_modules/@babel/plugin-proposal-async-generator-functions": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-remap-async-to-generator": "^7.16.8", "@babel/plugin-syntax-async-generators": "^7.8.4" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-class-properties": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", "dev": true, "dependencies": { "@babel/helper-create-class-features-plugin": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-class-static-block": { "version": "7.17.6", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz", "integrity": "sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==", "dev": true, "dependencies": { "@babel/helper-create-class-features-plugin": "^7.17.6", "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-class-static-block": "^7.14.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.12.0" } }, "node_modules/@babel/plugin-proposal-dynamic-import": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-export-namespace-from": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-json-strings": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-logical-assignment-operators": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-numeric-separator": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-object-rest-spread": { "version": "7.17.3", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz", "integrity": "sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==", "dev": true, "dependencies": { "@babel/compat-data": "^7.17.0", "@babel/helper-compilation-targets": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-transform-parameters": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-optional-catch-binding": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-optional-chaining": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-private-methods": { "version": "7.16.11", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz", "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==", "dev": true, "dependencies": { "@babel/helper-create-class-features-plugin": "^7.16.10", "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-private-property-in-object": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.7", "@babel/helper-create-class-features-plugin": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-unicode-property-regex": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-class-properties": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-class-static-block": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-export-namespace-from": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.3" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-json-strings": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-optional-chaining": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-private-property-in-object": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-arrow-functions": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-async-to-generator": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", "dev": true, "dependencies": { "@babel/helper-module-imports": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-remap-async-to-generator": "^7.16.8" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-block-scoping": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-classes": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.7", "@babel/helper-environment-visitor": "^7.16.7", "@babel/helper-function-name": "^7.16.7", "@babel/helper-optimise-call-expression": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-replace-supers": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7", "globals": "^11.1.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-computed-properties": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-destructuring": { "version": "7.17.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz", "integrity": "sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-dotall-regex": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-duplicate-keys": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", "dev": true, "dependencies": { "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-for-of": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-function-name": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.16.7", "@babel/helper-function-name": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-literals": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-member-expression-literals": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-modules-amd": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", "dev": true, "dependencies": { "@babel/helper-module-transforms": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-modules-commonjs": { "version": "7.17.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz", "integrity": "sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==", "dev": true, "dependencies": { "@babel/helper-module-transforms": "^7.17.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-simple-access": "^7.17.7", "babel-plugin-dynamic-import-node": "^2.3.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-modules-systemjs": { "version": "7.17.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz", "integrity": "sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==", "dev": true, "dependencies": { "@babel/helper-hoist-variables": "^7.16.7", "@babel/helper-module-transforms": "^7.17.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-validator-identifier": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-modules-umd": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", "dev": true, "dependencies": { "@babel/helper-module-transforms": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/plugin-transform-new-target": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-object-super": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-replace-supers": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-parameters": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-property-literals": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-regenerator": { "version": "7.17.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz", "integrity": "sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==", "dev": true, "dependencies": { "regenerator-transform": "^0.15.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-reserved-words": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-shorthand-properties": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-spread": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-sticky-regex": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-template-literals": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-typeof-symbol": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-unicode-escapes": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-unicode-regex": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/preset-env": { "version": "7.16.11", "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz", "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==", "dev": true, "dependencies": { "@babel/compat-data": "^7.16.8", "@babel/helper-compilation-targets": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-validator-option": "^7.16.7", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", "@babel/plugin-proposal-async-generator-functions": "^7.16.8", "@babel/plugin-proposal-class-properties": "^7.16.7", "@babel/plugin-proposal-class-static-block": "^7.16.7", "@babel/plugin-proposal-dynamic-import": "^7.16.7", "@babel/plugin-proposal-export-namespace-from": "^7.16.7", "@babel/plugin-proposal-json-strings": "^7.16.7", "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", "@babel/plugin-proposal-numeric-separator": "^7.16.7", "@babel/plugin-proposal-object-rest-spread": "^7.16.7", "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", "@babel/plugin-proposal-optional-chaining": "^7.16.7", "@babel/plugin-proposal-private-methods": "^7.16.11", "@babel/plugin-proposal-private-property-in-object": "^7.16.7", "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", "@babel/plugin-syntax-numeric-separator": "^7.10.4", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-transform-arrow-functions": "^7.16.7", "@babel/plugin-transform-async-to-generator": "^7.16.8", "@babel/plugin-transform-block-scoped-functions": "^7.16.7", "@babel/plugin-transform-block-scoping": "^7.16.7", "@babel/plugin-transform-classes": "^7.16.7", "@babel/plugin-transform-computed-properties": "^7.16.7", "@babel/plugin-transform-destructuring": "^7.16.7", "@babel/plugin-transform-dotall-regex": "^7.16.7", "@babel/plugin-transform-duplicate-keys": "^7.16.7", "@babel/plugin-transform-exponentiation-operator": "^7.16.7", "@babel/plugin-transform-for-of": "^7.16.7", "@babel/plugin-transform-function-name": "^7.16.7", "@babel/plugin-transform-literals": "^7.16.7", "@babel/plugin-transform-member-expression-literals": "^7.16.7", "@babel/plugin-transform-modules-amd": "^7.16.7", "@babel/plugin-transform-modules-commonjs": "^7.16.8", "@babel/plugin-transform-modules-systemjs": "^7.16.7", "@babel/plugin-transform-modules-umd": "^7.16.7", "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", "@babel/plugin-transform-new-target": "^7.16.7", "@babel/plugin-transform-object-super": "^7.16.7", "@babel/plugin-transform-parameters": "^7.16.7", "@babel/plugin-transform-property-literals": "^7.16.7", "@babel/plugin-transform-regenerator": "^7.16.7", "@babel/plugin-transform-reserved-words": "^7.16.7", "@babel/plugin-transform-shorthand-properties": "^7.16.7", "@babel/plugin-transform-spread": "^7.16.7", "@babel/plugin-transform-sticky-regex": "^7.16.7", "@babel/plugin-transform-template-literals": "^7.16.7", "@babel/plugin-transform-typeof-symbol": "^7.16.7", "@babel/plugin-transform-unicode-escapes": "^7.16.7", "@babel/plugin-transform-unicode-regex": "^7.16.7", "@babel/preset-modules": "^0.1.5", "@babel/types": "^7.16.8", "babel-plugin-polyfill-corejs2": "^0.3.0", "babel-plugin-polyfill-corejs3": "^0.5.0", "babel-plugin-polyfill-regenerator": "^0.3.0", "core-js-compat": "^3.20.2", "semver": "^6.3.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/preset-modules": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", "@babel/plugin-transform-dotall-regex": "^7.4.4", "@babel/types": "^7.4.4", "esutils": "^2.0.2" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/register": { "version": "7.17.7", "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.17.7.tgz", "integrity": "sha512-fg56SwvXRifootQEDQAu1mKdjh5uthPzdO0N6t358FktfL4XjAVXuH58ULoiW8mesxiOgNIrxiImqEwv0+hRRA==", "dev": true, "dependencies": { "clone-deep": "^4.0.1", "find-cache-dir": "^2.0.0", "make-dir": "^2.1.0", "pirates": "^4.0.5", "source-map-support": "^0.5.16" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/runtime": { "version": "7.17.9", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz", "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==", "dev": true, "dependencies": { "regenerator-runtime": "^0.13.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", "dev": true, "dependencies": { "@babel/code-frame": "^7.16.7", "@babel/parser": "^7.16.7", "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { "version": "7.17.9", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.9.tgz", "integrity": "sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.16.7", "@babel/generator": "^7.17.9", "@babel/helper-environment-visitor": "^7.16.7", "@babel/helper-function-name": "^7.17.9", "@babel/helper-hoist-variables": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7", "@babel/parser": "^7.17.9", "@babel/types": "^7.17.0", "debug": "^4.1.0", "globals": "^11.1.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/types": { "version": "7.17.0", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.16.7", "to-fast-properties": "^2.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@colors/colors": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", "dev": true, "optional": true, "peer": true, "engines": { "node": ">=0.1.90" } }, "node_modules/@jridgewell/resolve-uri": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz", "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==", "dev": true, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.11", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==", "dev": true }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.4", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz", "integrity": "sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==", "dev": true, "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" } }, "node_modules/@mrmlnc/readdir-enhanced": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", "dev": true, "dependencies": { "call-me-maybe": "^1.0.1", "glob-to-regexp": "^0.3.0" }, "engines": { "node": ">=4" } }, "node_modules/@nicolo-ribaudo/chokidar-2": { "version": "2.1.8-no-fsevents.3", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", "dev": true, "optional": true }, "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, "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" }, "engines": { "node": ">= 8" } }, "node_modules/@nodelib/fs.scandir/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, "engines": { "node": ">= 8" } }, "node_modules/@nodelib/fs.stat": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", "dev": true, "engines": { "node": ">= 6" } }, "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, "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" }, "engines": { "node": ">= 8" } }, "node_modules/@octokit/auth-token": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-6.0.0.tgz", "integrity": "sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==", "dev": true, "engines": { "node": ">= 20" } }, "node_modules/@octokit/core": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/@octokit/core/-/core-7.0.3.tgz", "integrity": "sha512-oNXsh2ywth5aowwIa7RKtawnkdH6LgU1ztfP9AIUCQCvzysB+WeU8o2kyyosDPwBZutPpjZDKPQGIzzrfTWweQ==", "dev": true, "dependencies": { "@octokit/auth-token": "^6.0.0", "@octokit/graphql": "^9.0.1", "@octokit/request": "^10.0.2", "@octokit/request-error": "^7.0.0", "@octokit/types": "^14.0.0", "before-after-hook": "^4.0.0", "universal-user-agent": "^7.0.0" }, "engines": { "node": ">= 20" } }, "node_modules/@octokit/endpoint": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-11.0.0.tgz", "integrity": "sha512-hoYicJZaqISMAI3JfaDr1qMNi48OctWuOih1m80bkYow/ayPw6Jj52tqWJ6GEoFTk1gBqfanSoI1iY99Z5+ekQ==", "dev": true, "dependencies": { "@octokit/types": "^14.0.0", "universal-user-agent": "^7.0.2" }, "engines": { "node": ">= 20" } }, "node_modules/@octokit/graphql": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-9.0.1.tgz", "integrity": "sha512-j1nQNU1ZxNFx2ZtKmL4sMrs4egy5h65OMDmSbVyuCzjOcwsHq6EaYjOTGXPQxgfiN8dJ4CriYHk6zF050WEULg==", "dev": true, "dependencies": { "@octokit/request": "^10.0.2", "@octokit/types": "^14.0.0", "universal-user-agent": "^7.0.0" }, "engines": { "node": ">= 20" } }, "node_modules/@octokit/openapi-types": { "version": "25.1.0", "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz", "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==", "dev": true }, "node_modules/@octokit/plugin-paginate-rest": { "version": "13.1.1", "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-13.1.1.tgz", "integrity": "sha512-q9iQGlZlxAVNRN2jDNskJW/Cafy7/XE52wjZ5TTvyhyOD904Cvx//DNyoO3J/MXJ0ve3rPoNWKEg5iZrisQSuw==", "dev": true, "dependencies": { "@octokit/types": "^14.1.0" }, "engines": { "node": ">= 20" }, "peerDependencies": { "@octokit/core": ">=6" } }, "node_modules/@octokit/plugin-retry": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-8.0.1.tgz", "integrity": "sha512-KUoYR77BjF5O3zcwDQHRRZsUvJwepobeqiSSdCJ8lWt27FZExzb0GgVxrhhfuyF6z2B2zpO0hN5pteni1sqWiw==", "dev": true, "dependencies": { "@octokit/request-error": "^7.0.0", "@octokit/types": "^14.0.0", "bottleneck": "^2.15.3" }, "engines": { "node": ">= 20" }, "peerDependencies": { "@octokit/core": ">=7" } }, "node_modules/@octokit/plugin-throttling": { "version": "11.0.1", "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-11.0.1.tgz", "integrity": "sha512-S+EVhy52D/272L7up58dr3FNSMXWuNZolkL4zMJBNIfIxyZuUcczsQAU4b5w6dewJXnKYVgSHSV5wxitMSW1kw==", "dev": true, "dependencies": { "@octokit/types": "^14.0.0", "bottleneck": "^2.15.3" }, "engines": { "node": ">= 20" }, "peerDependencies": { "@octokit/core": "^7.0.0" } }, "node_modules/@octokit/request": { "version": "10.0.3", "resolved": "https://registry.npmjs.org/@octokit/request/-/request-10.0.3.tgz", "integrity": "sha512-V6jhKokg35vk098iBqp2FBKunk3kMTXlmq+PtbV9Gl3TfskWlebSofU9uunVKhUN7xl+0+i5vt0TGTG8/p/7HA==", "dev": true, "dependencies": { "@octokit/endpoint": "^11.0.0", "@octokit/request-error": "^7.0.0", "@octokit/types": "^14.0.0", "fast-content-type-parse": "^3.0.0", "universal-user-agent": "^7.0.2" }, "engines": { "node": ">= 20" } }, "node_modules/@octokit/request-error": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-7.0.0.tgz", "integrity": "sha512-KRA7VTGdVyJlh0cP5Tf94hTiYVVqmt2f3I6mnimmaVz4UG3gQV/k4mDJlJv3X67iX6rmN7gSHCF8ssqeMnmhZg==", "dev": true, "dependencies": { "@octokit/types": "^14.0.0" }, "engines": { "node": ">= 20" } }, "node_modules/@octokit/types": { "version": "14.1.0", "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", "dev": true, "dependencies": { "@octokit/openapi-types": "^25.1.0" } }, "node_modules/@pnpm/config.env-replace": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", "dev": true, "peer": true, "engines": { "node": ">=12.22.0" } }, "node_modules/@pnpm/network.ca-file": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", "dev": true, "peer": true, "dependencies": { "graceful-fs": "4.2.10" }, "engines": { "node": ">=12.22.0" } }, "node_modules/@pnpm/npm-conf": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.3.1.tgz", "integrity": "sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==", "dev": true, "peer": true, "dependencies": { "@pnpm/config.env-replace": "^1.1.0", "@pnpm/network.ca-file": "^1.0.1", "config-chain": "^1.1.11" }, "engines": { "node": ">=12" } }, "node_modules/@sec-ant/readable-stream": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", "dev": true, "peer": true }, "node_modules/@semantic-release/commit-analyzer": { "version": "13.0.1", "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-13.0.1.tgz", "integrity": "sha512-wdnBPHKkr9HhNhXOhZD5a2LNl91+hs8CC2vsAVYxtZH3y0dV3wKn+uZSN61rdJQZ8EGxzWB3inWocBHV9+u/CQ==", "dev": true, "peer": true, "dependencies": { "conventional-changelog-angular": "^8.0.0", "conventional-changelog-writer": "^8.0.0", "conventional-commits-filter": "^5.0.0", "conventional-commits-parser": "^6.0.0", "debug": "^4.0.0", "import-from-esm": "^2.0.0", "lodash-es": "^4.17.21", "micromatch": "^4.0.2" }, "engines": { "node": ">=20.8.1" }, "peerDependencies": { "semantic-release": ">=20.1.0" } }, "node_modules/@semantic-release/commit-analyzer/node_modules/micromatch": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, "peer": true, "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { "node": ">=8.6" } }, "node_modules/@semantic-release/error": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==", "dev": true, "engines": { "node": ">=18" } }, "node_modules/@semantic-release/github": { "version": "11.0.4", "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-11.0.4.tgz", "integrity": "sha512-fU/nLSjkp9DmB0h7FVO5imhhWJMvq2LjD4+3lz3ZAzpDLY9+KYwC+trJ+g7LbZeJv9y3L9fSFSg2DduUpiT6bw==", "dev": true, "dependencies": { "@octokit/core": "^7.0.0", "@octokit/plugin-paginate-rest": "^13.0.0", "@octokit/plugin-retry": "^8.0.0", "@octokit/plugin-throttling": "^11.0.0", "@semantic-release/error": "^4.0.0", "aggregate-error": "^5.0.0", "debug": "^4.3.4", "dir-glob": "^3.0.1", "globby": "^14.0.0", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.0", "issue-parser": "^7.0.0", "lodash-es": "^4.17.21", "mime": "^4.0.0", "p-filter": "^4.0.0", "url-join": "^5.0.0" }, "engines": { "node": ">=20.8.1" }, "peerDependencies": { "semantic-release": ">=24.1.0" } }, "node_modules/@semantic-release/github/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, "engines": { "node": ">= 8" } }, "node_modules/@semantic-release/github/node_modules/agent-base": { "version": "7.1.4", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", "dev": true, "engines": { "node": ">= 14" } }, "node_modules/@semantic-release/github/node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, "dependencies": { "path-type": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/@semantic-release/github/node_modules/fast-glob": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.8" }, "engines": { "node": ">=8.6.0" } }, "node_modules/@semantic-release/github/node_modules/globby": { "version": "14.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", "dev": true, "dependencies": { "@sindresorhus/merge-streams": "^2.1.0", "fast-glob": "^3.3.3", "ignore": "^7.0.3", "path-type": "^6.0.0", "slash": "^5.1.0", "unicorn-magic": "^0.3.0" }, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@semantic-release/github/node_modules/globby/node_modules/path-type": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz", "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==", "dev": true, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@semantic-release/github/node_modules/http-proxy-agent": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", "dev": true, "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" }, "engines": { "node": ">= 14" } }, "node_modules/@semantic-release/github/node_modules/https-proxy-agent": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "dev": true, "dependencies": { "agent-base": "^7.1.2", "debug": "4" }, "engines": { "node": ">= 14" } }, "node_modules/@semantic-release/github/node_modules/ignore": { "version": "7.0.5", "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", "dev": true, "engines": { "node": ">= 4" } }, "node_modules/@semantic-release/github/node_modules/micromatch": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { "node": ">=8.6" } }, "node_modules/@semantic-release/github/node_modules/mime": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/mime/-/mime-4.0.7.tgz", "integrity": "sha512-2OfDPL+e03E0LrXaGYOtTFIYhiuzep94NSsuhrNULq+stylcJedcHdzHtz0atMUuGwJfFYs0YL5xeC/Ca2x0eQ==", "dev": true, "funding": [ "https://github.com/sponsors/broofa" ], "bin": { "mime": "bin/cli.js" }, "engines": { "node": ">=16" } }, "node_modules/@semantic-release/github/node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/@semantic-release/github/node_modules/slash": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", "dev": true, "engines": { "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@semantic-release/npm": { "version": "12.0.2", "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-12.0.2.tgz", "integrity": "sha512-+M9/Lb35IgnlUO6OSJ40Ie+hUsZLuph2fqXC/qrKn0fMvUU/jiCjpoL6zEm69vzcmaZJ8yNKtMBEKHWN49WBbQ==", "dev": true, "peer": true, "dependencies": { "@semantic-release/error": "^4.0.0", "aggregate-error": "^5.0.0", "execa": "^9.0.0", "fs-extra": "^11.0.0", "lodash-es": "^4.17.21", "nerf-dart": "^1.0.0", "normalize-url": "^8.0.0", "npm": "^10.9.3", "rc": "^1.2.8", "read-pkg": "^9.0.0", "registry-auth-token": "^5.0.0", "semver": "^7.1.2", "tempy": "^3.0.0" }, "engines": { "node": ">=20.8.1" }, "peerDependencies": { "semantic-release": ">=20.1.0" } }, "node_modules/@semantic-release/npm/node_modules/@sindresorhus/merge-streams": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", "dev": true, "peer": true, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@semantic-release/npm/node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "peer": true, "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" }, "engines": { "node": ">= 8" } }, "node_modules/@semantic-release/npm/node_modules/execa": { "version": "9.6.0", "resolved": "https://registry.npmjs.org/execa/-/execa-9.6.0.tgz", "integrity": "sha512-jpWzZ1ZhwUmeWRhS7Qv3mhpOhLfwI+uAX4e5fOcXqwMR7EcJ0pj2kV1CVzHVMX/LphnKWD3LObjZCoJ71lKpHw==", "dev": true, "peer": true, "dependencies": { "@sindresorhus/merge-streams": "^4.0.0", "cross-spawn": "^7.0.6", "figures": "^6.1.0", "get-stream": "^9.0.0", "human-signals": "^8.0.1", "is-plain-obj": "^4.1.0", "is-stream": "^4.0.1", "npm-run-path": "^6.0.0", "pretty-ms": "^9.2.0", "signal-exit": "^4.1.0", "strip-final-newline": "^4.0.0", "yoctocolors": "^2.1.1" }, "engines": { "node": "^18.19.0 || >=20.5.0" }, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, "node_modules/@semantic-release/npm/node_modules/figures": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", "dev": true, "peer": true, "dependencies": { "is-unicode-supported": "^2.0.0" }, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@semantic-release/npm/node_modules/get-stream": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", "dev": true, "peer": true, "dependencies": { "@sec-ant/readable-stream": "^0.4.1", "is-stream": "^4.0.1" }, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@semantic-release/npm/node_modules/hosted-git-info": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", "dev": true, "peer": true, "dependencies": { "lru-cache": "^10.0.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/@semantic-release/npm/node_modules/is-stream": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", "dev": true, "peer": true, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@semantic-release/npm/node_modules/lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, "peer": true }, "node_modules/@semantic-release/npm/node_modules/normalize-package-data": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", "dev": true, "peer": true, "dependencies": { "hosted-git-info": "^7.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/@semantic-release/npm/node_modules/npm-run-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", "dev": true, "peer": true, "dependencies": { "path-key": "^4.0.0", "unicorn-magic": "^0.3.0" }, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@semantic-release/npm/node_modules/npm-run-path/node_modules/path-key": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, "peer": true, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@semantic-release/npm/node_modules/parse-json": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.3.0.tgz", "integrity": "sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==", "dev": true, "peer": true, "dependencies": { "@babel/code-frame": "^7.26.2", "index-to-position": "^1.1.0", "type-fest": "^4.39.1" }, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@semantic-release/npm/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, "peer": true, "engines": { "node": ">=8" } }, "node_modules/@semantic-release/npm/node_modules/read-pkg": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", "dev": true, "peer": true, "dependencies": { "@types/normalize-package-data": "^2.4.3", "normalize-package-data": "^6.0.0", "parse-json": "^8.0.0", "type-fest": "^4.6.0", "unicorn-magic": "^0.1.0" }, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@semantic-release/npm/node_modules/read-pkg/node_modules/unicorn-magic": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", "dev": true, "peer": true, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@semantic-release/npm/node_modules/semver": { "version": "7.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "peer": true, "bin": { "semver": "bin/semver.js" }, "engines": { "node": ">=10" } }, "node_modules/@semantic-release/npm/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, "peer": true, "dependencies": { "shebang-regex": "^3.0.0" }, "engines": { "node": ">=8" } }, "node_modules/@semantic-release/npm/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, "peer": true, "engines": { "node": ">=8" } }, "node_modules/@semantic-release/npm/node_modules/signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, "peer": true, "engines": { "node": ">=14" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/@semantic-release/npm/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, "peer": true, "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "bin/node-which" }, "engines": { "node": ">= 8" } }, "node_modules/@semantic-release/release-notes-generator": { "version": "14.0.3", "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-14.0.3.tgz", "integrity": "sha512-XxAZRPWGwO5JwJtS83bRdoIhCiYIx8Vhr+u231pQAsdFIAbm19rSVJLdnBN+Avvk7CKvNQE/nJ4y7uqKH6WTiw==", "dev": true, "peer": true, "dependencies": { "conventional-changelog-angular": "^8.0.0", "conventional-changelog-writer": "^8.0.0", "conventional-commits-filter": "^5.0.0", "conventional-commits-parser": "^6.0.0", "debug": "^4.0.0", "get-stream": "^7.0.0", "import-from-esm": "^2.0.0", "into-stream": "^7.0.0", "lodash-es": "^4.17.21", "read-package-up": "^11.0.0" }, "engines": { "node": ">=20.8.1" }, "peerDependencies": { "semantic-release": ">=20.1.0" } }, "node_modules/@semantic-release/release-notes-generator/node_modules/get-stream": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-7.0.1.tgz", "integrity": "sha512-3M8C1EOFN6r8AMUhwUAACIoXZJEOufDU5+0gFFN5uNs6XYOralD2Pqkl7m046va6x77FwposWXbAhPPIOus7mQ==", "dev": true, "peer": true, "engines": { "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@sindresorhus/is": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", "dev": true, "peer": true, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sindresorhus/is?sponsor=1" } }, "node_modules/@sindresorhus/merge-streams": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", "dev": true, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", "dev": true }, "node_modules/@types/node": { "version": "17.0.24", "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.24.tgz", "integrity": "sha512-aveCYRQbgTH9Pssp1voEP7HiuWlD2jW2BO56w+bVrJn04i61yh6mRfoKO6hEYQD9vF+W8Chkwc6j1M36uPkx4g==", "dev": true }, "node_modules/@types/normalize-package-data": { "version": "2.4.4", "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", "dev": true, "peer": true }, "node_modules/@webassemblyjs/ast": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, "dependencies": { "@webassemblyjs/helper-module-context": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0", "@webassemblyjs/wast-parser": "1.9.0" } }, "node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", "dev": true }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", "dev": true }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", "dev": true }, "node_modules/@webassemblyjs/helper-code-frame": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", "dev": true, "dependencies": { "@webassemblyjs/wast-printer": "1.9.0" } }, "node_modules/@webassemblyjs/helper-fsm": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", "dev": true }, "node_modules/@webassemblyjs/helper-module-context": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", "dev": true, "dependencies": { "@webassemblyjs/ast": "1.9.0" } }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", "dev": true }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", "dev": true, "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-buffer": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0", "@webassemblyjs/wasm-gen": "1.9.0" } }, "node_modules/@webassemblyjs/ieee754": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", "dev": true, "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", "dev": true, "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", "dev": true }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", "dev": true, "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-buffer": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0", "@webassemblyjs/helper-wasm-section": "1.9.0", "@webassemblyjs/wasm-gen": "1.9.0", "@webassemblyjs/wasm-opt": "1.9.0", "@webassemblyjs/wasm-parser": "1.9.0", "@webassemblyjs/wast-printer": "1.9.0" } }, "node_modules/@webassemblyjs/wasm-gen": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", "dev": true, "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0", "@webassemblyjs/ieee754": "1.9.0", "@webassemblyjs/leb128": "1.9.0", "@webassemblyjs/utf8": "1.9.0" } }, "node_modules/@webassemblyjs/wasm-opt": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", "dev": true, "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-buffer": "1.9.0", "@webassemblyjs/wasm-gen": "1.9.0", "@webassemblyjs/wasm-parser": "1.9.0" } }, "node_modules/@webassemblyjs/wasm-parser": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", "dev": true, "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-api-error": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0", "@webassemblyjs/ieee754": "1.9.0", "@webassemblyjs/leb128": "1.9.0", "@webassemblyjs/utf8": "1.9.0" } }, "node_modules/@webassemblyjs/wast-parser": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", "dev": true, "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/floating-point-hex-parser": "1.9.0", "@webassemblyjs/helper-api-error": "1.9.0", "@webassemblyjs/helper-code-frame": "1.9.0", "@webassemblyjs/helper-fsm": "1.9.0", "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/wast-printer": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "dev": true, "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/wast-parser": "1.9.0", "@xtuc/long": "4.2.2" } }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", "dev": true }, "node_modules/@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, "node_modules/abab": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", "dev": true }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" }, "engines": { "node": ">= 0.6" } }, "node_modules/acorn": { "version": "5.7.4", "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", "dev": true, "bin": { "acorn": "bin/acorn" }, "engines": { "node": ">=0.4.0" } }, "node_modules/acorn-globals": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", "dev": true, "dependencies": { "acorn": "^6.0.1", "acorn-walk": "^6.0.1" } }, "node_modules/acorn-globals/node_modules/acorn": { "version": "6.4.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true, "bin": { "acorn": "bin/acorn" }, "engines": { "node": ">=0.4.0" } }, "node_modules/acorn-jsx": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "dev": true, "dependencies": { "acorn": "^3.0.4" } }, "node_modules/acorn-jsx/node_modules/acorn": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", "dev": true, "bin": { "acorn": "bin/acorn" }, "engines": { "node": ">=0.4.0" } }, "node_modules/acorn-walk": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", "dev": true, "engines": { "node": ">=0.4.0" } }, "node_modules/addressparser": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz", "integrity": "sha1-R6++GiqSYhkdtoOOT9HTm0CCF0Y=", "dev": true, "optional": true }, "node_modules/adm-zip": { "version": "0.4.16", "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", "dev": true, "engines": { "node": ">=0.3.0" } }, "node_modules/after": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", "dev": true }, "node_modules/agent-base": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", "dev": true, "dependencies": { "es6-promisify": "^5.0.0" }, "engines": { "node": ">= 4.0.0" } }, "node_modules/aggregate-error": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", "dev": true, "dependencies": { "clean-stack": "^5.2.0", "indent-string": "^5.0.0" }, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/aggregate-error/node_modules/indent-string": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", "dev": true, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/ajv": { "version": "5.5.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "dev": true, "dependencies": { "co": "^4.6.0", "fast-deep-equal": "^1.0.0", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.3.0" } }, "node_modules/ajv-errors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", "dev": true, "peerDependencies": { "ajv": ">=5.0.0" } }, "node_modules/ajv-keywords": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", "dev": true, "peerDependencies": { "ajv": "^5.0.0" } }, "node_modules/amqplib": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/amqplib/-/amqplib-0.5.6.tgz", "integrity": "sha512-J4TR0WAMPBHN+tgTuhNsSObfM9eTVTZm/FNw0LyaGfbiLsBxqSameDNYpChUFXW4bnTKHDXy0ab+nuLhumnRrQ==", "dev": true, "optional": true, "dependencies": { "bitsyntax": "~0.1.0", "bluebird": "^3.5.2", "buffer-more-ints": "~1.0.0", "readable-stream": "1.x >=1.1.9", "safe-buffer": "~5.1.2", "url-parse": "~1.4.3" }, "engines": { "node": ">=0.8 <=12" } }, "node_modules/amqplib/node_modules/isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", "dev": true, "optional": true }, "node_modules/amqplib/node_modules/readable-stream": { "version": "1.1.14", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "dev": true, "optional": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", "isarray": "0.0.1", "string_decoder": "~0.10.x" } }, "node_modules/amqplib/node_modules/string_decoder": { "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", "dev": true, "optional": true }, "node_modules/ansi-escapes": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/ansi-regex": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "dependencies": { "color-convert": "^1.9.0" }, "engines": { "node": ">=4" } }, "node_modules/any-promise": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", "dev": true, "peer": true }, "node_modules/anymatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dev": true, "optional": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" }, "engines": { "node": ">= 8" } }, "node_modules/append-transform": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "dev": true, "dependencies": { "default-require-extensions": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true }, "node_modules/archiver": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/archiver/-/archiver-3.1.1.tgz", "integrity": "sha512-5Hxxcig7gw5Jod/8Gq0OneVgLYET+oNHcxgWItq4TbhOzRLKNAFUb9edAftiMKXvXfCB0vbGrJdZDNq0dWMsxg==", "dev": true, "dependencies": { "archiver-utils": "^2.1.0", "async": "^2.6.3", "buffer-crc32": "^0.2.1", "glob": "^7.1.4", "readable-stream": "^3.4.0", "tar-stream": "^2.1.0", "zip-stream": "^2.1.2" }, "engines": { "node": ">= 6" } }, "node_modules/archiver-utils": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", "dev": true, "dependencies": { "glob": "^7.1.4", "graceful-fs": "^4.2.0", "lazystream": "^1.0.0", "lodash.defaults": "^4.2.0", "lodash.difference": "^4.5.0", "lodash.flatten": "^4.4.0", "lodash.isplainobject": "^4.0.6", "lodash.union": "^4.6.0", "normalize-path": "^3.0.0", "readable-stream": "^2.0.0" }, "engines": { "node": ">= 6" } }, "node_modules/archiver/node_modules/readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" }, "engines": { "node": ">= 6" } }, "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "dependencies": { "sprintf-js": "~1.0.2" } }, "node_modules/argv-formatter": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/argv-formatter/-/argv-formatter-1.0.0.tgz", "integrity": "sha512-F2+Hkm9xFaRg+GkaNnbwXNDV5O6pnCFEmqyhvfC/Ic5LbgOWjJh3L+mN/s91rxVL3znE7DYVpW0GJFT+4YBgWw==", "dev": true, "peer": true }, "node_modules/arr-diff": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "dependencies": { "arr-flatten": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/array-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", "dev": true }, "node_modules/array-find-index": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", "dev": true }, "node_modules/array-ify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", "dev": true, "peer": true }, "node_modules/array-includes": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz", "integrity": "sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", "es-abstract": "^1.19.1", "get-intrinsic": "^1.1.1", "is-string": "^1.0.7" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/array-slice": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/array-union": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "dev": true, "dependencies": { "array-uniq": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/array-uniq": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/array-unique": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/array.prototype.flat": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", "es-abstract": "^1.19.2", "es-shim-unscopables": "^1.0.0" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/arraybuffer.slice": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", "dev": true }, "node_modules/arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "dev": true, "dependencies": { "safer-buffer": "~2.1.0" } }, "node_modules/asn1.js": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "dev": true, "dependencies": { "bn.js": "^4.0.0", "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0", "safer-buffer": "^2.1.0" } }, "node_modules/asn1.js/node_modules/bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true }, "node_modules/assert": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", "dev": true, "dependencies": { "object-assign": "^4.1.1", "util": "0.10.3" } }, "node_modules/assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true, "engines": { "node": ">=0.8" } }, "node_modules/assert/node_modules/inherits": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", "dev": true }, "node_modules/assert/node_modules/util": { "version": "0.10.3", "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", "dev": true, "dependencies": { "inherits": "2.0.1" } }, "node_modules/assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ast-types": { "version": "0.14.2", "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", "dev": true, "optional": true, "dependencies": { "tslib": "^2.0.1" }, "engines": { "node": ">=4" } }, "node_modules/astral-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/async": { "version": "2.6.4", "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", "dev": true, "dependencies": { "lodash": "^4.17.14" } }, "node_modules/async-each": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", "dev": true }, "node_modules/async-limiter": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", "dev": true }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, "node_modules/atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true, "bin": { "atob": "bin/atob.js" }, "engines": { "node": ">= 4.5.0" } }, "node_modules/aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", "dev": true, "engines": { "node": "*" } }, "node_modules/aws4": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", "dev": true }, "node_modules/axios": { "version": "0.15.3", "resolved": "https://registry.npmjs.org/axios/-/axios-0.15.3.tgz", "integrity": "sha1-LJ1jiy4ZGgjqHWzJiOrda6W9wFM=", "deprecated": "Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410", "dev": true, "optional": true, "dependencies": { "follow-redirects": "1.0.0" } }, "node_modules/axios/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "optional": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/axios/node_modules/follow-redirects": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.0.0.tgz", "integrity": "sha1-jjQpjL0uF28lTv/sdaHHjMhJ/Tc=", "dev": true, "optional": true, "dependencies": { "debug": "^2.2.0" } }, "node_modules/axios/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true, "optional": true }, "node_modules/babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "dependencies": { "chalk": "^1.1.3", "esutils": "^2.0.2", "js-tokens": "^3.0.2" } }, "node_modules/babel-code-frame/node_modules/ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/babel-code-frame/node_modules/ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/babel-code-frame/node_modules/chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "dependencies": { "ansi-styles": "^2.2.1", "escape-string-regexp": "^1.0.2", "has-ansi": "^2.0.0", "strip-ansi": "^3.0.0", "supports-color": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/babel-code-frame/node_modules/js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", "dev": true }, "node_modules/babel-code-frame/node_modules/strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "dependencies": { "ansi-regex": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/babel-code-frame/node_modules/supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true, "engines": { "node": ">=0.8.0" } }, "node_modules/babel-core": { "version": "7.0.0-bridge.0", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", "dev": true, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/babel-generator": { "version": "6.26.1", "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "dependencies": { "babel-messages": "^6.23.0", "babel-runtime": "^6.26.0", "babel-types": "^6.26.0", "detect-indent": "^4.0.0", "jsesc": "^1.3.0", "lodash": "^4.17.4", "source-map": "^0.5.7", "trim-right": "^1.0.1" } }, "node_modules/babel-generator/node_modules/jsesc": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", "dev": true, "bin": { "jsesc": "bin/jsesc" } }, "node_modules/babel-helpers": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "dependencies": { "babel-runtime": "^6.22.0", "babel-template": "^6.24.1" } }, "node_modules/babel-jest": { "version": "22.4.4", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-22.4.4.tgz", "integrity": "sha512-A9NB6/lZhYyypR9ATryOSDcqBaqNdzq4U+CN+/wcMsLcmKkPxQEoTKLajGfd3IkxNyVBT8NewUK2nWyGbSzHEQ==", "dev": true, "dependencies": { "babel-plugin-istanbul": "^4.1.5", "babel-preset-jest": "^22.4.4" }, "peerDependencies": { "babel-core": "^6.0.0 || ^7.0.0-0" } }, "node_modules/babel-messages": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "dependencies": { "babel-runtime": "^6.22.0" } }, "node_modules/babel-plugin-dynamic-import-node": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", "dev": true, "dependencies": { "object.assign": "^4.1.0" } }, "node_modules/babel-plugin-external-helpers": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-external-helpers/-/babel-plugin-external-helpers-6.22.0.tgz", "integrity": "sha1-IoX0iwK9Xe3oUXXK+MYuhq3M76E=", "dev": true, "dependencies": { "babel-runtime": "^6.22.0" } }, "node_modules/babel-plugin-istanbul": { "version": "4.1.6", "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz", "integrity": "sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==", "dev": true, "dependencies": { "babel-plugin-syntax-object-rest-spread": "^6.13.0", "find-up": "^2.1.0", "istanbul-lib-instrument": "^1.10.1", "test-exclude": "^4.2.1" } }, "node_modules/babel-plugin-jest-hoist": { "version": "22.4.4", "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.4.4.tgz", "integrity": "sha512-DUvGfYaAIlkdnygVIEl0O4Av69NtuQWcrjMOv6DODPuhuGLDnbsARz3AwiiI/EkIMMlxQDUcrZ9yoyJvTNjcVQ==", "dev": true }, "node_modules/babel-plugin-polyfill-corejs2": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", "dev": true, "dependencies": { "@babel/compat-data": "^7.13.11", "@babel/helper-define-polyfill-provider": "^0.3.1", "semver": "^6.1.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/babel-plugin-polyfill-corejs3": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz", "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==", "dev": true, "dependencies": { "@babel/helper-define-polyfill-provider": "^0.3.1", "core-js-compat": "^3.21.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/babel-plugin-polyfill-regenerator": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", "dev": true, "dependencies": { "@babel/helper-define-polyfill-provider": "^0.3.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/babel-plugin-syntax-object-rest-spread": { "version": "6.13.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", "dev": true }, "node_modules/babel-preset-jest": { "version": "22.4.4", "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-22.4.4.tgz", "integrity": "sha512-+dxMtOFwnSYWfum0NaEc0O03oSdwBsjx4tMSChRDPGwu/4wSY6Q6ANW3wkjKpJzzguaovRs/DODcT4hbSN8yiA==", "dev": true, "dependencies": { "babel-plugin-jest-hoist": "^22.4.4", "babel-plugin-syntax-object-rest-spread": "^6.13.0" } }, "node_modules/babel-register": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "dependencies": { "babel-core": "^6.26.0", "babel-runtime": "^6.26.0", "core-js": "^2.5.0", "home-or-tmp": "^2.0.0", "lodash": "^4.17.4", "mkdirp": "^0.5.1", "source-map-support": "^0.4.15" } }, "node_modules/babel-register/node_modules/babel-core": { "version": "6.26.3", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "dependencies": { "babel-code-frame": "^6.26.0", "babel-generator": "^6.26.0", "babel-helpers": "^6.24.1", "babel-messages": "^6.23.0", "babel-register": "^6.26.0", "babel-runtime": "^6.26.0", "babel-template": "^6.26.0", "babel-traverse": "^6.26.0", "babel-types": "^6.26.0", "babylon": "^6.18.0", "convert-source-map": "^1.5.1", "debug": "^2.6.9", "json5": "^0.5.1", "lodash": "^4.17.4", "minimatch": "^3.0.4", "path-is-absolute": "^1.0.1", "private": "^0.1.8", "slash": "^1.0.0", "source-map": "^0.5.7" } }, "node_modules/babel-register/node_modules/core-js": { "version": "2.6.12", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", "deprecated": "core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.", "dev": true, "hasInstallScript": true }, "node_modules/babel-register/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/babel-register/node_modules/json5": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", "dev": true, "bin": { "json5": "lib/cli.js" } }, "node_modules/babel-register/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "node_modules/babel-register/node_modules/slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/babel-register/node_modules/source-map-support": { "version": "0.4.18", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "dependencies": { "source-map": "^0.5.6" } }, "node_modules/babel-runtime": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "dependencies": { "core-js": "^2.4.0", "regenerator-runtime": "^0.11.0" } }, "node_modules/babel-runtime/node_modules/core-js": { "version": "2.6.12", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", "deprecated": "core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.", "dev": true, "hasInstallScript": true }, "node_modules/babel-runtime/node_modules/regenerator-runtime": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", "dev": true }, "node_modules/babel-template": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "dependencies": { "babel-runtime": "^6.26.0", "babel-traverse": "^6.26.0", "babel-types": "^6.26.0", "babylon": "^6.18.0", "lodash": "^4.17.4" } }, "node_modules/babel-traverse": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "dependencies": { "babel-code-frame": "^6.26.0", "babel-messages": "^6.23.0", "babel-runtime": "^6.26.0", "babel-types": "^6.26.0", "babylon": "^6.18.0", "debug": "^2.6.8", "globals": "^9.18.0", "invariant": "^2.2.2", "lodash": "^4.17.4" } }, "node_modules/babel-traverse/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/babel-traverse/node_modules/globals": { "version": "9.18.0", "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/babel-traverse/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "node_modules/babel-types": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "dependencies": { "babel-runtime": "^6.26.0", "esutils": "^2.0.2", "lodash": "^4.17.4", "to-fast-properties": "^1.0.3" } }, "node_modules/babel-types/node_modules/to-fast-properties": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/babylon": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", "dev": true, "bin": { "babylon": "bin/babylon.js" } }, "node_modules/backo2": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", "dev": true }, "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 }, "node_modules/base": { "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, "dependencies": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", "component-emitter": "^1.2.1", "define-property": "^1.0.0", "isobject": "^3.0.1", "mixin-deep": "^1.2.0", "pascalcase": "^0.1.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/base/node_modules/define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "dependencies": { "is-descriptor": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/base64-arraybuffer": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", "dev": true, "engines": { "node": ">= 0.6.0" } }, "node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "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/base64id": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", "dev": true, "engines": { "node": ">= 0.4.0" } }, "node_modules/bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "dependencies": { "tweetnacl": "^0.14.3" } }, "node_modules/before-after-hook": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-4.0.0.tgz", "integrity": "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==", "dev": true }, "node_modules/better-assert": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", "dev": true, "dependencies": { "callsite": "1.0.0" }, "engines": { "node": "*" } }, "node_modules/bfj-node4": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/bfj-node4/-/bfj-node4-5.3.1.tgz", "integrity": "sha512-SOmOsowQWfXc7ybFARsK3C4MCOWzERaOMV/Fl3Tgjs+5dJWyzo3oa127jL44eMbQiAN17J7SvAs2TRxEScTUmg==", "deprecated": "Switch to the `bfj` package for fixes and new features!", "dev": true, "dependencies": { "bluebird": "^3.5.1", "check-types": "^7.3.0", "tryer": "^1.0.0" }, "engines": { "node": ">= 4.0.0" } }, "node_modules/big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true, "engines": { "node": "*" } }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true, "optional": true, "engines": { "node": ">=8" } }, "node_modules/bindings": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", "dev": true, "optional": true, "dependencies": { "file-uri-to-path": "1.0.0" } }, "node_modules/bitsyntax": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.1.0.tgz", "integrity": "sha512-ikAdCnrloKmFOugAfxWws89/fPc+nw0OOG1IzIE72uSOg/A3cYptKCjSUhDTuj7fhsJtzkzlv7l3b8PzRHLN0Q==", "dev": true, "optional": true, "dependencies": { "buffer-more-ints": "~1.0.0", "debug": "~2.6.9", "safe-buffer": "~5.1.2" }, "engines": { "node": ">=0.8" } }, "node_modules/bitsyntax/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "optional": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/bitsyntax/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true, "optional": true }, "node_modules/bl": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dev": true, "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" } }, "node_modules/bl/node_modules/readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" }, "engines": { "node": ">= 6" } }, "node_modules/blob": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", "dev": true }, "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, "node_modules/bn.js": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", "dev": true }, "node_modules/body-parser": { "version": "1.20.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", "dev": true, "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.4", "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", "qs": "6.10.3", "raw-body": "2.5.1", "type-is": "~1.6.18", "unpipe": "1.0.0" }, "engines": { "node": ">= 0.8", "npm": "1.2.8000 || >= 1.4.16" } }, "node_modules/body-parser/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "node_modules/boom": { "version": "2.10.1", "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", "dev": true, "optional": true, "dependencies": { "hoek": "2.x.x" }, "engines": { "node": ">=0.10.40" } }, "node_modules/bottleneck": { "version": "2.19.5", "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz", "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==", "dev": true }, "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, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "node_modules/braces": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { "fill-range": "^7.1.1" }, "engines": { "node": ">=8" } }, "node_modules/brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", "dev": true }, "node_modules/browser-process-hrtime": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", "dev": true }, "node_modules/browser-resolve": { "version": "1.11.3", "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", "dev": true, "dependencies": { "resolve": "1.1.7" } }, "node_modules/browser-resolve/node_modules/resolve": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", "dev": true }, "node_modules/browserify-aes": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "dependencies": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", "create-hash": "^1.1.0", "evp_bytestokey": "^1.0.3", "inherits": "^2.0.1", "safe-buffer": "^5.0.1" } }, "node_modules/browserify-cipher": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, "dependencies": { "browserify-aes": "^1.0.4", "browserify-des": "^1.0.0", "evp_bytestokey": "^1.0.0" } }, "node_modules/browserify-des": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, "dependencies": { "cipher-base": "^1.0.1", "des.js": "^1.0.0", "inherits": "^2.0.1", "safe-buffer": "^5.1.2" } }, "node_modules/browserify-rsa": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "dev": true, "dependencies": { "bn.js": "^5.0.0", "randombytes": "^2.0.1" } }, "node_modules/browserify-sign": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", "dev": true, "dependencies": { "bn.js": "^5.1.1", "browserify-rsa": "^4.0.1", "create-hash": "^1.2.0", "create-hmac": "^1.1.7", "elliptic": "^6.5.3", "inherits": "^2.0.4", "parse-asn1": "^5.1.5", "readable-stream": "^3.6.0", "safe-buffer": "^5.2.0" } }, "node_modules/browserify-sign/node_modules/readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" }, "engines": { "node": ">= 6" } }, "node_modules/browserify-sign/node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "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/browserify-zlib": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, "dependencies": { "pako": "~1.0.5" } }, "node_modules/browserslist": { "version": "4.20.2", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz", "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==", "dev": true, "funding": [ { "type": "opencollective", "url": "https://opencollective.com/browserslist" }, { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" } ], "dependencies": { "caniuse-lite": "^1.0.30001317", "electron-to-chromium": "^1.4.84", "escalade": "^3.1.1", "node-releases": "^2.0.2", "picocolors": "^1.0.0" }, "bin": { "browserslist": "cli.js" }, "engines": { "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, "node_modules/bser": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, "dependencies": { "node-int64": "^0.4.0" } }, "node_modules/buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "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" } ], "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" } }, "node_modules/buffer-alloc": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", "dev": true, "dependencies": { "buffer-alloc-unsafe": "^1.1.0", "buffer-fill": "^1.0.0" } }, "node_modules/buffer-alloc-unsafe": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", "dev": true }, "node_modules/buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", "dev": true, "engines": { "node": "*" } }, "node_modules/buffer-fill": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", "dev": true }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, "node_modules/buffer-more-ints": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/buffer-more-ints/-/buffer-more-ints-1.0.0.tgz", "integrity": "sha512-EMetuGFz5SLsT0QTnXzINh4Ksr+oo4i+UGTXEshiGCQWnsgSs7ZhJ8fzlwQ+OzEMs0MpDAMr1hxnblp5a4vcHg==", "dev": true, "optional": true }, "node_modules/buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", "dev": true }, "node_modules/buildmail": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/buildmail/-/buildmail-4.0.1.tgz", "integrity": "sha1-h393OLeHKYccmhBeO4N9K+EaenI=", "deprecated": "This project is unmaintained", "dev": true, "optional": true, "dependencies": { "addressparser": "1.0.1", "libbase64": "0.1.0", "libmime": "3.0.0", "libqp": "1.1.0", "nodemailer-fetch": "1.6.0", "nodemailer-shared": "1.1.0", "punycode": "1.4.1" } }, "node_modules/builtin-status-codes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", "dev": true }, "node_modules/bytes": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, "engines": { "node": ">= 0.8" } }, "node_modules/cacache": { "version": "10.0.4", "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", "dev": true, "dependencies": { "bluebird": "^3.5.1", "chownr": "^1.0.1", "glob": "^7.1.2", "graceful-fs": "^4.1.11", "lru-cache": "^4.1.1", "mississippi": "^2.0.0", "mkdirp": "^0.5.1", "move-concurrently": "^1.0.1", "promise-inflight": "^1.0.1", "rimraf": "^2.6.2", "ssri": "^5.2.4", "unique-filename": "^1.1.0", "y18n": "^4.0.0" } }, "node_modules/cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, "dependencies": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", "get-value": "^2.0.6", "has-value": "^1.0.0", "isobject": "^3.0.1", "set-value": "^2.0.0", "to-object-path": "^0.3.0", "union-value": "^1.0.0", "unset-value": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, "dependencies": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/call-me-maybe": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", "dev": true }, "node_modules/caller-callsite": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", "dev": true, "dependencies": { "callsites": "^2.0.0" }, "engines": { "node": ">=4" } }, "node_modules/caller-path": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "dependencies": { "callsites": "^0.2.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/caller-path/node_modules/callsites": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/callsite": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", "dev": true, "engines": { "node": "*" } }, "node_modules/callsites": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/camelcase": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/camelcase-keys": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "dependencies": { "camelcase": "^2.0.0", "map-obj": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/caniuse-lite": { "version": "1.0.30001332", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz", "integrity": "sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==", "dev": true, "funding": [ { "type": "opencollective", "url": "https://opencollective.com/browserslist" }, { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" } ] }, "node_modules/capture-exit": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz", "integrity": "sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28=", "dev": true, "dependencies": { "rsvp": "^3.3.3" } }, "node_modules/caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, "node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" }, "engines": { "node": ">=4" } }, "node_modules/char-regex": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, "peer": true, "engines": { "node": ">=10" } }, "node_modules/chardet": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", "dev": true }, "node_modules/check-types": { "version": "7.4.0", "resolved": "https://registry.npmjs.org/check-types/-/check-types-7.4.0.tgz", "integrity": "sha512-YbulWHdfP99UfZ73NcUDlNJhEIDgm9Doq9GhpyXbF+7Aegi3CVV7qqMCKTTqJxlvEvnQBp9IA+dxsGN6xK/nSg==", "dev": true }, "node_modules/chokidar": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, "funding": [ { "type": "individual", "url": "https://paulmillr.com/funding/" } ], "optional": true, "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" }, "engines": { "node": ">= 8.10.0" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "node_modules/chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "dev": true }, "node_modules/chrome-trace-event": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", "dev": true, "engines": { "node": ">=6.0" } }, "node_modules/ci-info": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", "dev": true }, "node_modules/ci-job-number": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/ci-job-number/-/ci-job-number-0.3.1.tgz", "integrity": "sha512-OfY2Cg+mTqZz7lWOxONGbAXVZNNWPSiyGtOpAjYHEVTXIae8lGCOg3cDfJpPh8zcl+2CqItOsxbvH6ueV+QOmw==", "dev": true }, "node_modules/cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" } }, "node_modules/circular-json": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", "deprecated": "CircularJSON is in maintenance only, flatted is its successor.", "dev": true }, "node_modules/class-utils": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "dependencies": { "arr-union": "^3.1.0", "define-property": "^0.2.5", "isobject": "^3.0.0", "static-extend": "^0.1.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/class-utils/node_modules/define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "dependencies": { "is-descriptor": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/class-utils/node_modules/is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "dependencies": { "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/class-utils/node_modules/is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "dependencies": { "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/class-utils/node_modules/is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", "kind-of": "^5.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/class-utils/node_modules/kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/clean-stack": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==", "dev": true, "dependencies": { "escape-string-regexp": "5.0.0" }, "engines": { "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/clean-stack/node_modules/escape-string-regexp": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", "dev": true, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "dependencies": { "restore-cursor": "^2.0.0" }, "engines": { "node": ">=4" } }, "node_modules/cli-highlight": { "version": "2.1.11", "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", "dev": true, "peer": true, "dependencies": { "chalk": "^4.0.0", "highlight.js": "^10.7.1", "mz": "^2.4.0", "parse5": "^5.1.1", "parse5-htmlparser2-tree-adapter": "^6.0.0", "yargs": "^16.0.0" }, "bin": { "highlight": "bin/highlight" }, "engines": { "node": ">=8.0.0", "npm": ">=5.0.0" } }, "node_modules/cli-highlight/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, "peer": true, "engines": { "node": ">=8" } }, "node_modules/cli-highlight/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, "peer": true, "dependencies": { "color-convert": "^2.0.1" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/cli-highlight/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, "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/cli-highlight/node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, "peer": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" } }, "node_modules/cli-highlight/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, "peer": true, "dependencies": { "color-name": "~1.1.4" }, "engines": { "node": ">=7.0.0" } }, "node_modules/cli-highlight/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, "peer": true }, "node_modules/cli-highlight/node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, "peer": true, "engines": { "node": "6.* || 8.* || >= 10.*" } }, "node_modules/cli-highlight/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, "peer": true, "engines": { "node": ">=8" } }, "node_modules/cli-highlight/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "peer": true, "engines": { "node": ">=8" } }, "node_modules/cli-highlight/node_modules/parse5": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", "dev": true, "peer": true }, "node_modules/cli-highlight/node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "peer": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" } }, "node_modules/cli-highlight/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, "peer": true, "dependencies": { "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" } }, "node_modules/cli-highlight/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, "peer": true, "dependencies": { "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/cli-highlight/node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "peer": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/cli-highlight/node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, "peer": true, "engines": { "node": ">=10" } }, "node_modules/cli-highlight/node_modules/yargs": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, "peer": true, "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.0", "y18n": "^5.0.5", "yargs-parser": "^20.2.2" }, "engines": { "node": ">=10" } }, "node_modules/cli-highlight/node_modules/yargs-parser": { "version": "20.2.9", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, "peer": true, "engines": { "node": ">=10" } }, "node_modules/cli-table3": { "version": "0.6.5", "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", "dev": true, "peer": true, "dependencies": { "string-width": "^4.2.0" }, "engines": { "node": "10.* || >= 12.*" }, "optionalDependencies": { "@colors/colors": "1.5.0" } }, "node_modules/cli-table3/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, "peer": true, "engines": { "node": ">=8" } }, "node_modules/cli-table3/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "peer": true, "engines": { "node": ">=8" } }, "node_modules/cli-table3/node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "peer": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" } }, "node_modules/cli-table3/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, "peer": true, "dependencies": { "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" } }, "node_modules/cli-width": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", "dev": true }, "node_modules/cliui": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "dependencies": { "string-width": "^2.1.1", "strip-ansi": "^4.0.0", "wrap-ansi": "^2.0.0" } }, "node_modules/clone-deep": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", "shallow-clone": "^3.0.0" }, "engines": { "node": ">=6" } }, "node_modules/co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", "dev": true, "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" } }, "node_modules/code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dev": true, "dependencies": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "dependencies": { "color-name": "1.1.3" } }, "node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "node_modules/colors": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "dev": true, "engines": { "node": ">=0.1.90" } }, "node_modules/combine-lists": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz", "integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=", "dev": true, "dependencies": { "lodash": "^4.5.0" } }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, "dependencies": { "delayed-stream": "~1.0.0" }, "engines": { "node": ">= 0.8" } }, "node_modules/commander": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", "dev": true, "engines": { "node": ">= 6" } }, "node_modules/commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, "node_modules/compare-func": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", "dev": true, "peer": true, "dependencies": { "array-ify": "^1.0.0", "dot-prop": "^5.1.0" } }, "node_modules/component-bind": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", "dev": true }, "node_modules/component-emitter": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", "dev": true }, "node_modules/component-inherit": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", "dev": true }, "node_modules/compress-commons": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-2.1.1.tgz", "integrity": "sha512-eVw6n7CnEMFzc3duyFVrQEuY1BlHR3rYsSztyG32ibGMW722i3C6IizEGMFmfMU+A+fALvBIwxN3czffTcdA+Q==", "dev": true, "dependencies": { "buffer-crc32": "^0.2.13", "crc32-stream": "^3.0.1", "normalize-path": "^3.0.0", "readable-stream": "^2.3.6" }, "engines": { "node": ">= 6" } }, "node_modules/compression-webpack-plugin": { "version": "1.1.12", "resolved": "https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-1.1.12.tgz", "integrity": "sha512-UpBXSHbrCSdSZieAffqXlAQpLO2fikVVRYibrWlbHYzKpOw1Y4jwkVZ/+S91GzWuJvXSbc8SBy/e8fQJh8uEMQ==", "dev": true, "dependencies": { "cacache": "^10.0.1", "find-cache-dir": "^1.0.0", "neo-async": "^2.5.0", "serialize-javascript": "^1.4.0", "webpack-sources": "^1.0.1" }, "engines": { "node": ">= 4.8 < 5.0.0 || >= 5.10" }, "peerDependencies": { "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" } }, "node_modules/compression-webpack-plugin/node_modules/find-cache-dir": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "dev": true, "dependencies": { "commondir": "^1.0.1", "make-dir": "^1.0.0", "pkg-dir": "^2.0.0" }, "engines": { "node": ">=4" } }, "node_modules/compression-webpack-plugin/node_modules/make-dir": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "dependencies": { "pify": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/compression-webpack-plugin/node_modules/pkg-dir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "dependencies": { "find-up": "^2.1.0" }, "engines": { "node": ">=4" } }, "node_modules/compression-webpack-plugin/node_modules/serialize-javascript": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", "dev": true }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "node_modules/concat-stream": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "engines": [ "node >= 0.8" ], "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^2.2.2", "typedarray": "^0.0.6" } }, "node_modules/config-chain": { "version": "1.1.13", "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", "dev": true, "peer": true, "dependencies": { "ini": "^1.3.4", "proto-list": "~1.2.1" } }, "node_modules/connect": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", "dev": true, "dependencies": { "debug": "2.6.9", "finalhandler": "1.1.2", "parseurl": "~1.3.3", "utils-merge": "1.0.1" }, "engines": { "node": ">= 0.10.0" } }, "node_modules/connect/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/connect/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "node_modules/console-browserify": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", "dev": true }, "node_modules/constants-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", "dev": true }, "node_modules/content-disposition": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, "dependencies": { "safe-buffer": "5.2.1" }, "engines": { "node": ">= 0.6" } }, "node_modules/content-disposition/node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "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/content-type": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/conventional-changelog-angular": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-8.0.0.tgz", "integrity": "sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA==", "dev": true, "peer": true, "dependencies": { "compare-func": "^2.0.0" }, "engines": { "node": ">=18" } }, "node_modules/conventional-changelog-writer": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-8.2.0.tgz", "integrity": "sha512-Y2aW4596l9AEvFJRwFGJGiQjt2sBYTjPD18DdvxX9Vpz0Z7HQ+g1Z+6iYDAm1vR3QOJrDBkRHixHK/+FhkR6Pw==", "dev": true, "peer": true, "dependencies": { "conventional-commits-filter": "^5.0.0", "handlebars": "^4.7.7", "meow": "^13.0.0", "semver": "^7.5.2" }, "bin": { "conventional-changelog-writer": "dist/cli/index.js" }, "engines": { "node": ">=18" } }, "node_modules/conventional-changelog-writer/node_modules/meow": { "version": "13.2.0", "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", "dev": true, "peer": true, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/conventional-changelog-writer/node_modules/semver": { "version": "7.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "peer": true, "bin": { "semver": "bin/semver.js" }, "engines": { "node": ">=10" } }, "node_modules/conventional-commits-filter": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-5.0.0.tgz", "integrity": "sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q==", "dev": true, "peer": true, "engines": { "node": ">=18" } }, "node_modules/conventional-commits-parser": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.2.0.tgz", "integrity": "sha512-uLnoLeIW4XaoFtH37qEcg/SXMJmKF4vi7V0H2rnPueg+VEtFGA/asSCNTcq4M/GQ6QmlzchAEtOoDTtKqWeHag==", "dev": true, "peer": true, "dependencies": { "meow": "^13.0.0" }, "bin": { "conventional-commits-parser": "dist/cli/index.js" }, "engines": { "node": ">=18" } }, "node_modules/conventional-commits-parser/node_modules/meow": { "version": "13.2.0", "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", "dev": true, "peer": true, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/convert-hrtime": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-5.0.0.tgz", "integrity": "sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==", "dev": true, "peer": true, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/convert-source-map": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", "dev": true, "dependencies": { "safe-buffer": "~5.1.1" } }, "node_modules/cookie": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", "dev": true }, "node_modules/copy-concurrently": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", "dev": true, "dependencies": { "aproba": "^1.1.1", "fs-write-stream-atomic": "^1.0.8", "iferr": "^0.1.5", "mkdirp": "^0.5.1", "rimraf": "^2.5.4", "run-queue": "^1.0.0" } }, "node_modules/copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/core-js": { "version": "3.22.0", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.0.tgz", "integrity": "sha512-8h9jBweRjMiY+ORO7bdWSeWfHhLPO7whobj7Z2Bl0IDo00C228EdGgH7FE4jGumbEjzcFfkfW8bXgdkEDhnwHQ==", "dev": true, "hasInstallScript": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" } }, "node_modules/core-js-compat": { "version": "3.22.0", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.0.tgz", "integrity": "sha512-WwA7xbfRGrk8BGaaHlakauVXrlYmAIkk8PNGb1FDQS+Rbrewc3pgFfwJFRw6psmJVAll7Px9UHRYE16oRQnwAQ==", "dev": true, "dependencies": { "browserslist": "^4.20.2", "semver": "7.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" } }, "node_modules/core-js-compat/node_modules/semver": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", "dev": true, "bin": { "semver": "bin/semver.js" } }, "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, "node_modules/cosmiconfig": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", "dev": true, "dependencies": { "import-fresh": "^2.0.0", "is-directory": "^0.3.1", "js-yaml": "^3.13.1", "parse-json": "^4.0.0" }, "engines": { "node": ">=4" } }, "node_modules/cosmiconfig/node_modules/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "dependencies": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" }, "engines": { "node": ">=4" } }, "node_modules/crc": { "version": "3.8.0", "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", "dev": true, "dependencies": { "buffer": "^5.1.0" } }, "node_modules/crc32-stream": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-3.0.1.tgz", "integrity": "sha512-mctvpXlbzsvK+6z8kJwSJ5crm7yBwrQMTybJzMw1O4lLGJqjlDCXY2Zw7KheiA6XBEcBmfLx1D88mjRGVJtY9w==", "dev": true, "dependencies": { "crc": "^3.4.4", "readable-stream": "^3.4.0" }, "engines": { "node": ">= 6.9.0" } }, "node_modules/crc32-stream/node_modules/readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" }, "engines": { "node": ">= 6" } }, "node_modules/create-ecdh": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "dev": true, "dependencies": { "bn.js": "^4.1.0", "elliptic": "^6.5.3" } }, "node_modules/create-ecdh/node_modules/bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true }, "node_modules/create-hash": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "dependencies": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", "md5.js": "^1.3.4", "ripemd160": "^2.0.1", "sha.js": "^2.4.0" } }, "node_modules/create-hmac": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "dependencies": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", "inherits": "^2.0.1", "ripemd160": "^2.0.0", "safe-buffer": "^5.0.1", "sha.js": "^2.4.8" } }, "node_modules/cross-env": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz", "integrity": "sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==", "dev": true, "dependencies": { "cross-spawn": "^6.0.5" }, "bin": { "cross-env": "dist/bin/cross-env.js", "cross-env-shell": "dist/bin/cross-env-shell.js" }, "engines": { "node": ">=4.0" } }, "node_modules/cross-spawn": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "dependencies": { "nice-try": "^1.0.4", "path-key": "^2.0.1", "semver": "^5.5.0", "shebang-command": "^1.2.0", "which": "^1.2.9" }, "engines": { "node": ">=4.8" } }, "node_modules/cross-spawn/node_modules/semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, "bin": { "semver": "bin/semver" } }, "node_modules/cryptiles": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", "dev": true, "optional": true, "dependencies": { "boom": "2.x.x" }, "engines": { "node": ">=0.10.40" } }, "node_modules/crypto-browserify": { "version": "3.12.0", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, "dependencies": { "browserify-cipher": "^1.0.0", "browserify-sign": "^4.0.0", "create-ecdh": "^4.0.0", "create-hash": "^1.1.0", "create-hmac": "^1.1.0", "diffie-hellman": "^5.0.0", "inherits": "^2.0.1", "pbkdf2": "^3.0.3", "public-encrypt": "^4.0.0", "randombytes": "^2.0.0", "randomfill": "^1.0.3" }, "engines": { "node": "*" } }, "node_modules/crypto-random-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", "dev": true, "peer": true, "dependencies": { "type-fest": "^1.0.1" }, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/crypto-random-string/node_modules/type-fest": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", "dev": true, "peer": true, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/css-loader": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.1.tgz", "integrity": "sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw==", "dev": true, "dependencies": { "babel-code-frame": "^6.26.0", "css-selector-tokenizer": "^0.7.0", "icss-utils": "^2.1.0", "loader-utils": "^1.0.2", "lodash": "^4.17.11", "postcss": "^6.0.23", "postcss-modules-extract-imports": "^1.2.0", "postcss-modules-local-by-default": "^1.2.0", "postcss-modules-scope": "^1.1.0", "postcss-modules-values": "^1.3.0", "postcss-value-parser": "^3.3.0", "source-list-map": "^2.0.0" }, "engines": { "node": ">= 6.9.0 <7.0.0 || >= 8.9.0" }, "peerDependencies": { "webpack": "^4.0.0" } }, "node_modules/css-selector-tokenizer": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz", "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==", "dev": true, "dependencies": { "cssesc": "^3.0.0", "fastparse": "^1.1.2" } }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true, "bin": { "cssesc": "bin/cssesc" }, "engines": { "node": ">=4" } }, "node_modules/cssom": { "version": "0.3.8", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", "dev": true }, "node_modules/cssstyle": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", "dev": true, "dependencies": { "cssom": "0.3.x" } }, "node_modules/currently-unhandled": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "dependencies": { "array-find-index": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/custom-event": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", "dev": true }, "node_modules/cyclist": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", "dev": true }, "node_modules/dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "dependencies": { "assert-plus": "^1.0.0" }, "engines": { "node": ">=0.10" } }, "node_modules/data-uri-to-buffer": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz", "integrity": "sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==", "dev": true, "optional": true }, "node_modules/data-urls": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", "dev": true, "dependencies": { "abab": "^2.0.0", "whatwg-mimetype": "^2.2.0", "whatwg-url": "^7.0.0" } }, "node_modules/data-urls/node_modules/whatwg-url": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", "dev": true, "dependencies": { "lodash.sortby": "^4.7.0", "tr46": "^1.0.1", "webidl-conversions": "^4.0.2" } }, "node_modules/date-format": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz", "integrity": "sha1-YV6CjiM90aubua4JUODOzPpuytg=", "dev": true, "engines": { "node": ">=4.0" } }, "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, "dependencies": { "ms": "2.1.2" }, "engines": { "node": ">=6.0" }, "peerDependenciesMeta": { "supports-color": { "optional": true } } }, "node_modules/decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true, "engines": { "node": ">=0.10" } }, "node_modules/deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true, "peer": true, "engines": { "node": ">=4.0.0" } }, "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 }, "node_modules/default-require-extensions": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "dev": true, "dependencies": { "strip-bom": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/define-properties": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", "dev": true, "dependencies": { "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/define-property": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, "dependencies": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/degenerator": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz", "integrity": "sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=", "dev": true, "optional": true, "dependencies": { "ast-types": "0.x.x", "escodegen": "1.x.x", "esprima": "3.x.x" } }, "node_modules/degenerator/node_modules/esprima": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", "dev": true, "optional": true, "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" }, "engines": { "node": ">=4" } }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true, "engines": { "node": ">=0.4.0" } }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, "engines": { "node": ">= 0.8" } }, "node_modules/des.js": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", "dev": true, "dependencies": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" } }, "node_modules/destroy": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true, "engines": { "node": ">= 0.8", "npm": "1.2.8000 || >= 1.4.16" } }, "node_modules/detect-indent": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "dependencies": { "repeating": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/detect-newline": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/di": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", "dev": true }, "node_modules/diff": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", "dev": true, "engines": { "node": ">=0.3.1" } }, "node_modules/diffie-hellman": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "dependencies": { "bn.js": "^4.1.0", "miller-rabin": "^4.0.0", "randombytes": "^2.0.0" } }, "node_modules/diffie-hellman/node_modules/bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true }, "node_modules/dir-glob": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", "dev": true, "dependencies": { "arrify": "^1.0.1", "path-type": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/dir-glob/node_modules/path-type": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, "dependencies": { "pify": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/doctrine": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "dependencies": { "esutils": "^2.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/dom-serialize": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", "dev": true, "dependencies": { "custom-event": "~1.0.0", "ent": "~2.2.0", "extend": "^3.0.0", "void-elements": "^2.0.0" } }, "node_modules/domain-browser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", "dev": true, "engines": { "node": ">=0.4", "npm": ">=1.2" } }, "node_modules/domexception": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", "dev": true, "dependencies": { "webidl-conversions": "^4.0.2" } }, "node_modules/dot-prop": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", "dev": true, "peer": true, "dependencies": { "is-obj": "^2.0.0" }, "engines": { "node": ">=8" } }, "node_modules/double-ended-queue": { "version": "2.1.0-0", "resolved": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz", "integrity": "sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw=", "dev": true, "optional": true }, "node_modules/duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", "dev": true }, "node_modules/duplexer2": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", "dev": true, "peer": true, "dependencies": { "readable-stream": "^2.0.2" } }, "node_modules/duplexify": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", "dev": true, "dependencies": { "end-of-stream": "^1.0.0", "inherits": "^2.0.1", "readable-stream": "^2.0.0", "stream-shift": "^1.0.0" } }, "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "dependencies": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" } }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", "dev": true }, "node_modules/ejs": { "version": "2.7.4", "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", "dev": true, "hasInstallScript": true, "engines": { "node": ">=0.10.0" } }, "node_modules/electron-to-chromium": { "version": "1.4.109", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.109.tgz", "integrity": "sha512-LCF+Oqs2Oqwf8M3oc8T59Wi9C0xpL1qVyqIR6bPTCl8uPvln7G184L39tO4SE4Dyg/Kp1RjAz//BKMvi0uvw4w==", "dev": true }, "node_modules/elliptic": { "version": "6.5.4", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "dev": true, "dependencies": { "bn.js": "^4.11.9", "brorand": "^1.1.0", "hash.js": "^1.0.0", "hmac-drbg": "^1.0.1", "inherits": "^2.0.4", "minimalistic-assert": "^1.0.1", "minimalistic-crypto-utils": "^1.0.1" } }, "node_modules/elliptic/node_modules/bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true, "peer": true }, "node_modules/emojilib": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==", "dev": true, "peer": true }, "node_modules/emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true, "engines": { "node": ">= 4" } }, "node_modules/encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", "dev": true, "engines": { "node": ">= 0.8" } }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, "dependencies": { "once": "^1.4.0" } }, "node_modules/engine.io": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.1.5.tgz", "integrity": "sha512-D06ivJkYxyRrcEe0bTpNnBQNgP9d3xog+qZlLbui8EsMr/DouQpf5o9FzJnWYHEYE0YsFHllUv2R1dkgYZXHcA==", "dev": true, "dependencies": { "accepts": "~1.3.4", "base64id": "1.0.0", "cookie": "0.3.1", "debug": "~3.1.0", "engine.io-parser": "~2.1.0", "ws": "~3.3.1" }, "optionalDependencies": { "uws": "~9.14.0" } }, "node_modules/engine.io-client": { "version": "3.1.6", "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.6.tgz", "integrity": "sha512-hnuHsFluXnsKOndS4Hv6SvUrgdYx1pk2NqfaDMW+GWdgfU3+/V25Cj7I8a0x92idSpa5PIhJRKxPvp9mnoLsfg==", "dev": true, "dependencies": { "component-emitter": "1.2.1", "component-inherit": "0.0.3", "debug": "~3.1.0", "engine.io-parser": "~2.1.1", "has-cors": "1.1.0", "indexof": "0.0.1", "parseqs": "0.0.5", "parseuri": "0.0.5", "ws": "~3.3.1", "xmlhttprequest-ssl": "~1.5.4", "yeast": "0.1.2" } }, "node_modules/engine.io-client/node_modules/debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/engine.io-client/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "node_modules/engine.io-client/node_modules/ws": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", "dev": true, "dependencies": { "async-limiter": "~1.0.0", "safe-buffer": "~5.1.0", "ultron": "~1.1.0" } }, "node_modules/engine.io-parser": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz", "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==", "dev": true, "dependencies": { "after": "0.8.2", "arraybuffer.slice": "~0.0.7", "base64-arraybuffer": "0.1.5", "blob": "0.0.5", "has-binary2": "~1.0.2" } }, "node_modules/engine.io/node_modules/debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/engine.io/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "node_modules/engine.io/node_modules/ws": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", "dev": true, "dependencies": { "async-limiter": "~1.0.0", "safe-buffer": "~5.1.0", "ultron": "~1.1.0" } }, "node_modules/enhanced-resolve": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, "dependencies": { "graceful-fs": "^4.1.2", "memory-fs": "^0.5.0", "tapable": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/enhanced-resolve/node_modules/memory-fs": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", "dev": true, "dependencies": { "errno": "^0.1.3", "readable-stream": "^2.0.1" }, "engines": { "node": ">=4.3.0 <5.0.0 || >=5.10" } }, "node_modules/ent": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", "dev": true }, "node_modules/env-ci": { "version": "11.1.1", "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-11.1.1.tgz", "integrity": "sha512-mT3ks8F0kwpo7SYNds6nWj0PaRh+qJxIeBVBXAKTN9hphAzZv7s0QAZQbqnB1fAv/r4pJUGE15BV9UrS31FP2w==", "dev": true, "peer": true, "dependencies": { "execa": "^8.0.0", "java-properties": "^1.0.2" }, "engines": { "node": "^18.17 || >=20.6.1" } }, "node_modules/env-ci/node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "peer": true, "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" }, "engines": { "node": ">= 8" } }, "node_modules/env-ci/node_modules/execa": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, "peer": true, "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^8.0.1", "human-signals": "^5.0.0", "is-stream": "^3.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^5.1.0", "onetime": "^6.0.0", "signal-exit": "^4.1.0", "strip-final-newline": "^3.0.0" }, "engines": { "node": ">=16.17" }, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, "node_modules/env-ci/node_modules/get-stream": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", "dev": true, "peer": true, "engines": { "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/env-ci/node_modules/human-signals": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true, "peer": true, "engines": { "node": ">=16.17.0" } }, "node_modules/env-ci/node_modules/is-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, "peer": true, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/env-ci/node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true, "peer": true }, "node_modules/env-ci/node_modules/mimic-fn": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "dev": true, "peer": true, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/env-ci/node_modules/npm-run-path": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, "peer": true, "dependencies": { "path-key": "^4.0.0" }, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/env-ci/node_modules/npm-run-path/node_modules/path-key": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, "peer": true, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/env-ci/node_modules/onetime": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, "peer": true, "dependencies": { "mimic-fn": "^4.0.0" }, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/env-ci/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, "peer": true, "engines": { "node": ">=8" } }, "node_modules/env-ci/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, "peer": true, "dependencies": { "shebang-regex": "^3.0.0" }, "engines": { "node": ">=8" } }, "node_modules/env-ci/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, "peer": true, "engines": { "node": ">=8" } }, "node_modules/env-ci/node_modules/signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, "peer": true, "engines": { "node": ">=14" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/env-ci/node_modules/strip-final-newline": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true, "peer": true, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/env-ci/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, "peer": true, "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "bin/node-which" }, "engines": { "node": ">= 8" } }, "node_modules/env-paths": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", "dev": true, "peer": true, "engines": { "node": ">=6" } }, "node_modules/environment": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", "dev": true, "peer": true, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/errno": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dev": true, "dependencies": { "prr": "~1.0.1" }, "bin": { "errno": "cli.js" } }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "dependencies": { "is-arrayish": "^0.2.1" } }, "node_modules/es-abstract": { "version": "1.19.5", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.5.tgz", "integrity": "sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "get-intrinsic": "^1.1.1", "get-symbol-description": "^1.0.0", "has": "^1.0.3", "has-symbols": "^1.0.3", "internal-slot": "^1.0.3", "is-callable": "^1.2.4", "is-negative-zero": "^2.0.2", "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", "is-weakref": "^1.0.2", "object-inspect": "^1.12.0", "object-keys": "^1.1.1", "object.assign": "^4.1.2", "string.prototype.trimend": "^1.0.4", "string.prototype.trimstart": "^1.0.4", "unbox-primitive": "^1.0.1" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/es-shim-unscopables": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", "dev": true, "dependencies": { "has": "^1.0.3" } }, "node_modules/es-to-primitive": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", "is-symbol": "^1.0.2" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/es6-promise": { "version": "4.2.8", "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", "dev": true }, "node_modules/es6-promisify": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", "dev": true, "dependencies": { "es6-promise": "^4.0.3" } }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", "dev": true }, "node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true, "engines": { "node": ">=0.8.0" } }, "node_modules/escodegen": { "version": "1.14.3", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", "dev": true, "dependencies": { "esprima": "^4.0.1", "estraverse": "^4.2.0", "esutils": "^2.0.2", "optionator": "^0.8.1" }, "bin": { "escodegen": "bin/escodegen.js", "esgenerate": "bin/esgenerate.js" }, "engines": { "node": ">=4.0" }, "optionalDependencies": { "source-map": "~0.6.1" } }, "node_modules/escodegen/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/eslint": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", "dev": true, "dependencies": { "ajv": "^5.3.0", "babel-code-frame": "^6.22.0", "chalk": "^2.1.0", "concat-stream": "^1.6.0", "cross-spawn": "^5.1.0", "debug": "^3.1.0", "doctrine": "^2.1.0", "eslint-scope": "^3.7.1", "eslint-visitor-keys": "^1.0.0", "espree": "^3.5.4", "esquery": "^1.0.0", "esutils": "^2.0.2", "file-entry-cache": "^2.0.0", "functional-red-black-tree": "^1.0.1", "glob": "^7.1.2", "globals": "^11.0.1", "ignore": "^3.3.3", "imurmurhash": "^0.1.4", "inquirer": "^3.0.6", "is-resolvable": "^1.0.0", "js-yaml": "^3.9.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.3.0", "lodash": "^4.17.4", "minimatch": "^3.0.2", "mkdirp": "^0.5.1", "natural-compare": "^1.4.0", "optionator": "^0.8.2", "path-is-inside": "^1.0.2", "pluralize": "^7.0.0", "progress": "^2.0.0", "regexpp": "^1.0.1", "require-uncached": "^1.0.3", "semver": "^5.3.0", "strip-ansi": "^4.0.0", "strip-json-comments": "~2.0.1", "table": "4.0.2", "text-table": "~0.2.0" }, "bin": { "eslint": "bin/eslint.js" }, "engines": { "node": ">=4" } }, "node_modules/eslint-config-airbnb-base": { "version": "12.1.0", "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-12.1.0.tgz", "integrity": "sha512-/vjm0Px5ZCpmJqnjIzcFb9TKZrKWz0gnuG/7Gfkt0Db1ELJR51xkZth+t14rYdqWgX836XbuxtArbIHlVhbLBA==", "dev": true, "dependencies": { "eslint-restricted-globals": "^0.1.1" }, "engines": { "node": ">= 4" }, "peerDependencies": { "eslint": "^4.9.0", "eslint-plugin-import": "^2.7.0" } }, "node_modules/eslint-import-resolver-node": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", "dev": true, "dependencies": { "debug": "^3.2.7", "resolve": "^1.20.0" } }, "node_modules/eslint-import-resolver-node/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-module-utils": { "version": "2.7.3", "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz", "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==", "dev": true, "dependencies": { "debug": "^3.2.7", "find-up": "^2.1.0" }, "engines": { "node": ">=4" } }, "node_modules/eslint-module-utils/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-plugin-import": { "version": "2.26.0", "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", "dev": true, "dependencies": { "array-includes": "^3.1.4", "array.prototype.flat": "^1.2.5", "debug": "^2.6.9", "doctrine": "^2.1.0", "eslint-import-resolver-node": "^0.3.6", "eslint-module-utils": "^2.7.3", "has": "^1.0.3", "is-core-module": "^2.8.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", "object.values": "^1.1.5", "resolve": "^1.22.0", "tsconfig-paths": "^3.14.1" }, "engines": { "node": ">=4" }, "peerDependencies": { "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" } }, "node_modules/eslint-plugin-import/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/eslint-plugin-import/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "node_modules/eslint-plugin-jest": { "version": "21.27.2", "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-21.27.2.tgz", "integrity": "sha512-0E4OIgBJVlAmf1KfYFtZ3gYxgUzC5Eb3Jzmrc9ikI1OY+/cM8Kh72Ti7KfpeHNeD3HJNf9SmEfmvQLIz44Hrhw==", "dev": true, "engines": { "node": ">= 4" }, "peerDependencies": { "eslint": ">=3.6" } }, "node_modules/eslint-restricted-globals": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz", "integrity": "sha1-NfDVy8ZMLj7WLpO0saevBbp+1Nc=", "dev": true }, "node_modules/eslint-scope": { "version": "3.7.3", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz", "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==", "dev": true, "dependencies": { "esrecurse": "^4.1.0", "estraverse": "^4.1.1" }, "engines": { "node": ">=4.0.0" } }, "node_modules/eslint-visitor-keys": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/eslint/node_modules/cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "dependencies": { "lru-cache": "^4.0.1", "shebang-command": "^1.2.0", "which": "^1.2.9" } }, "node_modules/eslint/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint/node_modules/semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, "bin": { "semver": "bin/semver" } }, "node_modules/espree": { "version": "3.5.4", "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", "dev": true, "dependencies": { "acorn": "^5.5.0", "acorn-jsx": "^3.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" }, "engines": { "node": ">=4" } }, "node_modules/esquery": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, "dependencies": { "estraverse": "^5.1.0" }, "engines": { "node": ">=0.10" } }, "node_modules/esquery/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, "engines": { "node": ">=4.0" } }, "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, "dependencies": { "estraverse": "^5.2.0" }, "engines": { "node": ">=4.0" } }, "node_modules/esrecurse/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, "engines": { "node": ">=4.0" } }, "node_modules/estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, "engines": { "node": ">=4.0" } }, "node_modules/estree-walker": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", "dev": true }, "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, "engines": { "node": ">=0.10.0" } }, "node_modules/etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", "dev": true }, "node_modules/events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true, "engines": { "node": ">=0.8.x" } }, "node_modules/evp_bytestokey": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, "dependencies": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" } }, "node_modules/exec-sh": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", "dev": true, "dependencies": { "merge": "^1.2.0" } }, "node_modules/execa": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "dependencies": { "cross-spawn": "^5.0.1", "get-stream": "^3.0.0", "is-stream": "^1.1.0", "npm-run-path": "^2.0.0", "p-finally": "^1.0.0", "signal-exit": "^3.0.0", "strip-eof": "^1.0.0" }, "engines": { "node": ">=4" } }, "node_modules/execa/node_modules/cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "dependencies": { "lru-cache": "^4.0.1", "shebang-command": "^1.2.0", "which": "^1.2.9" } }, "node_modules/exit": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", "dev": true, "engines": { "node": ">= 0.8.0" } }, "node_modules/expand-braces": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz", "integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=", "dev": true, "dependencies": { "array-slice": "^0.2.3", "array-unique": "^0.2.1", "braces": "^0.1.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/expand-braces/node_modules/braces": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz", "integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=", "dev": true, "dependencies": { "expand-range": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/expand-brackets": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "dependencies": { "is-posix-bracket": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/expand-range": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz", "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=", "dev": true, "dependencies": { "is-number": "^0.1.1", "repeat-string": "^0.2.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/expand-range/node_modules/is-number": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz", "integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/expect": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/expect/-/expect-22.4.3.tgz", "integrity": "sha512-XcNXEPehqn8b/jm8FYotdX0YrXn36qp4HWlrVT4ktwQas1l1LPxiVWncYnnL2eyMtKAmVIaG0XAp0QlrqJaxaA==", "dev": true, "dependencies": { "ansi-styles": "^3.2.0", "jest-diff": "^22.4.3", "jest-get-type": "^22.4.3", "jest-matcher-utils": "^22.4.3", "jest-message-util": "^22.4.3", "jest-regex-util": "^22.4.3" } }, "node_modules/express": { "version": "4.17.3", "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz", "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==", "dev": true, "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", "body-parser": "1.19.2", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.4.2", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "~1.1.2", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "finalhandler": "~1.1.2", "fresh": "0.5.2", "merge-descriptors": "1.0.1", "methods": "~1.1.2", "on-finished": "~2.3.0", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", "proxy-addr": "~2.0.7", "qs": "6.9.7", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", "send": "0.17.2", "serve-static": "1.14.2", "setprototypeof": "1.2.0", "statuses": "~1.5.0", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" }, "engines": { "node": ">= 0.10.0" } }, "node_modules/express/node_modules/body-parser": { "version": "1.19.2", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz", "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==", "dev": true, "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.4", "debug": "2.6.9", "depd": "~1.1.2", "http-errors": "1.8.1", "iconv-lite": "0.4.24", "on-finished": "~2.3.0", "qs": "6.9.7", "raw-body": "2.4.3", "type-is": "~1.6.18" }, "engines": { "node": ">= 0.8" } }, "node_modules/express/node_modules/cookie": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/express/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/express/node_modules/depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/express/node_modules/http-errors": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", "dev": true, "dependencies": { "depd": "~1.1.2", "inherits": "2.0.4", "setprototypeof": "1.2.0", "statuses": ">= 1.5.0 < 2", "toidentifier": "1.0.1" }, "engines": { "node": ">= 0.6" } }, "node_modules/express/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "node_modules/express/node_modules/on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", "dev": true, "dependencies": { "ee-first": "1.1.1" }, "engines": { "node": ">= 0.8" } }, "node_modules/express/node_modules/qs": { "version": "6.9.7", "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", "dev": true, "engines": { "node": ">=0.6" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/express/node_modules/raw-body": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz", "integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==", "dev": true, "dependencies": { "bytes": "3.1.2", "http-errors": "1.8.1", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, "engines": { "node": ">= 0.8" } }, "node_modules/express/node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "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/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, "node_modules/extend-shallow": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "dependencies": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/extend-shallow/node_modules/is-extendable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "dependencies": { "is-plain-object": "^2.0.4" }, "engines": { "node": ">=0.10.0" } }, "node_modules/external-editor": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "dependencies": { "chardet": "^0.4.0", "iconv-lite": "^0.4.17", "tmp": "^0.0.33" }, "engines": { "node": ">=0.12" } }, "node_modules/extglob": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "dependencies": { "is-extglob": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/extglob/node_modules/is-extglob": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", "dev": true, "engines": [ "node >=0.6.0" ] }, "node_modules/fast-content-type-parse": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-3.0.0.tgz", "integrity": "sha512-ZvLdcY8P+N8mGQJahJV5G4U88CSvT1rP8ApL6uETe88MBXrBHAkZlSEySdUlyztF7ccb+Znos3TFqaepHxdhBg==", "dev": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/fastify" }, { "type": "opencollective", "url": "https://opencollective.com/fastify" } ] }, "node_modules/fast-deep-equal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", "dev": true }, "node_modules/fast-glob": { "version": "2.2.7", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", "dev": true, "dependencies": { "@mrmlnc/readdir-enhanced": "^2.2.1", "@nodelib/fs.stat": "^1.1.2", "glob-parent": "^3.1.0", "is-glob": "^4.0.0", "merge2": "^1.2.3", "micromatch": "^3.1.10" }, "engines": { "node": ">=4.0.0" } }, "node_modules/fast-glob/node_modules/arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/fast-glob/node_modules/array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/fast-glob/node_modules/braces": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "dependencies": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", "extend-shallow": "^2.0.1", "fill-range": "^4.0.0", "isobject": "^3.0.1", "repeat-element": "^1.1.2", "snapdragon": "^0.8.1", "snapdragon-node": "^2.0.1", "split-string": "^3.0.2", "to-regex": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/fast-glob/node_modules/braces/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "dependencies": { "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/fast-glob/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/fast-glob/node_modules/expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "dependencies": { "debug": "^2.3.3", "define-property": "^0.2.5", "extend-shallow": "^2.0.1", "posix-character-classes": "^0.1.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/fast-glob/node_modules/expand-brackets/node_modules/define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "dependencies": { "is-descriptor": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/fast-glob/node_modules/expand-brackets/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "dependencies": { "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/fast-glob/node_modules/expand-brackets/node_modules/is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", "kind-of": "^5.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/fast-glob/node_modules/expand-brackets/node_modules/kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/fast-glob/node_modules/extglob": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "dependencies": { "array-unique": "^0.3.2", "define-property": "^1.0.0", "expand-brackets": "^2.1.4", "extend-shallow": "^2.0.1", "fragment-cache": "^0.2.1", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/fast-glob/node_modules/extglob/node_modules/define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "dependencies": { "is-descriptor": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/fast-glob/node_modules/extglob/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "dependencies": { "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/fast-glob/node_modules/fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "dependencies": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", "repeat-string": "^1.6.1", "to-regex-range": "^2.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/fast-glob/node_modules/fill-range/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "dependencies": { "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/fast-glob/node_modules/glob-parent": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "dev": true, "dependencies": { "is-glob": "^3.1.0", "path-dirname": "^1.0.0" } }, "node_modules/fast-glob/node_modules/glob-parent/node_modules/is-glob": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "dev": true, "dependencies": { "is-extglob": "^2.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/fast-glob/node_modules/is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "dependencies": { "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/fast-glob/node_modules/is-accessor-descriptor/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/fast-glob/node_modules/is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "dependencies": { "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/fast-glob/node_modules/is-data-descriptor/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/fast-glob/node_modules/is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "dependencies": { "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/fast-glob/node_modules/is-number/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/fast-glob/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", "braces": "^2.3.1", "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "extglob": "^2.0.4", "fragment-cache": "^0.2.1", "kind-of": "^6.0.2", "nanomatch": "^1.2.9", "object.pick": "^1.3.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/fast-glob/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "node_modules/fast-glob/node_modules/repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true, "engines": { "node": ">=0.10" } }, "node_modules/fast-glob/node_modules/to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "dependencies": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" }, "engines": { "node": ">=0.10.0" } }, "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 }, "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, "node_modules/fastparse": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", "dev": true }, "node_modules/fastq": { "version": "1.19.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", "dev": true, "dependencies": { "reusify": "^1.0.4" } }, "node_modules/fb-watchman": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", "dev": true, "dependencies": { "bser": "2.1.1" } }, "node_modules/figgy-pudding": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", "dev": true }, "node_modules/figures": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "dependencies": { "escape-string-regexp": "^1.0.5" }, "engines": { "node": ">=4" } }, "node_modules/file-entry-cache": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, "dependencies": { "flat-cache": "^1.2.1", "object-assign": "^4.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/file-loader": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz", "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==", "dev": true, "dependencies": { "loader-utils": "^1.0.2", "schema-utils": "^0.4.5" }, "engines": { "node": ">= 4.3 < 5.0.0 || >= 5.10" }, "peerDependencies": { "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" } }, "node_modules/file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", "dev": true, "optional": true }, "node_modules/filename-regex": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/fileset": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", "dev": true, "dependencies": { "glob": "^7.0.3", "minimatch": "^3.0.3" } }, "node_modules/filesize": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", "dev": true, "engines": { "node": ">= 0.4.0" } }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" }, "engines": { "node": ">=8" } }, "node_modules/finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "dev": true, "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "on-finished": "~2.3.0", "parseurl": "~1.3.3", "statuses": "~1.5.0", "unpipe": "~1.0.0" }, "engines": { "node": ">= 0.8" } }, "node_modules/finalhandler/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "node_modules/finalhandler/node_modules/on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", "dev": true, "dependencies": { "ee-first": "1.1.1" }, "engines": { "node": ">= 0.8" } }, "node_modules/find-cache-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", "dev": true, "dependencies": { "commondir": "^1.0.1", "make-dir": "^2.0.0", "pkg-dir": "^3.0.0" }, "engines": { "node": ">=6" } }, "node_modules/find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "dependencies": { "locate-path": "^2.0.0" }, "engines": { "node": ">=4" } }, "node_modules/find-up-simple": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.1.tgz", "integrity": "sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==", "dev": true, "peer": true, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/find-versions": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-6.0.0.tgz", "integrity": "sha512-2kCCtc+JvcZ86IGAz3Z2Y0A1baIz9fL31pH/0S1IqZr9Iwnjq8izfPtrCyQKO6TLMPELLsQMre7VDqeIKCsHkA==", "dev": true, "peer": true, "dependencies": { "semver-regex": "^4.0.5", "super-regex": "^1.0.0" }, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/flat-cache": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", "dev": true, "dependencies": { "circular-json": "^0.3.1", "graceful-fs": "^4.1.2", "rimraf": "~2.6.2", "write": "^0.2.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/flush-write-stream": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", "dev": true, "dependencies": { "inherits": "^2.0.3", "readable-stream": "^2.3.6" } }, "node_modules/follow-redirects": { "version": "1.14.9", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", "dev": true, "funding": [ { "type": "individual", "url": "https://github.com/sponsors/RubenVerborgh" } ], "engines": { "node": ">=4.0" }, "peerDependenciesMeta": { "debug": { "optional": true } } }, "node_modules/for-each": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, "dependencies": { "is-callable": "^1.1.3" } }, "node_modules/for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/for-own": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "dependencies": { "for-in": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", "dev": true, "engines": { "node": "*" } }, "node_modules/form-data": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", "mime-types": "^2.1.12" }, "engines": { "node": ">= 0.12" } }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "dev": true, "dependencies": { "map-cache": "^0.2.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/from2": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", "dev": true, "dependencies": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" } }, "node_modules/fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", "dev": true }, "node_modules/fs-extra": { "version": "11.3.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.1.tgz", "integrity": "sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==", "dev": true, "peer": true, "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" }, "engines": { "node": ">=14.14" } }, "node_modules/fs-readdir-recursive": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", "dev": true }, "node_modules/fs-write-stream-atomic": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", "dev": true, "dependencies": { "graceful-fs": "^4.1.2", "iferr": "^0.1.5", "imurmurhash": "^0.1.4", "readable-stream": "1 || 2" } }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "node_modules/fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, "hasInstallScript": true, "optional": true, "os": [ "darwin" ], "engines": { "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, "node_modules/ftp": { "version": "0.3.10", "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz", "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=", "dev": true, "optional": true, "dependencies": { "readable-stream": "1.1.x", "xregexp": "2.0.0" }, "engines": { "node": ">=0.8.0" } }, "node_modules/ftp/node_modules/isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", "dev": true, "optional": true }, "node_modules/ftp/node_modules/readable-stream": { "version": "1.1.14", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "dev": true, "optional": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", "isarray": "0.0.1", "string_decoder": "~0.10.x" } }, "node_modules/ftp/node_modules/string_decoder": { "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", "dev": true, "optional": true }, "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, "node_modules/function-timeout": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/function-timeout/-/function-timeout-1.0.2.tgz", "integrity": "sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA==", "dev": true, "peer": true, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, "node_modules/generate-function": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", "dev": true, "optional": true, "dependencies": { "is-property": "^1.0.2" } }, "node_modules/generate-object-property": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", "dev": true, "optional": true, "dependencies": { "is-property": "^1.0.0" } }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/get-caller-file": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", "dev": true }, "node_modules/get-intrinsic": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", "dev": true, "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", "has-symbols": "^1.0.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/get-stdin": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/get-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/get-symbol-description": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.1" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/get-uri": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.4.tgz", "integrity": "sha512-v7LT/s8kVjs+Tx0ykk1I+H/rbpzkHvuIq87LmeXptcf5sNWm9uQiwjNAt94SJPA1zOlCntmnOlJvVWKmzsxG8Q==", "dev": true, "optional": true, "dependencies": { "data-uri-to-buffer": "1", "debug": "2", "extend": "~3.0.2", "file-uri-to-path": "1", "ftp": "~0.3.10", "readable-stream": "2" } }, "node_modules/get-uri/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "optional": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/get-uri/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true, "optional": true }, "node_modules/get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "dependencies": { "assert-plus": "^1.0.0" } }, "node_modules/git-log-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/git-log-parser/-/git-log-parser-1.2.1.tgz", "integrity": "sha512-PI+sPDvHXNPl5WNOErAK05s3j0lgwUzMN6o8cyQrDaKfT3qd7TmNJKeXX+SknI5I0QhG5fVPAEwSY4tRGDtYoQ==", "dev": true, "peer": true, "dependencies": { "argv-formatter": "~1.0.0", "spawn-error-forwarder": "~1.0.0", "split2": "~1.0.0", "stream-combiner2": "~1.1.1", "through2": "~2.0.0", "traverse": "0.6.8" } }, "node_modules/glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.0.4", "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, "engines": { "node": "*" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/glob-base": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "dependencies": { "glob-parent": "^2.0.0", "is-glob": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/glob-base/node_modules/glob-parent": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "dependencies": { "is-glob": "^2.0.0" } }, "node_modules/glob-base/node_modules/is-extglob": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/glob-base/node_modules/is-glob": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "dependencies": { "is-extglob": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "dependencies": { "is-glob": "^4.0.1" }, "engines": { "node": ">= 6" } }, "node_modules/glob-to-regexp": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", "dev": true }, "node_modules/globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/globby": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==", "dev": true, "dependencies": { "array-union": "^1.0.1", "dir-glob": "2.0.0", "fast-glob": "^2.0.2", "glob": "^7.1.2", "ignore": "^3.3.5", "pify": "^3.0.0", "slash": "^1.0.0" }, "engines": { "node": ">=4" } }, "node_modules/globby/node_modules/slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, "node_modules/growly": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", "dev": true }, "node_modules/gzip-size": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-4.1.0.tgz", "integrity": "sha1-iuCWJX6r59acRb4rZ8RIEk/7UXw=", "dev": true, "dependencies": { "duplexer": "^0.1.1", "pify": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/gzip-size-cli": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/gzip-size-cli/-/gzip-size-cli-2.1.0.tgz", "integrity": "sha512-2aFj16SGdAD5FTTqJe4Wdzs5d05MnHYLr5lwmxdFjiWzJWhUI+L48beS0Vmlg6s9Kqe+bfQ42WskPZdzTwPH4w==", "dev": true, "dependencies": { "gzip-size": "^4.0.0", "meow": "^3.7.0", "pretty-bytes": "^4.0.2" }, "bin": { "gzip-size": "cli.js" }, "engines": { "node": ">=4" } }, "node_modules/handlebars": { "version": "4.7.7", "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", "dev": true, "dependencies": { "minimist": "^1.2.5", "neo-async": "^2.6.0", "source-map": "^0.6.1", "wordwrap": "^1.0.0" }, "bin": { "handlebars": "bin/handlebars" }, "engines": { "node": ">=0.4.7" }, "optionalDependencies": { "uglify-js": "^3.1.4" } }, "node_modules/handlebars/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/har-validator": { "version": "5.1.5", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", "deprecated": "this library is no longer supported", "dev": true, "dependencies": { "ajv": "^6.12.3", "har-schema": "^2.0.0" }, "engines": { "node": ">=6" } }, "node_modules/har-validator/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, "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" } }, "node_modules/har-validator/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 }, "node_modules/har-validator/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 }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "dependencies": { "function-bind": "^1.1.1" }, "engines": { "node": ">= 0.4.0" } }, "node_modules/has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "dependencies": { "ansi-regex": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/has-ansi/node_modules/ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/has-bigints": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-binary2": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", "dev": true, "dependencies": { "isarray": "2.0.1" } }, "node_modules/has-binary2/node_modules/isarray": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", "dev": true }, "node_modules/has-cors": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", "dev": true }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/has-property-descriptors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", "dev": true, "dependencies": { "get-intrinsic": "^1.1.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-tostringtag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dev": true, "dependencies": { "has-symbols": "^1.0.2" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, "dependencies": { "get-value": "^2.0.6", "has-values": "^1.0.0", "isobject": "^3.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/has-values": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "dev": true, "dependencies": { "is-number": "^3.0.0", "kind-of": "^4.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/has-values/node_modules/is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "dependencies": { "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/has-values/node_modules/kind-of": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/hash-base": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "dev": true, "dependencies": { "inherits": "^2.0.4", "readable-stream": "^3.6.0", "safe-buffer": "^5.2.0" }, "engines": { "node": ">=4" } }, "node_modules/hash-base/node_modules/readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" }, "engines": { "node": ">= 6" } }, "node_modules/hash-base/node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "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/hash.js": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dev": true, "dependencies": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" } }, "node_modules/hawk": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", "deprecated": "This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.", "dev": true, "optional": true, "dependencies": { "boom": "2.x.x", "cryptiles": "2.x.x", "hoek": "2.x.x", "sntp": "1.x.x" }, "engines": { "node": ">=0.10.32" } }, "node_modules/highlight.js": { "version": "10.7.3", "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", "dev": true, "peer": true, "engines": { "node": "*" } }, "node_modules/hipchat-notifier": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/hipchat-notifier/-/hipchat-notifier-1.1.0.tgz", "integrity": "sha1-ttJJdVQ3wZEII2d5nTupoPI7Ix4=", "dev": true, "optional": true, "dependencies": { "lodash": "^4.0.0", "request": "^2.0.0" } }, "node_modules/hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", "dev": true, "dependencies": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", "minimalistic-crypto-utils": "^1.0.1" } }, "node_modules/hoek": { "version": "2.16.3", "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", "dev": true, "optional": true, "engines": { "node": ">=0.10.40" } }, "node_modules/home-or-tmp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "dev": true, "dependencies": { "os-homedir": "^1.0.0", "os-tmpdir": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/homedir-polyfill": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", "dev": true, "dependencies": { "parse-passwd": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/hook-std": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/hook-std/-/hook-std-3.0.0.tgz", "integrity": "sha512-jHRQzjSDzMtFy34AGj1DN+vq54WVuhSvKgrHf0OMiFQTwDD4L/qqofVEWjLOBMTn5+lCD3fPg32W9yOfnEJTTw==", "dev": true, "peer": true, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true }, "node_modules/html-encoding-sniffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", "dev": true, "dependencies": { "whatwg-encoding": "^1.0.1" } }, "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", "setprototypeof": "1.2.0", "statuses": "2.0.1", "toidentifier": "1.0.1" }, "engines": { "node": ">= 0.8" } }, "node_modules/http-errors/node_modules/statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, "engines": { "node": ">= 0.8" } }, "node_modules/http-proxy": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", "dev": true, "dependencies": { "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", "requires-port": "^1.0.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/http-proxy-agent": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", "dev": true, "optional": true, "dependencies": { "agent-base": "4", "debug": "3.1.0" }, "engines": { "node": ">= 4.5.0" } }, "node_modules/http-proxy-agent/node_modules/debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "optional": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/http-proxy-agent/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true, "optional": true }, "node_modules/http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "dependencies": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", "sshpk": "^1.7.0" }, "engines": { "node": ">=0.8", "npm": ">=1.3.7" } }, "node_modules/httpntlm": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/httpntlm/-/httpntlm-1.6.1.tgz", "integrity": "sha1-rQFScUOi6Hc8+uapb1hla7UqNLI=", "dev": true, "optional": true, "dependencies": { "httpreq": ">=0.4.22", "underscore": "~1.7.0" }, "engines": { "node": ">=0.8.0" } }, "node_modules/httpreq": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/httpreq/-/httpreq-0.5.2.tgz", "integrity": "sha512-2Jm+x9WkExDOeFRrdBCBSpLPT5SokTcRHkunV3pjKmX/cx6av8zQ0WtHUMDrYb6O4hBFzNU6sxJEypvRUVYKnw==", "dev": true, "optional": true, "engines": { "node": ">= 6.15.1" } }, "node_modules/https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, "node_modules/https-proxy-agent": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", "dev": true, "dependencies": { "agent-base": "^4.3.0", "debug": "^3.1.0" }, "engines": { "node": ">= 4.5.0" } }, "node_modules/https-proxy-agent/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "dependencies": { "ms": "^2.1.1" } }, "node_modules/human-signals": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.1.tgz", "integrity": "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==", "dev": true, "peer": true, "engines": { "node": ">=18.18.0" } }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, "engines": { "node": ">=0.10.0" } }, "node_modules/icss-replace-symbols": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", "dev": true }, "node_modules/icss-utils": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", "dev": true, "dependencies": { "postcss": "^6.0.1" } }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "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/iferr": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", "dev": true }, "node_modules/ignore": { "version": "3.3.10", "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", "dev": true }, "node_modules/import-fresh": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", "dev": true, "dependencies": { "caller-path": "^2.0.0", "resolve-from": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/import-fresh/node_modules/caller-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", "dev": true, "dependencies": { "caller-callsite": "^2.0.0" }, "engines": { "node": ">=4" } }, "node_modules/import-fresh/node_modules/resolve-from": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/import-from-esm": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/import-from-esm/-/import-from-esm-2.0.0.tgz", "integrity": "sha512-YVt14UZCgsX1vZQ3gKjkWVdBdHQ6eu3MPU1TBgL1H5orXe2+jWD006WCPPtOuwlQm10NuzOW5WawiF1Q9veW8g==", "dev": true, "peer": true, "dependencies": { "debug": "^4.3.4", "import-meta-resolve": "^4.0.0" }, "engines": { "node": ">=18.20" } }, "node_modules/import-local": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", "dev": true, "dependencies": { "pkg-dir": "^2.0.0", "resolve-cwd": "^2.0.0" }, "bin": { "import-local-fixture": "fixtures/cli.js" }, "engines": { "node": ">=4" } }, "node_modules/import-local/node_modules/pkg-dir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "dependencies": { "find-up": "^2.1.0" }, "engines": { "node": ">=4" } }, "node_modules/import-meta-resolve": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", "integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==", "dev": true, "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true, "engines": { "node": ">=0.8.19" } }, "node_modules/indent-string": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "dependencies": { "repeating": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/index-to-position": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.1.0.tgz", "integrity": "sha512-XPdx9Dq4t9Qk1mTMbWONJqU7boCoumEH7fRET37HX5+khDUl3J2W6PdALxhILYlIYx2amlwYcRPp28p0tSiojg==", "dev": true, "peer": true, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/indexof": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", "dev": true }, "node_modules/infer-owner": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", "dev": true }, "node_modules/inflection": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.12.0.tgz", "integrity": "sha1-ogCTVlbW9fa8TcdQLhrstwMihBY=", "dev": true, "engines": [ "node >= 0.4.0" ], "optional": true }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, "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 }, "node_modules/ini": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true, "peer": true }, "node_modules/inquirer": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "dev": true, "dependencies": { "ansi-escapes": "^3.0.0", "chalk": "^2.0.0", "cli-cursor": "^2.1.0", "cli-width": "^2.0.0", "external-editor": "^2.0.4", "figures": "^2.0.0", "lodash": "^4.3.0", "mute-stream": "0.0.7", "run-async": "^2.2.0", "rx-lite": "^4.0.8", "rx-lite-aggregates": "^4.0.8", "string-width": "^2.1.0", "strip-ansi": "^4.0.0", "through": "^2.3.6" } }, "node_modules/internal-slot": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", "dev": true, "dependencies": { "get-intrinsic": "^1.1.0", "has": "^1.0.3", "side-channel": "^1.0.4" }, "engines": { "node": ">= 0.4" } }, "node_modules/into-stream": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-7.0.0.tgz", "integrity": "sha512-2dYz766i9HprMBasCMvHMuazJ7u4WzhJwo5kb3iPSiW/iRYV6uPari3zHoqZlnuaR7V1bEiNMxikhp37rdBXbw==", "dev": true, "peer": true, "dependencies": { "from2": "^2.3.0", "p-is-promise": "^3.0.0" }, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/into-stream/node_modules/p-is-promise": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-3.0.0.tgz", "integrity": "sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==", "dev": true, "peer": true, "engines": { "node": ">=8" } }, "node_modules/invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "dependencies": { "loose-envify": "^1.0.0" } }, "node_modules/invert-kv": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", "dev": true, "optional": true }, "node_modules/ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true, "engines": { "node": ">= 0.10" } }, "node_modules/is-accessor-descriptor": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "dependencies": { "kind-of": "^6.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, "node_modules/is-bigint": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, "dependencies": { "has-bigints": "^1.0.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "optional": true, "dependencies": { "binary-extensions": "^2.0.0" }, "engines": { "node": ">=8" } }, "node_modules/is-boolean-object": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, "node_modules/is-callable": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", "dev": true, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-ci": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", "dev": true, "dependencies": { "ci-info": "^1.5.0" }, "bin": { "is-ci": "bin.js" } }, "node_modules/is-core-module": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", "dev": true, "dependencies": { "has": "^1.0.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-data-descriptor": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "dependencies": { "kind-of": "^6.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/is-date-object": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, "dependencies": { "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-descriptor": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "dependencies": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", "kind-of": "^6.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/is-directory": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/is-dotfile": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/is-equal-shallow": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "dependencies": { "is-primitive": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/is-finite": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", "dev": true, "engines": { "node": ">=0.10.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/is-generator-fn": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-1.0.0.tgz", "integrity": "sha1-lp1J4bszKfa7fwkIm+JleLLd1Go=", "dev": true, "engines": { "node": ">=0.10.0" } }, "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, "dependencies": { "is-extglob": "^2.1.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/is-my-ip-valid": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.1.tgz", "integrity": "sha512-jxc8cBcOWbNK2i2aTkCZP6i7wkHF1bqKFrwEHuN5Jtg5BSaZHUZQ/JTOJwoV41YvHnOaRyWWh72T/KvfNz9DJg==", "dev": true, "optional": true }, "node_modules/is-my-json-valid": { "version": "2.20.6", "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.6.tgz", "integrity": "sha512-1JQwulVNjx8UqkPE/bqDaxtH4PXCe/2VRh/y3p99heOV87HG4Id5/VfDswd+YiAfHcRTfDlWgISycnHuhZq1aw==", "dev": true, "optional": true, "dependencies": { "generate-function": "^2.0.0", "generate-object-property": "^1.1.0", "is-my-ip-valid": "^1.0.0", "jsonpointer": "^5.0.0", "xtend": "^4.0.0" } }, "node_modules/is-negative-zero": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, "engines": { "node": ">=0.12.0" } }, "node_modules/is-number-object": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, "dependencies": { "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-obj": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", "dev": true, "peer": true, "engines": { "node": ">=8" } }, "node_modules/is-plain-obj": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", "dev": true, "peer": true, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "dependencies": { "isobject": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/is-posix-bracket": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/is-primitive": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/is-property": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", "dev": true, "optional": true }, "node_modules/is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-resolvable": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", "dev": true }, "node_modules/is-shared-array-buffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", "dev": true, "dependencies": { "call-bind": "^1.0.2" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/is-string": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, "dependencies": { "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-symbol": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, "dependencies": { "has-symbols": "^1.0.2" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, "node_modules/is-unicode-supported": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", "dev": true, "peer": true, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "dev": true }, "node_modules/is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, "dependencies": { "call-bind": "^1.0.2" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/is-wsl": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "node_modules/isbinaryfile": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", "dev": true, "dependencies": { "buffer-alloc": "^1.2.0" }, "engines": { "node": ">=0.6.0" } }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, "node_modules/isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, "node_modules/issue-parser": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-7.0.1.tgz", "integrity": "sha512-3YZcUUR2Wt1WsapF+S/WiA2WmlW0cWAoPccMqne7AxEBhCdFeTPjfv/Axb8V2gyCgY3nRw+ksZ3xSUX+R47iAg==", "dev": true, "dependencies": { "lodash.capitalize": "^4.2.1", "lodash.escaperegexp": "^4.1.2", "lodash.isplainobject": "^4.0.6", "lodash.isstring": "^4.0.1", "lodash.uniqby": "^4.7.0" }, "engines": { "node": "^18.17 || >=20.6.1" } }, "node_modules/istanbul-api": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.3.7.tgz", "integrity": "sha512-4/ApBnMVeEPG3EkSzcw25wDe4N66wxwn+KKn6b47vyek8Xb3NBAcg4xfuQbS7BqcZuTX4wxfD5lVagdggR3gyA==", "dev": true, "dependencies": { "async": "^2.1.4", "fileset": "^2.0.2", "istanbul-lib-coverage": "^1.2.1", "istanbul-lib-hook": "^1.2.2", "istanbul-lib-instrument": "^1.10.2", "istanbul-lib-report": "^1.1.5", "istanbul-lib-source-maps": "^1.2.6", "istanbul-reports": "^1.5.1", "js-yaml": "^3.7.0", "mkdirp": "^0.5.1", "once": "^1.4.0" } }, "node_modules/istanbul-lib-coverage": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz", "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==", "dev": true }, "node_modules/istanbul-lib-hook": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.2.2.tgz", "integrity": "sha512-/Jmq7Y1VeHnZEQ3TL10VHyb564mn6VrQXHchON9Jf/AEcmQ3ZIiyD1BVzNOKTZf/G3gE+kiGK6SmpF9y3qGPLw==", "dev": true, "dependencies": { "append-transform": "^0.4.0" } }, "node_modules/istanbul-lib-instrument": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz", "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", "dev": true, "dependencies": { "babel-generator": "^6.18.0", "babel-template": "^6.16.0", "babel-traverse": "^6.18.0", "babel-types": "^6.18.0", "babylon": "^6.18.0", "istanbul-lib-coverage": "^1.2.1", "semver": "^5.3.0" } }, "node_modules/istanbul-lib-instrument/node_modules/semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, "bin": { "semver": "bin/semver" } }, "node_modules/istanbul-lib-report": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.5.tgz", "integrity": "sha512-UsYfRMoi6QO/doUshYNqcKJqVmFe9w51GZz8BS3WB0lYxAllQYklka2wP9+dGZeHYaWIdcXUx8JGdbqaoXRXzw==", "dev": true, "dependencies": { "istanbul-lib-coverage": "^1.2.1", "mkdirp": "^0.5.1", "path-parse": "^1.0.5", "supports-color": "^3.1.2" } }, "node_modules/istanbul-lib-report/node_modules/has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/istanbul-lib-report/node_modules/supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "dependencies": { "has-flag": "^1.0.0" }, "engines": { "node": ">=0.8.0" } }, "node_modules/istanbul-lib-source-maps": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.6.tgz", "integrity": "sha512-TtbsY5GIHgbMsMiRw35YBHGpZ1DVFEO19vxxeiDMYaeOFOCzfnYVxvl6pOUIZR4dtPhAGpSMup8OyF8ubsaqEg==", "dev": true, "dependencies": { "debug": "^3.1.0", "istanbul-lib-coverage": "^1.2.1", "mkdirp": "^0.5.1", "rimraf": "^2.6.1", "source-map": "^0.5.3" } }, "node_modules/istanbul-lib-source-maps/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "dependencies": { "ms": "^2.1.1" } }, "node_modules/istanbul-reports": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.5.1.tgz", "integrity": "sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw==", "dev": true, "dependencies": { "handlebars": "^4.0.3" } }, "node_modules/jasmine-core": { "version": "2.99.1", "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.99.1.tgz", "integrity": "sha1-5kAN8ea1bhMLYcS80JPap/boyhU=", "dev": true }, "node_modules/java-properties": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/java-properties/-/java-properties-1.0.2.tgz", "integrity": "sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==", "dev": true, "peer": true, "engines": { "node": ">= 0.6.0" } }, "node_modules/jest": { "version": "22.4.4", "resolved": "https://registry.npmjs.org/jest/-/jest-22.4.4.tgz", "integrity": "sha512-eBhhW8OS/UuX3HxgzNBSVEVhSuRDh39Z1kdYkQVWna+scpgsrD7vSeBI7tmEvsguPDMnfJodW28YBnhv/BzSew==", "dev": true, "dependencies": { "import-local": "^1.0.0", "jest-cli": "^22.4.4" }, "bin": { "jest": "bin/jest.js" }, "engines": { "node": ">= 6" } }, "node_modules/jest-changed-files": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-22.4.3.tgz", "integrity": "sha512-83Dh0w1aSkUNFhy5d2dvqWxi/y6weDwVVLU6vmK0cV9VpRxPzhTeGimbsbRDSnEoszhF937M4sDLLeS7Cu/Tmw==", "dev": true, "dependencies": { "throat": "^4.0.0" } }, "node_modules/jest-cli": { "version": "22.4.4", "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-22.4.4.tgz", "integrity": "sha512-I9dsgkeyjVEEZj9wrGrqlH+8OlNob9Iptyl+6L5+ToOLJmHm4JwOPatin1b2Bzp5R5YRQJ+oiedx7o1H7wJzhA==", "dev": true, "dependencies": { "ansi-escapes": "^3.0.0", "chalk": "^2.0.1", "exit": "^0.1.2", "glob": "^7.1.2", "graceful-fs": "^4.1.11", "import-local": "^1.0.0", "is-ci": "^1.0.10", "istanbul-api": "^1.1.14", "istanbul-lib-coverage": "^1.1.1", "istanbul-lib-instrument": "^1.8.0", "istanbul-lib-source-maps": "^1.2.1", "jest-changed-files": "^22.2.0", "jest-config": "^22.4.4", "jest-environment-jsdom": "^22.4.1", "jest-get-type": "^22.1.0", "jest-haste-map": "^22.4.2", "jest-message-util": "^22.4.0", "jest-regex-util": "^22.1.0", "jest-resolve-dependencies": "^22.1.0", "jest-runner": "^22.4.4", "jest-runtime": "^22.4.4", "jest-snapshot": "^22.4.0", "jest-util": "^22.4.1", "jest-validate": "^22.4.4", "jest-worker": "^22.2.2", "micromatch": "^2.3.11", "node-notifier": "^5.2.1", "realpath-native": "^1.0.0", "rimraf": "^2.5.4", "slash": "^1.0.0", "string-length": "^2.0.0", "strip-ansi": "^4.0.0", "which": "^1.2.12", "yargs": "^10.0.3" }, "bin": { "jest": "bin/jest.js" }, "engines": { "node": ">= 6" } }, "node_modules/jest-cli/node_modules/slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/jest-config": { "version": "22.4.4", "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-22.4.4.tgz", "integrity": "sha512-9CKfo1GC4zrXSoMLcNeDvQBfgtqGTB1uP8iDIZ97oB26RCUb886KkKWhVcpyxVDOUxbhN+uzcBCeFe7w+Iem4A==", "dev": true, "dependencies": { "chalk": "^2.0.1", "glob": "^7.1.1", "jest-environment-jsdom": "^22.4.1", "jest-environment-node": "^22.4.1", "jest-get-type": "^22.1.0", "jest-jasmine2": "^22.4.4", "jest-regex-util": "^22.1.0", "jest-resolve": "^22.4.2", "jest-util": "^22.4.1", "jest-validate": "^22.4.4", "pretty-format": "^22.4.0" } }, "node_modules/jest-diff": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-22.4.3.tgz", "integrity": "sha512-/QqGvCDP5oZOF6PebDuLwrB2BMD8ffJv6TAGAdEVuDx1+uEgrHpSFrfrOiMRx2eJ1hgNjlQrOQEHetVwij90KA==", "dev": true, "dependencies": { "chalk": "^2.0.1", "diff": "^3.2.0", "jest-get-type": "^22.4.3", "pretty-format": "^22.4.3" } }, "node_modules/jest-docblock": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-22.4.3.tgz", "integrity": "sha512-uPKBEAw7YrEMcXueMKZXn/rbMxBiSv48fSqy3uEnmgOlQhSX+lthBqHb1fKWNVmFqAp9E/RsSdBfiV31LbzaOg==", "dev": true, "dependencies": { "detect-newline": "^2.1.0" } }, "node_modules/jest-environment-jsdom": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-22.4.3.tgz", "integrity": "sha512-FviwfR+VyT3Datf13+ULjIMO5CSeajlayhhYQwpzgunswoaLIPutdbrnfUHEMyJCwvqQFaVtTmn9+Y8WCt6n1w==", "dev": true, "dependencies": { "jest-mock": "^22.4.3", "jest-util": "^22.4.3", "jsdom": "^11.5.1" } }, "node_modules/jest-environment-node": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-22.4.3.tgz", "integrity": "sha512-reZl8XF6t/lMEuPWwo9OLfttyC26A5AMgDyEQ6DBgZuyfyeNUzYT8BFo6uxCCP/Av/b7eb9fTi3sIHFPBzmlRA==", "dev": true, "dependencies": { "jest-mock": "^22.4.3", "jest-util": "^22.4.3" } }, "node_modules/jest-get-type": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==", "dev": true }, "node_modules/jest-haste-map": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-22.4.3.tgz", "integrity": "sha512-4Q9fjzuPVwnaqGKDpIsCSoTSnG3cteyk2oNVjBX12HHOaF1oxql+uUiqZb5Ndu7g/vTZfdNwwy4WwYogLh29DQ==", "dev": true, "dependencies": { "fb-watchman": "^2.0.0", "graceful-fs": "^4.1.11", "jest-docblock": "^22.4.3", "jest-serializer": "^22.4.3", "jest-worker": "^22.4.3", "micromatch": "^2.3.11", "sane": "^2.0.0" } }, "node_modules/jest-jasmine2": { "version": "22.4.4", "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-22.4.4.tgz", "integrity": "sha512-nK3vdUl50MuH7vj/8at7EQVjPGWCi3d5+6aCi7Gxy/XMWdOdbH1qtO/LjKbqD8+8dUAEH+BVVh7HkjpCWC1CSw==", "dev": true, "dependencies": { "chalk": "^2.0.1", "co": "^4.6.0", "expect": "^22.4.0", "graceful-fs": "^4.1.11", "is-generator-fn": "^1.0.0", "jest-diff": "^22.4.0", "jest-matcher-utils": "^22.4.0", "jest-message-util": "^22.4.0", "jest-snapshot": "^22.4.0", "jest-util": "^22.4.1", "source-map-support": "^0.5.0" } }, "node_modules/jest-leak-detector": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-22.4.3.tgz", "integrity": "sha512-NZpR/Ls7+ndO57LuXROdgCGz2RmUdC541tTImL9bdUtU3WadgFGm0yV+Ok4Fuia/1rLAn5KaJ+i76L6e3zGJYQ==", "dev": true, "dependencies": { "pretty-format": "^22.4.3" } }, "node_modules/jest-matcher-utils": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz", "integrity": "sha512-lsEHVaTnKzdAPR5t4B6OcxXo9Vy4K+kRRbG5gtddY8lBEC+Mlpvm1CJcsMESRjzUhzkz568exMV1hTB76nAKbA==", "dev": true, "dependencies": { "chalk": "^2.0.1", "jest-get-type": "^22.4.3", "pretty-format": "^22.4.3" } }, "node_modules/jest-message-util": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-22.4.3.tgz", "integrity": "sha512-iAMeKxhB3Se5xkSjU0NndLLCHtP4n+GtCqV0bISKA5dmOXQfEbdEmYiu2qpnWBDCQdEafNDDU6Q+l6oBMd/+BA==", "dev": true, "dependencies": { "@babel/code-frame": "^7.0.0-beta.35", "chalk": "^2.0.1", "micromatch": "^2.3.11", "slash": "^1.0.0", "stack-utils": "^1.0.1" } }, "node_modules/jest-message-util/node_modules/slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/jest-mock": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-22.4.3.tgz", "integrity": "sha512-+4R6mH5M1G4NK16CKg9N1DtCaFmuxhcIqF4lQK/Q1CIotqMs/XBemfpDPeVZBFow6iyUNu6EBT9ugdNOTT5o5Q==", "dev": true }, "node_modules/jest-regex-util": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-22.4.3.tgz", "integrity": "sha512-LFg1gWr3QinIjb8j833bq7jtQopiwdAs67OGfkPrvy7uNUbVMfTXXcOKXJaeY5GgjobELkKvKENqq1xrUectWg==", "dev": true }, "node_modules/jest-resolve": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-22.4.3.tgz", "integrity": "sha512-u3BkD/MQBmwrOJDzDIaxpyqTxYH+XqAXzVJP51gt29H8jpj3QgKof5GGO2uPGKGeA1yTMlpbMs1gIQ6U4vcRhw==", "dev": true, "dependencies": { "browser-resolve": "^1.11.2", "chalk": "^2.0.1" } }, "node_modules/jest-resolve-dependencies": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-22.4.3.tgz", "integrity": "sha512-06czCMVToSN8F2U4EvgSB1Bv/56gc7MpCftZ9z9fBgUQM7dzHGCMBsyfVA6dZTx8v0FDcnALf7hupeQxaBCvpA==", "dev": true, "dependencies": { "jest-regex-util": "^22.4.3" } }, "node_modules/jest-runner": { "version": "22.4.4", "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-22.4.4.tgz", "integrity": "sha512-5S/OpB51igQW9xnkM5Tgd/7ZjiAuIoiJAVtvVTBcEBiXBIFzWM3BAMPBM19FX68gRV0KWyFuGKj0EY3M3aceeQ==", "dev": true, "dependencies": { "exit": "^0.1.2", "jest-config": "^22.4.4", "jest-docblock": "^22.4.0", "jest-haste-map": "^22.4.2", "jest-jasmine2": "^22.4.4", "jest-leak-detector": "^22.4.0", "jest-message-util": "^22.4.0", "jest-runtime": "^22.4.4", "jest-util": "^22.4.1", "jest-worker": "^22.2.2", "throat": "^4.0.0" } }, "node_modules/jest-runtime": { "version": "22.4.4", "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-22.4.4.tgz", "integrity": "sha512-WRTj9m///npte1YjuphCYX7GRY/c2YvJImU9t7qOwFcqHr4YMzmX6evP/3Sehz5DKW2Vi8ONYPCFWe36JVXxfw==", "dev": true, "dependencies": { "babel-core": "^6.0.0", "babel-jest": "^22.4.4", "babel-plugin-istanbul": "^4.1.5", "chalk": "^2.0.1", "convert-source-map": "^1.4.0", "exit": "^0.1.2", "graceful-fs": "^4.1.11", "jest-config": "^22.4.4", "jest-haste-map": "^22.4.2", "jest-regex-util": "^22.1.0", "jest-resolve": "^22.4.2", "jest-util": "^22.4.1", "jest-validate": "^22.4.4", "json-stable-stringify": "^1.0.1", "micromatch": "^2.3.11", "realpath-native": "^1.0.0", "slash": "^1.0.0", "strip-bom": "3.0.0", "write-file-atomic": "^2.1.0", "yargs": "^10.0.3" }, "bin": { "jest-runtime": "bin/jest-runtime.js" } }, "node_modules/jest-runtime/node_modules/babel-core": { "version": "6.26.3", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "dependencies": { "babel-code-frame": "^6.26.0", "babel-generator": "^6.26.0", "babel-helpers": "^6.24.1", "babel-messages": "^6.23.0", "babel-register": "^6.26.0", "babel-runtime": "^6.26.0", "babel-template": "^6.26.0", "babel-traverse": "^6.26.0", "babel-types": "^6.26.0", "babylon": "^6.18.0", "convert-source-map": "^1.5.1", "debug": "^2.6.9", "json5": "^0.5.1", "lodash": "^4.17.4", "minimatch": "^3.0.4", "path-is-absolute": "^1.0.1", "private": "^0.1.8", "slash": "^1.0.0", "source-map": "^0.5.7" } }, "node_modules/jest-runtime/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/jest-runtime/node_modules/json5": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", "dev": true, "bin": { "json5": "lib/cli.js" } }, "node_modules/jest-runtime/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "node_modules/jest-runtime/node_modules/slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/jest-runtime/node_modules/strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/jest-serializer": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-22.4.3.tgz", "integrity": "sha512-uPaUAppx4VUfJ0QDerpNdF43F68eqKWCzzhUlKNDsUPhjOon7ZehR4C809GCqh765FoMRtTVUVnGvIoskkYHiw==", "dev": true }, "node_modules/jest-snapshot": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-22.4.3.tgz", "integrity": "sha512-JXA0gVs5YL0HtLDCGa9YxcmmV2LZbwJ+0MfyXBBc5qpgkEYITQFJP7XNhcHFbUvRiniRpRbGVfJrOoYhhGE0RQ==", "dev": true, "dependencies": { "chalk": "^2.0.1", "jest-diff": "^22.4.3", "jest-matcher-utils": "^22.4.3", "mkdirp": "^0.5.1", "natural-compare": "^1.4.0", "pretty-format": "^22.4.3" } }, "node_modules/jest-util": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-22.4.3.tgz", "integrity": "sha512-rfDfG8wyC5pDPNdcnAlZgwKnzHvZDu8Td2NJI/jAGKEGxJPYiE4F0ss/gSAkG4778Y23Hvbz+0GMrDJTeo7RjQ==", "dev": true, "dependencies": { "callsites": "^2.0.0", "chalk": "^2.0.1", "graceful-fs": "^4.1.11", "is-ci": "^1.0.10", "jest-message-util": "^22.4.3", "mkdirp": "^0.5.1", "source-map": "^0.6.0" } }, "node_modules/jest-util/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/jest-validate": { "version": "22.4.4", "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-22.4.4.tgz", "integrity": "sha512-dmlf4CIZRGvkaVg3fa0uetepcua44DHtktHm6rcoNVtYlpwe6fEJRkMFsaUVcFHLzbuBJ2cPw9Gl9TKfnzMVwg==", "dev": true, "dependencies": { "chalk": "^2.0.1", "jest-config": "^22.4.4", "jest-get-type": "^22.1.0", "leven": "^2.1.0", "pretty-format": "^22.4.0" } }, "node_modules/jest-worker": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-22.4.3.tgz", "integrity": "sha512-B1ucW4fI8qVAuZmicFxI1R3kr2fNeYJyvIQ1rKcuLYnenFV5K5aMbxFj6J0i00Ju83S8jP2d7Dz14+AvbIHRYQ==", "dev": true, "dependencies": { "merge-stream": "^1.0.1" } }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, "node_modules/js-yaml": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "node_modules/jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "dev": true }, "node_modules/jsdom": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", "dev": true, "dependencies": { "abab": "^2.0.0", "acorn": "^5.5.3", "acorn-globals": "^4.1.0", "array-equal": "^1.0.0", "cssom": ">= 0.3.2 < 0.4.0", "cssstyle": "^1.0.0", "data-urls": "^1.0.0", "domexception": "^1.0.1", "escodegen": "^1.9.1", "html-encoding-sniffer": "^1.0.2", "left-pad": "^1.3.0", "nwsapi": "^2.0.7", "parse5": "4.0.0", "pn": "^1.1.0", "request": "^2.87.0", "request-promise-native": "^1.0.5", "sax": "^1.2.4", "symbol-tree": "^3.2.2", "tough-cookie": "^2.3.4", "w3c-hr-time": "^1.0.1", "webidl-conversions": "^4.0.2", "whatwg-encoding": "^1.0.3", "whatwg-mimetype": "^2.1.0", "whatwg-url": "^6.4.1", "ws": "^5.2.0", "xml-name-validator": "^3.0.0" } }, "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true, "bin": { "jsesc": "bin/jsesc" }, "engines": { "node": ">=4" } }, "node_modules/json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true, "peer": true }, "node_modules/json-schema": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", "dev": true }, "node_modules/json-schema-traverse": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", "dev": true }, "node_modules/json-stable-stringify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "dev": true, "dependencies": { "jsonify": "~0.0.0" } }, "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": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, "node_modules/json5": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", "dev": true, "bin": { "json5": "lib/cli.js" }, "engines": { "node": ">=6" } }, "node_modules/jsonfile": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", "dev": true, "peer": true, "dependencies": { "universalify": "^2.0.0" }, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "node_modules/jsonify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", "dev": true, "engines": { "node": "*" } }, "node_modules/jsonpointer": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.0.tgz", "integrity": "sha512-PNYZIdMjVIvVgDSYKTT63Y+KZ6IZvGRNNWcxwD+GNnUz1MKPfv30J8ueCjdwcN0nDx2SlshgyB7Oy0epAzVRRg==", "dev": true, "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/jsprim": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", "dev": true, "dependencies": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", "json-schema": "0.4.0", "verror": "1.10.0" }, "engines": { "node": ">=0.6.0" } }, "node_modules/karma": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/karma/-/karma-2.0.5.tgz", "integrity": "sha512-rECezBeY7mjzGUWhFlB7CvPHgkHJLXyUmWg+6vHCEsdWNUTnmiS6jRrIMcJEWgU2DUGZzGWG0bTRVky8fsDTOA==", "dev": true, "dependencies": { "bluebird": "^3.3.0", "body-parser": "^1.16.1", "chokidar": "^2.0.3", "colors": "^1.1.0", "combine-lists": "^1.0.0", "connect": "^3.6.0", "core-js": "^2.2.0", "di": "^0.0.1", "dom-serialize": "^2.2.0", "expand-braces": "^0.1.1", "glob": "^7.1.1", "graceful-fs": "^4.1.2", "http-proxy": "^1.13.0", "isbinaryfile": "^3.0.0", "lodash": "^4.17.4", "log4js": "^2.5.3", "mime": "^1.3.4", "minimatch": "^3.0.2", "optimist": "^0.6.1", "qjobs": "^1.1.4", "range-parser": "^1.2.0", "rimraf": "^2.6.0", "safe-buffer": "^5.0.1", "socket.io": "2.0.4", "source-map": "^0.6.1", "tmp": "0.0.33", "useragent": "2.2.1" }, "bin": { "karma": "bin/karma" }, "engines": { "node": ">= 4" } }, "node_modules/karma-jasmine": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-1.1.2.tgz", "integrity": "sha1-OU8rJf+0pkS5rabyLUQ+L9CIhsM=", "dev": true, "engines": { "node": ">= 4" }, "peerDependencies": { "jasmine-core": "*", "karma": "*" } }, "node_modules/karma-sauce-launcher": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-1.2.0.tgz", "integrity": "sha512-lEhtGRGS+3Yw6JSx/vJY9iQyHNtTjcojrSwNzqNUOaDceKDu9dPZqA/kr69bUO9G2T6GKbu8AZgXqy94qo31Jg==", "dev": true, "dependencies": { "q": "^1.5.0", "sauce-connect-launcher": "^1.2.2", "saucelabs": "^1.4.0", "wd": "^1.4.0" } }, "node_modules/karma/node_modules/anymatch": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, "dependencies": { "micromatch": "^3.1.4", "normalize-path": "^2.1.1" } }, "node_modules/karma/node_modules/anymatch/node_modules/normalize-path": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "dependencies": { "remove-trailing-separator": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/karma/node_modules/arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/karma/node_modules/array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/karma/node_modules/binary-extensions": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/karma/node_modules/braces": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "dependencies": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", "extend-shallow": "^2.0.1", "fill-range": "^4.0.0", "isobject": "^3.0.1", "repeat-element": "^1.1.2", "snapdragon": "^0.8.1", "snapdragon-node": "^2.0.1", "split-string": "^3.0.2", "to-regex": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/karma/node_modules/braces/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "dependencies": { "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/karma/node_modules/chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", "dev": true, "dependencies": { "anymatch": "^2.0.0", "async-each": "^1.0.1", "braces": "^2.3.2", "glob-parent": "^3.1.0", "inherits": "^2.0.3", "is-binary-path": "^1.0.0", "is-glob": "^4.0.0", "normalize-path": "^3.0.0", "path-is-absolute": "^1.0.0", "readdirp": "^2.2.1", "upath": "^1.1.1" }, "optionalDependencies": { "fsevents": "^1.2.7" } }, "node_modules/karma/node_modules/core-js": { "version": "2.6.12", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", "deprecated": "core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.", "dev": true, "hasInstallScript": true }, "node_modules/karma/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/karma/node_modules/expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "dependencies": { "debug": "^2.3.3", "define-property": "^0.2.5", "extend-shallow": "^2.0.1", "posix-character-classes": "^0.1.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/karma/node_modules/expand-brackets/node_modules/define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "dependencies": { "is-descriptor": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/karma/node_modules/expand-brackets/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "dependencies": { "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/karma/node_modules/expand-brackets/node_modules/is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", "kind-of": "^5.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/karma/node_modules/expand-brackets/node_modules/kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/karma/node_modules/extglob": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "dependencies": { "array-unique": "^0.3.2", "define-property": "^1.0.0", "expand-brackets": "^2.1.4", "extend-shallow": "^2.0.1", "fragment-cache": "^0.2.1", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/karma/node_modules/extglob/node_modules/define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "dependencies": { "is-descriptor": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/karma/node_modules/extglob/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "dependencies": { "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/karma/node_modules/fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "dependencies": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", "repeat-string": "^1.6.1", "to-regex-range": "^2.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/karma/node_modules/fill-range/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "dependencies": { "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/karma/node_modules/fsevents": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", "dev": true, "hasInstallScript": true, "optional": true, "os": [ "darwin" ], "dependencies": { "bindings": "^1.5.0", "nan": "^2.12.1" }, "engines": { "node": ">= 4.0" } }, "node_modules/karma/node_modules/glob-parent": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "dev": true, "dependencies": { "is-glob": "^3.1.0", "path-dirname": "^1.0.0" } }, "node_modules/karma/node_modules/glob-parent/node_modules/is-glob": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "dev": true, "dependencies": { "is-extglob": "^2.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/karma/node_modules/is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "dependencies": { "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/karma/node_modules/is-accessor-descriptor/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/karma/node_modules/is-binary-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "dependencies": { "binary-extensions": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/karma/node_modules/is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "dependencies": { "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/karma/node_modules/is-data-descriptor/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/karma/node_modules/is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "dependencies": { "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/karma/node_modules/is-number/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/karma/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", "braces": "^2.3.1", "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "extglob": "^2.0.4", "fragment-cache": "^0.2.1", "kind-of": "^6.0.2", "nanomatch": "^1.2.9", "object.pick": "^1.3.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/karma/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "node_modules/karma/node_modules/readdirp": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "dev": true, "dependencies": { "graceful-fs": "^4.1.11", "micromatch": "^3.1.10", "readable-stream": "^2.0.2" }, "engines": { "node": ">=0.10" } }, "node_modules/karma/node_modules/repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true, "engines": { "node": ">=0.10" } }, "node_modules/karma/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/karma/node_modules/to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "dependencies": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/lazystream": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", "dev": true, "dependencies": { "readable-stream": "^2.0.5" }, "engines": { "node": ">= 0.6.3" } }, "node_modules/lcid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, "dependencies": { "invert-kv": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/left-pad": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", "deprecated": "use String.prototype.padStart()", "dev": true }, "node_modules/leven": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "dependencies": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/libbase64": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/libbase64/-/libbase64-0.1.0.tgz", "integrity": "sha1-YjUag5VjrF/1vSbxL2Dpgwu3UeY=", "dev": true, "optional": true }, "node_modules/libmime": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/libmime/-/libmime-3.0.0.tgz", "integrity": "sha1-UaGp50SOy9Ms2lRCFnW7IbwJPaY=", "dev": true, "optional": true, "dependencies": { "iconv-lite": "0.4.15", "libbase64": "0.1.0", "libqp": "1.1.0" } }, "node_modules/libmime/node_modules/iconv-lite": { "version": "0.4.15", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz", "integrity": "sha1-/iZaIYrGpXz+hUkn6dBMGYJe3es=", "dev": true, "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/libqp": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/libqp/-/libqp-1.1.0.tgz", "integrity": "sha1-9ebgatdLeU+1tbZpiL9yjvHe2+g=", "dev": true, "optional": true }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true, "peer": true }, "node_modules/load-json-file": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "dependencies": { "graceful-fs": "^4.1.2", "parse-json": "^2.2.0", "pify": "^2.0.0", "pinkie-promise": "^2.0.0", "strip-bom": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/load-json-file/node_modules/pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/loader-runner": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", "dev": true, "engines": { "node": ">=4.3.0 <5.0.0 || >=5.10" } }, "node_modules/loader-utils": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", "dev": true, "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", "json5": "^1.0.1" }, "engines": { "node": ">=4.0.0" } }, "node_modules/loader-utils/node_modules/json5": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", "dev": true, "dependencies": { "minimist": "^1.2.0" }, "bin": { "json5": "lib/cli.js" } }, "node_modules/locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "dependencies": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, "node_modules/lodash-es": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", "dev": true }, "node_modules/lodash.capitalize": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz", "integrity": "sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==", "dev": true }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", "dev": true }, "node_modules/lodash.defaults": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=", "dev": true }, "node_modules/lodash.difference": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=", "dev": true }, "node_modules/lodash.escaperegexp": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", "integrity": "sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==", "dev": true }, "node_modules/lodash.flatten": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", "dev": true }, "node_modules/lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", "dev": true }, "node_modules/lodash.isstring": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", "dev": true }, "node_modules/lodash.sortby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", "dev": true }, "node_modules/lodash.union": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=", "dev": true }, "node_modules/lodash.uniqby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", "integrity": "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==", "dev": true }, "node_modules/log4js": { "version": "2.11.0", "resolved": "https://registry.npmjs.org/log4js/-/log4js-2.11.0.tgz", "integrity": "sha512-z1XdwyGFg8/WGkOyF6DPJjivCWNLKrklGdViywdYnSKOvgtEBo2UyEMZS5sD2mZrQlU3TvO8wDWLc8mzE1ncBQ==", "dev": true, "dependencies": { "circular-json": "^0.5.4", "date-format": "^1.2.0", "debug": "^3.1.0", "semver": "^5.5.0", "streamroller": "0.7.0" }, "engines": { "node": ">=4.0" }, "optionalDependencies": { "amqplib": "^0.5.2", "axios": "^0.15.3", "hipchat-notifier": "^1.1.0", "loggly": "^1.1.0", "mailgun-js": "^0.18.0", "nodemailer": "^2.5.0", "redis": "^2.7.1", "slack-node": "~0.2.0" } }, "node_modules/log4js/node_modules/circular-json": { "version": "0.5.9", "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.9.tgz", "integrity": "sha512-4ivwqHpIFJZBuhN3g/pEcdbnGUywkBblloGbkglyloVjjR3uT6tieI89MVOfbP2tHX5sgb01FuLgAOzebNlJNQ==", "deprecated": "CircularJSON is in maintenance only, flatted is its successor.", "dev": true }, "node_modules/log4js/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "dependencies": { "ms": "^2.1.1" } }, "node_modules/log4js/node_modules/semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, "bin": { "semver": "bin/semver" } }, "node_modules/loggly": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/loggly/-/loggly-1.1.1.tgz", "integrity": "sha1-Cg/B0/o6XsRP3HuJe+uipGlc6+4=", "dev": true, "optional": true, "dependencies": { "json-stringify-safe": "5.0.x", "request": "2.75.x", "timespan": "2.3.x" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/loggly/node_modules/ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true, "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/loggly/node_modules/ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", "dev": true, "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/loggly/node_modules/assert-plus": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", "dev": true, "optional": true, "engines": { "node": ">=0.8" } }, "node_modules/loggly/node_modules/aws-sign2": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", "dev": true, "optional": true, "engines": { "node": "*" } }, "node_modules/loggly/node_modules/bl": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", "integrity": "sha1-/cqHGplxOqANGeO7ukHER4emU5g=", "dev": true, "optional": true, "dependencies": { "readable-stream": "~2.0.5" } }, "node_modules/loggly/node_modules/caseless": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", "dev": true, "optional": true }, "node_modules/loggly/node_modules/chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "optional": true, "dependencies": { "ansi-styles": "^2.2.1", "escape-string-regexp": "^1.0.2", "has-ansi": "^2.0.0", "strip-ansi": "^3.0.0", "supports-color": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/loggly/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true, "optional": true }, "node_modules/loggly/node_modules/form-data": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.0.0.tgz", "integrity": "sha1-bwrrrcxdoWwT4ezBETfYX5uIOyU=", "dev": true, "optional": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.5", "mime-types": "^2.1.11" }, "engines": { "node": ">= 0.12" } }, "node_modules/loggly/node_modules/har-validator": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", "deprecated": "this library is no longer supported", "dev": true, "optional": true, "dependencies": { "chalk": "^1.1.1", "commander": "^2.9.0", "is-my-json-valid": "^2.12.4", "pinkie-promise": "^2.0.0" }, "bin": { "har-validator": "bin/har-validator" }, "engines": { "node": ">=0.10" } }, "node_modules/loggly/node_modules/http-signature": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", "dev": true, "optional": true, "dependencies": { "assert-plus": "^0.2.0", "jsprim": "^1.2.2", "sshpk": "^1.7.0" }, "engines": { "node": ">=0.8", "npm": ">=1.3.7" } }, "node_modules/loggly/node_modules/oauth-sign": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", "dev": true, "optional": true, "engines": { "node": "*" } }, "node_modules/loggly/node_modules/process-nextick-args": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", "dev": true, "optional": true }, "node_modules/loggly/node_modules/qs": { "version": "6.2.4", "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.4.tgz", "integrity": "sha512-E57gmgKXqDda+qWTkUJgIwgJICK7zgMfqZZopTRKZ6mY9gzLlmJN9EpXNnDrTxXFlOM/a+I28kJkF/60rqgnYw==", "dev": true, "optional": true, "engines": { "node": ">=0.6" } }, "node_modules/loggly/node_modules/readable-stream": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", "dev": true, "optional": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", "isarray": "~1.0.0", "process-nextick-args": "~1.0.6", "string_decoder": "~0.10.x", "util-deprecate": "~1.0.1" } }, "node_modules/loggly/node_modules/request": { "version": "2.75.0", "resolved": "https://registry.npmjs.org/request/-/request-2.75.0.tgz", "integrity": "sha1-0rgmiihtoT6qXQGt9dGMyQ9lfZM=", "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", "dev": true, "optional": true, "dependencies": { "aws-sign2": "~0.6.0", "aws4": "^1.2.1", "bl": "~1.1.2", "caseless": "~0.11.0", "combined-stream": "~1.0.5", "extend": "~3.0.0", "forever-agent": "~0.6.1", "form-data": "~2.0.0", "har-validator": "~2.0.6", "hawk": "~3.1.3", "http-signature": "~1.1.0", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", "json-stringify-safe": "~5.0.1", "mime-types": "~2.1.7", "node-uuid": "~1.4.7", "oauth-sign": "~0.8.1", "qs": "~6.2.0", "stringstream": "~0.0.4", "tough-cookie": "~2.3.0", "tunnel-agent": "~0.4.1" }, "engines": { "node": ">=0.8.0" } }, "node_modules/loggly/node_modules/string_decoder": { "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", "dev": true, "optional": true }, "node_modules/loggly/node_modules/strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "optional": true, "dependencies": { "ansi-regex": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/loggly/node_modules/supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true, "optional": true, "engines": { "node": ">=0.8.0" } }, "node_modules/loggly/node_modules/tough-cookie": { "version": "2.3.4", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "dev": true, "optional": true, "dependencies": { "punycode": "^1.4.1" }, "engines": { "node": ">=0.8" } }, "node_modules/loggly/node_modules/tunnel-agent": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", "dev": true, "optional": true, "engines": { "node": "*" } }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dev": true, "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, "bin": { "loose-envify": "cli.js" } }, "node_modules/loud-rejection": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "dependencies": { "currently-unhandled": "^0.4.1", "signal-exit": "^3.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/lru-cache": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "dev": true, "dependencies": { "pseudomap": "^1.0.2", "yallist": "^2.1.2" } }, "node_modules/mailcomposer": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/mailcomposer/-/mailcomposer-4.0.1.tgz", "integrity": "sha1-DhxEsqB890DuF9wUm6AJ8Zyt/rQ=", "deprecated": "This project is unmaintained", "dev": true, "optional": true, "dependencies": { "buildmail": "4.0.1", "libmime": "3.0.0" } }, "node_modules/mailgun-js": { "version": "0.18.1", "resolved": "https://registry.npmjs.org/mailgun-js/-/mailgun-js-0.18.1.tgz", "integrity": "sha512-lvuMP14u24HS2uBsJEnzSyPMxzU2b99tQsIx1o6QNjqxjk8b3WvR+vq5oG1mjqz/IBYo+5gF+uSoDS0RkMVHmg==", "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", "dev": true, "optional": true, "dependencies": { "async": "~2.6.0", "debug": "~3.1.0", "form-data": "~2.3.0", "inflection": "~1.12.0", "is-stream": "^1.1.0", "path-proxy": "~1.0.0", "promisify-call": "^2.0.2", "proxy-agent": "~3.0.0", "tsscmp": "~1.0.0" }, "engines": { "node": ">=6.0.0" } }, "node_modules/mailgun-js/node_modules/debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "optional": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/mailgun-js/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true, "optional": true }, "node_modules/make-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "dev": true, "dependencies": { "pify": "^4.0.1", "semver": "^5.6.0" }, "engines": { "node": ">=6" } }, "node_modules/make-dir/node_modules/pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/make-dir/node_modules/semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, "bin": { "semver": "bin/semver" } }, "node_modules/makeerror": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, "dependencies": { "tmpl": "1.0.5" } }, "node_modules/map-age-cleaner": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", "dev": true, "dependencies": { "p-defer": "^1.0.0" }, "engines": { "node": ">=6" } }, "node_modules/map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/map-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, "dependencies": { "object-visit": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/marked": { "version": "15.0.12", "resolved": "https://registry.npmjs.org/marked/-/marked-15.0.12.tgz", "integrity": "sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==", "dev": true, "peer": true, "bin": { "marked": "bin/marked.js" }, "engines": { "node": ">= 18" } }, "node_modules/marked-terminal": { "version": "7.3.0", "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-7.3.0.tgz", "integrity": "sha512-t4rBvPsHc57uE/2nJOLmMbZCQ4tgAccAED3ngXQqW6g+TxA488JzJ+FK3lQkzBQOI1mRV/r/Kq+1ZlJ4D0owQw==", "dev": true, "peer": true, "dependencies": { "ansi-escapes": "^7.0.0", "ansi-regex": "^6.1.0", "chalk": "^5.4.1", "cli-highlight": "^2.1.11", "cli-table3": "^0.6.5", "node-emoji": "^2.2.0", "supports-hyperlinks": "^3.1.0" }, "engines": { "node": ">=16.0.0" }, "peerDependencies": { "marked": ">=1 <16" } }, "node_modules/marked-terminal/node_modules/ansi-escapes": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", "dev": true, "peer": true, "dependencies": { "environment": "^1.0.0" }, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/marked-terminal/node_modules/ansi-regex": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz", "integrity": "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==", "dev": true, "peer": true, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, "node_modules/marked-terminal/node_modules/chalk": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.0.tgz", "integrity": "sha512-46QrSQFyVSEyYAgQ22hQ+zDa60YHA4fBstHmtSApj1Y5vKtG27fWowW03jCk5KcbXEWPZUIR894aARCA/G1kfQ==", "dev": true, "peer": true, "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" }, "funding": { "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/math-random": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", "dev": true }, "node_modules/md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1", "safe-buffer": "^5.1.2" } }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/mem": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "dependencies": { "mimic-fn": "^1.0.0" }, "engines": { "node": ">=4" } }, "node_modules/memory-fs": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", "dev": true, "dependencies": { "errno": "^0.1.3", "readable-stream": "^2.0.1" } }, "node_modules/meow": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "dependencies": { "camelcase-keys": "^2.0.0", "decamelize": "^1.1.2", "loud-rejection": "^1.0.0", "map-obj": "^1.0.1", "minimist": "^1.1.3", "normalize-package-data": "^2.3.4", "object-assign": "^4.0.1", "read-pkg-up": "^1.0.1", "redent": "^1.0.0", "trim-newlines": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/merge": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz", "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==", "dev": true }, "node_modules/merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", "dev": true }, "node_modules/merge-stream": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", "dev": true, "dependencies": { "readable-stream": "^2.0.1" } }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, "engines": { "node": ">= 8" } }, "node_modules/methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/micromatch": { "version": "2.3.11", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "dependencies": { "arr-diff": "^2.0.0", "array-unique": "^0.2.1", "braces": "^1.8.2", "expand-brackets": "^0.1.4", "extglob": "^0.3.1", "filename-regex": "^2.0.0", "is-extglob": "^1.0.0", "is-glob": "^2.0.1", "kind-of": "^3.0.2", "normalize-path": "^2.0.1", "object.omit": "^2.0.0", "parse-glob": "^3.0.4", "regex-cache": "^0.4.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/micromatch/node_modules/braces": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "dependencies": { "expand-range": "^1.8.1", "preserve": "^0.2.0", "repeat-element": "^1.1.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/micromatch/node_modules/expand-range": { "version": "1.8.2", "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "dependencies": { "fill-range": "^2.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/micromatch/node_modules/fill-range": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "dev": true, "dependencies": { "is-number": "^2.1.0", "isobject": "^2.0.0", "randomatic": "^3.0.0", "repeat-element": "^1.1.2", "repeat-string": "^1.5.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/micromatch/node_modules/is-extglob": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/micromatch/node_modules/is-glob": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "dependencies": { "is-extglob": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/micromatch/node_modules/is-number": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "dependencies": { "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/micromatch/node_modules/isobject": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", "dev": true, "dependencies": { "isarray": "1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/micromatch/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/micromatch/node_modules/normalize-path": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "dependencies": { "remove-trailing-separator": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/micromatch/node_modules/repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true, "engines": { "node": ">=0.10" } }, "node_modules/miller-rabin": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, "dependencies": { "bn.js": "^4.0.0", "brorand": "^1.0.1" }, "bin": { "miller-rabin": "bin/miller-rabin" } }, "node_modules/miller-rabin/node_modules/bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true }, "node_modules/mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, "bin": { "mime": "cli.js" }, "engines": { "node": ">=4" } }, "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, "dependencies": { "mime-db": "1.52.0" }, "engines": { "node": ">= 0.6" } }, "node_modules/mimic-fn": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", "dev": true }, "node_modules/minimalistic-crypto-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", "dev": true }, "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, "dependencies": { "brace-expansion": "^1.1.7" }, "engines": { "node": "*" } }, "node_modules/minimist": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, "node_modules/mississippi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", "dev": true, "dependencies": { "concat-stream": "^1.5.0", "duplexify": "^3.4.2", "end-of-stream": "^1.1.0", "flush-write-stream": "^1.0.0", "from2": "^2.1.0", "parallel-transform": "^1.1.0", "pump": "^2.0.1", "pumpify": "^1.3.3", "stream-each": "^1.1.0", "through2": "^2.0.0" }, "engines": { "node": ">=4.0.0" } }, "node_modules/mixin-deep": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "dependencies": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/mixin-deep/node_modules/is-extendable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "dependencies": { "is-plain-object": "^2.0.4" }, "engines": { "node": ">=0.10.0" } }, "node_modules/mkdirp": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, "dependencies": { "minimist": "^1.2.6" }, "bin": { "mkdirp": "bin/cmd.js" } }, "node_modules/mockdate": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/mockdate/-/mockdate-2.0.5.tgz", "integrity": "sha512-ST0PnThzWKcgSLyc+ugLVql45PvESt3Ul/wrdV/OPc/6Pr8dbLAIJsN1cIp41FLzbN+srVTNIRn+5Cju0nyV6A==", "dev": true }, "node_modules/moment": { "version": "2.29.2", "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.2.tgz", "integrity": "sha512-UgzG4rvxYpN15jgCmVJwac49h9ly9NurikMWGPdVxm8GZD6XjkKPxDTjQQ43gtGgnV3X0cAyWDdP2Wexoquifg==", "dev": true, "engines": { "node": "*" } }, "node_modules/moment-timezone": { "version": "0.5.31", "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.31.tgz", "integrity": "sha512-+GgHNg8xRhMXfEbv81iDtrVeTcWt0kWmTEY1XQK14dICTXnWJnT0dxdlPspwqF3keKMVPXwayEsk1DI0AA/jdA==", "dev": true, "dependencies": { "moment": ">= 2.9.0" }, "engines": { "node": "*" } }, "node_modules/move-concurrently": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", "dev": true, "dependencies": { "aproba": "^1.1.1", "copy-concurrently": "^1.0.0", "fs-write-stream-atomic": "^1.0.8", "mkdirp": "^0.5.1", "rimraf": "^2.5.4", "run-queue": "^1.0.3" } }, "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 }, "node_modules/mute-stream": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", "dev": true }, "node_modules/mz": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", "dev": true, "peer": true, "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", "thenify-all": "^1.0.0" } }, "node_modules/nan": { "version": "2.15.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", "dev": true, "optional": true }, "node_modules/nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "dev": true, "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "fragment-cache": "^0.2.1", "is-windows": "^1.0.2", "kind-of": "^6.0.2", "object.pick": "^1.3.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/nanomatch/node_modules/arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/nanomatch/node_modules/array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, "node_modules/ncp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=", "dev": true, "bin": { "ncp": "bin/ncp" } }, "node_modules/negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, "node_modules/nerf-dart": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/nerf-dart/-/nerf-dart-1.0.0.tgz", "integrity": "sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g==", "dev": true, "peer": true }, "node_modules/netmask": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz", "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=", "dev": true, "optional": true, "engines": { "node": ">= 0.4.0" } }, "node_modules/nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, "node_modules/node-emoji": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.2.0.tgz", "integrity": "sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==", "dev": true, "peer": true, "dependencies": { "@sindresorhus/is": "^4.6.0", "char-regex": "^1.0.2", "emojilib": "^2.4.0", "skin-tone": "^2.0.0" }, "engines": { "node": ">=18" } }, "node_modules/node-environment-flags": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", "dev": true, "dependencies": { "object.getownpropertydescriptors": "^2.0.3", "semver": "^5.7.0" } }, "node_modules/node-environment-flags/node_modules/semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, "bin": { "semver": "bin/semver" } }, "node_modules/node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", "dev": true }, "node_modules/node-libs-browser": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", "dev": true, "dependencies": { "assert": "^1.1.1", "browserify-zlib": "^0.2.0", "buffer": "^4.3.0", "console-browserify": "^1.1.0", "constants-browserify": "^1.0.0", "crypto-browserify": "^3.11.0", "domain-browser": "^1.1.1", "events": "^3.0.0", "https-browserify": "^1.0.0", "os-browserify": "^0.3.0", "path-browserify": "0.0.1", "process": "^0.11.10", "punycode": "^1.2.4", "querystring-es3": "^0.2.0", "readable-stream": "^2.3.3", "stream-browserify": "^2.0.1", "stream-http": "^2.7.2", "string_decoder": "^1.0.0", "timers-browserify": "^2.0.4", "tty-browserify": "0.0.0", "url": "^0.11.0", "util": "^0.11.0", "vm-browserify": "^1.0.1" } }, "node_modules/node-libs-browser/node_modules/buffer": { "version": "4.9.2", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", "dev": true, "dependencies": { "base64-js": "^1.0.2", "ieee754": "^1.1.4", "isarray": "^1.0.0" } }, "node_modules/node-notifier": { "version": "5.4.5", "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.5.tgz", "integrity": "sha512-tVbHs7DyTLtzOiN78izLA85zRqB9NvEXkAf014Vx3jtSvn/xBl6bR8ZYifj+dFcFrKI21huSQgJZ6ZtL3B4HfQ==", "dev": true, "dependencies": { "growly": "^1.3.0", "is-wsl": "^1.1.0", "semver": "^5.5.0", "shellwords": "^0.1.1", "which": "^1.3.0" } }, "node_modules/node-notifier/node_modules/semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, "bin": { "semver": "bin/semver" } }, "node_modules/node-releases": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.3.tgz", "integrity": "sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw==", "dev": true }, "node_modules/node-uuid": { "version": "1.4.8", "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=", "deprecated": "Use uuid module instead", "dev": true, "optional": true, "bin": { "uuid": "bin/uuid" } }, "node_modules/nodemailer": { "version": "2.7.2", "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-2.7.2.tgz", "integrity": "sha1-8kLmSa7q45tsftdA73sGHEBNMPk=", "deprecated": "All versions below 4.0.1 of Nodemailer are deprecated. See https://nodemailer.com/status/", "dev": true, "optional": true, "dependencies": { "libmime": "3.0.0", "mailcomposer": "4.0.1", "nodemailer-direct-transport": "3.3.2", "nodemailer-shared": "1.1.0", "nodemailer-smtp-pool": "2.8.2", "nodemailer-smtp-transport": "2.7.2", "socks": "1.1.9" }, "engines": { "node": ">=0.10.0" } }, "node_modules/nodemailer-direct-transport": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/nodemailer-direct-transport/-/nodemailer-direct-transport-3.3.2.tgz", "integrity": "sha1-6W+vuQNYVglH5WkBfZfmBzilCoY=", "dev": true, "optional": true, "dependencies": { "nodemailer-shared": "1.1.0", "smtp-connection": "2.12.0" } }, "node_modules/nodemailer-fetch": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/nodemailer-fetch/-/nodemailer-fetch-1.6.0.tgz", "integrity": "sha1-ecSQihwPXzdbc/6IjamCj23JY6Q=", "dev": true, "optional": true }, "node_modules/nodemailer-shared": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz", "integrity": "sha1-z1mU4v0mjQD1zw+nZ6CBae2wfsA=", "dev": true, "optional": true, "dependencies": { "nodemailer-fetch": "1.6.0" } }, "node_modules/nodemailer-smtp-pool": { "version": "2.8.2", "resolved": "https://registry.npmjs.org/nodemailer-smtp-pool/-/nodemailer-smtp-pool-2.8.2.tgz", "integrity": "sha1-LrlNbPhXgLG0clzoU7nL1ejajHI=", "dev": true, "optional": true, "dependencies": { "nodemailer-shared": "1.1.0", "nodemailer-wellknown": "0.1.10", "smtp-connection": "2.12.0" } }, "node_modules/nodemailer-smtp-transport": { "version": "2.7.2", "resolved": "https://registry.npmjs.org/nodemailer-smtp-transport/-/nodemailer-smtp-transport-2.7.2.tgz", "integrity": "sha1-A9ccdjFPFKx9vHvwM6am0W1n+3c=", "dev": true, "optional": true, "dependencies": { "nodemailer-shared": "1.1.0", "nodemailer-wellknown": "0.1.10", "smtp-connection": "2.12.0" } }, "node_modules/nodemailer-wellknown": { "version": "0.1.10", "resolved": "https://registry.npmjs.org/nodemailer-wellknown/-/nodemailer-wellknown-0.1.10.tgz", "integrity": "sha1-WG24EB2zDLRDjrVGc3pBqtDPE9U=", "dev": true, "optional": true }, "node_modules/normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, "dependencies": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" } }, "node_modules/normalize-package-data/node_modules/semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, "bin": { "semver": "bin/semver" } }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/normalize-url": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.2.tgz", "integrity": "sha512-Ee/R3SyN4BuynXcnTaekmaVdbDAEiNrHqjQIA37mHU8G9pf7aaAD4ZX3XjBLo6rsdcxA/gtkcNYZLt30ACgynw==", "dev": true, "peer": true, "engines": { "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/npm": { "version": "10.9.3", "resolved": "https://registry.npmjs.org/npm/-/npm-10.9.3.tgz", "integrity": "sha512-6Eh1u5Q+kIVXeA8e7l2c/HpnFFcwrkt37xDMujD5be1gloWa9p6j3Fsv3mByXXmqJHy+2cElRMML8opNT7xIJQ==", "bundleDependencies": [ "@isaacs/string-locale-compare", "@npmcli/arborist", "@npmcli/config", "@npmcli/fs", "@npmcli/map-workspaces", "@npmcli/package-json", "@npmcli/promise-spawn", "@npmcli/redact", "@npmcli/run-script", "@sigstore/tuf", "abbrev", "archy", "cacache", "chalk", "ci-info", "cli-columns", "fastest-levenshtein", "fs-minipass", "glob", "graceful-fs", "hosted-git-info", "ini", "init-package-json", "is-cidr", "json-parse-even-better-errors", "libnpmaccess", "libnpmdiff", "libnpmexec", "libnpmfund", "libnpmhook", "libnpmorg", "libnpmpack", "libnpmpublish", "libnpmsearch", "libnpmteam", "libnpmversion", "make-fetch-happen", "minimatch", "minipass", "minipass-pipeline", "ms", "node-gyp", "nopt", "normalize-package-data", "npm-audit-report", "npm-install-checks", "npm-package-arg", "npm-pick-manifest", "npm-profile", "npm-registry-fetch", "npm-user-validate", "p-map", "pacote", "parse-conflict-json", "proc-log", "qrcode-terminal", "read", "semver", "spdx-expression-parse", "ssri", "supports-color", "tar", "text-table", "tiny-relative-date", "treeverse", "validate-npm-package-name", "which", "write-file-atomic" ], "dev": true, "peer": true, "workspaces": [ "docs", "smoke-tests", "mock-globals", "mock-registry", "workspaces/*" ], "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", "@npmcli/arborist": "^8.0.1", "@npmcli/config": "^9.0.0", "@npmcli/fs": "^4.0.0", "@npmcli/map-workspaces": "^4.0.2", "@npmcli/package-json": "^6.2.0", "@npmcli/promise-spawn": "^8.0.2", "@npmcli/redact": "^3.2.2", "@npmcli/run-script": "^9.1.0", "@sigstore/tuf": "^3.1.1", "abbrev": "^3.0.1", "archy": "~1.0.0", "cacache": "^19.0.1", "chalk": "^5.4.1", "ci-info": "^4.2.0", "cli-columns": "^4.0.0", "fastest-levenshtein": "^1.0.16", "fs-minipass": "^3.0.3", "glob": "^10.4.5", "graceful-fs": "^4.2.11", "hosted-git-info": "^8.1.0", "ini": "^5.0.0", "init-package-json": "^7.0.2", "is-cidr": "^5.1.1", "json-parse-even-better-errors": "^4.0.0", "libnpmaccess": "^9.0.0", "libnpmdiff": "^7.0.1", "libnpmexec": "^9.0.1", "libnpmfund": "^6.0.1", "libnpmhook": "^11.0.0", "libnpmorg": "^7.0.0", "libnpmpack": "^8.0.1", "libnpmpublish": "^10.0.1", "libnpmsearch": "^8.0.0", "libnpmteam": "^7.0.0", "libnpmversion": "^7.0.0", "make-fetch-happen": "^14.0.3", "minimatch": "^9.0.5", "minipass": "^7.1.1", "minipass-pipeline": "^1.2.4", "ms": "^2.1.2", "node-gyp": "^11.2.0", "nopt": "^8.1.0", "normalize-package-data": "^7.0.0", "npm-audit-report": "^6.0.0", "npm-install-checks": "^7.1.1", "npm-package-arg": "^12.0.2", "npm-pick-manifest": "^10.0.0", "npm-profile": "^11.0.1", "npm-registry-fetch": "^18.0.2", "npm-user-validate": "^3.0.0", "p-map": "^7.0.3", "pacote": "^19.0.1", "parse-conflict-json": "^4.0.0", "proc-log": "^5.0.0", "qrcode-terminal": "^0.12.0", "read": "^4.1.0", "semver": "^7.7.2", "spdx-expression-parse": "^4.0.0", "ssri": "^12.0.0", "supports-color": "^9.4.0", "tar": "^6.2.1", "text-table": "~0.2.0", "tiny-relative-date": "^1.3.0", "treeverse": "^3.0.0", "validate-npm-package-name": "^6.0.1", "which": "^5.0.0", "write-file-atomic": "^6.0.0" }, "bin": { "npm": "bin/npm-cli.js", "npx": "bin/npx-cli.js" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "dependencies": { "path-key": "^2.0.0" }, "engines": { "node": ">=4" } }, "node_modules/npm/node_modules/@isaacs/cliui": { "version": "8.0.2", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", "strip-ansi": "^7.0.1", "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", "wrap-ansi": "^8.1.0", "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" }, "engines": { "node": ">=12" } }, "node_modules/npm/node_modules/@isaacs/cliui/node_modules/ansi-regex": { "version": "6.1.0", "extraneous": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, "node_modules/npm/node_modules/@isaacs/cliui/node_modules/emoji-regex": { "version": "9.2.2", "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/@isaacs/cliui/node_modules/string-width": { "version": "5.1.2", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" }, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/npm/node_modules/@isaacs/cliui/node_modules/strip-ansi": { "version": "7.1.0", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, "node_modules/npm/node_modules/@isaacs/fs-minipass": { "version": "4.0.1", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "minipass": "^7.0.4" }, "engines": { "node": ">=18.0.0" } }, "node_modules/npm/node_modules/@isaacs/string-locale-compare": { "version": "1.1.0", "extraneous": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/@npmcli/agent": { "version": "3.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "agent-base": "^7.1.0", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.1", "lru-cache": "^10.0.1", "socks-proxy-agent": "^8.0.3" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/arborist": { "version": "8.0.1", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", "@npmcli/fs": "^4.0.0", "@npmcli/installed-package-contents": "^3.0.0", "@npmcli/map-workspaces": "^4.0.1", "@npmcli/metavuln-calculator": "^8.0.0", "@npmcli/name-from-folder": "^3.0.0", "@npmcli/node-gyp": "^4.0.0", "@npmcli/package-json": "^6.0.1", "@npmcli/query": "^4.0.0", "@npmcli/redact": "^3.0.0", "@npmcli/run-script": "^9.0.1", "bin-links": "^5.0.0", "cacache": "^19.0.1", "common-ancestor-path": "^1.0.1", "hosted-git-info": "^8.0.0", "json-parse-even-better-errors": "^4.0.0", "json-stringify-nice": "^1.1.4", "lru-cache": "^10.2.2", "minimatch": "^9.0.4", "nopt": "^8.0.0", "npm-install-checks": "^7.1.0", "npm-package-arg": "^12.0.0", "npm-pick-manifest": "^10.0.0", "npm-registry-fetch": "^18.0.1", "pacote": "^19.0.0", "parse-conflict-json": "^4.0.0", "proc-log": "^5.0.0", "proggy": "^3.0.0", "promise-all-reject-late": "^1.0.0", "promise-call-limit": "^3.0.1", "read-package-json-fast": "^4.0.0", "semver": "^7.3.7", "ssri": "^12.0.0", "treeverse": "^3.0.0", "walk-up-path": "^3.0.1" }, "bin": { "arborist": "bin/index.js" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/config": { "version": "9.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/map-workspaces": "^4.0.1", "@npmcli/package-json": "^6.0.1", "ci-info": "^4.0.0", "ini": "^5.0.0", "nopt": "^8.0.0", "proc-log": "^5.0.0", "semver": "^7.3.5", "walk-up-path": "^3.0.1" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/fs": { "version": "4.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "semver": "^7.3.5" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/git": { "version": "6.0.3", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/promise-spawn": "^8.0.0", "ini": "^5.0.0", "lru-cache": "^10.0.1", "npm-pick-manifest": "^10.0.0", "proc-log": "^5.0.0", "promise-retry": "^2.0.1", "semver": "^7.3.5", "which": "^5.0.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/installed-package-contents": { "version": "3.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "npm-bundled": "^4.0.0", "npm-normalize-package-bin": "^4.0.0" }, "bin": { "installed-package-contents": "bin/index.js" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/map-workspaces": { "version": "4.0.2", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/name-from-folder": "^3.0.0", "@npmcli/package-json": "^6.0.0", "glob": "^10.2.2", "minimatch": "^9.0.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { "version": "8.0.1", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "cacache": "^19.0.0", "json-parse-even-better-errors": "^4.0.0", "pacote": "^20.0.0", "proc-log": "^5.0.0", "semver": "^7.3.5" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/metavuln-calculator/node_modules/pacote": { "version": "20.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/git": "^6.0.0", "@npmcli/installed-package-contents": "^3.0.0", "@npmcli/package-json": "^6.0.0", "@npmcli/promise-spawn": "^8.0.0", "@npmcli/run-script": "^9.0.0", "cacache": "^19.0.0", "fs-minipass": "^3.0.0", "minipass": "^7.0.2", "npm-package-arg": "^12.0.0", "npm-packlist": "^9.0.0", "npm-pick-manifest": "^10.0.0", "npm-registry-fetch": "^18.0.0", "proc-log": "^5.0.0", "promise-retry": "^2.0.1", "sigstore": "^3.0.0", "ssri": "^12.0.0", "tar": "^6.1.11" }, "bin": { "pacote": "bin/index.js" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/name-from-folder": { "version": "3.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/node-gyp": { "version": "4.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/package-json": { "version": "6.2.0", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/git": "^6.0.0", "glob": "^10.2.2", "hosted-git-info": "^8.0.0", "json-parse-even-better-errors": "^4.0.0", "proc-log": "^5.0.0", "semver": "^7.5.3", "validate-npm-package-license": "^3.0.4" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/promise-spawn": { "version": "8.0.2", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "which": "^5.0.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/query": { "version": "4.0.1", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "postcss-selector-parser": "^7.0.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/redact": { "version": "3.2.2", "extraneous": true, "inBundle": true, "license": "ISC", "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/run-script": { "version": "9.1.0", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/node-gyp": "^4.0.0", "@npmcli/package-json": "^6.0.0", "@npmcli/promise-spawn": "^8.0.0", "node-gyp": "^11.0.0", "proc-log": "^5.0.0", "which": "^5.0.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@pkgjs/parseargs": { "version": "0.11.0", "extraneous": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=14" } }, "node_modules/npm/node_modules/@sigstore/protobuf-specs": { "version": "0.4.3", "extraneous": true, "inBundle": true, "license": "Apache-2.0", "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@sigstore/tuf": { "version": "3.1.1", "extraneous": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { "@sigstore/protobuf-specs": "^0.4.1", "tuf-js": "^3.0.1" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@tufjs/canonical-json": { "version": "2.0.0", "extraneous": true, "inBundle": true, "license": "MIT", "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/abbrev": { "version": "3.0.1", "extraneous": true, "inBundle": true, "license": "ISC", "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/agent-base": { "version": "7.1.3", "extraneous": true, "inBundle": true, "license": "MIT", "engines": { "node": ">= 14" } }, "node_modules/npm/node_modules/ansi-regex": { "version": "5.0.1", "extraneous": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/npm/node_modules/ansi-styles": { "version": "6.2.1", "extraneous": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/npm/node_modules/aproba": { "version": "2.0.0", "extraneous": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/archy": { "version": "1.0.0", "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/balanced-match": { "version": "1.0.2", "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/bin-links": { "version": "5.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "cmd-shim": "^7.0.0", "npm-normalize-package-bin": "^4.0.0", "proc-log": "^5.0.0", "read-cmd-shim": "^5.0.0", "write-file-atomic": "^6.0.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/binary-extensions": { "version": "2.3.0", "extraneous": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/npm/node_modules/brace-expansion": { "version": "2.0.2", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/npm/node_modules/cacache": { "version": "19.0.1", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/fs": "^4.0.0", "fs-minipass": "^3.0.0", "glob": "^10.2.2", "lru-cache": "^10.0.1", "minipass": "^7.0.3", "minipass-collect": "^2.0.1", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "p-map": "^7.0.2", "ssri": "^12.0.0", "tar": "^7.4.3", "unique-filename": "^4.0.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/cacache/node_modules/chownr": { "version": "3.0.0", "extraneous": true, "inBundle": true, "license": "BlueOak-1.0.0", "engines": { "node": ">=18" } }, "node_modules/npm/node_modules/cacache/node_modules/mkdirp": { "version": "3.0.1", "extraneous": true, "inBundle": true, "license": "MIT", "bin": { "mkdirp": "dist/cjs/src/bin.js" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/npm/node_modules/cacache/node_modules/tar": { "version": "7.4.3", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "@isaacs/fs-minipass": "^4.0.0", "chownr": "^3.0.0", "minipass": "^7.1.2", "minizlib": "^3.0.1", "mkdirp": "^3.0.1", "yallist": "^5.0.0" }, "engines": { "node": ">=18" } }, "node_modules/npm/node_modules/cacache/node_modules/yallist": { "version": "5.0.0", "extraneous": true, "inBundle": true, "license": "BlueOak-1.0.0", "engines": { "node": ">=18" } }, "node_modules/npm/node_modules/chalk": { "version": "5.4.1", "extraneous": true, "inBundle": true, "license": "MIT", "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" }, "funding": { "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/npm/node_modules/chownr": { "version": "2.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "engines": { "node": ">=10" } }, "node_modules/npm/node_modules/ci-info": { "version": "4.2.0", "extraneous": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/sibiraj-s" } ], "inBundle": true, "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/npm/node_modules/cidr-regex": { "version": "4.1.3", "extraneous": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { "ip-regex": "^5.0.0" }, "engines": { "node": ">=14" } }, "node_modules/npm/node_modules/cli-columns": { "version": "4.0.0", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "string-width": "^4.2.3", "strip-ansi": "^6.0.1" }, "engines": { "node": ">= 10" } }, "node_modules/npm/node_modules/cmd-shim": { "version": "7.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/color-convert": { "version": "2.0.1", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, "engines": { "node": ">=7.0.0" } }, "node_modules/npm/node_modules/color-name": { "version": "1.1.4", "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/common-ancestor-path": { "version": "1.0.1", "extraneous": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/cross-spawn": { "version": "7.0.6", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" }, "engines": { "node": ">= 8" } }, "node_modules/npm/node_modules/cross-spawn/node_modules/which": { "version": "2.0.2", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "bin/node-which" }, "engines": { "node": ">= 8" } }, "node_modules/npm/node_modules/cssesc": { "version": "3.0.0", "extraneous": true, "inBundle": true, "license": "MIT", "bin": { "cssesc": "bin/cssesc" }, "engines": { "node": ">=4" } }, "node_modules/npm/node_modules/debug": { "version": "4.4.1", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "ms": "^2.1.3" }, "engines": { "node": ">=6.0" }, "peerDependenciesMeta": { "supports-color": { "optional": true } } }, "node_modules/npm/node_modules/diff": { "version": "5.2.0", "extraneous": true, "inBundle": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } }, "node_modules/npm/node_modules/eastasianwidth": { "version": "0.2.0", "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/emoji-regex": { "version": "8.0.0", "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/encoding": { "version": "0.1.13", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "iconv-lite": "^0.6.2" } }, "node_modules/npm/node_modules/env-paths": { "version": "2.2.1", "extraneous": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/npm/node_modules/err-code": { "version": "2.0.3", "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/exponential-backoff": { "version": "3.1.2", "extraneous": true, "inBundle": true, "license": "Apache-2.0" }, "node_modules/npm/node_modules/fastest-levenshtein": { "version": "1.0.16", "extraneous": true, "inBundle": true, "license": "MIT", "engines": { "node": ">= 4.9.1" } }, "node_modules/npm/node_modules/foreground-child": { "version": "3.3.1", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" }, "engines": { "node": ">=14" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/npm/node_modules/fs-minipass": { "version": "3.0.3", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "minipass": "^7.0.3" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/glob": { "version": "10.4.5", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/npm/node_modules/graceful-fs": { "version": "4.2.11", "extraneous": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/hosted-git-info": { "version": "8.1.0", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "lru-cache": "^10.0.1" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/http-cache-semantics": { "version": "4.2.0", "extraneous": true, "inBundle": true, "license": "BSD-2-Clause" }, "node_modules/npm/node_modules/http-proxy-agent": { "version": "7.0.2", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" }, "engines": { "node": ">= 14" } }, "node_modules/npm/node_modules/https-proxy-agent": { "version": "7.0.6", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "agent-base": "^7.1.2", "debug": "4" }, "engines": { "node": ">= 14" } }, "node_modules/npm/node_modules/iconv-lite": { "version": "0.6.3", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/npm/node_modules/ignore-walk": { "version": "7.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "minimatch": "^9.0.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/imurmurhash": { "version": "0.1.4", "extraneous": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=0.8.19" } }, "node_modules/npm/node_modules/ini": { "version": "5.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/init-package-json": { "version": "7.0.2", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/package-json": "^6.0.0", "npm-package-arg": "^12.0.0", "promzard": "^2.0.0", "read": "^4.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4", "validate-npm-package-name": "^6.0.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/ip-address": { "version": "9.0.5", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "jsbn": "1.1.0", "sprintf-js": "^1.1.3" }, "engines": { "node": ">= 12" } }, "node_modules/npm/node_modules/ip-regex": { "version": "5.0.0", "extraneous": true, "inBundle": true, "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/npm/node_modules/is-cidr": { "version": "5.1.1", "extraneous": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { "cidr-regex": "^4.1.1" }, "engines": { "node": ">=14" } }, "node_modules/npm/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "extraneous": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/npm/node_modules/isexe": { "version": "2.0.0", "extraneous": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/jackspeak": { "version": "3.4.3", "extraneous": true, "inBundle": true, "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" }, "funding": { "url": "https://github.com/sponsors/isaacs" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "node_modules/npm/node_modules/jsbn": { "version": "1.1.0", "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/json-parse-even-better-errors": { "version": "4.0.0", "extraneous": true, "inBundle": true, "license": "MIT", "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/json-stringify-nice": { "version": "1.1.4", "extraneous": true, "inBundle": true, "license": "ISC", "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/npm/node_modules/jsonparse": { "version": "1.3.1", "engines": [ "node >= 0.2.0" ], "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/just-diff": { "version": "6.0.2", "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/just-diff-apply": { "version": "5.5.0", "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/libnpmaccess": { "version": "9.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "npm-package-arg": "^12.0.0", "npm-registry-fetch": "^18.0.1" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/libnpmdiff": { "version": "7.0.1", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/arborist": "^8.0.1", "@npmcli/installed-package-contents": "^3.0.0", "binary-extensions": "^2.3.0", "diff": "^5.1.0", "minimatch": "^9.0.4", "npm-package-arg": "^12.0.0", "pacote": "^19.0.0", "tar": "^6.2.1" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/libnpmexec": { "version": "9.0.1", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/arborist": "^8.0.1", "@npmcli/run-script": "^9.0.1", "ci-info": "^4.0.0", "npm-package-arg": "^12.0.0", "pacote": "^19.0.0", "proc-log": "^5.0.0", "read": "^4.0.0", "read-package-json-fast": "^4.0.0", "semver": "^7.3.7", "walk-up-path": "^3.0.1" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/libnpmfund": { "version": "6.0.1", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/arborist": "^8.0.1" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/libnpmhook": { "version": "11.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", "npm-registry-fetch": "^18.0.1" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/libnpmorg": { "version": "7.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", "npm-registry-fetch": "^18.0.1" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/libnpmpack": { "version": "8.0.1", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/arborist": "^8.0.1", "@npmcli/run-script": "^9.0.1", "npm-package-arg": "^12.0.0", "pacote": "^19.0.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/libnpmpublish": { "version": "10.0.1", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "ci-info": "^4.0.0", "normalize-package-data": "^7.0.0", "npm-package-arg": "^12.0.0", "npm-registry-fetch": "^18.0.1", "proc-log": "^5.0.0", "semver": "^7.3.7", "sigstore": "^3.0.0", "ssri": "^12.0.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/libnpmsearch": { "version": "8.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "npm-registry-fetch": "^18.0.1" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/libnpmteam": { "version": "7.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", "npm-registry-fetch": "^18.0.1" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/libnpmversion": { "version": "7.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/git": "^6.0.1", "@npmcli/run-script": "^9.0.1", "json-parse-even-better-errors": "^4.0.0", "proc-log": "^5.0.0", "semver": "^7.3.7" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/lru-cache": { "version": "10.4.3", "extraneous": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/make-fetch-happen": { "version": "14.0.3", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/agent": "^3.0.0", "cacache": "^19.0.1", "http-cache-semantics": "^4.1.1", "minipass": "^7.0.2", "minipass-fetch": "^4.0.0", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "negotiator": "^1.0.0", "proc-log": "^5.0.0", "promise-retry": "^2.0.1", "ssri": "^12.0.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/make-fetch-happen/node_modules/negotiator": { "version": "1.0.0", "extraneous": true, "inBundle": true, "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/npm/node_modules/minimatch": { "version": "9.0.5", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, "engines": { "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/npm/node_modules/minipass": { "version": "7.1.2", "extraneous": true, "inBundle": true, "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" } }, "node_modules/npm/node_modules/minipass-collect": { "version": "2.0.1", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "minipass": "^7.0.3" }, "engines": { "node": ">=16 || 14 >=14.17" } }, "node_modules/npm/node_modules/minipass-fetch": { "version": "4.0.1", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "minipass": "^7.0.3", "minipass-sized": "^1.0.3", "minizlib": "^3.0.1" }, "engines": { "node": "^18.17.0 || >=20.5.0" }, "optionalDependencies": { "encoding": "^0.1.13" } }, "node_modules/npm/node_modules/minipass-flush": { "version": "1.0.5", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "minipass": "^3.0.0" }, "engines": { "node": ">= 8" } }, "node_modules/npm/node_modules/minipass-flush/node_modules/minipass": { "version": "3.3.6", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/npm/node_modules/minipass-pipeline": { "version": "1.2.4", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "minipass": "^3.0.0" }, "engines": { "node": ">=8" } }, "node_modules/npm/node_modules/minipass-pipeline/node_modules/minipass": { "version": "3.3.6", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/npm/node_modules/minipass-sized": { "version": "1.0.3", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "minipass": "^3.0.0" }, "engines": { "node": ">=8" } }, "node_modules/npm/node_modules/minipass-sized/node_modules/minipass": { "version": "3.3.6", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/npm/node_modules/minizlib": { "version": "3.0.2", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "minipass": "^7.1.2" }, "engines": { "node": ">= 18" } }, "node_modules/npm/node_modules/mkdirp": { "version": "1.0.4", "extraneous": true, "inBundle": true, "license": "MIT", "bin": { "mkdirp": "bin/cmd.js" }, "engines": { "node": ">=10" } }, "node_modules/npm/node_modules/ms": { "version": "2.1.3", "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/mute-stream": { "version": "2.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/node-gyp": { "version": "11.2.0", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "env-paths": "^2.2.0", "exponential-backoff": "^3.1.1", "graceful-fs": "^4.2.6", "make-fetch-happen": "^14.0.3", "nopt": "^8.0.0", "proc-log": "^5.0.0", "semver": "^7.3.5", "tar": "^7.4.3", "tinyglobby": "^0.2.12", "which": "^5.0.0" }, "bin": { "node-gyp": "bin/node-gyp.js" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/node-gyp/node_modules/chownr": { "version": "3.0.0", "extraneous": true, "inBundle": true, "license": "BlueOak-1.0.0", "engines": { "node": ">=18" } }, "node_modules/npm/node_modules/node-gyp/node_modules/mkdirp": { "version": "3.0.1", "extraneous": true, "inBundle": true, "license": "MIT", "bin": { "mkdirp": "dist/cjs/src/bin.js" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/npm/node_modules/node-gyp/node_modules/tar": { "version": "7.4.3", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "@isaacs/fs-minipass": "^4.0.0", "chownr": "^3.0.0", "minipass": "^7.1.2", "minizlib": "^3.0.1", "mkdirp": "^3.0.1", "yallist": "^5.0.0" }, "engines": { "node": ">=18" } }, "node_modules/npm/node_modules/node-gyp/node_modules/yallist": { "version": "5.0.0", "extraneous": true, "inBundle": true, "license": "BlueOak-1.0.0", "engines": { "node": ">=18" } }, "node_modules/npm/node_modules/nopt": { "version": "8.1.0", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "abbrev": "^3.0.0" }, "bin": { "nopt": "bin/nopt.js" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/normalize-package-data": { "version": "7.0.0", "extraneous": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^8.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-audit-report": { "version": "6.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-bundled": { "version": "4.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "npm-normalize-package-bin": "^4.0.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-install-checks": { "version": "7.1.1", "extraneous": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { "semver": "^7.1.1" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-normalize-package-bin": { "version": "4.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-package-arg": { "version": "12.0.2", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "hosted-git-info": "^8.0.0", "proc-log": "^5.0.0", "semver": "^7.3.5", "validate-npm-package-name": "^6.0.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-packlist": { "version": "9.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "ignore-walk": "^7.0.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-pick-manifest": { "version": "10.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "npm-install-checks": "^7.1.0", "npm-normalize-package-bin": "^4.0.0", "npm-package-arg": "^12.0.0", "semver": "^7.3.5" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-profile": { "version": "11.0.1", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "npm-registry-fetch": "^18.0.0", "proc-log": "^5.0.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-registry-fetch": { "version": "18.0.2", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/redact": "^3.0.0", "jsonparse": "^1.3.1", "make-fetch-happen": "^14.0.0", "minipass": "^7.0.2", "minipass-fetch": "^4.0.0", "minizlib": "^3.0.1", "npm-package-arg": "^12.0.0", "proc-log": "^5.0.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-user-validate": { "version": "3.0.0", "extraneous": true, "inBundle": true, "license": "BSD-2-Clause", "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/p-map": { "version": "7.0.3", "extraneous": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/npm/node_modules/package-json-from-dist": { "version": "1.0.1", "extraneous": true, "inBundle": true, "license": "BlueOak-1.0.0" }, "node_modules/npm/node_modules/pacote": { "version": "19.0.1", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/git": "^6.0.0", "@npmcli/installed-package-contents": "^3.0.0", "@npmcli/package-json": "^6.0.0", "@npmcli/promise-spawn": "^8.0.0", "@npmcli/run-script": "^9.0.0", "cacache": "^19.0.0", "fs-minipass": "^3.0.0", "minipass": "^7.0.2", "npm-package-arg": "^12.0.0", "npm-packlist": "^9.0.0", "npm-pick-manifest": "^10.0.0", "npm-registry-fetch": "^18.0.0", "proc-log": "^5.0.0", "promise-retry": "^2.0.1", "sigstore": "^3.0.0", "ssri": "^12.0.0", "tar": "^6.1.11" }, "bin": { "pacote": "bin/index.js" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/parse-conflict-json": { "version": "4.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "json-parse-even-better-errors": "^4.0.0", "just-diff": "^6.0.0", "just-diff-apply": "^5.2.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/path-key": { "version": "3.1.1", "extraneous": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/npm/node_modules/path-scurry": { "version": "1.11.1", "extraneous": true, "inBundle": true, "license": "BlueOak-1.0.0", "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/npm/node_modules/postcss-selector-parser": { "version": "7.1.0", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" }, "engines": { "node": ">=4" } }, "node_modules/npm/node_modules/proc-log": { "version": "5.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/proggy": { "version": "3.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/promise-all-reject-late": { "version": "1.0.1", "extraneous": true, "inBundle": true, "license": "ISC", "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/npm/node_modules/promise-call-limit": { "version": "3.0.2", "extraneous": true, "inBundle": true, "license": "ISC", "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/npm/node_modules/promise-retry": { "version": "2.0.1", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "err-code": "^2.0.2", "retry": "^0.12.0" }, "engines": { "node": ">=10" } }, "node_modules/npm/node_modules/promzard": { "version": "2.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "read": "^4.0.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/qrcode-terminal": { "version": "0.12.0", "extraneous": true, "inBundle": true, "bin": { "qrcode-terminal": "bin/qrcode-terminal.js" } }, "node_modules/npm/node_modules/read": { "version": "4.1.0", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "mute-stream": "^2.0.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/read-cmd-shim": { "version": "5.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/read-package-json-fast": { "version": "4.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "json-parse-even-better-errors": "^4.0.0", "npm-normalize-package-bin": "^4.0.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/retry": { "version": "0.12.0", "extraneous": true, "inBundle": true, "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/npm/node_modules/safer-buffer": { "version": "2.1.2", "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/semver": { "version": "7.7.2", "extraneous": true, "inBundle": true, "license": "ISC", "bin": { "semver": "bin/semver.js" }, "engines": { "node": ">=10" } }, "node_modules/npm/node_modules/shebang-command": { "version": "2.0.0", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, "engines": { "node": ">=8" } }, "node_modules/npm/node_modules/shebang-regex": { "version": "3.0.0", "extraneous": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/npm/node_modules/signal-exit": { "version": "4.1.0", "extraneous": true, "inBundle": true, "license": "ISC", "engines": { "node": ">=14" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/npm/node_modules/sigstore": { "version": "3.1.0", "extraneous": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { "@sigstore/bundle": "^3.1.0", "@sigstore/core": "^2.0.0", "@sigstore/protobuf-specs": "^0.4.0", "@sigstore/sign": "^3.1.0", "@sigstore/tuf": "^3.1.0", "@sigstore/verify": "^2.1.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/bundle": { "version": "3.1.0", "extraneous": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { "@sigstore/protobuf-specs": "^0.4.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/core": { "version": "2.0.0", "extraneous": true, "inBundle": true, "license": "Apache-2.0", "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/sign": { "version": "3.1.0", "extraneous": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { "@sigstore/bundle": "^3.1.0", "@sigstore/core": "^2.0.0", "@sigstore/protobuf-specs": "^0.4.0", "make-fetch-happen": "^14.0.2", "proc-log": "^5.0.0", "promise-retry": "^2.0.1" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/verify": { "version": "2.1.1", "extraneous": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { "@sigstore/bundle": "^3.1.0", "@sigstore/core": "^2.0.0", "@sigstore/protobuf-specs": "^0.4.1" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/smart-buffer": { "version": "4.2.0", "extraneous": true, "inBundle": true, "license": "MIT", "engines": { "node": ">= 6.0.0", "npm": ">= 3.0.0" } }, "node_modules/npm/node_modules/socks": { "version": "2.8.5", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "ip-address": "^9.0.5", "smart-buffer": "^4.2.0" }, "engines": { "node": ">= 10.0.0", "npm": ">= 3.0.0" } }, "node_modules/npm/node_modules/socks-proxy-agent": { "version": "8.0.5", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "agent-base": "^7.1.2", "debug": "^4.3.4", "socks": "^2.8.3" }, "engines": { "node": ">= 14" } }, "node_modules/npm/node_modules/spdx-correct": { "version": "3.2.0", "extraneous": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, "node_modules/npm/node_modules/spdx-correct/node_modules/spdx-expression-parse": { "version": "3.0.1", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "node_modules/npm/node_modules/spdx-exceptions": { "version": "2.5.0", "extraneous": true, "inBundle": true, "license": "CC-BY-3.0" }, "node_modules/npm/node_modules/spdx-expression-parse": { "version": "4.0.0", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "node_modules/npm/node_modules/spdx-license-ids": { "version": "3.0.21", "extraneous": true, "inBundle": true, "license": "CC0-1.0" }, "node_modules/npm/node_modules/sprintf-js": { "version": "1.1.3", "extraneous": true, "inBundle": true, "license": "BSD-3-Clause" }, "node_modules/npm/node_modules/ssri": { "version": "12.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "minipass": "^7.0.3" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/string-width": { "version": "4.2.3", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" } }, "node_modules/npm/node_modules/string-width-cjs": { "name": "string-width", "version": "4.2.3", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" } }, "node_modules/npm/node_modules/strip-ansi": { "version": "6.0.1", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" } }, "node_modules/npm/node_modules/strip-ansi-cjs": { "name": "strip-ansi", "version": "6.0.1", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" } }, "node_modules/npm/node_modules/supports-color": { "version": "9.4.0", "extraneous": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/chalk/supports-color?sponsor=1" } }, "node_modules/npm/node_modules/tar": { "version": "6.2.1", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" }, "engines": { "node": ">=10" } }, "node_modules/npm/node_modules/tar/node_modules/fs-minipass": { "version": "2.1.0", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "minipass": "^3.0.0" }, "engines": { "node": ">= 8" } }, "node_modules/npm/node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { "version": "3.3.6", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/npm/node_modules/tar/node_modules/minipass": { "version": "5.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "engines": { "node": ">=8" } }, "node_modules/npm/node_modules/tar/node_modules/minizlib": { "version": "2.1.2", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "minipass": "^3.0.0", "yallist": "^4.0.0" }, "engines": { "node": ">= 8" } }, "node_modules/npm/node_modules/tar/node_modules/minizlib/node_modules/minipass": { "version": "3.3.6", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/npm/node_modules/text-table": { "version": "0.2.0", "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/tiny-relative-date": { "version": "1.3.0", "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/tinyglobby": { "version": "0.2.14", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "fdir": "^6.4.4", "picomatch": "^4.0.2" }, "engines": { "node": ">=12.0.0" }, "funding": { "url": "https://github.com/sponsors/SuperchupuDev" } }, "node_modules/npm/node_modules/tinyglobby/node_modules/fdir": { "version": "6.4.6", "extraneous": true, "inBundle": true, "license": "MIT", "peerDependencies": { "picomatch": "^3 || ^4" }, "peerDependenciesMeta": { "picomatch": { "optional": true } } }, "node_modules/npm/node_modules/tinyglobby/node_modules/picomatch": { "version": "4.0.2", "extraneous": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/npm/node_modules/treeverse": { "version": "3.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/tuf-js": { "version": "3.0.1", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "@tufjs/models": "3.0.1", "debug": "^4.3.6", "make-fetch-happen": "^14.0.1" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/tuf-js/node_modules/@tufjs/models": { "version": "3.0.1", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "@tufjs/canonical-json": "2.0.0", "minimatch": "^9.0.5" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/unique-filename": { "version": "4.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "unique-slug": "^5.0.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/unique-slug": { "version": "5.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/util-deprecate": { "version": "1.0.2", "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/validate-npm-package-license": { "version": "3.0.4", "extraneous": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" } }, "node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse": { "version": "3.0.1", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "node_modules/npm/node_modules/validate-npm-package-name": { "version": "6.0.1", "extraneous": true, "inBundle": true, "license": "ISC", "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/walk-up-path": { "version": "3.0.1", "extraneous": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/which": { "version": "5.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "isexe": "^3.1.1" }, "bin": { "node-which": "bin/which.js" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/which/node_modules/isexe": { "version": "3.1.1", "extraneous": true, "inBundle": true, "license": "ISC", "engines": { "node": ">=16" } }, "node_modules/npm/node_modules/wrap-ansi": { "version": "8.1.0", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" }, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/npm/node_modules/wrap-ansi-cjs": { "name": "wrap-ansi", "version": "7.0.0", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/npm/node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { "version": "4.3.0", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-regex": { "version": "6.1.0", "extraneous": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, "node_modules/npm/node_modules/wrap-ansi/node_modules/emoji-regex": { "version": "9.2.2", "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/wrap-ansi/node_modules/string-width": { "version": "5.1.2", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" }, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/npm/node_modules/wrap-ansi/node_modules/strip-ansi": { "version": "7.1.0", "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, "node_modules/npm/node_modules/write-file-atomic": { "version": "6.0.0", "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^4.0.1" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/yallist": { "version": "4.0.0", "extraneous": true, "inBundle": true, "license": "ISC" }, "node_modules/number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/nwsapi": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", "dev": true }, "node_modules/oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", "dev": true, "engines": { "node": "*" } }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/object-component": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", "dev": true }, "node_modules/object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, "dependencies": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", "kind-of": "^3.0.3" }, "engines": { "node": ">=0.10.0" } }, "node_modules/object-copy/node_modules/define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "dependencies": { "is-descriptor": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/object-copy/node_modules/is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "dependencies": { "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/object-copy/node_modules/is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "dependencies": { "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/object-copy/node_modules/is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", "kind-of": "^5.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/object-copy/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/object-inspect": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, "engines": { "node": ">= 0.4" } }, "node_modules/object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dev": true, "dependencies": { "isobject": "^3.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/object.assign": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", "has-symbols": "^1.0.1", "object-keys": "^1.1.1" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object.getownpropertydescriptors": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", "es-abstract": "^1.19.1" }, "engines": { "node": ">= 0.8" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object.omit": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "dependencies": { "for-own": "^0.1.4", "is-extendable": "^0.1.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, "dependencies": { "isobject": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/object.values": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", "es-abstract": "^1.19.1" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, "dependencies": { "ee-first": "1.1.1" }, "engines": { "node": ">= 0.8" } }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "dependencies": { "wrappy": "1" } }, "node_modules/onetime": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "dependencies": { "mimic-fn": "^1.0.0" }, "engines": { "node": ">=4" } }, "node_modules/opener": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", "dev": true, "bin": { "opener": "bin/opener-bin.js" } }, "node_modules/optimist": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "dependencies": { "minimist": "~0.0.1", "wordwrap": "~0.0.2" } }, "node_modules/optimist/node_modules/minimist": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", "dev": true }, "node_modules/optimist/node_modules/wordwrap": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", "dev": true, "engines": { "node": ">=0.4.0" } }, "node_modules/optionator": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "dev": true, "dependencies": { "deep-is": "~0.1.3", "fast-levenshtein": "~2.0.6", "levn": "~0.3.0", "prelude-ls": "~1.1.2", "type-check": "~0.3.2", "word-wrap": "~1.2.3" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/os-browserify": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", "dev": true }, "node_modules/os-homedir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/os-locale": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "dependencies": { "execa": "^0.7.0", "lcid": "^1.0.0", "mem": "^1.1.0" }, "engines": { "node": ">=4" } }, "node_modules/os-shim": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=", "dev": true, "engines": { "node": ">= 0.4.0" } }, "node_modules/os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/p-defer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/p-each-series": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-3.0.0.tgz", "integrity": "sha512-lastgtAdoH9YaLyDa5i5z64q+kzOcQHsQ5SsZJD3q0VEyI8mq872S3geuNbRUQLVAE9siMfgKrpj7MloKFHruw==", "dev": true, "peer": true, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-filter": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-4.1.0.tgz", "integrity": "sha512-37/tPdZ3oJwHaS3gNJdenCDB3Tz26i9sjhnguBtvN0vYlRIiDNnvTWkuh+0hETV9rLPdJ3rlL3yVOYPIAnM8rw==", "dev": true, "dependencies": { "p-map": "^7.0.1" }, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/p-is-promise": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/p-limit": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "dependencies": { "p-try": "^1.0.0" }, "engines": { "node": ">=4" } }, "node_modules/p-locate": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "dependencies": { "p-limit": "^1.1.0" }, "engines": { "node": ">=4" } }, "node_modules/p-map": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", "dev": true, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-reduce": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-3.0.0.tgz", "integrity": "sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==", "dev": true, "peer": true, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/pac-proxy-agent": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-3.0.1.tgz", "integrity": "sha512-44DUg21G/liUZ48dJpUSjZnFfZro/0K5JTyFYLBcmh9+T6Ooi4/i4efwUiEy0+4oQusCBqWdhv16XohIj1GqnQ==", "dev": true, "optional": true, "dependencies": { "agent-base": "^4.2.0", "debug": "^4.1.1", "get-uri": "^2.0.0", "http-proxy-agent": "^2.1.0", "https-proxy-agent": "^3.0.0", "pac-resolver": "^3.0.0", "raw-body": "^2.2.0", "socks-proxy-agent": "^4.0.1" } }, "node_modules/pac-proxy-agent/node_modules/https-proxy-agent": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz", "integrity": "sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==", "dev": true, "optional": true, "dependencies": { "agent-base": "^4.3.0", "debug": "^3.1.0" }, "engines": { "node": ">= 4.5.0" } }, "node_modules/pac-proxy-agent/node_modules/https-proxy-agent/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "optional": true, "dependencies": { "ms": "^2.1.1" } }, "node_modules/pac-resolver": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-3.0.0.tgz", "integrity": "sha512-tcc38bsjuE3XZ5+4vP96OfhOugrX+JcnpUbhfuc4LuXBLQhoTthOstZeoQJBDnQUDYzYmdImKsbz0xSl1/9qeA==", "dev": true, "optional": true, "dependencies": { "co": "^4.6.0", "degenerator": "^1.0.4", "ip": "^1.1.5", "netmask": "^1.0.6", "thunkify": "^2.1.2" } }, "node_modules/pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", "dev": true }, "node_modules/parallel-transform": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", "dev": true, "dependencies": { "cyclist": "^1.0.1", "inherits": "^2.0.3", "readable-stream": "^2.1.5" } }, "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, "peer": true, "dependencies": { "callsites": "^3.0.0" }, "engines": { "node": ">=6" } }, "node_modules/parent-module/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, "peer": true, "engines": { "node": ">=6" } }, "node_modules/parse-asn1": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", "dev": true, "dependencies": { "asn1.js": "^5.2.0", "browserify-aes": "^1.0.0", "evp_bytestokey": "^1.0.0", "pbkdf2": "^3.0.3", "safe-buffer": "^5.1.1" } }, "node_modules/parse-glob": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "dependencies": { "glob-base": "^0.3.0", "is-dotfile": "^1.0.0", "is-extglob": "^1.0.0", "is-glob": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/parse-glob/node_modules/is-extglob": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/parse-glob/node_modules/is-glob": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "dependencies": { "is-extglob": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/parse-json": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "dependencies": { "error-ex": "^1.2.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/parse-ms": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", "dev": true, "peer": true, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/parse-passwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/parse5": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", "dev": true }, "node_modules/parse5-htmlparser2-tree-adapter": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", "dev": true, "peer": true, "dependencies": { "parse5": "^6.0.1" } }, "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", "dev": true, "peer": true }, "node_modules/parseqs": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", "dev": true, "dependencies": { "better-assert": "~1.0.0" } }, "node_modules/parseuri": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", "dev": true, "dependencies": { "better-assert": "~1.0.0" } }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true, "engines": { "node": ">= 0.8" } }, "node_modules/pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/path-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", "dev": true }, "node_modules/path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", "dev": true }, "node_modules/path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true, "engines": { "node": ">=4" } }, "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": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/path-is-inside": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", "dev": true }, "node_modules/path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "node_modules/path-proxy": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/path-proxy/-/path-proxy-1.0.0.tgz", "integrity": "sha1-GOijaFn8nS8aU7SN7hOFQ8Ag3l4=", "dev": true, "optional": true, "dependencies": { "inflection": "~1.3.0" } }, "node_modules/path-proxy/node_modules/inflection": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.3.8.tgz", "integrity": "sha1-y9Fg2p91sUw8xjV41POWeEvzAU4=", "dev": true, "engines": [ "node >= 0.4.0" ], "optional": true }, "node_modules/path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", "dev": true }, "node_modules/path-type": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "dependencies": { "graceful-fs": "^4.1.2", "pify": "^2.0.0", "pinkie-promise": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/path-type/node_modules/pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/pbkdf2": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "dev": true, "dependencies": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", "ripemd160": "^2.0.1", "safe-buffer": "^5.0.1", "sha.js": "^2.4.8" }, "engines": { "node": ">=0.12" } }, "node_modules/performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "dev": true }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "engines": { "node": ">=8.6" }, "funding": { "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "dependencies": { "pinkie": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/pirates": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", "dev": true, "engines": { "node": ">= 6" } }, "node_modules/pkg-conf": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz", "integrity": "sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g==", "dev": true, "peer": true, "dependencies": { "find-up": "^2.0.0", "load-json-file": "^4.0.0" }, "engines": { "node": ">=4" } }, "node_modules/pkg-conf/node_modules/load-json-file": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", "dev": true, "peer": true, "dependencies": { "graceful-fs": "^4.1.2", "parse-json": "^4.0.0", "pify": "^3.0.0", "strip-bom": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/pkg-conf/node_modules/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", "dev": true, "peer": true, "dependencies": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" }, "engines": { "node": ">=4" } }, "node_modules/pkg-conf/node_modules/strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, "peer": true, "engines": { "node": ">=4" } }, "node_modules/pkg-dir": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dev": true, "dependencies": { "find-up": "^3.0.0" }, "engines": { "node": ">=6" } }, "node_modules/pkg-dir/node_modules/find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "dependencies": { "locate-path": "^3.0.0" }, "engines": { "node": ">=6" } }, "node_modules/pkg-dir/node_modules/locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" }, "engines": { "node": ">=6" } }, "node_modules/pkg-dir/node_modules/p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "dependencies": { "p-try": "^2.0.0" }, "engines": { "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/pkg-dir/node_modules/p-locate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "dependencies": { "p-limit": "^2.0.0" }, "engines": { "node": ">=6" } }, "node_modules/pkg-dir/node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/pluralize": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/pn": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", "dev": true }, "node_modules/posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/postcss": { "version": "6.0.23", "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", "dev": true, "dependencies": { "chalk": "^2.4.1", "source-map": "^0.6.1", "supports-color": "^5.4.0" }, "engines": { "node": ">=4.0.0" } }, "node_modules/postcss-modules-extract-imports": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz", "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==", "dev": true, "dependencies": { "postcss": "^6.0.1" } }, "node_modules/postcss-modules-local-by-default": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", "dev": true, "dependencies": { "css-selector-tokenizer": "^0.7.0", "postcss": "^6.0.1" } }, "node_modules/postcss-modules-scope": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", "dev": true, "dependencies": { "css-selector-tokenizer": "^0.7.0", "postcss": "^6.0.1" } }, "node_modules/postcss-modules-values": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", "dev": true, "dependencies": { "icss-replace-symbols": "^1.1.0", "postcss": "^6.0.1" } }, "node_modules/postcss-value-parser": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true }, "node_modules/postcss/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/pre-commit": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/pre-commit/-/pre-commit-1.2.2.tgz", "integrity": "sha1-287g7p3nI15X95xW186UZBpp7sY=", "dev": true, "hasInstallScript": true, "dependencies": { "cross-spawn": "^5.0.1", "spawn-sync": "^1.0.15", "which": "1.2.x" } }, "node_modules/pre-commit/node_modules/cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "dependencies": { "lru-cache": "^4.0.1", "shebang-command": "^1.2.0", "which": "^1.2.9" } }, "node_modules/pre-commit/node_modules/which": { "version": "1.2.14", "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", "dev": true, "dependencies": { "isexe": "^2.0.0" }, "bin": { "which": "bin/which" } }, "node_modules/prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true, "engines": { "node": ">= 0.8.0" } }, "node_modules/preserve": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/prettier": { "version": "1.19.1", "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", "dev": true, "bin": { "prettier": "bin-prettier.js" }, "engines": { "node": ">=4" } }, "node_modules/pretty-bytes": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz", "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/pretty-format": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz", "integrity": "sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ==", "dev": true, "dependencies": { "ansi-regex": "^3.0.0", "ansi-styles": "^3.2.0" } }, "node_modules/pretty-ms": { "version": "9.2.0", "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.2.0.tgz", "integrity": "sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==", "dev": true, "peer": true, "dependencies": { "parse-ms": "^4.0.0" }, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/private": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", "dev": true, "engines": { "node": ">= 0.6.0" } }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "node_modules/progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true, "engines": { "node": ">=0.4.0" } }, "node_modules/promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", "dev": true }, "node_modules/promisify-call": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/promisify-call/-/promisify-call-2.0.4.tgz", "integrity": "sha1-1IwtRWUszM1SgB3ey9UzptS9X7o=", "dev": true, "optional": true, "dependencies": { "with-callback": "^1.0.2" }, "engines": { "node": ">=4.0" } }, "node_modules/proto-list": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", "dev": true, "peer": true }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" }, "engines": { "node": ">= 0.10" } }, "node_modules/proxy-agent": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-3.0.3.tgz", "integrity": "sha512-PXVVVuH9tiQuxQltFJVSnXWuDtNr+8aNBP6XVDDCDiUuDN8eRCm+ii4/mFWmXWEA0w8jjJSlePa4LXlM4jIzNA==", "dev": true, "optional": true, "dependencies": { "agent-base": "^4.2.0", "debug": "^3.1.0", "http-proxy-agent": "^2.1.0", "https-proxy-agent": "^2.2.1", "lru-cache": "^4.1.2", "pac-proxy-agent": "^3.0.0", "proxy-from-env": "^1.0.0", "socks-proxy-agent": "^4.0.1" }, "engines": { "node": ">=6" } }, "node_modules/proxy-agent/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "optional": true, "dependencies": { "ms": "^2.1.1" } }, "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", "dev": true, "optional": true }, "node_modules/prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", "dev": true }, "node_modules/pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, "node_modules/psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", "dev": true }, "node_modules/public-encrypt": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, "dependencies": { "bn.js": "^4.1.0", "browserify-rsa": "^4.0.0", "create-hash": "^1.1.0", "parse-asn1": "^5.0.0", "randombytes": "^2.0.1", "safe-buffer": "^5.1.2" } }, "node_modules/public-encrypt/node_modules/bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true }, "node_modules/pump": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "node_modules/pumpify": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "dependencies": { "duplexify": "^3.6.0", "inherits": "^2.0.3", "pump": "^2.0.0" } }, "node_modules/punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", "dev": true }, "node_modules/q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", "dev": true, "engines": { "node": ">=0.6.0", "teleport": ">=0.2.0" } }, "node_modules/qjobs": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", "dev": true, "engines": { "node": ">=0.9" } }, "node_modules/qs": { "version": "6.10.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", "dev": true, "dependencies": { "side-channel": "^1.0.4" }, "engines": { "node": ">=0.6" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", "dev": true, "engines": { "node": ">=0.4.x" } }, "node_modules/querystring-es3": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", "dev": true, "engines": { "node": ">=0.4.x" } }, "node_modules/querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", "dev": true, "optional": true }, "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, "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/randomatic": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", "dev": true, "dependencies": { "is-number": "^4.0.0", "kind-of": "^6.0.0", "math-random": "^1.0.1" }, "engines": { "node": ">= 0.10.0" } }, "node_modules/randomatic/node_modules/is-number": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, "dependencies": { "safe-buffer": "^5.1.0" } }, "node_modules/randomfill": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, "dependencies": { "randombytes": "^2.0.5", "safe-buffer": "^5.1.0" } }, "node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/raw-body": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dev": true, "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, "engines": { "node": ">= 0.8" } }, "node_modules/rc": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "peer": true, "dependencies": { "deep-extend": "^0.6.0", "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" }, "bin": { "rc": "cli.js" } }, "node_modules/read-package-up": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/read-package-up/-/read-package-up-11.0.0.tgz", "integrity": "sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==", "dev": true, "peer": true, "dependencies": { "find-up-simple": "^1.0.0", "read-pkg": "^9.0.0", "type-fest": "^4.6.0" }, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/read-package-up/node_modules/hosted-git-info": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", "dev": true, "peer": true, "dependencies": { "lru-cache": "^10.0.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/read-package-up/node_modules/lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, "peer": true }, "node_modules/read-package-up/node_modules/normalize-package-data": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", "dev": true, "peer": true, "dependencies": { "hosted-git-info": "^7.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/read-package-up/node_modules/parse-json": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.3.0.tgz", "integrity": "sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==", "dev": true, "peer": true, "dependencies": { "@babel/code-frame": "^7.26.2", "index-to-position": "^1.1.0", "type-fest": "^4.39.1" }, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/read-package-up/node_modules/read-pkg": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", "dev": true, "peer": true, "dependencies": { "@types/normalize-package-data": "^2.4.3", "normalize-package-data": "^6.0.0", "parse-json": "^8.0.0", "type-fest": "^4.6.0", "unicorn-magic": "^0.1.0" }, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/read-package-up/node_modules/semver": { "version": "7.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "peer": true, "bin": { "semver": "bin/semver.js" }, "engines": { "node": ">=10" } }, "node_modules/read-package-up/node_modules/unicorn-magic": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", "dev": true, "peer": true, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/read-pkg": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "dependencies": { "load-json-file": "^1.0.0", "normalize-package-data": "^2.3.2", "path-type": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/read-pkg-up": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "dependencies": { "find-up": "^1.0.0", "read-pkg": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/read-pkg-up/node_modules/find-up": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "dependencies": { "path-exists": "^2.0.0", "pinkie-promise": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/read-pkg-up/node_modules/path-exists": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "dependencies": { "pinkie-promise": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "optional": true, "dependencies": { "picomatch": "^2.2.1" }, "engines": { "node": ">=8.10.0" } }, "node_modules/realpath-native": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", "dev": true, "dependencies": { "util.promisify": "^1.0.0" }, "engines": { "node": ">=4" } }, "node_modules/redent": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "dependencies": { "indent-string": "^2.1.0", "strip-indent": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/redis": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/redis/-/redis-2.8.0.tgz", "integrity": "sha512-M1OkonEQwtRmZv4tEWF2VgpG0JWJ8Fv1PhlgT5+B+uNq2cA3Rt1Yt/ryoR+vQNOQcIEgdCdfH0jr3bDpihAw1A==", "dev": true, "optional": true, "dependencies": { "double-ended-queue": "^2.1.0-0", "redis-commands": "^1.2.0", "redis-parser": "^2.6.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/redis-commands": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.7.0.tgz", "integrity": "sha512-nJWqw3bTFy21hX/CPKHth6sfhZbdiHP6bTawSgQBlKOVRG7EZkfHbbHwQJnrE4vsQf0CMNE+3gJ4Fmm16vdVlQ==", "dev": true, "optional": true }, "node_modules/redis-parser": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-2.6.0.tgz", "integrity": "sha1-Uu0J2srBCPGmMcB+m2mUHnoZUEs=", "dev": true, "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", "dev": true }, "node_modules/regenerate-unicode-properties": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", "dev": true, "dependencies": { "regenerate": "^1.4.2" }, "engines": { "node": ">=4" } }, "node_modules/regenerator-runtime": { "version": "0.13.9", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", "dev": true }, "node_modules/regenerator-transform": { "version": "0.15.0", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", "dev": true, "dependencies": { "@babel/runtime": "^7.8.4" } }, "node_modules/regex-cache": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "dependencies": { "is-equal-shallow": "^0.1.3" }, "engines": { "node": ">=0.10.0" } }, "node_modules/regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "dependencies": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/regexpp": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz", "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==", "dev": true, "engines": { "node": ">=4.0.0" } }, "node_modules/regexpu-core": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz", "integrity": "sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==", "dev": true, "dependencies": { "regenerate": "^1.4.2", "regenerate-unicode-properties": "^10.0.1", "regjsgen": "^0.6.0", "regjsparser": "^0.8.2", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.0.0" }, "engines": { "node": ">=4" } }, "node_modules/registry-auth-token": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.1.0.tgz", "integrity": "sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw==", "dev": true, "peer": true, "dependencies": { "@pnpm/npm-conf": "^2.1.0" }, "engines": { "node": ">=14" } }, "node_modules/regjsgen": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", "dev": true }, "node_modules/regjsparser": { "version": "0.8.4", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", "dev": true, "dependencies": { "jsesc": "~0.5.0" }, "bin": { "regjsparser": "bin/parser" } }, "node_modules/regjsparser/node_modules/jsesc": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", "dev": true, "bin": { "jsesc": "bin/jsesc" } }, "node_modules/remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", "dev": true }, "node_modules/repeat-element": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/repeat-string": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz", "integrity": "sha1-x6jTI2BoNiBZp+RlH8aITosftK4=", "dev": true, "engines": { "node": ">=0.10" } }, "node_modules/repeating": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "dependencies": { "is-finite": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", "dev": true, "dependencies": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", "caseless": "~0.12.0", "combined-stream": "~1.0.6", "extend": "~3.0.2", "forever-agent": "~0.6.1", "form-data": "~2.3.2", "har-validator": "~5.1.3", "http-signature": "~1.2.0", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", "json-stringify-safe": "~5.0.1", "mime-types": "~2.1.19", "oauth-sign": "~0.9.0", "performance-now": "^2.1.0", "qs": "~6.5.2", "safe-buffer": "^5.1.2", "tough-cookie": "~2.5.0", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" }, "engines": { "node": ">= 6" } }, "node_modules/request-promise-core": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", "dev": true, "dependencies": { "lodash": "^4.17.19" }, "engines": { "node": ">=0.10.0" }, "peerDependencies": { "request": "^2.34" } }, "node_modules/request-promise-native": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", "dev": true, "dependencies": { "request-promise-core": "1.1.4", "stealthy-require": "^1.1.1", "tough-cookie": "^2.3.3" }, "engines": { "node": ">=0.12.0" }, "peerDependencies": { "request": "^2.34" } }, "node_modules/request/node_modules/qs": { "version": "6.5.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", "dev": true, "engines": { "node": ">=0.6" } }, "node_modules/requestretry": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/requestretry/-/requestretry-1.13.0.tgz", "integrity": "sha512-Lmh9qMvnQXADGAQxsXHP4rbgO6pffCfuR8XUBdP9aitJcLQJxhp7YZK4xAVYXnPJ5E52mwrfiKQtKonPL8xsmg==", "dev": true, "optional": true, "dependencies": { "extend": "^3.0.0", "lodash": "^4.15.0", "request": "^2.74.0", "when": "^3.7.7" } }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", "dev": true }, "node_modules/require-uncached": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "dependencies": { "caller-path": "^0.1.0", "resolve-from": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", "dev": true }, "node_modules/resolve": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", "dev": true, "dependencies": { "is-core-module": "^2.8.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/resolve-cwd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "dependencies": { "resolve-from": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/resolve-cwd/node_modules/resolve-from": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/resolve-from": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", "deprecated": "https://github.com/lydell/resolve-url#deprecated", "dev": true }, "node_modules/restore-cursor": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, "dependencies": { "onetime": "^2.0.0", "signal-exit": "^3.0.2" }, "engines": { "node": ">=4" } }, "node_modules/ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true, "engines": { "node": ">=0.12" } }, "node_modules/reusify": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", "dev": true, "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" } }, "node_modules/rimraf": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "bin.js" } }, "node_modules/ripemd160": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1" } }, "node_modules/rollup": { "version": "2.70.2", "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.70.2.tgz", "integrity": "sha512-EitogNZnfku65I1DD5Mxe8JYRUCy0hkK5X84IlDtUs+O6JRMpRciXTzyCUuX11b5L5pvjH+OmFXiQ3XjabcXgg==", "dev": true, "bin": { "rollup": "dist/bin/rollup" }, "engines": { "node": ">=10.0.0" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "node_modules/rollup-plugin-babel": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz", "integrity": "sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw==", "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-babel.", "dev": true, "dependencies": { "@babel/helper-module-imports": "^7.0.0", "rollup-pluginutils": "^2.8.1" }, "peerDependencies": { "@babel/core": "7 || ^7.0.0-rc.2", "rollup": ">=0.60.0 <3" } }, "node_modules/rollup-plugin-terser": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.10.4", "jest-worker": "^26.2.1", "serialize-javascript": "^4.0.0", "terser": "^5.0.0" }, "peerDependencies": { "rollup": "^2.0.0" } }, "node_modules/rollup-plugin-terser/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, "engines": { "node": ">=8" } }, "node_modules/rollup-plugin-terser/node_modules/jest-worker": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", "dev": true, "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", "supports-color": "^7.0.0" }, "engines": { "node": ">= 10.13.0" } }, "node_modules/rollup-plugin-terser/node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, "node_modules/rollup-plugin-terser/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, "dependencies": { "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/rollup-pluginutils": { "version": "2.8.2", "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", "dev": true, "dependencies": { "estree-walker": "^0.6.1" } }, "node_modules/rsvp": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==", "dev": true, "engines": { "node": "0.12.* || 4.* || 6.* || >= 7.*" } }, "node_modules/run-async": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", "dev": true, "engines": { "node": ">=0.12.0" } }, "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, "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" } }, "node_modules/run-queue": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", "dev": true, "dependencies": { "aproba": "^1.1.1" } }, "node_modules/rx-lite": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", "dev": true }, "node_modules/rx-lite-aggregates": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", "dev": true, "dependencies": { "rx-lite": "*" } }, "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, "node_modules/safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "dependencies": { "ret": "~0.1.10" } }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, "node_modules/sane": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", "deprecated": "some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added", "dev": true, "dependencies": { "anymatch": "^2.0.0", "capture-exit": "^1.2.0", "exec-sh": "^0.2.0", "fb-watchman": "^2.0.0", "micromatch": "^3.1.4", "minimist": "^1.1.1", "walker": "~1.0.5", "watch": "~0.18.0" }, "bin": { "sane": "src/cli.js" }, "engines": { "node": ">=0.6.0" }, "optionalDependencies": { "fsevents": "^1.2.3" } }, "node_modules/sane/node_modules/anymatch": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, "dependencies": { "micromatch": "^3.1.4", "normalize-path": "^2.1.1" } }, "node_modules/sane/node_modules/arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/sane/node_modules/array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/sane/node_modules/braces": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "dependencies": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", "extend-shallow": "^2.0.1", "fill-range": "^4.0.0", "isobject": "^3.0.1", "repeat-element": "^1.1.2", "snapdragon": "^0.8.1", "snapdragon-node": "^2.0.1", "split-string": "^3.0.2", "to-regex": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/sane/node_modules/braces/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "dependencies": { "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/sane/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/sane/node_modules/expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "dependencies": { "debug": "^2.3.3", "define-property": "^0.2.5", "extend-shallow": "^2.0.1", "posix-character-classes": "^0.1.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/sane/node_modules/expand-brackets/node_modules/define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "dependencies": { "is-descriptor": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/sane/node_modules/expand-brackets/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "dependencies": { "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/sane/node_modules/expand-brackets/node_modules/is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", "kind-of": "^5.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/sane/node_modules/expand-brackets/node_modules/kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/sane/node_modules/extglob": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "dependencies": { "array-unique": "^0.3.2", "define-property": "^1.0.0", "expand-brackets": "^2.1.4", "extend-shallow": "^2.0.1", "fragment-cache": "^0.2.1", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/sane/node_modules/extglob/node_modules/define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "dependencies": { "is-descriptor": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/sane/node_modules/extglob/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "dependencies": { "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/sane/node_modules/fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "dependencies": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", "repeat-string": "^1.6.1", "to-regex-range": "^2.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/sane/node_modules/fill-range/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "dependencies": { "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/sane/node_modules/fsevents": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", "dev": true, "hasInstallScript": true, "optional": true, "os": [ "darwin" ], "dependencies": { "bindings": "^1.5.0", "nan": "^2.12.1" }, "engines": { "node": ">= 4.0" } }, "node_modules/sane/node_modules/is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "dependencies": { "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/sane/node_modules/is-accessor-descriptor/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/sane/node_modules/is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "dependencies": { "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/sane/node_modules/is-data-descriptor/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/sane/node_modules/is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "dependencies": { "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/sane/node_modules/is-number/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/sane/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", "braces": "^2.3.1", "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "extglob": "^2.0.4", "fragment-cache": "^0.2.1", "kind-of": "^6.0.2", "nanomatch": "^1.2.9", "object.pick": "^1.3.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/sane/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "node_modules/sane/node_modules/normalize-path": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "dependencies": { "remove-trailing-separator": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/sane/node_modules/repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true, "engines": { "node": ">=0.10" } }, "node_modules/sane/node_modules/to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "dependencies": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/sauce-connect-launcher": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/sauce-connect-launcher/-/sauce-connect-launcher-1.3.2.tgz", "integrity": "sha512-wf0coUlidJ7rmeClgVVBh6Kw55/yalZCY/Un5RgjSnTXRAeGqagnTsTYpZaqC4dCtrY4myuYpOAZXCdbO7lHfQ==", "dev": true, "hasInstallScript": true, "dependencies": { "adm-zip": "~0.4.3", "async": "^2.1.2", "https-proxy-agent": "^5.0.0", "lodash": "^4.16.6", "rimraf": "^2.5.4" }, "engines": { "node": ">= 4" } }, "node_modules/sauce-connect-launcher/node_modules/agent-base": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, "dependencies": { "debug": "4" }, "engines": { "node": ">= 6.0.0" } }, "node_modules/sauce-connect-launcher/node_modules/https-proxy-agent": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, "dependencies": { "agent-base": "6", "debug": "4" }, "engines": { "node": ">= 6" } }, "node_modules/saucelabs": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz", "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==", "dev": true, "dependencies": { "https-proxy-agent": "^2.2.1" }, "engines": { "node": "*" } }, "node_modules/sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true }, "node_modules/schema-utils": { "version": "0.4.7", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", "dev": true, "dependencies": { "ajv": "^6.1.0", "ajv-keywords": "^3.1.0" }, "engines": { "node": ">= 4" } }, "node_modules/schema-utils/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, "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" } }, "node_modules/schema-utils/node_modules/ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, "peerDependencies": { "ajv": "^6.9.1" } }, "node_modules/schema-utils/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 }, "node_modules/schema-utils/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 }, "node_modules/semantic-release": { "version": "24.2.7", "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.2.7.tgz", "integrity": "sha512-g7RssbTAbir1k/S7uSwSVZFfFXwpomUB9Oas0+xi9KStSCmeDXcA7rNhiskjLqvUe/Evhx8fVCT16OSa34eM5g==", "dev": true, "peer": true, "dependencies": { "@semantic-release/commit-analyzer": "^13.0.0-beta.1", "@semantic-release/error": "^4.0.0", "@semantic-release/github": "^11.0.0", "@semantic-release/npm": "^12.0.2", "@semantic-release/release-notes-generator": "^14.0.0-beta.1", "aggregate-error": "^5.0.0", "cosmiconfig": "^9.0.0", "debug": "^4.0.0", "env-ci": "^11.0.0", "execa": "^9.0.0", "figures": "^6.0.0", "find-versions": "^6.0.0", "get-stream": "^6.0.0", "git-log-parser": "^1.2.0", "hook-std": "^3.0.0", "hosted-git-info": "^8.0.0", "import-from-esm": "^2.0.0", "lodash-es": "^4.17.21", "marked": "^15.0.0", "marked-terminal": "^7.3.0", "micromatch": "^4.0.2", "p-each-series": "^3.0.0", "p-reduce": "^3.0.0", "read-package-up": "^11.0.0", "resolve-from": "^5.0.0", "semver": "^7.3.2", "semver-diff": "^4.0.0", "signale": "^1.2.1", "yargs": "^17.5.1" }, "bin": { "semantic-release": "bin/semantic-release.js" }, "engines": { "node": ">=20.8.1" } }, "node_modules/semantic-release/node_modules/@sindresorhus/merge-streams": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", "dev": true, "peer": true, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/semantic-release/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, "peer": true, "engines": { "node": ">=8" } }, "node_modules/semantic-release/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, "peer": true, "dependencies": { "color-convert": "^2.0.1" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/semantic-release/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, "peer": true }, "node_modules/semantic-release/node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "peer": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" }, "engines": { "node": ">=12" } }, "node_modules/semantic-release/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, "peer": true, "dependencies": { "color-name": "~1.1.4" }, "engines": { "node": ">=7.0.0" } }, "node_modules/semantic-release/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, "peer": true }, "node_modules/semantic-release/node_modules/cosmiconfig": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", "dev": true, "peer": true, "dependencies": { "env-paths": "^2.2.1", "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", "parse-json": "^5.2.0" }, "engines": { "node": ">=14" }, "funding": { "url": "https://github.com/sponsors/d-fischer" }, "peerDependencies": { "typescript": ">=4.9.5" }, "peerDependenciesMeta": { "typescript": { "optional": true } } }, "node_modules/semantic-release/node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "peer": true, "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" }, "engines": { "node": ">= 8" } }, "node_modules/semantic-release/node_modules/execa": { "version": "9.6.0", "resolved": "https://registry.npmjs.org/execa/-/execa-9.6.0.tgz", "integrity": "sha512-jpWzZ1ZhwUmeWRhS7Qv3mhpOhLfwI+uAX4e5fOcXqwMR7EcJ0pj2kV1CVzHVMX/LphnKWD3LObjZCoJ71lKpHw==", "dev": true, "peer": true, "dependencies": { "@sindresorhus/merge-streams": "^4.0.0", "cross-spawn": "^7.0.6", "figures": "^6.1.0", "get-stream": "^9.0.0", "human-signals": "^8.0.1", "is-plain-obj": "^4.1.0", "is-stream": "^4.0.1", "npm-run-path": "^6.0.0", "pretty-ms": "^9.2.0", "signal-exit": "^4.1.0", "strip-final-newline": "^4.0.0", "yoctocolors": "^2.1.1" }, "engines": { "node": "^18.19.0 || >=20.5.0" }, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, "node_modules/semantic-release/node_modules/execa/node_modules/get-stream": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", "dev": true, "peer": true, "dependencies": { "@sec-ant/readable-stream": "^0.4.1", "is-stream": "^4.0.1" }, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/semantic-release/node_modules/figures": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", "dev": true, "peer": true, "dependencies": { "is-unicode-supported": "^2.0.0" }, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/semantic-release/node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, "peer": true, "engines": { "node": "6.* || 8.* || >= 10.*" } }, "node_modules/semantic-release/node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, "peer": true, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/semantic-release/node_modules/hosted-git-info": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", "dev": true, "peer": true, "dependencies": { "lru-cache": "^10.0.1" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/semantic-release/node_modules/import-fresh": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "dev": true, "peer": true, "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" }, "engines": { "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/semantic-release/node_modules/import-fresh/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, "peer": true, "engines": { "node": ">=4" } }, "node_modules/semantic-release/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "peer": true, "engines": { "node": ">=8" } }, "node_modules/semantic-release/node_modules/is-stream": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", "dev": true, "peer": true, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/semantic-release/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, "peer": true, "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "node_modules/semantic-release/node_modules/lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, "peer": true }, "node_modules/semantic-release/node_modules/micromatch": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, "peer": true, "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { "node": ">=8.6" } }, "node_modules/semantic-release/node_modules/npm-run-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", "dev": true, "peer": true, "dependencies": { "path-key": "^4.0.0", "unicorn-magic": "^0.3.0" }, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/semantic-release/node_modules/npm-run-path/node_modules/path-key": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, "peer": true, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/semantic-release/node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "peer": true, "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", "json-parse-even-better-errors": "^2.3.0", "lines-and-columns": "^1.1.6" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/semantic-release/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, "peer": true, "engines": { "node": ">=8" } }, "node_modules/semantic-release/node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, "peer": true, "engines": { "node": ">=8" } }, "node_modules/semantic-release/node_modules/semver": { "version": "7.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "peer": true, "bin": { "semver": "bin/semver.js" }, "engines": { "node": ">=10" } }, "node_modules/semantic-release/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, "peer": true, "dependencies": { "shebang-regex": "^3.0.0" }, "engines": { "node": ">=8" } }, "node_modules/semantic-release/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, "peer": true, "engines": { "node": ">=8" } }, "node_modules/semantic-release/node_modules/signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, "peer": true, "engines": { "node": ">=14" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/semantic-release/node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "peer": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" } }, "node_modules/semantic-release/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, "peer": true, "dependencies": { "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" } }, "node_modules/semantic-release/node_modules/typescript": { "version": "5.9.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz", "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", "dev": true, "optional": true, "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { "node": ">=14.17" } }, "node_modules/semantic-release/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, "peer": true, "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "bin/node-which" }, "engines": { "node": ">= 8" } }, "node_modules/semantic-release/node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "peer": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/semantic-release/node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, "peer": true, "engines": { "node": ">=10" } }, "node_modules/semantic-release/node_modules/yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "peer": true, "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" }, "engines": { "node": ">=12" } }, "node_modules/semantic-release/node_modules/yargs-parser": { "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, "peer": true, "engines": { "node": ">=12" } }, "node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, "bin": { "semver": "bin/semver.js" } }, "node_modules/semver-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", "dev": true, "peer": true, "dependencies": { "semver": "^7.3.5" }, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/semver-diff/node_modules/semver": { "version": "7.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "peer": true, "bin": { "semver": "bin/semver.js" }, "engines": { "node": ">=10" } }, "node_modules/semver-regex": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-4.0.5.tgz", "integrity": "sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw==", "dev": true, "peer": true, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/send": { "version": "0.17.2", "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", "dev": true, "dependencies": { "debug": "2.6.9", "depd": "~1.1.2", "destroy": "~1.0.4", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", "http-errors": "1.8.1", "mime": "1.6.0", "ms": "2.1.3", "on-finished": "~2.3.0", "range-parser": "~1.2.1", "statuses": "~1.5.0" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/send/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "node_modules/send/node_modules/depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/send/node_modules/destroy": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", "dev": true }, "node_modules/send/node_modules/http-errors": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", "dev": true, "dependencies": { "depd": "~1.1.2", "inherits": "2.0.4", "setprototypeof": "1.2.0", "statuses": ">= 1.5.0 < 2", "toidentifier": "1.0.1" }, "engines": { "node": ">= 0.6" } }, "node_modules/send/node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, "node_modules/send/node_modules/on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", "dev": true, "dependencies": { "ee-first": "1.1.1" }, "engines": { "node": ">= 0.8" } }, "node_modules/serialize-javascript": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dev": true, "dependencies": { "randombytes": "^2.1.0" } }, "node_modules/serve-static": { "version": "1.14.2", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", "dev": true, "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", "send": "0.17.2" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, "node_modules/set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "dependencies": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", "is-plain-object": "^2.0.3", "split-string": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/set-value/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "dependencies": { "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", "dev": true }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true }, "node_modules/sha.js": { "version": "2.4.11", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" }, "bin": { "sha.js": "bin.js" } }, "node_modules/shallow-clone": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, "dependencies": { "kind-of": "^6.0.2" }, "engines": { "node": ">=8" } }, "node_modules/shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "dependencies": { "shebang-regex": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/shellwords": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", "dev": true }, "node_modules/side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dev": true, "dependencies": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", "object-inspect": "^1.9.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, "node_modules/signale": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/signale/-/signale-1.4.0.tgz", "integrity": "sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==", "dev": true, "peer": true, "dependencies": { "chalk": "^2.3.2", "figures": "^2.0.0", "pkg-conf": "^2.1.0" }, "engines": { "node": ">=6" } }, "node_modules/size-limit": { "version": "0.18.5", "resolved": "https://registry.npmjs.org/size-limit/-/size-limit-0.18.5.tgz", "integrity": "sha512-zGWYAvYlrJl6ofEwavARqlirDiR6Vd46ReADV+5VxwrS7iVoIb6KGehW19nFNcUN13Bn0/2LrzB5amfrOnGbcg==", "dev": true, "dependencies": { "bytes": "^3.0.0", "chalk": "^2.4.1", "ci-job-number": "^0.3.0", "compression-webpack-plugin": "^1.1.11", "cosmiconfig": "^5.0.5", "css-loader": "^1.0.0", "escape-string-regexp": "^1.0.5", "file-loader": "^1.1.11", "globby": "^8.0.1", "gzip-size": "^5.0.0", "memory-fs": "^0.4.1", "read-pkg-up": "^4.0.0", "style-loader": "^0.21.0", "webpack": "^4.15.1", "webpack-bundle-analyzer": "^2.13.1", "yargs": "^12.0.1" }, "bin": { "size-limit": "cli.js" }, "engines": { "node": ">=6.11.5" } }, "node_modules/size-limit/node_modules/camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/size-limit/node_modules/execa": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", "dev": true, "dependencies": { "cross-spawn": "^6.0.0", "get-stream": "^4.0.0", "is-stream": "^1.1.0", "npm-run-path": "^2.0.0", "p-finally": "^1.0.0", "signal-exit": "^3.0.0", "strip-eof": "^1.0.0" }, "engines": { "node": ">=6" } }, "node_modules/size-limit/node_modules/find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "dependencies": { "locate-path": "^3.0.0" }, "engines": { "node": ">=6" } }, "node_modules/size-limit/node_modules/get-stream": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", "dev": true, "dependencies": { "pump": "^3.0.0" }, "engines": { "node": ">=6" } }, "node_modules/size-limit/node_modules/gzip-size": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", "dev": true, "dependencies": { "duplexer": "^0.1.1", "pify": "^4.0.1" }, "engines": { "node": ">=6" } }, "node_modules/size-limit/node_modules/invert-kv": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/size-limit/node_modules/lcid": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", "dev": true, "dependencies": { "invert-kv": "^2.0.0" }, "engines": { "node": ">=6" } }, "node_modules/size-limit/node_modules/load-json-file": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "dependencies": { "graceful-fs": "^4.1.2", "parse-json": "^4.0.0", "pify": "^3.0.0", "strip-bom": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/size-limit/node_modules/load-json-file/node_modules/pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/size-limit/node_modules/locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" }, "engines": { "node": ">=6" } }, "node_modules/size-limit/node_modules/mem": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", "dev": true, "dependencies": { "map-age-cleaner": "^0.1.1", "mimic-fn": "^2.0.0", "p-is-promise": "^2.0.0" }, "engines": { "node": ">=6" } }, "node_modules/size-limit/node_modules/mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/size-limit/node_modules/os-locale": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", "dev": true, "dependencies": { "execa": "^1.0.0", "lcid": "^2.0.0", "mem": "^4.0.0" }, "engines": { "node": ">=6" } }, "node_modules/size-limit/node_modules/p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "dependencies": { "p-try": "^2.0.0" }, "engines": { "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/size-limit/node_modules/p-locate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "dependencies": { "p-limit": "^2.0.0" }, "engines": { "node": ">=6" } }, "node_modules/size-limit/node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/size-limit/node_modules/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "dependencies": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" }, "engines": { "node": ">=4" } }, "node_modules/size-limit/node_modules/path-type": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, "dependencies": { "pify": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/size-limit/node_modules/path-type/node_modules/pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/size-limit/node_modules/pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/size-limit/node_modules/pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "node_modules/size-limit/node_modules/read-pkg": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", "dev": true, "dependencies": { "load-json-file": "^4.0.0", "normalize-package-data": "^2.3.2", "path-type": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/size-limit/node_modules/read-pkg-up": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", "dev": true, "dependencies": { "find-up": "^3.0.0", "read-pkg": "^3.0.0" }, "engines": { "node": ">=6" } }, "node_modules/size-limit/node_modules/strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/size-limit/node_modules/yargs": { "version": "12.0.5", "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", "dev": true, "dependencies": { "cliui": "^4.0.0", "decamelize": "^1.2.0", "find-up": "^3.0.0", "get-caller-file": "^1.0.1", "os-locale": "^3.0.0", "require-directory": "^2.1.1", "require-main-filename": "^1.0.1", "set-blocking": "^2.0.0", "string-width": "^2.0.0", "which-module": "^2.0.0", "y18n": "^3.2.1 || ^4.0.0", "yargs-parser": "^11.1.1" } }, "node_modules/size-limit/node_modules/yargs-parser": { "version": "11.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", "dev": true, "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" } }, "node_modules/skin-tone": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz", "integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==", "dev": true, "peer": true, "dependencies": { "unicode-emoji-modifier-base": "^1.0.0" }, "engines": { "node": ">=8" } }, "node_modules/slack-node": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/slack-node/-/slack-node-0.2.0.tgz", "integrity": "sha1-3kuN3aqLeT9h29KTgQT9q/N9+jA=", "dev": true, "optional": true, "dependencies": { "requestretry": "^1.2.2" } }, "node_modules/slash": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/slice-ansi": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, "dependencies": { "is-fullwidth-code-point": "^2.0.0" }, "engines": { "node": ">=4" } }, "node_modules/smart-buffer": { "version": "1.1.15", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz", "integrity": "sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY=", "dev": true, "optional": true, "engines": { "node": ">= 0.10.15", "npm": ">= 1.3.5" } }, "node_modules/smtp-connection": { "version": "2.12.0", "resolved": "https://registry.npmjs.org/smtp-connection/-/smtp-connection-2.12.0.tgz", "integrity": "sha1-1275EnyyPCJZ7bHoNJwujV4tdME=", "dev": true, "optional": true, "dependencies": { "httpntlm": "1.6.1", "nodemailer-shared": "1.1.0" } }, "node_modules/snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, "dependencies": { "base": "^0.11.1", "debug": "^2.2.0", "define-property": "^0.2.5", "extend-shallow": "^2.0.1", "map-cache": "^0.2.2", "source-map": "^0.5.6", "source-map-resolve": "^0.5.0", "use": "^3.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/snapdragon-node": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "dependencies": { "define-property": "^1.0.0", "isobject": "^3.0.0", "snapdragon-util": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/snapdragon-node/node_modules/define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "dependencies": { "is-descriptor": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/snapdragon-util": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "dependencies": { "kind-of": "^3.2.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/snapdragon-util/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/snapdragon/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/snapdragon/node_modules/define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "dependencies": { "is-descriptor": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/snapdragon/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "dependencies": { "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/snapdragon/node_modules/is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "dependencies": { "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/snapdragon/node_modules/is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "dependencies": { "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/snapdragon/node_modules/is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", "kind-of": "^5.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/snapdragon/node_modules/kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/snapdragon/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "node_modules/sntp": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", "deprecated": "This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.", "dev": true, "optional": true, "dependencies": { "hoek": "2.x.x" }, "engines": { "node": ">=0.8.0" } }, "node_modules/socket.io": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.0.4.tgz", "integrity": "sha1-waRZDO/4fs8TxyZS8Eb3FrKeYBQ=", "dev": true, "dependencies": { "debug": "~2.6.6", "engine.io": "~3.1.0", "socket.io-adapter": "~1.1.0", "socket.io-client": "2.0.4", "socket.io-parser": "~3.1.1" } }, "node_modules/socket.io-adapter": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz", "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==", "dev": true }, "node_modules/socket.io-client": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.4.tgz", "integrity": "sha1-CRilUkBtxeVAs4Dc2Xr8SmQzL44=", "dev": true, "dependencies": { "backo2": "1.0.2", "base64-arraybuffer": "0.1.5", "component-bind": "1.0.0", "component-emitter": "1.2.1", "debug": "~2.6.4", "engine.io-client": "~3.1.0", "has-cors": "1.1.0", "indexof": "0.0.1", "object-component": "0.0.3", "parseqs": "0.0.5", "parseuri": "0.0.5", "socket.io-parser": "~3.1.1", "to-array": "0.1.4" } }, "node_modules/socket.io-client/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/socket.io-client/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "node_modules/socket.io-parser": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.3.tgz", "integrity": "sha512-g0a2HPqLguqAczs3dMECuA1RgoGFPyvDqcbaDEdCWY9g59kdUAz3YRmaJBNKXflrHNwB7Q12Gkf/0CZXfdHR7g==", "dev": true, "dependencies": { "component-emitter": "1.2.1", "debug": "~3.1.0", "has-binary2": "~1.0.2", "isarray": "2.0.1" } }, "node_modules/socket.io-parser/node_modules/debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/socket.io-parser/node_modules/isarray": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", "dev": true }, "node_modules/socket.io-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "node_modules/socket.io/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/socket.io/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "node_modules/socks": { "version": "1.1.9", "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.9.tgz", "integrity": "sha1-Yo1+TQSRJDVEWsC25Fk3bLPm1pE=", "deprecated": "If using 2.x branch, please upgrade to at least 2.1.6 to avoid a serious bug with socket data flow and an import issue introduced in 2.1.0", "dev": true, "optional": true, "dependencies": { "ip": "^1.1.2", "smart-buffer": "^1.0.4" }, "engines": { "node": ">= 0.10.0", "npm": ">= 1.3.5" } }, "node_modules/socks-proxy-agent": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz", "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==", "dev": true, "optional": true, "dependencies": { "agent-base": "~4.2.1", "socks": "~2.3.2" }, "engines": { "node": ">= 6" } }, "node_modules/socks-proxy-agent/node_modules/agent-base": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", "dev": true, "optional": true, "dependencies": { "es6-promisify": "^5.0.0" }, "engines": { "node": ">= 4.0.0" } }, "node_modules/socks-proxy-agent/node_modules/smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", "dev": true, "optional": true, "engines": { "node": ">= 6.0.0", "npm": ">= 3.0.0" } }, "node_modules/socks-proxy-agent/node_modules/socks": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz", "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==", "dev": true, "optional": true, "dependencies": { "ip": "1.1.5", "smart-buffer": "^4.1.0" }, "engines": { "node": ">= 6.0.0", "npm": ">= 3.0.0" } }, "node_modules/source-list-map": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", "dev": true }, "node_modules/source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-resolve": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", "dev": true, "dependencies": { "atob": "^2.1.2", "decode-uri-component": "^0.2.0", "resolve-url": "^0.2.1", "source-map-url": "^0.4.0", "urix": "^0.1.0" } }, "node_modules/source-map-support": { "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "node_modules/source-map-support/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-url": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "deprecated": "See https://github.com/lydell/source-map-url#deprecated", "dev": true }, "node_modules/spawn-error-forwarder": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/spawn-error-forwarder/-/spawn-error-forwarder-1.0.0.tgz", "integrity": "sha512-gRjMgK5uFjbCvdibeGJuy3I5OYz6VLoVdsOJdA6wV0WlfQVLFueoqMxwwYD9RODdgb6oUIvlRlsyFSiQkMKu0g==", "dev": true, "peer": true }, "node_modules/spawn-sync": { "version": "1.0.15", "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=", "dev": true, "hasInstallScript": true, "dependencies": { "concat-stream": "^1.4.7", "os-shim": "^0.1.2" } }, "node_modules/spdx-correct": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "dev": true, "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, "node_modules/spdx-exceptions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", "dev": true }, "node_modules/spdx-expression-parse": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "node_modules/spdx-license-ids": { "version": "3.0.11", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", "dev": true }, "node_modules/split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "dependencies": { "extend-shallow": "^3.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/split2": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/split2/-/split2-1.0.0.tgz", "integrity": "sha512-NKywug4u4pX/AZBB1FCPzZ6/7O+Xhz1qMVbzTvvKvikjO99oPN87SkK08mEY9P63/5lWjK+wgOOgApnTg5r6qg==", "dev": true, "peer": true, "dependencies": { "through2": "~2.0.0" } }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, "node_modules/sshpk": { "version": "1.17.0", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", "dev": true, "dependencies": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", "bcrypt-pbkdf": "^1.0.0", "dashdash": "^1.12.0", "ecc-jsbn": "~0.1.1", "getpass": "^0.1.1", "jsbn": "~0.1.0", "safer-buffer": "^2.0.2", "tweetnacl": "~0.14.0" }, "bin": { "sshpk-conv": "bin/sshpk-conv", "sshpk-sign": "bin/sshpk-sign", "sshpk-verify": "bin/sshpk-verify" }, "engines": { "node": ">=0.10.0" } }, "node_modules/ssri": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", "dev": true, "dependencies": { "safe-buffer": "^5.1.1" } }, "node_modules/stack-utils": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", "dev": true, "dependencies": { "escape-string-regexp": "^2.0.0" }, "engines": { "node": ">=8" } }, "node_modules/stack-utils/node_modules/escape-string-regexp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dev": true, "dependencies": { "define-property": "^0.2.5", "object-copy": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/static-extend/node_modules/define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "dependencies": { "is-descriptor": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/static-extend/node_modules/is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "dependencies": { "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/static-extend/node_modules/is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "dependencies": { "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/static-extend/node_modules/is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", "kind-of": "^5.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/static-extend/node_modules/kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/stealthy-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/stream-browserify": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", "dev": true, "dependencies": { "inherits": "~2.0.1", "readable-stream": "^2.0.2" } }, "node_modules/stream-combiner2": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==", "dev": true, "peer": true, "dependencies": { "duplexer2": "~0.1.0", "readable-stream": "^2.0.2" } }, "node_modules/stream-each": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", "dev": true, "dependencies": { "end-of-stream": "^1.1.0", "stream-shift": "^1.0.0" } }, "node_modules/stream-http": { "version": "2.8.3", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", "dev": true, "dependencies": { "builtin-status-codes": "^3.0.0", "inherits": "^2.0.1", "readable-stream": "^2.3.6", "to-arraybuffer": "^1.0.0", "xtend": "^4.0.0" } }, "node_modules/stream-shift": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", "dev": true }, "node_modules/streamroller": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-0.7.0.tgz", "integrity": "sha512-WREzfy0r0zUqp3lGO096wRuUp7ho1X6uo/7DJfTlEi0Iv/4gT7YHqXDjKC2ioVGBZtE8QzsQD9nx1nIuoZ57jQ==", "dev": true, "dependencies": { "date-format": "^1.2.0", "debug": "^3.1.0", "mkdirp": "^0.5.1", "readable-stream": "^2.3.0" }, "engines": { "node": ">=0.12.0" } }, "node_modules/streamroller/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "dependencies": { "ms": "^2.1.1" } }, "node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/string-length": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", "dev": true, "dependencies": { "astral-regex": "^1.0.0", "strip-ansi": "^4.0.0" }, "engines": { "node": ">=4" } }, "node_modules/string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "dependencies": { "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" }, "engines": { "node": ">=4" } }, "node_modules/string.prototype.trimend": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/stringstream": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==", "dev": true, "optional": true }, "node_modules/strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "dependencies": { "ansi-regex": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/strip-bom": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "dependencies": { "is-utf8": "^0.2.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/strip-final-newline": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", "dev": true, "peer": true, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/strip-indent": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "dependencies": { "get-stdin": "^4.0.1" }, "bin": { "strip-indent": "cli.js" }, "engines": { "node": ">=0.10.0" } }, "node_modules/strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/style-loader": { "version": "0.21.0", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.21.0.tgz", "integrity": "sha512-T+UNsAcl3Yg+BsPKs1vd22Fr8sVT+CJMtzqc6LEw9bbJZb43lm9GoeIfUcDEefBSWC0BhYbcdupV1GtI4DGzxg==", "dev": true, "dependencies": { "loader-utils": "^1.1.0", "schema-utils": "^0.4.5" }, "engines": { "node": ">= 0.12.0" } }, "node_modules/super-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/super-regex/-/super-regex-1.0.0.tgz", "integrity": "sha512-CY8u7DtbvucKuquCmOFEKhr9Besln7n9uN8eFbwcoGYWXOMW07u2o8njWaiXt11ylS3qoGF55pILjRmPlbodyg==", "dev": true, "peer": true, "dependencies": { "function-timeout": "^1.0.1", "time-span": "^5.1.0" }, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "dependencies": { "has-flag": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/supports-hyperlinks": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.2.0.tgz", "integrity": "sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==", "dev": true, "peer": true, "dependencies": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" }, "engines": { "node": ">=14.18" }, "funding": { "url": "https://github.com/chalk/supports-hyperlinks?sponsor=1" } }, "node_modules/supports-hyperlinks/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, "peer": true, "engines": { "node": ">=8" } }, "node_modules/supports-hyperlinks/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, "peer": true, "dependencies": { "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, "node_modules/table": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", "dev": true, "dependencies": { "ajv": "^5.2.3", "ajv-keywords": "^2.1.0", "chalk": "^2.1.0", "lodash": "^4.17.4", "slice-ansi": "1.0.0", "string-width": "^2.1.1" } }, "node_modules/tapable": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/tar-stream": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "dev": true, "dependencies": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", "fs-constants": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^3.1.1" }, "engines": { "node": ">=6" } }, "node_modules/tar-stream/node_modules/readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" }, "engines": { "node": ">= 6" } }, "node_modules/temp-dir": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-3.0.0.tgz", "integrity": "sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==", "dev": true, "peer": true, "engines": { "node": ">=14.16" } }, "node_modules/tempy": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/tempy/-/tempy-3.1.0.tgz", "integrity": "sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g==", "dev": true, "peer": true, "dependencies": { "is-stream": "^3.0.0", "temp-dir": "^3.0.0", "type-fest": "^2.12.2", "unique-string": "^3.0.0" }, "engines": { "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/tempy/node_modules/is-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, "peer": true, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/tempy/node_modules/type-fest": { "version": "2.19.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", "dev": true, "peer": true, "engines": { "node": ">=12.20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/terser": { "version": "5.12.1", "resolved": "https://registry.npmjs.org/terser/-/terser-5.12.1.tgz", "integrity": "sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==", "dev": true, "dependencies": { "acorn": "^8.5.0", "commander": "^2.20.0", "source-map": "~0.7.2", "source-map-support": "~0.5.20" }, "bin": { "terser": "bin/terser" }, "engines": { "node": ">=10" } }, "node_modules/terser-webpack-plugin": { "version": "1.4.5", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", "dev": true, "dependencies": { "cacache": "^12.0.2", "find-cache-dir": "^2.1.0", "is-wsl": "^1.1.0", "schema-utils": "^1.0.0", "serialize-javascript": "^4.0.0", "source-map": "^0.6.1", "terser": "^4.1.2", "webpack-sources": "^1.4.0", "worker-farm": "^1.7.0" }, "engines": { "node": ">= 6.9.0" }, "peerDependencies": { "webpack": "^4.0.0" } }, "node_modules/terser-webpack-plugin/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, "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" } }, "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, "peerDependencies": { "ajv": "^6.9.1" } }, "node_modules/terser-webpack-plugin/node_modules/cacache": { "version": "12.0.4", "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", "dev": true, "dependencies": { "bluebird": "^3.5.5", "chownr": "^1.1.1", "figgy-pudding": "^3.5.1", "glob": "^7.1.4", "graceful-fs": "^4.1.15", "infer-owner": "^1.0.3", "lru-cache": "^5.1.1", "mississippi": "^3.0.0", "mkdirp": "^0.5.1", "move-concurrently": "^1.0.1", "promise-inflight": "^1.0.1", "rimraf": "^2.6.3", "ssri": "^6.0.1", "unique-filename": "^1.1.1", "y18n": "^4.0.0" } }, "node_modules/terser-webpack-plugin/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, "node_modules/terser-webpack-plugin/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 }, "node_modules/terser-webpack-plugin/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 }, "node_modules/terser-webpack-plugin/node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "dependencies": { "yallist": "^3.0.2" } }, "node_modules/terser-webpack-plugin/node_modules/mississippi": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", "dev": true, "dependencies": { "concat-stream": "^1.5.0", "duplexify": "^3.4.2", "end-of-stream": "^1.1.0", "flush-write-stream": "^1.0.0", "from2": "^2.1.0", "parallel-transform": "^1.1.0", "pump": "^3.0.0", "pumpify": "^1.3.3", "stream-each": "^1.1.0", "through2": "^2.0.0" }, "engines": { "node": ">=4.0.0" } }, "node_modules/terser-webpack-plugin/node_modules/pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "node_modules/terser-webpack-plugin/node_modules/schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dev": true, "dependencies": { "ajv": "^6.1.0", "ajv-errors": "^1.0.0", "ajv-keywords": "^3.1.0" }, "engines": { "node": ">= 4" } }, "node_modules/terser-webpack-plugin/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/terser-webpack-plugin/node_modules/ssri": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", "dev": true, "dependencies": { "figgy-pudding": "^3.5.1" } }, "node_modules/terser-webpack-plugin/node_modules/terser": { "version": "4.8.0", "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", "dev": true, "dependencies": { "commander": "^2.20.0", "source-map": "~0.6.1", "source-map-support": "~0.5.12" }, "bin": { "terser": "bin/terser" }, "engines": { "node": ">=6.0.0" } }, "node_modules/terser-webpack-plugin/node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, "node_modules/terser/node_modules/acorn": { "version": "8.7.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", "dev": true, "bin": { "acorn": "bin/acorn" }, "engines": { "node": ">=0.4.0" } }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, "node_modules/terser/node_modules/source-map": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", "dev": true, "engines": { "node": ">= 8" } }, "node_modules/test-exclude": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.3.tgz", "integrity": "sha512-SYbXgY64PT+4GAL2ocI3HwPa4Q4TBKm0cwAVeKOt/Aoc0gSpNRjJX8w0pA1LMKZ3LBmd8pYBqApFNQLII9kavA==", "dev": true, "dependencies": { "arrify": "^1.0.1", "micromatch": "^2.3.11", "object-assign": "^4.1.0", "read-pkg-up": "^1.0.1", "require-main-filename": "^1.0.1" } }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, "node_modules/thenify": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", "dev": true, "peer": true, "dependencies": { "any-promise": "^1.0.0" } }, "node_modules/thenify-all": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", "dev": true, "peer": true, "dependencies": { "thenify": ">= 3.1.0 < 4" }, "engines": { "node": ">=0.8" } }, "node_modules/throat": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=", "dev": true }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, "node_modules/through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" } }, "node_modules/thunkify": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz", "integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=", "dev": true, "optional": true }, "node_modules/time-span": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/time-span/-/time-span-5.1.0.tgz", "integrity": "sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==", "dev": true, "peer": true, "dependencies": { "convert-hrtime": "^5.0.0" }, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/timers-browserify": { "version": "2.0.12", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "dev": true, "dependencies": { "setimmediate": "^1.0.4" }, "engines": { "node": ">=0.6.0" } }, "node_modules/timespan": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/timespan/-/timespan-2.3.0.tgz", "integrity": "sha1-SQLOBAvRPYRcj1myfp1ZutbzmSk=", "dev": true, "optional": true, "engines": { "node": ">= 0.2.0" } }, "node_modules/tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "dependencies": { "os-tmpdir": "~1.0.2" }, "engines": { "node": ">=0.6.0" } }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", "dev": true }, "node_modules/to-array": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", "dev": true }, "node_modules/to-arraybuffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", "dev": true }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dev": true, "dependencies": { "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/to-object-path/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/to-regex": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, "dependencies": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "regex-not": "^1.0.2", "safe-regex": "^1.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "dependencies": { "is-number": "^7.0.0" }, "engines": { "node": ">=8.0" } }, "node_modules/toidentifier": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true, "engines": { "node": ">=0.6" } }, "node_modules/tough-cookie": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, "dependencies": { "psl": "^1.1.28", "punycode": "^2.1.1" }, "engines": { "node": ">=0.8" } }, "node_modules/tough-cookie/node_modules/punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/tr46": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", "dev": true, "dependencies": { "punycode": "^2.1.0" } }, "node_modules/tr46/node_modules/punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/traverse": { "version": "0.6.8", "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.8.tgz", "integrity": "sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==", "dev": true, "peer": true, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/trim-newlines": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/trim-right": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/tryer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", "dev": true }, "node_modules/tsconfig-paths": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", "dev": true, "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.1", "minimist": "^1.2.6", "strip-bom": "^3.0.0" } }, "node_modules/tsconfig-paths/node_modules/json5": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", "dev": true, "dependencies": { "minimist": "^1.2.0" }, "bin": { "json5": "lib/cli.js" } }, "node_modules/tsconfig-paths/node_modules/strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/tslib": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", "dev": true, "optional": true }, "node_modules/tsscmp": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz", "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==", "dev": true, "optional": true, "engines": { "node": ">=0.6.x" } }, "node_modules/tty-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", "dev": true }, "node_modules/tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "dependencies": { "safe-buffer": "^5.0.1" }, "engines": { "node": "*" } }, "node_modules/tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true }, "node_modules/type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "dependencies": { "prelude-ls": "~1.1.2" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/type-fest": { "version": "4.41.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true, "peer": true, "engines": { "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" }, "engines": { "node": ">= 0.6" } }, "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, "node_modules/typescript": { "version": "2.9.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==", "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { "node": ">=4.2.0" } }, "node_modules/uglify-js": { "version": "3.15.4", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.4.tgz", "integrity": "sha512-vMOPGDuvXecPs34V74qDKk4iJ/SN4vL3Ow/23ixafENYvtrNvtbcgUeugTcUGRGsOF/5fU8/NYSL5Hyb3l1OJA==", "dev": true, "optional": true, "bin": { "uglifyjs": "bin/uglifyjs" }, "engines": { "node": ">=0.8.0" } }, "node_modules/ultron": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", "dev": true }, "node_modules/unbox-primitive": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", "dev": true, "dependencies": { "function-bind": "^1.1.1", "has-bigints": "^1.0.1", "has-symbols": "^1.0.2", "which-boxed-primitive": "^1.0.2" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/underscore": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=", "dev": true, "optional": true }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/unicode-emoji-modifier-base": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", "integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==", "dev": true, "peer": true, "engines": { "node": ">=4" } }, "node_modules/unicode-match-property-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" }, "engines": { "node": ">=4" } }, "node_modules/unicode-match-property-value-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/unicode-property-aliases-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/unicorn-magic": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", "dev": true, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "dependencies": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", "set-value": "^2.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/unique-filename": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", "dev": true, "dependencies": { "unique-slug": "^2.0.0" } }, "node_modules/unique-slug": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", "dev": true, "dependencies": { "imurmurhash": "^0.1.4" } }, "node_modules/unique-string": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", "dev": true, "peer": true, "dependencies": { "crypto-random-string": "^4.0.0" }, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/universal-user-agent": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz", "integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==", "dev": true }, "node_modules/universalify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "dev": true, "peer": true, "engines": { "node": ">= 10.0.0" } }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", "dev": true, "engines": { "node": ">= 0.8" } }, "node_modules/unset-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, "dependencies": { "has-value": "^0.3.1", "isobject": "^3.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/unset-value/node_modules/has-value": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "dev": true, "dependencies": { "get-value": "^2.0.3", "has-values": "^0.1.4", "isobject": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", "dev": true, "dependencies": { "isarray": "1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/unset-value/node_modules/has-values": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/upath": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "dev": true, "engines": { "node": ">=4", "yarn": "*" } }, "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, "dependencies": { "punycode": "^2.1.0" } }, "node_modules/uri-js/node_modules/punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "deprecated": "Please see https://github.com/lydell/urix#deprecated", "dev": true }, "node_modules/url": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", "dev": true, "dependencies": { "punycode": "1.3.2", "querystring": "0.2.0" } }, "node_modules/url-join": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/url-join/-/url-join-5.0.0.tgz", "integrity": "sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==", "dev": true, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, "node_modules/url-parse": { "version": "1.4.7", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", "dev": true, "optional": true, "dependencies": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" } }, "node_modules/url/node_modules/punycode": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", "dev": true }, "node_modules/use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/useragent": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.2.1.tgz", "integrity": "sha1-z1k+9PLRdYdei7ZY6pLhik/QbY4=", "dev": true, "dependencies": { "lru-cache": "2.2.x", "tmp": "0.0.x" } }, "node_modules/useragent/node_modules/lru-cache": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.2.4.tgz", "integrity": "sha1-bGWGGb7PFAMdDQtZSxYELOTcBj0=", "dev": true }, "node_modules/util": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", "dev": true, "dependencies": { "inherits": "2.0.3" } }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, "node_modules/util.promisify": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", "dev": true, "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", "for-each": "^0.3.3", "has-symbols": "^1.0.1", "object.getownpropertydescriptors": "^2.1.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/util/node_modules/inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", "dev": true, "engines": { "node": ">= 0.4.0" } }, "node_modules/uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", "dev": true, "bin": { "uuid": "bin/uuid" } }, "node_modules/uws": { "version": "9.14.0", "resolved": "https://registry.npmjs.org/uws/-/uws-9.14.0.tgz", "integrity": "sha512-HNMztPP5A1sKuVFmdZ6BPVpBQd5bUjNC8EFMFiICK+oho/OQsAJy5hnIx4btMHiOk8j04f/DbIlqnEZ9d72dqg==", "deprecated": "New code is available at github.com/uNetworking/uWebSockets.js", "dev": true, "hasInstallScript": true, "optional": true, "engines": { "node": ">=4" } }, "node_modules/v8flags": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", "dev": true, "dependencies": { "homedir-polyfill": "^1.0.1" }, "engines": { "node": ">= 0.10" } }, "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" } }, "node_modules/vargs": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/vargs/-/vargs-0.1.0.tgz", "integrity": "sha1-a2GE2mUgzDIEzhtAfKwm2SYJ6/8=", "dev": true, "engines": { "node": ">=0.1.93" } }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", "dev": true, "engines": { "node": ">= 0.8" } }, "node_modules/verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "engines": [ "node >=0.6.0" ], "dependencies": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", "extsprintf": "^1.2.0" } }, "node_modules/verror/node_modules/core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, "node_modules/vm-browserify": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", "dev": true }, "node_modules/void-elements": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", "dev": true, "dependencies": { "browser-process-hrtime": "^1.0.0" } }, "node_modules/walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, "dependencies": { "makeerror": "1.0.12" } }, "node_modules/watch": { "version": "0.18.0", "resolved": "https://registry.npmjs.org/watch/-/watch-0.18.0.tgz", "integrity": "sha1-KAlUdsbffJDJYxOJkMClQj60uYY=", "dev": true, "dependencies": { "exec-sh": "^0.2.0", "minimist": "^1.2.0" }, "bin": { "watch": "cli.js" }, "engines": { "node": ">=0.1.95" } }, "node_modules/watchpack": { "version": "1.7.5", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "dev": true, "dependencies": { "graceful-fs": "^4.1.2", "neo-async": "^2.5.0" }, "optionalDependencies": { "chokidar": "^3.4.1", "watchpack-chokidar2": "^2.0.1" } }, "node_modules/watchpack-chokidar2": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", "dev": true, "optional": true, "dependencies": { "chokidar": "^2.1.8" } }, "node_modules/watchpack-chokidar2/node_modules/anymatch": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, "optional": true, "dependencies": { "micromatch": "^3.1.4", "normalize-path": "^2.1.1" } }, "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "optional": true, "dependencies": { "remove-trailing-separator": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/watchpack-chokidar2/node_modules/arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true, "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/watchpack-chokidar2/node_modules/array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true, "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true, "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/watchpack-chokidar2/node_modules/braces": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "optional": true, "dependencies": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", "extend-shallow": "^2.0.1", "fill-range": "^4.0.0", "isobject": "^3.0.1", "repeat-element": "^1.1.2", "snapdragon": "^0.8.1", "snapdragon-node": "^2.0.1", "split-string": "^3.0.2", "to-regex": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "optional": true, "dependencies": { "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/watchpack-chokidar2/node_modules/chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", "dev": true, "optional": true, "dependencies": { "anymatch": "^2.0.0", "async-each": "^1.0.1", "braces": "^2.3.2", "glob-parent": "^3.1.0", "inherits": "^2.0.3", "is-binary-path": "^1.0.0", "is-glob": "^4.0.0", "normalize-path": "^3.0.0", "path-is-absolute": "^1.0.0", "readdirp": "^2.2.1", "upath": "^1.1.1" }, "optionalDependencies": { "fsevents": "^1.2.7" } }, "node_modules/watchpack-chokidar2/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "optional": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/watchpack-chokidar2/node_modules/expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "optional": true, "dependencies": { "debug": "^2.3.3", "define-property": "^0.2.5", "extend-shallow": "^2.0.1", "posix-character-classes": "^0.1.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/watchpack-chokidar2/node_modules/expand-brackets/node_modules/define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "optional": true, "dependencies": { "is-descriptor": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/watchpack-chokidar2/node_modules/expand-brackets/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "optional": true, "dependencies": { "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/watchpack-chokidar2/node_modules/expand-brackets/node_modules/is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "optional": true, "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", "kind-of": "^5.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/watchpack-chokidar2/node_modules/expand-brackets/node_modules/kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/watchpack-chokidar2/node_modules/extglob": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "optional": true, "dependencies": { "array-unique": "^0.3.2", "define-property": "^1.0.0", "expand-brackets": "^2.1.4", "extend-shallow": "^2.0.1", "fragment-cache": "^0.2.1", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/watchpack-chokidar2/node_modules/extglob/node_modules/define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "optional": true, "dependencies": { "is-descriptor": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/watchpack-chokidar2/node_modules/extglob/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "optional": true, "dependencies": { "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/watchpack-chokidar2/node_modules/fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "optional": true, "dependencies": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", "repeat-string": "^1.6.1", "to-regex-range": "^2.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "optional": true, "dependencies": { "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/watchpack-chokidar2/node_modules/fsevents": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", "dev": true, "hasInstallScript": true, "optional": true, "os": [ "darwin" ], "dependencies": { "bindings": "^1.5.0", "nan": "^2.12.1" }, "engines": { "node": ">= 4.0" } }, "node_modules/watchpack-chokidar2/node_modules/glob-parent": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "dev": true, "optional": true, "dependencies": { "is-glob": "^3.1.0", "path-dirname": "^1.0.0" } }, "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "dev": true, "optional": true, "dependencies": { "is-extglob": "^2.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/watchpack-chokidar2/node_modules/is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "optional": true, "dependencies": { "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/watchpack-chokidar2/node_modules/is-accessor-descriptor/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "optional": true, "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "optional": true, "dependencies": { "binary-extensions": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/watchpack-chokidar2/node_modules/is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "optional": true, "dependencies": { "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/watchpack-chokidar2/node_modules/is-data-descriptor/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "optional": true, "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/watchpack-chokidar2/node_modules/is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "optional": true, "dependencies": { "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "optional": true, "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/watchpack-chokidar2/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "optional": true, "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", "braces": "^2.3.1", "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "extglob": "^2.0.4", "fragment-cache": "^0.2.1", "kind-of": "^6.0.2", "nanomatch": "^1.2.9", "object.pick": "^1.3.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/watchpack-chokidar2/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true, "optional": true }, "node_modules/watchpack-chokidar2/node_modules/readdirp": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "dev": true, "optional": true, "dependencies": { "graceful-fs": "^4.1.11", "micromatch": "^3.1.10", "readable-stream": "^2.0.2" }, "engines": { "node": ">=0.10" } }, "node_modules/watchpack-chokidar2/node_modules/repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true, "optional": true, "engines": { "node": ">=0.10" } }, "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "optional": true, "dependencies": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/wd": { "version": "1.14.0", "resolved": "https://registry.npmjs.org/wd/-/wd-1.14.0.tgz", "integrity": "sha512-X7ZfGHHYlQ5zYpRlgP16LUsvYti+Al/6fz3T/ClVyivVCpCZQpESTDdz6zbK910O5OIvujO23Ym2DBBo3XsQlA==", "dev": true, "engines": [ "node" ], "hasInstallScript": true, "dependencies": { "archiver": "^3.0.0", "async": "^2.0.0", "lodash": "^4.0.0", "mkdirp": "^0.5.1", "q": "^1.5.1", "request": "2.88.0", "vargs": "^0.1.0" }, "bin": { "wd": "lib/bin.js" } }, "node_modules/wd/node_modules/qs": { "version": "6.5.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", "dev": true, "engines": { "node": ">=0.6" } }, "node_modules/wd/node_modules/request": { "version": "2.88.0", "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", "dev": true, "dependencies": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", "caseless": "~0.12.0", "combined-stream": "~1.0.6", "extend": "~3.0.2", "forever-agent": "~0.6.1", "form-data": "~2.3.2", "har-validator": "~5.1.0", "http-signature": "~1.2.0", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", "json-stringify-safe": "~5.0.1", "mime-types": "~2.1.19", "oauth-sign": "~0.9.0", "performance-now": "^2.1.0", "qs": "~6.5.2", "safe-buffer": "^5.1.2", "tough-cookie": "~2.4.3", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" }, "engines": { "node": ">= 4" } }, "node_modules/wd/node_modules/tough-cookie": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "dev": true, "dependencies": { "psl": "^1.1.24", "punycode": "^1.4.1" }, "engines": { "node": ">=0.8" } }, "node_modules/webidl-conversions": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", "dev": true }, "node_modules/webpack": { "version": "4.46.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", "dev": true, "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-module-context": "1.9.0", "@webassemblyjs/wasm-edit": "1.9.0", "@webassemblyjs/wasm-parser": "1.9.0", "acorn": "^6.4.1", "ajv": "^6.10.2", "ajv-keywords": "^3.4.1", "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^4.5.0", "eslint-scope": "^4.0.3", "json-parse-better-errors": "^1.0.2", "loader-runner": "^2.4.0", "loader-utils": "^1.2.3", "memory-fs": "^0.4.1", "micromatch": "^3.1.10", "mkdirp": "^0.5.3", "neo-async": "^2.6.1", "node-libs-browser": "^2.2.1", "schema-utils": "^1.0.0", "tapable": "^1.1.3", "terser-webpack-plugin": "^1.4.3", "watchpack": "^1.7.4", "webpack-sources": "^1.4.1" }, "bin": { "webpack": "bin/webpack.js" }, "engines": { "node": ">=6.11.5" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependenciesMeta": { "webpack-cli": { "optional": true }, "webpack-command": { "optional": true } } }, "node_modules/webpack-bundle-analyzer": { "version": "2.13.1", "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.13.1.tgz", "integrity": "sha512-rwxyfecTAxoarCC9VlHlIpfQCmmJ/qWD5bpbjkof+7HrNhTNZIwZITxN6CdlYL2axGmwNUQ+tFgcSOiNXMf/sQ==", "dev": true, "dependencies": { "acorn": "^5.3.0", "bfj-node4": "^5.2.0", "chalk": "^2.3.0", "commander": "^2.13.0", "ejs": "^2.5.7", "express": "^4.16.2", "filesize": "^3.5.11", "gzip-size": "^4.1.0", "lodash": "^4.17.4", "mkdirp": "^0.5.1", "opener": "^1.4.3", "ws": "^4.0.0" }, "bin": { "webpack-bundle-analyzer": "lib/bin/analyzer.js" }, "engines": { "node": ">= 4" } }, "node_modules/webpack-bundle-analyzer/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, "node_modules/webpack-bundle-analyzer/node_modules/ws": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/ws/-/ws-4.1.0.tgz", "integrity": "sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==", "dev": true, "dependencies": { "async-limiter": "~1.0.0", "safe-buffer": "~5.1.0" } }, "node_modules/webpack-sources": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, "dependencies": { "source-list-map": "^2.0.0", "source-map": "~0.6.1" } }, "node_modules/webpack-sources/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/webpack/node_modules/acorn": { "version": "6.4.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true, "bin": { "acorn": "bin/acorn" }, "engines": { "node": ">=0.4.0" } }, "node_modules/webpack/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, "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" } }, "node_modules/webpack/node_modules/ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, "peerDependencies": { "ajv": "^6.9.1" } }, "node_modules/webpack/node_modules/arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/webpack/node_modules/array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/webpack/node_modules/braces": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "dependencies": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", "extend-shallow": "^2.0.1", "fill-range": "^4.0.0", "isobject": "^3.0.1", "repeat-element": "^1.1.2", "snapdragon": "^0.8.1", "snapdragon-node": "^2.0.1", "split-string": "^3.0.2", "to-regex": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/webpack/node_modules/braces/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "dependencies": { "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/webpack/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/webpack/node_modules/eslint-scope": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "dev": true, "dependencies": { "esrecurse": "^4.1.0", "estraverse": "^4.1.1" }, "engines": { "node": ">=4.0.0" } }, "node_modules/webpack/node_modules/expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "dependencies": { "debug": "^2.3.3", "define-property": "^0.2.5", "extend-shallow": "^2.0.1", "posix-character-classes": "^0.1.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/webpack/node_modules/expand-brackets/node_modules/define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "dependencies": { "is-descriptor": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/webpack/node_modules/expand-brackets/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "dependencies": { "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/webpack/node_modules/expand-brackets/node_modules/is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", "kind-of": "^5.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/webpack/node_modules/expand-brackets/node_modules/kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/webpack/node_modules/extglob": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "dependencies": { "array-unique": "^0.3.2", "define-property": "^1.0.0", "expand-brackets": "^2.1.4", "extend-shallow": "^2.0.1", "fragment-cache": "^0.2.1", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/webpack/node_modules/extglob/node_modules/define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "dependencies": { "is-descriptor": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/webpack/node_modules/extglob/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "dependencies": { "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/webpack/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 }, "node_modules/webpack/node_modules/fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "dependencies": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", "repeat-string": "^1.6.1", "to-regex-range": "^2.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/webpack/node_modules/fill-range/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "dependencies": { "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/webpack/node_modules/is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "dependencies": { "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/webpack/node_modules/is-accessor-descriptor/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/webpack/node_modules/is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "dependencies": { "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/webpack/node_modules/is-data-descriptor/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/webpack/node_modules/is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "dependencies": { "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/webpack/node_modules/is-number/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/webpack/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 }, "node_modules/webpack/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", "braces": "^2.3.1", "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "extglob": "^2.0.4", "fragment-cache": "^0.2.1", "kind-of": "^6.0.2", "nanomatch": "^1.2.9", "object.pick": "^1.3.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/webpack/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "node_modules/webpack/node_modules/repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true, "engines": { "node": ">=0.10" } }, "node_modules/webpack/node_modules/schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dev": true, "dependencies": { "ajv": "^6.1.0", "ajv-errors": "^1.0.0", "ajv-keywords": "^3.1.0" }, "engines": { "node": ">= 4" } }, "node_modules/webpack/node_modules/to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "dependencies": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/whatwg-encoding": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", "dev": true, "dependencies": { "iconv-lite": "0.4.24" } }, "node_modules/whatwg-mimetype": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", "dev": true }, "node_modules/whatwg-url": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", "dev": true, "dependencies": { "lodash.sortby": "^4.7.0", "tr46": "^1.0.1", "webidl-conversions": "^4.0.2" } }, "node_modules/when": { "version": "3.7.8", "resolved": "https://registry.npmjs.org/when/-/when-3.7.8.tgz", "integrity": "sha1-xxMLan6gRpPoQs3J56Hyqjmjn4I=", "dev": true, "optional": true }, "node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "dependencies": { "isexe": "^2.0.0" }, "bin": { "which": "bin/which" } }, "node_modules/which-boxed-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, "dependencies": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", "is-number-object": "^1.0.4", "is-string": "^1.0.5", "is-symbol": "^1.0.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, "node_modules/with-callback": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/with-callback/-/with-callback-1.0.2.tgz", "integrity": "sha1-oJYpuakgAo1yFAT7Q1vc/1yRvCE=", "dev": true, "optional": true, "engines": { "node": ">=4" } }, "node_modules/word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", "dev": true }, "node_modules/worker-farm": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", "dev": true, "dependencies": { "errno": "~0.1.7" } }, "node_modules/wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "dependencies": { "string-width": "^1.0.1", "strip-ansi": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/wrap-ansi/node_modules/ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "dependencies": { "number-is-nan": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/wrap-ansi/node_modules/string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "dependencies": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", "strip-ansi": "^3.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/wrap-ansi/node_modules/strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "dependencies": { "ansi-regex": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "node_modules/write": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "dependencies": { "mkdirp": "^0.5.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/write-file-atomic": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", "dev": true, "dependencies": { "graceful-fs": "^4.1.11", "imurmurhash": "^0.1.4", "signal-exit": "^3.0.2" } }, "node_modules/ws": { "version": "5.2.3", "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.3.tgz", "integrity": "sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==", "dev": true, "dependencies": { "async-limiter": "~1.0.0" } }, "node_modules/xml-name-validator": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", "dev": true }, "node_modules/xmlhttprequest-ssl": { "version": "1.5.5", "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=", "dev": true, "engines": { "node": ">=0.4.0" } }, "node_modules/xregexp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz", "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=", "dev": true, "optional": true, "engines": { "node": "*" } }, "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true, "engines": { "node": ">=0.4" } }, "node_modules/y18n": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, "node_modules/yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true }, "node_modules/yargs": { "version": "10.1.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.1.2.tgz", "integrity": "sha512-ivSoxqBGYOqQVruxD35+EyCFDYNEFL/Uo6FcOnz+9xZdZzK0Zzw4r4KhbrME1Oo2gOggwJod2MnsdamSG7H9ig==", "dev": true, "dependencies": { "cliui": "^4.0.0", "decamelize": "^1.1.1", "find-up": "^2.1.0", "get-caller-file": "^1.0.1", "os-locale": "^2.0.0", "require-directory": "^2.1.1", "require-main-filename": "^1.0.1", "set-blocking": "^2.0.0", "string-width": "^2.0.0", "which-module": "^2.0.0", "y18n": "^3.2.1", "yargs-parser": "^8.1.0" } }, "node_modules/yargs-parser": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz", "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==", "dev": true, "dependencies": { "camelcase": "^4.1.0" } }, "node_modules/yargs-parser/node_modules/camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/yargs/node_modules/y18n": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", "dev": true }, "node_modules/yeast": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", "dev": true }, "node_modules/yoctocolors": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz", "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==", "dev": true, "peer": true, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/zip-stream": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-2.1.3.tgz", "integrity": "sha512-EkXc2JGcKhO5N5aZ7TmuNo45budRaFGHOmz24wtJR7znbNqDPmdZtUauKX6et8KAVseAMBOyWJqEpXcHTBsh7Q==", "dev": true, "dependencies": { "archiver-utils": "^2.1.0", "compress-commons": "^2.1.1", "readable-stream": "^3.4.0" }, "engines": { "node": ">= 6" } }, "node_modules/zip-stream/node_modules/readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" }, "engines": { "node": ">= 6" } } }, "dependencies": { "@ampproject/remapping": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", "dev": true, "requires": { "@jridgewell/trace-mapping": "^0.3.0" } }, "@babel/cli": { "version": "7.17.6", "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.17.6.tgz", "integrity": "sha512-l4w608nsDNlxZhiJ5tE3DbNmr61fIKMZ6fTBo171VEFuFMIYuJ3mHRhTLEkKKyvx2Mizkkv/0a8OJOnZqkKYNA==", "dev": true, "requires": { "@jridgewell/trace-mapping": "^0.3.4", "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", "chokidar": "^3.4.0", "commander": "^4.0.1", "convert-source-map": "^1.1.0", "fs-readdir-recursive": "^1.1.0", "glob": "^7.0.0", "make-dir": "^2.1.0", "slash": "^2.0.0", "source-map": "^0.5.0" } }, "@babel/code-frame": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "@babel/compat-data": { "version": "7.17.7", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz", "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==", "dev": true }, "@babel/core": { "version": "7.17.9", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.9.tgz", "integrity": "sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw==", "dev": true, "requires": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.16.7", "@babel/generator": "^7.17.9", "@babel/helper-compilation-targets": "^7.17.7", "@babel/helper-module-transforms": "^7.17.7", "@babel/helpers": "^7.17.9", "@babel/parser": "^7.17.9", "@babel/template": "^7.16.7", "@babel/traverse": "^7.17.9", "@babel/types": "^7.17.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.1", "semver": "^6.3.0" } }, "@babel/generator": { "version": "7.17.9", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz", "integrity": "sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==", "dev": true, "requires": { "@babel/types": "^7.17.0", "jsesc": "^2.5.1", "source-map": "^0.5.0" } }, "@babel/helper-annotate-as-pure": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", "dev": true, "requires": { "@babel/types": "^7.16.7" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", "dev": true, "requires": { "@babel/helper-explode-assignable-expression": "^7.16.7", "@babel/types": "^7.16.7" } }, "@babel/helper-compilation-targets": { "version": "7.17.7", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz", "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==", "dev": true, "requires": { "@babel/compat-data": "^7.17.7", "@babel/helper-validator-option": "^7.16.7", "browserslist": "^4.17.5", "semver": "^6.3.0" } }, "@babel/helper-create-class-features-plugin": { "version": "7.17.9", "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz", "integrity": "sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.7", "@babel/helper-environment-visitor": "^7.16.7", "@babel/helper-function-name": "^7.17.9", "@babel/helper-member-expression-to-functions": "^7.17.7", "@babel/helper-optimise-call-expression": "^7.16.7", "@babel/helper-replace-supers": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7" } }, "@babel/helper-create-regexp-features-plugin": { "version": "7.17.0", "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz", "integrity": "sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.7", "regexpu-core": "^5.0.1" } }, "@babel/helper-define-polyfill-provider": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", "dev": true, "requires": { "@babel/helper-compilation-targets": "^7.13.0", "@babel/helper-module-imports": "^7.12.13", "@babel/helper-plugin-utils": "^7.13.0", "@babel/traverse": "^7.13.0", "debug": "^4.1.1", "lodash.debounce": "^4.0.8", "resolve": "^1.14.2", "semver": "^6.1.2" } }, "@babel/helper-environment-visitor": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", "dev": true, "requires": { "@babel/types": "^7.16.7" } }, "@babel/helper-explode-assignable-expression": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", "dev": true, "requires": { "@babel/types": "^7.16.7" } }, "@babel/helper-function-name": { "version": "7.17.9", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", "dev": true, "requires": { "@babel/template": "^7.16.7", "@babel/types": "^7.17.0" } }, "@babel/helper-hoist-variables": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", "dev": true, "requires": { "@babel/types": "^7.16.7" } }, "@babel/helper-member-expression-to-functions": { "version": "7.17.7", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz", "integrity": "sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==", "dev": true, "requires": { "@babel/types": "^7.17.0" } }, "@babel/helper-module-imports": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", "dev": true, "requires": { "@babel/types": "^7.16.7" } }, "@babel/helper-module-transforms": { "version": "7.17.7", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz", "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==", "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.16.7", "@babel/helper-module-imports": "^7.16.7", "@babel/helper-simple-access": "^7.17.7", "@babel/helper-split-export-declaration": "^7.16.7", "@babel/helper-validator-identifier": "^7.16.7", "@babel/template": "^7.16.7", "@babel/traverse": "^7.17.3", "@babel/types": "^7.17.0" } }, "@babel/helper-optimise-call-expression": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", "dev": true, "requires": { "@babel/types": "^7.16.7" } }, "@babel/helper-plugin-utils": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", "dev": true }, "@babel/helper-remap-async-to-generator": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.7", "@babel/helper-wrap-function": "^7.16.8", "@babel/types": "^7.16.8" } }, "@babel/helper-replace-supers": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.16.7", "@babel/helper-member-expression-to-functions": "^7.16.7", "@babel/helper-optimise-call-expression": "^7.16.7", "@babel/traverse": "^7.16.7", "@babel/types": "^7.16.7" } }, "@babel/helper-simple-access": { "version": "7.17.7", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz", "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==", "dev": true, "requires": { "@babel/types": "^7.17.0" } }, "@babel/helper-skip-transparent-expression-wrappers": { "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", "dev": true, "requires": { "@babel/types": "^7.16.0" } }, "@babel/helper-split-export-declaration": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", "dev": true, "requires": { "@babel/types": "^7.16.7" } }, "@babel/helper-validator-identifier": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", "dev": true }, "@babel/helper-validator-option": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", "dev": true }, "@babel/helper-wrap-function": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", "dev": true, "requires": { "@babel/helper-function-name": "^7.16.7", "@babel/template": "^7.16.7", "@babel/traverse": "^7.16.8", "@babel/types": "^7.16.8" } }, "@babel/helpers": { "version": "7.17.9", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz", "integrity": "sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==", "dev": true, "requires": { "@babel/template": "^7.16.7", "@babel/traverse": "^7.17.9", "@babel/types": "^7.17.0" } }, "@babel/node": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/node/-/node-7.16.8.tgz", "integrity": "sha512-V2dopEtPUL4LD+e8UtMIZB6BbsmMsS/7E1ZAvWNINzBfi7Cf3X9MLCpzHVZT4HeeF1lQl72IRtqqVt2RUImwyA==", "dev": true, "requires": { "@babel/register": "^7.16.8", "commander": "^4.0.1", "core-js": "^3.20.2", "node-environment-flags": "^1.0.5", "regenerator-runtime": "^0.13.4", "v8flags": "^3.1.1" } }, "@babel/parser": { "version": "7.17.9", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.9.tgz", "integrity": "sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==", "dev": true }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", "@babel/plugin-proposal-optional-chaining": "^7.16.7" } }, "@babel/plugin-proposal-async-generator-functions": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-remap-async-to-generator": "^7.16.8", "@babel/plugin-syntax-async-generators": "^7.8.4" } }, "@babel/plugin-proposal-class-properties": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", "dev": true, "requires": { "@babel/helper-create-class-features-plugin": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-proposal-class-static-block": { "version": "7.17.6", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz", "integrity": "sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==", "dev": true, "requires": { "@babel/helper-create-class-features-plugin": "^7.17.6", "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-class-static-block": "^7.14.5" } }, "@babel/plugin-proposal-dynamic-import": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3" } }, "@babel/plugin-proposal-export-namespace-from": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-proposal-json-strings": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-json-strings": "^7.8.3" } }, "@babel/plugin-proposal-logical-assignment-operators": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, "@babel/plugin-proposal-numeric-separator": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, "@babel/plugin-proposal-object-rest-spread": { "version": "7.17.3", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz", "integrity": "sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==", "dev": true, "requires": { "@babel/compat-data": "^7.17.0", "@babel/helper-compilation-targets": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-transform-parameters": "^7.16.7" } }, "@babel/plugin-proposal-optional-catch-binding": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" } }, "@babel/plugin-proposal-optional-chaining": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, "@babel/plugin-proposal-private-methods": { "version": "7.16.11", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz", "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==", "dev": true, "requires": { "@babel/helper-create-class-features-plugin": "^7.16.10", "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-proposal-private-property-in-object": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.7", "@babel/helper-create-class-features-plugin": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, "@babel/plugin-proposal-unicode-property-regex": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-syntax-async-generators": { "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } }, "@babel/plugin-syntax-class-properties": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-syntax-class-static-block": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } }, "@babel/plugin-syntax-export-namespace-from": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-syntax-json-strings": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } }, "@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } }, "@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } }, "@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } }, "@babel/plugin-syntax-optional-chaining": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } }, "@babel/plugin-syntax-private-property-in-object": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-syntax-top-level-await": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-arrow-functions": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-async-to-generator": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-remap-async-to-generator": "^7.16.8" } }, "@babel/plugin-transform-block-scoped-functions": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-block-scoping": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-classes": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.7", "@babel/helper-environment-visitor": "^7.16.7", "@babel/helper-function-name": "^7.16.7", "@babel/helper-optimise-call-expression": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-replace-supers": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-destructuring": { "version": "7.17.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz", "integrity": "sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-dotall-regex": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-duplicate-keys": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-exponentiation-operator": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", "dev": true, "requires": { "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-for-of": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-function-name": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", "dev": true, "requires": { "@babel/helper-compilation-targets": "^7.16.7", "@babel/helper-function-name": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-literals": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-member-expression-literals": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-modules-amd": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", "dev": true, "requires": { "@babel/helper-module-transforms": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { "version": "7.17.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz", "integrity": "sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==", "dev": true, "requires": { "@babel/helper-module-transforms": "^7.17.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-simple-access": "^7.17.7", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { "version": "7.17.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz", "integrity": "sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==", "dev": true, "requires": { "@babel/helper-hoist-variables": "^7.16.7", "@babel/helper-module-transforms": "^7.17.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-validator-identifier": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", "dev": true, "requires": { "@babel/helper-module-transforms": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-named-capturing-groups-regex": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.16.7" } }, "@babel/plugin-transform-new-target": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-object-super": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-replace-supers": "^7.16.7" } }, "@babel/plugin-transform-parameters": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-property-literals": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-regenerator": { "version": "7.17.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz", "integrity": "sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==", "dev": true, "requires": { "regenerator-transform": "^0.15.0" } }, "@babel/plugin-transform-reserved-words": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-shorthand-properties": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-spread": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" } }, "@babel/plugin-transform-sticky-regex": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-template-literals": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-typeof-symbol": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-unicode-escapes": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-unicode-regex": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/preset-env": { "version": "7.16.11", "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz", "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==", "dev": true, "requires": { "@babel/compat-data": "^7.16.8", "@babel/helper-compilation-targets": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-validator-option": "^7.16.7", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", "@babel/plugin-proposal-async-generator-functions": "^7.16.8", "@babel/plugin-proposal-class-properties": "^7.16.7", "@babel/plugin-proposal-class-static-block": "^7.16.7", "@babel/plugin-proposal-dynamic-import": "^7.16.7", "@babel/plugin-proposal-export-namespace-from": "^7.16.7", "@babel/plugin-proposal-json-strings": "^7.16.7", "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", "@babel/plugin-proposal-numeric-separator": "^7.16.7", "@babel/plugin-proposal-object-rest-spread": "^7.16.7", "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", "@babel/plugin-proposal-optional-chaining": "^7.16.7", "@babel/plugin-proposal-private-methods": "^7.16.11", "@babel/plugin-proposal-private-property-in-object": "^7.16.7", "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", "@babel/plugin-syntax-numeric-separator": "^7.10.4", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-transform-arrow-functions": "^7.16.7", "@babel/plugin-transform-async-to-generator": "^7.16.8", "@babel/plugin-transform-block-scoped-functions": "^7.16.7", "@babel/plugin-transform-block-scoping": "^7.16.7", "@babel/plugin-transform-classes": "^7.16.7", "@babel/plugin-transform-computed-properties": "^7.16.7", "@babel/plugin-transform-destructuring": "^7.16.7", "@babel/plugin-transform-dotall-regex": "^7.16.7", "@babel/plugin-transform-duplicate-keys": "^7.16.7", "@babel/plugin-transform-exponentiation-operator": "^7.16.7", "@babel/plugin-transform-for-of": "^7.16.7", "@babel/plugin-transform-function-name": "^7.16.7", "@babel/plugin-transform-literals": "^7.16.7", "@babel/plugin-transform-member-expression-literals": "^7.16.7", "@babel/plugin-transform-modules-amd": "^7.16.7", "@babel/plugin-transform-modules-commonjs": "^7.16.8", "@babel/plugin-transform-modules-systemjs": "^7.16.7", "@babel/plugin-transform-modules-umd": "^7.16.7", "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", "@babel/plugin-transform-new-target": "^7.16.7", "@babel/plugin-transform-object-super": "^7.16.7", "@babel/plugin-transform-parameters": "^7.16.7", "@babel/plugin-transform-property-literals": "^7.16.7", "@babel/plugin-transform-regenerator": "^7.16.7", "@babel/plugin-transform-reserved-words": "^7.16.7", "@babel/plugin-transform-shorthand-properties": "^7.16.7", "@babel/plugin-transform-spread": "^7.16.7", "@babel/plugin-transform-sticky-regex": "^7.16.7", "@babel/plugin-transform-template-literals": "^7.16.7", "@babel/plugin-transform-typeof-symbol": "^7.16.7", "@babel/plugin-transform-unicode-escapes": "^7.16.7", "@babel/plugin-transform-unicode-regex": "^7.16.7", "@babel/preset-modules": "^0.1.5", "@babel/types": "^7.16.8", "babel-plugin-polyfill-corejs2": "^0.3.0", "babel-plugin-polyfill-corejs3": "^0.5.0", "babel-plugin-polyfill-regenerator": "^0.3.0", "core-js-compat": "^3.20.2", "semver": "^6.3.0" } }, "@babel/preset-modules": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", "@babel/plugin-transform-dotall-regex": "^7.4.4", "@babel/types": "^7.4.4", "esutils": "^2.0.2" } }, "@babel/register": { "version": "7.17.7", "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.17.7.tgz", "integrity": "sha512-fg56SwvXRifootQEDQAu1mKdjh5uthPzdO0N6t358FktfL4XjAVXuH58ULoiW8mesxiOgNIrxiImqEwv0+hRRA==", "dev": true, "requires": { "clone-deep": "^4.0.1", "find-cache-dir": "^2.0.0", "make-dir": "^2.1.0", "pirates": "^4.0.5", "source-map-support": "^0.5.16" } }, "@babel/runtime": { "version": "7.17.9", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz", "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==", "dev": true, "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/template": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", "dev": true, "requires": { "@babel/code-frame": "^7.16.7", "@babel/parser": "^7.16.7", "@babel/types": "^7.16.7" } }, "@babel/traverse": { "version": "7.17.9", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.9.tgz", "integrity": "sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==", "dev": true, "requires": { "@babel/code-frame": "^7.16.7", "@babel/generator": "^7.17.9", "@babel/helper-environment-visitor": "^7.16.7", "@babel/helper-function-name": "^7.17.9", "@babel/helper-hoist-variables": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7", "@babel/parser": "^7.17.9", "@babel/types": "^7.17.0", "debug": "^4.1.0", "globals": "^11.1.0" } }, "@babel/types": { "version": "7.17.0", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.16.7", "to-fast-properties": "^2.0.0" } }, "@colors/colors": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", "dev": true, "optional": true, "peer": true }, "@jridgewell/resolve-uri": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz", "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==", "dev": true }, "@jridgewell/sourcemap-codec": { "version": "1.4.11", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==", "dev": true }, "@jridgewell/trace-mapping": { "version": "0.3.4", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz", "integrity": "sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==", "dev": true, "requires": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" } }, "@mrmlnc/readdir-enhanced": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", "dev": true, "requires": { "call-me-maybe": "^1.0.1", "glob-to-regexp": "^0.3.0" } }, "@nicolo-ribaudo/chokidar-2": { "version": "2.1.8-no-fsevents.3", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", "dev": true, "optional": true }, "@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": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" }, "dependencies": { "@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 } } }, "@nodelib/fs.stat": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", "dev": true }, "@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": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "@octokit/auth-token": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-6.0.0.tgz", "integrity": "sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==", "dev": true }, "@octokit/core": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/@octokit/core/-/core-7.0.3.tgz", "integrity": "sha512-oNXsh2ywth5aowwIa7RKtawnkdH6LgU1ztfP9AIUCQCvzysB+WeU8o2kyyosDPwBZutPpjZDKPQGIzzrfTWweQ==", "dev": true, "requires": { "@octokit/auth-token": "^6.0.0", "@octokit/graphql": "^9.0.1", "@octokit/request": "^10.0.2", "@octokit/request-error": "^7.0.0", "@octokit/types": "^14.0.0", "before-after-hook": "^4.0.0", "universal-user-agent": "^7.0.0" } }, "@octokit/endpoint": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-11.0.0.tgz", "integrity": "sha512-hoYicJZaqISMAI3JfaDr1qMNi48OctWuOih1m80bkYow/ayPw6Jj52tqWJ6GEoFTk1gBqfanSoI1iY99Z5+ekQ==", "dev": true, "requires": { "@octokit/types": "^14.0.0", "universal-user-agent": "^7.0.2" } }, "@octokit/graphql": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-9.0.1.tgz", "integrity": "sha512-j1nQNU1ZxNFx2ZtKmL4sMrs4egy5h65OMDmSbVyuCzjOcwsHq6EaYjOTGXPQxgfiN8dJ4CriYHk6zF050WEULg==", "dev": true, "requires": { "@octokit/request": "^10.0.2", "@octokit/types": "^14.0.0", "universal-user-agent": "^7.0.0" } }, "@octokit/openapi-types": { "version": "25.1.0", "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz", "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==", "dev": true }, "@octokit/plugin-paginate-rest": { "version": "13.1.1", "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-13.1.1.tgz", "integrity": "sha512-q9iQGlZlxAVNRN2jDNskJW/Cafy7/XE52wjZ5TTvyhyOD904Cvx//DNyoO3J/MXJ0ve3rPoNWKEg5iZrisQSuw==", "dev": true, "requires": { "@octokit/types": "^14.1.0" } }, "@octokit/plugin-retry": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-8.0.1.tgz", "integrity": "sha512-KUoYR77BjF5O3zcwDQHRRZsUvJwepobeqiSSdCJ8lWt27FZExzb0GgVxrhhfuyF6z2B2zpO0hN5pteni1sqWiw==", "dev": true, "requires": { "@octokit/request-error": "^7.0.0", "@octokit/types": "^14.0.0", "bottleneck": "^2.15.3" } }, "@octokit/plugin-throttling": { "version": "11.0.1", "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-11.0.1.tgz", "integrity": "sha512-S+EVhy52D/272L7up58dr3FNSMXWuNZolkL4zMJBNIfIxyZuUcczsQAU4b5w6dewJXnKYVgSHSV5wxitMSW1kw==", "dev": true, "requires": { "@octokit/types": "^14.0.0", "bottleneck": "^2.15.3" } }, "@octokit/request": { "version": "10.0.3", "resolved": "https://registry.npmjs.org/@octokit/request/-/request-10.0.3.tgz", "integrity": "sha512-V6jhKokg35vk098iBqp2FBKunk3kMTXlmq+PtbV9Gl3TfskWlebSofU9uunVKhUN7xl+0+i5vt0TGTG8/p/7HA==", "dev": true, "requires": { "@octokit/endpoint": "^11.0.0", "@octokit/request-error": "^7.0.0", "@octokit/types": "^14.0.0", "fast-content-type-parse": "^3.0.0", "universal-user-agent": "^7.0.2" } }, "@octokit/request-error": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-7.0.0.tgz", "integrity": "sha512-KRA7VTGdVyJlh0cP5Tf94hTiYVVqmt2f3I6mnimmaVz4UG3gQV/k4mDJlJv3X67iX6rmN7gSHCF8ssqeMnmhZg==", "dev": true, "requires": { "@octokit/types": "^14.0.0" } }, "@octokit/types": { "version": "14.1.0", "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", "dev": true, "requires": { "@octokit/openapi-types": "^25.1.0" } }, "@pnpm/config.env-replace": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", "dev": true, "peer": true }, "@pnpm/network.ca-file": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", "dev": true, "peer": true, "requires": { "graceful-fs": "4.2.10" } }, "@pnpm/npm-conf": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.3.1.tgz", "integrity": "sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==", "dev": true, "peer": true, "requires": { "@pnpm/config.env-replace": "^1.1.0", "@pnpm/network.ca-file": "^1.0.1", "config-chain": "^1.1.11" } }, "@sec-ant/readable-stream": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", "dev": true, "peer": true }, "@semantic-release/commit-analyzer": { "version": "13.0.1", "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-13.0.1.tgz", "integrity": "sha512-wdnBPHKkr9HhNhXOhZD5a2LNl91+hs8CC2vsAVYxtZH3y0dV3wKn+uZSN61rdJQZ8EGxzWB3inWocBHV9+u/CQ==", "dev": true, "peer": true, "requires": { "conventional-changelog-angular": "^8.0.0", "conventional-changelog-writer": "^8.0.0", "conventional-commits-filter": "^5.0.0", "conventional-commits-parser": "^6.0.0", "debug": "^4.0.0", "import-from-esm": "^2.0.0", "lodash-es": "^4.17.21", "micromatch": "^4.0.2" }, "dependencies": { "micromatch": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, "peer": true, "requires": { "braces": "^3.0.3", "picomatch": "^2.3.1" } } } }, "@semantic-release/error": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==", "dev": true }, "@semantic-release/github": { "version": "11.0.4", "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-11.0.4.tgz", "integrity": "sha512-fU/nLSjkp9DmB0h7FVO5imhhWJMvq2LjD4+3lz3ZAzpDLY9+KYwC+trJ+g7LbZeJv9y3L9fSFSg2DduUpiT6bw==", "dev": true, "requires": { "@octokit/core": "^7.0.0", "@octokit/plugin-paginate-rest": "^13.0.0", "@octokit/plugin-retry": "^8.0.0", "@octokit/plugin-throttling": "^11.0.0", "@semantic-release/error": "^4.0.0", "aggregate-error": "^5.0.0", "debug": "^4.3.4", "dir-glob": "^3.0.1", "globby": "^14.0.0", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.0", "issue-parser": "^7.0.0", "lodash-es": "^4.17.21", "mime": "^4.0.0", "p-filter": "^4.0.0", "url-join": "^5.0.0" }, "dependencies": { "@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 }, "agent-base": { "version": "7.1.4", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", "dev": true }, "dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, "requires": { "path-type": "^4.0.0" } }, "fast-glob": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.8" } }, "globby": { "version": "14.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", "dev": true, "requires": { "@sindresorhus/merge-streams": "^2.1.0", "fast-glob": "^3.3.3", "ignore": "^7.0.3", "path-type": "^6.0.0", "slash": "^5.1.0", "unicorn-magic": "^0.3.0" }, "dependencies": { "path-type": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz", "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==", "dev": true } } }, "http-proxy-agent": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", "dev": true, "requires": { "agent-base": "^7.1.0", "debug": "^4.3.4" } }, "https-proxy-agent": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "dev": true, "requires": { "agent-base": "^7.1.2", "debug": "4" } }, "ignore": { "version": "7.0.5", "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", "dev": true }, "micromatch": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, "requires": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "mime": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/mime/-/mime-4.0.7.tgz", "integrity": "sha512-2OfDPL+e03E0LrXaGYOtTFIYhiuzep94NSsuhrNULq+stylcJedcHdzHtz0atMUuGwJfFYs0YL5xeC/Ca2x0eQ==", "dev": true }, "path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, "slash": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", "dev": true } } }, "@semantic-release/npm": { "version": "12.0.2", "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-12.0.2.tgz", "integrity": "sha512-+M9/Lb35IgnlUO6OSJ40Ie+hUsZLuph2fqXC/qrKn0fMvUU/jiCjpoL6zEm69vzcmaZJ8yNKtMBEKHWN49WBbQ==", "dev": true, "peer": true, "requires": { "@semantic-release/error": "^4.0.0", "aggregate-error": "^5.0.0", "execa": "^9.0.0", "fs-extra": "^11.0.0", "lodash-es": "^4.17.21", "nerf-dart": "^1.0.0", "normalize-url": "^8.0.0", "npm": "^10.9.3", "rc": "^1.2.8", "read-pkg": "^9.0.0", "registry-auth-token": "^5.0.0", "semver": "^7.1.2", "tempy": "^3.0.0" }, "dependencies": { "@sindresorhus/merge-streams": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", "dev": true, "peer": true }, "cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "peer": true, "requires": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "execa": { "version": "9.6.0", "resolved": "https://registry.npmjs.org/execa/-/execa-9.6.0.tgz", "integrity": "sha512-jpWzZ1ZhwUmeWRhS7Qv3mhpOhLfwI+uAX4e5fOcXqwMR7EcJ0pj2kV1CVzHVMX/LphnKWD3LObjZCoJ71lKpHw==", "dev": true, "peer": true, "requires": { "@sindresorhus/merge-streams": "^4.0.0", "cross-spawn": "^7.0.6", "figures": "^6.1.0", "get-stream": "^9.0.0", "human-signals": "^8.0.1", "is-plain-obj": "^4.1.0", "is-stream": "^4.0.1", "npm-run-path": "^6.0.0", "pretty-ms": "^9.2.0", "signal-exit": "^4.1.0", "strip-final-newline": "^4.0.0", "yoctocolors": "^2.1.1" } }, "figures": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", "dev": true, "peer": true, "requires": { "is-unicode-supported": "^2.0.0" } }, "get-stream": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", "dev": true, "peer": true, "requires": { "@sec-ant/readable-stream": "^0.4.1", "is-stream": "^4.0.1" } }, "hosted-git-info": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", "dev": true, "peer": true, "requires": { "lru-cache": "^10.0.1" } }, "is-stream": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", "dev": true, "peer": true }, "lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, "peer": true }, "normalize-package-data": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", "dev": true, "peer": true, "requires": { "hosted-git-info": "^7.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" } }, "npm-run-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", "dev": true, "peer": true, "requires": { "path-key": "^4.0.0", "unicorn-magic": "^0.3.0" }, "dependencies": { "path-key": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, "peer": true } } }, "parse-json": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.3.0.tgz", "integrity": "sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==", "dev": true, "peer": true, "requires": { "@babel/code-frame": "^7.26.2", "index-to-position": "^1.1.0", "type-fest": "^4.39.1" } }, "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, "peer": true }, "read-pkg": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", "dev": true, "peer": true, "requires": { "@types/normalize-package-data": "^2.4.3", "normalize-package-data": "^6.0.0", "parse-json": "^8.0.0", "type-fest": "^4.6.0", "unicorn-magic": "^0.1.0" }, "dependencies": { "unicorn-magic": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", "dev": true, "peer": true } } }, "semver": { "version": "7.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "peer": true }, "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, "peer": true, "requires": { "shebang-regex": "^3.0.0" } }, "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, "peer": true }, "signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, "peer": true }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "peer": true, "requires": { "isexe": "^2.0.0" } } } }, "@semantic-release/release-notes-generator": { "version": "14.0.3", "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-14.0.3.tgz", "integrity": "sha512-XxAZRPWGwO5JwJtS83bRdoIhCiYIx8Vhr+u231pQAsdFIAbm19rSVJLdnBN+Avvk7CKvNQE/nJ4y7uqKH6WTiw==", "dev": true, "peer": true, "requires": { "conventional-changelog-angular": "^8.0.0", "conventional-changelog-writer": "^8.0.0", "conventional-commits-filter": "^5.0.0", "conventional-commits-parser": "^6.0.0", "debug": "^4.0.0", "get-stream": "^7.0.0", "import-from-esm": "^2.0.0", "into-stream": "^7.0.0", "lodash-es": "^4.17.21", "read-package-up": "^11.0.0" }, "dependencies": { "get-stream": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-7.0.1.tgz", "integrity": "sha512-3M8C1EOFN6r8AMUhwUAACIoXZJEOufDU5+0gFFN5uNs6XYOralD2Pqkl7m046va6x77FwposWXbAhPPIOus7mQ==", "dev": true, "peer": true } } }, "@sindresorhus/is": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", "dev": true, "peer": true }, "@sindresorhus/merge-streams": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", "dev": true }, "@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", "dev": true }, "@types/node": { "version": "17.0.24", "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.24.tgz", "integrity": "sha512-aveCYRQbgTH9Pssp1voEP7HiuWlD2jW2BO56w+bVrJn04i61yh6mRfoKO6hEYQD9vF+W8Chkwc6j1M36uPkx4g==", "dev": true }, "@types/normalize-package-data": { "version": "2.4.4", "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", "dev": true, "peer": true }, "@webassemblyjs/ast": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, "requires": { "@webassemblyjs/helper-module-context": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0", "@webassemblyjs/wast-parser": "1.9.0" } }, "@webassemblyjs/floating-point-hex-parser": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", "dev": true }, "@webassemblyjs/helper-api-error": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", "dev": true }, "@webassemblyjs/helper-buffer": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", "dev": true }, "@webassemblyjs/helper-code-frame": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", "dev": true, "requires": { "@webassemblyjs/wast-printer": "1.9.0" } }, "@webassemblyjs/helper-fsm": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", "dev": true }, "@webassemblyjs/helper-module-context": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0" } }, "@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", "dev": true }, "@webassemblyjs/helper-wasm-section": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-buffer": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0", "@webassemblyjs/wasm-gen": "1.9.0" } }, "@webassemblyjs/ieee754": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" } }, "@webassemblyjs/leb128": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", "dev": true, "requires": { "@xtuc/long": "4.2.2" } }, "@webassemblyjs/utf8": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", "dev": true }, "@webassemblyjs/wasm-edit": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-buffer": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0", "@webassemblyjs/helper-wasm-section": "1.9.0", "@webassemblyjs/wasm-gen": "1.9.0", "@webassemblyjs/wasm-opt": "1.9.0", "@webassemblyjs/wasm-parser": "1.9.0", "@webassemblyjs/wast-printer": "1.9.0" } }, "@webassemblyjs/wasm-gen": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0", "@webassemblyjs/ieee754": "1.9.0", "@webassemblyjs/leb128": "1.9.0", "@webassemblyjs/utf8": "1.9.0" } }, "@webassemblyjs/wasm-opt": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-buffer": "1.9.0", "@webassemblyjs/wasm-gen": "1.9.0", "@webassemblyjs/wasm-parser": "1.9.0" } }, "@webassemblyjs/wasm-parser": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-api-error": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0", "@webassemblyjs/ieee754": "1.9.0", "@webassemblyjs/leb128": "1.9.0", "@webassemblyjs/utf8": "1.9.0" } }, "@webassemblyjs/wast-parser": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/floating-point-hex-parser": "1.9.0", "@webassemblyjs/helper-api-error": "1.9.0", "@webassemblyjs/helper-code-frame": "1.9.0", "@webassemblyjs/helper-fsm": "1.9.0", "@xtuc/long": "4.2.2" } }, "@webassemblyjs/wast-printer": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/wast-parser": "1.9.0", "@xtuc/long": "4.2.2" } }, "@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", "dev": true }, "@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, "abab": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", "dev": true }, "accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, "requires": { "mime-types": "~2.1.34", "negotiator": "0.6.3" } }, "acorn": { "version": "5.7.4", "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", "dev": true }, "acorn-globals": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", "dev": true, "requires": { "acorn": "^6.0.1", "acorn-walk": "^6.0.1" }, "dependencies": { "acorn": { "version": "6.4.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true } } }, "acorn-jsx": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "dev": true, "requires": { "acorn": "^3.0.4" }, "dependencies": { "acorn": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", "dev": true } } }, "acorn-walk": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", "dev": true }, "addressparser": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz", "integrity": "sha1-R6++GiqSYhkdtoOOT9HTm0CCF0Y=", "dev": true, "optional": true }, "adm-zip": { "version": "0.4.16", "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", "dev": true }, "after": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", "dev": true }, "agent-base": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", "dev": true, "requires": { "es6-promisify": "^5.0.0" } }, "aggregate-error": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", "dev": true, "requires": { "clean-stack": "^5.2.0", "indent-string": "^5.0.0" }, "dependencies": { "indent-string": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", "dev": true } } }, "ajv": { "version": "5.5.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "dev": true, "requires": { "co": "^4.6.0", "fast-deep-equal": "^1.0.0", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.3.0" } }, "ajv-errors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", "dev": true, "requires": {} }, "ajv-keywords": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", "dev": true, "requires": {} }, "amqplib": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/amqplib/-/amqplib-0.5.6.tgz", "integrity": "sha512-J4TR0WAMPBHN+tgTuhNsSObfM9eTVTZm/FNw0LyaGfbiLsBxqSameDNYpChUFXW4bnTKHDXy0ab+nuLhumnRrQ==", "dev": true, "optional": true, "requires": { "bitsyntax": "~0.1.0", "bluebird": "^3.5.2", "buffer-more-ints": "~1.0.0", "readable-stream": "1.x >=1.1.9", "safe-buffer": "~5.1.2", "url-parse": "~1.4.3" }, "dependencies": { "isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", "dev": true, "optional": true }, "readable-stream": { "version": "1.1.14", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "dev": true, "optional": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", "isarray": "0.0.1", "string_decoder": "~0.10.x" } }, "string_decoder": { "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", "dev": true, "optional": true } } }, "ansi-escapes": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", "dev": true }, "ansi-regex": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", "dev": true }, "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" } }, "any-promise": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", "dev": true, "peer": true }, "anymatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dev": true, "optional": true, "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "append-transform": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "dev": true, "requires": { "default-require-extensions": "^1.0.0" } }, "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true }, "archiver": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/archiver/-/archiver-3.1.1.tgz", "integrity": "sha512-5Hxxcig7gw5Jod/8Gq0OneVgLYET+oNHcxgWItq4TbhOzRLKNAFUb9edAftiMKXvXfCB0vbGrJdZDNq0dWMsxg==", "dev": true, "requires": { "archiver-utils": "^2.1.0", "async": "^2.6.3", "buffer-crc32": "^0.2.1", "glob": "^7.1.4", "readable-stream": "^3.4.0", "tar-stream": "^2.1.0", "zip-stream": "^2.1.2" }, "dependencies": { "readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } } } }, "archiver-utils": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", "dev": true, "requires": { "glob": "^7.1.4", "graceful-fs": "^4.2.0", "lazystream": "^1.0.0", "lodash.defaults": "^4.2.0", "lodash.difference": "^4.5.0", "lodash.flatten": "^4.4.0", "lodash.isplainobject": "^4.0.6", "lodash.union": "^4.6.0", "normalize-path": "^3.0.0", "readable-stream": "^2.0.0" } }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { "sprintf-js": "~1.0.2" } }, "argv-formatter": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/argv-formatter/-/argv-formatter-1.0.0.tgz", "integrity": "sha512-F2+Hkm9xFaRg+GkaNnbwXNDV5O6pnCFEmqyhvfC/Ic5LbgOWjJh3L+mN/s91rxVL3znE7DYVpW0GJFT+4YBgWw==", "dev": true, "peer": true }, "arr-diff": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { "arr-flatten": "^1.0.1" } }, "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true }, "arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", "dev": true }, "array-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", "dev": true }, "array-find-index": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", "dev": true }, "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", "dev": true }, "array-ify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", "dev": true, "peer": true }, "array-includes": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz", "integrity": "sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", "es-abstract": "^1.19.1", "get-intrinsic": "^1.1.1", "is-string": "^1.0.7" } }, "array-slice": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", "dev": true }, "array-union": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "dev": true, "requires": { "array-uniq": "^1.0.1" } }, "array-uniq": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", "dev": true }, "array-unique": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", "dev": true }, "array.prototype.flat": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", "es-abstract": "^1.19.2", "es-shim-unscopables": "^1.0.0" } }, "arraybuffer.slice": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", "dev": true }, "arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true }, "asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "dev": true, "requires": { "safer-buffer": "~2.1.0" } }, "asn1.js": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "dev": true, "requires": { "bn.js": "^4.0.0", "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0", "safer-buffer": "^2.1.0" }, "dependencies": { "bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "assert": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", "dev": true, "requires": { "object-assign": "^4.1.1", "util": "0.10.3" }, "dependencies": { "inherits": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", "dev": true }, "util": { "version": "0.10.3", "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", "dev": true, "requires": { "inherits": "2.0.1" } } } }, "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true }, "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", "dev": true }, "ast-types": { "version": "0.14.2", "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", "dev": true, "optional": true, "requires": { "tslib": "^2.0.1" } }, "astral-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", "dev": true }, "async": { "version": "2.6.4", "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", "dev": true, "requires": { "lodash": "^4.17.14" } }, "async-each": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", "dev": true }, "async-limiter": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", "dev": true }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true }, "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", "dev": true }, "aws4": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", "dev": true }, "axios": { "version": "0.15.3", "resolved": "https://registry.npmjs.org/axios/-/axios-0.15.3.tgz", "integrity": "sha1-LJ1jiy4ZGgjqHWzJiOrda6W9wFM=", "dev": true, "optional": true, "requires": { "follow-redirects": "1.0.0" }, "dependencies": { "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "optional": true, "requires": { "ms": "2.0.0" } }, "follow-redirects": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.0.0.tgz", "integrity": "sha1-jjQpjL0uF28lTv/sdaHHjMhJ/Tc=", "dev": true, "optional": true, "requires": { "debug": "^2.2.0" } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true, "optional": true } } }, "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { "chalk": "^1.1.3", "esutils": "^2.0.2", "js-tokens": "^3.0.2" }, "dependencies": { "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", "dev": true }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { "ansi-styles": "^2.2.1", "escape-string-regexp": "^1.0.2", "has-ansi": "^2.0.0", "strip-ansi": "^3.0.0", "supports-color": "^2.0.0" } }, "js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", "dev": true }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { "ansi-regex": "^2.0.0" } }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true } } }, "babel-core": { "version": "7.0.0-bridge.0", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", "dev": true, "requires": {} }, "babel-generator": { "version": "6.26.1", "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "requires": { "babel-messages": "^6.23.0", "babel-runtime": "^6.26.0", "babel-types": "^6.26.0", "detect-indent": "^4.0.0", "jsesc": "^1.3.0", "lodash": "^4.17.4", "source-map": "^0.5.7", "trim-right": "^1.0.1" }, "dependencies": { "jsesc": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", "dev": true } } }, "babel-helpers": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { "babel-runtime": "^6.22.0", "babel-template": "^6.24.1" } }, "babel-jest": { "version": "22.4.4", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-22.4.4.tgz", "integrity": "sha512-A9NB6/lZhYyypR9ATryOSDcqBaqNdzq4U+CN+/wcMsLcmKkPxQEoTKLajGfd3IkxNyVBT8NewUK2nWyGbSzHEQ==", "dev": true, "requires": { "babel-plugin-istanbul": "^4.1.5", "babel-preset-jest": "^22.4.4" } }, "babel-messages": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { "babel-runtime": "^6.22.0" } }, "babel-plugin-dynamic-import-node": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", "dev": true, "requires": { "object.assign": "^4.1.0" } }, "babel-plugin-external-helpers": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-external-helpers/-/babel-plugin-external-helpers-6.22.0.tgz", "integrity": "sha1-IoX0iwK9Xe3oUXXK+MYuhq3M76E=", "dev": true, "requires": { "babel-runtime": "^6.22.0" } }, "babel-plugin-istanbul": { "version": "4.1.6", "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz", "integrity": "sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==", "dev": true, "requires": { "babel-plugin-syntax-object-rest-spread": "^6.13.0", "find-up": "^2.1.0", "istanbul-lib-instrument": "^1.10.1", "test-exclude": "^4.2.1" } }, "babel-plugin-jest-hoist": { "version": "22.4.4", "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.4.4.tgz", "integrity": "sha512-DUvGfYaAIlkdnygVIEl0O4Av69NtuQWcrjMOv6DODPuhuGLDnbsARz3AwiiI/EkIMMlxQDUcrZ9yoyJvTNjcVQ==", "dev": true }, "babel-plugin-polyfill-corejs2": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", "dev": true, "requires": { "@babel/compat-data": "^7.13.11", "@babel/helper-define-polyfill-provider": "^0.3.1", "semver": "^6.1.1" } }, "babel-plugin-polyfill-corejs3": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz", "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==", "dev": true, "requires": { "@babel/helper-define-polyfill-provider": "^0.3.1", "core-js-compat": "^3.21.0" } }, "babel-plugin-polyfill-regenerator": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", "dev": true, "requires": { "@babel/helper-define-polyfill-provider": "^0.3.1" } }, "babel-plugin-syntax-object-rest-spread": { "version": "6.13.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", "dev": true }, "babel-preset-jest": { "version": "22.4.4", "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-22.4.4.tgz", "integrity": "sha512-+dxMtOFwnSYWfum0NaEc0O03oSdwBsjx4tMSChRDPGwu/4wSY6Q6ANW3wkjKpJzzguaovRs/DODcT4hbSN8yiA==", "dev": true, "requires": { "babel-plugin-jest-hoist": "^22.4.4", "babel-plugin-syntax-object-rest-spread": "^6.13.0" } }, "babel-register": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { "babel-core": "^6.26.0", "babel-runtime": "^6.26.0", "core-js": "^2.5.0", "home-or-tmp": "^2.0.0", "lodash": "^4.17.4", "mkdirp": "^0.5.1", "source-map-support": "^0.4.15" }, "dependencies": { "babel-core": { "version": "6.26.3", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "requires": { "babel-code-frame": "^6.26.0", "babel-generator": "^6.26.0", "babel-helpers": "^6.24.1", "babel-messages": "^6.23.0", "babel-register": "^6.26.0", "babel-runtime": "^6.26.0", "babel-template": "^6.26.0", "babel-traverse": "^6.26.0", "babel-types": "^6.26.0", "babylon": "^6.18.0", "convert-source-map": "^1.5.1", "debug": "^2.6.9", "json5": "^0.5.1", "lodash": "^4.17.4", "minimatch": "^3.0.4", "path-is-absolute": "^1.0.1", "private": "^0.1.8", "slash": "^1.0.0", "source-map": "^0.5.7" } }, "core-js": { "version": "2.6.12", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", "dev": true }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" } }, "json5": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", "dev": true }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", "dev": true }, "source-map-support": { "version": "0.4.18", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { "source-map": "^0.5.6" } } } }, "babel-runtime": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { "core-js": "^2.4.0", "regenerator-runtime": "^0.11.0" }, "dependencies": { "core-js": { "version": "2.6.12", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", "dev": true }, "regenerator-runtime": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", "dev": true } } }, "babel-template": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { "babel-runtime": "^6.26.0", "babel-traverse": "^6.26.0", "babel-types": "^6.26.0", "babylon": "^6.18.0", "lodash": "^4.17.4" } }, "babel-traverse": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { "babel-code-frame": "^6.26.0", "babel-messages": "^6.23.0", "babel-runtime": "^6.26.0", "babel-types": "^6.26.0", "babylon": "^6.18.0", "debug": "^2.6.8", "globals": "^9.18.0", "invariant": "^2.2.2", "lodash": "^4.17.4" }, "dependencies": { "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" } }, "globals": { "version": "9.18.0", "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", "dev": true }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } }, "babel-types": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { "babel-runtime": "^6.26.0", "esutils": "^2.0.2", "lodash": "^4.17.4", "to-fast-properties": "^1.0.3" }, "dependencies": { "to-fast-properties": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", "dev": true } } }, "babylon": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", "dev": true }, "backo2": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", "dev": true }, "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 }, "base": { "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, "requires": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", "component-emitter": "^1.2.1", "define-property": "^1.0.0", "isobject": "^3.0.1", "mixin-deep": "^1.2.0", "pascalcase": "^0.1.1" }, "dependencies": { "define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { "is-descriptor": "^1.0.0" } } } }, "base64-arraybuffer": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", "dev": true }, "base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true }, "base64id": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", "dev": true }, "bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "requires": { "tweetnacl": "^0.14.3" } }, "before-after-hook": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-4.0.0.tgz", "integrity": "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==", "dev": true }, "better-assert": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", "dev": true, "requires": { "callsite": "1.0.0" } }, "bfj-node4": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/bfj-node4/-/bfj-node4-5.3.1.tgz", "integrity": "sha512-SOmOsowQWfXc7ybFARsK3C4MCOWzERaOMV/Fl3Tgjs+5dJWyzo3oa127jL44eMbQiAN17J7SvAs2TRxEScTUmg==", "dev": true, "requires": { "bluebird": "^3.5.1", "check-types": "^7.3.0", "tryer": "^1.0.0" } }, "big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true, "optional": true }, "bindings": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", "dev": true, "optional": true, "requires": { "file-uri-to-path": "1.0.0" } }, "bitsyntax": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.1.0.tgz", "integrity": "sha512-ikAdCnrloKmFOugAfxWws89/fPc+nw0OOG1IzIE72uSOg/A3cYptKCjSUhDTuj7fhsJtzkzlv7l3b8PzRHLN0Q==", "dev": true, "optional": true, "requires": { "buffer-more-ints": "~1.0.0", "debug": "~2.6.9", "safe-buffer": "~5.1.2" }, "dependencies": { "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "optional": true, "requires": { "ms": "2.0.0" } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true, "optional": true } } }, "bl": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dev": true, "requires": { "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" }, "dependencies": { "readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } } } }, "blob": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", "dev": true }, "bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, "bn.js": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", "dev": true }, "body-parser": { "version": "1.20.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", "dev": true, "requires": { "bytes": "3.1.2", "content-type": "~1.0.4", "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", "qs": "6.10.3", "raw-body": "2.5.1", "type-is": "~1.6.18", "unpipe": "1.0.0" }, "dependencies": { "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } }, "boom": { "version": "2.10.1", "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", "dev": true, "optional": true, "requires": { "hoek": "2.x.x" } }, "bottleneck": { "version": "2.19.5", "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz", "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==", "dev": true }, "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": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "braces": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "requires": { "fill-range": "^7.1.1" } }, "brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", "dev": true }, "browser-process-hrtime": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", "dev": true }, "browser-resolve": { "version": "1.11.3", "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", "dev": true, "requires": { "resolve": "1.1.7" }, "dependencies": { "resolve": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", "dev": true } } }, "browserify-aes": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "requires": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", "create-hash": "^1.1.0", "evp_bytestokey": "^1.0.3", "inherits": "^2.0.1", "safe-buffer": "^5.0.1" } }, "browserify-cipher": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, "requires": { "browserify-aes": "^1.0.4", "browserify-des": "^1.0.0", "evp_bytestokey": "^1.0.0" } }, "browserify-des": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, "requires": { "cipher-base": "^1.0.1", "des.js": "^1.0.0", "inherits": "^2.0.1", "safe-buffer": "^5.1.2" } }, "browserify-rsa": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "dev": true, "requires": { "bn.js": "^5.0.0", "randombytes": "^2.0.1" } }, "browserify-sign": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", "dev": true, "requires": { "bn.js": "^5.1.1", "browserify-rsa": "^4.0.1", "create-hash": "^1.2.0", "create-hmac": "^1.1.7", "elliptic": "^6.5.3", "inherits": "^2.0.4", "parse-asn1": "^5.1.5", "readable-stream": "^3.6.0", "safe-buffer": "^5.2.0" }, "dependencies": { "readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true } } }, "browserify-zlib": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, "requires": { "pako": "~1.0.5" } }, "browserslist": { "version": "4.20.2", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz", "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==", "dev": true, "requires": { "caniuse-lite": "^1.0.30001317", "electron-to-chromium": "^1.4.84", "escalade": "^3.1.1", "node-releases": "^2.0.2", "picocolors": "^1.0.0" } }, "bser": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, "requires": { "node-int64": "^0.4.0" } }, "buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, "requires": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" } }, "buffer-alloc": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", "dev": true, "requires": { "buffer-alloc-unsafe": "^1.1.0", "buffer-fill": "^1.0.0" } }, "buffer-alloc-unsafe": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", "dev": true }, "buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", "dev": true }, "buffer-fill": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", "dev": true }, "buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, "buffer-more-ints": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/buffer-more-ints/-/buffer-more-ints-1.0.0.tgz", "integrity": "sha512-EMetuGFz5SLsT0QTnXzINh4Ksr+oo4i+UGTXEshiGCQWnsgSs7ZhJ8fzlwQ+OzEMs0MpDAMr1hxnblp5a4vcHg==", "dev": true, "optional": true }, "buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", "dev": true }, "buildmail": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/buildmail/-/buildmail-4.0.1.tgz", "integrity": "sha1-h393OLeHKYccmhBeO4N9K+EaenI=", "dev": true, "optional": true, "requires": { "addressparser": "1.0.1", "libbase64": "0.1.0", "libmime": "3.0.0", "libqp": "1.1.0", "nodemailer-fetch": "1.6.0", "nodemailer-shared": "1.1.0", "punycode": "1.4.1" } }, "builtin-status-codes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", "dev": true }, "bytes": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true }, "cacache": { "version": "10.0.4", "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", "dev": true, "requires": { "bluebird": "^3.5.1", "chownr": "^1.0.1", "glob": "^7.1.2", "graceful-fs": "^4.1.11", "lru-cache": "^4.1.1", "mississippi": "^2.0.0", "mkdirp": "^0.5.1", "move-concurrently": "^1.0.1", "promise-inflight": "^1.0.1", "rimraf": "^2.6.2", "ssri": "^5.2.4", "unique-filename": "^1.1.0", "y18n": "^4.0.0" } }, "cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, "requires": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", "get-value": "^2.0.6", "has-value": "^1.0.0", "isobject": "^3.0.1", "set-value": "^2.0.0", "to-object-path": "^0.3.0", "union-value": "^1.0.0", "unset-value": "^1.0.0" } }, "call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, "requires": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" } }, "call-me-maybe": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", "dev": true }, "caller-callsite": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", "dev": true, "requires": { "callsites": "^2.0.0" } }, "caller-path": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { "callsites": "^0.2.0" }, "dependencies": { "callsites": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", "dev": true } } }, "callsite": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", "dev": true }, "callsites": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", "dev": true }, "camelcase": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", "dev": true }, "camelcase-keys": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { "camelcase": "^2.0.0", "map-obj": "^1.0.0" } }, "caniuse-lite": { "version": "1.0.30001332", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz", "integrity": "sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==", "dev": true }, "capture-exit": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz", "integrity": "sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28=", "dev": true, "requires": { "rsvp": "^3.3.3" } }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, "char-regex": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, "peer": true }, "chardet": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", "dev": true }, "check-types": { "version": "7.4.0", "resolved": "https://registry.npmjs.org/check-types/-/check-types-7.4.0.tgz", "integrity": "sha512-YbulWHdfP99UfZ73NcUDlNJhEIDgm9Doq9GhpyXbF+7Aegi3CVV7qqMCKTTqJxlvEvnQBp9IA+dxsGN6xK/nSg==", "dev": true }, "chokidar": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, "optional": true, "requires": { "anymatch": "~3.1.2", "braces": "~3.0.2", "fsevents": "~2.3.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" } }, "chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "dev": true }, "chrome-trace-event": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", "dev": true }, "ci-info": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", "dev": true }, "ci-job-number": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/ci-job-number/-/ci-job-number-0.3.1.tgz", "integrity": "sha512-OfY2Cg+mTqZz7lWOxONGbAXVZNNWPSiyGtOpAjYHEVTXIae8lGCOg3cDfJpPh8zcl+2CqItOsxbvH6ueV+QOmw==", "dev": true }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, "requires": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" } }, "circular-json": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", "dev": true }, "class-utils": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "requires": { "arr-union": "^3.1.0", "define-property": "^0.2.5", "isobject": "^3.0.0", "static-extend": "^0.1.1" }, "dependencies": { "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "^0.1.0" } }, "is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", "kind-of": "^5.0.0" } }, "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } }, "clean-stack": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==", "dev": true, "requires": { "escape-string-regexp": "5.0.0" }, "dependencies": { "escape-string-regexp": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", "dev": true } } }, "cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { "restore-cursor": "^2.0.0" } }, "cli-highlight": { "version": "2.1.11", "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", "dev": true, "peer": true, "requires": { "chalk": "^4.0.0", "highlight.js": "^10.7.1", "mz": "^2.4.0", "parse5": "^5.1.1", "parse5-htmlparser2-tree-adapter": "^6.0.0", "yargs": "^16.0.0" }, "dependencies": { "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, "peer": true }, "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, "peer": true, "requires": { "color-convert": "^2.0.1" } }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "peer": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, "peer": true, "requires": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" } }, "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, "peer": true, "requires": { "color-name": "~1.1.4" } }, "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, "peer": true }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, "peer": true }, "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, "peer": true }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "peer": true }, "parse5": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", "dev": true, "peer": true }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "peer": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "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, "peer": true, "requires": { "ansi-regex": "^5.0.1" } }, "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, "peer": true, "requires": { "has-flag": "^4.0.0" } }, "wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "peer": true, "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, "peer": true }, "yargs": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, "peer": true, "requires": { "cliui": "^7.0.2", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.0", "y18n": "^5.0.5", "yargs-parser": "^20.2.2" } }, "yargs-parser": { "version": "20.2.9", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, "peer": true } } }, "cli-table3": { "version": "0.6.5", "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", "dev": true, "peer": true, "requires": { "@colors/colors": "1.5.0", "string-width": "^4.2.0" }, "dependencies": { "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, "peer": true }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "peer": true }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "peer": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "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, "peer": true, "requires": { "ansi-regex": "^5.0.1" } } } }, "cli-width": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", "dev": true }, "cliui": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { "string-width": "^2.1.1", "strip-ansi": "^4.0.0", "wrap-ansi": "^2.0.0" } }, "clone-deep": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, "requires": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", "shallow-clone": "^3.0.0" } }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", "dev": true }, "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dev": true, "requires": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" } }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" } }, "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "colors": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "dev": true }, "combine-lists": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz", "integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=", "dev": true, "requires": { "lodash": "^4.5.0" } }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, "requires": { "delayed-stream": "~1.0.0" } }, "commander": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", "dev": true }, "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, "compare-func": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", "dev": true, "peer": true, "requires": { "array-ify": "^1.0.0", "dot-prop": "^5.1.0" } }, "component-bind": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", "dev": true }, "component-emitter": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", "dev": true }, "component-inherit": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", "dev": true }, "compress-commons": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-2.1.1.tgz", "integrity": "sha512-eVw6n7CnEMFzc3duyFVrQEuY1BlHR3rYsSztyG32ibGMW722i3C6IizEGMFmfMU+A+fALvBIwxN3czffTcdA+Q==", "dev": true, "requires": { "buffer-crc32": "^0.2.13", "crc32-stream": "^3.0.1", "normalize-path": "^3.0.0", "readable-stream": "^2.3.6" } }, "compression-webpack-plugin": { "version": "1.1.12", "resolved": "https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-1.1.12.tgz", "integrity": "sha512-UpBXSHbrCSdSZieAffqXlAQpLO2fikVVRYibrWlbHYzKpOw1Y4jwkVZ/+S91GzWuJvXSbc8SBy/e8fQJh8uEMQ==", "dev": true, "requires": { "cacache": "^10.0.1", "find-cache-dir": "^1.0.0", "neo-async": "^2.5.0", "serialize-javascript": "^1.4.0", "webpack-sources": "^1.0.1" }, "dependencies": { "find-cache-dir": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "dev": true, "requires": { "commondir": "^1.0.1", "make-dir": "^1.0.0", "pkg-dir": "^2.0.0" } }, "make-dir": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { "pify": "^3.0.0" } }, "pkg-dir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { "find-up": "^2.1.0" } }, "serialize-javascript": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", "dev": true } } }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "concat-stream": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^2.2.2", "typedarray": "^0.0.6" } }, "config-chain": { "version": "1.1.13", "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", "dev": true, "peer": true, "requires": { "ini": "^1.3.4", "proto-list": "~1.2.1" } }, "connect": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", "dev": true, "requires": { "debug": "2.6.9", "finalhandler": "1.1.2", "parseurl": "~1.3.3", "utils-merge": "1.0.1" }, "dependencies": { "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } }, "console-browserify": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", "dev": true }, "constants-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", "dev": true }, "content-disposition": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, "requires": { "safe-buffer": "5.2.1" }, "dependencies": { "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true } } }, "content-type": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", "dev": true }, "conventional-changelog-angular": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-8.0.0.tgz", "integrity": "sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA==", "dev": true, "peer": true, "requires": { "compare-func": "^2.0.0" } }, "conventional-changelog-writer": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-8.2.0.tgz", "integrity": "sha512-Y2aW4596l9AEvFJRwFGJGiQjt2sBYTjPD18DdvxX9Vpz0Z7HQ+g1Z+6iYDAm1vR3QOJrDBkRHixHK/+FhkR6Pw==", "dev": true, "peer": true, "requires": { "conventional-commits-filter": "^5.0.0", "handlebars": "^4.7.7", "meow": "^13.0.0", "semver": "^7.5.2" }, "dependencies": { "meow": { "version": "13.2.0", "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", "dev": true, "peer": true }, "semver": { "version": "7.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "peer": true } } }, "conventional-commits-filter": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-5.0.0.tgz", "integrity": "sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q==", "dev": true, "peer": true }, "conventional-commits-parser": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.2.0.tgz", "integrity": "sha512-uLnoLeIW4XaoFtH37qEcg/SXMJmKF4vi7V0H2rnPueg+VEtFGA/asSCNTcq4M/GQ6QmlzchAEtOoDTtKqWeHag==", "dev": true, "peer": true, "requires": { "meow": "^13.0.0" }, "dependencies": { "meow": { "version": "13.2.0", "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", "dev": true, "peer": true } } }, "convert-hrtime": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-5.0.0.tgz", "integrity": "sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==", "dev": true, "peer": true }, "convert-source-map": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", "dev": true, "requires": { "safe-buffer": "~5.1.1" } }, "cookie": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", "dev": true }, "cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", "dev": true }, "copy-concurrently": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", "dev": true, "requires": { "aproba": "^1.1.1", "fs-write-stream-atomic": "^1.0.8", "iferr": "^0.1.5", "mkdirp": "^0.5.1", "rimraf": "^2.5.4", "run-queue": "^1.0.0" } }, "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "dev": true }, "core-js": { "version": "3.22.0", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.0.tgz", "integrity": "sha512-8h9jBweRjMiY+ORO7bdWSeWfHhLPO7whobj7Z2Bl0IDo00C228EdGgH7FE4jGumbEjzcFfkfW8bXgdkEDhnwHQ==", "dev": true }, "core-js-compat": { "version": "3.22.0", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.0.tgz", "integrity": "sha512-WwA7xbfRGrk8BGaaHlakauVXrlYmAIkk8PNGb1FDQS+Rbrewc3pgFfwJFRw6psmJVAll7Px9UHRYE16oRQnwAQ==", "dev": true, "requires": { "browserslist": "^4.20.2", "semver": "7.0.0" }, "dependencies": { "semver": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", "dev": true } } }, "core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, "cosmiconfig": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", "dev": true, "requires": { "import-fresh": "^2.0.0", "is-directory": "^0.3.1", "js-yaml": "^3.13.1", "parse-json": "^4.0.0" }, "dependencies": { "parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" } } } }, "crc": { "version": "3.8.0", "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", "dev": true, "requires": { "buffer": "^5.1.0" } }, "crc32-stream": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-3.0.1.tgz", "integrity": "sha512-mctvpXlbzsvK+6z8kJwSJ5crm7yBwrQMTybJzMw1O4lLGJqjlDCXY2Zw7KheiA6XBEcBmfLx1D88mjRGVJtY9w==", "dev": true, "requires": { "crc": "^3.4.4", "readable-stream": "^3.4.0" }, "dependencies": { "readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } } } }, "create-ecdh": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "dev": true, "requires": { "bn.js": "^4.1.0", "elliptic": "^6.5.3" }, "dependencies": { "bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "create-hash": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "requires": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", "md5.js": "^1.3.4", "ripemd160": "^2.0.1", "sha.js": "^2.4.0" } }, "create-hmac": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "requires": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", "inherits": "^2.0.1", "ripemd160": "^2.0.0", "safe-buffer": "^5.0.1", "sha.js": "^2.4.8" } }, "cross-env": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz", "integrity": "sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==", "dev": true, "requires": { "cross-spawn": "^6.0.5" } }, "cross-spawn": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { "nice-try": "^1.0.4", "path-key": "^2.0.1", "semver": "^5.5.0", "shebang-command": "^1.2.0", "which": "^1.2.9" }, "dependencies": { "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true } } }, "cryptiles": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", "dev": true, "optional": true, "requires": { "boom": "2.x.x" } }, "crypto-browserify": { "version": "3.12.0", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, "requires": { "browserify-cipher": "^1.0.0", "browserify-sign": "^4.0.0", "create-ecdh": "^4.0.0", "create-hash": "^1.1.0", "create-hmac": "^1.1.0", "diffie-hellman": "^5.0.0", "inherits": "^2.0.1", "pbkdf2": "^3.0.3", "public-encrypt": "^4.0.0", "randombytes": "^2.0.0", "randomfill": "^1.0.3" } }, "crypto-random-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", "dev": true, "peer": true, "requires": { "type-fest": "^1.0.1" }, "dependencies": { "type-fest": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", "dev": true, "peer": true } } }, "css-loader": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.1.tgz", "integrity": "sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw==", "dev": true, "requires": { "babel-code-frame": "^6.26.0", "css-selector-tokenizer": "^0.7.0", "icss-utils": "^2.1.0", "loader-utils": "^1.0.2", "lodash": "^4.17.11", "postcss": "^6.0.23", "postcss-modules-extract-imports": "^1.2.0", "postcss-modules-local-by-default": "^1.2.0", "postcss-modules-scope": "^1.1.0", "postcss-modules-values": "^1.3.0", "postcss-value-parser": "^3.3.0", "source-list-map": "^2.0.0" } }, "css-selector-tokenizer": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz", "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==", "dev": true, "requires": { "cssesc": "^3.0.0", "fastparse": "^1.1.2" } }, "cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true }, "cssom": { "version": "0.3.8", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", "dev": true }, "cssstyle": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", "dev": true, "requires": { "cssom": "0.3.x" } }, "currently-unhandled": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { "array-find-index": "^1.0.1" } }, "custom-event": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", "dev": true }, "cyclist": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", "dev": true }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { "assert-plus": "^1.0.0" } }, "data-uri-to-buffer": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz", "integrity": "sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==", "dev": true, "optional": true }, "data-urls": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", "dev": true, "requires": { "abab": "^2.0.0", "whatwg-mimetype": "^2.2.0", "whatwg-url": "^7.0.0" }, "dependencies": { "whatwg-url": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", "dev": true, "requires": { "lodash.sortby": "^4.7.0", "tr46": "^1.0.1", "webidl-conversions": "^4.0.2" } } } }, "date-format": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz", "integrity": "sha1-YV6CjiM90aubua4JUODOzPpuytg=", "dev": true }, "debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { "ms": "2.1.2" } }, "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true }, "deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true, "peer": true }, "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 }, "default-require-extensions": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "dev": true, "requires": { "strip-bom": "^2.0.0" } }, "define-properties": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", "dev": true, "requires": { "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" } }, "define-property": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, "requires": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" } }, "degenerator": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz", "integrity": "sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=", "dev": true, "optional": true, "requires": { "ast-types": "0.x.x", "escodegen": "1.x.x", "esprima": "3.x.x" }, "dependencies": { "esprima": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", "dev": true, "optional": true } } }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true }, "depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true }, "des.js": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", "dev": true, "requires": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" } }, "destroy": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true }, "detect-indent": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { "repeating": "^2.0.0" } }, "detect-newline": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", "dev": true }, "di": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", "dev": true }, "diff": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", "dev": true }, "diffie-hellman": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "requires": { "bn.js": "^4.1.0", "miller-rabin": "^4.0.0", "randombytes": "^2.0.0" }, "dependencies": { "bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "dir-glob": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", "dev": true, "requires": { "arrify": "^1.0.1", "path-type": "^3.0.0" }, "dependencies": { "path-type": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, "requires": { "pify": "^3.0.0" } } } }, "doctrine": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { "esutils": "^2.0.2" } }, "dom-serialize": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", "dev": true, "requires": { "custom-event": "~1.0.0", "ent": "~2.2.0", "extend": "^3.0.0", "void-elements": "^2.0.0" } }, "domain-browser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", "dev": true }, "domexception": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", "dev": true, "requires": { "webidl-conversions": "^4.0.2" } }, "dot-prop": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", "dev": true, "peer": true, "requires": { "is-obj": "^2.0.0" } }, "double-ended-queue": { "version": "2.1.0-0", "resolved": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz", "integrity": "sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw=", "dev": true, "optional": true }, "duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", "dev": true }, "duplexer2": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", "dev": true, "peer": true, "requires": { "readable-stream": "^2.0.2" } }, "duplexify": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", "dev": true, "requires": { "end-of-stream": "^1.0.0", "inherits": "^2.0.1", "readable-stream": "^2.0.0", "stream-shift": "^1.0.0" } }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" } }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", "dev": true }, "ejs": { "version": "2.7.4", "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", "dev": true }, "electron-to-chromium": { "version": "1.4.109", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.109.tgz", "integrity": "sha512-LCF+Oqs2Oqwf8M3oc8T59Wi9C0xpL1qVyqIR6bPTCl8uPvln7G184L39tO4SE4Dyg/Kp1RjAz//BKMvi0uvw4w==", "dev": true }, "elliptic": { "version": "6.5.4", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "dev": true, "requires": { "bn.js": "^4.11.9", "brorand": "^1.1.0", "hash.js": "^1.0.0", "hmac-drbg": "^1.0.1", "inherits": "^2.0.4", "minimalistic-assert": "^1.0.1", "minimalistic-crypto-utils": "^1.0.1" }, "dependencies": { "bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true, "peer": true }, "emojilib": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==", "dev": true, "peer": true }, "emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true }, "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", "dev": true }, "end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, "requires": { "once": "^1.4.0" } }, "engine.io": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.1.5.tgz", "integrity": "sha512-D06ivJkYxyRrcEe0bTpNnBQNgP9d3xog+qZlLbui8EsMr/DouQpf5o9FzJnWYHEYE0YsFHllUv2R1dkgYZXHcA==", "dev": true, "requires": { "accepts": "~1.3.4", "base64id": "1.0.0", "cookie": "0.3.1", "debug": "~3.1.0", "engine.io-parser": "~2.1.0", "uws": "~9.14.0", "ws": "~3.3.1" }, "dependencies": { "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "requires": { "ms": "2.0.0" } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "ws": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", "dev": true, "requires": { "async-limiter": "~1.0.0", "safe-buffer": "~5.1.0", "ultron": "~1.1.0" } } } }, "engine.io-client": { "version": "3.1.6", "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.6.tgz", "integrity": "sha512-hnuHsFluXnsKOndS4Hv6SvUrgdYx1pk2NqfaDMW+GWdgfU3+/V25Cj7I8a0x92idSpa5PIhJRKxPvp9mnoLsfg==", "dev": true, "requires": { "component-emitter": "1.2.1", "component-inherit": "0.0.3", "debug": "~3.1.0", "engine.io-parser": "~2.1.1", "has-cors": "1.1.0", "indexof": "0.0.1", "parseqs": "0.0.5", "parseuri": "0.0.5", "ws": "~3.3.1", "xmlhttprequest-ssl": "~1.5.4", "yeast": "0.1.2" }, "dependencies": { "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "requires": { "ms": "2.0.0" } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "ws": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", "dev": true, "requires": { "async-limiter": "~1.0.0", "safe-buffer": "~5.1.0", "ultron": "~1.1.0" } } } }, "engine.io-parser": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz", "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==", "dev": true, "requires": { "after": "0.8.2", "arraybuffer.slice": "~0.0.7", "base64-arraybuffer": "0.1.5", "blob": "0.0.5", "has-binary2": "~1.0.2" } }, "enhanced-resolve": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, "requires": { "graceful-fs": "^4.1.2", "memory-fs": "^0.5.0", "tapable": "^1.0.0" }, "dependencies": { "memory-fs": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", "dev": true, "requires": { "errno": "^0.1.3", "readable-stream": "^2.0.1" } } } }, "ent": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", "dev": true }, "env-ci": { "version": "11.1.1", "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-11.1.1.tgz", "integrity": "sha512-mT3ks8F0kwpo7SYNds6nWj0PaRh+qJxIeBVBXAKTN9hphAzZv7s0QAZQbqnB1fAv/r4pJUGE15BV9UrS31FP2w==", "dev": true, "peer": true, "requires": { "execa": "^8.0.0", "java-properties": "^1.0.2" }, "dependencies": { "cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "peer": true, "requires": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "execa": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, "peer": true, "requires": { "cross-spawn": "^7.0.3", "get-stream": "^8.0.1", "human-signals": "^5.0.0", "is-stream": "^3.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^5.1.0", "onetime": "^6.0.0", "signal-exit": "^4.1.0", "strip-final-newline": "^3.0.0" } }, "get-stream": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", "dev": true, "peer": true }, "human-signals": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true, "peer": true }, "is-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, "peer": true }, "merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true, "peer": true }, "mimic-fn": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "dev": true, "peer": true }, "npm-run-path": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, "peer": true, "requires": { "path-key": "^4.0.0" }, "dependencies": { "path-key": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, "peer": true } } }, "onetime": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, "peer": true, "requires": { "mimic-fn": "^4.0.0" } }, "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, "peer": true }, "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, "peer": true, "requires": { "shebang-regex": "^3.0.0" } }, "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, "peer": true }, "signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, "peer": true }, "strip-final-newline": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true, "peer": true }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "peer": true, "requires": { "isexe": "^2.0.0" } } } }, "env-paths": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", "dev": true, "peer": true }, "environment": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", "dev": true, "peer": true }, "errno": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dev": true, "requires": { "prr": "~1.0.1" } }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { "is-arrayish": "^0.2.1" } }, "es-abstract": { "version": "1.19.5", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.5.tgz", "integrity": "sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA==", "dev": true, "requires": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "get-intrinsic": "^1.1.1", "get-symbol-description": "^1.0.0", "has": "^1.0.3", "has-symbols": "^1.0.3", "internal-slot": "^1.0.3", "is-callable": "^1.2.4", "is-negative-zero": "^2.0.2", "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", "is-weakref": "^1.0.2", "object-inspect": "^1.12.0", "object-keys": "^1.1.1", "object.assign": "^4.1.2", "string.prototype.trimend": "^1.0.4", "string.prototype.trimstart": "^1.0.4", "unbox-primitive": "^1.0.1" } }, "es-shim-unscopables": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", "dev": true, "requires": { "has": "^1.0.3" } }, "es-to-primitive": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, "requires": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", "is-symbol": "^1.0.2" } }, "es6-promise": { "version": "4.2.8", "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", "dev": true }, "es6-promisify": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", "dev": true, "requires": { "es6-promise": "^4.0.3" } }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", "dev": true }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "escodegen": { "version": "1.14.3", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", "dev": true, "requires": { "esprima": "^4.0.1", "estraverse": "^4.2.0", "esutils": "^2.0.2", "optionator": "^0.8.1", "source-map": "~0.6.1" }, "dependencies": { "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "optional": true } } }, "eslint": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", "dev": true, "requires": { "ajv": "^5.3.0", "babel-code-frame": "^6.22.0", "chalk": "^2.1.0", "concat-stream": "^1.6.0", "cross-spawn": "^5.1.0", "debug": "^3.1.0", "doctrine": "^2.1.0", "eslint-scope": "^3.7.1", "eslint-visitor-keys": "^1.0.0", "espree": "^3.5.4", "esquery": "^1.0.0", "esutils": "^2.0.2", "file-entry-cache": "^2.0.0", "functional-red-black-tree": "^1.0.1", "glob": "^7.1.2", "globals": "^11.0.1", "ignore": "^3.3.3", "imurmurhash": "^0.1.4", "inquirer": "^3.0.6", "is-resolvable": "^1.0.0", "js-yaml": "^3.9.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.3.0", "lodash": "^4.17.4", "minimatch": "^3.0.2", "mkdirp": "^0.5.1", "natural-compare": "^1.4.0", "optionator": "^0.8.2", "path-is-inside": "^1.0.2", "pluralize": "^7.0.0", "progress": "^2.0.0", "regexpp": "^1.0.1", "require-uncached": "^1.0.3", "semver": "^5.3.0", "strip-ansi": "^4.0.0", "strip-json-comments": "~2.0.1", "table": "4.0.2", "text-table": "~0.2.0" }, "dependencies": { "cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { "lru-cache": "^4.0.1", "shebang-command": "^1.2.0", "which": "^1.2.9" } }, "debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" } }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true } } }, "eslint-config-airbnb-base": { "version": "12.1.0", "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-12.1.0.tgz", "integrity": "sha512-/vjm0Px5ZCpmJqnjIzcFb9TKZrKWz0gnuG/7Gfkt0Db1ELJR51xkZth+t14rYdqWgX836XbuxtArbIHlVhbLBA==", "dev": true, "requires": { "eslint-restricted-globals": "^0.1.1" } }, "eslint-import-resolver-node": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", "dev": true, "requires": { "debug": "^3.2.7", "resolve": "^1.20.0" }, "dependencies": { "debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" } } } }, "eslint-module-utils": { "version": "2.7.3", "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz", "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==", "dev": true, "requires": { "debug": "^3.2.7", "find-up": "^2.1.0" }, "dependencies": { "debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" } } } }, "eslint-plugin-import": { "version": "2.26.0", "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", "dev": true, "requires": { "array-includes": "^3.1.4", "array.prototype.flat": "^1.2.5", "debug": "^2.6.9", "doctrine": "^2.1.0", "eslint-import-resolver-node": "^0.3.6", "eslint-module-utils": "^2.7.3", "has": "^1.0.3", "is-core-module": "^2.8.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", "object.values": "^1.1.5", "resolve": "^1.22.0", "tsconfig-paths": "^3.14.1" }, "dependencies": { "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } }, "eslint-plugin-jest": { "version": "21.27.2", "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-21.27.2.tgz", "integrity": "sha512-0E4OIgBJVlAmf1KfYFtZ3gYxgUzC5Eb3Jzmrc9ikI1OY+/cM8Kh72Ti7KfpeHNeD3HJNf9SmEfmvQLIz44Hrhw==", "dev": true, "requires": {} }, "eslint-restricted-globals": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz", "integrity": "sha1-NfDVy8ZMLj7WLpO0saevBbp+1Nc=", "dev": true }, "eslint-scope": { "version": "3.7.3", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz", "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==", "dev": true, "requires": { "esrecurse": "^4.1.0", "estraverse": "^4.1.1" } }, "eslint-visitor-keys": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true }, "espree": { "version": "3.5.4", "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", "dev": true, "requires": { "acorn": "^5.5.0", "acorn-jsx": "^3.0.0" } }, "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true }, "esquery": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, "requires": { "estraverse": "^5.1.0" }, "dependencies": { "estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true } } }, "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": { "estraverse": "^5.2.0" }, "dependencies": { "estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true } } }, "estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true }, "estree-walker": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", "dev": true }, "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", "dev": true }, "eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", "dev": true }, "events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true }, "evp_bytestokey": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, "requires": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" } }, "exec-sh": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", "dev": true, "requires": { "merge": "^1.2.0" } }, "execa": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { "cross-spawn": "^5.0.1", "get-stream": "^3.0.0", "is-stream": "^1.1.0", "npm-run-path": "^2.0.0", "p-finally": "^1.0.0", "signal-exit": "^3.0.0", "strip-eof": "^1.0.0" }, "dependencies": { "cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { "lru-cache": "^4.0.1", "shebang-command": "^1.2.0", "which": "^1.2.9" } } } }, "exit": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", "dev": true }, "expand-braces": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz", "integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=", "dev": true, "requires": { "array-slice": "^0.2.3", "array-unique": "^0.2.1", "braces": "^0.1.2" }, "dependencies": { "braces": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz", "integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=", "dev": true, "requires": { "expand-range": "^0.1.0" } } } }, "expand-brackets": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { "is-posix-bracket": "^0.1.0" } }, "expand-range": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz", "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=", "dev": true, "requires": { "is-number": "^0.1.1", "repeat-string": "^0.2.2" }, "dependencies": { "is-number": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz", "integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=", "dev": true } } }, "expect": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/expect/-/expect-22.4.3.tgz", "integrity": "sha512-XcNXEPehqn8b/jm8FYotdX0YrXn36qp4HWlrVT4ktwQas1l1LPxiVWncYnnL2eyMtKAmVIaG0XAp0QlrqJaxaA==", "dev": true, "requires": { "ansi-styles": "^3.2.0", "jest-diff": "^22.4.3", "jest-get-type": "^22.4.3", "jest-matcher-utils": "^22.4.3", "jest-message-util": "^22.4.3", "jest-regex-util": "^22.4.3" } }, "express": { "version": "4.17.3", "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz", "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==", "dev": true, "requires": { "accepts": "~1.3.8", "array-flatten": "1.1.1", "body-parser": "1.19.2", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.4.2", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "~1.1.2", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "finalhandler": "~1.1.2", "fresh": "0.5.2", "merge-descriptors": "1.0.1", "methods": "~1.1.2", "on-finished": "~2.3.0", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", "proxy-addr": "~2.0.7", "qs": "6.9.7", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", "send": "0.17.2", "serve-static": "1.14.2", "setprototypeof": "1.2.0", "statuses": "~1.5.0", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" }, "dependencies": { "body-parser": { "version": "1.19.2", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz", "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==", "dev": true, "requires": { "bytes": "3.1.2", "content-type": "~1.0.4", "debug": "2.6.9", "depd": "~1.1.2", "http-errors": "1.8.1", "iconv-lite": "0.4.24", "on-finished": "~2.3.0", "qs": "6.9.7", "raw-body": "2.4.3", "type-is": "~1.6.18" } }, "cookie": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", "dev": true }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" } }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", "dev": true }, "http-errors": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", "dev": true, "requires": { "depd": "~1.1.2", "inherits": "2.0.4", "setprototypeof": "1.2.0", "statuses": ">= 1.5.0 < 2", "toidentifier": "1.0.1" } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", "dev": true, "requires": { "ee-first": "1.1.1" } }, "qs": { "version": "6.9.7", "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", "dev": true }, "raw-body": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz", "integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==", "dev": true, "requires": { "bytes": "3.1.2", "http-errors": "1.8.1", "iconv-lite": "0.4.24", "unpipe": "1.0.0" } }, "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true } } }, "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, "extend-shallow": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { "is-plain-object": "^2.0.4" } } } }, "external-editor": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "requires": { "chardet": "^0.4.0", "iconv-lite": "^0.4.17", "tmp": "^0.0.33" } }, "extglob": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { "is-extglob": "^1.0.0" }, "dependencies": { "is-extglob": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", "dev": true } } }, "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", "dev": true }, "fast-content-type-parse": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-3.0.0.tgz", "integrity": "sha512-ZvLdcY8P+N8mGQJahJV5G4U88CSvT1rP8ApL6uETe88MBXrBHAkZlSEySdUlyztF7ccb+Znos3TFqaepHxdhBg==", "dev": true }, "fast-deep-equal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", "dev": true }, "fast-glob": { "version": "2.2.7", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", "dev": true, "requires": { "@mrmlnc/readdir-enhanced": "^2.2.1", "@nodelib/fs.stat": "^1.1.2", "glob-parent": "^3.1.0", "is-glob": "^4.0.0", "merge2": "^1.2.3", "micromatch": "^3.1.10" }, "dependencies": { "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true }, "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, "braces": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", "extend-shallow": "^2.0.1", "fill-range": "^4.0.0", "isobject": "^3.0.1", "repeat-element": "^1.1.2", "snapdragon": "^0.8.1", "snapdragon-node": "^2.0.1", "split-string": "^3.0.2", "to-regex": "^3.0.1" }, "dependencies": { "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" } } } }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" } }, "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { "debug": "^2.3.3", "define-property": "^0.2.5", "extend-shallow": "^2.0.1", "posix-character-classes": "^0.1.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "dependencies": { "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "^0.1.0" } }, "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" } }, "is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", "kind-of": "^5.0.0" } }, "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } }, "extglob": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { "array-unique": "^0.3.2", "define-property": "^1.0.0", "expand-brackets": "^2.1.4", "extend-shallow": "^2.0.1", "fragment-cache": "^0.2.1", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "dependencies": { "define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { "is-descriptor": "^1.0.0" } }, "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" } } } }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", "repeat-string": "^1.6.1", "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" } } } }, "glob-parent": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "dev": true, "requires": { "is-glob": "^3.1.0", "path-dirname": "^1.0.0" }, "dependencies": { "is-glob": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "dev": true, "requires": { "is-extglob": "^2.1.0" } } } }, "is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", "braces": "^2.3.1", "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "extglob": "^2.0.4", "fragment-cache": "^0.2.1", "kind-of": "^6.0.2", "nanomatch": "^1.2.9", "object.pick": "^1.3.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.2" } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true }, "to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" } } } }, "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": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, "fastparse": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", "dev": true }, "fastq": { "version": "1.19.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", "dev": true, "requires": { "reusify": "^1.0.4" } }, "fb-watchman": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", "dev": true, "requires": { "bser": "2.1.1" } }, "figgy-pudding": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", "dev": true }, "figures": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { "escape-string-regexp": "^1.0.5" } }, "file-entry-cache": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, "requires": { "flat-cache": "^1.2.1", "object-assign": "^4.0.1" } }, "file-loader": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz", "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==", "dev": true, "requires": { "loader-utils": "^1.0.2", "schema-utils": "^0.4.5" } }, "file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", "dev": true, "optional": true }, "filename-regex": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", "dev": true }, "fileset": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", "dev": true, "requires": { "glob": "^7.0.3", "minimatch": "^3.0.3" } }, "filesize": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", "dev": true }, "fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "requires": { "to-regex-range": "^5.0.1" } }, "finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "dev": true, "requires": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "on-finished": "~2.3.0", "parseurl": "~1.3.3", "statuses": "~1.5.0", "unpipe": "~1.0.0" }, "dependencies": { "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", "dev": true, "requires": { "ee-first": "1.1.1" } } } }, "find-cache-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", "dev": true, "requires": { "commondir": "^1.0.1", "make-dir": "^2.0.0", "pkg-dir": "^3.0.0" } }, "find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { "locate-path": "^2.0.0" } }, "find-up-simple": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.1.tgz", "integrity": "sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==", "dev": true, "peer": true }, "find-versions": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-6.0.0.tgz", "integrity": "sha512-2kCCtc+JvcZ86IGAz3Z2Y0A1baIz9fL31pH/0S1IqZr9Iwnjq8izfPtrCyQKO6TLMPELLsQMre7VDqeIKCsHkA==", "dev": true, "peer": true, "requires": { "semver-regex": "^4.0.5", "super-regex": "^1.0.0" } }, "flat-cache": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", "dev": true, "requires": { "circular-json": "^0.3.1", "graceful-fs": "^4.1.2", "rimraf": "~2.6.2", "write": "^0.2.1" } }, "flush-write-stream": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", "dev": true, "requires": { "inherits": "^2.0.3", "readable-stream": "^2.3.6" } }, "follow-redirects": { "version": "1.14.9", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", "dev": true }, "for-each": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, "requires": { "is-callable": "^1.1.3" } }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, "for-own": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { "for-in": "^1.0.1" } }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", "dev": true }, "form-data": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", "mime-types": "^2.1.12" } }, "forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "dev": true }, "fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "dev": true, "requires": { "map-cache": "^0.2.2" } }, "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", "dev": true }, "from2": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", "dev": true, "requires": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" } }, "fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", "dev": true }, "fs-extra": { "version": "11.3.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.1.tgz", "integrity": "sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==", "dev": true, "peer": true, "requires": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "fs-readdir-recursive": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", "dev": true }, "fs-write-stream-atomic": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", "dev": true, "requires": { "graceful-fs": "^4.1.2", "iferr": "^0.1.5", "imurmurhash": "^0.1.4", "readable-stream": "1 || 2" } }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, "optional": true }, "ftp": { "version": "0.3.10", "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz", "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=", "dev": true, "optional": true, "requires": { "readable-stream": "1.1.x", "xregexp": "2.0.0" }, "dependencies": { "isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", "dev": true, "optional": true }, "readable-stream": { "version": "1.1.14", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "dev": true, "optional": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", "isarray": "0.0.1", "string_decoder": "~0.10.x" } }, "string_decoder": { "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", "dev": true, "optional": true } } }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, "function-timeout": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/function-timeout/-/function-timeout-1.0.2.tgz", "integrity": "sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA==", "dev": true, "peer": true }, "functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, "generate-function": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", "dev": true, "optional": true, "requires": { "is-property": "^1.0.2" } }, "generate-object-property": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", "dev": true, "optional": true, "requires": { "is-property": "^1.0.0" } }, "gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true }, "get-caller-file": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", "dev": true }, "get-intrinsic": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", "dev": true, "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", "has-symbols": "^1.0.1" } }, "get-stdin": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", "dev": true }, "get-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, "get-symbol-description": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", "dev": true, "requires": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.1" } }, "get-uri": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.4.tgz", "integrity": "sha512-v7LT/s8kVjs+Tx0ykk1I+H/rbpzkHvuIq87LmeXptcf5sNWm9uQiwjNAt94SJPA1zOlCntmnOlJvVWKmzsxG8Q==", "dev": true, "optional": true, "requires": { "data-uri-to-buffer": "1", "debug": "2", "extend": "~3.0.2", "file-uri-to-path": "1", "ftp": "~0.3.10", "readable-stream": "2" }, "dependencies": { "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "optional": true, "requires": { "ms": "2.0.0" } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true, "optional": true } } }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", "dev": true }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { "assert-plus": "^1.0.0" } }, "git-log-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/git-log-parser/-/git-log-parser-1.2.1.tgz", "integrity": "sha512-PI+sPDvHXNPl5WNOErAK05s3j0lgwUzMN6o8cyQrDaKfT3qd7TmNJKeXX+SknI5I0QhG5fVPAEwSY4tRGDtYoQ==", "dev": true, "peer": true, "requires": { "argv-formatter": "~1.0.0", "spawn-error-forwarder": "~1.0.0", "split2": "~1.0.0", "stream-combiner2": "~1.1.1", "through2": "~2.0.0", "traverse": "0.6.8" } }, "glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.0.4", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "glob-base": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { "glob-parent": "^2.0.0", "is-glob": "^2.0.0" }, "dependencies": { "glob-parent": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { "is-glob": "^2.0.0" } }, "is-extglob": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", "dev": true }, "is-glob": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { "is-extglob": "^1.0.0" } } } }, "glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "requires": { "is-glob": "^4.0.1" } }, "glob-to-regexp": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", "dev": true }, "globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true }, "globby": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==", "dev": true, "requires": { "array-union": "^1.0.1", "dir-glob": "2.0.0", "fast-glob": "^2.0.2", "glob": "^7.1.2", "ignore": "^3.3.5", "pify": "^3.0.0", "slash": "^1.0.0" }, "dependencies": { "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", "dev": true } } }, "graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, "growly": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", "dev": true }, "gzip-size": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-4.1.0.tgz", "integrity": "sha1-iuCWJX6r59acRb4rZ8RIEk/7UXw=", "dev": true, "requires": { "duplexer": "^0.1.1", "pify": "^3.0.0" } }, "gzip-size-cli": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/gzip-size-cli/-/gzip-size-cli-2.1.0.tgz", "integrity": "sha512-2aFj16SGdAD5FTTqJe4Wdzs5d05MnHYLr5lwmxdFjiWzJWhUI+L48beS0Vmlg6s9Kqe+bfQ42WskPZdzTwPH4w==", "dev": true, "requires": { "gzip-size": "^4.0.0", "meow": "^3.7.0", "pretty-bytes": "^4.0.2" } }, "handlebars": { "version": "4.7.7", "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", "dev": true, "requires": { "minimist": "^1.2.5", "neo-async": "^2.6.0", "source-map": "^0.6.1", "uglify-js": "^3.1.4", "wordwrap": "^1.0.0" }, "dependencies": { "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } }, "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", "dev": true }, "har-validator": { "version": "5.1.5", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", "dev": true, "requires": { "ajv": "^6.12.3", "har-schema": "^2.0.0" }, "dependencies": { "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": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "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 }, "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 } } }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { "function-bind": "^1.1.1" } }, "has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { "ansi-regex": "^2.0.0" }, "dependencies": { "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true } } }, "has-bigints": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", "dev": true }, "has-binary2": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", "dev": true, "requires": { "isarray": "2.0.1" }, "dependencies": { "isarray": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", "dev": true } } }, "has-cors": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", "dev": true }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "has-property-descriptors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", "dev": true, "requires": { "get-intrinsic": "^1.1.1" } }, "has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true }, "has-tostringtag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dev": true, "requires": { "has-symbols": "^1.0.2" } }, "has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, "requires": { "get-value": "^2.0.6", "has-values": "^1.0.0", "isobject": "^3.0.0" } }, "has-values": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "dev": true, "requires": { "is-number": "^3.0.0", "kind-of": "^4.0.0" }, "dependencies": { "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "kind-of": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "hash-base": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "dev": true, "requires": { "inherits": "^2.0.4", "readable-stream": "^3.6.0", "safe-buffer": "^5.2.0" }, "dependencies": { "readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true } } }, "hash.js": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dev": true, "requires": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" } }, "hawk": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", "dev": true, "optional": true, "requires": { "boom": "2.x.x", "cryptiles": "2.x.x", "hoek": "2.x.x", "sntp": "1.x.x" } }, "highlight.js": { "version": "10.7.3", "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", "dev": true, "peer": true }, "hipchat-notifier": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/hipchat-notifier/-/hipchat-notifier-1.1.0.tgz", "integrity": "sha1-ttJJdVQ3wZEII2d5nTupoPI7Ix4=", "dev": true, "optional": true, "requires": { "lodash": "^4.0.0", "request": "^2.0.0" } }, "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", "dev": true, "requires": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", "minimalistic-crypto-utils": "^1.0.1" } }, "hoek": { "version": "2.16.3", "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", "dev": true, "optional": true }, "home-or-tmp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "dev": true, "requires": { "os-homedir": "^1.0.0", "os-tmpdir": "^1.0.1" } }, "homedir-polyfill": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", "dev": true, "requires": { "parse-passwd": "^1.0.0" } }, "hook-std": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/hook-std/-/hook-std-3.0.0.tgz", "integrity": "sha512-jHRQzjSDzMtFy34AGj1DN+vq54WVuhSvKgrHf0OMiFQTwDD4L/qqofVEWjLOBMTn5+lCD3fPg32W9yOfnEJTTw==", "dev": true, "peer": true }, "hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true }, "html-encoding-sniffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", "dev": true, "requires": { "whatwg-encoding": "^1.0.1" } }, "http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "requires": { "depd": "2.0.0", "inherits": "2.0.4", "setprototypeof": "1.2.0", "statuses": "2.0.1", "toidentifier": "1.0.1" }, "dependencies": { "statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true } } }, "http-proxy": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", "dev": true, "requires": { "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", "requires-port": "^1.0.0" } }, "http-proxy-agent": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", "dev": true, "optional": true, "requires": { "agent-base": "4", "debug": "3.1.0" }, "dependencies": { "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "optional": true, "requires": { "ms": "2.0.0" } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true, "optional": true } } }, "http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", "sshpk": "^1.7.0" } }, "httpntlm": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/httpntlm/-/httpntlm-1.6.1.tgz", "integrity": "sha1-rQFScUOi6Hc8+uapb1hla7UqNLI=", "dev": true, "optional": true, "requires": { "httpreq": ">=0.4.22", "underscore": "~1.7.0" } }, "httpreq": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/httpreq/-/httpreq-0.5.2.tgz", "integrity": "sha512-2Jm+x9WkExDOeFRrdBCBSpLPT5SokTcRHkunV3pjKmX/cx6av8zQ0WtHUMDrYb6O4hBFzNU6sxJEypvRUVYKnw==", "dev": true, "optional": true }, "https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, "https-proxy-agent": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", "dev": true, "requires": { "agent-base": "^4.3.0", "debug": "^3.1.0" }, "dependencies": { "debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" } } } }, "human-signals": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.1.tgz", "integrity": "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==", "dev": true, "peer": true }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" } }, "icss-replace-symbols": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", "dev": true }, "icss-utils": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", "dev": true, "requires": { "postcss": "^6.0.1" } }, "ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true }, "iferr": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", "dev": true }, "ignore": { "version": "3.3.10", "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", "dev": true }, "import-fresh": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", "dev": true, "requires": { "caller-path": "^2.0.0", "resolve-from": "^3.0.0" }, "dependencies": { "caller-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", "dev": true, "requires": { "caller-callsite": "^2.0.0" } }, "resolve-from": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", "dev": true } } }, "import-from-esm": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/import-from-esm/-/import-from-esm-2.0.0.tgz", "integrity": "sha512-YVt14UZCgsX1vZQ3gKjkWVdBdHQ6eu3MPU1TBgL1H5orXe2+jWD006WCPPtOuwlQm10NuzOW5WawiF1Q9veW8g==", "dev": true, "peer": true, "requires": { "debug": "^4.3.4", "import-meta-resolve": "^4.0.0" } }, "import-local": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", "dev": true, "requires": { "pkg-dir": "^2.0.0", "resolve-cwd": "^2.0.0" }, "dependencies": { "pkg-dir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { "find-up": "^2.1.0" } } } }, "import-meta-resolve": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", "integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==", "dev": true, "peer": true }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, "indent-string": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { "repeating": "^2.0.0" } }, "index-to-position": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.1.0.tgz", "integrity": "sha512-XPdx9Dq4t9Qk1mTMbWONJqU7boCoumEH7fRET37HX5+khDUl3J2W6PdALxhILYlIYx2amlwYcRPp28p0tSiojg==", "dev": true, "peer": true }, "indexof": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", "dev": true }, "infer-owner": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", "dev": true }, "inflection": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.12.0.tgz", "integrity": "sha1-ogCTVlbW9fa8TcdQLhrstwMihBY=", "dev": true, "optional": true }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" } }, "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "ini": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true, "peer": true }, "inquirer": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "dev": true, "requires": { "ansi-escapes": "^3.0.0", "chalk": "^2.0.0", "cli-cursor": "^2.1.0", "cli-width": "^2.0.0", "external-editor": "^2.0.4", "figures": "^2.0.0", "lodash": "^4.3.0", "mute-stream": "0.0.7", "run-async": "^2.2.0", "rx-lite": "^4.0.8", "rx-lite-aggregates": "^4.0.8", "string-width": "^2.1.0", "strip-ansi": "^4.0.0", "through": "^2.3.6" } }, "internal-slot": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", "dev": true, "requires": { "get-intrinsic": "^1.1.0", "has": "^1.0.3", "side-channel": "^1.0.4" } }, "into-stream": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-7.0.0.tgz", "integrity": "sha512-2dYz766i9HprMBasCMvHMuazJ7u4WzhJwo5kb3iPSiW/iRYV6uPari3zHoqZlnuaR7V1bEiNMxikhp37rdBXbw==", "dev": true, "peer": true, "requires": { "from2": "^2.3.0", "p-is-promise": "^3.0.0" }, "dependencies": { "p-is-promise": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-3.0.0.tgz", "integrity": "sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==", "dev": true, "peer": true } } }, "invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { "loose-envify": "^1.0.0" } }, "invert-kv": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", "dev": true }, "ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", "dev": true, "optional": true }, "ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true }, "is-accessor-descriptor": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { "kind-of": "^6.0.0" } }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, "is-bigint": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, "requires": { "has-bigints": "^1.0.1" } }, "is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "optional": true, "requires": { "binary-extensions": "^2.0.0" } }, "is-boolean-object": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, "requires": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" } }, "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, "is-callable": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", "dev": true }, "is-ci": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", "dev": true, "requires": { "ci-info": "^1.5.0" } }, "is-core-module": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", "dev": true, "requires": { "has": "^1.0.3" } }, "is-data-descriptor": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { "kind-of": "^6.0.0" } }, "is-date-object": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, "requires": { "has-tostringtag": "^1.0.0" } }, "is-descriptor": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", "kind-of": "^6.0.2" } }, "is-directory": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", "dev": true }, "is-dotfile": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", "dev": true }, "is-equal-shallow": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { "is-primitive": "^2.0.0" } }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", "dev": true }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, "is-finite": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, "is-generator-fn": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-1.0.0.tgz", "integrity": "sha1-lp1J4bszKfa7fwkIm+JleLLd1Go=", "dev": true }, "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": { "is-extglob": "^2.1.1" } }, "is-my-ip-valid": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.1.tgz", "integrity": "sha512-jxc8cBcOWbNK2i2aTkCZP6i7wkHF1bqKFrwEHuN5Jtg5BSaZHUZQ/JTOJwoV41YvHnOaRyWWh72T/KvfNz9DJg==", "dev": true, "optional": true }, "is-my-json-valid": { "version": "2.20.6", "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.6.tgz", "integrity": "sha512-1JQwulVNjx8UqkPE/bqDaxtH4PXCe/2VRh/y3p99heOV87HG4Id5/VfDswd+YiAfHcRTfDlWgISycnHuhZq1aw==", "dev": true, "optional": true, "requires": { "generate-function": "^2.0.0", "generate-object-property": "^1.1.0", "is-my-ip-valid": "^1.0.0", "jsonpointer": "^5.0.0", "xtend": "^4.0.0" } }, "is-negative-zero": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, "is-number-object": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, "requires": { "has-tostringtag": "^1.0.0" } }, "is-obj": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", "dev": true, "peer": true }, "is-plain-obj": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", "dev": true, "peer": true }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { "isobject": "^3.0.1" } }, "is-posix-bracket": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", "dev": true }, "is-primitive": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", "dev": true }, "is-property": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", "dev": true, "optional": true }, "is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, "requires": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" } }, "is-resolvable": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", "dev": true }, "is-shared-array-buffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", "dev": true, "requires": { "call-bind": "^1.0.2" } }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, "is-string": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, "requires": { "has-tostringtag": "^1.0.0" } }, "is-symbol": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, "requires": { "has-symbols": "^1.0.2" } }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, "is-unicode-supported": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", "dev": true, "peer": true }, "is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "dev": true }, "is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, "requires": { "call-bind": "^1.0.2" } }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true }, "is-wsl": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", "dev": true }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "isbinaryfile": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", "dev": true, "requires": { "buffer-alloc": "^1.2.0" } }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, "issue-parser": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-7.0.1.tgz", "integrity": "sha512-3YZcUUR2Wt1WsapF+S/WiA2WmlW0cWAoPccMqne7AxEBhCdFeTPjfv/Axb8V2gyCgY3nRw+ksZ3xSUX+R47iAg==", "dev": true, "requires": { "lodash.capitalize": "^4.2.1", "lodash.escaperegexp": "^4.1.2", "lodash.isplainobject": "^4.0.6", "lodash.isstring": "^4.0.1", "lodash.uniqby": "^4.7.0" } }, "istanbul-api": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.3.7.tgz", "integrity": "sha512-4/ApBnMVeEPG3EkSzcw25wDe4N66wxwn+KKn6b47vyek8Xb3NBAcg4xfuQbS7BqcZuTX4wxfD5lVagdggR3gyA==", "dev": true, "requires": { "async": "^2.1.4", "fileset": "^2.0.2", "istanbul-lib-coverage": "^1.2.1", "istanbul-lib-hook": "^1.2.2", "istanbul-lib-instrument": "^1.10.2", "istanbul-lib-report": "^1.1.5", "istanbul-lib-source-maps": "^1.2.6", "istanbul-reports": "^1.5.1", "js-yaml": "^3.7.0", "mkdirp": "^0.5.1", "once": "^1.4.0" } }, "istanbul-lib-coverage": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz", "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==", "dev": true }, "istanbul-lib-hook": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.2.2.tgz", "integrity": "sha512-/Jmq7Y1VeHnZEQ3TL10VHyb564mn6VrQXHchON9Jf/AEcmQ3ZIiyD1BVzNOKTZf/G3gE+kiGK6SmpF9y3qGPLw==", "dev": true, "requires": { "append-transform": "^0.4.0" } }, "istanbul-lib-instrument": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz", "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", "dev": true, "requires": { "babel-generator": "^6.18.0", "babel-template": "^6.16.0", "babel-traverse": "^6.18.0", "babel-types": "^6.18.0", "babylon": "^6.18.0", "istanbul-lib-coverage": "^1.2.1", "semver": "^5.3.0" }, "dependencies": { "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true } } }, "istanbul-lib-report": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.5.tgz", "integrity": "sha512-UsYfRMoi6QO/doUshYNqcKJqVmFe9w51GZz8BS3WB0lYxAllQYklka2wP9+dGZeHYaWIdcXUx8JGdbqaoXRXzw==", "dev": true, "requires": { "istanbul-lib-coverage": "^1.2.1", "mkdirp": "^0.5.1", "path-parse": "^1.0.5", "supports-color": "^3.1.2" }, "dependencies": { "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", "dev": true }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { "has-flag": "^1.0.0" } } } }, "istanbul-lib-source-maps": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.6.tgz", "integrity": "sha512-TtbsY5GIHgbMsMiRw35YBHGpZ1DVFEO19vxxeiDMYaeOFOCzfnYVxvl6pOUIZR4dtPhAGpSMup8OyF8ubsaqEg==", "dev": true, "requires": { "debug": "^3.1.0", "istanbul-lib-coverage": "^1.2.1", "mkdirp": "^0.5.1", "rimraf": "^2.6.1", "source-map": "^0.5.3" }, "dependencies": { "debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" } } } }, "istanbul-reports": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.5.1.tgz", "integrity": "sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw==", "dev": true, "requires": { "handlebars": "^4.0.3" } }, "jasmine-core": { "version": "2.99.1", "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.99.1.tgz", "integrity": "sha1-5kAN8ea1bhMLYcS80JPap/boyhU=", "dev": true }, "java-properties": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/java-properties/-/java-properties-1.0.2.tgz", "integrity": "sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==", "dev": true, "peer": true }, "jest": { "version": "22.4.4", "resolved": "https://registry.npmjs.org/jest/-/jest-22.4.4.tgz", "integrity": "sha512-eBhhW8OS/UuX3HxgzNBSVEVhSuRDh39Z1kdYkQVWna+scpgsrD7vSeBI7tmEvsguPDMnfJodW28YBnhv/BzSew==", "dev": true, "requires": { "import-local": "^1.0.0", "jest-cli": "^22.4.4" } }, "jest-changed-files": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-22.4.3.tgz", "integrity": "sha512-83Dh0w1aSkUNFhy5d2dvqWxi/y6weDwVVLU6vmK0cV9VpRxPzhTeGimbsbRDSnEoszhF937M4sDLLeS7Cu/Tmw==", "dev": true, "requires": { "throat": "^4.0.0" } }, "jest-cli": { "version": "22.4.4", "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-22.4.4.tgz", "integrity": "sha512-I9dsgkeyjVEEZj9wrGrqlH+8OlNob9Iptyl+6L5+ToOLJmHm4JwOPatin1b2Bzp5R5YRQJ+oiedx7o1H7wJzhA==", "dev": true, "requires": { "ansi-escapes": "^3.0.0", "chalk": "^2.0.1", "exit": "^0.1.2", "glob": "^7.1.2", "graceful-fs": "^4.1.11", "import-local": "^1.0.0", "is-ci": "^1.0.10", "istanbul-api": "^1.1.14", "istanbul-lib-coverage": "^1.1.1", "istanbul-lib-instrument": "^1.8.0", "istanbul-lib-source-maps": "^1.2.1", "jest-changed-files": "^22.2.0", "jest-config": "^22.4.4", "jest-environment-jsdom": "^22.4.1", "jest-get-type": "^22.1.0", "jest-haste-map": "^22.4.2", "jest-message-util": "^22.4.0", "jest-regex-util": "^22.1.0", "jest-resolve-dependencies": "^22.1.0", "jest-runner": "^22.4.4", "jest-runtime": "^22.4.4", "jest-snapshot": "^22.4.0", "jest-util": "^22.4.1", "jest-validate": "^22.4.4", "jest-worker": "^22.2.2", "micromatch": "^2.3.11", "node-notifier": "^5.2.1", "realpath-native": "^1.0.0", "rimraf": "^2.5.4", "slash": "^1.0.0", "string-length": "^2.0.0", "strip-ansi": "^4.0.0", "which": "^1.2.12", "yargs": "^10.0.3" }, "dependencies": { "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", "dev": true } } }, "jest-config": { "version": "22.4.4", "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-22.4.4.tgz", "integrity": "sha512-9CKfo1GC4zrXSoMLcNeDvQBfgtqGTB1uP8iDIZ97oB26RCUb886KkKWhVcpyxVDOUxbhN+uzcBCeFe7w+Iem4A==", "dev": true, "requires": { "chalk": "^2.0.1", "glob": "^7.1.1", "jest-environment-jsdom": "^22.4.1", "jest-environment-node": "^22.4.1", "jest-get-type": "^22.1.0", "jest-jasmine2": "^22.4.4", "jest-regex-util": "^22.1.0", "jest-resolve": "^22.4.2", "jest-util": "^22.4.1", "jest-validate": "^22.4.4", "pretty-format": "^22.4.0" } }, "jest-diff": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-22.4.3.tgz", "integrity": "sha512-/QqGvCDP5oZOF6PebDuLwrB2BMD8ffJv6TAGAdEVuDx1+uEgrHpSFrfrOiMRx2eJ1hgNjlQrOQEHetVwij90KA==", "dev": true, "requires": { "chalk": "^2.0.1", "diff": "^3.2.0", "jest-get-type": "^22.4.3", "pretty-format": "^22.4.3" } }, "jest-docblock": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-22.4.3.tgz", "integrity": "sha512-uPKBEAw7YrEMcXueMKZXn/rbMxBiSv48fSqy3uEnmgOlQhSX+lthBqHb1fKWNVmFqAp9E/RsSdBfiV31LbzaOg==", "dev": true, "requires": { "detect-newline": "^2.1.0" } }, "jest-environment-jsdom": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-22.4.3.tgz", "integrity": "sha512-FviwfR+VyT3Datf13+ULjIMO5CSeajlayhhYQwpzgunswoaLIPutdbrnfUHEMyJCwvqQFaVtTmn9+Y8WCt6n1w==", "dev": true, "requires": { "jest-mock": "^22.4.3", "jest-util": "^22.4.3", "jsdom": "^11.5.1" } }, "jest-environment-node": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-22.4.3.tgz", "integrity": "sha512-reZl8XF6t/lMEuPWwo9OLfttyC26A5AMgDyEQ6DBgZuyfyeNUzYT8BFo6uxCCP/Av/b7eb9fTi3sIHFPBzmlRA==", "dev": true, "requires": { "jest-mock": "^22.4.3", "jest-util": "^22.4.3" } }, "jest-get-type": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==", "dev": true }, "jest-haste-map": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-22.4.3.tgz", "integrity": "sha512-4Q9fjzuPVwnaqGKDpIsCSoTSnG3cteyk2oNVjBX12HHOaF1oxql+uUiqZb5Ndu7g/vTZfdNwwy4WwYogLh29DQ==", "dev": true, "requires": { "fb-watchman": "^2.0.0", "graceful-fs": "^4.1.11", "jest-docblock": "^22.4.3", "jest-serializer": "^22.4.3", "jest-worker": "^22.4.3", "micromatch": "^2.3.11", "sane": "^2.0.0" } }, "jest-jasmine2": { "version": "22.4.4", "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-22.4.4.tgz", "integrity": "sha512-nK3vdUl50MuH7vj/8at7EQVjPGWCi3d5+6aCi7Gxy/XMWdOdbH1qtO/LjKbqD8+8dUAEH+BVVh7HkjpCWC1CSw==", "dev": true, "requires": { "chalk": "^2.0.1", "co": "^4.6.0", "expect": "^22.4.0", "graceful-fs": "^4.1.11", "is-generator-fn": "^1.0.0", "jest-diff": "^22.4.0", "jest-matcher-utils": "^22.4.0", "jest-message-util": "^22.4.0", "jest-snapshot": "^22.4.0", "jest-util": "^22.4.1", "source-map-support": "^0.5.0" } }, "jest-leak-detector": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-22.4.3.tgz", "integrity": "sha512-NZpR/Ls7+ndO57LuXROdgCGz2RmUdC541tTImL9bdUtU3WadgFGm0yV+Ok4Fuia/1rLAn5KaJ+i76L6e3zGJYQ==", "dev": true, "requires": { "pretty-format": "^22.4.3" } }, "jest-matcher-utils": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz", "integrity": "sha512-lsEHVaTnKzdAPR5t4B6OcxXo9Vy4K+kRRbG5gtddY8lBEC+Mlpvm1CJcsMESRjzUhzkz568exMV1hTB76nAKbA==", "dev": true, "requires": { "chalk": "^2.0.1", "jest-get-type": "^22.4.3", "pretty-format": "^22.4.3" } }, "jest-message-util": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-22.4.3.tgz", "integrity": "sha512-iAMeKxhB3Se5xkSjU0NndLLCHtP4n+GtCqV0bISKA5dmOXQfEbdEmYiu2qpnWBDCQdEafNDDU6Q+l6oBMd/+BA==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0-beta.35", "chalk": "^2.0.1", "micromatch": "^2.3.11", "slash": "^1.0.0", "stack-utils": "^1.0.1" }, "dependencies": { "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", "dev": true } } }, "jest-mock": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-22.4.3.tgz", "integrity": "sha512-+4R6mH5M1G4NK16CKg9N1DtCaFmuxhcIqF4lQK/Q1CIotqMs/XBemfpDPeVZBFow6iyUNu6EBT9ugdNOTT5o5Q==", "dev": true }, "jest-regex-util": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-22.4.3.tgz", "integrity": "sha512-LFg1gWr3QinIjb8j833bq7jtQopiwdAs67OGfkPrvy7uNUbVMfTXXcOKXJaeY5GgjobELkKvKENqq1xrUectWg==", "dev": true }, "jest-resolve": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-22.4.3.tgz", "integrity": "sha512-u3BkD/MQBmwrOJDzDIaxpyqTxYH+XqAXzVJP51gt29H8jpj3QgKof5GGO2uPGKGeA1yTMlpbMs1gIQ6U4vcRhw==", "dev": true, "requires": { "browser-resolve": "^1.11.2", "chalk": "^2.0.1" } }, "jest-resolve-dependencies": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-22.4.3.tgz", "integrity": "sha512-06czCMVToSN8F2U4EvgSB1Bv/56gc7MpCftZ9z9fBgUQM7dzHGCMBsyfVA6dZTx8v0FDcnALf7hupeQxaBCvpA==", "dev": true, "requires": { "jest-regex-util": "^22.4.3" } }, "jest-runner": { "version": "22.4.4", "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-22.4.4.tgz", "integrity": "sha512-5S/OpB51igQW9xnkM5Tgd/7ZjiAuIoiJAVtvVTBcEBiXBIFzWM3BAMPBM19FX68gRV0KWyFuGKj0EY3M3aceeQ==", "dev": true, "requires": { "exit": "^0.1.2", "jest-config": "^22.4.4", "jest-docblock": "^22.4.0", "jest-haste-map": "^22.4.2", "jest-jasmine2": "^22.4.4", "jest-leak-detector": "^22.4.0", "jest-message-util": "^22.4.0", "jest-runtime": "^22.4.4", "jest-util": "^22.4.1", "jest-worker": "^22.2.2", "throat": "^4.0.0" } }, "jest-runtime": { "version": "22.4.4", "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-22.4.4.tgz", "integrity": "sha512-WRTj9m///npte1YjuphCYX7GRY/c2YvJImU9t7qOwFcqHr4YMzmX6evP/3Sehz5DKW2Vi8ONYPCFWe36JVXxfw==", "dev": true, "requires": { "babel-core": "^6.0.0", "babel-jest": "^22.4.4", "babel-plugin-istanbul": "^4.1.5", "chalk": "^2.0.1", "convert-source-map": "^1.4.0", "exit": "^0.1.2", "graceful-fs": "^4.1.11", "jest-config": "^22.4.4", "jest-haste-map": "^22.4.2", "jest-regex-util": "^22.1.0", "jest-resolve": "^22.4.2", "jest-util": "^22.4.1", "jest-validate": "^22.4.4", "json-stable-stringify": "^1.0.1", "micromatch": "^2.3.11", "realpath-native": "^1.0.0", "slash": "^1.0.0", "strip-bom": "3.0.0", "write-file-atomic": "^2.1.0", "yargs": "^10.0.3" }, "dependencies": { "babel-core": { "version": "6.26.3", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "requires": { "babel-code-frame": "^6.26.0", "babel-generator": "^6.26.0", "babel-helpers": "^6.24.1", "babel-messages": "^6.23.0", "babel-register": "^6.26.0", "babel-runtime": "^6.26.0", "babel-template": "^6.26.0", "babel-traverse": "^6.26.0", "babel-types": "^6.26.0", "babylon": "^6.18.0", "convert-source-map": "^1.5.1", "debug": "^2.6.9", "json5": "^0.5.1", "lodash": "^4.17.4", "minimatch": "^3.0.4", "path-is-absolute": "^1.0.1", "private": "^0.1.8", "slash": "^1.0.0", "source-map": "^0.5.7" } }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" } }, "json5": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", "dev": true }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", "dev": true }, "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true } } }, "jest-serializer": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-22.4.3.tgz", "integrity": "sha512-uPaUAppx4VUfJ0QDerpNdF43F68eqKWCzzhUlKNDsUPhjOon7ZehR4C809GCqh765FoMRtTVUVnGvIoskkYHiw==", "dev": true }, "jest-snapshot": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-22.4.3.tgz", "integrity": "sha512-JXA0gVs5YL0HtLDCGa9YxcmmV2LZbwJ+0MfyXBBc5qpgkEYITQFJP7XNhcHFbUvRiniRpRbGVfJrOoYhhGE0RQ==", "dev": true, "requires": { "chalk": "^2.0.1", "jest-diff": "^22.4.3", "jest-matcher-utils": "^22.4.3", "mkdirp": "^0.5.1", "natural-compare": "^1.4.0", "pretty-format": "^22.4.3" } }, "jest-util": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-22.4.3.tgz", "integrity": "sha512-rfDfG8wyC5pDPNdcnAlZgwKnzHvZDu8Td2NJI/jAGKEGxJPYiE4F0ss/gSAkG4778Y23Hvbz+0GMrDJTeo7RjQ==", "dev": true, "requires": { "callsites": "^2.0.0", "chalk": "^2.0.1", "graceful-fs": "^4.1.11", "is-ci": "^1.0.10", "jest-message-util": "^22.4.3", "mkdirp": "^0.5.1", "source-map": "^0.6.0" }, "dependencies": { "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } }, "jest-validate": { "version": "22.4.4", "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-22.4.4.tgz", "integrity": "sha512-dmlf4CIZRGvkaVg3fa0uetepcua44DHtktHm6rcoNVtYlpwe6fEJRkMFsaUVcFHLzbuBJ2cPw9Gl9TKfnzMVwg==", "dev": true, "requires": { "chalk": "^2.0.1", "jest-config": "^22.4.4", "jest-get-type": "^22.1.0", "leven": "^2.1.0", "pretty-format": "^22.4.0" } }, "jest-worker": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-22.4.3.tgz", "integrity": "sha512-B1ucW4fI8qVAuZmicFxI1R3kr2fNeYJyvIQ1rKcuLYnenFV5K5aMbxFj6J0i00Ju83S8jP2d7Dz14+AvbIHRYQ==", "dev": true, "requires": { "merge-stream": "^1.0.1" } }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, "js-yaml": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" } }, "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "dev": true }, "jsdom": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", "dev": true, "requires": { "abab": "^2.0.0", "acorn": "^5.5.3", "acorn-globals": "^4.1.0", "array-equal": "^1.0.0", "cssom": ">= 0.3.2 < 0.4.0", "cssstyle": "^1.0.0", "data-urls": "^1.0.0", "domexception": "^1.0.1", "escodegen": "^1.9.1", "html-encoding-sniffer": "^1.0.2", "left-pad": "^1.3.0", "nwsapi": "^2.0.7", "parse5": "4.0.0", "pn": "^1.1.0", "request": "^2.87.0", "request-promise-native": "^1.0.5", "sax": "^1.2.4", "symbol-tree": "^3.2.2", "tough-cookie": "^2.3.4", "w3c-hr-time": "^1.0.1", "webidl-conversions": "^4.0.2", "whatwg-encoding": "^1.0.3", "whatwg-mimetype": "^2.1.0", "whatwg-url": "^6.4.1", "ws": "^5.2.0", "xml-name-validator": "^3.0.0" } }, "jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true }, "json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true, "peer": true }, "json-schema": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", "dev": true }, "json-schema-traverse": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", "dev": true }, "json-stable-stringify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "dev": true, "requires": { "jsonify": "~0.0.0" } }, "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": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, "json5": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", "dev": true }, "jsonfile": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", "dev": true, "peer": true, "requires": { "graceful-fs": "^4.1.6", "universalify": "^2.0.0" } }, "jsonify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", "dev": true }, "jsonpointer": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.0.tgz", "integrity": "sha512-PNYZIdMjVIvVgDSYKTT63Y+KZ6IZvGRNNWcxwD+GNnUz1MKPfv30J8ueCjdwcN0nDx2SlshgyB7Oy0epAzVRRg==", "dev": true, "optional": true }, "jsprim": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", "dev": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", "json-schema": "0.4.0", "verror": "1.10.0" } }, "karma": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/karma/-/karma-2.0.5.tgz", "integrity": "sha512-rECezBeY7mjzGUWhFlB7CvPHgkHJLXyUmWg+6vHCEsdWNUTnmiS6jRrIMcJEWgU2DUGZzGWG0bTRVky8fsDTOA==", "dev": true, "requires": { "bluebird": "^3.3.0", "body-parser": "^1.16.1", "chokidar": "^2.0.3", "colors": "^1.1.0", "combine-lists": "^1.0.0", "connect": "^3.6.0", "core-js": "^2.2.0", "di": "^0.0.1", "dom-serialize": "^2.2.0", "expand-braces": "^0.1.1", "glob": "^7.1.1", "graceful-fs": "^4.1.2", "http-proxy": "^1.13.0", "isbinaryfile": "^3.0.0", "lodash": "^4.17.4", "log4js": "^2.5.3", "mime": "^1.3.4", "minimatch": "^3.0.2", "optimist": "^0.6.1", "qjobs": "^1.1.4", "range-parser": "^1.2.0", "rimraf": "^2.6.0", "safe-buffer": "^5.0.1", "socket.io": "2.0.4", "source-map": "^0.6.1", "tmp": "0.0.33", "useragent": "2.2.1" }, "dependencies": { "anymatch": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, "requires": { "micromatch": "^3.1.4", "normalize-path": "^2.1.1" }, "dependencies": { "normalize-path": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { "remove-trailing-separator": "^1.0.1" } } } }, "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true }, "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, "binary-extensions": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true }, "braces": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", "extend-shallow": "^2.0.1", "fill-range": "^4.0.0", "isobject": "^3.0.1", "repeat-element": "^1.1.2", "snapdragon": "^0.8.1", "snapdragon-node": "^2.0.1", "split-string": "^3.0.2", "to-regex": "^3.0.1" }, "dependencies": { "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" } } } }, "chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", "dev": true, "requires": { "anymatch": "^2.0.0", "async-each": "^1.0.1", "braces": "^2.3.2", "fsevents": "^1.2.7", "glob-parent": "^3.1.0", "inherits": "^2.0.3", "is-binary-path": "^1.0.0", "is-glob": "^4.0.0", "normalize-path": "^3.0.0", "path-is-absolute": "^1.0.0", "readdirp": "^2.2.1", "upath": "^1.1.1" } }, "core-js": { "version": "2.6.12", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", "dev": true }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" } }, "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { "debug": "^2.3.3", "define-property": "^0.2.5", "extend-shallow": "^2.0.1", "posix-character-classes": "^0.1.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "dependencies": { "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "^0.1.0" } }, "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" } }, "is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", "kind-of": "^5.0.0" } }, "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } }, "extglob": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { "array-unique": "^0.3.2", "define-property": "^1.0.0", "expand-brackets": "^2.1.4", "extend-shallow": "^2.0.1", "fragment-cache": "^0.2.1", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "dependencies": { "define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { "is-descriptor": "^1.0.0" } }, "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" } } } }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", "repeat-string": "^1.6.1", "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" } } } }, "fsevents": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", "dev": true, "optional": true, "requires": { "bindings": "^1.5.0", "nan": "^2.12.1" } }, "glob-parent": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "dev": true, "requires": { "is-glob": "^3.1.0", "path-dirname": "^1.0.0" }, "dependencies": { "is-glob": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "dev": true, "requires": { "is-extglob": "^2.1.0" } } } }, "is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "is-binary-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { "binary-extensions": "^1.0.0" } }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", "braces": "^2.3.1", "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "extglob": "^2.0.4", "fragment-cache": "^0.2.1", "kind-of": "^6.0.2", "nanomatch": "^1.2.9", "object.pick": "^1.3.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.2" } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "readdirp": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "dev": true, "requires": { "graceful-fs": "^4.1.11", "micromatch": "^3.1.10", "readable-stream": "^2.0.2" } }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, "to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" } } } }, "karma-jasmine": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-1.1.2.tgz", "integrity": "sha1-OU8rJf+0pkS5rabyLUQ+L9CIhsM=", "dev": true, "requires": {} }, "karma-sauce-launcher": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-1.2.0.tgz", "integrity": "sha512-lEhtGRGS+3Yw6JSx/vJY9iQyHNtTjcojrSwNzqNUOaDceKDu9dPZqA/kr69bUO9G2T6GKbu8AZgXqy94qo31Jg==", "dev": true, "requires": { "q": "^1.5.0", "sauce-connect-launcher": "^1.2.2", "saucelabs": "^1.4.0", "wd": "^1.4.0" } }, "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, "lazystream": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", "dev": true, "requires": { "readable-stream": "^2.0.5" } }, "lcid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, "requires": { "invert-kv": "^1.0.0" } }, "left-pad": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", "dev": true }, "leven": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", "dev": true }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" } }, "libbase64": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/libbase64/-/libbase64-0.1.0.tgz", "integrity": "sha1-YjUag5VjrF/1vSbxL2Dpgwu3UeY=", "dev": true, "optional": true }, "libmime": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/libmime/-/libmime-3.0.0.tgz", "integrity": "sha1-UaGp50SOy9Ms2lRCFnW7IbwJPaY=", "dev": true, "optional": true, "requires": { "iconv-lite": "0.4.15", "libbase64": "0.1.0", "libqp": "1.1.0" }, "dependencies": { "iconv-lite": { "version": "0.4.15", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz", "integrity": "sha1-/iZaIYrGpXz+hUkn6dBMGYJe3es=", "dev": true, "optional": true } } }, "libqp": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/libqp/-/libqp-1.1.0.tgz", "integrity": "sha1-9ebgatdLeU+1tbZpiL9yjvHe2+g=", "dev": true, "optional": true }, "lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true, "peer": true }, "load-json-file": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { "graceful-fs": "^4.1.2", "parse-json": "^2.2.0", "pify": "^2.0.0", "pinkie-promise": "^2.0.0", "strip-bom": "^2.0.0" }, "dependencies": { "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } } }, "loader-runner": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", "dev": true }, "loader-utils": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", "dev": true, "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", "json5": "^1.0.1" }, "dependencies": { "json5": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", "dev": true, "requires": { "minimist": "^1.2.0" } } } }, "locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" } }, "lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, "lodash-es": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", "dev": true }, "lodash.capitalize": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz", "integrity": "sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==", "dev": true }, "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", "dev": true }, "lodash.defaults": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=", "dev": true }, "lodash.difference": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=", "dev": true }, "lodash.escaperegexp": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", "integrity": "sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==", "dev": true }, "lodash.flatten": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", "dev": true }, "lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", "dev": true }, "lodash.isstring": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", "dev": true }, "lodash.sortby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", "dev": true }, "lodash.union": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=", "dev": true }, "lodash.uniqby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", "integrity": "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==", "dev": true }, "log4js": { "version": "2.11.0", "resolved": "https://registry.npmjs.org/log4js/-/log4js-2.11.0.tgz", "integrity": "sha512-z1XdwyGFg8/WGkOyF6DPJjivCWNLKrklGdViywdYnSKOvgtEBo2UyEMZS5sD2mZrQlU3TvO8wDWLc8mzE1ncBQ==", "dev": true, "requires": { "amqplib": "^0.5.2", "axios": "^0.15.3", "circular-json": "^0.5.4", "date-format": "^1.2.0", "debug": "^3.1.0", "hipchat-notifier": "^1.1.0", "loggly": "^1.1.0", "mailgun-js": "^0.18.0", "nodemailer": "^2.5.0", "redis": "^2.7.1", "semver": "^5.5.0", "slack-node": "~0.2.0", "streamroller": "0.7.0" }, "dependencies": { "circular-json": { "version": "0.5.9", "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.9.tgz", "integrity": "sha512-4ivwqHpIFJZBuhN3g/pEcdbnGUywkBblloGbkglyloVjjR3uT6tieI89MVOfbP2tHX5sgb01FuLgAOzebNlJNQ==", "dev": true }, "debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" } }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true } } }, "loggly": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/loggly/-/loggly-1.1.1.tgz", "integrity": "sha1-Cg/B0/o6XsRP3HuJe+uipGlc6+4=", "dev": true, "optional": true, "requires": { "json-stringify-safe": "5.0.x", "request": "2.75.x", "timespan": "2.3.x" }, "dependencies": { "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true, "optional": true }, "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", "dev": true, "optional": true }, "assert-plus": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", "dev": true, "optional": true }, "aws-sign2": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", "dev": true, "optional": true }, "bl": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", "integrity": "sha1-/cqHGplxOqANGeO7ukHER4emU5g=", "dev": true, "optional": true, "requires": { "readable-stream": "~2.0.5" } }, "caseless": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", "dev": true, "optional": true }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "optional": true, "requires": { "ansi-styles": "^2.2.1", "escape-string-regexp": "^1.0.2", "has-ansi": "^2.0.0", "strip-ansi": "^3.0.0", "supports-color": "^2.0.0" } }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true, "optional": true }, "form-data": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.0.0.tgz", "integrity": "sha1-bwrrrcxdoWwT4ezBETfYX5uIOyU=", "dev": true, "optional": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.5", "mime-types": "^2.1.11" } }, "har-validator": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", "dev": true, "optional": true, "requires": { "chalk": "^1.1.1", "commander": "^2.9.0", "is-my-json-valid": "^2.12.4", "pinkie-promise": "^2.0.0" } }, "http-signature": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", "dev": true, "optional": true, "requires": { "assert-plus": "^0.2.0", "jsprim": "^1.2.2", "sshpk": "^1.7.0" } }, "oauth-sign": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", "dev": true, "optional": true }, "process-nextick-args": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", "dev": true, "optional": true }, "qs": { "version": "6.2.4", "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.4.tgz", "integrity": "sha512-E57gmgKXqDda+qWTkUJgIwgJICK7zgMfqZZopTRKZ6mY9gzLlmJN9EpXNnDrTxXFlOM/a+I28kJkF/60rqgnYw==", "dev": true, "optional": true }, "readable-stream": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", "dev": true, "optional": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", "isarray": "~1.0.0", "process-nextick-args": "~1.0.6", "string_decoder": "~0.10.x", "util-deprecate": "~1.0.1" } }, "request": { "version": "2.75.0", "resolved": "https://registry.npmjs.org/request/-/request-2.75.0.tgz", "integrity": "sha1-0rgmiihtoT6qXQGt9dGMyQ9lfZM=", "dev": true, "optional": true, "requires": { "aws-sign2": "~0.6.0", "aws4": "^1.2.1", "bl": "~1.1.2", "caseless": "~0.11.0", "combined-stream": "~1.0.5", "extend": "~3.0.0", "forever-agent": "~0.6.1", "form-data": "~2.0.0", "har-validator": "~2.0.6", "hawk": "~3.1.3", "http-signature": "~1.1.0", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", "json-stringify-safe": "~5.0.1", "mime-types": "~2.1.7", "node-uuid": "~1.4.7", "oauth-sign": "~0.8.1", "qs": "~6.2.0", "stringstream": "~0.0.4", "tough-cookie": "~2.3.0", "tunnel-agent": "~0.4.1" } }, "string_decoder": { "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", "dev": true, "optional": true }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "optional": true, "requires": { "ansi-regex": "^2.0.0" } }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true, "optional": true }, "tough-cookie": { "version": "2.3.4", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "dev": true, "optional": true, "requires": { "punycode": "^1.4.1" } }, "tunnel-agent": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", "dev": true, "optional": true } } }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dev": true, "requires": { "js-tokens": "^3.0.0 || ^4.0.0" } }, "loud-rejection": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "requires": { "currently-unhandled": "^0.4.1", "signal-exit": "^3.0.0" } }, "lru-cache": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "dev": true, "requires": { "pseudomap": "^1.0.2", "yallist": "^2.1.2" } }, "mailcomposer": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/mailcomposer/-/mailcomposer-4.0.1.tgz", "integrity": "sha1-DhxEsqB890DuF9wUm6AJ8Zyt/rQ=", "dev": true, "optional": true, "requires": { "buildmail": "4.0.1", "libmime": "3.0.0" } }, "mailgun-js": { "version": "0.18.1", "resolved": "https://registry.npmjs.org/mailgun-js/-/mailgun-js-0.18.1.tgz", "integrity": "sha512-lvuMP14u24HS2uBsJEnzSyPMxzU2b99tQsIx1o6QNjqxjk8b3WvR+vq5oG1mjqz/IBYo+5gF+uSoDS0RkMVHmg==", "dev": true, "optional": true, "requires": { "async": "~2.6.0", "debug": "~3.1.0", "form-data": "~2.3.0", "inflection": "~1.12.0", "is-stream": "^1.1.0", "path-proxy": "~1.0.0", "promisify-call": "^2.0.2", "proxy-agent": "~3.0.0", "tsscmp": "~1.0.0" }, "dependencies": { "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "optional": true, "requires": { "ms": "2.0.0" } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true, "optional": true } } }, "make-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "dev": true, "requires": { "pify": "^4.0.1", "semver": "^5.6.0" }, "dependencies": { "pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true } } }, "makeerror": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, "requires": { "tmpl": "1.0.5" } }, "map-age-cleaner": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", "dev": true, "requires": { "p-defer": "^1.0.0" } }, "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", "dev": true }, "map-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", "dev": true }, "map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, "requires": { "object-visit": "^1.0.0" } }, "marked": { "version": "15.0.12", "resolved": "https://registry.npmjs.org/marked/-/marked-15.0.12.tgz", "integrity": "sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==", "dev": true, "peer": true }, "marked-terminal": { "version": "7.3.0", "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-7.3.0.tgz", "integrity": "sha512-t4rBvPsHc57uE/2nJOLmMbZCQ4tgAccAED3ngXQqW6g+TxA488JzJ+FK3lQkzBQOI1mRV/r/Kq+1ZlJ4D0owQw==", "dev": true, "peer": true, "requires": { "ansi-escapes": "^7.0.0", "ansi-regex": "^6.1.0", "chalk": "^5.4.1", "cli-highlight": "^2.1.11", "cli-table3": "^0.6.5", "node-emoji": "^2.2.0", "supports-hyperlinks": "^3.1.0" }, "dependencies": { "ansi-escapes": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", "dev": true, "peer": true, "requires": { "environment": "^1.0.0" } }, "ansi-regex": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz", "integrity": "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==", "dev": true, "peer": true }, "chalk": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.0.tgz", "integrity": "sha512-46QrSQFyVSEyYAgQ22hQ+zDa60YHA4fBstHmtSApj1Y5vKtG27fWowW03jCk5KcbXEWPZUIR894aARCA/G1kfQ==", "dev": true, "peer": true } } }, "math-random": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", "dev": true }, "md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, "requires": { "hash-base": "^3.0.0", "inherits": "^2.0.1", "safe-buffer": "^5.1.2" } }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", "dev": true }, "mem": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { "mimic-fn": "^1.0.0" } }, "memory-fs": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", "dev": true, "requires": { "errno": "^0.1.3", "readable-stream": "^2.0.1" } }, "meow": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { "camelcase-keys": "^2.0.0", "decamelize": "^1.1.2", "loud-rejection": "^1.0.0", "map-obj": "^1.0.1", "minimist": "^1.1.3", "normalize-package-data": "^2.3.4", "object-assign": "^4.0.1", "read-pkg-up": "^1.0.1", "redent": "^1.0.0", "trim-newlines": "^1.0.0" } }, "merge": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz", "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==", "dev": true }, "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", "dev": true }, "merge-stream": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", "dev": true, "requires": { "readable-stream": "^2.0.1" } }, "merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true }, "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", "dev": true }, "micromatch": { "version": "2.3.11", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { "arr-diff": "^2.0.0", "array-unique": "^0.2.1", "braces": "^1.8.2", "expand-brackets": "^0.1.4", "extglob": "^0.3.1", "filename-regex": "^2.0.0", "is-extglob": "^1.0.0", "is-glob": "^2.0.1", "kind-of": "^3.0.2", "normalize-path": "^2.0.1", "object.omit": "^2.0.0", "parse-glob": "^3.0.4", "regex-cache": "^0.4.2" }, "dependencies": { "braces": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { "expand-range": "^1.8.1", "preserve": "^0.2.0", "repeat-element": "^1.1.2" } }, "expand-range": { "version": "1.8.2", "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { "fill-range": "^2.1.0" } }, "fill-range": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "dev": true, "requires": { "is-number": "^2.1.0", "isobject": "^2.0.0", "randomatic": "^3.0.0", "repeat-element": "^1.1.2", "repeat-string": "^1.5.2" } }, "is-extglob": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", "dev": true }, "is-glob": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { "is-extglob": "^1.0.0" } }, "is-number": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { "kind-of": "^3.0.2" } }, "isobject": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", "dev": true, "requires": { "isarray": "1.0.0" } }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" } }, "normalize-path": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { "remove-trailing-separator": "^1.0.1" } }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true } } }, "miller-rabin": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, "requires": { "bn.js": "^4.0.0", "brorand": "^1.0.1" }, "dependencies": { "bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true }, "mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true }, "mime-types": { "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, "requires": { "mime-db": "1.52.0" } }, "mimic-fn": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true }, "minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", "dev": true }, "minimalistic-crypto-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", "dev": true }, "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": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, "mississippi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", "dev": true, "requires": { "concat-stream": "^1.5.0", "duplexify": "^3.4.2", "end-of-stream": "^1.1.0", "flush-write-stream": "^1.0.0", "from2": "^2.1.0", "parallel-transform": "^1.1.0", "pump": "^2.0.1", "pumpify": "^1.3.3", "stream-each": "^1.1.0", "through2": "^2.0.0" } }, "mixin-deep": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "requires": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { "is-plain-object": "^2.0.4" } } } }, "mkdirp": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, "requires": { "minimist": "^1.2.6" } }, "mockdate": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/mockdate/-/mockdate-2.0.5.tgz", "integrity": "sha512-ST0PnThzWKcgSLyc+ugLVql45PvESt3Ul/wrdV/OPc/6Pr8dbLAIJsN1cIp41FLzbN+srVTNIRn+5Cju0nyV6A==", "dev": true }, "moment": { "version": "2.29.2", "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.2.tgz", "integrity": "sha512-UgzG4rvxYpN15jgCmVJwac49h9ly9NurikMWGPdVxm8GZD6XjkKPxDTjQQ43gtGgnV3X0cAyWDdP2Wexoquifg==", "dev": true }, "moment-timezone": { "version": "0.5.31", "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.31.tgz", "integrity": "sha512-+GgHNg8xRhMXfEbv81iDtrVeTcWt0kWmTEY1XQK14dICTXnWJnT0dxdlPspwqF3keKMVPXwayEsk1DI0AA/jdA==", "dev": true, "requires": { "moment": ">= 2.9.0" } }, "move-concurrently": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", "dev": true, "requires": { "aproba": "^1.1.1", "copy-concurrently": "^1.0.0", "fs-write-stream-atomic": "^1.0.8", "mkdirp": "^0.5.1", "rimraf": "^2.5.4", "run-queue": "^1.0.3" } }, "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 }, "mute-stream": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", "dev": true }, "mz": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", "dev": true, "peer": true, "requires": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", "thenify-all": "^1.0.0" } }, "nan": { "version": "2.15.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", "dev": true, "optional": true }, "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "fragment-cache": "^0.2.1", "is-windows": "^1.0.2", "kind-of": "^6.0.2", "object.pick": "^1.3.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "dependencies": { "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true }, "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true } } }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, "ncp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=", "dev": true }, "negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true }, "neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, "nerf-dart": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/nerf-dart/-/nerf-dart-1.0.0.tgz", "integrity": "sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g==", "dev": true, "peer": true }, "netmask": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz", "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=", "dev": true, "optional": true }, "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, "node-emoji": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.2.0.tgz", "integrity": "sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==", "dev": true, "peer": true, "requires": { "@sindresorhus/is": "^4.6.0", "char-regex": "^1.0.2", "emojilib": "^2.4.0", "skin-tone": "^2.0.0" } }, "node-environment-flags": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", "dev": true, "requires": { "object.getownpropertydescriptors": "^2.0.3", "semver": "^5.7.0" }, "dependencies": { "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true } } }, "node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", "dev": true }, "node-libs-browser": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", "dev": true, "requires": { "assert": "^1.1.1", "browserify-zlib": "^0.2.0", "buffer": "^4.3.0", "console-browserify": "^1.1.0", "constants-browserify": "^1.0.0", "crypto-browserify": "^3.11.0", "domain-browser": "^1.1.1", "events": "^3.0.0", "https-browserify": "^1.0.0", "os-browserify": "^0.3.0", "path-browserify": "0.0.1", "process": "^0.11.10", "punycode": "^1.2.4", "querystring-es3": "^0.2.0", "readable-stream": "^2.3.3", "stream-browserify": "^2.0.1", "stream-http": "^2.7.2", "string_decoder": "^1.0.0", "timers-browserify": "^2.0.4", "tty-browserify": "0.0.0", "url": "^0.11.0", "util": "^0.11.0", "vm-browserify": "^1.0.1" }, "dependencies": { "buffer": { "version": "4.9.2", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", "dev": true, "requires": { "base64-js": "^1.0.2", "ieee754": "^1.1.4", "isarray": "^1.0.0" } } } }, "node-notifier": { "version": "5.4.5", "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.5.tgz", "integrity": "sha512-tVbHs7DyTLtzOiN78izLA85zRqB9NvEXkAf014Vx3jtSvn/xBl6bR8ZYifj+dFcFrKI21huSQgJZ6ZtL3B4HfQ==", "dev": true, "requires": { "growly": "^1.3.0", "is-wsl": "^1.1.0", "semver": "^5.5.0", "shellwords": "^0.1.1", "which": "^1.3.0" }, "dependencies": { "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true } } }, "node-releases": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.3.tgz", "integrity": "sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw==", "dev": true }, "node-uuid": { "version": "1.4.8", "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=", "dev": true, "optional": true }, "nodemailer": { "version": "2.7.2", "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-2.7.2.tgz", "integrity": "sha1-8kLmSa7q45tsftdA73sGHEBNMPk=", "dev": true, "optional": true, "requires": { "libmime": "3.0.0", "mailcomposer": "4.0.1", "nodemailer-direct-transport": "3.3.2", "nodemailer-shared": "1.1.0", "nodemailer-smtp-pool": "2.8.2", "nodemailer-smtp-transport": "2.7.2", "socks": "1.1.9" } }, "nodemailer-direct-transport": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/nodemailer-direct-transport/-/nodemailer-direct-transport-3.3.2.tgz", "integrity": "sha1-6W+vuQNYVglH5WkBfZfmBzilCoY=", "dev": true, "optional": true, "requires": { "nodemailer-shared": "1.1.0", "smtp-connection": "2.12.0" } }, "nodemailer-fetch": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/nodemailer-fetch/-/nodemailer-fetch-1.6.0.tgz", "integrity": "sha1-ecSQihwPXzdbc/6IjamCj23JY6Q=", "dev": true, "optional": true }, "nodemailer-shared": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz", "integrity": "sha1-z1mU4v0mjQD1zw+nZ6CBae2wfsA=", "dev": true, "optional": true, "requires": { "nodemailer-fetch": "1.6.0" } }, "nodemailer-smtp-pool": { "version": "2.8.2", "resolved": "https://registry.npmjs.org/nodemailer-smtp-pool/-/nodemailer-smtp-pool-2.8.2.tgz", "integrity": "sha1-LrlNbPhXgLG0clzoU7nL1ejajHI=", "dev": true, "optional": true, "requires": { "nodemailer-shared": "1.1.0", "nodemailer-wellknown": "0.1.10", "smtp-connection": "2.12.0" } }, "nodemailer-smtp-transport": { "version": "2.7.2", "resolved": "https://registry.npmjs.org/nodemailer-smtp-transport/-/nodemailer-smtp-transport-2.7.2.tgz", "integrity": "sha1-A9ccdjFPFKx9vHvwM6am0W1n+3c=", "dev": true, "optional": true, "requires": { "nodemailer-shared": "1.1.0", "nodemailer-wellknown": "0.1.10", "smtp-connection": "2.12.0" } }, "nodemailer-wellknown": { "version": "0.1.10", "resolved": "https://registry.npmjs.org/nodemailer-wellknown/-/nodemailer-wellknown-0.1.10.tgz", "integrity": "sha1-WG24EB2zDLRDjrVGc3pBqtDPE9U=", "dev": true, "optional": true }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, "requires": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" }, "dependencies": { "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true } } }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, "normalize-url": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.2.tgz", "integrity": "sha512-Ee/R3SyN4BuynXcnTaekmaVdbDAEiNrHqjQIA37mHU8G9pf7aaAD4ZX3XjBLo6rsdcxA/gtkcNYZLt30ACgynw==", "dev": true, "peer": true }, "npm": { "version": "10.9.3", "resolved": "https://registry.npmjs.org/npm/-/npm-10.9.3.tgz", "integrity": "sha512-6Eh1u5Q+kIVXeA8e7l2c/HpnFFcwrkt37xDMujD5be1gloWa9p6j3Fsv3mByXXmqJHy+2cElRMML8opNT7xIJQ==", "dev": true, "peer": true, "requires": { "@isaacs/string-locale-compare": "^1.1.0", "@npmcli/arborist": "^8.0.1", "@npmcli/config": "^9.0.0", "@npmcli/fs": "^4.0.0", "@npmcli/map-workspaces": "^4.0.2", "@npmcli/package-json": "^6.2.0", "@npmcli/promise-spawn": "^8.0.2", "@npmcli/redact": "^3.2.2", "@npmcli/run-script": "^9.1.0", "@sigstore/tuf": "^3.1.1", "abbrev": "^3.0.1", "archy": "~1.0.0", "cacache": "^19.0.1", "chalk": "^5.4.1", "ci-info": "^4.2.0", "cli-columns": "^4.0.0", "fastest-levenshtein": "^1.0.16", "fs-minipass": "^3.0.3", "glob": "^10.4.5", "graceful-fs": "^4.2.11", "hosted-git-info": "^8.1.0", "ini": "^5.0.0", "init-package-json": "^7.0.2", "is-cidr": "^5.1.1", "json-parse-even-better-errors": "^4.0.0", "libnpmaccess": "^9.0.0", "libnpmdiff": "^7.0.1", "libnpmexec": "^9.0.1", "libnpmfund": "^6.0.1", "libnpmhook": "^11.0.0", "libnpmorg": "^7.0.0", "libnpmpack": "^8.0.1", "libnpmpublish": "^10.0.1", "libnpmsearch": "^8.0.0", "libnpmteam": "^7.0.0", "libnpmversion": "^7.0.0", "make-fetch-happen": "^14.0.3", "minimatch": "^9.0.5", "minipass": "^7.1.1", "minipass-pipeline": "^1.2.4", "ms": "^2.1.2", "node-gyp": "^11.2.0", "nopt": "^8.1.0", "normalize-package-data": "^7.0.0", "npm-audit-report": "^6.0.0", "npm-install-checks": "^7.1.1", "npm-package-arg": "^12.0.2", "npm-pick-manifest": "^10.0.0", "npm-profile": "^11.0.1", "npm-registry-fetch": "^18.0.2", "npm-user-validate": "^3.0.0", "p-map": "^7.0.3", "pacote": "^19.0.1", "parse-conflict-json": "^4.0.0", "proc-log": "^5.0.0", "qrcode-terminal": "^0.12.0", "read": "^4.1.0", "semver": "^7.7.2", "spdx-expression-parse": "^4.0.0", "ssri": "^12.0.0", "supports-color": "^9.4.0", "tar": "^6.2.1", "text-table": "~0.2.0", "tiny-relative-date": "^1.3.0", "treeverse": "^3.0.0", "validate-npm-package-name": "^6.0.1", "which": "^5.0.0", "write-file-atomic": "^6.0.0" }, "dependencies": { "@isaacs/cliui": { "version": "8.0.2", "bundled": true, "extraneous": true, "requires": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", "strip-ansi": "^7.0.1", "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", "wrap-ansi": "^8.1.0", "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" }, "dependencies": { "ansi-regex": { "version": "6.1.0", "bundled": true, "extraneous": true }, "emoji-regex": { "version": "9.2.2", "bundled": true, "extraneous": true }, "string-width": { "version": "5.1.2", "bundled": true, "extraneous": true, "requires": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "strip-ansi": { "version": "7.1.0", "bundled": true, "extraneous": true, "requires": { "ansi-regex": "^6.0.1" } } } }, "@isaacs/fs-minipass": { "version": "4.0.1", "bundled": true, "extraneous": true, "requires": { "minipass": "^7.0.4" } }, "@isaacs/string-locale-compare": { "version": "1.1.0", "bundled": true, "extraneous": true }, "@npmcli/agent": { "version": "3.0.0", "bundled": true, "extraneous": true, "requires": { "agent-base": "^7.1.0", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.1", "lru-cache": "^10.0.1", "socks-proxy-agent": "^8.0.3" } }, "@npmcli/arborist": { "version": "8.0.1", "bundled": true, "extraneous": true, "requires": { "@isaacs/string-locale-compare": "^1.1.0", "@npmcli/fs": "^4.0.0", "@npmcli/installed-package-contents": "^3.0.0", "@npmcli/map-workspaces": "^4.0.1", "@npmcli/metavuln-calculator": "^8.0.0", "@npmcli/name-from-folder": "^3.0.0", "@npmcli/node-gyp": "^4.0.0", "@npmcli/package-json": "^6.0.1", "@npmcli/query": "^4.0.0", "@npmcli/redact": "^3.0.0", "@npmcli/run-script": "^9.0.1", "bin-links": "^5.0.0", "cacache": "^19.0.1", "common-ancestor-path": "^1.0.1", "hosted-git-info": "^8.0.0", "json-parse-even-better-errors": "^4.0.0", "json-stringify-nice": "^1.1.4", "lru-cache": "^10.2.2", "minimatch": "^9.0.4", "nopt": "^8.0.0", "npm-install-checks": "^7.1.0", "npm-package-arg": "^12.0.0", "npm-pick-manifest": "^10.0.0", "npm-registry-fetch": "^18.0.1", "pacote": "^19.0.0", "parse-conflict-json": "^4.0.0", "proc-log": "^5.0.0", "proggy": "^3.0.0", "promise-all-reject-late": "^1.0.0", "promise-call-limit": "^3.0.1", "read-package-json-fast": "^4.0.0", "semver": "^7.3.7", "ssri": "^12.0.0", "treeverse": "^3.0.0", "walk-up-path": "^3.0.1" } }, "@npmcli/config": { "version": "9.0.0", "bundled": true, "extraneous": true, "requires": { "@npmcli/map-workspaces": "^4.0.1", "@npmcli/package-json": "^6.0.1", "ci-info": "^4.0.0", "ini": "^5.0.0", "nopt": "^8.0.0", "proc-log": "^5.0.0", "semver": "^7.3.5", "walk-up-path": "^3.0.1" } }, "@npmcli/fs": { "version": "4.0.0", "bundled": true, "extraneous": true, "requires": { "semver": "^7.3.5" } }, "@npmcli/git": { "version": "6.0.3", "bundled": true, "extraneous": true, "requires": { "@npmcli/promise-spawn": "^8.0.0", "ini": "^5.0.0", "lru-cache": "^10.0.1", "npm-pick-manifest": "^10.0.0", "proc-log": "^5.0.0", "promise-retry": "^2.0.1", "semver": "^7.3.5", "which": "^5.0.0" } }, "@npmcli/installed-package-contents": { "version": "3.0.0", "bundled": true, "extraneous": true, "requires": { "npm-bundled": "^4.0.0", "npm-normalize-package-bin": "^4.0.0" } }, "@npmcli/map-workspaces": { "version": "4.0.2", "bundled": true, "extraneous": true, "requires": { "@npmcli/name-from-folder": "^3.0.0", "@npmcli/package-json": "^6.0.0", "glob": "^10.2.2", "minimatch": "^9.0.0" } }, "@npmcli/metavuln-calculator": { "version": "8.0.1", "bundled": true, "extraneous": true, "requires": { "cacache": "^19.0.0", "json-parse-even-better-errors": "^4.0.0", "pacote": "^20.0.0", "proc-log": "^5.0.0", "semver": "^7.3.5" }, "dependencies": { "pacote": { "version": "20.0.0", "bundled": true, "extraneous": true, "requires": { "@npmcli/git": "^6.0.0", "@npmcli/installed-package-contents": "^3.0.0", "@npmcli/package-json": "^6.0.0", "@npmcli/promise-spawn": "^8.0.0", "@npmcli/run-script": "^9.0.0", "cacache": "^19.0.0", "fs-minipass": "^3.0.0", "minipass": "^7.0.2", "npm-package-arg": "^12.0.0", "npm-packlist": "^9.0.0", "npm-pick-manifest": "^10.0.0", "npm-registry-fetch": "^18.0.0", "proc-log": "^5.0.0", "promise-retry": "^2.0.1", "sigstore": "^3.0.0", "ssri": "^12.0.0", "tar": "^6.1.11" } } } }, "@npmcli/name-from-folder": { "version": "3.0.0", "bundled": true, "extraneous": true }, "@npmcli/node-gyp": { "version": "4.0.0", "bundled": true, "extraneous": true }, "@npmcli/package-json": { "version": "6.2.0", "bundled": true, "extraneous": true, "requires": { "@npmcli/git": "^6.0.0", "glob": "^10.2.2", "hosted-git-info": "^8.0.0", "json-parse-even-better-errors": "^4.0.0", "proc-log": "^5.0.0", "semver": "^7.5.3", "validate-npm-package-license": "^3.0.4" } }, "@npmcli/promise-spawn": { "version": "8.0.2", "bundled": true, "extraneous": true, "requires": { "which": "^5.0.0" } }, "@npmcli/query": { "version": "4.0.1", "bundled": true, "extraneous": true, "requires": { "postcss-selector-parser": "^7.0.0" } }, "@npmcli/redact": { "version": "3.2.2", "bundled": true, "extraneous": true }, "@npmcli/run-script": { "version": "9.1.0", "bundled": true, "extraneous": true, "requires": { "@npmcli/node-gyp": "^4.0.0", "@npmcli/package-json": "^6.0.0", "@npmcli/promise-spawn": "^8.0.0", "node-gyp": "^11.0.0", "proc-log": "^5.0.0", "which": "^5.0.0" } }, "@pkgjs/parseargs": { "version": "0.11.0", "bundled": true, "extraneous": true }, "@sigstore/protobuf-specs": { "version": "0.4.3", "bundled": true, "extraneous": true }, "@sigstore/tuf": { "version": "3.1.1", "bundled": true, "extraneous": true, "requires": { "@sigstore/protobuf-specs": "^0.4.1", "tuf-js": "^3.0.1" } }, "@tufjs/canonical-json": { "version": "2.0.0", "bundled": true, "extraneous": true }, "abbrev": { "version": "3.0.1", "bundled": true, "extraneous": true }, "agent-base": { "version": "7.1.3", "bundled": true, "extraneous": true }, "ansi-regex": { "version": "5.0.1", "bundled": true, "extraneous": true }, "ansi-styles": { "version": "6.2.1", "bundled": true, "extraneous": true }, "aproba": { "version": "2.0.0", "bundled": true, "extraneous": true }, "archy": { "version": "1.0.0", "bundled": true, "extraneous": true }, "balanced-match": { "version": "1.0.2", "bundled": true, "extraneous": true }, "bin-links": { "version": "5.0.0", "bundled": true, "extraneous": true, "requires": { "cmd-shim": "^7.0.0", "npm-normalize-package-bin": "^4.0.0", "proc-log": "^5.0.0", "read-cmd-shim": "^5.0.0", "write-file-atomic": "^6.0.0" } }, "binary-extensions": { "version": "2.3.0", "bundled": true, "extraneous": true }, "brace-expansion": { "version": "2.0.2", "bundled": true, "extraneous": true, "requires": { "balanced-match": "^1.0.0" } }, "cacache": { "version": "19.0.1", "bundled": true, "extraneous": true, "requires": { "@npmcli/fs": "^4.0.0", "fs-minipass": "^3.0.0", "glob": "^10.2.2", "lru-cache": "^10.0.1", "minipass": "^7.0.3", "minipass-collect": "^2.0.1", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "p-map": "^7.0.2", "ssri": "^12.0.0", "tar": "^7.4.3", "unique-filename": "^4.0.0" }, "dependencies": { "chownr": { "version": "3.0.0", "bundled": true, "extraneous": true }, "mkdirp": { "version": "3.0.1", "bundled": true, "extraneous": true }, "tar": { "version": "7.4.3", "bundled": true, "extraneous": true, "requires": { "@isaacs/fs-minipass": "^4.0.0", "chownr": "^3.0.0", "minipass": "^7.1.2", "minizlib": "^3.0.1", "mkdirp": "^3.0.1", "yallist": "^5.0.0" } }, "yallist": { "version": "5.0.0", "bundled": true, "extraneous": true } } }, "chalk": { "version": "5.4.1", "bundled": true, "extraneous": true }, "chownr": { "version": "2.0.0", "bundled": true, "extraneous": true }, "ci-info": { "version": "4.2.0", "bundled": true, "extraneous": true }, "cidr-regex": { "version": "4.1.3", "bundled": true, "extraneous": true, "requires": { "ip-regex": "^5.0.0" } }, "cli-columns": { "version": "4.0.0", "bundled": true, "extraneous": true, "requires": { "string-width": "^4.2.3", "strip-ansi": "^6.0.1" } }, "cmd-shim": { "version": "7.0.0", "bundled": true, "extraneous": true }, "color-convert": { "version": "2.0.1", "bundled": true, "extraneous": true, "requires": { "color-name": "~1.1.4" } }, "color-name": { "version": "1.1.4", "bundled": true, "extraneous": true }, "common-ancestor-path": { "version": "1.0.1", "bundled": true, "extraneous": true }, "cross-spawn": { "version": "7.0.6", "bundled": true, "extraneous": true, "requires": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" }, "dependencies": { "which": { "version": "2.0.2", "bundled": true, "extraneous": true, "requires": { "isexe": "^2.0.0" } } } }, "cssesc": { "version": "3.0.0", "bundled": true, "extraneous": true }, "debug": { "version": "4.4.1", "bundled": true, "extraneous": true, "requires": { "ms": "^2.1.3" } }, "diff": { "version": "5.2.0", "bundled": true, "extraneous": true }, "eastasianwidth": { "version": "0.2.0", "bundled": true, "extraneous": true }, "emoji-regex": { "version": "8.0.0", "bundled": true, "extraneous": true }, "encoding": { "version": "0.1.13", "bundled": true, "extraneous": true, "requires": { "iconv-lite": "^0.6.2" } }, "env-paths": { "version": "2.2.1", "bundled": true, "extraneous": true }, "err-code": { "version": "2.0.3", "bundled": true, "extraneous": true }, "exponential-backoff": { "version": "3.1.2", "bundled": true, "extraneous": true }, "fastest-levenshtein": { "version": "1.0.16", "bundled": true, "extraneous": true }, "foreground-child": { "version": "3.3.1", "bundled": true, "extraneous": true, "requires": { "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" } }, "fs-minipass": { "version": "3.0.3", "bundled": true, "extraneous": true, "requires": { "minipass": "^7.0.3" } }, "glob": { "version": "10.4.5", "bundled": true, "extraneous": true, "requires": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" } }, "graceful-fs": { "version": "4.2.11", "bundled": true, "extraneous": true }, "hosted-git-info": { "version": "8.1.0", "bundled": true, "extraneous": true, "requires": { "lru-cache": "^10.0.1" } }, "http-cache-semantics": { "version": "4.2.0", "bundled": true, "extraneous": true }, "http-proxy-agent": { "version": "7.0.2", "bundled": true, "extraneous": true, "requires": { "agent-base": "^7.1.0", "debug": "^4.3.4" } }, "https-proxy-agent": { "version": "7.0.6", "bundled": true, "extraneous": true, "requires": { "agent-base": "^7.1.2", "debug": "4" } }, "iconv-lite": { "version": "0.6.3", "bundled": true, "extraneous": true, "requires": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "ignore-walk": { "version": "7.0.0", "bundled": true, "extraneous": true, "requires": { "minimatch": "^9.0.0" } }, "imurmurhash": { "version": "0.1.4", "bundled": true, "extraneous": true }, "ini": { "version": "5.0.0", "bundled": true, "extraneous": true }, "init-package-json": { "version": "7.0.2", "bundled": true, "extraneous": true, "requires": { "@npmcli/package-json": "^6.0.0", "npm-package-arg": "^12.0.0", "promzard": "^2.0.0", "read": "^4.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4", "validate-npm-package-name": "^6.0.0" } }, "ip-address": { "version": "9.0.5", "bundled": true, "extraneous": true, "requires": { "jsbn": "1.1.0", "sprintf-js": "^1.1.3" } }, "ip-regex": { "version": "5.0.0", "bundled": true, "extraneous": true }, "is-cidr": { "version": "5.1.1", "bundled": true, "extraneous": true, "requires": { "cidr-regex": "^4.1.1" } }, "is-fullwidth-code-point": { "version": "3.0.0", "bundled": true, "extraneous": true }, "isexe": { "version": "2.0.0", "bundled": true, "extraneous": true }, "jackspeak": { "version": "3.4.3", "bundled": true, "extraneous": true, "requires": { "@isaacs/cliui": "^8.0.2", "@pkgjs/parseargs": "^0.11.0" } }, "jsbn": { "version": "1.1.0", "bundled": true, "extraneous": true }, "json-parse-even-better-errors": { "version": "4.0.0", "bundled": true, "extraneous": true }, "json-stringify-nice": { "version": "1.1.4", "bundled": true, "extraneous": true }, "jsonparse": { "version": "1.3.1", "bundled": true, "extraneous": true }, "just-diff": { "version": "6.0.2", "bundled": true, "extraneous": true }, "just-diff-apply": { "version": "5.5.0", "bundled": true, "extraneous": true }, "libnpmaccess": { "version": "9.0.0", "bundled": true, "extraneous": true, "requires": { "npm-package-arg": "^12.0.0", "npm-registry-fetch": "^18.0.1" } }, "libnpmdiff": { "version": "7.0.1", "bundled": true, "extraneous": true, "requires": { "@npmcli/arborist": "^8.0.1", "@npmcli/installed-package-contents": "^3.0.0", "binary-extensions": "^2.3.0", "diff": "^5.1.0", "minimatch": "^9.0.4", "npm-package-arg": "^12.0.0", "pacote": "^19.0.0", "tar": "^6.2.1" } }, "libnpmexec": { "version": "9.0.1", "bundled": true, "extraneous": true, "requires": { "@npmcli/arborist": "^8.0.1", "@npmcli/run-script": "^9.0.1", "ci-info": "^4.0.0", "npm-package-arg": "^12.0.0", "pacote": "^19.0.0", "proc-log": "^5.0.0", "read": "^4.0.0", "read-package-json-fast": "^4.0.0", "semver": "^7.3.7", "walk-up-path": "^3.0.1" } }, "libnpmfund": { "version": "6.0.1", "bundled": true, "extraneous": true, "requires": { "@npmcli/arborist": "^8.0.1" } }, "libnpmhook": { "version": "11.0.0", "bundled": true, "extraneous": true, "requires": { "aproba": "^2.0.0", "npm-registry-fetch": "^18.0.1" } }, "libnpmorg": { "version": "7.0.0", "bundled": true, "extraneous": true, "requires": { "aproba": "^2.0.0", "npm-registry-fetch": "^18.0.1" } }, "libnpmpack": { "version": "8.0.1", "bundled": true, "extraneous": true, "requires": { "@npmcli/arborist": "^8.0.1", "@npmcli/run-script": "^9.0.1", "npm-package-arg": "^12.0.0", "pacote": "^19.0.0" } }, "libnpmpublish": { "version": "10.0.1", "bundled": true, "extraneous": true, "requires": { "ci-info": "^4.0.0", "normalize-package-data": "^7.0.0", "npm-package-arg": "^12.0.0", "npm-registry-fetch": "^18.0.1", "proc-log": "^5.0.0", "semver": "^7.3.7", "sigstore": "^3.0.0", "ssri": "^12.0.0" } }, "libnpmsearch": { "version": "8.0.0", "bundled": true, "extraneous": true, "requires": { "npm-registry-fetch": "^18.0.1" } }, "libnpmteam": { "version": "7.0.0", "bundled": true, "extraneous": true, "requires": { "aproba": "^2.0.0", "npm-registry-fetch": "^18.0.1" } }, "libnpmversion": { "version": "7.0.0", "bundled": true, "extraneous": true, "requires": { "@npmcli/git": "^6.0.1", "@npmcli/run-script": "^9.0.1", "json-parse-even-better-errors": "^4.0.0", "proc-log": "^5.0.0", "semver": "^7.3.7" } }, "lru-cache": { "version": "10.4.3", "bundled": true, "extraneous": true }, "make-fetch-happen": { "version": "14.0.3", "bundled": true, "extraneous": true, "requires": { "@npmcli/agent": "^3.0.0", "cacache": "^19.0.1", "http-cache-semantics": "^4.1.1", "minipass": "^7.0.2", "minipass-fetch": "^4.0.0", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "negotiator": "^1.0.0", "proc-log": "^5.0.0", "promise-retry": "^2.0.1", "ssri": "^12.0.0" }, "dependencies": { "negotiator": { "version": "1.0.0", "bundled": true, "extraneous": true } } }, "minimatch": { "version": "9.0.5", "bundled": true, "extraneous": true, "requires": { "brace-expansion": "^2.0.1" } }, "minipass": { "version": "7.1.2", "bundled": true, "extraneous": true }, "minipass-collect": { "version": "2.0.1", "bundled": true, "extraneous": true, "requires": { "minipass": "^7.0.3" } }, "minipass-fetch": { "version": "4.0.1", "bundled": true, "extraneous": true, "requires": { "encoding": "^0.1.13", "minipass": "^7.0.3", "minipass-sized": "^1.0.3", "minizlib": "^3.0.1" } }, "minipass-flush": { "version": "1.0.5", "bundled": true, "extraneous": true, "requires": { "minipass": "^3.0.0" }, "dependencies": { "minipass": { "version": "3.3.6", "bundled": true, "extraneous": true, "requires": { "yallist": "^4.0.0" } } } }, "minipass-pipeline": { "version": "1.2.4", "bundled": true, "extraneous": true, "requires": { "minipass": "^3.0.0" }, "dependencies": { "minipass": { "version": "3.3.6", "bundled": true, "extraneous": true, "requires": { "yallist": "^4.0.0" } } } }, "minipass-sized": { "version": "1.0.3", "bundled": true, "extraneous": true, "requires": { "minipass": "^3.0.0" }, "dependencies": { "minipass": { "version": "3.3.6", "bundled": true, "extraneous": true, "requires": { "yallist": "^4.0.0" } } } }, "minizlib": { "version": "3.0.2", "bundled": true, "extraneous": true, "requires": { "minipass": "^7.1.2" } }, "mkdirp": { "version": "1.0.4", "bundled": true, "extraneous": true }, "ms": { "version": "2.1.3", "bundled": true, "extraneous": true }, "mute-stream": { "version": "2.0.0", "bundled": true, "extraneous": true }, "node-gyp": { "version": "11.2.0", "bundled": true, "extraneous": true, "requires": { "env-paths": "^2.2.0", "exponential-backoff": "^3.1.1", "graceful-fs": "^4.2.6", "make-fetch-happen": "^14.0.3", "nopt": "^8.0.0", "proc-log": "^5.0.0", "semver": "^7.3.5", "tar": "^7.4.3", "tinyglobby": "^0.2.12", "which": "^5.0.0" }, "dependencies": { "chownr": { "version": "3.0.0", "bundled": true, "extraneous": true }, "mkdirp": { "version": "3.0.1", "bundled": true, "extraneous": true }, "tar": { "version": "7.4.3", "bundled": true, "extraneous": true, "requires": { "@isaacs/fs-minipass": "^4.0.0", "chownr": "^3.0.0", "minipass": "^7.1.2", "minizlib": "^3.0.1", "mkdirp": "^3.0.1", "yallist": "^5.0.0" } }, "yallist": { "version": "5.0.0", "bundled": true, "extraneous": true } } }, "nopt": { "version": "8.1.0", "bundled": true, "extraneous": true, "requires": { "abbrev": "^3.0.0" } }, "normalize-package-data": { "version": "7.0.0", "bundled": true, "extraneous": true, "requires": { "hosted-git-info": "^8.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" } }, "npm-audit-report": { "version": "6.0.0", "bundled": true, "extraneous": true }, "npm-bundled": { "version": "4.0.0", "bundled": true, "extraneous": true, "requires": { "npm-normalize-package-bin": "^4.0.0" } }, "npm-install-checks": { "version": "7.1.1", "bundled": true, "extraneous": true, "requires": { "semver": "^7.1.1" } }, "npm-normalize-package-bin": { "version": "4.0.0", "bundled": true, "extraneous": true }, "npm-package-arg": { "version": "12.0.2", "bundled": true, "extraneous": true, "requires": { "hosted-git-info": "^8.0.0", "proc-log": "^5.0.0", "semver": "^7.3.5", "validate-npm-package-name": "^6.0.0" } }, "npm-packlist": { "version": "9.0.0", "bundled": true, "extraneous": true, "requires": { "ignore-walk": "^7.0.0" } }, "npm-pick-manifest": { "version": "10.0.0", "bundled": true, "extraneous": true, "requires": { "npm-install-checks": "^7.1.0", "npm-normalize-package-bin": "^4.0.0", "npm-package-arg": "^12.0.0", "semver": "^7.3.5" } }, "npm-profile": { "version": "11.0.1", "bundled": true, "extraneous": true, "requires": { "npm-registry-fetch": "^18.0.0", "proc-log": "^5.0.0" } }, "npm-registry-fetch": { "version": "18.0.2", "bundled": true, "extraneous": true, "requires": { "@npmcli/redact": "^3.0.0", "jsonparse": "^1.3.1", "make-fetch-happen": "^14.0.0", "minipass": "^7.0.2", "minipass-fetch": "^4.0.0", "minizlib": "^3.0.1", "npm-package-arg": "^12.0.0", "proc-log": "^5.0.0" } }, "npm-user-validate": { "version": "3.0.0", "bundled": true, "extraneous": true }, "p-map": { "version": "7.0.3", "bundled": true, "extraneous": true }, "package-json-from-dist": { "version": "1.0.1", "bundled": true, "extraneous": true }, "pacote": { "version": "19.0.1", "bundled": true, "extraneous": true, "requires": { "@npmcli/git": "^6.0.0", "@npmcli/installed-package-contents": "^3.0.0", "@npmcli/package-json": "^6.0.0", "@npmcli/promise-spawn": "^8.0.0", "@npmcli/run-script": "^9.0.0", "cacache": "^19.0.0", "fs-minipass": "^3.0.0", "minipass": "^7.0.2", "npm-package-arg": "^12.0.0", "npm-packlist": "^9.0.0", "npm-pick-manifest": "^10.0.0", "npm-registry-fetch": "^18.0.0", "proc-log": "^5.0.0", "promise-retry": "^2.0.1", "sigstore": "^3.0.0", "ssri": "^12.0.0", "tar": "^6.1.11" } }, "parse-conflict-json": { "version": "4.0.0", "bundled": true, "extraneous": true, "requires": { "json-parse-even-better-errors": "^4.0.0", "just-diff": "^6.0.0", "just-diff-apply": "^5.2.0" } }, "path-key": { "version": "3.1.1", "bundled": true, "extraneous": true }, "path-scurry": { "version": "1.11.1", "bundled": true, "extraneous": true, "requires": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "postcss-selector-parser": { "version": "7.1.0", "bundled": true, "extraneous": true, "requires": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "proc-log": { "version": "5.0.0", "bundled": true, "extraneous": true }, "proggy": { "version": "3.0.0", "bundled": true, "extraneous": true }, "promise-all-reject-late": { "version": "1.0.1", "bundled": true, "extraneous": true }, "promise-call-limit": { "version": "3.0.2", "bundled": true, "extraneous": true }, "promise-retry": { "version": "2.0.1", "bundled": true, "extraneous": true, "requires": { "err-code": "^2.0.2", "retry": "^0.12.0" } }, "promzard": { "version": "2.0.0", "bundled": true, "extraneous": true, "requires": { "read": "^4.0.0" } }, "qrcode-terminal": { "version": "0.12.0", "bundled": true, "extraneous": true }, "read": { "version": "4.1.0", "bundled": true, "extraneous": true, "requires": { "mute-stream": "^2.0.0" } }, "read-cmd-shim": { "version": "5.0.0", "bundled": true, "extraneous": true }, "read-package-json-fast": { "version": "4.0.0", "bundled": true, "extraneous": true, "requires": { "json-parse-even-better-errors": "^4.0.0", "npm-normalize-package-bin": "^4.0.0" } }, "retry": { "version": "0.12.0", "bundled": true, "extraneous": true }, "safer-buffer": { "version": "2.1.2", "bundled": true, "extraneous": true }, "semver": { "version": "7.7.2", "bundled": true, "extraneous": true }, "shebang-command": { "version": "2.0.0", "bundled": true, "extraneous": true, "requires": { "shebang-regex": "^3.0.0" } }, "shebang-regex": { "version": "3.0.0", "bundled": true, "extraneous": true }, "signal-exit": { "version": "4.1.0", "bundled": true, "extraneous": true }, "sigstore": { "version": "3.1.0", "bundled": true, "extraneous": true, "requires": { "@sigstore/bundle": "^3.1.0", "@sigstore/core": "^2.0.0", "@sigstore/protobuf-specs": "^0.4.0", "@sigstore/sign": "^3.1.0", "@sigstore/tuf": "^3.1.0", "@sigstore/verify": "^2.1.0" }, "dependencies": { "@sigstore/bundle": { "version": "3.1.0", "bundled": true, "extraneous": true, "requires": { "@sigstore/protobuf-specs": "^0.4.0" } }, "@sigstore/core": { "version": "2.0.0", "bundled": true, "extraneous": true }, "@sigstore/sign": { "version": "3.1.0", "bundled": true, "extraneous": true, "requires": { "@sigstore/bundle": "^3.1.0", "@sigstore/core": "^2.0.0", "@sigstore/protobuf-specs": "^0.4.0", "make-fetch-happen": "^14.0.2", "proc-log": "^5.0.0", "promise-retry": "^2.0.1" } }, "@sigstore/verify": { "version": "2.1.1", "bundled": true, "extraneous": true, "requires": { "@sigstore/bundle": "^3.1.0", "@sigstore/core": "^2.0.0", "@sigstore/protobuf-specs": "^0.4.1" } } } }, "smart-buffer": { "version": "4.2.0", "bundled": true, "extraneous": true }, "socks": { "version": "2.8.5", "bundled": true, "extraneous": true, "requires": { "ip-address": "^9.0.5", "smart-buffer": "^4.2.0" } }, "socks-proxy-agent": { "version": "8.0.5", "bundled": true, "extraneous": true, "requires": { "agent-base": "^7.1.2", "debug": "^4.3.4", "socks": "^2.8.3" } }, "spdx-correct": { "version": "3.2.0", "bundled": true, "extraneous": true, "requires": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" }, "dependencies": { "spdx-expression-parse": { "version": "3.0.1", "bundled": true, "extraneous": true, "requires": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } } } }, "spdx-exceptions": { "version": "2.5.0", "bundled": true, "extraneous": true }, "spdx-expression-parse": { "version": "4.0.0", "bundled": true, "extraneous": true, "requires": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { "version": "3.0.21", "bundled": true, "extraneous": true }, "sprintf-js": { "version": "1.1.3", "bundled": true, "extraneous": true }, "ssri": { "version": "12.0.0", "bundled": true, "extraneous": true, "requires": { "minipass": "^7.0.3" } }, "string-width": { "version": "4.2.3", "bundled": true, "extraneous": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "string-width-cjs": { "version": "npm:string-width@4.2.3", "bundled": true, "extraneous": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "strip-ansi": { "version": "6.0.1", "bundled": true, "extraneous": true, "requires": { "ansi-regex": "^5.0.1" } }, "strip-ansi-cjs": { "version": "npm:strip-ansi@6.0.1", "bundled": true, "extraneous": true, "requires": { "ansi-regex": "^5.0.1" } }, "supports-color": { "version": "9.4.0", "bundled": true, "extraneous": true }, "tar": { "version": "6.2.1", "bundled": true, "extraneous": true, "requires": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" }, "dependencies": { "fs-minipass": { "version": "2.1.0", "bundled": true, "extraneous": true, "requires": { "minipass": "^3.0.0" }, "dependencies": { "minipass": { "version": "3.3.6", "bundled": true, "extraneous": true, "requires": { "yallist": "^4.0.0" } } } }, "minipass": { "version": "5.0.0", "bundled": true, "extraneous": true }, "minizlib": { "version": "2.1.2", "bundled": true, "extraneous": true, "requires": { "minipass": "^3.0.0", "yallist": "^4.0.0" }, "dependencies": { "minipass": { "version": "3.3.6", "bundled": true, "extraneous": true, "requires": { "yallist": "^4.0.0" } } } } } }, "text-table": { "version": "0.2.0", "bundled": true, "extraneous": true }, "tiny-relative-date": { "version": "1.3.0", "bundled": true, "extraneous": true }, "tinyglobby": { "version": "0.2.14", "bundled": true, "extraneous": true, "requires": { "fdir": "^6.4.4", "picomatch": "^4.0.2" }, "dependencies": { "fdir": { "version": "6.4.6", "bundled": true, "extraneous": true, "requires": {} }, "picomatch": { "version": "4.0.2", "bundled": true, "extraneous": true } } }, "treeverse": { "version": "3.0.0", "bundled": true, "extraneous": true }, "tuf-js": { "version": "3.0.1", "bundled": true, "extraneous": true, "requires": { "@tufjs/models": "3.0.1", "debug": "^4.3.6", "make-fetch-happen": "^14.0.1" }, "dependencies": { "@tufjs/models": { "version": "3.0.1", "bundled": true, "extraneous": true, "requires": { "@tufjs/canonical-json": "2.0.0", "minimatch": "^9.0.5" } } } }, "unique-filename": { "version": "4.0.0", "bundled": true, "extraneous": true, "requires": { "unique-slug": "^5.0.0" } }, "unique-slug": { "version": "5.0.0", "bundled": true, "extraneous": true, "requires": { "imurmurhash": "^0.1.4" } }, "util-deprecate": { "version": "1.0.2", "bundled": true, "extraneous": true }, "validate-npm-package-license": { "version": "3.0.4", "bundled": true, "extraneous": true, "requires": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" }, "dependencies": { "spdx-expression-parse": { "version": "3.0.1", "bundled": true, "extraneous": true, "requires": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } } } }, "validate-npm-package-name": { "version": "6.0.1", "bundled": true, "extraneous": true }, "walk-up-path": { "version": "3.0.1", "bundled": true, "extraneous": true }, "which": { "version": "5.0.0", "bundled": true, "extraneous": true, "requires": { "isexe": "^3.1.1" }, "dependencies": { "isexe": { "version": "3.1.1", "bundled": true, "extraneous": true } } }, "wrap-ansi": { "version": "8.1.0", "bundled": true, "extraneous": true, "requires": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" }, "dependencies": { "ansi-regex": { "version": "6.1.0", "bundled": true, "extraneous": true }, "emoji-regex": { "version": "9.2.2", "bundled": true, "extraneous": true }, "string-width": { "version": "5.1.2", "bundled": true, "extraneous": true, "requires": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "strip-ansi": { "version": "7.1.0", "bundled": true, "extraneous": true, "requires": { "ansi-regex": "^6.0.1" } } } }, "wrap-ansi-cjs": { "version": "npm:wrap-ansi@7.0.0", "bundled": true, "extraneous": true, "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" }, "dependencies": { "ansi-styles": { "version": "4.3.0", "bundled": true, "extraneous": true, "requires": { "color-convert": "^2.0.1" } } } }, "write-file-atomic": { "version": "6.0.0", "bundled": true, "extraneous": true, "requires": { "imurmurhash": "^0.1.4", "signal-exit": "^4.0.1" } }, "yallist": { "version": "4.0.0", "bundled": true, "extraneous": true } } }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { "path-key": "^2.0.0" } }, "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, "nwsapi": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", "dev": true }, "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", "dev": true }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, "object-component": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", "dev": true }, "object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, "requires": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", "kind-of": "^3.0.3" }, "dependencies": { "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "^0.1.0" } }, "is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { "kind-of": "^3.0.2" } }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { "kind-of": "^3.0.2" } }, "is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", "kind-of": "^5.0.0" }, "dependencies": { "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "object-inspect": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", "dev": true }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true }, "object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dev": true, "requires": { "isobject": "^3.0.0" } }, "object.assign": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, "requires": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", "has-symbols": "^1.0.1", "object-keys": "^1.1.1" } }, "object.getownpropertydescriptors": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", "es-abstract": "^1.19.1" } }, "object.omit": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "requires": { "for-own": "^0.1.4", "is-extendable": "^0.1.1" } }, "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, "requires": { "isobject": "^3.0.1" } }, "object.values": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", "es-abstract": "^1.19.1" } }, "on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, "requires": { "ee-first": "1.1.1" } }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { "wrappy": "1" } }, "onetime": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { "mimic-fn": "^1.0.0" } }, "opener": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", "dev": true }, "optimist": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { "minimist": "~0.0.1", "wordwrap": "~0.0.2" }, "dependencies": { "minimist": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", "dev": true }, "wordwrap": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", "dev": true } } }, "optionator": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "dev": true, "requires": { "deep-is": "~0.1.3", "fast-levenshtein": "~2.0.6", "levn": "~0.3.0", "prelude-ls": "~1.1.2", "type-check": "~0.3.2", "word-wrap": "~1.2.3" } }, "os-browserify": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", "dev": true }, "os-homedir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, "os-locale": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { "execa": "^0.7.0", "lcid": "^1.0.0", "mem": "^1.1.0" } }, "os-shim": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=", "dev": true }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, "p-defer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", "dev": true }, "p-each-series": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-3.0.0.tgz", "integrity": "sha512-lastgtAdoH9YaLyDa5i5z64q+kzOcQHsQ5SsZJD3q0VEyI8mq872S3geuNbRUQLVAE9siMfgKrpj7MloKFHruw==", "dev": true, "peer": true }, "p-filter": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-4.1.0.tgz", "integrity": "sha512-37/tPdZ3oJwHaS3gNJdenCDB3Tz26i9sjhnguBtvN0vYlRIiDNnvTWkuh+0hETV9rLPdJ3rlL3yVOYPIAnM8rw==", "dev": true, "requires": { "p-map": "^7.0.1" } }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true }, "p-is-promise": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", "dev": true }, "p-limit": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { "p-try": "^1.0.0" } }, "p-locate": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { "p-limit": "^1.1.0" } }, "p-map": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", "dev": true }, "p-reduce": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-3.0.0.tgz", "integrity": "sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==", "dev": true, "peer": true }, "p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, "pac-proxy-agent": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-3.0.1.tgz", "integrity": "sha512-44DUg21G/liUZ48dJpUSjZnFfZro/0K5JTyFYLBcmh9+T6Ooi4/i4efwUiEy0+4oQusCBqWdhv16XohIj1GqnQ==", "dev": true, "optional": true, "requires": { "agent-base": "^4.2.0", "debug": "^4.1.1", "get-uri": "^2.0.0", "http-proxy-agent": "^2.1.0", "https-proxy-agent": "^3.0.0", "pac-resolver": "^3.0.0", "raw-body": "^2.2.0", "socks-proxy-agent": "^4.0.1" }, "dependencies": { "https-proxy-agent": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz", "integrity": "sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==", "dev": true, "optional": true, "requires": { "agent-base": "^4.3.0", "debug": "^3.1.0" }, "dependencies": { "debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "optional": true, "requires": { "ms": "^2.1.1" } } } } } }, "pac-resolver": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-3.0.0.tgz", "integrity": "sha512-tcc38bsjuE3XZ5+4vP96OfhOugrX+JcnpUbhfuc4LuXBLQhoTthOstZeoQJBDnQUDYzYmdImKsbz0xSl1/9qeA==", "dev": true, "optional": true, "requires": { "co": "^4.6.0", "degenerator": "^1.0.4", "ip": "^1.1.5", "netmask": "^1.0.6", "thunkify": "^2.1.2" } }, "pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", "dev": true }, "parallel-transform": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", "dev": true, "requires": { "cyclist": "^1.0.1", "inherits": "^2.0.3", "readable-stream": "^2.1.5" } }, "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, "peer": true, "requires": { "callsites": "^3.0.0" }, "dependencies": { "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, "peer": true } } }, "parse-asn1": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", "dev": true, "requires": { "asn1.js": "^5.2.0", "browserify-aes": "^1.0.0", "evp_bytestokey": "^1.0.0", "pbkdf2": "^3.0.3", "safe-buffer": "^5.1.1" } }, "parse-glob": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "requires": { "glob-base": "^0.3.0", "is-dotfile": "^1.0.0", "is-extglob": "^1.0.0", "is-glob": "^2.0.0" }, "dependencies": { "is-extglob": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", "dev": true }, "is-glob": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { "is-extglob": "^1.0.0" } } } }, "parse-json": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { "error-ex": "^1.2.0" } }, "parse-ms": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", "dev": true, "peer": true }, "parse-passwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", "dev": true }, "parse5": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", "dev": true }, "parse5-htmlparser2-tree-adapter": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", "dev": true, "peer": true, "requires": { "parse5": "^6.0.1" }, "dependencies": { "parse5": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", "dev": true, "peer": true } } }, "parseqs": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", "dev": true, "requires": { "better-assert": "~1.0.0" } }, "parseuri": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", "dev": true, "requires": { "better-assert": "~1.0.0" } }, "parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true }, "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", "dev": true }, "path-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", "dev": true }, "path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", "dev": true }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, "path-is-inside": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", "dev": true }, "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, "path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "path-proxy": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/path-proxy/-/path-proxy-1.0.0.tgz", "integrity": "sha1-GOijaFn8nS8aU7SN7hOFQ8Ag3l4=", "dev": true, "optional": true, "requires": { "inflection": "~1.3.0" }, "dependencies": { "inflection": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.3.8.tgz", "integrity": "sha1-y9Fg2p91sUw8xjV41POWeEvzAU4=", "dev": true, "optional": true } } }, "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", "dev": true }, "path-type": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { "graceful-fs": "^4.1.2", "pify": "^2.0.0", "pinkie-promise": "^2.0.0" }, "dependencies": { "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } } }, "pbkdf2": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "dev": true, "requires": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", "ripemd160": "^2.0.1", "safe-buffer": "^5.0.1", "sha.js": "^2.4.8" } }, "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, "picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "dev": true }, "picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true }, "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", "dev": true }, "pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { "pinkie": "^2.0.0" } }, "pirates": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", "dev": true }, "pkg-conf": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz", "integrity": "sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g==", "dev": true, "peer": true, "requires": { "find-up": "^2.0.0", "load-json-file": "^4.0.0" }, "dependencies": { "load-json-file": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", "dev": true, "peer": true, "requires": { "graceful-fs": "^4.1.2", "parse-json": "^4.0.0", "pify": "^3.0.0", "strip-bom": "^3.0.0" } }, "parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", "dev": true, "peer": true, "requires": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" } }, "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, "peer": true } } }, "pkg-dir": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dev": true, "requires": { "find-up": "^3.0.0" }, "dependencies": { "find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "requires": { "locate-path": "^3.0.0" } }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "requires": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" } }, "p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" } }, "p-locate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "requires": { "p-limit": "^2.0.0" } }, "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true } } }, "pluralize": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", "dev": true }, "pn": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", "dev": true }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", "dev": true }, "postcss": { "version": "6.0.23", "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", "dev": true, "requires": { "chalk": "^2.4.1", "source-map": "^0.6.1", "supports-color": "^5.4.0" }, "dependencies": { "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } }, "postcss-modules-extract-imports": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz", "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==", "dev": true, "requires": { "postcss": "^6.0.1" } }, "postcss-modules-local-by-default": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", "dev": true, "requires": { "css-selector-tokenizer": "^0.7.0", "postcss": "^6.0.1" } }, "postcss-modules-scope": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", "dev": true, "requires": { "css-selector-tokenizer": "^0.7.0", "postcss": "^6.0.1" } }, "postcss-modules-values": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", "dev": true, "requires": { "icss-replace-symbols": "^1.1.0", "postcss": "^6.0.1" } }, "postcss-value-parser": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true }, "pre-commit": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/pre-commit/-/pre-commit-1.2.2.tgz", "integrity": "sha1-287g7p3nI15X95xW186UZBpp7sY=", "dev": true, "requires": { "cross-spawn": "^5.0.1", "spawn-sync": "^1.0.15", "which": "1.2.x" }, "dependencies": { "cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { "lru-cache": "^4.0.1", "shebang-command": "^1.2.0", "which": "^1.2.9" } }, "which": { "version": "1.2.14", "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", "dev": true, "requires": { "isexe": "^2.0.0" } } } }, "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true }, "preserve": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", "dev": true }, "prettier": { "version": "1.19.1", "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", "dev": true }, "pretty-bytes": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz", "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=", "dev": true }, "pretty-format": { "version": "22.4.3", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz", "integrity": "sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ==", "dev": true, "requires": { "ansi-regex": "^3.0.0", "ansi-styles": "^3.2.0" } }, "pretty-ms": { "version": "9.2.0", "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.2.0.tgz", "integrity": "sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==", "dev": true, "peer": true, "requires": { "parse-ms": "^4.0.0" } }, "private": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", "dev": true }, "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", "dev": true }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, "promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", "dev": true }, "promisify-call": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/promisify-call/-/promisify-call-2.0.4.tgz", "integrity": "sha1-1IwtRWUszM1SgB3ey9UzptS9X7o=", "dev": true, "optional": true, "requires": { "with-callback": "^1.0.2" } }, "proto-list": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", "dev": true, "peer": true }, "proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, "requires": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" } }, "proxy-agent": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-3.0.3.tgz", "integrity": "sha512-PXVVVuH9tiQuxQltFJVSnXWuDtNr+8aNBP6XVDDCDiUuDN8eRCm+ii4/mFWmXWEA0w8jjJSlePa4LXlM4jIzNA==", "dev": true, "optional": true, "requires": { "agent-base": "^4.2.0", "debug": "^3.1.0", "http-proxy-agent": "^2.1.0", "https-proxy-agent": "^2.2.1", "lru-cache": "^4.1.2", "pac-proxy-agent": "^3.0.0", "proxy-from-env": "^1.0.0", "socks-proxy-agent": "^4.0.1" }, "dependencies": { "debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "optional": true, "requires": { "ms": "^2.1.1" } } } }, "proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", "dev": true, "optional": true }, "prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", "dev": true }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, "psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", "dev": true }, "public-encrypt": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, "requires": { "bn.js": "^4.1.0", "browserify-rsa": "^4.0.0", "create-hash": "^1.1.0", "parse-asn1": "^5.0.0", "randombytes": "^2.0.1", "safe-buffer": "^5.1.2" }, "dependencies": { "bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "pump": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "pumpify": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { "duplexify": "^3.6.0", "inherits": "^2.0.3", "pump": "^2.0.0" } }, "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", "dev": true }, "q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", "dev": true }, "qjobs": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", "dev": true }, "qs": { "version": "6.10.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", "dev": true, "requires": { "side-channel": "^1.0.4" } }, "querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", "dev": true }, "querystring-es3": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", "dev": true }, "querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", "dev": true, "optional": true }, "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 }, "randomatic": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", "dev": true, "requires": { "is-number": "^4.0.0", "kind-of": "^6.0.0", "math-random": "^1.0.1" }, "dependencies": { "is-number": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", "dev": true } } }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, "requires": { "safe-buffer": "^5.1.0" } }, "randomfill": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, "requires": { "randombytes": "^2.0.5", "safe-buffer": "^5.1.0" } }, "range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true }, "raw-body": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dev": true, "requires": { "bytes": "3.1.2", "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" } }, "rc": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "peer": true, "requires": { "deep-extend": "^0.6.0", "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" } }, "read-package-up": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/read-package-up/-/read-package-up-11.0.0.tgz", "integrity": "sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==", "dev": true, "peer": true, "requires": { "find-up-simple": "^1.0.0", "read-pkg": "^9.0.0", "type-fest": "^4.6.0" }, "dependencies": { "hosted-git-info": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", "dev": true, "peer": true, "requires": { "lru-cache": "^10.0.1" } }, "lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, "peer": true }, "normalize-package-data": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", "dev": true, "peer": true, "requires": { "hosted-git-info": "^7.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" } }, "parse-json": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.3.0.tgz", "integrity": "sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==", "dev": true, "peer": true, "requires": { "@babel/code-frame": "^7.26.2", "index-to-position": "^1.1.0", "type-fest": "^4.39.1" } }, "read-pkg": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", "dev": true, "peer": true, "requires": { "@types/normalize-package-data": "^2.4.3", "normalize-package-data": "^6.0.0", "parse-json": "^8.0.0", "type-fest": "^4.6.0", "unicorn-magic": "^0.1.0" } }, "semver": { "version": "7.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "peer": true }, "unicorn-magic": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", "dev": true, "peer": true } } }, "read-pkg": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { "load-json-file": "^1.0.0", "normalize-package-data": "^2.3.2", "path-type": "^1.0.0" } }, "read-pkg-up": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { "find-up": "^1.0.0", "read-pkg": "^1.0.0" }, "dependencies": { "find-up": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { "path-exists": "^2.0.0", "pinkie-promise": "^2.0.0" } }, "path-exists": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { "pinkie-promise": "^2.0.0" } } } }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "optional": true, "requires": { "picomatch": "^2.2.1" } }, "realpath-native": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", "dev": true, "requires": { "util.promisify": "^1.0.0" } }, "redent": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { "indent-string": "^2.1.0", "strip-indent": "^1.0.1" } }, "redis": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/redis/-/redis-2.8.0.tgz", "integrity": "sha512-M1OkonEQwtRmZv4tEWF2VgpG0JWJ8Fv1PhlgT5+B+uNq2cA3Rt1Yt/ryoR+vQNOQcIEgdCdfH0jr3bDpihAw1A==", "dev": true, "optional": true, "requires": { "double-ended-queue": "^2.1.0-0", "redis-commands": "^1.2.0", "redis-parser": "^2.6.0" } }, "redis-commands": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.7.0.tgz", "integrity": "sha512-nJWqw3bTFy21hX/CPKHth6sfhZbdiHP6bTawSgQBlKOVRG7EZkfHbbHwQJnrE4vsQf0CMNE+3gJ4Fmm16vdVlQ==", "dev": true, "optional": true }, "redis-parser": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-2.6.0.tgz", "integrity": "sha1-Uu0J2srBCPGmMcB+m2mUHnoZUEs=", "dev": true, "optional": true }, "regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", "dev": true }, "regenerate-unicode-properties": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", "dev": true, "requires": { "regenerate": "^1.4.2" } }, "regenerator-runtime": { "version": "0.13.9", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", "dev": true }, "regenerator-transform": { "version": "0.15.0", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", "dev": true, "requires": { "@babel/runtime": "^7.8.4" } }, "regex-cache": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { "is-equal-shallow": "^0.1.3" } }, "regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "requires": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" } }, "regexpp": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz", "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==", "dev": true }, "regexpu-core": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz", "integrity": "sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==", "dev": true, "requires": { "regenerate": "^1.4.2", "regenerate-unicode-properties": "^10.0.1", "regjsgen": "^0.6.0", "regjsparser": "^0.8.2", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.0.0" } }, "registry-auth-token": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.1.0.tgz", "integrity": "sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw==", "dev": true, "peer": true, "requires": { "@pnpm/npm-conf": "^2.1.0" } }, "regjsgen": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", "dev": true }, "regjsparser": { "version": "0.8.4", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", "dev": true, "requires": { "jsesc": "~0.5.0" }, "dependencies": { "jsesc": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", "dev": true } } }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", "dev": true }, "repeat-element": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true }, "repeat-string": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz", "integrity": "sha1-x6jTI2BoNiBZp+RlH8aITosftK4=", "dev": true }, "repeating": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { "is-finite": "^1.0.0" } }, "request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", "dev": true, "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", "caseless": "~0.12.0", "combined-stream": "~1.0.6", "extend": "~3.0.2", "forever-agent": "~0.6.1", "form-data": "~2.3.2", "har-validator": "~5.1.3", "http-signature": "~1.2.0", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", "json-stringify-safe": "~5.0.1", "mime-types": "~2.1.19", "oauth-sign": "~0.9.0", "performance-now": "^2.1.0", "qs": "~6.5.2", "safe-buffer": "^5.1.2", "tough-cookie": "~2.5.0", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" }, "dependencies": { "qs": { "version": "6.5.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", "dev": true } } }, "request-promise-core": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", "dev": true, "requires": { "lodash": "^4.17.19" } }, "request-promise-native": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", "dev": true, "requires": { "request-promise-core": "1.1.4", "stealthy-require": "^1.1.1", "tough-cookie": "^2.3.3" } }, "requestretry": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/requestretry/-/requestretry-1.13.0.tgz", "integrity": "sha512-Lmh9qMvnQXADGAQxsXHP4rbgO6pffCfuR8XUBdP9aitJcLQJxhp7YZK4xAVYXnPJ5E52mwrfiKQtKonPL8xsmg==", "dev": true, "optional": true, "requires": { "extend": "^3.0.0", "lodash": "^4.15.0", "request": "^2.74.0", "when": "^3.7.7" } }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, "require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", "dev": true }, "require-uncached": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { "caller-path": "^0.1.0", "resolve-from": "^1.0.0" } }, "requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", "dev": true }, "resolve": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", "dev": true, "requires": { "is-core-module": "^2.8.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } }, "resolve-cwd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { "resolve-from": "^3.0.0" }, "dependencies": { "resolve-from": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", "dev": true } } }, "resolve-from": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", "dev": true }, "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", "dev": true }, "restore-cursor": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, "requires": { "onetime": "^2.0.0", "signal-exit": "^3.0.2" } }, "ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, "reusify": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", "dev": true }, "rimraf": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, "requires": { "glob": "^7.1.3" } }, "ripemd160": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, "requires": { "hash-base": "^3.0.0", "inherits": "^2.0.1" } }, "rollup": { "version": "2.70.2", "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.70.2.tgz", "integrity": "sha512-EitogNZnfku65I1DD5Mxe8JYRUCy0hkK5X84IlDtUs+O6JRMpRciXTzyCUuX11b5L5pvjH+OmFXiQ3XjabcXgg==", "dev": true, "requires": { "fsevents": "~2.3.2" } }, "rollup-plugin-babel": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz", "integrity": "sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.0.0", "rollup-pluginutils": "^2.8.1" } }, "rollup-plugin-terser": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", "dev": true, "requires": { "@babel/code-frame": "^7.10.4", "jest-worker": "^26.2.1", "serialize-javascript": "^4.0.0", "terser": "^5.0.0" }, "dependencies": { "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 }, "jest-worker": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", "dev": true, "requires": { "@types/node": "*", "merge-stream": "^2.0.0", "supports-color": "^7.0.0" } }, "merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, "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": { "has-flag": "^4.0.0" } } } }, "rollup-pluginutils": { "version": "2.8.2", "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", "dev": true, "requires": { "estree-walker": "^0.6.1" } }, "rsvp": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==", "dev": true }, "run-async": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", "dev": true }, "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": { "queue-microtask": "^1.2.2" } }, "run-queue": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", "dev": true, "requires": { "aproba": "^1.1.1" } }, "rx-lite": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", "dev": true }, "rx-lite-aggregates": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", "dev": true, "requires": { "rx-lite": "*" } }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, "safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "requires": { "ret": "~0.1.10" } }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, "sane": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", "dev": true, "requires": { "anymatch": "^2.0.0", "capture-exit": "^1.2.0", "exec-sh": "^0.2.0", "fb-watchman": "^2.0.0", "fsevents": "^1.2.3", "micromatch": "^3.1.4", "minimist": "^1.1.1", "walker": "~1.0.5", "watch": "~0.18.0" }, "dependencies": { "anymatch": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, "requires": { "micromatch": "^3.1.4", "normalize-path": "^2.1.1" } }, "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true }, "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, "braces": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", "extend-shallow": "^2.0.1", "fill-range": "^4.0.0", "isobject": "^3.0.1", "repeat-element": "^1.1.2", "snapdragon": "^0.8.1", "snapdragon-node": "^2.0.1", "split-string": "^3.0.2", "to-regex": "^3.0.1" }, "dependencies": { "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" } } } }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" } }, "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { "debug": "^2.3.3", "define-property": "^0.2.5", "extend-shallow": "^2.0.1", "posix-character-classes": "^0.1.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "dependencies": { "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "^0.1.0" } }, "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" } }, "is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", "kind-of": "^5.0.0" } }, "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } }, "extglob": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { "array-unique": "^0.3.2", "define-property": "^1.0.0", "expand-brackets": "^2.1.4", "extend-shallow": "^2.0.1", "fragment-cache": "^0.2.1", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "dependencies": { "define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { "is-descriptor": "^1.0.0" } }, "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" } } } }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", "repeat-string": "^1.6.1", "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" } } } }, "fsevents": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", "dev": true, "optional": true, "requires": { "bindings": "^1.5.0", "nan": "^2.12.1" } }, "is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", "braces": "^2.3.1", "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "extglob": "^2.0.4", "fragment-cache": "^0.2.1", "kind-of": "^6.0.2", "nanomatch": "^1.2.9", "object.pick": "^1.3.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.2" } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "normalize-path": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { "remove-trailing-separator": "^1.0.1" } }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true }, "to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" } } } }, "sauce-connect-launcher": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/sauce-connect-launcher/-/sauce-connect-launcher-1.3.2.tgz", "integrity": "sha512-wf0coUlidJ7rmeClgVVBh6Kw55/yalZCY/Un5RgjSnTXRAeGqagnTsTYpZaqC4dCtrY4myuYpOAZXCdbO7lHfQ==", "dev": true, "requires": { "adm-zip": "~0.4.3", "async": "^2.1.2", "https-proxy-agent": "^5.0.0", "lodash": "^4.16.6", "rimraf": "^2.5.4" }, "dependencies": { "agent-base": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, "requires": { "debug": "4" } }, "https-proxy-agent": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, "requires": { "agent-base": "6", "debug": "4" } } } }, "saucelabs": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz", "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==", "dev": true, "requires": { "https-proxy-agent": "^2.2.1" } }, "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true }, "schema-utils": { "version": "0.4.7", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", "dev": true, "requires": { "ajv": "^6.1.0", "ajv-keywords": "^3.1.0" }, "dependencies": { "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": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, "requires": {} }, "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 }, "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 } } }, "semantic-release": { "version": "24.2.7", "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.2.7.tgz", "integrity": "sha512-g7RssbTAbir1k/S7uSwSVZFfFXwpomUB9Oas0+xi9KStSCmeDXcA7rNhiskjLqvUe/Evhx8fVCT16OSa34eM5g==", "dev": true, "peer": true, "requires": { "@semantic-release/commit-analyzer": "^13.0.0-beta.1", "@semantic-release/error": "^4.0.0", "@semantic-release/github": "^11.0.0", "@semantic-release/npm": "^12.0.2", "@semantic-release/release-notes-generator": "^14.0.0-beta.1", "aggregate-error": "^5.0.0", "cosmiconfig": "^9.0.0", "debug": "^4.0.0", "env-ci": "^11.0.0", "execa": "^9.0.0", "figures": "^6.0.0", "find-versions": "^6.0.0", "get-stream": "^6.0.0", "git-log-parser": "^1.2.0", "hook-std": "^3.0.0", "hosted-git-info": "^8.0.0", "import-from-esm": "^2.0.0", "lodash-es": "^4.17.21", "marked": "^15.0.0", "marked-terminal": "^7.3.0", "micromatch": "^4.0.2", "p-each-series": "^3.0.0", "p-reduce": "^3.0.0", "read-package-up": "^11.0.0", "resolve-from": "^5.0.0", "semver": "^7.3.2", "semver-diff": "^4.0.0", "signale": "^1.2.1", "yargs": "^17.5.1" }, "dependencies": { "@sindresorhus/merge-streams": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", "dev": true, "peer": true }, "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, "peer": true }, "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, "peer": true, "requires": { "color-convert": "^2.0.1" } }, "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, "peer": true }, "cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "peer": true, "requires": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "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, "peer": true, "requires": { "color-name": "~1.1.4" } }, "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, "peer": true }, "cosmiconfig": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", "dev": true, "peer": true, "requires": { "env-paths": "^2.2.1", "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", "parse-json": "^5.2.0" } }, "cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "peer": true, "requires": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "execa": { "version": "9.6.0", "resolved": "https://registry.npmjs.org/execa/-/execa-9.6.0.tgz", "integrity": "sha512-jpWzZ1ZhwUmeWRhS7Qv3mhpOhLfwI+uAX4e5fOcXqwMR7EcJ0pj2kV1CVzHVMX/LphnKWD3LObjZCoJ71lKpHw==", "dev": true, "peer": true, "requires": { "@sindresorhus/merge-streams": "^4.0.0", "cross-spawn": "^7.0.6", "figures": "^6.1.0", "get-stream": "^9.0.0", "human-signals": "^8.0.1", "is-plain-obj": "^4.1.0", "is-stream": "^4.0.1", "npm-run-path": "^6.0.0", "pretty-ms": "^9.2.0", "signal-exit": "^4.1.0", "strip-final-newline": "^4.0.0", "yoctocolors": "^2.1.1" }, "dependencies": { "get-stream": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", "dev": true, "peer": true, "requires": { "@sec-ant/readable-stream": "^0.4.1", "is-stream": "^4.0.1" } } } }, "figures": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", "dev": true, "peer": true, "requires": { "is-unicode-supported": "^2.0.0" } }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, "peer": true }, "get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, "peer": true }, "hosted-git-info": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", "dev": true, "peer": true, "requires": { "lru-cache": "^10.0.1" } }, "import-fresh": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "dev": true, "peer": true, "requires": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" }, "dependencies": { "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, "peer": true } } }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "peer": true }, "is-stream": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", "dev": true, "peer": true }, "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, "peer": true, "requires": { "argparse": "^2.0.1" } }, "lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, "peer": true }, "micromatch": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, "peer": true, "requires": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "npm-run-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", "dev": true, "peer": true, "requires": { "path-key": "^4.0.0", "unicorn-magic": "^0.3.0" }, "dependencies": { "path-key": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, "peer": true } } }, "parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "peer": true, "requires": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", "json-parse-even-better-errors": "^2.3.0", "lines-and-columns": "^1.1.6" } }, "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, "peer": true }, "resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, "peer": true }, "semver": { "version": "7.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "peer": true }, "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, "peer": true, "requires": { "shebang-regex": "^3.0.0" } }, "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, "peer": true }, "signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, "peer": true }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "peer": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "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, "peer": true, "requires": { "ansi-regex": "^5.0.1" } }, "typescript": { "version": "5.9.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz", "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", "dev": true, "optional": true, "peer": true }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "peer": true, "requires": { "isexe": "^2.0.0" } }, "wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "peer": true, "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, "peer": true }, "yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "peer": true, "requires": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" } }, "yargs-parser": { "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, "peer": true } } }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true }, "semver-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", "dev": true, "peer": true, "requires": { "semver": "^7.3.5" }, "dependencies": { "semver": { "version": "7.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "peer": true } } }, "semver-regex": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-4.0.5.tgz", "integrity": "sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw==", "dev": true, "peer": true }, "send": { "version": "0.17.2", "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", "dev": true, "requires": { "debug": "2.6.9", "depd": "~1.1.2", "destroy": "~1.0.4", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", "http-errors": "1.8.1", "mime": "1.6.0", "ms": "2.1.3", "on-finished": "~2.3.0", "range-parser": "~1.2.1", "statuses": "~1.5.0" }, "dependencies": { "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" }, "dependencies": { "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", "dev": true }, "destroy": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", "dev": true }, "http-errors": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", "dev": true, "requires": { "depd": "~1.1.2", "inherits": "2.0.4", "setprototypeof": "1.2.0", "statuses": ">= 1.5.0 < 2", "toidentifier": "1.0.1" } }, "ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", "dev": true, "requires": { "ee-first": "1.1.1" } } } }, "serialize-javascript": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dev": true, "requires": { "randombytes": "^2.1.0" } }, "serve-static": { "version": "1.14.2", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", "dev": true, "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", "send": "0.17.2" } }, "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, "set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", "is-plain-object": "^2.0.3", "split-string": "^3.0.1" }, "dependencies": { "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" } } } }, "setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", "dev": true }, "setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true }, "sha.js": { "version": "2.4.11", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" } }, "shallow-clone": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, "requires": { "kind-of": "^6.0.2" } }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { "shebang-regex": "^1.0.0" } }, "shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, "shellwords": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", "dev": true }, "side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dev": true, "requires": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", "object-inspect": "^1.9.0" } }, "signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, "signale": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/signale/-/signale-1.4.0.tgz", "integrity": "sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==", "dev": true, "peer": true, "requires": { "chalk": "^2.3.2", "figures": "^2.0.0", "pkg-conf": "^2.1.0" } }, "size-limit": { "version": "0.18.5", "resolved": "https://registry.npmjs.org/size-limit/-/size-limit-0.18.5.tgz", "integrity": "sha512-zGWYAvYlrJl6ofEwavARqlirDiR6Vd46ReADV+5VxwrS7iVoIb6KGehW19nFNcUN13Bn0/2LrzB5amfrOnGbcg==", "dev": true, "requires": { "bytes": "^3.0.0", "chalk": "^2.4.1", "ci-job-number": "^0.3.0", "compression-webpack-plugin": "^1.1.11", "cosmiconfig": "^5.0.5", "css-loader": "^1.0.0", "escape-string-regexp": "^1.0.5", "file-loader": "^1.1.11", "globby": "^8.0.1", "gzip-size": "^5.0.0", "memory-fs": "^0.4.1", "read-pkg-up": "^4.0.0", "style-loader": "^0.21.0", "webpack": "^4.15.1", "webpack-bundle-analyzer": "^2.13.1", "yargs": "^12.0.1" }, "dependencies": { "camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, "execa": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", "dev": true, "requires": { "cross-spawn": "^6.0.0", "get-stream": "^4.0.0", "is-stream": "^1.1.0", "npm-run-path": "^2.0.0", "p-finally": "^1.0.0", "signal-exit": "^3.0.0", "strip-eof": "^1.0.0" } }, "find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "requires": { "locate-path": "^3.0.0" } }, "get-stream": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", "dev": true, "requires": { "pump": "^3.0.0" } }, "gzip-size": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", "dev": true, "requires": { "duplexer": "^0.1.1", "pify": "^4.0.1" } }, "invert-kv": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", "dev": true }, "lcid": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", "dev": true, "requires": { "invert-kv": "^2.0.0" } }, "load-json-file": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { "graceful-fs": "^4.1.2", "parse-json": "^4.0.0", "pify": "^3.0.0", "strip-bom": "^3.0.0" }, "dependencies": { "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true } } }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "requires": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" } }, "mem": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", "dev": true, "requires": { "map-age-cleaner": "^0.1.1", "mimic-fn": "^2.0.0", "p-is-promise": "^2.0.0" } }, "mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, "os-locale": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", "dev": true, "requires": { "execa": "^1.0.0", "lcid": "^2.0.0", "mem": "^4.0.0" } }, "p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" } }, "p-locate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "requires": { "p-limit": "^2.0.0" } }, "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" } }, "path-type": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, "requires": { "pify": "^3.0.0" }, "dependencies": { "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true } } }, "pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true }, "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "read-pkg": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", "dev": true, "requires": { "load-json-file": "^4.0.0", "normalize-package-data": "^2.3.2", "path-type": "^3.0.0" } }, "read-pkg-up": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", "dev": true, "requires": { "find-up": "^3.0.0", "read-pkg": "^3.0.0" } }, "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true }, "yargs": { "version": "12.0.5", "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", "dev": true, "requires": { "cliui": "^4.0.0", "decamelize": "^1.2.0", "find-up": "^3.0.0", "get-caller-file": "^1.0.1", "os-locale": "^3.0.0", "require-directory": "^2.1.1", "require-main-filename": "^1.0.1", "set-blocking": "^2.0.0", "string-width": "^2.0.0", "which-module": "^2.0.0", "y18n": "^3.2.1 || ^4.0.0", "yargs-parser": "^11.1.1" } }, "yargs-parser": { "version": "11.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", "dev": true, "requires": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" } } } }, "skin-tone": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz", "integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==", "dev": true, "peer": true, "requires": { "unicode-emoji-modifier-base": "^1.0.0" } }, "slack-node": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/slack-node/-/slack-node-0.2.0.tgz", "integrity": "sha1-3kuN3aqLeT9h29KTgQT9q/N9+jA=", "dev": true, "optional": true, "requires": { "requestretry": "^1.2.2" } }, "slash": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", "dev": true }, "slice-ansi": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, "requires": { "is-fullwidth-code-point": "^2.0.0" } }, "smart-buffer": { "version": "1.1.15", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz", "integrity": "sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY=", "dev": true, "optional": true }, "smtp-connection": { "version": "2.12.0", "resolved": "https://registry.npmjs.org/smtp-connection/-/smtp-connection-2.12.0.tgz", "integrity": "sha1-1275EnyyPCJZ7bHoNJwujV4tdME=", "dev": true, "optional": true, "requires": { "httpntlm": "1.6.1", "nodemailer-shared": "1.1.0" } }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, "requires": { "base": "^0.11.1", "debug": "^2.2.0", "define-property": "^0.2.5", "extend-shallow": "^2.0.1", "map-cache": "^0.2.2", "source-map": "^0.5.6", "source-map-resolve": "^0.5.0", "use": "^3.1.0" }, "dependencies": { "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" } }, "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "^0.1.0" } }, "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", "kind-of": "^5.0.0" } }, "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } }, "snapdragon-node": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "requires": { "define-property": "^1.0.0", "isobject": "^3.0.0", "snapdragon-util": "^3.0.1" }, "dependencies": { "define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { "is-descriptor": "^1.0.0" } } } }, "snapdragon-util": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "requires": { "kind-of": "^3.2.0" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "sntp": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", "dev": true, "optional": true, "requires": { "hoek": "2.x.x" } }, "socket.io": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.0.4.tgz", "integrity": "sha1-waRZDO/4fs8TxyZS8Eb3FrKeYBQ=", "dev": true, "requires": { "debug": "~2.6.6", "engine.io": "~3.1.0", "socket.io-adapter": "~1.1.0", "socket.io-client": "2.0.4", "socket.io-parser": "~3.1.1" }, "dependencies": { "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } }, "socket.io-adapter": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz", "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==", "dev": true }, "socket.io-client": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.4.tgz", "integrity": "sha1-CRilUkBtxeVAs4Dc2Xr8SmQzL44=", "dev": true, "requires": { "backo2": "1.0.2", "base64-arraybuffer": "0.1.5", "component-bind": "1.0.0", "component-emitter": "1.2.1", "debug": "~2.6.4", "engine.io-client": "~3.1.0", "has-cors": "1.1.0", "indexof": "0.0.1", "object-component": "0.0.3", "parseqs": "0.0.5", "parseuri": "0.0.5", "socket.io-parser": "~3.1.1", "to-array": "0.1.4" }, "dependencies": { "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } }, "socket.io-parser": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.3.tgz", "integrity": "sha512-g0a2HPqLguqAczs3dMECuA1RgoGFPyvDqcbaDEdCWY9g59kdUAz3YRmaJBNKXflrHNwB7Q12Gkf/0CZXfdHR7g==", "dev": true, "requires": { "component-emitter": "1.2.1", "debug": "~3.1.0", "has-binary2": "~1.0.2", "isarray": "2.0.1" }, "dependencies": { "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "requires": { "ms": "2.0.0" } }, "isarray": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", "dev": true }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } }, "socks": { "version": "1.1.9", "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.9.tgz", "integrity": "sha1-Yo1+TQSRJDVEWsC25Fk3bLPm1pE=", "dev": true, "optional": true, "requires": { "ip": "^1.1.2", "smart-buffer": "^1.0.4" } }, "socks-proxy-agent": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz", "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==", "dev": true, "optional": true, "requires": { "agent-base": "~4.2.1", "socks": "~2.3.2" }, "dependencies": { "agent-base": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", "dev": true, "optional": true, "requires": { "es6-promisify": "^5.0.0" } }, "smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", "dev": true, "optional": true }, "socks": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz", "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==", "dev": true, "optional": true, "requires": { "ip": "1.1.5", "smart-buffer": "^4.1.0" } } } }, "source-list-map": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", "dev": true }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, "source-map-resolve": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", "dev": true, "requires": { "atob": "^2.1.2", "decode-uri-component": "^0.2.0", "resolve-url": "^0.2.1", "source-map-url": "^0.4.0", "urix": "^0.1.0" } }, "source-map-support": { "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" }, "dependencies": { "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } }, "source-map-url": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "dev": true }, "spawn-error-forwarder": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/spawn-error-forwarder/-/spawn-error-forwarder-1.0.0.tgz", "integrity": "sha512-gRjMgK5uFjbCvdibeGJuy3I5OYz6VLoVdsOJdA6wV0WlfQVLFueoqMxwwYD9RODdgb6oUIvlRlsyFSiQkMKu0g==", "dev": true, "peer": true }, "spawn-sync": { "version": "1.0.15", "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=", "dev": true, "requires": { "concat-stream": "^1.4.7", "os-shim": "^0.1.2" } }, "spdx-correct": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", "dev": true }, "spdx-expression-parse": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, "requires": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { "version": "3.0.11", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", "dev": true }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "requires": { "extend-shallow": "^3.0.0" } }, "split2": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/split2/-/split2-1.0.0.tgz", "integrity": "sha512-NKywug4u4pX/AZBB1FCPzZ6/7O+Xhz1qMVbzTvvKvikjO99oPN87SkK08mEY9P63/5lWjK+wgOOgApnTg5r6qg==", "dev": true, "peer": true, "requires": { "through2": "~2.0.0" } }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, "sshpk": { "version": "1.17.0", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", "dev": true, "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", "bcrypt-pbkdf": "^1.0.0", "dashdash": "^1.12.0", "ecc-jsbn": "~0.1.1", "getpass": "^0.1.1", "jsbn": "~0.1.0", "safer-buffer": "^2.0.2", "tweetnacl": "~0.14.0" } }, "ssri": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", "dev": true, "requires": { "safe-buffer": "^5.1.1" } }, "stack-utils": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", "dev": true, "requires": { "escape-string-regexp": "^2.0.0" }, "dependencies": { "escape-string-regexp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true } } }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dev": true, "requires": { "define-property": "^0.2.5", "object-copy": "^0.1.0" }, "dependencies": { "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "^0.1.0" } }, "is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", "kind-of": "^5.0.0" } }, "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } }, "statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", "dev": true }, "stealthy-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", "dev": true }, "stream-browserify": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", "dev": true, "requires": { "inherits": "~2.0.1", "readable-stream": "^2.0.2" } }, "stream-combiner2": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==", "dev": true, "peer": true, "requires": { "duplexer2": "~0.1.0", "readable-stream": "^2.0.2" } }, "stream-each": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", "dev": true, "requires": { "end-of-stream": "^1.1.0", "stream-shift": "^1.0.0" } }, "stream-http": { "version": "2.8.3", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", "dev": true, "requires": { "builtin-status-codes": "^3.0.0", "inherits": "^2.0.1", "readable-stream": "^2.3.6", "to-arraybuffer": "^1.0.0", "xtend": "^4.0.0" } }, "stream-shift": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", "dev": true }, "streamroller": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-0.7.0.tgz", "integrity": "sha512-WREzfy0r0zUqp3lGO096wRuUp7ho1X6uo/7DJfTlEi0Iv/4gT7YHqXDjKC2ioVGBZtE8QzsQD9nx1nIuoZ57jQ==", "dev": true, "requires": { "date-format": "^1.2.0", "debug": "^3.1.0", "mkdirp": "^0.5.1", "readable-stream": "^2.3.0" }, "dependencies": { "debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" } } } }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" } }, "string-length": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", "dev": true, "requires": { "astral-regex": "^1.0.0", "strip-ansi": "^4.0.0" } }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" } }, "string.prototype.trimend": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" } }, "string.prototype.trimstart": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" } }, "stringstream": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==", "dev": true, "optional": true }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { "ansi-regex": "^3.0.0" } }, "strip-bom": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { "is-utf8": "^0.2.0" } }, "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, "strip-final-newline": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", "dev": true, "peer": true }, "strip-indent": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { "get-stdin": "^4.0.1" } }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true }, "style-loader": { "version": "0.21.0", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.21.0.tgz", "integrity": "sha512-T+UNsAcl3Yg+BsPKs1vd22Fr8sVT+CJMtzqc6LEw9bbJZb43lm9GoeIfUcDEefBSWC0BhYbcdupV1GtI4DGzxg==", "dev": true, "requires": { "loader-utils": "^1.1.0", "schema-utils": "^0.4.5" } }, "super-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/super-regex/-/super-regex-1.0.0.tgz", "integrity": "sha512-CY8u7DtbvucKuquCmOFEKhr9Besln7n9uN8eFbwcoGYWXOMW07u2o8njWaiXt11ylS3qoGF55pILjRmPlbodyg==", "dev": true, "peer": true, "requires": { "function-timeout": "^1.0.1", "time-span": "^5.1.0" } }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" } }, "supports-hyperlinks": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.2.0.tgz", "integrity": "sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==", "dev": true, "peer": true, "requires": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" }, "dependencies": { "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, "peer": true }, "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, "peer": true, "requires": { "has-flag": "^4.0.0" } } } }, "supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true }, "symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, "table": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", "dev": true, "requires": { "ajv": "^5.2.3", "ajv-keywords": "^2.1.0", "chalk": "^2.1.0", "lodash": "^4.17.4", "slice-ansi": "1.0.0", "string-width": "^2.1.1" } }, "tapable": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true }, "tar-stream": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "dev": true, "requires": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", "fs-constants": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^3.1.1" }, "dependencies": { "readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } } } }, "temp-dir": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-3.0.0.tgz", "integrity": "sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==", "dev": true, "peer": true }, "tempy": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/tempy/-/tempy-3.1.0.tgz", "integrity": "sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g==", "dev": true, "peer": true, "requires": { "is-stream": "^3.0.0", "temp-dir": "^3.0.0", "type-fest": "^2.12.2", "unique-string": "^3.0.0" }, "dependencies": { "is-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, "peer": true }, "type-fest": { "version": "2.19.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", "dev": true, "peer": true } } }, "terser": { "version": "5.12.1", "resolved": "https://registry.npmjs.org/terser/-/terser-5.12.1.tgz", "integrity": "sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==", "dev": true, "requires": { "acorn": "^8.5.0", "commander": "^2.20.0", "source-map": "~0.7.2", "source-map-support": "~0.5.20" }, "dependencies": { "acorn": { "version": "8.7.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", "dev": true }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, "source-map": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", "dev": true } } }, "terser-webpack-plugin": { "version": "1.4.5", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", "dev": true, "requires": { "cacache": "^12.0.2", "find-cache-dir": "^2.1.0", "is-wsl": "^1.1.0", "schema-utils": "^1.0.0", "serialize-javascript": "^4.0.0", "source-map": "^0.6.1", "terser": "^4.1.2", "webpack-sources": "^1.4.0", "worker-farm": "^1.7.0" }, "dependencies": { "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": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, "requires": {} }, "cacache": { "version": "12.0.4", "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", "dev": true, "requires": { "bluebird": "^3.5.5", "chownr": "^1.1.1", "figgy-pudding": "^3.5.1", "glob": "^7.1.4", "graceful-fs": "^4.1.15", "infer-owner": "^1.0.3", "lru-cache": "^5.1.1", "mississippi": "^3.0.0", "mkdirp": "^0.5.1", "move-concurrently": "^1.0.1", "promise-inflight": "^1.0.1", "rimraf": "^2.6.3", "ssri": "^6.0.1", "unique-filename": "^1.1.1", "y18n": "^4.0.0" } }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, "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 }, "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 }, "lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "requires": { "yallist": "^3.0.2" } }, "mississippi": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", "dev": true, "requires": { "concat-stream": "^1.5.0", "duplexify": "^3.4.2", "end-of-stream": "^1.1.0", "flush-write-stream": "^1.0.0", "from2": "^2.1.0", "parallel-transform": "^1.1.0", "pump": "^3.0.0", "pumpify": "^1.3.3", "stream-each": "^1.1.0", "through2": "^2.0.0" } }, "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dev": true, "requires": { "ajv": "^6.1.0", "ajv-errors": "^1.0.0", "ajv-keywords": "^3.1.0" } }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, "ssri": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", "dev": true, "requires": { "figgy-pudding": "^3.5.1" } }, "terser": { "version": "4.8.0", "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", "dev": true, "requires": { "commander": "^2.20.0", "source-map": "~0.6.1", "source-map-support": "~0.5.12" } }, "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true } } }, "test-exclude": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.3.tgz", "integrity": "sha512-SYbXgY64PT+4GAL2ocI3HwPa4Q4TBKm0cwAVeKOt/Aoc0gSpNRjJX8w0pA1LMKZ3LBmd8pYBqApFNQLII9kavA==", "dev": true, "requires": { "arrify": "^1.0.1", "micromatch": "^2.3.11", "object-assign": "^4.1.0", "read-pkg-up": "^1.0.1", "require-main-filename": "^1.0.1" } }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, "thenify": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", "dev": true, "peer": true, "requires": { "any-promise": "^1.0.0" } }, "thenify-all": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", "dev": true, "peer": true, "requires": { "thenify": ">= 3.1.0 < 4" } }, "throat": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=", "dev": true }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, "through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, "requires": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" } }, "thunkify": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz", "integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=", "dev": true, "optional": true }, "time-span": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/time-span/-/time-span-5.1.0.tgz", "integrity": "sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==", "dev": true, "peer": true, "requires": { "convert-hrtime": "^5.0.0" } }, "timers-browserify": { "version": "2.0.12", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "dev": true, "requires": { "setimmediate": "^1.0.4" } }, "timespan": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/timespan/-/timespan-2.3.0.tgz", "integrity": "sha1-SQLOBAvRPYRcj1myfp1ZutbzmSk=", "dev": true, "optional": true }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { "os-tmpdir": "~1.0.2" } }, "tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", "dev": true }, "to-array": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", "dev": true }, "to-arraybuffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", "dev": true }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", "dev": true }, "to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "to-regex": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, "requires": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "regex-not": "^1.0.2", "safe-regex": "^1.1.0" } }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "requires": { "is-number": "^7.0.0" } }, "toidentifier": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true }, "tough-cookie": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, "requires": { "psl": "^1.1.28", "punycode": "^2.1.1" }, "dependencies": { "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true } } }, "tr46": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", "dev": true, "requires": { "punycode": "^2.1.0" }, "dependencies": { "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true } } }, "traverse": { "version": "0.6.8", "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.8.tgz", "integrity": "sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==", "dev": true, "peer": true }, "trim-newlines": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", "dev": true }, "trim-right": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", "dev": true }, "tryer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", "dev": true }, "tsconfig-paths": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", "dev": true, "requires": { "@types/json5": "^0.0.29", "json5": "^1.0.1", "minimist": "^1.2.6", "strip-bom": "^3.0.0" }, "dependencies": { "json5": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", "dev": true, "requires": { "minimist": "^1.2.0" } }, "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true } } }, "tslib": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", "dev": true, "optional": true }, "tsscmp": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz", "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==", "dev": true, "optional": true }, "tty-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", "dev": true }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { "safe-buffer": "^5.0.1" } }, "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true }, "type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { "prelude-ls": "~1.1.2" } }, "type-fest": { "version": "4.41.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true, "peer": true }, "type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, "requires": { "media-typer": "0.3.0", "mime-types": "~2.1.24" } }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, "typescript": { "version": "2.9.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==", "dev": true }, "uglify-js": { "version": "3.15.4", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.4.tgz", "integrity": "sha512-vMOPGDuvXecPs34V74qDKk4iJ/SN4vL3Ow/23ixafENYvtrNvtbcgUeugTcUGRGsOF/5fU8/NYSL5Hyb3l1OJA==", "dev": true, "optional": true }, "ultron": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", "dev": true }, "unbox-primitive": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", "dev": true, "requires": { "function-bind": "^1.1.1", "has-bigints": "^1.0.1", "has-symbols": "^1.0.2", "which-boxed-primitive": "^1.0.2" } }, "underscore": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=", "dev": true, "optional": true }, "unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", "dev": true }, "unicode-emoji-modifier-base": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", "integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==", "dev": true, "peer": true }, "unicode-match-property-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, "requires": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" } }, "unicode-match-property-value-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", "dev": true }, "unicode-property-aliases-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", "dev": true }, "unicorn-magic": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", "dev": true }, "union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", "set-value": "^2.0.1" } }, "unique-filename": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", "dev": true, "requires": { "unique-slug": "^2.0.0" } }, "unique-slug": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", "dev": true, "requires": { "imurmurhash": "^0.1.4" } }, "unique-string": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", "dev": true, "peer": true, "requires": { "crypto-random-string": "^4.0.0" } }, "universal-user-agent": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz", "integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==", "dev": true }, "universalify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "dev": true, "peer": true }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", "dev": true }, "unset-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, "requires": { "has-value": "^0.3.1", "isobject": "^3.0.0" }, "dependencies": { "has-value": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "dev": true, "requires": { "get-value": "^2.0.3", "has-values": "^0.1.4", "isobject": "^2.0.0" }, "dependencies": { "isobject": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", "dev": true, "requires": { "isarray": "1.0.0" } } } }, "has-values": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", "dev": true } } }, "upath": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "dev": true }, "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": { "punycode": "^2.1.0" }, "dependencies": { "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true } } }, "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "dev": true }, "url": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", "dev": true, "requires": { "punycode": "1.3.2", "querystring": "0.2.0" }, "dependencies": { "punycode": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", "dev": true } } }, "url-join": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/url-join/-/url-join-5.0.0.tgz", "integrity": "sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==", "dev": true }, "url-parse": { "version": "1.4.7", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", "dev": true, "optional": true, "requires": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" } }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true }, "useragent": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.2.1.tgz", "integrity": "sha1-z1k+9PLRdYdei7ZY6pLhik/QbY4=", "dev": true, "requires": { "lru-cache": "2.2.x", "tmp": "0.0.x" }, "dependencies": { "lru-cache": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.2.4.tgz", "integrity": "sha1-bGWGGb7PFAMdDQtZSxYELOTcBj0=", "dev": true } } }, "util": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", "dev": true, "requires": { "inherits": "2.0.3" }, "dependencies": { "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true } } }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, "util.promisify": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", "dev": true, "requires": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", "for-each": "^0.3.3", "has-symbols": "^1.0.1", "object.getownpropertydescriptors": "^2.1.1" } }, "utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", "dev": true }, "uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", "dev": true }, "uws": { "version": "9.14.0", "resolved": "https://registry.npmjs.org/uws/-/uws-9.14.0.tgz", "integrity": "sha512-HNMztPP5A1sKuVFmdZ6BPVpBQd5bUjNC8EFMFiICK+oho/OQsAJy5hnIx4btMHiOk8j04f/DbIlqnEZ9d72dqg==", "dev": true, "optional": true }, "v8flags": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", "dev": true, "requires": { "homedir-polyfill": "^1.0.1" } }, "validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, "requires": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" } }, "vargs": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/vargs/-/vargs-0.1.0.tgz", "integrity": "sha1-a2GE2mUgzDIEzhtAfKwm2SYJ6/8=", "dev": true }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", "dev": true }, "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", "extsprintf": "^1.2.0" }, "dependencies": { "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true } } }, "vm-browserify": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", "dev": true }, "void-elements": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", "dev": true }, "w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", "dev": true, "requires": { "browser-process-hrtime": "^1.0.0" } }, "walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, "requires": { "makeerror": "1.0.12" } }, "watch": { "version": "0.18.0", "resolved": "https://registry.npmjs.org/watch/-/watch-0.18.0.tgz", "integrity": "sha1-KAlUdsbffJDJYxOJkMClQj60uYY=", "dev": true, "requires": { "exec-sh": "^0.2.0", "minimist": "^1.2.0" } }, "watchpack": { "version": "1.7.5", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "dev": true, "requires": { "chokidar": "^3.4.1", "graceful-fs": "^4.1.2", "neo-async": "^2.5.0", "watchpack-chokidar2": "^2.0.1" } }, "watchpack-chokidar2": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", "dev": true, "optional": true, "requires": { "chokidar": "^2.1.8" }, "dependencies": { "anymatch": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, "optional": true, "requires": { "micromatch": "^3.1.4", "normalize-path": "^2.1.1" }, "dependencies": { "normalize-path": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "optional": true, "requires": { "remove-trailing-separator": "^1.0.1" } } } }, "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true, "optional": true }, "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true, "optional": true }, "binary-extensions": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true, "optional": true }, "braces": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "optional": true, "requires": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", "extend-shallow": "^2.0.1", "fill-range": "^4.0.0", "isobject": "^3.0.1", "repeat-element": "^1.1.2", "snapdragon": "^0.8.1", "snapdragon-node": "^2.0.1", "split-string": "^3.0.2", "to-regex": "^3.0.1" }, "dependencies": { "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "optional": true, "requires": { "is-extendable": "^0.1.0" } } } }, "chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", "dev": true, "optional": true, "requires": { "anymatch": "^2.0.0", "async-each": "^1.0.1", "braces": "^2.3.2", "fsevents": "^1.2.7", "glob-parent": "^3.1.0", "inherits": "^2.0.3", "is-binary-path": "^1.0.0", "is-glob": "^4.0.0", "normalize-path": "^3.0.0", "path-is-absolute": "^1.0.0", "readdirp": "^2.2.1", "upath": "^1.1.1" } }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "optional": true, "requires": { "ms": "2.0.0" } }, "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "optional": true, "requires": { "debug": "^2.3.3", "define-property": "^0.2.5", "extend-shallow": "^2.0.1", "posix-character-classes": "^0.1.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "dependencies": { "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "optional": true, "requires": { "is-descriptor": "^0.1.0" } }, "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "optional": true, "requires": { "is-extendable": "^0.1.0" } }, "is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "optional": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", "kind-of": "^5.0.0" } }, "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, "optional": true } } }, "extglob": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "optional": true, "requires": { "array-unique": "^0.3.2", "define-property": "^1.0.0", "expand-brackets": "^2.1.4", "extend-shallow": "^2.0.1", "fragment-cache": "^0.2.1", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "dependencies": { "define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "optional": true, "requires": { "is-descriptor": "^1.0.0" } }, "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "optional": true, "requires": { "is-extendable": "^0.1.0" } } } }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "optional": true, "requires": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", "repeat-string": "^1.6.1", "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "optional": true, "requires": { "is-extendable": "^0.1.0" } } } }, "fsevents": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", "dev": true, "optional": true, "requires": { "bindings": "^1.5.0", "nan": "^2.12.1" } }, "glob-parent": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "dev": true, "optional": true, "requires": { "is-glob": "^3.1.0", "path-dirname": "^1.0.0" }, "dependencies": { "is-glob": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "dev": true, "optional": true, "requires": { "is-extglob": "^2.1.0" } } } }, "is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "optional": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "optional": true, "requires": { "is-buffer": "^1.1.5" } } } }, "is-binary-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "optional": true, "requires": { "binary-extensions": "^1.0.0" } }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "optional": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "optional": true, "requires": { "is-buffer": "^1.1.5" } } } }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "optional": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "optional": true, "requires": { "is-buffer": "^1.1.5" } } } }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "optional": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", "braces": "^2.3.1", "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "extglob": "^2.0.4", "fragment-cache": "^0.2.1", "kind-of": "^6.0.2", "nanomatch": "^1.2.9", "object.pick": "^1.3.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.2" } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true, "optional": true }, "readdirp": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "dev": true, "optional": true, "requires": { "graceful-fs": "^4.1.11", "micromatch": "^3.1.10", "readable-stream": "^2.0.2" } }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true, "optional": true }, "to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "optional": true, "requires": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" } } } }, "wd": { "version": "1.14.0", "resolved": "https://registry.npmjs.org/wd/-/wd-1.14.0.tgz", "integrity": "sha512-X7ZfGHHYlQ5zYpRlgP16LUsvYti+Al/6fz3T/ClVyivVCpCZQpESTDdz6zbK910O5OIvujO23Ym2DBBo3XsQlA==", "dev": true, "requires": { "archiver": "^3.0.0", "async": "^2.0.0", "lodash": "^4.0.0", "mkdirp": "^0.5.1", "q": "^1.5.1", "request": "2.88.0", "vargs": "^0.1.0" }, "dependencies": { "qs": { "version": "6.5.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", "dev": true }, "request": { "version": "2.88.0", "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", "dev": true, "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", "caseless": "~0.12.0", "combined-stream": "~1.0.6", "extend": "~3.0.2", "forever-agent": "~0.6.1", "form-data": "~2.3.2", "har-validator": "~5.1.0", "http-signature": "~1.2.0", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", "json-stringify-safe": "~5.0.1", "mime-types": "~2.1.19", "oauth-sign": "~0.9.0", "performance-now": "^2.1.0", "qs": "~6.5.2", "safe-buffer": "^5.1.2", "tough-cookie": "~2.4.3", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" } }, "tough-cookie": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "dev": true, "requires": { "psl": "^1.1.24", "punycode": "^1.4.1" } } } }, "webidl-conversions": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", "dev": true }, "webpack": { "version": "4.46.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-module-context": "1.9.0", "@webassemblyjs/wasm-edit": "1.9.0", "@webassemblyjs/wasm-parser": "1.9.0", "acorn": "^6.4.1", "ajv": "^6.10.2", "ajv-keywords": "^3.4.1", "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^4.5.0", "eslint-scope": "^4.0.3", "json-parse-better-errors": "^1.0.2", "loader-runner": "^2.4.0", "loader-utils": "^1.2.3", "memory-fs": "^0.4.1", "micromatch": "^3.1.10", "mkdirp": "^0.5.3", "neo-async": "^2.6.1", "node-libs-browser": "^2.2.1", "schema-utils": "^1.0.0", "tapable": "^1.1.3", "terser-webpack-plugin": "^1.4.3", "watchpack": "^1.7.4", "webpack-sources": "^1.4.1" }, "dependencies": { "acorn": { "version": "6.4.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true }, "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": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, "requires": {} }, "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true }, "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, "braces": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", "extend-shallow": "^2.0.1", "fill-range": "^4.0.0", "isobject": "^3.0.1", "repeat-element": "^1.1.2", "snapdragon": "^0.8.1", "snapdragon-node": "^2.0.1", "split-string": "^3.0.2", "to-regex": "^3.0.1" }, "dependencies": { "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" } } } }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" } }, "eslint-scope": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "dev": true, "requires": { "esrecurse": "^4.1.0", "estraverse": "^4.1.1" } }, "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { "debug": "^2.3.3", "define-property": "^0.2.5", "extend-shallow": "^2.0.1", "posix-character-classes": "^0.1.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "dependencies": { "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "^0.1.0" } }, "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" } }, "is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", "kind-of": "^5.0.0" } }, "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } }, "extglob": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { "array-unique": "^0.3.2", "define-property": "^1.0.0", "expand-brackets": "^2.1.4", "extend-shallow": "^2.0.1", "fragment-cache": "^0.2.1", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "dependencies": { "define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { "is-descriptor": "^1.0.0" } }, "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" } } } }, "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 }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", "repeat-string": "^1.6.1", "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" } } } }, "is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "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 }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", "braces": "^2.3.1", "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "extglob": "^2.0.4", "fragment-cache": "^0.2.1", "kind-of": "^6.0.2", "nanomatch": "^1.2.9", "object.pick": "^1.3.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.2" } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dev": true, "requires": { "ajv": "^6.1.0", "ajv-errors": "^1.0.0", "ajv-keywords": "^3.1.0" } }, "to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" } } } }, "webpack-bundle-analyzer": { "version": "2.13.1", "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.13.1.tgz", "integrity": "sha512-rwxyfecTAxoarCC9VlHlIpfQCmmJ/qWD5bpbjkof+7HrNhTNZIwZITxN6CdlYL2axGmwNUQ+tFgcSOiNXMf/sQ==", "dev": true, "requires": { "acorn": "^5.3.0", "bfj-node4": "^5.2.0", "chalk": "^2.3.0", "commander": "^2.13.0", "ejs": "^2.5.7", "express": "^4.16.2", "filesize": "^3.5.11", "gzip-size": "^4.1.0", "lodash": "^4.17.4", "mkdirp": "^0.5.1", "opener": "^1.4.3", "ws": "^4.0.0" }, "dependencies": { "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, "ws": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/ws/-/ws-4.1.0.tgz", "integrity": "sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==", "dev": true, "requires": { "async-limiter": "~1.0.0", "safe-buffer": "~5.1.0" } } } }, "webpack-sources": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, "requires": { "source-list-map": "^2.0.0", "source-map": "~0.6.1" }, "dependencies": { "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } }, "whatwg-encoding": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", "dev": true, "requires": { "iconv-lite": "0.4.24" } }, "whatwg-mimetype": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", "dev": true }, "whatwg-url": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", "dev": true, "requires": { "lodash.sortby": "^4.7.0", "tr46": "^1.0.1", "webidl-conversions": "^4.0.2" } }, "when": { "version": "3.7.8", "resolved": "https://registry.npmjs.org/when/-/when-3.7.8.tgz", "integrity": "sha1-xxMLan6gRpPoQs3J56Hyqjmjn4I=", "dev": true, "optional": true }, "which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { "isexe": "^2.0.0" } }, "which-boxed-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, "requires": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", "is-number-object": "^1.0.4", "is-string": "^1.0.5", "is-symbol": "^1.0.3" } }, "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, "with-callback": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/with-callback/-/with-callback-1.0.2.tgz", "integrity": "sha1-oJYpuakgAo1yFAT7Q1vc/1yRvCE=", "dev": true, "optional": true }, "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true }, "wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", "dev": true }, "worker-farm": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", "dev": true, "requires": { "errno": "~0.1.7" } }, "wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { "string-width": "^1.0.1", "strip-ansi": "^3.0.1" }, "dependencies": { "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "is-fullwidth-code-point": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { "number-is-nan": "^1.0.0" } }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", "strip-ansi": "^3.0.0" } }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { "ansi-regex": "^2.0.0" } } } }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "write": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { "mkdirp": "^0.5.1" } }, "write-file-atomic": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", "dev": true, "requires": { "graceful-fs": "^4.1.11", "imurmurhash": "^0.1.4", "signal-exit": "^3.0.2" } }, "ws": { "version": "5.2.3", "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.3.tgz", "integrity": "sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==", "dev": true, "requires": { "async-limiter": "~1.0.0" } }, "xml-name-validator": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", "dev": true }, "xmlhttprequest-ssl": { "version": "1.5.5", "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=", "dev": true }, "xregexp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz", "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=", "dev": true, "optional": true }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true }, "y18n": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true }, "yargs": { "version": "10.1.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.1.2.tgz", "integrity": "sha512-ivSoxqBGYOqQVruxD35+EyCFDYNEFL/Uo6FcOnz+9xZdZzK0Zzw4r4KhbrME1Oo2gOggwJod2MnsdamSG7H9ig==", "dev": true, "requires": { "cliui": "^4.0.0", "decamelize": "^1.1.1", "find-up": "^2.1.0", "get-caller-file": "^1.0.1", "os-locale": "^2.0.0", "require-directory": "^2.1.1", "require-main-filename": "^1.0.1", "set-blocking": "^2.0.0", "string-width": "^2.0.0", "which-module": "^2.0.0", "y18n": "^3.2.1", "yargs-parser": "^8.1.0" }, "dependencies": { "y18n": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", "dev": true } } }, "yargs-parser": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz", "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==", "dev": true, "requires": { "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true } } }, "yeast": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", "dev": true }, "yoctocolors": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz", "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==", "dev": true, "peer": true }, "zip-stream": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-2.1.3.tgz", "integrity": "sha512-EkXc2JGcKhO5N5aZ7TmuNo45budRaFGHOmz24wtJR7znbNqDPmdZtUauKX6et8KAVseAMBOyWJqEpXcHTBsh7Q==", "dev": true, "requires": { "archiver-utils": "^2.1.0", "compress-commons": "^2.1.1", "readable-stream": "^3.4.0" }, "dependencies": { "readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } } } } } } iamkun-dayjs-a25f01e/package.json000066400000000000000000000051761520523163200170110ustar00rootroot00000000000000{ "name": "dayjs", "version": "0.0.0-development", "description": "2KB immutable date time library alternative to Moment.js with the same modern API ", "main": "dayjs.min.js", "types": "index.d.ts", "scripts": { "test": "cross-env TZ=Pacific/Auckland npm run test-tz && cross-env TZ=Europe/London npm run test-tz && cross-env TZ=America/Whitehorse npm run test-tz && npm run test-tz && jest --coverage --coverageThreshold=\"{ \\\"global\\\": { \\\"lines\\\": 100} }\"", "test-tz": "date && jest test/timezone.test --coverage=false", "lint": "./node_modules/.bin/eslint src/* test/* build/*", "prettier": "prettier --write \"docs/**/*.md\"", "babel": "cross-env BABEL_ENV=build babel src --out-dir esm --copy-files && node build/esm", "build": "cross-env BABEL_ENV=build node build && npm run size", "sauce": "npx karma start karma.sauce.conf.js", "test:sauce": "npm run sauce -- 0 && npm run sauce -- 1 && npm run sauce -- 2 && npm run sauce -- 3", "size": "size-limit && gzip-size dayjs.min.js" }, "pre-commit": [ "lint" ], "size-limit": [ { "limit": "2.99 KB", "path": "dayjs.min.js" } ], "jest": { "roots": [ "test" ], "testRegex": "test/(.*?/)?.*test.js$", "testURL": "http://localhost", "coverageDirectory": "./coverage/", "collectCoverage": true, "collectCoverageFrom": [ "src/**/*" ] }, "keywords": [ "dayjs", "date", "time", "immutable", "moment" ], "author": "iamkun", "license": "MIT", "homepage": "https://day.js.org", "repository": { "type": "git", "url": "https://github.com/iamkun/dayjs.git" }, "devDependencies": { "@babel/cli": "^7.0.0-beta.44", "@babel/core": "^7.0.0-beta.44", "@babel/node": "^7.0.0-beta.44", "@babel/preset-env": "^7.0.0-beta.44", "@semantic-release/github": "^11.0.4", "babel-core": "^7.0.0-bridge.0", "babel-jest": "^22.4.3", "babel-plugin-external-helpers": "^6.22.0", "cross-env": "^5.1.6", "eslint": "^4.19.1", "eslint-config-airbnb-base": "^12.1.0", "eslint-plugin-import": "^2.10.0", "eslint-plugin-jest": "^21.15.0", "gzip-size-cli": "^2.1.0", "jasmine-core": "^2.99.1", "jest": "^22.4.3", "karma": "^2.0.2", "karma-jasmine": "^1.1.2", "karma-sauce-launcher": "^1.1.0", "mockdate": "^2.0.2", "moment": "2.29.2", "moment-timezone": "0.5.31", "ncp": "^2.0.0", "pre-commit": "^1.2.2", "prettier": "^1.16.1", "rollup": "^2.45.1", "rollup-plugin-babel": "^4.4.0", "rollup-plugin-terser": "^7.0.2", "size-limit": "^0.18.0", "typescript": "^2.8.3" } } iamkun-dayjs-a25f01e/patches/000077500000000000000000000000001520523163200161415ustar00rootroot00000000000000iamkun-dayjs-a25f01e/patches/@semantic-release+github+11.0.4.patch000066400000000000000000000013221520523163200244740ustar00rootroot00000000000000diff --git a/node_modules/@semantic-release/github/lib/success.js b/node_modules/@semantic-release/github/lib/success.js index 29c8def..7e57161 100644 --- a/node_modules/@semantic-release/github/lib/success.js +++ b/node_modules/@semantic-release/github/lib/success.js @@ -118,6 +118,8 @@ export default async function success(pluginConfig, context, { Octokit }) { const uniqueAssociatedPRs = uniqBy(flatten(associatedPRs), "number"); const prs = await pFilter(uniqueAssociatedPRs, async ({ number }) => { + console.log('number: ', number); + if (number < 2000) return false; const commits = await octokit.paginate( "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", { iamkun-dayjs-a25f01e/prettier.config.js000066400000000000000000000001651520523163200201540ustar00rootroot00000000000000module.exports = { useTabs: false, printWidth: 80, singleQuote: true, trailingComma: 'none', semi: false } iamkun-dayjs-a25f01e/src/000077500000000000000000000000001520523163200153015ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/constant.js000066400000000000000000000022021520523163200174640ustar00rootroot00000000000000export const SECONDS_A_MINUTE = 60 export const SECONDS_A_HOUR = SECONDS_A_MINUTE * 60 export const SECONDS_A_DAY = SECONDS_A_HOUR * 24 export const SECONDS_A_WEEK = SECONDS_A_DAY * 7 export const MILLISECONDS_A_SECOND = 1e3 export const MILLISECONDS_A_MINUTE = SECONDS_A_MINUTE * MILLISECONDS_A_SECOND export const MILLISECONDS_A_HOUR = SECONDS_A_HOUR * MILLISECONDS_A_SECOND export const MILLISECONDS_A_DAY = SECONDS_A_DAY * MILLISECONDS_A_SECOND export const MILLISECONDS_A_WEEK = SECONDS_A_WEEK * MILLISECONDS_A_SECOND // English locales export const MS = 'millisecond' export const S = 'second' export const MIN = 'minute' export const H = 'hour' export const D = 'day' export const W = 'week' export const M = 'month' export const Q = 'quarter' export const Y = 'year' export const DATE = 'date' export const FORMAT_DEFAULT = 'YYYY-MM-DDTHH:mm:ssZ' export const INVALID_DATE_STRING = 'Invalid Date' // regex export const REGEX_PARSE = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/ export const REGEX_FORMAT = /\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g iamkun-dayjs-a25f01e/src/index.js000066400000000000000000000267701520523163200167620ustar00rootroot00000000000000import * as C from './constant' import en from './locale/en' import U from './utils' let L = 'en' // global locale const Ls = {} // global loaded locale Ls[L] = en const IS_DAYJS = '$isDayjsObject' // eslint-disable-next-line no-use-before-define const isDayjs = d => d instanceof Dayjs || !!(d && d[IS_DAYJS]) const parseLocale = (preset, object, isLocal) => { let l if (!preset) return L if (typeof preset === 'string') { const presetLower = preset.toLowerCase() if (Ls[presetLower]) { l = presetLower } if (object) { Ls[presetLower] = object l = presetLower } const presetSplit = preset.split('-') if (!l && presetSplit.length > 1) { return parseLocale(presetSplit[0]) } } else { const { name } = preset Ls[name] = preset l = name } if (!isLocal && l) L = l return l || (!isLocal && L) } const dayjs = function (date, c) { if (isDayjs(date)) { return date.clone() } // eslint-disable-next-line no-nested-ternary const cfg = typeof c === 'object' ? c : {} cfg.date = date cfg.args = arguments// eslint-disable-line prefer-rest-params return new Dayjs(cfg) // eslint-disable-line no-use-before-define } const wrapper = (date, instance) => dayjs(date, { locale: instance.$L, utc: instance.$u, x: instance.$x, $offset: instance.$offset // todo: refactor; do not use this.$offset in you code }) const Utils = U // for plugin use Utils.l = parseLocale Utils.i = isDayjs Utils.w = wrapper const parseDate = (cfg) => { const { date, utc } = cfg if (date === null) return new Date(NaN) // null is invalid if (Utils.u(date)) return new Date() // today if (date instanceof Date) return new Date(date) if (typeof date === 'string' && !/Z$/i.test(date)) { const d = date.match(C.REGEX_PARSE) if (d) { const m = d[2] - 1 || 0 const ms = (d[7] || '0').substring(0, 3) if (utc) { return new Date(Date.UTC(d[1], m, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, ms)) } return new Date(d[1], m, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, ms) } } return new Date(date) // everything else } class Dayjs { constructor(cfg) { this.$L = parseLocale(cfg.locale, null, true) this.parse(cfg) // for plugin this.$x = this.$x || cfg.x || {} this[IS_DAYJS] = true } parse(cfg) { this.$d = parseDate(cfg) this.init() } init() { const { $d } = this this.$y = $d.getFullYear() this.$M = $d.getMonth() this.$D = $d.getDate() this.$W = $d.getDay() this.$H = $d.getHours() this.$m = $d.getMinutes() this.$s = $d.getSeconds() this.$ms = $d.getMilliseconds() } // eslint-disable-next-line class-methods-use-this $utils() { return Utils } isValid() { return !(this.$d.toString() === C.INVALID_DATE_STRING) } isSame(that, units) { const other = dayjs(that) return this.startOf(units) <= other && other <= this.endOf(units) } isAfter(that, units) { return dayjs(that) < this.startOf(units) } isBefore(that, units) { return this.endOf(units) < dayjs(that) } $g(input, get, set) { if (Utils.u(input)) return this[get] return this.set(set, input) } unix() { return Math.floor(this.valueOf() / 1000) } valueOf() { // timezone(hour) * 60 * 60 * 1000 => ms return this.$d.getTime() } startOf(units, startOf) { // startOf -> endOf const isStartOf = !Utils.u(startOf) ? startOf : true const unit = Utils.p(units) const instanceFactory = (d, m) => { const ins = Utils.w(this.$u ? Date.UTC(this.$y, m, d) : new Date(this.$y, m, d), this) return isStartOf ? ins : ins.endOf(C.D) } const instanceFactorySet = (method, slice) => { const argumentStart = [0, 0, 0, 0] const argumentEnd = [23, 59, 59, 999] return Utils.w(this.toDate()[method].apply( // eslint-disable-line prefer-spread this.toDate('s'), (isStartOf ? argumentStart : argumentEnd).slice(slice) ), this) } const { $W, $M, $D } = this const utcPad = `set${this.$u ? 'UTC' : ''}` switch (unit) { case C.Y: return isStartOf ? instanceFactory(1, 0) : instanceFactory(31, 11) case C.M: return isStartOf ? instanceFactory(1, $M) : instanceFactory(0, $M + 1) case C.W: { const weekStart = this.$locale().weekStart || 0 const gap = ($W < weekStart ? $W + 7 : $W) - weekStart return instanceFactory(isStartOf ? $D - gap : $D + (6 - gap), $M) } case C.D: case C.DATE: return instanceFactorySet(`${utcPad}Hours`, 0) case C.H: return instanceFactorySet(`${utcPad}Minutes`, 1) case C.MIN: return instanceFactorySet(`${utcPad}Seconds`, 2) case C.S: return instanceFactorySet(`${utcPad}Milliseconds`, 3) default: return this.clone() } } endOf(arg) { return this.startOf(arg, false) } $set(units, int) { // private set const unit = Utils.p(units) const utcPad = `set${this.$u ? 'UTC' : ''}` const name = { [C.D]: `${utcPad}Date`, [C.DATE]: `${utcPad}Date`, [C.M]: `${utcPad}Month`, [C.Y]: `${utcPad}FullYear`, [C.H]: `${utcPad}Hours`, [C.MIN]: `${utcPad}Minutes`, [C.S]: `${utcPad}Seconds`, [C.MS]: `${utcPad}Milliseconds` }[unit] const arg = unit === C.D ? this.$D + (int - this.$W) : int if (unit === C.M || unit === C.Y) { // clone is for badMutable plugin const date = this.clone().set(C.DATE, 1) date.$d[name](arg) date.init() this.$d = date.set(C.DATE, Math.min(this.$D, date.daysInMonth())).$d } else if (name) this.$d[name](arg) this.init() return this } set(string, int) { return this.clone().$set(string, int) } get(unit) { return this[Utils.p(unit)]() } add(number, units) { number = Number(number) // eslint-disable-line no-param-reassign const unit = Utils.p(units) const instanceFactorySet = (n) => { const d = dayjs(this) return Utils.w(d.date(d.date() + Math.round(n * number)), this) } if (unit === C.M) { return this.set(C.M, this.$M + number) } if (unit === C.Y) { return this.set(C.Y, this.$y + number) } if (unit === C.D) { return instanceFactorySet(1) } if (unit === C.W) { return instanceFactorySet(7) } const step = { [C.MIN]: C.MILLISECONDS_A_MINUTE, [C.H]: C.MILLISECONDS_A_HOUR, [C.S]: C.MILLISECONDS_A_SECOND }[unit] || 1 // ms const nextTimeStamp = this.$d.getTime() + (number * step) return Utils.w(nextTimeStamp, this) } subtract(number, string) { return this.add(number * -1, string) } format(formatStr) { const locale = this.$locale() if (!this.isValid()) return locale.invalidDate || C.INVALID_DATE_STRING const str = formatStr || C.FORMAT_DEFAULT const zoneStr = Utils.z(this) const { $H, $m, $M } = this const { weekdays, months, meridiem } = locale const getShort = (arr, index, full, length) => ( (arr && (arr[index] || arr(this, str))) || full[index].slice(0, length) ) const get$H = num => ( Utils.s($H % 12 || 12, num, '0') ) const meridiemFunc = meridiem || ((hour, minute, isLowercase) => { const m = (hour < 12 ? 'AM' : 'PM') return isLowercase ? m.toLowerCase() : m }) const matches = (match) => { switch (match) { case 'YY': return String(this.$y).slice(-2) case 'YYYY': return Utils.s(this.$y, 4, '0') case 'M': return $M + 1 case 'MM': return Utils.s($M + 1, 2, '0') case 'MMM': return getShort(locale.monthsShort, $M, months, 3) case 'MMMM': return getShort(months, $M) case 'D': return this.$D case 'DD': return Utils.s(this.$D, 2, '0') case 'd': return String(this.$W) case 'dd': return getShort(locale.weekdaysMin, this.$W, weekdays, 2) case 'ddd': return getShort(locale.weekdaysShort, this.$W, weekdays, 3) case 'dddd': return weekdays[this.$W] case 'H': return String($H) case 'HH': return Utils.s($H, 2, '0') case 'h': return get$H(1) case 'hh': return get$H(2) case 'a': return meridiemFunc($H, $m, true) case 'A': return meridiemFunc($H, $m, false) case 'm': return String($m) case 'mm': return Utils.s($m, 2, '0') case 's': return String(this.$s) case 'ss': return Utils.s(this.$s, 2, '0') case 'SSS': return Utils.s(this.$ms, 3, '0') case 'Z': return zoneStr // 'ZZ' logic below default: break } return null } return str.replace(C.REGEX_FORMAT, (match, $1) => $1 || matches(match) || zoneStr.replace(':', '')) // 'ZZ' } utcOffset() { // Because a bug at FF24, we're rounding the timezone offset around 15 minutes // https://github.com/moment/moment/pull/1871 return -Math.round(this.$d.getTimezoneOffset() / 15) * 15 } diff(input, units, float) { const unit = Utils.p(units) const that = dayjs(input) const zoneDelta = (that.utcOffset() - this.utcOffset()) * C.MILLISECONDS_A_MINUTE const diff = this - that const getMonth = () => Utils.m(this, that) let result switch (unit) { case C.Y: result = getMonth() / 12 break case C.M: result = getMonth() break case C.Q: result = getMonth() / 3 break case C.W: result = (diff - zoneDelta) / C.MILLISECONDS_A_WEEK break case C.D: result = (diff - zoneDelta) / C.MILLISECONDS_A_DAY break case C.H: result = diff / C.MILLISECONDS_A_HOUR break case C.MIN: result = diff / C.MILLISECONDS_A_MINUTE break case C.S: result = diff / C.MILLISECONDS_A_SECOND break default: result = diff // milliseconds break } return float ? result : Utils.a(result) } daysInMonth() { return this.endOf(C.M).$D } $locale() { // get locale object return Ls[this.$L] } locale(preset, object) { if (!preset) return this.$L const that = this.clone() const nextLocaleName = parseLocale(preset, object, true) if (nextLocaleName) that.$L = nextLocaleName return that } clone() { return Utils.w(this.$d, this) } toDate() { return new Date(this.valueOf()) } toJSON() { return this.isValid() ? this.toISOString() : null } toISOString() { // ie 8 return // new Dayjs(this.valueOf() + this.$d.getTimezoneOffset() * 60000) // .format('YYYY-MM-DDTHH:mm:ss.SSS[Z]') return this.$d.toISOString() } toString() { return this.$d.toUTCString() } } const proto = Dayjs.prototype dayjs.prototype = proto; [ ['$ms', C.MS], ['$s', C.S], ['$m', C.MIN], ['$H', C.H], ['$W', C.D], ['$M', C.M], ['$y', C.Y], ['$D', C.DATE] ].forEach((g) => { proto[g[1]] = function (input) { return this.$g(input, g[0], g[1]) } }) dayjs.extend = (plugin, option) => { if (!plugin.$i) { // install plugin only once plugin(option, Dayjs, dayjs) plugin.$i = true } return dayjs } dayjs.locale = parseLocale dayjs.isDayjs = isDayjs dayjs.unix = timestamp => ( dayjs(timestamp * 1e3) ) dayjs.en = Ls[L] dayjs.Ls = Ls dayjs.p = {} export default dayjs iamkun-dayjs-a25f01e/src/locale/000077500000000000000000000000001520523163200165405ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/locale/af.js000066400000000000000000000017541520523163200174730ustar00rootroot00000000000000// Afrikaans [af] import dayjs from 'dayjs' const locale = { name: 'af', weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'), months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'), weekStart: 1, weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'), monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'), weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm' }, relativeTime: { future: 'oor %s', past: '%s gelede', s: "'n paar sekondes", m: "'n minuut", mm: '%d minute', h: "'n uur", hh: '%d ure', d: "'n dag", dd: '%d dae', M: "'n maand", MM: '%d maande', y: "'n jaar", yy: '%d jaar' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/am.js000066400000000000000000000025011520523163200174710ustar00rootroot00000000000000// Amharic [am] import dayjs from 'dayjs' const locale = { name: 'am', weekdays: 'እሑድ_ሰኞ_ማክሰኞ_ረቡዕ_áˆáˆ™áˆµ_አርብ_ቅዳሜ'.split('_'), weekdaysShort: 'እሑድ_ሰኞ_ማክሰ_ረቡዕ_áˆáˆ™áˆµ_አርብ_ቅዳሜ'.split('_'), weekdaysMin: 'እሑ_ሰኞ_ማክ_ረቡ_áˆáˆ™_አር_ቅዳ'.split('_'), months: 'ጃንዋሪ_áŒá‰¥áˆ¯áˆª_ማርች_ኤá•ሪáˆ_ሜይ_áŒáŠ•_áŒáˆ‹á‹­_ኦገስት_ሴá•ቴáˆá‰ áˆ­_ኦክቶበር_ኖቬáˆá‰ áˆ­_ዲሴáˆá‰ áˆ­'.split('_'), monthsShort: 'ጃንዋ_áŒá‰¥áˆ¯_ማርች_ኤá•ሪ_ሜይ_áŒáŠ•_áŒáˆ‹á‹­_ኦገስ_ሴá•ቴ_ኦክቶ_ኖቬáˆ_ዲሴáˆ'.split('_'), weekStart: 1, yearStart: 4, relativeTime: { future: 'በ%s', past: '%s በáŠá‰µ', s: 'ጥቂት ሰከንዶች', m: 'አንድ ደቂቃ', mm: '%d ደቂቃዎች', h: 'አንድ ሰዓት', hh: '%d ሰዓታት', d: 'አንድ ቀን', dd: '%d ቀናት', M: 'አንድ ወር', MM: '%d ወራት', y: 'አንድ ዓመት', yy: '%d ዓመታት' }, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'MMMM D ᣠYYYY', LLL: 'MMMM D ᣠYYYY HH:mm', LLLL: 'dddd ᣠMMMM D ᣠYYYY HH:mm' }, ordinal: n => `${n}ኛ` } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/ar-dz.js000066400000000000000000000024001520523163200201070ustar00rootroot00000000000000// Arabic (Algeria) [ar-dz] import dayjs from 'dayjs' const locale = { name: 'ar-dz', weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), months: 'جانÙÙŠ_ÙÙŠÙØ±ÙŠ_مارس_Ø£ÙØ±ÙŠÙ„_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), monthsShort: 'جانÙÙŠ_ÙÙŠÙØ±ÙŠ_مارس_Ø£ÙØ±ÙŠÙ„_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), weekdaysMin: 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm' }, meridiem: hour => (hour > 12 ? 'Ù…' : 'ص'), relativeTime: { future: 'ÙÙŠ %s', past: 'منذ %s', s: 'ثوان', m: 'دقيقة', mm: '%d دقائق', h: 'ساعة', hh: '%d ساعات', d: 'يوم', dd: '%d أيام', M: 'شهر', MM: '%d أشهر', y: 'سنة', yy: '%d سنوات' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/ar-iq.js000066400000000000000000000025131520523163200201100ustar00rootroot00000000000000// Arabic (Iraq) [ar-iq] import dayjs from 'dayjs' const locale = { name: 'ar-iq', weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), months: 'كانون الثاني_شباط_آذار_نيسان_أيار_حزيران_تموز_آب_أيلول_تشرين الأول_ تشرين الثاني_كانون الأول'.split('_'), weekStart: 1, weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), monthsShort: 'كانون الثاني_شباط_آذار_نيسان_أيار_حزيران_تموز_آب_أيلول_تشرين الأول_ تشرين الثاني_كانون الأول'.split('_'), weekdaysMin: 'Ø­_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm' }, meridiem: hour => (hour > 12 ? 'Ù…' : 'ص'), relativeTime: { future: 'ÙÙŠ %s', past: 'منذ %s', s: 'ثوان', m: 'دقيقة', mm: '%d دقائق', h: 'ساعة', hh: '%d ساعات', d: 'يوم', dd: '%d أيام', M: 'شهر', MM: '%d أشهر', y: 'سنة', yy: '%d سنوات' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/ar-kw.js000066400000000000000000000023531520523163200201220ustar00rootroot00000000000000// Arabic (Kuwait) [ar-kw] import dayjs from 'dayjs' const locale = { name: 'ar-kw', weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), months: 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), monthsShort: 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), weekdaysMin: 'Ø­_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm' }, meridiem: hour => (hour > 12 ? 'Ù…' : 'ص'), relativeTime: { future: 'ÙÙŠ %s', past: 'منذ %s', s: 'ثوان', m: 'دقيقة', mm: '%d دقائق', h: 'ساعة', hh: '%d ساعات', d: 'يوم', dd: '%d أيام', M: 'شهر', MM: '%d أشهر', y: 'سنة', yy: '%d سنوات' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/ar-ly.js000066400000000000000000000017471520523163200201330ustar00rootroot00000000000000// Arabic (Lybia) [ar-ly] import dayjs from 'dayjs' const locale = { name: 'ar-ly', weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), months: 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), weekStart: 6, weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), monthsShort: 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), weekdaysMin: 'Ø­_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), ordinal: n => n, meridiem: hour => (hour > 12 ? 'Ù…' : 'ص'), formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'D/â€M/â€YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/ar-ma.js000066400000000000000000000023741520523163200201010ustar00rootroot00000000000000// Arabic (Morocco) [ar-ma] import dayjs from 'dayjs' const locale = { name: 'ar-ma', weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), months: 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), weekStart: 6, weekdaysShort: 'احد_إثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), monthsShort: 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), weekdaysMin: 'Ø­_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm' }, meridiem: hour => (hour > 12 ? 'Ù…' : 'ص'), relativeTime: { future: 'ÙÙŠ %s', past: 'منذ %s', s: 'ثوان', m: 'دقيقة', mm: '%d دقائق', h: 'ساعة', hh: '%d ساعات', d: 'يوم', dd: '%d أيام', M: 'شهر', MM: '%d أشهر', y: 'سنة', yy: '%d سنوات' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/ar-sa.js000066400000000000000000000024051520523163200201020ustar00rootroot00000000000000// Arabic (Saudi Arabia) [ar-sa] import dayjs from 'dayjs' const locale = { name: 'ar-sa', weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), months: 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), monthsShort: 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), weekdaysMin: 'Ø­_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm' }, meridiem: hour => (hour > 12 ? 'Ù…' : 'ص'), relativeTime: { future: 'ÙÙŠ %s', past: 'منذ %s', s: 'ثوان', m: 'دقيقة', mm: '%d دقائق', h: 'ساعة', hh: '%d ساعات', d: 'يوم', dd: '%d أيام', M: 'شهر', MM: '%d أشهر', y: 'سنة', yy: '%d سنوات' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/ar-tn.js000066400000000000000000000024011520523163200201140ustar00rootroot00000000000000// Arabic (Tunisia) [ar-tn] import dayjs from 'dayjs' const locale = { name: 'ar-tn', weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), months: 'جانÙÙŠ_ÙÙŠÙØ±ÙŠ_مارس_Ø£ÙØ±ÙŠÙ„_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), weekStart: 1, weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), monthsShort: 'جانÙÙŠ_ÙÙŠÙØ±ÙŠ_مارس_Ø£ÙØ±ÙŠÙ„_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), weekdaysMin: 'Ø­_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm' }, meridiem: hour => (hour > 12 ? 'Ù…' : 'ص'), relativeTime: { future: 'ÙÙŠ %s', past: 'منذ %s', s: 'ثوان', m: 'دقيقة', mm: '%d دقائق', h: 'ساعة', hh: '%d ساعات', d: 'يوم', dd: '%d أيام', M: 'شهر', MM: '%d أشهر', y: 'سنة', yy: '%d سنوات' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/ar.js000066400000000000000000000036661520523163200175130ustar00rootroot00000000000000// Arabic [ar] import dayjs from 'dayjs' const months = 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_') const symbolMap = { 1: 'Ù¡', 2: 'Ù¢', 3: 'Ù£', 4: 'Ù¤', 5: 'Ù¥', 6: 'Ù¦', 7: 'Ù§', 8: 'Ù¨', 9: 'Ù©', 0: 'Ù ' } const numberMap = { 'Ù¡': '1', 'Ù¢': '2', 'Ù£': '3', 'Ù¤': '4', 'Ù¥': '5', 'Ù¦': '6', 'Ù§': '7', 'Ù¨': '8', 'Ù©': '9', 'Ù ': '0' } const fromArabNumeralsRegex = /[١٢٣٤٥٦٧٨٩٠]/g const fromArabComaRegex = /ØŒ/g const toArabNumeralsRegex = /\d/g const toArabComaRegex = /,/g const locale = { name: 'ar', weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), weekdaysMin: 'Ø­_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), months, monthsShort: months, weekStart: 6, meridiem: hour => (hour > 12 ? 'Ù…' : 'ص'), relativeTime: { future: 'بعد %s', past: 'منذ %s', s: 'ثانية واحدة', m: 'دقيقة واحدة', mm: '%d دقائق', h: 'ساعة واحدة', hh: '%d ساعات', d: 'يوم واحد', dd: '%d أيام', M: 'شهر واحد', MM: '%d أشهر', y: 'عام واحد', yy: '%d أعوام' }, preparse(string) { return string .replace( fromArabNumeralsRegex, match => numberMap[match] ) .replace(fromArabComaRegex, ',') }, postformat(string) { return string .replace(toArabNumeralsRegex, match => symbolMap[match]) .replace(toArabComaRegex, 'ØŒ') }, ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'D/â€M/â€YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/az.js000066400000000000000000000020331520523163200175060ustar00rootroot00000000000000// Azerbaijani [az] import dayjs from 'dayjs' const locale = { name: 'az', weekdays: 'Bazar_Bazar ertÉ™si_ÇərÅŸÉ™nbÉ™ axÅŸamı_ÇərÅŸÉ™nbÉ™_CümÉ™ axÅŸamı_CümÉ™_ŞənbÉ™'.split('_'), weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'), weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'), months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'), monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'), weekStart: 1, formats: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY г.', LLL: 'D MMMM YYYY г., H:mm', LLLL: 'dddd, D MMMM YYYY г., H:mm' }, relativeTime: { future: '%s sonra', past: '%s É™vvÉ™l', s: 'bir neçə saniyÉ™', m: 'bir dÉ™qiqÉ™', mm: '%d dÉ™qiqÉ™', h: 'bir saat', hh: '%d saat', d: 'bir gün', dd: '%d gün', M: 'bir ay', MM: '%d ay', y: 'bir il', yy: '%d il' }, ordinal: n => n } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/be.js000066400000000000000000000070151520523163200174670ustar00rootroot00000000000000// Belarusian [be] import dayjs from 'dayjs' const monthFormat = 'ÑтудзенÑ_лютага_Ñакавіка_краÑавіка_траўнÑ_чÑрвенÑ_ліпенÑ_жніўнÑ_вераÑнÑ_каÑтрычніка_ліÑтапада_ÑнежнÑ'.split('_') const monthStandalone = 'Ñтудзень_лютый_Ñакавік_краÑавік_травень_чÑрвень_ліпень_жнівень_вераÑень_каÑтрычнік_ліÑтапад_Ñнежань'.split('_') const monthShortFormat = 'Ñтуд_лют_Ñак_краÑ_трав_чÑрв_ліп_жнів_вер_каÑÑ‚_ліÑÑ‚_Ñнеж.'.split('_') const monthShortStandalone = 'Ñтуд_лют_Ñак_краÑ_трав_чÑрв_ліп_жнів_вер_каÑÑ‚_ліÑÑ‚_Ñнеж'.split('_') const MONTHS_IN_FORMAT = /D[oD]?(\[[^[\]]*\]|\s)+MMMM?/ function plural(word, num) { const forms = word.split('_') return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]) // eslint-disable-line } function relativeTimeWithPlural(number, withoutSuffix, key) { const format = { ss: withoutSuffix ? 'Ñекунда_Ñекунды_Ñекунд' : 'Ñекунду_Ñекунды_Ñекунд', mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін', hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін', dd: 'дзень_дні_дзён', MM: 'меÑÑц_меÑÑцы_меÑÑцаў', yy: 'год_гады_гадоў' } if (key === 'm') { return withoutSuffix ? 'хвіліна' : 'хвіліну' } else if (key === 'h') { return withoutSuffix ? 'гадзіна' : 'гадзіну' } return `${number} ${plural(format[key], +number)}` } const months = (dayjsInstance, format) => { if (MONTHS_IN_FORMAT.test(format)) { return monthFormat[dayjsInstance.month()] } return monthStandalone[dayjsInstance.month()] } months.s = monthStandalone months.f = monthFormat const monthsShort = (dayjsInstance, format) => { if (MONTHS_IN_FORMAT.test(format)) { return monthShortFormat[dayjsInstance.month()] } return monthShortStandalone[dayjsInstance.month()] } monthsShort.s = monthShortStandalone monthsShort.f = monthShortFormat const locale = { name: 'be', weekdays: 'нÑдзелÑ_панÑдзелак_аўторак_Ñерада_чацвер_пÑтніца_Ñубота'.split('_'), weekdaysShort: 'нÑд_пнд_аўт_Ñер_чцв_пÑÑ‚_Ñуб'.split('_'), weekdaysMin: 'нд_пн_аў_ÑÑ€_чц_пт_Ñб'.split('_'), months, monthsShort, weekStart: 1, yearStart: 4, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY г.', LLL: 'D MMMM YYYY г., HH:mm', LLLL: 'dddd, D MMMM YYYY г., HH:mm' }, relativeTime: { future: 'праз %s', past: '%s таму', s: 'некалькі Ñекунд', m: relativeTimeWithPlural, mm: relativeTimeWithPlural, h: relativeTimeWithPlural, hh: relativeTimeWithPlural, d: 'дзень', dd: relativeTimeWithPlural, M: 'меÑÑц', MM: relativeTimeWithPlural, y: 'год', yy: relativeTimeWithPlural }, ordinal: n => n, meridiem: (hour) => { if (hour < 4) { return 'ночы' } else if (hour < 12) { return 'раніцы' } else if (hour < 17) { return 'днÑ' } return 'вечара' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/bg.js000066400000000000000000000031021520523163200174620ustar00rootroot00000000000000// Bulgarian [bg] import dayjs from 'dayjs' const locale = { name: 'bg', weekdays: 'неделÑ_понеделник_вторник_ÑÑ€Ñда_четвъртък_петък_Ñъбота'.split('_'), weekdaysShort: 'нед_пон_вто_ÑÑ€Ñ_чет_пет_Ñъб'.split('_'), weekdaysMin: 'нд_пн_вт_ÑÑ€_чт_пт_Ñб'.split('_'), months: 'Ñнуари_февруари_март_април_май_юни_юли_авгуÑÑ‚_Ñептември_октомври_ноември_декември'.split('_'), monthsShort: 'Ñну_фев_мар_апр_май_юни_юли_авг_Ñеп_окт_ное_дек'.split('_'), weekStart: 1, ordinal: (n) => { const last2Digits = n % 100 if (last2Digits > 10 && last2Digits < 20) { return `${n}-ти` } const lastDigit = n % 10 if (lastDigit === 1) { return `${n}-ви` } else if (lastDigit === 2) { return `${n}-ри` } else if (lastDigit === 7 || lastDigit === 8) { return `${n}-ми` } return `${n}-ти` }, formats: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'D.MM.YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY H:mm', LLLL: 'dddd, D MMMM YYYY H:mm' }, relativeTime: { future: 'Ñлед %s', past: 'преди %s', s: 'нÑколко Ñекунди', m: 'минута', mm: '%d минути', h: 'чаÑ', hh: '%d чаÑа', d: 'ден', dd: '%d дена', M: 'меÑец', MM: '%d меÑеца', y: 'година', yy: '%d години' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/bi.js000066400000000000000000000017161520523163200174750ustar00rootroot00000000000000// Bislama [bi] import dayjs from 'dayjs' const locale = { name: 'bi', weekdays: 'Sande_Mande_Tusde_Wenesde_Tosde_Fraede_Sarade'.split('_'), months: 'Januari_Februari_Maj_Eprel_Mei_Jun_Julae_Okis_Septemba_Oktoba_Novemba_Disemba'.split('_'), weekStart: 1, weekdaysShort: 'San_Man_Tus_Wen_Tos_Frae_Sar'.split('_'), monthsShort: 'Jan_Feb_Maj_Epr_Mai_Jun_Jul_Oki_Sep_Okt_Nov_Dis'.split('_'), weekdaysMin: 'San_Ma_Tu_We_To_Fr_Sar'.split('_'), ordinal: n => n, formats: { LT: 'h:mm A', LTS: 'h:mm:ss A', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY h:mm A', LLLL: 'dddd, D MMMM YYYY h:mm A' }, relativeTime: { future: 'lo %s', past: '%s bifo', s: 'sam seken', m: 'wan minit', mm: '%d minit', h: 'wan haoa', hh: '%d haoa', d: 'wan dei', dd: '%d dei', M: 'wan manis', MM: '%d manis', y: 'wan yia', yy: '%d yia' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/bm.js000066400000000000000000000021461520523163200174770ustar00rootroot00000000000000// Bambara [bm] import dayjs from 'dayjs' const locale = { name: 'bm', weekdays: 'Kari_NtÉ›nÉ›n_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'), months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_MÉ›kalo_ZuwÉ›nkalo_Zuluyekalo_Utikalo_SÉ›tanburukalo_É”kutÉ”burukalo_Nowanburukalo_Desanburukalo'.split('_'), weekStart: 1, weekdaysShort: 'Kar_NtÉ›_Tar_Ara_Ala_Jum_Sib'.split('_'), monthsShort: 'Zan_Few_Mar_Awi_MÉ›_Zuw_Zul_Uti_SÉ›t_É”ku_Now_Des'.split('_'), weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'MMMM [tile] D [san] YYYY', LLL: 'MMMM [tile] D [san] YYYY [lÉ›rÉ›] HH:mm', LLLL: 'dddd MMMM [tile] D [san] YYYY [lÉ›rÉ›] HH:mm' }, relativeTime: { future: '%s kÉ”nÉ”', past: 'a bÉ› %s bÉ”', s: 'sanga dama dama', m: 'miniti kelen', mm: 'miniti %d', h: 'lÉ›rÉ› kelen', hh: 'lÉ›rÉ› %d', d: 'tile kelen', dd: 'tile %d', M: 'kalo kelen', MM: 'kalo %d', y: 'san kelen', yy: 'san %d' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/bn-bd.js000066400000000000000000000054651520523163200200720ustar00rootroot00000000000000// Bengali (Bangladesh) [bn-bd] import dayjs from 'dayjs' const symbolMap = { 1: 'à§§', 2: '২', 3: 'à§©', 4: '৪', 5: 'à§«', 6: '৬', 7: 'à§­', 8: 'à§®', 9: '৯', 0: '০' } const numberMap = { 'à§§': '1', '২': '2', 'à§©': '3', '৪': '4', 'à§«': '5', '৬': '6', 'à§­': '7', 'à§®': '8', '৯': '9', '০': '0' } const locale = { name: 'bn-bd', weekdays: 'রবিবার_সোমবার_মঙà§à¦—লবার_বà§à¦§à¦¬à¦¾à¦°_বৃহসà§à¦ªà¦¤à¦¿à¦¬à¦¾à¦°_শà§à¦•à§à¦°à¦¬à¦¾à¦°_শনিবার'.split('_'), months: 'জানà§à§Ÿà¦¾à¦°à¦¿_ফেবà§à¦°à§à§Ÿà¦¾à¦°à¦¿_মারà§à¦š_à¦à¦ªà§à¦°à¦¿à¦²_মে_জà§à¦¨_জà§à¦²à¦¾à¦‡_আগসà§à¦Ÿ_সেপà§à¦Ÿà§‡à¦®à§à¦¬à¦°_অকà§à¦Ÿà§‹à¦¬à¦°_নভেমà§à¦¬à¦°_ডিসেমà§à¦¬à¦°'.split('_'), weekdaysShort: 'রবি_সোম_মঙà§à¦—ল_বà§à¦§_বৃহসà§à¦ªà¦¤à¦¿_শà§à¦•à§à¦°_শনি'.split('_'), monthsShort: 'জানà§_ফেবà§à¦°à§_মারà§à¦š_à¦à¦ªà§à¦°à¦¿à¦²_মে_জà§à¦¨_জà§à¦²à¦¾à¦‡_আগসà§à¦Ÿ_সেপà§à¦Ÿ_অকà§à¦Ÿà§‹_নভে_ডিসে'.split('_'), weekdaysMin: 'রবি_সোম_মঙà§à¦—_বà§à¦§_বৃহঃ_শà§à¦•à§à¦°_শনি'.split('_'), weekStart: 0, preparse(string) { return string.replace(/[১২৩৪৫৬৭৮৯০]/g, match => numberMap[match]) }, postformat(string) { return string.replace(/\d/g, match => symbolMap[match]) }, ordinal: (n) => { const s = ['ই', 'লা', 'রা', 'ঠা', 'শে'] const v = n % 100 return `[${n}${s[(v - 20) % 10] || s[v] || s[0]}]` }, formats: { LT: 'A h:mm সময়', LTS: 'A h:mm:ss সময়', L: 'DD/MM/YYYY খà§à¦°à¦¿à¦¸à§à¦Ÿà¦¾à¦¬à§à¦¦', LL: 'D MMMM YYYY খà§à¦°à¦¿à¦¸à§à¦Ÿà¦¾à¦¬à§à¦¦', LLL: 'D MMMM YYYY খà§à¦°à¦¿à¦¸à§à¦Ÿà¦¾à¦¬à§à¦¦, A h:mm সময়', LLLL: 'dddd, D MMMM YYYY খà§à¦°à¦¿à¦¸à§à¦Ÿà¦¾à¦¬à§à¦¦, A h:mm সময়' }, meridiem: hour => /* eslint-disable no-nested-ternary */ (hour < 4 ? 'রাত' : hour < 6 ? 'ভোর' : hour < 12 ? 'সকাল' : hour < 15 ? 'দà§à¦ªà§à¦°' : hour < 18 ? 'বিকাল' : hour < 20 ? 'সনà§à¦§à§à¦¯à¦¾' : 'রাত'), relativeTime: { future: '%s পরে', past: '%s আগে', s: 'কয়েক সেকেনà§à¦¡', m: 'à¦à¦• মিনিট', mm: '%d মিনিট', h: 'à¦à¦• ঘনà§à¦Ÿà¦¾', hh: '%d ঘনà§à¦Ÿà¦¾', d: 'à¦à¦• দিন', dd: '%d দিন', M: 'à¦à¦• মাস', MM: '%d মাস', y: 'à¦à¦• বছর', yy: '%d বছর' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/bn.js000066400000000000000000000041601520523163200174760ustar00rootroot00000000000000// Bengali [bn] import dayjs from 'dayjs' const symbolMap = { 1: 'à§§', 2: '২', 3: 'à§©', 4: '৪', 5: 'à§«', 6: '৬', 7: 'à§­', 8: 'à§®', 9: '৯', 0: '০' } const numberMap = { 'à§§': '1', '২': '2', 'à§©': '3', '৪': '4', 'à§«': '5', '৬': '6', 'à§­': '7', 'à§®': '8', '৯': '9', '০': '0' } const locale = { name: 'bn', weekdays: 'রবিবার_সোমবার_মঙà§à¦—লবার_বà§à¦§à¦¬à¦¾à¦°_বৃহসà§à¦ªà¦¤à¦¿à¦¬à¦¾à¦°_শà§à¦•à§à¦°à¦¬à¦¾à¦°_শনিবার'.split('_'), months: 'জানà§à§Ÿà¦¾à¦°à¦¿_ফেবà§à¦°à§à§Ÿà¦¾à¦°à¦¿_মারà§à¦š_à¦à¦ªà§à¦°à¦¿à¦²_মে_জà§à¦¨_জà§à¦²à¦¾à¦‡_আগসà§à¦Ÿ_সেপà§à¦Ÿà§‡à¦®à§à¦¬à¦°_অকà§à¦Ÿà§‹à¦¬à¦°_নভেমà§à¦¬à¦°_ডিসেমà§à¦¬à¦°'.split('_'), weekdaysShort: 'রবি_সোম_মঙà§à¦—ল_বà§à¦§_বৃহসà§à¦ªà¦¤à¦¿_শà§à¦•à§à¦°_শনি'.split('_'), monthsShort: 'জানà§_ফেবà§à¦°à§_মারà§à¦š_à¦à¦ªà§à¦°à¦¿à¦²_মে_জà§à¦¨_জà§à¦²à¦¾à¦‡_আগসà§à¦Ÿ_সেপà§à¦Ÿ_অকà§à¦Ÿà§‹_নভে_ডিসে'.split('_'), weekdaysMin: 'রবি_সোম_মঙà§à¦—_বà§à¦§_বৃহঃ_শà§à¦•à§à¦°_শনি'.split('_'), preparse(string) { return string.replace(/[১২৩৪৫৬৭৮৯০]/g, match => numberMap[match]) }, postformat(string) { return string.replace(/\d/g, match => symbolMap[match]) }, ordinal: n => n, formats: { LT: 'A h:mm সময়', LTS: 'A h:mm:ss সময়', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY, A h:mm সময়', LLLL: 'dddd, D MMMM YYYY, A h:mm সময়' }, relativeTime: { future: '%s পরে', past: '%s আগে', s: 'কয়েক সেকেনà§à¦¡', m: 'à¦à¦• মিনিট', mm: '%d মিনিট', h: 'à¦à¦• ঘনà§à¦Ÿà¦¾', hh: '%d ঘনà§à¦Ÿà¦¾', d: 'à¦à¦• দিন', dd: '%d দিন', M: 'à¦à¦• মাস', MM: '%d মাস', y: 'à¦à¦• বছর', yy: '%d বছর' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/bo.js000066400000000000000000000042151520523163200175000ustar00rootroot00000000000000// Tibetan [bo] import dayjs from 'dayjs' const locale = { name: 'bo', weekdays: 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'), weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'), weekdaysMin: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'), months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'), monthsShort: 'ཟླ་དང་པོ_ཟླ་གཉིས་པ_ཟླ་གསུམ་པ_ཟླ་བཞི་པ_ཟླ་ལྔ་པ_ཟླ་དྲུག་པ_ཟླ་བདུན་པ_ཟླ་བརྒྱད་པ_ཟླ་དགུ་པ_ཟླ་བཅུ་པ_ཟླ་བཅུ་གཅིག་པ_ཟླ་བཅུ་གཉིས་པ'.split('_'), ordinal: n => n, formats: { LT: 'A h:mm', LTS: 'A h:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY, A h:mm', LLLL: 'dddd, D MMMM YYYY, A h:mm' }, relativeTime: { future: '%s ལ་', past: '%s སྔོན་ལ་', s: 'à½à½¼à½‚་ཙམ་', m: 'སà¾à½¢à¼‹à½˜à¼‹à½‚ཅིག་', mm: 'སà¾à½¢à¼‹à½˜à¼‹ %d', h: 'ཆུ་ཚོད་གཅིག་', hh: 'ཆུ་ཚོད་ %d', d: 'ཉིན་གཅིག་', dd: 'ཉིན་ %d', M: 'ཟླ་བ་གཅིག་', MM: 'ཟླ་བ་ %d', y: 'ལོ་གཅིག་', yy: 'ལོ་ %d' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/br.js000066400000000000000000000036711520523163200175100ustar00rootroot00000000000000// Breton [br] import dayjs from 'dayjs' function lastNumber(number) { if (number > 9) { return lastNumber(number % 10) } return number } function softMutation(text) { const mutationTable = { m: 'v', b: 'v', d: 'z' } return mutationTable[text.charAt(0)] + text.substring(1) } function mutation(text, number) { if (number === 2) { return softMutation(text) } return text } function relativeTimeWithMutation(number, withoutSuffix, key) { const format = { mm: 'munutenn', MM: 'miz', dd: 'devezh' } return `${number} ${mutation(format[key], number)}` } function specialMutationForYears(number) { /* istanbul ignore next line */ switch (lastNumber(number)) { case 1: case 3: case 4: case 5: case 9: return `${number} bloaz` default: return `${number} vloaz` } } const locale = { name: 'br', weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'), months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'), weekStart: 1, weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'), monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'), weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'), ordinal: n => n, formats: { LT: 'h[e]mm A', LTS: 'h[e]mm:ss A', L: 'DD/MM/YYYY', LL: 'D [a viz] MMMM YYYY', LLL: 'D [a viz] MMMM YYYY h[e]mm A', LLLL: 'dddd, D [a viz] MMMM YYYY h[e]mm A' }, relativeTime: { future: 'a-benn %s', past: '%s ʼzo', s: 'un nebeud segondennoù', m: 'ur vunutenn', mm: relativeTimeWithMutation, h: 'un eur', hh: '%d eur', d: 'un devezh', dd: relativeTimeWithMutation, M: 'ur miz', MM: relativeTimeWithMutation, y: 'ur bloaz', yy: specialMutationForYears }, meridiem: hour => (hour < 12 ? 'a.m.' : 'g.m.') // a-raok merenn | goude merenn } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/bs.js000066400000000000000000000013341520523163200175030ustar00rootroot00000000000000// Bosnian [bs] import dayjs from 'dayjs' const locale = { name: 'bs', weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota'.split('_'), months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'), weekStart: 1, weekdaysShort: 'ned._pon._uto._sri._Äet._pet._sub.'.split('_'), monthsShort: 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'), weekdaysMin: 'ne_po_ut_sr_Äe_pe_su'.split('_'), ordinal: n => n, formats: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD.MM.YYYY', LL: 'D. MMMM YYYY', LLL: 'D. MMMM YYYY H:mm', LLLL: 'dddd, D. MMMM YYYY H:mm' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/ca.js000066400000000000000000000023771520523163200174720ustar00rootroot00000000000000// Catalan [ca] import dayjs from 'dayjs' const locale = { name: 'ca', weekdays: 'Diumenge_Dilluns_Dimarts_Dimecres_Dijous_Divendres_Dissabte'.split('_'), weekdaysShort: 'Dg._Dl._Dt._Dc._Dj._Dv._Ds.'.split('_'), weekdaysMin: 'Dg_Dl_Dt_Dc_Dj_Dv_Ds'.split('_'), months: 'Gener_Febrer_Març_Abril_Maig_Juny_Juliol_Agost_Setembre_Octubre_Novembre_Desembre'.split('_'), monthsShort: 'Gen._Febr._Març_Abr._Maig_Juny_Jul._Ag._Set._Oct._Nov._Des.'.split('_'), weekStart: 1, formats: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM [de] YYYY', LLL: 'D MMMM [de] YYYY [a les] H:mm', LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm', ll: 'D MMM YYYY', lll: 'D MMM YYYY, H:mm', llll: 'ddd D MMM YYYY, H:mm' }, relativeTime: { future: 'd\'aquí %s', past: 'fa %s', s: 'uns segons', m: 'un minut', mm: '%d minuts', h: 'una hora', hh: '%d hores', d: 'un dia', dd: '%d dies', M: 'un mes', MM: '%d mesos', y: 'un any', yy: '%d anys' }, ordinal: (n) => { let ord if (n === 1 || n === 3) ord = 'r' else if (n === 2) ord = 'n' else if (n === 4) ord = 't' else ord = 'è' return `${n}${ord}` } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/cs.js000066400000000000000000000056511520523163200175120ustar00rootroot00000000000000// Czech [cs] import dayjs from 'dayjs' function plural(n) { return (n > 1) && (n < 5) && (~~(n / 10) !== 1) // eslint-disable-line } /* eslint-disable */ function translate(number, withoutSuffix, key, isFuture) { const result = `${number} ` switch (key) { case 's': // a few seconds / in a few seconds / a few seconds ago return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami' case 'm': // a minute / in a minute / a minute ago return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou') case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago if (withoutSuffix || isFuture) { return result + (plural(number) ? 'minuty' : 'minut') } return `${result}minutami` case 'h': // an hour / in an hour / an hour ago return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou') case 'hh': // 9 hours / in 9 hours / 9 hours ago if (withoutSuffix || isFuture) { return result + (plural(number) ? 'hodiny' : 'hodin') } return `${result}hodinami` case 'd': // a day / in a day / a day ago return (withoutSuffix || isFuture) ? 'den' : 'dnem' case 'dd': // 9 days / in 9 days / 9 days ago if (withoutSuffix || isFuture) { return result + (plural(number) ? 'dny' : 'dní') } return `${result}dny` case 'M': // a month / in a month / a month ago return (withoutSuffix || isFuture) ? 'mÄ›síc' : 'mÄ›sícem' case 'MM': // 9 months / in 9 months / 9 months ago if (withoutSuffix || isFuture) { return result + (plural(number) ? 'mÄ›síce' : 'mÄ›síců') } return `${result}mÄ›síci` case 'y': // a year / in a year / a year ago return (withoutSuffix || isFuture) ? 'rok' : 'rokem' case 'yy': // 9 years / in 9 years / 9 years ago if (withoutSuffix || isFuture) { return result + (plural(number) ? 'roky' : 'let') } return `${result}lety` } } /* eslint-enable */ const locale = { name: 'cs', weekdays: 'nedÄ›le_pondÄ›lí_úterý_stÅ™eda_Ätvrtek_pátek_sobota'.split('_'), weekdaysShort: 'ne_po_út_st_Ät_pá_so'.split('_'), weekdaysMin: 'ne_po_út_st_Ät_pá_so'.split('_'), months: 'leden_únor_bÅ™ezen_duben_kvÄ›ten_Äerven_Äervenec_srpen_září_říjen_listopad_prosinec'.split('_'), monthsShort: 'led_úno_bÅ™e_dub_kvÄ›_Ävn_Ävc_srp_zář_říj_lis_pro'.split('_'), weekStart: 1, yearStart: 4, ordinal: n => `${n}.`, formats: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD.MM.YYYY', LL: 'D. MMMM YYYY', LLL: 'D. MMMM YYYY H:mm', LLLL: 'dddd D. MMMM YYYY H:mm', l: 'D. M. YYYY' }, relativeTime: { future: 'za %s', past: 'pÅ™ed %s', s: translate, m: translate, mm: translate, h: translate, hh: translate, d: translate, dd: translate, M: translate, MM: translate, y: translate, yy: translate } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/cv.js000066400000000000000000000017431520523163200175130ustar00rootroot00000000000000// Chuvash [cv] import dayjs from 'dayjs' const locale = { name: 'cv', weekdays: 'вырÑарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_Ñрнекун_шӑматкун'.split('_'), months: 'кӑрлач_нарӑÑ_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'), weekStart: 1, weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_Ñрн_шӑм'.split('_'), monthsShort: 'кӑр_нар_пуш_ака_май_Ò«Ó—Ñ€_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'), weekdaysMin: 'вр_тн_ыт_юн_кҫ_ÑÑ€_шм'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD-MM-YYYY', LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]', LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/cy.js000066400000000000000000000017641520523163200175210ustar00rootroot00000000000000// Welsh [cy] import dayjs from 'dayjs' const locale = { name: 'cy', weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'), months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'), weekStart: 1, weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'), monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'), weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm' }, relativeTime: { future: 'mewn %s', past: '%s yn ôl', s: 'ychydig eiliadau', m: 'munud', mm: '%d munud', h: 'awr', hh: '%d awr', d: 'diwrnod', dd: '%d diwrnod', M: 'mis', MM: '%d mis', y: 'blwyddyn', yy: '%d flynedd' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/da.js000066400000000000000000000020371520523163200174640ustar00rootroot00000000000000// Danish [da] import dayjs from 'dayjs' const locale = { name: 'da', weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), weekdaysShort: 'søn._man._tirs._ons._tors._fre._lør.'.split('_'), weekdaysMin: 'sø._ma._ti._on._to._fr._lø.'.split('_'), months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'), monthsShort: 'jan._feb._mar._apr._maj_juni_juli_aug._sept._okt._nov._dec.'.split('_'), weekStart: 1, yearStart: 4, ordinal: n => `${n}.`, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D. MMMM YYYY', LLL: 'D. MMMM YYYY HH:mm', LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm' }, relativeTime: { future: 'om %s', past: '%s siden', s: 'fÃ¥ sekunder', m: 'et minut', mm: '%d minutter', h: 'en time', hh: '%d timer', d: 'en dag', dd: '%d dage', M: 'en mÃ¥ned', MM: '%d mÃ¥neder', y: 'et Ã¥r', yy: '%d Ã¥r' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/de-at.js000066400000000000000000000032301520523163200200660ustar00rootroot00000000000000// German (Austria) [de-at] import dayjs from 'dayjs' const texts = { s: 'ein paar Sekunden', m: ['eine Minute', 'einer Minute'], mm: '%d Minuten', h: ['eine Stunde', 'einer Stunde'], hh: '%d Stunden', d: ['ein Tag', 'einem Tag'], dd: ['%d Tage', '%d Tagen'], M: ['ein Monat', 'einem Monat'], MM: ['%d Monate', '%d Monaten'], y: ['ein Jahr', 'einem Jahr'], yy: ['%d Jahre', '%d Jahren'] } function relativeTimeFormatter(number, withoutSuffix, key) { let l = texts[key] if (Array.isArray(l)) { l = l[withoutSuffix ? 0 : 1] } return l.replace('%d', number) } const locale = { name: 'de-at', weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), monthsShort: 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'), ordinal: n => `${n}.`, weekStart: 1, formats: { LTS: 'HH:mm:ss', LT: 'HH:mm', L: 'DD.MM.YYYY', LL: 'D. MMMM YYYY', LLL: 'D. MMMM YYYY HH:mm', LLLL: 'dddd, D. MMMM YYYY HH:mm' }, relativeTime: { future: 'in %s', past: 'vor %s', s: relativeTimeFormatter, m: relativeTimeFormatter, mm: relativeTimeFormatter, h: relativeTimeFormatter, hh: relativeTimeFormatter, d: relativeTimeFormatter, dd: relativeTimeFormatter, M: relativeTimeFormatter, MM: relativeTimeFormatter, y: relativeTimeFormatter, yy: relativeTimeFormatter } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/de-ch.js000066400000000000000000000032231520523163200200560ustar00rootroot00000000000000// German (Switzerland) [de-ch] import dayjs from 'dayjs' const texts = { s: 'ein paar Sekunden', m: ['eine Minute', 'einer Minute'], mm: '%d Minuten', h: ['eine Stunde', 'einer Stunde'], hh: '%d Stunden', d: ['ein Tag', 'einem Tag'], dd: ['%d Tage', '%d Tagen'], M: ['ein Monat', 'einem Monat'], MM: ['%d Monate', '%d Monaten'], y: ['ein Jahr', 'einem Jahr'], yy: ['%d Jahre', '%d Jahren'] } function relativeTimeFormatter(number, withoutSuffix, key) { let l = texts[key] if (Array.isArray(l)) { l = l[withoutSuffix ? 0 : 1] } return l.replace('%d', number) } const locale = { name: 'de-ch', weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'), ordinal: n => `${n}.`, weekStart: 1, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D. MMMM YYYY', LLL: 'D. MMMM YYYY HH:mm', LLLL: 'dddd, D. MMMM YYYY HH:mm' }, relativeTime: { future: 'in %s', past: 'vor %s', s: relativeTimeFormatter, m: relativeTimeFormatter, mm: relativeTimeFormatter, h: relativeTimeFormatter, hh: relativeTimeFormatter, d: relativeTimeFormatter, dd: relativeTimeFormatter, M: relativeTimeFormatter, MM: relativeTimeFormatter, y: relativeTimeFormatter, yy: relativeTimeFormatter } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/de.js000066400000000000000000000032271520523163200174720ustar00rootroot00000000000000// German [de] import dayjs from 'dayjs' const texts = { s: 'ein paar Sekunden', m: ['eine Minute', 'einer Minute'], mm: '%d Minuten', h: ['eine Stunde', 'einer Stunde'], hh: '%d Stunden', d: ['ein Tag', 'einem Tag'], dd: ['%d Tage', '%d Tagen'], M: ['ein Monat', 'einem Monat'], MM: ['%d Monate', '%d Monaten'], y: ['ein Jahr', 'einem Jahr'], yy: ['%d Jahre', '%d Jahren'] } function relativeTimeFormatter(number, withoutSuffix, key) { let l = texts[key] if (Array.isArray(l)) { l = l[withoutSuffix ? 0 : 1] } return l.replace('%d', number) } const locale = { name: 'de', weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sept._Okt._Nov._Dez.'.split('_'), ordinal: n => `${n}.`, weekStart: 1, yearStart: 4, formats: { LTS: 'HH:mm:ss', LT: 'HH:mm', L: 'DD.MM.YYYY', LL: 'D. MMMM YYYY', LLL: 'D. MMMM YYYY HH:mm', LLLL: 'dddd, D. MMMM YYYY HH:mm' }, relativeTime: { future: 'in %s', past: 'vor %s', s: relativeTimeFormatter, m: relativeTimeFormatter, mm: relativeTimeFormatter, h: relativeTimeFormatter, hh: relativeTimeFormatter, d: relativeTimeFormatter, dd: relativeTimeFormatter, M: relativeTimeFormatter, MM: relativeTimeFormatter, y: relativeTimeFormatter, yy: relativeTimeFormatter } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/dv.js000066400000000000000000000030001520523163200175000ustar00rootroot00000000000000// Maldivian [dv] import dayjs from 'dayjs' const locale = { name: 'dv', weekdays: 'އާދިއްތަ_Þ€Þ¯Þ‰Þ¦_Þ‡Þ¦Þ‚Þ°ÞŽÞ§ÞƒÞ¦_Þ„ÞªÞ‹Þ¦_Þ„ÞªÞƒÞ§Þްފަތި_Þ€ÞªÞ†ÞªÞƒÞª_Þ€Þ®Þ‚Þ¨Þ€Þ¨ÞƒÞª'.split('_'), months: 'Þ–Þ¬Þ‚ÞªÞ‡Þ¦ÞƒÞ©_ÞŠÞ¬Þ„Þ°ÞƒÞªÞ‡Þ¦ÞƒÞ©_Þ‰Þ§ÞƒÞ¨Þ—Þª_Þ‡Þ­Þ•Þ°ÞƒÞ©ÞÞª_Þ‰Þ­_Þ–Þ«Þ‚Þ°_Þ–ÞªÞÞ¦Þ‡Þ¨_Þ‡Þ¯ÞŽÞ¦ÞÞ°Þ“Þª_ÞÞ¬Þ•Þ°Þ“Þ¬Þ‰Þ°Þ„Þ¦ÞƒÞª_Þ‡Þ®Þ†Þ°Þ“Þ¯Þ„Þ¦ÞƒÞª_Þ‚Þ®ÞˆÞ¬Þ‰Þ°Þ„Þ¦ÞƒÞª_Þ‘Þ¨ÞÞ¬Þ‰Þ°Þ„Þ¦ÞƒÞª'.split('_'), weekStart: 7, weekdaysShort: 'އާދިއްތަ_Þ€Þ¯Þ‰Þ¦_Þ‡Þ¦Þ‚Þ°ÞŽÞ§ÞƒÞ¦_Þ„ÞªÞ‹Þ¦_Þ„ÞªÞƒÞ§Þްފަތި_Þ€ÞªÞ†ÞªÞƒÞª_Þ€Þ®Þ‚Þ¨Þ€Þ¨ÞƒÞª'.split('_'), monthsShort: 'Þ–Þ¬Þ‚ÞªÞ‡Þ¦ÞƒÞ©_ÞŠÞ¬Þ„Þ°ÞƒÞªÞ‡Þ¦ÞƒÞ©_Þ‰Þ§ÞƒÞ¨Þ—Þª_Þ‡Þ­Þ•Þ°ÞƒÞ©ÞÞª_Þ‰Þ­_Þ–Þ«Þ‚Þ°_Þ–ÞªÞÞ¦Þ‡Þ¨_Þ‡Þ¯ÞŽÞ¦ÞÞ°Þ“Þª_ÞÞ¬Þ•Þ°Þ“Þ¬Þ‰Þ°Þ„Þ¦ÞƒÞª_Þ‡Þ®Þ†Þ°Þ“Þ¯Þ„Þ¦ÞƒÞª_Þ‚Þ®ÞˆÞ¬Þ‰Þ°Þ„Þ¦ÞƒÞª_Þ‘Þ¨ÞÞ¬Þ‰Þ°Þ„Þ¦ÞƒÞª'.split('_'), weekdaysMin: 'Þ‡Þ§Þ‹Þ¨_Þ€Þ¯Þ‰Þ¦_Þ‡Þ¦Þ‚Þ°_Þ„ÞªÞ‹Þ¦_Þ„ÞªÞƒÞ§_Þ€ÞªÞ†Þª_Þ€Þ®Þ‚Þ¨'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'D/M/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm' }, relativeTime: { future: 'ތެރޭގައި %s', past: 'Þ†ÞªÞƒÞ¨Þ‚Þ° %s', s: 'Þިކުންތުކޮޅެއް', m: 'Þ‰Þ¨Þ‚Þ¨Þ“Þ¬Þ‡Þ°', mm: 'Þ‰Þ¨Þ‚Þ¨Þ“Þª %d', h: 'ÞŽÞ¦Þ‘Þ¨Þ‡Þ¨ÞƒÞ¬Þ‡Þ°', hh: 'ÞŽÞ¦Þ‘Þ¨Þ‡Þ¨ÞƒÞª %d', d: 'Þ‹ÞªÞˆÞ¦Þ€Þ¬Þ‡Þ°', dd: 'Þ‹ÞªÞˆÞ¦ÞÞ° %d', M: 'Þ‰Þ¦Þ€Þ¬Þ‡Þ°', MM: 'Þ‰Þ¦ÞÞ° %d', y: 'Þ‡Þ¦Þ€Þ¦ÞƒÞ¬Þ‡Þ°', yy: 'Þ‡Þ¦Þ€Þ¦ÞƒÞª %d' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/el.js000066400000000000000000000025001520523163200174730ustar00rootroot00000000000000// Greek [el] import dayjs from 'dayjs' const locale = { name: 'el', weekdays: 'ΚυÏιακή_ΔευτέÏα_ΤÏίτη_ΤετάÏτη_Πέμπτη_ΠαÏασκευή_Σάββατο'.split('_'), weekdaysShort: 'ΚυÏ_Δευ_ΤÏι_Τετ_Πεμ_ΠαÏ_Σαβ'.split('_'), weekdaysMin: 'Κυ_Δε_ΤÏ_Τε_Πε_Πα_Σα'.split('_'), months: 'ΙανουάÏιος_ΦεβÏουάÏιος_ΜάÏτιος_ΑπÏίλιος_Μάιος_ΙοÏνιος_ΙοÏλιος_ΑÏγουστος_ΣεπτέμβÏιος_ΟκτώβÏιος_ÎοέμβÏιος_ΔεκέμβÏιος'.split('_'), monthsShort: 'Ιαν_Φεβ_ΜαÏ_ΑπÏ_Μαι_Ιουν_Ιουλ_Αυγ_Σεπτ_Οκτ_Îοε_Δεκ'.split('_'), ordinal: n => n, weekStart: 1, relativeTime: { future: 'σε %s', past: 'Ï€Ïιν %s', s: 'μεÏικά δευτεÏόλεπτα', m: 'ένα λεπτό', mm: '%d λεπτά', h: 'μία ÏŽÏα', hh: '%d ÏŽÏες', d: 'μία μέÏα', dd: '%d μέÏες', M: 'ένα μήνα', MM: '%d μήνες', y: 'ένα χÏόνο', yy: '%d χÏόνια' }, formats: { LT: 'h:mm A', LTS: 'h:mm:ss A', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY h:mm A', LLLL: 'dddd, D MMMM YYYY h:mm A' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/en-au.js000066400000000000000000000021601520523163200201020ustar00rootroot00000000000000// English (Australia) [en-au] import dayjs from 'dayjs' const locale = { name: 'en-au', weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), weekStart: 1, weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), formats: { LT: 'h:mm A', LTS: 'h:mm:ss A', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY h:mm A', LLLL: 'dddd, D MMMM YYYY h:mm A' }, relativeTime: { future: 'in %s', past: '%s ago', s: 'a few seconds', m: 'a minute', mm: '%d minutes', h: 'an hour', hh: '%d hours', d: 'a day', dd: '%d days', M: 'a month', MM: '%d months', y: 'a year', yy: '%d years' }, ordinal: (n) => { const s = ['th', 'st', 'nd', 'rd'] const v = n % 100 return `[${n}${(s[(v - 20) % 10] || s[v] || s[0])}]` } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/en-ca.js000066400000000000000000000017441520523163200200670ustar00rootroot00000000000000// English (Canada) [en-ca] import dayjs from 'dayjs' const locale = { name: 'en-ca', weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), ordinal: n => n, formats: { LT: 'h:mm A', LTS: 'h:mm:ss A', L: 'YYYY-MM-DD', LL: 'MMMM D, YYYY', LLL: 'MMMM D, YYYY h:mm A', LLLL: 'dddd, MMMM D, YYYY h:mm A' }, relativeTime: { future: 'in %s', past: '%s ago', s: 'a few seconds', m: 'a minute', mm: '%d minutes', h: 'an hour', hh: '%d hours', d: 'a day', dd: '%d days', M: 'a month', MM: '%d months', y: 'a year', yy: '%d years' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/en-gb.js000066400000000000000000000022011520523163200200610ustar00rootroot00000000000000// English (United Kingdom) [en-gb] import dayjs from 'dayjs' const locale = { name: 'en-gb', weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), weekStart: 1, yearStart: 4, relativeTime: { future: 'in %s', past: '%s ago', s: 'a few seconds', m: 'a minute', mm: '%d minutes', h: 'an hour', hh: '%d hours', d: 'a day', dd: '%d days', M: 'a month', MM: '%d months', y: 'a year', yy: '%d years' }, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm' }, ordinal: (n) => { const s = ['th', 'st', 'nd', 'rd'] const v = n % 100 return `[${n}${(s[(v - 20) % 10] || s[v] || s[0])}]` } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/en-ie.js000066400000000000000000000017551520523163200201030ustar00rootroot00000000000000// English (Ireland) [en-ie] import dayjs from 'dayjs' const locale = { name: 'en-ie', weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), weekStart: 1, weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm' }, relativeTime: { future: 'in %s', past: '%s ago', s: 'a few seconds', m: 'a minute', mm: '%d minutes', h: 'an hour', hh: '%d hours', d: 'a day', dd: '%d days', M: 'a month', MM: '%d months', y: 'a year', yy: '%d years' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/en-il.js000066400000000000000000000017351520523163200201100ustar00rootroot00000000000000// English (Israel) [en-il] import dayjs from 'dayjs' const locale = { name: 'en-il', weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm' }, relativeTime: { future: 'in %s', past: '%s ago', s: 'a few seconds', m: 'a minute', mm: '%d minutes', h: 'an hour', hh: '%d hours', d: 'a day', dd: '%d days', M: 'a month', MM: '%d months', y: 'a year', yy: '%d years' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/en-in.js000066400000000000000000000021701520523163200201040ustar00rootroot00000000000000// English (India) [en-in] import dayjs from 'dayjs' const locale = { name: 'en-in', weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), weekStart: 1, yearStart: 4, relativeTime: { future: 'in %s', past: '%s ago', s: 'a few seconds', m: 'a minute', mm: '%d minutes', h: 'an hour', hh: '%d hours', d: 'a day', dd: '%d days', M: 'a month', MM: '%d months', y: 'a year', yy: '%d years' }, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm' }, ordinal: (n) => { const s = ['th', 'st', 'nd', 'rd'] const v = n % 100 return `[${n}${(s[(v - 20) % 10] || s[v] || s[0])}]` } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/en-nz.js000066400000000000000000000021601520523163200201240ustar00rootroot00000000000000// English (New Zealand) [en-nz] import dayjs from 'dayjs' const locale = { name: 'en-nz', weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), weekStart: 1, weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), ordinal: (n) => { const s = ['th', 'st', 'nd', 'rd'] const v = n % 100 return `[${n}${s[(v - 20) % 10] || s[v] || s[0]}]` }, formats: { LT: 'h:mm A', LTS: 'h:mm:ss A', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY h:mm A', LLLL: 'dddd, D MMMM YYYY h:mm A' }, relativeTime: { future: 'in %s', past: '%s ago', s: 'a few seconds', m: 'a minute', mm: '%d minutes', h: 'an hour', hh: '%d hours', d: 'a day', dd: '%d days', M: 'a month', MM: '%d months', y: 'a year', yy: '%d years' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/en-sg.js000066400000000000000000000017601520523163200201130ustar00rootroot00000000000000// English (Singapore) [en-sg] import dayjs from 'dayjs' const locale = { name: 'en-sg', weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), weekStart: 1, weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm' }, relativeTime: { future: 'in %s', past: '%s ago', s: 'a few seconds', m: 'a minute', mm: '%d minutes', h: 'an hour', hh: '%d hours', d: 'a day', dd: '%d days', M: 'a month', MM: '%d months', y: 'a year', yy: '%d years' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/en-tt.js000066400000000000000000000022041520523163200201230ustar00rootroot00000000000000// English (Trinidad & Tobago) [en-tt] import dayjs from 'dayjs' const locale = { name: 'en-tt', weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), weekStart: 1, yearStart: 4, relativeTime: { future: 'in %s', past: '%s ago', s: 'a few seconds', m: 'a minute', mm: '%d minutes', h: 'an hour', hh: '%d hours', d: 'a day', dd: '%d days', M: 'a month', MM: '%d months', y: 'a year', yy: '%d years' }, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm' }, ordinal: (n) => { const s = ['th', 'st', 'nd', 'rd'] const v = n % 100 return `[${n}${(s[(v - 20) % 10] || s[v] || s[0])}]` } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/en.js000066400000000000000000000007111520523163200174770ustar00rootroot00000000000000// English [en] // We don't need weekdaysShort, weekdaysMin, monthsShort in en.js locale export default { name: 'en', weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), ordinal: (n) => { const s = ['th', 'st', 'nd', 'rd'] const v = n % 100 return `[${n}${(s[(v - 20) % 10] || s[v] || s[0])}]` } } iamkun-dayjs-a25f01e/src/locale/eo.js000066400000000000000000000017771520523163200175150ustar00rootroot00000000000000// Esperanto [eo] import dayjs from 'dayjs' const locale = { name: 'eo', weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaÅ­do_vendredo_sabato'.split('_'), months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aÅ­gusto_septembro_oktobro_novembro_decembro'.split('_'), weekStart: 1, weekdaysShort: 'dim_lun_mard_merk_ĵaÅ­_ven_sab'.split('_'), monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aÅ­g_sep_okt_nov_dec'.split('_'), weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'YYYY-MM-DD', LL: 'D[-a de] MMMM, YYYY', LLL: 'D[-a de] MMMM, YYYY HH:mm', LLLL: 'dddd, [la] D[-a de] MMMM, YYYY HH:mm' }, relativeTime: { future: 'post %s', past: 'antaÅ­ %s', s: 'sekundoj', m: 'minuto', mm: '%d minutoj', h: 'horo', hh: '%d horoj', d: 'tago', dd: '%d tagoj', M: 'monato', MM: '%d monatoj', y: 'jaro', yy: '%d jaroj' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/es-do.js000066400000000000000000000020621520523163200201050ustar00rootroot00000000000000// Spanish (Dominican Republic) [es-do] import dayjs from 'dayjs' const locale = { name: 'es-do', weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), monthsShort: 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), weekStart: 1, relativeTime: { future: 'en %s', past: 'hace %s', s: 'unos segundos', m: 'un minuto', mm: '%d minutos', h: 'una hora', hh: '%d horas', d: 'un día', dd: '%d días', M: 'un mes', MM: '%d meses', y: 'un año', yy: '%d años' }, ordinal: n => `${n}º`, formats: { LT: 'h:mm A', LTS: 'h:mm:ss A', L: 'DD/MM/YYYY', LL: 'D [de] MMMM [de] YYYY', LLL: 'D [de] MMMM [de] YYYY h:mm A', LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/es-mx.js000066400000000000000000000020161520523163200201260ustar00rootroot00000000000000// Spanish (Mexico) [es-mx] import dayjs from 'dayjs' const locale = { name: 'es-mx', weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), monthsShort: 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), relativeTime: { future: 'en %s', past: 'hace %s', s: 'unos segundos', m: 'un minuto', mm: '%d minutos', h: 'una hora', hh: '%d horas', d: 'un día', dd: '%d días', M: 'un mes', MM: '%d meses', y: 'un año', yy: '%d años' }, ordinal: n => `${n}º`, formats: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD/MM/YYYY', LL: 'D [de] MMMM [de] YYYY', LLL: 'D [de] MMMM [de] YYYY H:mm', LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/es-pr.js000066400000000000000000000020531520523163200201240ustar00rootroot00000000000000// Spanish (Puerto Rico) [es-PR] import dayjs from 'dayjs' const locale = { name: 'es-pr', monthsShort: 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), weekStart: 1, formats: { LT: 'h:mm A', LTS: 'h:mm:ss A', L: 'MM/DD/YYYY', LL: 'D [de] MMMM [de] YYYY', LLL: 'D [de] MMMM [de] YYYY h:mm A', LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A' }, relativeTime: { future: 'en %s', past: 'hace %s', s: 'unos segundos', m: 'un minuto', mm: '%d minutos', h: 'una hora', hh: '%d horas', d: 'un día', dd: '%d días', M: 'un mes', MM: '%d meses', y: 'un año', yy: '%d años' }, ordinal: n => `${n}º` } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/es-us.js000066400000000000000000000020351520523163200201320ustar00rootroot00000000000000// Spanish (United States) [es-us] import dayjs from 'dayjs' const locale = { name: 'es-us', weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), monthsShort: 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), relativeTime: { future: 'en %s', past: 'hace %s', s: 'unos segundos', m: 'un minuto', mm: '%d minutos', h: 'una hora', hh: '%d horas', d: 'un día', dd: '%d días', M: 'un mes', MM: '%d meses', y: 'un año', yy: '%d años' }, ordinal: n => `${n}º`, formats: { LT: 'h:mm A', LTS: 'h:mm:ss A', L: 'MM/DD/YYYY', LL: 'D [de] MMMM [de] YYYY', LLL: 'D [de] MMMM [de] YYYY h:mm A', LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/es.js000066400000000000000000000020171520523163200175050ustar00rootroot00000000000000// Spanish [es] import dayjs from 'dayjs' const locale = { name: 'es', monthsShort: 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), weekStart: 1, formats: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD/MM/YYYY', LL: 'D [de] MMMM [de] YYYY', LLL: 'D [de] MMMM [de] YYYY H:mm', LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm' }, relativeTime: { future: 'en %s', past: 'hace %s', s: 'unos segundos', m: 'un minuto', mm: '%d minutos', h: 'una hora', hh: '%d horas', d: 'un día', dd: '%d días', M: 'un mes', MM: '%d meses', y: 'un año', yy: '%d años' }, ordinal: n => `${n}º` } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/et.js000066400000000000000000000040231520523163200175050ustar00rootroot00000000000000// Estonian [et] import dayjs from 'dayjs' function relativeTimeWithTense(number, withoutSuffix, key, isFuture) { const format = { s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'], m: ['ühe minuti', 'üks minut'], mm: ['%d minuti', '%d minutit'], h: ['ühe tunni', 'tund aega', 'üks tund'], hh: ['%d tunni', '%d tundi'], d: ['ühe päeva', 'üks päev'], M: ['kuu aja', 'kuu aega', 'üks kuu'], MM: ['%d kuu', '%d kuud'], y: ['ühe aasta', 'aasta', 'üks aasta'], yy: ['%d aasta', '%d aastat'] } if (withoutSuffix) { return (format[key][2] ? format[key][2] : format[key][1]).replace('%d', number) } return (isFuture ? format[key][0] : format[key][1]).replace('%d', number) } const locale = { name: 'et', // Estonian weekdays: 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'), // Note weekdays are not capitalized in Estonian weekdaysShort: 'P_E_T_K_N_R_L'.split('_'), // There is no short form of weekdays in Estonian except this 1 letter format so it is used for both 'weekdaysShort' and 'weekdaysMin' weekdaysMin: 'P_E_T_K_N_R_L'.split('_'), months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'), // Note month names are not capitalized in Estonian monthsShort: 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'), ordinal: n => `${n}.`, weekStart: 1, relativeTime: { future: '%s pärast', past: '%s tagasi', s: relativeTimeWithTense, m: relativeTimeWithTense, mm: relativeTimeWithTense, h: relativeTimeWithTense, hh: relativeTimeWithTense, d: relativeTimeWithTense, dd: '%d päeva', M: relativeTimeWithTense, MM: relativeTimeWithTense, y: relativeTimeWithTense, yy: relativeTimeWithTense }, formats: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD.MM.YYYY', LL: 'D. MMMM YYYY', LLL: 'D. MMMM YYYY H:mm', LLLL: 'dddd, D. MMMM YYYY H:mm' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/eu.js000066400000000000000000000022571520523163200175150ustar00rootroot00000000000000// Basque [eu] import dayjs from 'dayjs' const locale = { name: 'eu', weekdays: 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'), months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'), weekStart: 1, weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'), monthsShort: 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'), weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'YYYY-MM-DD', LL: 'YYYY[ko] MMMM[ren] D[a]', LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm', LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm', l: 'YYYY-M-D', ll: 'YYYY[ko] MMM D[a]', lll: 'YYYY[ko] MMM D[a] HH:mm', llll: 'ddd, YYYY[ko] MMM D[a] HH:mm' }, relativeTime: { future: '%s barru', past: 'duela %s', s: 'segundo batzuk', m: 'minutu bat', mm: '%d minutu', h: 'ordu bat', hh: '%d ordu', d: 'egun bat', dd: '%d egun', M: 'hilabete bat', MM: '%d hilabete', y: 'urte bat', yy: '%d urte' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/fa.js000066400000000000000000000023751520523163200174730ustar00rootroot00000000000000// Persian [fa] import dayjs from 'dayjs' const locale = { name: 'fa', weekdays: 'یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه'.split('_'), weekdaysShort: 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'), weekdaysMin: 'ÛŒ_د_س_Ú†_Ù¾_ج_Ø´'.split('_'), weekStart: 6, months: 'ژانویه_Ùوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'), monthsShort: 'ژانویه_Ùوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm' }, relativeTime: { future: 'در %s', past: '%s پیش', s: 'چند ثانیه', m: 'یک دقیقه', mm: '%d دقیقه', h: 'یک ساعت', hh: '%d ساعت', d: 'یک روز', dd: '%d روز', M: 'یک ماه', MM: '%d ماه', y: 'یک سال', yy: '%d سال' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/fi.js000066400000000000000000000050171520523163200174770ustar00rootroot00000000000000// Finnish [fi] import dayjs from 'dayjs' function relativeTimeFormatter(number, withoutSuffix, key, isFuture) { const past = { s: 'muutama sekunti', m: 'minuutti', mm: '%d minuuttia', h: 'tunti', hh: '%d tuntia', d: 'päivä', dd: '%d päivää', M: 'kuukausi', MM: '%d kuukautta', y: 'vuosi', yy: '%d vuotta', numbers: 'nolla_yksi_kaksi_kolme_neljä_viisi_kuusi_seitsemän_kahdeksan_yhdeksän'.split('_') } const future = { s: 'muutaman sekunnin', m: 'minuutin', mm: '%d minuutin', h: 'tunnin', hh: '%d tunnin', d: 'päivän', dd: '%d päivän', M: 'kuukauden', MM: '%d kuukauden', y: 'vuoden', yy: '%d vuoden', numbers: 'nollan_yhden_kahden_kolmen_neljän_viiden_kuuden_seitsemän_kahdeksan_yhdeksän'.split('_') } const words = (isFuture && !withoutSuffix) ? future : past const result = words[key] if (number < 10) { return result.replace('%d', words.numbers[number]) } return result.replace('%d', number) } const locale = { name: 'fi', // Finnish weekdays: 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'), // Note weekdays are not capitalized in Finnish weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'), // There is no short form of weekdays in Finnish except this 2 letter format so it is used for both 'weekdaysShort' and 'weekdaysMin' weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'), months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'), // Note month names are not capitalized in Finnish monthsShort: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'), ordinal: n => `${n}.`, weekStart: 1, yearStart: 4, relativeTime: { future: '%s päästä', past: '%s sitten', s: relativeTimeFormatter, m: relativeTimeFormatter, mm: relativeTimeFormatter, h: relativeTimeFormatter, hh: relativeTimeFormatter, d: relativeTimeFormatter, dd: relativeTimeFormatter, M: relativeTimeFormatter, MM: relativeTimeFormatter, y: relativeTimeFormatter, yy: relativeTimeFormatter }, formats: { LT: 'HH.mm', LTS: 'HH.mm.ss', L: 'DD.MM.YYYY', LL: 'D. MMMM[ta] YYYY', LLL: 'D. MMMM[ta] YYYY, [klo] HH.mm', LLLL: 'dddd, D. MMMM[ta] YYYY, [klo] HH.mm', l: 'D.M.YYYY', ll: 'D. MMM YYYY', lll: 'D. MMM YYYY, [klo] HH.mm', llll: 'ddd, D. MMM YYYY, [klo] HH.mm' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/fo.js000066400000000000000000000020211520523163200174750ustar00rootroot00000000000000// Faroese [fo] import dayjs from 'dayjs' const locale = { name: 'fo', weekdays: 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'), months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'), weekStart: 1, weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'), monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D. MMMM, YYYY HH:mm' }, relativeTime: { future: 'um %s', past: '%s síðani', s: 'fá sekund', m: 'ein minuttur', mm: '%d minuttir', h: 'ein tími', hh: '%d tímar', d: 'ein dagur', dd: '%d dagar', M: 'ein mánaður', MM: '%d mánaðir', y: 'eitt ár', yy: '%d ár' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/fr-ca.js000066400000000000000000000017751520523163200201000ustar00rootroot00000000000000// French (Canada) [fr-ca] import dayjs from 'dayjs' const locale = { name: 'fr-ca', weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'YYYY-MM-DD', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm' }, relativeTime: { future: 'dans %s', past: 'il y a %s', s: 'quelques secondes', m: 'une minute', mm: '%d minutes', h: 'une heure', hh: '%d heures', d: 'un jour', dd: '%d jours', M: 'un mois', MM: '%d mois', y: 'un an', yy: '%d ans' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/fr-ch.js000066400000000000000000000020221520523163200200710ustar00rootroot00000000000000// French (Switzerland) [fr-ch] import dayjs from 'dayjs' const locale = { name: 'fr-ch', weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), weekStart: 1, weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm' }, relativeTime: { future: 'dans %s', past: 'il y a %s', s: 'quelques secondes', m: 'une minute', mm: '%d minutes', h: 'une heure', hh: '%d heures', d: 'un jour', dd: '%d jours', M: 'un mois', MM: '%d mois', y: 'un an', yy: '%d ans' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/fr.js000066400000000000000000000021131520523163200175020ustar00rootroot00000000000000// French [fr] import dayjs from 'dayjs' const locale = { name: 'fr', weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), weekStart: 1, yearStart: 4, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm' }, relativeTime: { future: 'dans %s', past: 'il y a %s', s: 'quelques secondes', m: 'une minute', mm: '%d minutes', h: 'une heure', hh: '%d heures', d: 'un jour', dd: '%d jours', M: 'un mois', MM: '%d mois', y: 'un an', yy: '%d ans' }, ordinal: (n) => { const o = n === 1 ? 'er' : '' return `${n}${o}` } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/fy.js000066400000000000000000000017771520523163200175300ustar00rootroot00000000000000// Frisian [fy] import dayjs from 'dayjs' const locale = { name: 'fy', weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'), months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'), monthsShort: 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'), weekStart: 1, weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'), weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD-MM-YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm' }, relativeTime: { future: 'oer %s', past: '%s lyn', s: 'in pear sekonden', m: 'ien minút', mm: '%d minuten', h: 'ien oere', hh: '%d oeren', d: 'ien dei', dd: '%d dagen', M: 'ien moanne', MM: '%d moannen', y: 'ien jier', yy: '%d jierren' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/ga.js000066400000000000000000000021051520523163200174630ustar00rootroot00000000000000// Irish or Irish Gaelic [ga] import dayjs from 'dayjs' const locale = { name: 'ga', weekdays: 'Dé Domhnaigh_Dé Luain_Dé Máirt_Dé Céadaoin_Déardaoin_Dé hAoine_Dé Sathairn'.split('_'), months: 'Eanáir_Feabhra_Márta_Aibreán_Bealtaine_Meitheamh_Iúil_Lúnasa_Meán Fómhair_Deireadh Fómhair_Samhain_Nollaig'.split('_'), weekStart: 1, weekdaysShort: 'Dom_Lua_Mái_Céa_Déa_Aoi_Sat'.split('_'), monthsShort: 'Ean_Fea_Már_Aib_Beal_Mei_Iúil_Lún_MFómh_DFómh_Samh_Noll'.split('_'), weekdaysMin: 'Do_Lu_Má_Cé_Dé_Ao_Sa'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm' }, relativeTime: { future: 'i %s', past: '%s ó shin', s: 'cúpla soicind', m: 'nóiméad', mm: '%d nóiméad', h: 'uair an chloig', hh: '%d uair an chloig', d: 'lá', dd: '%d lá', M: 'mí', MM: '%d mí', y: 'bliain', yy: '%d bliain' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/gd.js000066400000000000000000000021261520523163200174710ustar00rootroot00000000000000// Scottish Gaelic [gd] import dayjs from 'dayjs' const locale = { name: 'gd', weekdays: 'Didòmhnaich_Diluain_Dimàirt_Diciadain_Diardaoin_Dihaoine_Disathairne'.split('_'), months: 'Am Faoilleach_An Gearran_Am Màrt_An Giblean_An Cèitean_An t-Ã’gmhios_An t-Iuchar_An Lùnastal_An t-Sultain_An Dàmhair_An t-Samhain_An Dùbhlachd'.split('_'), weekStart: 1, weekdaysShort: 'Did_Dil_Dim_Dic_Dia_Dih_Dis'.split('_'), monthsShort: 'Faoi_Gear_Màrt_Gibl_Cèit_Ã’gmh_Iuch_Lùn_Sult_Dàmh_Samh_Dùbh'.split('_'), weekdaysMin: 'Dò_Lu_Mà_Ci_Ar_Ha_Sa'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm' }, relativeTime: { future: 'ann an %s', past: 'bho chionn %s', s: 'beagan diogan', m: 'mionaid', mm: '%d mionaidean', h: 'uair', hh: '%d uairean', d: 'latha', dd: '%d latha', M: 'mìos', MM: '%d mìosan', y: 'bliadhna', yy: '%d bliadhna' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/gl.js000066400000000000000000000020261520523163200175000ustar00rootroot00000000000000// Galician [gl] import dayjs from 'dayjs' const locale = { name: 'gl', weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'), months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'), weekStart: 1, weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'), monthsShort: 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'), weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'), ordinal: n => `${n}º`, formats: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD/MM/YYYY', LL: 'D [de] MMMM [de] YYYY', LLL: 'D [de] MMMM [de] YYYY H:mm', LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm' }, relativeTime: { future: 'en %s', past: 'fai %s', s: 'uns segundos', m: 'un minuto', mm: '%d minutos', h: 'unha hora', hh: '%d horas', d: 'un día', dd: '%d días', M: 'un mes', MM: '%d meses', y: 'un ano', yy: '%d anos' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/gom-latn.js000066400000000000000000000014741520523163200206220ustar00rootroot00000000000000// Konkani Latin script [gom-latn] import dayjs from 'dayjs' const locale = { name: 'gom-latn', weekdays: "Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son'var".split('_'), months: 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'), weekStart: 1, weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'), monthsShort: 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'), weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'), ordinal: n => n, formats: { LT: 'A h:mm [vazta]', LTS: 'A h:mm:ss [vazta]', L: 'DD-MM-YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY A h:mm [vazta]', LLLL: 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]', llll: 'ddd, D MMM YYYY, A h:mm [vazta]' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/gu.js000066400000000000000000000031411520523163200175100ustar00rootroot00000000000000// Gujarati [gu] import dayjs from 'dayjs' const locale = { name: 'gu', weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બà«àª§à«àªµàª¾àª°_ગà«àª°à«àªµàª¾àª°_શà«àª•à«àª°àªµàª¾àª°_શનિવાર'.split('_'), months: 'જાનà«àª¯à«àª†àª°à«€_ફેબà«àª°à«àª†àª°à«€_મારà«àªš_àªàªªà«àª°àª¿àª²_મે_જૂન_જà«àª²àª¾àªˆ_ઑગસà«àªŸ_સપà«àªŸà«‡àª®à«àª¬àª°_ઑકà«àªŸà«àª¬àª°_નવેમà«àª¬àª°_ડિસેમà«àª¬àª°'.split('_'), weekdaysShort: 'રવિ_સોમ_મંગળ_બà«àª§à«_ગà«àª°à«_શà«àª•à«àª°_શનિ'.split('_'), monthsShort: 'જાનà«àª¯à«._ફેબà«àª°à«._મારà«àªš_àªàªªà«àª°àª¿._મે_જૂન_જà«àª²àª¾._ઑગ._સપà«àªŸà«‡._ઑકà«àªŸà«._નવે._ડિસે.'.split('_'), weekdaysMin: 'ર_સો_મં_બà«_ગà«_શà«_શ'.split('_'), ordinal: n => n, formats: { LT: 'A h:mm વાગà«àª¯à«‡', LTS: 'A h:mm:ss વાગà«àª¯à«‡', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY, A h:mm વાગà«àª¯à«‡', LLLL: 'dddd, D MMMM YYYY, A h:mm વાગà«àª¯à«‡' }, relativeTime: { future: '%s મા', past: '%s પેહલા', s: 'અમà«àª• પળો', m: 'àªàª• મિનિટ', mm: '%d મિનિટ', h: 'àªàª• કલાક', hh: '%d કલાક', d: 'àªàª• દિવસ', dd: '%d દિવસ', M: 'àªàª• મહિનો', MM: '%d મહિનો', y: 'àªàª• વરà«àª·', yy: '%d વરà«àª·' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/he.js000066400000000000000000000041231520523163200174720ustar00rootroot00000000000000// Hebrew [he] import dayjs from 'dayjs' const texts = { s: 'מספר שניות', ss: '%d שניות', m: 'דקה', mm: '%d דקות', h: 'שעה', hh: '%d שעות', hh2: 'שעתיי×', d: 'יו×', dd: '%d ימי×', dd2: 'יומיי×', M: 'חודש', MM: '%d חודשי×', MM2: 'חודשיי×', y: 'שנה', yy: '%d שני×', yy2: 'שנתיי×' } function relativeTimeFormatter(number, withoutSuffix, key) { const text = texts[key + (number === 2 ? '2' : '')] || texts[key] return text.replace('%d', number) } const locale = { name: 'he', weekdays: 'ר×שון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'), weekdaysShort: '×׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'), weekdaysMin: '×׳_ב׳_ג׳_ד׳_ה׳_ו_ש׳'.split('_'), months: 'ינו×ר_פברו×ר_מרץ_×פריל_מ××™_יוני_יולי_×וגוסט_ספטמבר_×וקטובר_נובמבר_דצמבר'.split('_'), monthsShort: 'ינו_פבר_מרץ_×פר_מ××™_יונ_יול_×וג_ספט_×וק_נוב_דצמ'.split('_'), relativeTime: { future: 'בעוד %s', past: 'לפני %s', s: relativeTimeFormatter, m: relativeTimeFormatter, mm: relativeTimeFormatter, h: relativeTimeFormatter, hh: relativeTimeFormatter, d: relativeTimeFormatter, dd: relativeTimeFormatter, M: relativeTimeFormatter, MM: relativeTimeFormatter, y: relativeTimeFormatter, yy: relativeTimeFormatter }, ordinal: n => n, format: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D [ב]MMMM YYYY', LLL: 'D [ב]MMMM YYYY HH:mm', LLLL: 'dddd, D [ב]MMMM YYYY HH:mm', l: 'D/M/YYYY', ll: 'D MMM YYYY', lll: 'D MMM YYYY HH:mm', llll: 'ddd, D MMM YYYY HH:mm' }, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D [ב]MMMM YYYY', LLL: 'D [ב]MMMM YYYY HH:mm', LLLL: 'dddd, D [ב]MMMM YYYY HH:mm', l: 'D/M/YYYY', ll: 'D MMM YYYY', lll: 'D MMM YYYY HH:mm', llll: 'ddd, D MMM YYYY HH:mm' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/hi.js000066400000000000000000000027521520523163200175040ustar00rootroot00000000000000// Hindi [hi] import dayjs from 'dayjs' const locale = { name: 'hi', weekdays: 'रविवार_सोमवार_मंगलवार_बà¥à¤§à¤µà¤¾à¤°_गà¥à¤°à¥‚वार_शà¥à¤•à¥à¤°à¤µà¤¾à¤°_शनिवार'.split('_'), months: 'जनवरी_फ़रवरी_मारà¥à¤š_अपà¥à¤°à¥ˆà¤²_मई_जून_जà¥à¤²à¤¾à¤ˆ_अगसà¥à¤¤_सितमà¥à¤¬à¤°_अकà¥à¤Ÿà¥‚बर_नवमà¥à¤¬à¤°_दिसमà¥à¤¬à¤°'.split('_'), weekdaysShort: 'रवि_सोम_मंगल_बà¥à¤§_गà¥à¤°à¥‚_शà¥à¤•à¥à¤°_शनि'.split('_'), monthsShort: 'जन._फ़र._मारà¥à¤š_अपà¥à¤°à¥ˆ._मई_जून_जà¥à¤²._अग._सित._अकà¥à¤Ÿà¥‚._नव._दिस.'.split('_'), weekdaysMin: 'र_सो_मं_बà¥_गà¥_शà¥_श'.split('_'), ordinal: n => n, formats: { LT: 'A h:mm बजे', LTS: 'A h:mm:ss बजे', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY, A h:mm बजे', LLLL: 'dddd, D MMMM YYYY, A h:mm बजे' }, relativeTime: { future: '%s में', past: '%s पहले', s: 'कà¥à¤› ही कà¥à¤·à¤£', m: 'à¤à¤• मिनट', mm: '%d मिनट', h: 'à¤à¤• घंटा', hh: '%d घंटे', d: 'à¤à¤• दिन', dd: '%d दिन', M: 'à¤à¤• महीने', MM: '%d महीने', y: 'à¤à¤• वरà¥à¤·', yy: '%d वरà¥à¤·' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/hr.js000066400000000000000000000026721520523163200175160ustar00rootroot00000000000000// Croatian [hr] import dayjs from 'dayjs' const monthFormat = 'sijeÄnja_veljaÄe_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_') const monthStandalone = 'sijeÄanj_veljaÄa_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_') const MONTHS_IN_FORMAT = /D[oD]?(\[[^[\]]*\]|\s)+MMMM?/ const months = (dayjsInstance, format) => { if (MONTHS_IN_FORMAT.test(format)) { return monthFormat[dayjsInstance.month()] } return monthStandalone[dayjsInstance.month()] } months.s = monthStandalone months.f = monthFormat const locale = { name: 'hr', weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota'.split('_'), weekdaysShort: 'ned._pon._uto._sri._Äet._pet._sub.'.split('_'), weekdaysMin: 'ne_po_ut_sr_Äe_pe_su'.split('_'), months, monthsShort: 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'), weekStart: 1, formats: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD.MM.YYYY', LL: 'D. MMMM YYYY', LLL: 'D. MMMM YYYY H:mm', LLLL: 'dddd, D. MMMM YYYY H:mm' }, relativeTime: { future: 'za %s', past: 'prije %s', s: 'sekunda', m: 'minuta', mm: '%d minuta', h: 'sat', hh: '%d sati', d: 'dan', dd: '%d dana', M: 'mjesec', MM: '%d mjeseci', y: 'godina', yy: '%d godine' }, ordinal: n => `${n}.` } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/ht.js000066400000000000000000000017241520523163200175150ustar00rootroot00000000000000// Haitian Creole (Haiti) [ht] import dayjs from 'dayjs' const locale = { name: 'ht', weekdays: 'dimanch_lendi_madi_mèkredi_jedi_vandredi_samdi'.split('_'), months: 'janvye_fevriye_mas_avril_me_jen_jiyè_out_septanm_oktòb_novanm_desanm'.split('_'), weekdaysShort: 'dim._len._mad._mèk._jed._van._sam.'.split('_'), monthsShort: 'jan._fev._mas_avr._me_jen_jiyè._out_sept._okt._nov._des.'.split('_'), weekdaysMin: 'di_le_ma_mè_je_va_sa'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm' }, relativeTime: { future: 'nan %s', past: 'sa gen %s', s: 'kèk segond', m: 'yon minit', mm: '%d minit', h: 'inèdtan', hh: '%d zè', d: 'yon jou', dd: '%d jou', M: 'yon mwa', MM: '%d mwa', y: 'yon ane', yy: '%d ane' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/hu.js000066400000000000000000000031751520523163200175200ustar00rootroot00000000000000// Hungarian [hu] import dayjs from 'dayjs' const locale = { name: 'hu', weekdays: 'vasárnap_hétfÅ‘_kedd_szerda_csütörtök_péntek_szombat'.split('_'), weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'), weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'), months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'), monthsShort: 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'), ordinal: n => `${n}.`, weekStart: 1, relativeTime: { future: '%s múlva', past: '%s', s: (_, s, ___, isFuture) => `néhány másodperc${isFuture || s ? '' : 'e'}`, m: (_, s, ___, isFuture) => `egy perc${isFuture || s ? '' : 'e'}`, mm: (n, s, ___, isFuture) => `${n} perc${isFuture || s ? '' : 'e'}`, h: (_, s, ___, isFuture) => `egy ${isFuture || s ? 'óra' : 'órája'}`, hh: (n, s, ___, isFuture) => `${n} ${isFuture || s ? 'óra' : 'órája'}`, d: (_, s, ___, isFuture) => `egy ${isFuture || s ? 'nap' : 'napja'}`, dd: (n, s, ___, isFuture) => `${n} ${isFuture || s ? 'nap' : 'napja'}`, M: (_, s, ___, isFuture) => `egy ${isFuture || s ? 'hónap' : 'hónapja'}`, MM: (n, s, ___, isFuture) => `${n} ${isFuture || s ? 'hónap' : 'hónapja'}`, y: (_, s, ___, isFuture) => `egy ${isFuture || s ? 'év' : 'éve'}`, yy: (n, s, ___, isFuture) => `${n} ${isFuture || s ? 'év' : 'éve'}` }, formats: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'YYYY.MM.DD.', LL: 'YYYY. MMMM D.', LLL: 'YYYY. MMMM D. H:mm', LLLL: 'YYYY. MMMM D., dddd H:mm' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/hy-am.js000066400000000000000000000024361520523163200201160ustar00rootroot00000000000000// Armenian [hy-am] import dayjs from 'dayjs' const locale = { name: 'hy-am', weekdays: 'Õ¯Õ«Ö€Õ¡Õ¯Õ«_Õ¥Ö€Õ¯Õ¸Ö‚Õ·Õ¡Õ¢Õ©Õ«_Õ¥Ö€Õ¥Ö„Õ·Õ¡Õ¢Õ©Õ«_Õ¹Õ¸Ö€Õ¥Ö„Õ·Õ¡Õ¢Õ©Õ«_Õ°Õ«Õ¶Õ£Õ·Õ¡Õ¢Õ©Õ«_Õ¸Ö‚Ö€Õ¢Õ¡Õ©_Õ·Õ¡Õ¢Õ¡Õ©'.split('_'), months: 'Õ°Õ¸Ö‚Õ¶Õ¾Õ¡Ö€Õ«_ÖƒÕ¥Õ¿Ö€Õ¾Õ¡Ö€Õ«_Õ´Õ¡Ö€Õ¿Õ«_Õ¡ÕºÖ€Õ«Õ¬Õ«_Õ´Õ¡ÕµÕ«Õ½Õ«_Õ°Õ¸Ö‚Õ¶Õ«Õ½Õ«_Õ°Õ¸Ö‚Õ¬Õ«Õ½Õ«_Ö…Õ£Õ¸Õ½Õ¿Õ¸Õ½Õ«_Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«_Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«_Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥Ö€Õ«_Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«'.split('_'), weekStart: 1, weekdaysShort: 'Õ¯Ö€Õ¯_Õ¥Ö€Õ¯_Õ¥Ö€Ö„_Õ¹Ö€Ö„_Õ°Õ¶Õ£_Õ¸Ö‚Ö€Õ¢_Õ·Õ¢Õ©'.split('_'), monthsShort: 'Õ°Õ¶Õ¾_ÖƒÕ¿Ö€_Õ´Ö€Õ¿_Õ¡ÕºÖ€_Õ´ÕµÕ½_Õ°Õ¶Õ½_Õ°Õ¬Õ½_Ö…Õ£Õ½_Õ½ÕºÕ¿_Õ°Õ¯Õ¿_Õ¶Õ´Õ¢_Õ¤Õ¯Õ¿'.split('_'), weekdaysMin: 'Õ¯Ö€Õ¯_Õ¥Ö€Õ¯_Õ¥Ö€Ö„_Õ¹Ö€Ö„_Õ°Õ¶Õ£_Õ¸Ö‚Ö€Õ¢_Õ·Õ¢Õ©'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY Õ©.', LLL: 'D MMMM YYYY Õ©., HH:mm', LLLL: 'dddd, D MMMM YYYY Õ©., HH:mm' }, relativeTime: { future: '%s Õ°Õ¥Õ¿Õ¸', past: '%s Õ¡Õ¼Õ¡Õ»', s: 'Õ´Õ« Ö„Õ¡Õ¶Õ« Õ¾Õ¡ÕµÖ€Õ¯ÕµÕ¡Õ¶', m: 'Ö€Õ¸ÕºÕ¥', mm: '%d Ö€Õ¸ÕºÕ¥', h: 'ÕªÕ¡Õ´', hh: '%d ÕªÕ¡Õ´', d: 'Ö…Ö€', dd: '%d Ö…Ö€', M: 'Õ¡Õ´Õ«Õ½', MM: '%d Õ¡Õ´Õ«Õ½', y: 'Õ¿Õ¡Ö€Õ«', yy: '%d Õ¿Õ¡Ö€Õ«' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/id.js000066400000000000000000000017561520523163200175030ustar00rootroot00000000000000// Indonesian [id] import dayjs from 'dayjs' const locale = { name: 'id', weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'), months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'), weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'), monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'), weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'), weekStart: 1, formats: { LT: 'HH.mm', LTS: 'HH.mm.ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY [pukul] HH.mm', LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm' }, relativeTime: { future: 'dalam %s', past: '%s yang lalu', s: 'beberapa detik', m: 'semenit', mm: '%d menit', h: 'sejam', hh: '%d jam', d: 'sehari', dd: '%d hari', M: 'sebulan', MM: '%d bulan', y: 'setahun', yy: '%d tahun' }, ordinal: n => `${n}.` } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/is.js000066400000000000000000000044001520523163200175070ustar00rootroot00000000000000// Icelandic [is] import dayjs from 'dayjs' const texts = { s: ['nokkrar sekúndur', 'nokkrar sekúndur', 'nokkrum sekúndum'], m: ['mínúta', 'mínútu', 'mínútu'], mm: ['mínútur', 'mínútur', 'mínútum'], h: ['klukkustund', 'klukkustund', 'klukkustund'], hh: ['klukkustundir', 'klukkustundir', 'klukkustundum'], d: ['dagur', 'dag', 'degi'], dd: ['dagar', 'daga', 'dögum'], M: ['mánuður', 'mánuð', 'mánuði'], MM: ['mánuðir', 'mánuði', 'mánuðum'], y: ['ár', 'ár', 'ári'], yy: ['ár', 'ár', 'árum'] } function resolveTemplate(key, number, isFuture, withoutSuffix) { const suffixIndex = isFuture ? 1 : 2 const index = withoutSuffix ? 0 : suffixIndex const keyShouldBeSingular = key.length === 2 && number % 10 === 1 const correctedKey = keyShouldBeSingular ? key[0] : key const unitText = texts[correctedKey] const text = unitText[index] return key.length === 1 ? text : `%d ${text}` } function relativeTimeFormatter(number, withoutSuffix, key, isFuture) { const template = resolveTemplate(key, number, isFuture, withoutSuffix) return template.replace('%d', number) } const locale = { name: 'is', weekdays: 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'), months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'), weekStart: 1, weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'), monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'), weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'), ordinal: n => n, formats: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD.MM.YYYY', LL: 'D. MMMM YYYY', LLL: 'D. MMMM YYYY [kl.] H:mm', LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm' }, relativeTime: { future: 'eftir %s', past: 'fyrir %s síðan', s: relativeTimeFormatter, m: relativeTimeFormatter, mm: relativeTimeFormatter, h: relativeTimeFormatter, hh: relativeTimeFormatter, d: relativeTimeFormatter, dd: relativeTimeFormatter, M: relativeTimeFormatter, MM: relativeTimeFormatter, y: relativeTimeFormatter, yy: relativeTimeFormatter } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/it-ch.js000066400000000000000000000020011520523163200200730ustar00rootroot00000000000000// Italian (Switzerland) [it-ch] import dayjs from 'dayjs' const locale = { name: 'it-ch', weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'), months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'), weekStart: 1, weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'), monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm' }, relativeTime: { future: 'tra %s', past: '%s fa', s: 'alcuni secondi', m: 'un minuto', mm: '%d minuti', h: 'un\'ora', hh: '%d ore', d: 'un giorno', dd: '%d giorni', M: 'un mese', MM: '%d mesi', y: 'un anno', yy: '%d anni' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/it.js000066400000000000000000000017651520523163200175230ustar00rootroot00000000000000// Italian [it] import dayjs from 'dayjs' const locale = { name: 'it', weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'), weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'), weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'), months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'), weekStart: 1, monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm' }, relativeTime: { future: 'tra %s', past: '%s fa', s: 'qualche secondo', m: 'un minuto', mm: '%d minuti', h: 'un\'ora', hh: '%d ore', d: 'un giorno', dd: '%d giorni', M: 'un mese', MM: '%d mesi', y: 'un anno', yy: '%d anni' }, ordinal: n => `${n}º` } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/ja.js000066400000000000000000000022041520523163200174660ustar00rootroot00000000000000// Japanese [ja] import dayjs from 'dayjs' const locale = { name: 'ja', weekdays: '日曜日_月曜日_ç«æ›œæ—¥_水曜日_木曜日_金曜日_土曜日'.split('_'), weekdaysShort: 'æ—¥_月_ç«_æ°´_木_金_土'.split('_'), weekdaysMin: 'æ—¥_月_ç«_æ°´_木_金_土'.split('_'), months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), ordinal: n => `${n}æ—¥`, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'YYYY/MM/DD', LL: 'YYYYå¹´M月Dæ—¥', LLL: 'YYYYå¹´M月Dæ—¥ HH:mm', LLLL: 'YYYYå¹´M月Dæ—¥ dddd HH:mm', l: 'YYYY/MM/DD', ll: 'YYYYå¹´M月Dæ—¥', lll: 'YYYYå¹´M月Dæ—¥ HH:mm', llll: 'YYYYå¹´M月Dæ—¥(ddd) HH:mm' }, meridiem: hour => (hour < 12 ? 'åˆå‰' : 'åˆå¾Œ'), relativeTime: { future: '%s後', past: '%så‰', s: 'æ•°ç§’', m: '1分', mm: '%d分', h: '1時間', hh: '%d時間', d: '1æ—¥', dd: '%dæ—¥', M: '1ヶ月', MM: '%dヶ月', y: '1å¹´', yy: '%då¹´' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/jv.js000066400000000000000000000020101520523163200175060ustar00rootroot00000000000000// Javanese [jv] import dayjs from 'dayjs' const locale = { name: 'jv', weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'), months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'), weekStart: 1, weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'), monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'), weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'), ordinal: n => n, formats: { LT: 'HH.mm', LTS: 'HH.mm.ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY [pukul] HH.mm', LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm' }, relativeTime: { future: 'wonten ing %s', past: '%s ingkang kepengker', s: 'sawetawis detik', m: 'setunggal menit', mm: '%d menit', h: 'setunggal jam', hh: '%d jam', d: 'sedinten', dd: '%d dinten', M: 'sewulan', MM: '%d wulan', y: 'setaun', yy: '%d taun' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/ka.js000066400000000000000000000030351520523163200174720ustar00rootroot00000000000000// Georgian [ka] import dayjs from 'dayjs' const locale = { name: 'ka', weekdays: 'კვირáƒ_áƒáƒ áƒ¨áƒáƒ‘áƒáƒ—ი_სáƒáƒ›áƒ¨áƒáƒ‘áƒáƒ—ი_áƒáƒ—ხშáƒáƒ‘áƒáƒ—ი_ხუთშáƒáƒ‘áƒáƒ—ი_პáƒáƒ áƒáƒ¡áƒ™áƒ”ვი_შáƒáƒ‘áƒáƒ—ი'.split('_'), weekdaysShort: 'კვი_áƒáƒ áƒ¨_სáƒáƒ›_áƒáƒ—ხ_ხუთ_პáƒáƒ _შáƒáƒ‘'.split('_'), weekdaysMin: 'კვ_áƒáƒ _სáƒ_áƒáƒ—_ხუ_პáƒ_შáƒ'.split('_'), months: 'იáƒáƒœáƒ•áƒáƒ áƒ˜_თებერვáƒáƒšáƒ˜_მáƒáƒ áƒ¢áƒ˜_áƒáƒžáƒ áƒ˜áƒšáƒ˜_მáƒáƒ˜áƒ¡áƒ˜_ივნისი_ივლისი_áƒáƒ’ვისტáƒ_სექტემბერი_áƒáƒ¥áƒ¢áƒáƒ›áƒ‘ერი_ნáƒáƒ”მბერი_დეკემბერი'.split('_'), monthsShort: 'იáƒáƒœ_თებ_მáƒáƒ _áƒáƒžáƒ _მáƒáƒ˜_ივნ_ივლ_áƒáƒ’ვ_სექ_áƒáƒ¥áƒ¢_ნáƒáƒ”_დეკ'.split('_'), weekStart: 1, formats: { LT: 'h:mm A', LTS: 'h:mm:ss A', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY h:mm A', LLLL: 'dddd, D MMMM YYYY h:mm A' }, relativeTime: { future: '%s შემდეგ', past: '%s წინ', s: 'წáƒáƒ›áƒ˜', m: 'წუთი', mm: '%d წუთი', h: 'სáƒáƒáƒ—ი', hh: '%d სáƒáƒáƒ—ის', d: 'დღეს', dd: '%d დღის გáƒáƒœáƒ›áƒáƒ•ლáƒáƒ‘áƒáƒ¨áƒ˜', M: 'თვის', MM: '%d თვის', y: 'წელი', yy: '%d წლის' }, ordinal: n => n } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/kk.js000066400000000000000000000023461520523163200175100ustar00rootroot00000000000000// Kazakh [kk] import dayjs from 'dayjs' const locale = { name: 'kk', weekdays: 'жекÑенбі_дүйÑенбі_ÑейÑенбі_ÑәрÑенбі_бейÑенбі_жұма_Ñенбі'.split('_'), weekdaysShort: 'жек_дүй_Ñей_Ñәр_бей_жұм_Ñен'.split('_'), weekdaysMin: 'жк_дй_Ñй_ÑÑ€_бй_жм_Ñн'.split('_'), months: 'қаңтар_ақпан_наурыз_Ñәуір_мамыр_мауÑым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқÑан'.split('_'), monthsShort: 'қаң_ақп_нау_Ñәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'), weekStart: 1, relativeTime: { future: '%s ішінде', past: '%s бұрын', s: 'бірнеше Ñекунд', m: 'бір минут', mm: '%d минут', h: 'бір Ñағат', hh: '%d Ñағат', d: 'бір күн', dd: '%d күн', M: 'бір ай', MM: '%d ай', y: 'бір жыл', yy: '%d жыл' }, ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/km.js000066400000000000000000000030151520523163200175040ustar00rootroot00000000000000// Cambodian [km] import dayjs from 'dayjs' const locale = { name: 'km', weekdays: 'អាទិážáŸ’áž™_áž…áŸáž“្ទ_អង្គារ_ពុធ_ព្រហស្បážáž·áŸ_សុក្រ_សៅរáŸ'.split('_'), months: 'មករា_កុម្ភៈ_មីនា_មáŸážŸáž¶_ឧសភា_មិážáž»áž“áž¶_កក្កដា_សីហា_កញ្ញា_ážáž»áž›áž¶_វិច្ឆិកា_ធ្នូ'.split('_'), weekStart: 1, weekdaysShort: 'អា_áž…_អ_áž–_ព្រ_សុ_ស'.split('_'), monthsShort: 'មករា_កុម្ភៈ_មីនា_មáŸážŸáž¶_ឧសភា_មិážáž»áž“áž¶_កក្កដា_សីហា_កញ្ញា_ážáž»áž›áž¶_វិច្ឆិកា_ធ្នូ'.split('_'), weekdaysMin: 'អា_áž…_អ_áž–_ព្រ_សុ_ស'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm' }, relativeTime: { future: '%sទៀáž', past: '%sមុន', s: 'ប៉ុន្មានវិនាទី', m: 'មួយនាទី', mm: '%d នាទី', h: 'មួយម៉ោង', hh: '%d ម៉ោង', d: 'មួយážáŸ’ងៃ', dd: '%d ážáŸ’ងៃ', M: 'មួយážáŸ‚', MM: '%d ážáŸ‚', y: 'មួយឆ្នាំ', yy: '%d ឆ្នាំ' }, meridiem: hour => (hour > 12 ? 'ល្ងាច' : 'ព្រឹក') } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/kn.js000066400000000000000000000032001520523163200175010ustar00rootroot00000000000000// Kannada [kn] import dayjs from 'dayjs' const locale = { name: 'kn', weekdays: 'ಭಾನà³à²µà²¾à²°_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬà³à²§à²µà²¾à²°_ಗà³à²°à³à²µà²¾à²°_ಶà³à²•à³à²°à²µà²¾à²°_ಶನಿವಾರ'.split('_'), months: 'ಜನವರಿ_ಫೆಬà³à²°à²µà²°à²¿_ಮಾರà³à²šà³_à²à²ªà³à²°à²¿à²²à³_ಮೇ_ಜೂನà³_ಜà³à²²à³†à³–_ಆಗಸà³à²Ÿà³_ಸೆಪà³à²Ÿà³†à²‚ಬರà³_ಅಕà³à²Ÿà³†à³‚ೕಬರà³_ನವೆಂಬರà³_ಡಿಸೆಂಬರà³'.split('_'), weekdaysShort: 'ಭಾನà³_ಸೋಮ_ಮಂಗಳ_ಬà³à²§_ಗà³à²°à³_ಶà³à²•à³à²°_ಶನಿ'.split('_'), monthsShort: 'ಜನ_ಫೆಬà³à²°_ಮಾರà³à²šà³_à²à²ªà³à²°à²¿à²²à³_ಮೇ_ಜೂನà³_ಜà³à²²à³†à³–_ಆಗಸà³à²Ÿà³_ಸೆಪà³à²Ÿà³†à²‚_ಅಕà³à²Ÿà³†à³‚ೕ_ನವೆಂ_ಡಿಸೆಂ'.split('_'), weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬà³_ಗà³_ಶà³_ಶ'.split('_'), ordinal: n => n, formats: { LT: 'A h:mm', LTS: 'A h:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY, A h:mm', LLLL: 'dddd, D MMMM YYYY, A h:mm' }, relativeTime: { future: '%s ನಂತರ', past: '%s ಹಿಂದೆ', s: 'ಕೆಲವೠಕà³à²·à²£à²—ಳà³', m: 'ಒಂದೠನಿಮಿಷ', mm: '%d ನಿಮಿಷ', h: 'ಒಂದೠಗಂಟೆ', hh: '%d ಗಂಟೆ', d: 'ಒಂದೠದಿನ', dd: '%d ದಿನ', M: 'ಒಂದೠತಿಂಗಳà³', MM: '%d ತಿಂಗಳà³', y: 'ಒಂದೠವರà³à²·', yy: '%d ವರà³à²·' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/ko.js000066400000000000000000000022361520523163200175120ustar00rootroot00000000000000// Korean [ko] import dayjs from 'dayjs' const locale = { name: 'ko', weekdays: 'ì¼ìš”ì¼_월요ì¼_화요ì¼_수요ì¼_목요ì¼_금요ì¼_토요ì¼'.split('_'), weekdaysShort: 'ì¼_ì›”_í™”_수_목_금_토'.split('_'), weekdaysMin: 'ì¼_ì›”_í™”_수_목_금_토'.split('_'), months: '1ì›”_2ì›”_3ì›”_4ì›”_5ì›”_6ì›”_7ì›”_8ì›”_9ì›”_10ì›”_11ì›”_12ì›”'.split('_'), monthsShort: '1ì›”_2ì›”_3ì›”_4ì›”_5ì›”_6ì›”_7ì›”_8ì›”_9ì›”_10ì›”_11ì›”_12ì›”'.split('_'), ordinal: n => `${n}ì¼`, formats: { LT: 'A h:mm', LTS: 'A h:mm:ss', L: 'YYYY.MM.DD.', LL: 'YYYYë…„ MMMM Dì¼', LLL: 'YYYYë…„ MMMM Dì¼ A h:mm', LLLL: 'YYYYë…„ MMMM Dì¼ dddd A h:mm', l: 'YYYY.MM.DD.', ll: 'YYYYë…„ MMMM Dì¼', lll: 'YYYYë…„ MMMM Dì¼ A h:mm', llll: 'YYYYë…„ MMMM Dì¼ dddd A h:mm' }, meridiem: hour => (hour < 12 ? '오전' : '오후'), relativeTime: { future: '%s 후', past: '%s ì „', s: '몇 ì´ˆ', m: '1ë¶„', mm: '%dë¶„', h: '한 시간', hh: '%d시간', d: '하루', dd: '%dì¼', M: '한 달', MM: '%d달', y: 'ì¼ ë…„', yy: '%dë…„' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/ku.js000066400000000000000000000037011520523163200175160ustar00rootroot00000000000000// Kurdish [ku] import dayjs from 'dayjs' export const englishToArabicNumbersMap = { 1: 'Ù¡', 2: 'Ù¢', 3: 'Ù£', 4: 'Ù¤', 5: 'Ù¥', 6: 'Ù¦', 7: 'Ù§', 8: 'Ù¨', 9: 'Ù©', 0: 'Ù ' } const arabicToEnglishNumbersMap = { 'Ù¡': '1', 'Ù¢': '2', 'Ù£': '3', 'Ù¤': '4', 'Ù¥': '5', 'Ù¦': '6', 'Ù§': '7', 'Ù¨': '8', 'Ù©': '9', 'Ù ': '0' } const months = [ 'کانوونی دووەم', 'شوبات', 'ئادار', 'نیسان', 'ئایار', 'حوزەیران', 'تەممووز', 'ئاب', 'ئەیلوول', 'تشرینی یەکەم', 'تشرینی دووەم', 'کانوونی یەکەم' ] const locale = { name: 'ku', months, monthsShort: months, weekdays: 'یەکشەممە_دووشەممە_سێشەممە_چوارشەممە_پێنجشەممە_هەینی_شەممە'.split('_'), weekdaysShort: 'یەکشەم_دووشەم_سێشەم_چوارشەم_پێنجشەم_هەینی_شەممە'.split('_'), weekStart: 6, weekdaysMin: 'ÛŒ_د_س_Ú†_Ù¾_هـ_Ø´'.split('_'), preparse(string) { return string .replace(/[١٢٣٤٥٦٧٨٩٠]/g, match => arabicToEnglishNumbersMap[match]) .replace(/ØŒ/g, ',') }, postformat(string) { return string .replace(/\d/g, match => englishToArabicNumbersMap[match]) .replace(/,/g, 'ØŒ') }, ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm' }, meridiem: hour => (hour < 12 ? 'Ù¾.Ù†' : 'د.Ù†'), relativeTime: { future: 'Ù„Û• %s', past: 'لەمەوپێش %s', s: 'چەند چرکەیەک', m: 'یەک خولەک', mm: '%d خولەک', h: 'یەک کاتژمێر', hh: '%d کاتژمێر', d: 'یەک Ú•Û†Ú˜', dd: '%d Ú•Û†Ú˜', M: 'یەک مانگ', MM: '%d مانگ', y: 'یەک ساڵ', yy: '%d ساڵ' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/ky.js000066400000000000000000000023441520523163200175240ustar00rootroot00000000000000// Kyrgyz [ky] import dayjs from 'dayjs' const locale = { name: 'ky', weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'), months: 'Ñнварь_февраль_март_апрель_май_июнь_июль_авгуÑÑ‚_ÑентÑбрь_октÑбрь_ноÑбрь_декабрь'.split('_'), weekStart: 1, weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'), monthsShort: 'Ñнв_фев_март_апр_май_июнь_июль_авг_Ñен_окт_ноÑ_дек'.split('_'), weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm' }, relativeTime: { future: '%s ичинде', past: '%s мурун', s: 'бирнече Ñекунд', m: 'бир мүнөт', mm: '%d мүнөт', h: 'бир Ñаат', hh: '%d Ñаат', d: 'бир күн', dd: '%d күн', M: 'бир ай', MM: '%d ай', y: 'бир жыл', yy: '%d жыл' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/lb.js000066400000000000000000000014111520523163200174700ustar00rootroot00000000000000// Luxembourgish [lb] import dayjs from 'dayjs' const locale = { name: 'lb', weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'), months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), weekStart: 1, weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'), monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'), weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'), ordinal: n => n, formats: { LT: 'H:mm [Auer]', LTS: 'H:mm:ss [Auer]', L: 'DD.MM.YYYY', LL: 'D. MMMM YYYY', LLL: 'D. MMMM YYYY H:mm [Auer]', LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/lo.js000066400000000000000000000027231520523163200175140ustar00rootroot00000000000000// Lao [lo] import dayjs from 'dayjs' const locale = { name: 'lo', weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸàº_ເສົາ'.split('_'), months: 'ມັງàºàº­àº™_àºàº¸àº¡àºžàº²_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_àºà»àº¥àº°àºàº»àº”_ສິງຫາ_àºàº±àº™àºàº²_ຕຸລາ_ພະຈິàº_ທັນວາ'.split('_'), weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸàº_ເສົາ'.split('_'), monthsShort: 'ມັງàºàº­àº™_àºàº¸àº¡àºžàº²_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_àºà»àº¥àº°àºàº»àº”_ສິງຫາ_àºàº±àº™àºàº²_ຕຸລາ_ພະຈິàº_ທັນວາ'.split('_'), weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສàº_ສ'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'ວັນdddd D MMMM YYYY HH:mm' }, relativeTime: { future: 'ອີຠ%s', past: '%sຜ່ານມາ', s: 'ບà»à»ˆà»€àº—ົ່າໃດວິນາທີ', m: '1 ນາທີ', mm: '%d ນາທີ', h: '1 ຊົ່ວໂມງ', hh: '%d ຊົ່ວໂມງ', d: '1 ມື້', dd: '%d ມື້', M: '1 ເດືອນ', MM: '%d ເດືອນ', y: '1 ປີ', yy: '%d ປີ' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/lt.js000066400000000000000000000041601520523163200175160ustar00rootroot00000000000000// Lithuanian [lt] import dayjs from 'dayjs' const monthFormat = 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjÅ«Äio_rugsÄ—jo_spalio_lapkriÄio_gruodžio'.split('_') const monthStandalone = 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjÅ«tis_rugsÄ—jis_spalis_lapkritis_gruodis'.split('_') // eslint-disable-next-line no-useless-escape const MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/ const months = (dayjsInstance, format) => { if (MONTHS_IN_FORMAT.test(format)) { return monthFormat[dayjsInstance.month()] } return monthStandalone[dayjsInstance.month()] } months.s = monthStandalone months.f = monthFormat const locale = { name: 'lt', weekdays: 'sekmadienis_pirmadienis_antradienis_treÄiadienis_ketvirtadienis_penktadienis_Å¡eÅ¡tadienis'.split('_'), weekdaysShort: 'sek_pir_ant_tre_ket_pen_Å¡eÅ¡'.split('_'), weekdaysMin: 's_p_a_t_k_pn_Å¡'.split('_'), months, monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'), ordinal: n => `${n}.`, weekStart: 1, relativeTime: { future: 'už %s', past: 'prieÅ¡ %s', s: 'kelias sekundes', m: 'minutÄ™', mm: '%d minutes', h: 'valandÄ…', hh: '%d valandas', d: 'dienÄ…', dd: '%d dienas', M: 'mÄ—nesį', MM: '%d mÄ—nesius', y: 'metus', yy: '%d metus' }, format: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'YYYY-MM-DD', LL: 'YYYY [m.] MMMM D [d.]', LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]', LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]', l: 'YYYY-MM-DD', ll: 'YYYY [m.] MMMM D [d.]', lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]', llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]' }, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'YYYY-MM-DD', LL: 'YYYY [m.] MMMM D [d.]', LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]', LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]', l: 'YYYY-MM-DD', ll: 'YYYY [m.] MMMM D [d.]', lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]', llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/lv.js000066400000000000000000000020471520523163200175220ustar00rootroot00000000000000// Latvian [lv] import dayjs from 'dayjs' const locale = { name: 'lv', weekdays: 'svÄ“tdiena_pirmdiena_otrdiena_treÅ¡diena_ceturtdiena_piektdiena_sestdiena'.split('_'), months: 'janvÄris_februÄris_marts_aprÄ«lis_maijs_jÅ«nijs_jÅ«lijs_augusts_septembris_oktobris_novembris_decembris'.split('_'), weekStart: 1, weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'), monthsShort: 'jan_feb_mar_apr_mai_jÅ«n_jÅ«l_aug_sep_okt_nov_dec'.split('_'), weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY.', LL: 'YYYY. [gada] D. MMMM', LLL: 'YYYY. [gada] D. MMMM, HH:mm', LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm' }, relativeTime: { future: 'pÄ“c %s', past: 'pirms %s', s: 'dažÄm sekundÄ“m', m: 'minÅ«tes', mm: '%d minÅ«tÄ“m', h: 'stundas', hh: '%d stundÄm', d: 'dienas', dd: '%d dienÄm', M: 'mÄ“neÅ¡a', MM: '%d mÄ“neÅ¡iem', y: 'gada', yy: '%d gadiem' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/me.js000066400000000000000000000013331520523163200174770ustar00rootroot00000000000000// Montenegrin [me] import dayjs from 'dayjs' const locale = { name: 'me', weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota'.split('_'), months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'), weekStart: 1, weekdaysShort: 'ned._pon._uto._sri._Äet._pet._sub.'.split('_'), monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'), weekdaysMin: 'ne_po_ut_sr_Äe_pe_su'.split('_'), ordinal: n => n, formats: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD.MM.YYYY', LL: 'D. MMMM YYYY', LLL: 'D. MMMM YYYY H:mm', LLLL: 'dddd, D. MMMM YYYY H:mm' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/mi.js000066400000000000000000000020721520523163200175040ustar00rootroot00000000000000// Maori [mi] import dayjs from 'dayjs' const locale = { name: 'mi', weekdays: 'RÄtapu_Mane_TÅ«rei_Wenerei_TÄite_Paraire_HÄtarei'.split('_'), months: 'Kohi-tÄte_Hui-tanguru_PoutÅ«-te-rangi_Paenga-whÄwhÄ_Haratua_Pipiri_HÅngoingoi_Here-turi-kÅkÄ_Mahuru_Whiringa-Ä-nuku_Whiringa-Ä-rangi_Hakihea'.split('_'), weekStart: 1, weekdaysShort: 'Ta_Ma_TÅ«_We_TÄi_Pa_HÄ'.split('_'), monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_HÅngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'), weekdaysMin: 'Ta_Ma_TÅ«_We_TÄi_Pa_HÄ'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY [i] HH:mm', LLLL: 'dddd, D MMMM YYYY [i] HH:mm' }, relativeTime: { future: 'i roto i %s', past: '%s i mua', s: 'te hÄ“kona ruarua', m: 'he meneti', mm: '%d meneti', h: 'te haora', hh: '%d haora', d: 'he ra', dd: '%d ra', M: 'he marama', MM: '%d marama', y: 'he tau', yy: '%d tau' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/mk.js000066400000000000000000000023271520523163200175110ustar00rootroot00000000000000// Macedonian [mk] import dayjs from 'dayjs' const locale = { name: 'mk', weekdays: 'недела_понеделник_вторник_Ñреда_четврток_петок_Ñабота'.split('_'), months: 'јануари_февруари_март_април_мај_јуни_јули_авгуÑÑ‚_Ñептември_октомври_ноември_декември'.split('_'), weekStart: 1, weekdaysShort: 'нед_пон_вто_Ñре_чет_пет_Ñаб'.split('_'), monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_Ñеп_окт_ное_дек'.split('_'), weekdaysMin: 'нe_пo_вт_ÑÑ€_че_пе_Ña'.split('_'), ordinal: n => n, formats: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'D.MM.YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY H:mm', LLLL: 'dddd, D MMMM YYYY H:mm' }, relativeTime: { future: 'поÑле %s', past: 'пред %s', s: 'неколку Ñекунди', m: 'минута', mm: '%d минути', h: 'чаÑ', hh: '%d чаÑа', d: 'ден', dd: '%d дена', M: 'меÑец', MM: '%d меÑеци', y: 'година', yy: '%d години' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/ml.js000066400000000000000000000033341520523163200175110ustar00rootroot00000000000000// Malayalam [ml] import dayjs from 'dayjs' const locale = { name: 'ml', weekdays: 'ഞായറാഴàµà´š_തിങàµà´•ളാഴàµà´š_ചൊവàµà´µà´¾à´´àµà´š_à´¬àµà´§à´¨à´¾à´´àµà´š_à´µàµà´¯à´¾à´´à´¾à´´àµà´š_വെളàµà´³à´¿à´¯à´¾à´´àµà´š_ശനിയാഴàµà´š'.split('_'), months: 'ജനàµà´µà´°à´¿_ഫെബàµà´°àµà´µà´°à´¿_മാർചàµà´šàµ_à´à´ªàµà´°à´¿àµ½_മേയàµ_ജൂൺ_ജൂലൈ_à´“à´—à´¸àµà´±àµà´±àµ_സെപàµà´±àµà´±à´‚ബർ_à´’à´•àµà´Ÿàµ‹à´¬àµ¼_നവംബർ_ഡിസംബർ'.split('_'), weekdaysShort: 'ഞായർ_തിങàµà´•ൾ_ചൊവàµà´µ_à´¬àµà´§àµ»_à´µàµà´¯à´¾à´´à´‚_വെളàµà´³à´¿_ശനി'.split('_'), monthsShort: 'ജനàµ._ഫെബàµà´°àµ._മാർ._à´à´ªàµà´°à´¿._മേയàµ_ജൂൺ_ജൂലൈ._à´“à´—._സെപàµà´±àµà´±._à´’à´•àµà´Ÿàµ‹._നവം._ഡിസം.'.split('_'), weekdaysMin: 'à´žà´¾_തി_ചൊ_à´¬àµ_à´µàµà´¯à´¾_വെ_à´¶'.split('_'), ordinal: n => n, formats: { LT: 'A h:mm -à´¨àµ', LTS: 'A h:mm:ss -à´¨àµ', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY, A h:mm -à´¨àµ', LLLL: 'dddd, D MMMM YYYY, A h:mm -à´¨àµ' }, relativeTime: { future: '%s à´•à´´à´¿à´žàµà´žàµ', past: '%s à´®àµàµ»à´ªàµ', s: 'അൽപ നിമിഷങàµà´™àµ¾', m: 'ഒരൠമിനിറàµà´±àµ', mm: '%d മിനിറàµà´±àµ', h: 'ഒരൠമണികàµà´•ൂർ', hh: '%d മണികàµà´•ൂർ', d: 'ഒരൠദിവസം', dd: '%d ദിവസം', M: 'ഒരൠമാസം', MM: '%d മാസം', y: 'ഒരൠവർഷം', yy: '%d വർഷം' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/mn.js000066400000000000000000000025021520523163200175070ustar00rootroot00000000000000// Mongolian [mn] import dayjs from 'dayjs' const locale = { name: 'mn', weekdays: 'ÐÑм_Даваа_МÑгмар_Лхагва_ПүрÑв_БааÑан_БÑмба'.split('_'), months: 'ÐÑгдүгÑÑÑ€ Ñар_Хоёрдугаар Ñар_Гуравдугаар Ñар_ДөрөвдүгÑÑÑ€ Ñар_Тавдугаар Ñар_Зургадугаар Ñар_Долдугаар Ñар_Ðаймдугаар Ñар_ЕÑдүгÑÑÑ€ Ñар_Ðравдугаар Ñар_Ðрван нÑгдүгÑÑÑ€ Ñар_Ðрван хоёрдугаар Ñар'.split('_'), weekdaysShort: 'ÐÑм_Дав_МÑг_Лха_Пүр_Баа_БÑм'.split('_'), monthsShort: '1 Ñар_2 Ñар_3 Ñар_4 Ñар_5 Ñар_6 Ñар_7 Ñар_8 Ñар_9 Ñар_10 Ñар_11 Ñар_12 Ñар'.split('_'), weekdaysMin: 'ÐÑ_Да_МÑ_Лх_Пү_Ба_БÑ'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'YYYY-MM-DD', LL: 'YYYY оны MMMMын D', LLL: 'YYYY оны MMMMын D HH:mm', LLLL: 'dddd, YYYY оны MMMMын D HH:mm' }, relativeTime: { future: '%s', past: '%s', s: 'ÑаÑхан', m: 'м', mm: '%dм', h: '1ц', hh: '%dц', d: '1Ó©', dd: '%dÓ©', M: '1Ñ', MM: '%dÑ', y: '1ж', yy: '%dж' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/mr.js000066400000000000000000000023011520523163200175100ustar00rootroot00000000000000// Marathi [mr] import dayjs from 'dayjs' const locale = { name: 'mr', weekdays: 'रविवार_सोमवार_मंगळवार_बà¥à¤§à¤µà¤¾à¤°_गà¥à¤°à¥‚वार_शà¥à¤•à¥à¤°à¤µà¤¾à¤°_शनिवार'.split('_'), months: 'जानेवारी_फेबà¥à¤°à¥à¤µà¤¾à¤°à¥€_मारà¥à¤š_à¤à¤ªà¥à¤°à¤¿à¤²_मे_जून_जà¥à¤²à¥ˆ_ऑगसà¥à¤Ÿ_सपà¥à¤Ÿà¥‡à¤‚बर_ऑकà¥à¤Ÿà¥‹à¤¬à¤°_नोवà¥à¤¹à¥‡à¤‚बर_डिसेंबर'.split('_'), weekdaysShort: 'रवि_सोम_मंगळ_बà¥à¤§_गà¥à¤°à¥‚_शà¥à¤•à¥à¤°_शनि'.split('_'), monthsShort: 'जाने._फेबà¥à¤°à¥._मारà¥à¤š._à¤à¤ªà¥à¤°à¤¿._मे._जून._जà¥à¤²à¥ˆ._ऑग._सपà¥à¤Ÿà¥‡à¤‚._ऑकà¥à¤Ÿà¥‹._नोवà¥à¤¹à¥‡à¤‚._डिसें.'.split('_'), weekdaysMin: 'र_सो_मं_बà¥_गà¥_शà¥_श'.split('_'), ordinal: n => n, formats: { LT: 'A h:mm वाजता', LTS: 'A h:mm:ss वाजता', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY, A h:mm वाजता', LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/ms-my.js000066400000000000000000000017441520523163200201460ustar00rootroot00000000000000// Malay [ms-my] import dayjs from 'dayjs' const locale = { name: 'ms-my', weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'), weekStart: 1, weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), ordinal: n => n, formats: { LT: 'HH.mm', LTS: 'HH.mm.ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY [pukul] HH.mm', LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm' }, relativeTime: { future: 'dalam %s', past: '%s yang lepas', s: 'beberapa saat', m: 'seminit', mm: '%d minit', h: 'sejam', hh: '%d jam', d: 'sehari', dd: '%d hari', M: 'sebulan', MM: '%d bulan', y: 'setahun', yy: '%d tahun' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/ms.js000066400000000000000000000017231520523163200175200ustar00rootroot00000000000000// Malay [ms] import dayjs from 'dayjs' const locale = { name: 'ms', weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'), monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), weekStart: 1, formats: { LT: 'HH.mm', LTS: 'HH.mm.ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH.mm', LLLL: 'dddd, D MMMM YYYY HH.mm' }, relativeTime: { future: 'dalam %s', past: '%s yang lepas', s: 'beberapa saat', m: 'seminit', mm: '%d minit', h: 'sejam', hh: '%d jam', d: 'sehari', dd: '%d hari', M: 'sebulan', MM: '%d bulan', y: 'setahun', yy: '%d tahun' }, ordinal: n => `${n}.` } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/mt.js000066400000000000000000000017721520523163200175250ustar00rootroot00000000000000// Maltese (Malta) [mt] import dayjs from 'dayjs' const locale = { name: 'mt', weekdays: 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ä imgħa_Is-Sibt'.split('_'), months: 'Jannar_Frar_Marzu_April_Mejju_Ä unju_Lulju_Awwissu_Settembru_Ottubru_Novembru_DiÄ‹embru'.split('_'), weekStart: 1, weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ä im_Sib'.split('_'), monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ä un_Lul_Aww_Set_Ott_Nov_DiÄ‹'.split('_'), weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ä i_Si'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm' }, relativeTime: { future: 'f’ %s', past: '%s ilu', s: 'ftit sekondi', m: 'minuta', mm: '%d minuti', h: 'siegħa', hh: '%d siegħat', d: 'Ä¡urnata', dd: '%d Ä¡ranet', M: 'xahar', MM: '%d xhur', y: 'sena', yy: '%d sni' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/my.js000066400000000000000000000030271520523163200175250ustar00rootroot00000000000000// Burmese [my] import dayjs from 'dayjs' const locale = { name: 'my', weekdays: 'á€á€”င်္ဂနွေ_á€á€”င်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပá€á€±á€¸_သောကြာ_စနေ'.split('_'), months: 'ဇန်နá€á€«á€›á€®_ဖေဖော်á€á€«á€›á€®_မá€á€º_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုá€á€º_စက်á€á€„်ဘာ_အောက်á€á€­á€¯á€˜á€¬_နိုá€á€„်ဘာ_ဒီဇင်ဘာ'.split('_'), weekStart: 1, weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'), monthsShort: 'ဇန်_ဖေ_မá€á€º_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'), weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm' }, relativeTime: { future: 'လာမည့် %s မှာ', past: 'လွန်á€á€²á€·á€žá€±á€¬ %s က', s: 'စက္ကန်.အနည်းငယ်', m: 'á€á€…်မိနစ်', mm: '%d မိနစ်', h: 'á€á€…်နာရီ', hh: '%d နာရီ', d: 'á€á€…်ရက်', dd: '%d ရက်', M: 'á€á€…်လ', MM: '%d လ', y: 'á€á€…်နှစ်', yy: '%d နှစ်' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/nb.js000066400000000000000000000020361520523163200174760ustar00rootroot00000000000000// Norwegian BokmÃ¥l [nb] import dayjs from 'dayjs' const locale = { name: 'nb', weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'), weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'), months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'), monthsShort: 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'), ordinal: n => `${n}.`, weekStart: 1, yearStart: 4, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D. MMMM YYYY', LLL: 'D. MMMM YYYY [kl.] HH:mm', LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm' }, relativeTime: { future: 'om %s', past: '%s siden', s: 'noen sekunder', m: 'ett minutt', mm: '%d minutter', h: 'en time', hh: '%d timer', d: 'en dag', dd: '%d dager', M: 'en mÃ¥ned', MM: '%d mÃ¥neder', y: 'ett Ã¥r', yy: '%d Ã¥r' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/ne.js000066400000000000000000000032111520523163200174750ustar00rootroot00000000000000// Nepalese [ne] import dayjs from 'dayjs' const locale = { name: 'ne', weekdays: 'आइतबार_सोमबार_मङà¥à¤—लबार_बà¥à¤§à¤¬à¤¾à¤°_बिहिबार_शà¥à¤•à¥à¤°à¤¬à¤¾à¤°_शनिबार'.split('_'), weekdaysShort: 'आइत._सोम._मङà¥à¤—ल._बà¥à¤§._बिहि._शà¥à¤•à¥à¤°._शनि.'.split('_'), weekdaysMin: 'आ._सो._मं._बà¥._बि._शà¥._श.'.split('_'), months: 'जनवरी_फेबà¥à¤°à¥à¤µà¤°à¥€_मारà¥à¤š_अपà¥à¤°à¤¿à¤²_मे_जà¥à¤¨_जà¥à¤²à¤¾à¤ˆ_अगषà¥à¤Ÿ_सेपà¥à¤Ÿà¥‡à¤®à¥à¤¬à¤°_अकà¥à¤Ÿà¥‹à¤¬à¤°_नोभेमà¥à¤¬à¤°_डिसेमà¥à¤¬à¤°'.split('_'), monthsShort: 'जन._फेबà¥à¤°à¥._मारà¥à¤š_अपà¥à¤°à¤¿._मई_जà¥à¤¨_जà¥à¤²à¤¾à¤ˆ._अग._सेपà¥à¤Ÿ._अकà¥à¤Ÿà¥‹._नोभे._डिसे.'.split('_'), relativeTime: { future: '%s पछि', past: '%s अघि', s: 'सेकेनà¥à¤¡', m: 'à¤à¤• मिनेट', mm: '%d मिनेट', h: 'घनà¥à¤Ÿà¤¾', hh: '%d घनà¥à¤Ÿà¤¾', d: 'à¤à¤• दिन', dd: '%d दिन', M: 'à¤à¤• महिना', MM: '%d महिना', y: 'à¤à¤• वरà¥à¤·', yy: '%d वरà¥à¤·' }, ordinal: n => `${n}`.replace(/\d/g, i => '०१२३४५६७८९'[i]), formats: { LT: 'Aको h:mm बजे', LTS: 'Aको h:mm:ss बजे', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY, Aको h:mm बजे', LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/nl-be.js000066400000000000000000000020241520523163200200710ustar00rootroot00000000000000// Dutch (Belgium) [nl-be] import dayjs from 'dayjs' const locale = { name: 'nl-be', weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'), months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'), monthsShort: 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'), weekStart: 1, weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'), weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm' }, relativeTime: { future: 'over %s', past: '%s geleden', s: 'een paar seconden', m: 'één minuut', mm: '%d minuten', h: 'één uur', hh: '%d uur', d: 'één dag', dd: '%d dagen', M: 'één maand', MM: '%d maanden', y: 'één jaar', yy: '%d jaar' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/nl.js000066400000000000000000000020651520523163200175120ustar00rootroot00000000000000// Dutch [nl] import dayjs from 'dayjs' const locale = { name: 'nl', weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'), weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'), weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'), months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'), monthsShort: 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'), ordinal: n => `[${n}${n === 1 || n === 8 || n >= 20 ? 'ste' : 'de'}]`, weekStart: 1, yearStart: 4, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD-MM-YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm' }, relativeTime: { future: 'over %s', past: '%s geleden', s: 'een paar seconden', m: 'een minuut', mm: '%d minuten', h: 'een uur', hh: '%d uur', d: 'een dag', dd: '%d dagen', M: 'een maand', MM: '%d maanden', y: 'een jaar', yy: '%d jaar' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/nn.js000066400000000000000000000017731520523163200175210ustar00rootroot00000000000000// Nynorsk [nn] import dayjs from 'dayjs' const locale = { name: 'nn', weekdays: 'sundag_mÃ¥ndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'), weekdaysShort: 'sun_mÃ¥n_tys_ons_tor_fre_lau'.split('_'), weekdaysMin: 'su_mÃ¥_ty_on_to_fr_la'.split('_'), months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'), monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), ordinal: n => `${n}.`, weekStart: 1, relativeTime: { future: 'om %s', past: 'for %s sidan', s: 'nokre sekund', m: 'eitt minutt', mm: '%d minutt', h: 'ein time', hh: '%d timar', d: 'ein dag', dd: '%d dagar', M: 'ein mÃ¥nad', MM: '%d mÃ¥nadar', y: 'eitt Ã¥r', yy: '%d Ã¥r' }, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D. MMMM YYYY', LLL: 'D. MMMM YYYY [kl.] H:mm', LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/oc-lnc.js000066400000000000000000000020311520523163200202450ustar00rootroot00000000000000// Occitan, lengadocian dialecte [oc-lnc] import dayjs from 'dayjs' const locale = { name: 'oc-lnc', weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split('_'), weekdaysShort: 'Dg_Dl_Dm_Dc_Dj_Dv_Ds'.split('_'), weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'), months: 'genièr_febrièr_març_abrial_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split('_'), monthsShort: 'gen_feb_març_abr_mai_junh_julh_ago_set_oct_nov_dec'.split('_'), weekStart: 1, formats: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM [de] YYYY', LLL: 'D MMMM [de] YYYY [a] H:mm', LLLL: 'dddd D MMMM [de] YYYY [a] H:mm' }, relativeTime: { future: 'd\'aquí %s', past: 'fa %s', s: 'unas segondas', m: 'una minuta', mm: '%d minutas', h: 'una ora', hh: '%d oras', d: 'un jorn', dd: '%d jorns', M: 'un mes', MM: '%d meses', y: 'un an', yy: '%d ans' }, ordinal: n => `${n}º` } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/pa-in.js000066400000000000000000000030761520523163200201100ustar00rootroot00000000000000// Punjabi (India) [pa-in] import dayjs from 'dayjs' const locale = { name: 'pa-in', weekdays: 'à¨à¨¤à¨µà¨¾à¨°_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬà©à¨§à¨µà¨¾à¨°_ਵੀਰਵਾਰ_ਸ਼à©à©±à¨•ਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'), months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪà©à¨°à©ˆà¨²_ਮਈ_ਜੂਨ_ਜà©à¨²à¨¾à¨ˆ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'), weekdaysShort: 'à¨à¨¤_ਸੋਮ_ਮੰਗਲ_ਬà©à¨§_ਵੀਰ_ਸ਼à©à¨•ਰ_ਸ਼ਨੀ'.split('_'), monthsShort: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪà©à¨°à©ˆà¨²_ਮਈ_ਜੂਨ_ਜà©à¨²à¨¾à¨ˆ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'), weekdaysMin: 'à¨à¨¤_ਸੋਮ_ਮੰਗਲ_ਬà©à¨§_ਵੀਰ_ਸ਼à©à¨•ਰ_ਸ਼ਨੀ'.split('_'), ordinal: n => n, formats: { LT: 'A h:mm ਵਜੇ', LTS: 'A h:mm:ss ਵਜੇ', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY, A h:mm ਵਜੇ', LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ' }, relativeTime: { future: '%s ਵਿੱਚ', past: '%s ਪਿਛਲੇ', s: 'ਕà©à¨ ਸਕਿੰਟ', m: 'ਇਕ ਮਿੰਟ', mm: '%d ਮਿੰਟ', h: 'ਇੱਕ ਘੰਟਾ', hh: '%d ਘੰਟੇ', d: 'ਇੱਕ ਦਿਨ', dd: '%d ਦਿਨ', M: 'ਇੱਕ ਮਹੀਨਾ', MM: '%d ਮਹੀਨੇ', y: 'ਇੱਕ ਸਾਲ', yy: '%d ਸਾਲ' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/pl.js000066400000000000000000000041371520523163200175160ustar00rootroot00000000000000// Polish [pl] import dayjs from 'dayjs' function plural(n) { return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1) // eslint-disable-line } /* eslint-disable */ function translate(number, withoutSuffix, key) { const result = `${number} ` switch (key) { case 'm': return withoutSuffix ? 'minuta' : 'minutÄ™' case 'mm': return result + (plural(number) ? 'minuty' : 'minut') case 'h': return withoutSuffix ? 'godzina' : 'godzinÄ™' case 'hh': return result + (plural(number) ? 'godziny' : 'godzin') case 'MM': return result + (plural(number) ? 'miesiÄ…ce' : 'miesiÄ™cy') case 'yy': return result + (plural(number) ? 'lata' : 'lat') } } /* eslint-enable */ const monthFormat = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrzeÅ›nia_października_listopada_grudnia'.split('_') const monthStandalone = 'styczeÅ„_luty_marzec_kwiecieÅ„_maj_czerwiec_lipiec_sierpieÅ„_wrzesieÅ„_październik_listopad_grudzieÅ„'.split('_') const MONTHS_IN_FORMAT = /D MMMM/ const months = (dayjsInstance, format) => { if (MONTHS_IN_FORMAT.test(format)) { return monthFormat[dayjsInstance.month()] } return monthStandalone[dayjsInstance.month()] } months.s = monthStandalone months.f = monthFormat const locale = { name: 'pl', weekdays: 'niedziela_poniedziaÅ‚ek_wtorek_Å›roda_czwartek_piÄ…tek_sobota'.split('_'), weekdaysShort: 'ndz_pon_wt_Å›r_czw_pt_sob'.split('_'), weekdaysMin: 'Nd_Pn_Wt_Åšr_Cz_Pt_So'.split('_'), months, monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'), ordinal: n => `${n}.`, weekStart: 1, yearStart: 4, relativeTime: { future: 'za %s', past: '%s temu', s: 'kilka sekund', m: translate, mm: translate, h: translate, hh: translate, d: '1 dzieÅ„', dd: '%d dni', M: 'miesiÄ…c', MM: translate, y: 'rok', yy: translate }, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/pt-br.js000066400000000000000000000020661520523163200201260ustar00rootroot00000000000000// Portuguese (Brazil) [pt-br] import dayjs from 'dayjs' const locale = { name: 'pt-br', weekdays: 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split('_'), weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'), weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'), months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'), monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'), ordinal: n => `${n}º`, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D [de] MMMM [de] YYYY', LLL: 'D [de] MMMM [de] YYYY [às] HH:mm', LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm' }, relativeTime: { future: 'em %s', past: 'há %s', s: 'poucos segundos', m: 'um minuto', mm: '%d minutos', h: 'uma hora', hh: '%d horas', d: 'um dia', dd: '%d dias', M: 'um mês', MM: '%d meses', y: 'um ano', yy: '%d anos' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/pt.js000066400000000000000000000021051520523163200175170ustar00rootroot00000000000000// Portuguese [pt] import dayjs from 'dayjs' const locale = { name: 'pt', weekdays: 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split('_'), weekdaysShort: 'dom_seg_ter_qua_qui_sex_sab'.split('_'), weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sa'.split('_'), months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'), monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'), ordinal: n => `${n}º`, weekStart: 1, yearStart: 4, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D [de] MMMM [de] YYYY', LLL: 'D [de] MMMM [de] YYYY [às] HH:mm', LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm' }, relativeTime: { future: 'em %s', past: 'há %s', s: 'alguns segundos', m: 'um minuto', mm: '%d minutos', h: 'uma hora', hh: '%d horas', d: 'um dia', dd: '%d dias', M: 'um mês', MM: '%d meses', y: 'um ano', yy: '%d anos' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/rn.js000066400000000000000000000020401520523163200175110ustar00rootroot00000000000000// Kirundi [rn] import dayjs from 'dayjs' const locale = { name: 'rn', weekdays: 'Ku wa Mungu_Ku wa Mbere_Ku wa Kabiri_Ku wa Gatatu_Ku wa Kane_Ku wa Gatanu_Ku wa Gatandatu'.split('_'), weekdaysShort: 'Kngu_Kmbr_Kbri_Ktat_Kkan_Ktan_Kdat'.split('_'), weekdaysMin: 'K7_K1_K2_K3_K4_K5_K6'.split('_'), months: 'Nzero_Ruhuhuma_Ntwarante_Ndamukiza_Rusama_Ruhenshi_Mukakaro_Myandagaro_Nyakanga_Gitugutu_Munyonyo_Kigarama'.split('_'), monthsShort: 'Nzer_Ruhuh_Ntwar_Ndam_Rus_Ruhen_Muk_Myand_Nyak_Git_Muny_Kig'.split('_'), weekStart: 1, ordinal: n => n, relativeTime: { future: 'mu %s', past: '%s', s: 'amasegonda', m: 'Umunota', mm: '%d iminota', h: 'isaha', hh: '%d amasaha', d: 'Umunsi', dd: '%d iminsi', M: 'ukwezi', MM: '%d amezi', y: 'umwaka', yy: '%d imyaka' }, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/ro.js000066400000000000000000000017561520523163200175270ustar00rootroot00000000000000// Romanian [ro] import dayjs from 'dayjs' const locale = { name: 'ro', weekdays: 'Duminică_Luni_MarÈ›i_Miercuri_Joi_Vineri_Sâmbătă'.split('_'), weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'), weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'), months: 'Ianuarie_Februarie_Martie_Aprilie_Mai_Iunie_Iulie_August_Septembrie_Octombrie_Noiembrie_Decembrie'.split('_'), monthsShort: 'Ian._Febr._Mart._Apr._Mai_Iun._Iul._Aug._Sept._Oct._Nov._Dec.'.split('_'), weekStart: 1, formats: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY H:mm', LLLL: 'dddd, D MMMM YYYY H:mm' }, relativeTime: { future: 'peste %s', past: 'acum %s', s: 'câteva secunde', m: 'un minut', mm: '%d minute', h: 'o oră', hh: '%d ore', d: 'o zi', dd: '%d zile', M: 'o lună', MM: '%d luni', y: 'un an', yy: '%d ani' }, ordinal: n => n } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/ru.js000066400000000000000000000062071520523163200175310ustar00rootroot00000000000000// Russian [ru] import dayjs from 'dayjs' const monthFormat = 'ÑнварÑ_февралÑ_марта_апрелÑ_маÑ_июнÑ_июлÑ_авгуÑта_ÑентÑбрÑ_октÑбрÑ_ноÑбрÑ_декабрÑ'.split('_') const monthStandalone = 'Ñнварь_февраль_март_апрель_май_июнь_июль_авгуÑÑ‚_ÑентÑбрь_октÑбрь_ноÑбрь_декабрь'.split('_') const monthShortFormat = 'Ñнв._февр._мар._апр._маÑ_июнÑ_июлÑ_авг._Ñент._окт._ноÑб._дек.'.split('_') const monthShortStandalone = 'Ñнв._февр._март_апр._май_июнь_июль_авг._Ñент._окт._ноÑб._дек.'.split('_') const MONTHS_IN_FORMAT = /D[oD]?(\[[^[\]]*\]|\s)+MMMM?/ function plural(word, num) { const forms = word.split('_') return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]) // eslint-disable-line } function relativeTimeWithPlural(number, withoutSuffix, key) { const format = { mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут', hh: 'чаÑ_чаÑа_чаÑов', dd: 'день_днÑ_дней', MM: 'меÑÑц_меÑÑца_меÑÑцев', yy: 'год_года_лет' } if (key === 'm') { return withoutSuffix ? 'минута' : 'минуту' } return `${number} ${plural(format[key], +number)}` } const months = (dayjsInstance, format) => { if (MONTHS_IN_FORMAT.test(format)) { return monthFormat[dayjsInstance.month()] } return monthStandalone[dayjsInstance.month()] } months.s = monthStandalone months.f = monthFormat const monthsShort = (dayjsInstance, format) => { if (MONTHS_IN_FORMAT.test(format)) { return monthShortFormat[dayjsInstance.month()] } return monthShortStandalone[dayjsInstance.month()] } monthsShort.s = monthShortStandalone monthsShort.f = monthShortFormat const locale = { name: 'ru', weekdays: 'воÑкреÑенье_понедельник_вторник_Ñреда_четверг_пÑтница_Ñуббота'.split('_'), weekdaysShort: 'вÑк_пнд_втр_Ñрд_чтв_птн_Ñбт'.split('_'), weekdaysMin: 'вÑ_пн_вт_ÑÑ€_чт_пт_Ñб'.split('_'), months, monthsShort, weekStart: 1, yearStart: 4, formats: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY г.', LLL: 'D MMMM YYYY г., H:mm', LLLL: 'dddd, D MMMM YYYY г., H:mm' }, relativeTime: { future: 'через %s', past: '%s назад', s: 'неÑколько Ñекунд', m: relativeTimeWithPlural, mm: relativeTimeWithPlural, h: 'чаÑ', hh: relativeTimeWithPlural, d: 'день', dd: relativeTimeWithPlural, M: 'меÑÑц', MM: relativeTimeWithPlural, y: 'год', yy: relativeTimeWithPlural }, ordinal: n => n, meridiem: (hour) => { if (hour < 4) { return 'ночи' } else if (hour < 12) { return 'утра' } else if (hour < 17) { return 'днÑ' } return 'вечера' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/rw.js000066400000000000000000000015031520523163200175250ustar00rootroot00000000000000// Kinyarwanda (Rwanda) [rw] import dayjs from 'dayjs' const locale = { name: 'rw', weekdays: 'Ku Cyumweru_Kuwa Mbere_Kuwa Kabiri_Kuwa Gatatu_Kuwa Kane_Kuwa Gatanu_Kuwa Gatandatu'.split('_'), months: 'Mutarama_Gashyantare_Werurwe_Mata_Gicurasi_Kamena_Nyakanga_Kanama_Nzeri_Ukwakira_Ugushyingo_Ukuboza'.split('_'), relativeTime: { future: 'mu %s', past: '%s', s: 'amasegonda', m: 'Umunota', mm: '%d iminota', h: 'isaha', hh: '%d amasaha', d: 'Umunsi', dd: '%d iminsi', M: 'ukwezi', MM: '%d amezi', y: 'umwaka', yy: '%d imyaka' }, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm' }, ordinal: n => n } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/sd.js000066400000000000000000000023431520523163200175060ustar00rootroot00000000000000// Sindhi [sd] import dayjs from 'dayjs' const locale = { name: 'sd', weekdays: 'آچر_سومر_اڱارو_اربع_خميس_جمع_ڇنڇر'.split('_'), months: 'جنوري_Ùيبروري_مارچ_اپريل_مئي_جون_جولاءÙ_آگسٽ_سيپٽمبر_آڪٽوبر_نومبر_ڊسمبر'.split('_'), weekStart: 1, weekdaysShort: 'آچر_سومر_اڱارو_اربع_خميس_جمع_ڇنڇر'.split('_'), monthsShort: 'جنوري_Ùيبروري_مارچ_اپريل_مئي_جون_جولاءÙ_آگسٽ_سيپٽمبر_آڪٽوبر_نومبر_ڊسمبر'.split('_'), weekdaysMin: 'آچر_سومر_اڱارو_اربع_خميس_جمع_ڇنڇر'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'ddddØŒ D MMMM YYYY HH:mm' }, relativeTime: { future: '%s پوء', past: '%s اڳ', s: 'چند سيڪنڊ', m: 'Ù‡Úª منٽ', mm: '%d منٽ', h: 'Ù‡Úª ڪلاڪ', hh: '%d ڪلاڪ', d: 'Ù‡Úª Úينهن', dd: '%d Úينهن', M: 'Ù‡Úª مهينو', MM: '%d مهينا', y: 'Ù‡Úª سال', yy: '%d سال' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/se.js000066400000000000000000000022371520523163200175110ustar00rootroot00000000000000// Northern Sami [se] import dayjs from 'dayjs' const locale = { name: 'se', weekdays: 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'), months: 'ođđajagemánnu_guovvamánnu_njukÄamánnu_cuoÅ‹ománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_ÄakÄamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split('_'), weekStart: 1, weekdaysShort: 'sotn_vuos_maÅ‹_gask_duor_bear_láv'.split('_'), monthsShort: 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_ÄakÄ_golg_skáb_juov'.split('_'), weekdaysMin: 's_v_m_g_d_b_L'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'MMMM D. [b.] YYYY', LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm', LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm' }, relativeTime: { future: '%s geažes', past: 'maÅ‹it %s', s: 'moadde sekunddat', m: 'okta minuhta', mm: '%d minuhtat', h: 'okta diimmu', hh: '%d diimmut', d: 'okta beaivi', dd: '%d beaivvit', M: 'okta mánnu', MM: '%d mánut', y: 'okta jahki', yy: '%d jagit' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/si.js000066400000000000000000000026541520523163200175200ustar00rootroot00000000000000// Sinhalese [si] import dayjs from 'dayjs' const locale = { name: 'si', weekdays: 'ඉරිදà·_සඳුදà·_අඟහරුවà·à¶¯à·_බදà·à¶¯à·_à¶¶à·Šâ€à¶»à·„ස්පතින්දà·_සිකුරà·à¶¯à·_සෙනසුරà·à¶¯à·'.split('_'), months: 'දුරුතු_නවම්_මà·à¶¯à·’න්_à¶¶à¶šà·Š_වෙසක්_පොසොන්_ඇසළ_නිකිණි_බිනර_වප්_ඉල්_උඳුවප්'.split('_'), weekdaysShort: 'ඉරි_සඳු_à¶…à¶Ÿ_බදà·_à¶¶à·Šâ€à¶»à·„_සිකු_සෙන'.split('_'), monthsShort: 'දුරු_නව_මà·à¶¯à·’_à¶¶à¶šà·Š_වෙස_පොසො_ඇස_නිකි_à¶¶à·’à¶±_වප්_ඉල්_උඳු'.split('_'), weekdaysMin: 'ඉ_à·ƒ_à¶…_à¶¶_à¶¶à·Šâ€à¶»_සි_සෙ'.split('_'), ordinal: n => n, formats: { LT: 'a h:mm', LTS: 'a h:mm:ss', L: 'YYYY/MM/DD', LL: 'YYYY MMMM D', LLL: 'YYYY MMMM D, a h:mm', LLLL: 'YYYY MMMM D [à·€à·à¶±à·’] dddd, a h:mm:ss' }, relativeTime: { future: '%sකින්', past: '%sà¶šà¶§ පෙර', s: 'à¶­à¶­à·Šà¶´à¶» කිහිපය', m: 'විනà·à¶©à·’ය', mm: 'විනà·à¶©à·’ %d', h: 'à¶´à·à¶º', hh: 'à¶´à·à¶º %d', d: 'දිනය', dd: 'දින %d', M: 'මà·à·ƒà¶º', MM: 'මà·à·ƒ %d', y: 'වසර', yy: 'වසර %d' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/sk.js000066400000000000000000000057431520523163200175240ustar00rootroot00000000000000// Slovak [sk] import dayjs from 'dayjs' function plural(n) { return (n > 1) && (n < 5) && (~~(n / 10) !== 1) // eslint-disable-line } /* eslint-disable */ function translate(number, withoutSuffix, key, isFuture) { const result = `${number} ` switch (key) { case 's': // a few seconds / in a few seconds / a few seconds ago return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami' case 'm': // a minute / in a minute / a minute ago return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou') case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago if (withoutSuffix || isFuture) { return result + (plural(number) ? 'minúty' : 'minút') } return `${result}minútami` case 'h': // an hour / in an hour / an hour ago return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou') case 'hh': // 9 hours / in 9 hours / 9 hours ago if (withoutSuffix || isFuture) { return result + (plural(number) ? 'hodiny' : 'hodín') } return `${result}hodinami` case 'd': // a day / in a day / a day ago return (withoutSuffix || isFuture) ? 'deň' : 'dňom' case 'dd': // 9 days / in 9 days / 9 days ago if (withoutSuffix || isFuture) { return result + (plural(number) ? 'dni' : 'dní') } return `${result}dňami` case 'M': // a month / in a month / a month ago return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom' case 'MM': // 9 months / in 9 months / 9 months ago if (withoutSuffix || isFuture) { return result + (plural(number) ? 'mesiace' : 'mesiacov') } return `${result}mesiacmi` case 'y': // a year / in a year / a year ago return (withoutSuffix || isFuture) ? 'rok' : 'rokom' case 'yy': // 9 years / in 9 years / 9 years ago if (withoutSuffix || isFuture) { return result + (plural(number) ? 'roky' : 'rokov') } return `${result}rokmi` } } /* eslint-enable */ const locale = { name: 'sk', weekdays: 'nedeľa_pondelok_utorok_streda_Å¡tvrtok_piatok_sobota'.split('_'), weekdaysShort: 'ne_po_ut_st_Å¡t_pi_so'.split('_'), weekdaysMin: 'ne_po_ut_st_Å¡t_pi_so'.split('_'), months: 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'), monthsShort: 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_'), weekStart: 1, yearStart: 4, ordinal: n => `${n}.`, formats: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD.MM.YYYY', LL: 'D. MMMM YYYY', LLL: 'D. MMMM YYYY H:mm', LLLL: 'dddd D. MMMM YYYY H:mm', l: 'D. M. YYYY' }, relativeTime: { future: 'za %s', // Should be `o %s` (change when moment/moment#5408 is fixed) past: 'pred %s', s: translate, m: translate, mm: translate, h: translate, hh: translate, d: translate, dd: translate, M: translate, MM: translate, y: translate, yy: translate } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/sl.js000066400000000000000000000072711520523163200175230ustar00rootroot00000000000000// Slovenian [sl] import dayjs from 'dayjs' function dual(n) { return (n % 100) == 2 // eslint-disable-line } function threeFour(n) { return (n % 100) == 3 || (n % 100) == 4 // eslint-disable-line } /* eslint-disable */ function translate(number, withoutSuffix, key, isFuture) { const result = `${number} ` switch (key) { case 's': // a few seconds / in a few seconds / a few seconds ago return (withoutSuffix || isFuture) ? 'nekaj sekund' : 'nekaj sekundami' case 'm': // a minute / in a minute / a minute ago return withoutSuffix ? 'ena minuta' : 'eno minuto' case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago if (dual(number)) { return result + ((withoutSuffix || isFuture) ? 'minuti' : 'minutama') } if (threeFour(number)) { return result + ((withoutSuffix || isFuture) ? 'minute' : 'minutami') } return result + ((withoutSuffix || isFuture) ? 'minut' : 'minutami') case 'h': // an hour / in an hour / an hour ago return withoutSuffix ? 'ena ura' : (isFuture ? 'eno uro' : 'eno uro') case 'hh': // 9 hours / in 9 hours / 9 hours ago if (dual(number)) { return result + ((withoutSuffix || isFuture) ? 'uri' : 'urama') } if (threeFour(number)) { return result + ((withoutSuffix || isFuture) ? 'ure' : 'urami') } return result + ((withoutSuffix || isFuture) ? 'ur' : 'urami') case 'd': // a day / in a day / a day ago return (withoutSuffix || isFuture) ? 'en dan' : 'enim dnem' case 'dd': // 9 days / in 9 days / 9 days ago if (dual(number)) { return result + ((withoutSuffix || isFuture) ? 'dneva' : 'dnevoma') } return result + ((withoutSuffix || isFuture) ? 'dni' : 'dnevi') case 'M': // a month / in a month / a month ago return (withoutSuffix || isFuture) ? 'en mesec' : 'enim mesecem' case 'MM': // 9 months / in 9 months / 9 months ago if (dual(number)) { // 2 minutes / in 2 minutes return result + ((withoutSuffix || isFuture) ? 'meseca' : 'mesecema') } if (threeFour(number)) { return result + ((withoutSuffix || isFuture) ? 'mesece' : 'meseci') } return result + ((withoutSuffix || isFuture) ? 'mesecev' : 'meseci') case 'y': // a year / in a year / a year ago return (withoutSuffix || isFuture) ? 'eno leto' : 'enim letom' case 'yy': // 9 years / in 9 years / 9 years ago if (dual(number)) { // 2 minutes / in 2 minutes return result + ((withoutSuffix || isFuture) ? 'leti' : 'letoma') } if (threeFour(number)) { return result + ((withoutSuffix || isFuture) ? 'leta' : 'leti') } return result + ((withoutSuffix || isFuture) ? 'let' : 'leti') } } /* eslint-enable */ const locale = { name: 'sl', weekdays: 'nedelja_ponedeljek_torek_sreda_Äetrtek_petek_sobota'.split('_'), months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'), weekStart: 1, weekdaysShort: 'ned._pon._tor._sre._Äet._pet._sob.'.split('_'), monthsShort: 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'), weekdaysMin: 'ne_po_to_sr_Äe_pe_so'.split('_'), ordinal: n => `${n}.`, formats: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD.MM.YYYY', LL: 'D. MMMM YYYY', LLL: 'D. MMMM YYYY H:mm', LLLL: 'dddd, D. MMMM YYYY H:mm', l: 'D. M. YYYY' }, relativeTime: { future: 'Äez %s', past: 'pred %s', s: translate, m: translate, mm: translate, h: translate, hh: translate, d: translate, dd: translate, M: translate, MM: translate, y: translate, yy: translate } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/sq.js000066400000000000000000000017601520523163200175250ustar00rootroot00000000000000// Albanian [sq] import dayjs from 'dayjs' const locale = { name: 'sq', weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'), months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'), weekStart: 1, weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'), monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'), weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm' }, relativeTime: { future: 'në %s', past: '%s më parë', s: 'disa sekonda', m: 'një minutë', mm: '%d minuta', h: 'një orë', hh: '%d orë', d: 'një ditë', dd: '%d ditë', M: 'një muaj', MM: '%d muaj', y: 'një vit', yy: '%d vite' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/sr-cyrl.js000066400000000000000000000054341520523163200204770ustar00rootroot00000000000000// Serbian Cyrillic [sr-cyrl] import dayjs from 'dayjs' const translator = { words: { m: ['један минут', 'једног минута'], mm: ['%d минут', '%d минута', '%d минута'], h: ['један Ñат', 'једног Ñата'], hh: ['%d Ñат', '%d Ñата', '%d Ñати'], d: ['један дан', 'једног дана'], dd: ['%d дан', '%d дана', '%d дана'], M: ['један меÑец', 'једног меÑеца'], MM: ['%d меÑец', '%d меÑеца', '%d меÑеци'], y: ['једну годину', 'једне године'], yy: ['%d годину', '%d године', '%d година'] }, correctGrammarCase(number, wordKey) { if (number % 10 >= 1 && number % 10 <= 4 && (number % 100 < 10 || number % 100 >= 20)) { return number % 10 === 1 ? wordKey[0] : wordKey[1] } return wordKey[2] }, relativeTimeFormatter(number, withoutSuffix, key, isFuture) { const wordKey = translator.words[key] if (key.length === 1) { // Nominativ if (key === 'y' && withoutSuffix) return 'једна година' return isFuture || withoutSuffix ? wordKey[0] : wordKey[1] } const word = translator.correctGrammarCase(number, wordKey) // Nominativ if (key === 'yy' && withoutSuffix && word === '%d годину') return `${number} година` return word.replace('%d', number) } } const locale = { name: 'sr-cyrl', weekdays: 'Ðедеља_Понедељак_Уторак_Среда_Четвртак_Петак_Субота'.split('_'), weekdaysShort: 'Ðед._Пон._Уто._Сре._Чет._Пет._Суб.'.split('_'), weekdaysMin: 'не_по_ут_ÑÑ€_че_пе_Ñу'.split('_'), months: 'Јануар_Фебруар_Март_Ðприл_Мај_Јун_Јул_ÐвгуÑÑ‚_Септембар_Октобар_Ðовембар_Децембар'.split('_'), monthsShort: 'Јан._Феб._Мар._Ðпр._Мај_Јун_Јул_Ðвг._Сеп._Окт._Ðов._Дец.'.split('_'), weekStart: 1, relativeTime: { future: 'за %s', past: 'пре %s', s: 'неколико Ñекунди', m: translator.relativeTimeFormatter, mm: translator.relativeTimeFormatter, h: translator.relativeTimeFormatter, hh: translator.relativeTimeFormatter, d: translator.relativeTimeFormatter, dd: translator.relativeTimeFormatter, M: translator.relativeTimeFormatter, MM: translator.relativeTimeFormatter, y: translator.relativeTimeFormatter, yy: translator.relativeTimeFormatter }, ordinal: n => `${n}.`, formats: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'D. M. YYYY.', LL: 'D. MMMM YYYY.', LLL: 'D. MMMM YYYY. H:mm', LLLL: 'dddd, D. MMMM YYYY. H:mm' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/sr.js000066400000000000000000000045721520523163200175320ustar00rootroot00000000000000// Serbian [sr] import dayjs from 'dayjs' const translator = { words: { m: ['jedan minut', 'jednog minuta'], mm: ['%d minut', '%d minuta', '%d minuta'], h: ['jedan sat', 'jednog sata'], hh: ['%d sat', '%d sata', '%d sati'], d: ['jedan dan', 'jednog dana'], dd: ['%d dan', '%d dana', '%d dana'], M: ['jedan mesec', 'jednog meseca'], MM: ['%d mesec', '%d meseca', '%d meseci'], y: ['jednu godinu', 'jedne godine'], yy: ['%d godinu', '%d godine', '%d godina'] }, correctGrammarCase(number, wordKey) { if (number % 10 >= 1 && number % 10 <= 4 && (number % 100 < 10 || number % 100 >= 20)) { return number % 10 === 1 ? wordKey[0] : wordKey[1] } return wordKey[2] }, relativeTimeFormatter(number, withoutSuffix, key, isFuture) { const wordKey = translator.words[key] if (key.length === 1) { // Nominativ if (key === 'y' && withoutSuffix) return 'jedna godina' return isFuture || withoutSuffix ? wordKey[0] : wordKey[1] } const word = translator.correctGrammarCase(number, wordKey) // Nominativ if (key === 'yy' && withoutSuffix && word === '%d godinu') return `${number} godina` return word.replace('%d', number) } } const locale = { name: 'sr', weekdays: 'Nedelja_Ponedeljak_Utorak_Sreda_ÄŒetvrtak_Petak_Subota'.split('_'), weekdaysShort: 'Ned._Pon._Uto._Sre._ÄŒet._Pet._Sub.'.split('_'), weekdaysMin: 'ne_po_ut_sr_Äe_pe_su'.split('_'), months: 'Januar_Februar_Mart_April_Maj_Jun_Jul_Avgust_Septembar_Oktobar_Novembar_Decembar'.split('_'), monthsShort: 'Jan._Feb._Mar._Apr._Maj_Jun_Jul_Avg._Sep._Okt._Nov._Dec.'.split('_'), weekStart: 1, relativeTime: { future: 'za %s', past: 'pre %s', s: 'nekoliko sekundi', m: translator.relativeTimeFormatter, mm: translator.relativeTimeFormatter, h: translator.relativeTimeFormatter, hh: translator.relativeTimeFormatter, d: translator.relativeTimeFormatter, dd: translator.relativeTimeFormatter, M: translator.relativeTimeFormatter, MM: translator.relativeTimeFormatter, y: translator.relativeTimeFormatter, yy: translator.relativeTimeFormatter }, ordinal: n => `${n}.`, formats: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'D. M. YYYY.', LL: 'D. MMMM YYYY.', LLL: 'D. MMMM YYYY. H:mm', LLLL: 'dddd, D. MMMM YYYY. H:mm' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/ss.js000066400000000000000000000020411520523163200175200ustar00rootroot00000000000000// siSwati [ss] import dayjs from 'dayjs' const locale = { name: 'ss', weekdays: 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'), months: "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split('_'), weekStart: 1, weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'), monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'), weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'), ordinal: n => n, formats: { LT: 'h:mm A', LTS: 'h:mm:ss A', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY h:mm A', LLLL: 'dddd, D MMMM YYYY h:mm A' }, relativeTime: { future: 'nga %s', past: 'wenteka nga %s', s: 'emizuzwana lomcane', m: 'umzuzu', mm: '%d emizuzu', h: 'lihora', hh: '%d emahora', d: 'lilanga', dd: '%d emalanga', M: 'inyanga', MM: '%d tinyanga', y: 'umnyaka', yy: '%d iminyaka' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/sv-fi.js000066400000000000000000000023751520523163200201310ustar00rootroot00000000000000// Finland Swedish [sv-fi] import dayjs from 'dayjs' const locale = { name: 'sv-fi', weekdays: 'söndag_mÃ¥ndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'), weekdaysShort: 'sön_mÃ¥n_tis_ons_tor_fre_lör'.split('_'), weekdaysMin: 'sö_mÃ¥_ti_on_to_fr_lö'.split('_'), months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'), monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), weekStart: 1, yearStart: 4, ordinal: (n) => { const b = n % 10 const o = (b === 1) || (b === 2) ? 'a' : 'e' return `[${n}${o}]` }, formats: { LT: 'HH.mm', LTS: 'HH.mm.ss', L: 'DD.MM.YYYY', LL: 'D. MMMM YYYY', LLL: 'D. MMMM YYYY, [kl.] HH.mm', LLLL: 'dddd, D. MMMM YYYY, [kl.] HH.mm', l: 'D.M.YYYY', ll: 'D. MMM YYYY', lll: 'D. MMM YYYY, [kl.] HH.mm', llll: 'ddd, D. MMM YYYY, [kl.] HH.mm' }, relativeTime: { future: 'om %s', past: 'för %s sedan', s: 'nÃ¥gra sekunder', m: 'en minut', mm: '%d minuter', h: 'en timme', hh: '%d timmar', d: 'en dag', dd: '%d dagar', M: 'en mÃ¥nad', MM: '%d mÃ¥nader', y: 'ett Ã¥r', yy: '%d Ã¥r' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/sv.js000066400000000000000000000022561520523163200175330ustar00rootroot00000000000000// Swedish [sv] import dayjs from 'dayjs' const locale = { name: 'sv', weekdays: 'söndag_mÃ¥ndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'), weekdaysShort: 'sön_mÃ¥n_tis_ons_tor_fre_lör'.split('_'), weekdaysMin: 'sö_mÃ¥_ti_on_to_fr_lö'.split('_'), months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'), monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), weekStart: 1, yearStart: 4, ordinal: (n) => { const b = n % 10 const o = (b === 1) || (b === 2) ? 'a' : 'e' return `[${n}${o}]` }, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'YYYY-MM-DD', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY [kl.] HH:mm', LLLL: 'dddd D MMMM YYYY [kl.] HH:mm', lll: 'D MMM YYYY HH:mm', llll: 'ddd D MMM YYYY HH:mm' }, relativeTime: { future: 'om %s', past: 'för %s sedan', s: 'nÃ¥gra sekunder', m: 'en minut', mm: '%d minuter', h: 'en timme', hh: '%d timmar', d: 'en dag', dd: '%d dagar', M: 'en mÃ¥nad', MM: '%d mÃ¥nader', y: 'ett Ã¥r', yy: '%d Ã¥r' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/sw.js000066400000000000000000000017721520523163200175360ustar00rootroot00000000000000// Swahili [sw] import dayjs from 'dayjs' const locale = { name: 'sw', weekdays: 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'), weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'), weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'), months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'), monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'), weekStart: 1, ordinal: n => n, relativeTime: { future: '%s baadaye', past: 'tokea %s', s: 'hivi punde', m: 'dakika moja', mm: 'dakika %d', h: 'saa limoja', hh: 'masaa %d', d: 'siku moja', dd: 'masiku %d', M: 'mwezi mmoja', MM: 'miezi %d', y: 'mwaka mmoja', yy: 'miaka %d' }, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/ta.js000066400000000000000000000035661520523163200175140ustar00rootroot00000000000000// Tamil [ta] import dayjs from 'dayjs' const locale = { name: 'ta', weekdays: 'ஞாயிறà¯à®±à¯à®•à¯à®•ிழமை_திஙà¯à®•டà¯à®•ிழமை_செவà¯à®µà®¾à®¯à¯à®•ிழமை_பà¯à®¤à®©à¯à®•ிழமை_வியாழகà¯à®•ிழமை_வெளà¯à®³à®¿à®•à¯à®•ிழமை_சனிகà¯à®•ிழமை'.split('_'), months: 'ஜனவரி_பிபà¯à®°à®µà®°à®¿_மாரà¯à®šà¯_à®à®ªà¯à®°à®²à¯_மே_ஜூனà¯_ஜூலை_ஆகஸà¯à®Ÿà¯_செபà¯à®Ÿà¯†à®®à¯à®ªà®°à¯_அகà¯à®Ÿà¯‡à®¾à®ªà®°à¯_நவமà¯à®ªà®°à¯_டிசமà¯à®ªà®°à¯'.split('_'), weekdaysShort: 'ஞாயிறà¯_திஙà¯à®•ளà¯_செவà¯à®µà®¾à®¯à¯_பà¯à®¤à®©à¯_வியாழனà¯_வெளà¯à®³à®¿_சனி'.split('_'), monthsShort: 'ஜனவரி_பிபà¯à®°à®µà®°à®¿_மாரà¯à®šà¯_à®à®ªà¯à®°à®²à¯_மே_ஜூனà¯_ஜூலை_ஆகஸà¯à®Ÿà¯_செபà¯à®Ÿà¯†à®®à¯à®ªà®°à¯_அகà¯à®Ÿà¯‡à®¾à®ªà®°à¯_நவமà¯à®ªà®°à¯_டிசமà¯à®ªà®°à¯'.split('_'), weekdaysMin: 'ஞா_தி_செ_பà¯_வி_வெ_ச'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY, HH:mm', LLLL: 'dddd, D MMMM YYYY, HH:mm' }, relativeTime: { future: '%s இலà¯', past: '%s à®®à¯à®©à¯', s: 'ஒர௠சில விநாடிகளà¯', m: 'ஒர௠நிமிடமà¯', mm: '%d நிமிடஙà¯à®•ளà¯', h: 'ஒர௠மணி நேரமà¯', hh: '%d மணி நேரமà¯', d: 'ஒர௠நாளà¯', dd: '%d நாடà¯à®•ளà¯', M: 'ஒர௠மாதமà¯', MM: '%d மாதஙà¯à®•ளà¯', y: 'ஒர௠வரà¯à®Ÿà®®à¯', yy: '%d ஆணà¯à®Ÿà¯à®•ளà¯' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/te.js000066400000000000000000000031161520523163200175070ustar00rootroot00000000000000// Telugu [te] import dayjs from 'dayjs' const locale = { name: 'te', weekdays: 'ఆదివారం_సోమవారం_మంగళవారం_à°¬à±à°§à°µà°¾à°°à°‚_à°—à±à°°à±à°µà°¾à°°à°‚_à°¶à±à°•à±à°°à°µà°¾à°°à°‚_శనివారం'.split('_'), months: 'జనవరి_à°«à°¿à°¬à±à°°à°µà°°à°¿_మారà±à°šà°¿_à°à°ªà±à°°à°¿à°²à±_మే_జూనà±_à°œà±à°²à±ˆ_ఆగసà±à°Ÿà±_సెపà±à°Ÿà±†à°‚బరà±_à°…à°•à±à°Ÿà±‹à°¬à°°à±_నవంబరà±_డిసెంబరà±'.split('_'), weekdaysShort: 'ఆది_సోమ_మంగళ_à°¬à±à°§_à°—à±à°°à±_à°¶à±à°•à±à°°_శని'.split('_'), monthsShort: 'జన._à°«à°¿à°¬à±à°°._మారà±à°šà°¿_à°à°ªà±à°°à°¿._మే_జూనà±_à°œà±à°²à±ˆ_ఆగ._సెపà±._à°…à°•à±à°Ÿà±‹._నవ._డిసె.'.split('_'), weekdaysMin: 'à°†_సో_మం_à°¬à±_à°—à±_à°¶à±_à°¶'.split('_'), ordinal: n => n, formats: { LT: 'A h:mm', LTS: 'A h:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY, A h:mm', LLLL: 'dddd, D MMMM YYYY, A h:mm' }, relativeTime: { future: '%s లో', past: '%s à°•à±à°°à°¿à°¤à°‚', s: 'కొనà±à°¨à°¿ à°•à±à°·à°£à°¾à°²à±', m: 'à°’à°• నిమిషం', mm: '%d నిమిషాలà±', h: 'à°’à°• à°—à°‚à°Ÿ', hh: '%d à°—à°‚à°Ÿà°²à±', d: 'à°’à°• రోజà±', dd: '%d రోజà±à°²à±', M: 'à°’à°• నెల', MM: '%d నెలలà±', y: 'à°’à°• సంవతà±à°¸à°°à°‚', yy: '%d సంవతà±à°¸à°°à°¾à°²à±' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/tet.js000066400000000000000000000017731520523163200177020ustar00rootroot00000000000000// Tetun Dili (East Timor) [tet] import dayjs from 'dayjs' const locale = { name: 'tet', weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'), months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'), weekStart: 1, weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'), monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm' }, relativeTime: { future: 'iha %s', past: '%s liuba', s: 'minutu balun', m: 'minutu ida', mm: 'minutu %d', h: 'oras ida', hh: 'oras %d', d: 'loron ida', dd: 'loron %d', M: 'fulan ida', MM: 'fulan %d', y: 'tinan ida', yy: 'tinan %d' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/tg.js000066400000000000000000000022731520523163200175140ustar00rootroot00000000000000// Tajik [tg] import dayjs from 'dayjs' const locale = { name: 'tg', weekdays: 'Ñкшанбе_душанбе_Ñешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split('_'), months: 'Ñнвар_феврал_март_апрел_май_июн_июл_авгуÑÑ‚_ÑентÑбр_октÑбр_ноÑбр_декабр'.split('_'), weekStart: 1, weekdaysShort: 'Ñшб_дшб_Ñшб_чшб_пшб_ҷум_шнб'.split('_'), monthsShort: 'Ñнв_фев_мар_апр_май_июн_июл_авг_Ñен_окт_ноÑ_дек'.split('_'), weekdaysMin: 'Ñш_дш_Ñш_чш_пш_ҷм_шб'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm' }, relativeTime: { future: 'баъди %s', past: '%s пеш', s: 'Ñкчанд ÑониÑ', m: 'Ñк дақиқа', mm: '%d дақиқа', h: 'Ñк Ñоат', hh: '%d Ñоат', d: 'Ñк рӯз', dd: '%d рӯз', M: 'Ñк моҳ', MM: '%d моҳ', y: 'Ñк Ñол', yy: '%d Ñол' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/th.js000066400000000000000000000030441520523163200175120ustar00rootroot00000000000000// Thai [th] import dayjs from 'dayjs' const locale = { name: 'th', weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุà¸à¸£à¹Œ_เสาร์'.split('_'), weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุà¸à¸£à¹Œ_เสาร์'.split('_'), weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'), months: 'มà¸à¸£à¸²à¸„ม_à¸à¸¸à¸¡à¸ à¸²à¸žà¸±à¸™à¸˜à¹Œ_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_à¸à¸£à¸à¸Žà¸²à¸„ม_สิงหาคม_à¸à¸±à¸™à¸¢à¸²à¸¢à¸™_ตุลาคม_พฤศจิà¸à¸²à¸¢à¸™_ธันวาคม'.split('_'), monthsShort: 'ม.ค._à¸.พ._มี.ค._เม.ย._พ.ค._มิ.ย._à¸.ค._ส.ค._à¸.ย._ต.ค._พ.ย._ธ.ค.'.split('_'), formats: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY เวลา H:mm', LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm' }, relativeTime: { future: 'อีภ%s', past: '%sที่à¹à¸¥à¹‰à¸§', s: 'ไม่à¸à¸µà¹ˆà¸§à¸´à¸™à¸²à¸—ี', m: '1 นาที', mm: '%d นาที', h: '1 ชั่วโมง', hh: '%d ชั่วโมง', d: '1 วัน', dd: '%d วัน', M: '1 เดือน', MM: '%d เดือน', y: '1 ปี', yy: '%d ปี' }, ordinal: n => `${n}.` } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/tk.js000066400000000000000000000017751520523163200175260ustar00rootroot00000000000000// Turkmen [tk] import dayjs from 'dayjs' const locale = { name: 'tk', weekdays: 'ÃekÅŸenbe_DuÅŸenbe_SiÅŸenbe_ÇarÅŸenbe_PenÅŸenbe_Anna_Åženbe'.split('_'), weekdaysShort: 'Ãek_DuÅŸ_SiÅŸ_Çar_Pen_Ann_Åžen'.split('_'), weekdaysMin: 'Ãk_DÅŸ_SÅŸ_Çr_Pn_An_Åžn'.split('_'), months: 'Ãanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split('_'), monthsShort: 'Ãan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'), weekStart: 1, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm' }, relativeTime: { future: '%s soň', past: '%s öň', s: 'birnäçe sekunt', m: 'bir minut', mm: '%d minut', h: 'bir sagat', hh: '%d sagat', d: 'bir gün', dd: '%d gün', M: 'bir aý', MM: '%d aý', y: 'bir ýyl', yy: '%d ýyl' }, ordinal: n => `${n}.` } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/tl-ph.js000066400000000000000000000020301520523163200201150ustar00rootroot00000000000000// Tagalog (Philippines) [tl-ph] import dayjs from 'dayjs' const locale = { name: 'tl-ph', weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'), months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'), weekStart: 1, weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'), monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'), weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'MM/D/YYYY', LL: 'MMMM D, YYYY', LLL: 'MMMM D, YYYY HH:mm', LLLL: 'dddd, MMMM DD, YYYY HH:mm' }, relativeTime: { future: 'sa loob ng %s', past: '%s ang nakalipas', s: 'ilang segundo', m: 'isang minuto', mm: '%d minuto', h: 'isang oras', hh: '%d oras', d: 'isang araw', dd: '%d araw', M: 'isang buwan', MM: '%d buwan', y: 'isang taon', yy: '%d taon' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/tlh.js000066400000000000000000000017621520523163200176730ustar00rootroot00000000000000// Klingon [tlh] import dayjs from 'dayjs' const locale = { name: 'tlh', weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'), months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split('_'), weekStart: 1, weekdaysShort: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'), monthsShort: 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'), weekdaysMin: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/tr.js000066400000000000000000000017511520523163200175270ustar00rootroot00000000000000// Turkish [tr] import dayjs from 'dayjs' const locale = { name: 'tr', weekdays: 'Pazar_Pazartesi_Salı_ÇarÅŸamba_PerÅŸembe_Cuma_Cumartesi'.split('_'), weekdaysShort: 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'), weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'), months: 'Ocak_Åžubat_Mart_Nisan_Mayıs_Haziran_Temmuz_AÄŸustos_Eylül_Ekim_Kasım_Aralık'.split('_'), monthsShort: 'Oca_Åžub_Mar_Nis_May_Haz_Tem_AÄŸu_Eyl_Eki_Kas_Ara'.split('_'), weekStart: 1, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm' }, relativeTime: { future: '%s sonra', past: '%s önce', s: 'birkaç saniye', m: 'bir dakika', mm: '%d dakika', h: 'bir saat', hh: '%d saat', d: 'bir gün', dd: '%d gün', M: 'bir ay', MM: '%d ay', y: 'bir yıl', yy: '%d yıl' }, ordinal: n => `${n}.` } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/tzl.js000066400000000000000000000013771520523163200177170ustar00rootroot00000000000000// Talossan [tzl] import dayjs from 'dayjs' const locale = { name: 'tzl', weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'), months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'), weekStart: 1, weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'), monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'), weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'), ordinal: n => n, formats: { LT: 'HH.mm', LTS: 'HH.mm.ss', L: 'DD.MM.YYYY', LL: 'D. MMMM [dallas] YYYY', LLL: 'D. MMMM [dallas] YYYY HH.mm', LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/tzm-latn.js000066400000000000000000000021411520523163200206420ustar00rootroot00000000000000// Central Atlas Tamazight Latin [tzm-latn] import dayjs from 'dayjs' const locale = { name: 'tzm-latn', weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiá¸yas'.split('_'), months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_É£wÅ¡t_Å¡wtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'), weekStart: 6, weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiá¸yas'.split('_'), monthsShort: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_É£wÅ¡t_Å¡wtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'), weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiá¸yas'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm' }, relativeTime: { future: 'dadkh s yan %s', past: 'yan %s', s: 'imik', m: 'minuá¸', mm: '%d minuá¸', h: 'saÉ›a', hh: '%d tassaÉ›in', d: 'ass', dd: '%d ossan', M: 'ayowr', MM: '%d iyyirn', y: 'asgas', yy: '%d isgasn' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/tzm.js000066400000000000000000000032561520523163200177160ustar00rootroot00000000000000// Central Atlas Tamazight [tzm] import dayjs from 'dayjs' const locale = { name: 'tzm', weekdays: 'ⴰⵙⴰⵎⴰⵙ_â´°âµ¢âµâ´°âµ™_ⴰⵙⵉâµâ´°âµ™_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), months: 'ⵉâµâµâ´°âµ¢âµ”_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓâµâµ¢âµ“_ⵢⵓâµâµ¢âµ“âµ£_ⵖⵓⵛⵜ_ⵛⵓⵜⴰâµâ´±âµ‰âµ”_ⴽⵟⵓⴱⵕ_âµâµ“ⵡⴰâµâ´±âµ‰âµ”_ⴷⵓⵊâµâ´±âµ‰âµ”'.split('_'), weekStart: 6, weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_â´°âµ¢âµâ´°âµ™_ⴰⵙⵉâµâ´°âµ™_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), monthsShort: 'ⵉâµâµâ´°âµ¢âµ”_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓâµâµ¢âµ“_ⵢⵓâµâµ¢âµ“âµ£_ⵖⵓⵛⵜ_ⵛⵓⵜⴰâµâ´±âµ‰âµ”_ⴽⵟⵓⴱⵕ_âµâµ“ⵡⴰâµâ´±âµ‰âµ”_ⴷⵓⵊâµâ´±âµ‰âµ”'.split('_'), weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_â´°âµ¢âµâ´°âµ™_ⴰⵙⵉâµâ´°âµ™_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm' }, relativeTime: { future: 'â´·â´°â´·âµ… âµ™ ⵢⴰⵠ%s', past: 'ⵢⴰⵠ%s', s: 'ⵉⵎⵉⴽ', m: 'ⵎⵉâµâµ“â´º', mm: '%d ⵎⵉâµâµ“â´º', h: 'ⵙⴰⵄⴰ', hh: '%d ⵜⴰⵙⵙⴰⵄⵉâµ', d: 'ⴰⵙⵙ', dd: '%d oⵙⵙⴰâµ', M: 'â´°âµ¢oⵓⵔ', MM: '%d ⵉⵢⵢⵉⵔâµ', y: 'ⴰⵙⴳⴰⵙ', yy: '%d ⵉⵙⴳⴰⵙâµ' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/ug-cn.js000066400000000000000000000025771520523163200201220ustar00rootroot00000000000000// Uyghur (China) [ug-cn] import dayjs from 'dayjs' const locale = { name: 'ug-cn', weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split('_'), months: 'يانۋار_ÙÛۋرال_مارت_ئاپرÛÙ„_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سÛنتەبىر_ئۆكتەبىر_نويابىر_دÛكابىر'.split('_'), weekStart: 1, weekdaysShort: 'ÙŠÛ•_دۈ_سە_چا_Ù¾Û•_جۈ_Ø´Û•'.split('_'), monthsShort: 'يانۋار_ÙÛۋرال_مارت_ئاپرÛÙ„_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سÛنتەبىر_ئۆكتەبىر_نويابىر_دÛكابىر'.split('_'), weekdaysMin: 'ÙŠÛ•_دۈ_سە_چا_Ù¾Û•_جۈ_Ø´Û•'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'YYYY-MM-DD', LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى', LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm', LLLL: 'ddddØŒ YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm' }, relativeTime: { future: '%s ÙƒÛيىن', past: '%s بۇرۇن', s: 'Ù†Û•Ú†Ú†Û• سÛكونت', m: 'بىر مىنۇت', mm: '%d مىنۇت', h: 'بىر سائەت', hh: '%d سائەت', d: 'بىر ÙƒÛˆÙ†', dd: '%d ÙƒÛˆÙ†', M: 'بىر ئاي', MM: '%d ئاي', y: 'بىر يىل', yy: '%d يىل' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/uk.js000066400000000000000000000054721520523163200175250ustar00rootroot00000000000000// Ukrainian [uk] import dayjs from 'dayjs' const monthFormat = 'ÑічнÑ_лютого_березнÑ_квітнÑ_травнÑ_червнÑ_липнÑ_ÑерпнÑ_вереÑнÑ_жовтнÑ_лиÑтопада_груднÑ'.split('_') const monthStandalone = 'Ñічень_лютий_березень_квітень_травень_червень_липень_Ñерпень_вереÑень_жовтень_лиÑтопад_грудень'.split('_') const MONTHS_IN_FORMAT = /D[oD]?(\[[^[\]]*\]|\s)+MMMM?/ function plural(word, num) { const forms = word.split('_') return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]) // eslint-disable-line } function relativeTimeWithPlural(number, withoutSuffix, key) { const format = { ss: withoutSuffix ? 'Ñекунда_Ñекунди_Ñекунд' : 'Ñекунду_Ñекунди_Ñекунд', mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин', hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин', dd: 'день_дні_днів', MM: 'міÑÑць_міÑÑці_міÑÑців', yy: 'рік_роки_років' } if (key === 'm') { return withoutSuffix ? 'хвилина' : 'хвилину' } else if (key === 'h') { return withoutSuffix ? 'година' : 'годину' } return `${number} ${plural(format[key], +number)}` } const months = (dayjsInstance, format) => { if (MONTHS_IN_FORMAT.test(format)) { return monthFormat[dayjsInstance.month()] } return monthStandalone[dayjsInstance.month()] } months.s = monthStandalone months.f = monthFormat const locale = { name: 'uk', weekdays: 'неділÑ_понеділок_вівторок_Ñереда_четвер_п’ÑтницÑ_Ñубота'.split('_'), weekdaysShort: 'ндл_пнд_втр_Ñрд_чтв_птн_Ñбт'.split('_'), weekdaysMin: 'нд_пн_вт_ÑÑ€_чт_пт_Ñб'.split('_'), months, monthsShort: 'Ñіч_лют_бер_квіт_трав_черв_лип_Ñерп_вер_жовт_лиÑÑ‚_груд'.split('_'), weekStart: 1, relativeTime: { future: 'за %s', past: '%s тому', s: 'декілька Ñекунд', m: relativeTimeWithPlural, mm: relativeTimeWithPlural, h: relativeTimeWithPlural, hh: relativeTimeWithPlural, d: 'день', dd: relativeTimeWithPlural, M: 'міÑÑць', MM: relativeTimeWithPlural, y: 'рік', yy: relativeTimeWithPlural }, ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY Ñ€.', LLL: 'D MMMM YYYY Ñ€., HH:mm', LLLL: 'dddd, D MMMM YYYY Ñ€., HH:mm' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/ur.js000066400000000000000000000023311520523163200175230ustar00rootroot00000000000000// Urdu [ur] import dayjs from 'dayjs' const locale = { name: 'ur', weekdays: 'اتوار_پیر_منگل_بدھ_جمعرات_جمعÛ_ÛÙØªÛ'.split('_'), months: 'جنوری_ÙØ±ÙˆØ±ÛŒ_مارچ_اپریل_مئی_جون_جولائی_اگست_ستمبر_اکتوبر_نومبر_دسمبر'.split('_'), weekStart: 1, weekdaysShort: 'اتوار_پیر_منگل_بدھ_جمعرات_جمعÛ_ÛÙØªÛ'.split('_'), monthsShort: 'جنوری_ÙØ±ÙˆØ±ÛŒ_مارچ_اپریل_مئی_جون_جولائی_اگست_ستمبر_اکتوبر_نومبر_دسمبر'.split('_'), weekdaysMin: 'اتوار_پیر_منگل_بدھ_جمعرات_جمعÛ_ÛÙØªÛ'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'ddddØŒ D MMMM YYYY HH:mm' }, relativeTime: { future: '%s بعد', past: '%s قبل', s: 'چند سیکنڈ', m: 'ایک منٹ', mm: '%d منٹ', h: 'ایک گھنٹÛ', hh: '%d گھنٹے', d: 'ایک دن', dd: '%d دن', M: 'ایک ماÛ', MM: '%d ماÛ', y: 'ایک سال', yy: '%d سال' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/uz-latn.js000066400000000000000000000017561520523163200205010ustar00rootroot00000000000000// Uzbek Latin [uz-latn] import dayjs from 'dayjs' const locale = { name: 'uz-latn', weekdays: 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'), months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'), weekStart: 1, weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'), monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'), weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'D MMMM YYYY, dddd HH:mm' }, relativeTime: { future: 'Yaqin %s ichida', past: '%s oldin', s: 'soniya', m: 'bir daqiqa', mm: '%d daqiqa', h: 'bir soat', hh: '%d soat', d: 'bir kun', dd: '%d kun', M: 'bir oy', MM: '%d oy', y: 'bir yil', yy: '%d yil' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/uz.js000066400000000000000000000022771520523163200175440ustar00rootroot00000000000000// Uzbek [uz] import dayjs from 'dayjs' const locale = { name: 'uz', weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'), months: 'Ñнвар_феврал_март_апрел_май_июн_июл_авгуÑÑ‚_ÑентÑбр_октÑбр_ноÑбр_декабр'.split('_'), weekStart: 1, weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'), monthsShort: 'Ñнв_фев_мар_апр_май_июн_июл_авг_Ñен_окт_ноÑ_дек'.split('_'), weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'D MMMM YYYY, dddd HH:mm' }, relativeTime: { future: 'Якин %s ичида', past: '%s олдин', s: 'фурÑат', m: 'бир дакика', mm: '%d дакика', h: 'бир Ñоат', hh: '%d Ñоат', d: 'бир кун', dd: '%d кун', M: 'бир ой', MM: '%d ой', y: 'бир йил', yy: '%d йил' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/vi.js000066400000000000000000000022521520523163200175150ustar00rootroot00000000000000// Vietnamese [vi] import dayjs from 'dayjs' const locale = { name: 'vi', weekdays: 'chá»§ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'), months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split('_'), weekStart: 1, weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'), monthsShort: 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'), weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM [năm] YYYY', LLL: 'D MMMM [năm] YYYY HH:mm', LLLL: 'dddd, D MMMM [năm] YYYY HH:mm', l: 'DD/M/YYYY', ll: 'D MMM YYYY', lll: 'D MMM YYYY HH:mm', llll: 'ddd, D MMM YYYY HH:mm' }, relativeTime: { future: '%s tá»›i', past: '%s trước', s: 'vài giây', m: 'má»™t phút', mm: '%d phút', h: 'má»™t giá»', hh: '%d giá»', d: 'má»™t ngày', dd: '%d ngày', M: 'má»™t tháng', MM: '%d tháng', y: 'má»™t năm', yy: '%d năm' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/x-pseudo.js000066400000000000000000000022771520523163200206520ustar00rootroot00000000000000// Pseudo [x-pseudo] import dayjs from 'dayjs' const locale = { name: 'x-pseudo', weekdays: 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'), months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Ãp~ríl_~Máý_~Júñé~_Júl~ý_Ãú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split('_'), weekStart: 1, weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'), monthsShort: 'J~áñ_~Féb_~Már_~Ãpr_~Máý_~Júñ_~Júl_~Ãúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'), weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'), ordinal: n => n, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm' }, relativeTime: { future: 'í~ñ %s', past: '%s á~gó', s: 'á ~féw ~sécó~ñds', m: 'á ~míñ~úté', mm: '%d m~íñú~tés', h: 'á~ñ hó~úr', hh: '%d h~óúrs', d: 'á ~dáý', dd: '%d d~áýs', M: 'á ~móñ~th', MM: '%d m~óñt~hs', y: 'á ~ýéár', yy: '%d ý~éárs' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/yo.js000066400000000000000000000022621520523163200175270ustar00rootroot00000000000000// Yoruba Nigeria [yo] import dayjs from 'dayjs' const locale = { name: 'yo', weekdays: 'AÌ€iÌ€kuÌ_AjeÌ_IÌ€sẹÌgun_Ọjá»ÌruÌ_Ọjá»Ìbá»_ẸtiÌ€_AÌ€baÌmẹÌta'.split('_'), months: 'SẹÌrẹÌ_EÌ€reÌ€leÌ€_Ẹrẹ̀naÌ€_IÌ€gbeÌ_EÌ€bibi_OÌ€kuÌ€du_Agẹmo_OÌ€guÌn_Owewe_Ọ̀waÌ€raÌ€_BeÌluÌ_Ọ̀pẹ̀̀'.split('_'), weekStart: 1, weekdaysShort: 'AÌ€iÌ€k_AjeÌ_IÌ€sẹÌ_Ọjr_Ọjb_ẸtiÌ€_AÌ€baÌ'.split('_'), monthsShort: 'SẹÌr_EÌ€rl_Ẹrn_IÌ€gb_EÌ€bi_OÌ€kuÌ€_Agẹ_OÌ€guÌ_Owe_Ọ̀waÌ€_BeÌl_Ọ̀pẹ̀̀'.split('_'), weekdaysMin: 'AÌ€iÌ€_Aj_IÌ€s_Ọr_Ọb_Ẹt_AÌ€b'.split('_'), ordinal: n => n, formats: { LT: 'h:mm A', LTS: 'h:mm:ss A', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY h:mm A', LLLL: 'dddd, D MMMM YYYY h:mm A' }, relativeTime: { future: 'niÌ %s', past: '%s ká»jaÌ', s: 'iÌ€sẹjuÌ aayaÌ die', m: 'iÌ€sẹjuÌ kan', mm: 'iÌ€sẹjuÌ %d', h: 'waÌkati kan', hh: 'waÌkati %d', d: 'á»já»Ì kan', dd: 'á»já»Ì %d', M: 'osuÌ€ kan', MM: 'osuÌ€ %d', y: 'á»duÌn kan', yy: 'á»duÌn %d' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/zh-cn.js000066400000000000000000000032261520523163200201200ustar00rootroot00000000000000// Chinese (China) [zh-cn] import dayjs from 'dayjs' const locale = { name: 'zh-cn', weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'), weekdaysMin: 'æ—¥_一_二_三_å››_五_å…­'.split('_'), months: '一月_二月_三月_四月_五月_六月_七月_八月_乿œˆ_åæœˆ_å一月_å二月'.split('_'), monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), ordinal: (number, period) => { switch (period) { case 'W': return `${number}周` default: return `${number}æ—¥` } }, weekStart: 1, yearStart: 4, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'YYYY/MM/DD', LL: 'YYYYå¹´M月Dæ—¥', LLL: 'YYYYå¹´M月Dæ—¥Ah点mm分', LLLL: 'YYYYå¹´M月Dæ—¥ddddAh点mm分', l: 'YYYY/M/D', ll: 'YYYYå¹´M月Dæ—¥', lll: 'YYYYå¹´M月Dæ—¥ HH:mm', llll: 'YYYYå¹´M月Dæ—¥dddd HH:mm' }, relativeTime: { future: '%s内', past: '%så‰', s: '几秒', m: '1 分钟', mm: '%d 分钟', h: '1 å°æ—¶', hh: '%d å°æ—¶', d: '1 天', dd: '%d 天', M: '1 个月', MM: '%d 个月', y: '1 å¹´', yy: '%d å¹´' }, meridiem: (hour, minute) => { const hm = (hour * 100) + minute if (hm < 600) { return '凌晨' } else if (hm < 900) { return '早上' } else if (hm < 1100) { return '上åˆ' } else if (hm < 1300) { return '中åˆ' } else if (hm < 1800) { return '下åˆ' } return '晚上' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/zh-hk.js000066400000000000000000000031671520523163200201260ustar00rootroot00000000000000// Chinese (Hong Kong) [zh-hk] import dayjs from 'dayjs' const locale = { name: 'zh-hk', months: '一月_二月_三月_四月_五月_六月_七月_八月_乿œˆ_åæœˆ_å一月_å二月'.split('_'), monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), weekdaysMin: 'æ—¥_一_二_三_å››_五_å…­'.split('_'), ordinal: (number, period) => { switch (period) { case 'W': return `${number}週` default: return `${number}æ—¥` } }, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'YYYY/MM/DD', LL: 'YYYYå¹´M月Dæ—¥', LLL: 'YYYYå¹´M月Dæ—¥ HH:mm', LLLL: 'YYYYå¹´M月Dæ—¥dddd HH:mm', l: 'YYYY/M/D', ll: 'YYYYå¹´M月Dæ—¥', lll: 'YYYYå¹´M月Dæ—¥ HH:mm', llll: 'YYYYå¹´M月Dæ—¥dddd HH:mm' }, relativeTime: { future: '%så…§', past: '%så‰', s: '幾秒', m: '一分é˜', mm: '%d 分é˜', h: '䏀尿™‚', hh: '%d å°æ™‚', d: '一天', dd: '%d 天', M: '一個月', MM: '%d 個月', y: '一年', yy: '%d å¹´' }, meridiem: (hour, minute) => { const hm = (hour * 100) + minute if (hm < 600) { return '凌晨' } else if (hm < 900) { return '早上' } else if (hm < 1100) { return '上åˆ' } else if (hm < 1300) { return '中åˆ' } else if (hm < 1800) { return '下åˆ' } return '晚上' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/zh-tw.js000066400000000000000000000031561520523163200201540ustar00rootroot00000000000000// Chinese (Taiwan) [zh-tw] import dayjs from 'dayjs' const locale = { name: 'zh-tw', weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), weekdaysMin: 'æ—¥_一_二_三_å››_五_å…­'.split('_'), months: '一月_二月_三月_四月_五月_六月_七月_八月_乿œˆ_åæœˆ_å一月_å二月'.split('_'), monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), ordinal: (number, period) => { switch (period) { case 'W': return `${number}週` default: return `${number}æ—¥` } }, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'YYYY/MM/DD', LL: 'YYYYå¹´M月Dæ—¥', LLL: 'YYYYå¹´M月Dæ—¥ HH:mm', LLLL: 'YYYYå¹´M月Dæ—¥dddd HH:mm', l: 'YYYY/M/D', ll: 'YYYYå¹´M月Dæ—¥', lll: 'YYYYå¹´M月Dæ—¥ HH:mm', llll: 'YYYYå¹´M月Dæ—¥dddd HH:mm' }, relativeTime: { future: '%så…§', past: '%så‰', s: '幾秒', m: '1 分é˜', mm: '%d 分é˜', h: '1 å°æ™‚', hh: '%d å°æ™‚', d: '1 天', dd: '%d 天', M: '1 個月', MM: '%d 個月', y: '1 å¹´', yy: '%d å¹´' }, meridiem: (hour, minute) => { const hm = (hour * 100) + minute if (hm < 600) { return '凌晨' } else if (hm < 900) { return '早上' } else if (hm < 1100) { return '上åˆ' } else if (hm < 1300) { return '中åˆ' } else if (hm < 1800) { return '下åˆ' } return '晚上' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/locale/zh.js000066400000000000000000000032071520523163200175210ustar00rootroot00000000000000// Chinese [zh] import dayjs from 'dayjs' const locale = { name: 'zh', weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'), weekdaysMin: 'æ—¥_一_二_三_å››_五_å…­'.split('_'), months: '一月_二月_三月_四月_五月_六月_七月_八月_乿œˆ_åæœˆ_å一月_å二月'.split('_'), monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), ordinal: (number, period) => { switch (period) { case 'W': return `${number}周` default: return `${number}æ—¥` } }, weekStart: 1, yearStart: 4, formats: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'YYYY/MM/DD', LL: 'YYYYå¹´M月Dæ—¥', LLL: 'YYYYå¹´M月Dæ—¥Ah点mm分', LLLL: 'YYYYå¹´M月Dæ—¥ddddAh点mm分', l: 'YYYY/M/D', ll: 'YYYYå¹´M月Dæ—¥', lll: 'YYYYå¹´M月Dæ—¥ HH:mm', llll: 'YYYYå¹´M月Dæ—¥dddd HH:mm' }, relativeTime: { future: '%såŽ', past: '%så‰', s: '几秒', m: '1 分钟', mm: '%d 分钟', h: '1 å°æ—¶', hh: '%d å°æ—¶', d: '1 天', dd: '%d 天', M: '1 个月', MM: '%d 个月', y: '1 å¹´', yy: '%d å¹´' }, meridiem: (hour, minute) => { const hm = (hour * 100) + minute if (hm < 600) { return '凌晨' } else if (hm < 900) { return '早上' } else if (hm < 1100) { return '上åˆ' } else if (hm < 1300) { return '中åˆ' } else if (hm < 1800) { return '下åˆ' } return '晚上' } } dayjs.locale(locale, null, true) export default locale iamkun-dayjs-a25f01e/src/plugin/000077500000000000000000000000001520523163200165775ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/advancedFormat/000077500000000000000000000000001520523163200215155ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/advancedFormat/index.js000066400000000000000000000027721520523163200231720ustar00rootroot00000000000000import { FORMAT_DEFAULT } from '../../constant' export default (o, c) => { // locale needed later const proto = c.prototype const oldFormat = proto.format proto.format = function (formatStr) { const locale = this.$locale() if (!this.isValid()) { return oldFormat.bind(this)(formatStr) } const utils = this.$utils() const str = formatStr || FORMAT_DEFAULT const result = str.replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g, (match) => { switch (match) { case 'Q': return Math.ceil((this.$M + 1) / 3) case 'Do': return locale.ordinal(this.$D) case 'gggg': return this.weekYear() case 'GGGG': return this.isoWeekYear() case 'wo': return locale.ordinal(this.week(), 'W') // W for week case 'w': case 'ww': return utils.s(this.week(), match === 'w' ? 1 : 2, '0') case 'W': case 'WW': return utils.s(this.isoWeek(), match === 'W' ? 1 : 2, '0') case 'k': case 'kk': return utils.s(String(this.$H === 0 ? 24 : this.$H), match === 'k' ? 1 : 2, '0') case 'X': return Math.floor(this.$d.getTime() / 1000) case 'x': return this.$d.getTime() case 'z': return `[${this.offsetName()}]` case 'zzz': return `[${this.offsetName('long')}]` default: return match } }) return oldFormat.bind(this)(result) } } iamkun-dayjs-a25f01e/src/plugin/arraySupport/000077500000000000000000000000001520523163200213125ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/arraySupport/index.js000066400000000000000000000011641520523163200227610ustar00rootroot00000000000000export default (o, c, dayjs) => { const proto = c.prototype const parseDate = (cfg) => { const { date, utc } = cfg if (Array.isArray(date)) { if (utc) { if (!date.length) { return new Date() } return new Date(Date.UTC.apply(null, date)) } if (date.length === 1) { return dayjs(String(date[0])).toDate() } return new (Function.prototype.bind.apply(Date, [null].concat(date)))() } return date } const oldParse = proto.parse proto.parse = function (cfg) { cfg.date = parseDate.bind(this)(cfg) oldParse.bind(this)(cfg) } } iamkun-dayjs-a25f01e/src/plugin/badMutable/000077500000000000000000000000001520523163200206375ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/badMutable/index.js000066400000000000000000000025121520523163200223040ustar00rootroot00000000000000export default (o, c) => { // locale needed later const proto = c.prototype proto.$g = function (input, get, set) { if (this.$utils().u(input)) return this[get] return this.$set(set, input) } proto.set = function (string, int) { return this.$set(string, int) } const oldStartOf = proto.startOf proto.startOf = function (units, startOf) { this.$d = oldStartOf.bind(this)(units, startOf).toDate() this.init() return this } const oldAdd = proto.add proto.add = function (number, units) { this.$d = oldAdd.bind(this)(number, units).toDate() this.init() return this } const oldLocale = proto.locale proto.locale = function (preset, object) { if (!preset) return this.$L this.$L = oldLocale.bind(this)(preset, object).$L return this } const oldDaysInMonth = proto.daysInMonth proto.daysInMonth = function () { return oldDaysInMonth.bind(this.clone())() } const oldIsSame = proto.isSame proto.isSame = function (that, units) { return oldIsSame.bind(this.clone())(that, units) } const oldIsBefore = proto.isBefore proto.isBefore = function (that, units) { return oldIsBefore.bind(this.clone())(that, units) } const oldIsAfter = proto.isAfter proto.isAfter = function (that, units) { return oldIsAfter.bind(this.clone())(that, units) } } iamkun-dayjs-a25f01e/src/plugin/bigIntSupport/000077500000000000000000000000001520523163200214105ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/bigIntSupport/index.js000066400000000000000000000011151520523163200230530ustar00rootroot00000000000000// eslint-disable-next-line valid-typeof const isBigInt = num => typeof num === 'bigint' export default (o, c, dayjs) => { const proto = c.prototype const parseDate = (cfg) => { const { date } = cfg if (isBigInt(date)) { return Number(date) } return date } const oldParse = proto.parse proto.parse = function (cfg) { cfg.date = parseDate.bind(this)(cfg) oldParse.bind(this)(cfg) } const oldUnix = dayjs.unix dayjs.unix = function (timestamp) { const ts = isBigInt(timestamp) ? Number(timestamp) : timestamp return oldUnix(ts) } } iamkun-dayjs-a25f01e/src/plugin/buddhistEra/000077500000000000000000000000001520523163200210355ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/buddhistEra/index.js000066400000000000000000000011061520523163200225000ustar00rootroot00000000000000import { FORMAT_DEFAULT } from '../../constant' export default (o, c) => { // locale needed later const proto = c.prototype const oldFormat = proto.format // extend en locale here proto.format = function (formatStr) { const yearBias = 543 const str = formatStr || FORMAT_DEFAULT const result = str.replace(/(\[[^\]]+])|BBBB|BB/g, (match, a) => { const year = String(this.$y + yearBias) const args = match === 'BB' ? [year.slice(-2), 2] : [year, 4] return a || this.$utils().s(...args, '0') }) return oldFormat.bind(this)(result) } } iamkun-dayjs-a25f01e/src/plugin/calendar/000077500000000000000000000000001520523163200203505ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/calendar/index.js000066400000000000000000000021601520523163200220140ustar00rootroot00000000000000export default (o, c, d) => { const LT = 'h:mm A' const L = 'MM/DD/YYYY' const calendarFormat = { lastDay: `[Yesterday at] ${LT}`, sameDay: `[Today at] ${LT}`, nextDay: `[Tomorrow at] ${LT}`, nextWeek: `dddd [at] ${LT}`, lastWeek: `[Last] dddd [at] ${LT}`, sameElse: L } const proto = c.prototype proto.calendar = function (referenceTime, formats) { const format = formats || this.$locale().calendar || calendarFormat const referenceStartOfDay = d(referenceTime || undefined).startOf('d') const diff = this.diff(referenceStartOfDay, 'd', true) const sameElse = 'sameElse' /* eslint-disable no-nested-ternary */ const retVal = diff < -6 ? sameElse : diff < -1 ? 'lastWeek' : diff < 0 ? 'lastDay' : diff < 1 ? 'sameDay' : diff < 2 ? 'nextDay' : diff < 7 ? 'nextWeek' : sameElse /* eslint-enable no-nested-ternary */ const currentFormat = format[retVal] || calendarFormat[retVal] if (typeof currentFormat === 'function') { return currentFormat.call(this, d()) } return this.format(currentFormat) } } iamkun-dayjs-a25f01e/src/plugin/customParseFormat/000077500000000000000000000000001520523163200222555ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/customParseFormat/index.js000066400000000000000000000170211520523163200237230ustar00rootroot00000000000000import { u } from '../localizedFormat/utils' const formattingTokens = /(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g const match1 = /\d/ // 0 - 9 const match2 = /\d\d/ // 00 - 99 const match3 = /\d{3}/ // 000 - 999 const match4 = /\d{4}/ // 0000 - 9999 const match1to2 = /\d\d?/ // 0 - 99 const matchSigned = /[+-]?\d+/ // -inf - inf const matchOffset = /[+-]\d\d:?(\d\d)?|Z/ // +00:00 -00:00 +0000 or -0000 +00 or Z const matchWord = /\d*[^-_:/,()\s\d]+/ // Word let locale = {} let parseTwoDigitYear = function (input) { input = +input return input + (input > 68 ? 1900 : 2000) } function offsetFromString(string) { if (!string) return 0 if (string === 'Z') return 0 const parts = string.match(/([+-]|\d\d)/g) const minutes = +(parts[1] * 60) + (+parts[2] || 0) return minutes === 0 ? 0 : parts[0] === '+' ? -minutes : minutes // eslint-disable-line no-nested-ternary } const addInput = function (property) { return function (input) { this[property] = +input } } const zoneExpressions = [matchOffset, function (input) { const zone = this.zone || (this.zone = {}) zone.offset = offsetFromString(input) }] const getLocalePart = (name) => { const part = locale[name] return part && ( part.indexOf ? part : part.s.concat(part.f) ) } const meridiemMatch = (input, isLowerCase) => { let isAfternoon const { meridiem } = locale if (!meridiem) { isAfternoon = input === (isLowerCase ? 'pm' : 'PM') } else { for (let i = 1; i <= 24; i += 1) { // todo: fix input === meridiem(i, 0, isLowerCase) if (input.indexOf(meridiem(i, 0, isLowerCase)) > -1) { isAfternoon = i > 12 break } } } return isAfternoon } const expressions = { A: [matchWord, function (input) { this.afternoon = meridiemMatch(input, false) }], a: [matchWord, function (input) { this.afternoon = meridiemMatch(input, true) }], Q: [match1, function (input) { this.month = ((input - 1) * 3) + 1 }], S: [match1, function (input) { this.milliseconds = +input * 100 }], SS: [match2, function (input) { this.milliseconds = +input * 10 }], SSS: [match3, function (input) { this.milliseconds = +input }], s: [match1to2, addInput('seconds')], ss: [match1to2, addInput('seconds')], m: [match1to2, addInput('minutes')], mm: [match1to2, addInput('minutes')], H: [match1to2, addInput('hours')], h: [match1to2, addInput('hours')], HH: [match1to2, addInput('hours')], hh: [match1to2, addInput('hours')], D: [match1to2, addInput('day')], DD: [match2, addInput('day')], Do: [matchWord, function (input) { const { ordinal } = locale; [this.day] = input.match(/\d+/) if (!ordinal) return for (let i = 1; i <= 31; i += 1) { if (ordinal(i).replace(/\[|\]/g, '') === input) { this.day = i } } }], w: [match1to2, addInput('week')], ww: [match2, addInput('week')], M: [match1to2, addInput('month')], MM: [match2, addInput('month')], MMM: [matchWord, function (input) { const months = getLocalePart('months') const monthsShort = getLocalePart('monthsShort') const matchIndex = (monthsShort || months.map(_ => _.slice(0, 3))).indexOf(input) + 1 if (matchIndex < 1) { throw new Error() } this.month = (matchIndex % 12) || matchIndex }], MMMM: [matchWord, function (input) { const months = getLocalePart('months') const matchIndex = months.indexOf(input) + 1 if (matchIndex < 1) { throw new Error() } this.month = (matchIndex % 12) || matchIndex }], Y: [matchSigned, addInput('year')], YY: [match2, function (input) { this.year = parseTwoDigitYear(input) }], YYYY: [match4, addInput('year')], Z: zoneExpressions, ZZ: zoneExpressions } function correctHours(time) { const { afternoon } = time if (afternoon !== undefined) { const { hours } = time if (afternoon) { if (hours < 12) { time.hours += 12 } } else if (hours === 12) { time.hours = 0 } delete time.afternoon } } function makeParser(format) { format = u(format, locale && locale.formats) const array = format.match(formattingTokens) const { length } = array for (let i = 0; i < length; i += 1) { const token = array[i] const parseTo = expressions[token] const regex = parseTo && parseTo[0] const parser = parseTo && parseTo[1] if (parser) { array[i] = { regex, parser } } else { array[i] = token.replace(/^\[|\]$/g, '') } } return function (input) { const time = {} for (let i = 0, start = 0; i < length; i += 1) { const token = array[i] if (typeof token === 'string') { start += token.length } else { const { regex, parser } = token const part = input.slice(start) const match = regex.exec(part) const value = match[0] parser.call(time, value) input = input.replace(value, '') } } correctHours(time) return time } } const parseFormattedInput = (input, format, utc, dayjs) => { try { if (['x', 'X'].indexOf(format) > -1) return new Date((format === 'X' ? 1000 : 1) * input) const parser = makeParser(format) const { year, month, day, hours, minutes, seconds, milliseconds, zone, week } = parser(input) const now = new Date() const d = day || ((!year && !month) ? now.getDate() : 1) const y = year || now.getFullYear() let M = 0 if (!(year && !month)) { M = month > 0 ? month - 1 : now.getMonth() } const h = hours || 0 const m = minutes || 0 const s = seconds || 0 const ms = milliseconds || 0 if (zone) { return new Date(Date.UTC(y, M, d, h, m, s, ms + (zone.offset * 60 * 1000))) } if (utc) { return new Date(Date.UTC(y, M, d, h, m, s, ms)) } let newDate newDate = new Date(y, M, d, h, m, s, ms) if (week) { newDate = dayjs(newDate).week(week).toDate() } return newDate } catch (e) { return new Date('') // Invalid Date } } export default (o, C, d) => { d.p.customParseFormat = true if (o && o.parseTwoDigitYear) { ({ parseTwoDigitYear } = o) } const proto = C.prototype const oldParse = proto.parse proto.parse = function (cfg) { const { date, utc, args } = cfg this.$u = utc const format = args[1] if (typeof format === 'string') { const isStrictWithoutLocale = args[2] === true const isStrictWithLocale = args[3] === true const isStrict = isStrictWithoutLocale || isStrictWithLocale let pl = args[2] if (isStrictWithLocale) [, , pl] = args locale = this.$locale() if (!isStrictWithoutLocale && pl) { locale = d.Ls[pl] } this.$d = parseFormattedInput(date, format, utc, d) this.init() if (pl && pl !== true) this.$L = this.locale(pl).$L // use != to treat // input number 1410715640579 and format string '1410715640579' equal // eslint-disable-next-line eqeqeq if (isStrict && date != this.format(format)) { this.$d = new Date('') } // reset global locale to make parallel unit test locale = {} } else if (format instanceof Array) { const len = format.length for (let i = 1; i <= len; i += 1) { args[1] = format[i - 1] const result = d.apply(this, args) if (result.isValid()) { this.$d = result.$d this.$L = result.$L this.init() break } if (i === len) this.$d = new Date('') } } else { oldParse.call(this, cfg) } } } iamkun-dayjs-a25f01e/src/plugin/dayOfYear/000077500000000000000000000000001520523163200204625ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/dayOfYear/index.js000066400000000000000000000004631520523163200221320ustar00rootroot00000000000000export default (o, c, d) => { const proto = c.prototype proto.dayOfYear = function (input) { // d(this) is for badMutable const dayOfYear = Math.round((d(this).startOf('day') - d(this).startOf('year')) / 864e5) + 1 return input == null ? dayOfYear : this.add(input - dayOfYear, 'day') } } iamkun-dayjs-a25f01e/src/plugin/devHelper/000077500000000000000000000000001520523163200205155ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/devHelper/index.js000066400000000000000000000035061520523163200221660ustar00rootroot00000000000000/* eslint-disable no-console */ export default (o, c, d) => { /* istanbul ignore next line */ if (!process || process.env.NODE_ENV !== 'production') { const proto = c.prototype const oldParse = proto.parse proto.parse = function (cfg) { const { date } = cfg if (typeof date === 'string' && date.length === 13) { console.warn(`To parse a Unix timestamp like ${date}, you should pass it as a Number. https://day.js.org/docs/en/parse/unix-timestamp-milliseconds`) } if (typeof date === 'number' && String(date).length === 4) { console.warn(`Guessing you may want to parse the Year ${date}, you should pass it as a String ${date}, not a Number. Otherwise, ${date} will be treated as a Unix timestamp`) } if (cfg.args.length >= 2 && !d.p.customParseFormat) { console.warn(`To parse a date-time string like ${date} using the given format, you should enable customParseFormat plugin first. https://day.js.org/docs/en/parse/string-format`) } return oldParse.bind(this)(cfg) } const oldLocale = d.locale d.locale = function (preset, object, isLocal) { if (typeof object === 'undefined' && typeof preset === 'string') { if (!d.Ls[preset]) { console.warn(`Guessing you may want to use locale ${preset}, you have to load it before using it. https://day.js.org/docs/en/i18n/loading-into-nodejs`) } } return oldLocale(preset, object, isLocal) } const oldDiff = proto.diff proto.diff = function (date, unit, float) { const isInvalidDate = !date || !d(date).isValid() if (isInvalidDate) { console.warn('Invalid usage: diff() requires a valid comparison date as the first argument. https://day.js.org/docs/en/display/difference') } return oldDiff.call(this, date, unit, float) } } } iamkun-dayjs-a25f01e/src/plugin/duration/000077500000000000000000000000001520523163200204245ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/duration/index.js000066400000000000000000000174341520523163200221020ustar00rootroot00000000000000import { MILLISECONDS_A_DAY, MILLISECONDS_A_HOUR, MILLISECONDS_A_MINUTE, MILLISECONDS_A_SECOND, MILLISECONDS_A_WEEK } from '../../constant' const MILLISECONDS_A_YEAR = MILLISECONDS_A_DAY * 365 const MILLISECONDS_A_MONTH = MILLISECONDS_A_YEAR / 12 const DURATION_REGEX_PARSE = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/ const DURATION_REGEX_FORMAT = /\[([^\]]+)]|YYYY|YY|Y|M{1,2}|D{1,2}|H{1,2}|m{1,2}|s{1,2}|SSS/g const unitToMS = { years: MILLISECONDS_A_YEAR, months: MILLISECONDS_A_MONTH, days: MILLISECONDS_A_DAY, hours: MILLISECONDS_A_HOUR, minutes: MILLISECONDS_A_MINUTE, seconds: MILLISECONDS_A_SECOND, milliseconds: 1, weeks: MILLISECONDS_A_WEEK } const isDuration = d => d instanceof Duration // eslint-disable-line no-use-before-define let $d let $u const wrapper = (input, instance, unit) => new Duration(input, unit, instance.$l) // eslint-disable-line no-use-before-define const prettyUnit = unit => `${$u.p(unit)}s` const isNegative = number => number < 0 const roundNumber = number => (isNegative(number) ? Math.ceil(number) : Math.floor(number)) const absolute = number => Math.abs(number) const getNumberUnitFormat = (number, unit) => { if (!number) { return { negative: false, format: '' } } if (isNegative(number)) { return { negative: true, format: `${absolute(number)}${unit}` } } return { negative: false, format: `${number}${unit}` } } class Duration { constructor(input, unit, locale) { this.$d = {} this.$l = locale if (input === undefined) { this.$ms = 0 this.parseFromMilliseconds() } if (unit) { return wrapper(input * unitToMS[prettyUnit(unit)], this) } if (typeof input === 'number') { this.$ms = input this.parseFromMilliseconds() return this } if (typeof input === 'object') { Object.keys(input).forEach((k) => { this.$d[prettyUnit(k)] = input[k] }) this.calMilliseconds() return this } if (typeof input === 'string') { const d = input.match(DURATION_REGEX_PARSE) if (d) { const properties = d.slice(2) const numberD = properties.map(value => (value != null ? Number(value) : 0)); [ this.$d.years, this.$d.months, this.$d.weeks, this.$d.days, this.$d.hours, this.$d.minutes, this.$d.seconds ] = numberD this.calMilliseconds() return this } } return this } calMilliseconds() { this.$ms = Object.keys(this.$d).reduce((total, unit) => ( total + ((this.$d[unit] || 0) * (unitToMS[unit])) ), 0) } parseFromMilliseconds() { let { $ms } = this this.$d.years = roundNumber($ms / MILLISECONDS_A_YEAR) $ms %= MILLISECONDS_A_YEAR this.$d.months = roundNumber($ms / MILLISECONDS_A_MONTH) $ms %= MILLISECONDS_A_MONTH this.$d.days = roundNumber($ms / MILLISECONDS_A_DAY) $ms %= MILLISECONDS_A_DAY this.$d.hours = roundNumber($ms / MILLISECONDS_A_HOUR) $ms %= MILLISECONDS_A_HOUR this.$d.minutes = roundNumber($ms / MILLISECONDS_A_MINUTE) $ms %= MILLISECONDS_A_MINUTE this.$d.seconds = roundNumber($ms / MILLISECONDS_A_SECOND) $ms %= MILLISECONDS_A_SECOND this.$d.milliseconds = $ms } toISOString() { const Y = getNumberUnitFormat(this.$d.years, 'Y') const M = getNumberUnitFormat(this.$d.months, 'M') let days = +this.$d.days || 0 if (this.$d.weeks) { days += this.$d.weeks * 7 } const D = getNumberUnitFormat(days, 'D') const H = getNumberUnitFormat(this.$d.hours, 'H') const m = getNumberUnitFormat(this.$d.minutes, 'M') let seconds = this.$d.seconds || 0 if (this.$d.milliseconds) { seconds += this.$d.milliseconds / 1000 seconds = Math.round(seconds * 1000) / 1000 } const S = getNumberUnitFormat(seconds, 'S') const negativeMode = Y.negative || M.negative || D.negative || H.negative || m.negative || S.negative const T = H.format || m.format || S.format ? 'T' : '' const P = negativeMode ? '-' : '' const result = `${P}P${Y.format}${M.format}${D.format}${T}${H.format}${m.format}${S.format}` return result === 'P' || result === '-P' ? 'P0D' : result } toJSON() { return this.toISOString() } format(formatStr) { const str = formatStr || 'YYYY-MM-DDTHH:mm:ss' const matches = { Y: this.$d.years, YY: $u.s(this.$d.years, 2, '0'), YYYY: $u.s(this.$d.years, 4, '0'), M: this.$d.months, MM: $u.s(this.$d.months, 2, '0'), D: this.$d.days, DD: $u.s(this.$d.days, 2, '0'), H: this.$d.hours, HH: $u.s(this.$d.hours, 2, '0'), m: this.$d.minutes, mm: $u.s(this.$d.minutes, 2, '0'), s: this.$d.seconds, ss: $u.s(this.$d.seconds, 2, '0'), SSS: $u.s(this.$d.milliseconds, 3, '0') } return str.replace(DURATION_REGEX_FORMAT, (match, $1) => $1 || String(matches[match])) } as(unit) { return this.$ms / (unitToMS[prettyUnit(unit)]) } get(unit) { let base = this.$ms const pUnit = prettyUnit(unit) if (pUnit === 'milliseconds') { base %= 1000 } else if (pUnit === 'weeks') { base = roundNumber(base / unitToMS[pUnit]) } else { base = this.$d[pUnit] } return base || 0 // a === 0 will be true on both 0 and -0 } add(input, unit, isSubtract) { let another if (unit) { another = input * unitToMS[prettyUnit(unit)] } else if (isDuration(input)) { another = input.$ms } else { another = wrapper(input, this).$ms } return wrapper(this.$ms + (another * (isSubtract ? -1 : 1)), this) } subtract(input, unit) { return this.add(input, unit, true) } locale(l) { const that = this.clone() that.$l = l return that } clone() { return wrapper(this.$ms, this) } humanize(withSuffix) { return $d() .add(this.$ms, 'ms') .locale(this.$l) .fromNow(!withSuffix) } valueOf() { return this.asMilliseconds() } milliseconds() { return this.get('milliseconds') } asMilliseconds() { return this.as('milliseconds') } seconds() { return this.get('seconds') } asSeconds() { return this.as('seconds') } minutes() { return this.get('minutes') } asMinutes() { return this.as('minutes') } hours() { return this.get('hours') } asHours() { return this.as('hours') } days() { return this.get('days') } asDays() { return this.as('days') } weeks() { return this.get('weeks') } asWeeks() { return this.as('weeks') } months() { return this.get('months') } asMonths() { return this.as('months') } years() { return this.get('years') } asYears() { return this.as('years') } } const manipulateDuration = (date, duration, k) => date.add(duration.years() * k, 'y') .add(duration.months() * k, 'M') .add(duration.days() * k, 'd') .add(duration.hours() * k, 'h') .add(duration.minutes() * k, 'm') .add(duration.seconds() * k, 's') .add(duration.milliseconds() * k, 'ms') export default (option, Dayjs, dayjs) => { $d = dayjs $u = dayjs().$utils() dayjs.duration = function (input, unit) { const $l = dayjs.locale() return wrapper(input, { $l }, unit) } dayjs.isDuration = isDuration const oldAdd = Dayjs.prototype.add const oldSubtract = Dayjs.prototype.subtract Dayjs.prototype.add = function (value, unit) { if (isDuration(value)) { return manipulateDuration(this, value, 1) } return oldAdd.bind(this)(value, unit) } Dayjs.prototype.subtract = function (value, unit) { if (isDuration(value)) { return manipulateDuration(this, value, -1) } return oldSubtract.bind(this)(value, unit) } } iamkun-dayjs-a25f01e/src/plugin/isBetween/000077500000000000000000000000001520523163200205245ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/isBetween/index.js000066400000000000000000000007211520523163200221710ustar00rootroot00000000000000export default (o, c, d) => { c.prototype.isBetween = function (a, b, u, i) { const dA = d(a) const dB = d(b) i = i || '()' const dAi = i[0] === '(' const dBi = i[1] === ')' return ((dAi ? this.isAfter(dA, u) : !this.isBefore(dA, u)) && (dBi ? this.isBefore(dB, u) : !this.isAfter(dB, u))) || ((dAi ? this.isBefore(dA, u) : !this.isAfter(dA, u)) && (dBi ? this.isAfter(dB, u) : !this.isBefore(dB, u))) } } iamkun-dayjs-a25f01e/src/plugin/isLeapYear/000077500000000000000000000000001520523163200206355ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/isLeapYear/index.js000066400000000000000000000002641520523163200223040ustar00rootroot00000000000000export default (o, c) => { const proto = c.prototype proto.isLeapYear = function () { return ((this.$y % 4 === 0) && (this.$y % 100 !== 0)) || (this.$y % 400 === 0) } } iamkun-dayjs-a25f01e/src/plugin/isMoment/000077500000000000000000000000001520523163200203725ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/isMoment/index.js000066400000000000000000000001431520523163200220350ustar00rootroot00000000000000export default (o, c, f) => { f.isMoment = function (input) { return f.isDayjs(input) } } iamkun-dayjs-a25f01e/src/plugin/isSameOrAfter/000077500000000000000000000000001520523163200213035ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/isSameOrAfter/index.js000066400000000000000000000002311520523163200227440ustar00rootroot00000000000000export default (o, c) => { c.prototype.isSameOrAfter = function (that, units) { return this.isSame(that, units) || this.isAfter(that, units) } } iamkun-dayjs-a25f01e/src/plugin/isSameOrBefore/000077500000000000000000000000001520523163200214445ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/isSameOrBefore/index.js000066400000000000000000000002331520523163200231070ustar00rootroot00000000000000export default (o, c) => { c.prototype.isSameOrBefore = function (that, units) { return this.isSame(that, units) || this.isBefore(that, units) } } iamkun-dayjs-a25f01e/src/plugin/isToday/000077500000000000000000000000001520523163200202135ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/isToday/index.js000066400000000000000000000003571520523163200216650ustar00rootroot00000000000000export default (o, c, d) => { const proto = c.prototype proto.isToday = function () { const comparisonTemplate = 'YYYY-MM-DD' const now = d() return this.format(comparisonTemplate) === now.format(comparisonTemplate) } } iamkun-dayjs-a25f01e/src/plugin/isTomorrow/000077500000000000000000000000001520523163200207635ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/isTomorrow/index.js000066400000000000000000000004301520523163200224250ustar00rootroot00000000000000export default (o, c, d) => { const proto = c.prototype proto.isTomorrow = function () { const comparisonTemplate = 'YYYY-MM-DD' const tomorrow = d().add(1, 'day') return ( this.format(comparisonTemplate) === tomorrow.format(comparisonTemplate) ) } } iamkun-dayjs-a25f01e/src/plugin/isYesterday/000077500000000000000000000000001520523163200211045ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/isYesterday/index.js000066400000000000000000000004401520523163200225470ustar00rootroot00000000000000export default (o, c, d) => { const proto = c.prototype proto.isYesterday = function () { const comparisonTemplate = 'YYYY-MM-DD' const yesterday = d().subtract(1, 'day') return ( this.format(comparisonTemplate) === yesterday.format(comparisonTemplate) ) } } iamkun-dayjs-a25f01e/src/plugin/isoWeek/000077500000000000000000000000001520523163200202055ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/isoWeek/index.js000066400000000000000000000031031520523163200216470ustar00rootroot00000000000000import { D, W, Y } from '../../constant' const isoWeekPrettyUnit = 'isoweek' export default (o, c, d) => { const getYearFirstThursday = (year, isUtc) => { const yearFirstDay = (isUtc ? d.utc : d)().year(year).startOf(Y) let addDiffDays = 4 - yearFirstDay.isoWeekday() if (yearFirstDay.isoWeekday() > 4) { addDiffDays += 7 } return yearFirstDay.add(addDiffDays, D) } const getCurrentWeekThursday = ins => ins.add((4 - ins.isoWeekday()), D) const proto = c.prototype proto.isoWeekYear = function () { const nowWeekThursday = getCurrentWeekThursday(this) return nowWeekThursday.year() } proto.isoWeek = function (week) { if (!this.$utils().u(week)) { return this.add((week - this.isoWeek()) * 7, D) } const nowWeekThursday = getCurrentWeekThursday(this) const diffWeekThursday = getYearFirstThursday(this.isoWeekYear(), this.$u) return nowWeekThursday.diff(diffWeekThursday, W) + 1 } proto.isoWeekday = function (week) { if (!this.$utils().u(week)) { return this.day(this.day() % 7 ? week : week - 7) } return this.day() || 7 } const oldStartOf = proto.startOf proto.startOf = function (units, startOf) { const utils = this.$utils() const isStartOf = !utils.u(startOf) ? startOf : true const unit = utils.p(units) if (unit === isoWeekPrettyUnit) { return isStartOf ? this.date(this.date() - (this.isoWeekday() - 1)).startOf('day') : this.date((this.date() - 1 - (this.isoWeekday() - 1)) + 7).endOf('day') } return oldStartOf.bind(this)(units, startOf) } } iamkun-dayjs-a25f01e/src/plugin/isoWeeksInYear/000077500000000000000000000000001520523163200215005ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/isoWeeksInYear/index.js000066400000000000000000000004371520523163200231510ustar00rootroot00000000000000export default (o, c) => { const proto = c.prototype proto.isoWeeksInYear = function () { const isLeapYear = this.isLeapYear() const last = this.endOf('y') const day = last.day() if (day === 4 || (isLeapYear && day === 5)) { return 53 } return 52 } } iamkun-dayjs-a25f01e/src/plugin/localeData/000077500000000000000000000000001520523163200206305ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/localeData/index.js000066400000000000000000000052641520523163200223040ustar00rootroot00000000000000import { t } from '../localizedFormat/utils' export default (o, c, dayjs) => { // locale needed later const proto = c.prototype const getLocalePart = part => (part && (part.indexOf ? part : part.s)) const getShort = (ins, target, full, num, localeOrder) => { const locale = ins.name ? ins : ins.$locale() const targetLocale = getLocalePart(locale[target]) const fullLocale = getLocalePart(locale[full]) const result = targetLocale || fullLocale.map(f => f.slice(0, num)) if (!localeOrder) return result const { weekStart } = locale return result.map((_, index) => (result[(index + (weekStart || 0)) % 7])) } const getDayjsLocaleObject = () => dayjs.Ls[dayjs.locale()] const getLongDateFormat = (l, format) => l.formats[format] || t(l.formats[format.toUpperCase()]) const localeData = function () { return { months: instance => (instance ? instance.format('MMMM') : getShort(this, 'months')), monthsShort: instance => (instance ? instance.format('MMM') : getShort(this, 'monthsShort', 'months', 3)), firstDayOfWeek: () => this.$locale().weekStart || 0, weekdays: instance => (instance ? instance.format('dddd') : getShort(this, 'weekdays')), weekdaysMin: instance => (instance ? instance.format('dd') : getShort(this, 'weekdaysMin', 'weekdays', 2)), weekdaysShort: instance => (instance ? instance.format('ddd') : getShort(this, 'weekdaysShort', 'weekdays', 3)), longDateFormat: format => getLongDateFormat(this.$locale(), format), meridiem: this.$locale().meridiem, ordinal: this.$locale().ordinal } } proto.localeData = function () { return localeData.bind(this)() } dayjs.localeData = () => { const localeObject = getDayjsLocaleObject() return { firstDayOfWeek: () => localeObject.weekStart || 0, weekdays: () => dayjs.weekdays(), weekdaysShort: () => dayjs.weekdaysShort(), weekdaysMin: () => dayjs.weekdaysMin(), months: () => dayjs.months(), monthsShort: () => dayjs.monthsShort(), longDateFormat: format => getLongDateFormat(localeObject, format), meridiem: localeObject.meridiem, ordinal: localeObject.ordinal } } dayjs.months = () => getShort(getDayjsLocaleObject(), 'months') dayjs.monthsShort = () => getShort(getDayjsLocaleObject(), 'monthsShort', 'months', 3) dayjs.weekdays = localeOrder => getShort(getDayjsLocaleObject(), 'weekdays', null, null, localeOrder) dayjs.weekdaysShort = localeOrder => getShort(getDayjsLocaleObject(), 'weekdaysShort', 'weekdays', 3, localeOrder) dayjs.weekdaysMin = localeOrder => getShort(getDayjsLocaleObject(), 'weekdaysMin', 'weekdays', 2, localeOrder) } iamkun-dayjs-a25f01e/src/plugin/localizedFormat/000077500000000000000000000000001520523163200217165ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/localizedFormat/index.js000066400000000000000000000006261520523163200233670ustar00rootroot00000000000000import { FORMAT_DEFAULT } from '../../constant' import { u, englishFormats } from './utils' export default (o, c, d) => { const proto = c.prototype const oldFormat = proto.format d.en.formats = englishFormats proto.format = function (formatStr = FORMAT_DEFAULT) { const { formats = {} } = this.$locale() const result = u(formatStr, formats) return oldFormat.call(this, result) } } iamkun-dayjs-a25f01e/src/plugin/localizedFormat/utils.js000066400000000000000000000010521520523163200234120ustar00rootroot00000000000000// eslint-disable-next-line import/prefer-default-export export const t = format => format.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, (_, a, b) => a || b.slice(1)) export const englishFormats = { LTS: 'h:mm:ss A', LT: 'h:mm A', L: 'MM/DD/YYYY', LL: 'MMMM D, YYYY', LLL: 'MMMM D, YYYY h:mm A', LLLL: 'dddd, MMMM D, YYYY h:mm A' } export const u = (formatStr, formats) => formatStr.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g, (_, a, b) => { const B = b && b.toUpperCase() return a || formats[b] || englishFormats[b] || t(formats[B]) }) iamkun-dayjs-a25f01e/src/plugin/minMax/000077500000000000000000000000001520523163200200305ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/minMax/index.js000066400000000000000000000016021520523163200214740ustar00rootroot00000000000000export default (o, c, d) => { const sortBy = (method, dates) => { if ( !dates || !dates.length || (dates.length === 1 && !dates[0]) || (dates.length === 1 && Array.isArray(dates[0]) && !dates[0].length) ) { return null } if (dates.length === 1 && dates[0].length > 0) { [dates] = dates } dates = dates.filter(date => date) let result; [result] = dates for (let i = 1; i < dates.length; i += 1) { if (!dates[i].isValid() || dates[i][method](result)) { result = dates[i] } } return result } d.max = function () { const args = [].slice.call(arguments, 0) // eslint-disable-line prefer-rest-params return sortBy('isAfter', args) } d.min = function () { const args = [].slice.call(arguments, 0) // eslint-disable-line prefer-rest-params return sortBy('isBefore', args) } } iamkun-dayjs-a25f01e/src/plugin/negativeYear/000077500000000000000000000000001520523163200212225ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/negativeYear/index.js000066400000000000000000000013321520523163200226660ustar00rootroot00000000000000export default (_, c, dayjs) => { const proto = c.prototype const parseDate = (cfg) => { const { date, utc } = cfg if (typeof date === 'string' && date.charAt(0) === '-') { const normalData = date.slice(1) let newDate = dayjs(normalData) if (utc) { newDate = dayjs.utc(normalData) } else { newDate = dayjs(normalData) } const fullYear = newDate.year() if (date.indexOf(`-${fullYear}`) !== -1) { return dayjs(newDate).subtract(fullYear * 2, 'year').toDate() } return date } return date } const oldParse = proto.parse proto.parse = function (cfg) { cfg.date = parseDate.bind(this)(cfg) oldParse.bind(this)(cfg) } } iamkun-dayjs-a25f01e/src/plugin/objectSupport/000077500000000000000000000000001520523163200214425ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/objectSupport/index.js000066400000000000000000000044641520523163200231170ustar00rootroot00000000000000export default (o, c, dayjs) => { const proto = c.prototype const isObject = obj => obj !== null && !(obj instanceof Date) && !(obj instanceof Array) && !proto.$utils().u(obj) && (obj.constructor.name === 'Object') const prettyUnit = (u) => { const unit = proto.$utils().p(u) return unit === 'date' ? 'day' : unit } const parseDate = (cfg) => { const { date, utc } = cfg const $d = {} if (isObject(date)) { if (!Object.keys(date).length) { return new Date() } const now = utc ? dayjs.utc() : dayjs() Object.keys(date).forEach((k) => { $d[prettyUnit(k)] = date[k] }) const d = $d.day || ((!$d.year && !($d.month >= 0)) ? now.date() : 1) const y = $d.year || now.year() const M = $d.month >= 0 ? $d.month : ((!$d.year && !$d.day) ? now.month() : 0)// eslint-disable-line no-nested-ternary,max-len const h = $d.hour || 0 const m = $d.minute || 0 const s = $d.second || 0 const ms = $d.millisecond || 0 if (utc) { return new Date(Date.UTC(y, M, d, h, m, s, ms)) } return new Date(y, M, d, h, m, s, ms) } return date } const oldParse = proto.parse proto.parse = function (cfg) { cfg.date = parseDate.bind(this)(cfg) oldParse.bind(this)(cfg) } const oldSet = proto.set const oldAdd = proto.add const oldSubtract = proto.subtract const callObject = function (call, argument, string, offset = 1) { const keys = Object.keys(argument) let chain = this keys.forEach((key) => { chain = call.bind(chain)(argument[key] * offset, key) }) return chain } proto.set = function (unit, value) { value = value === undefined ? unit : value if (unit.constructor.name === 'Object') { return callObject.bind(this)(function (i, s) { return oldSet.bind(this)(s, i) }, value, unit) } return oldSet.bind(this)(unit, value) } proto.add = function (value, unit) { if (value.constructor.name === 'Object') { return callObject.bind(this)(oldAdd, value, unit) } return oldAdd.bind(this)(value, unit) } proto.subtract = function (value, unit) { if (value.constructor.name === 'Object') { return callObject.bind(this)(oldAdd, value, unit, -1) } return oldSubtract.bind(this)(value, unit) } } iamkun-dayjs-a25f01e/src/plugin/pluralGetSet/000077500000000000000000000000001520523163200212125ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/pluralGetSet/index.js000066400000000000000000000005241520523163200226600ustar00rootroot00000000000000export default (o, c) => { const proto = c.prototype const pluralAliases = [ 'milliseconds', 'seconds', 'minutes', 'hours', 'days', 'weeks', 'isoWeeks', 'months', 'quarters', 'years', 'dates' ] pluralAliases.forEach((alias) => { proto[alias] = proto[alias.replace(/s$/, '')] }) } iamkun-dayjs-a25f01e/src/plugin/preParsePostFormat/000077500000000000000000000000001520523163200223775ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/preParsePostFormat/index.js000066400000000000000000000024121520523163200240430ustar00rootroot00000000000000// Plugin template from https://day.js.org/docs/en/plugin/plugin export default (option, dayjsClass) => { const oldParse = dayjsClass.prototype.parse dayjsClass.prototype.parse = function (cfg) { if (typeof cfg.date === 'string') { const locale = this.$locale() cfg.date = locale && locale.preparse ? locale.preparse(cfg.date) : cfg.date } // original parse result return oldParse.bind(this)(cfg) } // // overriding existing API // // e.g. extend dayjs().format() const oldFormat = dayjsClass.prototype.format dayjsClass.prototype.format = function (...args) { // original format result const result = oldFormat.call(this, ...args) // return modified result const locale = this.$locale() return locale && locale.postformat ? locale.postformat(result) : result } const oldFromTo = dayjsClass.prototype.fromToBase if (oldFromTo) { dayjsClass.prototype.fromToBase = function ( input, withoutSuffix, instance, isFrom ) { const locale = this.$locale() || instance.$locale() // original format result return oldFromTo.call( this, input, withoutSuffix, instance, isFrom, locale && locale.postformat ) } } } iamkun-dayjs-a25f01e/src/plugin/quarterOfYear/000077500000000000000000000000001520523163200213705ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/quarterOfYear/index.js000066400000000000000000000020321520523163200230320ustar00rootroot00000000000000import { Q, M, D } from '../../constant' export default (o, c) => { const proto = c.prototype proto.quarter = function (quarter) { if (!this.$utils().u(quarter)) { return this.month((this.month() % 3) + ((quarter - 1) * 3)) } return Math.ceil((this.month() + 1) / 3) } const oldAdd = proto.add proto.add = function (number, units) { number = Number(number) // eslint-disable-line no-param-reassign const unit = this.$utils().p(units) if (unit === Q) { return this.add(number * 3, M) } return oldAdd.bind(this)(number, units) } const oldStartOf = proto.startOf proto.startOf = function (units, startOf) { const utils = this.$utils() const isStartOf = !utils.u(startOf) ? startOf : true const unit = utils.p(units) if (unit === Q) { const quarter = this.quarter() - 1 return isStartOf ? this.month(quarter * 3) .startOf(M).startOf(D) : this.month((quarter * 3) + 2).endOf(M).endOf(D) } return oldStartOf.bind(this)(units, startOf) } } iamkun-dayjs-a25f01e/src/plugin/relativeTime/000077500000000000000000000000001520523163200212315ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/relativeTime/index.js000066400000000000000000000047151520523163200227050ustar00rootroot00000000000000import * as C from '../../constant' export default (o, c, d) => { o = o || {} const proto = c.prototype const relObj = { future: 'in %s', past: '%s ago', s: 'a few seconds', m: 'a minute', mm: '%d minutes', h: 'an hour', hh: '%d hours', d: 'a day', dd: '%d days', M: 'a month', MM: '%d months', y: 'a year', yy: '%d years' } d.en.relativeTime = relObj proto.fromToBase = (input, withoutSuffix, instance, isFrom, postFormat) => { const loc = instance.$locale().relativeTime || relObj const T = o.thresholds || [ { l: 's', r: 44, d: C.S }, { l: 'm', r: 89 }, { l: 'mm', r: 44, d: C.MIN }, { l: 'h', r: 89 }, { l: 'hh', r: 21, d: C.H }, { l: 'd', r: 35 }, { l: 'dd', r: 25, d: C.D }, { l: 'M', r: 45 }, { l: 'MM', r: 10, d: C.M }, { l: 'y', r: 17 }, { l: 'yy', d: C.Y } ] const Tl = T.length let result let out let isFuture for (let i = 0; i < Tl; i += 1) { let t = T[i] if (t.d) { result = isFrom ? d(input).diff(instance, t.d, true) : instance.diff(input, t.d, true) } let abs = (o.rounding || Math.round)(Math.abs(result)) isFuture = result > 0 if (abs <= t.r || !t.r) { if (abs <= 1 && i > 0) t = T[i - 1] // 1 minutes -> a minute, 0 seconds -> 0 second const format = loc[t.l] if (postFormat) { abs = postFormat(`${abs}`) } if (typeof format === 'string') { out = format.replace('%d', abs) } else { out = format(abs, withoutSuffix, t.l, isFuture) } break } } if (withoutSuffix) return out const pastOrFuture = isFuture ? loc.future : loc.past if (typeof pastOrFuture === 'function') { return pastOrFuture(out) } return pastOrFuture.replace('%s', out) } function fromTo(input, withoutSuffix, instance, isFrom) { return proto.fromToBase(input, withoutSuffix, instance, isFrom) } proto.to = function (input, withoutSuffix) { return fromTo(input, withoutSuffix, this, true) } proto.from = function (input, withoutSuffix) { return fromTo(input, withoutSuffix, this) } const makeNow = thisDay => (thisDay.$u ? d.utc() : d()) proto.toNow = function (withoutSuffix) { return this.to(makeNow(this), withoutSuffix) } proto.fromNow = function (withoutSuffix) { return this.from(makeNow(this), withoutSuffix) } } iamkun-dayjs-a25f01e/src/plugin/timezone/000077500000000000000000000000001520523163200204315ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/timezone/index.js000066400000000000000000000117761520523163200221120ustar00rootroot00000000000000import { MIN, MS } from '../../constant' const typeToPos = { year: 0, month: 1, day: 2, hour: 3, minute: 4, second: 5 } // Cache time-zone lookups from Intl.DateTimeFormat, // as it is a *very* slow method. const dtfCache = {} const getDateTimeFormat = (timezone, options = {}) => { const timeZoneName = options.timeZoneName || 'short' const key = `${timezone}|${timeZoneName}` let dtf = dtfCache[key] if (!dtf) { dtf = new Intl.DateTimeFormat('en-US', { hour12: false, timeZone: timezone, year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit', timeZoneName }) dtfCache[key] = dtf } return dtf } export default (o, c, d) => { let defaultTimezone const makeFormatParts = (timestamp, timezone, options = {}) => { const date = new Date(timestamp) const dtf = getDateTimeFormat(timezone, options) return dtf.formatToParts(date) } const tzOffset = (timestamp, timezone) => { const formatResult = makeFormatParts(timestamp, timezone) const filled = [] for (let i = 0; i < formatResult.length; i += 1) { const { type, value } = formatResult[i] const pos = typeToPos[type] if (pos >= 0) { filled[pos] = parseInt(value, 10) } } const hour = filled[3] // Workaround for the same behavior in different node version // https://github.com/nodejs/node/issues/33027 /* istanbul ignore next */ const fixedHour = hour === 24 ? 0 : hour const utcString = `${filled[0]}-${filled[1]}-${filled[2]} ${fixedHour}:${filled[4]}:${filled[5]}:000` const utcTs = d.utc(utcString).valueOf() let asTS = +timestamp const over = asTS % 1000 asTS -= over return (utcTs - asTS) / (60 * 1000) } // find the right offset a given local time. The o input is our guess, which determines which // offset we'll pick in ambiguous cases (e.g. there are two 3 AMs b/c Fallback DST) // https://github.com/moment/luxon/blob/master/src/datetime.js#L76 const fixOffset = (localTS, o0, tz) => { // Our UTC time is just a guess because our offset is just a guess let utcGuess = localTS - (o0 * 60 * 1000) // Test whether the zone matches the offset for this ts const o2 = tzOffset(utcGuess, tz) // If so, offset didn't change and we're done if (o0 === o2) { return [utcGuess, o0] } // If not, change the ts by the difference in the offset utcGuess -= (o2 - o0) * 60 * 1000 // If that gives us the local time we want, we're done const o3 = tzOffset(utcGuess, tz) if (o2 === o3) { return [utcGuess, o2] } // If it's different, we're in a hole time. // The offset has changed, but the we don't adjust the time return [localTS - (Math.min(o2, o3) * 60 * 1000), Math.max(o2, o3)] } const proto = c.prototype proto.tz = function (timezone = defaultTimezone, keepLocalTime) { const oldOffset = this.utcOffset() const date = this.toDate() const target = date.toLocaleString('en-US', { timeZone: timezone }) const diff = Math.round((date - new Date(target)) / 1000 / 60) const offset = (-Math.round(date.getTimezoneOffset() / 15) * 15) - diff const isUTC = !Number(offset) let ins if (isUTC) { // if utcOffset is 0, turn it to UTC mode ins = this.utcOffset(0, keepLocalTime) } else { ins = d(target, { locale: this.$L }).$set(MS, this.$ms) .utcOffset(offset, true) if (keepLocalTime) { const newOffset = ins.utcOffset() ins = ins.add(oldOffset - newOffset, MIN) } } ins.$x.$timezone = timezone return ins } proto.offsetName = function (type) { // type: short(default) / long const zone = this.$x.$timezone || d.tz.guess() const result = makeFormatParts(this.valueOf(), zone, { timeZoneName: type }).find(m => m.type.toLowerCase() === 'timezonename') return result && result.value } const oldStartOf = proto.startOf proto.startOf = function (units, startOf) { if (!this.$x || !this.$x.$timezone) { return oldStartOf.call(this, units, startOf) } const withoutTz = d(this.format('YYYY-MM-DD HH:mm:ss:SSS'), { locale: this.$L }) const startOfWithoutTz = oldStartOf.call(withoutTz, units, startOf) return startOfWithoutTz.tz(this.$x.$timezone, true) } d.tz = function (input, arg1, arg2) { const parseFormat = arg2 && arg1 const timezone = arg2 || arg1 || defaultTimezone const previousOffset = tzOffset(+d(), timezone) if (typeof input !== 'string') { // timestamp number || js Date || Day.js return d(input).tz(timezone) } const localTs = d.utc(input, parseFormat).valueOf() const [targetTs, targetOffset] = fixOffset(localTs, previousOffset, timezone) const ins = d(targetTs).utcOffset(targetOffset) ins.$x.$timezone = timezone return ins } d.tz.guess = function () { return Intl.DateTimeFormat().resolvedOptions().timeZone } d.tz.setDefault = function (timezone) { defaultTimezone = timezone } } iamkun-dayjs-a25f01e/src/plugin/toArray/000077500000000000000000000000001520523163200202205ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/toArray/index.js000066400000000000000000000003321520523163200216630ustar00rootroot00000000000000export default (o, c) => { const proto = c.prototype proto.toArray = function () { return [ this.$y, this.$M, this.$D, this.$H, this.$m, this.$s, this.$ms ] } } iamkun-dayjs-a25f01e/src/plugin/toObject/000077500000000000000000000000001520523163200203505ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/toObject/index.js000066400000000000000000000004271520523163200220200ustar00rootroot00000000000000export default (o, c) => { const proto = c.prototype proto.toObject = function () { return { years: this.$y, months: this.$M, date: this.$D, hours: this.$H, minutes: this.$m, seconds: this.$s, milliseconds: this.$ms } } } iamkun-dayjs-a25f01e/src/plugin/updateLocale/000077500000000000000000000000001520523163200212015ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/updateLocale/index.js000066400000000000000000000013311520523163200226440ustar00rootroot00000000000000export default (option, Dayjs, dayjs) => { dayjs.updateLocale = function (locale, customConfig) { const localeList = dayjs.Ls const localeConfig = localeList[locale] if (!localeConfig) return const customConfigKeys = customConfig ? Object.keys(customConfig) : [] customConfigKeys.forEach((c) => { if (localeConfig[c] && customConfig[c] && typeof localeConfig[c] === 'object' && typeof customConfig[c] === 'object' && !Array.isArray(localeConfig[c])) { localeConfig[c] = { ...localeConfig[c], ...customConfig[c] } } else { localeConfig[c] = customConfig[c] } }) return localeConfig // eslint-disable-line consistent-return } } iamkun-dayjs-a25f01e/src/plugin/utc/000077500000000000000000000000001520523163200173725ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/utc/index.js000066400000000000000000000077241520523163200210510ustar00rootroot00000000000000import { MILLISECONDS_A_MINUTE, MIN } from '../../constant' const REGEX_VALID_OFFSET_FORMAT = /[+-]\d\d(?::?\d\d)?/g const REGEX_OFFSET_HOURS_MINUTES_FORMAT = /([+-]|\d\d)/g function offsetFromString(value = '') { const offset = value.match(REGEX_VALID_OFFSET_FORMAT) if (!offset) { return null } const [indicator, hoursOffset, minutesOffset] = `${offset[0]}`.match(REGEX_OFFSET_HOURS_MINUTES_FORMAT) || ['-', 0, 0] const totalOffsetInMinutes = (+hoursOffset * 60) + (+minutesOffset) if (totalOffsetInMinutes === 0) { return 0 } return indicator === '+' ? totalOffsetInMinutes : -totalOffsetInMinutes } export default (option, Dayjs, dayjs) => { const proto = Dayjs.prototype dayjs.utc = function (date) { const cfg = { date, utc: true, args: arguments } // eslint-disable-line prefer-rest-params return new Dayjs(cfg) // eslint-disable-line no-use-before-define } proto.utc = function (keepLocalTime) { const ins = dayjs(this.toDate(), { locale: this.$L, utc: true }) if (keepLocalTime) { return ins.add(this.utcOffset(), MIN) } return ins } proto.local = function () { return dayjs(this.toDate(), { locale: this.$L, utc: false }) } const oldParse = proto.parse proto.parse = function (cfg) { if (cfg.utc) { this.$u = true } if (!this.$utils().u(cfg.$offset)) { this.$offset = cfg.$offset } oldParse.call(this, cfg) } const oldInit = proto.init proto.init = function () { if (this.$u) { const { $d } = this this.$y = $d.getUTCFullYear() this.$M = $d.getUTCMonth() this.$D = $d.getUTCDate() this.$W = $d.getUTCDay() this.$H = $d.getUTCHours() this.$m = $d.getUTCMinutes() this.$s = $d.getUTCSeconds() this.$ms = $d.getUTCMilliseconds() } else { oldInit.call(this) } } const oldUtcOffset = proto.utcOffset proto.utcOffset = function (input, keepLocalTime) { const { u } = this.$utils() if (u(input)) { if (this.$u) { return 0 } if (!u(this.$offset)) { return this.$offset } return oldUtcOffset.call(this) } if (typeof input === 'string') { input = offsetFromString(input) if (input === null) { return this } } const offset = Math.abs(input) <= 16 ? input * 60 : input if (offset === 0) { return this.utc(keepLocalTime) } let ins = this.clone() if (keepLocalTime) { ins.$offset = offset ins.$u = false return ins } const localTimezoneOffset = this.$u ? this.toDate().getTimezoneOffset() : -1 * this.utcOffset() ins = this.local().add(offset + localTimezoneOffset, MIN) ins.$offset = offset ins.$x.$localOffset = localTimezoneOffset return ins } const oldFormat = proto.format const UTC_FORMAT_DEFAULT = 'YYYY-MM-DDTHH:mm:ss[Z]' proto.format = function (formatStr) { const str = formatStr || (this.$u ? UTC_FORMAT_DEFAULT : '') return oldFormat.call(this, str) } proto.valueOf = function () { const addedOffset = !this.$utils().u(this.$offset) ? this.$offset + (this.$x.$localOffset || this.$d.getTimezoneOffset()) : 0 return this.$d.valueOf() - (addedOffset * MILLISECONDS_A_MINUTE) } proto.isUTC = function () { return !!this.$u } proto.toISOString = function () { return this.toDate().toISOString() } proto.toString = function () { return this.toDate().toUTCString() } const oldToDate = proto.toDate proto.toDate = function (type) { if (type === 's' && this.$offset) { return dayjs(this.format('YYYY-MM-DD HH:mm:ss:SSS')).toDate() } return oldToDate.call(this) } const oldDiff = proto.diff proto.diff = function (input, units, float) { if (input && this.$u === input.$u) { return oldDiff.call(this, input, units, float) } const localThis = this.local() const localInput = dayjs(input).local() return oldDiff.call(localThis, localInput, units, float) } } iamkun-dayjs-a25f01e/src/plugin/weekOfYear/000077500000000000000000000000001520523163200206405ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/weekOfYear/index.js000066400000000000000000000016551520523163200223140ustar00rootroot00000000000000import { MS, Y, D, W } from '../../constant' export default (o, c, d) => { const proto = c.prototype proto.week = function (week = null) { if (week !== null) { return this.add((week - this.week()) * 7, D) } const yearStart = this.$locale().yearStart || 1 if (this.month() === 11 && this.date() > 25) { // d(this) is for badMutable const nextYearStartDay = d(this).startOf(Y).add(1, Y).date(yearStart) const thisEndOfWeek = d(this).endOf(W) if (nextYearStartDay.isBefore(thisEndOfWeek)) { return 1 } } const yearStartDay = d(this).startOf(Y).date(yearStart) const yearStartWeek = yearStartDay.startOf(W).subtract(1, MS) const diffInWeek = this.diff(yearStartWeek, W, true) if (diffInWeek < 0) { return d(this).startOf('week').week() } return Math.ceil(diffInWeek) } proto.weeks = function (week = null) { return this.week(week) } } iamkun-dayjs-a25f01e/src/plugin/weekYear/000077500000000000000000000000001520523163200203535ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/weekYear/index.js000066400000000000000000000005341520523163200220220ustar00rootroot00000000000000export default (o, c) => { const proto = c.prototype proto.weekYear = function () { const month = this.month() const weekOfYear = this.week() const year = this.year() if (weekOfYear === 1 && month === 11) { return year + 1 } if (month === 0 && weekOfYear >= 52) { return year - 1 } return year } } iamkun-dayjs-a25f01e/src/plugin/weekday/000077500000000000000000000000001520523163200202305ustar00rootroot00000000000000iamkun-dayjs-a25f01e/src/plugin/weekday/index.js000066400000000000000000000005461520523163200217020ustar00rootroot00000000000000export default (o, c) => { const proto = c.prototype proto.weekday = function (input) { const weekStart = this.$locale().weekStart || 0 const { $W } = this const weekday = ($W < weekStart ? $W + 7 : $W) - weekStart if (this.$utils().u(input)) { return weekday } return this.subtract(weekday, 'day').add(input, 'day') } } iamkun-dayjs-a25f01e/src/utils.js000066400000000000000000000027101520523163200167770ustar00rootroot00000000000000import * as C from './constant' const padStart = (string, length, pad) => { const s = String(string) if (!s || s.length >= length) return string return `${Array((length + 1) - s.length).join(pad)}${string}` } const padZoneStr = (instance) => { const negMinutes = -instance.utcOffset() const minutes = Math.abs(negMinutes) const hourOffset = Math.floor(minutes / 60) const minuteOffset = minutes % 60 return `${negMinutes <= 0 ? '+' : '-'}${padStart(hourOffset, 2, '0')}:${padStart(minuteOffset, 2, '0')}` } const monthDiff = (a, b) => { // function from moment.js in order to keep the same result if (a.date() < b.date()) return -monthDiff(b, a) const wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()) const anchor = a.clone().add(wholeMonthDiff, C.M) const c = b - anchor < 0 const anchor2 = a.clone().add(wholeMonthDiff + (c ? -1 : 1), C.M) return +(-(wholeMonthDiff + ((b - anchor) / (c ? (anchor - anchor2) : (anchor2 - anchor)))) || 0) } const absFloor = n => (n < 0 ? Math.ceil(n) || 0 : Math.floor(n)) const prettyUnit = (u) => { const special = { M: C.M, y: C.Y, w: C.W, d: C.D, D: C.DATE, h: C.H, m: C.MIN, s: C.S, ms: C.MS, Q: C.Q } return special[u] || String(u || '').toLowerCase().replace(/s$/, '') } const isUndefined = s => s === undefined export default { s: padStart, z: padZoneStr, m: monthDiff, a: absFloor, p: prettyUnit, u: isUndefined } iamkun-dayjs-a25f01e/test/000077500000000000000000000000001520523163200154715ustar00rootroot00000000000000iamkun-dayjs-a25f01e/test/__mocks__/000077500000000000000000000000001520523163200174015ustar00rootroot00000000000000iamkun-dayjs-a25f01e/test/__mocks__/dayjs.js000066400000000000000000000000731520523163200210510ustar00rootroot00000000000000const dayjs = require('../../src') module.exports = dayjs iamkun-dayjs-a25f01e/test/browser.spec.js000066400000000000000000000017701520523163200204500ustar00rootroot00000000000000/* eslint-disable prefer-arrow-callback,func-names */ // Please do NOT modify or change this file // Checkout our unit test files in test/*.test.js describe('Install', function () { it('window.dayjs ', function () { if (!window.dayjs) throw new Error('No window.dayjs') }) }) describe('Core APIs', function () { it('Chain Methods', function () { expect(dayjs('2011-02-05T14:48:00.000Z') .clone() .set('month', 3) .set('second', 30) .endOf('month') .startOf('week') .add(1, 'day') .subtract(1, 'year') .format('{YYYY} MM-DDTHH:mm:ss')).toBe('{2010} 04-25T00:00:00') }) it('Date parse - nonstandard date string', function () { expect(dayjs('2018-4-1 1:1:1:22').format('YYYY-MM-DD hh:mm:ss')) .toBe('2018-04-01 01:01:01') expect(dayjs('2018-4-1').format('YYYY-MM-DD hh:mm:ss')) .toBe('2018-04-01 12:00:00') expect(dayjs('2018-4-1 11:49').format('YYYY-MM-DD hh:mm:ss')) // fix ios bug .toBe('2018-04-01 11:49:00') }) }) iamkun-dayjs-a25f01e/test/comparison.test.js000066400000000000000000001171311520523163200211630ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from '../src' beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) test('is same without units', () => { const m = dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)) const mCopy = dayjs(m) expect(m.isSame(dayjs(new Date(2012, 3, 2, 3, 5, 5, 10)))).toBe(false, 'year is later') expect(m.isSame(dayjs(new Date(2010, 3, 2, 3, 3, 5, 10)))).toBe(false, 'year is earlier') expect(m.isSame(dayjs(new Date(2011, 4, 2, 3, 4, 5, 10)))).toBe(false, 'month is later') expect(m.isSame(dayjs(new Date(2011, 2, 2, 3, 4, 5, 10)))).toBe(false, 'month is earlier') expect(m.isSame(dayjs(new Date(2011, 3, 3, 3, 4, 5, 10)))).toBe(false, 'day is later') expect(m.isSame(dayjs(new Date(2011, 3, 1, 3, 4, 5, 10)))).toBe(false, 'day is earlier') expect(m.isSame(dayjs(new Date(2011, 3, 2, 4, 4, 5, 10)))).toBe(false, 'hour is later') expect(m.isSame(dayjs(new Date(2011, 3, 2, 2, 4, 5, 10)))).toBe(false, 'hour is earlier') expect(m.isSame(dayjs(new Date(2011, 3, 2, 3, 5, 5, 10)))).toBe(false, 'minute is later') expect(m.isSame(dayjs(new Date(2011, 3, 2, 3, 3, 5, 10)))).toBe(false, 'minute is earlier') expect(m.isSame(dayjs(new Date(2011, 3, 2, 3, 4, 6, 10)))).toBe(false, 'second is later') expect(m.isSame(dayjs(new Date(2011, 3, 2, 3, 4, 4, 11)))).toBe(false, 'second is earlier') expect(m.isSame(dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)))).toBe(true, 'millisecond match') expect(m.isSame(dayjs(new Date(2011, 3, 2, 3, 4, 5, 11)))).toBe(false, 'millisecond is later') expect(m.isSame(dayjs(new Date(2011, 3, 2, 3, 4, 5, 9)))).toBe(false, 'millisecond is earlier') expect(m.isSame(m)).toBe(true, 'moments are the same as themselves') expect(+m).toEqual(+mCopy, 'isSame second should not change moment') }) test('is same year', () => { const m = dayjs(new Date(2011, 1, 2, 3, 4, 5, 6)) const mCopy = dayjs(m) expect(m.isSame(dayjs(new Date(2011, 5, 6, 7, 8, 9, 10)), 'year')).toBe(true, 'year match') expect(m.isSame(dayjs(new Date(2011, 5, 6, 7, 8, 9, 10)), 'years')).toBe(true, 'plural should work') expect(m.isSame(dayjs(new Date(2012, 5, 6, 7, 8, 9, 10)), 'year')).toBe(false, 'year mismatch') expect(m.isSame(dayjs(new Date(2011, 0, 1, 0, 0, 0, 0)), 'year')).toBe(true, 'exact start of year') expect(m.isSame(dayjs(new Date(2011, 11, 31, 23, 59, 59, 999)), 'year')).toBe(true, 'exact end of year') expect(m.isSame(dayjs(new Date(2012, 0, 1, 0, 0, 0, 0)), 'year')).toBe(false, 'start of next year') expect(m.isSame(dayjs(new Date(2010, 11, 31, 23, 59, 59, 999)), 'year')).toBe(false, 'end of previous year') expect(m.isSame(m, 'year')).toBe(true, 'same moments are in the same year') expect(+m).toEqual(+mCopy, 'isSame year should not change moment') }) test('is same month', () => { const m = dayjs(new Date(2011, 2, 3, 4, 5, 6, 7)) const mCopy = dayjs(m) expect(m.isSame(dayjs(new Date(2011, 2, 6, 7, 8, 9, 10)), 'month')).toBe(true, 'month match') expect(m.isSame(dayjs(new Date(2011, 2, 6, 7, 8, 9, 10)), 'months')).toBe(true, 'plural should work') expect(m.isSame(dayjs(new Date(2012, 2, 6, 7, 8, 9, 10)), 'month')).toBe(false, 'year mismatch') expect(m.isSame(dayjs(new Date(2011, 5, 6, 7, 8, 9, 10)), 'month')).toBe(false, 'month mismatch') expect(m.isSame(dayjs(new Date(2011, 2, 1, 0, 0, 0, 0)), 'month')).toBe(true, 'exact start of month') expect(m.isSame(dayjs(new Date(2011, 2, 31, 23, 59, 59, 999)), 'month')).toBe(true, 'exact end of month') expect(m.isSame(dayjs(new Date(2011, 3, 1, 0, 0, 0, 0)), 'month')).toBe(false, 'start of next month') expect(m.isSame(dayjs(new Date(2011, 1, 27, 23, 59, 59, 999)), 'month')).toBe(false, 'end of previous month') expect(m.isSame(m, 'month')).toBe(true, 'same moments are in the same month') expect(+m).toEqual(+mCopy, 'isSame month should not change moment') }) test('is same day', () => { const m = dayjs(new Date(2011, 1, 2, 3, 4, 5, 6)) const mCopy = dayjs(m) expect(m.isSame(dayjs(new Date(2011, 1, 2, 7, 8, 9, 10)), 'day')).toBe(true, 'day match') expect(m.isSame(dayjs(new Date(2011, 1, 2, 7, 8, 9, 10)), 'days')).toBe(true, 'plural should work') expect(m.isSame(dayjs(new Date(2012, 1, 2, 7, 8, 9, 10)), 'day')).toBe(false, 'year mismatch') expect(m.isSame(dayjs(new Date(2011, 2, 2, 7, 8, 9, 10)), 'day')).toBe(false, 'month mismatch') expect(m.isSame(dayjs(new Date(2011, 1, 3, 7, 8, 9, 10)), 'day')).toBe(false, 'day mismatch') expect(m.isSame(dayjs(new Date(2011, 1, 2, 0, 0, 0, 0)), 'day')).toBe(true, 'exact start of day') expect(m.isSame(dayjs(new Date(2011, 1, 2, 23, 59, 59, 999)), 'day')).toBe(true, 'exact end of day') expect(m.isSame(dayjs(new Date(2011, 1, 3, 0, 0, 0, 0)), 'day')).toBe(false, 'start of next day') expect(m.isSame(dayjs(new Date(2011, 1, 1, 23, 59, 59, 999)), 'day')).toBe(false, 'end of previous day') expect(m.isSame(m, 'day')).toBe(true, 'same moments are in the same day') expect(+m).toEqual(+mCopy, 'isSame day should not change moment') }) test('is same hour', () => { const m = dayjs(new Date(2011, 1, 2, 3, 4, 5, 6)) const mCopy = dayjs(m) expect(m.isSame(dayjs(new Date(2011, 1, 2, 3, 8, 9, 10)), 'hour')).toBe(true, 'hour match') expect(m.isSame(dayjs(new Date(2011, 1, 2, 3, 8, 9, 10)), 'hours')).toBe(true, 'plural should work') expect(m.isSame(dayjs(new Date(2012, 1, 2, 3, 8, 9, 10)), 'hour')).toBe(false, 'year mismatch') expect(m.isSame(dayjs(new Date(2011, 2, 2, 3, 8, 9, 10)), 'hour')).toBe(false, 'month mismatch') expect(m.isSame(dayjs(new Date(2011, 1, 3, 3, 8, 9, 10)), 'hour')).toBe(false, 'day mismatch') expect(m.isSame(dayjs(new Date(2011, 1, 2, 4, 8, 9, 10)), 'hour')).toBe(false, 'hour mismatch') expect(m.isSame(dayjs(new Date(2011, 1, 2, 3, 0, 0, 0)), 'hour')).toBe(true, 'exact start of hour') expect(m.isSame(dayjs(new Date(2011, 1, 2, 3, 59, 59, 999)), 'hour')).toBe(true, 'exact end of hour') expect(m.isSame(dayjs(new Date(2011, 1, 2, 4, 0, 0, 0)), 'hour')).toBe(false, 'start of next hour') expect(m.isSame(dayjs(new Date(2011, 1, 2, 2, 59, 59, 999)), 'hour')).toBe(false, 'end of previous hour') expect(m.isSame(m, 'hour')).toBe(true, 'same moments are in the same hour') expect(+m).toEqual(+mCopy, 'isSame hour should not change moment') }) test('is same minute', () => { const m = dayjs(new Date(2011, 1, 2, 3, 4, 5, 6)) const mCopy = dayjs(m) expect(m.isSame(dayjs(new Date(2011, 1, 2, 3, 4, 9, 10)), 'minute')).toBe(true, 'minute match') expect(m.isSame(dayjs(new Date(2011, 1, 2, 3, 4, 9, 10)), 'minutes')).toBe(true, 'plural should work') expect(m.isSame(dayjs(new Date(2012, 1, 2, 3, 4, 9, 10)), 'minute')).toBe(false, 'year mismatch') expect(m.isSame(dayjs(new Date(2011, 2, 2, 3, 4, 9, 10)), 'minute')).toBe(false, 'month mismatch') expect(m.isSame(dayjs(new Date(2011, 1, 3, 3, 4, 9, 10)), 'minute')).toBe(false, 'day mismatch') expect(m.isSame(dayjs(new Date(2011, 1, 2, 4, 4, 9, 10)), 'minute')).toBe(false, 'hour mismatch') expect(m.isSame(dayjs(new Date(2011, 1, 2, 3, 5, 9, 10)), 'minute')).toBe(false, 'minute mismatch') expect(m.isSame(dayjs(new Date(2011, 1, 2, 3, 4, 0, 0)), 'minute')).toBe(true, 'exact start of minute') expect(m.isSame(dayjs(new Date(2011, 1, 2, 3, 4, 59, 999)), 'minute')).toBe(true, 'exact end of minute') expect(m.isSame(dayjs(new Date(2011, 1, 2, 3, 5, 0, 0)), 'minute')).toBe(false, 'start of next minute') expect(m.isSame(dayjs(new Date(2011, 1, 2, 3, 3, 59, 999)), 'minute')).toBe(false, 'end of previous minute') expect(m.isSame(m, 'minute')).toBe(true, 'same moments are in the same minute') expect(+m).toEqual(+mCopy, 'isSame minute should not change moment') }) test('is same second', () => { const m = dayjs(new Date(2011, 1, 2, 3, 4, 5, 6)) const mCopy = dayjs(m) expect(m.isSame(dayjs(new Date(2011, 1, 2, 3, 4, 5, 10)), 'second')).toBe(true, 'second match') expect(m.isSame(dayjs(new Date(2011, 1, 2, 3, 4, 5, 10)), 'seconds')).toBe(true, 'plural should work') expect(m.isSame(dayjs(new Date(2012, 1, 2, 3, 4, 5, 10)), 'second')).toBe(false, 'year mismatch') expect(m.isSame(dayjs(new Date(2011, 2, 2, 3, 4, 5, 10)), 'second')).toBe(false, 'month mismatch') expect(m.isSame(dayjs(new Date(2011, 1, 3, 3, 4, 5, 10)), 'second')).toBe(false, 'day mismatch') expect(m.isSame(dayjs(new Date(2011, 1, 2, 4, 4, 5, 10)), 'second')).toBe(false, 'hour mismatch') expect(m.isSame(dayjs(new Date(2011, 1, 2, 3, 5, 5, 10)), 'second')).toBe(false, 'minute mismatch') expect(m.isSame(dayjs(new Date(2011, 1, 2, 3, 4, 6, 10)), 'second')).toBe(false, 'second mismatch') expect(m.isSame(dayjs(new Date(2011, 1, 2, 3, 4, 5, 0)), 'second')).toBe(true, 'exact start of second') expect(m.isSame(dayjs(new Date(2011, 1, 2, 3, 4, 5, 999)), 'second')).toBe(true, 'exact end of second') expect(m.isSame(dayjs(new Date(2011, 1, 2, 3, 4, 6, 0)), 'second')).toBe(false, 'start of next second') expect(m.isSame(dayjs(new Date(2011, 1, 2, 3, 4, 4, 999)), 'second')).toBe(false, 'end of previous second') expect(m.isSame(m, 'second')).toBe(true, 'same moments are in the same second') expect(+m).toEqual(+mCopy, 'isSame second should not change moment') }) test('is same millisecond', () => { const m = dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)) const mCopy = dayjs(m) expect(m.isSame(dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), 'millisecond')).toBe(true, 'millisecond match') expect(m.isSame(dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), 'milliseconds')).toBe(true, 'plural should work') expect(m.isSame(dayjs(new Date(2012, 3, 2, 3, 4, 5, 10)), 'millisecond')).toBe(false, 'year is later') expect(m.isSame(dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), 'millisecond')).toBe(false, 'year is earlier') expect(m.isSame(dayjs(new Date(2011, 4, 2, 3, 4, 5, 10)), 'millisecond')).toBe(false, 'month is later') expect(m.isSame(dayjs(new Date(2011, 2, 2, 3, 4, 5, 10)), 'millisecond')).toBe(false, 'month is earlier') expect(m.isSame(dayjs(new Date(2011, 3, 3, 3, 4, 5, 10)), 'millisecond')).toBe(false, 'day is later') expect(m.isSame(dayjs(new Date(2011, 3, 1, 1, 4, 5, 10)), 'millisecond')).toBe(false, 'day is earlier') expect(m.isSame(dayjs(new Date(2011, 3, 2, 4, 4, 5, 10)), 'millisecond')).toBe(false, 'hour is later') expect(m.isSame(dayjs(new Date(2011, 3, 1, 4, 1, 5, 10)), 'millisecond')).toBe(false, 'hour is earlier') expect(m.isSame(dayjs(new Date(2011, 3, 2, 3, 5, 5, 10)), 'millisecond')).toBe(false, 'minute is later') expect(m.isSame(dayjs(new Date(2011, 3, 2, 3, 3, 5, 10)), 'millisecond')).toBe(false, 'minute is earlier') expect(m.isSame(dayjs(new Date(2011, 3, 2, 3, 4, 6, 10)), 'millisecond')).toBe(false, 'second is later') expect(m.isSame(dayjs(new Date(2011, 3, 2, 3, 4, 4, 5)), 'millisecond')).toBe(false, 'second is earlier') expect(m.isSame(dayjs(new Date(2011, 3, 2, 3, 4, 6, 11)), 'millisecond')).toBe(false, 'millisecond is later') expect(m.isSame(dayjs(new Date(2011, 3, 2, 3, 4, 4, 9)), 'millisecond')).toBe(false, 'millisecond is earlier') expect(m.isSame(m, 'millisecond')).toBe(true, 'same moments are in the same millisecond') expect(+m).toEqual(+mCopy, 'isSame millisecond should not change moment') }) test('is same with invalid moments', () => { expect(dayjs(null).isSame(dayjs('2018-01-01'))).toBe(false, 'invalid moments are not considered equal') expect(dayjs('2018-01-01').isSame(dayjs(null))).toBe(false, 'invalid moments are not considered equal') }) // isAfter() test('is after year', () => { const m = dayjs(new Date(2011, 1, 2, 3, 4, 5, 6)) const mCopy = dayjs(m) expect(m.isAfter(dayjs(new Date(2011, 5, 6, 7, 8, 9, 10)), 'year')).toBe(false, 'year match') expect(m.isAfter(dayjs(new Date(2010, 5, 6, 7, 8, 9, 10)), 'years')).toBe(true, 'plural should work') expect(m.isAfter(dayjs(new Date(2013, 5, 6, 7, 8, 9, 10)), 'year')).toBe(false, 'year is later') expect(m.isAfter(dayjs(new Date(2010, 5, 6, 7, 8, 9, 10)), 'year')).toBe(true, 'year is earlier') expect(m.isAfter(dayjs(new Date(2011, 0, 1, 0, 0, 0, 0)), 'year')).toBe(false, 'exact start of year') expect(m.isAfter(dayjs(new Date(2011, 11, 31, 23, 59, 59, 999)), 'year')).toBe(false, 'exact end of year') expect(m.isAfter(dayjs(new Date(2012, 0, 1, 0, 0, 0, 0)), 'year')).toBe(false, 'start of next year') expect(m.isAfter(dayjs(new Date(2010, 11, 31, 23, 59, 59, 999)), 'year')).toBe(true, 'end of previous year') expect(m.isAfter(dayjs(new Date(1980, 11, 31, 23, 59, 59, 999)), 'year')).toBe(true, 'end of year far before') expect(m.isAfter(m, 'year')).toBe(false, 'same moments are not after the same year') expect(+m).toEqual(+mCopy, 'isAfter year should not change moment') }) test('is after month', () => { const m = dayjs(new Date(2011, 2, 3, 4, 5, 6, 7)) const mCopy = dayjs(m) expect(m.isAfter(dayjs(new Date(2011, 2, 6, 7, 8, 9, 10)), 'month')).toBe(false, 'month match') expect(m.isAfter(dayjs(new Date(2010, 2, 6, 7, 8, 9, 10)), 'months')).toBe(true, 'plural should work') expect(m.isAfter(dayjs(new Date(2012, 2, 6, 7, 8, 9, 10)), 'month')).toBe(false, 'year is later') expect(m.isAfter(dayjs(new Date(2010, 2, 6, 7, 8, 9, 10)), 'month')).toBe(true, 'year is earlier') expect(m.isAfter(dayjs(new Date(2011, 5, 6, 7, 8, 9, 10)), 'month')).toBe(false, 'month is later') expect(m.isAfter(dayjs(new Date(2011, 1, 6, 7, 8, 9, 10)), 'month')).toBe(true, 'month is earlier') expect(m.isAfter(dayjs(new Date(2011, 2, 1, 0, 0, 0, 0)), 'month')).toBe(false, 'exact start of month') expect(m.isAfter(dayjs(new Date(2011, 2, 31, 23, 59, 59, 999)), 'month')).toBe(false, 'exact end of month') expect(m.isAfter(dayjs(new Date(2011, 3, 1, 0, 0, 0, 0)), 'month')).toBe(false, 'start of next month') expect(m.isAfter(dayjs(new Date(2011, 1, 27, 23, 59, 59, 999)), 'month')).toBe(true, 'end of previous month') expect(m.isAfter(dayjs(new Date(2010, 12, 31, 23, 59, 59, 999)), 'month')).toBe(true, 'later month but earlier year') expect(m.isAfter(m, 'month')).toBe(false, 'same moments are not after the same month') expect(+m).toEqual(+mCopy, 'isAfter month should not change moment') }) test('is after day', () => { const m = dayjs(new Date(2011, 3, 2, 3, 4, 5, 6)) const mCopy = dayjs(m) expect(m.isAfter(dayjs(new Date(2011, 3, 2, 7, 8, 9, 10)), 'day')).toBe(false, 'day match') expect(m.isAfter(dayjs(new Date(2010, 3, 2, 7, 8, 9, 10)), 'days')).toBe(true, 'plural should work') expect(m.isAfter(dayjs(new Date(2012, 3, 2, 7, 8, 9, 10)), 'day')).toBe(false, 'year is later') expect(m.isAfter(dayjs(new Date(2010, 3, 2, 7, 8, 9, 10)), 'day')).toBe(true, 'year is earlier') expect(m.isAfter(dayjs(new Date(2011, 4, 2, 7, 8, 9, 10)), 'day')).toBe(false, 'month is later') expect(m.isAfter(dayjs(new Date(2011, 2, 2, 7, 8, 9, 10)), 'day')).toBe(true, 'month is earlier') expect(m.isAfter(dayjs(new Date(2011, 3, 3, 7, 8, 9, 10)), 'day')).toBe(false, 'day is later') expect(m.isAfter(dayjs(new Date(2011, 3, 1, 7, 8, 9, 10)), 'day')).toBe(true, 'day is earlier') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 0, 0, 0, 0)), 'day')).toBe(false, 'exact start of day') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 23, 59, 59, 999)), 'day')).toBe(false, 'exact end of day') expect(m.isAfter(dayjs(new Date(2011, 3, 3, 0, 0, 0, 0)), 'day')).toBe(false, 'start of next day') expect(m.isAfter(dayjs(new Date(2011, 3, 1, 23, 59, 59, 999)), 'day')).toBe(true, 'end of previous day') expect(m.isAfter(dayjs(new Date(2010, 3, 10, 0, 0, 0, 0)), 'day')).toBe(true, 'later day but earlier year') expect(m.isAfter(m, 'day')).toBe(false, 'same moments are not after the same day') expect(+m).toEqual(+mCopy, 'isAfter day should not change moment') }) test('is after hour', () => { const m = dayjs(new Date(2011, 3, 2, 3, 4, 5, 6)) const mCopy = dayjs(m) expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 8, 9, 10)), 'hour')).toBe(false, 'hour match') expect(m.isAfter(dayjs(new Date(2010, 3, 2, 3, 8, 9, 10)), 'hours')).toBe(true, 'plural should work') expect(m.isAfter(dayjs(new Date(2012, 3, 2, 3, 8, 9, 10)), 'hour')).toBe(false, 'year is later') expect(m.isAfter(dayjs(new Date(2010, 3, 2, 3, 8, 9, 10)), 'hour')).toBe(true, 'year is earlier') expect(m.isAfter(dayjs(new Date(2011, 4, 2, 3, 8, 9, 10)), 'hour')).toBe(false, 'month is later') expect(m.isAfter(dayjs(new Date(2011, 1, 2, 3, 8, 9, 10)), 'hour')).toBe(true, 'month is earlier') expect(m.isAfter(dayjs(new Date(2011, 3, 3, 3, 8, 9, 10)), 'hour')).toBe(false, 'day is later') expect(m.isAfter(dayjs(new Date(2011, 3, 1, 3, 8, 9, 10)), 'hour')).toBe(true, 'day is earlier') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 4, 8, 9, 10)), 'hour')).toBe(false, 'hour is later') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 8, 9, 10)), 'hour')).toBe(false, 'hour is earlier') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 0, 0, 0)), 'hour')).toBe(false, 'exact start of hour') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 59, 59, 999)), 'hour')).toBe(false, 'exact end of hour') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 4, 0, 0, 0)), 'hour')).toBe(false, 'start of next hour') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 2, 59, 59, 999)), 'hour')).toBe(true, 'end of previous hour') expect(m.isAfter(m, 'hour')).toBe(false, 'same moments are not after the same hour') expect(+m).toEqual(+mCopy, 'isAfter hour should not change moment') }) test('is after minute', () => { const m = dayjs(new Date(2011, 3, 2, 3, 4, 5, 6)) const mCopy = dayjs(m) expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 4, 9, 10)), 'minute')).toBe(false, 'minute match') expect(m.isAfter(dayjs(new Date(2010, 3, 2, 3, 4, 9, 10)), 'minutes')).toBe(true, 'plural should work') expect(m.isAfter(dayjs(new Date(2012, 3, 2, 3, 4, 9, 10)), 'minute')).toBe(false, 'year is later') expect(m.isAfter(dayjs(new Date(2010, 3, 2, 3, 4, 9, 10)), 'minute')).toBe(true, 'year is earlier') expect(m.isAfter(dayjs(new Date(2011, 4, 2, 3, 4, 9, 10)), 'minute')).toBe(false, 'month is later') expect(m.isAfter(dayjs(new Date(2011, 2, 2, 3, 4, 9, 10)), 'minute')).toBe(true, 'month is earlier') expect(m.isAfter(dayjs(new Date(2011, 3, 3, 3, 4, 9, 10)), 'minute')).toBe(false, 'day is later') expect(m.isAfter(dayjs(new Date(2011, 3, 1, 3, 4, 9, 10)), 'minute')).toBe(true, 'day is earlier') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 4, 4, 9, 10)), 'minute')).toBe(false, 'hour is later') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 2, 4, 9, 10)), 'minute')).toBe(true, 'hour is earler') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 5, 9, 10)), 'minute')).toBe(false, 'minute is later') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 3, 9, 10)), 'minute')).toBe(true, 'minute is earlier') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 4, 0, 0)), 'minute')).toBe(false, 'exact start of minute') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 4, 59, 999)), 'minute')).toBe(false, 'exact end of minute') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 5, 0, 0)), 'minute')).toBe(false, 'start of next minute') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 3, 59, 999)), 'minute')).toBe(true, 'end of previous minute') expect(m.isAfter(m, 'minute')).toBe(false, 'same moments are not after the same minute') expect(+m).toEqual(+mCopy, 'isAfter minute should not change moment') }) test('is after second', () => { const m = dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)) const mCopy = dayjs(m) expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), 'second')).toBe(false, 'second match') expect(m.isAfter(dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), 'seconds')).toBe(true, 'plural should work') expect(m.isAfter(dayjs(new Date(2012, 3, 2, 3, 4, 5, 10)), 'second')).toBe(false, 'year is later') expect(m.isAfter(dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), 'second')).toBe(true, 'year is earlier') expect(m.isAfter(dayjs(new Date(2011, 4, 2, 3, 4, 5, 10)), 'second')).toBe(false, 'month is later') expect(m.isAfter(dayjs(new Date(2011, 2, 2, 3, 4, 5, 10)), 'second')).toBe(true, 'month is earlier') expect(m.isAfter(dayjs(new Date(2011, 3, 3, 3, 4, 5, 10)), 'second')).toBe(false, 'day is later') expect(m.isAfter(dayjs(new Date(2011, 3, 1, 1, 4, 5, 10)), 'second')).toBe(true, 'day is earlier') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 4, 4, 5, 10)), 'second')).toBe(false, 'hour is later') expect(m.isAfter(dayjs(new Date(2011, 3, 1, 4, 1, 5, 10)), 'second')).toBe(true, 'hour is earlier') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 5, 5, 10)), 'second')).toBe(false, 'minute is later') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 3, 5, 10)), 'second')).toBe(true, 'minute is earlier') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 4, 6, 10)), 'second')).toBe(false, 'second is later') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 4, 4, 5)), 'second')).toBe(true, 'second is earlier') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 4, 5, 0)), 'second')).toBe(false, 'exact start of second') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 4, 5, 999)), 'second')).toBe(false, 'exact end of second') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 4, 6, 0)), 'second')).toBe(false, 'start of next second') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 4, 4, 999)), 'second')).toBe(true, 'end of previous second') expect(m.isAfter(m, 'second')).toBe(false, 'same moments are not after the same second') expect(+m).toEqual(+mCopy, 'isAfter second should not change moment') }) test('is after millisecond', () => { const m = dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)) const mCopy = dayjs(m) expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), 'millisecond')).toBe(false, 'millisecond match') expect(m.isAfter(dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), 'milliseconds')).toBe(true, 'plural should work') expect(m.isAfter(dayjs(new Date(2012, 3, 2, 3, 4, 5, 10)), 'millisecond')).toBe(false, 'year is later') expect(m.isAfter(dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), 'millisecond')).toBe(true, 'year is earlier') expect(m.isAfter(dayjs(new Date(2011, 4, 2, 3, 4, 5, 10)), 'millisecond')).toBe(false, 'month is later') expect(m.isAfter(dayjs(new Date(2011, 2, 2, 3, 4, 5, 10)), 'millisecond')).toBe(true, 'month is earlier') expect(m.isAfter(dayjs(new Date(2011, 3, 3, 3, 4, 5, 10)), 'millisecond')).toBe(false, 'day is later') expect(m.isAfter(dayjs(new Date(2011, 3, 1, 1, 4, 5, 10)), 'millisecond')).toBe(true, 'day is earlier') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 4, 4, 5, 10)), 'millisecond')).toBe(false, 'hour is later') expect(m.isAfter(dayjs(new Date(2011, 3, 1, 4, 1, 5, 10)), 'millisecond')).toBe(true, 'hour is earlier') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 5, 5, 10)), 'millisecond')).toBe(false, 'minute is later') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 3, 5, 10)), 'millisecond')).toBe(true, 'minute is earlier') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 4, 6, 10)), 'millisecond')).toBe(false, 'second is later') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 4, 4, 5)), 'millisecond')).toBe(true, 'second is earlier') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 4, 6, 11)), 'millisecond')).toBe(false, 'millisecond is later') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 4, 4, 9)), 'millisecond')).toBe(true, 'millisecond is earlier') expect(m.isAfter(m, 'millisecond')).toBe(false, 'same moments are not after the same millisecond') expect(+m).toEqual(+mCopy, 'isAfter millisecond should not change moment') }) test('is after without units', () => { const m = dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)) const mCopy = dayjs(m) expect(m.isAfter(dayjs(new Date(2012, 3, 2, 3, 5, 5, 10)))).toBe(false, 'year is later') expect(m.isAfter(dayjs(new Date(2010, 3, 2, 3, 3, 5, 10)))).toBe(true, 'year is earlier') expect(m.isAfter(dayjs(new Date(2011, 4, 2, 3, 4, 5, 10)))).toBe(false, 'month is later') expect(m.isAfter(dayjs(new Date(2011, 2, 2, 3, 4, 5, 10)))).toBe(true, 'month is earlier') expect(m.isAfter(dayjs(new Date(2011, 3, 3, 3, 4, 5, 10)))).toBe(false, 'day is later') expect(m.isAfter(dayjs(new Date(2011, 3, 1, 3, 4, 5, 10)))).toBe(true, 'day is earlier') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 4, 4, 5, 10)))).toBe(false, 'hour is later') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 2, 4, 5, 10)))).toBe(true, 'hour is earlier') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 5, 5, 10)))).toBe(false, 'minute is later') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 3, 5, 10)))).toBe(true, 'minute is earlier') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 4, 6, 10)))).toBe(false, 'second is later') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 4, 4, 11)))).toBe(true, 'second is earlier') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)))).toBe(false, 'millisecond match') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 4, 5, 11)))).toBe(false, 'millisecond is later') expect(m.isAfter(dayjs(new Date(2011, 3, 2, 3, 4, 5, 9)))).toBe(true, 'millisecond is earlier') expect(m.isAfter(m)).toBe(false, 'moments are not after themselves') expect(+m).toEqual(+mCopy, 'isAfter second should not change moment') }) test('is after invalid', () => { const m = dayjs() const invalid = dayjs(null) expect(m.isAfter(invalid)).toBe(false, 'valid moment is not after invalid moment') expect(invalid.isAfter(m)).toBe(false, 'invalid moment is not after valid moment') expect(m.isAfter(invalid, 'year')).toBe(false, 'invalid moment year') expect(m.isAfter(invalid, 'month')).toBe(false, 'invalid moment month') expect(m.isAfter(invalid, 'day')).toBe(false, 'invalid moment day') expect(m.isAfter(invalid, 'hour')).toBe(false, 'invalid moment hour') expect(m.isAfter(invalid, 'minute')).toBe(false, 'invalid moment minute') expect(m.isAfter(invalid, 'second')).toBe(false, 'invalid moment second') expect(m.isAfter(invalid, 'milliseconds')).toBe(false, 'invalid moment milliseconds') }) // isBefore() test('is after without units', () => { const m = dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)) const mCopy = dayjs(m) expect(m.isBefore(dayjs(new Date(2012, 3, 2, 3, 5, 5, 10)))).toBe(true, 'year is later') expect(m.isBefore(dayjs(new Date(2010, 3, 2, 3, 3, 5, 10)))).toBe(false, 'year is earlier') expect(m.isBefore(dayjs(new Date(2011, 4, 2, 3, 4, 5, 10)))).toBe(true, 'month is later') expect(m.isBefore(dayjs(new Date(2011, 2, 2, 3, 4, 5, 10)))).toBe(false, 'month is earlier') expect(m.isBefore(dayjs(new Date(2011, 3, 3, 3, 4, 5, 10)))).toBe(true, 'day is later') expect(m.isBefore(dayjs(new Date(2011, 3, 1, 3, 4, 5, 10)))).toBe(false, 'day is earlier') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 4, 4, 5, 10)))).toBe(true, 'hour is later') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 2, 4, 5, 10)))).toBe(false, 'hour is earlier') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 5, 5, 10)))).toBe(true, 'minute is later') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 3, 5, 10)))).toBe(false, 'minute is earlier') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 4, 6, 10)))).toBe(true, 'second is later') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 4, 4, 11)))).toBe(false, 'second is earlier') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)))).toBe(false, 'millisecond match') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 4, 5, 11)))).toBe(true, 'millisecond is later') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 4, 5, 9)))).toBe(false, 'millisecond is earlier') expect(m.isBefore(m)).toBe(false, 'moments are not before themselves') expect(+m).toEqual(+mCopy, 'isBefore second should not change moment') }) test('is before year', () => { const m = dayjs(new Date(2011, 1, 2, 3, 4, 5, 6)) const mCopy = dayjs(m) expect(m.isBefore(dayjs(new Date(2011, 5, 6, 7, 8, 9, 10)), 'year')).toBe(false, 'year match') expect(m.isBefore(dayjs(new Date(2012, 5, 6, 7, 8, 9, 10)), 'years')).toBe(true, 'plural should work') expect(m.isBefore(dayjs(new Date(2013, 5, 6, 7, 8, 9, 10)), 'year')).toBe(true, 'year is later') expect(m.isBefore(dayjs(new Date(2010, 5, 6, 7, 8, 9, 10)), 'year')).toBe(false, 'year is earlier') expect(m.isBefore(dayjs(new Date(2011, 0, 1, 0, 0, 0, 0)), 'year')).toBe(false, 'exact start of year') expect(m.isBefore(dayjs(new Date(2011, 11, 31, 23, 59, 59, 999)), 'year')).toBe(false, 'exact end of year') expect(m.isBefore(dayjs(new Date(2012, 0, 1, 0, 0, 0, 0)), 'year')).toBe(true, 'start of next year') expect(m.isBefore(dayjs(new Date(2010, 11, 31, 23, 59, 59, 999)), 'year')).toBe(false, 'end of previous year') expect(m.isBefore(dayjs(new Date(1980, 11, 31, 23, 59, 59, 999)), 'year')).toBe(false, 'end of year far before') expect(m.isBefore(m, 'year')).toBe(false, 'same moments are not before the same year') expect(+m).toEqual(+mCopy, 'isBefore year should not change moment') }) test('is before month', () => { const m = dayjs(new Date(2011, 2, 3, 4, 5, 6, 7)) const mCopy = dayjs(m) expect(m.isBefore(dayjs(new Date(2011, 2, 6, 7, 8, 9, 10)), 'month')).toBe(false, 'month match') expect(m.isBefore(dayjs(new Date(2012, 2, 6, 7, 8, 9, 10)), 'months')).toBe(true, 'plural should work') expect(m.isBefore(dayjs(new Date(2012, 2, 6, 7, 8, 9, 10)), 'month')).toBe(true, 'year is later') expect(m.isBefore(dayjs(new Date(2010, 2, 6, 7, 8, 9, 10)), 'month')).toBe(false, 'year is earlier') expect(m.isBefore(dayjs(new Date(2011, 5, 6, 7, 8, 9, 10)), 'month')).toBe(true, 'month is later') expect(m.isBefore(dayjs(new Date(2011, 1, 6, 7, 8, 9, 10)), 'month')).toBe(false, 'month is earlier') expect(m.isBefore(dayjs(new Date(2011, 2, 1, 0, 0, 0, 0)), 'month')).toBe(false, 'exact start of month') expect(m.isBefore(dayjs(new Date(2011, 2, 31, 23, 59, 59, 999)), 'month')).toBe(false, 'exact end of month') expect(m.isBefore(dayjs(new Date(2011, 3, 1, 0, 0, 0, 0)), 'month')).toBe(true, 'start of next month') expect(m.isBefore(dayjs(new Date(2011, 1, 27, 23, 59, 59, 999)), 'month')).toBe(false, 'end of previous month') expect(m.isBefore(dayjs(new Date(2010, 12, 31, 23, 59, 59, 999)), 'month')).toBe(false, 'later month but earlier year') expect(m.isBefore(m, 'month')).toBe(false, 'same moments are not before the same month') expect(+m).toEqual(+mCopy, 'isBefore month should not change moment') }) test('is before day', () => { const m = dayjs(new Date(2011, 3, 2, 3, 4, 5, 6)) const mCopy = dayjs(m) expect(m.isBefore(dayjs(new Date(2011, 3, 2, 7, 8, 9, 10)), 'day')).toBe(false, 'day match') expect(m.isBefore(dayjs(new Date(2012, 3, 2, 7, 8, 9, 10)), 'days')).toBe(true, 'plural should work') expect(m.isBefore(dayjs(new Date(2012, 3, 2, 7, 8, 9, 10)), 'day')).toBe(true, 'year is later') expect(m.isBefore(dayjs(new Date(2010, 3, 2, 7, 8, 9, 10)), 'day')).toBe(false, 'year is earlier') expect(m.isBefore(dayjs(new Date(2011, 4, 2, 7, 8, 9, 10)), 'day')).toBe(true, 'month is later') expect(m.isBefore(dayjs(new Date(2011, 2, 2, 7, 8, 9, 10)), 'day')).toBe(false, 'month is earlier') expect(m.isBefore(dayjs(new Date(2011, 3, 3, 7, 8, 9, 10)), 'day')).toBe(true, 'day is later') expect(m.isBefore(dayjs(new Date(2011, 3, 1, 7, 8, 9, 10)), 'day')).toBe(false, 'day is earlier') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 0, 0, 0, 0)), 'day')).toBe(false, 'exact start of day') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 23, 59, 59, 999)), 'day')).toBe(false, 'exact end of day') expect(m.isBefore(dayjs(new Date(2011, 3, 3, 0, 0, 0, 0)), 'day')).toBe(true, 'start of next day') expect(m.isBefore(dayjs(new Date(2011, 3, 1, 23, 59, 59, 999)), 'day')).toBe(false, 'end of previous day') expect(m.isBefore(dayjs(new Date(2010, 3, 10, 0, 0, 0, 0)), 'day')).toBe(false, 'later day but earlier year') expect(m.isBefore(m, 'day')).toBe(false, 'same moments are not before the same day') expect(+m).toEqual(+mCopy, 'isBefore day should not change moment') }) test('is before hour', () => { const m = dayjs(new Date(2011, 3, 2, 3, 4, 5, 6)) const mCopy = dayjs(m) expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 8, 9, 10)), 'hour')).toBe(false, 'hour match') expect(m.isBefore(dayjs(new Date(2012, 3, 2, 3, 8, 9, 10)), 'hours')).toBe(true, 'plural should work') expect(m.isBefore(dayjs(new Date(2012, 3, 2, 3, 8, 9, 10)), 'hour')).toBe(true, 'year is later') expect(m.isBefore(dayjs(new Date(2010, 3, 2, 3, 8, 9, 10)), 'hour')).toBe(false, 'year is earlier') expect(m.isBefore(dayjs(new Date(2011, 4, 2, 3, 8, 9, 10)), 'hour')).toBe(true, 'month is later') expect(m.isBefore(dayjs(new Date(2011, 1, 2, 3, 8, 9, 10)), 'hour')).toBe(false, 'month is earlier') expect(m.isBefore(dayjs(new Date(2011, 3, 3, 3, 8, 9, 10)), 'hour')).toBe(true, 'day is later') expect(m.isBefore(dayjs(new Date(2011, 3, 1, 3, 8, 9, 10)), 'hour')).toBe(false, 'day is earlier') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 4, 8, 9, 10)), 'hour')).toBe(true, 'hour is later') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 8, 9, 10)), 'hour')).toBe(false, 'hour is earlier') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 0, 0, 0)), 'hour')).toBe(false, 'exact start of hour') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 59, 59, 999)), 'hour')).toBe(false, 'exact end of hour') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 4, 0, 0, 0)), 'hour')).toBe(true, 'start of next hour') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 2, 59, 59, 999)), 'hour')).toBe(false, 'end of previous hour') expect(m.isBefore(m, 'hour')).toBe(false, 'same moments are not before the same hour') expect(+m).toEqual(+mCopy, 'isBefore hour should not change moment') }) test('is before minute', () => { const m = dayjs(new Date(2011, 3, 2, 3, 4, 5, 6)) const mCopy = dayjs(m) expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 4, 9, 10)), 'minute')).toBe(false, 'minute match') expect(m.isBefore(dayjs(new Date(2012, 3, 2, 3, 4, 9, 10)), 'minutes')).toBe(true, 'plural should work') expect(m.isBefore(dayjs(new Date(2012, 3, 2, 3, 4, 9, 10)), 'minute')).toBe(true, 'year is later') expect(m.isBefore(dayjs(new Date(2010, 3, 2, 3, 4, 9, 10)), 'minute')).toBe(false, 'year is earlier') expect(m.isBefore(dayjs(new Date(2011, 4, 2, 3, 4, 9, 10)), 'minute')).toBe(true, 'month is later') expect(m.isBefore(dayjs(new Date(2011, 2, 2, 3, 4, 9, 10)), 'minute')).toBe(false, 'month is earlier') expect(m.isBefore(dayjs(new Date(2011, 3, 3, 3, 4, 9, 10)), 'minute')).toBe(true, 'day is later') expect(m.isBefore(dayjs(new Date(2011, 3, 1, 3, 4, 9, 10)), 'minute')).toBe(false, 'day is earlier') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 4, 4, 9, 10)), 'minute')).toBe(true, 'hour is later') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 2, 4, 9, 10)), 'minute')).toBe(false, 'hour is earler') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 5, 9, 10)), 'minute')).toBe(true, 'minute is later') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 3, 9, 10)), 'minute')).toBe(false, 'minute is earlier') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 4, 0, 0)), 'minute')).toBe(false, 'exact start of minute') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 4, 59, 999)), 'minute')).toBe(false, 'exact end of minute') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 5, 0, 0)), 'minute')).toBe(true, 'start of next minute') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 3, 59, 999)), 'minute')).toBe(false, 'end of previous minute') expect(m.isBefore(m, 'minute')).toBe(false, 'same moments are not before the same minute') expect(+m).toEqual(+mCopy, 'isBefore minute should not change moment') }) test('is before second', () => { const m = dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)) const mCopy = dayjs(m) expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), 'second')).toBe(false, 'second match') expect(m.isBefore(dayjs(new Date(2012, 3, 2, 3, 4, 5, 10)), 'seconds')).toBe(true, 'plural should work') expect(m.isBefore(dayjs(new Date(2012, 3, 2, 3, 4, 5, 10)), 'second')).toBe(true, 'year is later') expect(m.isBefore(dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), 'second')).toBe(false, 'year is earlier') expect(m.isBefore(dayjs(new Date(2011, 4, 2, 3, 4, 5, 10)), 'second')).toBe(true, 'month is later') expect(m.isBefore(dayjs(new Date(2011, 2, 2, 3, 4, 5, 10)), 'second')).toBe(false, 'month is earlier') expect(m.isBefore(dayjs(new Date(2011, 3, 3, 3, 4, 5, 10)), 'second')).toBe(true, 'day is later') expect(m.isBefore(dayjs(new Date(2011, 3, 1, 1, 4, 5, 10)), 'second')).toBe(false, 'day is earlier') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 4, 4, 5, 10)), 'second')).toBe(true, 'hour is later') expect(m.isBefore(dayjs(new Date(2011, 3, 1, 4, 1, 5, 10)), 'second')).toBe(false, 'hour is earlier') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 5, 5, 10)), 'second')).toBe(true, 'minute is later') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 3, 5, 10)), 'second')).toBe(false, 'minute is earlier') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 4, 6, 10)), 'second')).toBe(true, 'second is later') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 4, 4, 5)), 'second')).toBe(false, 'second is earlier') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 4, 5, 0)), 'second')).toBe(false, 'exact start of second') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 4, 5, 999)), 'second')).toBe(false, 'exact end of second') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 4, 6, 0)), 'second')).toBe(true, 'start of next second') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 4, 4, 999)), 'second')).toBe(false, 'end of previous second') expect(m.isBefore(m, 'second')).toBe(false, 'same moments are not before the same second') expect(+m).toEqual(+mCopy, 'isBefore second should not change moment') }) test('is before millisecond', () => { const m = dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)) const mCopy = dayjs(m) expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), 'millisecond')).toBe(false, 'millisecond match') expect(m.isBefore(dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), 'milliseconds')).toBe(false, 'plural should work') expect(m.isBefore(dayjs(new Date(2012, 3, 2, 3, 4, 5, 10)), 'millisecond')).toBe(true, 'year is later') expect(m.isBefore(dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), 'millisecond')).toBe(false, 'year is earlier') expect(m.isBefore(dayjs(new Date(2011, 4, 2, 3, 4, 5, 10)), 'millisecond')).toBe(true, 'month is later') expect(m.isBefore(dayjs(new Date(2011, 2, 2, 3, 4, 5, 10)), 'millisecond')).toBe(false, 'month is earlier') expect(m.isBefore(dayjs(new Date(2011, 3, 3, 3, 4, 5, 10)), 'millisecond')).toBe(true, 'day is later') expect(m.isBefore(dayjs(new Date(2011, 3, 1, 1, 4, 5, 10)), 'millisecond')).toBe(false, 'day is earlier') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 4, 4, 5, 10)), 'millisecond')).toBe(true, 'hour is later') expect(m.isBefore(dayjs(new Date(2011, 3, 1, 4, 1, 5, 10)), 'millisecond')).toBe(false, 'hour is earlier') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 5, 5, 10)), 'millisecond')).toBe(true, 'minute is later') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 3, 5, 10)), 'millisecond')).toBe(false, 'minute is earlier') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 4, 6, 10)), 'millisecond')).toBe(true, 'second is later') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 4, 4, 5)), 'millisecond')).toBe(false, 'second is earlier') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 4, 6, 11)), 'millisecond')).toBe(true, 'millisecond is later') expect(m.isBefore(dayjs(new Date(2011, 3, 2, 3, 4, 4, 9)), 'millisecond')).toBe(false, 'millisecond is earlier') expect(m.isBefore(m, 'millisecond')).toBe(false, 'same moments are not before the same millisecond') expect(+m).toEqual(+mCopy, 'isBefore millisecond should not change moment') }) test('is before invalid', () => { const m = dayjs() const invalid = dayjs(null) expect(m.isBefore(invalid)).toBe(false, 'valid moment is not before invalid moment') expect(invalid.isBefore(m)).toBe(false, 'invalid moment is not before valid moment') expect(m.isBefore(invalid, 'year')).toBe(false, 'invalid moment year') expect(m.isBefore(invalid, 'month')).toBe(false, 'invalid moment month') expect(m.isBefore(invalid, 'day')).toBe(false, 'invalid moment day') expect(m.isBefore(invalid, 'hour')).toBe(false, 'invalid moment hour') expect(m.isBefore(invalid, 'minute')).toBe(false, 'invalid moment minute') expect(m.isBefore(invalid, 'second')).toBe(false, 'invalid moment second') expect(m.isBefore(invalid, 'milliseconds')).toBe(false, 'invalid moment milliseconds') }) iamkun-dayjs-a25f01e/test/constructor.test.js000066400000000000000000000010331520523163200213670ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from '../src' beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('supports instanceof dayjs', () => { expect(dayjs() instanceof dayjs).toBeTruthy() }) it('$isDayjsObject', () => { const mockOtherVersionDayjsObj = { $isDayjsObject: true } expect(dayjs.isDayjs(mockOtherVersionDayjsObj)).toBeTruthy() }) it('does not break isDayjs', () => { expect(dayjs.isDayjs(dayjs())).toBeTruthy() expect(dayjs.isDayjs(new Date())).toBeFalsy() }) iamkun-dayjs-a25f01e/test/display.test.js000066400000000000000000000235621520523163200204620ustar00rootroot00000000000000import moment from 'moment' import MockDate from 'mockdate' import dayjs from '../src' import th from '../src/locale/th' import '../src/locale/ja' beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Format no formatStr', () => { expect(dayjs().format()).toBe(moment().format()) }) it('Format invalid date', () => { expect(dayjs('').format()).toBe(new Date('').toString()) expect(dayjs('otherString').format()).toBe(new Date('otherString').toString()) }) it('Format Year YY YYYY', () => { expect(dayjs().format('YY')).toBe(moment().format('YY')) expect(dayjs().format('YYYY')).toBe(moment().format('YYYY')) expect(dayjs().format('Y')).toBe('Y') expect(dayjs().format('YYY')).toBe(`${moment().format('YY')}Y`) }) it('Format Month M MM MMM MMMM', () => { expect(dayjs().format('M')).toBe(moment().format('M')) expect(dayjs().format('MM')).toBe(moment().format('MM')) expect(dayjs().format('MMM')).toBe(moment().format('MMM')) expect(dayjs().format('MMMM')).toBe(moment().format('MMMM')) }) it('Format Day of Month D DD 1 - 31', () => { expect(dayjs().format('D')).toBe(moment().format('D')) expect(dayjs().format('DD')).toBe(moment().format('DD')) }) it('Format Day of Week d Sun - Sat', () => { expect(dayjs().format('d')).toBe(moment().format('d')) expect(dayjs().format('dd')).toBe(moment().format('dd')) expect(dayjs().format('ddd')).toBe(moment().format('ddd')) expect(dayjs().format('dddd')).toBe(moment().format('dddd')) }) it('Format Hour H HH 24-hour', () => { expect(dayjs().format('H')).toBe(moment().format('H')) expect(dayjs().format('HH')).toBe(moment().format('HH')) }) it('Format Hour h hh 12-hour', () => { const time = '2018-05-02T00:00:00.000' const expected = '12' expect(dayjs(time).format('h')).toBe(expected) expect(dayjs(time).format('h')).toBe(moment(time).format('h')) expect(dayjs(time).format('hh')).toBe(expected) expect(dayjs(time).format('hh')).toBe(moment(time).format('hh')) const time2 = '2018-05-02T01:00:00.000' expect(dayjs(time2).format('h')).toBe(moment(time2).format('h')) expect(dayjs(time2).format('h')).toBe('1') expect(dayjs(time2).format('hh')).toBe(moment(time2).format('hh')) expect(dayjs(time2).format('hh')).toBe('01') const time3 = '2018-05-02T23:00:00.000' const expected3 = '11' expect(dayjs(time3).format('h')).toBe(moment(time3).format('h')) expect(dayjs(time3).format('h')).toBe(expected3) expect(dayjs(time3).format('hh')).toBe(moment(time3).format('hh')) expect(dayjs(time3).format('hh')).toBe(expected3) }) it('Format meridiens a A am / pm', () => { const time = '2018-05-02T01:00:00.000' expect(dayjs(time).format('a')).toBe('am') expect(dayjs(time).format('a')).toBe(moment(time).format('a')) expect(dayjs(time).format('A')).toBe('AM') expect(dayjs(time).format('A')).toBe(moment(time).format('A')) expect(dayjs(time).locale('ja').format('a')).toBe('åˆå‰') expect(dayjs(time).locale('ja').format('a')) .toBe(moment(time).locale('ja').format('a')) const time2 = '2018-05-02T23:00:00.000' expect(dayjs(time2).format('a')).toBe('pm') expect(dayjs(time2).format('a')).toBe(moment(time2).format('a')) expect(dayjs(time2).format('A')).toBe('PM') expect(dayjs(time2).format('A')).toBe(moment(time2).format('A')) expect(dayjs(time2).locale('ja').format('a')).toBe('åˆå¾Œ') expect(dayjs(time2).locale('ja').format('a')) .toBe(moment(time2).locale('ja').format('a')) }) it('Format Minute m mm', () => { expect(dayjs().format('m')).toBe(moment().format('m')) expect(dayjs().format('mm')).toBe(moment().format('mm')) }) it('Format Second s ss SSS', () => { expect(dayjs().format('s')).toBe(moment().format('s')) expect(dayjs().format('ss')).toBe(moment().format('ss')) expect(dayjs().format('SSS')).toBe(moment().format('SSS')) const date = '2011-11-05T14:48:01.002Z' expect(dayjs(date).format('s-ss-SSS')).toBe(moment(date).format('s-ss-SSS')) }) it('Format Time Zone ZZ', () => { MockDate.set(new Date('2018-05-02T23:00:00.000'), 60 * 8) expect(dayjs().format('Z')).toBe(moment().format('Z')) expect(dayjs().format('ZZ')).toBe(moment().format('ZZ')) MockDate.set(new Date('2018-05-02T23:00:00.000'), 60 * 8 * -1) expect(dayjs().format('ZZ')).toBe(moment().format('ZZ')) MockDate.set(new Date('2018-05-02T23:00:00.000'), 0) expect(dayjs().format('ZZ')).toBe(moment().format('ZZ')) MockDate.set(new Date('2018-05-02T23:00:00.000'), 60 * 10) expect(dayjs().format('ZZ')).toBe(moment().format('ZZ')) MockDate.set(new Date('2018-05-02T23:00:00.000'), 60 * 11 * -1) expect(dayjs().format('ZZ')).toBe(moment().format('ZZ')) MockDate.set(new Date('2018-05-02T23:00:00.000'), 60 * 5.5 * -1) expect(dayjs().format('ZZ')).toBe(moment().format('ZZ')) }) it('Format ddd dd MMM with short locale', () => { expect(dayjs() .locale(th) .format('dd')).toBe(moment() .locale('th') .format('dd')) expect(dayjs() .locale(th) .format('ddd')).toBe(moment() .locale('th') .format('ddd')) expect(dayjs() .locale(th) .format('MMM')).toBe(moment() .locale('th') .format('MMM')) }) it('Format token value is 0', () => { const sundayDate = '2000-01-02' const sundayStr = 'd H m s' expect(dayjs(sundayDate).format(sundayStr)) .toBe(moment(sundayDate).format(sundayStr)) }) it('Format Complex with other string - : / ', () => { const string = 'YY-M-D / HH:mm:ss' expect(dayjs().format(string)).toBe(moment().format(string)) }) it('Format Escaping characters', () => { let string = '[Z] Z' expect(dayjs().format(string)).toBe(moment().format(string)) string = '[Z] Z [Z]' expect(dayjs().format(string)).toBe(moment().format(string)) }) describe('Difference', () => { it('empty -> default milliseconds', () => { const dateString = '20110101' const dayjsA = dayjs() const dayjsB = dayjs(dateString) const momentA = moment() const momentB = moment(dateString) expect(dayjsA.diff(dayjsB)).toBe(momentA.diff(momentB)) }) it('diff -> none dayjs object', () => { const dateString = '2013-02-08' const dayjsA = dayjs() const dayjsB = new Date(dateString) const momentA = moment() const momentB = new Date(dateString) expect(dayjsA.diff(dayjsB)).toBe(momentA.diff(momentB)) }) it('diff -> in seconds, minutes, hours, days, weeks, months, quarters, years ', () => { const dayjsA = dayjs() const dayjsB = dayjs().add(1000, 'days') const dayjsC = dayjs().subtract(1000, 'days') const momentA = moment() const momentB = moment().add(1000, 'days') const momentC = moment().subtract(1000, 'days') const units = ['seconds', 'minutes', 'hours', 'days', 'weeks', 'months', 'quarters', 'years'] units.forEach((unit) => { expect(dayjsA.diff(dayjsB, unit)).toBe(momentA.diff(momentB, unit)) expect(dayjsA.diff(dayjsB, unit, true)).toBe(momentA.diff(momentB, unit, true)) expect(dayjsA.diff(dayjsC, unit)).toBe(momentA.diff(momentC, unit)) expect(dayjsA.diff(dayjsC, unit, true)).toBe(momentA.diff(momentC, unit, true)) }) }) it('Special diff in month according to moment.js', () => { const dayjsA = dayjs('20160115') const dayjsB = dayjs('20160215') const dayjsC = dayjs('20170115') const momentA = moment('20160115') const momentB = moment('20160215') const momentC = moment('20170115') const units = ['months', 'quarters', 'years'] units.forEach((unit) => { expect(dayjsA.diff(dayjsB, unit)).toBe(momentA.diff(momentB, unit)) expect(dayjsA.diff(dayjsB, unit, true)).toBe(momentA.diff(momentB, unit, true)) expect(dayjsA.diff(dayjsC, unit)).toBe(momentA.diff(momentC, unit)) expect(dayjsA.diff(dayjsC, unit, true)).toBe(momentA.diff(momentC, unit, true)) }) }) it('MonthDiff', () => { expect(dayjs('2018-08-08').diff(dayjs('2018-08-08'), 'month')).toEqual(0) expect(dayjs('2018-09-08').diff(dayjs('2018-08-08'), 'month')).toEqual(1) expect(dayjs('2018-08-08').diff(dayjs('2018-09-08'), 'month')).toEqual(-1) expect(dayjs('2018-01-01').diff(dayjs('2018-01-01'), 'month')).toEqual(0) }) it('undefined edge case', () => { expect(dayjs().diff(undefined, 'seconds')).toBeDefined() }) }) it('Unix Timestamp (milliseconds)', () => { expect(dayjs().valueOf()).toBe(moment().valueOf()) }) it('Unix Timestamp (seconds)', () => { expect(dayjs().unix()).toBe(moment().unix()) }) it('Days in Month', () => { expect(dayjs().daysInMonth()).toBe(moment().daysInMonth()) expect(dayjs('20140201').daysInMonth()).toBe(moment('20140201').daysInMonth()) }) it('Utc Offset', () => { expect(dayjs('2013-01-01T00:00:00.000').utcOffset()).toBe(moment('2013-01-01T00:00:00.000').utcOffset()) expect(dayjs('2013-01-01T05:00:00.000').utcOffset()).toBe(moment('2013-01-01T05:00:00.000').utcOffset()) }) it('As Javascript Date -> toDate', () => { const base = dayjs() const momentBase = moment() const jsDate = base.toDate() expect(jsDate).toEqual(momentBase.toDate()) expect(jsDate).toEqual(new Date()) jsDate.setFullYear(1970) expect(jsDate.toUTCString()).not.toBe(base.toString()) }) it('As JSON -> toJSON', () => { expect(dayjs().toJSON()).toBe(moment().toJSON()) global.console.warn = jest.genMockFunction()// moment.js otherString will throw warn expect(dayjs('otherString').toJSON()).toBe(moment('otherString').toJSON()) expect(dayjs('otherString').toJSON()).toBe(null) }) it('As ISO 8601 String -> toISOString e.g. 2013-02-04T22:44:30.652Z', () => { expect(dayjs().toISOString()).toBe(moment().toISOString()) }) it('Year 1 formatted with YYYY should pad with zeroes', () => { const date = new Date(1, 0, 1) date.setUTCFullYear(1) // Required because 0-99 are parsed as 19xx in JS: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date#year const res = dayjs(date).format('YYYY') expect(res.slice(0, 3)).toBe('000') // because of timezone, the result might be 0000 0001 or 0002 expect(res).toBe(moment(date).format('YYYY')) }) iamkun-dayjs-a25f01e/test/get-set.test.js000066400000000000000000000103211520523163200203520ustar00rootroot00000000000000import moment from 'moment' import MockDate from 'mockdate' import dayjs from '../src' beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Year', () => { expect(dayjs().get('year')).toBe(moment().get('year')) expect(dayjs().year()).toBe(moment().year()) expect(dayjs().year(0).valueOf()).toBe(moment().year(0).valueOf()) expect(dayjs().year(2000).valueOf()).toBe(moment().year(2000).valueOf()) }) it('Month', () => { expect(dayjs().get('month')).toBe(moment().get('month')) expect(dayjs().month()).toBe(moment().month()) expect(dayjs().month(0).valueOf()).toBe(moment().month(0).valueOf()) expect(dayjs().month(1).valueOf()).toBe(moment().month(1).valueOf()) }) it('Day of Week', () => { expect(dayjs().get('day')).toBe(moment().get('day')) expect(dayjs().day()).toBe(moment().day()) expect(dayjs().day(0).format()).toBe(moment().day(0).format()) expect(dayjs().day(1).format()).toBe(moment().day(1).format()) }) it('Date', () => { expect(dayjs().get('date')).toBe(moment().get('date')) expect(dayjs().date()).toBe(moment().date()) expect(dayjs().date(0).valueOf()).toBe(moment().date(0).valueOf()) expect(dayjs().date(1).valueOf()).toBe(moment().date(1).valueOf()) }) it('Hour', () => { expect(dayjs().get('hour')).toBe(moment().get('hour')) expect(dayjs().hour()).toBe(moment().hour()) expect(dayjs().hour(0).valueOf()).toBe(moment().hour(0).valueOf()) expect(dayjs().hour(1).valueOf()).toBe(moment().hour(1).valueOf()) }) it('Minute', () => { expect(dayjs().get('minute')).toBe(moment().get('minute')) expect(dayjs().minute()).toBe(moment().minute()) expect(dayjs().minute(0).valueOf()).toBe(moment().minute(0).valueOf()) expect(dayjs().minute(1).valueOf()).toBe(moment().minute(1).valueOf()) }) it('Second', () => { expect(dayjs().get('second')).toBe(moment().get('second')) expect(dayjs().second()).toBe(moment().second()) expect(dayjs().second(0).valueOf()).toBe(moment().second(0).valueOf()) expect(dayjs().second(1).valueOf()).toBe(moment().second(1).valueOf()) }) it('Millisecond', () => { expect(dayjs().get('millisecond')).toBe(moment().get('millisecond')) expect(dayjs().millisecond()).toBe(moment().millisecond()) expect(dayjs().millisecond(0).valueOf()).toBe(moment().millisecond(0).valueOf()) expect(dayjs().millisecond(1).valueOf()).toBe(moment().millisecond(1).valueOf()) }) it('Set Day', () => { expect(dayjs().set('date', 30).valueOf()).toBe(moment().set('date', 30).valueOf()) }) it('Set Day of Week', () => { expect(dayjs().set('day', 0).valueOf()).toBe(moment().set('day', 0).valueOf()) }) it('Set Month', () => { expect(dayjs().set('month', 11).valueOf()).toBe(moment().set('month', 11).valueOf()) }) it('Set Year', () => { expect(dayjs().set('year', 2008).valueOf()).toBe(moment().set('year', 2008).valueOf()) }) it('Set Hour', () => { expect(dayjs().set('hour', 6).valueOf()).toBe(moment().set('hour', 6).valueOf()) }) it('Set Minute', () => { expect(dayjs().set('minute', 59).valueOf()).toBe(moment().set('minute', 59).valueOf()) }) it('Set Second', () => { expect(dayjs().set('second', 59).valueOf()).toBe(moment().set('second', 59).valueOf()) }) it('Set Millisecond', () => { expect(dayjs().set('millisecond', 999).valueOf()).toBe(moment().set('millisecond', 999).valueOf()) }) it('Set Month and Year in last day of month', () => { // 2011-07-31 -> 2011-02-28 const origin = dayjs('2011-07-31T14:48:00.000Z') const setMonth = origin.set('month', 1) expect(setMonth.month()).toBe(1) expect(origin.date()).toBe(31) expect(setMonth.date()).toBe(28) // 2000-02-29 -> 2001-02-28 const origin2 = dayjs('2000-02-29T14:48:00.000Z') const setYear = origin2.set('year', 2001) expect(setYear.month()).toBe(1) expect(origin2.date()).toBe(29) expect(setYear.date()).toBe(28) }) it('Set Unknown String', () => { const newDate = dayjs().set('Unknown String', 1) expect(newDate.valueOf()) .toBe(moment().set('Unknown String', 1).valueOf()) }) it('Immutable Set', () => { const dayjsA = dayjs() const dayjsB = dayjsA.set('year', 2011) const momentA = moment() const momentB = momentA.set('year', 2011) expect(dayjsA.valueOf()).not.toBe(dayjsB.valueOf()) expect(momentA.valueOf()).toBe(momentB.valueOf()) }) iamkun-dayjs-a25f01e/test/issues/000077500000000000000000000000001520523163200170045ustar00rootroot00000000000000iamkun-dayjs-a25f01e/test/issues/issue2027.correct-order.test.js000066400000000000000000000047621520523163200245450ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from '../../src' import duration from '../../src/plugin/duration' import objectSupport from '../../src/plugin/objectSupport' dayjs.extend(objectSupport) dayjs.extend(duration) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) // issue 2027 describe('issue 2027 - order objectSupport > Duration', () => { it('add Duration object returns correct date', () => { const baseDate = dayjs('2022-06-26T14:01:02.003') const durationToAdd = dayjs.duration(6, 'hours') const testDate = baseDate.add(durationToAdd) expect(testDate.format('YYYY-MM-DD HH:mm:ss.SSS')).toBe('2022-06-26 20:01:02.003') }) it('subtract Duration object returns correct date', () => { const baseDate = dayjs('2022-06-26T14:01:02.003') const durationToAdd = dayjs.duration(6, 'hours') const testDate = baseDate.subtract(durationToAdd) expect(testDate.format('YYYY-MM-DD HH:mm:ss.SSS')).toBe('2022-06-26 08:01:02.003') }) it('add number with unit returns correct date', () => { const baseDate = dayjs('2022-06-26T14:01:02.003') const testDate = baseDate.add(6, 'hours') expect(testDate.format('YYYY-MM-DD HH:mm:ss.SSS')).toBe('2022-06-26 20:01:02.003') }) it('subtract number with unit returns correct date', () => { const baseDate = dayjs('2022-06-26T14:01:02.003') const testDate = baseDate.subtract(6, 'hours') expect(testDate.format('YYYY-MM-DD HH:mm:ss.SSS')).toBe('2022-06-26 08:01:02.003') }) it('parse string returns correct date', () => { const testDate = dayjs('2022-06-26T14:01:02.003') expect(testDate.format('YYYY-MM-DD HH:mm:ss.SSS')).toBe('2022-06-26 14:01:02.003') }) it('parse object returns correct date', () => { const testDate = dayjs({ year: '2022', month: '05', day: '26', hour: '14', minute: '01', second: '02', millisecond: '003' }) expect(testDate.format('YYYY-MM-DD HH:mm:ss.SSS')).toBe('2022-06-26 14:01:02.003') }) it('set hour with number returns correct date', () => { const baseDate = dayjs('2022-06-26T14:01:02.003') const testDate = baseDate.hour(10) expect(testDate.format('YYYY-MM-DD HH:mm:ss.SSS')).toBe('2022-06-26 10:01:02.003') }) it('set hour with object returns correct date', () => { const baseDate = dayjs('2022-06-26T14:01:02.003') const testDate = baseDate.set({ hour: '10' }) expect(testDate.format('YYYY-MM-DD HH:mm:ss.SSS')).toBe('2022-06-26 10:01:02.003') }) }) iamkun-dayjs-a25f01e/test/issues/issue2027.swapped-order.test.js000066400000000000000000000047631520523163200245500ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from '../../src' import duration from '../../src/plugin/duration' import objectSupport from '../../src/plugin/objectSupport' dayjs.extend(duration) dayjs.extend(objectSupport) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) // issue 2027 describe('issue 2027 - order objectSupport > Duration', () => { it('add Duration object returns correct date', () => { const baseDate = dayjs('2022-06-26T14:01:02.003') const durationToAdd = dayjs.duration(6, 'hours') const testDate = baseDate.add(durationToAdd) expect(testDate.format('YYYY-MM-DD HH:mm:ss.SSS')).toBe('2022-06-26 20:01:02.003') }) it('subtract Duration object returns correct date', () => { const baseDate = dayjs('2022-06-26T14:01:02.003') const durationToAdd = dayjs.duration(6, 'hours') const testDate = baseDate.subtract(durationToAdd) expect(testDate.format('YYYY-MM-DD HH:mm:ss.SSS')).toBe('2022-06-26 08:01:02.003') }) it('add number with unit returns correct date', () => { const baseDate = dayjs('2022-06-26T14:01:02.003') const testDate = baseDate.add(6, 'hours') expect(testDate.format('YYYY-MM-DD HH:mm:ss.SSS')).toBe('2022-06-26 20:01:02.003') }) it('subtract number with unit returns correct date', () => { const baseDate = dayjs('2022-06-26T14:01:02.003') const testDate = baseDate.subtract(6, 'hours') expect(testDate.format('YYYY-MM-DD HH:mm:ss.SSS')).toBe('2022-06-26 08:01:02.003') }) it('parse string returns correct date', () => { const testDate = dayjs('2022-06-26T14:01:02.003') expect(testDate.format('YYYY-MM-DD HH:mm:ss.SSS')).toBe('2022-06-26 14:01:02.003') }) it('parse object returns correct date', () => { const testDate = dayjs({ year: '2022', month: '05', day: '26', hour: '14', minute: '01', second: '02', millisecond: '003' }) expect(testDate.format('YYYY-MM-DD HH:mm:ss.SSS')).toBe('2022-06-26 14:01:02.003') }) it('set hour with number returns correct date', () => { const baseDate = dayjs('2022-06-26T14:01:02.003') const testDate = baseDate.hour(10) expect(testDate.format('YYYY-MM-DD HH:mm:ss.SSS')).toBe('2022-06-26 10:01:02.003') }) it('set hour with object returns correct date', () => { const baseDate = dayjs('2022-06-26T14:01:02.003') const testDate = baseDate.set({ hour: '10' }) expect(testDate.format('YYYY-MM-DD HH:mm:ss.SSS')).toBe('2022-06-26 10:01:02.003') }) }) iamkun-dayjs-a25f01e/test/locale.test.js000066400000000000000000000076171520523163200202570ustar00rootroot00000000000000import MockDate from 'mockdate' import moment from 'moment' import dayjs from '../src' import es from '../src/locale/es' beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) const format = 'dddd D, MMMM' const NOT_SUPPORTED_LOCALE_STRING = 'not_supported_locale_string' it('Uses spanish locale through constructor', () => { // not recommend expect(dayjs('2018-4-28', { locale: es }) .format(format)) .toBe('sábado 28, abril') }) it('set locale for one instance only', () => { expect(dayjs('2018-4-28') .format(format)) .toBe('Saturday 28, April') expect(dayjs('2018-4-28') .locale(es).format(format)) .toBe('sábado 28, abril') expect(dayjs('2018-4-28') .format(format)) .toBe('Saturday 28, April') }) it('set global locale', () => { dayjs.locale('en') expect(dayjs('2018-4-28').format(format)) .toBe('Saturday 28, April') dayjs.locale(es) expect(dayjs('2018-4-28').format(format)) .toBe('sábado 28, abril') dayjs.locale('en') expect(dayjs('2018-4-28').format(format)) .toBe('Saturday 28, April') }) it('get instance locale name', () => { expect(dayjs().locale()).toBe('en') expect(dayjs().locale()).toBe(moment().locale()) expect(dayjs().locale('es').locale()).toBe('es') expect(dayjs().locale('es').locale()).toBe(moment().locale('es').locale()) dayjs.locale(es) moment.locale('es') expect(dayjs().locale()).toBe('es') expect(dayjs().locale()).toBe(moment().locale()) }) it('immutable instance locale', () => { dayjs.locale('en') const origin = dayjs('2018-4-28') expect(origin.format(format)) .toBe('Saturday 28, April') expect(origin.locale('es').format(format)) .toBe('sábado 28, abril') const changed = origin.locale('es') expect(changed.format(format)) .toBe('sábado 28, abril') expect(origin.format(format)) .toBe('Saturday 28, April') }) it('User custom locale', () => { expect(dayjs('2018-4-28') .locale('xx', { weekdays: Array(7).fill('week'), months: Array(12).fill('month') }) .format(format)) .toBe('week 28, month') }) describe('Instance locale inheritance', () => { const esDayjs = dayjs('2018-4-28').locale(es) it('Clone', () => { expect(esDayjs.clone().format(format)) .toBe('sábado 28, abril') expect(dayjs(esDayjs).format(format)) .toBe('sábado 28, abril') }) it('StartOf EndOf', () => { expect(esDayjs.startOf('year').format(format)) .toBe('lunes 1, enero') expect(esDayjs.endOf('day').format(format)) .toBe('sábado 28, abril') }) it('Set', () => { expect(esDayjs.set('year', 2017).format(format)) .toBe('viernes 28, abril') }) it('Add', () => { expect(esDayjs.add(1, 'year').format(format)) .toBe('domingo 28, abril') expect(esDayjs.add(1, 'month').format(format)) .toBe('lunes 28, mayo') expect(esDayjs.add(1, 'minute').format(format)) .toBe('sábado 28, abril') }) it('dayjs.locale() returns locale name', () => { dayjs.locale(es) moment.locale('es') expect(dayjs.locale()).toBe(moment.locale()) dayjs.locale('en') moment.locale('en') expect(dayjs.locale()).toBe(moment.locale()) }) }) it('Not supported locale string fallback to previous one (instance)', () => { const D = dayjs() expect(D.locale()).toBe('en') const D2 = D.locale(NOT_SUPPORTED_LOCALE_STRING) expect(D2.locale()).toBe('en') expect(D2.format()).toBe(D.format()) const D3 = D2.locale('es') expect(D3.locale()).toBe('es') const D4 = D3.locale(NOT_SUPPORTED_LOCALE_STRING) expect(D4.locale()).toBe('es') }) it('Not supported locale string fallback to previous one (global)', () => { expect(dayjs().locale()).toBe('en') dayjs.locale(NOT_SUPPORTED_LOCALE_STRING) expect(dayjs().locale()).toBe('en') dayjs.locale('es') expect(dayjs().locale()).toBe('es') dayjs.locale(NOT_SUPPORTED_LOCALE_STRING) expect(dayjs().locale()).toBe('es') }) iamkun-dayjs-a25f01e/test/locale/000077500000000000000000000000001520523163200167305ustar00rootroot00000000000000iamkun-dayjs-a25f01e/test/locale/ar-dz.test.js000066400000000000000000000012551520523163200212640ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from '../../src' import relativeTime from '../../src/plugin/relativeTime' import '../../src/locale/ru' import locale from '../../src/locale/ar-dz' dayjs.extend(relativeTime) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Meridiem', () => { dayjs.locale(locale) expect(dayjs('2020-01-01 03:00:00').locale('ar-dz').format('A')).toEqual('ص') expect(dayjs('2020-01-01 11:00:00').locale('ar-dz').format('A')).toEqual('ص') expect(dayjs('2020-01-01 16:00:00').locale('ar-dz').format('A')).toEqual('Ù…') expect(dayjs('2020-01-01 20:00:00').locale('ar-dz').format('A')).toEqual('Ù…') }) iamkun-dayjs-a25f01e/test/locale/ar-iq.test.js000066400000000000000000000012551520523163200212600ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from '../../src' import relativeTime from '../../src/plugin/relativeTime' import '../../src/locale/ru' import locale from '../../src/locale/ar-iq' dayjs.extend(relativeTime) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Meridiem', () => { dayjs.locale(locale) expect(dayjs('2020-01-01 03:00:00').locale('ar-iq').format('A')).toEqual('ص') expect(dayjs('2020-01-01 11:00:00').locale('ar-iq').format('A')).toEqual('ص') expect(dayjs('2020-01-01 16:00:00').locale('ar-iq').format('A')).toEqual('Ù…') expect(dayjs('2020-01-01 20:00:00').locale('ar-iq').format('A')).toEqual('Ù…') }) iamkun-dayjs-a25f01e/test/locale/ar-kw.test.js000066400000000000000000000012551520523163200212700ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from '../../src' import relativeTime from '../../src/plugin/relativeTime' import '../../src/locale/ru' import locale from '../../src/locale/ar-kw' dayjs.extend(relativeTime) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Meridiem', () => { dayjs.locale(locale) expect(dayjs('2020-01-01 03:00:00').locale('ar-kw').format('A')).toEqual('ص') expect(dayjs('2020-01-01 11:00:00').locale('ar-kw').format('A')).toEqual('ص') expect(dayjs('2020-01-01 16:00:00').locale('ar-kw').format('A')).toEqual('Ù…') expect(dayjs('2020-01-01 20:00:00').locale('ar-kw').format('A')).toEqual('Ù…') }) iamkun-dayjs-a25f01e/test/locale/ar-ly.test.js000066400000000000000000000012551520523163200212730ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from '../../src' import relativeTime from '../../src/plugin/relativeTime' import '../../src/locale/ru' import locale from '../../src/locale/ar-ly' dayjs.extend(relativeTime) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Meridiem', () => { dayjs.locale(locale) expect(dayjs('2020-01-01 03:00:00').locale('ar-ly').format('A')).toEqual('ص') expect(dayjs('2020-01-01 11:00:00').locale('ar-ly').format('A')).toEqual('ص') expect(dayjs('2020-01-01 16:00:00').locale('ar-ly').format('A')).toEqual('Ù…') expect(dayjs('2020-01-01 20:00:00').locale('ar-ly').format('A')).toEqual('Ù…') }) iamkun-dayjs-a25f01e/test/locale/ar-ma.test.js000066400000000000000000000012551520523163200212440ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from '../../src' import relativeTime from '../../src/plugin/relativeTime' import '../../src/locale/ru' import locale from '../../src/locale/ar-ma' dayjs.extend(relativeTime) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Meridiem', () => { dayjs.locale(locale) expect(dayjs('2020-01-01 03:00:00').locale('ar-ma').format('A')).toEqual('ص') expect(dayjs('2020-01-01 11:00:00').locale('ar-ma').format('A')).toEqual('ص') expect(dayjs('2020-01-01 16:00:00').locale('ar-ma').format('A')).toEqual('Ù…') expect(dayjs('2020-01-01 20:00:00').locale('ar-ma').format('A')).toEqual('Ù…') }) iamkun-dayjs-a25f01e/test/locale/ar-sa.test.js000066400000000000000000000012551520523163200212520ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from '../../src' import relativeTime from '../../src/plugin/relativeTime' import '../../src/locale/ru' import locale from '../../src/locale/ar-sa' dayjs.extend(relativeTime) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Meridiem', () => { dayjs.locale(locale) expect(dayjs('2020-01-01 03:00:00').locale('ar-sa').format('A')).toEqual('ص') expect(dayjs('2020-01-01 11:00:00').locale('ar-sa').format('A')).toEqual('ص') expect(dayjs('2020-01-01 16:00:00').locale('ar-sa').format('A')).toEqual('Ù…') expect(dayjs('2020-01-01 20:00:00').locale('ar-sa').format('A')).toEqual('Ù…') }) iamkun-dayjs-a25f01e/test/locale/ar-tn.test.js000066400000000000000000000012551520523163200212700ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from '../../src' import relativeTime from '../../src/plugin/relativeTime' import '../../src/locale/ru' import locale from '../../src/locale/ar-tn' dayjs.extend(relativeTime) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Meridiem', () => { dayjs.locale(locale) expect(dayjs('2020-01-01 03:00:00').locale('ar-tn').format('A')).toEqual('ص') expect(dayjs('2020-01-01 11:00:00').locale('ar-tn').format('A')).toEqual('ص') expect(dayjs('2020-01-01 16:00:00').locale('ar-tn').format('A')).toEqual('Ù…') expect(dayjs('2020-01-01 20:00:00').locale('ar-tn').format('A')).toEqual('Ù…') }) iamkun-dayjs-a25f01e/test/locale/ar.test.js000066400000000000000000000033571520523163200206560ustar00rootroot00000000000000import moment from 'moment' import MockDate from 'mockdate' import dayjs from '../../src' import relativeTime from '../../src/plugin/relativeTime' import preParsePostFormat from '../../src/plugin/preParsePostFormat' import localeData from '../../src/plugin/localeData' import '../../src/locale/ar' dayjs.extend(localeData) dayjs.extend(relativeTime) dayjs.extend(preParsePostFormat) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Format Month with locale function', () => { for (let i = 0; i <= 7; i += 1) { const dayjsAR = dayjs().locale('ar').add(i, 'day') const momentAR = moment().locale('ar').add(i, 'day') const testFormat1 = 'DD MMMM YYYY MMM' const testFormat2 = 'MMMM' const testFormat3 = 'MMM' expect(dayjsAR.format(testFormat1)).toEqual(momentAR.format(testFormat1)) expect(dayjsAR.format(testFormat2)).toEqual(momentAR.format(testFormat2)) expect(dayjsAR.format(testFormat3)).toEqual(momentAR.format(testFormat3)) } }) it('Preparse with locale function', () => { for (let i = 0; i <= 7; i += 1) { dayjs.locale('ar') const momentAR = moment().locale('ar').add(i, 'day') expect(dayjs(momentAR.format()).format()).toEqual(momentAR.format()) } }) it('RelativeTime: Time from X gets formatted', () => { const T = [ [44.4, 'second', 'منذ ثانية واحدة'] ] T.forEach((t) => { dayjs.locale('ar') expect(dayjs().from(dayjs().add(t[0], t[1]))) .toBe(t[2]) }) }) it('Format meridiem with locale function', () => { for (let i = 0; i <= 23; i += 1) { const hour = dayjs() .startOf('day') .add(i, 'hour') const meridiem = i > 12 ? 'Ù…' : 'ص' expect(hour.locale('ar').format('A')).toBe(`${meridiem}`) } }) iamkun-dayjs-a25f01e/test/locale/be.test.js000066400000000000000000000077651520523163200206510ustar00rootroot00000000000000import MockDate from 'mockdate' import moment from 'moment' import dayjs from '../../src' import '../../src/locale/be' import relativeTime from '../../src/plugin/relativeTime' dayjs.extend(relativeTime) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Belarusian locale relative time in past and future with suffix', () => { const cases = [ [1, 's', 'праз некалькі Ñекунд'], [-1, 's', 'некалькі Ñекунд таму'], [1, 'm', 'праз хвіліну'], [-1, 'm', 'хвіліну таму'], [1, 'h', 'праз гадзіну'], [-1, 'h', 'гадзіну таму'], [1, 'd', 'праз дзень'], [-1, 'd', 'дзень таму'], [1, 'M', 'праз меÑÑц'], [-1, 'M', 'меÑÑц таму'], [2, 'd', 'праз 2 дні'], [-2, 'd', '2 дні таму'], [10, 'd', 'праз 10 дзён'], [-10, 'd', '10 дзён таму'], [6, 'm', 'праз 6 хвілін'], [-6, 'm', '6 хвілін таму'], [5, 'h', 'праз 5 гадзін'], [-5, 'h', '5 гадзін таму'], [3, 'M', 'праз 3 меÑÑцы'], [-3, 'M', '3 меÑÑцы таму'], [4, 'y', 'праз 4 гады'], [-4, 'y', '4 гады таму'] ] const locales = ['be'] locales.forEach((locale) => { cases.forEach((c) => { expect(dayjs() .add(c[0], c[1]) .locale(locale) .fromNow()).toBe(c[2]) expect(dayjs() .add(c[0], c[1]) .locale(locale) .fromNow()).toBe(moment() .add(c[0], c[1]) .locale(locale) .fromNow()) }) }) }) it('Belarusian locale relative time in past and future without suffix', () => { const cases = [ [1, 's', 'некалькі Ñекунд'], [-1, 's', 'некалькі Ñекунд'], [1, 'm', 'хвіліна'], [-1, 'm', 'хвіліна'], [1, 'h', 'гадзіна'], [-1, 'h', 'гадзіна'], // Test all plural forms for days [1, 'd', 'дзень'], [21, 'd', '21 дзень'], [31, 'd', 'меÑÑц'], // 2-4 form [2, 'd', '2 дні'], [3, 'd', '3 дні'], [4, 'd', '4 дні'], // 5-20 and other cases [5, 'd', '5 дзён'], [6, 'd', '6 дзён'], // 11-14 special case [11, 'd', '11 дзён'], [12, 'd', '12 дзён'], [13, 'd', '13 дзён'], [14, 'd', '14 дзён'], // 22-24 [22, 'd', '22 дні'], [23, 'd', '23 дні'], [24, 'd', '24 дні'], // Test all plural forms for months [1, 'M', 'меÑÑц'], [2, 'M', '2 меÑÑцы'], [5, 'M', '5 меÑÑцаў'], // Test all plural forms for years [1, 'y', 'год'], [2, 'y', '2 гады'], [5, 'y', '5 гадоў'], [11, 'y', '11 гадоў'], [21, 'y', '21 год'] ] const locales = ['be'] locales.forEach((locale) => { cases.forEach((c) => { expect(dayjs() .add(c[0], c[1]) .locale(locale) .fromNow(true)).toBe(c[2]) expect(dayjs() .add(c[0], c[1]) .locale(locale) .fromNow(true)).toBe(moment() .add(c[0], c[1]) .locale(locale) .fromNow(true)) }) }) }) it('Belarusian locale formats dates with correct month forms', () => { const tests = [ // Full month names { date: '2022-01-19', format: 'dd, D MMMM YYYY г.', expected: 'ÑÑ€, 19 ÑÑ‚ÑƒÐ´Ð·ÐµÐ½Ñ 2022 г.' }, { date: '2022-01-01', format: 'MMMM', expected: 'Ñтудзень' }, // Short month names in format form (with day) { date: '2022-01-15', format: 'D MMM', expected: '15 Ñтуд' }, { date: '2022-02-15', format: 'D MMM', expected: '15 лют' }, // Short month names in standalone form { date: '2022-01-01', format: 'MMM', expected: 'Ñтуд' }, { date: '2022-02-01', format: 'MMM', expected: 'лют' } ] tests.forEach(({ date, format, expected }) => { const dayjsWithLocale = dayjs(date).locale('be') expect(dayjsWithLocale.format(format)).toEqual(expected) }) }) iamkun-dayjs-a25f01e/test/locale/bg.test.js000066400000000000000000000035631520523163200206430ustar00rootroot00000000000000import moment from 'moment' import MockDate from 'mockdate' import dayjs from '../../src' import relativeTime from '../../src/plugin/relativeTime' import advancedFormat from '../../src/plugin/advancedFormat' import '../../src/locale/bg' dayjs.extend(relativeTime) dayjs.extend(advancedFormat) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Format Month with locale function', () => { for (let i = 0; i <= 7; i += 1) { const dayjsBG = dayjs().locale('bg').add(i, 'day') const momentBG = moment().locale('bg').add(i, 'day') const testFormat1 = 'DD MMMM YYYY MMM' const testFormat2 = 'MMMM' const testFormat3 = 'MMM' expect(dayjsBG.format(testFormat1)).toEqual(momentBG.format(testFormat1)) expect(dayjsBG.format(testFormat2)).toEqual(momentBG.format(testFormat2)) expect(dayjsBG.format(testFormat3)).toEqual(momentBG.format(testFormat3)) } }) it('RelativeTime: Time from X', () => { const T = [ [44.4, 'second'], // a few seconds [89.5, 'second'], // a minute [130, 'second'], // two minutes [43, 'minute'], // 44 minutes [1, 'hour'], // 1 hour [21, 'hour'], // 21 hours [2, 'day'], // 2 days [25, 'day'], // 25 days [2, 'month'], // 2 months [10, 'month'], // 10 months [18, 'month'], // 2 years [15, 'year'] // 15 years ] T.forEach((t) => { dayjs.locale('bg') moment.locale('bg') expect(dayjs().from(dayjs().add(t[0], t[1]))) .toBe(moment().from(moment().add(t[0], t[1]))) expect(dayjs().from(dayjs().add(t[0], t[1]), true)) .toBe(moment().from(moment().add(t[0], t[1]), true)) }) }) it('Ordinal', () => { dayjs.locale('bg') moment.locale('bg') for (let d = 1; d <= 31; d += 1) { const day = d < 10 ? `0${d}` : d const date = `2021-01-${day}` expect(dayjs(date).format('Do')).toBe(moment(date).format('Do')) } }) iamkun-dayjs-a25f01e/test/locale/bn-bd.test.js000066400000000000000000000044401520523163200212300ustar00rootroot00000000000000import moment from 'moment' import MockDate from 'mockdate' import dayjs from '../../src' import relativeTime from '../../src/plugin/relativeTime' import localeData from '../../src/plugin/localeData' import preParsePostFormat from '../../src/plugin/preParsePostFormat' import '../../src/locale/bn-bd' dayjs.extend(localeData) dayjs.extend(relativeTime) dayjs.extend(preParsePostFormat) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Format Month with locale function', () => { for (let i = 0; i <= 7; i += 1) { const dayjsBN = dayjs() .locale('bn-bd') .add(i, 'day') const momentBN = moment() .locale('bn-bd') .add(i, 'day') const testFormat1 = 'DD MMMM YYYY MMM' const testFormat2 = 'MMMM' const testFormat3 = 'MMM' expect(dayjsBN.format(testFormat1)).toEqual(momentBN.format(testFormat1)) expect(dayjsBN.format(testFormat2)).toEqual(momentBN.format(testFormat2)) expect(dayjsBN.format(testFormat3)).toEqual(momentBN.format(testFormat3)) } }) it('Month short', () => { const date = '2021-02-01T05:54:32.005Z' const dayjsBN = dayjs(date) .locale('bn-bd') const momentBN = moment(date) .locale('bn-bd') const testFormat1 = 'DD MMMM YYYY MMM' expect(dayjsBN.format(testFormat1)).toEqual(momentBN.format(testFormat1)) }) it('Preparse with locale function', () => { for (let i = 0; i <= 7; i += 1) { dayjs.locale('bn-bd') const momentBN = moment() .locale('bn-bd') .add(i, 'day') expect(dayjs(momentBN.format()).format()).toEqual(momentBN.format()) } }) it('RelativeTime: Time from X', () => { const T = [ [44.4, 'second'], // a few seconds [89.5, 'second'], // a minute [130, 'second'], // two minutes [43, 'minute'], // 44 minutes [1, 'hour'], // 1 hour [21, 'hour'], // 21 hours [2, 'day'], // 2 days [25, 'day'], // 25 days [2, 'month'], // 2 months [10, 'month'], // 10 months [18, 'month'], // 2 years [15, 'year'] // 15 years ] T.forEach((t) => { dayjs.locale('bn-bd') moment.locale('bn-bd') expect(dayjs().from(dayjs().add(t[0], t[1]))).toBe(moment().from(moment().add(t[0], t[1]))) expect(dayjs().from(dayjs().add(t[0], t[1]), true)) .toBe(moment().from(moment().add(t[0], t[1]), true)) }) }) iamkun-dayjs-a25f01e/test/locale/bn.test.js000066400000000000000000000044051520523163200206460ustar00rootroot00000000000000import moment from 'moment' import MockDate from 'mockdate' import dayjs from '../../src' import relativeTime from '../../src/plugin/relativeTime' import localeData from '../../src/plugin/localeData' import preParsePostFormat from '../../src/plugin/preParsePostFormat' import '../../src/locale/bn' dayjs.extend(localeData) dayjs.extend(relativeTime) dayjs.extend(preParsePostFormat) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Format Month with locale function', () => { for (let i = 0; i <= 7; i += 1) { const dayjsBN = dayjs() .locale('bn') .add(i, 'day') const momentBN = moment() .locale('bn') .add(i, 'day') const testFormat1 = 'DD MMMM YYYY MMM' const testFormat2 = 'MMMM' const testFormat3 = 'MMM' expect(dayjsBN.format(testFormat1)).toEqual(momentBN.format(testFormat1)) expect(dayjsBN.format(testFormat2)).toEqual(momentBN.format(testFormat2)) expect(dayjsBN.format(testFormat3)).toEqual(momentBN.format(testFormat3)) } }) it('Month short', () => { const date = '2021-02-01T05:54:32.005Z' const dayjsBN = dayjs(date) .locale('bn') const momentBN = moment(date) .locale('bn') const testFormat1 = 'DD MMMM YYYY MMM' expect(dayjsBN.format(testFormat1)).toEqual(momentBN.format(testFormat1)) }) it('Preparse with locale function', () => { for (let i = 0; i <= 7; i += 1) { dayjs.locale('bn') const momentBN = moment() .locale('bn') .add(i, 'day') expect(dayjs(momentBN.format()).format()).toEqual(momentBN.format()) } }) it('RelativeTime: Time from X', () => { const T = [ [44.4, 'second'], // a few seconds [89.5, 'second'], // a minute [130, 'second'], // two minutes [43, 'minute'], // 44 minutes [1, 'hour'], // 1 hour [21, 'hour'], // 21 hours [2, 'day'], // 2 days [25, 'day'], // 25 days [2, 'month'], // 2 months [10, 'month'], // 10 months [18, 'month'], // 2 years [15, 'year'] // 15 years ] T.forEach((t) => { dayjs.locale('bn') moment.locale('bn') expect(dayjs().from(dayjs().add(t[0], t[1]))).toBe(moment().from(moment().add(t[0], t[1]))) expect(dayjs().from(dayjs().add(t[0], t[1]), true)) .toBe(moment().from(moment().add(t[0], t[1]), true)) }) }) iamkun-dayjs-a25f01e/test/locale/br.test.js000066400000000000000000000030361520523163200206510ustar00rootroot00000000000000import moment from 'moment' import MockDate from 'mockdate' import dayjs from '../../src' import relativeTime from '../../src/plugin/relativeTime' import '../../src/locale/br' dayjs.extend(relativeTime) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Format Month with locale function', () => { for (let i = 0; i <= 7; i += 1) { const dayjsBR = dayjs().locale('br').add(i, 'day') const momentBR = moment().locale('br').add(i, 'day') const testFormat1 = 'DD MMMM YYYY MMM' const testFormat2 = 'MMMM' const testFormat3 = 'MMM' expect(dayjsBR.format(testFormat1)).toEqual(momentBR.format(testFormat1)) expect(dayjsBR.format(testFormat2)).toEqual(momentBR.format(testFormat2)) expect(dayjsBR.format(testFormat3)).toEqual(momentBR.format(testFormat3)) } }) it('RelativeTime: Time from X', () => { const T = [ [44.4, 'second'], // a few seconds [89.5, 'second'], // a minute [130, 'second'], // two minutes [43, 'minute'], // 44 minutes [1, 'hour'], // 1 hour [21, 'hour'], // 21 hours [2, 'day'], // 2 days [25, 'day'], // 25 days [2, 'month'], // 2 months [10, 'month'], // 10 months [18, 'month'], // 2 years [15, 'year'] // 15 years ] T.forEach((t) => { dayjs.locale('br') moment.locale('br') expect(dayjs().from(dayjs().add(t[0], t[1]))) .toBe(moment().from(moment().add(t[0], t[1]))) expect(dayjs().from(dayjs().add(t[0], t[1]), true)) .toBe(moment().from(moment().add(t[0], t[1]), true)) }) }) iamkun-dayjs-a25f01e/test/locale/cs.test.js000066400000000000000000000025111520523163200206500ustar00rootroot00000000000000import moment from 'moment' import MockDate from 'mockdate' import dayjs from '../../src' import relativeTime from '../../src/plugin/relativeTime' import '../../src/locale/cs' dayjs.extend(relativeTime) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('RelativeTime: Time from X', () => { const T = [ [44.4, 'second'], // a few seconds [89.5, 'second'], // a minute [2, 'minute'], // 2 minutes [43, 'minute'], // 43 minutes [45, 'minute'], // an hour [3, 'hour'], // 3 hours [21, 'hour'], // 21 hours [1, 'day'], // a day [3, 'day'], // 3 day [25, 'day'], // 25 days [1, 'month'], // a month [2, 'month'], // 2 month [10, 'month'], // 10 month [1, 'year'], // a year [2, 'year'], // 2 year [5, 'year'], // 5 year [18, 'month'] // 2 years ] T.forEach((t) => { dayjs.locale('cs') moment.locale('cs') const dayjsDay = dayjs() const momentDay = moment() const dayjsCompare = dayjs().add(t[0], t[1]) const momentCompare = moment().add(t[0], t[1]) expect(dayjsDay.from(dayjsCompare)) .toBe(momentDay.from(momentCompare)) expect(dayjsDay.to(dayjsCompare)) .toBe(momentDay.to(momentCompare)) expect(dayjsDay.from(dayjsCompare, true)) .toBe(momentDay.from(momentCompare, true)) }) }) iamkun-dayjs-a25f01e/test/locale/de.test.js000066400000000000000000000056471520523163200206500ustar00rootroot00000000000000import MockDate from 'mockdate' import moment from 'moment' import dayjs from '../../src' import relativeTime from '../../src/plugin/relativeTime' import '../../src/locale/de' import '../../src/locale/de-at' import '../../src/locale/de-ch' dayjs.extend(relativeTime) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('German locale relative time in past and future with suffix', () => { const cases = [ [1, 's', 'in ein paar Sekunden'], [-1, 's', 'vor ein paar Sekunden'], [1, 'm', 'in einer Minute'], [-1, 'm', 'vor einer Minute'], [1, 'h', 'in einer Stunde'], [-1, 'h', 'vor einer Stunde'], [1, 'd', 'in einem Tag'], [-1, 'd', 'vor einem Tag'], [1, 'M', 'in einem Monat'], [-1, 'M', 'vor einem Monat'], [2, 'd', 'in 2 Tagen'], [-2, 'd', 'vor 2 Tagen'], [10, 'd', 'in 10 Tagen'], [-10, 'd', 'vor 10 Tagen'], [6, 'm', 'in 6 Minuten'], [-6, 'm', 'vor 6 Minuten'], [5, 'h', 'in 5 Stunden'], [-5, 'h', 'vor 5 Stunden'], [3, 'M', 'in 3 Monaten'], [-3, 'M', 'vor 3 Monaten'], [4, 'y', 'in 4 Jahren'], [-4, 'y', 'vor 4 Jahren'] ] const locales = ['de', 'de-at', 'de-ch'] locales.forEach((locale) => { cases.forEach((c) => { expect(dayjs().add(c[0], c[1]).locale(locale).fromNow()) .toBe(c[2]) expect(dayjs().add(c[0], c[1]).locale(locale).fromNow()) .toBe(moment().add(c[0], c[1]).locale(locale).fromNow()) }) }) }) it('German locale relative time in past and future without suffix', () => { const cases = [ [1, 's', 'ein paar Sekunden'], [-1, 's', 'ein paar Sekunden'], [1, 'm', 'eine Minute'], [-1, 'm', 'eine Minute'], [1, 'h', 'eine Stunde'], [-1, 'h', 'eine Stunde'], [1, 'd', 'ein Tag'], [-1, 'd', 'ein Tag'], [2, 'd', '2 Tage'], [-2, 'd', '2 Tage'], [10, 'd', '10 Tage'], [-10, 'd', '10 Tage'], [6, 'm', '6 Minuten'], [-6, 'm', '6 Minuten'], [5, 'h', '5 Stunden'], [-5, 'h', '5 Stunden'], [3, 'M', '3 Monate'], [-3, 'M', '3 Monate'], [4, 'y', '4 Jahre'], [-4, 'y', '4 Jahre'] ] const locales = ['de', 'de-at', 'de-ch'] locales.forEach((locale) => { cases.forEach((c) => { expect(dayjs().add(c[0], c[1]).locale(locale).fromNow(true)) .toBe(c[2]) expect(dayjs().add(c[0], c[1]).locale(locale).fromNow(true)) .toBe(moment().add(c[0], c[1]).locale(locale).fromNow(true)) }) }) }) it('German locales use region specific names', () => { const locales = [ { locale: 'de', expectedFormattedDate: 'Mi., 19. Januar 2022' }, { locale: 'de-at', expectedFormattedDate: 'Mi., 19. Jänner 2022' }, { locale: 'de-ch', expectedFormattedDate: 'Mi, 19. Januar 2022' } ] locales.forEach((locale) => { const dayjsWithLocale = dayjs('2022-01-19').locale(locale.locale) expect(dayjsWithLocale.format('ddd, D. MMMM YYYY')).toEqual(locale.expectedFormattedDate) }) }) iamkun-dayjs-a25f01e/test/locale/en.test.js000066400000000000000000000014141520523163200206460ustar00rootroot00000000000000import dayjs from '../../src' import '../../src/locale/en' import '../../src/locale/en-gb' import '../../src/locale/en-in' import '../../src/locale/en-tt' import localizedFormat from '../../src/plugin/localizedFormat' dayjs.extend(localizedFormat) const locales = [ { locale: 'en', expectedDate: '12/25/2019' }, { locale: 'en-gb', expectedDate: '25/12/2019' }, { locale: 'en-in', expectedDate: '25/12/2019' }, { locale: 'en-tt', expectedDate: '25/12/2019' } ] describe('English date formats', () => { locales.forEach((locale) => { it(`should correctly format date with locale - ${locale.locale}`, () => { const dayjsWithLocale = dayjs('2019-12-25').locale(locale.locale) expect(dayjsWithLocale.format('L')).toEqual(locale.expectedDate) }) }) }) iamkun-dayjs-a25f01e/test/locale/et.test.js000066400000000000000000000017321520523163200206570ustar00rootroot00000000000000import moment from 'moment' import MockDate from 'mockdate' import dayjs from '../../src' import relativeTime from '../../src/plugin/relativeTime' import '../../src/locale/et' dayjs.extend(relativeTime) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('RelativeTime: Time from X', () => { const T = [ [44.4, 'second'], // a few seconds [89.5, 'second'], // a minute [43, 'minute'], // 44 minutes [21, 'hour'], // 21 hours [25, 'day'], // 25 days [10, 'month'], // 2 month [18, 'month'] // 2 years ] T.forEach((t) => { dayjs.locale('et') moment.locale('et') expect(dayjs().from(dayjs().add(t[0], t[1]))) .toBe(moment().from(moment().add(t[0], t[1]))) expect(dayjs().from(dayjs().subtract(t[0], t[1]))) .toBe(moment().from(moment().subtract(t[0], t[1]))) expect(dayjs().from(dayjs().add(t[0], t[1]), true)) .toBe(moment().from(moment().add(t[0], t[1]), true)) }) }) iamkun-dayjs-a25f01e/test/locale/fi.test.js000066400000000000000000000025371520523163200206510ustar00rootroot00000000000000import MockDate from 'mockdate' import moment from 'moment' import dayjs from '../../src' import relativeTime from '../../src/plugin/relativeTime' import '../../src/locale/fi' dayjs.extend(relativeTime) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Finnish locale relative time in past and future', () => { const cases = [ [1, 'd', 'päivän päästä'], [-1, 'd', 'päivä sitten'], [2, 'd', 'kahden päivän päästä'], [-2, 'd', 'kaksi päivää sitten'], [10, 'd', '10 päivän päästä'], [-10, 'd', '10 päivää sitten'], [6, 'm', 'kuuden minuutin päästä'], [-6, 'm', 'kuusi minuuttia sitten'], [5, 'h', 'viiden tunnin päästä'], [-5, 'h', 'viisi tuntia sitten'], [3, 'M', 'kolmen kuukauden päästä'], [-3, 'M', 'kolme kuukautta sitten'], [4, 'y', 'neljän vuoden päästä'], [-4, 'y', 'neljä vuotta sitten'] ] cases.forEach((c) => { expect(dayjs().add(c[0], c[1]).locale('fi').fromNow()) .toBe(c[2]) expect(dayjs().add(c[0], c[1]).locale('fi').fromNow()) .toBe(moment().add(c[0], c[1]).locale('fi').fromNow()) }) expect(dayjs().add(-10, 'd').locale('fi').fromNow(true)) .toBe('10 päivää') expect(dayjs().add(-10, 'd').locale('fi').fromNow(true)) .toBe(moment().add(-10, 'd').locale('fi').fromNow(true)) }) iamkun-dayjs-a25f01e/test/locale/he.test.js000066400000000000000000000022761520523163200206470ustar00rootroot00000000000000import moment from 'moment' import dayjs from '../../src' import relativeTime from '../../src/plugin/relativeTime' import '../../src/locale/he' dayjs.extend(relativeTime) it('RelativeTime: Time from X', () => { const T = [ [44.4, 'second'], // a few seconds [89.5, 'second'], // a minute [2, 'minute'], // 2 minutes [43, 'minute'], // 43 minutes [45, 'minute'], // an hour [3, 'hour'], // 3 hours [21, 'hour'], // 21 hours [1, 'day'], // a day [3, 'day'], // 3 day [25, 'day'], // 25 days [1, 'month'], // a month [2, 'month'], // 2 month [10, 'month'], // 10 month [1, 'year'], // a year [2, 'year'], // 2 year [5, 'year'], // 5 year [18, 'month'] // 2 years ] T.forEach((t) => { dayjs.locale('he') moment.locale('he') const dayjsDay = dayjs() const momentDay = moment() const dayjsCompare = dayjs().add(t[0], t[1]) const momentCompare = moment().add(t[0], t[1]) expect(dayjsDay.from(dayjsCompare)).toBe(momentDay.from(momentCompare)) expect(dayjsDay.to(dayjsCompare)).toBe(momentDay.to(momentCompare)) expect(dayjsDay.from(dayjsCompare, true)).toBe(momentDay.from(momentCompare, true)) }) }) iamkun-dayjs-a25f01e/test/locale/hr.test.js000066400000000000000000000013571520523163200206630ustar00rootroot00000000000000import moment from 'moment' import dayjs from '../../src' import '../../src/locale/hr' it('Format month with locale function', () => { for (let i = 0; i <= 7; i += 1) { const dayjsUK = dayjs().locale('hr').add(i, 'day') const momentUK = moment().locale('hr').add(i, 'day') const testFormat1 = 'DD MMMM YYYY MMM' const testFormat2 = 'dddd, MMMM D YYYY' const testFormat3 = 'MMMM' const testFormat4 = 'MMM' expect(dayjsUK.format(testFormat1)).toEqual(momentUK.format(testFormat1)) expect(dayjsUK.format(testFormat2)).toEqual(momentUK.format(testFormat2)) expect(dayjsUK.format(testFormat3)).toEqual(momentUK.format(testFormat3)) expect(dayjsUK.format(testFormat4)).toEqual(momentUK.format(testFormat4)) } }) iamkun-dayjs-a25f01e/test/locale/hu.test.js000066400000000000000000000022761520523163200206670ustar00rootroot00000000000000import moment from 'moment' import dayjs from '../../src' import relativeTime from '../../src/plugin/relativeTime' import '../../src/locale/hu' dayjs.extend(relativeTime) it('RelativeTime: Time from X', () => { const T = [ [44.4, 'second'], // a few seconds [89.5, 'second'], // a minute [2, 'minute'], // 2 minutes [43, 'minute'], // 43 minutes [45, 'minute'], // an hour [3, 'hour'], // 3 hours [21, 'hour'], // 21 hours [1, 'day'], // a day [3, 'day'], // 3 day [25, 'day'], // 25 days [1, 'month'], // a month [2, 'month'], // 2 month [10, 'month'], // 10 month [1, 'year'], // a year [2, 'year'], // 2 year [5, 'year'], // 5 year [18, 'month'] // 2 years ] T.forEach((t) => { dayjs.locale('hu') moment.locale('hu') const dayjsDay = dayjs() const momentDay = moment() const dayjsCompare = dayjs().add(t[0], t[1]) const momentCompare = moment().add(t[0], t[1]) expect(dayjsDay.from(dayjsCompare)).toBe(momentDay.from(momentCompare)) expect(dayjsDay.to(dayjsCompare)).toBe(momentDay.to(momentCompare)) expect(dayjsDay.from(dayjsCompare, true)).toBe(momentDay.from(momentCompare, true)) }) }) iamkun-dayjs-a25f01e/test/locale/is.test.js000066400000000000000000000063501520523163200206630ustar00rootroot00000000000000import MockDate from 'mockdate' import moment from 'moment' import dayjs from '../../src' import '../../src/locale/is' import relativeTime from '../../src/plugin/relativeTime' dayjs.extend(relativeTime) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) const expectations = [ [1, 's', 'nokkrar sekúndur', 'fyrir nokkrum sekúndum síðan', 'eftir nokkrar sekúndur'], [1, 'm', 'mínúta', 'fyrir mínútu síðan', 'eftir mínútu'], [1, 'h', 'klukkustund', 'fyrir klukkustund síðan', 'eftir klukkustund'], [1, 'd', 'dagur', 'fyrir degi síðan', 'eftir dag'], [1, 'M', 'mánuður', 'fyrir mánuði síðan', 'eftir mánuð'], [1, 'y', 'ár', 'fyrir ári síðan', 'eftir ár'], [2, 'm', '2 mínútur', 'fyrir 2 mínútum síðan', 'eftir 2 mínútur'], [2, 'h', '2 klukkustundir', 'fyrir 2 klukkustundum síðan', 'eftir 2 klukkustundir'], [2, 'd', '2 dagar', 'fyrir 2 dögum síðan', 'eftir 2 daga'], [2, 'M', '2 mánuðir', 'fyrir 2 mánuðum síðan', 'eftir 2 mánuði'], [2, 'y', '2 ár', 'fyrir 2 árum síðan', 'eftir 2 ár'], [21, 'm', '21 mínúta', 'fyrir 21 mínútu síðan', 'eftir 21 mínútu'], [21, 'h', '21 klukkustund', 'fyrir 21 klukkustund síðan', 'eftir 21 klukkustund'], [21, 'd', '21 dagur', 'fyrir 21 degi síðan', 'eftir 21 dag'], [21, 'y', '21 ár', 'fyrir 21 ári síðan', 'eftir 21 ár'] ] describe('moment compatibility', () => { it('without suffix', () => { expectations.forEach((expectation) => { const [offset, unit, expectationWithoutSuffix] = expectation const momentResult = moment() .add(offset, unit) .locale('is') .fromNow(true) expect(expectationWithoutSuffix).toBe(momentResult) }) }) it('past', () => { expectations.forEach((expectation) => { const [offset, unit, , pastExpectation] = expectation const momentResult = moment() .add(-offset, unit) .locale('is') .fromNow() expect(pastExpectation).toBe(momentResult) }) }) it('future', () => { expectations.forEach((expectation) => { const [offset, unit, , , futureExpectation] = expectation const momentResult = moment() .add(offset, unit) .locale('is') .fromNow() expect(futureExpectation).toBe(momentResult) }) }) }) describe('Icelandic output matches moment output', () => { it('without suffix', () => { expectations.forEach((expectation) => { const [offset, unit, expectationWithoutSuffix] = expectation const result = dayjs() .add(offset, unit) .locale('is') .fromNow(true) expect(result).toBe(expectationWithoutSuffix) }) }) it('past', () => { expectations.forEach((expectation) => { const [offset, unit, , pastExpectation] = expectation const result = dayjs() .add(-offset, unit) .locale('is') .fromNow() expect(result).toBe(pastExpectation) }) }) it('future', () => { expectations.forEach((expectation) => { const [offset, unit, , , futureExpectation] = expectation const result = dayjs() .add(offset, unit) .locale('is') .fromNow() expect(result).toBe(futureExpectation) }) }) }) iamkun-dayjs-a25f01e/test/locale/it-ch.test.js000066400000000000000000000043551520523163200212570ustar00rootroot00000000000000import moment from 'moment' import MockDate from 'mockdate' import dayjs from '../../src' import '../../src/locale/it-ch' import relativeTime from '../../src/plugin/relativeTime' import localizedFormat from '../../src/plugin/localizedFormat' dayjs.extend(relativeTime) dayjs.extend(localizedFormat) describe('Italian formats in Switzerland', () => { beforeEach(() => { dayjs.locale('it-ch') moment.locale('it-ch') MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Format month with locale function', () => { for (let i = 0; i <= 7; i += 1) { const dayjsWithLocale = dayjs().add(i, 'day') const momentWithLocale = moment().add(i, 'day') const testFormat1 = 'DD MMMM YYYY MMM' const testFormat2 = 'dddd, MMMM D YYYY' const testFormat3 = 'MMMM' const testFormat4 = 'MMM' const testFormat5 = 'L' expect(dayjsWithLocale.format(testFormat1)).toEqual(momentWithLocale.format(testFormat1)) expect(dayjsWithLocale.format(testFormat2)).toEqual(momentWithLocale.format(testFormat2)) expect(dayjsWithLocale.format(testFormat3)).toEqual(momentWithLocale.format(testFormat3)) expect(dayjsWithLocale.format(testFormat4)).toEqual(momentWithLocale.format(testFormat4)) expect(dayjsWithLocale.format(testFormat5)).toEqual(momentWithLocale.format(testFormat5)) } }) it('RelativeTime: Time from X', () => { const T = [ [44.4, 'second'], // a few seconds [89.5, 'second'], // a minute [2, 'minute'], // 2 minutes [5, 'minute'], // 5 minutes [43, 'minute'], // 44 minutes [45, 'minute'], // an hour [3, 'hour'], // 3 hours [21, 'hour'], // 21 hours [1, 'day'], // a day [3, 'day'], // 3 day [25, 'day'], // 25 days [1, 'month'], // a month [2, 'month'], // 2 month [10, 'month'], // 10 month [1, 'year'], // a year [2, 'year'], // 2 year [5, 'year'], // 5 year [18, 'month'] // 2 years ] T.forEach((t) => { expect(dayjs().from(dayjs().add(t[0], t[1]))) .toBe(moment().from(moment().add(t[0], t[1]))) expect(dayjs().from(dayjs().add(t[0], t[1]), true)) .toBe(moment().from(moment().add(t[0], t[1]), true)) }) }) }) iamkun-dayjs-a25f01e/test/locale/it.test.js000066400000000000000000000050671520523163200206700ustar00rootroot00000000000000import moment from 'moment' import MockDate from 'mockdate' import dayjs from '../../src' import '../../src/locale/it' import relativeTime from '../../src/plugin/relativeTime' import localizedFormat from '../../src/plugin/localizedFormat' dayjs.extend(relativeTime) dayjs.extend(localizedFormat) describe('Italian formats', () => { beforeEach(() => { dayjs.locale('it') moment.locale('it') MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Format month with locale function', () => { for (let i = 0; i <= 7; i += 1) { const dayjsWithLocale = dayjs().add(i, 'day') const momentWithLocale = moment().add(i, 'day') const testFormat1 = 'DD MMMM YYYY MMM' const testFormat2 = 'dddd, MMMM D YYYY' const testFormat3 = 'MMMM' const testFormat4 = 'MMM' const testFormat5 = 'L' expect(dayjsWithLocale.format(testFormat1)).toEqual(momentWithLocale.format(testFormat1)) expect(dayjsWithLocale.format(testFormat2)).toEqual(momentWithLocale.format(testFormat2)) expect(dayjsWithLocale.format(testFormat3)).toEqual(momentWithLocale.format(testFormat3)) expect(dayjsWithLocale.format(testFormat4)).toEqual(momentWithLocale.format(testFormat4)) expect(dayjsWithLocale.format(testFormat5)).toEqual(momentWithLocale.format(testFormat5)) } }) it('RelativeTime: Time from X', () => { const T = [ [89.5, 'second'], // a minute [2, 'minute'], // 2 minutes [5, 'minute'], // 5 minutes [43, 'minute'], // 44 minutes [45, 'minute'], // an hour [3, 'hour'], // 3 hours [21, 'hour'], // 21 hours [1, 'day'], // a day [3, 'day'], // 3 day [25, 'day'], // 25 days [1, 'month'], // a month [2, 'month'], // 2 month [10, 'month'], // 10 month [1, 'year'], // a year [2, 'year'], // 2 year [5, 'year'], // 5 year [18, 'month'] // 2 years ] T.forEach((t) => { expect(dayjs().from(dayjs().add(t[0], t[1]))) .toBe(moment().from(moment().add(t[0], t[1]))) expect(dayjs().from(dayjs().add(t[0], t[1]), true)) .toBe(moment().from(moment().add(t[0], t[1]), true)) }) }) // moment.js uses `alcuni secondi` while dayjs uses `qualche secondo`. it('RelativeTime: A few seconds', () => { const T = [ [44.4, 'second'] // a few seconds ] T.forEach((t) => { expect(dayjs().from(dayjs().add(t[0], t[1]))) .toBe('qualche secondo fa') expect(dayjs().from(dayjs().add(t[0], t[1]), true)) .toBe('qualche secondo') }) }) }) iamkun-dayjs-a25f01e/test/locale/ja.test.js000066400000000000000000000022351520523163200206400ustar00rootroot00000000000000import MockDate from 'mockdate' import moment from 'moment' import dayjs from '../../src' import relativeTime from '../../src/plugin/relativeTime' import '../../src/locale/ja' dayjs.extend(relativeTime) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Finnish locale relative time in past and future', () => { const cases = [ [1, 'd', '1日後'], [-1, 'd', '1æ—¥å‰'], [2, 'd', '2日後'], [-2, 'd', '2æ—¥å‰'], [10, 'd', '10日後'], [-10, 'd', '10æ—¥å‰'], [6, 'm', '6分後'], [-6, 'm', '6分å‰'], [5, 'h', '5時間後'], [-5, 'h', '5時間å‰'], [3, 'M', '3ヶ月後'], [-3, 'M', '3ヶ月å‰'], [4, 'y', '4年後'], [-4, 'y', '4å¹´å‰'] ] cases.forEach((c) => { expect(dayjs().add(c[0], c[1]).locale('ja').fromNow()) .toBe(c[2]) expect(dayjs().add(c[0], c[1]).locale('ja').fromNow()) .toBe(moment().add(c[0], c[1]).locale('ja').fromNow()) }) expect(dayjs().add(-10, 'd').locale('ja').fromNow(true)) .toBe('10æ—¥') expect(dayjs().add(-10, 'd').locale('ja').fromNow(true)) .toBe(moment().add(-10, 'd').locale('ja').fromNow(true)) }) iamkun-dayjs-a25f01e/test/locale/keys.test.js000066400000000000000000000066301520523163200212240ustar00rootroot00000000000000import fs from 'fs' import path from 'path' import dayjs from '../../src' const localeDir = '../../src/locale' const Locale = [] const localeNameRegex = /\/\/ (.*) \[/ // load all locales from locale dir fs.readdirSync(path.join(__dirname, localeDir)) .forEach((file) => { const fPath = path.join(__dirname, localeDir, file) Locale.push({ name: file, // eslint-disable-next-line import/no-dynamic-require, global-require content: require(fPath).default, file: fs.readFileSync(fPath, 'utf-8') }) }) Locale.forEach((locale) => { it(`Locale keys for ${locale.content.name}`, () => { const { name, ordinal, weekdays, months, formats, relativeTime, weekdaysShort, monthsShort, weekdaysMin, weekStart, yearStart, meridiem } = locale.content // comments required const commentsMatchResult = locale.file.match(localeNameRegex) expect(commentsMatchResult[1]).not.toBeUndefined() expect(name).toEqual(locale.name.replace('.js', '')) expect(name).toBe(name.toLowerCase()) expect(weekdays).toEqual(expect.any(Array)) if (weekdaysShort) expect(weekdaysShort).toEqual(expect.any(Array)) if (weekdaysMin) expect(weekdaysMin).toEqual(expect.any(Array)) if (weekStart) expect(weekStart).toEqual(expect.any(Number)) if (yearStart) expect(yearStart).toEqual(expect.any(Number)) // months could be a function or array if (Array.isArray(months)) { expect(months).toEqual(expect.any(Array)) } else { expect(months(dayjs(), 'str')).toEqual(expect.any(String)) expect(months.f).toEqual(expect.any(Array)) expect(months.s).toEqual(expect.any(Array)) } // monthsShort could be a function or array if (monthsShort) { if (Array.isArray(monthsShort)) { expect(monthsShort).toEqual(expect.any(Array)) } else { expect(monthsShort(dayjs(), 'str')).toEqual(expect.any(String)) expect(monthsShort.f).toEqual(expect.any(Array)) expect(monthsShort.s).toEqual(expect.any(Array)) } } // function pass date return string or number or null if (name !== 'en') { // en ordinal set in advancedFormat for (let i = 1; i <= 31; i += 1) { expect(ordinal(i)).toEqual(expect.anything()) } } expect(dayjs().locale(name).$locale().name).toBe(name) if (formats) { const { LT, LTS, L, LL, LLL, LLLL, l, ll, lll, llll, ...remainingFormats } = formats expect(formats).toEqual(expect.objectContaining({ L: expect.any(String), LL: expect.any(String), LLL: expect.any(String), LLLL: expect.any(String), LT: expect.any(String), LTS: expect.any(String) })) expect(Object.keys(remainingFormats).length).toEqual(0) if (l) expect(l).toEqual(expect.any(String)) if (ll) expect(ll).toEqual(expect.any(String)) if (lll) expect(lll).toEqual(expect.any(String)) if (llll) expect(llll).toEqual(expect.any(String)) } if (relativeTime) { expect(Object.keys(relativeTime).sort()).toEqual(['d', 'dd', 'future', 'h', 'hh', 'm', 'mm', 'M', 'MM', 'past', 's', 'y', 'yy'] .sort()) } if (meridiem) { for (let i = 1; i <= 23; i += 1) { expect(meridiem(i)).toEqual(expect.anything()) } } }) }) iamkun-dayjs-a25f01e/test/locale/ku.test.js000066400000000000000000000017421520523163200206670ustar00rootroot00000000000000import moment from 'moment' import MockDate from 'mockdate' import dayjs from '../../src' import locale, { englishToArabicNumbersMap } from '../../src/locale/ku' import preParsePostFormat from '../../src/plugin/preParsePostFormat' dayjs.extend(preParsePostFormat) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Format meridiem correctly', () => { for (let i = 0; i <= 23; i += 1) { const dayjsKu = dayjs() .startOf('day') .add(i, 'hour') const hour = (i % 12 || 12) .toString() .replace(/\d/g, match => englishToArabicNumbersMap[match]) const m = i < 12 ? 'Ù¾.Ù†' : 'د.Ù†' expect(dayjsKu.locale('ku').format('h A')).toBe(`${hour} ${m}`) } }) it('Preparse with locale function', () => { for (let i = 0; i <= 7; i += 1) { dayjs.locale(locale) const momentKu = moment() .locale('ku') .add(i, 'day') expect(dayjs(momentKu.format()).format()).toEqual(momentKu.format()) } }) iamkun-dayjs-a25f01e/test/locale/lt.test.js000066400000000000000000000013571520523163200206710ustar00rootroot00000000000000import moment from 'moment' import dayjs from '../../src' import '../../src/locale/lt' it('Format month with locale function', () => { for (let i = 0; i <= 7; i += 1) { const dayjsUK = dayjs().locale('lt').add(i, 'day') const momentUK = moment().locale('lt').add(i, 'day') const testFormat1 = 'DD MMMM YYYY MMM' const testFormat2 = 'dddd, MMMM D YYYY' const testFormat3 = 'MMMM' const testFormat4 = 'MMM' expect(dayjsUK.format(testFormat1)).toEqual(momentUK.format(testFormat1)) expect(dayjsUK.format(testFormat2)).toEqual(momentUK.format(testFormat2)) expect(dayjsUK.format(testFormat3)).toEqual(momentUK.format(testFormat3)) expect(dayjsUK.format(testFormat4)).toEqual(momentUK.format(testFormat4)) } }) iamkun-dayjs-a25f01e/test/locale/pl.test.js000066400000000000000000000034721520523163200206650ustar00rootroot00000000000000import moment from 'moment' import MockDate from 'mockdate' import dayjs from '../../src' import relativeTime from '../../src/plugin/relativeTime' import '../../src/locale/pl' dayjs.extend(relativeTime) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Format month with locale function', () => { for (let i = 0; i <= 7; i += 1) { const dayjsUK = dayjs().locale('pl').add(i, 'day') const momentUK = moment().locale('pl').add(i, 'day') const testFormat1 = 'DD MMMM YYYY MMM' const testFormat2 = 'dddd, MMMM D YYYY' const testFormat3 = 'MMMM' const testFormat4 = 'MMM' expect(dayjsUK.format(testFormat1)).toEqual(momentUK.format(testFormat1)) expect(dayjsUK.format(testFormat2)).toEqual(momentUK.format(testFormat2)) expect(dayjsUK.format(testFormat3)).toEqual(momentUK.format(testFormat3)) expect(dayjsUK.format(testFormat4)).toEqual(momentUK.format(testFormat4)) } }) it('RelativeTime: Time from X', () => { const T = [ [44.4, 'second'], // a few seconds [89.5, 'second'], // a minute [2, 'minute'], // 2 minutes [5, 'minute'], // 5 minutes [43, 'minute'], // 44 minutes [45, 'minute'], // an hour [3, 'hour'], // 3 hours [21, 'hour'], // 21 hours [1, 'day'], // a day [3, 'day'], // 3 day [25, 'day'], // 25 days [1, 'month'], // a month [2, 'month'], // 2 month [10, 'month'], // 10 month [1, 'year'], // a year [2, 'year'], // 2 year [5, 'year'], // 5 year [18, 'month'] // 2 years ] T.forEach((t) => { dayjs.locale('pl') moment.locale('pl') expect(dayjs().from(dayjs().add(t[0], t[1]))) .toBe(moment().from(moment().add(t[0], t[1]))) expect(dayjs().from(dayjs().add(t[0], t[1]), true)) .toBe(moment().from(moment().add(t[0], t[1]), true)) }) }) iamkun-dayjs-a25f01e/test/locale/ru.test.js000066400000000000000000000033641520523163200207000ustar00rootroot00000000000000import moment from 'moment' import MockDate from 'mockdate' import dayjs from '../../src' import relativeTime from '../../src/plugin/relativeTime' import '../../src/locale/ru' dayjs.extend(relativeTime) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Format Month with locale function', () => { for (let i = 0; i <= 7; i += 1) { const dayjsRU = dayjs().locale('ru').add(i, 'day') const momentRU = moment().locale('ru').add(i, 'day') const testFormat1 = 'DD MMMM YYYY MMM' const testFormat2 = 'MMMM' const testFormat3 = 'MMM' expect(dayjsRU.format(testFormat1)).toEqual(momentRU.format(testFormat1)) expect(dayjsRU.format(testFormat2)).toEqual(momentRU.format(testFormat2)) expect(dayjsRU.format(testFormat3)).toEqual(momentRU.format(testFormat3)) } }) it('RelativeTime: Time from X', () => { const T = [ [44.4, 'second'], // a few seconds [89.5, 'second'], // a minute [43, 'minute'], // 44 minutes [21, 'hour'], // 21 hours [25, 'day'], // 25 days [10, 'month'], // 2 month [18, 'month'] // 2 years ] T.forEach((t) => { dayjs.locale('ru') moment.locale('ru') expect(dayjs().from(dayjs().add(t[0], t[1]))) .toBe(moment().from(moment().add(t[0], t[1]))) expect(dayjs().from(dayjs().add(t[0], t[1]), true)) .toBe(moment().from(moment().add(t[0], t[1]), true)) }) }) it('Meridiem', () => { expect(dayjs('2020-01-01 03:00:00').locale('ru').format('A')).toEqual('ночи') expect(dayjs('2020-01-01 11:00:00').locale('ru').format('A')).toEqual('утра') expect(dayjs('2020-01-01 16:00:00').locale('ru').format('A')).toEqual('днÑ') expect(dayjs('2020-01-01 20:00:00').locale('ru').format('A')).toEqual('вечера') }) iamkun-dayjs-a25f01e/test/locale/sk.test.js000066400000000000000000000025111520523163200206600ustar00rootroot00000000000000import moment from 'moment' import MockDate from 'mockdate' import dayjs from '../../src' import relativeTime from '../../src/plugin/relativeTime' import '../../src/locale/sk' dayjs.extend(relativeTime) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('RelativeTime: Time from X', () => { const T = [ [44.4, 'second'], // a few seconds [89.5, 'second'], // a minute [2, 'minute'], // 2 minutes [43, 'minute'], // 43 minutes [45, 'minute'], // an hour [3, 'hour'], // 3 hours [21, 'hour'], // 21 hours [1, 'day'], // a day [3, 'day'], // 3 day [25, 'day'], // 25 days [1, 'month'], // a month [2, 'month'], // 2 month [10, 'month'], // 10 month [1, 'year'], // a year [2, 'year'], // 2 year [5, 'year'], // 5 year [18, 'month'] // 2 years ] T.forEach((t) => { dayjs.locale('sk') moment.locale('sk') const dayjsDay = dayjs() const momentDay = moment() const dayjsCompare = dayjs().add(t[0], t[1]) const momentCompare = moment().add(t[0], t[1]) expect(dayjsDay.from(dayjsCompare)) .toBe(momentDay.from(momentCompare)) expect(dayjsDay.to(dayjsCompare)) .toBe(momentDay.to(momentCompare)) expect(dayjsDay.from(dayjsCompare, true)) .toBe(momentDay.from(momentCompare, true)) }) }) iamkun-dayjs-a25f01e/test/locale/sl.test.js000066400000000000000000000060421520523163200206640ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from '../../src' import relativeTime from '../../src/plugin/relativeTime' import '../../src/locale/sl' dayjs.extend(relativeTime) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Slovenian locale relative time in past and future', () => { const cases = [ [1, 's', 'Äez nekaj sekund', 'nekaj sekund'], [-1, 's', 'pred nekaj sekundami', 'nekaj sekund'], [1, 'm', 'Äez eno minuto', 'ena minuta'], [-1, 'm', 'pred eno minuto', 'ena minuta'], [2, 'm', 'Äez 2 minuti', '2 minuti'], [-2, 'm', 'pred 2 minutama', '2 minuti'], [3, 'm', 'Äez 3 minute', '3 minute'], [-3, 'm', 'pred 3 minutami', '3 minute'], [5, 'm', 'Äez 5 minut', '5 minut'], [-5, 'm', 'pred 5 minutami', '5 minut'], [1, 'h', 'Äez eno uro', 'ena ura'], [-1, 'h', 'pred eno uro', 'ena ura'], [2, 'h', 'Äez 2 uri', '2 uri'], [-2, 'h', 'pred 2 urama', '2 uri'], [3, 'h', 'Äez 3 ure', '3 ure'], [-3, 'h', 'pred 3 urami', '3 ure'], [5, 'h', 'Äez 5 ur', '5 ur'], [-5, 'h', 'pred 5 urami', '5 ur'], [1, 'd', 'Äez en dan', 'en dan'], [-1, 'd', 'pred enim dnem', 'en dan'], [2, 'd', 'Äez 2 dneva', '2 dneva'], [-2, 'd', 'pred 2 dnevoma', '2 dneva'], [3, 'd', 'Äez 3 dni', '3 dni'], [-3, 'd', 'pred 3 dnevi', '3 dni'], [5, 'd', 'Äez 5 dni', '5 dni'], [-5, 'd', 'pred 5 dnevi', '5 dni'], [1, 'M', 'Äez en mesec', 'en mesec'], [-1, 'M', 'pred enim mesecem', 'en mesec'], [2, 'M', 'Äez 2 meseca', '2 meseca'], [-2, 'M', 'pred 2 mesecema', '2 meseca'], [3, 'M', 'Äez 3 mesece', '3 mesece'], [-3, 'M', 'pred 3 meseci', '3 mesece'], [5, 'M', 'Äez 5 mesecev', '5 mesecev'], [-5, 'M', 'pred 5 meseci', '5 mesecev'], [1, 'y', 'Äez eno leto', 'eno leto'], [-1, 'y', 'pred enim letom', 'eno leto'], [2, 'y', 'Äez 2 leti', '2 leti'], [-2, 'y', 'pred 2 letoma', '2 leti'], [3, 'y', 'Äez 3 leta', '3 leta'], [-3, 'y', 'pred 3 leti', '3 leta'], [5, 'y', 'Äez 5 let', '5 let'], [-5, 'y', 'pred 5 leti', '5 let'] // these are rounded // if user decides to change rounding then it would be good to test them also // [102, 's', 'Äez 102 sekundi', '102 sekundi'], // [-102, 's', 'pred 102 sekundama', '102 sekundi'], // [103, 's', 'Äez 103 sekunde', '103 sekunde'], // [-103, 's', 'pred 103 sekundami', '103 sekunde'], // [114, 's', 'Äez 114 sekund', '114 sekund'], // [-114, 's', 'pred 114 sekundami', '114 sekund'], // [-102, 'm', 'Äez 102 minuti', '102 minuti'], // [-102, 'm', 'pred 102 minutama', '102 minuti'], // [103, 'm', 'Äez 103 minute', '103 minute'], // [-103, 'm', 'pred 103 minutami', '103 minute'], // [114, 'm', 'Äez 114 minut', '114 minut'], // [-114, 'm', 'pred 114 minutami', '114 minut'] ] cases.forEach((c) => { // With suffix expect(dayjs().add(c[0], c[1]).locale('sl').fromNow()).toBe(c[2]) // Without suffix expect(dayjs().add(c[0], c[1]).locale('sl').fromNow(true)).toBe(c[3]) }) }) iamkun-dayjs-a25f01e/test/locale/sr-cyrl.test.js000066400000000000000000000045051520523163200216430ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from '../../src' import relativeTime from '../../src/plugin/relativeTime' import '../../src/locale/sr-cyrl' dayjs.extend(relativeTime) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Serbian cyrillic locale relative time in past and future', () => { const cases = [ [1, 's', 'за неколико Ñекунди', 'неколико Ñекунди'], [-1, 's', 'пре неколико Ñекунди', 'неколико Ñекунди'], [4, 's', 'за неколико Ñекунди', 'неколико Ñекунди'], [1, 'm', 'за један минут', 'један минут'], [-1, 'm', 'пре једног минута', 'један минут'], [4, 'm', 'за 4 минута', '4 минута'], [5, 'm', 'за 5 минута', '5 минута'], [21, 'm', 'за 21 минут', '21 минут'], [1, 'h', 'за један Ñат', 'један Ñат'], [-1, 'h', 'пре једног Ñата', 'један Ñат'], [4, 'h', 'за 4 Ñата', '4 Ñата'], [5, 'h', 'за 5 Ñати', '5 Ñати'], [21, 'h', 'за 21 Ñат', '21 Ñат'], [1, 'd', 'за један дан', 'један дан'], [-1, 'd', 'пре једног дана', 'један дан'], [4, 'd', 'за 4 дана', '4 дана'], [5, 'd', 'за 5 дана', '5 дана'], [21, 'd', 'за 21 дан', '21 дан'], [1, 'M', 'за један меÑец', 'један меÑец'], [-1, 'M', 'пре једног меÑеца', 'један меÑец'], [4, 'M', 'за 4 меÑеца', '4 меÑеца'], [5, 'M', 'за 5 меÑеци', '5 меÑеци'], [10, 'M', 'за 10 меÑеци', '10 меÑеци'], [1, 'y', 'за једну годину', 'једна година'], [-1, 'y', 'пре једне године', 'једна година'], [4, 'y', 'за 4 године', '4 године'], [5, 'y', 'за 5 година', '5 година'], [21, 'y', 'за 21 годину', '21 година'] ] cases.forEach((c) => { expect(dayjs().add(c[0], c[1]).locale('sr-cyrl').fromNow()).toBe(c[2]) expect(dayjs().add(c[0], c[1]).locale('sr-cyrl').fromNow(true)).toBe(c[3]) // TODO: compare to momentjs once logic and grammar are fixed there }) }) iamkun-dayjs-a25f01e/test/locale/sr.test.js000066400000000000000000000035431520523163200206750ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from '../../src' import relativeTime from '../../src/plugin/relativeTime' import '../../src/locale/sr' dayjs.extend(relativeTime) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Serbian locale relative time in past and future', () => { const cases = [ [1, 's', 'za nekoliko sekundi', 'nekoliko sekundi'], [-1, 's', 'pre nekoliko sekundi', 'nekoliko sekundi'], [4, 's', 'za nekoliko sekundi', 'nekoliko sekundi'], [1, 'm', 'za jedan minut', 'jedan minut'], [-1, 'm', 'pre jednog minuta', 'jedan minut'], [4, 'm', 'za 4 minuta', '4 minuta'], [5, 'm', 'za 5 minuta', '5 minuta'], [21, 'm', 'za 21 minut', '21 minut'], [1, 'h', 'za jedan sat', 'jedan sat'], [-1, 'h', 'pre jednog sata', 'jedan sat'], [4, 'h', 'za 4 sata', '4 sata'], [5, 'h', 'za 5 sati', '5 sati'], [21, 'h', 'za 21 sat', '21 sat'], [1, 'd', 'za jedan dan', 'jedan dan'], [-1, 'd', 'pre jednog dana', 'jedan dan'], [4, 'd', 'za 4 dana', '4 dana'], [5, 'd', 'za 5 dana', '5 dana'], [21, 'd', 'za 21 dan', '21 dan'], [1, 'M', 'za jedan mesec', 'jedan mesec'], [-1, 'M', 'pre jednog meseca', 'jedan mesec'], [4, 'M', 'za 4 meseca', '4 meseca'], [5, 'M', 'za 5 meseci', '5 meseci'], [10, 'M', 'za 10 meseci', '10 meseci'], [1, 'y', 'za jednu godinu', 'jedna godina'], [-1, 'y', 'pre jedne godine', 'jedna godina'], [4, 'y', 'za 4 godine', '4 godine'], [5, 'y', 'za 5 godina', '5 godina'], [21, 'y', 'za 21 godinu', '21 godina'] ] cases.forEach((c) => { // With suffix expect(dayjs().add(c[0], c[1]).locale('sr').fromNow()).toBe(c[2]) // Without suffix expect(dayjs().add(c[0], c[1]).locale('sr').fromNow(true)).toBe(c[3]) // TODO: compare to momentjs once logic and grammar are fixed there }) }) iamkun-dayjs-a25f01e/test/locale/sv-fi.test.js000066400000000000000000000022621520523163200212720ustar00rootroot00000000000000import dayjs from '../../src' import localizedFormat from '../../src/plugin/localizedFormat' import '../../src/locale/sv-fi' dayjs.extend(localizedFormat) it('Finland Swedish locale', () => { // time expect(dayjs('2019-02-01 12:34:56').locale('sv-fi').format('LT')) .toBe('12.34') expect(dayjs('2019-02-01 23:45:56').locale('sv-fi').format('LTS')) .toBe('23.45.56') // date expect(dayjs('2019-02-01').locale('sv-fi').format('L')) .toBe('01.02.2019') expect(dayjs('2019-12-15').locale('sv-fi').format('LL')) .toBe('15. december 2019') // short expect(dayjs('2019-02-01').locale('sv-fi').format('l')) .toBe('1.2.2019') expect(dayjs('2019-12-15').locale('sv-fi').format('ll')) .toBe('15. dec 2019') // date and time expect(dayjs('2019-03-01 12:30').locale('sv-fi').format('LLL')) .toBe('1. mars 2019, kl. 12.30') expect(dayjs('2021-06-12 17:30').locale('sv-fi').format('LLLL')) .toBe('lördag, 12. juni 2021, kl. 17.30') // short expect(dayjs('2019-03-01 12:30').locale('sv-fi').format('lll')) .toBe('1. mar 2019, kl. 12.30') expect(dayjs('2021-06-01 17:30').locale('sv-fi').format('llll')) .toBe('tis, 1. jun 2021, kl. 17.30') }) iamkun-dayjs-a25f01e/test/locale/sv.test.js000066400000000000000000000010141520523163200206700ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from '../../src' import advancedFormat from '../../src/plugin/advancedFormat' import '../../src/locale/sv' dayjs.extend(advancedFormat) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Swedish locale Do 1a not format to 1am', () => { expect(dayjs('2019-01-01').locale('sv').format('dddd Do MMMM')) .toBe('tisdag 1a januari') expect(dayjs('2019-01-02').locale('sv').format('dddd Do MMMM')) .toBe('onsdag 2a januari') }) iamkun-dayjs-a25f01e/test/locale/uk.test.js000066400000000000000000000033251520523163200206660ustar00rootroot00000000000000import moment from 'moment' import MockDate from 'mockdate' import dayjs from '../../src' import relativeTime from '../../src/plugin/relativeTime' import '../../src/locale/uk' dayjs.extend(relativeTime) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Format Month with locale function', () => { for (let i = 0; i <= 7; i += 1) { const dayjsUK = dayjs().locale('uk').add(i, 'day') const momentUK = moment().locale('uk').add(i, 'day') const testFormat1 = 'DD MMMM YYYY MMM' const testFormat2 = 'MMMM' const testFormat3 = 'MMM' expect(dayjsUK.format(testFormat1)).toEqual(momentUK.format(testFormat1)) expect(dayjsUK.format(testFormat2)).toEqual(momentUK.format(testFormat2)) expect(dayjsUK.format(testFormat3)).toEqual(momentUK.format(testFormat3)) } }) it('RelativeTime: Time from X', () => { const T = [ [44.4, 'second'], // a few seconds [89.5, 'second'], // a minute [43, 'minute'], // 44 minutes [21, 'hour'], // 21 hours [25, 'day'], // 25 days [10, 'month'], // 2 month [18, 'month'] // 2 years ] T.forEach((t) => { dayjs.locale('uk') moment.locale('uk') expect(dayjs().from(dayjs().add(t[0], t[1]))) .toBe(moment().from(moment().add(t[0], t[1]))) expect(dayjs().from(dayjs().add(t[0], t[1]), true)) .toBe(moment().from(moment().add(t[0], t[1]), true)) }) }) it('hour', () => { const str0 = '2020-03-18 19:15:00' const str = '2020-03-18 20:15:00' const result = dayjs(str0).locale('uk').to(str) expect(result).toEqual(moment(str0).locale('uk').to(str)) const result2 = dayjs(str).locale('uk').to(str0, true) expect(result2).toEqual('година') // different from moment.js }) iamkun-dayjs-a25f01e/test/locale/zh-cn.test.js000066400000000000000000000011711520523163200212630ustar00rootroot00000000000000// import moment from 'moment' import MockDate from 'mockdate' import dayjs from '../../src' import '../../src/locale/zh-cn' beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Meridiem', () => { // the '中åˆ' is different to moment.js 11-13 expect(dayjs('2020-01-01 10:59:59').locale('zh-cn').format('A')).toEqual('上åˆ') expect(dayjs('2020-01-01 11:00:00').locale('zh-cn').format('A')).toEqual('中åˆ') expect(dayjs('2020-01-01 12:59:59').locale('zh-cn').format('A')).toEqual('中åˆ') expect(dayjs('2020-01-01 13:00:00').locale('zh-cn').format('A')).toEqual('下åˆ') }) iamkun-dayjs-a25f01e/test/locale/zh-hk.test.js000066400000000000000000000026201520523163200212650ustar00rootroot00000000000000import dayjs from '../../src' import advancedFormat from '../../src/plugin/advancedFormat' import weekOfYear from '../../src/plugin/weekOfYear' import '../../src/locale/zh' import '../../src/locale/zh-cn' import '../../src/locale/zh-hk' import '../../src/locale/zh-tw' dayjs.extend(advancedFormat).extend(weekOfYear) const zh = dayjs().locale('zh') const zhCN = dayjs().locale('zh-cn') const zhHK = dayjs().locale('zh-hk') const zhTW = dayjs().locale('zh-tw') test('ordinal', () => { expect(zh.format('wo')).toEqual(`${zh.format('w')}周`) expect(zhCN.format('wo')).toEqual(`${zhCN.format('w')}周`) expect(zhHK.format('wo')).toEqual(`${zhHK.format('w')}週`) expect(zhTW.format('wo')).toEqual(`${zhTW.format('w')}週`) }) test('Meridiem', () => { for (let i = 0; i <= 24; i += 1) { expect(zh.add(i, 'hour').format('A')).toBe(zhCN.add(i, 'hour').format('A')) } }) test('Meridiem', () => { expect(dayjs('2020-01-01 05:59:59').locale('zh-hk').format('A')).toEqual('凌晨') expect(dayjs('2020-01-01 08:59:59').locale('zh-hk').format('A')).toEqual('早上') expect(dayjs('2020-01-01 10:59:59').locale('zh-hk').format('A')).toEqual('上åˆ') expect(dayjs('2020-01-01 11:00:00').locale('zh-hk').format('A')).toEqual('中åˆ') expect(dayjs('2020-01-01 12:59:59').locale('zh-hk').format('A')).toEqual('中åˆ') expect(dayjs('2020-01-01 13:00:00').locale('zh-hk').format('A')).toEqual('下åˆ') }) iamkun-dayjs-a25f01e/test/locale/zh-tw.test.js000066400000000000000000000011561520523163200213200ustar00rootroot00000000000000import dayjs from '../../src' import advancedFormat from '../../src/plugin/advancedFormat' import weekOfYear from '../../src/plugin/weekOfYear' import '../../src/locale/zh' import '../../src/locale/zh-tw' dayjs.extend(advancedFormat).extend(weekOfYear) const zh = dayjs().locale('zh') const zhTW = dayjs().locale('zh-tw') test('ordinal', () => { expect(zh.format('wo')).toEqual(`${zh.format('w')}周`) expect(zhTW.format('wo')).toEqual(`${zhTW.format('w')}週`) }) test('Meridiem', () => { for (let i = 0; i <= 24; i += 1) { expect(zh.add(i, 'hour').format('A')).toBe(zhTW.add(i, 'hour').format('A')) } }) iamkun-dayjs-a25f01e/test/locale/zh.test.js000066400000000000000000000010601520523163200206620ustar00rootroot00000000000000import dayjs from '../../src' import advancedFormat from '../../src/plugin/advancedFormat' import weekOfYear from '../../src/plugin/weekOfYear' import '../../src/locale/zh' import '../../src/locale/zh-cn' dayjs.extend(advancedFormat).extend(weekOfYear) const zh = dayjs().locale('zh') const zhCN = dayjs().locale('zh-cn') test('ordinal', () => { expect(zh.format('wo')).toEqual(`${zh.format('w')}周`) }) test('Meridiem', () => { for (let i = 0; i <= 24; i += 1) { expect(zh.add(i, 'hour').format('A')).toBe(zhCN.add(i, 'hour').format('A')) } }) iamkun-dayjs-a25f01e/test/manipulate.test.js000066400000000000000000000067111520523163200211510ustar00rootroot00000000000000import moment from 'moment' import MockDate from 'mockdate' import dayjs from '../src' import '../src/locale/zh-cn' import '../src/locale/ar' beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) describe('StartOf EndOf', () => { it('StartOf EndOf Year ... with s and upper case', () => { const testArr = ['Year', 'year', 'YearS', 'month', 'day', 'date', 'week', 'hour', 'minute', 'second'] testArr.forEach((d) => { expect(dayjs().startOf(d).valueOf()).toBe(moment().startOf(d).valueOf()) expect(dayjs().endOf(d).valueOf()).toBe(moment().endOf(d).valueOf()) }) }) it('StartOf EndOf Other -> no change', () => { expect(dayjs().startOf('otherString').valueOf()).toBe(moment().startOf('otherString').valueOf()) expect(dayjs().endOf('otherString').valueOf()).toBe(moment().endOf('otherString').valueOf()) }) it('StartOf week with locale', () => { const testDate = [undefined, '2019-02-10', '2019-02-11', '2019-02-12', '2019-02-13', '2019-02-14', '2019-02-15', '2019-02-16'] const testLocale = ['zh-cn', 'ar', 'en'] testDate.forEach((d) => { testLocale.forEach((l) => { expect(dayjs(d).locale(l).startOf('week').date()) .toBe(moment(d).locale(l).startOf('week').date()) expect(dayjs(d).locale(l).endOf('week').date()) .toBe(moment(d).locale(l).endOf('week').date()) }) }) }) }) it('Add Time days', () => { expect(dayjs().add(1, 'ms').valueOf()).toBe(moment().add(1, 'ms').valueOf()) expect(dayjs().add(1, 'milliseconds').valueOf()).toBe(moment().add(1, 'milliseconds').valueOf()) expect(dayjs().add(1, 's').valueOf()).toBe(moment().add(1, 's').valueOf()) expect(dayjs().add(1, 'seconds').valueOf()).toBe(moment().add(1, 'seconds').valueOf()) expect(dayjs().add(1, 'm').valueOf()).toBe(moment().add(1, 'm').valueOf()) expect(dayjs().add(1, 'minutes').valueOf()).toBe(moment().add(1, 'minutes').valueOf()) expect(dayjs().add(1, 'h').valueOf()).toBe(moment().add(1, 'h').valueOf()) expect(dayjs().add(1, 'hours').valueOf()).toBe(moment().add(1, 'hours').valueOf()) expect(dayjs().add(1, 'w').valueOf()).toBe(moment().add(1, 'w').valueOf()) expect(dayjs().add(1, 'weeks').valueOf()).toBe(moment().add(1, 'weeks').valueOf()) expect(dayjs().add(1, 'd').valueOf()).toBe(moment().add(1, 'd').valueOf()) expect(dayjs().add(1, 'days').valueOf()).toBe(moment().add(1, 'days').valueOf()) expect(dayjs().add(1, 'M').valueOf()).toBe(moment().add(1, 'M').valueOf()) expect(dayjs().add(1, 'y').valueOf()).toBe(moment().add(1, 'y').valueOf()) expect(dayjs('20111031').add(1, 'months').valueOf()).toBe(moment('20111031').add(1, 'months').valueOf()) expect(dayjs('20160131').add(1, 'months').valueOf()).toBe(moment('20160131').add(1, 'months').valueOf()) expect(dayjs('20160229').add(1, 'year').valueOf()).toBe(moment('20160229').add(1, 'year').valueOf()) expect(dayjs().add('2', 'years').valueOf()).toBe(moment().add('2', 'years').valueOf()) }) it('Add Time with decimal', () => { expect(dayjs().add(0.4, 'day').valueOf()).toBe(moment().add(0.4, 'day').valueOf()) expect(dayjs().add(0.5, 'day').valueOf()).toBe(moment().add(0.5, 'day').valueOf()) expect(dayjs().add(0.4, 'week').valueOf()).toBe(moment().add(0.4, 'week').valueOf()) expect(dayjs().add(0.5, 'week').valueOf()).toBe(moment().add(0.5, 'week').valueOf()) }) it('Subtract Time days', () => { expect(dayjs().subtract(1, 'days').valueOf()).toBe(moment().subtract(1, 'days').valueOf()) }) iamkun-dayjs-a25f01e/test/parse.test.js000066400000000000000000000174311520523163200201250ustar00rootroot00000000000000import moment from 'moment' import MockDate from 'mockdate' import dayjs from '../src' import { REGEX_PARSE } from '../src/constant' beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) describe('Parse', () => { it('Now', () => { expect(dayjs().valueOf()).toBe(moment().valueOf()) }) it('moment-js like formatted dates', () => { global.console.warn = jest.genMockFunction()// moment.js '2018-4-1 1:1:1:22' will throw warn let d = '20130108' expect(dayjs(d).valueOf()).toBe(moment(d).valueOf()) d = '2018-04-24' expect(dayjs(d).valueOf()).toBe(moment(d).valueOf()) d = '2018-04-24 11:12' expect(dayjs(d).format()).toBe(moment(d).format()) // not recommend d = '2018-05-02 11:12:13' expect(dayjs(d).valueOf()).toBe(moment(d).valueOf()) d = '2018-05-02 11:12:13.998' expect(dayjs(d).valueOf()).toBe(moment(d).valueOf()) d = '2018-4-1' expect(dayjs(d).valueOf()).toBe(moment(d).valueOf()) // not recommend d = '2018-4-1 11:12' expect(dayjs(d).format()).toBe(moment(d).format()) // not recommend d = '2018-4-1 1:1:1:223' expect(dayjs(d).valueOf()).toBe(moment(d).valueOf()) // not recommend d = '2018-01' expect(dayjs(d).valueOf()).toBe(moment(d).valueOf()) // not recommend d = '2018' expect(dayjs(d).format()).toBe(moment(d).format()) // not recommend d = '2018-05-02T11:12:13Z' // should go direct to new Date() rather our regex expect(dayjs(d).format()).toBe(moment(d).format()) // not recommend }) it('String ISO 8601 date, time and zone', () => { const time = '2018-04-04T16:00:00.000Z' expect(dayjs(time).valueOf()).toBe(moment(time).valueOf()) }) it('String RFC 2822, time and zone', () => { const time = 'Mon, 11 Feb 2019 09:46:50 GMT+1' const expected = '2019-02-11T08:46:50.000Z' const d = dayjs(time) expect(d.toISOString()).toEqual(expected) expect(d.valueOf()).toBe(moment(time).valueOf()) }) it('String ECMAScript, time and zone', () => { // should parse dates formatted in ECMA script format // see https://www.ecma-international.org/ecma-262/9.0/index.html#sec-date.prototype.tostring const time = 'Mon Feb 11 2019 11:01:37 GMT+0100 (Mitteleuropäische Normalzeit)' const expected = '2019-02-11T10:01:37.000Z' const d = dayjs(time) expect(d.toISOString()).toEqual(expected) expect(d.valueOf()).toBe(moment(time).valueOf()) }) it('rejects invalid values', () => { expect(dayjs({}).isValid()).toBe(false) expect(dayjs(() => '2018-01-01').isValid()).toBe(false) expect(dayjs(Infinity).isValid()).toBe(false) expect(dayjs(NaN).isValid()).toBe(false) expect(dayjs([2018, 5, 1, 13, 52, 44]).isValid()).toBe(false) // Arrays with time part }) it('parses Arrays with date part', () => { const dateParts = [2018, 5, 1] const expected = '2018-05-01T00:00:00.000Z' const d = dayjs(dateParts) const normalized = d.add(d.utcOffset(), 'minutes') // make test run in every timezone expect(normalized.toISOString()).toEqual(expected) }) it('parses unlimited millisecond', () => { const date = '2019-03-25T06:41:00.999999999' const ds = dayjs(date) const ms = moment(date) expect(ds.valueOf()).toEqual(ms.valueOf()) expect(ds.millisecond()).toEqual(ms.millisecond()) }) it('String Other, Undefined and Null and isValid', () => { global.console.warn = jest.genMockFunction()// moment.js otherString will throw warn expect(dayjs('otherString').toString().toLowerCase()).toBe(moment('otherString').toString().toLowerCase()) expect(dayjs(undefined).toDate()).toEqual(moment(undefined).toDate()) expect(dayjs().isValid()).toBe(true) expect(dayjs(undefined).isValid()).toBe(true) expect(dayjs('').isValid()).toBe(false) expect(dayjs(null).isValid()).toBe(false) expect(dayjs('otherString').isValid()).toBe(false) expect(dayjs(null).toString().toLowerCase()).toBe(moment(null).toString().toLowerCase()) }) }) it('Unix Timestamp Number (milliseconds) 1523520536000', () => { const timestamp = 1523520536000 expect(dayjs(timestamp).valueOf()).toBe(moment(timestamp).valueOf()) }) it('Unix Timestamp Number (seconds) 1318781876', () => { const timestamp1 = 1318781876 const timestamp2 = 1318781876.721 expect(dayjs.unix(timestamp1).valueOf()).toBe(moment.unix(timestamp1).valueOf()) expect(dayjs.unix(timestamp2).valueOf()).toBe(moment.unix(timestamp2).valueOf()) }) it('String and Number 20180101', () => { expect(dayjs(20180101).valueOf()).toBe(moment(20180101).valueOf()) expect(dayjs('20180101').valueOf()).toBe(moment('20180101').valueOf()) }) it('Number 0', () => { expect(dayjs(0).valueOf()).toBe(moment(0).valueOf()) }) it('Clone not affect each other', () => { const base = dayjs(20170101) const year = base.year() const another = base.set('year', year + 1) expect(another.unix() - base.unix()).toBe(31536000) }) it('Clone with same value', () => { const base = dayjs() const year = base.year() const newBase = base.set('year', year + 1) const another = newBase.clone() expect(newBase.toString()).toBe(another.toString()) }) describe('REGEX_PARSE', () => { it('2020/9/30', () => { const date = '2020/9/30' const d = date.match(REGEX_PARSE) expect(dayjs(date).valueOf()).toBe(moment(date).valueOf()) expect(d.join('-')).toBe('2020/9/30-2020-9-30----') }) it('2019-03-25T06:41:00.999999999', () => { const date = '2019-03-25T06:41:00.999999999' const d = date.match(REGEX_PARSE) expect(dayjs(date).valueOf()).toBe(moment(date).valueOf()) expect(d.join('-')).toBe('2019-03-25T06:41:00.999999999-2019-03-25-06-41-00-999999999') }) it('20210102T012345', () => { const date = '20210102T012345' const d = date.match(REGEX_PARSE) expect(dayjs(date).valueOf()).toBe(moment(date).valueOf()) expect(d.join('-')).toBe('20210102T012345-2021-01-02-01-23-45-') }) it('2021-01-02T01:23', () => { const date = '2021-01-02T01:23' const d = date.match(REGEX_PARSE) expect(dayjs(date).valueOf()).toBe(moment(date).valueOf()) expect(d.join('-')).toBe('2021-01-02T01:23-2021-01-02-01-23--') }) it('2021-01-02T01:23:45', () => { const date = '2021-01-02T01:23:45' const d = date.match(REGEX_PARSE) expect(dayjs(date).valueOf()).toBe(moment(date).valueOf()) expect(d.join('-')).toBe('2021-01-02T01:23:45-2021-01-02-01-23-45-') }) it('2020-12-31T18:00:00.000-0500 (no regex match)', () => { const date = '2020-12-31T18:00:00.000-0500' const d = date.match(REGEX_PARSE) expect(dayjs(date).valueOf()).toBe(moment(date).valueOf()) expect(d).toBe(null) }) // format used in timezone plugin utcString it('2021-1-4 0:42:53:000', () => { const date = '2021-1-4 0:42:53:000' const d = date.match(REGEX_PARSE) expect(dayjs(date).valueOf()).toBe(moment(date).valueOf()) expect(d.join('-')).toBe('2021-1-4 0:42:53:000-2021-1-4-0-42-53-000') }) it('2020-12-31T18:00:00-05:00 (no regex match)', () => { const date = '2020-12-31T18:00:00-05:00' const d = date.match(REGEX_PARSE) expect(dayjs(date).valueOf()).toBe(moment(date).valueOf()) expect(d).toBe(null) }) it('2021-01-02T01:23:45-0500 (no regex match)', () => { const date = '2021-01-02T01:23:45-0500' const d = date.match(REGEX_PARSE) expect(dayjs(date).valueOf()).toBe(moment(date).valueOf()) expect(d).toBe(null) }) it('2021-01-02T01:23:45Z (no regex match)', () => { const date = '2021-01-02T01:23:45Z' const d = date.match(REGEX_PARSE) expect(dayjs(date).valueOf()).toBe(moment(date).valueOf()) expect(d).toBe(null) }) // dots should not be matched, and fallback to Date it('2021.01.03', () => { const date = '2021.01.03' const d = date.match(REGEX_PARSE) expect(dayjs(date).valueOf()).toBe(moment(date).valueOf()) expect(d).toBe(null) }) }) iamkun-dayjs-a25f01e/test/plugin.test.js000066400000000000000000000014371520523163200203100ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from '../src' const testPlugin = (o, c, d) => { c.prototype.newApi = () => ('hello world') d.newFunc = () => ('hi world') } const testPluginWithConfig = (o, c) => { c.prototype.newApiWithConfig = () => (`hello world ${o || ''}`) } dayjs.extend(testPlugin) dayjs.extend(testPluginWithConfig, 'good') beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Plugin extend method and option', () => { expect(dayjs().newApi()).toBe('hello world') expect(dayjs().newApiWithConfig()).toBe('hello world good') }) it('Plugin extend dayjs', () => { expect(dayjs.newFunc()).toBe('hi world') }) it('Plugin use core utils', () => { // u => isUndefined expect(dayjs().$utils().u).toBeInstanceOf(Function) }) iamkun-dayjs-a25f01e/test/plugin/000077500000000000000000000000001520523163200167675ustar00rootroot00000000000000iamkun-dayjs-a25f01e/test/plugin/advancedFormat.test.js000066400000000000000000000114331520523163200232230ustar00rootroot00000000000000import MockDate from 'mockdate' import moment from 'moment' import dayjs from '../../src' import advancedFormat from '../../src/plugin/advancedFormat' import isoWeek from '../../src/plugin/isoWeek' import weekOfYear from '../../src/plugin/weekOfYear' import weekYear from '../../src/plugin/weekYear' import timezone from '../../src/plugin/timezone' import utc from '../../src/plugin/utc' import '../../src/locale/zh-cn' import '../../src/locale/nl' dayjs.extend(utc) dayjs.extend(timezone) dayjs.extend(isoWeek) dayjs.extend(weekYear) dayjs.extend(weekOfYear) dayjs.extend(advancedFormat) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Format of invalid date', () => { expect(dayjs(null).format('z').toLowerCase()).toEqual(moment(null).format('z').toLowerCase()) }) it('Format empty string', () => { expect(dayjs().format()).toBe(moment().format()) }) it('Format Quarter Q', () => { expect(dayjs().format('Q')).toBe(moment().format('Q')) }) it('Format Timestamp X x', () => { expect(dayjs().format('X')).toBe(moment().format('X')) expect(dayjs().format('x')).toBe(moment().format('x')) }) it('Format Day of Month Do 1 - 31', () => { expect(dayjs().format('Do')).toBe(moment().format('Do')) let d = '2018-05-02 00:00:00.000' expect(dayjs(d).format('Do')).toBe(moment(d).format('Do')) d = '2018-05-01 00:00:00.000' expect(dayjs(d).format('Do')).toBe(moment(d).format('Do')) d = '2018-05-03 00:00:00.000' expect(dayjs(d).format('Do')).toBe(moment(d).format('Do')) d = '2018-05-04 00:00:00.000' expect(dayjs(d).format('Do')).toBe(moment(d).format('Do')) d = '2018-05-08 00:00:00.000' expect(dayjs(d).locale('nl').format('Do')).toBe(moment(d).locale('nl').format('Do')) d = '2018-05-11' expect(dayjs(d).format('Do')).toBe(moment(d).format('Do')) d = '2018-05-12' expect(dayjs(d).format('Do')).toBe(moment(d).format('Do')) d = '2018-05-13' expect(dayjs(d).format('Do')).toBe(moment(d).format('Do')) d = '2018-05-19 00:00:00.000' expect(dayjs(d).locale('nl').format('Do')).toBe(moment(d).locale('nl').format('Do')) d = '2018-05-22' expect(dayjs(d).format('Do')).toBe(moment(d).format('Do')) }) it('Format Hour k kk 24-hour 1 - 24', () => { expect(dayjs().format('k')).toBe(moment().format('k')) expect(dayjs().format('kk')).toBe(moment().format('kk')) let d = '2018-05-02 00:00:00.000' expect(dayjs(d).format('k')).toBe('24') expect(dayjs(d).format('k')).toBe(moment(d).format('k')) expect(dayjs(d).format('kk')).toBe('24') expect(dayjs(d).format('kk')).toBe(moment(d).format('kk')) d = '2018-05-02 01:00:00.000' expect(dayjs(d).format('k')).toBe('1') expect(dayjs(d).format('k')).toBe(moment(d).format('k')) expect(dayjs(d).format('kk')).toBe('01') expect(dayjs(d).format('kk')).toBe(moment(d).format('kk')) d = '2018-05-02 23:59:59.999' expect(dayjs(d).format('k')).toBe('23') expect(dayjs(d).format('k')).toBe(moment(d).format('k')) expect(dayjs(d).format('kk')).toBe('23') expect(dayjs(d).format('kk')).toBe(moment(d).format('kk')) }) it('Format Week of Year wo', () => { const d = '2018-12-01' expect(dayjs(d).format('wo')).toBe(moment(d).format('wo')) expect(dayjs(d).locale('zh-cn').format('wo')) .toBe(moment(d).locale('zh-cn').format('wo')) }) it('Format Week of Year wo', () => { const d = '2018-12-01' expect(dayjs(d).format('wo')).toBe(moment(d).format('wo')) expect(dayjs(d).locale('zh-cn').format('wo')) .toBe(moment(d).locale('zh-cn').format('wo')) }) it('Format Week Year gggg', () => { const d = '2018-12-31' expect(dayjs(d).format('gggg')).toBe(moment(d).format('gggg')) }) it('Format Iso Week Year GGGG', () => { const d = '2021-01-01' expect(dayjs(d).format('GGGG')).toBe(moment(d).format('GGGG')) }) it('Format Iso Week of Year', () => { const d = '2021-01-01' expect(dayjs(d).format('W')).toBe(moment(d).format('W')) expect(dayjs(d).format('WW')).toBe(moment(d).format('WW')) }) it('Format offsetName z zzz', () => { const dtz = dayjs.tz('2012-03-11 01:59:59', 'America/New_York') expect(dtz.format('z')).toBe('EST') expect(dtz.format('zzz')).toBe('Eastern Standard Time') expect(dayjs().format('z')).toBeDefined() expect(dayjs().format('zzz')).toBeDefined() }) it('Skips format strings inside brackets', () => { expect(dayjs().format('[Q]')).toBe('Q') expect(dayjs().format('[Do]')).toBe('Do') expect(dayjs().format('[gggg]')).toBe('gggg') expect(dayjs().format('[GGGG]')).toBe('GGGG') expect(dayjs().format('[w]')).toBe('w') expect(dayjs().format('[ww]')).toBe('ww') expect(dayjs().format('[W]')).toBe('W') expect(dayjs().format('[WW]')).toBe('WW') expect(dayjs().format('[wo]')).toBe('wo') expect(dayjs().format('[k]')).toBe('k') expect(dayjs().format('[kk]')).toBe('kk') expect(dayjs().format('[X]')).toBe('X') expect(dayjs().format('[x]')).toBe('x') }) iamkun-dayjs-a25f01e/test/plugin/arraySupport.test.js000077500000000000000000000020121520523163200230140ustar00rootroot00000000000000import MockDate from 'mockdate' import moment from 'moment' import dayjs from '../../src' import arraySupport from '../../src/plugin/arraySupport' import utc from '../../src/plugin/utc' dayjs.extend(utc) dayjs.extend(arraySupport) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) describe('parse empty array', () => { it('local', () => { expect(dayjs([]).format()) .toBe(moment([]).format()) }) it('utc', () => { expect(dayjs.utc([]).format()) .toBe(moment.utc([]).format()) }) }) const testArrs = [ [2010, 1, 14, 15, 25, 50, 125], [2010], [2010, 6], [2010, 6, 10] ] describe('parse array local', () => { testArrs.forEach((testArr) => { it(testArr, () => { expect(dayjs(testArr).format()) .toBe(moment(testArr).format()) }) }) }) describe('parse array utc', () => { testArrs.forEach((testArr) => { it(testArr, () => { expect(dayjs.utc(testArr).format()) .toBe(moment.utc(testArr).format()) }) }) }) iamkun-dayjs-a25f01e/test/plugin/badMutable.test.js000066400000000000000000000116611520523163200223500ustar00rootroot00000000000000import MockDate from 'mockdate' import moment from 'moment' import dayjs from '../../src' import badMutable from '../../src/plugin/badMutable' import dayOfYear from '../../src/plugin/dayOfYear' import weekOfYear from '../../src/plugin/weekOfYear' import '../../src/locale/zh-cn' dayjs.extend(badMutable) dayjs.extend(dayOfYear) dayjs.extend(weekOfYear) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) describe('Set', () => { it('Setters', () => { const d = dayjs() const m = moment() expect(d.year()).toBe(m.year()) d.year(2000) m.year(2000) expect(d.format()).toBe(m.format()) d.month(1) m.month(1) expect(d.format()).toBe(m.format()) d.day(1) m.day(1) expect(d.format()).toBe(m.format()) d.date(1) m.date(1) expect(d.format()).toBe(m.format()) d.hour(1) m.hour(1) expect(d.format()).toBe(m.format()) d.minute(1) m.minute(1) expect(d.format()).toBe(m.format()) d.second(1) m.second(1) expect(d.format()).toBe(m.format()) d.millisecond(1) m.millisecond(1) expect(d.format()).toBe(m.format()) }) it('Set', () => { const d = dayjs() const m = moment() d.set('year', 2000) m.set('year', 2000) expect(d.format()).toBe(m.format()) d.set('month', 12) m.set('month', 12) expect(d.format()).toBe(m.format()) d.set('day', 1) m.set('day', 1) expect(d.format()).toBe(m.format()) d.set('date', 1) m.set('date', 1) expect(d.format()).toBe(m.format()) d.set('hour', 1) m.set('hour', 1) expect(d.format()).toBe(m.format()) d.set('minute', 1) m.set('minute', 1) expect(d.format()).toBe(m.format()) d.set('second', 1) m.set('second', 1) expect(d.format()).toBe(m.format()) d.set('millisecond', 1) m.set('millisecond', 1) expect(d.format()).toBe(m.format()) }) }) describe('StartOf', () => { it('StartOf', () => { const d = dayjs() const m = moment() d.startOf('year') m.startOf('year') expect(d.format()).toBe(m.format()) d.startOf('month') m.startOf('month') expect(d.format()).toBe(m.format()) d.startOf('day') m.startOf('day') expect(d.format()).toBe(m.format()) d.startOf('date') m.startOf('date') expect(d.format()).toBe(m.format()) d.startOf('hour') m.startOf('hour') expect(d.format()).toBe(m.format()) d.startOf('minute') m.startOf('minute') expect(d.format()).toBe(m.format()) d.startOf('second') m.startOf('second') expect(d.format()).toBe(m.format()) d.startOf('millisecond') m.startOf('millisecond') expect(d.format()).toBe(m.format()) d.startOf('week') m.startOf('week') expect(d.format()).toBe(m.format()) }) }) describe('Add', () => { it('Add', () => { const d = dayjs() const m = moment() d.add(1, 'year') m.add(1, 'year') expect(d.format()).toBe(m.format()) d.add(12, 'month') m.add(12, 'month') expect(d.format()).toBe(m.format()) d.add(1, 'day') m.add(1, 'day') expect(d.format()).toBe(m.format()) d.add(1, 'date') m.add(1, 'date') expect(d.format()).toBe(m.format()) d.add(1, 'hour') m.add(1, 'hour') expect(d.format()).toBe(m.format()) d.add(1, 'minute') m.add(1, 'minute') expect(d.format()).toBe(m.format()) d.add(1, 'second') m.add(1, 'second') expect(d.format()).toBe(m.format()) d.add(1, 'millisecond') m.add(1, 'millisecond') expect(d.format()).toBe(m.format()) d.add(1, 'week') m.add(1, 'week') expect(d.format()).toBe(m.format()) }) }) it('daysInMonth', () => { const d = dayjs() const m = moment() expect(d.daysInMonth()).toBe(m.daysInMonth()) expect(d.format()).toBe(m.format()) }) it('Locale', () => { const d = dayjs() const m = moment() const format = 'MMMM' expect(d.locale()).toBe(m.locale()) expect(d.format(format)).toBe(m.format(format)) d.locale('zh-cn') m.locale('zh-cn') expect(d.locale()).toBe(m.locale()) expect(d.format(format)).toBe(m.format(format)) }) it('Diff', () => { const d = dayjs() const m = moment() const unit = 'year' const d2 = d.clone().add(1, unit) const m2 = m.clone().add(1, unit) expect(d.diff(d2, unit)).toBe(-1) expect(m.diff(m2, unit)).toBe(-1) }) it('isAfter isBefore isSame', () => { const d = dayjs() const format = dayjs().format() d.isSame(dayjs, 'year') expect(d.format()).toBe(format) expect(d.isSame()).toBe(true) d.isBefore(dayjs, 'hour') expect(d.format()).toBe(format) expect(d.isBefore()).toBe(false) d.isAfter(dayjs, 'month') expect(d.format()).toBe(format) expect(d.isAfter()).toBe(false) }) it('DayOfYear get day won\'t change instance', () => { const d = dayjs() const format = d.format() d.dayOfYear() expect(d.format()).toBe(format) }) it('WeekOfYear get week won\'t change instance', () => { const d = dayjs() const format = d.format() d.week() expect(d.format()).toBe(format) }) iamkun-dayjs-a25f01e/test/plugin/bigIntSupport.test.js000066400000000000000000000014001520523163200231070ustar00rootroot00000000000000import MockDate from 'mockdate' import moment from 'moment' import dayjs from '../../src' import bigIntSupport from '../../src/plugin/bigIntSupport' dayjs.extend(bigIntSupport) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) /* global BigInt */ it('Parse BigInt ts and tsms', () => { const tsms = 1666310421101 const tsmsBig = BigInt(tsms) const ts = 1666311003 const tsBig = BigInt(ts) const momentTsms = moment(tsms) const momentTs = moment.unix(ts) expect(dayjs(tsms).valueOf()).toBe(momentTsms.valueOf()) expect(dayjs(tsms).valueOf()).toBe(dayjs(tsmsBig).valueOf()) expect(dayjs.unix(ts).valueOf()).toBe(momentTs.valueOf()) expect(dayjs.unix(tsBig).valueOf()).toBe(dayjs.unix(tsBig).valueOf()) }) iamkun-dayjs-a25f01e/test/plugin/buddhistEra.test.js000066400000000000000000000017201520523163200225410ustar00rootroot00000000000000import MockDate from 'mockdate' import moment from 'moment' import dayjs from '../../src' import buddhistEra from '../../src/plugin/buddhistEra' dayjs.extend(buddhistEra) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Format empty string', () => { expect(dayjs().format()).toBe(moment().format()) }) it('Format Buddhist Era 2 digit', () => { expect(dayjs().format('BB')).toBe(`${(moment().year() + 543) % 100}`) }) it('Format Buddhist Era 4 digit', () => { expect(dayjs().format('BBBB')).toBe(`${moment().year() + 543}`) }) it('Format Buddhist Era 4 digit with other format', () => { const format = 'D MMM BBBB' const today = moment() const momentDate = today.format(format).replace('BBBB', today.year() + 543) expect(dayjs().format(format)).toBe(momentDate) }) it('Skips format strings inside brackets', () => { expect(dayjs().format('[BBBB]')).toBe('BBBB') expect(dayjs().format('[BB]')).toBe('BB') }) iamkun-dayjs-a25f01e/test/plugin/calendar.test.js000066400000000000000000000070041520523163200220550ustar00rootroot00000000000000import MockDate from 'mockdate' import moment from 'moment' import dayjs from '../../src' import calendar from '../../src/plugin/calendar' import zhCn from '../../src/locale/zh-cn' dayjs.extend(calendar) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('No argument && null && undefined', () => { expect(dayjs().calendar()).toEqual(moment().calendar()) // moment@2.27.0 does not support calendar(null) calendar(undefined) }) it('ReferenceTime', () => { const now = '2015-01-15T14:21:22.000Z' const dates = [ { name: 'nextDay', date: '2015-01-14T11:23:55.000Z', result: 'Tomorrow' }, { name: 'sameDay', date: '2015-01-15T11:23:55.000Z', result: 'Today' }, { name: 'nextWeek', date: '2015-01-09T11:23:55.000Z', result: 'Thursday' }, { name: 'lastDay', date: '2015-01-16T11:23:55.000Z', result: 'Yesterday' }, { name: 'lastWeek', date: '2015-01-21T11:23:55.000Z', result: 'Last' }, { name: 'sameElse', date: '2015-01-01T11:23:55.000Z', result: '01/15/2015' }, { name: 'sameElse', date: '2015-02-21T11:23:55.000Z', result: '01/15/2015' } ] dates.forEach((d) => { const dayjsResult = dayjs(now).calendar(d.date) const momentjsResult = moment(now).calendar(d.date) expect(dayjsResult) .toEqual(momentjsResult) expect(dayjsResult.indexOf(d.result) > -1) .toBe(true) }) }) it('Custom format', () => { const format = { sameDay: '[sameDay]', sameElse: '[sameElse]' } expect(dayjs().calendar(null, format)).toEqual(moment().calendar(null, format)) const now = '2015-01-15T14:21:22.000Z' const nextDayWithoutFormat = '2015-01-14T11:23:55.000Z' expect(dayjs(now).calendar(nextDayWithoutFormat, format)) .toEqual(moment(now).calendar(nextDayWithoutFormat, format)) }) it('Custom callback', () => { const callbacks = { sameDay: jest.fn(), sameElse: jest.fn() } const now = '2015-01-15T14:21:22.000Z' const nextDayWithoutFormat = '2015-01-14T11:23:55.000Z' expect(dayjs(now).calendar(nextDayWithoutFormat, callbacks)) .toEqual(moment(now).calendar(nextDayWithoutFormat, callbacks)) }) it('Calls callback', () => { const callbacks = { sameDay: jest.fn(), sameElse: jest.fn() } dayjs().calendar(null, callbacks) expect(callbacks.sameElse).not.toBeCalled() expect(callbacks.sameDay).toBeCalled() }) it('callback is a function with the scope of the current moment', () => { const callbacks = { sameDay: jest.fn() } expect(dayjs().calendar(null, callbacks)).toEqual(callbacks.sameDay()) const callbacks2 = { sameDay: function cb() { return this } } const result = dayjs().calendar(null, callbacks2) expect(result.format).not.toBeUndefined() expect(dayjs.isDayjs(result)).toBeTruthy() }) it('callback is a function and first argument a moment that depicts now', () => { const callbacks = { sameDay: jest.fn() } const now = dayjs() dayjs(now).calendar(now, callbacks) expect(callbacks.sameDay).toBeCalledWith(now) }) it('set global calendar in locale file', () => { const now = '2019-04-03T14:21:22.000Z' zhCn.calendar = { sameDay: '[今天]HH:mm', nextDay: '[明天]HH:mm', nextWeek: '[下]ddddHH:mm', lastDay: '[昨天]HH:mm', lastWeek: '[上]ddddHH:mm', sameElse: 'YYYY/MM/DD' } dayjs.locale(zhCn) expect(dayjs(now).calendar()) .toEqual(moment(now).locale('zh-cn').calendar()) }) iamkun-dayjs-a25f01e/test/plugin/customParseFormat.test.js000066400000000000000000000401031520523163200237570ustar00rootroot00000000000000import MockDate from 'mockdate' import moment from 'moment' import dayjs from '../../src' import '../../src/locale/ru' import uk from '../../src/locale/uk' import '../../src/locale/zh-cn' import customParseFormat from '../../src/plugin/customParseFormat' import advancedFormat from '../../src/plugin/advancedFormat' import localizedFormats from '../../src/plugin/localizedFormat' import weekOfYear from '../../src/plugin/weekOfYear' dayjs.extend(customParseFormat) dayjs.extend(localizedFormats) dayjs.extend(weekOfYear) // test parse w, ww beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('does not break the built-in parsing', () => { const input = '2018-05-02 01:02:03.004' expect(dayjs(input).valueOf()).toBe(moment(input).valueOf()) }) it('parse padded string', () => { const input = '2018-05-02 01:02:03.004 AM +01:00' const format = 'YYYY-MM-DD HH:mm:ss.SSS A Z' expect(dayjs(input, format).valueOf()).toBe(moment(input, format).valueOf()) }) it('parse string for MMM month format', () => { const input = '4/Mar/2019:11:16:26 +0800' const format = 'D/MMM/YYYY:H:m:s zz' expect(dayjs(input, format).valueOf()).toBe(moment(input, format).valueOf()) const input2 = '21-Dec-18' const format2 = 'D-MMM-YY' expect(dayjs(input2, format2).valueOf()).toBe(moment(input2, format2).valueOf()) }) it('parse string January (getMonth() = 0)', () => { const input = '01/01/2019' const format = 'DD/MM/YYYY' expect(dayjs(input, format).valueOf()).toBe(moment(input, format).valueOf()) }) it('parse unpadded string', () => { const input = '2.5.18 1:2:3.4 PM -0100' const format = 'D.M.YY H:m:s.S A ZZ' expect(dayjs(input, format).valueOf()).toBe(moment(input, format).valueOf()) }) it('parse time zone abbreviation', () => { const input = '05/02/69 1:02:03.004 AM +01:00 (CET)' const format = 'MM/DD/YY h:mm:ss.SSS A Z (z)' expect(dayjs(input, format).valueOf()).toBe(moment(input, format).valueOf()) }) it('parse time zone abbreviation2', () => { const input = '05/02/69 1:02:03.04 AM +01:00 (CET)' const format = 'MM/DD/YY h:mm:ss.SS A Z (z)' expect(dayjs(input, format).valueOf()).toBe(moment(input, format).valueOf()) }) it('recognizes midnight in small letters', () => { const input = '2018-05-02 12:00 am' const format = 'YYYY-MM-DD hh:mm a' expect(dayjs(input, format).valueOf()).toBe(moment(input, format).valueOf()) }) it('recognizes noon in small letters', () => { const input = '2018-05-02 12:00 pm' const format = 'YYYY-MM-DD hh:mm a' expect(dayjs(input, format).valueOf()).toBe(moment(input, format).valueOf()) }) describe('parse localizedFormats', () => { ['zh-cn', 'ru', 'uk', 'en'].forEach((lo) => { it(`Locale: ${lo}`, () => { const input = '2018-05-02 01:02:03.004' dayjs.locale(lo) moment.locale(lo) const longDateFormats = ['LT', 'LTS', 'L', 'LL', 'l', 'll', 'lll', 'l LT', 'LL [l] LTS'] // TODO: fix LLL, LLLL and llll longDateFormats.forEach((f) => { const localizedInput = moment(input).format(f) expect(dayjs(localizedInput, f).valueOf()).toBe(moment(localizedInput, f).valueOf()) }) }) }) }) it('leaves non-token parts of the format intact', () => { const input = '2018-05-02 12:00 +0000 S:/-.() SS h ' const format = 'YYYY-MM-DD HH:mm ZZ [S]:/-.()[ SS h ]' expect(dayjs(input, format).valueOf()).toBe(moment(input, format).valueOf()) }) it('timezone with no hour', () => { const input = '2018-05-02 +0000' const format = 'YYYY-MM-DD ZZ' expect(dayjs(input, format).valueOf()).toBe(moment(input, format).valueOf()) }) describe('Timezone Offset', () => { it('timezone with 2-digit offset', () => { const input = '2020-12-01T20:00:00+09' const format = 'YYYY-MM-DD[T]HH:mm:ssZZ' const result = dayjs(input, format) expect(result.valueOf()).toBe(moment(input, format).valueOf()) expect(result.valueOf()).toBe(1606820400000) }) it('zulu', () => { const input = '2021-01-26T15:38:43.000Z' const format = 'YYYY-MM-DDTHH:mm:ss.SSSZ' const result = dayjs(input, format) expect(result.valueOf()).toBe(moment(input, format).valueOf()) expect(result.valueOf()).toBe(1611675523000) }) it('no timezone format token should parse in local time', () => { const input = '2020-12-01T20:00:00+01:00' const format = 'YYYY-MM-DD[T]HH:mm:ss' const result = dayjs(input, format) expect(result.valueOf()).toBe(moment(input, format).valueOf()) }) }) it('parse hh:mm', () => { const input = '12:00' const format = 'hh:mm' expect(dayjs(input, format).valueOf()).toBe(moment(input, format).valueOf()) }) it('parse HH:mm:ss', () => { const input = '00:27:21' const format = 'HH:mm:ss' expect(dayjs(input, format).valueOf()).toBe(moment(input, format).valueOf()) }) it('parse HH:mm:ss but only one digit', () => { const input = '0:0:1' const format = 'HH:mm:ss' expect(dayjs(input, format).valueOf()).toBe(moment(input, format).valueOf()) }) describe('parse YYYY / YYYY-MM only', () => { it('YYYY', () => { const input = '2001 +08:00' const format = 'YYYY Z' expect(dayjs(input, format).valueOf()).toBe(moment(input, format).valueOf()) const input2 = '2001' const format2 = 'YYYY' expect(dayjs(input2, format2).valueOf()).toBe(moment(input2, format2).valueOf()) }) it('YYYY-MM', () => { const input = '2001-01 +08:00' const format = 'YYYY-MM Z' expect(dayjs(input, format).valueOf()).toBe(moment(input, format).valueOf()) const input2 = '2001-01' const format2 = 'YYYY-MM' expect(dayjs(input2, format2).valueOf()).toBe(moment(input2, format2).valueOf()) }) }) it('parse hh:mm:ss but only one digit', () => { const input = '0:0:1' const format = 'hh:mm:ss' expect(dayjs(input, format).valueOf()).toBe(moment(input, format).valueOf()) }) it('fails with an invalid format', () => { const input = '2018-05-02 12:00 PM' const format = 'C' expect(dayjs(input, format).format().toLowerCase()) .toBe(moment(input, format).format().toLowerCase()) }) it('parse month from string', () => { const input = '2018 February 03' const format = 'YYYY MMMM DD' expect(dayjs(input, format).valueOf()).toBe(moment(input, format).valueOf()) const input2 = '21-December-18' const format2 = 'D-MMMM-YY' expect(dayjs(input2, format2).valueOf()).toBe(moment(input2, format2).valueOf()) }) it('parse month from short string', () => { const input = '2018 Feb 03' const format = 'YYYY MMM DD' expect(dayjs(input, format).valueOf()).toBe(moment(input, format).valueOf()) }) it('parse month from string with locale in config', () => { const input = '2018 лютий 03' const format = 'YYYY MMMM DD' expect(dayjs(input, format, 'uk').valueOf()).toBe(moment(input, format, 'uk').valueOf()) }) it('parse month from short string with locale in config', () => { const input = '2018 трав 03' const format = 'YYYY MMM DD' expect(dayjs(input, format, 'uk').valueOf()).toBe(moment(input, format, 'uk').valueOf()) }) it('parse month from short string with locale in argument', () => { const input = '2018 трав 03' const format = 'YYYY MMM DD' expect(dayjs(input, format, 'uk').valueOf()).toBe(moment(input, format, 'uk').valueOf()) }) it('parse month from string with locale in argument', () => { const input = '2018 лютий 03' const format = 'YYYY MMMM DD' expect(dayjs(input, format, 'uk').valueOf()).toBe(moment(input, format, 'uk').valueOf()) }) it('return Invalid Date when parse corrupt string', () => { const input = '2018 Turnip 03' const format = 'YYYY MMMM DD' expect(dayjs(input, format).format()).toBe('Invalid Date') }) it('return Invalid Date when parse corrupt short string', () => { const input = '2018 Dog 03' const format = 'YYYY MMM DD' expect(dayjs(input, format).format()).toBe('Invalid Date') }) it('YYYY-MM set 1st day of the month', () => { expect(dayjs('2019-02', 'YYYY-MM').format('YYYY-MM-DD')).toBe('2019-02-01') }) it('Invalid Dates', () => { expect(dayjs('10/12/2014', 'YYYY-MM-DD').format('MM-DD-YYYY')).toBe('Invalid Date') expect(dayjs('10-12-2014', 'YYYY-MM-DD').format('MM-DD-YYYY')).toBe('Invalid Date') }) it('Valid Date', () => { expect(dayjs('2014/10/12', 'YYYY-MM-DD').format('MM-DD-YYYY')).toBe('10-12-2014') }) it('correctly parse month from string after changing locale globally', () => { const input = '2018 лютий 03' const format = 'YYYY MMMM DD' const dayjsLocale = dayjs().$locale() const momentLocale = moment.locale() try { dayjs.locale(uk) moment.locale('uk') expect(dayjs(input, format).valueOf()).toBe(moment(input, format).valueOf()) } finally { dayjs.locale(dayjsLocale) moment.locale(momentLocale) } }) it('correctly parse ordinal', () => { const input = '7th March 2019' const input2 = '17th March 2019' const inputFalse = '7st March 2019' const inputZHCN = '7æ—¥ 三月 2019' const format = 'Do MMMM YYYY' const displayFormatWithLocale = 'MMMM dddd' expect(dayjs(input, format).valueOf()) .toBe(moment(input, format).valueOf()) expect(dayjs(input2, format).valueOf()) .toBe(moment(input2, format).valueOf()) expect(dayjs(inputFalse, format).valueOf()) .toBe(moment(inputFalse, format).valueOf()) const dayjsCN = dayjs(inputZHCN, format, 'zh-cn') const momentCN = moment(inputZHCN, format, 'zh-cn') expect(dayjsCN.valueOf()) .toBe(momentCN.valueOf()) expect(dayjsCN.format(displayFormatWithLocale)) .toBe(momentCN.format(displayFormatWithLocale)) expect(dayjsCN.locale()) .toBe(momentCN.locale()) }) describe('month function locale', () => { it('MMMM', () => { const input = '08 Ð¼Ð°Ñ 2020' const input2 = '08 май 2020' const format = 'DD MMMM YYYY' expect(dayjs(input, format, 'ru').valueOf()).toBe(moment(input, format, 'ru').valueOf()) expect(dayjs(input2, format, 'ru').valueOf()).toBe(moment(input2, format, 'ru').valueOf()) }) it('MMM', () => { const input = '08 февр. 2020' const format = 'DD MMM YYYY' expect(dayjs(input, format, 'ru').valueOf()).toBe(moment(input, format, 'ru').valueOf()) }) }) describe('Strict mode', () => { it('without locale', () => { const input = '1970-00-00' const format = 'YYYY-MM-DD' expect(dayjs(input, format).isValid()).toBe(true) expect(dayjs(input, format, true).isValid()).toBe(false) expect(dayjs('2020-Jan-01', 'YYYY-MMM-DD', true).isValid()).toBe(true) expect(dayjs('30/1/2020 10:59 PM', 'D/M/YYYY h:mm A', true).isValid()).toBe(true) }) it('with locale', () => { const input = '2018 三月 99' const format = 'YYYY MMMM DD' expect(dayjs(input, format, 'zh-cn').isValid()).toBe(true) expect(dayjs(input, format, 'zh-cn', true).isValid()).toBe(false) }) }) describe('Array format support', () => { it('second ok', () => { const input = '2012-05-28' const format = ['YYYY', 'YYYY-MM-DD'] expect(dayjs(input, format).isValid()).toBe(true) expect(dayjs(input, format, true).format('YYYY-MM-DD')).toBe('2012-05-28') }) it('all invalid', () => { const input = '2012-05-28' const format = ['DD', 'MM-DD'] expect(dayjs(input, format, true).isValid()).toBe(false) }) it('with locale', () => { const input = '2018 三月 12' const format = ['YYYY', 'MM', 'YYYY MMMM DD'] expect(dayjs(input, format, 'zh-cn', true).format('YYYY MMMM DD')).toBe(input) }) }) describe('meridiem locale', () => { const format = 'YYYYå¹´M月Dæ—¥Ah点mm分ssç§’' const format2 = 'YYYY-MM-DD HH:mm:ss' it('AM', () => { const input = '2018-05-02 01:02:03' const date = dayjs(input).locale('zh-cn').format(format) expect(dayjs(date, format, 'zh-cn').format(format2)).toBe(input) }) it('PM', () => { const input = '2018-05-02 20:02:03' const date = dayjs(input).locale('zh-cn').format(format) expect(dayjs(date, format, 'zh-cn').format(format2)).toBe(input) }) }) it('parse a string for MMM month format with underscore delimiter', () => { const input = 'Jan_2021' const format = 'MMM_YYYY' expect(dayjs(input, format).valueOf()).toBe(moment(input, format).valueOf()) const input2 = '21_Jan_2021_123523' const format2 = 'DD_MMM_YYYY_hhmmss' expect(dayjs(input2, format2).valueOf()).toBe(moment(input2, format2).valueOf()) }) it('custom two-digit year parse function', () => { delete customParseFormat.$i // this allow plugin to be installed again dayjs.extend(customParseFormat, { parseTwoDigitYear: yearString => (+yearString) + 1800 }) const format = 'YY-MM-DD' const input = '00-05-02' expect(dayjs(input, format).year()).toBe(1800) const input2 = '50-05-02' expect(dayjs(input2, format).year()).toBe(1850) const input3 = '99-05-02' expect(dayjs(input3, format).year()).toBe(1899) }) // issue 1852 describe('parse with special separator characters', () => { it('Output is NaN for a specific date format', () => { const input = '20 Nov, 2022' const format = 'DD MMM, YYYY' const locale = 'en' const resultDayjs = dayjs(input, format, locale) const resultMoment = moment(input, format, locale) expect(resultMoment.isValid()).toBe(true) expect(resultDayjs.isValid()).toBe(true) expect(resultDayjs.format('DD-MM-YYYY')).toBe('20-11-2022') expect(resultMoment.format('DD-MM-YYYY')).toBe('20-11-2022') }) it('parse comma separated date', () => { const input = '20,11,2022' const format = 'DD,MM,YYYY' const resultDayjs = dayjs(input, format) const resultMoment = moment(input, format) expect(resultMoment.isValid()).toBe(true) expect(resultDayjs.isValid()).toBe(true) expect(resultDayjs.format('DD-MM-YYYY')).toBe('20-11-2022') expect(resultMoment.format('DD-MM-YYYY')).toBe('20-11-2022') }) it('parse comma separated date in strict mode', () => { const input = '20,11,2022' const format = 'DD,MM,YYYY' const resultDayjs = dayjs(input, format, true) const resultMoment = moment(input, format, true) expect(resultMoment.isValid()).toBe(true) expect(resultDayjs.isValid()).toBe(true) expect(resultDayjs.format('DD-MM-YYYY')).toBe('20-11-2022') expect(resultMoment.format('DD-MM-YYYY')).toBe('20-11-2022') }) it('parse date with multi character separator', () => { const input = '20---11---2022' const format = 'DD-/-MM-#-YYYY' const resultDayjs = dayjs(input, format) const resultMoment = moment(input, format) expect(resultMoment.isValid()).toBe(true) expect(resultDayjs.isValid()).toBe(true) expect(resultDayjs.format('DD-MM-YYYY')).toBe('20-11-2022') expect(resultMoment.format('DD-MM-YYYY')).toBe('20-11-2022') }) it('parse date with multi character separator in strict mode', () => { const input = '20-/-11-#-2022' const format = 'DD-/-MM-#-YYYY' const resultDayjs = dayjs(input, format, true) const resultMoment = moment(input, format, true) expect(resultMoment.isValid()).toBe(true) expect(resultDayjs.isValid()).toBe(true) expect(resultDayjs.format('DD-MM-YYYY')).toBe('20-11-2022') expect(resultMoment.format('DD-MM-YYYY')).toBe('20-11-2022') }) }) it('parse X x', () => { const input = '1410715640.579' const format = 'X' expect(dayjs(input, format).valueOf()).toBe(moment(input, format).valueOf()) const input2 = '1410715640579' const format2 = 'x' expect(dayjs(input2, format2).valueOf()).toBe(moment(input2, format2).valueOf()) // x X starct parse requires advancedFormat plugin dayjs.extend(advancedFormat) expect(dayjs(input2, format2, true).valueOf()).toBe(moment(input2, format2, true).valueOf()) }) it('parse Q, [Q]', () => { const input1 = '2024-Q1' const input2 = '2024-Q2' const input3 = '2024-Q3' const input4 = '2024-Q4' const format = 'YYYY-[Q]Q' expect(dayjs(input1, format).valueOf()).toBe(moment(input1, format).valueOf()) expect(dayjs(input2, format).valueOf()).toBe(moment(input2, format).valueOf()) expect(dayjs(input3, format).valueOf()).toBe(moment(input3, format).valueOf()) expect(dayjs(input4, format).valueOf()).toBe(moment(input4, format).valueOf()) }) it('parse w, ww', () => { const input = '2024-w1' const format1 = 'YYYY-[w]w' expect(dayjs(input, format1).format(format1)).toBe(input) const input2 = '2024-w32' const format2 = 'YYYY-[w]ww' expect(dayjs(input2, format2).format(format1)).toBe(input2) }) iamkun-dayjs-a25f01e/test/plugin/dayOfYear.test.js000066400000000000000000000025661520523163200221770ustar00rootroot00000000000000import MockDate from 'mockdate' import moment from 'moment' import dayjs from '../../src' import dayOfYear from '../../src/plugin/dayOfYear' dayjs.extend(dayOfYear) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('DayOfYear get', () => { expect(dayjs().dayOfYear()).toBe(moment().dayOfYear()) expect(dayjs('2015-01-01T00:00:00.000').dayOfYear()).toBe(1) expect(dayjs('2015-01-31T00:00:00.000').dayOfYear()).toBe(31) expect(dayjs('2015-02-01T00:00:00.000').dayOfYear()).toBe(32) expect(dayjs('2015-02-28T00:00:00.000').dayOfYear()).toBe(59) expect(dayjs('2015-12-31T00:00:00.000').dayOfYear()).toBe(365) }) it('DayOfYear set', () => { expect(dayjs().dayOfYear(4).dayOfYear()).toBe(moment().dayOfYear(4).dayOfYear()) expect(dayjs('2015-01-01T00:00:00.000Z') .dayOfYear(4) .dayOfYear()).toBe(4) expect(dayjs('2015-01-01T00:00:00.000Z') .dayOfYear(4) .toISOString()).toBe('2015-01-04T00:00:00.000Z') expect(dayjs('2015-01-01T00:00:00.000Z') .dayOfYear(32) .dayOfYear()).toBe(32) expect(dayjs('2015-01-01T00:00:00.000Z') .dayOfYear(32) .toISOString()).toBe('2015-02-01T00:00:00.000Z') expect(dayjs('2015-01-01T00:00:00.000Z') .dayOfYear(365) .dayOfYear()).toBe(365) expect(dayjs('2015-01-01T00:00:00.000Z') .dayOfYear(365) .toISOString()).toBe('2015-12-31T00:00:00.000Z') }) iamkun-dayjs-a25f01e/test/plugin/declarations.test.js000066400000000000000000000005241520523163200227540ustar00rootroot00000000000000import fs from 'fs' import path from 'path' const pluginDir = '../../src/plugin' const pluginTypeDir = '../../types/plugin' it('Plugin declarations', () => { fs.readdirSync(path.join(__dirname, pluginDir)) .forEach((l) => { expect(fs.existsSync(path.join(__dirname, pluginTypeDir, `${l}.d.ts`))) .toBe(true) }) }) iamkun-dayjs-a25f01e/test/plugin/devHelper.test.js000066400000000000000000000063551520523163200222320ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from '../../src' import customParseFormat from '../../src/plugin/customParseFormat' import devHelper from '../../src/plugin/devHelper' import localeData from '../../src/plugin/localeData' dayjs.extend(devHelper) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) global.console.warn = jest.genMockFunction() it('Warning: passing Year as a Number will be parsed as a Unix timestamp', () => { const consoleSpy = jest.spyOn(console, 'warn') dayjs(2020) expect(consoleSpy).toHaveBeenCalledWith('Guessing you may want to parse the Year 2020, you should pass it as a String 2020, not a Number. Otherwise, 2020 will be treated as a Unix timestamp') }) it('Warning Passing Unix timestamp as a String not Number', () => { const consoleSpy = jest.spyOn(console, 'warn') dayjs('1231231231231') expect(consoleSpy).toHaveBeenCalledWith('To parse a Unix timestamp like 1231231231231, you should pass it as a Number. https://day.js.org/docs/en/parse/unix-timestamp-milliseconds') }) it('Warning Enable customParseFormat plugin while passing the second format parameter', () => { const consoleSpy = jest.spyOn(console, 'warn') dayjs('2020', 'YYYY') expect(consoleSpy).toHaveBeenCalledWith('To parse a date-time string like 2020 using the given format, you should enable customParseFormat plugin first. https://day.js.org/docs/en/parse/string-format') }) it('Warning: Setting locale before loading locale', () => { const consoleSpy = jest.spyOn(console, 'warn') dayjs.locale('zh-cn') expect(consoleSpy).toHaveBeenCalledWith('Guessing you may want to use locale zh-cn, you have to load it before using it. https://day.js.org/docs/en/i18n/loading-into-nodejs') }) describe('dev-helper: diff() usage warnings', () => { const diffWarningMsg = 'Invalid usage: diff() requires a valid comparison date as the first argument. https://day.js.org/docs/en/display/difference' beforeAll(() => { dayjs.extend(customParseFormat) dayjs.extend(localeData) }) beforeEach(() => { jest.clearAllMocks() }) it('warns when diff() is called with no comparison date', () => { const consoleSpy = jest.spyOn(console, 'warn') dayjs('2025-01-10').diff() expect(consoleSpy).toHaveBeenCalledWith(diffWarningMsg) }) it('warns when diff() is called with just the unit', () => { const consoleSpy = jest.spyOn(console, 'warn') dayjs('2025-01-10').diff('days') expect(consoleSpy).toHaveBeenCalledWith(diffWarningMsg) }) it('warns when diff() is called with an invalid comparison date (unparsable string)', () => { const consoleSpy = jest.spyOn(console, 'warn') dayjs('2025-01-10').diff('invalid-date', 'days') expect(consoleSpy).toHaveBeenCalledWith(diffWarningMsg) }) it('does NOT warn when diff() is called with a valid string date', () => { const consoleSpy = jest.spyOn(console, 'warn') dayjs('2025-01-10').diff('2025-01-09', 'days') expect(consoleSpy).not.toHaveBeenCalledWith(diffWarningMsg) }) it('does NOT warn when diff() is called with a valid Day.js instance', () => { const consoleSpy = jest.spyOn(console, 'warn') dayjs('2025-01-10').diff(dayjs(), 'days') expect(consoleSpy).not.toHaveBeenCalledWith(diffWarningMsg) }) }) iamkun-dayjs-a25f01e/test/plugin/duration.test.js000066400000000000000000000247531520523163200221430ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from '../../src' import duration from '../../src/plugin/duration' import relativeTime from '../../src/plugin/relativeTime' import '../../src/locale/fr' import '../../src/locale/es' dayjs.extend(relativeTime) dayjs.extend(duration) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) describe('Creating', () => { it('no argument', () => { expect(dayjs.duration().toISOString()).toBe('P0D') expect(dayjs.duration().asMilliseconds()).toBe(0) }) it('milliseconds', () => { expect(dayjs.duration(1, 'ms').toISOString()).toBe('PT0.001S') expect(dayjs.duration(100).toISOString()).toBe('PT0.1S') expect(dayjs.duration(1000).toISOString()).toBe('PT1S') }) it('two argument will bubble up to the next', () => { expect(dayjs.duration(59, 'seconds').toISOString()).toBe('PT59S') expect(dayjs.duration(60, 'seconds').toISOString()).toBe('PT1M') expect(dayjs.duration(13213, 'seconds').toISOString()).toBe('PT3H40M13S') }) it('two argument will bubble up to the next (negative number)', () => { expect(dayjs.duration(-59, 'seconds').toISOString()).toBe('-PT59S') expect(dayjs.duration(-60, 'seconds').toISOString()).toBe('-PT1M') expect(dayjs.duration(-13213, 'seconds').toISOString()).toBe('-PT3H40M13S') }) it('object with float', () => { expect(dayjs.duration({ seconds: 1, minutes: 2, hours: 3, days: 4, months: 6, years: 7 }).toISOString()).toBe('P7Y6M4DT3H2M1S') }) it('object with weeks and float', () => { expect(dayjs.duration({ seconds: 1.1, minutes: 2, hours: 3, days: 4, weeks: 5, months: 6, years: 7 }).toISOString()).toBe('P7Y6M39DT3H2M1.1S') }) it('object with millisecond', () => { expect(dayjs.duration({ ms: 1 }).toISOString()).toBe('PT0.001S') }) it('object with negative millisecond', () => { expect(dayjs.duration({ ms: -1 }).toISOString()).toBe('-PT0.001S') }) it('convert to milliseconds', () => { expect(+dayjs.duration(100)).toBe(100) }) it('handles rounding to millisecond precision', () => { expect(dayjs.duration(2 / 3).toISOString()).toBe('PT0.001S') }) it('should handle round with millisecond precision when negative', () => { expect(dayjs.duration(1000.5).toISOString()).toBe('PT1.001S') expect(dayjs.duration(-1000.5).toISOString()).toBe('-PT1S') }) it('should handle floating point rounding errors', () => { // An example of this is when adding 2 to 0.812 seconds, which is how // the seconds component is calculated in .toISOString(). // > 2 + 0.812 // 2.8120000000000003 expect(dayjs.duration(-2812).toISOString()).toBe('-PT2.812S') // was -PT2.8120000000000003S expect(dayjs.duration(3121632.27382247).toISOString()).toBe('PT52M1.632S') // was PT52M1.6320000000000001S expect(dayjs.duration(7647826.525774224).toISOString()).toBe('PT2H7M27.827S') // was PT2H7M27.826999999999998S }) }) describe('Parse ISO string', () => { it('Full ISO string', () => { expect(dayjs.duration('P7Y6M4DT3H2M1S').toISOString()).toBe('P7Y6M4DT3H2M1S') }) it('Part ISO string', () => { expect(dayjs.duration('PT2777H46M40S').toISOString()).toBe('PT2777H46M40S') }) it('Formatting missing components', () => { expect(dayjs.duration('PT1H').format('YYYY-MM-DDTHH:mm:ss')).toBe('0000-00-00T01:00:00') }) it('ISO string with week', () => { const d = dayjs.duration('P2M3W4D') expect(d.toISOString()).toBe('P2M25D') expect(d.asDays()).toBe(85.83333333333333) // moment 86, count 2M as 61 days expect(d.asWeeks()).toBe(12.261904761904763) // moment 12.285714285714286 expect(d.asMonths()).toBe(2.8219178082191783) // moment 2.8213721020965523 }) it('Invalid ISO string', () => { expect(dayjs.duration('Invalid').toISOString()).toBe('P0D') }) }) it('Is duration', () => { expect(dayjs.isDuration(dayjs.duration())).toBe(true) expect(dayjs.isDuration(dayjs.duration(1))).toBe(true) expect(dayjs.isDuration(dayjs())).toBe(false) expect(dayjs.isDuration({})).toBe(false) expect(dayjs.isDuration()).toBe(false) }) it('toJSON', () => { expect(JSON.stringify({ postDuration: dayjs.duration(5, 'minutes') })).toBe('{"postDuration":"PT5M"}') }) describe('Humanize', () => { it('Humaniz', () => { expect(dayjs.duration(1, 'minutes').humanize()).toBe('a minute') expect(dayjs.duration(2, 'minutes').humanize()).toBe('2 minutes') expect(dayjs.duration(24, 'hours').humanize()).toBe('a day') expect(dayjs.duration(1, 'minutes').humanize(true)).toBe('in a minute') expect(dayjs.duration(-1, 'minutes').humanize(true)).toBe('a minute ago') }) it('Locale', () => { expect(dayjs.duration(1, 'minutes').humanize(true)).toBe('in a minute') expect(dayjs.duration(1, 'minutes').locale('fr').humanize(true)).toBe('dans une minute') expect(dayjs.duration(1, 'minutes').locale('es').humanize(true)).toBe('en un minuto') }) it('Global Locale', () => { dayjs.locale('en') expect(dayjs.duration(1, 'minutes').humanize(true)).toBe('in a minute') dayjs.locale('fr') expect(dayjs.duration(1, 'minutes').humanize(true)).toBe('dans une minute') dayjs.locale('es') expect(dayjs.duration(1, 'minutes').humanize(true)).toBe('en un minuto') dayjs.locale('en') }) }) describe('Clone', () => { it('Locale clone', () => { const d = dayjs.duration(1, 'minutes').locale('fr') const r = 'dans une minute' expect(d.humanize(true)).toBe(r) expect(d.clone().humanize(true)).toBe(r) }) }) describe('Milliseconds', () => { expect(dayjs.duration(500).milliseconds()).toBe(500) expect(dayjs.duration(1500).milliseconds()).toBe(500) expect(dayjs.duration(15000).milliseconds()).toBe(0) expect(dayjs.duration(500).asMilliseconds()).toBe(500) expect(dayjs.duration(1500).asMilliseconds()).toBe(1500) expect(dayjs.duration(15000).asMilliseconds()).toBe(15000) }) describe('Milliseconds', () => { describe('Positive number', () => { expect(dayjs.duration(500).milliseconds()).toBe(500) expect(dayjs.duration(1500).milliseconds()).toBe(500) expect(dayjs.duration(15000).milliseconds()).toBe(0) expect(dayjs.duration(500).asMilliseconds()).toBe(500) expect(dayjs.duration(1500).asMilliseconds()).toBe(1500) expect(dayjs.duration(15000).asMilliseconds()).toBe(15000) }) describe('Negative number', () => { expect(dayjs.duration(-500).milliseconds()).toBe(-500) expect(dayjs.duration(-1500).milliseconds()).toBe(-500) expect(dayjs.duration(-15000).milliseconds()).toBe(0) expect(dayjs.duration(-500).asMilliseconds()).toBe(-500) expect(dayjs.duration(-1500).asMilliseconds()).toBe(-1500) expect(dayjs.duration(-15000).asMilliseconds()).toBe(-15000) }) }) describe('Add', () => { const a = dayjs.duration(1, 'days') const b = dayjs.duration(2, 'days') expect(a.add(b).days()).toBe(3) expect(a.add(1, 'days').days()).toBe(2) expect(a.add({ days: 5 }).days()).toBe(6) }) describe('Add to a dayjs()', () => { const a = dayjs() const b = dayjs.duration({ hours: 7, minutes: 10 }) expect(a.add(b)).toEqual(a.add(7, 'hours').add(10, 'minutes')) }) test('Add duration', () => { const a = dayjs('2020-10-01') const days = dayjs.duration(2, 'days') expect(a.add(days).format('YYYY-MM-DD')).toBe('2020-10-03') const b = dayjs('2023-02-01 00:00:00') const p = dayjs.duration('P1Y1M1DT1H1M1S') expect(b.add(p).format('YYYY-MM-DD HH:mm:ss')).toBe('2024-03-02 01:01:01') }) describe('Subtract', () => { const a = dayjs.duration(3, 'days') const b = dayjs.duration(2, 'days') expect(a.subtract(b).days()).toBe(1) }) test('Subtract duration', () => { const a = dayjs('2020-10-20') const days = dayjs.duration(2, 'days') expect(a.subtract(days).format('YYYY-MM-DD')).toBe('2020-10-18') const b = dayjs('2023-03-02 02:02:02') const p = dayjs.duration('P1Y1M1DT1H1M1S') expect(b.subtract(p).format('YYYY-MM-DD HH:mm:ss')).toBe('2022-02-01 01:01:01') }) describe('Seconds', () => { expect(dayjs.duration(500).seconds()).toBe(0) expect(dayjs.duration(1500).seconds()).toBe(1) expect(dayjs.duration(15000).seconds()).toBe(15) expect(dayjs.duration(61000).seconds()).toBe(1) // 1 minute 1 second expect(dayjs.duration(500).asSeconds()).toBe(0.5) expect(dayjs.duration(1500).asSeconds()).toBe(1.5) expect(dayjs.duration(15000).asSeconds()).toBe(15) }) describe('Minutes', () => { expect(dayjs.duration(100000).minutes()).toBe(1) expect(dayjs.duration(61000).minutes()).toBe(1) // 1 minute 1 second expect(dayjs.duration(100000).asMinutes().toFixed(2)).toBe('1.67') }) describe('Hours', () => { expect(dayjs.duration(10000000).hours()).toBe(2) expect(dayjs.duration(10000000).asHours().toFixed(2)).toBe('2.78') }) describe('Days', () => { it('positive number', () => { expect(dayjs.duration(100000000).days()).toBe(1) expect(dayjs.duration(100000000).asDays().toFixed(2)).toBe('1.16') }) it('negative number', () => { expect(dayjs.duration(-1).days()).toBe(0) expect(dayjs.duration(-86399999).asDays()).toBeCloseTo(-0.999999, 4) }) }) describe('Weeks', () => { expect(dayjs.duration(1000000000).weeks()).toBe(1) expect(dayjs.duration(1000000000).asWeeks().toFixed(2)).toBe('1.65') }) describe('Month', () => { expect(dayjs.duration(10000000000).months()).toBe(3) expect(dayjs.duration({ months: 3 }).asMonths()).toBe(3) }) describe('Years', () => { expect(dayjs.duration(100000000000).years()).toBe(3) expect(dayjs.duration(100000000000).asYears().toFixed(2)).toBe('3.17') }) describe('prettyUnit', () => { const d = dayjs.duration(2, 's') expect(d.toISOString()).toBe('PT2S') expect(d.as('seconds')).toBe(2) expect(d.get('s')).toBe(2) expect(dayjs.duration({ M: 12, m: 12 }).toISOString()).toBe('P12MT12M') }) describe('Format', () => { test('no formatStr', () => { const d = dayjs.duration(15, 'seconds') .add(13, 'hours') .add(35, 'minutes') .add(16, 'days') .add(10, 'months') .add(22, 'years') expect(d.format()).toBe('0022-10-16T13:35:15') }) test('with formatStr for all tokens', () => { const d = dayjs.duration(1, 'seconds') .add(8, 'hours') .add(5, 'minutes') .add(6, 'days') .add(9, 'months') .add(2, 'years') .add(10, 'milliseconds') expect(d.format('Y/YY.YYYYTESTM:MM:D:DD:H:HH:m:mm:s:ss:SSS')) .toBe('2/02.0002TEST9:09:6:06:8:08:5:05:1:01:010') }) test('formats YYY as YY + Y', () => { const d = dayjs.duration(2, 'years') expect(d.format('YYY')).toBe('022') }) }) iamkun-dayjs-a25f01e/test/plugin/isBetween.test.js000066400000000000000000000512111520523163200222300ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from '../../src/index' import isBetween from '../../src/plugin/isBetween/index' dayjs.extend(isBetween) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) test('bounds can be swapped', () => { expect(dayjs('2018-01-01').isBetween(dayjs('2017-12-31'), dayjs('2018-01-02'))).toBeTruthy() expect(dayjs('2018-01-01').isBetween(dayjs('2018-01-02'), dayjs('2017-12-31'))).toBeTruthy() }) test('bounds can be swapped with inclusivity', () => { expect(dayjs('2018-01-01').isBetween(dayjs('2017-12-31'), dayjs('2018-01-01'), null, '[]')).toBeTruthy() expect(dayjs('2018-01-01').isBetween(dayjs('2018-01-01'), dayjs('2017-12-31'), null, '[]')).toBeTruthy() }) test('is between without units', () => { const m = dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)) const mCopy = dayjs(m) expect(m.isBetween( dayjs(new Date(2009, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)) )).toBe(false, 'year is later') expect(m.isBetween( dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2013, 3, 2, 3, 4, 5, 10)) )).toBe(false, 'year is earlier') expect(m.isBetween( dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2012, 3, 2, 3, 4, 5, 10)) )).toBe(true, 'year is between') expect(m.isBetween( dayjs(new Date(2011, 1, 2, 3, 4, 5, 10)), dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)) )).toBe(false, 'month is later') expect(m.isBetween( dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2011, 5, 2, 3, 4, 5, 10)) )).toBe(false, 'month is earlier') expect(m.isBetween( dayjs(new Date(2011, 2, 2, 3, 4, 5, 10)), dayjs(new Date(2011, 4, 2, 3, 4, 5, 10)) )).toBe(true, 'month is between') expect(m.isBetween( dayjs(new Date(2011, 3, 1, 3, 4, 5, 10)), dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)) )).toBe(false, 'day is later') expect(m.isBetween( dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2011, 3, 4, 3, 4, 5, 10)) )).toBe(false, 'day is earlier') expect(m.isBetween( dayjs(new Date(2011, 3, 1, 3, 4, 5, 10)), dayjs(new Date(2011, 3, 3, 3, 4, 5, 10)) )).toBe(true, 'day is between') expect(m.isBetween( dayjs(new Date(2011, 3, 2, 1, 4, 5, 10)), dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)) )).toBe(false, 'hour is later') expect(m.isBetween( dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2011, 3, 2, 5, 4, 5, 10)) )).toBe(false, 'hour is earlier') expect(m.isBetween( dayjs(new Date(2011, 3, 2, 2, 4, 5, 10)), dayjs(new Date(2011, 3, 2, 4, 4, 5, 10)) )).toBe(true, 'hour is between') expect(m.isBetween( dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2011, 3, 2, 3, 6, 5, 10)) )).toBe(false, 'minute is later') expect(m.isBetween( dayjs(new Date(2011, 3, 2, 3, 2, 5, 10)), dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)) )).toBe(false, 'minute is earlier') expect(m.isBetween( dayjs(new Date(2011, 3, 2, 3, 3, 5, 10)), dayjs(new Date(2011, 3, 2, 3, 5, 5, 10)) )).toBe(true, 'minute is between') expect(m.isBetween( dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2011, 3, 2, 3, 4, 7, 10)) )).toBe(false, 'second is later') expect(m.isBetween( dayjs(new Date(2011, 3, 2, 3, 4, 3, 10)), dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)) )).toBe(false, 'second is earlier') expect(m.isBetween( dayjs(new Date(2011, 3, 2, 3, 4, 4, 10)), dayjs(new Date(2011, 3, 2, 3, 4, 6, 10)) )).toBe(true, 'second is between') expect(m.isBetween( dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2011, 3, 2, 3, 4, 5, 12)) )).toBe(false, 'millisecond is later') expect(m.isBetween( dayjs(new Date(2011, 3, 2, 3, 4, 5, 8)), dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)) )).toBe(false, 'millisecond is earlier') expect(m.isBetween( dayjs(new Date(2011, 3, 2, 3, 4, 5, 9)), dayjs(new Date(2011, 3, 2, 3, 4, 5, 11)) )).toBe(true, 'millisecond is between') expect(m.isBetween(m, m)).toBe(false, 'moments are not between themselves') expect(+m).toEqual(+mCopy, 'isBetween second should not change moment') }) test('is between year', () => { const m = dayjs(new Date(2011, 1, 2, 3, 4, 5, 6)) const mCopy = dayjs(m) expect(m.isBetween( dayjs(new Date(2011, 5, 6, 7, 8, 9, 10)), dayjs(new Date(2011, 5, 6, 7, 8, 9, 10)), 'year' )).toBe(false, 'year match') expect(m.isBetween( dayjs(new Date(2010, 5, 6, 7, 8, 9, 10)), dayjs(new Date(2012, 5, 6, 7, 8, 9, 10)), 'years' )).toBe(true, 'plural should work') expect(m.isBetween( dayjs(new Date(2010, 5, 6, 7, 8, 9, 10)), dayjs(new Date(2012, 5, 6, 7, 8, 9, 10)), 'year' )).toBe(true, 'year is between') expect(m.isBetween( dayjs(new Date(2011, 5, 6, 7, 8, 9, 10)), dayjs(new Date(2013, 5, 6, 7, 8, 9, 10)), 'year' )).toBe(false, 'year is earlier') expect(m.isBetween( dayjs(new Date(2010, 5, 6, 7, 8, 9, 10)), dayjs(new Date(2011, 5, 6, 7, 8, 9, 10)), 'year' )).toBe(false, 'year is later') expect(m.isBetween(m, 'year')).toBe(false, 'same moments are not between the same year') expect(+m).toEqual(+mCopy, 'isBetween year should not change moment') }) test('is between month', () => { const m = dayjs(new Date(2011, 1, 2, 3, 4, 5, 6)) const mCopy = dayjs(m) expect(m.isBetween( dayjs(new Date(2011, 1, 6, 7, 8, 9, 10)), dayjs(new Date(2011, 1, 6, 7, 8, 9, 10)), 'month' )).toBe(false, 'month match') expect(m.isBetween( dayjs(new Date(2011, 0, 6, 7, 8, 9, 10)), dayjs(new Date(2011, 2, 6, 7, 8, 9, 10)), 'months' )).toBe(true, 'plural should work') expect(m.isBetween( dayjs(new Date(2011, 0, 31, 23, 59, 59, 999)), dayjs(new Date(2011, 2, 1, 0, 0, 0, 0)), 'month' )).toBe(true, 'month is between') expect(m.isBetween( dayjs(new Date(2011, 1, 6, 7, 8, 9, 10)), dayjs(new Date(2011, 2, 6, 7, 8, 9, 10)), 'month' )).toBe(false, 'month is earlier') expect(m.isBetween( dayjs(new Date(2011, 11, 6, 7, 8, 9, 10)), dayjs(new Date(2011, 1, 6, 7, 8, 9, 10)), 'month' )).toBe(false, 'month is later') expect(m.isBetween(m, 'month')).toBe(false, 'same moments are not between the same month') expect(+m).toEqual(+mCopy, 'isBetween month should not change moment') }) test('is between day', () => { const m = dayjs(new Date(2011, 1, 2, 3, 4, 5, 6)) const mCopy = dayjs(m) expect(m.isBetween( dayjs(new Date(2011, 1, 2, 7, 8, 9, 10)), dayjs(new Date(2011, 1, 2, 7, 8, 9, 10)), 'day' )).toBe(false, 'day match') expect(m.isBetween( dayjs(new Date(2011, 1, 1, 7, 8, 9, 10)), dayjs(new Date(2011, 1, 3, 7, 8, 9, 10)), 'days' )).toBe(true, 'plural should work') expect(m.isBetween( dayjs(new Date(2011, 1, 1, 7, 8, 9, 10)), dayjs(new Date(2011, 1, 3, 7, 8, 9, 10)), 'day' )).toBe(true, 'day is between') expect(m.isBetween( dayjs(new Date(2011, 1, 2, 7, 8, 9, 10)), dayjs(new Date(2011, 1, 4, 7, 8, 9, 10)), 'day' )).toBe(false, 'day is earlier') expect(m.isBetween( dayjs(new Date(2011, 1, 1, 7, 8, 9, 10)), dayjs(new Date(2011, 1, 2, 7, 8, 9, 10)), 'day' )).toBe(false, 'day is later') expect(m.isBetween(m, 'day')).toBe(false, 'same moments are not between the same day') expect(+m).toEqual(+mCopy, 'isBetween day should not change moment') }) test('is between hour', () => { const m = dayjs(new Date(2011, 1, 2, 3, 4, 5, 6)) const mCopy = dayjs(m) expect(m.isBetween( dayjs(new Date(2011, 1, 2, 3, 5, 9, 10)), dayjs(new Date(2011, 1, 2, 3, 9, 9, 10)), 'hour' )) .toBe(false, 'hour match') expect(m.isBetween( dayjs(new Date(2011, 1, 2, 1, 59, 59, 999)), dayjs(new Date(2011, 1, 2, 4, 0, 0, 0)), 'hours' )) .toBe(true, 'plural should work') expect(m.isBetween( dayjs(new Date(2011, 1, 2, 2, 59, 59, 999)), dayjs(new Date(2011, 1, 2, 4, 0, 0, 0)), 'hour' )) .toBe(true, 'hour is between') expect(m.isBetween( dayjs(new Date(2011, 1, 2, 7, 8, 9, 10)), dayjs(new Date(2011, 1, 2, 7, 8, 9, 10)), 'hour' )) .toBe(false, 'hour is earlier') expect(m.isBetween( dayjs(new Date(2011, 1, 2, 7, 8, 9, 10)), dayjs(new Date(2011, 1, 2, 7, 8, 9, 10)), 'hour' )) .toBe(false, 'hour is later') expect(m.isBetween(m, 'hour')) .toBe(false, 'same moments are not between the same hour') expect(+m) .toEqual(+mCopy, 'isBetween hour should not change moment') }) test('is between minute', () => { const m = dayjs(new Date(2011, 1, 2, 3, 4, 5, 6)) const mCopy = dayjs(m) expect(m.isBetween( dayjs(new Date(2011, 1, 2, 3, 4, 9, 10)), dayjs(new Date(2011, 1, 2, 3, 4, 9, 10)), 'minute' )) .toBe(false, 'minute match') expect(m.isBetween( dayjs(new Date(2011, 1, 2, 3, 3, 9, 10)), dayjs(new Date(2011, 1, 2, 3, 5, 9, 10)), 'minutes' )) .toBe(true, 'plural should work') expect(m.isBetween( dayjs(new Date(2011, 1, 2, 3, 3, 59, 999)), dayjs(new Date(2011, 1, 2, 3, 5, 0, 0)), 'minute' )) .toBe(true, 'minute is between') expect(m.isBetween( dayjs(new Date(2011, 1, 2, 3, 5, 0, 0)), dayjs(new Date(2011, 1, 2, 3, 8, 9, 10)), 'minute' )) .toBe(false, 'minute is earlier') expect(m.isBetween( dayjs(new Date(2011, 1, 2, 3, 2, 9, 10)), dayjs(new Date(2011, 1, 2, 3, 3, 59, 999)), 'minute' )) .toBe(false, 'minute is later') expect(m.isBetween(m, 'minute')) .toBe(false, 'same moments are not between the same minute') expect(+m) .toEqual(+mCopy, 'isBetween minute should not change moment') }) test('is between second', () => { const m = dayjs(new Date(2011, 1, 2, 3, 4, 5, 6)) const mCopy = dayjs(m) expect(m.isBetween( dayjs(new Date(2011, 1, 2, 3, 4, 5, 10)), dayjs(new Date(2011, 1, 2, 3, 4, 5, 10)), 'second' )) .toBe(false, 'second match') expect(m.isBetween( dayjs(new Date(2011, 1, 2, 3, 4, 4, 10)), dayjs(new Date(2011, 1, 2, 3, 4, 6, 10)), 'seconds' )) .toBe(true, 'plural should work') expect(m.isBetween( dayjs(new Date(2011, 1, 2, 3, 4, 4, 999)), dayjs(new Date(2011, 1, 2, 3, 4, 6, 0)), 'second' )) .toBe(true, 'second is between') expect(m.isBetween( dayjs(new Date(2011, 1, 2, 3, 4, 6, 0)), dayjs(new Date(2011, 1, 2, 3, 4, 7, 10)), 'second' )) .toBe(false, 'second is earlier') expect(m.isBetween( dayjs(new Date(2011, 1, 2, 3, 4, 3, 10)), dayjs(new Date(2011, 1, 2, 3, 4, 4, 999)), 'second' )) .toBe(false, 'second is later') expect(m.isBetween(m, 'second')).toBe(false, 'same moments are not between the same second') expect(+m).toEqual(+mCopy, 'isBetween second should not change moment') }) test('is between millisecond', () => { const m = dayjs(new Date(2011, 1, 2, 3, 4, 5, 6)) const mCopy = dayjs(m) expect(m.isBetween( dayjs(new Date(2011, 1, 2, 3, 4, 5, 6)), dayjs(new Date(2011, 1, 2, 3, 4, 5, 6)), 'millisecond' )).toBe(false, 'millisecond match') expect(m.isBetween( dayjs(new Date(2011, 1, 2, 3, 4, 5, 5)), dayjs(new Date(2011, 1, 2, 3, 4, 5, 7)), 'milliseconds' )).toBe(true, 'plural should work') expect(m.isBetween( dayjs(new Date(2011, 1, 2, 3, 4, 5, 5)), dayjs(new Date(2011, 1, 2, 3, 4, 5, 7)), 'millisecond' )).toBe(true, 'millisecond is between') expect(m.isBetween( dayjs(new Date(2011, 1, 2, 3, 4, 5, 7)), dayjs(new Date(2011, 1, 2, 3, 4, 5, 10)), 'millisecond' )).toBe(false, 'millisecond is earlier') expect(m.isBetween( dayjs(new Date(2011, 1, 2, 3, 4, 5, 4)), dayjs(new Date(2011, 1, 2, 3, 4, 5, 6)), 'millisecond' )).toBe(false, 'millisecond is later') expect(m.isBetween(m, 'millisecond')).toBe(false, 'same moments are not between the same millisecond') expect(+m).toEqual(+mCopy, 'isBetween millisecond should not change moment') }) test('is between without units inclusivity', () => { const m = dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)) const mCopy = dayjs(m) expect(m.isBetween( dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2012, 3, 2, 3, 4, 5, 10)), null, '()' )).toBe(false, 'start and end are excluded, start is equal to dayjs') expect(m.isBetween( dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), null, '()' )).toBe(false, 'start and end are excluded, end is equal to dayjs') expect(m.isBetween( dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2012, 3, 2, 3, 4, 5, 10)), null, '()' )).toBe(true, 'start and end are excluded, is between') expect(m.isBetween( dayjs(new Date(2009, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), null, '()' )).toBe(false, 'start and end are excluded, is not between') expect(m.isBetween( dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), null, '()' )).toBe(false, 'start and end are excluded, should fail on same start/end date.') expect(m.isBetween( dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2012, 3, 2, 3, 4, 5, 10)), null, '(]' )).toBe(false, 'start is excluded and end is included should fail on same start date') expect(m.isBetween( dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), null, '(]' )).toBe(true, 'start is excluded and end is included should succeed on end date') expect(m.isBetween( dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2012, 3, 2, 3, 4, 5, 10)), null, '(]' )).toBe(true, 'start is excluded and end is included, is between') expect(m.isBetween( dayjs(new Date(2009, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), null, '(]' )).toBe(false, 'start is excluded and end is included, is not between') expect(m.isBetween( dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), null, '(]' )).toBe(false, 'start is excluded and end is included, should fail on same start/end date.') expect(m.isBetween( dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2012, 3, 2, 3, 4, 5, 10)), null, '[)' )).toBe(true, 'start is included and end is excluded should succeed on same start date') expect(m.isBetween( dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), null, '[)' )).toBe(false, 'start is included and end is excluded should fail on same end date') expect(m.isBetween( dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2012, 3, 2, 3, 4, 5, 10)), null, '[)' )).toBe(true, 'start is included and end is excluded, is between') expect(m.isBetween( dayjs(new Date(2009, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), null, '[)' )).toBe(false, 'start is included and end is excluded, is not between') expect(m.isBetween( dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), null, '[)' )).toBe(false, 'start is included and end is excluded, should fail on same end and start date') expect(m.isBetween( dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2012, 3, 2, 3, 4, 5, 10)), null, '[]' )).toBe(true, 'start and end inclusive should succeed on same start date') expect(m.isBetween( dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), null, '[]' )).toBe(true, 'start and end inclusive should succeed on same end date') expect(m.isBetween( dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2012, 3, 2, 3, 4, 5, 10)), null, '[]' )).toBe(true, 'start and end inclusive, is between') expect(m.isBetween( dayjs(new Date(2009, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), null, '[]' )).toBe(false, 'start and end inclusive, is not between') expect(m.isBetween( dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), null, '[]' )).toBe(true, 'start and end inclusive, should handle same end and start date') expect(+m).toEqual(+mCopy, 'isBetween millisecond should not change moment') }) test('is between milliseconds inclusivity', () => { const m = dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)) const mCopy = dayjs(m) expect(m.isBetween( dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2012, 3, 2, 3, 4, 5, 10)), 'milliseconds' )).toBe(true, 'options, no inclusive') expect(m.isBetween( dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2012, 3, 2, 3, 4, 5, 10)), 'milliseconds', '()' )).toBe(false, 'start and end are excluded, start is equal to dayjs') expect(m.isBetween( dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), 'milliseconds', '()' )).toBe(false, 'start and end are excluded, end is equal to dayjs') expect(m.isBetween( dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2012, 3, 2, 3, 4, 5, 10)), 'milliseconds', '()' )).toBe(true, 'start and end are excluded, is between') expect(m.isBetween( dayjs(new Date(2009, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), 'milliseconds', '()' )).toBe(false, 'start and end are excluded, is not between') expect(m.isBetween( dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), 'milliseconds', '()' )).toBe(false, 'start and end are excluded, should fail on same start/end date.') expect(m.isBetween( dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2012, 3, 2, 3, 4, 5, 10)), 'milliseconds', '(]' )).toBe(false, 'start is excluded and end is included should fail on same start date') expect(m.isBetween( dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), 'milliseconds', '(]' )).toBe(true, 'start is excluded and end is included should succeed on end date') expect(m.isBetween( dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2012, 3, 2, 3, 4, 5, 10)), 'milliseconds', '(]' )).toBe(true, 'start is excluded and end is included, is between') expect(m.isBetween( dayjs(new Date(2009, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), 'milliseconds', '(]' )).toBe(false, 'start is excluded and end is included, is not between') expect(m.isBetween( dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), 'milliseconds', '(]' )).toBe(false, 'start is excluded and end is included, should fail on same start/end date.') expect(m.isBetween( dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2012, 3, 2, 3, 4, 5, 10)), 'milliseconds', '[)' )).toBe(true, 'start is included and end is excluded should succeed on same start date') expect(m.isBetween( dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), 'milliseconds', '[)' )).toBe(false, 'start is included and end is excluded should fail on same end date') expect(m.isBetween( dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2012, 3, 2, 3, 4, 5, 10)), 'milliseconds', '[)' )).toBe(true, 'start is included and end is excluded, is between') expect(m.isBetween( dayjs(new Date(2009, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), 'milliseconds', '[)' )).toBe(false, 'start is included and end is excluded, is not between') expect(m.isBetween( dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), 'milliseconds', '[)' )).toBe(false, 'start is included and end is excluded, should fail on same end and start date') expect(m.isBetween( dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2012, 3, 2, 3, 4, 5, 10)), 'milliseconds', '[]' )).toBe(true, 'start and end inclusive should succeed on same start date') expect(m.isBetween( dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), 'milliseconds', '[]' )).toBe(true, 'start and end inclusive should succeed on same end date') expect(m.isBetween( dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2012, 3, 2, 3, 4, 5, 10)), 'milliseconds', '[]' )).toBe(true, 'start and end inclusive, is between') expect(m.isBetween( dayjs(new Date(2009, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), 'milliseconds', '[]' )).toBe(false, 'start and end inclusive, is not between') expect(m.isBetween( dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), 'milliseconds', '[]' )).toBe(true, 'start and end inclusive, should handle same end and start date') expect(+m).toEqual(+mCopy, 'isBetween second should not change moment') }) iamkun-dayjs-a25f01e/test/plugin/isLeapYear.test.js000066400000000000000000000005601520523163200223420ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from '../../src' import isLeapYear from '../../src/plugin/isLeapYear' dayjs.extend(isLeapYear) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('IsLeapYear', () => { expect(dayjs('20000101').isLeapYear()).toBe(true) expect(dayjs('2100-01-01').isLeapYear()).toBe(false) }) iamkun-dayjs-a25f01e/test/plugin/isMoment.test.js000066400000000000000000000005351520523163200221010ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from '../../src' import isMoment from '../../src/plugin/isMoment' dayjs.extend(isMoment) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('IsLeapYear', () => { expect(dayjs.isMoment(dayjs())).toBe(true) expect(dayjs.isMoment(new Date())).toBe(false) }) iamkun-dayjs-a25f01e/test/plugin/isSameOrAfter.test.js000066400000000000000000000362561520523163200230230ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from '../../src' import isSameOrAfter from '../../src/plugin/isSameOrAfter' dayjs.extend(isSameOrAfter) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) test('is same or after year', () => { const m = dayjs(new Date(2011, 1, 2, 3, 4, 5, 6)) const mCopy = dayjs(m) expect(m.isSameOrAfter(dayjs(new Date(2011, 5, 6, 7, 8, 9, 10)), 'year')).toBe(true, 'year match') expect(m.isSameOrAfter(dayjs(new Date(2011, 5, 6, 7, 8, 9, 10)), 'years')).toBe(true, 'plural should work') expect(m.isSameOrAfter(dayjs(new Date(2012, 5, 6, 7, 8, 9, 10)), 'year')).toBe(false, 'year is later') expect(m.isSameOrAfter(dayjs(new Date(2010, 5, 6, 7, 8, 9, 10)), 'year')).toBe(true, 'year is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 0, 1, 0, 0, 0, 0)), 'year')).toBe(true, 'exact start of year') expect(m.isSameOrAfter(dayjs(new Date(2011, 11, 31, 23, 59, 59, 999)), 'year')).toBe(true, 'exact end of year') expect(m.isSameOrAfter(dayjs(new Date(2012, 0, 1, 0, 0, 0, 0)), 'year')).toBe(false, 'start of next year') expect(m.isSameOrAfter(dayjs(new Date(2010, 11, 31, 23, 59, 59, 999)), 'year')).toBe(true, 'end of previous year') expect(m.isSameOrAfter(m, 'year')).toBe(true, 'same moments are in the same year') expect(+m).toEqual(+mCopy, 'isSameOrAfter year should not change moment') }) test('is same or after without units', () => { const m = dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)) const mCopy = dayjs(m) expect(m.isSameOrAfter(dayjs(new Date(2012, 3, 2, 3, 5, 5, 10)))).toBe(false, 'year is later') expect(m.isSameOrAfter(dayjs(new Date(2010, 3, 2, 3, 3, 5, 10)))).toBe(true, 'year is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 4, 2, 3, 4, 5, 10)))).toBe(false, 'month is later') expect(m.isSameOrAfter(dayjs(new Date(2011, 2, 2, 3, 4, 5, 10)))).toBe(true, 'month is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 3, 3, 3, 4, 5, 10)))).toBe(false, 'day is later') expect(m.isSameOrAfter(dayjs(new Date(2011, 3, 1, 3, 4, 5, 10)))).toBe(true, 'day is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 3, 2, 4, 4, 5, 10)))).toBe(false, 'hour is later') expect(m.isSameOrAfter(dayjs(new Date(2011, 3, 2, 2, 4, 5, 10)))).toBe(true, 'hour is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 3, 2, 3, 5, 5, 10)))).toBe(false, 'minute is later') expect(m.isSameOrAfter(dayjs(new Date(2011, 3, 2, 3, 3, 5, 10)))).toBe(true, 'minute is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 3, 2, 3, 4, 6, 10)))).toBe(false, 'second is later') expect(m.isSameOrAfter(dayjs(new Date(2011, 3, 2, 3, 4, 4, 11)))).toBe(true, 'second is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)))).toBe(true, 'millisecond match') expect(m.isSameOrAfter(dayjs(new Date(2011, 3, 2, 3, 4, 5, 11)))).toBe(false, 'millisecond is later') expect(m.isSameOrAfter(dayjs(new Date(2011, 3, 2, 3, 4, 5, 9)))).toBe(true, 'millisecond is earlier') expect(m.isSameOrAfter(m)).toBe(true, 'moments are the same as themselves') expect(+m).toEqual(+mCopy, 'isSameOrAfter second should not change moment') }) test('is same or after without date', () => { const past = dayjs().subtract(1, 'day') const future = dayjs().add(1, 'day') expect(past.isSameOrAfter()).toBe(false, 'past is before now') expect(future.isSameOrAfter()).toBe(true, 'future is not before now') }) test('is same or after month', () => { const m = dayjs(new Date(2011, 2, 3, 4, 5, 6, 7)) const mCopy = dayjs(m) expect(m.isSameOrAfter(dayjs(new Date(2011, 2, 6, 7, 8, 9, 10)), 'month')).toBe(true, 'month match') expect(m.isSameOrAfter(dayjs(new Date(2011, 2, 6, 7, 8, 9, 10)), 'months')).toBe(true, 'plural should work') expect(m.isSameOrAfter(dayjs(new Date(2012, 2, 6, 7, 8, 9, 10)), 'month')).toBe(false, 'year is later') expect(m.isSameOrAfter(dayjs(new Date(2010, 2, 6, 7, 8, 9, 10)), 'month')).toBe(true, 'year is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 5, 6, 7, 8, 9, 10)), 'month')).toBe(false, 'month is later') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 6, 7, 8, 9, 10)), 'month')).toBe(true, 'month is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 2, 1, 0, 0, 0, 0)), 'month')).toBe(true, 'exact start of month') expect(m.isSameOrAfter(dayjs(new Date(2011, 2, 31, 23, 59, 59, 999)), 'month')).toBe(true, 'exact end of month') expect(m.isSameOrAfter(dayjs(new Date(2011, 3, 1, 0, 0, 0, 0)), 'month')).toBe(false, 'start of next month') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 27, 23, 59, 59, 999)), 'month')).toBe(true, 'end of previous month') expect(m.isSameOrAfter(m, 'month')).toBe(true, 'same moments are in the same month') expect(+m).toEqual(+mCopy, 'isSameOrAfter month should not change moment') }) test('is same or after day', () => { const m = dayjs(new Date(2011, 1, 2, 3, 4, 5, 6)) const mCopy = dayjs(m) expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 7, 8, 9, 10)), 'day')).toBe(true, 'day match') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 7, 8, 9, 10)), 'days')).toBe(true, 'plural should work') expect(m.isSameOrAfter(dayjs(new Date(2012, 1, 2, 7, 8, 9, 10)), 'day')).toBe(false, 'year is later') expect(m.isSameOrAfter(dayjs(new Date(2010, 1, 2, 7, 8, 9, 10)), 'day')).toBe(true, 'year is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 2, 2, 7, 8, 9, 10)), 'day')).toBe(false, 'month is later') expect(m.isSameOrAfter(dayjs(new Date(2010, 12, 2, 7, 8, 9, 10)), 'day')).toBe(true, 'month is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 3, 7, 8, 9, 10)), 'day')).toBe(false, 'day is later') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 1, 7, 8, 9, 10)), 'day')).toBe(true, 'day is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 0, 0, 0, 0)), 'day')).toBe(true, 'exact start of day') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 23, 59, 59, 999)), 'day')).toBe(true, 'exact end of day') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 3, 0, 0, 0, 0)), 'day')).toBe(false, 'start of next day') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 1, 23, 59, 59, 999)), 'day')).toBe(true, 'end of previous day') expect(m.isSameOrAfter(m, 'day')).toBe(true, 'same moments are in the same day') expect(+m).toEqual(+mCopy, 'isSameOrAfter day should not change moment') }) test('is same or after hour', () => { const m = dayjs(new Date(2011, 1, 2, 3, 4, 5, 6)) const mCopy = dayjs(m) expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 3, 8, 9, 10)), 'hour')).toBe(true, 'hour match') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 3, 8, 9, 10)), 'hours')).toBe(true, 'plural should work') expect(m.isSameOrAfter(dayjs(new Date(2012, 1, 2, 3, 8, 9, 10)), 'hour')).toBe(false, 'year is later') expect(m.isSameOrAfter(dayjs(new Date(2010, 1, 2, 3, 8, 9, 10)), 'hour')).toBe(true, 'year is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 2, 2, 3, 8, 9, 10)), 'hour')).toBe(false, 'month is later') expect(m.isSameOrAfter(dayjs(new Date(2010, 12, 2, 3, 8, 9, 10)), 'hour')).toBe(true, 'month is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 3, 3, 8, 9, 10)), 'hour')).toBe(false, 'day is later') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 1, 3, 8, 9, 10)), 'hour')).toBe(true, 'day is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 4, 8, 9, 10)), 'hour')).toBe(false, 'hour is later') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 2, 8, 9, 10)), 'hour')).toBe(true, 'hour is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 3, 0, 0, 0)), 'hour')).toBe(true, 'exact start of hour') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 3, 59, 59, 999)), 'hour')).toBe(true, 'exact end of hour') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 4, 0, 0, 0)), 'hour')).toBe(false, 'start of next hour') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 2, 59, 59, 999)), 'hour')).toBe(true, 'end of previous hour') expect(m.isSameOrAfter(m, 'hour')).toBe(true, 'same moments are in the same hour') expect(+m).toEqual(+mCopy, 'isSameOrAfter hour should not change moment') }) test('is same or after minute', () => { const m = dayjs(new Date(2011, 1, 2, 3, 4, 5, 6)) const mCopy = dayjs(m) expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 3, 4, 9, 10)), 'minute')).toBe(true, 'minute match') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 3, 4, 9, 10)), 'minutes')).toBe(true, 'plural should work') expect(m.isSameOrAfter(dayjs(new Date(2012, 1, 2, 3, 4, 9, 10)), 'minute')).toBe(false, 'year is later') expect(m.isSameOrAfter(dayjs(new Date(2010, 1, 2, 3, 4, 9, 10)), 'minute')).toBe(true, 'year is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 2, 2, 3, 4, 9, 10)), 'minute')).toBe(false, 'month is later') expect(m.isSameOrAfter(dayjs(new Date(2010, 12, 2, 3, 4, 9, 10)), 'minute')).toBe(true, 'month is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 3, 3, 4, 9, 10)), 'minute')).toBe(false, 'day is later') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 1, 3, 4, 9, 10)), 'minute')).toBe(true, 'day is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 4, 4, 9, 10)), 'minute')).toBe(false, 'hour is later') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 2, 4, 9, 10)), 'minute')).toBe(true, 'hour is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 3, 5, 9, 10)), 'minute')).toBe(false, 'minute is later') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 3, 3, 9, 10)), 'minute')).toBe(true, 'minute is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 3, 4, 0, 0)), 'minute')).toBe(true, 'exact start of minute') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 3, 4, 59, 999)), 'minute')).toBe(true, 'exact end of minute') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 3, 5, 0, 0)), 'minute')).toBe(false, 'start of next minute') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 3, 3, 59, 999)), 'minute')).toBe(true, 'end of previous minute') expect(m.isSameOrAfter(m, 'minute')).toBe(true, 'same moments are in the same minute') expect(+m).toEqual(+mCopy, 'isSameOrAfter minute should not change moment') }) test('is same or after second', () => { const m = dayjs(new Date(2011, 1, 2, 3, 4, 5, 6)) const mCopy = dayjs(m) expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 3, 4, 5, 10)), 'second')).toBe(true, 'second match') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 3, 4, 5, 10)), 'seconds')).toBe(true, 'plural should work') expect(m.isSameOrAfter(dayjs(new Date(2012, 1, 2, 3, 4, 5, 10)), 'second')).toBe(false, 'year is later') expect(m.isSameOrAfter(dayjs(new Date(2010, 1, 2, 3, 4, 5, 10)), 'second')).toBe(true, 'year is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 2, 2, 3, 4, 5, 10)), 'second')).toBe(false, 'month is later') expect(m.isSameOrAfter(dayjs(new Date(2010, 12, 2, 3, 4, 5, 10)), 'second')).toBe(true, 'month is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 3, 3, 4, 5, 10)), 'second')).toBe(false, 'day is later') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 1, 3, 4, 5, 10)), 'second')).toBe(true, 'day is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 4, 4, 5, 10)), 'second')).toBe(false, 'hour is later') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 2, 4, 5, 10)), 'second')).toBe(true, 'hour is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 3, 5, 5, 10)), 'second')).toBe(false, 'minute is later') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 3, 3, 5, 10)), 'second')).toBe(true, 'minute is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 3, 4, 6, 10)), 'second')).toBe(false, 'second is later') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 3, 4, 4, 10)), 'second')).toBe(true, 'second is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 3, 4, 5, 0)), 'second')).toBe(true, 'exact start of second') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 3, 4, 5, 999)), 'second')).toBe(true, 'exact end of second') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 3, 4, 6, 0)), 'second')).toBe(false, 'start of next second') expect(m.isSameOrAfter(dayjs(new Date(2011, 1, 2, 3, 4, 4, 999)), 'second')).toBe(true, 'end of previous second') expect(m.isSameOrAfter(m, 'second')).toBe(true, 'same moments are in the same second') expect(+m).toEqual(+mCopy, 'isSameOrAfter second should not change moment') }) test('is same or after millisecond', () => { const m = dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)) const mCopy = dayjs(m) expect(m.isSameOrAfter(dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), 'millisecond')).toBe(true, 'millisecond match') expect(m.isSameOrAfter(dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), 'milliseconds')).toBe(true, 'plural should work') expect(m.isSameOrAfter(dayjs(new Date(2012, 3, 2, 3, 4, 5, 10)), 'millisecond')).toBe(false, 'year is later') expect(m.isSameOrAfter(dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), 'millisecond')).toBe(true, 'year is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 4, 2, 3, 4, 5, 10)), 'millisecond')).toBe(false, 'month is later') expect(m.isSameOrAfter(dayjs(new Date(2011, 2, 2, 3, 4, 5, 10)), 'millisecond')).toBe(true, 'month is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 3, 3, 3, 4, 5, 10)), 'millisecond')).toBe(false, 'day is later') expect(m.isSameOrAfter(dayjs(new Date(2011, 3, 1, 1, 4, 5, 10)), 'millisecond')).toBe(true, 'day is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 3, 2, 4, 4, 5, 10)), 'millisecond')).toBe(false, 'hour is later') expect(m.isSameOrAfter(dayjs(new Date(2011, 3, 1, 4, 1, 5, 10)), 'millisecond')).toBe(true, 'hour is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 3, 2, 3, 5, 5, 10)), 'millisecond')).toBe(false, 'minute is later') expect(m.isSameOrAfter(dayjs(new Date(2011, 3, 2, 3, 3, 5, 10)), 'millisecond')).toBe(true, 'minute is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 3, 2, 3, 4, 6, 10)), 'millisecond')).toBe(false, 'second is later') expect(m.isSameOrAfter(dayjs(new Date(2011, 3, 2, 3, 4, 4, 5)), 'millisecond')).toBe(true, 'second is earlier') expect(m.isSameOrAfter(dayjs(new Date(2011, 3, 2, 3, 4, 6, 11)), 'millisecond')).toBe(false, 'millisecond is later') expect(m.isSameOrAfter(dayjs(new Date(2011, 3, 2, 3, 4, 4, 9)), 'millisecond')).toBe(true, 'millisecond is earlier') expect(m.isSameOrAfter(m, 'millisecond')).toBe(true, 'same moments are in the same millisecond') expect(+m).toEqual(+mCopy, 'isSameOrAfter millisecond should not change moment') }) test('is same or after with invalid moments', () => { const m = dayjs() const invalid = dayjs(null) expect(invalid.isSameOrAfter(invalid)).toBe(false, 'invalid moments are not considered equal') expect(m.isSameOrAfter(invalid)).toBe(false, 'valid moment is not after invalid moment') expect(invalid.isSameOrAfter(m)).toBe(false, 'invalid moment is not after valid moment') expect(m.isSameOrAfter(invalid, 'year')).toBe(false, 'invalid moment year') expect(m.isSameOrAfter(invalid, 'month')).toBe(false, 'invalid moment month') expect(m.isSameOrAfter(invalid, 'day')).toBe(false, 'invalid moment day') expect(m.isSameOrAfter(invalid, 'hour')).toBe(false, 'invalid moment hour') expect(m.isSameOrAfter(invalid, 'minute')).toBe(false, 'invalid moment minute') expect(m.isSameOrAfter(invalid, 'second')).toBe(false, 'invalid moment second') expect(m.isSameOrAfter(invalid, 'milliseconds')).toBe(false, 'invalid moment milliseconds') }) iamkun-dayjs-a25f01e/test/plugin/isSameOrBefore.test.js000066400000000000000000000364741520523163200231660ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from '../../src' import isSameOrBefore from '../../src/plugin/isSameOrBefore' dayjs.extend(isSameOrBefore) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) test('is same or before without units', () => { const m = dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)) const mCopy = dayjs(m) expect(m.isSameOrBefore(dayjs(new Date(2012, 3, 2, 3, 5, 5, 10)))).toBe(true, 'year is later') expect(m.isSameOrBefore(dayjs(new Date(2010, 3, 2, 3, 3, 5, 10)))).toBe(false, 'year is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 4, 2, 3, 4, 5, 10)))).toBe(true, 'month is later') expect(m.isSameOrBefore(dayjs(new Date(2011, 2, 2, 3, 4, 5, 10)))).toBe(false, 'month is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 3, 3, 3, 4, 5, 10)))).toBe(true, 'day is later') expect(m.isSameOrBefore(dayjs(new Date(2011, 3, 1, 3, 4, 5, 10)))).toBe(false, 'day is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 3, 2, 4, 4, 5, 10)))).toBe(true, 'hour is later') expect(m.isSameOrBefore(dayjs(new Date(2011, 3, 2, 2, 4, 5, 10)))).toBe(false, 'hour is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 3, 2, 3, 5, 5, 10)))).toBe(true, 'minute is later') expect(m.isSameOrBefore(dayjs(new Date(2011, 3, 2, 3, 3, 5, 10)))).toBe(false, 'minute is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 3, 2, 3, 4, 6, 10)))).toBe(true, 'second is later') expect(m.isSameOrBefore(dayjs(new Date(2011, 3, 2, 3, 4, 4, 11)))).toBe(false, 'second is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)))).toBe(true, 'millisecond match') expect(m.isSameOrBefore(dayjs(new Date(2011, 3, 2, 3, 4, 5, 11)))).toBe(true, 'millisecond is later') expect(m.isSameOrBefore(dayjs(new Date(2011, 3, 2, 3, 4, 5, 9)))).toBe(false, 'millisecond is earlier') expect(m.isSameOrBefore(m)).toBe(true, 'moments are the same as themselves') expect(+m).toEqual(+mCopy, 'isSameOrBefore second should not change moment') }) test('is same or before without date', () => { const past = dayjs().subtract(1, 'day') const future = dayjs().add(1, 'day') expect(past.isSameOrBefore()).toBe(true, 'past is before now') expect(future.isSameOrBefore()).toBe(false, 'future is not before now') }) test('is same or before year', () => { const m = dayjs(new Date(2011, 1, 2, 3, 4, 5, 6)) const mCopy = dayjs(m) expect(m.isSameOrBefore(dayjs(new Date(2011, 5, 6, 7, 8, 9, 10)), 'year')).toBe(true, 'year match') expect(m.isSameOrBefore(dayjs(new Date(2011, 5, 6, 7, 8, 9, 10)), 'years')).toBe(true, 'plural should work') expect(m.isSameOrBefore(dayjs(new Date(2012, 5, 6, 7, 8, 9, 10)), 'year')).toBe(true, 'year is later') expect(m.isSameOrBefore(dayjs(new Date(2010, 5, 6, 7, 8, 9, 10)), 'year')).toBe(false, 'year is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 0, 1, 0, 0, 0, 0)), 'year')).toBe(true, 'exact start of year') expect(m.isSameOrBefore(dayjs(new Date(2011, 11, 31, 23, 59, 59, 999)), 'year')).toBe(true, 'exact end of year') expect(m.isSameOrBefore(dayjs(new Date(2012, 0, 1, 0, 0, 0, 0)), 'year')).toBe(true, 'start of next year') expect(m.isSameOrBefore(dayjs(new Date(2010, 11, 31, 23, 59, 59, 999)), 'year')).toBe(false, 'end of previous year') expect(m.isSameOrBefore(m, 'year')).toBe(true, 'same moments are in the same year') expect(+m).toEqual(+mCopy, 'isSameOrBefore year should not change moment') }) test('is same or before month', () => { const m = dayjs(new Date(2011, 2, 3, 4, 5, 6, 7)) const mCopy = dayjs(m) expect(m.isSameOrBefore(dayjs(new Date(2011, 2, 6, 7, 8, 9, 10)), 'month')).toBe(true, 'month match') expect(m.isSameOrBefore(dayjs(new Date(2011, 2, 6, 7, 8, 9, 10)), 'months')).toBe(true, 'plural should work') expect(m.isSameOrBefore(dayjs(new Date(2012, 2, 6, 7, 8, 9, 10)), 'month')).toBe(true, 'year is later') expect(m.isSameOrBefore(dayjs(new Date(2010, 2, 6, 7, 8, 9, 10)), 'month')).toBe(false, 'year is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 5, 6, 7, 8, 9, 10)), 'month')).toBe(true, 'month is later') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 6, 7, 8, 9, 10)), 'month')).toBe(false, 'month is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 2, 1, 0, 0, 0, 0)), 'month')).toBe(true, 'exact start of month') expect(m.isSameOrBefore(dayjs(new Date(2011, 2, 31, 23, 59, 59, 999)), 'month')).toBe(true, 'exact end of month') expect(m.isSameOrBefore(dayjs(new Date(2011, 3, 1, 0, 0, 0, 0)), 'month')).toBe(true, 'start of next month') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 27, 23, 59, 59, 999)), 'month')).toBe(false, 'end of previous month') expect(m.isSameOrBefore(m, 'month')).toBe(true, 'same moments are in the same month') expect(+m).toEqual(+mCopy, 'isSameOrBefore month should not change moment') }) test('is same or before day', () => { const m = dayjs(new Date(2011, 1, 2, 3, 4, 5, 6)) const mCopy = dayjs(m) expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 7, 8, 9, 10)), 'day')).toBe(true, 'day match') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 7, 8, 9, 10)), 'days')).toBe(true, 'plural should work') expect(m.isSameOrBefore(dayjs(new Date(2012, 1, 2, 7, 8, 9, 10)), 'day')).toBe(true, 'year is later') expect(m.isSameOrBefore(dayjs(new Date(2010, 1, 2, 7, 8, 9, 10)), 'day')).toBe(false, 'year is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 2, 2, 7, 8, 9, 10)), 'day')).toBe(true, 'month is later') expect(m.isSameOrBefore(dayjs(new Date(2010, 12, 2, 7, 8, 9, 10)), 'day')).toBe(false, 'month is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 3, 7, 8, 9, 10)), 'day')).toBe(true, 'day is later') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 1, 7, 8, 9, 10)), 'day')).toBe(false, 'day is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 0, 0, 0, 0)), 'day')).toBe(true, 'exact start of day') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 23, 59, 59, 999)), 'day')).toBe(true, 'exact end of day') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 3, 0, 0, 0, 0)), 'day')).toBe(true, 'start of next day') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 1, 23, 59, 59, 999)), 'day')).toBe(false, 'end of previous day') expect(m.isSameOrBefore(m, 'day')).toBe(true, 'same moments are in the same day') expect(+m).toEqual(+mCopy, 'isSameOrBefore day should not change moment') }) test('is same or before hour', () => { const m = dayjs(new Date(2011, 1, 2, 3, 4, 5, 6)) const mCopy = dayjs(m) expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 3, 8, 9, 10)), 'hour')).toBe(true, 'hour match') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 3, 8, 9, 10)), 'hours')).toBe(true, 'plural should work') expect(m.isSameOrBefore(dayjs(new Date(2012, 1, 2, 3, 8, 9, 10)), 'hour')).toBe(true, 'year is later') expect(m.isSameOrBefore(dayjs(new Date(2010, 1, 2, 3, 8, 9, 10)), 'hour')).toBe(false, 'year is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 2, 2, 3, 8, 9, 10)), 'hour')).toBe(true, 'month is later') expect(m.isSameOrBefore(dayjs(new Date(2010, 12, 2, 3, 8, 9, 10)), 'hour')).toBe(false, 'month is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 3, 3, 8, 9, 10)), 'hour')).toBe(true, 'day is later') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 1, 3, 8, 9, 10)), 'hour')).toBe(false, 'day is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 4, 8, 9, 10)), 'hour')).toBe(true, 'hour is later') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 2, 8, 9, 10)), 'hour')).toBe(false, 'hour is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 3, 0, 0, 0)), 'hour')).toBe(true, 'exact start of hour') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 3, 59, 59, 999)), 'hour')).toBe(true, 'exact end of hour') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 4, 0, 0, 0)), 'hour')).toBe(true, 'start of next hour') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 2, 59, 59, 999)), 'hour')).toBe(false, 'end of previous hour') expect(m.isSameOrBefore(m, 'hour')).toBe(true, 'same moments are in the same hour') expect(+m).toEqual(+mCopy, 'isSameOrBefore hour should not change moment') }) test('is same or before minute', () => { const m = dayjs(new Date(2011, 1, 2, 3, 4, 5, 6)) const mCopy = dayjs(m) expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 3, 4, 9, 10)), 'minute')).toBe(true, 'minute match') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 3, 4, 9, 10)), 'minutes')).toBe(true, 'plural should work') expect(m.isSameOrBefore(dayjs(new Date(2012, 1, 2, 3, 4, 9, 10)), 'minute')).toBe(true, 'year is later') expect(m.isSameOrBefore(dayjs(new Date(2010, 1, 2, 3, 4, 9, 10)), 'minute')).toBe(false, 'year is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 2, 2, 3, 4, 9, 10)), 'minute')).toBe(true, 'month is later') expect(m.isSameOrBefore(dayjs(new Date(2010, 12, 2, 3, 4, 9, 10)), 'minute')).toBe(false, 'month is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 3, 3, 4, 9, 10)), 'minute')).toBe(true, 'day is later') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 1, 3, 4, 9, 10)), 'minute')).toBe(false, 'day is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 4, 4, 9, 10)), 'minute')).toBe(true, 'hour is later') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 2, 4, 9, 10)), 'minute')).toBe(false, 'hour is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 3, 5, 9, 10)), 'minute')).toBe(true, 'minute is later') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 3, 3, 9, 10)), 'minute')).toBe(false, 'minute is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 3, 4, 0, 0)), 'minute')).toBe(true, 'exact start of minute') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 3, 4, 59, 999)), 'minute')).toBe(true, 'exact end of minute') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 3, 5, 0, 0)), 'minute')).toBe(true, 'start of next minute') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 3, 3, 59, 999)), 'minute')).toBe(false, 'end of previous minute') expect(m.isSameOrBefore(m, 'minute')).toBe(true, 'same moments are in the same minute') expect(+m).toEqual(+mCopy, 'isSameOrBefore minute should not change moment') }) test('is same or before second', () => { const m = dayjs(new Date(2011, 1, 2, 3, 4, 5, 6)) const mCopy = dayjs(m) expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 3, 4, 5, 10)), 'second')).toBe(true, 'second match') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 3, 4, 5, 10)), 'seconds')).toBe(true, 'plural should work') expect(m.isSameOrBefore(dayjs(new Date(2012, 1, 2, 3, 4, 5, 10)), 'second')).toBe(true, 'year is later') expect(m.isSameOrBefore(dayjs(new Date(2010, 1, 2, 3, 4, 5, 10)), 'second')).toBe(false, 'year is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 2, 2, 3, 4, 5, 10)), 'second')).toBe(true, 'month is later') expect(m.isSameOrBefore(dayjs(new Date(2010, 12, 2, 3, 4, 5, 10)), 'second')).toBe(false, 'month is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 3, 3, 4, 5, 10)), 'second')).toBe(true, 'day is later') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 1, 3, 4, 5, 10)), 'second')).toBe(false, 'day is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 4, 4, 5, 10)), 'second')).toBe(true, 'hour is later') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 2, 4, 5, 10)), 'second')).toBe(false, 'hour is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 3, 5, 5, 10)), 'second')).toBe(true, 'minute is later') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 3, 3, 5, 10)), 'second')).toBe(false, 'minute is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 3, 4, 6, 10)), 'second')).toBe(true, 'second is later') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 3, 4, 4, 10)), 'second')).toBe(false, 'second is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 3, 4, 5, 0)), 'second')).toBe(true, 'exact start of second') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 3, 4, 5, 999)), 'second')).toBe(true, 'exact end of second') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 3, 4, 6, 0)), 'second')).toBe(true, 'start of next second') expect(m.isSameOrBefore(dayjs(new Date(2011, 1, 2, 3, 4, 4, 999)), 'second')).toBe(false, 'end of previous second') expect(m.isSameOrBefore(m, 'second')).toBe(true, 'same moments are in the same second') expect(+m).toEqual(+mCopy, 'isSameOrBefore second should not change moment') }) test('is same or before millisecond', () => { const m = dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)) const mCopy = dayjs(m) expect(m.isSameOrBefore(dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), 'millisecond')).toBe(true, 'millisecond match') expect(m.isSameOrBefore(dayjs(new Date(2011, 3, 2, 3, 4, 5, 10)), 'milliseconds')).toBe(true, 'plural should work') expect(m.isSameOrBefore(dayjs(new Date(2012, 3, 2, 3, 4, 5, 10)), 'millisecond')).toBe(true, 'year is later') expect(m.isSameOrBefore(dayjs(new Date(2010, 3, 2, 3, 4, 5, 10)), 'millisecond')).toBe(false, 'year is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 4, 2, 3, 4, 5, 10)), 'millisecond')).toBe(true, 'month is later') expect(m.isSameOrBefore(dayjs(new Date(2011, 2, 2, 3, 4, 5, 10)), 'millisecond')).toBe(false, 'month is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 3, 3, 3, 4, 5, 10)), 'millisecond')).toBe(true, 'day is later') expect(m.isSameOrBefore(dayjs(new Date(2011, 3, 1, 1, 4, 5, 10)), 'millisecond')).toBe(false, 'day is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 3, 2, 4, 4, 5, 10)), 'millisecond')).toBe(true, 'hour is later') expect(m.isSameOrBefore(dayjs(new Date(2011, 3, 1, 4, 1, 5, 10)), 'millisecond')).toBe(false, 'hour is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 3, 2, 3, 5, 5, 10)), 'millisecond')).toBe(true, 'minute is later') expect(m.isSameOrBefore(dayjs(new Date(2011, 3, 2, 3, 3, 5, 10)), 'millisecond')).toBe(false, 'minute is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 3, 2, 3, 4, 6, 10)), 'millisecond')).toBe(true, 'second is later') expect(m.isSameOrBefore(dayjs(new Date(2011, 3, 2, 3, 4, 4, 5)), 'millisecond')).toBe(false, 'second is earlier') expect(m.isSameOrBefore(dayjs(new Date(2011, 3, 2, 3, 4, 6, 11)), 'millisecond')).toBe(true, 'millisecond is later') expect(m.isSameOrBefore(dayjs(new Date(2011, 3, 2, 3, 4, 4, 9)), 'millisecond')).toBe(false, 'millisecond is earlier') expect(m.isSameOrBefore(m, 'millisecond')).toBe(true, 'same moments are in the same millisecond') expect(+m).toEqual(+mCopy, 'isSameOrBefore millisecond should not change moment') }) test('is same with invalid moments', () => { const m = dayjs() const invalid = dayjs(null) expect(invalid.isSameOrBefore(invalid)).toBe(false, 'invalid moments are not considered equal') expect(m.isSameOrBefore(invalid)).toBe(false, 'valid moment is not before invalid moment') expect(invalid.isSameOrBefore(m)).toBe(false, 'invalid moment is not before valid moment') expect(m.isSameOrBefore(invalid, 'year')).toBe(false, 'invalid moment year') expect(m.isSameOrBefore(invalid, 'month')).toBe(false, 'invalid moment month') expect(m.isSameOrBefore(invalid, 'day')).toBe(false, 'invalid moment day') expect(m.isSameOrBefore(invalid, 'hour')).toBe(false, 'invalid moment hour') expect(m.isSameOrBefore(invalid, 'minute')).toBe(false, 'invalid moment minute') expect(m.isSameOrBefore(invalid, 'second')).toBe(false, 'invalid moment second') expect(m.isSameOrBefore(invalid, 'milliseconds')).toBe(false, 'invalid moment milliseconds') }) iamkun-dayjs-a25f01e/test/plugin/isToday.test.js000066400000000000000000000005411520523163200217170ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from '../../src' import isToday from '../../src/plugin/isToday' dayjs.extend(isToday) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('is today', () => { expect(dayjs(new Date()).isToday()).toBeTruthy() expect(dayjs('2017-01-01').isToday()).toBeFalsy() }) iamkun-dayjs-a25f01e/test/plugin/isTomorrow.test.js000066400000000000000000000006211520523163200224660ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from '../../src' import isTomorrow from '../../src/plugin/isTomorrow' dayjs.extend(isTomorrow) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('is tomorrow', () => { expect(dayjs().add(1, 'day').isTomorrow()).toBeTruthy() expect(dayjs('2017-01-01').isTomorrow('2019-01-01', '2017-01-01')).toBeFalsy() }) iamkun-dayjs-a25f01e/test/plugin/isYesterday.test.js000066400000000000000000000006021520523163200226060ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from '../../src' import isYesterday from '../../src/plugin/isYesterday' dayjs.extend(isYesterday) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('is yesterday', () => { expect(dayjs().subtract(1, 'day').isYesterday()).toBeTruthy() expect(dayjs('2017-01-01').isYesterday()).toBeFalsy() }) iamkun-dayjs-a25f01e/test/plugin/isoWeek.test.js000066400000000000000000000122121520523163200217070ustar00rootroot00000000000000import MockDate from 'mockdate' import moment from 'moment' import dayjs from '../../src' import isoWeek from '../../src/plugin/isoWeek' import utc from '../../src/plugin/utc' dayjs.extend(isoWeek) dayjs.extend(utc) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('get isoWeek', () => { expect(dayjs().isoWeek()).toBe(moment().isoWeek()) }) it('set isoWeek', () => { expect(dayjs().isoWeek(1).valueOf()).toBe(moment().isoWeek(1).valueOf()) expect(dayjs().isoWeek(52).valueOf()).toBe(moment().isoWeek(52).valueOf()) }) it('get isoWeekYear', () => { expect(dayjs().isoWeekYear()).toBe(moment().isoWeekYear()) }) it('startOf/endOf isoWeek', () => { const ISOWEEK = 'isoWeek' expect(dayjs().startOf(ISOWEEK).valueOf()).toBe(moment().startOf(ISOWEEK).valueOf()) expect(dayjs().endOf(ISOWEEK).valueOf()).toBe(moment().endOf(ISOWEEK).valueOf()) }) it('isoWeekday', () => { expect(dayjs().isoWeekday()).toBe(moment().isoWeekday()) expect(dayjs('20200301').isoWeekday(1).valueOf()).toBe(moment('20200301').isoWeekday(1).valueOf()) // Sunday this.day() -> 0 for (let i = 0; i < 7; i += 1) { expect(dayjs().add(i, 'day').isoWeekday()).toBe(moment().add(i, 'day').isoWeekday()) expect(dayjs().isoWeekday(i).valueOf()).toBe(moment().isoWeekday(i).valueOf()) expect(dayjs().add(1, 'day').isoWeekday(i).valueOf()).toBe(moment().add(1, 'day').isoWeekday(i).valueOf()) } }) it('isoWeek of year', () => { expect(dayjs().isoWeek(1).isoWeek()).toBe(1) expect(dayjs().isoWeek(27).isoWeek()).toBe(27) expect(dayjs('20191223').isoWeekYear()).toBe(2019) expect(dayjs('20191223').isoWeek()).toBe(52) expect(dayjs('20191224').isoWeekYear()).toBe(2019) expect(dayjs('20191224').isoWeek()).toBe(52) expect(dayjs('20191225').isoWeekYear()).toBe(2019) expect(dayjs('20191225').isoWeek()).toBe(52) expect(dayjs('20191226').isoWeekYear()).toBe(2019) expect(dayjs('20191226').isoWeek()).toBe(52) expect(dayjs('20191227').isoWeekYear()).toBe(2019) expect(dayjs('20191227').isoWeek()).toBe(52) expect(dayjs('20191228').isoWeekYear()).toBe(2019) expect(dayjs('20191228').isoWeek()).toBe(52) expect(dayjs('20191229').isoWeekYear()).toBe(2019) expect(dayjs('20191229').isoWeek()).toBe(52) expect(dayjs('20191230').isoWeekYear()).toBe(2020) expect(dayjs('20191230').isoWeek()).toBe(1) expect(dayjs('20191231').isoWeekYear()).toBe(2020) expect(dayjs('20191231').isoWeek()).toBe(1) expect(dayjs('20200101').isoWeekYear()).toBe(2020) expect(dayjs('20200101').isoWeek()).toBe(1) expect(dayjs('20200102').isoWeekYear()).toBe(2020) expect(dayjs('20200102').isoWeek()).toBe(1) expect(dayjs('20200103').isoWeekYear()).toBe(2020) expect(dayjs('20200103').isoWeek()).toBe(1) expect(dayjs('20200104').isoWeekYear()).toBe(2020) expect(dayjs('20200104').isoWeek()).toBe(1) expect(dayjs('20200105').isoWeekYear()).toBe(2020) expect(dayjs('20200105').isoWeek()).toBe(1) expect(dayjs('20200106').isoWeekYear()).toBe(2020) expect(dayjs('20200106').isoWeek()).toBe(2) expect(dayjs('20200107').isoWeekYear()).toBe(2020) expect(dayjs('20200107').isoWeek()).toBe(2) expect(dayjs('20201223').isoWeekYear()).toBe(2020) expect(dayjs('20201223').isoWeek()).toBe(52) expect(dayjs('20201224').isoWeekYear()).toBe(2020) expect(dayjs('20201224').isoWeek()).toBe(52) expect(dayjs('20201225').isoWeekYear()).toBe(2020) expect(dayjs('20201225').isoWeek()).toBe(52) expect(dayjs('20201226').isoWeekYear()).toBe(2020) expect(dayjs('20201226').isoWeek()).toBe(52) expect(dayjs('20201227').isoWeekYear()).toBe(2020) expect(dayjs('20201227').isoWeek()).toBe(52) expect(dayjs('20201228').isoWeekYear()).toBe(2020) expect(dayjs('20201228').isoWeek()).toBe(53) expect(dayjs('20201229').isoWeekYear()).toBe(2020) expect(dayjs('20201229').isoWeek()).toBe(53) expect(dayjs('20201230').isoWeekYear()).toBe(2020) expect(dayjs('20201230').isoWeek()).toBe(53) expect(dayjs('20201231').isoWeekYear()).toBe(2020) expect(dayjs('20201231').isoWeek()).toBe(53) expect(dayjs('20210101').isoWeekYear()).toBe(2020) expect(dayjs('20210101').isoWeek()).toBe(53) expect(dayjs('20210102').isoWeekYear()).toBe(2020) expect(dayjs('20210102').isoWeek()).toBe(53) expect(dayjs('20210103').isoWeekYear()).toBe(2020) expect(dayjs('20210103').isoWeek()).toBe(53) expect(dayjs('20210104').isoWeekYear()).toBe(2021) expect(dayjs('20210104').isoWeek()).toBe(1) expect(dayjs('20210105').isoWeekYear()).toBe(2021) expect(dayjs('20210105').isoWeek()).toBe(1) expect(dayjs('20210106').isoWeekYear()).toBe(2021) expect(dayjs('20210106').isoWeek()).toBe(1) expect(dayjs('20210107').isoWeekYear()).toBe(2021) expect(dayjs('20210107').isoWeek()).toBe(1) expect(dayjs('20210108').isoWeekYear()).toBe(2021) expect(dayjs('20210108').isoWeek()).toBe(1) expect(dayjs('20210109').isoWeekYear()).toBe(2021) expect(dayjs('20210109').isoWeek()).toBe(1) expect(dayjs('20210110').isoWeekYear()).toBe(2021) expect(dayjs('20210110').isoWeek()).toBe(1) }) it('utc mode', () => { // Wednesday, 1 January 2020 00:00:00 UTC const d = dayjs.utc(1577836800000).isoWeek() expect(d).toBe(1) expect(moment.utc(1577836800000).isoWeek()).toBe(d) }) iamkun-dayjs-a25f01e/test/plugin/isoWeeksInYear.test.js000066400000000000000000000016731520523163200232130ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from '../../src' import isoWeeksInYear from '../../src/plugin/isoWeeksInYear' import isLeapYear from '../../src/plugin/isLeapYear' dayjs.extend(isoWeeksInYear) dayjs.extend(isLeapYear) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('isoWeeksInYear', () => { expect(dayjs('2004').isoWeeksInYear()).toBe(53) expect(dayjs('2005').isoWeeksInYear()).toBe(52) expect(dayjs('2006').isoWeeksInYear()).toBe(52) expect(dayjs('2007').isoWeeksInYear()).toBe(52) expect(dayjs('2008').isoWeeksInYear()).toBe(52) expect(dayjs('2009').isoWeeksInYear()).toBe(53) expect(dayjs('2010').isoWeeksInYear()).toBe(52) expect(dayjs('2011').isoWeeksInYear()).toBe(52) expect(dayjs('2012').isoWeeksInYear()).toBe(52) expect(dayjs('2013').isoWeeksInYear()).toBe(52) expect(dayjs('2014').isoWeeksInYear()).toBe(52) expect(dayjs('2015').isoWeeksInYear()).toBe(53) }) iamkun-dayjs-a25f01e/test/plugin/localeData.test.js000066400000000000000000000110301520523163200223270ustar00rootroot00000000000000import MockDate from 'mockdate' import moment from 'moment' import dayjs from '../../src' import '../../src/locale/fr' import '../../src/locale/ru' import '../../src/locale/zh-cn' import localeData from '../../src/plugin/localeData' import localizedFormat from '../../src/plugin/localizedFormat' dayjs.extend(localizedFormat) dayjs.extend(localeData) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) describe('Instance localeData', () => { ['zh-cn', 'en', 'fr'].forEach((lo) => { it(`Locale: ${lo}`, () => { dayjs.locale(lo) moment.locale(lo) const d = dayjs() const m = moment() const dayjsLocaleData = dayjs().localeData() const momentLocaleData = moment().localeData() expect(dayjsLocaleData.firstDayOfWeek()).toBe(momentLocaleData.firstDayOfWeek()) expect(dayjsLocaleData.months(d)).toBe(momentLocaleData.months(m)) expect(dayjsLocaleData.months()).toEqual(momentLocaleData.months()) expect(dayjsLocaleData.monthsShort(d)).toBe(momentLocaleData.monthsShort(m)) expect(dayjsLocaleData.monthsShort()).toEqual(momentLocaleData.monthsShort()) expect(dayjsLocaleData.weekdays(d)).toBe(momentLocaleData.weekdays(m)) expect(dayjsLocaleData.weekdays()).toEqual(momentLocaleData.weekdays()) expect(dayjsLocaleData.weekdaysMin(d)).toBe(momentLocaleData.weekdaysMin(m)) expect(dayjsLocaleData.weekdaysMin()).toEqual(momentLocaleData.weekdaysMin()) expect(dayjsLocaleData.weekdaysShort(d)).toBe(momentLocaleData.weekdaysShort(m)) expect(dayjsLocaleData.weekdaysShort()).toEqual(momentLocaleData.weekdaysShort()) const longDateFormats = ['LT', 'LTS', 'L', 'LL', 'LLL', 'LLLL', 'l', 'll', 'lll', 'llll'] longDateFormats.forEach((f) => { expect(dayjsLocaleData.longDateFormat(f)).toEqual(momentLocaleData.longDateFormat(f)) }) }) }) dayjs.locale('en') moment.locale('en') }) it('Global localeData', () => { ['zh-cn', 'en', 'fr'].forEach((lo) => { dayjs.locale(lo) moment.locale(lo) const dayjsLocaleData = dayjs.localeData() const momentLocaleData = moment.localeData() expect(dayjsLocaleData.firstDayOfWeek()).toBe(momentLocaleData.firstDayOfWeek()) expect(dayjsLocaleData.months()).toEqual(momentLocaleData.months()) expect(dayjsLocaleData.monthsShort()).toEqual(momentLocaleData.monthsShort()) expect(dayjsLocaleData.weekdays()).toEqual(momentLocaleData.weekdays()) expect(dayjsLocaleData.weekdaysShort()).toEqual(momentLocaleData.weekdaysShort()) expect(dayjsLocaleData.weekdaysMin()).toEqual(momentLocaleData.weekdaysMin()) const longDateFormats = ['LT', 'LTS', 'L', 'LL', 'LLL', 'LLLL', 'l', 'll', 'lll', 'llll'] longDateFormats.forEach((f) => { expect(dayjsLocaleData.longDateFormat(f)).toEqual(momentLocaleData.longDateFormat(f)) }) }) }) it('Listing the months and weekdays', () => { ['zh-cn', 'en', 'fr'].forEach((lo) => { dayjs.locale(lo) moment.locale(lo) expect(dayjs.months()).toEqual(moment.months()) expect(dayjs.monthsShort()).toEqual(moment.monthsShort()) expect(dayjs.weekdays()).toEqual(moment.weekdays()) expect(dayjs.weekdaysShort()).toEqual(moment.weekdaysShort()) expect(dayjs.weekdaysMin()).toEqual(moment.weekdaysMin()) }) }) it('Month function', () => { const dayjsLocaleData = dayjs().locale('ru').localeData() const momentLocaleData = moment().locale('ru').localeData() expect(dayjsLocaleData.months()).toEqual(momentLocaleData.months()) expect(dayjsLocaleData.monthsShort()).toEqual(momentLocaleData.monthsShort()) dayjs.locale('ru') moment.locale('ru') expect(dayjs.months()).toEqual(moment.months()) expect(dayjs.monthsShort()).toEqual(moment.monthsShort()) }) it('Locale order', () => { dayjs.locale('fr') moment.locale('fr') expect(dayjs.weekdays(true)).toEqual(moment.weekdays(true)) expect(dayjs.weekdaysShort(true)).toEqual(moment.weekdaysShort(true)) expect(dayjs.weekdaysMin(true)).toEqual(moment.weekdaysMin(true)) expect(dayjs.weekdays()).not.toEqual(dayjs.weekdays(true)) dayjs.locale('en') moment.locale('en') expect(dayjs.weekdays(true)).toEqual(moment.weekdays(true)) }) it('meridiem', () => { dayjs.locale('zh-cn') expect(typeof dayjs.localeData().meridiem).toEqual('function') expect(typeof dayjs().localeData().meridiem).toEqual('function') dayjs.locale('en') }) it('ordinal', () => { dayjs.locale('zh-cn') expect(typeof dayjs.localeData().ordinal).toEqual('function') expect(typeof dayjs().localeData().ordinal).toEqual('function') dayjs.locale('en') }) iamkun-dayjs-a25f01e/test/plugin/localizedFormat.test.js000066400000000000000000000071561520523163200234330ustar00rootroot00000000000000import MockDate from 'mockdate' import moment from 'moment' import dayjs from '../../src' import es from '../../src/locale/es' import znCn from '../../src/locale/zh-cn' import localizedFormat from '../../src/plugin/localizedFormat' dayjs.extend(localizedFormat) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Declares English localized formats', () => { expect(dayjs.en).toBeDefined() expect(dayjs.en.formats).toBeDefined(); ['LT', 'LTS', 'L', 'LL', 'LLL', 'LLLL'].forEach(option => expect(dayjs.en.formats[option]).toBeDefined()) }) it('Should not interpolate characters inside square brackets', () => { const date = new Date(0) const actualDate = dayjs(date) const expectedDate = moment(date) expect(actualDate.format('[l]')).toBe('l') expect(actualDate.format('YYYY [l] YYYY')).toBe('1970 l 1970') expect(actualDate.format('l [l] l')).toBe('1/1/1970 l 1/1/1970') expect(actualDate.format('[L LL LLL LLLL]')).toBe(expectedDate.format('[L LL LLL LLLL]')) const localeFormats = { L: '[MMMM MM DD dddd]' } const mockedDayJsLocale = { ...es, name: 'fake-locale', formats: { ...localeFormats } } const fakeDate = dayjs(date, { locale: mockedDayJsLocale }) expect(fakeDate.locale('fake-locale').format('l')).toEqual('MMMM MM DD dddd') }) it('Recognizes localized format options', () => { const { formats } = dayjs.en const date = dayjs(); ['LT', 'LTS', 'L', 'LL', 'LLL', 'LLLL'].forEach(option => expect(date.format(option)).toBe(date.format(formats[option]))) }) it('Uses correct English formats', () => { const date = new Date() const actualDate = dayjs(date) const expectedDate = moment(date); ['LT', 'LTS', 'L', 'LL', 'LLL', 'LLLL'].forEach(option => expect(actualDate.format(option)).toBe(expectedDate.format(option))) }) it('Uses English formats in other locales as default', () => { const date = new Date() const actualDate = dayjs(date) const expectedDate = moment(date) const mockLocale = { name: 'mock', weekdays: Array(7).fill(' '), months: Array(12).fill(' ') } expect(actualDate.locale(mockLocale).format('L')).toBe(expectedDate.format('L')) }) it('Leaves the default format intact', () => { const date = new Date() const actualDate = dayjs(date) const expectedDate = moment(date) expect(actualDate.format()).toBe(expectedDate.format()) }) it('Uses the locale of the dayjs instance', () => { const date = new Date() const englishDate = dayjs(date) const spanishDate = dayjs(date, { locale: es }) expect(englishDate.format('L LTS')).not.toBe(spanishDate.format('L LTS')) }) it('Uses the localized lowercase formats if defined', () => { const date = new Date() const znDate = dayjs(date, { locale: znCn }); ['l', 'll', 'lll', 'llll'].forEach(option => expect(znDate.format(option)).toBe(znDate.format(znCn.formats[option]))) }) it('Uses fallback to xx if xx-yy not available', () => { expect(dayjs('2019-02-01').locale('en-yy').format('MMMM')) .toBe('February') }) it('Uses xx-yy if xx-YY is provided', () => { expect(dayjs('2019-02-01').locale('es-US').format('MMMM')) .toBe('febrero') }) it('Uses the localized uppercase formats as a base for lowercase formats, if not defined', () => { const date = new Date() const spanishDate = dayjs(date, { locale: es }); ['l', 'll', 'lll', 'llll'].forEach((option) => { const upperCaseFormat = es.formats[option.toUpperCase()] const adaptedFormat = upperCaseFormat.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, (_, a, b) => a || b.slice(1)) expect(spanishDate.format(option)).toBe(spanishDate.format(adaptedFormat)) }) }) iamkun-dayjs-a25f01e/test/plugin/minMax.test.js000066400000000000000000000032671520523163200215440ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from '../../src' import minMax from '../../src/plugin/minMax' dayjs.extend(minMax) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) const arg1 = dayjs('2019-01-01') const arg2 = dayjs('2018-01-01') const arg3 = dayjs('2017-01-01') const arg4 = dayjs('Invalid Date') it('Return current time if no argument', () => { expect(dayjs.max()) .toBe(null) expect(dayjs.min()) .toBe(null) expect(dayjs.max(null)) .toBe(null) expect(dayjs.min(null)) .toBe(null) }) it('Return current time if passing empty array', () => { expect(dayjs.max([])) .toBe(null) expect(dayjs.min([])) .toBe(null) }) it('Compare between arguments', () => { expect(dayjs.max(arg1, arg2, arg3).format()) .toBe(arg1.format()) expect(dayjs.min(arg1, arg2, arg3).format()) .toBe(arg3.format()) }) it('Compare in array', () => { expect(dayjs.max([arg1, arg2, arg3]).format()) .toBe(arg1.format()) expect(dayjs.min([arg1, arg2, arg3]).format()) .toBe(arg3.format()) }) it('If Invalid Date return Invalid Date', () => { expect(dayjs.max(arg1, arg2, arg3, arg4).format()) .toBe(arg4.format()) expect(dayjs.min([arg1, arg2, arg3, arg4]).format()) .toBe(arg4.format()) }) it('Ignore if exists an "null" argument', () => { expect(dayjs.max(null, null, arg1, arg2, null, arg3).format()) .toBe(arg1.format()) expect(dayjs.min([null, null, arg1, arg2, null, arg3]).format()) .toBe(arg3.format()) }) it('Return the only date if just provided one argument', () => { expect(dayjs.max(arg1).format()) .toBe(arg1.format()) expect(dayjs.min([arg1]).format()) .toBe(arg1.format()) }) iamkun-dayjs-a25f01e/test/plugin/negativeYear.test.js000066400000000000000000000033061520523163200227300ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from 'dayjs' import negativeYear from '../../src/plugin/negativeYear' import utc from '../../src/plugin/utc' import { REGEX_PARSE } from '../../src/constant' dayjs.extend(negativeYear) dayjs.extend(utc) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) describe('negativeYear', () => { it('parses negative years', () => { expect(dayjs('-2020-01-01').year()).toBe(-2020) const date = '-2021/01/03' const date2 = '01/03/-2021' const date3 = '01-03--2021' const date4 = '-03-15' const d = date.match(REGEX_PARSE) expect(dayjs(date).format('YYYY-MM-DD')).toBe('-2021-01-03') expect(dayjs(date2).format('YYYY-MM-DD')).toBe('Invalid Date') expect(dayjs(date3).format()).toBe('Invalid Date') expect(dayjs(date4).format('YYYY-MM-DD')).toBe('2001-03-15') expect(d).toBe(null) }) it('does not parse non-negative years', () => { expect(dayjs('2020-01-01').year()).toBe(2020) }) it('works with other plugins', () => { expect(dayjs.utc('-2020-01-01').year()).toBe(-2020) }) it('Add and subtract with negative years', () => { expect(dayjs('-2006').add(1, 'y')).toEqual(dayjs('-2005')) expect(dayjs('-2006').subtract(1, 'y')).toEqual(dayjs('-2007')) expect(dayjs('-2006').add(1, 'y').format('YYYY')).toBe(dayjs('-2005').format('YYYY')) expect(dayjs('-2006').subtract(1, 'y').format('YYYY')).toBe(dayjs('-2007').format('YYYY')) }) it('Compare date with negative years', () => { expect(dayjs('-2006').isAfter(dayjs('-2007'))).toBeTruthy() expect(dayjs('-2006').isBefore(dayjs('-2005'))).toBeTruthy() expect(dayjs('-2006').isSame('-2006')).toBeTruthy() }) }) iamkun-dayjs-a25f01e/test/plugin/objectSupport.test.js000077500000000000000000000252221520523163200231540ustar00rootroot00000000000000import MockDate from 'mockdate' import moment from 'moment' import dayjs from '../../src' import objectSupport from '../../src/plugin/objectSupport' import quarterOfYear from '../../src/plugin/quarterOfYear' import utc from '../../src/plugin/utc' import utils from '../../src/utils' dayjs.extend(utc) dayjs.extend(quarterOfYear) dayjs.extend(objectSupport) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) const now = new Date() const currentYear = now.getFullYear() const currentMonth = utils.s(now.getMonth() + 1, 2, '0') const currentDate = utils.s(now.getDate(), 2, '0') const currentUTCYear = now.getUTCFullYear() const currentUTCMonth = utils.s(now.getUTCMonth() + 1, 2, '0') const currentUTCDate = utils.s(now.getUTCDate(), 2, '0') const fmt = 'YYYY-MM-DD HH:mm:ss.SSS' const tests = [ [{ year: 2010 }, '2010-01-01 00:00:00.000'], [{ year: 2010, month: 1 }, '2010-02-01 00:00:00.000'], [{ year: 2010, month: 1, day: 12 }, '2010-02-12 00:00:00.000'], [{ year: 2010, month: 1, date: 12 }, '2010-02-12 00:00:00.000'], [ { hour: 15, minute: 25, second: 50, millisecond: 125 }, `${currentYear}-${currentMonth}-${currentDate} 15:25:50.125`, `${currentUTCYear}-${currentUTCMonth}-${currentUTCDate} 15:25:50.125`], [ { year: 2010, month: 1, day: 12, hours: 1 }, '2010-02-12 01:00:00.000' ], [ { year: 2010, month: 1, date: 12, hours: 1 }, '2010-02-12 01:00:00.000' ], [ { year: 2010, month: 1, day: 12, hours: 1, minutes: 1 }, '2010-02-12 01:01:00.000' ], [ { year: 2010, month: 1, date: 12, hours: 1, minutes: 1 }, '2010-02-12 01:01:00.000' ], [ { year: 2010, month: 1, day: 12, hours: 1, minutes: 1, seconds: 1 }, '2010-02-12 01:01:01.000' ], [ { year: 2010, month: 1, day: 12, hours: 1, minutes: 1, seconds: 1, milliseconds: 1 }, '2010-02-12 01:01:01.001' ], [ { years: 2010, months: 1, days: 14, hours: 15, minutes: 25, seconds: 50, milliseconds: 125 }, '2010-02-14 15:25:50.125' ], [ { year: 2010, month: 1, day: 14, hour: 15, minute: 25, second: 50, millisecond: 125 }, '2010-02-14 15:25:50.125' ], [ { y: 2010, M: 1, d: 14, h: 15, m: 25, s: 50, ms: 125 }, '2010-02-14 15:25:50.125' ] ] describe('parse empty object', () => { it('local', () => { expect(dayjs({}).format()) .toBe(moment({}).format()) }) it('utc', () => { expect(dayjs.utc({}).format()) .toBe(moment.utc({}).format()) }) }) it('Constructor from Object', () => { for (let i = 0; i < tests.length; i += 1) { expect(dayjs(tests[i][0]).format(fmt)).toBe(tests[i][1]) expect(moment(tests[i][0]).format(fmt)).toBe(tests[i][1]) } }) it('Constructor from Object UTC', () => { for (let i = 0; i < tests.length; i += 1) { const result = tests[i][2] || tests[i][1] expect(dayjs.utc(tests[i][0]).format(fmt)).toBe(result) expect(moment.utc(tests[i][0]).format(fmt)).toBe(result) } }) it('Constructor from null should return Invalid Date', () => { expect(dayjs(null).isValid()).toBe(false) expect(moment(null).isValid()).toBe(false) }) it('Set from Object', () => { for (let i = 0; i < tests.length; i += 1) { expect(dayjs(now).set(tests[i][0]).format(fmt)).toBe(moment(now).set(tests[i][0]).format(fmt)) } }) it('add short reverse args', () => { const a = dayjs({ year: 2011, month: 9, date: 12, hour: 6, minute: 7, second: 8, millisecond: 500 }) expect(a.add({ ms: 50 }).millisecond()).toBe(550) expect(a.add({ s: 1 }).second()).toBe(9) expect(a.add({ m: 1 }).minute()).toBe(8) expect(a.add({ h: 1 }).hour()).toBe(7) expect(a.add({ d: 1 }).date()).toBe(13) expect(a.add({ w: 1 }).date()).toBe(19) expect(a.add({ M: 1 }).month()).toBe(10) expect(a.add({ y: 1 }).year()).toBe(2012) expect(a.add({ Q: 1 }).month()).toBe(0) const aM = moment({ year: 2011, month: 9, date: 12, hour: 6, minute: 7, second: 8, millisecond: 500 }) expect(aM.clone().add({ ms: 50 }).millisecond()).toBe(550) expect(aM.clone().add({ s: 1 }).second()).toBe(9) expect(aM.clone().add({ m: 1 }).minute()).toBe(8) expect(aM.clone().add({ h: 1 }).hour()).toBe(7) expect(aM.clone().add({ d: 1 }).date()).toBe(13) expect(aM.clone().add({ w: 1 }).date()).toBe(19) expect(aM.clone().add({ M: 1 }).month()).toBe(10) expect(aM.clone().add({ y: 1 }).year()).toBe(2012) expect(aM.clone().add({ Q: 1 }).month()).toBe(0) const b = dayjs([2010, 1, 31]).add({ M: 1 }) const c = dayjs([2010, 2, 28]).subtract({ M: 1 }) const d = dayjs([2010, 2, 28]).subtract({ Q: 1 }) expect(b.month()).toBe(1) expect(b.date()).toBe(28) expect(c.month()).toBe(0) expect(c.date()).toBe(28) expect(d.month()).toBe(10) expect(d.date()).toBe(28) expect(d.year()).toBe(2009) }) it('add long reverse args', () => { const a = dayjs({ year: 2011, month: 9, date: 12, hour: 6, minute: 7, second: 8, millisecond: 500 }) expect(a.add({ milliseconds: 50 }).millisecond()).toBe(550) expect(a.add({ seconds: 1 }).second()).toBe(9) expect(a.add({ minutes: 1 }).minute()).toBe(8) expect(a.add({ hours: 1 }).hour()).toBe(7) expect(a.add({ days: 1 }).date()).toBe(13) expect(a.add({ weeks: 1 }).date()).toBe(19) expect(a.add({ months: 1 }).month()).toBe(10) expect(a.add({ years: 1 }).year()).toBe(2012) expect(a.add({ quarters: 1 }).month()).toBe(0) }) it('add long singular reverse args', () => { const a = dayjs({ year: 2011, month: 9, date: 12, hour: 6, minute: 7, second: 8, millisecond: 500 }) expect(a.add({ millisecond: 50 }).millisecond()).toBe(550) expect(a.add({ second: 1 }).second()).toBe(9) expect(a.add({ minute: 1 }).minute()).toBe(8) expect(a.add({ hour: 1 }).hour()).toBe(7) expect(a.add({ day: 1 }).date()).toBe(13) expect(a.add({ week: 1 }).date()).toBe(19) expect(a.add({ month: 1 }).month()).toBe(10) expect(a.add({ year: 1 }).year()).toBe(2012) expect(a.add({ quarter: 1 }).month()).toBe(0) }) it('add string long', () => { const a = dayjs({ year: 2011, month: 9, date: 12, hour: 6, minute: 7, second: 8, millisecond: 500 }) expect(a.add(50, 'millisecond').millisecond()).toBe(550) expect(a.add(1, 'second').second()).toBe(9) expect(a.add(1, 'minute').minute()).toBe(8) expect(a.add(1, 'hour').hour()).toBe(7) expect(a.add(1, 'day').date()).toBe(13) expect(a.add(1, 'week').date()).toBe(19) expect(a.add(1, 'month').month()).toBe(10) expect(a.add(1, 'year').year()).toBe(2012) expect(a.add(1, 'quarter').month()).toBe(0) }) it('add string long singular', () => { const a = dayjs({ year: 2011, month: 9, date: 12, hour: 6, minute: 7, second: 8, millisecond: 500 }) expect(a.add(50, 'milliseconds').millisecond()).toBe(550) expect(a.add(1, 'seconds').second()).toBe(9) expect(a.add(1, 'minutes').minute()).toBe(8) expect(a.add(1, 'hours').hour()).toBe(7) expect(a.add(1, 'days').date()).toBe(13) expect(a.add(1, 'weeks').date()).toBe(19) expect(a.add(1, 'months').month()).toBe(10) expect(a.add(1, 'years').year()).toBe(2012) expect(a.add(1, 'quarters').month()).toBe(0) }) it('add string short', () => { const a = dayjs({ year: 2011, month: 9, date: 12, hour: 6, minute: 7, second: 8, millisecond: 500 }) expect(a.add(50, 'ms').millisecond()).toBe(550) expect(a.add(1, 's').second()).toBe(9) expect(a.add(1, 'm').minute()).toBe(8) expect(a.add(1, 'h').hour()).toBe(7) expect(a.add(1, 'd').date()).toBe(13) expect(a.add(1, 'w').date()).toBe(19) expect(a.add(1, 'M').month()).toBe(10) expect(a.add(1, 'y').year()).toBe(2012) expect(a.add(1, 'Q').month()).toBe(0) }) it('add strings string short', () => { const a = dayjs({ year: 2011, month: 9, date: 12, hour: 6, minute: 7, second: 8, millisecond: 500 }) expect(a.add('50', 'ms').millisecond()).toBe(550) expect(a.add('1', 's').second()).toBe(9) expect(a.add('1', 'm').minute()).toBe(8) expect(a.add('1', 'h').hour()).toBe(7) expect(a.add('1', 'd').date()).toBe(13) expect(a.add('1', 'w').date()).toBe(19) expect(a.add('1', 'M').month()).toBe(10) expect(a.add('1', 'y').year()).toBe(2012) expect(a.add('1', 'Q').month()).toBe(0) }) it('add no string with milliseconds default', () => { const a = dayjs({ year: 2011, month: 9, date: 12, hour: 6, minute: 7, second: 8, millisecond: 500 }) expect(a.add(50).millisecond()).toBe(550) }) it('subtract strings string short', () => { const a = dayjs({ year: 2011, month: 9, date: 12, hour: 6, minute: 7, second: 8, millisecond: 500 }) expect(a.subtract('50', 'ms').millisecond()).toBe(450) expect(a.subtract('1', 's').second()).toBe(7) expect(a.subtract('1', 'm').minute()).toBe(6) expect(a.subtract('1', 'h').hour()).toBe(5) expect(a.subtract('1', 'd').date()).toBe(11) expect(a.subtract('1', 'w').date()).toBe(5) expect(a.subtract('1', 'M').month()).toBe(8) expect(a.subtract('1', 'y').year()).toBe(2010) expect(a.subtract('1', 'Q').month()).toBe(6) }) it('add decimal values of days and months', () => { expect(dayjs([2016, 4, 3]).add(1.6, 'days').date()).toBe(5) expect(dayjs([2016, 4, 3]).add(-1.6, 'days').date()).toBe(1) expect(dayjs([2016, 4, 1]).add(-1.6, 'days').date()).toBe(30) expect(dayjs([2016, 4, 3]).add(1.6, 'months').month()).toBe(4) expect(dayjs([2016, 4, 3]).add(-1.6, 'months').month()).toBe(1) expect(dayjs([2016, 1, 3]).add(-1.6, 'months').month()).toBe(11) expect(dayjs([2016, 4, 3]).subtract(1.6, 'days').date()).toBe(1) expect(dayjs([2016, 4, 2]).subtract(1.6, 'days').date()).toBe(31) expect(dayjs([2016, 2, 1]).subtract(1.1, 'days').date()).toBe(31) expect(dayjs([2016, 4, 3]).subtract(-1.6, 'days').date()).toBe(5) expect(dayjs([2016, 4, 30]).subtract(-1.6, 'days').date()).toBe(2) expect(dayjs([2016, 4, 3]).subtract(1.6, 'months').month()).toBe(1) expect(dayjs([2016, 4, 3]).subtract(-1.6, 'months').month()).toBe(4) expect(dayjs([2016, 12, 31]).subtract(-1.6, 'months').month()).toBe(0) expect(dayjs([2016, 1, 1]).add(1.6, 'years').format('YYYY-MM-DD')).toBe('2017-01-01') expect(dayjs([2016, 7, 1]).add(1.6, 'years').format('YYYY-MM-DD')).toBe('2017-07-01') expect(dayjs([2016, 1, 1]).add(1.1, 'quarters').format('YYYY-MM-DD')).toBe('2016-04-01') }) it('returns valid date on undefined', () => { expect(dayjs().isValid()).toBe(true) }) it('returns invalid date on null', () => { expect(dayjs(null).isValid()).toBe(false) }) iamkun-dayjs-a25f01e/test/plugin/pluralGetSet.test.js000066400000000000000000000113321520523163200227160ustar00rootroot00000000000000import MockDate from 'mockdate' import moment from 'moment' import dayjs from '../../src' import pluralGetSet from '../../src/plugin/pluralGetSet' dayjs.extend(pluralGetSet) const warnBackup = global.console.warn beforeEach(() => { MockDate.set(new Date()) global.console.warn = jest.genMockFunction() // moment.js .years, .dates, .months will throw warn }) afterEach(() => { MockDate.reset() global.console.warn = warnBackup }) it('Years', () => { expect(dayjs().get('years')).toBe(moment().get('years')) expect(dayjs().years()).toBe(moment().years()) expect(dayjs().years(0).valueOf()).toBe(moment().years(0).valueOf()) expect(dayjs().years(2000).valueOf()).toBe(moment().years(2000).valueOf()) }) it('Months', () => { expect(dayjs().get('months')).toBe(moment().get('months')) expect(dayjs().months()).toBe(moment().months()) expect(dayjs().months(0).valueOf()).toBe(moment().months(0).valueOf()) expect(dayjs().months(1).valueOf()).toBe(moment().months(1).valueOf()) }) it('Days of Week', () => { expect(dayjs().get('days')).toBe(moment().get('days')) expect(dayjs().days()).toBe(moment().days()) expect(dayjs().days(0).format()).toBe(moment().days(0).format()) expect(dayjs().days(1).format()).toBe(moment().days(1).format()) }) it('Dates', () => { expect(dayjs().get('dates')).toBe(moment().get('dates')) expect(dayjs().dates()).toBe(moment().dates()) expect(dayjs().dates(0).valueOf()).toBe(moment().dates(0).valueOf()) expect(dayjs().dates(1).valueOf()).toBe(moment().dates(1).valueOf()) }) it('Hours', () => { expect(dayjs().get('hours')).toBe(moment().get('hours')) expect(dayjs().hours()).toBe(moment().hours()) expect(dayjs().hours(0).valueOf()).toBe(moment().hours(0).valueOf()) expect(dayjs().hours(1).valueOf()).toBe(moment().hours(1).valueOf()) }) it('Minutes', () => { expect(dayjs().get('minutes')).toBe(moment().get('minutes')) expect(dayjs().minutes()).toBe(moment().minutes()) expect(dayjs().minutes(0).valueOf()).toBe(moment().minutes(0).valueOf()) expect(dayjs().minutes(1).valueOf()).toBe(moment().minutes(1).valueOf()) }) it('Seconds', () => { expect(dayjs().get('seconds')).toBe(moment().get('seconds')) expect(dayjs().seconds()).toBe(moment().seconds()) expect(dayjs().seconds(0).valueOf()).toBe(moment().seconds(0).valueOf()) expect(dayjs().seconds(1).valueOf()).toBe(moment().seconds(1).valueOf()) }) it('Milliseconds', () => { expect(dayjs().get('milliseconds')).toBe(moment().get('milliseconds')) expect(dayjs().milliseconds()).toBe(moment().milliseconds()) expect(dayjs().milliseconds(0).valueOf()).toBe(moment().milliseconds(0).valueOf()) expect(dayjs().milliseconds(1).valueOf()).toBe(moment().milliseconds(1).valueOf()) }) it('Set Dates', () => { expect(dayjs().date(30).valueOf()).toBe(moment().dates(30).valueOf()) expect(dayjs().set('dates', 30).valueOf()).toBe(moment().set('dates', 30).valueOf()) }) it('Set Days of Week', () => { expect(dayjs().days(0).valueOf()).toBe(moment().days(0).valueOf()) expect(dayjs().set('days', 0).valueOf()).toBe(moment().set('days', 0).valueOf()) }) it('Set Months', () => { expect(dayjs().months(11).valueOf()).toBe(moment().months(11).valueOf()) expect(dayjs().set('months', 11).valueOf()).toBe(moment().set('months', 11).valueOf()) }) it('Set Years', () => { expect(dayjs().years(2008).valueOf()).toBe(moment().year(2008).valueOf()) expect(dayjs().set('years', 2008).valueOf()).toBe(moment().set('years', 2008).valueOf()) }) it('Set Hours', () => { expect(dayjs().set('hours', 6).valueOf()).toBe(moment().set('hours', 6).valueOf()) expect(dayjs().hours(6).valueOf()).toBe(moment().hours(6).valueOf()) }) it('Set Minutes', () => { expect(dayjs().minutes(59).valueOf()).toBe(moment().minutes(59).valueOf()) expect(dayjs().set('minutes', 59).valueOf()).toBe(moment().set('minutes', 59).valueOf()) }) it('Set Seconds', () => { expect(dayjs().seconds(59).valueOf()).toBe(moment().seconds(59).valueOf()) expect(dayjs().set('second', 59).valueOf()).toBe(moment().set('second', 59).valueOf()) }) it('Set Milliseconds', () => { expect(dayjs().milliseconds(999).valueOf()).toBe(moment().milliseconds(999).valueOf()) expect(dayjs().set('millisecond', 999).valueOf()).toBe(moment().set('millisecond', 999).valueOf()) }) it('Set Month and Year in last day of month', () => { // 2011-07-31 -> 2011-02-28 const origin = dayjs('2011-07-31T14:48:00.000Z') const setMonth = origin.set('month', 1) expect(setMonth.months()).toBe(1) expect(origin.dates()).toBe(31) expect(setMonth.dates()).toBe(28) // 2000-02-29 -> 2001-02-28 const origin2 = dayjs('2000-02-29T14:48:00.000Z') const setYear = origin2.set('years', 2001) expect(setYear.months()).toBe(1) expect(origin2.dates()).toBe(29) expect(setYear.dates()).toBe(28) }) iamkun-dayjs-a25f01e/test/plugin/preParsePostFormat.test.js000077500000000000000000000075161520523163200241170ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from '../../src' import preParsePostFormat from '../../src/plugin/preParsePostFormat' import localeData from '../../src/plugin/localeData' import duration from '../../src/plugin/duration' import calendar from '../../src/plugin/calendar' import objectSupport from '../../src/plugin/objectSupport' import customParseFormat from '../../src/plugin/customParseFormat' import relativeTime from '../../src/plugin/relativeTime' import utc from '../../src/plugin/utc' import arraySupport from '../../src/plugin/arraySupport' import en from '../../src/locale/en' dayjs.extend(utc) dayjs.extend(localeData) dayjs.extend(customParseFormat) dayjs.extend(arraySupport) dayjs.extend(objectSupport) dayjs.extend(calendar) dayjs.extend(duration) dayjs.extend(relativeTime) dayjs.extend(preParsePostFormat) const symbolMap = { 1: '!', 2: '@', 3: '#', 4: '$', 5: '%', 6: '^', 7: '&', 8: '*', 9: '(', 0: ')' } const numberMap = { '!': '1', '@': '2', '#': '3', $: '4', '%': '5', '^': '6', '&': '7', '*': '8', '(': '9', ')': '0' } const localeCustomizations = { ...en, preparse(string) { if (typeof string !== 'string') { throw new Error(`preparse - Expected string, got ${typeof string}`) } try { return string.replace(/[!@#$%^&*()]/g, match => numberMap[match]) } catch (error) { throw new Error(`Unexpected error during preparse of '${string}' - ${error}`) } }, postformat(string) { if (typeof string !== 'string') { throw new Error(`postformat - Expected string, got ${typeof string}`) } try { return string.replace(/\d/g, match => symbolMap[match]) } catch (error) { throw new Error(`Unexpected error during postFormat of '${string}' - ${error}`) } } } beforeEach(() => { MockDate.set(new Date()) dayjs.locale('symbol', localeCustomizations) }) afterEach(() => { MockDate.reset() dayjs.locale('symbol', null) }) describe('preparse and postformat', () => { describe('transform', () => { const TEST_DATE = '@)!@-)*-@&' const TEST_NUM = 1346025600 it('preparse string + format', () => expect(dayjs.utc(TEST_DATE, 'YYYY-MM-DD').unix()).toBe(TEST_NUM)) it('preparse ISO8601 string', () => expect(dayjs.utc(TEST_DATE).unix()).toBe(TEST_NUM)) it('postformat', () => expect(dayjs .unix(TEST_NUM) .utc() .format('YYYY-MM-DD')) .toBe(TEST_DATE)) }) describe('transform from', () => { dayjs.locale('symbol', localeCustomizations) const start = dayjs([2007, 1, 28]) const t1 = dayjs([2007, 1, 28]).add({ s: 90 }) it('postformat should work on dayjs.fn.from', () => expect(start.from(t1, true)).toBe('@ minutes')) const t2 = dayjs().add(6, 'd') it('postformat should work on dayjs.fn.fromNow', () => expect(t2.fromNow(true)).toBe('^ days')) it('postformat should work on dayjs.duration.fn.humanize', () => expect(dayjs.duration(10, 'h').humanize()).toBe('!) hours')) }) }) describe('calendar day', () => { const a = dayjs() .hour(12) .minute(0) .second(0) it('today at the same time', () => expect(dayjs(a).calendar()).toBe('Today at !@:)) PM')) it('Now plus 25 min', () => expect(dayjs(a) .add({ m: 25 }) .calendar()) .toBe('Today at !@:@% PM')) it('Now plus 1 hour', () => expect(dayjs(a) .add({ h: 1 }) .calendar()) .toBe('Today at !:)) PM')) it('tomorrow at the same time', () => expect(dayjs(a) .add({ d: 1 }) .calendar()) .toBe('Tomorrow at !@:)) PM')) it('Now minus 1 hour', () => expect(dayjs(a) .subtract({ h: 1 }) .calendar()) .toBe('Today at !!:)) AM')) it('yesterday at the same time', () => expect(dayjs(a) .subtract({ d: 1 }) .calendar()) .toBe('Yesterday at !@:)) PM')) }) iamkun-dayjs-a25f01e/test/plugin/quarterOfYear.test.js000066400000000000000000000032711520523163200230770ustar00rootroot00000000000000import MockDate from 'mockdate' import moment from 'moment' import dayjs from '../../src' import quarterOfYear from '../../src/plugin/quarterOfYear' dayjs.extend(quarterOfYear) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('get QuarterOfYear', () => { expect(dayjs('2013-01-01T00:00:00.000').quarter()).toBe(1) expect(dayjs('2013-04-01T00:00:00.000').subtract(1, 'ms').quarter()).toBe(1) expect(dayjs('2013-04-01T00:00:00.000').quarter()).toBe(2) expect(dayjs('2013-07-01T00:00:00.000').subtract(1, 'ms').quarter()).toBe(2) expect(dayjs('2013-07-01T00:00:00.000').quarter()).toBe(3) expect(dayjs('2013-10-01T00:00:00.000').subtract(1, 'ms').quarter()).toBe(3) expect(dayjs('2013-10-01T00:00:00.000').quarter()).toBe(4) expect(dayjs('2014-01-01T00:00:00.000').subtract(1, 'ms').quarter()).toBe(4) }) it('set QuarterOfYear', () => { const d1 = '2013-01-01T00:00:00.000' expect(dayjs(d1).quarter(2).format()) .toBe(moment(d1).quarter(2).format()) const d2 = '2013-02-05T05:06:07.000' expect(dayjs(d2).quarter(2).format()) .toBe(moment(d2).quarter(2).format()) const d3 = '2018-11-25T05:06:07.000' expect(dayjs(d3).quarter(3).format()) .toBe(moment(d3).quarter(3).format()) }) it('add subtract quarter', () => { expect(dayjs().add(2, 'quarter').format()) .toBe(moment().add(2, 'quarter').format()) expect(dayjs().subtract(2, 'quarter').format()) .toBe(moment().subtract(2, 'quarter').format()) }) it('startOf endOf quarter', () => { expect(dayjs().startOf('quarter').format()) .toBe(moment().startOf('quarter').format()) expect(dayjs().endOf('quarter').format()) .toBe(moment().endOf('quarter').format()) }) iamkun-dayjs-a25f01e/test/plugin/relativeTime.test.js000066400000000000000000000117001520523163200227340ustar00rootroot00000000000000import MockDate from 'mockdate' import moment from 'moment' import dayjs from '../../src' import * as C from '../../src/constant' import relativeTime from '../../src/plugin/relativeTime' import updateLocale from '../../src/plugin/updateLocale' import utc from '../../src/plugin/utc' import '../../src/locale/ru' dayjs.extend(relativeTime) beforeEach(() => { MockDate.set(new Date('2018-04-04T16:00:00.000Z')) }) afterEach(() => { MockDate.reset() }) it('Time from X', () => { const T = [ [0, 'second'], // a few seconds [1, 'second'], // a few seconds [44, 'second'], // a few seconds [44.4, 'second'], // a few seconds [44.5, 'second'], // a minute [45, 'second'], // a minute [1, 'minute'], // a minute [89, 'second'], // a minute [89.4, 'second'], // a minute [89.5, 'second'], // a minute [90, 'second'], // 2 minutes [44, 'minute'], // 44 minutes [44.4, 'minute'], [44.5, 'minute'], [45, 'minute'], // an hour [1, 'hour'], // an hour [89, 'minute'], // an hour [89.4, 'minute'], [89.5, 'minute'], [90, 'minute'], // 2 hours [21, 'hour'], // 21 hours [21.4, 'hour'], [21.5, 'hour'], [22, 'hour'], // a day [1, 'day'], // a day [35, 'hour'], // a day [35.4, 'hour'], [35.5, 'hour'], [36, 'hour'], // 2 days [25, 'day'], // 25 days [26, 'day'], // a month [1, 'month'], // a month [45, 'day'], // a month [47, 'day'], // 2 month [10, 'month'], // 10 month [11, 'month'], // a year [1, 'year'], // a year [17, 'month'], // a year [18, 'month'] // 2 years ] T.forEach((t) => { expect(dayjs().from(dayjs().add(t[0], t[1]))).toBe(moment().from(moment().add(t[0], t[1]))) }) // withoutSuffix expect(dayjs().from(dayjs().add(3, 'year'), true)).toBe(moment().from(moment().add(3, 'year'), true)) // past date expect(dayjs().from(dayjs().subtract(3, 'year'))).toBe(moment().from(moment().subtract(3, 'year'))) }) it('Time from now', () => { expect(dayjs().fromNow()).toBe(moment().fromNow()) expect(dayjs().fromNow(true)).toBe(moment().fromNow(true)) }) it('Time to now', () => { expect(dayjs().toNow()).toBe(moment().toNow()) expect(dayjs().toNow(true)).toBe(moment().toNow(true)) }) it('Time to X', () => { // withoutSuffix expect(dayjs().to(dayjs().add(3, 'year'), true)).toBe(moment().to(moment().add(3, 'year'), true)) // past date expect(dayjs().to(dayjs().subtract(3, 'year'))).toBe(moment().to(moment().subtract(3, 'year'))) }) it('Locale Function', () => { // e.g. in ru locale, m: x minute require additional processing // and provides as a function instead of a string const str0 = '2020-01-06 15:53:00' const str = '2020-01-06 15:52:15' const result = dayjs(str0).locale('ru').to(str) expect(result).toEqual(expect.any(String)) }) // https://github.com/iamkun/dayjs/issues/646 it('Time from now with UTC', () => { dayjs.extend(utc) expect(dayjs.utc().fromNow()).toBe(moment.utc().fromNow()) const currentTime = new Date() const currentTimestamp = currentTime.getTime() const currentTimestampAfter37hrs = currentTimestamp + (37 * 60 * 60 * 1000) let dutc = dayjs.utc(currentTimestampAfter37hrs) let mutc = moment.utc(currentTimestampAfter37hrs) expect(dutc.fromNow()).toBe(mutc.fromNow()) // More precise const currentTimestampAfter36hrs = currentTimestamp + (36.0001 * 60 * 60 * 1000) dutc = dayjs.utc(currentTimestampAfter36hrs) mutc = moment.utc(currentTimestampAfter36hrs) expect(dutc.fromNow()).toBe(mutc.fromNow()) }) it('Custom thresholds and rounding support', () => { expect(dayjs().subtract(45, 'm').fromNow()).toBe('an hour ago') delete relativeTime.$i // this allow plugin to be installed again dayjs.extend(relativeTime, { rounding: Math.floor, thresholds: [ { l: 's', r: 1 }, { l: 'm', r: 1 }, { l: 'mm', r: 59, d: C.MIN }, { l: 'h', r: 1 }, { l: 'hh', r: 23, d: C.H }, { l: 'd', r: 1 }, { l: 'dd', r: 29, d: C.D }, { l: 'M', r: 1 }, { l: 'MM', r: 11, d: C.M }, { l: 'y' }, { l: 'yy', d: C.Y } ] }) expect(dayjs().subtract(45, 'm').fromNow()).toBe('45 minutes ago') }) it('Locale without relativeTime config fallback', () => { expect(dayjs().locale({ name: 'test-locale' }).fromNow()).toEqual(expect.any(String)) }) it('Past and Future keys should support function for additional processing', () => { dayjs.extend(updateLocale) dayjs.updateLocale('en', { relativeTime: { future: input => `${input} modified`, past: input => `${input} modified`, s: 'just now', m: ' 1 min', mm: '%d min', h: '1 hr', hh: '%d hrs', d: 'a day', dd: '%d days', M: 'a month', MM: '%d months', y: 'a year', yy: '%d years' } }) const past = Date.now() - 1000 expect(dayjs(past).fromNow()).toEqual(' 1 min modified') const future = Date.now() + 1000 expect(dayjs(future).fromNow()).toEqual(' 1 min modified') }) iamkun-dayjs-a25f01e/test/plugin/timezone.test.js000066400000000000000000000277761520523163200221600ustar00rootroot00000000000000import MockDate from 'mockdate' import moment from 'moment-timezone' import dayjs from '../../src' import timezone from '../../src/plugin/timezone' import customParseFormat from '../../src/plugin/customParseFormat' import utc from '../../src/plugin/utc' dayjs.extend(utc) dayjs.extend(timezone) dayjs.extend(customParseFormat) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) const NY = 'America/New_York' const VAN = 'America/Vancouver' const DEN = 'America/Denver' const TOKYO = 'Asia/Tokyo' const PARIS = 'Europe/Paris' describe('Guess', () => { it('return string', () => { expect(typeof dayjs.tz.guess()).toBe('string') }) }) describe('Parse', () => { it('parse target time string', () => { const newYork = dayjs.tz('2014-06-01 12:00', NY) const MnewYork = moment.tz('2014-06-01 12:00', NY) expect(newYork.format()).toBe('2014-06-01T12:00:00-04:00') expect(newYork.format()).toBe(MnewYork.format()) expect(newYork.utcOffset()).toBe(-240) expect(newYork.utcOffset()).toBe(MnewYork.utcOffset()) expect(newYork.valueOf()).toBe(1401638400000) expect(newYork.valueOf()).toBe(MnewYork.valueOf()) }) it('parse timestamp, js Date, Day.js object', () => { const d = new Date('2020-08-07T12:00-07:00') const result = '2020-08-07T12:00:00-07:00' const TjsDate = dayjs.tz(d, VAN) const Tdayjs = dayjs.tz(dayjs(d), VAN) const Timestamp = dayjs.tz(d.getTime(), VAN) const Tmoment = moment.tz(d, VAN) expect(TjsDate.format()).toBe(result) expect(Tdayjs.format()).toBe(result) expect(Timestamp.format()).toBe(result) expect(Tmoment.format()).toBe(result) }) it('parse and convert between timezones', () => { const newYork = dayjs.tz('2014-06-01 12:00', NY) expect(newYork.tz('America/Los_Angeles').format()).toBe('2014-06-01T09:00:00-07:00') expect(newYork.tz('Europe/London').format()).toBe('2014-06-01T17:00:00+01:00') }) it('preserve milliseconds', () => { const d = dayjs(1596735327399) const oldMs = d.millisecond() const dTz = d.tz('America/New_York') const newMs = dTz.millisecond() expect(oldMs).toEqual(newMs) }) }) describe('Convert', () => { it('convert to target time', () => { const losAngeles = dayjs('2014-06-01T12:00:00Z').tz('America/Los_Angeles') const MlosAngeles = moment('2014-06-01T12:00:00Z').tz('America/Los_Angeles') expect(losAngeles.format()).toBe('2014-06-01T05:00:00-07:00') expect(losAngeles.format()).toBe(MlosAngeles.format()) expect(losAngeles.valueOf()).toBe(1401624000000) expect(losAngeles.valueOf()).toBe(MlosAngeles.valueOf()) expect(losAngeles.utcOffset()).toBe(-420) expect(losAngeles.utcOffset()).toBe(MlosAngeles.utcOffset()) }) it('convert to target time', () => { [dayjs, moment].forEach((_) => { const losAngeles = _('2014-06-01T12:00:00Z').tz('America/Los_Angeles') expect(losAngeles.format()).toBe('2014-06-01T05:00:00-07:00') expect(losAngeles.valueOf()).toBe(1401624000000) }) }) it('convert from time with timezone to target time', () => { const losAngelesInUTC = dayjs('2014-06-01T05:00:00-07:00').tz('UTC') const MlosAngelesInUTC = moment('2014-06-01T05:00:00-07:00').tz('UTC') expect(losAngelesInUTC.format()).toBe('2014-06-01T12:00:00Z') expect(losAngelesInUTC.format()).toBe(MlosAngelesInUTC.format()) }) it('DST', () => { [dayjs, moment].forEach((_) => { const jun = _('2014-06-01T12:00:00Z') const dec = _('2014-12-01T12:00:00Z') expect(jun.tz('America/Los_Angeles').format('ha')).toBe('5am') expect(jun.tz('America/Los_Angeles').utcOffset()).toBe(-7 * 60) expect(dec.tz('America/Los_Angeles').format('ha')).toBe('4am') expect(dec.tz('America/Los_Angeles').utcOffset()).toBe(-8 * 60) expect(jun.tz(NY).format('ha')).toBe('8am') expect(dec.tz(NY).format('ha')).toBe('7am') expect(jun.tz(TOKYO).format('ha')).toBe('9pm') expect(dec.tz(TOKYO).format('ha')).toBe('9pm') expect(jun.tz('Australia/Sydney').format('ha')).toBe('10pm') expect(dec.tz('Australia/Sydney').format('ha')).toBe('11pm') }) }) it('format Z', () => { [dayjs, moment].forEach((_) => { const t = _('2020-08-06T03:48:10.258Z').tz(TOKYO) expect(t.format('Z')).toBe('+09:00') }) }) }) describe('DST, a time that never existed Spring Forward', () => { // 11 March 2012, 02:00:00 clocks were // turned forward 1 hour to 11 March 2012, 03:00:00 local // daylight time instead. // 02:00 -> 03:00 // 02:59 -> 03:59 it('2012-03-11 01:59:59', () => { const s = '2012-03-11 01:59:59' const d = dayjs.tz(s, NY) const m = moment.tz(s, NY) expect(d.format()).toBe('2012-03-11T01:59:59-05:00') expect(d.format()).toBe(m.format()) expect(d.utcOffset()).toBe(-300) expect(d.utcOffset()).toBe(m.utcOffset()) expect(d.valueOf()).toBe(1331449199000) expect(d.valueOf()).toBe(m.valueOf()) }) it('2012-03-11 02:00:00', () => { const s = '2012-03-11 02:00:00' const d = dayjs.tz(s, NY) const m = moment.tz(s, NY) expect(d.format()).toBe('2012-03-11T03:00:00-04:00') expect(d.format()).toBe(m.format()) expect(d.valueOf()).toBe(m.valueOf()) expect(d.valueOf()).toBe(1331449200000) expect(d.utcOffset()).toBe(-240) expect(d.utcOffset()).toBe(m.utcOffset()) }) it('2012-03-11 02:59:59', () => { const s = '2012-03-11 02:59:59' const d = dayjs.tz(s, NY) const m = moment.tz(s, NY) expect(d.format()).toBe('2012-03-11T03:59:59-04:00') expect(d.format()).toBe(m.format()) expect(d.valueOf()).toBe(m.valueOf()) expect(d.valueOf()).toBe(1331452799000) expect(d.utcOffset()).toBe(-240) expect(d.utcOffset()).toBe(m.utcOffset()) }) it('2012-03-11 03:00:00', () => { const s = '2012-03-11 03:00:00' const d = dayjs.tz(s, NY) const m = moment.tz(s, NY) expect(d.format()).toBe('2012-03-11T03:00:00-04:00') expect(d.format()).toBe(m.format()) expect(d.valueOf()).toBe(m.valueOf()) expect(d.valueOf()).toBe(1331449200000) expect(d.utcOffset()).toBe(-240) expect(d.utcOffset()).toBe(m.utcOffset()) }) }) describe('DST, a time that never existed Fall Back', () => { // In the fall, at the end of DST it('2012-11-04 00:59:59', () => { const s = '2012-11-04 00:59:59'; [dayjs, moment].forEach((_) => { const d = _.tz(s, NY) expect(d.format()).toBe('2012-11-04T00:59:59-04:00') expect(d.utcOffset()).toBe(-240) expect(d.valueOf()).toBe(1352005199000) }) }) it('2012-11-04 00:59:59', () => { const s = '2012-11-04 00:59:59'; [dayjs, moment].forEach((_) => { const d = _.tz(s, NY) expect(d.format()).toBe('2012-11-04T00:59:59-04:00') expect(d.utcOffset()).toBe(-240) expect(d.valueOf()).toBe(1352005199000) }) }) // there's no sense to test "2012-11-04 01:59:59 America/New_York" // cause it's an invalid date and never exist // and dayjs result it as "2012-11-04T01:59:00-05:00" it('2012-11-04 02:00:00', () => { const s = '2012-11-04 02:00:00'; [dayjs, moment].forEach((_) => { const d = _.tz(s, NY) expect(d.format()).toBe('2012-11-04T02:00:00-05:00') expect(d.utcOffset()).toBe(-300) expect(d.valueOf()).toBe(1352012400000) }) }) }) it('DST valueOf', () => { const day1 = '2021-11-17T09:45:00.000Z' const d1 = dayjs.utc(day1).tz(PARIS) const m1 = moment.tz(day1, PARIS) expect(d1.valueOf()).toBe(m1.valueOf()) const day2 = '2021-05-17T09:45:00.000Z' const d2 = dayjs.utc(day2).tz(PARIS) const m2 = moment.tz(day2, PARIS) expect(d2.valueOf()).toBe(m2.valueOf()) }) describe('set Default', () => { it('default timezone', () => { const dateStr = '2014-06-01 12:00' dayjs.tz.setDefault(NY) const newYork = dayjs.tz(dateStr) expect(newYork.format()).toBe('2014-06-01T12:00:00-04:00') expect(newYork.utcOffset()).toBe(-240) expect(newYork.valueOf()).toBe(1401638400000) expect(dayjs(dateStr).tz().format()).toBe(dayjs(dateStr).tz(NY).format()) }) it('empty timezone means local timezone', () => { const LOCAL_TZ = dayjs.tz.guess() const dateStr = '2014-06-01 12:00' dayjs.tz.setDefault() expect(dayjs(dateStr).tz().valueOf()).toBe(dayjs(dateStr).tz(LOCAL_TZ).valueOf()) expect(dayjs.tz(dateStr).valueOf()).toBe(dayjs.tz(dateStr, LOCAL_TZ).valueOf()) }) it('change default timezone', () => { dayjs.tz.setDefault(NY) const newYork = dayjs.tz('2014-06-01 12:00') expect(newYork.utcOffset()).toBe(-240) dayjs.tz.setDefault(TOKYO) const tokyo = dayjs.tz('2014-06-01 12:00') expect(tokyo.format()).toBe('2014-06-01T12:00:00+09:00') expect(tokyo.format('Z')).toBe('+09:00') expect(tokyo.valueOf()).toBe(1401591600000) }) it('override default timezone in proto.tz', () => { dayjs.tz.setDefault(NY) const tokyo = dayjs.tz('2014-06-01 12:00', TOKYO) expect(tokyo.format()).toBe('2014-06-01T12:00:00+09:00') expect(tokyo.format('Z')).toBe('+09:00') expect(tokyo.valueOf()).toBe(1401591600000) }) it('override default timezone in d.tz', () => { dayjs.tz.setDefault(NY) const tokyo = dayjs.tz('2014-06-01 12:00', TOKYO) expect(tokyo.format()).toBe('2014-06-01T12:00:00+09:00') expect(tokyo.format('Z')).toBe('+09:00') expect(tokyo.valueOf()).toBe(1401591600000) }) }) describe('keepLocalTime', () => { const base = dayjs.tz('2013-11-18 11:55', 'America/Toronto') it('keepLocalTime', () => { expect(base.tz('Europe/Berlin').format()).toBe('2013-11-18T17:55:00+01:00') expect(base.tz('Europe/Berlin', true).format()).toBe('2013-11-18T11:55:00+01:00') }) }) describe('Get offsetName', () => { const dtz = dayjs.tz('2012-03-11 01:59:59', NY) it('short', () => { const d = dtz.offsetName('short') const m = moment.tz('2012-03-11 01:59:59', NY).format('z') expect(d).toBe(m) expect(d).toBe('EST') }) it('long', () => { const d = dtz.offsetName('long') expect(d).toBe('Eastern Standard Time') }) }) describe('CustomPraseFormat', () => { const result = 1602786600 it('normal', () => { expect(dayjs.tz('2020/10/15 12:30', DEN).unix()).toBe(result) }) it('custom', () => { expect(dayjs.tz('10/15/2020 12:30', 'MM/DD/YYYY HH:mm', DEN).unix()).toBe(result) }) }) describe('startOf and endOf', () => { it('corrects for timezone offset in startOf', () => { const originalDay = dayjs.tz('2010-01-01 00:00:00', NY) const startOfDay = originalDay.startOf('day') expect(startOfDay.valueOf()).toEqual(originalDay.valueOf()) }) it('corrects for timezone offset in endOf', () => { const originalDay = dayjs.tz('2009-12-31 23:59:59.999', NY) const endOfDay = originalDay.endOf('day') expect(endOfDay.valueOf()).toEqual(originalDay.valueOf()) }) it('preserves locality when tz is called', () => { const tzWithoutLocality = dayjs.tz('2023-02-17 00:00:00', NY) const tzWithLocality = dayjs.tz('2023-02-17 00:00:00', NY).locale({ name: 'locale_test', weekStart: 3 }) expect(tzWithoutLocality.startOf('week').format('YYYY-MM-DD')).toEqual('2023-02-12') expect(tzWithLocality.startOf('week').format('YYYY-MM-DD')).toEqual('2023-02-15') }) }) describe('UTC timezone', () => { it('TZ with UTC with Locale', () => { const test1 = dayjs('2000-01-01T09:00:00+09:00').tz('Asia/Seoul').locale('en') expect(test1.hour()).toBe(9) const test2 = dayjs('2000-01-01T09:00:00+09:00').tz('Asia/Hong_Kong').locale('en') expect(test2.hour()).toBe(8) const test3 = dayjs('2000-01-01T09:00:00+09:00').tz('Etc/UTC').locale('en') expect(test3.hour()).toBe(0) }) it('TZ with UTC', () => { const dayjs1 = dayjs('2000-01-01T09:01:00+09:00').tz('Etc/UTC', false) expect(dayjs1.format()).toBe('2000-01-01T00:01:00Z') const moment1 = moment('2000-01-01T09:01:00+09:00').tz('Etc/UTC', false) expect(moment1.format()).toBe('2000-01-01T00:01:00Z') const dayjs2 = dayjs('2000-01-01T09:01:00+09:00').tz('Etc/UTC', true) const moment2 = moment('2000-01-01T09:01:00+09:00').tz('Etc/UTC', true) expect(dayjs2.format()).toBe(moment2.format()) }) }) iamkun-dayjs-a25f01e/test/plugin/toArray.test.js000066400000000000000000000005311520523163200217230ustar00rootroot00000000000000import MockDate from 'mockdate' import moment from 'moment' import dayjs from '../../src' import toArray from '../../src/plugin/toArray' dayjs.extend(toArray) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('As Array -> toArray', () => { expect(dayjs().toArray()).toEqual(moment().toArray()) }) iamkun-dayjs-a25f01e/test/plugin/toObject.test.js000066400000000000000000000005401520523163200220530ustar00rootroot00000000000000import MockDate from 'mockdate' import moment from 'moment' import dayjs from '../../src' import toObject from '../../src/plugin/toObject' dayjs.extend(toObject) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('As Object -> toObject', () => { expect(dayjs().toObject()).toEqual(moment().toObject()) }) iamkun-dayjs-a25f01e/test/plugin/updateLocale.test.js000066400000000000000000000061361520523163200227130ustar00rootroot00000000000000import MockDate from 'mockdate' import moment from 'moment' import dayjs from '../../src' import updateLocale from '../../src/plugin/updateLocale' import localizedFormat from '../../src/plugin/localizedFormat' import '../../src/locale/zh-cn' dayjs.extend(updateLocale) dayjs.extend(localizedFormat) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) const newLocale = { months: new Array(12).fill('testMonth'), formats: { // formats for dayjs and longDateFormat for momentjs LT: '[testFormat]' }, longDateFormat: { LT: '[testFormat]' } } const formatString = 'MMMM LT' describe('Update locale', () => { it('Invalid argument', () => { const result = dayjs.updateLocale('InvalidLocaleName', {}) expect(result) .toEqual(undefined) expect(dayjs().format(formatString)) .toEqual(moment().format(formatString)) }) it('Return value', () => { const result1 = dayjs.updateLocale('en') expect(typeof result1).toEqual('object') const result2 = dayjs.updateLocale('en', {}) expect(typeof result2).toEqual('object') const result3 = dayjs.updateLocale('en', newLocale) expect(typeof result3).toEqual('object') }) it('Update build-in en locale', () => { moment.updateLocale('en', newLocale) dayjs.updateLocale('en', newLocale) expect(dayjs().format(formatString)) .toEqual('testMonth testFormat') expect(dayjs().format(formatString)) .toEqual(moment().format(formatString)) }) it('Update imported zh-cn locale', () => { moment.updateLocale('zh-cn', newLocale) dayjs.updateLocale('zh-cn', newLocale) dayjs.locale('zh-cn') moment.locale('zh-cn') expect(dayjs().format(formatString)) .toEqual('testMonth testFormat') expect(dayjs().format(formatString)) .toEqual(moment().format(formatString)) }) it('Partial update to nested object (formats)', () => { dayjs.locale('en') // First, get the original formats const originalLocale = dayjs.Ls.en const originalLT = originalLocale.formats && originalLocale.formats.LT // Update only L format dayjs.updateLocale('en', { formats: { L: 'DD/MM/YYYY' } }) const updatedLocale = dayjs.Ls.en // The updated key should have the new value expect(updatedLocale.formats.L).toBe('DD/MM/YYYY') // Other keys in formats should be preserved expect(updatedLocale.formats.LT).toBe(originalLT) }) it('Non-object values should still be replaced entirely', () => { const newMonths = new Array(12).fill('newMonth') dayjs.updateLocale('en', { months: newMonths }) const updatedLocale = dayjs.Ls.en expect(updatedLocale.months).toEqual(newMonths) }) it('Update invalid date string', () => { const locale = 'en' const localeSetting = { invalidDate: 'bad date' } dayjs.updateLocale(locale, localeSetting) moment.updateLocale(locale, localeSetting) dayjs.locale(locale) moment.locale(locale) expect(dayjs('').format()).toBe(moment('').format()) expect(dayjs('otherString').format()).toBe(moment('otherString').format()) }) }) iamkun-dayjs-a25f01e/test/plugin/utc-utcOffset.test.js000066400000000000000000000126121520523163200230400ustar00rootroot00000000000000import MockDate from 'mockdate' import moment from 'moment' import dayjs from '../../src' import utc from '../../src/plugin/utc' dayjs.extend(utc) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Set utcOffset -> Get utcOffset', () => { expect(dayjs().utcOffset(540).utcOffset()).toBe(moment().utcOffset(540).utcOffset()) expect(dayjs().utcOffset(540).format()).toBe(moment().utcOffset(540).format()) expect(dayjs().utcOffset(60).format()).toBe(moment().utcOffset(60).format()) expect(dayjs().utcOffset(8).format()).toBe(moment().utcOffset(8).format()) expect(dayjs().utcOffset(-540).utcOffset()).toBe(moment().utcOffset(-540).utcOffset()) expect(dayjs().utcOffset(-540).format()).toBe(moment().utcOffset(-540).format()) expect(dayjs().utcOffset(-60).format()).toBe(moment().utcOffset(-60).format()) expect(dayjs().utcOffset(-8).format()).toBe(moment().utcOffset(-8).format()) }) it('valueOf, toDate, toString, toISOString should be the same as original', () => { const d = dayjs() const du = dayjs().utcOffset(9) const mu = moment().utcOffset(9) expect(d.valueOf()).toBe(du.valueOf()) expect(du.valueOf()).toBe(mu.valueOf()) expect(d.toDate()).toEqual(du.toDate()) expect(du.toDate()).toEqual(mu.toDate()) expect(du.toISOString()).toEqual(mu.toISOString()) expect(d.toString()).toEqual(d.toString()) }) it('clone', () => { const du = dayjs().utcOffset(9) const duClone = du.clone() expect(du.valueOf()).toBe(duClone.valueOf()) expect(du.format()).toBe(duClone.format()) expect(du.utcOffset()).toBe(duClone.utcOffset()) }) it('immutable', () => { const d = dayjs() const du = d.utcOffset(d.utcOffset() + 1) expect(d.utcOffset()).not.toBe(du.utcOffset()) expect(d.format()).not.toBe(du.format()) }) it('utcOffset(0) enable utc mode', () => { expect(dayjs().utcOffset(0).format()).toBe(moment().utcOffset(0).format()) expect(dayjs().utcOffset(0).isUTC()).toBeTruthy() }) it('utcOffset keepLocalTime', () => { const d = '2000-01-01T06:00:00Z' expect(dayjs.utc(d).utcOffset(5, true).format()) .toBe(moment.utc(d).utcOffset(5, true).format()) expect(dayjs.utc(d).utcOffset(0, true).format()) .toBe(moment.utc(d).utcOffset(0, true).format()) expect(dayjs.utc(d).utcOffset(-5, true).format()) .toBe(moment.utc(d).utcOffset(-5, true).format()) const d2 = '2016-01-01 00:00:00' expect(dayjs(d2).utcOffset(0, true).format()) .toBe(moment(d2).utcOffset(0, true).format()) expect(dayjs(d2).utcOffset(-5, true).format()) .toBe(moment(d2).utcOffset(-5, true).format()) expect(dayjs(d2).utcOffset(5, true).format()) .toBe(moment(d2).utcOffset(5, true).format()) }) test('UTC mode', () => { const d = dayjs.utc('2000-01-01T06:00:00Z') expect(d.isUTC()).toBeTruthy() expect(d.utcOffset(0).isUTC()).toBeTruthy() expect(d.utcOffset(1).isUTC()).toBeFalsy() }) test('change hours when changing the utc offset in UTC mode', () => { const d = dayjs.utc('2000-01-01T06:31:00Z') expect(d.hour()).toBe(6) expect(d.utcOffset(0).hour()).toBe(6) expect(d.utcOffset(-60).hour()).toBe(5) expect(d.utcOffset(60).hour()).toBe(7) expect(d.utcOffset(-30).format('HH:mm')).toBe('06:01') expect(d.utcOffset(30).format('HH:mm')).toBe('07:01') expect(d.utcOffset(-1380).format('HH:mm')).toBe('07:31') }) test('correctly set and add hours in offset mode', () => { const d10 = dayjs('2000-01-30T06:31:00+10:00').utcOffset(10) const dm8 = dayjs('2000-01-30T06:31:00-08:00').utcOffset(-8) expect(d10.hour(5).hour()).toBe(5) expect(d10.hour(5).add(1, 'hour').hour()).toBe(6) expect(d10.hour(5).add(-10, 'hour').hour()).toBe(19) expect(dm8.hour(5).hour()).toBe(5) expect(dm8.hour(5).add(1, 'hour').hour()).toBe(6) expect(dm8.hour(5).add(-10, 'hour').hour()).toBe(19) }) test('keep hours when adding month in offset mode', () => { const d10 = dayjs('2000-01-30T06:31:00+10:00').utcOffset(10) const dm8 = dayjs('2000-01-30T06:31:00-08:00').utcOffset(-8) expect(d10.add(1, 'month').hour()).toBe(6) expect(dm8.add(1, 'month').hour()).toBe(6) expect(d10.add(-2, 'month').hour()).toBe(6) expect(dm8.add(-2, 'month').hour()).toBe(6) }) test('utc costrustor', () => { const d = new Date(2019, 8, 11, 0, 0, 0).getTime() expect(moment(d).utc().utcOffset(480).valueOf()) .toBe(dayjs(d).utc().utcOffset(480).valueOf()) expect(moment(d).utc().local() .utcOffset(480) .valueOf()) .toBe(dayjs(d).utc().local() .utcOffset(480) .valueOf()) }) test('utc startOf', () => { const d = new Date(2019, 8, 11, 0, 0, 0, 0).getTime() expect(moment(d).utc().utcOffset(480).endOf('day') .valueOf()) .toBe(dayjs(d).utc().utcOffset(480).endOf('day') .valueOf()) expect(moment(d).utc().utcOffset(480).endOf('day') .valueOf()) .toBe(dayjs(d).utc().utcOffset(480).endOf('day') .valueOf()) const d2 = '2017-07-20T11:00:00+00:00' const d2d = dayjs(d2).utcOffset(-12).startOf('day').valueOf() const d2m = moment(d2).utcOffset(-12).startOf('day').valueOf() expect(d2d) .toBe(d2m) expect(d2d) .toBe(1500465600000) }) test('cloning dates modified with utcOffset', () => { const djs = dayjs('2023-10-29T00:00:00+03:00') const tests = [ djs, djs.utcOffset(-240), djs.utcOffset(-240, true), djs.utcOffset(120), djs.utcOffset(120, true), djs.utcOffset(0), djs.utcOffset(0, true) ] tests.forEach((d) => { expect(dayjs(d).format()).toEqual(d.format()) }) }) iamkun-dayjs-a25f01e/test/plugin/utc.test.js000066400000000000000000000273671520523163200211150ustar00rootroot00000000000000import MockDate from 'mockdate' import moment from 'moment' import dayjs from '../../src' import customParseFormat from '../../src/plugin/customParseFormat' import utc from '../../src/plugin/utc' dayjs.extend(utc) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) describe('UTC Get', () => { it('UTC Year', () => { expect(dayjs().utc().year()).toBe(moment().utc().year()) }) it('UTC Month', () => { expect(dayjs().utc().month()).toBe(moment().utc().month()) }) it('UTC Day of Week', () => { expect(dayjs().utc().day()).toBe(moment().utc().day()) }) it('UTC Date', () => { expect(dayjs().utc().date()).toBe(moment().utc().date()) }) it('UTC Hour', () => { expect(dayjs().utc().hour()).toBe(moment().utc().hour()) }) it('UTC Minute', () => { expect(dayjs().utc().minute()).toBe(moment().utc().minute()) }) it('UTC Second', () => { expect(dayjs().utc().second()).toBe(moment().utc().second()) }) it('UTC Millisecond', () => { expect(dayjs().utc().millisecond()).toBe(moment().utc().millisecond()) }) }) describe('Parse UTC ', () => { it('Parse Now', () => { expect(dayjs.utc().format()).toBe(moment.utc().format()) expect(dayjs().utc().format()).toBe(moment().utc().format()) }) it('Parse date string without timezone', () => { const d = '2018-09-06' expect(dayjs.utc(d).format()).toEqual(moment.utc(d).format()) expect(dayjs.utc(d).format()).toEqual('2018-09-06T00:00:00Z') expect(dayjs(d).utc().format()).toEqual(moment(d).utc().format()) const d2 = '2018-09' expect(dayjs.utc(d2).format()).toEqual(moment.utc(d2).format()) expect(dayjs.utc(d2).format()).toEqual('2018-09-01T00:00:00Z') expect(dayjs(d2).utc().format()).toEqual(moment(d2).utc().format()) const d3 = '2018' expect(dayjs.utc(d3).format()).toEqual(moment.utc(d3).format()) expect(dayjs.utc(d3).format()).toEqual('2018-01-01T00:00:00Z') expect(dayjs(d3).utc().format()).toEqual(moment(d3).utc().format()) }) it('creating with utc with timezone', () => { const d = '2011-02-02T03:04:05+00:00' expect(dayjs.utc(d).format()).toEqual(moment.utc(d).format()) const d2 = '2012-01-02T08:20:00+09:00' expect(dayjs.utc(d2).format()).toEqual(moment.utc(d2).format()) }) it('Parse date string without timezone', () => { const d = '2017-04-22 19:50:16' expect(dayjs.utc(d).format()).toEqual('2017-04-22T19:50:16Z') expect(dayjs.utc(d).format()).toEqual(moment.utc(d).format()) expect(dayjs(d).utc().format()).toBe(moment(d).utc().format()) const d2 = '2012-01-02T08:20:00' expect(dayjs.utc(d2).format()).toEqual(moment.utc(d2).format()) }) it('Parse date string set utc in config', () => { const d = '2018-09-06T19:34:28Z' expect(dayjs(d, { utc: true }).format()).toEqual('2018-09-06T19:34:28Z') expect(dayjs(d, { utc: true }).format()).toEqual(moment(d).utc().format()) expect(dayjs(d).utc().format()).toEqual('2018-09-06T19:34:28Z') expect(dayjs(d).utc().format()).toEqual(moment(d).utc().format()) expect(dayjs.utc(d).format()).toEqual('2018-09-06T19:34:28Z') expect(dayjs.utc(d).format()).toEqual(moment.utc(d).format()) }) it('parses unlimited millisecond in utc', () => { const date = '2019-03-25T06:41:00.999999999' const ds = dayjs.utc(date) const ms = moment.utc(date) expect(ds.valueOf()).toEqual(ms.valueOf()) expect(ds.millisecond()).toEqual(ms.millisecond()) }) }) it('Clone retains the UTC mode', () => { const instance = dayjs('2018-09-06').utc() const another = instance.clone() expect(another.$u).toBeTruthy() }) it('UTC mode format tokens', () => { const d = '2018-09-06T19:34:28.657Z' const instance = dayjs(d).utc() const format = 'HH-hh-mm-ss-SSS-Z-ZZ' expect(instance.format(format)).toBe('19-07-34-28-657-+00:00-+0000') expect(instance.format(format)).toBe(moment.utc(d).format(format)) }) describe('local', () => { it('Returns a new instance', () => { const instance = dayjs.utc('2018-09-06T19:34:28.657Z') const local = instance.local() expect(local).not.toBe(instance) }) it('UTC to local', () => { const d = '2018-09-06' expect(dayjs.utc(d).local().format()).toEqual(moment.utc(d).local().format()) }) }) it('StartOf EndOf Year ... in UTC mode', () => { const testArr = ['year', 'month', 'day', 'date', 'week', 'hour', 'minute', 'second'] testArr.forEach((d) => { expect(dayjs().utc().startOf(d).format()).toBe(moment().utc().startOf(d).format()) expect(dayjs().utc().endOf(d).format()).toBe(moment().utc().endOf(d).format()) }) }) describe('UTC Set', () => { it('Set UTC Day', () => { expect(dayjs().utc().set('date', 30).valueOf()).toBe(moment().utc().set('date', 30).valueOf()) }) it('Set UTC Day of Week', () => { expect(dayjs().utc().set('day', 0).valueOf()).toBe(moment().utc().set('day', 0).valueOf()) }) it('Set UTC Month', () => { expect(dayjs().utc().set('month', 11).valueOf()).toBe(moment().utc().set('month', 11).valueOf()) }) it('Set UTC Year', () => { expect(dayjs().utc().set('year', 2008).valueOf()).toBe(moment().utc().set('year', 2008).valueOf()) }) it('Set UTC Hour', () => { expect(dayjs().utc().set('hour', 6).valueOf()).toBe(moment().utc().set('hour', 6).valueOf()) }) it('Set UTC Minute', () => { expect(dayjs().utc().set('minute', 59).valueOf()).toBe(moment().utc().set('minute', 59).valueOf()) }) it('Set UTC Second', () => { expect(dayjs().utc().set('second', 59).valueOf()).toBe(moment().utc().set('second', 59).valueOf()) }) it('Set UTC Millisecond', () => { expect(dayjs().utc().set('millisecond', 999).valueOf()).toBe(moment().utc().set('millisecond', 999).valueOf()) }) }) it('isUTC', () => { expect(dayjs().isUTC()).toBe(false) expect(dayjs().utc().isUTC()).toBe(true) expect(dayjs.utc().isUTC()).toBe(true) }) describe('UTC and local', () => { const localDay = dayjs(Date.UTC(2011, 1, 2, 3, 4, 5, 6)) const utcDay = localDay.utc() it('utc', () => { expect(utcDay.date()).toBe(2) expect(utcDay.day()).toBe(3) expect(utcDay.hour()).toBe(3) }) const localAnainDay = utcDay.local() it('local', () => { if (localAnainDay.utcOffset() < -180) { expect(localAnainDay.date()).toBe(1) expect(localAnainDay.day()).toBe(2) } else { expect(localAnainDay.date()).toBe(2) expect(localAnainDay.day()).toBe(3) } }) const offset = Math.floor(localAnainDay.utcOffset() / 60) const expected = (24 + 3 + offset) % 24 it('utcOffset', () => { expect(localAnainDay.hour()).toBe(expected) expect(dayjs().utc().utcOffset()).toBe(0) }) }) describe('UTC with customParseFormat', () => { it('Custom Parse Format', () => { dayjs.extend(customParseFormat) const instant = dayjs.utc('2011-02-02 03:04:05', 'YYYY-MM-DD HH:mm:ss') const momentInstant = moment.utc('2011-02-02 03:04:05', 'YYYY-MM-DD HH:mm:ss') expect(instant.date()).toBe(2) expect(instant.hour()).toBe(3) expect(instant.format()).toBe('2011-02-02T03:04:05Z') expect(instant.format()).toBe(momentInstant.format()) }) }) describe('UTC Offset', () => { it('get utcOffset', () => { expect(dayjs().utcOffset()).toBe(moment().utcOffset()) expect(dayjs().utc().utcOffset()).toBe(moment().utc().utcOffset()) }) it('get utc offset with a number value', () => { const time = '2021-02-28 19:40:10' const hoursOffset = -8 const daysJS = dayjs(time).utc().utcOffset(hoursOffset * 60, true) const momentJS = moment(time).utc(true).utcOffset(hoursOffset, true) expect(daysJS.toISOString()).toEqual(momentJS.toISOString()) expect(daysJS.utcOffset()).toEqual(hoursOffset * 60) expect(daysJS.utcOffset()).toEqual(momentJS.utcOffset()) }) it('get utc offset with a negative valid string value, format: HH:mm', () => { const time = '2021-02-28 19:40:10' const hoursOffset = -8 const daysJS = dayjs(time).utc().utcOffset(`-0${Math.abs(hoursOffset)}:00`, true) const momentJS = moment(time).utc(true).utcOffset(`-0${Math.abs(hoursOffset)}:00`, true) expect(daysJS.toISOString()).toEqual(momentJS.toISOString()) expect(daysJS.utcOffset()).toEqual(hoursOffset * 60) expect(daysJS.utcOffset()).toEqual(momentJS.utcOffset()) }) it('get utc offset with a positive valid string value, format: HH:mm', () => { const time = '2021-02-28 19:40:10' const hoursOffset = 8 const daysJS = dayjs(time).utc().utcOffset(`+0${hoursOffset}:00`, true) const momentJS = moment(time).utc(true).utcOffset(`+0${hoursOffset}:00`, true) expect(daysJS.toISOString()).toEqual(momentJS.toISOString()) expect(daysJS.utcOffset()).toEqual(hoursOffset * 60) expect(daysJS.utcOffset()).toEqual(momentJS.utcOffset()) }) it('get utc offset with a negative valid string value, format: HHmm', () => { const time = '2021-02-28 19:40:10' const hoursOffset = -8 const daysJS = dayjs(time).utc().utcOffset(`-0${Math.abs(hoursOffset)}00`, true) const momentJS = moment(time).utc(true).utcOffset(`-0${Math.abs(hoursOffset)}00`, true) expect(daysJS.toISOString()).toEqual(momentJS.toISOString()) expect(daysJS.utcOffset()).toEqual(hoursOffset * 60) expect(daysJS.utcOffset()).toEqual(momentJS.utcOffset()) }) it('get utc offset with a positive valid string value, format: HHmm', () => { const time = '2021-02-28 19:40:10' const hoursOffset = 8 const daysJS = dayjs(time).utc().utcOffset(`+0${hoursOffset}00`, true) const momentJS = moment(time).utc(true).utcOffset(`+0${hoursOffset}00`, true) expect(daysJS.toISOString()).toEqual(momentJS.toISOString()) expect(daysJS.utcOffset()).toEqual(hoursOffset * 60) expect(daysJS.utcOffset()).toEqual(momentJS.utcOffset()) }) it('get utc offset with an invalid string value, value: random', () => { const time = '2021-02-28 19:40:10' const daysJS = dayjs(time, { utc: true }).utc(true).utcOffset('random') const momentJS = moment(time).utc(true).utcOffset('random') expect(daysJS.toISOString()).toEqual(momentJS.toISOString()) expect(daysJS.utcOffset()).toEqual(0) expect(daysJS.utcOffset()).toEqual(momentJS.utcOffset()) }) it('get utc offset with an invalid string value, value: 0', () => { const time = '2021-02-28 19:40:10' const daysJS = dayjs(time, { utc: true }).utc(true).utcOffset('+0000') const momentJS = moment(time).utc(true).utcOffset('+0000') expect(daysJS.toISOString()).toEqual(momentJS.toISOString()) expect(daysJS.utcOffset()).toEqual(0) expect(daysJS.utcOffset()).toEqual(momentJS.utcOffset()) }) }) describe('Diff', () => { const d1 = '2021-06-07' const d2 = '2021-06-06' it('utc.diff(utc)', () => { [dayjs, moment].forEach((_) => { expect(_.utc(d1).diff(_.utc(d2), 'days')).toBe(1) expect(_.utc(d1).diff(_.utc(d2), 'm')).toBe(1440) }) }) it('default diff', () => { expect(dayjs().diff()).toBeDefined() }) it('local.diff(utc)', () => { expect(dayjs(d1).diff(dayjs.utc(d2), 'days')) .toBe(moment(d1).diff(moment.utc(d2), 'days')) expect(dayjs(d1).diff(dayjs.utc(d2), 'm')) .toBe(moment(d1).diff(moment.utc(d2), 'm')) }) it('utc.diff(local)', () => { expect(dayjs.utc(d1).diff(d2, 'days')) .toBe(moment.utc(d1).diff(d2, 'days')) expect(dayjs.utc(d1).diff(d2, 'm')) .toBe(moment.utc(d1).diff(d2, 'm')) }) }) it('utc keepLocalTime', () => { const t = '2016-05-03 22:15:01' const d = dayjs(t).utc(true) const m = moment(t).utc(true) const fd = d.format() const dd = d.toDate() const vd = d.valueOf() const fm = m.format() const dm = m.toDate() const vm = m.valueOf() expect(fd).toEqual(fm) expect(fd).toEqual('2016-05-03T22:15:01Z') expect(dd).toEqual(dm) expect(vd).toEqual(vm) }) it('utc diff undefined edge case', () => { expect(dayjs().diff(undefined, 'seconds')).toBeDefined() }) iamkun-dayjs-a25f01e/test/plugin/weekOfYear.test.js000066400000000000000000000030531520523163200223450ustar00rootroot00000000000000import moment from 'moment' import MockDate from 'mockdate' import dayjs from '../../src' import weekOfYear from '../../src/plugin/weekOfYear' import advancedFormat from '../../src/plugin/advancedFormat' import '../../src/locale/en-gb' dayjs.extend(advancedFormat) dayjs.extend(weekOfYear) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Week of year', () => { dayjs.locale('en') const day = '2018-12-31T10:59:09+08:00' const week = 27 expect(dayjs(day).week()).toBe(moment(day).week()) expect(dayjs().week()).toBe(moment().week()) expect(dayjs().week(week).week()).toBe(moment().week(week).week()) expect(dayjs().weeks(week).week()).toBe(moment().weeks(week).week()) expect(dayjs().weeks(-week).week()).toBe(moment().weeks(-week).week()) expect(dayjs().weeks(55).week()).toBe(moment().weeks(55).week()) expect(dayjs().weeks()).toBe(moment().weeks()) }) it('Week of year with locale', () => { dayjs.locale('en-gb') moment.locale('en-gb') const day = '2019-07-28' expect(dayjs(day).week()).toBe(moment(day).week()) }) describe('Week of year with locale edges', () => { const testCases = [ '2018-12-30', '2018-12-31', '2019-12-29', '2019-12-30', '2016-01-01', '2016-01-04' ] testCases.forEach((t) => { it(`Edges ${t}`, () => { expect(dayjs(t).week()) .toBe(moment(t).week()) }) }) }) it('Format w ww wo', () => { const day = '2019-07-28' const D = dayjs(day) const M = moment(day) expect(D.format('w ww wo')).toBe(M.format('w ww wo')) }) iamkun-dayjs-a25f01e/test/plugin/weekYear.test.js000066400000000000000000000021451520523163200220610ustar00rootroot00000000000000import moment from 'moment' import MockDate from 'mockdate' import dayjs from '../../src' import weekYear from '../../src/plugin/weekYear' import weekOfYear from '../../src/plugin/weekOfYear' import '../../src/locale/en-gb' dayjs.extend(weekYear) dayjs.extend(weekOfYear) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Week Year', () => { const daySet = [ ['2018-12-01', 2018], ['2018-12-30', 2019], ['2018-12-31', 2019], ['2019-01-01', 2019] ] daySet.forEach((d) => { const [day, result] = d const dResult = dayjs(day).weekYear() expect(dResult).toBe(result) expect(dResult).toBe(moment(day).weekYear()) }) }) it('yearStart: 4', () => { const daySet = [ ['2020-12-31', 2020], ['2021-01-01', 2020], ['2021-01-02', 2020], ['2021-01-03', 2020], ['2021-01-04', 2021], ['2021-01-05', 2021] ] daySet.forEach((d) => { const [day, result] = d const dResult = dayjs(day).locale('en-gb').weekYear() expect(dResult).toBe(result) expect(dResult).toBe(moment(day).locale('en-gb').weekYear()) }) }) iamkun-dayjs-a25f01e/test/plugin/weekday.test.js000066400000000000000000000030671520523163200217420ustar00rootroot00000000000000import MockDate from 'mockdate' import moment from 'moment' import dayjs from '../../src' import weekday from '../../src/plugin/weekday' import '../../src/locale/zh-cn' import '../../src/locale/ar' dayjs.extend(weekday) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() moment.locale('en') dayjs.locale('en') }) it('Sunday is the first day of the week', () => { expect(dayjs().weekday()).toBe(moment().weekday()) expect(dayjs().weekday(0).date()).toBe(moment().weekday(0).date()) expect(dayjs().weekday(-7).format()).toBe(moment().weekday(-7).format()) expect(dayjs().weekday(7).format()).toBe(moment().weekday(7).format()) }) it('Monday is the first day of the week', () => { moment.locale('zh-cn') dayjs.locale('zh-cn') expect(dayjs().weekday()).toBe(moment().weekday()) expect(dayjs().weekday(0).date()).toBe(moment().weekday(0).date()) expect(dayjs().weekday(-7).format()).toBe(moment().weekday(-7).format()) expect(dayjs().weekday(7).format()).toBe(moment().weekday(7).format()) const d1 = '2020-01-05' expect(dayjs(d1).weekday()).toBe(moment(d1).weekday()) const d2 = '2020-01-07' expect(dayjs(d2).weekday()).toBe(moment(d2).weekday()) }) it('Saturday is the first day of the week', () => { moment.locale('ar') dayjs.locale('ar') expect(dayjs().weekday()).toBe(moment().weekday()) expect(dayjs().weekday(0).date()).toBe(moment().weekday(0).date()) expect(dayjs().weekday(-7).valueOf()).toBe(moment().weekday(-7).valueOf()) expect(dayjs().weekday(7).valueOf()).toBe(moment().weekday(7).valueOf()) }) iamkun-dayjs-a25f01e/test/query.test.js000066400000000000000000000020641520523163200201540ustar00rootroot00000000000000import MockDate from 'mockdate' import dayjs from '../src' beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) describe('Is Before Is After Is Same', () => { it('Compare to dayjs object', () => { const dayA = dayjs() const dayB = dayA.clone().add(1, 'day') const dayC = dayA.clone().subtract(1, 'day') expect(dayC.isBefore(dayA)).toBe(true) expect(dayA.isSame(dayjs())).toBe(true) expect(dayB.isAfter(dayA)).toBe(true) expect(dayA.isSame()).toBe(true) expect(dayB.isAfter()).toBe(true) expect(dayC.isBefore()).toBe(true) }) it('No value', () => { const dayA = dayjs() const dayB = dayA.clone().add(1, 'day') const dayC = dayA.clone().subtract(1, 'day') expect(dayA.isSame()).toBe(true) expect(dayB.isAfter()).toBe(true) expect(dayC.isBefore()).toBe(true) }) it('With string', () => { const dayD = dayjs() expect(dayD.isSame('20180101')).toBe(false) expect(dayD.isAfter('20180101')).toBe(true) expect(dayD.isBefore('20180101')).toBe(false) }) }) iamkun-dayjs-a25f01e/test/timezone.test.js000066400000000000000000000051441520523163200206430ustar00rootroot00000000000000import MockDate from 'mockdate' import moment from 'moment' import dayjs from '../src' import timezone from '../src/plugin/timezone' import utc from '../src/plugin/utc' dayjs.extend(utc) dayjs.extend(timezone) beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('Add Time days (DST)', () => { // change timezone before running test // New Zealand (-720) expect(dayjs('2018-04-01').add(1, 'd').format()).toBe(moment('2018-04-01').add(1, 'd').format()) expect(dayjs('2018-03-28').add(1, 'w').format()).toBe(moment('2018-03-28').add(1, 'w').format()) // London (-60) expect(dayjs('2018-10-28').add(1, 'd').format()).toBe(moment('2018-10-28').add(1, 'd').format()) expect(dayjs('2018-10-26').add(1, 'w').format()).toBe(moment('2018-10-26').add(1, 'w').format()) }) it('Utc Offset', () => { expect(dayjs().utcOffset()).toBe(moment().utcOffset()) }) it('Diff (DST)', () => { const day = '2018-10-28' const dayjsA = dayjs(day) const dayjsB = dayjs(day).add(-1000, 'days') const momentA = moment(day) const momentB = moment(day).add(-1000, 'days') const units = ['seconds', 'minutes', 'hours', 'days', 'weeks', 'months', 'quarters', 'years'] units.forEach((unit) => { expect(dayjsA.diff(dayjsB, unit)).toBe(momentA.diff(momentB, unit)) expect(dayjsA.diff(dayjsB, unit, true)).toBe(momentA.diff(momentB, unit, true)) }) }) it('UTC add day in DST', () => { const testDate = '2019-03-10' const dayTest = dayjs(testDate) .utc() .startOf('day') const momentTest = moment(testDate) .utc() .startOf('day') expect(dayTest.add(1, 'day').format()) .toBe(momentTest.clone().add(1, 'day').format()) expect(dayTest.add(2, 'day').format()) .toBe(momentTest.clone().add(2, 'day').format()) }) it('UTC and utcOffset', () => { const test1 = 1331449199000 // 2012/3/11 06:59:59 GMT+0000 expect(dayjs(test1).utcOffset(-300).format()) .toBe(moment(test1).utcOffset(-300).format()) const test2 = '2000-01-01T06:31:00Z' expect(dayjs.utc(test2).utcOffset(-60).format()) .toBe(moment.utc(test2).utcOffset(-60).format()) // across DST, copied from utc.test.js#get utc offset with a number value const time = '2021-02-28 19:40:10' const hoursOffset = -8 const daysJS = dayjs(time).utc().utcOffset(hoursOffset * 60, true) const momentJS = moment(time).utc(true).utcOffset(hoursOffset, true) expect(daysJS.toISOString()).toEqual(momentJS.toISOString()) }) it('UTC diff in DST', () => { // DST till 2020-10-25 const day1 = dayjs.utc('20201023') // in DST const day2 = dayjs.utc('20201026') expect(day1.diff(day2, 'd')) .toBe(-3) }) iamkun-dayjs-a25f01e/test/utils.test.js000066400000000000000000000026521520523163200201520ustar00rootroot00000000000000import Utils from '../src/utils' const prettyUnit = Utils.p const padStart = Utils.s const padZoneStr = Utils.z it('PrettyUnit', () => { expect(prettyUnit('Days')).toBe('day') expect(prettyUnit('days')).toBe('day') expect(prettyUnit('day')).toBe('day') expect(prettyUnit('quarter')).toBe('quarter') expect(prettyUnit('quarters')).toBe('quarter') expect(prettyUnit('D')).toBe('date') expect(prettyUnit('d')).toBe('day') expect(prettyUnit('M')).toBe('month') expect(prettyUnit('y')).toBe('year') expect(prettyUnit('h')).toBe('hour') expect(prettyUnit('m')).toBe('minute') expect(prettyUnit('s')).toBe('second') expect(prettyUnit('ms')).toBe('millisecond') expect(prettyUnit('Q')).toBe('quarter') expect(prettyUnit()).toBe('') }) it('PadZoneStr', () => { const instance = {} instance.utcOffset = () => 0 * -1 expect(padZoneStr(instance)).toBe('+00:00') instance.utcOffset = () => 1 * 60 * -1 expect(padZoneStr(instance)).toBe('-01:00') instance.utcOffset = () => -1 * 60 * -1 expect(padZoneStr(instance)).toBe('+01:00') instance.utcOffset = () => -10 * 60 * -1 expect(padZoneStr(instance)).toBe('+10:00') instance.utcOffset = () => 10 * 60 * -1 expect(padZoneStr(instance)).toBe('-10:00') instance.utcOffset = () => ((-5 * 60) - 30) * -1 expect(padZoneStr(instance)).toBe('+05:30') }) it('PadStart', () => { expect(padStart(1, 2, '0')).toBe('01') expect(padStart(0, 2, '0')).toBe('00') }) iamkun-dayjs-a25f01e/types/000077500000000000000000000000001520523163200156565ustar00rootroot00000000000000iamkun-dayjs-a25f01e/types/index.d.ts000066400000000000000000000330601520523163200175610ustar00rootroot00000000000000/// export = dayjs; declare function dayjs (date?: dayjs.ConfigType): dayjs.Dayjs declare function dayjs (date?: dayjs.ConfigType, format?: dayjs.OptionType, strict?: boolean): dayjs.Dayjs declare function dayjs (date?: dayjs.ConfigType, format?: dayjs.OptionType, locale?: string, strict?: boolean): dayjs.Dayjs declare namespace dayjs { interface ConfigTypeMap { default: string | number | Date | Dayjs | null | undefined } export type ConfigType = ConfigTypeMap[keyof ConfigTypeMap] export interface FormatObject { locale?: string, format?: string, utc?: boolean } export type OptionType = FormatObject | string | string[] export type UnitTypeShort = 'd' | 'D' | 'M' | 'y' | 'h' | 'm' | 's' | 'ms' export type UnitTypeLong = 'millisecond' | 'second' | 'minute' | 'hour' | 'day' | 'month' | 'year' | 'date' export type UnitTypeLongPlural = 'milliseconds' | 'seconds' | 'minutes' | 'hours' | 'days' | 'months' | 'years' | 'dates' export type UnitType = UnitTypeLong | UnitTypeLongPlural | UnitTypeShort; export type OpUnitType = UnitType | "week" | "weeks" | 'w'; export type QUnitType = UnitType | "quarter" | "quarters" | 'Q'; export type ManipulateType = Exclude; class Dayjs { constructor (config?: ConfigType) /** * All Day.js objects are immutable. Still, `dayjs#clone` can create a clone of the current object if you need one. * ``` * dayjs().clone()// => Dayjs * dayjs(dayjs('2019-01-25')) // passing a Dayjs object to a constructor will also clone it * ``` * Docs: https://day.js.org/docs/en/parse/dayjs-clone */ clone(): Dayjs /** * This returns a `boolean` indicating whether the Day.js object contains a valid date or not. * ``` * dayjs().isValid()// => boolean * ``` * Docs: https://day.js.org/docs/en/parse/is-valid */ isValid(): boolean /** * Get the year. * ``` * dayjs().year()// => 2020 * ``` * Docs: https://day.js.org/docs/en/get-set/year */ year(): number /** * Set the year. * ``` * dayjs().year(2000)// => Dayjs * ``` * Docs: https://day.js.org/docs/en/get-set/year */ year(value: number): Dayjs /** * Get the month. * * Months are zero indexed, so January is month 0. * ``` * dayjs().month()// => 0-11 * ``` * Docs: https://day.js.org/docs/en/get-set/month */ month(): number /** * Set the month. * * Months are zero indexed, so January is month 0. * * Accepts numbers from 0 to 11. If the range is exceeded, it will bubble up to the next year. * ``` * dayjs().month(0)// => Dayjs * ``` * Docs: https://day.js.org/docs/en/get-set/month */ month(value: number): Dayjs /** * Get the date of the month. * ``` * dayjs().date()// => 1-31 * ``` * Docs: https://day.js.org/docs/en/get-set/date */ date(): number /** * Set the date of the month. * * Accepts numbers from 1 to 31. If the range is exceeded, it will bubble up to the next months. * ``` * dayjs().date(1)// => Dayjs * ``` * Docs: https://day.js.org/docs/en/get-set/date */ date(value: number): Dayjs /** * Get the day of the week. * * Returns numbers from 0 (Sunday) to 6 (Saturday). * ``` * dayjs().day()// 0-6 * ``` * Docs: https://day.js.org/docs/en/get-set/day */ day(): 0 | 1 | 2 | 3 | 4 | 5 | 6 /** * Set the day of the week. * * Accepts numbers from 0 (Sunday) to 6 (Saturday). If the range is exceeded, it will bubble up to next weeks. * ``` * dayjs().day(0)// => Dayjs * ``` * Docs: https://day.js.org/docs/en/get-set/day */ day(value: number): Dayjs /** * Get the hour. * ``` * dayjs().hour()// => 0-23 * ``` * Docs: https://day.js.org/docs/en/get-set/hour */ hour(): number /** * Set the hour. * * Accepts numbers from 0 to 23. If the range is exceeded, it will bubble up to the next day. * ``` * dayjs().hour(12)// => Dayjs * ``` * Docs: https://day.js.org/docs/en/get-set/hour */ hour(value: number): Dayjs /** * Get the minutes. * ``` * dayjs().minute()// => 0-59 * ``` * Docs: https://day.js.org/docs/en/get-set/minute */ minute(): number /** * Set the minutes. * * Accepts numbers from 0 to 59. If the range is exceeded, it will bubble up to the next hour. * ``` * dayjs().minute(59)// => Dayjs * ``` * Docs: https://day.js.org/docs/en/get-set/minute */ minute(value: number): Dayjs /** * Get the seconds. * ``` * dayjs().second()// => 0-59 * ``` * Docs: https://day.js.org/docs/en/get-set/second */ second(): number /** * Set the seconds. * * Accepts numbers from 0 to 59. If the range is exceeded, it will bubble up to the next minutes. * ``` * dayjs().second(1)// Dayjs * ``` */ second(value: number): Dayjs /** * Get the milliseconds. * ``` * dayjs().millisecond()// => 0-999 * ``` * Docs: https://day.js.org/docs/en/get-set/millisecond */ millisecond(): number /** * Set the milliseconds. * * Accepts numbers from 0 to 999. If the range is exceeded, it will bubble up to the next seconds. * ``` * dayjs().millisecond(1)// => Dayjs * ``` * Docs: https://day.js.org/docs/en/get-set/millisecond */ millisecond(value: number): Dayjs /** * Generic setter, accepting unit as first argument, and value as second, returns a new instance with the applied changes. * * In general: * ``` * dayjs().set(unit, value) === dayjs()[unit](value) * ``` * Units are case insensitive, and support plural and short forms. * ``` * dayjs().set('date', 1) * dayjs().set('month', 3) // April * dayjs().set('second', 30) * ``` * Docs: https://day.js.org/docs/en/get-set/set */ set(unit: UnitType, value: number): Dayjs /** * String getter, returns the corresponding information getting from Day.js object. * * In general: * ``` * dayjs().get(unit) === dayjs()[unit]() * ``` * Units are case insensitive, and support plural and short forms. * ``` * dayjs().get('year') * dayjs().get('month') // start 0 * dayjs().get('date') * ``` * Docs: https://day.js.org/docs/en/get-set/get */ get(unit: UnitType): number /** * Returns a cloned Day.js object with a specified amount of time added. * ``` * dayjs().add(7, 'day')// => Dayjs * ``` * Units are case insensitive, and support plural and short forms. * * Docs: https://day.js.org/docs/en/manipulate/add */ add(value: number, unit?: ManipulateType): Dayjs /** * Returns a cloned Day.js object with a specified amount of time subtracted. * ``` * dayjs().subtract(7, 'year')// => Dayjs * ``` * Units are case insensitive, and support plural and short forms. * * Docs: https://day.js.org/docs/en/manipulate/subtract */ subtract(value: number, unit?: ManipulateType): Dayjs /** * Returns a cloned Day.js object and set it to the start of a unit of time. * ``` * dayjs().startOf('year')// => Dayjs * ``` * Units are case insensitive, and support plural and short forms. * * Docs: https://day.js.org/docs/en/manipulate/start-of */ startOf(unit: OpUnitType): Dayjs /** * Returns a cloned Day.js object and set it to the end of a unit of time. * ``` * dayjs().endOf('month')// => Dayjs * ``` * Units are case insensitive, and support plural and short forms. * * Docs: https://day.js.org/docs/en/manipulate/end-of */ endOf(unit: OpUnitType): Dayjs /** * Get the formatted date according to the string of tokens passed in. * * To escape characters, wrap them in square brackets (e.g. [MM]). * ``` * dayjs().format()// => current date in ISO8601, without fraction seconds e.g. '2020-04-02T08:02:17-05:00' * dayjs('2019-01-25').format('[YYYYescape] YYYY-MM-DDTHH:mm:ssZ[Z]')// 'YYYYescape 2019-01-25T00:00:00-02:00Z' * dayjs('2019-01-25').format('DD/MM/YYYY') // '25/01/2019' * ``` * Docs: https://day.js.org/docs/en/display/format */ format(template?: string): string /** * This indicates the difference between two date-time in the specified unit. * * To get the difference in milliseconds, use `dayjs#diff` * ``` * const date1 = dayjs('2019-01-25') * const date2 = dayjs('2018-06-05') * date1.diff(date2) // 20214000000 default milliseconds * date1.diff() // milliseconds to current time * ``` * * To get the difference in another unit of measurement, pass that measurement as the second argument. * ``` * const date1 = dayjs('2019-01-25') * date1.diff('2018-06-05', 'month') // 7 * ``` * Units are case insensitive, and support plural and short forms. * * Docs: https://day.js.org/docs/en/display/difference */ diff(date?: ConfigType, unit?: QUnitType | OpUnitType, float?: boolean): number /** * This returns the number of **milliseconds** since the Unix Epoch of the Day.js object. * ``` * dayjs('2019-01-25').valueOf() // 1548381600000 * +dayjs(1548381600000) // 1548381600000 * ``` * To get a Unix timestamp (the number of seconds since the epoch) from a Day.js object, you should use Unix Timestamp `dayjs#unix()`. * * Docs: https://day.js.org/docs/en/display/unix-timestamp-milliseconds */ valueOf(): number /** * This returns the Unix timestamp (the number of **seconds** since the Unix Epoch) of the Day.js object. * ``` * dayjs('2019-01-25').unix() // 1548381600 * ``` * This value is floored to the nearest second, and does not include a milliseconds component. * * Docs: https://day.js.org/docs/en/display/unix-timestamp */ unix(): number /** * Get the number of days in the current month. * ``` * dayjs('2019-01-25').daysInMonth() // 31 * ``` * Docs: https://day.js.org/docs/en/display/days-in-month */ daysInMonth(): number /** * To get a copy of the native `Date` object parsed from the Day.js object use `dayjs#toDate`. * ``` * dayjs('2019-01-25').toDate()// => Date * ``` */ toDate(): Date /** * To serialize as an ISO 8601 string. * ``` * dayjs('2019-01-25').toJSON() // '2019-01-25T02:00:00.000Z' * ``` * Docs: https://day.js.org/docs/en/display/as-json */ toJSON(): string /** * To format as an ISO 8601 string. * ``` * dayjs('2019-01-25').toISOString() // '2019-01-25T02:00:00.000Z' * ``` * Docs: https://day.js.org/docs/en/display/as-iso-string */ toISOString(): string /** * Returns a string representation of the date. * ``` * dayjs('2019-01-25').toString() // 'Fri, 25 Jan 2019 02:00:00 GMT' * ``` * Docs: https://day.js.org/docs/en/display/as-string */ toString(): string /** * Get the UTC offset in minutes. * ``` * dayjs().utcOffset() * ``` * Docs: https://day.js.org/docs/en/manipulate/utc-offset */ utcOffset(): number /** * This indicates whether the Day.js object is before the other supplied date-time. * ``` * dayjs().isBefore(dayjs('2011-01-01')) // default milliseconds * ``` * If you want to limit the granularity to a unit other than milliseconds, pass it as the second parameter. * ``` * dayjs().isBefore('2011-01-01', 'year')// => boolean * ``` * Units are case insensitive, and support plural and short forms. * * Docs: https://day.js.org/docs/en/query/is-before */ isBefore(date?: ConfigType, unit?: OpUnitType): boolean /** * This indicates whether the Day.js object is the same as the other supplied date-time. * ``` * dayjs().isSame(dayjs('2011-01-01')) // default milliseconds * ``` * If you want to limit the granularity to a unit other than milliseconds, pass it as the second parameter. * ``` * dayjs().isSame('2011-01-01', 'year')// => boolean * ``` * Docs: https://day.js.org/docs/en/query/is-same */ isSame(date?: ConfigType, unit?: OpUnitType): boolean /** * This indicates whether the Day.js object is after the other supplied date-time. * ``` * dayjs().isAfter(dayjs('2011-01-01')) // default milliseconds * ``` * If you want to limit the granularity to a unit other than milliseconds, pass it as the second parameter. * ``` * dayjs().isAfter('2011-01-01', 'year')// => boolean * ``` * Units are case insensitive, and support plural and short forms. * * Docs: https://day.js.org/docs/en/query/is-after */ isAfter(date?: ConfigType, unit?: OpUnitType): boolean locale(): string locale(preset: string | ILocale, object?: Partial): Dayjs } export type PluginFunc = (option: T, c: typeof Dayjs, d: typeof dayjs) => void export function extend(plugin: PluginFunc, option?: T): Dayjs export function locale(preset?: string | ILocale, object?: Partial, isLocal?: boolean): string export function isDayjs(d: any): d is Dayjs export function unix(t: number): Dayjs const Ls : { [key: string] : ILocale } } iamkun-dayjs-a25f01e/types/locale/000077500000000000000000000000001520523163200171155ustar00rootroot00000000000000iamkun-dayjs-a25f01e/types/locale/index.d.ts000066400000000000000000000002761520523163200210230ustar00rootroot00000000000000/// declare module 'dayjs/locale/*' { namespace locale { interface Locale extends ILocale {} } const locale: locale.Locale export = locale } iamkun-dayjs-a25f01e/types/locale/types.d.ts000066400000000000000000000010751520523163200210560ustar00rootroot00000000000000declare interface ILocale { name: string weekdays?: string[] months?: string[] weekStart?: number weekdaysShort?: string[] monthsShort?: string[] weekdaysMin?: string[] ordinal?: (n: number) => number | string formats: Partial<{ LT: string LTS: string L: string LL: string LLL: string LLLL: string }> relativeTime: Partial<{ future: string past: string s: string m: string mm: string h: string hh: string d: string dd: string M: string MM: string y: string yy: string }> } iamkun-dayjs-a25f01e/types/plugin/000077500000000000000000000000001520523163200171545ustar00rootroot00000000000000iamkun-dayjs-a25f01e/types/plugin/advancedFormat.d.ts000066400000000000000000000001251520523163200226620ustar00rootroot00000000000000import { PluginFunc } from 'dayjs' declare const plugin: PluginFunc export = plugin iamkun-dayjs-a25f01e/types/plugin/arraySupport.d.ts000077500000000000000000000003431520523163200224640ustar00rootroot00000000000000import { PluginFunc } from 'dayjs' declare module 'dayjs' { interface ConfigTypeMap { arraySupport: [number?, number?, number?, number?, number?, number?, number?] } } declare const plugin: PluginFunc export = plugin iamkun-dayjs-a25f01e/types/plugin/badMutable.d.ts000066400000000000000000000001251520523163200220040ustar00rootroot00000000000000import { PluginFunc } from 'dayjs' declare const plugin: PluginFunc export = plugin iamkun-dayjs-a25f01e/types/plugin/bigIntSupport.d.ts000066400000000000000000000003241520523163200225560ustar00rootroot00000000000000import { PluginFunc } from 'dayjs' declare module 'dayjs' { interface ConfigTypeMap { bigIntSupport: BigInt } export function unix(t: BigInt): Dayjs } declare const plugin: PluginFunc export = plugin iamkun-dayjs-a25f01e/types/plugin/buddhistEra.d.ts000066400000000000000000000001251520523163200222020ustar00rootroot00000000000000import { PluginFunc } from 'dayjs' declare const plugin: PluginFunc export = plugin iamkun-dayjs-a25f01e/types/plugin/calendar.d.ts000066400000000000000000000003301520523163200215130ustar00rootroot00000000000000import { PluginFunc, ConfigType } from 'dayjs' declare const plugin: PluginFunc export = plugin declare module 'dayjs' { interface Dayjs { calendar(referenceTime?: ConfigType, formats?: object): string } } iamkun-dayjs-a25f01e/types/plugin/customParseFormat.d.ts000066400000000000000000000003001520523163200234150ustar00rootroot00000000000000import { PluginFunc } from 'dayjs' declare interface PluginOptions { parseTwoDigitYear?: (yearString: string) => number } declare const plugin: PluginFunc export = plugin iamkun-dayjs-a25f01e/types/plugin/dayOfYear.d.ts000066400000000000000000000003051520523163200216270ustar00rootroot00000000000000import { PluginFunc } from 'dayjs' declare const plugin: PluginFunc export = plugin declare module 'dayjs' { interface Dayjs { dayOfYear(): number dayOfYear(value: number): Dayjs } } iamkun-dayjs-a25f01e/types/plugin/devHelper.d.ts000066400000000000000000000001251520523163200216620ustar00rootroot00000000000000import { PluginFunc } from 'dayjs' declare const plugin: PluginFunc export = plugin iamkun-dayjs-a25f01e/types/plugin/duration.d.ts000066400000000000000000000037461520523163200216050ustar00rootroot00000000000000import { PluginFunc } from 'dayjs' import { OpUnitType, UnitTypeLongPlural } from 'dayjs'; declare const plugin: PluginFunc export as namespace plugin; export = plugin declare namespace plugin { /** * @deprecated Please use more strict types */ type DurationInputType = string | number | object /** * @deprecated Please use more strict types */ type DurationAddType = number | object | Duration type DurationUnitsObjectType = Partial<{ [unit in Exclude | "weeks"]: number }>; type DurationUnitType = Exclude type CreateDurationType = ((units: DurationUnitsObjectType) => Duration) & ((time: number, unit?: DurationUnitType) => Duration) & ((ISO_8601: string) => Duration) type AddDurationType = CreateDurationType & ((duration: Duration) => Duration) interface Duration { new (input: string | number | object, unit?: string, locale?: string): Duration clone(): Duration humanize(withSuffix?: boolean): string milliseconds(): number asMilliseconds(): number seconds(): number asSeconds(): number minutes(): number asMinutes(): number hours(): number asHours(): number days(): number asDays(): number weeks(): number asWeeks(): number months(): number asMonths(): number years(): number asYears(): number as(unit: DurationUnitType): number get(unit: DurationUnitType): number add: AddDurationType subtract: AddDurationType toJSON(): string toISOString(): string format(formatStr?: string): string locale(locale: string): Duration } } declare module 'dayjs' { interface Dayjs { add(duration: plugin.Duration): Dayjs subtract(duration: plugin.Duration): Dayjs } /** * @param time If unit is not present, time treated as number of milliseconds */ export const duration: plugin.CreateDurationType; export function isDuration(d: any): d is plugin.Duration }iamkun-dayjs-a25f01e/types/plugin/isBetween.d.ts000066400000000000000000000004141520523163200216720ustar00rootroot00000000000000import { PluginFunc, ConfigType, OpUnitType } from 'dayjs' declare const plugin: PluginFunc export = plugin declare module 'dayjs' { interface Dayjs { isBetween(a: ConfigType, b: ConfigType, c?: OpUnitType | null, d?: '()' | '[]' | '[)' | '(]'): boolean } } iamkun-dayjs-a25f01e/types/plugin/isLeapYear.d.ts000066400000000000000000000002431520523163200220030ustar00rootroot00000000000000import { PluginFunc } from 'dayjs' declare const plugin: PluginFunc export = plugin declare module 'dayjs' { interface Dayjs { isLeapYear(): boolean } } iamkun-dayjs-a25f01e/types/plugin/isMoment.d.ts000066400000000000000000000002431520523163200215400ustar00rootroot00000000000000import { PluginFunc } from 'dayjs' declare const plugin: PluginFunc export = plugin declare module 'dayjs' { export function isMoment(input: any): boolean } iamkun-dayjs-a25f01e/types/plugin/isSameOrAfter.d.ts000066400000000000000000000003421520523163200224510ustar00rootroot00000000000000import { PluginFunc, ConfigType, OpUnitType } from 'dayjs' declare const plugin: PluginFunc export = plugin declare module 'dayjs' { interface Dayjs { isSameOrAfter(date?: ConfigType, unit?: OpUnitType): boolean } } iamkun-dayjs-a25f01e/types/plugin/isSameOrBefore.d.ts000066400000000000000000000003431520523163200226130ustar00rootroot00000000000000import { PluginFunc, ConfigType, OpUnitType } from 'dayjs' declare const plugin: PluginFunc export = plugin declare module 'dayjs' { interface Dayjs { isSameOrBefore(date?: ConfigType, unit?: OpUnitType): boolean } } iamkun-dayjs-a25f01e/types/plugin/isToday.d.ts000066400000000000000000000002401520523163200213560ustar00rootroot00000000000000import { PluginFunc } from 'dayjs' declare const plugin: PluginFunc export = plugin declare module 'dayjs' { interface Dayjs { isToday(): boolean } } iamkun-dayjs-a25f01e/types/plugin/isTomorrow.d.ts000066400000000000000000000002431520523163200221310ustar00rootroot00000000000000import { PluginFunc } from 'dayjs' declare const plugin: PluginFunc export = plugin declare module 'dayjs' { interface Dayjs { isTomorrow(): boolean } } iamkun-dayjs-a25f01e/types/plugin/isYesterday.d.ts000066400000000000000000000002441520523163200222530ustar00rootroot00000000000000import { PluginFunc } from 'dayjs' declare const plugin: PluginFunc export = plugin declare module 'dayjs' { interface Dayjs { isYesterday(): boolean } } iamkun-dayjs-a25f01e/types/plugin/isoWeek.d.ts000066400000000000000000000011411520523163200213510ustar00rootroot00000000000000import { PluginFunc, OpUnitType, ConfigType } from 'dayjs' declare const plugin: PluginFunc export = plugin type ISOUnitType = OpUnitType | 'isoWeek'; declare module 'dayjs' { interface Dayjs { isoWeekYear(): number isoWeek(): number isoWeek(value: number): Dayjs isoWeekday(): number isoWeekday(value: number): Dayjs startOf(unit: ISOUnitType): Dayjs endOf(unit: ISOUnitType): Dayjs isSame(date?: ConfigType, unit?: ISOUnitType): boolean isBefore(date?: ConfigType, unit?: ISOUnitType): boolean isAfter(date?: ConfigType, unit?: ISOUnitType): boolean } } iamkun-dayjs-a25f01e/types/plugin/isoWeeksInYear.d.ts000066400000000000000000000002461520523163200226510ustar00rootroot00000000000000import { PluginFunc } from 'dayjs' declare const plugin: PluginFunc export = plugin declare module 'dayjs' { interface Dayjs { isoWeeksInYear(): number } } iamkun-dayjs-a25f01e/types/plugin/localeData.d.ts000066400000000000000000000030221520523163200217740ustar00rootroot00000000000000import { PluginFunc } from 'dayjs' declare const plugin: PluginFunc export = plugin declare module 'dayjs' { type WeekdayNames = [string, string, string, string, string, string, string]; type MonthNames = [string, string, string, string, string, string, string, string, string, string, string, string]; interface InstanceLocaleDataReturn { firstDayOfWeek(): number; weekdays(instance?: Dayjs): WeekdayNames; weekdaysShort(instance?: Dayjs): WeekdayNames; weekdaysMin(instance?: Dayjs): WeekdayNames; months(instance?: Dayjs): MonthNames; monthsShort(instance?: Dayjs): MonthNames; longDateFormat(format: string): string; meridiem(hour?: number, minute?: number, isLower?: boolean): string; ordinal(n: number): string } interface GlobalLocaleDataReturn { firstDayOfWeek(): number; weekdays(): WeekdayNames; weekdaysShort(): WeekdayNames; weekdaysMin(): WeekdayNames; months(): MonthNames; monthsShort(): MonthNames; longDateFormat(format: string): string; meridiem(hour?: number, minute?: number, isLower?: boolean): string; ordinal(n: number): string } interface Dayjs { localeData(): InstanceLocaleDataReturn; } export function weekdays(localOrder?: boolean): WeekdayNames; export function weekdaysShort(localOrder?: boolean): WeekdayNames; export function weekdaysMin(localOrder?: boolean): WeekdayNames; export function monthsShort(): MonthNames; export function months(): MonthNames; export function localeData(): GlobalLocaleDataReturn; } iamkun-dayjs-a25f01e/types/plugin/localizedFormat.d.ts000066400000000000000000000001251520523163200230630ustar00rootroot00000000000000import { PluginFunc } from 'dayjs' declare const plugin: PluginFunc export = plugin iamkun-dayjs-a25f01e/types/plugin/minMax.d.ts000066400000000000000000000014061520523163200212000ustar00rootroot00000000000000import { PluginFunc } from 'dayjs' declare const plugin: PluginFunc export = plugin declare module 'dayjs' { export function max(dayjs: [Dayjs, ...Dayjs[]]): Dayjs export function max(noDates: never[]): null export function max(maybeDates: Dayjs[]): Dayjs | null export function max(...dayjs: [Dayjs, ...Dayjs[]]): Dayjs export function max(...noDates: never[]): null export function max(...maybeDates: Dayjs[]): Dayjs | null export function min(dayjs: [Dayjs, ...Dayjs[]]): Dayjs export function min(noDates: never[]): null export function min(maybeDates: Dayjs[]): Dayjs | null export function min(...dayjs: [Dayjs, ...Dayjs[]]): Dayjs export function min(...noDates: never[]): null export function min(...maybeDates: Dayjs[]): Dayjs | null } iamkun-dayjs-a25f01e/types/plugin/negativeYear.d.ts000066400000000000000000000001221520523163200223640ustar00rootroot00000000000000import {PluginFunc} from 'dayjs' declare const plugin: PluginFunc export = pluginiamkun-dayjs-a25f01e/types/plugin/objectSupport.d.ts000077500000000000000000000022671520523163200226230ustar00rootroot00000000000000import { PluginFunc } from 'dayjs' declare const plugin: PluginFunc export = plugin declare module 'dayjs' { interface Dayjs { set(argument: object): Dayjs add(argument: object): Dayjs subtract(argument: object): Dayjs } interface ConfigTypeMap { objectSupport: { years?: number | string; year?: number | string; y?: number | string; months?: number | string; month?: number | string; M?: number | string; days?: number | string; day?: number | string; d?: number | string; dates?: number | string; date?: number | string; D?: number | string; hours?: number | string; hour?: number | string; h?: number | string; minutes?: number | string; minute?: number | string; m?: number | string; seconds?: number | string; second?: number | string; s?: number | string; milliseconds?: number | string; millisecond?: number | string; ms?: number | string; } } } iamkun-dayjs-a25f01e/types/plugin/pluralGetSet.d.ts000066400000000000000000000012321520523163200223570ustar00rootroot00000000000000import { PluginFunc, UnitType, ConfigType } from 'dayjs' declare const plugin: PluginFunc export = plugin declare module 'dayjs' { interface Dayjs { years(): number years(value: number): Dayjs months(): number months(value: number): Dayjs dates(): number dates(value: number): Dayjs weeks(): number weeks(value: number): Dayjs days(): number days(value: number): Dayjs hours(): number hours(value: number): Dayjs minutes(): number minutes(value: number): Dayjs seconds(): number seconds(value: number): Dayjs milliseconds(): number milliseconds(value: number): Dayjs } } iamkun-dayjs-a25f01e/types/plugin/preParsePostFormat.d.ts000066400000000000000000000001251520523163200235440ustar00rootroot00000000000000import { PluginFunc } from 'dayjs' declare const plugin: PluginFunc export = plugin iamkun-dayjs-a25f01e/types/plugin/quarterOfYear.d.ts000066400000000000000000000011371520523163200225410ustar00rootroot00000000000000import { PluginFunc, ConfigType, QUnitType, OpUnitType } from 'dayjs' declare const plugin: PluginFunc export = plugin declare module 'dayjs' { interface Dayjs { quarter(): number quarter(quarter: number): Dayjs add(value: number, unit: QUnitType): Dayjs subtract(value: number, unit: QUnitType): Dayjs startOf(unit: QUnitType | OpUnitType): Dayjs endOf(unit: QUnitType | OpUnitType): Dayjs isSame(date?: ConfigType, unit?: QUnitType): boolean isBefore(date?: ConfigType, unit?: QUnitType): boolean isAfter(date?: ConfigType, unit?: QUnitType): boolean } } iamkun-dayjs-a25f01e/types/plugin/relativeTime.d.ts000066400000000000000000000011121520523163200223730ustar00rootroot00000000000000import { PluginFunc, ConfigType } from 'dayjs' declare interface RelativeTimeThreshold { l: string r?: number d?: string } declare interface RelativeTimeOptions { rounding?: (num: number) => number thresholds?: RelativeTimeThreshold[] } declare const plugin: PluginFunc export = plugin declare module 'dayjs' { interface Dayjs { fromNow(withoutSuffix?: boolean): string from(compared: ConfigType, withoutSuffix?: boolean): string toNow(withoutSuffix?: boolean): string to(compared: ConfigType, withoutSuffix?: boolean): string } } iamkun-dayjs-a25f01e/types/plugin/timezone.d.ts000066400000000000000000000007661520523163200216110ustar00rootroot00000000000000import { PluginFunc, ConfigType } from 'dayjs' declare const plugin: PluginFunc export = plugin declare module 'dayjs' { interface Dayjs { tz(timezone?: string, keepLocalTime?: boolean): Dayjs offsetName(type?: 'short' | 'long'): string | undefined } interface DayjsTimezone { (date?: ConfigType, timezone?: string): Dayjs (date: ConfigType, format: string, timezone?: string): Dayjs guess(): string setDefault(timezone?: string): void } const tz: DayjsTimezone } iamkun-dayjs-a25f01e/types/plugin/toArray.d.ts000066400000000000000000000002411520523163200213640ustar00rootroot00000000000000import { PluginFunc } from 'dayjs' declare const plugin: PluginFunc export = plugin declare module 'dayjs' { interface Dayjs { toArray(): number[] } } iamkun-dayjs-a25f01e/types/plugin/toObject.d.ts000066400000000000000000000004731520523163200215230ustar00rootroot00000000000000import { PluginFunc } from 'dayjs' declare const plugin: PluginFunc export = plugin interface DayjsObject { years: number months: number date: number hours: number minutes: number seconds: number milliseconds: number } declare module 'dayjs' { interface Dayjs { toObject(): DayjsObject } } iamkun-dayjs-a25f01e/types/plugin/updateLocale.d.ts000066400000000000000000000003441520523163200223510ustar00rootroot00000000000000import { PluginFunc } from 'dayjs' declare const plugin: PluginFunc export = plugin declare module 'dayjs' { export function updateLocale(localeName: string, customConfig: Record): Record } iamkun-dayjs-a25f01e/types/plugin/utc.d.ts000066400000000000000000000006161520523163200205440ustar00rootroot00000000000000import { PluginFunc, ConfigType } from 'dayjs' declare const plugin: PluginFunc export = plugin declare module 'dayjs' { interface Dayjs { utc(keepLocalTime?: boolean): Dayjs local(): Dayjs isUTC(): boolean utcOffset(offset: number | string, keepLocalTime?: boolean): Dayjs } export function utc(config?: ConfigType, format?: string, strict?: boolean): Dayjs } iamkun-dayjs-a25f01e/types/plugin/weekOfYear.d.ts000066400000000000000000000002751520523163200220130ustar00rootroot00000000000000import { PluginFunc } from 'dayjs' declare const plugin: PluginFunc export = plugin declare module 'dayjs' { interface Dayjs { week(): number week(value : number): Dayjs } } iamkun-dayjs-a25f01e/types/plugin/weekYear.d.ts000066400000000000000000000002401520523163200215160ustar00rootroot00000000000000import { PluginFunc } from 'dayjs' declare const plugin: PluginFunc export = plugin declare module 'dayjs' { interface Dayjs { weekYear(): number } } iamkun-dayjs-a25f01e/types/plugin/weekday.d.ts000066400000000000000000000003021520523163200213720ustar00rootroot00000000000000import { PluginFunc } from 'dayjs' declare const plugin: PluginFunc export = plugin declare module 'dayjs' { interface Dayjs { weekday(): number weekday(value: number): Dayjs } }