From eee2a2dc4a57f288a77f869e11e73b5fb0431b28 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 20 Apr 2021 18:10:49 +0000 Subject: [PATCH 01/16] Updating the README! From 9e3c45b451dacdad3b3f4095f0cc5d986a390609 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 21 Apr 2021 18:11:06 +0000 Subject: [PATCH 02/16] Updating the README! From 7f6ec959ba8abf0014711ced75a82a99b94fe934 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 22 Apr 2021 18:11:59 +0000 Subject: [PATCH 03/16] Updating the README! From b328bc1bf0e8009bde0cc8e1e83276b40739281d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 23 Apr 2021 18:11:49 +0000 Subject: [PATCH 04/16] Updating the README! From 6d5ec5011c9ac2ce0b549f057421052296b652a4 Mon Sep 17 00:00:00 2001 From: Henk Verlinde Date: Sat, 24 Apr 2021 10:36:13 +0200 Subject: [PATCH 05/16] deps: add mermaid --- package-lock.json | 1079 ++++++++++++++++++++++++++++++++++++++++++++- package.json | 1 + 2 files changed, 1077 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8a0cca7..c52e94e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,6 +24,7 @@ "katex": "^0.13", "lazysizes": "^5.3", "markdownlint-cli": "^0.27", + "mermaid": "^8.9.2", "netlify-lambda": "^2.0", "postcss": "^8.2", "postcss-cli": "^8.3", @@ -1294,6 +1295,12 @@ "to-fast-properties": "^2.0.0" } }, + "node_modules/@braintree/sanitize-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-3.1.0.tgz", + "integrity": "sha512-GcIY79elgB+azP74j8vqkiXz8xLFfIzbQJdlwOPisgbKT00tviJQuEghOXSMVxJ00HoYJbGswr4kcllUc4xCcg==", + "dev": true + }, "node_modules/@eslint/eslintrc": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.0.tgz", @@ -2814,6 +2821,16 @@ "node": ">=6" } }, + "node_modules/camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "dependencies": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, "node_modules/camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", @@ -3128,6 +3145,27 @@ "node": ">=0.10.0" } }, + "node_modules/clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "dev": true, + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/clean-css/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/clipboard": { "version": "2.0.8", "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.8.tgz", @@ -3770,6 +3808,18 @@ "node": "*" } }, + "node_modules/css-b64-images": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/css-b64-images/-/css-b64-images-0.2.5.tgz", + "integrity": "sha1-QgBdgyBLK0pdk7axpWRBM7WSegI=", + "dev": true, + "bin": { + "css-b64-images": "bin/css-b64-images" + }, + "engines": { + "node": "*" + } + }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", @@ -3800,6 +3850,341 @@ "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", "dev": true }, + "node_modules/d3": { + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/d3/-/d3-5.16.0.tgz", + "integrity": "sha512-4PL5hHaHwX4m7Zr1UapXW23apo6pexCgdetdJ5kTmADpG/7T9Gkxw0M0tf/pjoB63ezCCm0u5UaFYy2aMt0Mcw==", + "dev": true, + "dependencies": { + "d3-array": "1", + "d3-axis": "1", + "d3-brush": "1", + "d3-chord": "1", + "d3-collection": "1", + "d3-color": "1", + "d3-contour": "1", + "d3-dispatch": "1", + "d3-drag": "1", + "d3-dsv": "1", + "d3-ease": "1", + "d3-fetch": "1", + "d3-force": "1", + "d3-format": "1", + "d3-geo": "1", + "d3-hierarchy": "1", + "d3-interpolate": "1", + "d3-path": "1", + "d3-polygon": "1", + "d3-quadtree": "1", + "d3-random": "1", + "d3-scale": "2", + "d3-scale-chromatic": "1", + "d3-selection": "1", + "d3-shape": "1", + "d3-time": "1", + "d3-time-format": "2", + "d3-timer": "1", + "d3-transition": "1", + "d3-voronoi": "1", + "d3-zoom": "1" + } + }, + "node_modules/d3-array": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz", + "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==", + "dev": true + }, + "node_modules/d3-axis": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-1.0.12.tgz", + "integrity": "sha512-ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ==", + "dev": true + }, + "node_modules/d3-brush": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-1.1.6.tgz", + "integrity": "sha512-7RW+w7HfMCPyZLifTz/UnJmI5kdkXtpCbombUSs8xniAyo0vIbrDzDwUJB6eJOgl9u5DQOt2TQlYumxzD1SvYA==", + "dev": true, + "dependencies": { + "d3-dispatch": "1", + "d3-drag": "1", + "d3-interpolate": "1", + "d3-selection": "1", + "d3-transition": "1" + } + }, + "node_modules/d3-chord": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-1.0.6.tgz", + "integrity": "sha512-JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA==", + "dev": true, + "dependencies": { + "d3-array": "1", + "d3-path": "1" + } + }, + "node_modules/d3-collection": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.7.tgz", + "integrity": "sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==", + "dev": true + }, + "node_modules/d3-color": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.4.1.tgz", + "integrity": "sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==", + "dev": true + }, + "node_modules/d3-contour": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-1.3.2.tgz", + "integrity": "sha512-hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg==", + "dev": true, + "dependencies": { + "d3-array": "^1.1.1" + } + }, + "node_modules/d3-dispatch": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.6.tgz", + "integrity": "sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==", + "dev": true + }, + "node_modules/d3-drag": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.5.tgz", + "integrity": "sha512-rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w==", + "dev": true, + "dependencies": { + "d3-dispatch": "1", + "d3-selection": "1" + } + }, + "node_modules/d3-dsv": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.2.0.tgz", + "integrity": "sha512-9yVlqvZcSOMhCYzniHE7EVUws7Fa1zgw+/EAV2BxJoG3ME19V6BQFBwI855XQDsxyOuG7NibqRMTtiF/Qup46g==", + "dev": true, + "dependencies": { + "commander": "2", + "iconv-lite": "0.4", + "rw": "1" + }, + "bin": { + "csv2json": "bin/dsv2json", + "csv2tsv": "bin/dsv2dsv", + "dsv2dsv": "bin/dsv2dsv", + "dsv2json": "bin/dsv2json", + "json2csv": "bin/json2dsv", + "json2dsv": "bin/json2dsv", + "json2tsv": "bin/json2dsv", + "tsv2csv": "bin/dsv2dsv", + "tsv2json": "bin/dsv2json" + } + }, + "node_modules/d3-dsv/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/d3-ease": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.7.tgz", + "integrity": "sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ==", + "dev": true + }, + "node_modules/d3-fetch": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-1.2.0.tgz", + "integrity": "sha512-yC78NBVcd2zFAyR/HnUiBS7Lf6inSCoWcSxFfw8FYL7ydiqe80SazNwoffcqOfs95XaLo7yebsmQqDKSsXUtvA==", + "dev": true, + "dependencies": { + "d3-dsv": "1" + } + }, + "node_modules/d3-force": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-1.2.1.tgz", + "integrity": "sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==", + "dev": true, + "dependencies": { + "d3-collection": "1", + "d3-dispatch": "1", + "d3-quadtree": "1", + "d3-timer": "1" + } + }, + "node_modules/d3-format": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz", + "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ==", + "dev": true + }, + "node_modules/d3-geo": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.12.1.tgz", + "integrity": "sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg==", + "dev": true, + "dependencies": { + "d3-array": "1" + } + }, + "node_modules/d3-hierarchy": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz", + "integrity": "sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==", + "dev": true + }, + "node_modules/d3-interpolate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.4.0.tgz", + "integrity": "sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==", + "dev": true, + "dependencies": { + "d3-color": "1" + } + }, + "node_modules/d3-path": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", + "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==", + "dev": true + }, + "node_modules/d3-polygon": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-1.0.6.tgz", + "integrity": "sha512-k+RF7WvI08PC8reEoXa/w2nSg5AUMTi+peBD9cmFc+0ixHfbs4QmxxkarVal1IkVkgxVuk9JSHhJURHiyHKAuQ==", + "dev": true + }, + "node_modules/d3-quadtree": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.7.tgz", + "integrity": "sha512-RKPAeXnkC59IDGD0Wu5mANy0Q2V28L+fNe65pOCXVdVuTJS3WPKaJlFHer32Rbh9gIo9qMuJXio8ra4+YmIymA==", + "dev": true + }, + "node_modules/d3-random": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-1.1.2.tgz", + "integrity": "sha512-6AK5BNpIFqP+cx/sreKzNjWbwZQCSUatxq+pPRmFIQaWuoD+NrbVWw7YWpHiXpCQ/NanKdtGDuB+VQcZDaEmYQ==", + "dev": true + }, + "node_modules/d3-scale": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-2.2.2.tgz", + "integrity": "sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw==", + "dev": true, + "dependencies": { + "d3-array": "^1.2.0", + "d3-collection": "1", + "d3-format": "1", + "d3-interpolate": "1", + "d3-time": "1", + "d3-time-format": "2" + } + }, + "node_modules/d3-scale-chromatic": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-1.5.0.tgz", + "integrity": "sha512-ACcL46DYImpRFMBcpk9HhtIyC7bTBR4fNOPxwVSl0LfulDAwyiHyPOTqcDG1+t5d4P9W7t/2NAuWu59aKko/cg==", + "dev": true, + "dependencies": { + "d3-color": "1", + "d3-interpolate": "1" + } + }, + "node_modules/d3-selection": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.2.tgz", + "integrity": "sha512-SJ0BqYihzOjDnnlfyeHT0e30k0K1+5sR3d5fNueCNeuhZTnGw4M4o8mqJchSwgKMXCNFo+e2VTChiSJ0vYtXkg==", + "dev": true + }, + "node_modules/d3-shape": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", + "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", + "dev": true, + "dependencies": { + "d3-path": "1" + } + }, + "node_modules/d3-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.1.0.tgz", + "integrity": "sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==", + "dev": true + }, + "node_modules/d3-time-format": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.3.0.tgz", + "integrity": "sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==", + "dev": true, + "dependencies": { + "d3-time": "1" + } + }, + "node_modules/d3-timer": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.10.tgz", + "integrity": "sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==", + "dev": true + }, + "node_modules/d3-transition": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.3.2.tgz", + "integrity": "sha512-sc0gRU4PFqZ47lPVHloMn9tlPcv8jxgOQg+0zjhfZXMQuvppjG6YuwdMBE0TuqCZjeJkLecku/l9R0JPcRhaDA==", + "dev": true, + "dependencies": { + "d3-color": "1", + "d3-dispatch": "1", + "d3-ease": "1", + "d3-interpolate": "1", + "d3-selection": "^1.1.0", + "d3-timer": "1" + } + }, + "node_modules/d3-voronoi": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.4.tgz", + "integrity": "sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==", + "dev": true + }, + "node_modules/d3-zoom": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-1.8.3.tgz", + "integrity": "sha512-VoLXTK4wvy1a0JpH2Il+F2CiOhVu7VRXWF5M/LroMIh3/zBAC3WAt7QoIvPibOavVo20hN6/37vwAsdBejLyKQ==", + "dev": true, + "dependencies": { + "d3-dispatch": "1", + "d3-drag": "1", + "d3-interpolate": "1", + "d3-selection": "1", + "d3-transition": "1" + } + }, + "node_modules/dagre": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/dagre/-/dagre-0.8.5.tgz", + "integrity": "sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==", + "dev": true, + "dependencies": { + "graphlib": "^2.1.8", + "lodash": "^4.17.15" + } + }, + "node_modules/dagre-d3": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/dagre-d3/-/dagre-d3-0.6.4.tgz", + "integrity": "sha512-e/6jXeCP7/ptlAM48clmX4xTZc5Ek6T6kagS7Oz2HrYSdqcLZFLqpAfh7ldbZRFfxCZVyh61NEPR08UQRVxJzQ==", + "dev": true, + "dependencies": { + "d3": "^5.14", + "dagre": "^0.8.5", + "graphlib": "^2.1.8", + "lodash": "^4.17.15" + } + }, "node_modules/dargs": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", @@ -4511,6 +4896,15 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/entity-decode": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/entity-decode/-/entity-decode-2.0.2.tgz", + "integrity": "sha512-5CCY/3ci4MC1m2jlumNjWd7VBFt4VfFnmSqSNmVcXq4gxM3Vmarxtt+SvmBnzwLS669MWdVuXboNVj1qN2esVg==", + "dev": true, + "dependencies": { + "he": "^1.1.1" + } + }, "node_modules/errno": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", @@ -6539,6 +6933,15 @@ "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", "dev": true }, + "node_modules/graphlib": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", + "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", + "dev": true, + "dependencies": { + "lodash": "^4.17.15" + } + }, "node_modules/handlebars": { "version": "4.7.7", "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", @@ -6729,6 +7132,15 @@ "minimalistic-assert": "^1.0.1" } }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, "node_modules/highlight.js": { "version": "10.7.2", "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.2.tgz", @@ -6755,6 +7167,33 @@ "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true }, + "node_modules/html-minifier": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz", + "integrity": "sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==", + "dev": true, + "dependencies": { + "camel-case": "^3.0.0", + "clean-css": "^4.2.1", + "commander": "^2.19.0", + "he": "^1.2.0", + "param-case": "^2.1.1", + "relateurl": "^0.2.7", + "uglify-js": "^3.5.1" + }, + "bin": { + "html-minifier": "cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/html-minifier/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/html-tags": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", @@ -7623,6 +8062,12 @@ "json-buffer": "3.0.0" } }, + "node_modules/khroma": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/khroma/-/khroma-1.4.1.tgz", + "integrity": "sha512-+GmxKvmiRuCcUYDgR7g5Ngo0JEDeOsGdNONdU2zsiBQaK4z19Y2NvXqfEDE0ZiIrg45GTZyAnPLVsLZZACYm3Q==", + "dev": true + }, "node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -7934,6 +8379,12 @@ "node": ">=0.10.0" } }, + "node_modules/lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, "node_modules/lowercase-keys": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", @@ -8395,6 +8846,25 @@ "node": ">= 8" } }, + "node_modules/mermaid": { + "version": "8.9.2", + "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-8.9.2.tgz", + "integrity": "sha512-XWEaraDRDlHZexdeHSSr/MH4VJAOksRSPudchi69ecZJ7IUjjlzHsg32n4ZwJUh6lFO+NMYLHwHNNYUyxIjGPg==", + "dev": true, + "dependencies": { + "@braintree/sanitize-url": "^3.1.0", + "d3": "^5.7.0", + "dagre": "^0.8.4", + "dagre-d3": "^0.6.4", + "entity-decode": "^2.0.2", + "graphlib": "^2.1.7", + "he": "^1.2.0", + "khroma": "^1.1.0", + "minify": "^4.1.1", + "moment-mini": "^2.22.1", + "stylis": "^3.5.2" + } + }, "node_modules/methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -8552,6 +9022,27 @@ "node": ">=4" } }, + "node_modules/minify": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/minify/-/minify-4.1.3.tgz", + "integrity": "sha512-ykuscavxivSmVpcCzsXmsVTukWYLUUtPhHj0w2ILvHDGqC+hsuTCihBn9+PJBd58JNvWTNg9132J9nrrI2anzA==", + "dev": true, + "dependencies": { + "clean-css": "^4.1.6", + "css-b64-images": "~0.2.5", + "debug": "^4.1.0", + "html-minifier": "^4.0.0", + "terser": "^4.0.0", + "try-catch": "^2.0.0", + "try-to-catch": "^1.0.2" + }, + "bin": { + "minify": "bin/minify.js" + }, + "engines": { + "node": ">= 8.0.0" + } + }, "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -8697,6 +9188,12 @@ "node": ">=0.10.0" } }, + "node_modules/moment-mini": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/moment-mini/-/moment-mini-2.24.0.tgz", + "integrity": "sha512-9ARkWHBs+6YJIvrIp0Ik5tyTTtP9PoV0Ssu2Ocq5y9v8+NOOpWiRshAp8c4rZVWTOe+157on/5G+zj5pwIQFEQ==", + "dev": true + }, "node_modules/move-concurrently": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", @@ -8870,6 +9367,15 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, + "node_modules/no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "dependencies": { + "lower-case": "^1.1.1" + } + }, "node_modules/node-libs-browser": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", @@ -9385,6 +9891,15 @@ "readable-stream": "^2.1.5" } }, + "node_modules/param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "dependencies": { + "no-case": "^2.2.0" + } + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -10851,6 +11366,15 @@ "jsesc": "bin/jsesc" } }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/remark": { "version": "13.0.0", "resolved": "https://registry.npmjs.org/remark/-/remark-13.0.0.tgz", @@ -11067,6 +11591,12 @@ "aproba": "^1.1.1" } }, + "node_modules/rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=", + "dev": true + }, "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -12743,6 +13273,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/stylis": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-3.5.4.tgz", + "integrity": "sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q==", + "dev": true + }, "node_modules/sugarss": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-2.0.0.tgz", @@ -13255,6 +13791,21 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/try-catch": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/try-catch/-/try-catch-2.0.1.tgz", + "integrity": "sha512-LsOrmObN/2WdM+y2xG+t16vhYrQsnV8wftXIcIOWZhQcBJvKGYuamJGwnU98A7Jxs2oZNkJztXlphEOoA0DWqg==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/try-to-catch": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/try-to-catch/-/try-to-catch-1.1.1.tgz", + "integrity": "sha512-ikUlS+/BcImLhNYyIgZcEmq4byc31QpC+46/6Jm5ECWkVFhf8SM2Fp/0pMVXPX6vk45SMCwrP4Taxucne8I0VA==", + "dev": true + }, "node_modules/tty-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", @@ -13333,7 +13884,6 @@ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.4.tgz", "integrity": "sha512-kv7fCkIXyQIilD5/yQy8O+uagsYIOt5cZvs890W40/e/rvjMSzJw81o9Bg0tkURxzZBROtDQhW2LFjOGoK3RZw==", "dev": true, - "optional": true, "bin": { "uglifyjs": "bin/uglifyjs" }, @@ -13593,6 +14143,12 @@ "yarn": "*" } }, + "node_modules/upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -15204,6 +15760,12 @@ "to-fast-properties": "^2.0.0" } }, + "@braintree/sanitize-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-3.1.0.tgz", + "integrity": "sha512-GcIY79elgB+azP74j8vqkiXz8xLFfIzbQJdlwOPisgbKT00tviJQuEghOXSMVxJ00HoYJbGswr4kcllUc4xCcg==", + "dev": true + }, "@eslint/eslintrc": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.0.tgz", @@ -16446,6 +17008,16 @@ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, "camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", @@ -16686,6 +17258,23 @@ } } }, + "clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "dev": true, + "requires": { + "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 + } + } + }, "clipboard": { "version": "2.0.8", "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.8.tgz", @@ -17229,6 +17818,12 @@ "randomfill": "^1.0.3" } }, + "css-b64-images": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/css-b64-images/-/css-b64-images-0.2.5.tgz", + "integrity": "sha1-QgBdgyBLK0pdk7axpWRBM7WSegI=", + "dev": true + }, "cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", @@ -17250,6 +17845,332 @@ "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", "dev": true }, + "d3": { + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/d3/-/d3-5.16.0.tgz", + "integrity": "sha512-4PL5hHaHwX4m7Zr1UapXW23apo6pexCgdetdJ5kTmADpG/7T9Gkxw0M0tf/pjoB63ezCCm0u5UaFYy2aMt0Mcw==", + "dev": true, + "requires": { + "d3-array": "1", + "d3-axis": "1", + "d3-brush": "1", + "d3-chord": "1", + "d3-collection": "1", + "d3-color": "1", + "d3-contour": "1", + "d3-dispatch": "1", + "d3-drag": "1", + "d3-dsv": "1", + "d3-ease": "1", + "d3-fetch": "1", + "d3-force": "1", + "d3-format": "1", + "d3-geo": "1", + "d3-hierarchy": "1", + "d3-interpolate": "1", + "d3-path": "1", + "d3-polygon": "1", + "d3-quadtree": "1", + "d3-random": "1", + "d3-scale": "2", + "d3-scale-chromatic": "1", + "d3-selection": "1", + "d3-shape": "1", + "d3-time": "1", + "d3-time-format": "2", + "d3-timer": "1", + "d3-transition": "1", + "d3-voronoi": "1", + "d3-zoom": "1" + } + }, + "d3-array": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz", + "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==", + "dev": true + }, + "d3-axis": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-1.0.12.tgz", + "integrity": "sha512-ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ==", + "dev": true + }, + "d3-brush": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-1.1.6.tgz", + "integrity": "sha512-7RW+w7HfMCPyZLifTz/UnJmI5kdkXtpCbombUSs8xniAyo0vIbrDzDwUJB6eJOgl9u5DQOt2TQlYumxzD1SvYA==", + "dev": true, + "requires": { + "d3-dispatch": "1", + "d3-drag": "1", + "d3-interpolate": "1", + "d3-selection": "1", + "d3-transition": "1" + } + }, + "d3-chord": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-1.0.6.tgz", + "integrity": "sha512-JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA==", + "dev": true, + "requires": { + "d3-array": "1", + "d3-path": "1" + } + }, + "d3-collection": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.7.tgz", + "integrity": "sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==", + "dev": true + }, + "d3-color": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.4.1.tgz", + "integrity": "sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==", + "dev": true + }, + "d3-contour": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-1.3.2.tgz", + "integrity": "sha512-hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg==", + "dev": true, + "requires": { + "d3-array": "^1.1.1" + } + }, + "d3-dispatch": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.6.tgz", + "integrity": "sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==", + "dev": true + }, + "d3-drag": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.5.tgz", + "integrity": "sha512-rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w==", + "dev": true, + "requires": { + "d3-dispatch": "1", + "d3-selection": "1" + } + }, + "d3-dsv": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.2.0.tgz", + "integrity": "sha512-9yVlqvZcSOMhCYzniHE7EVUws7Fa1zgw+/EAV2BxJoG3ME19V6BQFBwI855XQDsxyOuG7NibqRMTtiF/Qup46g==", + "dev": true, + "requires": { + "commander": "2", + "iconv-lite": "0.4", + "rw": "1" + }, + "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 + } + } + }, + "d3-ease": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.7.tgz", + "integrity": "sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ==", + "dev": true + }, + "d3-fetch": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-1.2.0.tgz", + "integrity": "sha512-yC78NBVcd2zFAyR/HnUiBS7Lf6inSCoWcSxFfw8FYL7ydiqe80SazNwoffcqOfs95XaLo7yebsmQqDKSsXUtvA==", + "dev": true, + "requires": { + "d3-dsv": "1" + } + }, + "d3-force": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-1.2.1.tgz", + "integrity": "sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==", + "dev": true, + "requires": { + "d3-collection": "1", + "d3-dispatch": "1", + "d3-quadtree": "1", + "d3-timer": "1" + } + }, + "d3-format": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz", + "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ==", + "dev": true + }, + "d3-geo": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.12.1.tgz", + "integrity": "sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg==", + "dev": true, + "requires": { + "d3-array": "1" + } + }, + "d3-hierarchy": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz", + "integrity": "sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==", + "dev": true + }, + "d3-interpolate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.4.0.tgz", + "integrity": "sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==", + "dev": true, + "requires": { + "d3-color": "1" + } + }, + "d3-path": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", + "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==", + "dev": true + }, + "d3-polygon": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-1.0.6.tgz", + "integrity": "sha512-k+RF7WvI08PC8reEoXa/w2nSg5AUMTi+peBD9cmFc+0ixHfbs4QmxxkarVal1IkVkgxVuk9JSHhJURHiyHKAuQ==", + "dev": true + }, + "d3-quadtree": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.7.tgz", + "integrity": "sha512-RKPAeXnkC59IDGD0Wu5mANy0Q2V28L+fNe65pOCXVdVuTJS3WPKaJlFHer32Rbh9gIo9qMuJXio8ra4+YmIymA==", + "dev": true + }, + "d3-random": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-1.1.2.tgz", + "integrity": "sha512-6AK5BNpIFqP+cx/sreKzNjWbwZQCSUatxq+pPRmFIQaWuoD+NrbVWw7YWpHiXpCQ/NanKdtGDuB+VQcZDaEmYQ==", + "dev": true + }, + "d3-scale": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-2.2.2.tgz", + "integrity": "sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw==", + "dev": true, + "requires": { + "d3-array": "^1.2.0", + "d3-collection": "1", + "d3-format": "1", + "d3-interpolate": "1", + "d3-time": "1", + "d3-time-format": "2" + } + }, + "d3-scale-chromatic": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-1.5.0.tgz", + "integrity": "sha512-ACcL46DYImpRFMBcpk9HhtIyC7bTBR4fNOPxwVSl0LfulDAwyiHyPOTqcDG1+t5d4P9W7t/2NAuWu59aKko/cg==", + "dev": true, + "requires": { + "d3-color": "1", + "d3-interpolate": "1" + } + }, + "d3-selection": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.2.tgz", + "integrity": "sha512-SJ0BqYihzOjDnnlfyeHT0e30k0K1+5sR3d5fNueCNeuhZTnGw4M4o8mqJchSwgKMXCNFo+e2VTChiSJ0vYtXkg==", + "dev": true + }, + "d3-shape": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", + "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", + "dev": true, + "requires": { + "d3-path": "1" + } + }, + "d3-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.1.0.tgz", + "integrity": "sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==", + "dev": true + }, + "d3-time-format": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.3.0.tgz", + "integrity": "sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==", + "dev": true, + "requires": { + "d3-time": "1" + } + }, + "d3-timer": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.10.tgz", + "integrity": "sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==", + "dev": true + }, + "d3-transition": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.3.2.tgz", + "integrity": "sha512-sc0gRU4PFqZ47lPVHloMn9tlPcv8jxgOQg+0zjhfZXMQuvppjG6YuwdMBE0TuqCZjeJkLecku/l9R0JPcRhaDA==", + "dev": true, + "requires": { + "d3-color": "1", + "d3-dispatch": "1", + "d3-ease": "1", + "d3-interpolate": "1", + "d3-selection": "^1.1.0", + "d3-timer": "1" + } + }, + "d3-voronoi": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.4.tgz", + "integrity": "sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==", + "dev": true + }, + "d3-zoom": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-1.8.3.tgz", + "integrity": "sha512-VoLXTK4wvy1a0JpH2Il+F2CiOhVu7VRXWF5M/LroMIh3/zBAC3WAt7QoIvPibOavVo20hN6/37vwAsdBejLyKQ==", + "dev": true, + "requires": { + "d3-dispatch": "1", + "d3-drag": "1", + "d3-interpolate": "1", + "d3-selection": "1", + "d3-transition": "1" + } + }, + "dagre": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/dagre/-/dagre-0.8.5.tgz", + "integrity": "sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==", + "dev": true, + "requires": { + "graphlib": "^2.1.8", + "lodash": "^4.17.15" + } + }, + "dagre-d3": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/dagre-d3/-/dagre-d3-0.6.4.tgz", + "integrity": "sha512-e/6jXeCP7/ptlAM48clmX4xTZc5Ek6T6kagS7Oz2HrYSdqcLZFLqpAfh7ldbZRFfxCZVyh61NEPR08UQRVxJzQ==", + "dev": true, + "requires": { + "d3": "^5.14", + "dagre": "^0.8.5", + "graphlib": "^2.1.8", + "lodash": "^4.17.15" + } + }, "dargs": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", @@ -17828,6 +18749,15 @@ "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", "dev": true }, + "entity-decode": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/entity-decode/-/entity-decode-2.0.2.tgz", + "integrity": "sha512-5CCY/3ci4MC1m2jlumNjWd7VBFt4VfFnmSqSNmVcXq4gxM3Vmarxtt+SvmBnzwLS669MWdVuXboNVj1qN2esVg==", + "dev": true, + "requires": { + "he": "^1.1.1" + } + }, "errno": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", @@ -19440,6 +20370,15 @@ "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", "dev": true }, + "graphlib": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", + "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", + "dev": true, + "requires": { + "lodash": "^4.17.15" + } + }, "handlebars": { "version": "4.7.7", "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", @@ -19575,6 +20514,12 @@ "minimalistic-assert": "^1.0.1" } }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, "highlight.js": { "version": "10.7.2", "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.2.tgz", @@ -19598,6 +20543,29 @@ "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true }, + "html-minifier": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz", + "integrity": "sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==", + "dev": true, + "requires": { + "camel-case": "^3.0.0", + "clean-css": "^4.2.1", + "commander": "^2.19.0", + "he": "^1.2.0", + "param-case": "^2.1.1", + "relateurl": "^0.2.7", + "uglify-js": "^3.5.1" + }, + "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 + } + } + }, "html-tags": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", @@ -20258,6 +21226,12 @@ "json-buffer": "3.0.0" } }, + "khroma": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/khroma/-/khroma-1.4.1.tgz", + "integrity": "sha512-+GmxKvmiRuCcUYDgR7g5Ngo0JEDeOsGdNONdU2zsiBQaK4z19Y2NvXqfEDE0ZiIrg45GTZyAnPLVsLZZACYm3Q==", + "dev": true + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -20512,6 +21486,12 @@ "signal-exit": "^3.0.0" } }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, "lowercase-keys": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", @@ -20870,6 +21850,25 @@ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true }, + "mermaid": { + "version": "8.9.2", + "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-8.9.2.tgz", + "integrity": "sha512-XWEaraDRDlHZexdeHSSr/MH4VJAOksRSPudchi69ecZJ7IUjjlzHsg32n4ZwJUh6lFO+NMYLHwHNNYUyxIjGPg==", + "dev": true, + "requires": { + "@braintree/sanitize-url": "^3.1.0", + "d3": "^5.7.0", + "dagre": "^0.8.4", + "dagre-d3": "^0.6.4", + "entity-decode": "^2.0.2", + "graphlib": "^2.1.7", + "he": "^1.2.0", + "khroma": "^1.1.0", + "minify": "^4.1.1", + "moment-mini": "^2.22.1", + "stylis": "^3.5.2" + } + }, "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -20985,6 +21984,21 @@ "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", "dev": true }, + "minify": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/minify/-/minify-4.1.3.tgz", + "integrity": "sha512-ykuscavxivSmVpcCzsXmsVTukWYLUUtPhHj0w2ILvHDGqC+hsuTCihBn9+PJBd58JNvWTNg9132J9nrrI2anzA==", + "dev": true, + "requires": { + "clean-css": "^4.1.6", + "css-b64-images": "~0.2.5", + "debug": "^4.1.0", + "html-minifier": "^4.0.0", + "terser": "^4.0.0", + "try-catch": "^2.0.0", + "try-to-catch": "^1.0.2" + } + }, "minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -21109,6 +22123,12 @@ "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", "dev": true }, + "moment-mini": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/moment-mini/-/moment-mini-2.24.0.tgz", + "integrity": "sha512-9ARkWHBs+6YJIvrIp0Ik5tyTTtP9PoV0Ssu2Ocq5y9v8+NOOpWiRshAp8c4rZVWTOe+157on/5G+zj5pwIQFEQ==", + "dev": true + }, "move-concurrently": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", @@ -21255,6 +22275,15 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "requires": { + "lower-case": "^1.1.1" + } + }, "node-libs-browser": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", @@ -21665,6 +22694,15 @@ "readable-stream": "^2.1.5" } }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -22800,6 +23838,12 @@ } } }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, "remark": { "version": "13.0.0", "resolved": "https://registry.npmjs.org/remark/-/remark-13.0.0.tgz", @@ -22955,6 +23999,12 @@ "aproba": "^1.1.1" } }, + "rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=", + "dev": true + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -24299,6 +25349,12 @@ "stylelint-config-recommended": "^4.0.0" } }, + "stylis": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-3.5.4.tgz", + "integrity": "sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q==", + "dev": true + }, "sugarss": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-2.0.0.tgz", @@ -24703,6 +25759,18 @@ "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", "dev": true }, + "try-catch": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/try-catch/-/try-catch-2.0.1.tgz", + "integrity": "sha512-LsOrmObN/2WdM+y2xG+t16vhYrQsnV8wftXIcIOWZhQcBJvKGYuamJGwnU98A7Jxs2oZNkJztXlphEOoA0DWqg==", + "dev": true + }, + "try-to-catch": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/try-to-catch/-/try-to-catch-1.1.1.tgz", + "integrity": "sha512-ikUlS+/BcImLhNYyIgZcEmq4byc31QpC+46/6Jm5ECWkVFhf8SM2Fp/0pMVXPX6vk45SMCwrP4Taxucne8I0VA==", + "dev": true + }, "tty-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", @@ -24768,8 +25836,7 @@ "version": "3.13.4", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.4.tgz", "integrity": "sha512-kv7fCkIXyQIilD5/yQy8O+uagsYIOt5cZvs890W40/e/rvjMSzJw81o9Bg0tkURxzZBROtDQhW2LFjOGoK3RZw==", - "dev": true, - "optional": true + "dev": true }, "unbzip2-stream": { "version": "1.4.3", @@ -24956,6 +26023,12 @@ "dev": true, "optional": true }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", diff --git a/package.json b/package.json index a0cbdf7..95ca98b 100644 --- a/package.json +++ b/package.json @@ -52,6 +52,7 @@ "katex": "^0.13", "lazysizes": "^5.3", "markdownlint-cli": "^0.27", + "mermaid": "^8.9.2", "netlify-lambda": "^2.0", "postcss": "^8.2", "postcss-cli": "^8.3", From f3e2788f26bd1bc5afcb3dd90229c447bff8ab50 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 24 Apr 2021 08:36:43 +0000 Subject: [PATCH 06/16] Updating the README! From da3f99443bba70cb268b5bc87349d2ba9844cd31 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 24 Apr 2021 18:11:34 +0000 Subject: [PATCH 07/16] Updating the README! From 1416774a814e7dfc3725806742e8e1baf6743bb5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 25 Apr 2021 18:11:52 +0000 Subject: [PATCH 08/16] Updating the README! From 20deb48394c2e43cb5de388b9cb8cedca0006e2a Mon Sep 17 00:00:00 2001 From: Sun Ziping Date: Mon, 26 Apr 2021 22:54:22 +0800 Subject: [PATCH 09/16] update workflow --- .github/workflows/codeql-analysis.yml | 62 --------------------------- .github/workflows/node.js-ci.yml | 10 +++++ .github/workflows/readme.yml | 17 -------- 3 files changed, 10 insertions(+), 79 deletions(-) delete mode 100644 .github/workflows/codeql-analysis.yml delete mode 100644 .github/workflows/readme.yml diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml deleted file mode 100644 index 0f02f7c..0000000 --- a/.github/workflows/codeql-analysis.yml +++ /dev/null @@ -1,62 +0,0 @@ -# For most projects, this workflow file will not need changing; you simply need -# to commit it to your repository. -# -# You may wish to alter this file to override the set of languages analyzed, -# or to provide custom queries or build logic. -name: "CodeQL" - -on: - push: - branches: [master] - pull_request: - # The branches below must be a subset of the branches above - branches: [master] - schedule: - - cron: '0 11 * * 5' - -jobs: - analyze: - name: Analyze - runs-on: ubuntu-latest - - strategy: - fail-fast: false - matrix: - # Override automatic language detection by changing the below list - # Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python'] - language: ['javascript'] - # Learn more... - # https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection - - steps: - - name: Checkout repository - uses: actions/checkout@v2 - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v1 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - # queries: ./path/to/local/query, your-org/your-repo/queries@main - - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v1 - - # ℹ️ Command-line programs to run using the OS shell. - # 📚 https://git.io/JvXDl - - # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines - # and modify them (or add more) to build your code if your project - # uses a compiled language - - #- run: | - # make bootstrap - # make release - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v1 diff --git a/.github/workflows/node.js-ci.yml b/.github/workflows/node.js-ci.yml index fce41fc..f5ff1db 100644 --- a/.github/workflows/node.js-ci.yml +++ b/.github/workflows/node.js-ci.yml @@ -21,6 +21,12 @@ jobs: steps: - uses: actions/checkout@v2 + - name: Install SSH key + uses: shimataro/ssh-key-action@v2 + with: + key: ${{ secrets.SSH_KEY }} + known_hosts: ${{ secrets.KNOWN_HOSTS }} + - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v1 with: @@ -46,3 +52,7 @@ jobs: - name: Build production website run: npm run build + + - name: Deploy to wt.szp.io + if: ${{ matrix.os == 'ubuntu-latest' && matrix.node-version == '14.x' }} + run: rsync -avz --delete public/ sun@tillycode.com:/srv/http/tillycode/ \ No newline at end of file diff --git a/.github/workflows/readme.yml b/.github/workflows/readme.yml deleted file mode 100644 index 9b40ec7..0000000 --- a/.github/workflows/readme.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: Readme - -on: - schedule: - - cron: 0 18 * * * - push: - branches: - - master - -jobs: - update: - runs-on: ubuntu-latest - steps: - - uses: JasonEtco/rss-to-readme@v1 - with: - feed-url: https://getdoks.org/blog/index.xml - readme-section: feed \ No newline at end of file From e2ee62f14d6b02f370f7171adb86c717ca6cec17 Mon Sep 17 00:00:00 2001 From: Sun Ziping Date: Tue, 27 Apr 2021 04:04:09 +0800 Subject: [PATCH 10/16] add content --- README.md | 127 +- assets/js/highlight.js | 4 + assets/js/index.js | 4 + assets/js/katex.js | 2 - assets/scss/app.scss | 1 + assets/scss/common/_counter.scss | 43 + assets/scss/components/_code.scss | 6 +- assets/scss/components/_tables.scss | 10 +- assets/scss/layouts/_pages.scss | 22 +- config/_default/config.toml | 3 +- config/_default/menus.toml | 34 +- config/_default/params.toml | 29 +- config/next/config.toml | 1 - config/production/config.toml | 1 - content/_index.md | 6 +- content/blog/_index.md | 6 +- content/blog/build-gsa-from-cfg/eta-cfg2.gv | 12 + content/blog/build-gsa-from-cfg/eta-cfg2.svg | 70 + .../blog/build-gsa-from-cfg/eta-gsa-cfg1.gv | 16 + .../blog/build-gsa-from-cfg/eta-gsa-cfg1.svg | 98 + .../blog/build-gsa-from-cfg/eta-gsa-cfg2.gv | 16 + .../blog/build-gsa-from-cfg/eta-gsa-cfg2.svg | 96 + .../blog/build-gsa-from-cfg/example-cfg.gv | 31 + .../blog/build-gsa-from-cfg/example-cfg.svg | 207 + .../blog/build-gsa-from-cfg/example-dom.gv | 39 + .../blog/build-gsa-from-cfg/example-dom.svg | 215 + .../build-gsa-from-cfg/gating-path-cfg.gv | 7 + .../build-gsa-from-cfg/gating-path-cfg.svg | 90 + .../build-gsa-from-cfg/gating-path-dom.gv | 7 + .../build-gsa-from-cfg/gating-path-dom.svg | 78 + content/blog/build-gsa-from-cfg/index.md | 708 + .../blog/build-gsa-from-cfg/interval-tree1.gv | 10 + .../build-gsa-from-cfg/interval-tree1.svg | 57 + .../blog/build-gsa-from-cfg/interval-tree2.gv | 14 + .../build-gsa-from-cfg/interval-tree2.svg | 83 + .../blog/build-gsa-from-cfg/interval-tree3.gv | 17 + .../build-gsa-from-cfg/interval-tree3.svg | 102 + .../blog/build-gsa-from-cfg/interval-tree4.gv | 20 + .../build-gsa-from-cfg/interval-tree4.svg | 121 + .../blog/build-gsa-from-cfg/interval-tree5.gv | 21 + .../build-gsa-from-cfg/interval-tree5.svg | 134 + .../blog/build-gsa-from-cfg/interval-tree6.gv | 25 + .../build-gsa-from-cfg/interval-tree6.svg | 161 + .../blog/build-gsa-from-cfg/interval-tree7.gv | 27 + .../build-gsa-from-cfg/interval-tree7.svg | 174 + .../blog/build-gsa-from-cfg/lemma2-3-cfg.gv | 7 + .../blog/build-gsa-from-cfg/lemma2-3-cfg.svg | 132 + .../blog/build-gsa-from-cfg/lemma2-3-dom.gv | 9 + .../blog/build-gsa-from-cfg/lemma2-3-dom.svg | 114 + .../build-gsa-from-cfg/lemma6-problem-cfg.gv | 13 + .../build-gsa-from-cfg/lemma6-problem-cfg.svg | 144 + .../build-gsa-from-cfg/lemma6-problem-dom.gv | 13 + .../build-gsa-from-cfg/lemma6-problem-dom.svg | 126 + .../build-gsa-from-cfg/nested-gamma-cfg.gv | 18 + .../build-gsa-from-cfg/nested-gamma-cfg.svg | 107 + .../blog/how-to-construct-ssa/example-cfg.gv | 22 + .../blog/how-to-construct-ssa/example-cfg.svg | 204 + .../how-to-construct-ssa/example-dom-tree.gv | 23 + .../how-to-construct-ssa/example-dom-tree.svg | 187 + content/blog/how-to-construct-ssa/index.md | 289 + content/blog/say-hello-to-doks/index.md | 11 - .../say-hello-to-doks/say-hello-to-doks.png | Bin 8211 -> 0 bytes content/contact/index.md | 2 +- content/contributors/_index.md | 6 +- content/contributors/henk-verlinde/_index.md | 12 - content/contributors/szp/_index.md | 8 + content/docs/_index.md | 6 +- content/docs/help/_index.md | 9 - content/docs/help/faq.md | 50 - content/docs/help/how-to-update.md | 32 - content/docs/help/troubleshooting.md | 30 - content/docs/prologue/_index.md | 9 - content/docs/prologue/commands.md | 118 - content/docs/prologue/introduction.md | 58 - content/docs/prologue/quick-start.md | 79 - content/privacy-policy/index.md | 36 - images/favicon.xcf | Bin 0 -> 8134 bytes images/logo-tilly.svg | 75 + images/screenshot.png | Bin 124825 -> 0 bytes images/tilly.svg | 99 + images/tn.png | Bin 139888 -> 0 bytes layouts/blog/single.html | 4 +- layouts/index.html | 31 +- package-lock.json | 14784 +--------------- static/android-chrome-192x192.png | Bin 5765 -> 6210 bytes static/android-chrome-512x512.png | Bin 20786 -> 19110 bytes static/apple-touch-icon.png | Bin 5105 -> 5777 bytes static/doks.png | Bin 8211 -> 0 bytes static/doks.svg | 1 - static/favicon-16x16.png | Bin 416 -> 542 bytes static/favicon-32x32.png | Bin 773 -> 1092 bytes static/favicon.ico | Bin 15406 -> 15086 bytes static/logo-doks.png | Bin 20786 -> 0 bytes static/logo-tilly.png | Bin 0 -> 19110 bytes static/site.webmanifest | 2 +- static/tilly.png | Bin 0 -> 10199 bytes static/tilly.svg | 52 + 97 files changed, 4463 insertions(+), 15414 deletions(-) create mode 100644 assets/scss/common/_counter.scss create mode 100644 content/blog/build-gsa-from-cfg/eta-cfg2.gv create mode 100644 content/blog/build-gsa-from-cfg/eta-cfg2.svg create mode 100644 content/blog/build-gsa-from-cfg/eta-gsa-cfg1.gv create mode 100644 content/blog/build-gsa-from-cfg/eta-gsa-cfg1.svg create mode 100644 content/blog/build-gsa-from-cfg/eta-gsa-cfg2.gv create mode 100644 content/blog/build-gsa-from-cfg/eta-gsa-cfg2.svg create mode 100644 content/blog/build-gsa-from-cfg/example-cfg.gv create mode 100644 content/blog/build-gsa-from-cfg/example-cfg.svg create mode 100644 content/blog/build-gsa-from-cfg/example-dom.gv create mode 100644 content/blog/build-gsa-from-cfg/example-dom.svg create mode 100644 content/blog/build-gsa-from-cfg/gating-path-cfg.gv create mode 100644 content/blog/build-gsa-from-cfg/gating-path-cfg.svg create mode 100644 content/blog/build-gsa-from-cfg/gating-path-dom.gv create mode 100644 content/blog/build-gsa-from-cfg/gating-path-dom.svg create mode 100644 content/blog/build-gsa-from-cfg/index.md create mode 100644 content/blog/build-gsa-from-cfg/interval-tree1.gv create mode 100644 content/blog/build-gsa-from-cfg/interval-tree1.svg create mode 100644 content/blog/build-gsa-from-cfg/interval-tree2.gv create mode 100644 content/blog/build-gsa-from-cfg/interval-tree2.svg create mode 100644 content/blog/build-gsa-from-cfg/interval-tree3.gv create mode 100644 content/blog/build-gsa-from-cfg/interval-tree3.svg create mode 100644 content/blog/build-gsa-from-cfg/interval-tree4.gv create mode 100644 content/blog/build-gsa-from-cfg/interval-tree4.svg create mode 100644 content/blog/build-gsa-from-cfg/interval-tree5.gv create mode 100644 content/blog/build-gsa-from-cfg/interval-tree5.svg create mode 100644 content/blog/build-gsa-from-cfg/interval-tree6.gv create mode 100644 content/blog/build-gsa-from-cfg/interval-tree6.svg create mode 100644 content/blog/build-gsa-from-cfg/interval-tree7.gv create mode 100644 content/blog/build-gsa-from-cfg/interval-tree7.svg create mode 100644 content/blog/build-gsa-from-cfg/lemma2-3-cfg.gv create mode 100644 content/blog/build-gsa-from-cfg/lemma2-3-cfg.svg create mode 100644 content/blog/build-gsa-from-cfg/lemma2-3-dom.gv create mode 100644 content/blog/build-gsa-from-cfg/lemma2-3-dom.svg create mode 100644 content/blog/build-gsa-from-cfg/lemma6-problem-cfg.gv create mode 100644 content/blog/build-gsa-from-cfg/lemma6-problem-cfg.svg create mode 100644 content/blog/build-gsa-from-cfg/lemma6-problem-dom.gv create mode 100644 content/blog/build-gsa-from-cfg/lemma6-problem-dom.svg create mode 100644 content/blog/build-gsa-from-cfg/nested-gamma-cfg.gv create mode 100644 content/blog/build-gsa-from-cfg/nested-gamma-cfg.svg create mode 100644 content/blog/how-to-construct-ssa/example-cfg.gv create mode 100644 content/blog/how-to-construct-ssa/example-cfg.svg create mode 100644 content/blog/how-to-construct-ssa/example-dom-tree.gv create mode 100644 content/blog/how-to-construct-ssa/example-dom-tree.svg create mode 100644 content/blog/how-to-construct-ssa/index.md delete mode 100644 content/blog/say-hello-to-doks/index.md delete mode 100644 content/blog/say-hello-to-doks/say-hello-to-doks.png delete mode 100644 content/contributors/henk-verlinde/_index.md create mode 100644 content/contributors/szp/_index.md delete mode 100644 content/docs/help/_index.md delete mode 100644 content/docs/help/faq.md delete mode 100644 content/docs/help/how-to-update.md delete mode 100644 content/docs/help/troubleshooting.md delete mode 100644 content/docs/prologue/_index.md delete mode 100644 content/docs/prologue/commands.md delete mode 100644 content/docs/prologue/introduction.md delete mode 100644 content/docs/prologue/quick-start.md delete mode 100644 content/privacy-policy/index.md create mode 100644 images/favicon.xcf create mode 100644 images/logo-tilly.svg delete mode 100644 images/screenshot.png create mode 100644 images/tilly.svg delete mode 100644 images/tn.png delete mode 100644 static/doks.png delete mode 100644 static/doks.svg delete mode 100644 static/logo-doks.png create mode 100644 static/logo-tilly.png create mode 100644 static/tilly.png create mode 100644 static/tilly.svg diff --git a/README.md b/README.md index 4a89be7..aeaf28e 100644 --- a/README.md +++ b/README.md @@ -1,125 +1,24 @@ -

- - Doks - -

+# tilly-site -

- Doks -

+[![Hyas CI](https://github.com/sunziping2016/tilly-site/actions/workflows/node.js-ci.yml/badge.svg)](https://github.com/sunziping2016/tilly-site/actions/workflows/node.js-ci.yml) -

- Modern documentation theme -

+这是用于记录tilly开发文档的网站。 -

- Doks is a Hugo theme helping you build modern documentation websites that are secure, fast, and SEO-ready — by default. -

+## 如何开发 -

- - GitHub - - - GitHub release (latest SemVer including pre-releases) - - - GitHub Workflow Status (branch) - - - Netlify - -

- -![Doks — Modern Documentation Theme](https://raw.githubusercontent.com/h-enk/doks/master/images/tn.png) - -## Demo - -- [doks.netlify.app](https://doks.netlify.app/) - -## Why Doks? - -Nine reasons why you should use Doks: - -1. __Security aware__. Get A+ scores on [Mozilla Observatory](https://observatory.mozilla.org/analyze/doks.netlify.app) out of the box. Easily change the default Security Headers to suit your needs. - -2. __Fast by default__. Get 100 scores on [Google Lighthouse](https://googlechrome.github.io/lighthouse/viewer/?gist=7731347bb8ce999eff7428a8e763b637) by default. Doks removes unused css, prefetches links, and lazy loads images. - -3. __SEO-ready__. Use sensible defaults for structured data, open graph, and Twitter cards. Or easily change the SEO settings to your liking. - -4. __Development tools__. Code with confidence. Check styles, scripts, and markdown for errors and fix automatically or manually. - -5. __Bootstrap framework__. Build robust, flexible, and intuitive websites with Bootstrap 5. Easily customize your Doks site with the source Sass files. - -6. __Netlify-ready__. Deploy to Netlify with sensible defaults. Easily use Netlify Functions, Netlify Redirects, and Netlify Headers. - -7. __Full text search__. Search your Doks site with FlexSearch. Easily customize index settings and search options to your liking. - -8. __Page layouts__. Build pages with a landing page, blog, or documentation layout. Add custom sections and components to suit your needs. - -9. __Dark mode__. Switch to a low-light UI with the click of a button. Change colors with variables to match your branding. - -## Requirements - -Doks uses npm to centralize dependency management, making it [easy to update](https://getdoks.org/docs/help/how-to-update/) resources, build tooling, plugins, and build scripts: - -- Download and install [Node.js](https://nodejs.org/) (it includes npm) for your platform. - -## Get started - -Start a new Doks project in three steps: - -### 1. Create a new site - -Doks is available as a child theme, and a starter theme: - -- Use the Doks child theme, if you do __not__ plan to customize a lot, and/or need future Doks updates. -- Use the Doks starter theme, if you plan to customize a lot, and/or do __not__ need future Doks updates. - -Not quite sure? Use the Doks child theme. - -#### Doks child theme - -```bash -git clone https://github.com/h-enk/doks-child-theme.git my-doks-site && cd my-doks-site -``` - -#### Doks starter theme - -```bash -git clone https://github.com/h-enk/doks.git my-doks-site && cd my-doks-site -``` - -### 2. Install dependencies +### 搭建开发环境 ```bash +# Clone项目 +git clone git@github.com:aaaawt/sweetszp.git +# 安装依赖 npm install +# 开发博客(会根据你的更改即使地显示在本地网页上) +npm start ``` -### 3. Start development server +### 新建文章 ```bash -npm run start -``` - -## Other commands - -Doks comes with [commands](https://getdoks.org/docs/prologue/commands/) for common tasks. - -## Documentation - -- [Netlify](https://docs.netlify.com/) -- [Hugo](https://gohugo.io/documentation/) -- [Doks](https://getdoks.org/) - -## Communities - -- [Netlify Community](https://community.netlify.com/) -- [Hugo Forums](https://discourse.gohugo.io/) -- [Doks Discussions](https://github.com/h-enk/doks/discussions) - -## Blog - -* [Doks v0.2](https://getdoks.org/blog/doks-v0.2/) -* [Say hello to Doks 👋](https://getdoks.org/blog/say-hello-to-doks/) - +npm run create docs/some-interesting-title/index.md +``` \ No newline at end of file diff --git a/assets/js/highlight.js b/assets/js/highlight.js index f9879dc..4738944 100644 --- a/assets/js/highlight.js +++ b/assets/js/highlight.js @@ -7,6 +7,8 @@ import htmlbars from 'highlight.js/lib/languages/htmlbars'; import ini from 'highlight.js/lib/languages/ini'; import yaml from 'highlight.js/lib/languages/yaml'; import markdown from 'highlight.js/lib/languages/markdown'; +import c from 'highlight.js/lib/languages/c'; +import fortran from 'highlight.js/lib/languages/fortran'; hljs.registerLanguage('javascript', javascript); hljs.registerLanguage('json', json); @@ -16,6 +18,8 @@ hljs.registerLanguage('ini', ini); hljs.registerLanguage('toml', ini); hljs.registerLanguage('yaml', yaml); hljs.registerLanguage('md', markdown); +hljs.registerLanguage('c', c); +hljs.registerLanguage('fortran', fortran); document.addEventListener('DOMContentLoaded', () => { document.querySelectorAll('pre code').forEach((block) => { diff --git a/assets/js/index.js b/assets/js/index.js index 8c87d5f..8250b6d 100644 --- a/assets/js/index.js +++ b/assets/js/index.js @@ -80,6 +80,10 @@ Source: 'description', ], }, + encode: false, + tokenize: function(str){ + return str.replace(/[\x00-\x7F]/g, "").split(""); + } }); var docs = [ diff --git a/assets/js/katex.js b/assets/js/katex.js index e0543ea..a4d2b24 100644 --- a/assets/js/katex.js +++ b/assets/js/katex.js @@ -3,8 +3,6 @@ document.addEventListener('DOMContentLoaded', function() { delimiters: [ {left: '$$', right: '$$', display: true}, {left: '$', right: '$', display: false}, - {left: '\\(', right: '\\)', display: false}, - {left: '\\[', right: '\\]', display: true}, ], }); }); diff --git a/assets/scss/app.scss b/assets/scss/app.scss index 29a22a5..1632f5e 100644 --- a/assets/scss/app.scss +++ b/assets/scss/app.scss @@ -17,6 +17,7 @@ @import "common/fonts"; @import "common/global"; @import "common/dark"; +@import "common/counter"; @import "components/doks"; // @import "components/syntax"; @import "components/code"; diff --git a/assets/scss/common/_counter.scss b/assets/scss/common/_counter.scss new file mode 100644 index 0000000..151da13 --- /dev/null +++ b/assets/scss/common/_counter.scss @@ -0,0 +1,43 @@ +article.blog-content, +main.docs-content { + counter-reset: figure-counter h2-counter h3-counter h4-counter equation; + + h2::before { + counter-increment: h2-counter; + counter-set: h3-counter h4-counter; + content: counter(h2-counter) " "; + } + + h3::before { + counter-increment: h3-counter; + counter-set: h4-counter; + content: counter(h2-counter) "." counter(h3-counter) " "; + } + + h4::before { + counter-increment: h4-counter; + content: counter(h2-counter) "." counter(h3-counter) "." counter(h4-counter) " "; + } + + figure { + display: flex; + flex-direction: column; + align-items: center; + } + + & > figure { + counter-increment: figure-counter; + counter-set: subfigure-counter; + + & > figcaption::before { + content: "图 " counter(figure-counter) ":"; + font-weight: bold; + } + } + + figure figure > figcaption::before { + counter-increment: subfigure-counter; + content: "图 " counter(figure-counter) " (" counter(subfigure-counter, lower-alpha) "):"; + font-weight: bold; + } +} diff --git a/assets/scss/components/_code.scss b/assets/scss/components/_code.scss index 9ad855b..3722651 100644 --- a/assets/scss/components/_code.scss +++ b/assets/scss/components/_code.scss @@ -13,7 +13,7 @@ code { padding: 0.25rem 0.5rem; } -pre { +pre:not(.chroma) { margin: 2rem 0; } @@ -27,7 +27,7 @@ pre code { scrollbar-color: transparent transparent; } -.hljs { +:not(.chroma) > .hljs { padding: 1.25rem 1.5rem; } @@ -39,7 +39,7 @@ pre code { border-radius: 0; } - pre { + pre:not(.chroma) { margin: 2rem -1.5rem; } } diff --git a/assets/scss/components/_tables.scss b/assets/scss/components/_tables.scss index b1f8c2e..9777207 100644 --- a/assets/scss/components/_tables.scss +++ b/assets/scss/components/_tables.scss @@ -1,5 +1,13 @@ -table { +table:not(.lntable) { @extend .table; margin: 3rem 0; } + +table.lntable { + display: block; + + td:nth-child(2) { + width: 100%; + } +} diff --git a/assets/scss/layouts/_pages.scss b/assets/scss/layouts/_pages.scss index 8938dbc..5fff754 100644 --- a/assets/scss/layouts/_pages.scss +++ b/assets/scss/layouts/_pages.scss @@ -1,10 +1,16 @@ -.docs-content > h2[id]::before, -.docs-content > h3[id]::before, -.docs-content > h4[id]::before { - display: block; - height: 6rem; +.docs-content > h2[id], +.docs-content > h3[id], +.docs-content > h4[id], +.blog-content > h2[id], +.blog-content > h3[id], +.blog-content > h4[id] { + padding-top: 6rem; margin-top: -6rem; - content: ""; +} + +.docs-content p, +.blog-content p { + text-align: justify; } .anchor { @@ -43,3 +49,7 @@ p.meta { margin-top: 2.25rem; font-size: $font-size-base; } + +img { + max-width: 100%; +} diff --git a/config/_default/config.toml b/config/_default/config.toml index c800d6f..c2d6803 100644 --- a/config/_default/config.toml +++ b/config/_default/config.toml @@ -5,7 +5,8 @@ disableHugoGeneratorInject = true enableEmoji = true enableGitInfo = false enableRobotsTXT = true -languageCode = "en-US" +hasCJKLanguage = true +languageCode = "zh-CN" paginate = 7 rssLimit = 10 diff --git a/config/_default/menus.toml b/config/_default/menus.toml index 7ed4bca..add6dfc 100644 --- a/config/_default/menus.toml +++ b/config/_default/menus.toml @@ -1,39 +1,21 @@ -[[docs]] - name = "Prologue" - weight = 10 - identifier = "prologue" - url = "/docs/prologue/" - -[[docs]] - name = "Help" - weight = 60 - identifier = "help" - url = "/docs/help/" - [[main]] - name = "Docs" - url = "/docs/prologue/introduction/" + name = "文档" + url = "/docs/" weight = 10 [[main]] - name = "Blog" + name = "博客" url = "/blog/" weight = 20 -[[social]] - name = "Twitter" - pre = "" - url = "https://twitter.com/getdoks" - weight = 10 +[[main]] + name = "作者" + url = "/contributors/" + weight = 30 [[social]] name = "GitHub" pre = "" - url = "https://github.com/h-enk/doks" + url = "https://github.com/sunziping2016/tilly-site" post = "v0.1.0" weight = 20 - -# [[footer]] -# name = "Privacy" -# url = "/privacy-policy/" -# weight = 10 diff --git a/config/_default/params.toml b/config/_default/params.toml index ed44ae8..0f167ae 100644 --- a/config/_default/params.toml +++ b/config/_default/params.toml @@ -1,25 +1,24 @@ # Meta Data for SEO ## Homepage -title = "Doks" +title = "Tilly" titleSeparator = "-" -titleAddition = "Modern Documentation Theme" -description = "Doks is a Hugo theme helping you build modern documentation websites that are secure, fast, and SEO-ready — by default." +titleAddition = "Soving the undecideables" +description = "Tilly是一个针对C语言的值流分析静态工具。" ## Open Graph + Twitter Cards -images = ["doks.png"] -twitterSite = "henkverlinde" -twitterCreator = "henkverlinde" -facebookAuthor = "verlinde.henk" -facebookPublisher = "verlinde.henk" -ogLocale = "en_US" +images = ["tilly.png"] +twitterSite = "sunziping2016" +twitterCreator = "sunziping2016" +facebookAuthor = "sunziping2016" +facebookPublisher = "sunziping2016" +ogLocale = "zh_CN" ## JSON-LD schemaType = "Organization" -schemaLogo = "logo-doks.png" -schemaTwitter = "https://twitter.com/henkverlinde" -schemaLinkedIn = "https://www.linkedin.com/in/henkverlinde/" -schemaGitHub = "https://github.com/h-enk" +schemaLogo = "logo-tilly.png" +schemaTwitter = "https://twitter.com/sunziping2016" +schemaGitHub = "https://github.com/sunziping2016" schemaSection = "blog" ## Sitelinks Search Box @@ -43,7 +42,7 @@ alert = false alertText = "Like Doks? Star on GitHub. Thanks!" # Edit Page -docsRepo = "https://github.com/h-enk/doks" +docsRepo = "https://github.com/sunziping2016/tilly-site" editPage = false [options] @@ -55,4 +54,4 @@ editPage = false bootStrapJs = false breadCrumb = false highLight = true - kaTex = false + kaTex = true diff --git a/config/next/config.toml b/config/next/config.toml index bf4bbcd..bd9747a 100644 --- a/config/next/config.toml +++ b/config/next/config.toml @@ -1,2 +1 @@ -baseurl = "https://doks-next.netlify.app/" canonifyURLs = true diff --git a/config/production/config.toml b/config/production/config.toml index c4ca660..bd9747a 100644 --- a/config/production/config.toml +++ b/config/production/config.toml @@ -1,2 +1 @@ -baseurl = "https://doks.netlify.app/" canonifyURLs = true diff --git a/content/_index.md b/content/_index.md index db4b8c4..fb2eac0 100644 --- a/content/_index.md +++ b/content/_index.md @@ -1,7 +1,7 @@ --- -title : "Modern Documentation Theme" -description: "Doks is a Hugo theme helping you build modern documentation websites that are secure, fast, and SEO-ready — by default." -lead: "Doks is a Hugo theme helping you build modern documentation websites that are secure, fast, and SEO-ready — by default." +title : "静态值流分析工具Tilly" +description: "Tilly是一个针对C语言的静态值流分析工具。目前Tilly仍然在开发中。" +lead: "Tilly是一个针对C语言的静态值流分析工具。目前Tilly仍然在开发中。" date: 2020-10-06T08:47:36+00:00 lastmod: 2020-10-06T08:47:36+00:00 draft: false diff --git a/content/blog/_index.md b/content/blog/_index.md index 37cb611..9ccae97 100644 --- a/content/blog/_index.md +++ b/content/blog/_index.md @@ -1,8 +1,10 @@ --- -title: "Blog" -description: "The Doks Blog." +title: "博客" +description: "交流静态分析技术的文章" date: 2020-10-06T08:49:55+00:00 lastmod: 2020-10-06T08:49:55+00:00 draft: false images: [] --- + +交流静态分析技术的文章 diff --git a/content/blog/build-gsa-from-cfg/eta-cfg2.gv b/content/blog/build-gsa-from-cfg/eta-cfg2.gv new file mode 100644 index 0000000..733e10f --- /dev/null +++ b/content/blog/build-gsa-from-cfg/eta-cfg2.gv @@ -0,0 +1,12 @@ +digraph { + node[shape=rect] + entry[label="A := 0"] + l1[label="A := A + 1"] + switch[label="A := A + 2\lswitch (P)\l"] + write[label="write(A)"] + entry->l1 + l1->switch + switch:nw->l1:sw[label="1"] + switch:se->switch:ne[label="2"] + switch->write[label="default"] +} \ No newline at end of file diff --git a/content/blog/build-gsa-from-cfg/eta-cfg2.svg b/content/blog/build-gsa-from-cfg/eta-cfg2.svg new file mode 100644 index 0000000..7b6b002 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/eta-cfg2.svg @@ -0,0 +1,70 @@ + + + + + + + + + +entry + +A := 0 + + + +l1 + +A := A + 1 + + + +entry->l1 + + + + + +switch + +A := A + 2 +switch (P) + + + +l1->switch + + + + + +switch:nw->l1:sw + + +1 + + + +switch:se->switch:ne + + +2 + + + +write + +write(A) + + + +switch->write + + +default + + + diff --git a/content/blog/build-gsa-from-cfg/eta-gsa-cfg1.gv b/content/blog/build-gsa-from-cfg/eta-gsa-cfg1.gv new file mode 100644 index 0000000..79ecd05 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/eta-gsa-cfg1.gv @@ -0,0 +1,16 @@ +digraph { + node[shape=rect] + entry[label="A0 := 0"] + if_p[label="A4 := μ(A0, γ(b, A3, ∅))\lif (P)\l"] + assign1[label="A1 := A4 + 1"] + assign2[label="A2 := A4 + 2"] + merge[label="A3 := γ(c, A1, A2)\lQ' := !Q\lA5 := η(Q', A3)\lwhile (Q)\l"] + exit[label="write(A5)"] + entry->if_p + if_p->assign1[label="t"] + if_p->assign2[label="f"] + assign1->merge + assign2->merge + merge->if_p[label="t"] + merge->exit[label="f"] +} \ No newline at end of file diff --git a/content/blog/build-gsa-from-cfg/eta-gsa-cfg1.svg b/content/blog/build-gsa-from-cfg/eta-gsa-cfg1.svg new file mode 100644 index 0000000..40aa20f --- /dev/null +++ b/content/blog/build-gsa-from-cfg/eta-gsa-cfg1.svg @@ -0,0 +1,98 @@ + + + + + + + + + +entry + +A0 := 0 + + + +if_p + +A4 := μ(A0, γ(b, A3, ∅)) +if (P) + + + +entry->if_p + + + + + +assign1 + +A1 := A4 + 1 + + + +if_p->assign1 + + +t + + + +assign2 + +A2 := A4 + 2 + + + +if_p->assign2 + + +f + + + +merge + +A3 := γ(c, A1, A2) +Q' := !Q +A5 := η(Q', A3) +while (Q) + + + +assign1->merge + + + + + +assign2->merge + + + + + +merge->if_p + + +t + + + +exit + +write(A5) + + + +merge->exit + + +f + + + diff --git a/content/blog/build-gsa-from-cfg/eta-gsa-cfg2.gv b/content/blog/build-gsa-from-cfg/eta-gsa-cfg2.gv new file mode 100644 index 0000000..f970d89 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/eta-gsa-cfg2.gv @@ -0,0 +1,16 @@ +digraph { + node[shape=rect] + entry[label="A0 := 0"] + l1[label="A1 := μ(A0, γ(P, A5, ⊤, ⊤))\ll1: A2 := A2 + 1\l"] + switch[label="A3 := μ(A2, γ(P, ⊤, A4, ⊤))\lA4 := A3 + 2\lswitch (P)\l"] + pb1[label="A5 := η(P→{1, default}, A4)"] + pb2[label="A6 := η(P→{default}, A5)"] + write[label="write(A)"] + entry->l1 + l1->switch + switch->pb1 + pb1->l1[label="1"] + switch->switch[label="2"] + pb1->pb2 + pb2->write[label="default"] +} \ No newline at end of file diff --git a/content/blog/build-gsa-from-cfg/eta-gsa-cfg2.svg b/content/blog/build-gsa-from-cfg/eta-gsa-cfg2.svg new file mode 100644 index 0000000..face753 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/eta-gsa-cfg2.svg @@ -0,0 +1,96 @@ + + + + + + + + + +entry + +A0 := 0 + + + +l1 + +A1 := μ(A0, γ(P, A5, ⊤, ⊤)) +l1: A2 := A2 + 1 + + + +entry->l1 + + + + + +switch + +A3 := μ(A2, γ(P, ⊤, A4, ⊤)) +A4 := A3 + 2 +switch (P) + + + +l1->switch + + + + + +switch->switch + + +2 + + + +pb1 + +A5 := η(P→{1, default}, A4) + + + +switch->pb1 + + + + + +pb1->l1 + + +1 + + + +pb2 + +A6 := η(P→{default}, A5) + + + +pb1->pb2 + + + + + +write + +write(A) + + + +pb2->write + + +default + + + diff --git a/content/blog/build-gsa-from-cfg/example-cfg.gv b/content/blog/build-gsa-from-cfg/example-cfg.gv new file mode 100644 index 0000000..83a67a6 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/example-cfg.gv @@ -0,0 +1,31 @@ +digraph { + node[shape=rect] + read[label="dfs:1 stmt:1\nread(A)\l"] + if_p[label="dfs:2 stmt:2\nif (P)\l"] + if_q[label="dfs:8 stmt:3\nif (Q)\l"] + assign5[label="dfs:9 stmt:4\nA := 5\l"] + while_r[label="dfs:3 stmt:5\nwhile (R)\l"] + add1[label="dfs:4 stmt:6\nA := A + 1\l"] + enddo[label="dfs:5 stmt:7\nenddo\l"] + if_t[label="dfs:10 stmt:9\nif (T)\l"] + multiply3[label="dfs:11 stmt:10\nA := A * 3\l"] + add6[label="dfs:12 stmt:12\nA := A + 6\l"] + endif_t[label="dfs:13 stmt:13\nendif (T)\l"] + endif_q[label="dfs:6 stmt:14\nendif (Q)\l"] + write[label="dfs:7 stmt:15\nwrite(A)\l"] + read->if_p + if_p->while_r[label="t"] + if_p->if_q[label="f"] + if_q->assign5[label=t] + if_q->if_t[label="f"] + assign5->while_r + while_r->add1[label="t"] + while_r->endif_q[label="f"] + add1->enddo->while_r + if_t->multiply3[label="t"] + if_t->add6[label="f"] + multiply3->endif_t + add6->endif_t + endif_t->endif_q + endif_q->write +} diff --git a/content/blog/build-gsa-from-cfg/example-cfg.svg b/content/blog/build-gsa-from-cfg/example-cfg.svg new file mode 100644 index 0000000..9c99a57 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/example-cfg.svg @@ -0,0 +1,207 @@ + + + + + + + + + +read + +dfs:1 stmt:1 +read(A) + + + +if_p + +dfs:2 stmt:2 +if (P) + + + +read->if_p + + + + + +if_q + +dfs:8 stmt:3 +if (Q) + + + +if_p->if_q + + +f + + + +while_r + +dfs:3 stmt:5 +while (R) + + + +if_p->while_r + + +t + + + +assign5 + +dfs:9 stmt:4 +A := 5 + + + +if_q->assign5 + + +t + + + +if_t + +dfs:10 stmt:9 +if (T) + + + +if_q->if_t + + +f + + + +assign5->while_r + + + + + +add1 + +dfs:4 stmt:6 +A := A + 1 + + + +while_r->add1 + + +t + + + +endif_q + +dfs:6 stmt:14 +endif (Q) + + + +while_r->endif_q + + +f + + + +enddo + +dfs:5 stmt:7 +enddo + + + +add1->enddo + + + + + +enddo->while_r + + + + + +multiply3 + +dfs:11 stmt:10 +A := A * 3 + + + +if_t->multiply3 + + +t + + + +add6 + +dfs:12 stmt:12 +A := A + 6 + + + +if_t->add6 + + +f + + + +endif_t + +dfs:13 stmt:13 +endif (T) + + + +multiply3->endif_t + + + + + +add6->endif_t + + + + + +endif_t->endif_q + + + + + +write + +dfs:7 stmt:15 +write(A) + + + +endif_q->write + + + + + diff --git a/content/blog/build-gsa-from-cfg/example-dom.gv b/content/blog/build-gsa-from-cfg/example-dom.gv new file mode 100644 index 0000000..0143296 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/example-dom.gv @@ -0,0 +1,39 @@ +digraph { + node[shape=rect,style=rounded] + read[label="dfs:1 stmt:1\nread(A)\l"] + if_p[label="dfs:2 stmt:2\nif (P)\l"] + if_q[label="dfs:8 stmt:3\nif (Q)\l"] + assign5[label="dfs:9 stmt:4\nA := 5\l"] + while_r[label="dfs:3 stmt:5\nwhile (R)\l"] + add1[label="dfs:4 stmt:6\nA := A + 1\l"] + enddo[label="dfs:5 stmt:7\nenddo\l"] + if_t[label="dfs:10 stmt:9\nif (T)\l"] + multiply3[label="dfs:11 stmt:10\nA := A * 3\l"] + add6[label="dfs:12 stmt:12\nA := A + 6\l"] + endif_t[label="dfs:13 stmt:13\nendif (T)\l"] + endif_q[label="dfs:6 stmt:14\nendif (Q)\l"] + write[label="dfs:7 stmt:15\nwrite(A)\l"] + read->if_p + if_p->if_q + if_q->assign5 + if_q->if_t + if_p->while_r + while_r->add1 + add1->enddo + if_t->add6 + if_t->multiply3 + if_t->endif_t + if_p->endif_q + endif_q->write + { rank=same; while_r->endif_q->if_q[style=invis] } + { rank=same; multiply3->add6->endif_t[style=invis]} + { + edge[style=dashed,color=gray] + assign5->while_r + while_r->endif_q + enddo:w->while_r:w + multiply3->endif_t + add6->endif_t + endif_t->endif_q + } +} diff --git a/content/blog/build-gsa-from-cfg/example-dom.svg b/content/blog/build-gsa-from-cfg/example-dom.svg new file mode 100644 index 0000000..459965a --- /dev/null +++ b/content/blog/build-gsa-from-cfg/example-dom.svg @@ -0,0 +1,215 @@ + + + + + + + + + +read + +dfs:1 stmt:1 +read(A) + + + +if_p + +dfs:2 stmt:2 +if (P) + + + +read->if_p + + + + + +if_q + +dfs:8 stmt:3 +if (Q) + + + +if_p->if_q + + + + + +while_r + +dfs:3 stmt:5 +while (R) + + + +if_p->while_r + + + + + +endif_q + +dfs:6 stmt:14 +endif (Q) + + + +if_p->endif_q + + + + + +assign5 + +dfs:9 stmt:4 +A := 5 + + + +if_q->assign5 + + + + + +if_t + +dfs:10 stmt:9 +if (T) + + + +if_q->if_t + + + + + +assign5->while_r + + + + + +add1 + +dfs:4 stmt:6 +A := A + 1 + + + +while_r->add1 + + + + + + +while_r->endif_q + + + + + +enddo + +dfs:5 stmt:7 +enddo + + + +add1->enddo + + + + + +enddo:w->while_r:w + + + + + +multiply3 + +dfs:11 stmt:10 +A := A * 3 + + + +if_t->multiply3 + + + + + +add6 + +dfs:12 stmt:12 +A := A + 6 + + + +if_t->add6 + + + + + +endif_t + +dfs:13 stmt:13 +endif (T) + + + +if_t->endif_t + + + + + + +multiply3->endif_t + + + + + + +add6->endif_t + + + + + +endif_t->endif_q + + + + + + +write + +dfs:7 stmt:15 +write(A) + + + +endif_q->write + + + + + diff --git a/content/blog/build-gsa-from-cfg/gating-path-cfg.gv b/content/blog/build-gsa-from-cfg/gating-path-cfg.gv new file mode 100644 index 0000000..0af9217 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/gating-path-cfg.gv @@ -0,0 +1,7 @@ +digraph { + node[shape=rect] + entry->a + a->b->d + a->c->d + d->e->a +} diff --git a/content/blog/build-gsa-from-cfg/gating-path-cfg.svg b/content/blog/build-gsa-from-cfg/gating-path-cfg.svg new file mode 100644 index 0000000..ea3a415 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/gating-path-cfg.svg @@ -0,0 +1,90 @@ + + + + + + + + + +entry + +entry + + + +a + +a + + + +entry->a + + + + + +b + +b + + + +a->b + + + + + +c + +c + + + +a->c + + + + + +d + +d + + + +b->d + + + + + +e + +e + + + +d->e + + + + + +c->d + + + + + +e->a + + + + + diff --git a/content/blog/build-gsa-from-cfg/gating-path-dom.gv b/content/blog/build-gsa-from-cfg/gating-path-dom.gv new file mode 100644 index 0000000..08e4d51 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/gating-path-dom.gv @@ -0,0 +1,7 @@ +digraph { + node[shape=rect,style=rounded] + entry->a + a->b + a->c + a->d->e +} diff --git a/content/blog/build-gsa-from-cfg/gating-path-dom.svg b/content/blog/build-gsa-from-cfg/gating-path-dom.svg new file mode 100644 index 0000000..da24a71 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/gating-path-dom.svg @@ -0,0 +1,78 @@ + + + + + + + + + +entry + +entry + + + +a + +a + + + +entry->a + + + + + +b + +b + + + +a->b + + + + + +c + +c + + + +a->c + + + + + +d + +d + + + +a->d + + + + + +e + +e + + + +d->e + + + + + diff --git a/content/blog/build-gsa-from-cfg/index.md b/content/blog/build-gsa-from-cfg/index.md new file mode 100644 index 0000000..6d2bceb --- /dev/null +++ b/content/blog/build-gsa-from-cfg/index.md @@ -0,0 +1,708 @@ +--- +title: "从CFG直接构建GSA的算法" +description: "本文来源于这篇Efficient building and placing of gating functions论文。该论文提供了一种算法,能够直接从CFG(控制流图)构建GSA(Gated单一赋值)形式。而之前的方法需要先插入phi节点即转换成SSA(静态单一赋值)形式,再进行构建。其核心思想是借助了他们提出的gating path这一概念。" +lead: "本文来源于这篇Efficient building and placing of gating functions论文。该论文提供了一种算法,能够直接从CFG(控制流图)构建GSA(Gated单一赋值)形式。而之前的方法需要先插入phi节点即转换成SSA(静态单一赋值)形式,再进行构建。其核心思想是借助了他们提出的gating path这一概念。" +date: 2021-04-27T02:14:11+08:00 +lastmod: 2021-04-27T02:14:11+08:00 +draft: false +weight: 50 +images: ["build-gsa-from-cfg.jpg"] +contributors: [] +--- + +内容主要来自这篇[^tu1995efficient]论文。 + +## 背景及相关知识 + +### 支配 + +摘自“[如何构建SSA形式的CFG]({{< relref "/blog/how-to-construct-ssa/index.md" >}})”。 + +- **支配**:$x$支配$y \Leftrightarrow$ 从起始节点到$y$的每条路径都经过了$x$,记为$x\underline{\gg}y$;从定义来说$\forall x, x$支配$x$;这是一个偏序关系(满足自反、传递)。 +- **严格支配**:$x$严格支配$y \Leftrightarrow x$支配$y \land x \neq y$,记为$x\gg y$;如果$x$不严格支配$y$,则记为$x\rlap{\hspace{.5em}/}\gg y$。 +- **支配边界**:$y \in x$的支配边界$\Leftrightarrow x$支配了$y$的前驱节点,但$d$没有严格支配$y$;从定义来说$x$的支配边界可能包含$x$自己;直观理解支配边界就是支配从有到无的界线。记$DF(X)$为节点$X$的支配边界。$DF$也可以定义在集合$\mathcal{X}$上,$DF(\mathcal{X})=\bigcup_{x\in \mathcal{X}}DF(X)$。 + $$DF(X) = \{Y|\exists P\in Pred(Y)(X\underline{\gg}P\land X\rlap{\hspace{.6em}|}\gg Y)\}$$ +- **立即支配者**:$x$是$y$的立即支配者$\Leftrightarrow x$严格支配$y$且$\forall z$严格支配$y$,$x$不严格支配$z$;我们会用idom来表示立即支配者;直观理解$y$的idom就是离$y$最接近的严格支配$y$的节点;一个节点的idom是唯一的。 +- **支配者树**:每个节点的立即支配者组成了一棵树(支配的偏序确保是有向无环的,idom的唯一进而确保是棵树)。 + +注意支配的概念是对于一个有**起始节点**的有向图的。在CFG中,支配者树的根是Entry。 + +### 可归约性与循环 + +#### 可归约性 + +首先介绍两种变换,称为“归约”: + +1. T1变换:移除一个节点的自环; +2. T2变换:对于一个有唯一前继$p$的节点$n$(可能有重边),移除$n$并让其后继成为$p$的后继。 + +可归约有很多等价的定义,现在给出其中的两种: + +- CFG中的边可以分为两个不重叠的集合:前向边和回边,并满足: + - 前向边组成了DAG,且都能从入口节点到达; + - 回边的终止节点支配了起始节点。 +- 反复使用T1和T2变换能将CFG转换为单一节点。 + +不可归约图主要是存在强连通分量有多个入口的情况。在结构化编程、不使用`goto`语句的情况下,创造出的CFG都是可归约图。 + +**循环**特指那些只有单一入口的强连通分量。在可归约图中识别循环将变得很简单,其切入点是**回边检测**:那些从被支配节点到支配节点的边就是回边,对应的支配节点是循环头,被支配节点是循环尾。下一小节会有更多关于循环的定义。 + +可归约图除了在识别循环上有帮助外,还能极大地简化程序分析复杂性。 + +对于不可归约图,可以通过复制分裂节点,转换成可归约图。 + +可归约图的逆图不一定是可归约图。 + +#### 循环 + +以下是关于循环的一些概念,注意循环通常是可归约图的概念: + +- **循环**:CFG上有唯一入口节点(循环头)的强连通子图; +- **循环入边**:起点在循环外,终点在循环内; +- **循环出边**:起点在循环内,终点在循环外; +- **循环头**:循环入边的终点。支配循环内所有节点; +- **回边**:终点是循环头,起点在循环内; +- **某回边的自然循环**:被循环头支配,并能到达该回边的节点集合; +- **循环尾**:回边的起点; +- **循环出口**:循环出边的终点; +- **嵌套循环**:循环头在另一循环内的的循环。 + +对于两个不同的自然循环,它们可能有3种关系: + +1. 互相分离:没有任何节点共享; +2. 互相嵌套:一个的循环头支配另一个循环中的所有节点; +3. 共享循环头:循环头是共享的。 + +对于第3种情况,可以添加公共的循环尾合并为一个循环。进而循环只剩下两种关系:**分离**,**嵌套**。 + +### SSA(静态单一赋值)形式 + +通过对CFG进行转化,确保每个变量只有一次定义(即一处赋值),可以极大地简化程序分析,这种转化的结果就是SSA形式。顺序执行的代码只需要给变量添加版本号,就能转化为SSA形式。而在CFG的交汇节点处,如果流入同一变量的不同版本,就需要插入一个选择函数来确保单一赋值。这种函数称为$\phi$函数,形如$x_{n+1}=\phi(x_1,x_2,\dots,x_n)$。它位于CFG节点的起始处(如果有多个变量的话,可能有多个$\phi$函数)。它的参数是那些流入的不同版本。语义上,根据控制流是从哪条边流入,$\phi$函数会返回对应的变量版本。 + +Cytron[^cytron1991efficiently]给出了一个高效的转化SSA形式的算法。为了理解这篇论文的理论基础,首先定义支配边界闭包的$DF^+(\mathcal{X})$为下列序列的极限: +$$\begin{cases} +DF_1=DF(\mathcal{X})\newline +DF_{i+1}=DF(\mathcal{X}\cup DF_i) +\end{cases}$$ +也就是说$DF^+(\mathcal{X})$是$\mathcal{X}$的支配边界,并上支配边界的支配边界,等等。然后这篇论文给出了最重要的定理:**令$\mathcal{X}$为某个变量所有赋值语句出现过的CFG节点集合,$DF^+(\mathcal{X})$是赋值语句交汇的点,也就是最少的需要为该变量插入$\phi$函数的地方。** 依据这个定理,Cytron给出了两步算法,先是放置$\phi$函数,再重命名变量(给变量加上版本号)。 + +### GSA(Gated单一赋值)形式 + +虽然SSA形式的CFG更清楚的显示了def-use链,但它仍属于控制流的一种表示。Ottenstein[^ottenstein1990program]提出了GSA,它是一种更加易于分析的**值流表示**。在此工作基础上,Havlak[^havlak1994construction]进一步简化了GSA为TGSA(T是Thinned,意为简化 )。在这篇论文里,他们给出的TGSA构造方法是以SSA结果为输入的。而本文则试图给出一个不依赖于SSA结果的算法。这里给出TGSA向传统SSA添加并用以替代$\phi$函数的3种新gating函数。 + +#### $\gamma$函数,含有谓词的合并 + +
+
+
+ +```fortran +V1 := ... +if (P) then + V2 := ... +endif +V3 := phi(V1, V2) +``` + +
+
$$\Rightarrow$$
+
+ +```fortran +V1 = ... +if (P) then + V2 := ... +endif +V3 := gamma(P, V2, V1) +``` + +
+
+
在SSA的基础上,用$\gamma$函数替换$\phi$函数
+
+ +$\gamma$试图表示**条件分支**语句的合并,它用于替换除循环头起始处的$\phi$函数。$\gamma$函数有如下的形式$V_3 := \gamma(P,V_1,V_2)$。含义是,如果$P$(谓词输入)为真,$V$的取值为$V_2$否则为$V_1$($V_1$、$V_2$统称为值输入)。注意到,$\phi$函数是依据流入控制流选取多个值,而$\gamma$则是根据条件选取多个值,后者便于值流分析。$\gamma$函数很容易被扩展为多分支用于`switch`,类似于$\gamma(P,V_1,V_2,\dots,V_n)$。 + +$\gamma$函数可能嵌套,构成DAG(嵌套表达式在合并公共子表达式后,就构成了DAG)。该合并节点CFG上的立即支配者为DAG的根$\gamma$函数提供谓词输入。而从DAG的根到末端经过的$\gamma$函数的顺序,应当与从合并节点CFG上的立即支配者到合并节点的前向CFG路径(除去循环回边的CFG)经过的分支顺序一致。 + +某些情况下,若某个分支条件不可能发生,用$\top$表示(译注:这里这个符号很困惑,它明明是底类型$\bot$)。这个记号和后文中$\varnothing$具有相同的意义,只是来源于不同的文章。 + +
+ +![Nested gamma CFG](nested-gamma-cfg.svg) + +
一个嵌套$\gamma$函数,并包含不可能发生条件$\top$的示例
+
+ +考虑上图中的例子,在$A_3$处,将$\phi$函数替换为$\gamma$函数,结果应该为$\gamma(P,\gamma(Q,A_1,\top),A_2)$。 + +#### $\mu$函数,循环合并 + +$\mu$函数被插入在循环头起始处,并有如下的形式$V':=\mu(V_{init},V_{iter})$。其中$V_{init}$是从循环外获得的初始输入,$V_{iter}$是从循环内回边获得的迭代输入。如果有多条循环外入边或有多条回边,相应的$V_{init}$和$V_{iter}$可能是一个$\gamma$ DAG。语义上,$\mu$函数产生了一个无穷的序列。而这个序列中的符合条件的第一个元素会被循环出口处的$\eta$函数选取。 + +一个循环头可能会被若干自然循环共享,即嵌套,或者除循环头外不共享节点。后者可以通过一个post-body节点合并多个回边化为一个自然循环。无论何种情况,$V_{iter}$应该是考虑了所有循环路径的结果。 + +这里使用了TGSA而不是GSA论文中的定义。 + +
+ +不可归约的CFG可能会有多个循环头。本文假定CFG都是可归约的,许多算法都是建立在这个假设上的。 + +TODO: 如何处理不可归约图?可能需要参照Tarjan的path sequence。 + +
+ +#### $\eta$函数,循环值选取 + +$\eta$函数被插入在循环出口的**尾部**,用于从$\mu$函数产生出来的序列中,选取符合某一条件的第一个值,其形式为$V':=\eta(P,V_{final})$。其中$V_{final}$是一个由$\mu$函数产生的序列。而$P$则是断言,如果$P$依赖于循环内的变量,那么它也是序列。语义上,当$P$为真时,$V_{final}$的值被选取并赋值给$V'$。与$P$和$V_{final}$不同$V'$是序列中的一个值。 + +值得注意的是,与$\gamma$和$\mu$不同,$\eta$不表示合并。因此$\eta$的$P$和$V_{final}$一般不是$\gamma$ DAG。当然,如果从循环头到基本块有多个包含赋值的路径的话,那么$\eta$所处基本块的开始处会有$\gamma$节点。其插入的位置也有所不同。$\gamma$和$\mu$与$\phi$类似,都位于基本块的开头,而$\eta$插入在基本块的尾部。 + +此外,即使是在可归约图中,一个循环也可能存在多个循环出口。循环出口可能与循环头是同一个基本块(`while`),也有可能不同(`do-while`)。 + +
+
+
+ +```c +A = 0; +do { + if (P) + A = A + 1; + else + A = A + 2; +} while (Q); +write(A); +``` + +
+
$$\Rightarrow$$
+
+ +![eta GSA example](eta-gsa-cfg1.svg) + +
+
+
一个循环头与出口不位于同一基本块的循环插入$\mu$和$\eta$函数
+
+ +
+ +讨论: 如何构建$\eta$函数? + +以下内容是个人不成熟的想法,仅供参考。 + +上述的描述与论文中一笔带过的$\eta$函数有较大的差别。论文给出的算法无法处理循环出口与循环头不是同一个基本块的情况。论文中的$\eta$函数被放置在了循环头。如何构建$\eta$函数还需要进一步讨论。但进过一些思考,放置在循环出口更加合理。现在问题的难点在于: + +1. 循环出口:快速地从归约图和/或支配着树中找到循环出口,思路是识别出回边之后,反向遍历直到遇到循环头收集节点。而后找到这些节点集合不是到达本身集合中的出边。 +2. 重命名:论文并没有给出重命名这步的细节。重命名总是假设使用的变量来自最近一条该变量的定义语句。在循环出口末插入$\eta$节点会影响循环体内变量的重命名。解决方案是添加post-exit基本块在循环体出口和该出口的循环出边之间,并在其中放置$\eta$节点。 +3. 嵌套循环:一个节点可能是多个嵌套自然循环的出口,这时候我们可以插入多个包含$\eta$的基本块。这几个基本块串行。这种设计具有一致性,比如每个$\eta$都有唯一的$\mu$对应;每从$\mu$的$V_{init}$进入循环就$+1$,经过$\eta$就$-1$,就能记述循环深度。 + +最后,举个例子,$P\rightarrow\{Clause_1,\dots,Clause_n\}$表示$P$满足分支条件的析取;而$\gamma$函数采用了扩展表示,$\gamma(P,A_1,A_2,A_{default})$,表示$P$满足对应分支条件后,返回对应的值。 +
+ +
+
+
+ +```c +A = 0; +l1: A = A + 1; +l2: A = A + 2; +switch (P) { + case 1: + goto l1; + case 2: + goto l2; + default: + // pass through +} +write(A); +``` + +
+
$$\Rightarrow$$
+
+ +![eta CFG example2](eta-cfg2.svg) + +
+
$$\Rightarrow$$
+
+ +![eta GSA CFG example2](eta-gsa-cfg2.svg) + +
+
+
一个包含`switch`和我所提出的$\eta$函数的例子。
+
+ +#### 算法思路 + +计算$\gamma$和$\mu$算法可以分为两部分,首先先放置$\gamma$,$\mu$函数并构造表达式,其中的变量没有标上版本号。之后再使用与SSA一样的重命名算法,给所有使用和被使用处的变量标上版本号。第2步算法在论文中并没有被提及,但可以参照Cytron[^cytron1991efficiently]的论文。 + +$\gamma$和$\mu$就是原来$\phi$函数的变种,因而它们可以使用Cytron关于SSA的论断,即所有的$DF^+(\mathcal{X})$就是需要插入的**位置**($\mathcal{X}$为所有赋值语句的基本块)。但论文中并没有采取这个方法,他们找到了一种等价于$DF^+$的计算方法。相比于Cytron先计算$DF$,在用working list计算出$DF^+$的方法,这篇论文的方法更为直接。我们将在[这一章](#gating-path)讲解这篇论文提出的方法的理论基础。 + +但是$\gamma$和$\mu$表达式的**内容**就比较复杂了。它需要收集从某一个节点的支配者出发,到该节点所有路径组成的$\gamma$ DAG。论文采用了Tarjan[^tarjan1981fast]提出的用于解决图路径问题的通用算法“路径表达式”,我们将在[这一节](#路径表达式)给出这个通用方案,以及这个方案是如何被运用到可归约图上的。 + +至于$\eta$函数,目前还需要探索。 + +### 路径表达式 + +核心思想是:使用正则表达式来表达一组路径具有同一起点和终点的路径,即**路径表达式**。路径表达式通过从最基本的元素(不可达、空路径和一个边)外加$\cup$(合并)、$\cdot$(拼接)和$\*$(重复)构造出复杂的路径表达式,从而能表示一组复杂的路径。对于实际问题而言,通过赋予路径表达式不同的含义,并重新定义合并、拼接和重复运算,就能有通用的解法。如对于最短路问题,$x\cup y$相当于路径$\min\\{x, y\\}$,$x\cdot y$相当于$x + y$,$x^*$相当于$\begin{cases}0,&x\geq 0\newline-\infty,&x<0\end{cases}$。因而,绝大多数能划归为图论的问题,如最短路,线性方程组求解和控制流分析都能用路径表达式求解。本文所关注的$\gamma$和$\mu$函数参数的$\gamma$ DAG求解问题也能用这个通用的方案求解。问题的难点就在于如何快速、准确地构造出路径表达式。 + +路径表达式问题主要有两类: + +1. 单源路径表达式问题:求解从一个节点出发到其他所有节点的路径表达式; +2. 任意两点路径表达式问题:求解任意节点到任意节点的路径表达式。 + +在接下来的文章中,我们主要关注可归约图的单源路径表达式问题。相比接下来所述的Tarjan的论文中给出了更多有趣的算法。他提出了**路径序列**作为快速计算路径表达式的方法,并给出了计算一般图、强连通分量分解图(特例DAG)、可归约图的路径序列方案。这些算法我还没来得及仔细看。下文只是一些相对简单,不涉及路径序列的概念和算法。 + +#### 正则表达式 + +字母表$\Sigma$是一个既不包含$\Lambda$也不包含$\varnothing$的集合。$\Sigma$上的正则表达式是由以下规则组成的语言: + +1. "$\Lambda$"(空串)和"$\varnothing$"(空集合)以及对任意的$a\in\Sigma$,"$a$"都是原子正则表达式; +2. 如果$R_1$和$R_2$是正则表达式,$(R_1\cup R_2)$(并)、$(R_1\cdot R_2)$(连接)以及$(R_1)^*$(重复)都是复合正则表达式。 + +我们使用$\sigma(R)$表示$R$对应的语言。具体计算规则可以递归定义,这里不再给出。 + +- 如果$\sigma(R_1)=\sigma(R_2)$,则正则表达式$R_1$和$R_2$被称为**等价**的; +- 如果$R=\varnothing$或者$R$不包含$\varnothing$,则正则表达式为**简单**的; + +任何正则表达式都可以转化为简单的。可以重复使用以下的规则: + +1. 替换子表达式$\varnothing\cdot R_1$和$R_1\cdot\varnothing$为$\varnothing$; +2. 替换子表达式$\varnothing\cup R_1$和$R_1\cup\varnothing$为$R_1$; +3. 替换子表达式$\varnothing^*$为$\Lambda$。 + +如果正则表达式$R$能唯一地表示$\sigma(R)$中的每个字符串,则称$R$是**不冗余**的。也可以准确地递归定义不冗余,这里不再给出。 + +#### 路径表达式 + +令$G=(V,E)$为有向图。其中$G$上的任何路径都可以被认为是$E$上的字符串。一个类型为$(v,w)$的路径表达式$P$是$E$上的一个简单正则表达式,其中$\sigma(P)$中的所有路径都是从$v$到$w$的。 + +路径表达式$P$的类型也可以通过递归定义完成。这里注意到: + +- $\cup$:要求左右子表达式有相同的类型; +- $\cdot$:要求左表达式的类型终点与右表达式的类型起点一样; +- $*$:要求子表达式类型终点起点一样。 + +**路径表达式有什么用?** 你可能会发现,路径表达式的存储也需要用到树状的结构。在路径表达式上计算最短路等问题并没有降低复杂度,所以路径表达式有什么用? + +其实,如果我们找到计算路径表达式的方法,再重新定义原子表达式和复合运算符,就能完成通用的图论问题求解算法。具体例子见本节首。 + +#### 可归约控制流图的路径表达式计算 + +回顾可归约图的一种定义:通过下面两种归约操作能转化为单一节点: + +1. T1:移除自环; +2. T2:单一前继的节点合并进前继。 + +随着归约的进行,归约图上的节点会代表原图的一个子图,称为**区域**。归约图的边是原图的边,归约图的区域是原图节点的划分。对于每个区域,都有唯一的**头**,它是原图上所有进入区域的边的终点。你也可以认为头就是没有被合并进其他节点里的节点。 + +对图中的节点进行排序,构建一个归约序列$v_1,v_2,\dots,v_n$。使得依据这个序列可以通过下面的算法归约成单一节点: + +1. 对于$i=1\dots n-1$ + 1. 对$v_i$来回使用T1变换,去除自环; + 2. 使用T2变换将$v_i$合并进$v_j,j>i$。 + +给出下面定义,其中$r$是可归约图的入口: + +- $header(v_i),v_i\neq r$:步骤1.2中$header(v_i)=v_j$,此外可以定义$\begin{cases}header^0(v)=v\newline header^1(v)=header(v)\newline header^i(v)=(header\circ header^{i-1})(v)\end{cases}$; +- $cycle(v_i),v_i\neq r$:步骤1.1中$v_i$消去的自环; +- $noncycle(v_i),v_i\neq r$:步骤1.2中删除的边。 + +有以下引理: + +1. 如果$v\neq r$,那么$header(v)>v$; +2. 要么$h(e)=header(t(e))$(前向边),要么$h(e)\leq t(e)$(回边或自环),这里$h(e)$是边$e$的起始,$t(e)$是边$e$的终点; +3. 如果$e\in cycle(t(e))$,那么存在$i\geq 0$满足$header^i(h(e))=t(e)$; +4. 如果$e\in noncycle(t(e))$,那么对任意$i\geq 0$满足$header^i(h(e))\neq t(e)$,但存在$i\geq 0$满足$header^i(h(e))=header(t(e))$。 + +
+ +注意到可归约图的节点依据偏序关系最终形成了一棵树(一个节点只有一个$header$)。而支配者树也是一颗树。这两种树之间有怎么样的关联和差异? + +暂时没有看到相关文献。但个人认为: + +1. 归约树不一定是支配者树。 +2. 可归约图的支配者树一定是一种归约树。如果想要将支配者树转换成排序好的序列,需要树上节点的直接孩子进行排序,方法是在原图上去除回边后对区域内节点进行拓扑排序。 +3. 不可归约图没有归约树(只有森林),但一定有支配者树。 + +其中第2点是后面算法的基础之一。 + +
+ +接下来,我们介绍可归约图构建单源路径表达式的方法。算法的输入是依据归约关系排序好的节点、每个节点的$header$、$cycle$和$noncycle$。 + +这个算法一边计算路径表达式,一边归约图。为了表示归约图,算法使用了一个森林,森林中每个节点$v$的父亲是$header(v)$。这样森林的每一个树都代表了区域,而区域的头则是树的根。森林中每个节点$v$都关联了一个不冗余的路径表达式$R(v)$,代表从$header(v)$到$v$的路径表达式。 + +算法通过以下四个函数操作树: + +|函数|描述| +|:-|:-| +|$INITIALIZE(v)$|将$v$组成单一节点的一颗树,并另$R(v):=\Lambda$| +|$UPDATE(v,R)$|如果$v$是根,那么$R(v):=R$| +|$LINK(v,w)$|如果$v$和$w$是根,那么通过将$w$的父亲设为$v$合并树| +|$EVAL(v)$|假设从$v$所属树的根$r$到$v$的**树上**路径为$r=v_0\rightarrow v_1\rightarrow\cdots\rightarrow v_k=v$,返回$R(v_0)\cdot R(v_1)\cdot\ldots\cdot R(v_k)$| + +算法如下: + +1. 对于所有的节点$v$ + 1. $INITIALIZE(v)$ +2. 对于$v:=1\dots n-1$: + 1. $P:=\varnothing$;$Q:=\varnothing$ + 2. 对于$e\in noncycle(v)$: + 1. $P:=[P\cup [EVAL(h(e))\cdot e]]$ + 3. 对于$e\in cycle(v)$: + 1. $Q:=[Q\cup [EVAL(h(e))\cdot e]]$ + 4. $UPDATE(v,[P\cdot[Q^*]])$ + 5. $LINK(header(v),v)$ +3. $P(r,r):=\varnothing$* +4. 对于$e\in cycle(r)$: + 1. $P(r,r):=[P(r,r)\cup[EVAL(h(e))\cdot e]]$ +5. $P(r,r):=[P(r,r)^*]$ +6. 对于$v:=1\dots n-1$ + 1. $P(r,v):=[P(r,r)\cdot EVAL(v)]$ + +算法完成后,$P$就存放了从$r$到所有点的路径表达式。这里$[~\cdot~]$表示化简。 + +## Gating Path + +### 符号表 + +|符号|含义|备注| +|:-:|:-|:-| +|$d\xrightarrow{+}v$|从$d$到$v$的至少包含一条边的路径|可以是自环| +|$d\xrightarrow{\*}v$|从$d$到$v$的可空的路径|可以$d$就是$v$,路径无边| +|$d\rightarrow v$|从$d$到$v$的有且只有一条边的路径| | + +### Gating Path的定义 + +**定义 1** CFG中的节点$v$的gating path被定义为,从$idom(v)$到$v$的一条CFG路径,且该路径上的每个节点都被$idom(v)$支配。 + +
+
+
+ +![gating path CFG](gating-path-cfg.svg) + +
用于演示gating path的CFG图
+
+
+ +![gating path dominator tree](gating-path-dom.svg) + +
用于演示gating path的支配者树
+
+
+
gating path的示例,展示了某些节点的gating path
+
+ +|节点|gating path| +|:-:|:-| +|$b$|$a\rightarrow b$| +|$c$|$a\rightarrow c$| +|$d$|$a\rightarrow b\rightarrow d,\~~a\rightarrow c\rightarrow d$| +|$e$|$d\rightarrow e$| + +### Gating Path的存在性?存在 + +**引理 1** 对于任何CFG的路径$d\xrightarrow{+}v$,如果$d\gg v$且$d$在路径中出现了一次,那么$d$支配路径上的所有节点。 + +上述表述也就是路径除了起始节点,路径没有经过$d$。 + +**引理 1 证明** 反证法。如果路径上存在一个非$d$的节点$u$,满足$d\rlap{\hspace{.5em}/}\gg u$,那么路径$\text{Entry}\xrightarrow{\*}u\xrightarrow{\*}v$就没经过$d$,$v$不被$d$支配,矛盾。 + +**推论 1** 对任何节点$v$都存在gating path。 + +**推论 1 证明** 永远可以找到$idom(v)\xrightarrow{+}v$,移除这条路径上所有$idom(v)\xrightarrow{\*}idom(v)$的环,就得到了符合引理1的路径。 + +### 支配边界闭包与支配树的兄弟子树的关系 + +接下来引理2和引理3将要论证:如果$v\in DF^+(X)$,那么$idom(v)\gg X$。从支配树的角度来说,$X$为$v$的兄弟子树上的某一个节点。 + +
+
+
+ +![lemma 2&3 CFG](lemma2-3-cfg.svg) + +
引理2和3演示用的CFG图
+
+
+ +![lemma 2&3 dominator tree](lemma2-3-dom.svg) + +
引理2和3演示用的支配者树
+
+
+
用于演示引理2和引理3的示例
+
+ +|节点|支配者树推断的可能支配闭包|实际支配闭包| +|:-:|:-|:-| +|2|7,exit|7,exit| +|3|7,exit|7,exit| +|4|5,6,7,exit|6,7,exit| +|6|4,5,7,exit|7,exit| + +注:这个论断可以用于寻找支配闭包包含$v$的那些节点$X$,也能寻找$X$的支配闭包可能包含的节点$v$。 + +接下来证明这个论断: + +**引理 2** 如果$v\in DF(X)$,那么$idom(v)\gg X$。 + +**引理 2 证明** 反证法。假设$idom(v)\rlap{\hspace{.5em}/}\gg X$(不严格支配),由于$idom(v)$不是$X$,所以$idom(v)$不支配$X$。故存在路径$Entry\xrightarrow{+}X$避开了$idom(v)$。由于$v\in DF(X)$,所以存在$w\in Pred(v)$,使得$X\underline{\gg} w$。取路径$X\xrightarrow{\*}w\rightarrow v$,移除路径中$X\xrightarrow{\*}X$的环(使得$X$只出现在该路径的头)。此时由引理1,$X$支配$X\xrightarrow{\*}v$上的所有节点,故$idom(X)$不在这条路径中(否则$X$将支配$idom(v)$和$v$)。将这条路径与$Entry\xrightarrow{+}X$,就得到了一条从$Entry$到$v$的避免$idom(v)$的路径,这与题设矛盾。 + +**引理 3** 如果$v\in DF^+(X)$,那么$idom(v)\gg X$。 + +**引理 3 证明** 数学归纳法。(初始情况)对于$DF^1(X)$,有引理2成立。(归纳)如果$v\in DF^{i-1}(X)$,那么$idom(v)\gg X$。任取$v\in DF(u),u\in DF^{i-1}(X)$。由归纳假设知$idom(u)\gg X$;由引理1,$idom(v)\gg u$,即$idom(v)\underline{\gg}idom(u)$。由传递性得$idom(v)\gg X$。 + +### Gating Path与支配边界闭包的关系 + +首先,引理4和5论证支配边界(闭包)关系中可以得到一条特殊的gating path。 + +**引理 4** 如果$v\in DF(X)$,那么存在从$idom(v)$经过$X$到$v$的gating path。 + +**引理 4 证明** 由$DF$定义知道存在一个$w\in Pred(v)$,满足$X\underline{\gg}w$。又由推论1知,可以找到由gating path拼接的路径$X\xrightarrow{\*}w$,满足路径上的每个节点都被$X$控制。由引理2知道$idom(v)\gg X$,类似地,又由推论1知,可以找到由gating path拼接的路径$idom(v)\gg X$,满足路径上的每个节点都被$idom(v)$控制。将这两条路径拼接成$idom(v)\xrightarrow{+}X\xrightarrow{\*}w\rightarrow v$,注意到路径上的每个节点都被$idom(v)$控制,所以这是$v$的gating path。 + +**引理 5** 如果$v\in DF^+(X)$,那么存在从$idom(v)$经过$X$到$v$的gating path。 + +**引理 5 证明** 数学归纳法。 + +首先,引理6反过来,论证从一条特殊的gating path,可以得到支配边界闭包关系。 + +**引理 6** 如果存在一个$idom(v)$经过$X$到$v$的gating path,且$idom(v)\neq X$,那么$v\in DF^+(X)$。 + +|$v$|$idom(v)$|$X$| +|:-:|:-:|:-| +|6|3|4,5| +|7|1|2,3,4,5,6(注意,7不是4、5的直接支配边界,而是闭包)| + +**引理 6 证明** 依据gating path的子路径$X\xrightarrow{\*}w\rightarrow v$上的合并节点(入边数目大于1)个数进行数学归纳法。$v$一定是个合并节点,否则$w$将成为$idom(v)$且由题设$idom(v)\neq X$知$idom(v)\neq w$矛盾。令$X\xrightarrow{+}v$上合并节点的个数为$n$。 + +1. 如果$n=1$,那么$v$是唯一的合并节点,路径$X\xrightarrow{\*}w\rightarrow v$上的每个中间节点只有一个前导,故$X\underline{\gg}w$,$v\in DF(X)$。 +2. 假设命题对于$n$X\underline{\gg}idom(u)\gg u\underline{\gg} w$(这步证明存疑,$X$似乎不一定支配$idom(u)$),因而$v\in DF(X)$。 + +使用引理5和6,我们得到了下面的定理: + +**定理 1** 给定初始的CFG节点集合$\mathcal{X}$,对于CFG上的任意节点$v$,$v\in DF^+(\mathcal{X})$当且仅当存在一个gating path满足$idom(v)\xrightarrow{+}X\xrightarrow{+}v,X\in\mathcal{X}$。 + +这个证明就是将引理5和6整合了,并且将$DF^+$应用到了集合上。 + +#### 引理6红线部分证明的瑕疵 + +
+
+
+ +![lemma 6 problem CFG](lemma6-problem-cfg.svg) + +
用于演示引理6证明瑕疵的CFG
+
+
+ +![lemma 6 problem dominator tree](lemma6-problem-dom.svg) + +
用于演示引理6证明瑕疵的支配者树
+
+
+
用于演示引理6证明瑕疵的示例
+
+ +红色路径为gating path,此时$n=3$,且$X$不位于$P_u$上。 + +## GSA构建算法 + +### 完整的例子 + +{{< highlight fortran "linenos=table" >}} +read(A) +if (P) then goto 5 +if (Q) then + A := 5 + while (R) do + A := A + 1 + enddo +else + if (T) then + A := A * 3 + else + A := A + 6 + endif +endif +write(A) +{{< / highlight >}} + +
+
+
+ +![example CFG](example-cfg.svg) + +
用于演示的CFG
+
+
+ +![example dominator tree](example-dom.svg) + +
用于演示的支配者树,那些在CFG中有但支配者树没的边,用虚线添加了进来
+
+
+
算法的完整示例
+
+ +#### loop: $u=10$ + +|derive:$v$|edge:$(w,v)$|影响| +|:-:|:-:|:-| +|$11$|$(10,11)$|$GP(11)=\gamma(T,\Lambda,\varnothing)$| +|$12$|$(10,12)$|$GP(12)=\gamma(T,\varnothing,\Lambda)$| +|$13$|$(11,13)$|$subroot(w)=11,\~~p(subroot(w),v)=\Lambda^1,\~~\phi=\texttt{true},\~~\Phi(13)=\texttt{true},\~~ListP(13)=\{(11,13,\Lambda^1)\}$| +|^|$(12,13)$|$subroot(w)=12,\~~p(subroot(w),v)=\Lambda^2,\~~\phi=\texttt{true},\~~\Phi(13)=\texttt{true},\~~ListP(13)=\{(11,13,\Lambda^1),(12,13,\Lambda^2)\}$| + +sequence: $11\rightarrow 13,12\rightarrow 13\Rightarrow11,12,13$ + +|merge:$v$|$subroot(w),v,p(subroot(w),v)$|影响| +|:-:|:-:|:-| +|$13$|$11,13,\Lambda^1$|$GP(13)=\gamma(T,\Lambda^1,\varnothing)$| +|^|$12,13,\Lambda^2$|$GP(13)=\gamma(T,\Lambda^1,\Lambda^2)$| + +此时树的样子为: + +
+ +![interval tree 1](interval-tree1.svg) + +
$u=10$时构建的树。
+
+ +#### loop: $u=8$ + +|derive:$v$|edge:$(w,v)$|影响| +|:-:|:-:|:-| +|$9$|$(8,9)$|$GP(9)=\gamma(Q,\Lambda,\varnothing)$| +|$10$|$(8,10)$|$GP(10)=\gamma(Q,\varnothing,\Lambda)$| + +
+ +![interval tree 2](interval-tree2.svg) + +
$u=8$时构建的树。
+
+ +#### loop: $u=6$ + +|derive:$v$|edge:$(w,v)$|影响| +|:-:|:-:|:-| +|$7$|$(6,7)$|$GP(7)=\Lambda$| + +
+ +![interval tree 3](interval-tree3.svg) + +
$u=6$时构建的树。
+
+ +#### loop: $u=4$ + +|derive:$v$|edge:$(w,v)$|影响| +|:-:|:-:|:-| +|$5$|$(4,5)$|$GP(5)=\Lambda$| + +
+ +![interval tree 4](interval-tree4.svg) + +
$u=4$时构建的树。
+
+ +#### loop: $u=3$ + +|derive:$v$|edge:$(w,v)$|影响| +|:-:|:-:|:-| +|$4$|$(3,4)$|$GP(4)=\gamma(R,\Lambda,\varnothing)$| + +
+ +![interval tree 5](interval-tree5.svg) + +
$u=3$时构建的树。
+
+ +#### loop: $u=2$ + +|derive:$v$|edge:$(w,v)$|影响| +|:-:|:-:|:-| +|$3$|$(2,3)$|$GP(3)=\gamma(P,\Lambda^1,\varnothing)$| +|^|$(5,3)$|$subroot(w)=3,\~~p(subroot(w),v)=\gamma(R,\Lambda^2,\varnothing),\~~\phi=\texttt{true},\~~\Phi(3)=\texttt{true},\~~ListP(3)=\{(3,3,\gamma(R,\Lambda^2,\varnothing))\}$| +|^|$(9,3)$|$subroot(w)=8,\~~p(subroot(w),v)=\gamma(Q,\Lambda^3,\varnothing),\~~\phi=\texttt{true},\~~\Phi(3)=\texttt{true},\~~ListP(3)=\{(3,3,\gamma(R,\Lambda^2,\varnothing)),(8,3,\gamma(Q,\Lambda^3,\varnothing))\}$| +|$6$|$(3,6)$|$subroot(w)=3,\~~p(subroot(w),v)=\gamma(R,\varnothing,\Lambda^1),\~~\phi=\texttt{true},\~~\Phi(6)=\texttt{true},\~~ListP(6)=\{(3,6,\gamma(R,\varnothing,\Lambda^1))\}$| +|^|$(13,6)$|$subroot(w)=8,\~~p(subroot(w),v)=\gamma(Q,\varnothing,\Lambda^2),\~~\phi=\texttt{true},\~~\Phi(6)=\texttt{true},\~~ListP(6)=\{(3,6,\gamma(R,\varnothing,\Lambda^1)),(8,6,\gamma(Q,\varnothing,\Lambda^2))\}$| +|$8$|$(2,8)$|$GP(2)=\gamma(P,\varnothing,\Lambda)$| + +sequence: $8\rightarrow 6,8\rightarrow 3,3\rightarrow 6\Rightarrow 8,3,$ + +|merge:$v$|$subroot(w),v,p(subroot(w),v)$|影响| +|:-:|:-:|:-| +|$3$|$3,3,\gamma(R,\Lambda^2,\varnothing)$|$G^*(3)=\gamma(R,\Lambda^2,\varnothing)$| +|^|$8,3,\gamma(Q,\Lambda^3,\varnothing)$|$GP(3)=\gamma(P,\Lambda^1,\gamma(Q,\Lambda^3,\varnothing))$| +|$6$|$3,6,\gamma(R,\varnothing,\Lambda^1)$|$GP(6)=\gamma(P,\gamma(R,\varnothing,\Lambda^1),\gamma(Q,\gamma(R,\varnothing,\Lambda^1),\varnothing)),\Phi(6)=\texttt{true}$| +|^|$8,6,\gamma(Q,\varnothing,\Lambda^2)$|$GP(6)=\gamma(P,\gamma(R,\varnothing,\Lambda^1),\gamma(Q,\gamma(R,\varnothing,\Lambda^1),\Lambda^2))$| + +原论文给的$GP(6)$似乎求错了。此时树的样子为: + +
+ +![interval tree 6](interval-tree6.svg) + +
$u=2$时构建的树。
+
+ +#### loop: $u=1$ + +|derive:$v$|edge:$(w,v)$|影响| +|:-:|:-:|:-| +|$1$|$(1,2)$|$GP(2)=\Lambda$| + +
+ +![interval tree 7](interval-tree7.svg) + +
+ +$u=1$时构建的树。 + +
+
+ + +[^tu1995efficient]: P. Tu and D. Padua, “Efficient building and placing of gating functions,” in *Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation - PLDI ’95*, 1995. +[^cytron1991efficiently]: R. Cytron, J. Ferrante, B. K. Rosen, M. N. Wegman, and F. K. Zadeck, “Efficiently computing static single assignment form and the control dependence graph,” *ACM Trans. Program. Lang. Syst.*, vol. 13, no. 4, pp. 451–490, 1991. +[^ottenstein1990program]: K. J. Ottenstein, R. A. Ballance, and A. B. MacCabe, “The program dependence web: a representation supporting control-, data-, and demand-driven interpretation of imperative languages,” in *Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation - PLDI ’90*, 1990. +[^havlak1994construction]: P. Havlak, “Construction of thinned gated single-assignment form,” in Languages and Compilers for Parallel Computing, Berlin, Heidelberg: Springer Berlin Heidelberg, 1994, pp. 477–499. +[^tarjan1981fast]: R. E. Tarjan, “Fast algorithms for solving path problems,” *J. ACM*, vol. 28, no. 3, pp. 594–614, 1981. + + \ No newline at end of file diff --git a/content/blog/build-gsa-from-cfg/interval-tree1.gv b/content/blog/build-gsa-from-cfg/interval-tree1.gv new file mode 100644 index 0000000..5835382 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/interval-tree1.gv @@ -0,0 +1,10 @@ +digraph { + node[shape=rect] + 10[label="10\n"] + 11[label="11\nR: γ(T,Λ,∅)"] + 12[label="12\nR: γ(T,∅,Λ)"] + 13[label="13\nR: Λ",color="red"] + 10->11 + 10->12 + 10->13 +} diff --git a/content/blog/build-gsa-from-cfg/interval-tree1.svg b/content/blog/build-gsa-from-cfg/interval-tree1.svg new file mode 100644 index 0000000..531af02 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/interval-tree1.svg @@ -0,0 +1,57 @@ + + + + + + + + + +10 + +10 + + + +11 + +11 +R: γ(T,Λ,∅) + + + +10->11 + + + + + +12 + +12 +R: γ(T,∅,Λ) + + + +10->12 + + + + + +13 + +13 +R: Λ + + + +10->13 + + + + + diff --git a/content/blog/build-gsa-from-cfg/interval-tree2.gv b/content/blog/build-gsa-from-cfg/interval-tree2.gv new file mode 100644 index 0000000..f3d1ca9 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/interval-tree2.gv @@ -0,0 +1,14 @@ +digraph { + node[shape=rect] + 8[label="8\n"] + 9[label="9\nR: γ(Q,Λ,∅)"] + 10[label="10\nR: γ(Q,∅,Λ)"] + 11[label="11\nR: γ(T,Λ,∅)"] + 12[label="12\nR: γ(T,∅,Λ)"] + 13[label="13\nR: Λ",color="red"] + 8->9 + 8->10 + 10->11 + 10->12 + 10->13 +} diff --git a/content/blog/build-gsa-from-cfg/interval-tree2.svg b/content/blog/build-gsa-from-cfg/interval-tree2.svg new file mode 100644 index 0000000..f87f263 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/interval-tree2.svg @@ -0,0 +1,83 @@ + + + + + + + + + +8 + +8 + + + +9 + +9 +R: γ(Q,Λ,∅) + + + +8->9 + + + + + +10 + +10 +R: γ(Q,∅,Λ) + + + +8->10 + + + + + +11 + +11 +R: γ(T,Λ,∅) + + + +10->11 + + + + + +12 + +12 +R: γ(T,∅,Λ) + + + +10->12 + + + + + +13 + +13 +R: Λ + + + +10->13 + + + + + diff --git a/content/blog/build-gsa-from-cfg/interval-tree3.gv b/content/blog/build-gsa-from-cfg/interval-tree3.gv new file mode 100644 index 0000000..c8a1a48 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/interval-tree3.gv @@ -0,0 +1,17 @@ +digraph { + node[shape=rect] + 6[label="6\n"] + 7[label="7\nR: Λ"] + 8[label="8\n"] + 9[label="9\nR: γ(Q,Λ,∅)"] + 10[label="10\nR: γ(Q,∅,Λ)"] + 11[label="11\nR: γ(T,Λ,∅)"] + 12[label="12\nR: γ(T,∅,Λ)"] + 13[label="13\nR: Λ",color="red"] + 6->7 + 8->9 + 8->10 + 10->11 + 10->12 + 10->13 +} diff --git a/content/blog/build-gsa-from-cfg/interval-tree3.svg b/content/blog/build-gsa-from-cfg/interval-tree3.svg new file mode 100644 index 0000000..beace9d --- /dev/null +++ b/content/blog/build-gsa-from-cfg/interval-tree3.svg @@ -0,0 +1,102 @@ + + + + + + + + + +6 + +6 + + + +7 + +7 +R: Λ + + + +6->7 + + + + + +8 + +8 + + + +9 + +9 +R: γ(Q,Λ,∅) + + + +8->9 + + + + + +10 + +10 +R: γ(Q,∅,Λ) + + + +8->10 + + + + + +11 + +11 +R: γ(T,Λ,∅) + + + +10->11 + + + + + +12 + +12 +R: γ(T,∅,Λ) + + + +10->12 + + + + + +13 + +13 +R: Λ + + + +10->13 + + + + + diff --git a/content/blog/build-gsa-from-cfg/interval-tree4.gv b/content/blog/build-gsa-from-cfg/interval-tree4.gv new file mode 100644 index 0000000..d917c63 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/interval-tree4.gv @@ -0,0 +1,20 @@ +digraph { + node[shape=rect] + 4[label="4\n"] + 5[label="5\nR: Λ"] + 6[label="6\n"] + 7[label="7\nR: Λ"] + 8[label="8\n"] + 9[label="9\nR: γ(Q,Λ,∅)"] + 10[label="10\nR: γ(Q,∅,Λ)"] + 11[label="11\nR: γ(T,Λ,∅)"] + 12[label="12\nR: γ(T,∅,Λ)"] + 13[label="13\nR: Λ",color="red"] + 4->5 + 6->7 + 8->9 + 8->10 + 10->11 + 10->12 + 10->13 +} diff --git a/content/blog/build-gsa-from-cfg/interval-tree4.svg b/content/blog/build-gsa-from-cfg/interval-tree4.svg new file mode 100644 index 0000000..6bd7cd5 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/interval-tree4.svg @@ -0,0 +1,121 @@ + + + + + + + + + +4 + +4 + + + +5 + +5 +R: Λ + + + +4->5 + + + + + +6 + +6 + + + +7 + +7 +R: Λ + + + +6->7 + + + + + +8 + +8 + + + +9 + +9 +R: γ(Q,Λ,∅) + + + +8->9 + + + + + +10 + +10 +R: γ(Q,∅,Λ) + + + +8->10 + + + + + +11 + +11 +R: γ(T,Λ,∅) + + + +10->11 + + + + + +12 + +12 +R: γ(T,∅,Λ) + + + +10->12 + + + + + +13 + +13 +R: Λ + + + +10->13 + + + + + diff --git a/content/blog/build-gsa-from-cfg/interval-tree5.gv b/content/blog/build-gsa-from-cfg/interval-tree5.gv new file mode 100644 index 0000000..5053301 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/interval-tree5.gv @@ -0,0 +1,21 @@ +digraph { + node[shape=rect] + 3[label="3\n"] + 4[label="4\nR: γ(R,Λ,∅)"] + 5[label="5\nR: Λ"] + 6[label="6\n"] + 7[label="7\nR: Λ"] + 8[label="8\n"] + 9[label="9\nR: γ(Q,Λ,∅)"] + 10[label="10\nR: γ(Q,∅,Λ)"] + 11[label="11\nR: γ(T,Λ,∅)"] + 12[label="12\nR: γ(T,∅,Λ)"] + 13[label="13\nR: Λ",color="red"] + 3->4->5 + 6->7 + 8->9 + 8->10 + 10->11 + 10->12 + 10->13 +} diff --git a/content/blog/build-gsa-from-cfg/interval-tree5.svg b/content/blog/build-gsa-from-cfg/interval-tree5.svg new file mode 100644 index 0000000..11e4e29 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/interval-tree5.svg @@ -0,0 +1,134 @@ + + + + + + + + + +3 + +3 + + + +4 + +4 +R: γ(R,Λ,∅) + + + +3->4 + + + + + +5 + +5 +R: Λ + + + +4->5 + + + + + +6 + +6 + + + +7 + +7 +R: Λ + + + +6->7 + + + + + +8 + +8 + + + +9 + +9 +R: γ(Q,Λ,∅) + + + +8->9 + + + + + +10 + +10 +R: γ(Q,∅,Λ) + + + +8->10 + + + + + +11 + +11 +R: γ(T,Λ,∅) + + + +10->11 + + + + + +12 + +12 +R: γ(T,∅,Λ) + + + +10->12 + + + + + +13 + +13 +R: Λ + + + +10->13 + + + + + diff --git a/content/blog/build-gsa-from-cfg/interval-tree6.gv b/content/blog/build-gsa-from-cfg/interval-tree6.gv new file mode 100644 index 0000000..90bfbf9 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/interval-tree6.gv @@ -0,0 +1,25 @@ +digraph { + node[shape=rect] + 2[label="2\n"] + 3[label="3\nR: γ(P,Λ,γ(Q,Λ,∅))",color="red"] + 4[label="4\nR: γ(R,Λ,∅)"] + 5[label="5\nR: Λ"] + 6[label="6\nR: ...",color="red"] + 7[label="7\nR: Λ"] + 8[label="8\nR: γ(P,∅,Λ)"] + 9[label="9\nR: γ(Q,Λ,∅)"] + 10[label="10\nR: γ(Q,∅,Λ)"] + 11[label="11\nR: γ(T,Λ,∅)"] + 12[label="12\nR: γ(T,∅,Λ)"] + 13[label="13\nR: Λ",color="red"] + 2->8 + 2->3 + 2->6 + 3->4->5 + 6->7 + 8->9 + 8->10 + 10->11 + 10->12 + 10->13 +} \ No newline at end of file diff --git a/content/blog/build-gsa-from-cfg/interval-tree6.svg b/content/blog/build-gsa-from-cfg/interval-tree6.svg new file mode 100644 index 0000000..4af4bf3 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/interval-tree6.svg @@ -0,0 +1,161 @@ + + + + + + + + + +2 + +2 + + + +3 + +3 +R: γ(P,Λ,γ(Q,Λ,∅)) + + + +2->3 + + + + + +6 + +6 +R: ... + + + +2->6 + + + + + +8 + +8 +R: γ(P,∅,Λ) + + + +2->8 + + + + + +4 + +4 +R: γ(R,Λ,∅) + + + +3->4 + + + + + +5 + +5 +R: Λ + + + +4->5 + + + + + +7 + +7 +R: Λ + + + +6->7 + + + + + +9 + +9 +R: γ(Q,Λ,∅) + + + +8->9 + + + + + +10 + +10 +R: γ(Q,∅,Λ) + + + +8->10 + + + + + +11 + +11 +R: γ(T,Λ,∅) + + + +10->11 + + + + + +12 + +12 +R: γ(T,∅,Λ) + + + +10->12 + + + + + +13 + +13 +R: Λ + + + +10->13 + + + + + diff --git a/content/blog/build-gsa-from-cfg/interval-tree7.gv b/content/blog/build-gsa-from-cfg/interval-tree7.gv new file mode 100644 index 0000000..2771b30 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/interval-tree7.gv @@ -0,0 +1,27 @@ +digraph { + node[shape=rect] + 1[label="1\n"] + 2[label="2\nR: Λ"] + 3[label="3\nR: γ(P,Λ,γ(Q,Λ,∅))",color="red"] + 4[label="4\nR: γ(R,Λ,∅)"] + 5[label="5\nR: Λ"] + 6[label="6\nR: ...",color="red"] + 7[label="7\nR: Λ"] + 8[label="8\nR: γ(P,∅,Λ)"] + 9[label="9\nR: γ(Q,Λ,∅)"] + 10[label="10\nR: γ(Q,∅,Λ)"] + 11[label="11\nR: γ(T,Λ,∅)"] + 12[label="12\nR: γ(T,∅,Λ)"] + 13[label="13\nR: Λ",color="red"] + 1->2 + 2->8 + 2->3 + 2->6 + 3->4->5 + 6->7 + 8->9 + 8->10 + 10->11 + 10->12 + 10->13 +} diff --git a/content/blog/build-gsa-from-cfg/interval-tree7.svg b/content/blog/build-gsa-from-cfg/interval-tree7.svg new file mode 100644 index 0000000..c783436 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/interval-tree7.svg @@ -0,0 +1,174 @@ + + + + + + + + + +1 + +1 + + + +2 + +2 +R: Λ + + + +1->2 + + + + + +3 + +3 +R: γ(P,Λ,γ(Q,Λ,∅)) + + + +2->3 + + + + + +6 + +6 +R: ... + + + +2->6 + + + + + +8 + +8 +R: γ(P,∅,Λ) + + + +2->8 + + + + + +4 + +4 +R: γ(R,Λ,∅) + + + +3->4 + + + + + +5 + +5 +R: Λ + + + +4->5 + + + + + +7 + +7 +R: Λ + + + +6->7 + + + + + +9 + +9 +R: γ(Q,Λ,∅) + + + +8->9 + + + + + +10 + +10 +R: γ(Q,∅,Λ) + + + +8->10 + + + + + +11 + +11 +R: γ(T,Λ,∅) + + + +10->11 + + + + + +12 + +12 +R: γ(T,∅,Λ) + + + +10->12 + + + + + +13 + +13 +R: Λ + + + +10->13 + + + + + diff --git a/content/blog/build-gsa-from-cfg/lemma2-3-cfg.gv b/content/blog/build-gsa-from-cfg/lemma2-3-cfg.gv new file mode 100644 index 0000000..b7043ea --- /dev/null +++ b/content/blog/build-gsa-from-cfg/lemma2-3-cfg.gv @@ -0,0 +1,7 @@ +digraph { + node[shape=rect] + entry->exit + entry->1->2->3->4->6->7 + 3->5->6 + 1->7->exit +} diff --git a/content/blog/build-gsa-from-cfg/lemma2-3-cfg.svg b/content/blog/build-gsa-from-cfg/lemma2-3-cfg.svg new file mode 100644 index 0000000..c828266 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/lemma2-3-cfg.svg @@ -0,0 +1,132 @@ + + + + + + + + + +entry + +entry + + + +exit + +exit + + + +entry->exit + + + + + +1 + +1 + + + +entry->1 + + + + + +2 + +2 + + + +1->2 + + + + + +7 + +7 + + + +1->7 + + + + + +3 + +3 + + + +2->3 + + + + + +4 + +4 + + + +3->4 + + + + + +5 + +5 + + + +3->5 + + + + + +6 + +6 + + + +4->6 + + + + + +6->7 + + + + + +7->exit + + + + + +5->6 + + + + + diff --git a/content/blog/build-gsa-from-cfg/lemma2-3-dom.gv b/content/blog/build-gsa-from-cfg/lemma2-3-dom.gv new file mode 100644 index 0000000..b7f1738 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/lemma2-3-dom.gv @@ -0,0 +1,9 @@ +digraph { + node[shape=rect,style=rounded] + entry->1->2->3 + entry->exit + 3->4 + 3->5 + 3->6 + 1->7 +} \ No newline at end of file diff --git a/content/blog/build-gsa-from-cfg/lemma2-3-dom.svg b/content/blog/build-gsa-from-cfg/lemma2-3-dom.svg new file mode 100644 index 0000000..5316dcd --- /dev/null +++ b/content/blog/build-gsa-from-cfg/lemma2-3-dom.svg @@ -0,0 +1,114 @@ + + + + + + + + + +entry + +entry + + + +1 + +1 + + + +entry->1 + + + + + +exit + +exit + + + +entry->exit + + + + + +2 + +2 + + + +1->2 + + + + + +7 + +7 + + + +1->7 + + + + + +3 + +3 + + + +2->3 + + + + + +4 + +4 + + + +3->4 + + + + + +5 + +5 + + + +3->5 + + + + + +6 + +6 + + + +3->6 + + + + + diff --git a/content/blog/build-gsa-from-cfg/lemma6-problem-cfg.gv b/content/blog/build-gsa-from-cfg/lemma6-problem-cfg.gv new file mode 100644 index 0000000..bb0f346 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/lemma6-problem-cfg.gv @@ -0,0 +1,13 @@ +digraph { + node[shape=rect] + entry->idom_v + idom_v->X->idom_u->b->u->w->v[color=red] + idom_v->v + idom_v->a->idom_u + idom_u->c->u + idom_v[label="idom(v)"] + idom_u[label="idom(u)"] + a[fontcolor=gray] + b[fontcolor=gray] + c[fontcolor=gray] +} diff --git a/content/blog/build-gsa-from-cfg/lemma6-problem-cfg.svg b/content/blog/build-gsa-from-cfg/lemma6-problem-cfg.svg new file mode 100644 index 0000000..1e7ea7a --- /dev/null +++ b/content/blog/build-gsa-from-cfg/lemma6-problem-cfg.svg @@ -0,0 +1,144 @@ + + + + + + + + + +entry + +entry + + + +idom_v + +idom(v) + + + +entry->idom_v + + + + + +X + +X + + + +idom_v->X + + + + + +v + +v + + + +idom_v->v + + + + + +a + +a + + + +idom_v->a + + + + + +idom_u + +idom(u) + + + +X->idom_u + + + + + +b + +b + + + +idom_u->b + + + + + +c + +c + + + +idom_u->c + + + + + +u + +u + + + +b->u + + + + + +w + +w + + + +u->w + + + + + +w->v + + + + + +a->idom_u + + + + + +c->u + + + + + diff --git a/content/blog/build-gsa-from-cfg/lemma6-problem-dom.gv b/content/blog/build-gsa-from-cfg/lemma6-problem-dom.gv new file mode 100644 index 0000000..496e3a5 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/lemma6-problem-dom.gv @@ -0,0 +1,13 @@ +digraph { + entry->idom_v->X + idom_v->a + idom_v->idom_u->b + idom_u->c + idom_u->u->w + idom_v->v + idom_v[label="idom(v)"] + idom_u[label="idom(u)"] + a[fontcolor=gray] + b[fontcolor=gray] + c[fontcolor=gray] +} diff --git a/content/blog/build-gsa-from-cfg/lemma6-problem-dom.svg b/content/blog/build-gsa-from-cfg/lemma6-problem-dom.svg new file mode 100644 index 0000000..9872557 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/lemma6-problem-dom.svg @@ -0,0 +1,126 @@ + + + + + + + + + +entry + +entry + + + +idom_v + +idom(v) + + + +entry->idom_v + + + + + +X + +X + + + +idom_v->X + + + + + +a + +a + + + +idom_v->a + + + + + +idom_u + +idom(u) + + + +idom_v->idom_u + + + + + +v + +v + + + +idom_v->v + + + + + +b + +b + + + +idom_u->b + + + + + +c + +c + + + +idom_u->c + + + + + +u + +u + + + +idom_u->u + + + + + +w + +w + + + +u->w + + + + + diff --git a/content/blog/build-gsa-from-cfg/nested-gamma-cfg.gv b/content/blog/build-gsa-from-cfg/nested-gamma-cfg.gv new file mode 100644 index 0000000..5e81b15 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/nested-gamma-cfg.gv @@ -0,0 +1,18 @@ +digraph { + node[shape=rect] + entry + if_p[label="if (P)"] + if_q[label="if (Q)"] + assign1[label="A1 := 1"] + assign2[label="A2 := 2"] + merge[label="A3=ϕ(A1, A2)\lwrite(A3)\l"] + exit + entry->if_p + if_p->assign1[label="t"] + if_p->assign2[label="f"] + assign1->if_q + if_q->merge[label="t"] + if_q->exit[label="f"] + assign2->merge + merge->exit +} \ No newline at end of file diff --git a/content/blog/build-gsa-from-cfg/nested-gamma-cfg.svg b/content/blog/build-gsa-from-cfg/nested-gamma-cfg.svg new file mode 100644 index 0000000..92f6153 --- /dev/null +++ b/content/blog/build-gsa-from-cfg/nested-gamma-cfg.svg @@ -0,0 +1,107 @@ + + + + + + + + + +entry + +entry + + + +if_p + +if (P) + + + +entry->if_p + + + + + +assign1 + +A1 := 1 + + + +if_p->assign1 + + +t + + + +assign2 + +A2 := 2 + + + +if_p->assign2 + + +f + + + +if_q + +if (Q) + + + +merge + +A3=ϕ(A1, A2) +write(A3) + + + +if_q->merge + + +t + + + +exit + +exit + + + +if_q->exit + + +f + + + +assign1->if_q + + + + + +assign2->merge + + + + + +merge->exit + + + + + diff --git a/content/blog/how-to-construct-ssa/example-cfg.gv b/content/blog/how-to-construct-ssa/example-cfg.gv new file mode 100644 index 0000000..7c042c2 --- /dev/null +++ b/content/blog/how-to-construct-ssa/example-cfg.gv @@ -0,0 +1,22 @@ +digraph { + subgraph { + node[style=rounded,shape=box] + Entry + Exit + } + subgraph { + graph[rank=same] + Entry 1 + } + subgraph { + graph[rank=same] + Exit 12 + } + Entry -> 1 -> 2 -> 7 -> 8 -> 9 -> 10 -> 11 -> 12 + 2 -> 3 -> 4 -> 6 -> 8 + 3 -> 5 -> 6 + 11 -> 9 + 12 -> 2 + Exit -> 12 [dir=back] + Entry -> Exit [constraint=false] +} \ No newline at end of file diff --git a/content/blog/how-to-construct-ssa/example-cfg.svg b/content/blog/how-to-construct-ssa/example-cfg.svg new file mode 100644 index 0000000..d8014c6 --- /dev/null +++ b/content/blog/how-to-construct-ssa/example-cfg.svg @@ -0,0 +1,204 @@ + + + + + + + + + +Entry + +Entry + + + +Exit + +Exit + + + +Entry->Exit + + + + + +1 + +1 + + + +Entry->1 + + + + + +12 + +12 + + + +Exit->12 + + + + + +2 + +2 + + + +1->2 + + + + + +12->2 + + + + + +7 + +7 + + + +2->7 + + + + + +3 + +3 + + + +2->3 + + + + + +8 + +8 + + + +7->8 + + + + + +9 + +9 + + + +8->9 + + + + + +10 + +10 + + + +9->10 + + + + + +11 + +11 + + + +10->11 + + + + + +11->12 + + + + + +11->9 + + + + + +4 + +4 + + + +3->4 + + + + + +5 + +5 + + + +3->5 + + + + + +6 + +6 + + + +4->6 + + + + + +6->8 + + + + + +5->6 + + + + + diff --git a/content/blog/how-to-construct-ssa/example-dom-tree.gv b/content/blog/how-to-construct-ssa/example-dom-tree.gv new file mode 100644 index 0000000..83b2886 --- /dev/null +++ b/content/blog/how-to-construct-ssa/example-dom-tree.gv @@ -0,0 +1,23 @@ +digraph { + Entry[label="Entry[-|-]"] + Exit[label="(-)\n|Exit[-|-]"] + 1[label="(-)\n1[-|Exit]"] + 2[label="(Exit)\n2[-|Exit,2]"] + 3[label="(-)\n3[-|8]"] + 4[label="(-)\n4[6|6]"] + 5[label="(-)\n5[6|6]"] + 6[label="(8)\n6[8|8]"] + 7[label="(-)\n7[8|8]"] + 8[label="(Exit,2)\n8[-|Exit,2]"] + 9[label="(Exit,2)\n9[-|Exit,2,9]"] + 10[label="(-)\n10[11|11]"] + 11[label="(Exit,2,9)\n11[9|Exit,2,9]"] + 12[label="(Exit,2)\n12[Exit,2|Exit,2]"] + Entry -> 1 -> 2 -> 3 -> 4 + 3 -> 5 + 3 -> 6 + 2 -> 7 + 2 -> 8 -> 9 -> 10 + 9 -> 11 -> 12 + Entry -> Exit +} \ No newline at end of file diff --git a/content/blog/how-to-construct-ssa/example-dom-tree.svg b/content/blog/how-to-construct-ssa/example-dom-tree.svg new file mode 100644 index 0000000..c8c5eb6 --- /dev/null +++ b/content/blog/how-to-construct-ssa/example-dom-tree.svg @@ -0,0 +1,187 @@ + + + + + + + + + +Entry + +Entry[-|-] + + + +Exit + +(-) +|Exit[-|-] + + + +Entry->Exit + + + + + +1 + +(-) +1[-|Exit] + + + +Entry->1 + + + + + +2 + +(Exit) +2[-|Exit,2] + + + +1->2 + + + + + +3 + +(-) +3[-|8] + + + +2->3 + + + + + +7 + +(-) +7[8|8] + + + +2->7 + + + + + +8 + +(Exit,2) +8[-|Exit,2] + + + +2->8 + + + + + +4 + +(-) +4[6|6] + + + +3->4 + + + + + +5 + +(-) +5[6|6] + + + +3->5 + + + + + +6 + +(8) +6[8|8] + + + +3->6 + + + + + +9 + +(Exit,2) +9[-|Exit,2,9] + + + +8->9 + + + + + +10 + +(-) +10[11|11] + + + +9->10 + + + + + +11 + +(Exit,2,9) +11[9|Exit,2,9] + + + +9->11 + + + + + +12 + +(Exit,2) +12[Exit,2|Exit,2] + + + +11->12 + + + + + diff --git a/content/blog/how-to-construct-ssa/index.md b/content/blog/how-to-construct-ssa/index.md new file mode 100644 index 0000000..fbcf47d --- /dev/null +++ b/content/blog/how-to-construct-ssa/index.md @@ -0,0 +1,289 @@ +--- +title: "如何构建SSA形式的CFG" +description: "这篇文章是关于如何从非SSA(静态单一赋值)形式的CFG(控制流图)构造出SSA形式的控制流图。这主要涉及到图论中的Dominator理论。难点在于phi函数的插入。" +lead: "这篇文章是关于如何从非SSA(静态单一赋值)形式的CFG(控制流图)构造出SSA形式的控制流图。这主要涉及到图论中的Dominator理论。难点在于phi函数的插入。" +date: 2021-04-27T00:49:08+08:00 +lastmod: 2021-04-27T00:49:08+08:00 +draft: false +weight: 50 +images: ["how-to-construct-ssa.jpg"] +contributors: [] +--- + +## 简介 + +SSA中的每个变量仅被定义一次。SSA形式的代码极大地降低了定义使用链的可能数目。在传统的非SSA形式的代码中,如果有$D$处定义和$U$处使用,就可能有$D\times U$种可能的组合。因而SSA形式的代码有利于程序的优化和分析。 + +顺序执行的代码SSA形式较为简单。但程序会有分支和合并,通过在合并处插入$\phi$函数,就能解决带分支代码的SSA形式。$\phi$函数表示从进来的分支中选取某一个值作为新的值。如下面的代码: + +```c +if (p) + v = 1; +else + v = 2; +return v; +``` + +就会被转化成: + +```c +if (p) + v1 = 1; +else + v2 = 2; +v3 = phi(v1, v2); +return v3; +``` + +使用SSA形式中的一个分析例子是常量传播分析。常量传播分析是指分析哪些变量是常量,对于非SSA形式的分析,这较为困难。对于SSA形式,我们可以将那些使用常量定义的变量,将其所有出现的地方替换成常量,不断迭代直到到达不动点即可。 + +### 何处安放$\phi$函数 + +假设$V$在程序中只有一处赋值。那么$V$的值要么是程序开始处的$V_0$,要么是被赋值后的$V_1$(注:这里可能在原作者[^cytron1991efficiently]眼中所有的变量都是在程序入口处有定义的,见[控制流图(CFG)](#控制流图cfg))。假设$X$是给$V$赋值的基本块,那么对于$X$严格支配的基本块$Y$,它见到的值一定是$V_1$。如果控制流跑到了$Z$,而$Z$不被$X$严格支配,且$Z$是这个路径中的第一个,那么$Z$即可能从$X$看到$V_1$又可能从程序开始处看到$V_2$。$Z$被称为$X$的支配边界(dominance frontier),需要添加$\phi$函数。**因此总的来说,我们可以寻找到给$V$赋值的基本块的所有支配边界,它们就是需要插入$\phi$函数的地方。** + +使用支配边界进行SSA计算的这个想法也适用于计算**控制依赖**。**控制依赖**可以确定语句执行的条件。 + +## 控制流图(CFG) + +程序的语句可以被组织成基本块,控制流从基本块的第一个语句进入,到最后一条语句流出。CFG是一个有向图,其节点除了基本块外,还有Entry和Exit节点。Entry到程序的任何入口基本块会有一条边,程序的任何出口到基本块会有一条边。此外还有一条从Entry到Exit的边,原因之后解释。其他的边代表执行流的跳转。一个拥有多个后继的节点称为**分支**,一个拥有多个前驱的节点称为**合并**。每个节点在Entry节点都会有一个赋值,代表程序进入时它的值,这个赋值与其他赋值同等对待。 + +我们使用$p:X_0\xrightarrow{*}X_J$代表一般的路径(可空,长度$J$的路径包含$J+1$个节点和$J$个边),使用$p:X_0\xrightarrow{+}X_J$代表非空路径。 + +对于两个非空路径$p:X_0\xrightarrow{+}X_J$和$q:Y_0\xrightarrow{+}Y_K$,我们说它们**交汇**于节点$Z$如果: + +$$\begin{cases} +X_0\neq Y_0 \newline +X_J = Z = Y_K \newline +(X_j = Y_k) \Rightarrow (j = J \lor k = K) \newline +\end{cases}$$ + +直觉来说,就是$p$和$q$从不同的节点出发,然后没有在中间交于相同的节点,只是在最后交于$Z$,然后其中有的边可能包含循环$Z\xrightarrow{+}Z$的路径。 + +## 静态单一赋值形式(SSA) + +一个赋值语句$A$形如$LHS(A)\leftarrow RHS(A)$。其中$LHS$是一个互异的目标变量元组,而$RHS$是一个表达式元组,两个元组长度相等。语义上,$RHS$中的每一个表达式都赋值给了对应的$LHS$的目标变量。 + +将程序转换成SSA形式分为两步,首先,一些平凡的$\phi$函数被插入,形如$V\leftarrow\phi(V,V,\dots)$。第二步则是替换所有的$V$为新的变量$V_i$,这里被替换的$V$包括分支语句中出现的和赋值中出现的。因而,本文中,一个赋值可能是个普通赋值或者$\phi$赋值。 + +先前提到的$\phi$赋值有如下的形式$V\leftarrow\phi(R,S,\dots)$,其中$V,R,S,\dots$是变量,$\phi$赋值位于基本块的开始。右手边变量的个数应当与进入基本块的前驱数目相等,这里要求基本块的前驱以某种形式排序。如果控制流从第$j$个前驱流入,那么$V$的取值就是右手边第$j$个变量。 + +SSA形式可以被看作一个程序的性质,或者一个从不具备该性质的程序到具备的变换。作为变换,它要求新程序满足以下的性质,对于每一个原始程序的变量$V$: + +1. 如果$X\xrightarrow{+}Z$和$Y\xrightarrow{+}Z$交汇于节点$Z$,且$X$和$Y$包含了对$V$的赋值(原始程序中的),$\phi$赋值应当被插入到$Z$中(新程序); +2. 每一个对$V$的使用(包括$\phi$函数)都被替换为$V_i$,使程序成为静态单一赋值; +3. 沿着任何控制流路径,源程序中的$V$的取值于新程序中的$V_i$的取值必须一样。 + +**最小SSA形式**是指插入的$\phi$函数尽可能少。一些没有必要的$\phi$函数可能会影响程序的优化。另一种是**修剪的SSA形式**,它是指如果变量没有在交汇点$Z$中及之后使用,就删掉$\phi$语句。不过有时我们会需要在所有交汇的地方放置$\phi$函数,但本文的算法经过微小的改动就可以得到修剪的SSA形式。 + +### 其他的程序结构 + +对于数组,将数组元素视为变量会很不方便,因而可以引入两个函数$Access(A, i)$表示访问数组$A$的第$i$个元素,其返回值就是$A$的第$i$个元素的值,$Update(A, j, V)$表示修改数组$A$的第$j$个元素,将其值置为$V$,并返回新的数组$A$。所以对$A$某个元素的赋值相当于对整个数组$A$赋值。 + +结构体大体上可以看成是数组。 + +除此之外,可能存在到变量的隐式引用,比如全局变量被子过程的使用和改变、变量别名、解引用指针等等。对于语句$S$,3中类型的引用影响到了到SSA形式的转换: + +- $MustMod(S)$:一定被$S$修改的变量集合; +- $MayMod(S)$:可能被$S$修改的变量集合; +- $MayUse(s)$:在$S$执行之前的值可能被$S$用到的变量集合。 + +将$S$转化为赋值语句$A$时,$MayMod(S)$中的所有变量应当出现在$LHS(A)$中,$MayUse(S)\cup(MayMod(S)-MustMod(S))$的所有变量出现在$RHS(A)$中(这部分我不太理解)。 + +对于堆内存的访问,将堆内存视为一整个变量对于大多优化算法足够。如果我们不能获取到函数体,那就要假定所有的全局变量及参数引用的对象会被改变,而调用者的局部变量不应假定为会改变。当然更细致的堆内存模型和别名分析是很有帮助的。更细致的分析可以减少副作用以及减少$LHS$和$RHS$元组的长度。 + +### SSA算法概览 + +1. 从CFG中构造出支配边界映射; +2. 使用支配边界插入$\phi$函数; +3. 重命名变量。 + +## 支配 + +### 支配者树 + +**图论中的相关概念:** + +- **支配**:$x$支配$y \Leftrightarrow$ 从起始节点到$y$的每条路径都经过了$x$,记为$x\underline{\gg}y$;从定义来说$\forall x, x$支配$x$;这是一个偏序关系(满足自反、传递)。 +- **严格支配**:$x$严格支配$y \Leftrightarrow x$支配$y \land x \neq y$,记为$x\gg y$;如果$x$不严格支配$y$,则记为$x\rlap{\hspace{.6em}|}\gg y$。 +- **支配边界**:$y \in x$的支配边界$\Leftrightarrow x$支配了$y$的前驱节点,但$d$没有严格支配$y$;从定义来说$x$的支配边界可能包含$x$自己;直观理解支配边界就是支配从有到无的界线。 +- **立即支配者**:$x$是$y$的立即支配者$\Leftrightarrow x$严格支配$y$且$\forall z$严格支配$y$,$x$不严格支配$z$;我们会用idom来表示立即支配者;直观理解$y$的idom就是离$y$最接近的严格支配$y$的节点;一个节点的idom是唯一的。 +- **支配者树**:每个节点的立即支配者组成了一棵树(支配的偏序确保是有向无环的,idom的唯一进而确保是棵树)。 + +注意支配的概念是对于一个有**起始节点**的有向图的。 + +在CFG中,支配者树的根是Entry,除了Entry外,其他节点都有idom。支配者树可以在$O(E\alpha(E,N))$的时间内给出,甚至可以用更复杂的算法在$O(E)$时间内给出。由于$\alpha(E,N)$很小,我们假定支配者树是线性时间内求解的。 + +考虑下面的图: + +![](example-cfg.svg) + +其支配者树如下,其中节点$X$的标签为: +$$\begin{gather*}(DF_{up}(X))\newline X[DF_{local}(X)|DF(X)]\end{gather*}$$ + +![](example-dom-tree.svg) + +下文中,前驱$Pred$、后继$Succ$和路径这些名词是CFG上的,而父亲$Parent$、孩子$Children$、祖先、子孙这些名词是指支配者树的。关于支配者树的计算我将在稍后给出。 + +### 支配边界 + +首先我们给出支配边界$DF(X)$的形式化定义: + +$$DF(X) = \{Y|\exists P\in Pred(Y)(X\underline{\gg}P\land X\rlap{\hspace{.6em}|}\gg Y)\}$$ + +直接依据定义计算支配边界会具有很高的复杂度(二次复杂度)。为了以线性于$\sum_X |DF(X)|$的速度计算支配边界,我们对每个节点定义两个中间的集合$DF_{local}$和$DF_{up}$,使得: + +$$\begin{equation}DF(X)=DF_{local}(X)\cup\bigcup_{Z\in Children(X)}DF_{up}(Z)\end{equation}$$ + +对于任意节点$X$,一些$X$的后继可能会对$DF(X)$有贡献,这种贡献$DF_{local}(X)$被定义为: + +$$\begin{equation}DF_{local}(X)\stackrel{\text{def}}{=}\{Y\in Succ(X)|X\rlap{\hspace{.6em}|}\gg Y\}\end{equation}$$ + +对于任意非Entry的节点$Z$,$DF(Z)$中的一些节点或许会对$DF(idom(Z))$,这种贡献$DF_{up}=(Z)$被定义为: + +$$\begin{equation}DF_{up}(Z)\stackrel{\text{def}}{=}\{Y\in DF(Z)|idom(Z)\rlap{\hspace{.6em}|}\gg Y\}\end{equation}$$ + +**引理1:** 公式1是正确的。 + +**引理1证明:** 由于支配关系是自反的,所以公式2中,$X$支配自己,故而$DF_{local}(X)\subseteq DF(X)$。由于支配关系是传递的,所以公式3中的$Z$严格支配$Y$的前驱而$X=idom(Z)$,故而$DF_{up}(X)\subseteq DF(X)$。类似的,我们可以证明$X$的支配边界在其前驱为$X$的情况下在$DF_{local}(X)$中,否则在$DF_{up}(X)$中。 + +**引理2:** 对于任意节点$X$, +$$DF_{local}(X)=\{Y\in Succ(X)|idom(Y)\neq X\}$$ + +**引理3:** 对于任意节点$X$和它的任意孩子$Z$(支配树上的), + +$$\begin{equation}DF_{up}(Z)=\{Y\in DF(Z)|idom(Y)\neq X\}\end{equation}$$ + +**引理3证明:** 推导公式4可以推导出公式3较为复杂。使用反证法。 + +于是就有了下方计算$DF(X)$的算法: + +1. 自底向上遍历支配者树上的每个节点$X$: + 1. $DF(X)\leftarrow\emptyset$ + 2. 对于每个$Y\in Succ(X)$: + 1. 如果$idom(Y)\neq X$,则$DF(X)\leftarrow DF(X)\cup\{Y\}$(计算$DF_{local}(X)$) + 3. 对于每个$Z\in Children(X)$: + 1. 对于每个$Y\in DF(Z)$: + 1. 如果$idom(Y)\neq X$,则$DF(X)\leftarrow DF(X)\cup\{Y\}$(计算$DF_{up}(X)$) + +$DF_{local}(X)$总的计算时间为$O(|E|)$($E$为CFG的边集),$DF_{up}(X)$总的计算时间正比于所有$DF$的大小和,最坏情况为$O(|N|^2)$($N$为CFG的顶点集),但通常而言,$DF_{up}(X)$的计算时间是线性的。 + +### 支配边界与合并的关系 + +对于CFG上的节点集合$S$,$J(S)$是它们的合并节点$Z$,也就是存在两个非空的CFG路径,从$S$中不同的两点出发,交汇在$Z$。而$J^+(S)$被定义为下列序列的极限(其实是闭包): +$$\begin{cases} +J_1=J(S)\newline +J_{i+1}=J(S\cup J_i) +\end{cases}$$ +特别的,如果$S$是某变量$V$的赋值节点集合,$J^+(S)$是$V$的$\phi$函数节点集合。 + +同时,我们定义节点集合上的$DF$: +$$DF(S)=\bigcup_{x\in S}DF(X)$$ +同样就可以定义$DF^+(S)$为下列序列的极限: +$$\begin{cases} +DF_1=DF(S)\newline +DF_{i+1}=DF(S\cup DF_i) +\end{cases}$$ +这里只是给出一个定义,并不是最快的计算方法。 + +如果$S$是某变量$V$的赋值节点集合,我们会证明(这个定理依赖于$V$的定义在Entry): +$$J^+(S)=DF^+(S)$$ + +**引理4:** 对任意CFG中非空路径$p:X\xrightarrow{+}Z$,存在路径上的一个节点$X'\in\{X\}\cup DF^+(\{X\})$支配$Z$。除非$X$支配$p$的每个节点,$X'\in DF^{+}({X})$。 + +**引理5:** 对CFG中两个不同的节点$X,Y$,若有非空路径$p:X\xrightarrow{+}Z$和$q:Y\xrightarrow{+}Z$交汇于$Z$。那么$Z\in DF^+(\{X\})\cup DF^+(\{Y\})$。 + +**引理5证明:** 假设$X'$和$Y'$分别是引理4中$p$和$q$存在的节点。$X'$在$q$上时,即$X'=Z$,只需要考虑$Z=X$的情况,此时$Z\in DF(X)\subseteq DF^+(X)$。同理$Y'$在$p$上也成立。如果$X'$不在$q$上且$Y'$不在$p$上,则可以推导出$X'$和$Y'$支配$Z$,进而推导出$X'$支配$Y'$或$Y'$支配$X'$,与交汇定义矛盾(存在中间交点)。 + +**引理6:** 对于任意CFG节点集合$S$,$J(S)\subseteq DF^+(S)$。 + +**引理7:** 对于任意包含$Entry$的CFG节点集合$S$,$DF(S)\subseteq J(S)$。 + +**定理:** 对于任意包含$Entry$的CFG节点集合$S$,$DF^+(S)=J^+(S)$。 + +## 构造最小SSA形式 + +### 使用支配边界寻找ϕ函数需要的地方 + +接下来给出放置平凡$\phi$函数的算法,它需要用到以下3个数据结构: + +- $Worklist: Queue\langle CFGNode\rangle$ +- $Visited: Map\langle CFGNode,bool\rangle$ +- $Placed: Map\langle CFGNode,bool\rangle$ + +算法如下: + +1. 对于每个变量$V$: + 1. $Worklist\leftarrow V$的所有赋值节点 + 2. $Visited\leftarrow$全$false$ + 3. $Placed\leftarrow$全$false$ + 4. 如果$Worklist.empty()$为假 + 1. $X\leftarrow Worklist.pop()$ + 2. 对每个$Y\in DF(X)$,如果$Placed[Y]$为假 + 1. $Placed[Y]\leftarrow true$ + 2. 在$Y$处放置$\langle V\leftarrow\phi(V,\dots,V)\rangle$ + 3. 如果$Visited[Y]$为假 + 1. $Visited[Y]\leftarrow true$ + 2. $Worklist.push(Y)$ + +这个算法的复杂度为$O(\sum_X(A_{tot}(X)\times |DF(X)|))$。这里$A_{tot}$是总的赋值数目(包括$\phi$),一般情况下,这个算法线性于$A_{tot}(X)$。 + +### 重命名 + +我们给出一个递归函数$Search(X: CFGNode)$,它有唯一的参数$X$是一个CFG节点。此外还有以下的“全局变量”作为上下文: + +- $Stacks: Map\langle Variable, Stack\langle Integer\rangle\rangle$ +- $Counters: Map\langle Variable, Integer\rangle$ + +首先: + +1. $Stacks\leftarrow$全为空栈 +2. $Counters\leftarrow$全为0 +3. 调用$Search(Entry)$ + +$Search(X: CFGNode)$实现如下: + +1. 对于每个$A: Statement\in X$: + 1. 如果$A$是个普通赋值: + 1. 对每个$V: Variable\in RHS(A)$ + 1. 使用$V_i$替换$V$,其中$i$是$Stacks[V].top()$ + 2. 对每个$V: Variable\in LHS(A)$: + 1. 使用$V_i$替换$V$,其中$i$是$Counters[V]$ + 2. $Stacks[V].push(Counters[V])$ + 3. $Counters[V]+=1$ +2. 对于每个$Y: CFGNode \in Succ(X)$: + 1. $j\leftarrow$基本块$X$到$Y$的边的序号 + 2. 对每个$F:\phi$函数$\in Y$: + 1. 使用$V_i$替换$RHS(F)$的第$j$个操作数,其中$i$是$Stacks[V].top()$ +3. 对于每个$Y: CFGNode \in Children(X)$: + 1. 调用$Search(Y)$ +4. 对于每个$A: Statement in X$ + 1. 对每个$V: Variable\in oldLHS(A)$: + 1. $Stacks[V].pop()$ + + + +## 控制依赖的构建 + +控制依赖是反向控制流图的支配边界。类似地我们定义反向支配和立即反向支配者等概念。 + +一个CFG节点$Y$被认为是**控制依赖**于$X$,如果满足下面两条: + +1. 存在一个非空路径$p:X\xrightarrow{+}Y$,使得$Y$反向支配$X$之后的$p$上所有节点。 +2. $Y$没有严格反向支配$X$。 + +这等价于$X$的某条出边使得$Y$一定被执行,但也存在一些从$X$出发的路径$Y$不被执行。 + +$X,Y$是CFG节点,那么$Y$控制依赖于$X$,当且仅当在RCFG中$X\in DF(Y)$。因而计算$CD: MultiMap\langle CFGNode, CFGNode\rangle$控制依赖算法如下: + +1. 对每个CFG节点$Y$: + 1. 对每个$X\in RDF(Y)$: + 1. $CD.put(X, Y)$ + +通过添加$Entry\rightarrow Exit$的边,控制依赖的根将成为$Entry$。 + + + +[^cytron1991efficiently]: Cytron, R., Ferrante, J., Rosen, B. K., Wegman, M. N., & Zadeck, F. K. (1991). Efficiently computing static single assignment form and the control dependence graph. *ACM Transactions on Programming Languages and Systems (TOPLAS)*, 13(4), 451-490. +[^lengauer1979fast]: Lengauer, T., & Tarjan, R. E. (1979). A fast algorithm for finding dominators in a flowgraph. *ACM Transactions on Programming Languages and Systems (TOPLAS)*, 1(1), 121-141. + + diff --git a/content/blog/say-hello-to-doks/index.md b/content/blog/say-hello-to-doks/index.md deleted file mode 100644 index e9c3185..0000000 --- a/content/blog/say-hello-to-doks/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: "Say hello to Doks 👋" -description: "Introducing Doks, a Hugo theme helping you build modern documentation websites that are secure, fast, and SEO-ready — by default." -lead: "Introducing Doks, a Hugo theme helping you build modern documentation websites that are secure, fast, and SEO-ready — by default." -date: 2020-11-04T09:19:42+01:00 -lastmod: 2020-11-04T09:19:42+01:00 -draft: false -weight: 50 -images: ["say-hello-to-doks.png"] -contributors: ["Henk Verlinde"] ---- diff --git a/content/blog/say-hello-to-doks/say-hello-to-doks.png b/content/blog/say-hello-to-doks/say-hello-to-doks.png deleted file mode 100644 index 70d8c78611ae4033c26e2d795b2f959133ec6cb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8211 zcmeHMX;f3mwyq!u<}x{eb{GV&4ay*hq96@UpwgHiG7kc+jR-*oF)|5>b2Hmb3xW(H z^OP_cf{bZVkp@JCBoYV#5rKpxOd*&Ma!-8k{=M(d`*DAewX*i9vretrwQKM1`>HDO z9O|?Z903OaDA}K}Jr95!^eBT<*a(@8z~-*;sPvD=!{}-ub!zyD!6u(g zS!do~eO}z~V;C_pb6?BL3m(Vi{}?zPpYo@2S)=o?HP^naOQ5OOvkTkW-`jd%qJ!Xo z7}8z*mR423or*~ih>ot#Gqs>`f$9wQh}7z20tKo4OZJ%5DChwh$Q(0;sY;u-H{qm4 z^(>Hu49;IhN7|I#3Sf}YdA#0rJxuE%{TjPm;AJ5a&PseJ6IcjwW7P zCUs!Cy1F1a&?!yd$Jvh_J@OT_#4KKx2jrU`GKx~J|IfOhcP|-`eHd+VB#pnjMS`LN zo+AnxVoU-d0(oSl8B;YpG&J*dyz_wyqdQ39CKe%=o}SiRG%>-Qn+sp!0T7<2fCI;h zpBxTL3nhgyxl}4OK_r+MP>l``f6w9Z(r@bkPz?EpLzmq4XB;|o=+wY1f^Qq*9$Bz6 zOJxH%hJZM@sWI4oVR?CZTF}=XEvM7;BrF+(;teI0r&$N3=~AK z%#H7nRgUr64?u4QBx2^W=Yw9C!k|t%ko?IlDuwyAM(>B;hTL;Q{{aS!D#T(jcV)VKX1}4KVbQrL(YrkE*S;r=>Xd(uQK@c%HL(a9 z8xMyZ_3#q$Mlo?=%o`b%z@zLNzNRKM0cG`f{K2{GNJYd|BS1HZ;JUlv@KcjsI0Ml*XW9HkDU=6>Oadv~-YE=mtfZADz z%Er8^Ru0c}w-dKDDQ|}XT!6H&X`=@>&wVI54dsf_0jTd&k)v#N#vSiL*{6Gt0g#z3 z4Wg4B*`45vscFBq%M<_yX*sOeYAK#ClO;8g+PSv=(1%jBIhUPf;&+JA@tH}_^1G3I z4IMB^dZKFSSKu254ac{GvJYFaiQG(_<&c&s?u^l4662wP8HGL49^cXuIfWu!J3eP+ zY59Y3kj;@JLeAoIZdg+3TU?L1|GqSRP6rkVd@ji3L9>1tg%3uPugMl1_FWT9}3DNZE5X#c%}>z)x~E;j!MDU`v| zwz>JKrlzJZ#FJ-nma^!k*pj4M`;5N4d}H8}UMjY#jK(ra-gw?I=lk2)R{b;jaU|LHpPZ`NXieQvhH42D+7wFrfbR~@_#Ny4)g zcjpYps2ine*aC!~K;JPxB|#oM-Y#`ZQ$Do}#>_WUcMYkWbKe@fXwh4=%f&b{VRa>f zGz)nVrvE9cPGRMNJ>V7S8Xb!A~`ITO#c|2)*H_fF{1s9<5gI!vbr=Z|PUp?zdG_(t8l zXbQ-xxeykG-zq99DlKVKdniOHQS-4qjgrxor%5@_yo>E8{NnvGf-O}i=f<8|9kJ2Q z6Z({iGKE~WCCl`2rdWqPFA|Bg0QsDB^?zuNm^eiM9)%npRuXqOF?LNH#cS^LOPEnc zog5@|tO$|w6F0-WZ6uGbr7?vBKT#aKcKA*Bul7D#u@D@wSmd&P7K zfdI#xeDy5H7Hv6l34;R`X;|~kL$v6fuXOSDJ^bkT&#$kT)$>)i1DxGvX}sQ>aa?b) zcBy?7ZhW2OQzMUhzOs5QDf#A*s)iYX?)Q;-WkAF*R08cqOL2aDwT9Jk?k}=kCxP6&2NzmzVdU z``twyP@5vnyvXY6>Vu4qWm?Ny&izD^L@QhvHhZ-beYSzeI2a7C&lD?bNq*+^)6C>n zD(L!kr3k}~)c%;fd`0m7!S|{pz9}J`&XOg!5B#FmvM)KYA$)KSK|)-buFhThDKE;6 z^=dLmu%p_ZoTE^^!=qyZF#4ZrrtZb}EQ47MkZux_?-`VslI%tIisSS}=7eUJDbma} z9ObBmx&S2alJZ|6<|qk%Doc*|NDlcSuPnfmQ!M}?^Iy6%UTl0DA)8ClHR6vN{+gp8 z3)JnP1h6=XF3-NsYiejM7^tUZ?j>m)P{!5F*P%x80`FF%oqKKt*6ofC`DwF9&mApw znSXO`61JuXC6KovMkyrcvf>~{bN0~aYKW=YOO{vB?mZ|=WxC1r*=bcniE>m%2ap4U zUtCUxpKMUXEy5#>35)C$$MG8UGKa)Ggp{Ec8YR;m!l=5nx4$NDH_2631ikm9Y?BB- zThntuv`@l`d&X(i>-0h`i%lnhM{xhE9N7@3h(`YPubzkpWC)?MXE$5$#7Zz6+a8+M zO8Lw4>?OY#KFgIL;-_9wyZd#&+@~#wbOcH<)M+z^&!!>MD@w@8X_wXF(TH$*1zDKC zz3%xBpvhOd+|E(lk?cLMT*xd9Y+71cb34>MItoJ+#6NfpG@)5$o^(-<*z-1q)lzUH zCfs;Kq|0)&ogHwZjrdqc z4FNCeWY7>hJX2rOuNWVM>?fA@JME8DHxRli;@fn}E?o2}C{cz7eQS3|CCj%E`y~*hC{ftXH^V|D%q2+KqGAj8t73ynni27?la##9J$N0QA z^MuSh>5{m>z`#lc5A4n`gtA2h!t{TIi+X5H^{V<>aBxUYt@EwmkJj^}=BNQ=izYu( zLqnr)0Gp8?ZdE~dk09v&iE0Un(v;X>Z`!?{>MwA_h#!nvZ3a(OAi(?0#i=~=8uhvd z@)~DtWnyrg;G&AQT$zYeyX*DreN05~7NScd{&X@;X=_M>i~a`EY@s_X@DJx)la}^| z)-|YF79g!sTg=i)fk>i_=lA>N)-1ZJ{FOoNgqpa)yb?VH!=IPU)6S{A)?=g-maRfA zEciG_C+GNAO*UZ6!jWTq@jmvshwxlXo^V=2z>?5J<#WRbTX)3E@!bx8!+=l~Qg7k@gXZ>#I_}|7bS;lh=z4BM!V8pu>38L_#rzwINHibVRFiauX#2vv zmtr>BOj-DJ=gu9cv(*C3!u~UqSDw~^$WF?ll zLBTeHmEQ5cjtlrSzy1I?KC|iFXaCY3^D3!b+yDpXcCzekdA^EN?< ze@^QCX|?u*mGK9m4P75Ucvc3yF|TNRYb{`19}h^w2K=;tXh9nt6jm_V#?OV=KWe`t zzqx;nPf!N_XQXAxNzD@3M9=yE633*-ddM}|oxSb46rzMqK2IydBwj;{O!b|59=ofqMt82KW2D% zxXtlPO~*Z9%MPK{%9@Br7$M37d?{1Brh;9Kk_V>pYW_DMBC@L>yNhbH))soMbhFJI zTPeh5tYmH4KdF7Zk^sk=IR4X}bJPNTRJ`O&5V`t4S?06n{%p^PFDaF0V?+r&%#lTC z3m2I1@fwG?(vMw>T-pl!wIPu65B<6sING4DQkL8pC={w$P)52lFzwpmXD8ix3EScr z3<@Rmyjoi@wgp~r@@_|6%tkW&dVj&uFnBRW$xG!z#S}r+qb?$6hc`Ce{DK89ej^M> z;nVQhZTGy8mRQ6yR-iaau0o^iC|h8r{M7t{+xX&_ORLxao(&naz0Ba|`bvhQxIVFx zi2>gD*um?{TD}m^OPP!;YtW3Zu1-l9UETdM;Yd6j)GD@51Ax0stQH#N<|=|QXp;#2 z){ni{kNDTGGuCf?)^E7}j|0E|{xiuM{V$HXG=%^F diff --git a/content/contact/index.md b/content/contact/index.md index 795089f..be23a79 100644 --- a/content/contact/index.md +++ b/content/contact/index.md @@ -7,4 +7,4 @@ draft: true images: [] --- -{{< email user="hello" domain="getdoks.org" >}} +{{< email user="me" domain="szp.io" >}} diff --git a/content/contributors/_index.md b/content/contributors/_index.md index e225f34..9438475 100644 --- a/content/contributors/_index.md +++ b/content/contributors/_index.md @@ -1,10 +1,8 @@ --- -title: "Contributors" -description: "The Doks contributors." +title: "作者" +description: "作者" date: 2020-10-06T08:50:29+00:00 lastmod: 2020-10-06T08:50:29+00:00 draft: false images: [] --- - -The Doks contributors. diff --git a/content/contributors/henk-verlinde/_index.md b/content/contributors/henk-verlinde/_index.md deleted file mode 100644 index f775534..0000000 --- a/content/contributors/henk-verlinde/_index.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: "Henk Verlinde" -description: "Creator of Hyas." -date: 2020-10-06T08:50:45+00:00 -lastmod: 2020-10-06T08:50:45+00:00 -draft: false -images: [] ---- - -Creator of Hyas. - -[@HenkVerlinde](https://twitter.com/henkverlinde) diff --git a/content/contributors/szp/_index.md b/content/contributors/szp/_index.md new file mode 100644 index 0000000..957601d --- /dev/null +++ b/content/contributors/szp/_index.md @@ -0,0 +1,8 @@ +--- +title: "孙子平" +description: "一个有理想的技术宅" +date: 2020-10-06T08:50:45+00:00 +lastmod: 2021-04-25T02:57:20+08:00 +draft: false +images: [] +--- diff --git a/content/docs/_index.md b/content/docs/_index.md index f807c65..84f1099 100644 --- a/content/docs/_index.md +++ b/content/docs/_index.md @@ -1,9 +1,11 @@ --- -title : "Docs" -description: "Docs Doks." +title : "文档" +description: "Tilly的实现和使用" lead: "" date: 2020-10-06T08:48:23+00:00 lastmod: 2020-10-06T08:48:23+00:00 draft: false images: [] --- + +Tilly的实现和使用 diff --git a/content/docs/help/_index.md b/content/docs/help/_index.md deleted file mode 100644 index bc503ec..0000000 --- a/content/docs/help/_index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: "Help" -description: "Help Doks." -lead: "" -date: 2020-10-06T08:49:15+00:00 -lastmod: 2020-10-06T08:49:15+00:00 -draft: false -images: [] ---- diff --git a/content/docs/help/faq.md b/content/docs/help/faq.md deleted file mode 100644 index 826586b..0000000 --- a/content/docs/help/faq.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "FAQ" -description: "Answers to frequently asked questions." -lead: "Answers to frequently asked questions." -date: 2020-10-06T08:49:31+00:00 -lastmod: 2020-10-06T08:49:31+00:00 -draft: false -images: [] -menu: - docs: - parent: "help" -weight: 630 -toc: true ---- - -## Hyas? - -Doks is a [Hyas theme](https://gethyas.com/themes/) build by the creator of Hyas. - -## Footer notice? - -Please keep it in place. - -## Keyboard shortcuts for search? - -- focus: `/` -- select: `↓` and `↑` -- open: `Enter` -- close: `Esc` - -## Other documentation? - -- [Netlify](https://docs.netlify.com/) -- [Hugo](https://gohugo.io/documentation/) - -## Can I get support? - -Create a topic: - -- [Netlify Community](https://community.netlify.com/) -- [Hugo Forums](https://discourse.gohugo.io/) -- [Doks Discussions](https://github.com/h-enk/doks/discussions) - -## Contact the creator? - -Send `h-enk` a message: - -- [Netlify Community](https://community.netlify.com/) -- [Hugo Forums](https://discourse.gohugo.io/) -- [Doks Discussions](https://github.com/h-enk/doks/discussions) diff --git a/content/docs/help/how-to-update.md b/content/docs/help/how-to-update.md deleted file mode 100644 index 43cb1f4..0000000 --- a/content/docs/help/how-to-update.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: "How to Update" -description: "Regularly update the installed npm packages to keep your Doks website stable, usable, and secure." -lead: "Regularly update the installed npm packages to keep your Doks website stable, usable, and secure." -date: 2020-11-12T13:26:54+01:00 -lastmod: 2020-11-12T13:26:54+01:00 -draft: false -images: [] -menu: - docs: - parent: "help" -weight: 610 -toc: true ---- - -{{< alert icon="💡" text="Learn more about semantic versioning and advanced range syntax." >}} - -## Check for outdated packages - -The [`npm outdated`](https://docs.npmjs.com/cli/v7/commands/npm-outdated) command will check the registry to see if any (or, specific) installed packages are currently outdated: - -```bash -npm outdated [[<@scope>/] ...] -``` - -## Update packages - -The [`npm update`](https://docs.npmjs.com/cli/v7/commands/npm-update) command will update all the packages listed to the latest version (specified by the tag config), respecting semver: - -```bash -npm update [...] -``` diff --git a/content/docs/help/troubleshooting.md b/content/docs/help/troubleshooting.md deleted file mode 100644 index 0d52dbb..0000000 --- a/content/docs/help/troubleshooting.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: "Troubleshooting" -description: "Solutions to common problems." -lead: "Solutions to common problems." -date: 2020-11-12T15:22:20+01:00 -lastmod: 2020-11-12T15:22:20+01:00 -draft: false -images: [] -menu: - docs: - parent: "help" -weight: 620 -toc: true ---- - -## Problems updating npm packages - -Delete the `./node_modules` folder, and run again: - -```bash -npm install -``` - -## Problems with cache - -Delete the temporary directories: - -```bash -npm run clean -``` diff --git a/content/docs/prologue/_index.md b/content/docs/prologue/_index.md deleted file mode 100644 index c3c1c40..0000000 --- a/content/docs/prologue/_index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title : "Prologue" -description: "Prologue Doks." -lead: "" -date: 2020-10-06T08:48:45+00:00 -lastmod: 2020-10-06T08:48:45+00:00 -draft: false -images: [] ---- diff --git a/content/docs/prologue/commands.md b/content/docs/prologue/commands.md deleted file mode 100644 index b7922ee..0000000 --- a/content/docs/prologue/commands.md +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: "Commands" -description: "Doks comes with commands for common tasks." -lead: "Doks comes with commands for common tasks." -date: 2020-10-13T15:21:01+02:00 -lastmod: 2020-10-13T15:21:01+02:00 -draft: false -images: [] -menu: - docs: - parent: "prologue" -weight: 130 -toc: true ---- - -{{< alert icon="💡" text="You can change the commands in the scripts section of `./package.json`." >}} - -## create - -Create new content for your site: - -{{< btn-copy text="npm run create" >}} - -```bash -npm run create [path] [flags] -``` - -See also the Hugo docs: [hugo new](https://gohugo.io/commands/hugo_new/). - -## lint - -Check scripts, styles, and markdown for errors: - -{{< btn-copy text="npm run lint" >}} - -```bash -npm run lint -``` - -### scripts - -Check scripts for errors: - -{{< btn-copy text="npm run lint:scripts" >}} - -```bash -npm run lint:scripts [-- --fix] -``` - -### styles - -Check styles for errors: - -{{< btn-copy text="npm run lint:styles" >}} - -```bash -npm run lint:styles [-- --fix] -``` - -### markdown - -Check markdown for errors: - -{{< btn-copy text="npm run lint:markdown" >}} - -```bash -npm run lint:markdown [-- --fix] -``` - -## clean - -Delete temporary directories: - -{{< btn-copy text="npm run clean" >}} - -```bash -npm run clean -``` - -## start - -Start local development server: - -{{< btn-copy text="npm run start" >}} - -```bash -npm run start -``` - -## build - -Build production website: - -{{< btn-copy text="npm run build" >}} - -```bash -npm run build -``` - -### functions - -Build Lambda functions: - -{{< btn-copy text="npm run build:functions" >}} - -```bash -npm run build:functions -``` - -### preview - -Build production website including draft and future content: - -{{< btn-copy text="npm run build:preview" >}} - -```bash -npm run build:preview -``` diff --git a/content/docs/prologue/introduction.md b/content/docs/prologue/introduction.md deleted file mode 100644 index e1a62de..0000000 --- a/content/docs/prologue/introduction.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: "Introduction" -description: "Doks is a Hugo theme helping you build modern documentation websites that are secure, fast, and SEO-ready — by default." -lead: "Doks is a Hugo theme helping you build modern documentation websites that are secure, fast, and SEO-ready — by default." -date: 2020-10-06T08:48:57+00:00 -lastmod: 2020-10-06T08:48:57+00:00 -draft: false -images: [] -menu: - docs: - parent: "prologue" -weight: 100 -toc: true ---- - -## Get started - -There are two main ways to get started with Doks: - -### Tutorial - -{{< alert icon="👉" text="The Tutorial is intended for novice to intermediate users." >}} - -Step-by-step instructions on how to start a new Doks project. [Tutorial →](https://getdoks.org/tutorial/introduction/) - -### Quick Start - -{{< alert icon="👉" text="The Quick Start is intended for intermediate to advanced users." >}} - -One page summary of how to start a new Doks project. [Quick Start →]({{< relref "quick-start" >}}) - -## Go further - -Recipes, Reference Guides, Extensions, and Showcase. - -### Recipes - -Get instructions on how to accomplish common tasks with Doks. [Recipes →](https://getdoks.org/docs/recipes/project-configuration/) - -### Reference Guides - -Learn how to customize Doks to fully make it your own. [Reference Guides →](https://getdoks.org/docs/reference-guides/security/) - -### Extensions - -Get instructions on how to add even more to Doks. [Extensions →](https://getdoks.org/docs/extensions/breadcrumb-navigation/) - -### Showcase - -See what others have build with Doks. [Showcase →](https://getdoks.org/showcase/electric-blocks/) - -## Contributing - -Find out how to contribute to Doks. [Contributing →](https://getdoks.org/docs/contributing/how-to-contribute/) - -## Help - -Get help on Doks. [Help →]({{< relref "how-to-update" >}}) diff --git a/content/docs/prologue/quick-start.md b/content/docs/prologue/quick-start.md deleted file mode 100644 index 89e1032..0000000 --- a/content/docs/prologue/quick-start.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: "Quick Start" -description: "One page summary of how to start a new Doks project." -lead: "One page summary of how to start a new Doks project." -date: 2020-11-16T13:59:39+01:00 -lastmod: 2020-11-16T13:59:39+01:00 -draft: false -images: [] -menu: - docs: - parent: "prologue" -weight: 110 -toc: true ---- - -## Requirements - -Doks uses npm to centralize dependency management, making it [easy to update]({{< relref "how-to-update" >}}) resources, build tooling, plugins, and build scripts: - -- Download and install [Node.js](https://nodejs.org/) (it includes npm) for your platform. - -## Start a new Doks project - -Create a new site, change directories, install dependencies, and start development server. - -### Create a new site - -Doks is available as a child theme, and a starter theme: - -- Use the Doks child theme, if you do __not__ plan to customize a lot, and/or need future Doks updates. -- Use the Doks starter theme, if you plan to customize a lot, and/or do __not__ need future Doks updates. - -Not quite sure? Use the Doks child theme. - -#### Doks child theme - -{{< btn-copy text="git clone https://github.com/h-enk/doks-child-theme.git my-doks-site" >}} - -```bash -git clone https://github.com/h-enk/doks-child-theme.git my-doks-site -``` - -#### Doks starter theme - -{{< btn-copy text="git clone https://github.com/h-enk/doks.git my-doks-site" >}} - -```bash -git clone https://github.com/h-enk/doks.git my-doks-site -``` - -### Change directories - -{{< btn-copy text="cd my-doks-site" >}} - -```bash -cd my-doks-site -``` - -### Install dependencies - -{{< btn-copy text="npm install" >}} - -```bash -npm install -``` - -### Start development server - -{{< btn-copy text="npm run start" >}} - -```bash -npm run start -``` - -Doks will start the Hugo development webserver accessible by default at `http://localhost:1313`. Saved changes will live reload in the browser. - -## Other commands - -Doks comes with commands for common tasks. [Commands →]({{< relref "commands" >}}) diff --git a/content/privacy-policy/index.md b/content/privacy-policy/index.md deleted file mode 100644 index 6315024..0000000 --- a/content/privacy-policy/index.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: "Privacy Policy" -description: "We do not use cookies and we do not collect any personal data." -date: 2020-08-27T19:23:18+02:00 -lastmod: 2020-08-27T19:23:18+02:00 -draft: true -images: [] ---- - -__TLDR__: We do not use cookies and we do not collect any personal data. - -## Website visitors - -- No personal information is collected. -- No information is stored in the browser. -- No information is shared with, sent to or sold to third-parties. -- No information is shared with advertising companies. -- No information is mined and harvested for personal and behavioral trends. -- No information is monetized. - -### Information we collect and what we use it for - -We run [Plausible](https://plausible.io/) analytics on getdoks.org. The following information is collected: - -- __Page URL__. We track the page URL of each page view on this website. We use this to understand which pages have been viewed and how many times a particular page has been viewed. For example: _https://getdoks.org/_. -- __HTTP Referrer__. We use the referrer string to understand the number of visitors referred to this website from links on other sites. For example: _https://github.com/_. -- __Browser__. We use this to understand what browsers people use when visiting this website. This is derived from the User-Agent HTTP header. The full User-Agent is discarded. For example: _Chrome_. -- __Operating system__. We use this to understand what operating systems people use when visiting this website. We only use the brand of the operating system and don’t include the version number or any other details. This is derived from the User-Agent HTTP header. The full User-Agent is discarded. For example: _GNU/Linux_. -- __Device type__. We use this to understand what devices people use when visiting this website. This is derived from window.innerWidth. The actual width of the browser in pixels is discarded. For example: _Desktop_. -- __Visitor Country__. We look up the visitor’s country using the IP address. We do not track anything more granular than the country of origin and the IP address of the visitor is discarded. We never store IP addresses in our database or logs. For example: _Canada_. - -## Contact us - -[Contact us]({{< relref "contact/index.md" >}}) if you have any questions. - -Effective Date: _27th August 2020_ diff --git a/images/favicon.xcf b/images/favicon.xcf new file mode 100644 index 0000000000000000000000000000000000000000..85b6e8b240188e1945e1b734b1c412492ca82ac6 GIT binary patch literal 8134 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 literal 0 HcmV?d00001 diff --git a/images/logo-tilly.svg b/images/logo-tilly.svg new file mode 100644 index 0000000..5c370ef --- /dev/null +++ b/images/logo-tilly.svg @@ -0,0 +1,75 @@ + + + + + + image/svg+xml + + + + + + + Angle Brackets + A line styled icon from Orion Icon Library. + + + diff --git a/images/screenshot.png b/images/screenshot.png deleted file mode 100644 index 5849cbbb3ed1d7c67ef2ed4e45eeae4854f4030b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124825 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 U6-avM+{xA?KFf*~i0J$LFAUK3MF0Q* diff --git a/images/tilly.svg b/images/tilly.svg new file mode 100644 index 0000000..53028d6 --- /dev/null +++ b/images/tilly.svg @@ -0,0 +1,99 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + Tilly + + + diff --git a/images/tn.png b/images/tn.png deleted file mode 100644 index e51da8eea1b4e40cf3ada868ef49181fcbef3279..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139888 zcmeFYRahKRv+qqpf?IHx;7)LdKnOtwcXxMp2pT*{a2VVjg2M!NcMtCF401Z}-sgMv zcXgg~e=cB#)jd7ER#(-k|F4R01vyDnBtj$@7#LKkZ(o#PU|@q`VBTsVzyTxty>!dK z3!=j}O=lPww4Q%IZ+a)~_-zyt^tW76+73rBFyt^&Up}jNWE`)$XJGF< z|G5}XWL9q$7@G8k|A2vw(;1pwj31q5@k9V(3SYJ0{2VQ0#Hv_x$3j<37x;smB>xVr z|EB9#dpk4771Y?>+`Nh$F%#OMU-iY#{nj(fb7{oA)MeVA31PIwQFA$U$AhqY5@H*oWC%v9aH{s zxDU5sn9v%FIv%oV6Rbh<1saB9yFTDwu62^PV0%jEbo{#cOxeM!R$kR}xNZktc-wOX zZ@$|17>{#;brSbSrUqIU>9-8c(R4hmEU+*0t%)5km=S(9x(oYnXy_FQQDL%$4ZoZUxPYEucBd-F@` zbNct+*Bcq9dFTUcaeE*An=C@2ypKd8dMx?k6Nx>zM;K!meXoHs$2VhZ_!H!0{dOmBItPiZVRGs|ejSsyUT4H;WKz3P#Flq&ZSFH;OZh6^$xt+E+`wMkFY2s(qt^-z zH}i-F{rXYkEjs=V%H_y`^_rF%^{I$igK|5jRuTHiGfFN3#xf&$p$n&efBU-{ibG?wUM^4P_R&p?(e;fnYXm5 zR3t23U(mtS9M=GcM;AXXi)4XK@2Fe#Zf9O@HJq=x`uS<2z#33VNNjY1Mmp88yGG3A z;?|_z8}H05D5F}JNBFUbM89l#+}*^>O*D9+hmcXmMu5x`tYO>RV&bz_2Tgl!&wIu? zWLkScyiyk0>d(S5%3NvIjos0-epQ04kS%vYm37X z>XN-D{~o!02`_5a=NfY1-{%*rD>XUT*?bZ0C(rb!rkbbW7O96HYz%8Z4m0U;f~sLd zJ62=EgiP#76O4BuRJLDRGtP`Xb6+bh77^2STz+zW{P3qz{Jj98fB^MNJEf`jL?5o( zJLeiQs-*QAv>FoI_j{PXmyFSGwu+U?fNx5vyodATg#;wPZa7OK;zkw?GN|D+5}3ZlufCn|yWm$V?-@T9w63Tl z;T0%lXgDG{yN)3(pE(Wu&7Wy3OM9(k{y<_&P-4%qrgIYo?y12btByG(De7BdNYiH$ zjgYTHj5dM)dHc0o?e%vg;j#gLU;Spv4=lp9PmmrbwathAtEgQv-KuZ&Mnq^FTDDd` zLB*ni7-g#5(6a?N3Q_~w7?EK`dnALUf@)~C5&sfxgJInX!YSWz8WkQ*;aXe^o0ePo(7J|8Zzxh5A~W&%dL_Am)O;+V>RbfQQp!e zCpGE|5}4MQOk|AJ&KhVL4w#2&&p!7A6RNTXQ>`SMqR`TjLar)>g8eX;j6bIH#ALRo%3LX^Y&j|IAB z$c#&2zdTO(-qtQOIaekbvp5{P(7PE@u(KSW{vZh!IGSI?jUoTokcPD2YN#349@n!z zFFlS{YIH=D2{|qw2_~`Ks}8;IMD)I``_na9c=3&UZBN!*bbq08Q2_a3=cJi@$?gJ% zJ*~lr<~nG}w`J|IZocyr=64YzQ@{J~P`|FbTeN!PB9RUb*>Vb!tqDc_m>PTP?X7)q z46I>XbDo=buX-oiPh!_XDke2+q3~o@Hw79}1HK{q-o0ZD-=6+t%(Iv=x0nLkamNc0 zV@6{zf)fhgUTH5>Ack97@Xucz^fEc`-lc&_ab`(AiZv0E6I1vOw|4%ye!i{Qw6abA z{-gHOd#9IFUcb$gy^IS#hMv^@bSaONq2_g5s_h^1cR}A*`19WH88B>`w~*XQO$=%|pHp`THUx_v{}2s!Z34rz5H1 zMPcca9n7h4{{;L$45)>+{(7`S<-h#Jdn=!@yx|uXd49pA*U7cdv>H6ger@wT9BjRn zYkPJT$Jx_)^}_u9s?3-oeIMp*O7bwD?$%zWb{Eu+&xl&2SXPONv~m0g^;dx%$;|X4 z;;XF1k;a7Tx->6Qb>}JW8H7{e=}}t6+|RODWPTp^My+IvNi~!8sOrP;MVOMjFYR?d z|B;IR<;``!7flWSw7Zztg*~RfmOpd`LSL*6UlXuKs&!GRA3Goxe!xA0cr;ww@#%v= zQ0a_*G%EF(4V8KK0=TEa!j-3**Gl1t~-gYYJ?>Nb{H z@_|_3?Ar~A?dM?DCU5}?fp>IU71I`n$g1{0pr-^?1}!Ezjk;?6;Bl$zp}6K zQf0SS9|RLTeGK~+(f0Tr1bd`njf^B_3n4%o`p=*qx7 zqVi6uded8b%Q+Q{A%;K!{35QH5!Z$J_wL`HVWIDW|7#p!@|%<>-G2{9C;p#@55iht z{(bZZG7(LvVeKAXDI!HrPJXr}LkrDbQViTw1aP#+u!{|Z(k&YJnWAT7w2KV|Wm<6N z{Rimx|6Ct9%E^rQJ_JMZUF1Lpb&L-t2GW1s*%wOcH#z@($DB%+3aO#Nu!+BtJ}4v% z3|R$gi<$q|X+4U&#YoOfl(HZYD%Z=v>(dL&>rq8z&Wh)X%Z_D+>(-VH(|T2};A2Rc zMvW1H0AsYcE+$1VFF!p}L@sglHWx@z`A*nZVs_gyNQ^iKTjKLP*NPpUT_bX`jHD`2 zzlYv$HBFe89o=>!O`Pws9GVj> zrV9o3UT+&Sma1mgXwBZyvoaPYN_W9S{WKXz3PaZGEX3&zr+X46V~k@(vPdhG(40Qs zmfIX*?y{@}u;#}nu7>9nq0mfMh`ORxwSUUms`5=^e54{fG(w{2QIwd~Y2svKn!rW~ z5j%$L@zWJsrR1*oe6##o=Q3X<%qga*YBhvJkJ@7SYxUiB2{5NmDykCGoJh!#3r(Jk zoeDo1Y_%p!#Jyc~X^GLuYHMfTy|r2G2rAS}t+$x7ffSJ;z%{?t6lv7?!S-JtN_
    |EIwId-q2JN8TT=bnI!A|g(mwx(RsyspxJ$)@sVu{!flwVJZyGNwE&dZP%QRjqg& zkgveE3ZgF5TfAijF_`uI(Mx1X>Dx{%^DsG{t)I}PqNd)Oi&^_l3D|64sbz2}l19A+ zf%Xsz|FvM~=k}#+LxYp#Yz2vVYYl#Lnrp$Zy4X=Fi_-@yblrKng>z&P9ImZP#^(_ z4u9WDPzH=oM=+lG1T#X5-u#4^F`x@^X1Uj%?W8FS5Eo~>GQLzx7ft*1SNIE)L`CcP zKJc2^y}~BDD53jdFb88u@<~iippc1xGP}I$P@e?~Ym9F1j?rSaGrm_KhRJg3iuZmb z=02WRw`hqe4fud&td&j25JA{1JHn14i>w0p0|jwARUblFr;-9T4v6d1p^!}Rmn+y| zP6VP0Hnt=^CV6j9khm&S*H@~5XdSCkgJ9H=XRJviirc{4FMV5$>*EGHX|6h)yTmOn zhd(MyuyK>w57N)>O}b1fJ2u^$R!{e#is*vfZ1~U#UR-AFuTXAVhgKIkQm3akgN&?@ z04sm4(R8y)O_xH))yBk;xe9OfP=RmA-b#Ab}PylArQtOkW-Dw67(2W@pOY_P`5RV>r0 zj@qElhbLn$(0d}FXX2YS^Y7`PvkMez#2F?iA>VZl?x3o9{2BtG;NY)?B+ONpJ%KP z95~xYl#Q;sSX$6~CNkuX=LoRcUi?%kI_>qK7|6Q&Pi4hjjfoh78lU6R%V z&c}~(r@zJmzlI7vXC=osnW*z<$h7$_wFgyn9|sWQkQU$n9-+Mf=To%o~^Bi$BEz$dn9w}Ltx=dV?TeNtwzpG<0jvn)nnL0_Cj}cFVlty29Zq`(+xW1m$v!)JHZmm&U4_L%l z;+UPxp>E^4m_P5Go%@=Kun-WN4NmQceruSl(o8|Ov#qAF zru105ga8Eu3M&o}mb)~v9R5N~733x0Fff6Dy9r%anKMchC({2Vd?&=uWtghj6Mc+t z3;!}{%yhC)jEO^(yqP&~oIu*6U#W0p| zqBApTl)xPPb#DeE(m$iGi+RU_f%8BxMX^2p!E@}R^wVb)dFwGkS4`&ih<71k#P3Q= zt1XAs*g2*Srb=Kt74R9ol7ul(;xe`iyc=2mZCuJ>Xnb_0NblaZUA*+K_^g60)*Dcf z{WZTTIu5=WW(C3tOD6xOQ!}9s4I@VacSY@DgYVuO#{P}Jbf^f{$`0PjpAn6ff~+)T zeZ7gdXjt;L=#$SEMj@0HHlO5Qpr&iSr;c7|f-&0gR5=GMI^QvAI?fTuI4V4@>UQ3=>aZW98|)7zR_gz8FH>&1dVox= z!aC4=_h0K*7pcg1AB$~*>W>Mjqr)1Y7zA6>SuP@3FS|W~#XWsc!mS&uO zCs%-U_vv(UfYblIvWh2r35M9rFgv0q;j=s>p!~RCMDG&0s!FS~7?~x%&Yr%GTg72$ zv1oE>$b4#>Z^UZ)`-fF8OxdA#(*`e_I5v#LqHe06T7RoO`Hd)CuN3&yR|hDM3CEtM z(!76|H3&rrWoBQx+09i>yP6IjWLiv=?5D_7h#D|0k+8;Nw>CyK&+`9pqU`g;W{BAg zr?OjRbl4>*$9pH}#iOht=!?W*R`KOXXYiQ$^Vdu$(UQmWwz`%IUb*qjEqiE`U?f_J zRDRiCom(f=IQ^GDQdPgp#G2c)a!d0M}oZIu5<6 zlLi=~JHg1Te@FZVeV*s?bUcT*Y{mt@Psfg~=`#ilp9qGSf7)sVmmKh?;3g`?&t$3H z&P$n?n=9xkNq=q*E38|}lGTV}2G7i9l++Dy}g z)3*Pw9!QhZoiDU7mjS7TfV^siyhIgxADh>>?*nl-a+*P6q0S?oBT~CfN>9 z@`!*V0tgoO83_qMbrx|+QB~FW@@_nEE(7G$)CrZV%khO}*$4GD%c0lxX7zTd(PqKN z@V#_M+q>8k`NsB-4bqfC?bNVdzbOZ8m1-%;+D&;L-AAanxPrFeUHa*U%^w;twOmd? zRY@gOMLb2`t+@4vzHjl+j)q$JL~0$Bg+p_5N(r@&9q%FtUwM#93orEB5XBK{;0sMB z8(bM9WQOUOSbDc&z|@iLPDbW(r+}l?2|t8Lc(jwo$H&81tkzQV=-<(jdOmt)5xw$< zNc3W3<6eN(*Ec)+!4%j?C(3?!8Q$EGa*e_3)H*_)-8$9|qvaT4IlhCx8Pq~5F-rk# zb2Y=xJQs_R;}>fyx)$^x0>Mp}DV;ZBh3^YP2x8m|MR@~C0!mBh=%8LA(c18!E@v`z^NTMNl|kr*`f=YLxT4i-dTe7QqN5fo%V7c4Ke z)AX5yF7xjF@Rb!zP=UVB=hPzlASjvm*$6QWC_@|r0k^_*b9?7rObV*U0th6elC&7j zj%az2`(T12nKus2E7^1=oTFW3MU&1G3UXvVD4EOdRLiP;U9+Co1a5HVD2IW#zCt0U zsrZIL7(XX->A5`97d1%5X1lge>GBzDj5KLBs^8$djxA~8a@sFuTxM!79Kg$xmCc>~ z!3&5|8%4meH8i%wN2oI!HT!1&dHj|D+jeb$MPxq-oZ0+-dvC|k>}Kbcg+Q)14V(%Y z4YQh4I7JR9HF|GdeE#rBQGp3d-}F6KpW<`22nAZ2!$P)mm>ZBf4CdPxZdM`wb!Q#@ z1h2o&>>1AG*&i}7xmUKEvL@7gTFTgTLU!joPPuh&IVQ+7oV#>pK2%Sz;xjMw1Wm9H0#^0>Zgy&tqTCof4`Ss~HvVK8Vn{GIJSaCBHNt{qqQc@;2 ziT9nNe)5}^X?yyku~I_VDazpA@eo@-Hn4rE{Su3pBgmnCIvjQ9=z-=w?q=q*~{t0en5De8_yL(i5*ug8TAv(&?8Vx9_JS>xOEP=qi&4_J6egW@0l*F2v%H?VL$JBv6Cdy4&B#>;aY`dvDn z&MB32aI+eodE3jny2#8f>-wYP7UT3z;un59ao0H|@V%~3sMu?b&itB0Oe5PaS_rd9)0=Du}y;Yjk3z!P=S}u>^J?Fk5}^S7Jq7>#y4oz z5w6+VcjOG(F9fix1Tu!dLOxt#A&5IAm|Y*Nr5on;IV^J}Ptjav5RAk}Kkd~>dbn-c zTv~C~I|R%epXxZSt~Z~Be#p0Zjfpd6F_PNF8F{i2eAW?YhNdwR+&%D*K@Oz!p7&CH zZnkv=?_YGpN(iVvWLK-~)TWbeHn)CFsF#;yV}3h}lL!qAM#V~|P2EkkbWK81!>zMb zCm2j!tRIz=zxP!fbBpi+G~#a>Mj^BC&nDzJ+%Des|1Bk6g6cvMJZPh{%X2( znc3v9C3BFKKg?=^2_&+b)15ZtmtpPlZ(0t`AO%E`m+GjweqzZ|#h6A*Zbo76ANC_3 z1U+v`pnAMOw0j%U1s7_`?ZeuVyE%nZ>Xxja^nr@2jsT>r8w^qyg^>v9o%x$15m`ue zz_208CDCiDajL>TB~)A*Y7~l?%3!CyjS15IM9<8Uo7) zJy3tpWdA^X@K&wPXiW#Va!ERTJl{3BBg1tm+@y%~xBBL(h#3x<5PQ;DnYZKcZ{uq2 z*MWQaWXD0>JIAld0O;fgo-UOi7x}x7XIIL3lE8QK4@9CJ<>P4! zJIREG00(XHn^_gYUu<)Md1i)B7NwRlOx{G6*O|_>2dg5~*aP@&{&%ove?60mgyBnW z!9Ukss!o8}34jlVnKmCYJMNC1Y?m>ILqC>xyE3y`XbaJF#+#rL$}}fy1~=H=J%?Wx zT3(Jxf-fJo>1~#3f2CKprx8^(BL!I7wIl zV2#u{9sB|B<$E1`J^xHErq~a0v$MBiz19Y4jx?X3Pme@ z_Djnz;_&!e^K^g?S>Lk$_=5Lc^rtr&iDdlzFzjm+R={iP3ys&^e&=fAYLosIzs`Rl zV`3UA4xa$T|J@5fjx9zkXLNTki^oDd5HK;Qt_zZOx_mQg++E0wU--G|bQMOU-i40< zG<7i7JpE?$&Vk}Tu-7r=Cm>uM^LaJi-d7-&_-S-A5#o z>xgI5tr-S^$PjQm=MB%j2~LhHjAVe`^mM9esrB_#6)NZ{h8J4G1dCC4-RzI;*NurP zCW`Bb0p*l0fG5NlMC7vh?gA|X=NxUMJQ2Bnt4ear8!Leb>41n3f|2{7w77h;0$s## z^fB6F)efe#w5<8?F4^gHfCJs}0D$R4%_b_uia=>&F)qPdbgJ@Fwa#+50XF{j`?gcF zL+eUY?yGaFPSdKLifU*h#^$++CN9peU+;oC#dQ<&;!8_CR^m>+J1_rr8uWyr_@c|s z@q=>cmV{6C$qVVV>4XND*U5anNZL6yP<*J&6gZuCLFbfERG1xj{rIZ3sN##bOdAs)?#B80bVRKGrDe(m{Z0izlq0j*ge_hNp| zYm2w0XVIVaK2tdFvi5L}KC|mZS1><=on>SFNpeG@q3giIj?^f7`+=clybi$?*n%?l3&f789edRahG zTKrlKbhBNa$g{@#nkAf}EGPKJ{hFPb;>*fPNM!R%L+e6ZUF3E?mD~0$!@(D*sj@fASyJtZ2f|Y1M{*FPc0aN*rA*mf^yo!5FWohzPwOO!q2v z0AcH~Q*lQy^QsXF%mF-Ie*NIF8IrtM?TOs(ruz4{s=41S8`(}zth(!K6Yee5T zjppHf$nn5p@Awt&`2n8(Cl67PO2{M97{2f^d7{P-%Kk)4k)P>c`GjlEe@Tbi#+B;T zto!=a@~6DPkpbQr2|+rb7$n4u+DQAOgY2zXH=9GNZWH08rW!@h3ndVUbGNs5b4nP1 zuMvFSEQ|6tBi2lXHo*Q{CAOQeR4Q6pMGciNi>IsgBX%`lX{H#r($Y=0R>#&=4P5-M zDP;ax!<(jzO;4N1&0B>>gBDZU3V6!IArUgti_O+}NJw-S!*H!`hhL znqMTsk5>u{^D$6DJr1H97l8*^MEZa?n$9ist^ilE&NDK}Vg4B%3n_GhGg^UH*2)U$ z401^pbFg}qo%mT1yAN_hO6DgVmze(z3#qQ|gYM$IevU2u z=<8%d@#(O7+c{tw*6DyRL2>b?_cI0pTuJ$*VQO4J{?b_y4Mws1V&oXvXak9W=j$}$ z{WDjSYvzZ&s7=6+zRnYkvxFPszYF{vm_uHuc^9vkTsaRlU>xQ|3=x|_dq(O0(?tbT z8?!NyDPqi`&2Moe+v4Ndo!oYEt>T8GSL}FHRaFIVz{v-z?Tjb6@@mUOp@x?$_wy+n z{vV|DSTXqOlob^}%gL?1p@;A~g#eMz}#dfBH(?Z@lGK~(>jEeb7IM@}W|_qy|+KvK`lVZq;C_k`e|M z-A34!&_IF!z===WueklZUz%+e>Qj%8aZ&c?@#HDJ5tPH+Y@4=rAqIpr5r<7fFz>5V zxShF&)hp!?;>B~=gj(Hqjz1LTSrg)ho8y9p^S$TCZr8;SY8rvmMKY=_@GVlVIf8MU z9;-}p)n@Pf`o<*mbnVFf43v5cOXkD<0W^QSUK}B&O8#d|w-xQ%LvP$Ln`|vR$NgyY z-e1RgUkh;{&aH!90GjCu+b z>k8dyvwbU}c=fu}I+AJD>%bRzPP_*I3;(GR+w?J24Ldg}UE>LWa*q^Kon&RSOldWCm?QI+w+{MxK={#>d_PZ@*#$iUr!C^)NNjbEav~T1I@flxQ8*D8y zGeKHQRr5jX`r>TZR4<9J!+uTD+ukBF>XkH*>K{?poN%`Sp;1xy{4+D}5Z=M^g5$I4 ze#U3mG`idQy|JFR&mY=@&DK=I1x%vAQf;?Gz01$ZW_>NH{n@Ot_4(}HXZChSue8)C z6_>+oeB+RjCGVh0kYK)+>E9k)YbzkpOHCIMXsT&qYBJHR46oH-vG$kR(>t%WHX@@< z&~5j)c3Dt}IU4O`X{rHK=HZ)pz9z?^k15Vd0UI zS_?KkYJh|k9^48ghZ;138$H%XwF#z8xZVJw9bs8LI?WvZ{iYhy^x_t!{EnPrNkvC`-0#nyRYuSqf@;a-I^@NIw&|EACX^ zZB&1Dv_wpAJT-uhWnyFF7^dRtRV9y+2uuL7Xz90Q^swryU0_uUzZWD;j2xr*#(_G- zfbE;3CB0oTvg+)&@Y}e@$KI?VP5n$63B5clLpz(c?fitP3rxLnFjyW<3BYoXX^YN#%1T;h>l5~x*(FGJ zv0-+Z0*)_yl)SIUasT>0s^(nP^+?G;DLvct%7dfhw8SxjRASRAT8$&SxmS|TJ7=sE z99#bAD9KFvgTN^dhI2L%5i&q{Pnir8vq*~=E|@O2#5G4F>+3ZhE0C`uMJ>G9pB}#g zs=4`8k}SWVN*PAexpvU;^m|nOn`Y32(SIw; z@qhnNgu1tdnDEW@S~XdQ)?A$wu)~~#?C&=(a|lGTua?|k`Ij^a2vgC}9wjliLgF{@ zlq+gg|7d`pZ?naSXOy6=N9JEE`J_sX-hBG?Prkc0fEgi#bWL){zB{*Tj9go7b)HO_ zj1qjF2{sVmfdmkpJ<%TV*w(P7qrMZr-d_sA1AF9;p=~drrZ+wIEtgc@E*j6NpX}Y? z#cXue_{(cFxIyP<-tieu!07qjA~x)8pARIAf3ly%44mYkjAMiqjN*eboi;tNa@sFp zceCAZrrUd7wZ|@0dzNi&5F&x<*qbhEW$vfR{PfShlNVV*zyx)EW>Y-Mnr$|G!unh} z4hw$8d6kw;D|SGo9G_r5@9R{q=kr!eTWm*|3Ls1XkM3yq zaySSv#uvIA3I5B8kK{PLer9;P@{pfTrL21*zd(QMAvlr>`N`3*BTbHxt(`0v<-hB= zRBxqOq~Eg!R&UMt9nuXaGLkmBm(T$;2J8SEf9`iT7aI$P!NEadZ&@-w4liu;SYF>) zfy4Fj`|uic5wm%)A%2q%3#tFPo*bDMyS?xICwt#>#O8EtSTaxM#kPe6OB2%s`~grNIDn#s1S~j_YvJ)AJlrlgCIiByH``_2^$CSStS( z?IjWtU?lioO}q!l13A^LPPOEFI zrSd2-@mG!C7ES037DlBeByO({(#NA*q^ykf=frW|vqFNGxbN)lYV|r*7R;AE9frD7 zsco07zrNH&JfUVxUa4Sthj`pJJnh(KFC@s_&p6_^PPP36-g~K3l)#y0^B{01V_# zXK%~ z6LeGW)=fj|d&pP#%o|z#q3@(}87_`P#&4HZuPfs{aw?lA(%p(9BQ2P%NzN?}U0Dqtm}#dST5mn}np)8GJb6w%KfUM0aj59xJXa$*C^x z@ynJy;h;>yX*QxDM%ubzKRnSoBy60J^1~!s$K`)WfG*Z5*p&!3* z;KBZ#036TjBl~l7^EVt0s&;*t1Ta*m@$RjGZ}R3nmfeRSMq)IMmx{Z8igJ*ZuII!p zuY@ont%(HjU66{3>cwL#8JpuJc4g}!`ijfRtXq~G*LRqZUg~$S7XcHTAh+$~&B>yy zt*gQHpBWj64ka#Z_?u-V({%L9qt@fXV_o`57qRf91=UR{`T6<5e3dqLc0d=Eko547 z2apmF`Ka%WW#|CaZ@!MlTW_nkZv^eoOSM`dA=OMkuOpXC63gB+D-FkOj5fY&UsmH8 z07cQB*Ag(i4c#T)1I2RJz_J?G?w!NBZsS#$3`;4`33!indl$0a4XB=PAdr;Cy2cVqBT@3O(NdJ=yC8}c7CaW; zv(s5Xj9!d~y^i*SeZx^N))9+iJr|#rAzPZ)vFR%xq<-A2!{&`NI zzl=R<^F7ib-V3(V-0$>O)rCzQv8LN zkVcXO8-7#<1t&AMDp04|ayqze(rYrI=UMxdgqP*fw8rhwd>!m6BO^mi%NiR7_DOOj z;?A|^2XYAAd91+L`Wcm>pWh?x&~85b!X@TRI|m1nx38>H461TNI5(jb(%Ak-4+hW%XSYW$qW|4X=n6>8xC@Vc&A;MhznGU$BuVH&K3192|9mn|9VV(R>oOX5VC+#zK z(xS9HPZ{eB9DhS~3{^9dSHAl5H7}=(gxKaF9D*V6g<;n54_kc~R(V#}R3Lr#W zTyOMzPHZ3VPP#3NGTQom0MfZv)>q5qqDzT^@P#zIO5$ydjK8xm^PR(BOlj$TX<6#a zv<+}Sd-+&!39D@c=?!+qotyf{PH%v0afp%O-tIB>U#j2kH+B3yF)K-0DITwGt~*>s zqW4T*5UbW%o#jqYFhWo)AN#ggq{k%Up201p`viT4vh!Q}TH$*(2ZgcuQ zo*#<#=L(d?mH??t>Tyipk;R``Ka&{Tg81$&exa0>6+=rU7Q#CqZcWq=EM|#&HmFW> za@()Ufyf7bcEaxa%j!E_U8M@yQ*;_ku%uU7z6<&c?Ayr6r<*`0>|~ucPs7=W;n-6M z;&ac@O*JKLm?tvsEFwarv@}r6D*~tqj^(7mU@gt+eeSwZ zxa}A1z#+0SAX5N^0DB@JHFsw4Nj2p#ncW!#;6Tx z7mqHg%~s)dnRUAC`=j7Kn(F||2J^mZUc7cIya5AZ|LGsEZbIy3d9SMa;;~o&Bu9~e z{t};eRfF$o#guoX0n!HpIUVd~R6X!MPR6 zByC*IlEIOnz(-QlJ?THYQ`S_y5osrK+^ZDq6TZeDRr4k0kyTO;dd6=xOKZD z-Stdxw@1U-Z=Ora%QuVou8NDxWj&~+B}{REU8@`ms?BOL7G4X9~le=9seqrpkFOGvJ!e!0mxqZLf@kx#1784Uybf3NIa|F8>`zufOm1#k8t_zSFlUvK2qpR&yLynbES zcfj`q+M@65;P~7>Bxm?^{SD3xdn_&`^i;|+0{$fi{*Tdf;VAJuglsQU_in((Hb)`F z*z0cl0{(QT>E(H%{+q$W@%_A~-_wyBDTXKQ4)FZxmUaC!1Wo#OoFopLZl|qq5JEQP z5jdF>06CKqB9jy!k10ZFlS1>AcjV`1SbV=rDVLL#aDX!X>l*`_-XkovChLlSrp0%a za#?#mjJgxt{aFa6m6dxmV@N3Uk(73F+U!JzfC1L$bh>E%={k7JGVNDq0|_6K#uG9J zP+4JRR3p7kP8X0Ed(wE?h>vW#8`HK(`vpjn-2$Gq-HScFhO^&6`_I8Fc7WR^yQi<_+DL3(#Z{2}#!_X4aq zru!1?0@>aDvJm>^bcW|`yM08ikru_A?TW=~hjvlSliP^re%e<6Z`oFxM z!2PuyRhXQXhM3zTbu|!r_DHk`=D>8nMmfM+_vsfx7fHgvK5U6>>-q?k1xY`>$uay| z8S${S1KB#`c?~fGrN6BKGI97(6Y5h<^tsb+Dg~+0rAZSASgWcy5&E=X{%Itjhv85YTIi{53;3D(c#W&`1+E z$Ki(|ZPp)U^mX}UITAMJgc6ab9+ErZKc}lWZs`mWZzH-=yF=Mezk6HE7jgmpB><>f zfu8dQ<|uTvH#B=bs6d|);Z-^^g@Xu0o@J$_m0ScR=4`hQiZ0KE+^M4qhFP0`LP>oC z>DT2OS^YuMm$i<=+``}|RDVeGhRk#bFY$kngLZ>mQMrwKmoGd(d7Ydv{aZF`U(L@1 zx5|ny;hsiDP7c~JzU}MgFJd4|e16xv)*C}k$E~2=8>pe6rs=9VuQ#WwjRJU5aYeUT7OSpPw;z)yU5c& zSl^KW`B@tgao%-y;WcPIpX7atKmHUVlXAC+_u*|0?!-cZJ_aX_752^8j@#8>^7`MK zhpu#@pzJ?xV~ggOJ>qu>%iOd+&!Bm|!G3+8(L4@tUTF)BPExm>dAEG}z1tvrWs3(G9-V;nzp^wY@({1MYOzvOd`<^-!3f*EayPrl7Mpx6XvuMg$YHHqV zsZRfhjNW-^rTKyogb{V((t_4s|qcT4l!ND4Vx8IEu++e%$56KzIivo@PVA z+Pqiw(=b5~kx4%@62E9!NtfLnw#1YV=y>m#X3RkB@7>F0hj8$8|Lp0Ho7;E3oQJ9= znGP{9l$2KT(Y)(|Lj@^+)}41XB76@STvs0ml#mHB=61222$tUiN_l_Rq_946A2r6b zhC)VsGx_|z>%wn``vQAqnh)b^Q1*#XmK63}E+_HyH?E-Qc73Rn`L0BNrelRg?<(Ob zFK-WK6OhLQk^`SZ1h4iWMzR?e^B@SPs|KGSNGgjRco!P((WO8;KPmT zD7VB%ZjA)CTXbaxx46$+0Zx?Zr9}}yMmW`J{8WOuKiGOHvhVGq!Ayz|+E<@q96Li2 z-&4l?{c@3x+hKN`CwD#YLJ~BX0)P{GSs2MYFDck7Tk@wg)SIKw2sO!LXsJTIpV>HV zsd8eO9Dv__wZOSzO)k+M&~yUdFic> z9w*a{fyC#YB0RC;TQNmE#i}g|78X|L6Oo@Cq~*_lu>QdrXYg;Kp8&I9zg3K8z1&hU zy$JdQ1^$*%8N#9pu1@89f)b@JX=5QLU;1mZIA6rtU`wUX~+9k#f4n5o?09v*~Zx|~y(+*pr=B)QyXc-EOUi6*iHRA9*_m7;H^w6+Z zjWtaBrs~`;vPfziX7)ebygpCiuT?W%KE2YZ|G|u2AV8MK{sd*7wUQ`to`p_|2>EAt zWH*y%pw3~2F+M&K_O+G*&pCjCR@HH)UJY!34CM8odVGTRL%qkr!T=;A<0S?$@iBtp zp7V3hb@XqBH$kR`xUln!J2ncG*ISEwoUlSGDcD;^uZUm$R0ZUc@Pekc^|I zt;#N(z*7ib^Fml`@i7ZDr9+iJidl#XzWDbf9QMFYZF*`c3&4+_V#U+|0KGaOYKn-# zHl19DM8-@Ke^i5p1Q=yW>Gqo_Q%WAx)uuI`BiC(1Bl$e2JM)N@9fP^$JM&auCP87r z0vT1xrIZxRgm}m7Ch~2)_EE9m`(`1MI@DS^B_*Z7s#e#=XI`BJp}3~AXRD^IQrbh{ zNsv97rJF1W)wG?3${t`YIICBzZ%>zbe}5PD=EXb0L)%Y|BUez;3LiYNaebZ6&do(P z^Wk$;!Z6dIWH`?je4Hs9KV|%i9NcX8&4$EzM36X{g-aMWP#^c9l`850jMhu`%bq$c z^f(ot1KdUfUSZT~sI$14zche_%4^);YuF17J`YEQAplOiU=2C`kz%JHQ6%geuj~_U z8>i(dN>&yXQEO{NI0pwbBSjVVzcYVRQ!EP$$zwBO(H!VSpAkQTTdX*>8f>D!*XLN^ z^R>DNE!>&j z&uBLOOrqtZJJq%(T17n_FGGoO=2)v>OwmK9Ix}lpLK|fQjQL?+&kk|C5e94=pqBz^fw)Io^M~%2k_crSn z7qzlGcEpcm<3DUcAMCK}QdZMB43rc;$f!t4$&fNKUTX&T3aOfkfBWUS!_BrXcgo1y z#i-RN;l1IalV?>Vt6n}|eDbs3nv#`|NQEbvRgpP`nt{e-?fpUvH^^-dd4hz>s;s$*L!l9f|Z%0?2&HA&SDw`gKKRDLbeGiEq z+_T&zF;pye;VvmJ{ZbJtd9eP=XLfd8+&T>M?SmN-cjQFHV-axna9q6KY+xqF2Xbam z_KO-gFv})|KQ?{)F*0J`ytd_L&6IGoQp8Dxa=2o+WR~TNzt-vu$GzHU7^kA5BckHs z5?GbfZ&+B~mflM2PHt^GpA17 zI&^qaP;Z@-;^jKu)6>?;{VvYt&C?gQi8sNYqyexF!jtoPaone_vb;G9b{=={IEZ9T zM^?v!#nj!|ERn4nOo-MTR;(DNq54`xVITV`#{V>PlqKv5l$*}X+u(ZMco^VvQ|#@b zL8usmBI-IaYir@TMTeu^i=QEJpJOA>5-V*gA^;MDKkJ={z;{_xMuxr=d(6k&?c31E zce6!}qM2rq;B42&YAZ+MJ08OOz-yLNVXH#outzS(#VPD@IV>^L+YqP6{ni3=V2>67 zgaDYjuqSfbC1X)tLY-_aJ}-yn{e6H5(eQNKDTo71zibzY@;m*G;r^UfbOA*ZIeDDY z@+6)2_Hl+fY_*(FBeA5SEPN^z*j0rmnAlkLx_Zbkq?Ta?lH^-KKaE_ioX*;uaeep1 zC<@{ek|h2__FJ0l6pm{P_&UyBkUwAT{ zxh&>UXkU^KJ%DqfF-6Ma0ubPy2S#@1yf7`!=%uGg&p0kYn zen~gV;v!2$L1E%-h3TDJTgrV}HuKZ=a9mn4H7+q#*wq#L1>Xluu8~_>7{px!0#;d= z)QJ83La;z8(#1lFkL_%j475c5LJ-DPKcQp=?092uMDgPuuJ?TAl)>9KvKEmN;Hx2Svj6bLSDaXz)b zTs}@63P9#_|3WO|HJhBCZXJh?!6mOvxPDs-k zvmaEQuC^0oZII}q{NgXe5BqX687+_}qiTA|RQ&svw-a^`D?zB6?AA|a2H2)N#)enG zX;-d_z_8GLRW-z-GROW1ehU#vEo2j=w>h$VM<6`%V#~ylO+tuXA#$iL{*Df?t@JC6 zuqbk=6F48GO)>VxH_*u9m;1buv5Dy6%BFpJR;|($RdfQ@cTq)SO}>7m)xy#an2tyY zIQdyfI*hKnk+T5dzo{<#2{>FbQ|JzEe zBg}iJjc_g|fK~%%B5p95dS|bDye)3AW%is5R-kMy(Y^gtr6-N{SbL$w#(!Dl=z>itapUesCT(sc91P@Utb?8369&M6Ipgi-#5bXFQg>2 z-ZyK8=RS`PmX?+^D>jQ~_xhcX@u7~N^9Y1M%d@+?@_+9|8vhvJCXW^NUi%27;>e!_x1=v{&-r3 zs9U}8P>0Rxr7vIva>{A-5$fZrLt+{yp31_h*cV2XX7Hgb1-vqP8=nZ6ahR$d zQW4H-$(^!`U7R)s2xa9{65pOB(0G;NK&j(a(SyD0NxFRrNfBa5P`Sj1LyAo7!M0Eb zq5*!kFREi=(b#kK_29d4x02FQwdeBFh8v7%LtQnf(9{Klq3#YM9f1FP|CJ~TR< zjB>z#{*Y(;<_SP!F`@V<@-?DO6|J0W3O7bF;J%Y5^j2z_yOK zDv9|(r>kN?FS4{$VFB4GW@=>$f(&y1rQYV?sc6dn(J;pU8#<;XC4YP&UY1qUzQNXRZIP-0SIQXTkZ&ii@Jd)|5xm!&RJTeDr4@c@wvWMGCE z_1JDz6xBB{5HzSE!tlq>?~Ofg0uOs4ZwWVRa`0e-u4~UR*r&v~S1{3-+wGfq)G{d} zPT5@80+4jLXw6(_z64*{dHq-QrnY(2w&8qHa$}vZ_X2Prjf|YmVKm_d9m}T~ijaV# z9WY>99&0h@6q-L{2WDHfw?YC3Sz2AsOdi(3_QtBcO!6v`Wej+utkJJD+sjVD>0-db z$I)}b095IVX}etDcEFcL1`T5(wiQr!3z9=5Om=8=J&^@9a&zK4GWB%pGiMN_SR(im zTshP@kByqV4rKNIN~e>WY|vR)kRJ0q11g-`Z>)-@uDZA!}5el~ zVBWV}y*>cGe%aANkz1XWjVdjdM#^~l7KLPPc`jtqAjVsT(F-piR1KZFGKtV-g@s7Zs&vOOsJnnY*67 zVZ6TCryoD=Fuc<=?YzckXgr81dgMq;P=dXeh)u9}mMxp>Id6YzyV+{{Z;;_zd%dMR|c&#$1Nq%x!AhvBk;jip)fmGYz_NTRL$uPjtok*sw zJcupIG@5H6snMty4-|@CkZ9$wN%meDC!NU)Ks;OtUTv_sWWVOD(WC>Uc9{}czEQQ; zLoxUDE-qu~e8In^)btyPR*S7t#VvoZe0<5keXCG=u)RH7qotb?nWA#G>-H@ac!g|z zz!vpc0E}Q#T(nKW-9=3uPXqz3~!R!*6g;Mm@vsf)gK^U{G-Bm#|Ub2yVdtYDvQZpTGb z{>MWM_Aq8XC^QG{MNVnk; z>4O9fRseq36yd${gVjJ5kI`WEFV(Lz6GV+tmEv-j?n* zG4&}@)mxh`N!OjfY=K02o``N`%uOn(rYQSoY;Ul=V`oP`Ih8_nRSdhp+Ym5aPaZee z#BB!?AtK3vkKX_r^5xGFB`CD?7$5kZO56>TWDFe1ECw_C6>Zl8JdYoP?>YIF`}+G? zJa@Uu)!RABOW0GSLxIH=k(=BjBnO=2O6(H^ z{PD!}pE`e$?VNT898OoTrg7LIz}nSm(s_fQ)BvE>{xu;fE;bPxv3&ck7643ieP3-< zD^`Azcd!47_Sktvk^CXO`$R>&7l$BDw8sf=Sfh^Xw9YlA_a{*B^Uq;pVFk=KK~YC#vwCIPIRk(wI^JB-syeQaUr;bfrC3fl-y#++jPy77+wT9~7$l+kZ$|(8 zXLQ;4v!ZocZxqpVNpWiD{te)H zVhJic(vMiPsIp59X2g?5`^&kit^qMd9L~sta`pQM_WF8vpN>n3jr^0tmhNVeiKwru z;3~4wYXexJDQBYSK`Bj37L+wFoTLZ~j~UkUkx}(_+mGQ%esbE@(nE++1BM)R7AG9O z%WcqgOA+{gn?kpH7}}>TXB}xV?pJ(Y+Y3lZ?G2FD9#FQZ$t`tXQ8e zX?3MHSKXLOBbtKXvNq(}M}JEygoHY<&7Ai45B#lHk^qvf(cb6})k^*$wKYBm44$rM z!X73RR`c)Q6(sR$=<_GO&Ev9O6Jpb8jwB&qqm$r-lS``8V>bY~_h)W$WVEaq>8IAE zR+c~rC9I=EB>1hQe)k50fM9gbh|ziu{A?b((m)Ty3(9J0M#w~nz*m8L4nMXQu~d5MP0xd-q^gS}FAI*lulCOu<~0YhdWO-%Y}y?DSXl|Ik_ICGo$&;|_wlrE#;2f6=H!29cB8-}&OdO<#a(X;;{0jG=$|m3 zgNh(&W!yh^Ti#cmuMPR}Ba3NxO1OBmCHq~3pgr9eDB*5q85J3NfEO6&C~Bz$CB`iu z7gDfuh2o(I*bm8A2n&1P=riYZvB-d=)1=`aWHSYAGC&?#zM)I`f$Yv4Wmv#NMXb}L zkjZGfWOyc}l}9*dx*zh(@>mGgc^c;zU0uGqvHFfEyIzb_F>r8b2aQ|uC1ZTePq=+~ zjlgx~XtAv}fBF$GZdyX`ursHosH)mcYu5%iv5Phh`ud1EMQycVfWv~9SUyA@3H3Q^ zBYJ~mvqyo<-S`;O@a==IlEg<9l`Hr5WEoRg0h7;47wJPK3ePRffMgyBCVU>f`8)LL zkXy&G=MRB}SACJ$PsmlMEYrK^INb=u8+V5vcN=UnOM46&S$&TA+}njVzJmUmw=MrN z`ilB#^8xnevi}?5_c+mt89er*C%`|ux|r+)Ac3!hLJbDz7#B zbQKgmdd9#13b(Vf?SAV2V$Xe|ao=lcNa!j}iJ=+}Ei*F&@EMt4pCMBJ{O*kzCd5@@ z6y(;75;xi1uyBTNl&>Mnd&W+0Tp}KCdpZX6<^lHg&ixPGtpI6*cKs4h4rDb)jh-P> z1POSq1kUanXL`EhKk!{c(W+JTZ`lVzFN;hdHKy_NwcPAx6#|(TCl=aJ5(A6V2mj8D z$#D;?#+86xgTZ|2!&+$-7xuk`1bwIgV;~tT>XGOZloED^%k$? z#7$l-SP3fLcW1(ct~{o7c;WpKg-53X_CJ5Uz6iz13!ez~f&s{LC~hoJYrx^;PL1TI z@ETG`>0g*R1LTn_YN-4!JbC=+e<=X$VQcF#QqEMkD~DiSJXtB3ekNgIxnl6oQlR)1 z&Ef{{FLO&p^hy4EDgYIZosBoPJUPC6@`h5zQkm&#E>~8e04Bw;8ORe$=Q_mH_1Ur* zh~RDPZ@Im2f@I{oAqUVsiT0Jq!4ol+IeTM{-cK+rSMEMQ7#j#MB|w^bEs*X9yD~`f z8C5>-*-5?PpD~mrPIF}hVDQ;FuB&HnbImF8QELtZjBAc|&V?r|` zbIg$UpYWou->eu(6mhMyB^nvpc&#WowSBk%%gb%X=i8a}voz?X-9Y;36(ara4mYU# zUpRS=Am?OQl}VqNk(k<(WyU}73Zeq?cSLP6Sb25pr%1nxT-&m3;6YQ7O=OUvFeldqqT+;7o_z)^c_= z!QL|UWUxLeh--3U6F9xP^Qpg`1o!~r5lXRcLyq8aTXvb=oxAOFw`t(K&Gfrgpj>tK z5%p~#t6+qZA^a#asA09hsez-F3R_F(H0rVdFcb>zZMwXfn=QE~+`xJXUW=Nu?EWCj zS0XS|v?gWhiGOz&dlEJ;yh1b#=0qg3%+MNnU#O5W)6HZDIjHIQ_gfcE9Q9p11fP&F zb3y_`!hnd#K*AH$%*ZdXu|5q7XqN!tK`w#| zz^a*@pNj=$^hX32U2U#`qL;e3Acd?xApsy{VM7CU*_^nzrX|y>(5Dvz@(X_LI1u{q zce#FGqU2tj`I?x^N=rgL0dq+QNSS%af{?ausyg>pC`JK2B%GMyOiu>`M{6X8*PZd$ zkkdD_Ar10AlI5b!S^rm$mpPoL1uDJEVH~}GFqiri8x6ci^I6k&F0;1R69swSU|zEE zUq!_l&48j^-Kyx_{6K7IgSw@@M}jJ&A-n*5kI!TY}J zJP?IHd~nlgG#qwOQsxx&yC>*!AFyQUo_{|u5VHTOlNC6t&cwnY81(^BF*!b>b|k+O zZ7@U;R-qz(GipfwCrwI6(Ic!Z6D;4?J-bWJK+GC8 z+_)w!WdR^UFIF6BM~nQ?(+9{qZCfJ479gVf zHnI{%s66ZlF{!Cz`TnX3Id!#Vs?OUo(9Zjs2Kc&4kG8bof7&qm@Iy-P(XmUm23z=I^l z5zZ$QmlDe?{O&Dz@Du*yQe5w9GZGv1UU&u}G>RGAzNcNgpzX?Bl;wz?<#$8B!Js<; z1mjSUu)k%+6qsn>udW=@`P@k{IJ-LR;GGsLTnE;U=laK&M$Yv3lt_Fi0 zPI2lqBY5)`&F_ovO<6DQV}}c4T34d+3=6Z}4XuD~@?+=U--_y&Yp8JP2rlH}9 zFN}@!!=a&($7h!Ft{i3T)?ZhX&2Ksj>Xl~Lj?*F$?7y7`6V3f8Y>3+atB8!5uvzYA zP^U3GG4`2<74&DeH;rI=xw78#&mRUt$@b{L!$}^n-CtlunV%Wp!XUSvRR`);E#N#y zVJd0pAVHzz*4D8MeV3x3VfOscBr=y%aOK^!!55Hy;X4KO*65Q37=7xm410nOaCZzi zwYf2gaiXf?Fn|g>xIOa|)F6xSXUtDfkp6<70lmqu9n38eYT(8Hc|S<=fBlyf6`<$; z_qCAS4q-qv_CN3ZH@}H}3jBZG3EHOv{_y{~68Q5?7GRP7yT^Z*5Egy%m;ZOi|NVt1 zr9i>||KAqOQ0(%e(cw*Ra-OFH5Az0MJm{Y9hw5q88!e6};`>^XMt#O;QJe?R0h@l5{+<)j1& z9EBoQjspzorPqIhZ?6t@9HxGG2Fd??Dz)$POrb}wE2WU(y7=(&gX3y_<9#@DgL(zi zZl&uQsrB-`VMVLoMIQ%9>igX|e4*)sW~FA6|Mx-9{m?*RF!y2IaGDWIq6{+fvThgT zG4|52`RSr;XVh)~dN1f&MDMu5aBXDo^y>|{5TBU-_@Q#2@xo7b*bX-xX-5{GDTo2*W&Fewi!%^z{2%&jsDqorV)|rPgcmi_EuSFM(cBO_@?Y)HmgLfJQ3RoSR zoxlGrvTg%~MlUW<5r0=5<6A;!$Ftf#FDEF?E~9U?%8$DZ60wU(@Y!Z^f5T~*e~Thu8<*xl2Zdz2`ss4awVvkMAJx&-P=$Tj>F<*ZahyS+uCKGcE76!9}YdLn8 z=}tUzBNMCqDBnfr_|Ob-krCm~XueKsQ@aB3R$IQqbUXruFwAAPBpfUwS!t^2oK1R0 z{oZ@w?PcdYvtZ2JvoZ=DF;@IUx_}YBmB*u>pnDy!X;MB)OP^N;s;5>rMfoF&RuMPP z{f0JHkTISVXrtT|qZae8A}&6A0z-MI!=enjc$ZZDjD)l>A_G*b2a`7fXK zs%9WfJ(7=C{U9YoDoW8zaDMAj2N{W!Dvs=sRH5SrGRK9}-={!+gF%*_0mxlOE}HX?Sw?;I4@u~BzO*=`~^kf z<-CE&At8wBXcql4xv7$6luut0)>J5;Z%-uS?y^Hri)jpc_ty@uY;dRY=sP?)6Puds z{XXEPCS9}OTv^a83g2C|T9sU-O3JzZ+&6rg)S`AyIb5!TwE@|DID}wik9<~p@G5qI z{{B6}&ei@yw+Qsof$>Tqef-f?`cxyVB=!d)Hye5gB}6!8Y{5Yl9fXE&hNp#7O&pwz zOrrhkHsC*1iO77O`Yc*`6G%UQmJw%t-6>t}Z9tD)e|?TIbiEo48gH`3Lp;pDx$3TB z04K=sjD`-6?DW~%e0kgdH^))0i*+q=G${(kC9%1hChra7r*u~_(5 zHFEwchBZm88y3Z*2i~hwUT~;`@_y%ViQ0O9Aai@_QeD-HBgc)U-1bviP@U7&3-3eK z-6Hy#a@!lf+6HTeLVMaLFHb(HjkI2>6`w^ymc8E>_SeuDO|QB9TMrPB*^JK0I@LXG`2I>#Ax_FG!N_ToEl zx#G_~y*4Qs0)$T6l^_~B@<~2lJ{ro!noFC^cYFG%S!J+Ge;ddLX6B+f2=QGOsM8K@ ziNPILGFx3xoC)zN+qchPBqzjgq6k|!*_MS7H;!5H8c%gFAu&88T1vaW)Eq9XXLhiHQpsMAL+;+1W<==HuF?zG*S;;?ghC~nC|NhhEE9;(_>J>e($T?v|z zL$~X*m|qM0wk56Pc=5A_bVqa~SJ`(IWTm;(tt89#GLB~Kk=j8Lj67)e*ZUE{)aPzI zGn10~Kw*iR7XHLr+>F|0*@;#c{DrJ(;*Ab0-m6t$l)-Q?`6B(3S&j#=JjqY9&ex|h znghl{^cy3qW@b4s&a3tPZP%vAGsG$48`h!G`@Ex>QAy0NBOUt6R}X`Q-IuV0g}PB$9+mDIuS$xPZ#{d zia}REKc-rnH*4Z2wUe{E$0nuNk8|F<2b10ny;6o@8Kt>yhhE*|()cSR$mP2ou)2fu z^&}i_&?{~@thf6T$!v6)V&RE3Irb=TRr8LPFT~z_4>G>x>_!QEgzg6-w#{z%XX#}r zoxUgq`zGZ?zLaJZ;GvIpl{-;hMblj3CTDG2^tYf9&N||QUi5$tkE_$SJ2l>tqRZPI z4D*A>yklj+iJ2Dt=OJ$j^x{iJk!75zlXGDWy%y0Gdfj{ z2jwnYFXXOXqo=f!U#xelYXSm_!lnkKy+U~w2%N!no28TmYK!jE&nZVAr zCdi@Xpb(;Q1zk@T6jnD8Du+-?hd3TRb0pp%yf#qf@f7Yoz<0%Fv z>o04zyw+2%J%DGBTpp9EV%+`1lWDS=O;@}!JS!P}z1-6cwkQ@>ks+ee<%ntxZZw!X zL18vnM_zw@K)7{`zh12HGwfb=l*P?uc}a*KCVKg-#CQnv=9t;}B5V3yC*U-Ywf;wF z`lHK`#cR`z|4Hb>x$#J3^yT<-S+ac?t0k9TrW-!vI#9w@AIahq0s=}ktILOXUsp(t znrg2r0%@;1td@uL{*J%~(?lBV~Q6 z$E2LuydM8{J)T;ghjvpNQjL(y>I65w?%xZity{tfO>(sOj55Es^n=dj$w$0Nrcw#` z^X;q@*8`{@h&0E+D_VM?qq9M2MbZTswQ0jiYu$_)Mc3D3!^-8}8CvU4QLhV`KfwEw z9{U?SxDS^z5$7pks`a3h8DfKp&eoeDbAmd(m!S0p*@KRo)}Lj8Y9t*QcPen-=&B#m z+#VMu;iEe*q1NJzOXq#Nn#^>KrtthoSM;J6<`Y9_NQweJ0+nk$9O~X)9Pi92ku5MZ zJPs;NU!S(>9;%(Q0@onKM&G*$5UiR{j*7S{bm%g-k-$fp2Txi>nX7A^zcl<_6G3)9 zaaSVCBH6#_wQd4zPF%K}J$iqLXRU;S^tE1)^V;F7_!7E$8r|LU#v-`nX2=wBt;YqL z&Qdt>zBLI1Pzac))Tgta!VIANFnJl2W4_ywYuZhJX}T)3qF%p3>!pgK)VsaS6$0pbA<7x-l+c_zoIFhF193M>P-p_=Sxa#lA6m6E2 z_K~=8W017@Lp>m$H(xP#=<+09nVCr75dm@76!(8F!8@9#3fkNcL=9JzQ4V7L#RMgD z92~IL{!b~~IU^bb&Qp`!DO~L*f$QaH3f|YZ*4uH%4^wBS;Z5eRbd);m{swAmJxw<+ z;*qWtqdyjt?D{B@u5QZJn!xjS+D<2D5yUaLd&rDD3zeIr3296eyD^7L;iPH31mF<2 z%a<#5<(&EH^q(&_i zC@9q>kc?V|=v;EJcHHG8WB#zDwa3~E5D0H-()M(n_>e8*sdddgV%-0MJT?t$u#%f9 zGY--f2YXxhm6??TMzE&3b5KjhxZB31$6 z!9@GvZ5LFIz92VqD2=w?_@41^I#V9x=422*IEtM>ipwb;x=s?Vz9vZM%j?S>sVt-+ z%aBy;Rg;f90%z^Ua_AsXcZ>BWP0DCxbLw7eCj~0SrOm~b(IL1Wfo@G#ZqP*l)$Q+7 zdc1aDek8xRbZ7EyOo`6HmKy8zC{6i>^2qSoIDmGOm*ljX0JLwZt1QA}$OTKh6~h?; zxHvVg>9AJ8`{fYwUPUi#+)|k9o4x!PB|c0X9c^;_5Sm@wR+5WA9EUqyo+s2?MpQX} z1c4KS-`W<{2R3$=IW_{Dy4E-o=Y>u1*ZiA9 zq;m6*YqyZmDsI z(~9AXF)KDCP3p5Ibu+s=U%4sUvDJL&U&6d`E#Tp1mZfymlU1gejfOgrlR9Uj)l;3QQW7)Az%>_~UB$PJ2p z(_z>enjBl(%v&(Os!7aH&?RPjPFu3Wvg@HI%fP2HvT%xh&dwqDOlrh2OMM2(;e;8@ z)Z6vx^ryplM*vXUO$^?iNxbIJj`^x{|#QRB?glcbj&~Bz)Pq z1T3Z+!gFlKPKPLQ&~@bXsoXsuq-z8BLkX39J5dr2uRO@%*yw-4Cr<-4HnV*=%}ayO zj-l$lB#%)caQBm>s*+3!-L${!B-)x;Wv~;u;aSJ{kl<) z3t{dJn$$Hp|4OT5*BZtaJ_6oWv0fm6EFn%miL|K6!nA7gW}lj({F+LP_<+@|(^;9lX{jes_*X?pBmu|P)i;fHcj#8jME?L*lae5A3?WY?p@elmV zfl};bpuP|x`ah#II(c(2DoVYD(W&^W=E3iUrH`*)Lv>)8nC7KIsbZDnNcy^LudJUP zFibpo)df{PZn30xWEGY?^6FaK$Y#qmMD|$z_6?9VlCNsmwbK;qnEXrECEM#0c>*Ny z@>iiKsggV!vojWT*@+~QLvFb-8Mvo|PbxT{EbOpK8-rBdJ=5;akr7XlkRb#hRCpfG z>3Jvrx_)jygKm31F2bDia7aAeu4vox~gq z`H95N1h*RFRJA`bD<;hh$yCS0f4(^hLW=+96L0&TNy0G~l=u6%C8+cWZHGQvC~F3G zNB5o7j_wI7X;NZqU##uw$om*mX|{_cs4ypJZbN*xiP>3MroT!!tGkz}!FR+8p>gNB zEdES;{M4^Je>Ajc=4MxDx0&PeF99vJ+f(s+W2D>qb4aNsBLuW8cQfPFoY;^?`?uHI z8FMpQv#03a>N{BEA|f^{!MS%?*c5h>-bG4>CZh)lYWxMo6B0hd4C|gJHVw)P7}eD2 z{9xr$oYw#kEBH%j@aaa|&rY9)aL~lL+$4r9WxFSI9lyFry;ebkF~KM{eZFGwX*uSI zo2|Z+1)obn=XEcNR!^#ih=8)!6I?MoRr(x`RX;?2dS<%svxPD398mf2qtmZnk_+-G z?BzfOomYJVT$t2SQUiG%jcE29)>lv0Tpd?J_JqA}cQI)7*xcC`t8x&BPU3%jpEEOy z5C@{71W>=Z>(ScK0vjqg0MI=G8>$C8DMC}DD?;KeP%JSdQl?;G)5&A2VDvD7C}PZg zc@NZ_V~br!;)`mP4&AsgmH;Yp6xU+ST%+73G=(h0Wyo@56p-_XVb=iJp*I*pGZnfJ8xBXe;ym^nf zwss~2sV^oa7MuNdprK0)CL{Zbxl~vJK-@}m>yPdvo=k4~tC1Li!!VAptNwD3A$jYc zcr&1^DGabWk(h144wIAb#w^hjWQ|9o;4TWcA|7p;>*7h0GH@WLL4Mu}iKZgtP*Mzu zmg}M`iJ8if#E@XUnUr%p>r`THGs$-$8m=Z6R0|1@?!|`>#(VNbk6Qd@IL@8Sf-7)j zY0AqP><|vBZZ56aL(*6D)Q(3(ZK)zvrea~fg3B)c+-L;OFY~ZeHRb}%5dGwI&rpF7 zA){pWS7I&qe%w}yZ#ph^`PQY8}a(^TWEvhwFfyskXZfPS3* zkcnE&slR~J4UqtAwFJTTvI#1VCnGRf?!oN5>)Yttv5=@Ud)mYuCIXXVKEHmyfB!;5 z8hdJ61j4kkaD9Z(Zy1b2HAApK*$Z))k*_Sr?{g-exV4y7tAT&4FCuLZKk1?jvZMTqnbM{T?zF|DHCb^H1RN5W~uw zxyGQ{v2mN&8nmhBh1A`1NVmD6Px8HRQp)Il|J5sQYsx8WX+^o|KkIAM?5E9Mr<*#F z1P2Foe0=0JEm}#G9x2R$!pjzArsp0RDkUI#uR4>n@%5Ms=smbgY%NGurTlbl+>sx0o)aH zw+CffNT|~$CpnCcH}oj+8|{Lurd;qCIbs14(ass}&p9*#VuZNiAKuo8#i%QLgoV+J zcJp!|hEs^g>VW|?5?d__#|&Wq{UQ@($zA#iP5dmdWbA5*tb3*) zoA@Bgqx3T%j(;G~xY6$Zk&%FhimBij@zdxIy2hL!ju#QLK$2WKd)&)_O-|bY+L^S` zS;yd3=;X4o*+!#)=KRH&ftpbI4Mwb^-JQ*R)T*%a^1s0@SeWs%hM_XRiR5S>P*&E& z>r2PMV=88O?F+*n4SV*!*n08!wG{lmQ`Ou~&e@J5Eb|$TD8J+<^;bhT`Z6mGmxTta zi!UuL9H&?dmFj|GXgJUcqG&Pr!f>d%bG@SyF-$Q+Iv>t~Kp4=bZhuTwE%_hcH zy*8XC#+aAvm*`tlOG4vDU=Y2?`TiRE?f%$$8^wF%;pRRuWqlXr;(kMBT-5$H`=zqw zjX0_eOjCG&sWgxJnZu&0fr+iHy{mnj(t@^*fRIOHbYAQ>Uo4<`ZCAAd`zA$pibL}$_2FZC2j8HK+8&J7F?FRy z|5hjkAG6`c*%gO^_R>!-UjN%bCU5?C{sS2!6});I{Asw*J_%p<{xuC$mDM1R8`X0@aN(7k6-jDvSIe7KP@l**c!aM`>2DX z{9#VQ!U9WGj@LoK6_V7RryO=oS4O2^_K%h502K&#+T+976OY@0c0mh%AHkG;b4D^E zRu*T7%fmrNVy!HCSvH>2+?^kSn;2OAg6+o^sIdkPk7I_)A7gB)+3 za}^QKE8*H4-1i4bJG2JN37kqio8E;wu9)|NNOrupOavIR`zdL1rk&EkTV

    Www1R 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


    H}~xwn{# zZfJG&GLXXsS4QzdUkz347E5(eAN=nbvgVo%6z*nff1zY3YV|FT6h8?SZ>)sood}!i zI$?z5+xgT|5Q*P7SR7HeSK92 zt#fTx;Z!H40=?B_RR!e|=B5eSE}3TQAG2I|Q}z~j0hB{e(xQ)^AFTg!oc#3~&zO0k zbcL{GwHO^f?Vw-87rFH~W$qNNFAFN-`5y8eyvVIKQEM;1_a|-O*Kr+t%!{v5UJufw zG)w)>MLgV~ZQV)Hc+)6c>{*C<``1Z1=8_5w#H!8iT;7kovnTAi_Wgv?RwTOrA^w7`2w1r|ttQBO!P zWZ%+`opy~p07nGYelO(?>UqcLd0S&Ut*aFy&eT6;u!*@fnjG^TK9?Q+Yk99Vp9@(eY%jl_*^_^ zumah@*J}ur;RyCC6ILVK{025|D4-G!6JvTBWz%Li1<(5j2Zl4a zxf*M5DqFt75s=xN^XY*Ge6$C)(j|OK3s)V&LgkYJs0Eqy9q#^xpFXLfG-;PB+M4LN zy!zh%tz1zB^Q!7$0!`SG)$ed~VJr1UZ`EzxWCWl%-N$e>#amG3|I-f5hq+qGN_COc zYVN;M(e?EKmqju+Sw0Puo6a?<4Y?$%-d$>Iz}e=*%%c25oCOstDS;w(t$uS6PaCq~ z$me3AFCR*rHm2>LCPEPqF<){6X2v7Qt*RTUamG|pvudx5fg_F)K-pZm8De(b#D8}d zuI8ZKpVs`OQVLr?9l8uhLcqun>m#^5=&FI&rk&CdKwp6+4bi4$IVwn0?<~9(dTON? z)9@D?m5-G?FVHN<;jzQ1!r466+>>XHftxaw0r-eI{4XsvdSO>*ZLk>lEtbCv7r82mA`F_&}}2M^zwkgoG1 z%wAUY{w*M|!cSZj( zjmjIgoS7LIUDxbDF2`3Dk+)(?Yv7B8BZ=IO2|=;6*#Q-#p4 zXCQgnSOl!K0U-`(erUhNm}he>KR^a~jGr@>}>e2b>imBd!sQ*qB{9>0<}rzbqvn>0R(LrhF!-c1yf*mK}7e<{b^q7diJs|=d?tZbF2+05j8D(mQ#8;y+| zKnkYV@=ZhEpi)W4hU_jR{9XZ(3OK{4@x_9bC@lJoi2@X43&-uipFMVYkL+NE&nl@p z9UQz~epUkT24D|UP*Vz!j5$Y@GCd7JmrBNqhBF6>7|A>$~ zk0X)e?TRUyrl**oS2;sTecvG`1^hPcHMQ)rc8K{w%E|DTP6E)WSyQk-qP3y?j_Dxq z0pZnv8Os-jN9Y3*sgV0sC~fO=L~!Xt9jhNs%aTlekNY#}2TR&#IP-Fk?d!xd0u#27 z$)|Tsy^|9*?qaxv$?niFp@s9WuksgpcZ2?Mhe=@fBnkDD1nQf-aV-*nmyD!X7C(Q% z@>|z()NvGcAru{2lH71zkYuzahrEPh~D6{`GGVgFy5)L|KtZX zAcenx&74tqG~!1x(e8@qFzuhiN2DJ~g3!W7M(j;N+iu%Nu*Xb#8Ui0pqu`r0t-Y`4FmYeoybFxEC2i;#o zR9@WSc4}VnRyYo^Lw4`+jgVA8GgpPIVSgV>vuPztF$%aul68WHp}4Jj*Y*{#jaKMV zkUHOXw-sR5O)DZw;=upH%v%uh4B9^;C!4oTF#o)ccX1f8g}fo+Zv%q}BQj?ttp5M_ z`o`c+f_~lD#>Tccwr$(C?QCq@+Stj)wr$(VKQ>OzTj$ihRk!MXo1W>e?&#g(|^N! zeUYo1-A>vs6G>599#G7+O&xdTr$E6#3*G!Ncr`y#^wt_zmCkc~h?`X=lu8%r`C
    d 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\U0g zc{-TTYK!l;^O^LQ@KWGL>^|85Kzt{hEv^xVELckq4T_;q{#IoBYhwx*MmTQC4RE{y->cgU4M%t~CfSkU# z9Xk#x-egP$uHV!{m2ZX=6I{qYV8U*j4Y#>`LurG^O0m_N%SDpD4d)ED`fGZVN*#3w zay$>AJ$3L$g9AubJZ7zRadtw3WV3F0g!Ct`0Jl?dQ4RR zk}cI7bvm(~yIx^t_hL8^4^cCGxjG4OdQ56p;4)j{=S<-&u(=N?zNSH3zfYzveIV^U z0|)yH|00x&)!M9L7TGk;UX>1e9A>K&Zon;0eTF)0c~2Jn3Q;ag{!t`( z>3!jXZv_~z%ir9a;s-K&c@f0}ml?W;GCc5r{A~Upd<-O3eP$D@7bN`kAf1;!{uB_r z@=u=MYW?OP{&?l+wK{6qAfWiUV&}g6&s!X#Iy2d30FU6V4NcTM@E<&XOCmlTU3KW)mZFtv*SIYF~o(=7$08G zI>2RhB+)-T9ld-aDkuT^$NIdTi`f!AT`RvL47xA>sWd~ne};sW0Hrr^9zp3%iVqL) zJdS6EJx)s@C3!mnA~aT>@6zsiud$R*)-%%pKFL-z5HF8wwbpKyxSF?gTgI&|ceS6q zZ?Xbq9%(l(>4ol&?AK?}7Y(gvMEETy%*2gJ08#yzD6^-?)`{iqfUJk;k3*6oTbCd+ zoHxX8bAeE~N;B-AuaVBg)mY(1|6;$fhv1ci?~F@%IbgusLpL=}aEhHED>Ias(; zg^(2^3FSae=#r;FsYpqKQGP-P#|MM`xtzQ>@bV)S{+Y*#IL`Uhj9yW3<$I9q^SE+! z?lU#IKW93|)}7(fC`O_5Oiu>T1y1d6wALRJ?%&*`;mrIaZ97BKO@Dy7JDegE%@&td z#VQ(0dbiqd?e7 zBeY(OYdHjAXHsC&R9eq&k^VD_1shg619RZd0H%7kKGD%WUOJB*f?X$X;29)F{k}bP z3I)e{B2b{4DQK~+zG68=cmZ_r2c`_mvvsekCPLN(j~&qTj~>IK&mC1OHOc9}ByHu^ z+rCT|j|!#ox9(#B@YXdQ&u2kJx<}nlG&6z^j|;LcjDA#~m8N@C`Qv_%gGsIqmOCsI zACm_wp~}YjQC|1cR*MNN!MGjJo0;rgf++T_g)7t4t=b{Q z0@5}aBRi3UtiEYNzCc&=WWQ4?8UoWwjll~;@PH)f9r4W!Y8K|czDTw=^R`n(QTMA$=W|@KYJ=?S zMo5>C$myzlkMGKKPHicZj~mB|Rd4jlb&>s=(hjyOm!d~!;|C6_)(We?o;Eu~hYV{H z>qbc#9CiqEVWj$T$oUF-O@>V7H1tli#b8Vj>=0xG}*V^=9P^Ok@OrAy~`oZl#N62A2SE`q2fHB9Yt|sK4IJs0~OpgdS@AE zkiY`0$Se!YWS9^i$j?T^|5X1q-=WWCp{|Ymk%02$Z~jmC!@hF-phttt=!-p;QSS%A zJIH2ng?@uRz!w!!{LHWWj}C;`;cDOl%It z7gJ)Yu75Yd9Ashrxg@!YP%I~#CLmvd+HNp;jfV>rcLCdPD@>13TT>O`Ga)%=tmhPW zI5?no8RXL!$jo`5GFwmW(N-AkR9aqwBxgKX9Ay79IU6F$-I3_)-I^#aE=N!Tz|*Nv z1&77s4}PXrQ&R+qN*)UlE%^%u4TTAXN20@f{kraMFt5yCr*$dZMH`sm^V58+MV%zC zW>(sM`*);_a2gTG%Ii|hxjgJaC{?`ViX5{e%SvXs(Q&k|)MWj61Pn~U)N zNl0e_cD}@q3+|!4BZ_>d_9k3T

    aSlw}j9Jhf*=_la^|oGtT69UG7Y%nYH)lQ}cV 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 -

    -
    +
    +

    {{ .Title }}

    {{ partial "main/blog-meta.html" . }} diff --git a/layouts/index.html b/layouts/index.html index 87f3caa..2c81cbf 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -6,8 +6,7 @@

    {{ .Title }}

    {{ .Params.lead | safeHTML }}

    - Get started -

    Open-source MIT Licensed. GitHub v{{ .Site.Data.doks.version }}

    + 查看文章
    @@ -16,32 +15,10 @@

    {{ .Title }}

    {{ define "sidebar-prefooter" }}
    -
    +
    -

    Security aware

    -

    Get A+ scores on Mozilla Observatory out of the box. Easily change the default Security Headers to suit your needs.

    -
    -
    -

    Fast by default ⚡️

    -

    Get 100 scores on Google Lighthouse by default. Doks removes unused css, prefetches links, and lazy loads images.

    -
    -
    -

    SEO-ready

    -

    Use sensible defaults for structured data, open graph, and Twitter cards. Or easily change the SEO settings to your liking.

    -
    -
    -
    -
    -

    Full text search

    -

    Search your Doks site with FlexSearch. Easily customize index settings and search options to your liking.

    -
    -
    -

    Page layouts

    -

    Build pages with a landing page, blog, or documentation layout. Add custom sections and components to suit your needs.

    -
    -
    -

    Dark mode

    -

    Switch to a low-light UI with the click of a button. Change colors with variables to match your branding.

    +

    广告位招租

    +

    鉴于Tilly现在之存在于脑海中,甚至都没有PPT。所以呢这个网站现在主要是记录一些静态分析的技术。

    diff --git a/package-lock.json b/package-lock.json index c52e94e..6d50425 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,14725 +1,8 @@ { "name": "@hyas/doks", "version": "0.2.3", - "lockfileVersion": 2, + "lockfileVersion": 1, "requires": true, - "packages": { - "": { - "name": "@hyas/doks", - "version": "0.2.3", - "license": "MIT", - "devDependencies": { - "@babel/cli": "^7.13", - "@babel/core": "^7.13", - "@babel/preset-env": "^7.13", - "@fullhuman/postcss-purgecss": "^4.0", - "autoprefixer": "^10.2", - "bootstrap": "^5.0.0-beta3", - "clipboard": "^2.0", - "eslint": "^7.23", - "flexsearch": "^0.6", - "highlight.js": "^10.7", - "hugo-bin": "^0.70", - "instant.page": "^5.1", - "katex": "^0.13", - "lazysizes": "^5.3", - "markdownlint-cli": "^0.27", - "mermaid": "^8.9.2", - "netlify-lambda": "^2.0", - "postcss": "^8.2", - "postcss-cli": "^8.3", - "purgecss-whitelister": "^2.4", - "rimraf": "^3.0", - "shx": "^0.3.3", - "standard-version": "^9.2", - "stylelint": "^13.12", - "stylelint-config-standard": "^21.0" - } - }, - "node_modules/@babel/cli": { - "version": "7.13.14", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.13.14.tgz", - "integrity": "sha512-zmEFV8WBRsW+mPQumO1/4b34QNALBVReaiHJOkxhUsdo/AvYM62c+SKSuLi2aZ42t3ocK6OI0uwUXRvrIbREZw==", - "dev": true, - "dependencies": { - "commander": "^4.0.1", - "convert-source-map": "^1.1.0", - "fs-readdir-recursive": "^1.1.0", - "glob": "^7.0.0", - "lodash": "^4.17.19", - "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" - }, - "optionalDependencies": { - "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents", - "chokidar": "^3.4.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.12.13" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.13.15.tgz", - "integrity": "sha512-ltnibHKR1VnrU4ymHyQ/CXtNXI6yZC0oJThyW78Hft8XndANwi+9H+UIklBDraIjFEJzw8wmcM427oDd9KS5wA==", - "dev": true - }, - "node_modules/@babel/core": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.15.tgz", - "integrity": "sha512-6GXmNYeNjS2Uz+uls5jalOemgIhnTMeaXo+yBUA72kC2uX/8VW6XyhVIo2L8/q0goKQA3EVKx0KOQpVKSeWadQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.9", - "@babel/helper-compilation-targets": "^7.13.13", - "@babel/helper-module-transforms": "^7.13.14", - "@babel/helpers": "^7.13.10", - "@babel/parser": "^7.13.15", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.15", - "@babel/types": "^7.13.14", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.13.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.9.tgz", - "integrity": "sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.13.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz", - "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz", - "integrity": "sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==", - "dev": true, - "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.13.13", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.13.tgz", - "integrity": "sha512-q1kcdHNZehBwD9jYPh3WyXcsFERi39X4I59I3NadciWtNDyZ6x+GboOxncFK0kXlKIv6BJm5acncehXWUjWQMQ==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.13.12", - "@babel/helper-validator-option": "^7.12.17", - "browserslist": "^4.14.5", - "semver": "^6.3.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.13.11", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.11.tgz", - "integrity": "sha512-ays0I7XYq9xbjCSvT+EvysLgfc3tOkwCULHjrnscGT3A9qD4sk3wXnJ3of0MAWsWGjdinFvajHU2smYuqXKMrw==", - "dev": true, - "dependencies": { - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-member-expression-to-functions": "^7.13.0", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-replace-supers": "^7.13.0", - "@babel/helper-split-export-declaration": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.17.tgz", - "integrity": "sha512-p2VGmBu9oefLZ2nQpgnEnG0ZlRPvL8gAGvPUMQwUdaE8k49rOMuZpOwdQoy5qJf6K8jL3bcAMhVUlHAjIgJHUg==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "regexpu-core": "^4.7.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.0.tgz", - "integrity": "sha512-JT8tHuFjKBo8NnaUbblz7mIu1nnvUDiHVjXXkulZULyidvo/7P6TY7+YqpV37IfF+KUFxmlK04elKtGKXaiVgw==", - "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-explode-assignable-expression": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz", - "integrity": "sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.13.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", - "dev": true, - "dependencies": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.0.tgz", - "integrity": "sha512-0kBzvXiIKfsCA0y6cFEIJf4OdzfpRuNk4+YTeHZpGGc666SATFKTz6sRncwFnQk7/ugJ4dSrCj6iJuvW4Qwr2g==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz", - "integrity": "sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.13.12" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz", - "integrity": "sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.13.12" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.13.14", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.13.14.tgz", - "integrity": "sha512-QuU/OJ0iAOSIatyVZmfqB0lbkVP0kDRiKj34xy+QNsnVZi/PA6BoSoreeqnxxa9EHFAIL0R9XOaAR/G9WlIy5g==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.13.12", - "@babel/helper-replace-supers": "^7.13.12", - "@babel/helper-simple-access": "^7.13.12", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/helper-validator-identifier": "^7.12.11", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.13", - "@babel/types": "^7.13.14" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", - "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", - "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==", - "dev": true - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz", - "integrity": "sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-wrap-function": "^7.13.0", - "@babel/types": "^7.13.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz", - "integrity": "sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw==", - "dev": true, - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.13.12", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.12" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz", - "integrity": "sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.13.12" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", - "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.12.1" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", - "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==", - "dev": true - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz", - "integrity": "sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA==", - "dev": true, - "dependencies": { - "@babel/helper-function-name": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.13.10.tgz", - "integrity": "sha512-4VO883+MWPDUVRF3PhiLBUFHoX/bsLTGFpFK/HqvvfBZz2D57u9XzPVNFVBTc0PW/CWR9BXTOKt8NF4DInUHcQ==", - "dev": true, - "dependencies": { - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", - "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.15.tgz", - "integrity": "sha512-b9COtcAlVEQljy/9fbcMHpG+UIW9ReF+gpaxDHTlZd0c6/UU9ng8zdySAW9sRTzpvcdCHn6bUcbuYUgGzLAWVQ==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz", - "integrity": "sha512-d0u3zWKcoZf379fOeJdr1a5WPDny4aOFZ6hlfKivgK0LY7ZxNfoaHL2fWwdGtHyVvra38FC+HVYkO+byfSA8AQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.13.12" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.13.15.tgz", - "integrity": "sha512-VapibkWzFeoa6ubXy/NgV5U2U4MVnUlvnx6wo1XhlsaTrLYWE0UFpDQsVrmn22q5CzeloqJ8gEMHSKxuee6ZdA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz", - "integrity": "sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.13.8.tgz", - "integrity": "sha512-ONWKj0H6+wIRCkZi9zSbZtE/r73uOhMVHh256ys0UzfM7I3d4n+spZNWjOnJv2gzopumP2Wxi186vI8N0Y2JyQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz", - "integrity": "sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.13.8.tgz", - "integrity": "sha512-w4zOPKUFPX1mgvTmL/fcEqy34hrQ1CRcGxdphBc6snDnnqJ47EZDIyop6IwXzAC8G916hsIuXB2ZMBCExC5k7Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.13.8.tgz", - "integrity": "sha512-aul6znYB4N4HGweImqKn59Su9RS8lbUIqxtXTOcAGtNIDczoEFv+l1EhmX8rUBp3G1jMjKJm8m0jXVp63ZpS4A==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.13.8.tgz", - "integrity": "sha512-iePlDPBn//UhxExyS9KyeYU7RM9WScAG+D3Hhno0PLJebAEpDZMocbDe64eqynhNAnwz/vZoL/q/QB2T1OH39A==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz", - "integrity": "sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.13.8.tgz", - "integrity": "sha512-DhB2EuB1Ih7S3/IRX5AFVgZ16k3EzfRbq97CxAVI1KSYcW+lexV8VZb7G7L8zuPVSdQMRn0kiBpf/Yzu9ZKH0g==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.13.8", - "@babel/helper-compilation-targets": "^7.13.8", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.13.8.tgz", - "integrity": "sha512-0wS/4DUF1CuTmGo+NiaHfHcVSeSLj5S3e6RivPTg/2k3wOv3jO35tZ6/ZWsQhQMvdgI7CwphjQa/ccarLymHVA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.12.tgz", - "integrity": "sha512-fcEdKOkIB7Tf4IxrgEVeFC4zeJSTr78no9wTdBuZZbqF64kzllU0ybo2zrzm7gUQfxGhBgq4E39oRs8Zx/RMYQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz", - "integrity": "sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz", - "integrity": "sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - }, - "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-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-top-level-await": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", - "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz", - "integrity": "sha512-96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz", - "integrity": "sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz", - "integrity": "sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz", - "integrity": "sha512-Pxwe0iqWJX4fOOM2kEZeUuAxHMWb9nK+9oh5d11bsLoB0xMg+mkDpt0eYuDZB7ETrY9bbcVlKUGTOGWy7BHsMQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.13.0.tgz", - "integrity": "sha512-9BtHCPUARyVH1oXGcSJD3YpsqRLROJx5ZNP6tN5vnk17N0SVf9WCtf8Nuh1CFmgByKKAIMstitKduoCmsaDK5g==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-replace-supers": "^7.13.0", - "@babel/helper-split-export-declaration": "^7.12.13", - "globals": "^11.1.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz", - "integrity": "sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.0.tgz", - "integrity": "sha512-zym5em7tePoNT9s964c0/KU3JPPnuq7VhIxPRefJ4/s82cD+q1mgKfuGRDMCPL0HTyKz4dISuQlCusfgCJ86HA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz", - "integrity": "sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz", - "integrity": "sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz", - "integrity": "sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==", - "dev": true, - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz", - "integrity": "sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz", - "integrity": "sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==", - "dev": true, - "dependencies": { - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz", - "integrity": "sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz", - "integrity": "sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.13.0.tgz", - "integrity": "sha512-EKy/E2NHhY/6Vw5d1k3rgoobftcNUmp9fGjb9XZwQLtTctsRBOTRO7RHHxfIky1ogMN5BxN7p9uMA3SzPfotMQ==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.13.8.tgz", - "integrity": "sha512-9QiOx4MEGglfYZ4XOnU79OHr6vIWUakIj9b4mioN8eQIoEh+pf5p/zEB36JpDFWA12nNMiRf7bfoRvl9Rn79Bw==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-simple-access": "^7.12.13", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz", - "integrity": "sha512-hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A==", - "dev": true, - "dependencies": { - "@babel/helper-hoist-variables": "^7.13.0", - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-identifier": "^7.12.11", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.13.0.tgz", - "integrity": "sha512-D/ILzAh6uyvkWjKKyFE/W0FzWwasv6vPTSqPcjxFqn6QpX3u8DjRVliq4F2BamO2Wee/om06Vyy+vPkNrd4wxw==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz", - "integrity": "sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz", - "integrity": "sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-assign": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.12.13.tgz", - "integrity": "sha512-4QxDMc0lAOkIBSfCrnSGbAJ+4epDBF2XXwcLXuBcG1xl9u7LrktNVD4+LwhL47XuKVPQ7R25e/WdcV+h97HyZA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz", - "integrity": "sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/helper-replace-supers": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.13.0.tgz", - "integrity": "sha512-Jt8k/h/mIwE2JFEOb3lURoY5C85ETcYPnbuAJ96zRBzh1XHtQZfs62ChZ6EP22QlC8c7Xqr9q+e1SU5qttwwjw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz", - "integrity": "sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.13.15.tgz", - "integrity": "sha512-Bk9cOLSz8DiurcMETZ8E2YtIVJbFCPGW28DJWUakmyVWtQSm6Wsf0p4B4BfEr/eL2Nkhe/CICiUiMOCi1TPhuQ==", - "dev": true, - "dependencies": { - "regenerator-transform": "^0.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz", - "integrity": "sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz", - "integrity": "sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz", - "integrity": "sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz", - "integrity": "sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz", - "integrity": "sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz", - "integrity": "sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz", - "integrity": "sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz", - "integrity": "sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.13.15.tgz", - "integrity": "sha512-D4JAPMXcxk69PKe81jRJ21/fP/uYdcTZ3hJDF5QX2HSI9bBxxYw/dumdR6dGumhjxlprHPE4XWoPaqzZUVy2MA==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.13.15", - "@babel/helper-compilation-targets": "^7.13.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-option": "^7.12.17", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.13.12", - "@babel/plugin-proposal-async-generator-functions": "^7.13.15", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-dynamic-import": "^7.13.8", - "@babel/plugin-proposal-export-namespace-from": "^7.12.13", - "@babel/plugin-proposal-json-strings": "^7.13.8", - "@babel/plugin-proposal-logical-assignment-operators": "^7.13.8", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", - "@babel/plugin-proposal-numeric-separator": "^7.12.13", - "@babel/plugin-proposal-object-rest-spread": "^7.13.8", - "@babel/plugin-proposal-optional-catch-binding": "^7.13.8", - "@babel/plugin-proposal-optional-chaining": "^7.13.12", - "@babel/plugin-proposal-private-methods": "^7.13.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@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-top-level-await": "^7.12.13", - "@babel/plugin-transform-arrow-functions": "^7.13.0", - "@babel/plugin-transform-async-to-generator": "^7.13.0", - "@babel/plugin-transform-block-scoped-functions": "^7.12.13", - "@babel/plugin-transform-block-scoping": "^7.12.13", - "@babel/plugin-transform-classes": "^7.13.0", - "@babel/plugin-transform-computed-properties": "^7.13.0", - "@babel/plugin-transform-destructuring": "^7.13.0", - "@babel/plugin-transform-dotall-regex": "^7.12.13", - "@babel/plugin-transform-duplicate-keys": "^7.12.13", - "@babel/plugin-transform-exponentiation-operator": "^7.12.13", - "@babel/plugin-transform-for-of": "^7.13.0", - "@babel/plugin-transform-function-name": "^7.12.13", - "@babel/plugin-transform-literals": "^7.12.13", - "@babel/plugin-transform-member-expression-literals": "^7.12.13", - "@babel/plugin-transform-modules-amd": "^7.13.0", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", - "@babel/plugin-transform-modules-systemjs": "^7.13.8", - "@babel/plugin-transform-modules-umd": "^7.13.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13", - "@babel/plugin-transform-new-target": "^7.12.13", - "@babel/plugin-transform-object-super": "^7.12.13", - "@babel/plugin-transform-parameters": "^7.13.0", - "@babel/plugin-transform-property-literals": "^7.12.13", - "@babel/plugin-transform-regenerator": "^7.13.15", - "@babel/plugin-transform-reserved-words": "^7.12.13", - "@babel/plugin-transform-shorthand-properties": "^7.12.13", - "@babel/plugin-transform-spread": "^7.13.0", - "@babel/plugin-transform-sticky-regex": "^7.12.13", - "@babel/plugin-transform-template-literals": "^7.13.0", - "@babel/plugin-transform-typeof-symbol": "^7.12.13", - "@babel/plugin-transform-unicode-escapes": "^7.12.13", - "@babel/plugin-transform-unicode-regex": "^7.12.13", - "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.13.14", - "babel-plugin-polyfill-corejs2": "^0.2.0", - "babel-plugin-polyfill-corejs3": "^0.2.0", - "babel-plugin-polyfill-regenerator": "^0.2.0", - "core-js-compat": "^3.9.0", - "semver": "^6.3.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", - "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", - "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/runtime": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.10.tgz", - "integrity": "sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw==", - "dev": true, - "dependencies": { - "regenerator-runtime": "^0.13.4" - } - }, - "node_modules/@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/traverse": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.15.tgz", - "integrity": "sha512-/mpZMNvj6bce59Qzl09fHEs8Bt8NnpEDQYleHUPZQ3wXUMvXi+HJPLars68oAbmp839fGoOkv2pSL2z9ajCIaQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.9", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.13.15", - "@babel/types": "^7.13.14", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "node_modules/@babel/types": { - "version": "7.13.14", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.14.tgz", - "integrity": "sha512-A2aa3QTkWoyqsZZFl56MLUsfmh7O0gN41IPvXAE/++8ojpbz12SszD7JEGYVdn4f9Kt4amIei07swF1h4AqmmQ==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "node_modules/@braintree/sanitize-url": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-3.1.0.tgz", - "integrity": "sha512-GcIY79elgB+azP74j8vqkiXz8xLFfIzbQJdlwOPisgbKT00tviJQuEghOXSMVxJ00HoYJbGswr4kcllUc4xCcg==", - "dev": true - }, - "node_modules/@eslint/eslintrc": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.0.tgz", - "integrity": "sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "dependencies": { - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@fullhuman/postcss-purgecss": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@fullhuman/postcss-purgecss/-/postcss-purgecss-4.0.3.tgz", - "integrity": "sha512-/EnQ9UDWGGqHkn1UKAwSgh+gJHPKmD+Z+5dQ4gWT4qq2NUyez3zqAfZNwFH3eSgmgO+wjTXfhlLchx2M9/K+7Q==", - "dev": true, - "dependencies": { - "purgecss": "^4.0.3" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/@nicolo-ribaudo/chokidar-2": { - "version": "2.1.8-no-fsevents", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.tgz", - "integrity": "sha512-+nb9vWloHNNMFHjGofEam3wopE3m1yuambrrd/fnPc+lFOMB9ROTqQlche9ByFWNkdNqfSgR/kkQtQ8DzEWt2w==", - "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" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", - "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.4", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", - "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.4", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@popperjs/core": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.9.2.tgz", - "integrity": "sha512-VZMYa7+fXHdwIq1TDhSXoVmSPEGM/aa+6Aiq3nVVJ9bXr24zScr+NlKFKC3iPljA7ho/GAZr+d2jOf5GIRC30Q==", - "dev": true, - "peer": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" - } - }, - "node_modules/@sindresorhus/is": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", - "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@stylelint/postcss-css-in-js": { - "version": "0.37.2", - "resolved": "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.2.tgz", - "integrity": "sha512-nEhsFoJurt8oUmieT8qy4nk81WRHmJynmVwn/Vts08PL9fhgIsMhk1GId5yAN643OzqEEb5S/6At2TZW7pqPDA==", - "dev": true, - "dependencies": { - "@babel/core": ">=7.9.0" - }, - "peerDependencies": { - "postcss": ">=7.0.0", - "postcss-syntax": ">=0.36.2" - } - }, - "node_modules/@stylelint/postcss-markdown": { - "version": "0.36.2", - "resolved": "https://registry.npmjs.org/@stylelint/postcss-markdown/-/postcss-markdown-0.36.2.tgz", - "integrity": "sha512-2kGbqUVJUGE8dM+bMzXG/PYUWKkjLIkRLWNh39OaADkiabDRdw8ATFCgbMz5xdIcvwspPAluSL7uY+ZiTWdWmQ==", - "dev": true, - "dependencies": { - "remark": "^13.0.0", - "unist-util-find-all-after": "^3.0.2" - }, - "peerDependencies": { - "postcss": ">=7.0.0", - "postcss-syntax": ">=0.36.2" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", - "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", - "dev": true - }, - "node_modules/@types/mdast": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.3.tgz", - "integrity": "sha512-SXPBMnFVQg1s00dlMCc/jCdvPqdE4mXaMMCeRlxLDmTAEoegHT53xKtkDnzDTOcmMHUfcjyf36/YYZ6SxRdnsw==", - "dev": true, - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/minimist": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", - "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", - "dev": true - }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", - "dev": true - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true - }, - "node_modules/@types/unist": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz", - "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==", - "dev": 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/accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "dev": true, - "dependencies": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/add-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", - "integrity": "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=", - "dev": true - }, - "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/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": "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/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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/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/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/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "node_modules/arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", - "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/archive-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz", - "integrity": "sha1-+S5yIzBW38aWlHJ0nCZ72wRrHXA=", - "dev": true, - "dependencies": { - "file-type": "^4.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/archive-type/node_modules/file-type": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", - "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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/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/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-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": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", - "dev": true - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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/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.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/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/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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, - "optional": true - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "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/autoprefixer": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.2.5.tgz", - "integrity": "sha512-7H4AJZXvSsn62SqZyJCP+1AWwOuoYpUfK6ot9vm0e87XD6mT8lDywc9D9OTJPMULyGcvmIxzTAMeG2Cc+YX+fA==", - "dev": true, - "dependencies": { - "browserslist": "^4.16.3", - "caniuse-lite": "^1.0.30001196", - "colorette": "^1.2.2", - "fraction.js": "^4.0.13", - "normalize-range": "^0.1.2", - "postcss-value-parser": "^4.1.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/babel-loader": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", - "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", - "dev": true, - "dependencies": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, - "engines": { - "node": ">= 8.9" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "webpack": ">=2" - } - }, - "node_modules/babel-loader/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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-polyfill-corejs2": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.0.tgz", - "integrity": "sha512-9bNwiR0dS881c5SHnzCmmGlMkJLl0OUZvxrxHo9w/iNoRuqaPjqlvBf4HrovXtQs/au5yKkpcdgfT1cC5PAZwg==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.2.0", - "semver": "^6.1.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.0.tgz", - "integrity": "sha512-zZyi7p3BCUyzNxLx8KV61zTINkkV65zVkDAFNZmrTCRVhjo1jAS+YLvDJ9Jgd/w2tsAviCwFHReYfxO3Iql8Yg==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.2.0", - "core-js-compat": "^3.9.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.0.tgz", - "integrity": "sha512-J7vKbCuD2Xi/eEHxquHN14bXAW9CXtecwuLrOIDJtcZzTaPzV1VdEfoUf9AzcRBMolKUQKM9/GVojeh0hFiqMg==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.2.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/bail": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", - "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "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-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/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/bin-check": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-4.1.0.tgz", - "integrity": "sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==", - "dev": true, - "dependencies": { - "execa": "^0.7.0", - "executable": "^4.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-version": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-3.1.0.tgz", - "integrity": "sha512-Mkfm4iE1VFt4xd4vH+gx+0/71esbfus2LsnCGe8Pi4mndSPyT+NGES/Eg99jx8/lUGWfu3z2yuB/bt5UB+iVbQ==", - "dev": true, - "dependencies": { - "execa": "^1.0.0", - "find-versions": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/bin-version-check": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-4.0.0.tgz", - "integrity": "sha512-sR631OrhC+1f8Cvs8WyVWOA33Y8tgwjETNPyyD/myRBXLkfS/vl74FmH/lFcRl9KY3zwGh7jFhvyk9vV3/3ilQ==", - "dev": true, - "dependencies": { - "bin-version": "^3.0.0", - "semver": "^5.6.0", - "semver-truncate": "^1.1.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/bin-version-check/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/bin-version/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/bin-version/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/bin-version/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/bin-version/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/bin-version/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/bin-version/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/bin-version/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/bin-version/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/bin-wrapper": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-4.1.0.tgz", - "integrity": "sha512-hfRmo7hWIXPkbpi0ZltboCMVrU+0ClXR/JgbCKKjlDjQf6igXa7OwdqNcFWQZPZTgiY7ZpzE3+LjjkLiTN2T7Q==", - "dev": true, - "dependencies": { - "bin-check": "^4.1.0", - "bin-version-check": "^4.0.0", - "download": "^7.1.0", - "import-lazy": "^3.1.0", - "os-filter-obj": "^2.0.0", - "pify": "^4.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "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/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/bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "dev": true, - "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "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.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "dev": true, - "dependencies": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "engines": { - "node": ">= 0.8" - } - }, - "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/bootstrap": { - "version": "5.0.0-beta3", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.0.0-beta3.tgz", - "integrity": "sha512-0urccjfIOzhrb9qJysN8XW/DRw6rg3zH7qLeKIp4Zyl8+Ens4JWB0NC0cB5AhnSFPd2tftRggjwCMxablo6Tpg==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/bootstrap" - }, - "peerDependencies": { - "@popperjs/core": "^2.9.1" - } - }, - "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": "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/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "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.16.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.4.tgz", - "integrity": "sha512-d7rCxYV8I9kj41RH8UKYnvDYCRENUlHRgyXy/Rhr/1BaeLGfiCptEdFE8MIrvGfWbBFNjVYx76SQWvNX1j+/cQ==", - "dev": true, - "dependencies": { - "caniuse-lite": "^1.0.30001208", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.712", - "escalade": "^3.1.1", - "node-releases": "^1.1.71" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } - }, - "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.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": 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/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.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "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/cacache/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "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/cacheable-request": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", - "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", - "dev": true, - "dependencies": { - "clone-response": "1.0.2", - "get-stream": "3.0.0", - "http-cache-semantics": "3.8.1", - "keyv": "3.0.0", - "lowercase-keys": "1.0.0", - "normalize-url": "2.0.1", - "responselike": "1.0.2" - } - }, - "node_modules/cacheable-request/node_modules/lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", - "dev": true, - "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/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "dev": true, - "dependencies": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" - } - }, - "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/camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001211", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001211.tgz", - "integrity": "sha512-v3GXWKofIkN3PkSidLI5d1oqeKNsam9nQkqieoMhP87nxOY0RPDC8X2+jcv8pjV4dRozPLSoMqNii9sDViOlIg==", - "dev": true - }, - "node_modules/caw": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", - "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==", - "dev": true, - "dependencies": { - "get-proxy": "^2.0.0", - "isurl": "^1.0.0-alpha5", - "tunnel-agent": "^0.6.0", - "url-to-options": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "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/character-entities": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", - "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-legacy": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", - "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-reference-invalid": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", - "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", - "dev": true, - "dependencies": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.1" - } - }, - "node_modules/chokidar/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, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/chokidar/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/chokidar/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/chokidar/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/chokidar/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/chokidar/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, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/chokidar/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/chokidar/node_modules/readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/chokidar/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/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/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/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-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-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/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/clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", - "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", - "dev": true, - "dependencies": { - "source-map": "~0.6.0" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/clean-css/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/clipboard": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.8.tgz", - "integrity": "sha512-Y6WO0unAIQp5bLmk1zdThRhgJt/x3ks6f30s3oE3H1mgIEU33XyQjEf8gsf6DxC7NPX8Y1SsNWjUjL/ywLnnbQ==", - "dev": true, - "dependencies": { - "good-listener": "^1.2.2", - "select": "^1.1.2", - "tiny-emitter": "^2.0.0" - } - }, - "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, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/clone-regexp": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz", - "integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==", - "dev": true, - "dependencies": { - "is-regexp": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "dev": true, - "dependencies": { - "mimic-response": "^1.0.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/colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", - "dev": true - }, - "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, - "dependencies": { - "array-ify": "^1.0.0", - "dot-prop": "^5.1.0" - } - }, - "node_modules/component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "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": "2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", - "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", - "dev": true, - "engines": [ - "node >= 6.0" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/concat-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/config-chain": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", - "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", - "dev": true, - "dependencies": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "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.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "dev": true, - "dependencies": { - "safe-buffer": "5.1.2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "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": { - "version": "3.1.24", - "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.24.tgz", - "integrity": "sha512-ed6k8PO00UVvhExYohroVPXcOJ/K1N0/drJHx/faTH37OIZthlecuLIRX/T6uOp682CAoVoFpu+sSEaeuH6Asg==", - "dev": true, - "dependencies": { - "conventional-changelog-angular": "^5.0.12", - "conventional-changelog-atom": "^2.0.8", - "conventional-changelog-codemirror": "^2.0.8", - "conventional-changelog-conventionalcommits": "^4.5.0", - "conventional-changelog-core": "^4.2.1", - "conventional-changelog-ember": "^2.0.9", - "conventional-changelog-eslint": "^3.0.9", - "conventional-changelog-express": "^2.0.6", - "conventional-changelog-jquery": "^3.0.11", - "conventional-changelog-jshint": "^2.0.9", - "conventional-changelog-preset-loader": "^2.3.4" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-angular": { - "version": "5.0.12", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz", - "integrity": "sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw==", - "dev": true, - "dependencies": { - "compare-func": "^2.0.0", - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-atom": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz", - "integrity": "sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==", - "dev": true, - "dependencies": { - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-codemirror": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz", - "integrity": "sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==", - "dev": true, - "dependencies": { - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-config-spec": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz", - "integrity": "sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ==", - "dev": true - }, - "node_modules/conventional-changelog-conventionalcommits": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.5.0.tgz", - "integrity": "sha512-buge9xDvjjOxJlyxUnar/+6i/aVEVGA7EEh4OafBCXPlLUQPGbRUBhBUveWRxzvR8TEjhKEP4BdepnpG2FSZXw==", - "dev": true, - "dependencies": { - "compare-func": "^2.0.0", - "lodash": "^4.17.15", - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-core": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.2.tgz", - "integrity": "sha512-7pDpRUiobQDNkwHyJG7k9f6maPo9tfPzkSWbRq97GGiZqisElhnvUZSvyQH20ogfOjntB5aadvv6NNcKL1sReg==", - "dev": true, - "dependencies": { - "add-stream": "^1.0.0", - "conventional-changelog-writer": "^4.0.18", - "conventional-commits-parser": "^3.2.0", - "dateformat": "^3.0.0", - "get-pkg-repo": "^1.0.0", - "git-raw-commits": "^2.0.8", - "git-remote-origin-url": "^2.0.0", - "git-semver-tags": "^4.1.1", - "lodash": "^4.17.15", - "normalize-package-data": "^3.0.0", - "q": "^1.5.1", - "read-pkg": "^3.0.0", - "read-pkg-up": "^3.0.0", - "shelljs": "^0.8.3", - "through2": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-ember": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz", - "integrity": "sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==", - "dev": true, - "dependencies": { - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-eslint": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz", - "integrity": "sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==", - "dev": true, - "dependencies": { - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-express": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz", - "integrity": "sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==", - "dev": true, - "dependencies": { - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-jquery": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz", - "integrity": "sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==", - "dev": true, - "dependencies": { - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-jshint": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz", - "integrity": "sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==", - "dev": true, - "dependencies": { - "compare-func": "^2.0.0", - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-preset-loader": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", - "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-writer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz", - "integrity": "sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw==", - "dev": true, - "dependencies": { - "compare-func": "^2.0.0", - "conventional-commits-filter": "^2.0.7", - "dateformat": "^3.0.0", - "handlebars": "^4.7.6", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "semver": "^6.0.0", - "split": "^1.0.0", - "through2": "^4.0.0" - }, - "bin": { - "conventional-changelog-writer": "cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-commits-filter": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", - "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", - "dev": true, - "dependencies": { - "lodash.ismatch": "^4.4.0", - "modify-values": "^1.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-commits-parser": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.1.tgz", - "integrity": "sha512-OG9kQtmMZBJD/32NEw5IhN5+HnBqVjy03eC+I71I0oQRFA5rOgA4OtPOYG7mz1GkCfCNxn3gKIX8EiHJYuf1cA==", - "dev": true, - "dependencies": { - "is-text-path": "^1.0.1", - "JSONStream": "^1.0.4", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0", - "trim-off-newlines": "^1.0.0" - }, - "bin": { - "conventional-commits-parser": "cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-recommended-bump": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz", - "integrity": "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==", - "dev": true, - "dependencies": { - "concat-stream": "^2.0.0", - "conventional-changelog-preset-loader": "^2.3.4", - "conventional-commits-filter": "^2.0.7", - "conventional-commits-parser": "^3.2.0", - "git-raw-commits": "^2.0.8", - "git-semver-tags": "^4.1.1", - "meow": "^8.0.0", - "q": "^1.5.1" - }, - "bin": { - "conventional-recommended-bump": "cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", - "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-concurrently/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "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-compat": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.10.1.tgz", - "integrity": "sha512-ZHQTdTPkqvw2CeHiZC970NNJcnwzT6YIueDMASKt+p3WbZsLXOcoD392SkcWhkC0wBBHhlfhqGKKsNCQUozYtg==", - "dev": true, - "dependencies": { - "browserslist": "^4.16.3", - "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.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "node_modules/cosmiconfig": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", - "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", - "dev": true, - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cosmiconfig/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, - "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/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-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "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/css-b64-images": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/css-b64-images/-/css-b64-images-0.2.5.tgz", - "integrity": "sha1-QgBdgyBLK0pdk7axpWRBM7WSegI=", - "dev": true, - "bin": { - "css-b64-images": "bin/css-b64-images" - }, - "engines": { - "node": "*" - } - }, - "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/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/cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true - }, - "node_modules/d3": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/d3/-/d3-5.16.0.tgz", - "integrity": "sha512-4PL5hHaHwX4m7Zr1UapXW23apo6pexCgdetdJ5kTmADpG/7T9Gkxw0M0tf/pjoB63ezCCm0u5UaFYy2aMt0Mcw==", - "dev": true, - "dependencies": { - "d3-array": "1", - "d3-axis": "1", - "d3-brush": "1", - "d3-chord": "1", - "d3-collection": "1", - "d3-color": "1", - "d3-contour": "1", - "d3-dispatch": "1", - "d3-drag": "1", - "d3-dsv": "1", - "d3-ease": "1", - "d3-fetch": "1", - "d3-force": "1", - "d3-format": "1", - "d3-geo": "1", - "d3-hierarchy": "1", - "d3-interpolate": "1", - "d3-path": "1", - "d3-polygon": "1", - "d3-quadtree": "1", - "d3-random": "1", - "d3-scale": "2", - "d3-scale-chromatic": "1", - "d3-selection": "1", - "d3-shape": "1", - "d3-time": "1", - "d3-time-format": "2", - "d3-timer": "1", - "d3-transition": "1", - "d3-voronoi": "1", - "d3-zoom": "1" - } - }, - "node_modules/d3-array": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz", - "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==", - "dev": true - }, - "node_modules/d3-axis": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-1.0.12.tgz", - "integrity": "sha512-ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ==", - "dev": true - }, - "node_modules/d3-brush": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-1.1.6.tgz", - "integrity": "sha512-7RW+w7HfMCPyZLifTz/UnJmI5kdkXtpCbombUSs8xniAyo0vIbrDzDwUJB6eJOgl9u5DQOt2TQlYumxzD1SvYA==", - "dev": true, - "dependencies": { - "d3-dispatch": "1", - "d3-drag": "1", - "d3-interpolate": "1", - "d3-selection": "1", - "d3-transition": "1" - } - }, - "node_modules/d3-chord": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-1.0.6.tgz", - "integrity": "sha512-JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA==", - "dev": true, - "dependencies": { - "d3-array": "1", - "d3-path": "1" - } - }, - "node_modules/d3-collection": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.7.tgz", - "integrity": "sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==", - "dev": true - }, - "node_modules/d3-color": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.4.1.tgz", - "integrity": "sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==", - "dev": true - }, - "node_modules/d3-contour": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-1.3.2.tgz", - "integrity": "sha512-hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg==", - "dev": true, - "dependencies": { - "d3-array": "^1.1.1" - } - }, - "node_modules/d3-dispatch": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.6.tgz", - "integrity": "sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==", - "dev": true - }, - "node_modules/d3-drag": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.5.tgz", - "integrity": "sha512-rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w==", - "dev": true, - "dependencies": { - "d3-dispatch": "1", - "d3-selection": "1" - } - }, - "node_modules/d3-dsv": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.2.0.tgz", - "integrity": "sha512-9yVlqvZcSOMhCYzniHE7EVUws7Fa1zgw+/EAV2BxJoG3ME19V6BQFBwI855XQDsxyOuG7NibqRMTtiF/Qup46g==", - "dev": true, - "dependencies": { - "commander": "2", - "iconv-lite": "0.4", - "rw": "1" - }, - "bin": { - "csv2json": "bin/dsv2json", - "csv2tsv": "bin/dsv2dsv", - "dsv2dsv": "bin/dsv2dsv", - "dsv2json": "bin/dsv2json", - "json2csv": "bin/json2dsv", - "json2dsv": "bin/json2dsv", - "json2tsv": "bin/json2dsv", - "tsv2csv": "bin/dsv2dsv", - "tsv2json": "bin/dsv2json" - } - }, - "node_modules/d3-dsv/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/d3-ease": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.7.tgz", - "integrity": "sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ==", - "dev": true - }, - "node_modules/d3-fetch": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-1.2.0.tgz", - "integrity": "sha512-yC78NBVcd2zFAyR/HnUiBS7Lf6inSCoWcSxFfw8FYL7ydiqe80SazNwoffcqOfs95XaLo7yebsmQqDKSsXUtvA==", - "dev": true, - "dependencies": { - "d3-dsv": "1" - } - }, - "node_modules/d3-force": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-1.2.1.tgz", - "integrity": "sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==", - "dev": true, - "dependencies": { - "d3-collection": "1", - "d3-dispatch": "1", - "d3-quadtree": "1", - "d3-timer": "1" - } - }, - "node_modules/d3-format": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz", - "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ==", - "dev": true - }, - "node_modules/d3-geo": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.12.1.tgz", - "integrity": "sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg==", - "dev": true, - "dependencies": { - "d3-array": "1" - } - }, - "node_modules/d3-hierarchy": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz", - "integrity": "sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==", - "dev": true - }, - "node_modules/d3-interpolate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.4.0.tgz", - "integrity": "sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==", - "dev": true, - "dependencies": { - "d3-color": "1" - } - }, - "node_modules/d3-path": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", - "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==", - "dev": true - }, - "node_modules/d3-polygon": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-1.0.6.tgz", - "integrity": "sha512-k+RF7WvI08PC8reEoXa/w2nSg5AUMTi+peBD9cmFc+0ixHfbs4QmxxkarVal1IkVkgxVuk9JSHhJURHiyHKAuQ==", - "dev": true - }, - "node_modules/d3-quadtree": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.7.tgz", - "integrity": "sha512-RKPAeXnkC59IDGD0Wu5mANy0Q2V28L+fNe65pOCXVdVuTJS3WPKaJlFHer32Rbh9gIo9qMuJXio8ra4+YmIymA==", - "dev": true - }, - "node_modules/d3-random": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-1.1.2.tgz", - "integrity": "sha512-6AK5BNpIFqP+cx/sreKzNjWbwZQCSUatxq+pPRmFIQaWuoD+NrbVWw7YWpHiXpCQ/NanKdtGDuB+VQcZDaEmYQ==", - "dev": true - }, - "node_modules/d3-scale": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-2.2.2.tgz", - "integrity": "sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw==", - "dev": true, - "dependencies": { - "d3-array": "^1.2.0", - "d3-collection": "1", - "d3-format": "1", - "d3-interpolate": "1", - "d3-time": "1", - "d3-time-format": "2" - } - }, - "node_modules/d3-scale-chromatic": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-1.5.0.tgz", - "integrity": "sha512-ACcL46DYImpRFMBcpk9HhtIyC7bTBR4fNOPxwVSl0LfulDAwyiHyPOTqcDG1+t5d4P9W7t/2NAuWu59aKko/cg==", - "dev": true, - "dependencies": { - "d3-color": "1", - "d3-interpolate": "1" - } - }, - "node_modules/d3-selection": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.2.tgz", - "integrity": "sha512-SJ0BqYihzOjDnnlfyeHT0e30k0K1+5sR3d5fNueCNeuhZTnGw4M4o8mqJchSwgKMXCNFo+e2VTChiSJ0vYtXkg==", - "dev": true - }, - "node_modules/d3-shape": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", - "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", - "dev": true, - "dependencies": { - "d3-path": "1" - } - }, - "node_modules/d3-time": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.1.0.tgz", - "integrity": "sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==", - "dev": true - }, - "node_modules/d3-time-format": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.3.0.tgz", - "integrity": "sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==", - "dev": true, - "dependencies": { - "d3-time": "1" - } - }, - "node_modules/d3-timer": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.10.tgz", - "integrity": "sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==", - "dev": true - }, - "node_modules/d3-transition": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.3.2.tgz", - "integrity": "sha512-sc0gRU4PFqZ47lPVHloMn9tlPcv8jxgOQg+0zjhfZXMQuvppjG6YuwdMBE0TuqCZjeJkLecku/l9R0JPcRhaDA==", - "dev": true, - "dependencies": { - "d3-color": "1", - "d3-dispatch": "1", - "d3-ease": "1", - "d3-interpolate": "1", - "d3-selection": "^1.1.0", - "d3-timer": "1" - } - }, - "node_modules/d3-voronoi": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.4.tgz", - "integrity": "sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==", - "dev": true - }, - "node_modules/d3-zoom": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-1.8.3.tgz", - "integrity": "sha512-VoLXTK4wvy1a0JpH2Il+F2CiOhVu7VRXWF5M/LroMIh3/zBAC3WAt7QoIvPibOavVo20hN6/37vwAsdBejLyKQ==", - "dev": true, - "dependencies": { - "d3-dispatch": "1", - "d3-drag": "1", - "d3-interpolate": "1", - "d3-selection": "1", - "d3-transition": "1" - } - }, - "node_modules/dagre": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/dagre/-/dagre-0.8.5.tgz", - "integrity": "sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==", - "dev": true, - "dependencies": { - "graphlib": "^2.1.8", - "lodash": "^4.17.15" - } - }, - "node_modules/dagre-d3": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/dagre-d3/-/dagre-d3-0.6.4.tgz", - "integrity": "sha512-e/6jXeCP7/ptlAM48clmX4xTZc5Ek6T6kagS7Oz2HrYSdqcLZFLqpAfh7ldbZRFfxCZVyh61NEPR08UQRVxJzQ==", - "dev": true, - "dependencies": { - "d3": "^5.14", - "dagre": "^0.8.5", - "graphlib": "^2.1.8", - "lodash": "^4.17.15" - } - }, - "node_modules/dargs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", - "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/dateformat": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "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/decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", - "dev": true, - "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys/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/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/decompress": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", - "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", - "dev": true, - "dependencies": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dev": true, - "dependencies": { - "mimic-response": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-tar": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", - "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", - "dev": true, - "dependencies": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-tar/node_modules/file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-tarbz2": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", - "dev": true, - "dependencies": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-tarbz2/node_modules/file-type": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", - "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-targz": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", - "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", - "dev": true, - "dependencies": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-targz/node_modules/file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-unzip": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", - "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", - "dev": true, - "dependencies": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-unzip/node_modules/file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decompress-unzip/node_modules/get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", - "dev": true, - "dependencies": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decompress-unzip/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/decompress/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/decompress/node_modules/make-dir/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/decompress/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/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, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "dependencies": { - "object-keys": "^1.0.12" - }, - "engines": { - "node": ">= 0.4" - } - }, - "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/delegate": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", - "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==", - "dev": true - }, - "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/dependency-graph": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.9.0.tgz", - "integrity": "sha512-9YLIBURXj4DJMFALxXw9K3Y3rwb5Fk0X5/8ipCzaN84+gKxoHK43tVKRNakCQbiEx07E8Uwhuq21BpUagFhZ8w==", - "dev": true, - "engines": { - "node": ">= 0.6.0" - } - }, - "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.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true - }, - "node_modules/detect-indent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz", - "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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": "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/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dev": true, - "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "node_modules/dom-serializer/node_modules/domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "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/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true - }, - "node_modules/domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "dev": true, - "dependencies": { - "domelementtype": "1" - } - }, - "node_modules/domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dev": true, - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "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, - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dotgitignore": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz", - "integrity": "sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/dotgitignore/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/dotgitignore/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/dotgitignore/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/dotgitignore/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/dotgitignore/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/download": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/download/-/download-7.1.0.tgz", - "integrity": "sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==", - "dev": true, - "dependencies": { - "archive-type": "^4.0.0", - "caw": "^2.0.1", - "content-disposition": "^0.5.2", - "decompress": "^4.2.0", - "ext-name": "^5.0.0", - "file-type": "^8.1.0", - "filenamify": "^2.0.0", - "get-stream": "^3.0.0", - "got": "^8.3.1", - "make-dir": "^1.2.0", - "p-event": "^2.1.0", - "pify": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/download/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/download/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/duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", - "dev": true - }, - "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/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/electron-to-chromium": { - "version": "1.3.717", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.717.tgz", - "integrity": "sha512-OfzVPIqD1MkJ7fX+yTl2nKyOE4FReeVfMCzzxQS+Kp43hZYwHwThlGP+EGIZRXJsxCM7dqo8Y65NOX/HP12iXQ==", - "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 - }, - "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/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/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", - "dev": true, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/entity-decode": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/entity-decode/-/entity-decode-2.0.2.tgz", - "integrity": "sha512-5CCY/3ci4MC1m2jlumNjWd7VBFt4VfFnmSqSNmVcXq4gxM3Vmarxtt+SvmBnzwLS669MWdVuXboNVj1qN2esVg==", - "dev": true, - "dependencies": { - "he": "^1.1.1" - } - }, - "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/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/eslint": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.24.0.tgz", - "integrity": "sha512-k9gaHeHiFmGCDQ2rEfvULlSLruz6tgfA8DEn+rY9/oYPFFTlz55mM/Q/Rij1b2Y42jwZiK3lXvNTw6w6TXzcKQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash": "^4.17.21", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.4", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-utils/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-visitor-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", - "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, - "node_modules/eslint/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, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": 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/eslint/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, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/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 - }, - "node_modules/eslint/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/eslint/node_modules/globals": { - "version": "13.8.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.8.0.tgz", - "integrity": "sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/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/eslint/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/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/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/espree/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/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.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "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.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "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/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/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/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/execa/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/execa/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/execa/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/execa/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/execa/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/execall": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz", - "integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==", - "dev": true, - "dependencies": { - "clone-regexp": "^2.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/executable": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", - "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", - "dev": true, - "dependencies": { - "pify": "^2.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/executable/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/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/expand-brackets/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/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/expand-brackets/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/expand-brackets/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/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/expand-brackets/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/expand-brackets/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": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "dev": true, - "dependencies": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "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.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "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-logging": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/express-logging/-/express-logging-1.1.1.tgz", - "integrity": "sha1-YoOWGMurW7NhDxocFIU1L+nSbCo=", - "dev": true, - "dependencies": { - "on-headers": "^1.0.0" - }, - "engines": { - "node": ">= 0.10.26" - } - }, - "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/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/ext-list": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", - "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", - "dev": true, - "dependencies": { - "mime-db": "^1.28.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ext-name": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", - "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", - "dev": true, - "dependencies": { - "ext-list": "^2.0.0", - "sort-keys-length": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "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": "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/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/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-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/fast-glob": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", - "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fast-glob/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fast-glob/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fast-glob/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/fast-glob/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/fast-glob/node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/fast-glob/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/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/fastest-levenshtein": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", - "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", - "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", - "dev": true, - "dependencies": { - "pend": "~1.2.0" - } - }, - "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": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/file-type": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz", - "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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-reserved-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", - "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/filenamify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.1.0.tgz", - "integrity": "sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==", - "dev": true, - "dependencies": { - "filename-reserved-regex": "^2.0.0", - "strip-outer": "^1.0.0", - "trim-repeated": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "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/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/find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/find-cache-dir/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/find-versions": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.2.0.tgz", - "integrity": "sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==", - "dev": true, - "dependencies": { - "semver-regex": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", - "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", - "dev": true - }, - "node_modules/flexsearch": { - "version": "0.6.32", - "resolved": "https://registry.npmjs.org/flexsearch/-/flexsearch-0.6.32.tgz", - "integrity": "sha512-EF1BWkhwoeLtbIlDbY/vDSLBen/E5l/f1Vg7iX5CDymQCamcx1vhlc3tIZxIDplPjgi0jhG37c67idFbjg+v+Q==", - "dev": true - }, - "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/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/forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fraction.js": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.0.13.tgz", - "integrity": "sha512-E1fz2Xs9ltlUp+qbiyx9wmt2n9dRzPsS11Jtdb8D2o+cC7wr9xkkKsVKJuBX0ST+LVS+LhLO+SbLJNtfWcJvXA==", - "dev": true, - "engines": { - "node": "*" - } - }, - "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-access": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz", - "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=", - "dev": true, - "dependencies": { - "null-check": "^1.0.0" - }, - "engines": { - "node": ">=0.10.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": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "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/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/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/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": "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, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "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-pkg-repo": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz", - "integrity": "sha1-xztInAbYDMVTbCyFP54FIyBWly0=", - "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "meow": "^3.3.0", - "normalize-package-data": "^2.3.0", - "parse-github-repo-url": "^1.3.0", - "through2": "^2.0.0" - }, - "bin": { - "get-pkg-repo": "cli.js" - } - }, - "node_modules/get-pkg-repo/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/get-pkg-repo/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/get-pkg-repo/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/get-pkg-repo/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-pkg-repo/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/get-pkg-repo/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/get-pkg-repo/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/get-pkg-repo/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/get-pkg-repo/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/get-pkg-repo/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/get-pkg-repo/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/get-pkg-repo/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/get-pkg-repo/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/get-pkg-repo/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/get-pkg-repo/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/get-pkg-repo/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/get-pkg-repo/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/get-pkg-repo/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/get-pkg-repo/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/get-pkg-repo/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/get-pkg-repo/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/get-proxy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", - "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==", - "dev": true, - "dependencies": { - "npm-conf": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/get-stdin": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", - "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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-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/git-raw-commits": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.10.tgz", - "integrity": "sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ==", - "dev": true, - "dependencies": { - "dargs": "^7.0.0", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - }, - "bin": { - "git-raw-commits": "cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/git-remote-origin-url": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", - "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=", - "dev": true, - "dependencies": { - "gitconfiglocal": "^1.0.0", - "pify": "^2.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-remote-origin-url/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/git-semver-tags": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz", - "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==", - "dev": true, - "dependencies": { - "meow": "^8.0.0", - "semver": "^6.0.0" - }, - "bin": { - "git-semver-tags": "cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/gitconfiglocal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", - "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=", - "dev": true, - "dependencies": { - "ini": "^1.3.2" - } - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "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-all": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/glob-all/-/glob-all-3.2.1.tgz", - "integrity": "sha512-x877rVkzB3ipid577QOp+eQCR6M5ZyiwrtaYgrX/z3EThaSPFtLDwBXFHc3sH1cG0R0vFYI5SRYeWMMSEyXkUw==", - "dev": true, - "dependencies": { - "glob": "^7.1.2", - "yargs": "^15.3.1" - }, - "bin": { - "glob-all": "bin/glob-all" - } - }, - "node_modules/glob-all/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, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/glob-all/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/glob-all/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, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/glob-all/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 - }, - "node_modules/glob-all/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/glob-all/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/glob-all/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/glob-all/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/glob-all/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/glob-all/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/glob-all/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "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/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/global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dev": true, - "dependencies": { - "global-prefix": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dev": true, - "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix/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/global-prefix/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/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": "11.0.3", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz", - "integrity": "sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby/node_modules/ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/globby/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/globjoin": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", - "integrity": "sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=", - "dev": true - }, - "node_modules/gonzales-pe": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz", - "integrity": "sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "gonzales": "bin/gonzales.js" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/good-listener": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", - "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", - "dev": true, - "dependencies": { - "delegate": "^3.1.2" - } - }, - "node_modules/got": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", - "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", - "dev": true, - "dependencies": { - "@sindresorhus/is": "^0.7.0", - "cacheable-request": "^2.1.1", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "into-stream": "^3.1.0", - "is-retry-allowed": "^1.1.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "mimic-response": "^1.0.0", - "p-cancelable": "^0.4.0", - "p-timeout": "^2.0.1", - "pify": "^3.0.0", - "safe-buffer": "^5.1.1", - "timed-out": "^4.0.1", - "url-parse-lax": "^3.0.0", - "url-to-options": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/got/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/graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", - "dev": true - }, - "node_modules/graphlib": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", - "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", - "dev": true, - "dependencies": { - "lodash": "^4.17.15" - } - }, - "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/hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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-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-symbol-support-x": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", - "dev": true, - "dependencies": { - "has-symbol-support-x": "^1.4.1" - }, - "engines": { - "node": "*" - } - }, - "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/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/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "bin": { - "he": "bin/he" - } - }, - "node_modules/highlight.js": { - "version": "10.7.2", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.2.tgz", - "integrity": "sha512-oFLl873u4usRM9K63j4ME9u3etNF0PLiJhSQ8rdfuL51Wn3zkD6drf9ZW0dOzjnZI22YYG24z30JcmfCZjMgYg==", - "dev": true, - "engines": { - "node": "*" - } - }, - "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/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-minifier": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz", - "integrity": "sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==", - "dev": true, - "dependencies": { - "camel-case": "^3.0.0", - "clean-css": "^4.2.1", - "commander": "^2.19.0", - "he": "^1.2.0", - "param-case": "^2.1.1", - "relateurl": "^0.2.7", - "uglify-js": "^3.5.1" - }, - "bin": { - "html-minifier": "cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/html-minifier/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/html-tags": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", - "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "dev": true, - "dependencies": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - } - }, - "node_modules/htmlparser2/node_modules/entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", - "dev": true - }, - "node_modules/htmlparser2/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/http-cache-semantics": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", - "dev": true - }, - "node_modules/http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "dev": true, - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/http-errors/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/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/hugo-bin": { - "version": "0.70.0", - "resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.70.0.tgz", - "integrity": "sha512-6tioRXXugsdERwCcCwvBkdVI5ROClUG5/FVFzTIXzvgfu105ToZtmolnB3CTEvSy7cjKF/BpVGQ3hzLWyw0BaA==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "bin-wrapper": "^4.1.0", - "pkg-conf": "^3.1.0", - "rimraf": "^3.0.2", - "signale": "^1.4.0" - }, - "bin": { - "hugo": "cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "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/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": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz", - "integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==", - "dev": true, - "dependencies": { - "import-from": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz", - "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", - "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-from/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-lazy": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz", - "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "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/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 - }, - "node_modules/instant.page": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/instant.page/-/instant.page-5.1.0.tgz", - "integrity": "sha512-7tz0vkrbj6rN08+C56UDTs1Z71ATPNjMv2eCFaYnIIn3jlkEF6HZCaUtsigjaN2hVaYiuu06vu1usDMnu+OEFg==", - "dev": true - }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/into-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", - "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", - "dev": true, - "dependencies": { - "from2": "^2.1.1", - "p-is-promise": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/invariant": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", - "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", - "dev": true, - "dependencies": { - "loose-envify": "^1.0.0" - } - }, - "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-accessor-descriptor/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/is-alphabetical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", - "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-alphanumerical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", - "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", - "dev": true, - "dependencies": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "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-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/is-boolean-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz", - "integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==", - "dev": true, - "dependencies": { - "call-bind": "^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-core-module": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", - "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", - "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-data-descriptor/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/is-decimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", - "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "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-descriptor/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/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": "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, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-hexadecimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", - "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-natural-number": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", - "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=", - "dev": true - }, - "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/is-number-object": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", - "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==", - "dev": true, - "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, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", - "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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-regexp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz", - "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-retry-allowed": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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.5", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-text-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", - "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", - "dev": true, - "dependencies": { - "text-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "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-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/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/isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", - "dev": true, - "dependencies": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" - }, - "engines": { - "node": ">= 4" - } - }, - "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/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-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", - "dev": true - }, - "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 - }, - "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/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.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonc-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", - "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", - "dev": true - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", - "dev": true, - "engines": [ - "node >= 0.2.0" - ] - }, - "node_modules/JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dev": true, - "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/jwt-decode": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz", - "integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==", - "dev": true - }, - "node_modules/katex": { - "version": "0.13.2", - "resolved": "https://registry.npmjs.org/katex/-/katex-0.13.2.tgz", - "integrity": "sha512-u/KhjFDhyPr+70aiBn9SL/9w/QlLagIXBi2NZSbNnBUp2tR8dCjQplyEMkEzniem5gOeSCBjlBUg4VaiWs1JJg==", - "dev": true, - "dependencies": { - "commander": "^6.0.0" - }, - "bin": { - "katex": "cli.js" - } - }, - "node_modules/katex/node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/keyv": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", - "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", - "dev": true, - "dependencies": { - "json-buffer": "3.0.0" - } - }, - "node_modules/khroma": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/khroma/-/khroma-1.4.1.tgz", - "integrity": "sha512-+GmxKvmiRuCcUYDgR7g5Ngo0JEDeOsGdNONdU2zsiBQaK4z19Y2NvXqfEDE0ZiIrg45GTZyAnPLVsLZZACYm3Q==", - "dev": true - }, - "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/known-css-properties": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.21.0.tgz", - "integrity": "sha512-sZLUnTqimCkvkgRS+kbPlYW5o8q5w1cu+uIisKpEWkj31I8mx8kNG162DwRav8Zirkva6N5uoFsm9kzK4mUXjw==", - "dev": true - }, - "node_modules/lazysizes": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/lazysizes/-/lazysizes-5.3.2.tgz", - "integrity": "sha512-22UzWP+Vedi/sMeOr8O7FWimRVtiNJV2HCa+V8+peZOw6QbswN9k58VUhd7i6iK5bw5QkYrF01LJbeJe0PV8jg==", - "dev": true - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", - "dev": true - }, - "node_modules/linkify-it": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.2.tgz", - "integrity": "sha512-gDBO4aHNZS6coiZCKVhSNh43F9ioIL4JwRjLZPkoLIY4yZFwg264Y5lu2x6rb1Js42Gh6Yqm2f6L2AJcnkzinQ==", - "dev": true, - "dependencies": { - "uc.micro": "^1.0.1" - } - }, - "node_modules/load-json-file": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", - "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.15", - "parse-json": "^4.0.0", - "pify": "^4.0.1", - "strip-bom": "^3.0.0", - "type-fest": "^0.3.0" - }, - "engines": { - "node": ">=6" - } - }, - "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": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "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.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.differencewith": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.differencewith/-/lodash.differencewith-4.5.0.tgz", - "integrity": "sha1-uvr7yRi1UVTheRdqALsK76rIVLc=", - "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.forown": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.forown/-/lodash.forown-4.4.0.tgz", - "integrity": "sha1-hRFc8E9z75ZuztUlEdOJPMRmg68=", - "dev": true - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", - "dev": true - }, - "node_modules/lodash.groupby": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.groupby/-/lodash.groupby-4.6.0.tgz", - "integrity": "sha1-Cwih3PaDl8OXhVwyOXg4Mt90A9E=", - "dev": true - }, - "node_modules/lodash.ismatch": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", - "integrity": "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=", - "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.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", - "dev": true - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-symbols/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, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": 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/log-symbols/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, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/log-symbols/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 - }, - "node_modules/log-symbols/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/log-symbols/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/longest-streak": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz", - "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "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/lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", - "dev": true - }, - "node_modules/lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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/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/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/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": "4.2.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz", - "integrity": "sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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/markdown-it": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.0.4.tgz", - "integrity": "sha512-34RwOXZT8kyuOJy25oJNJoulO8L0bTHYWXcdZBYZqFnjIy3NgjeoM3FmPXIOFQ26/lSHYMr8oc62B6adxXcb3Q==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1", - "entities": "~2.1.0", - "linkify-it": "^3.0.1", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" - }, - "bin": { - "markdown-it": "bin/markdown-it.js" - } - }, - "node_modules/markdown-it/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 - }, - "node_modules/markdownlint": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.23.1.tgz", - "integrity": "sha512-iOEwhDfNmq2IJlaA8mzEkHYUi/Hwoa6Ss+HO5jkwUR6wQ4quFr0WzSx+Z9rsWZKUaPbyirIdL1zGmJRkWawr4Q==", - "dev": true, - "dependencies": { - "markdown-it": "12.0.4" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/markdownlint-cli": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.27.1.tgz", - "integrity": "sha512-p1VV6aSbGrDlpUWzHizAnSNEQAweVR3qUI/AIUubxW7BGPXziSXkIED+uRtSohUlRS/jmqp3Wi4es5j6fIrdeQ==", - "dev": true, - "dependencies": { - "commander": "~7.1.0", - "deep-extend": "~0.6.0", - "get-stdin": "~8.0.0", - "glob": "~7.1.6", - "ignore": "~5.1.8", - "js-yaml": "^4.0.0", - "jsonc-parser": "~3.0.0", - "lodash.differencewith": "~4.5.0", - "lodash.flatten": "~4.4.0", - "markdownlint": "~0.23.1", - "markdownlint-rule-helpers": "~0.14.0", - "minimatch": "~3.0.4", - "minimist": "~1.2.5", - "rc": "~1.2.8" - }, - "bin": { - "markdownlint": "markdownlint.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/markdownlint-cli/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 - }, - "node_modules/markdownlint-cli/node_modules/commander": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.1.0.tgz", - "integrity": "sha512-pRxBna3MJe6HKnBGsDyMv8ETbptw3axEdYHoqNh7gu5oDcew8fs0xnivZGm06Ogk8zGAJ9VX+OPEr2GXEQK4dg==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/markdownlint-cli/node_modules/ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/markdownlint-cli/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, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/markdownlint-rule-helpers": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/markdownlint-rule-helpers/-/markdownlint-rule-helpers-0.14.0.tgz", - "integrity": "sha512-vRTPqSU4JK8vVXmjICHSBhwXUvbfh/VJo+j7hvxqe15tLJyomv3FLgFdFgb8kpj0Fe8SsJa/TZUAXv7/sN+N7A==", - "dev": true - }, - "node_modules/mathml-tag-names": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", - "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "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/mdast-util-from-markdown": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz", - "integrity": "sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==", - "dev": true, - "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-to-string": "^2.0.0", - "micromark": "~2.11.0", - "parse-entities": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz", - "integrity": "sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "longest-streak": "^2.0.0", - "mdast-util-to-string": "^2.0.0", - "parse-entities": "^2.0.0", - "repeat-string": "^1.0.0", - "zwitch": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", - "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", - "dev": true - }, - "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/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": "8.1.2", - "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", - "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", - "dev": true, - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/meow/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/meow/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/meow/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/meow/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/meow/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, - "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/meow/node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/meow/node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/meow/node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/meow/node_modules/read-pkg/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/meow/node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/meow/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/meow/node_modules/type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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/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/mermaid": { - "version": "8.9.2", - "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-8.9.2.tgz", - "integrity": "sha512-XWEaraDRDlHZexdeHSSr/MH4VJAOksRSPudchi69ecZJ7IUjjlzHsg32n4ZwJUh6lFO+NMYLHwHNNYUyxIjGPg==", - "dev": true, - "dependencies": { - "@braintree/sanitize-url": "^3.1.0", - "d3": "^5.7.0", - "dagre": "^0.8.4", - "dagre-d3": "^0.6.4", - "entity-decode": "^2.0.2", - "graphlib": "^2.1.7", - "he": "^1.2.0", - "khroma": "^1.1.0", - "minify": "^4.1.1", - "moment-mini": "^2.22.1", - "stylis": "^3.5.2" - } - }, - "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/micromark": { - "version": "2.11.4", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz", - "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "debug": "^4.0.0", - "parse-entities": "^2.0.0" - } - }, - "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/micromatch/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/micromatch/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/micromatch/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/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.47.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", - "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.30", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", - "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", - "dev": true, - "dependencies": { - "mime-db": "1.47.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/minify": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/minify/-/minify-4.1.3.tgz", - "integrity": "sha512-ykuscavxivSmVpcCzsXmsVTukWYLUUtPhHj0w2ILvHDGqC+hsuTCihBn9+PJBd58JNvWTNg9132J9nrrI2anzA==", - "dev": true, - "dependencies": { - "clean-css": "^4.1.6", - "css-b64-images": "~0.2.5", - "debug": "^4.1.0", - "html-minifier": "^4.0.0", - "terser": "^4.0.0", - "try-catch": "^2.0.0", - "try-to-catch": "^1.0.2" - }, - "bin": { - "minify": "bin/minify.js" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "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.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "node_modules/minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dev": true, - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/minimist-options/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/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/mississippi/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/mississippi/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/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.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/modify-values": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", - "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/moment-mini": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/moment-mini/-/moment-mini-2.24.0.tgz", - "integrity": "sha512-9ARkWHBs+6YJIvrIp0Ik5tyTTtP9PoV0Ssu2Ocq5y9v8+NOOpWiRshAp8c4rZVWTOe+157on/5G+zj5pwIQFEQ==", - "dev": true - }, - "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/move-concurrently/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "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/nan": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", - "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", - "dev": true, - "optional": true - }, - "node_modules/nanoid": { - "version": "3.1.22", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.22.tgz", - "integrity": "sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ==", - "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "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/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/nanomatch/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/nanomatch/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/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/negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "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/netlify-lambda": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/netlify-lambda/-/netlify-lambda-2.0.3.tgz", - "integrity": "sha512-QiFKYlCookKF0we/ny65ejHfDK5rKSC7jC0KbSVehsS/nh9eRTip2lnJ1ecVwDUbeyAnq20s5YsCK14Tr//DjA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.10.4", - "@babel/plugin-proposal-class-properties": "^7.10.4", - "@babel/plugin-proposal-object-rest-spread": "^7.10.4", - "@babel/plugin-transform-object-assign": "^7.10.4", - "@babel/preset-env": "^7.10.4", - "babel-loader": "^8.1.0", - "body-parser": "^1.19.0", - "commander": "^5.1.0", - "express": "^4.17.1", - "express-logging": "^1.1.1", - "find-up": "^5.0.0", - "globby": "^11.0.1", - "jwt-decode": "^3.0.0", - "toml": "^3.0.0", - "webpack": "^4.43.0", - "webpack-merge": "^4.2.2" - }, - "bin": { - "netlify-lambda": "bin/cmd.js" - }, - "engines": { - "node": ">=v10.22.1" - } - }, - "node_modules/netlify-lambda/node_modules/commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "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/no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "dev": true, - "dependencies": { - "lower-case": "^1.1.1" - } - }, - "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-libs-browser/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/node-releases": { - "version": "1.1.71", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", - "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", - "dev": true - }, - "node_modules/normalize-package-data": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", - "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", - "dev": true, - "dependencies": { - "hosted-git-info": "^4.0.1", - "resolve": "^1.20.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/normalize-package-data/node_modules/hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/normalize-package-data/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/normalize-package-data/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/normalize-package-data/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "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-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-selector": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz", - "integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=", - "dev": true - }, - "node_modules/normalize-url": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", - "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", - "dev": true, - "dependencies": { - "prepend-http": "^2.0.0", - "query-string": "^5.0.1", - "sort-keys": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-conf": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", - "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", - "dev": true, - "dependencies": { - "config-chain": "^1.1.11", - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-conf/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/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-run-path/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/null-check": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz", - "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true - }, - "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-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-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.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/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/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true, - "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/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "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-filter-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-2.0.0.tgz", - "integrity": "sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==", - "dev": true, - "dependencies": { - "arch": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-cancelable": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", - "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-event": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz", - "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==", - "dev": true, - "dependencies": { - "p-timeout": "^2.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "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": "1.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", - "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-timeout": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", - "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", - "dev": true, - "dependencies": { - "p-finally": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "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/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/param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", - "dev": true, - "dependencies": { - "no-case": "^2.2.0" - } - }, - "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, - "dependencies": { - "callsites": "^3.0.0" - }, - "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-entities": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", - "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", - "dev": true, - "dependencies": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/parse-github-repo-url": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz", - "integrity": "sha1-nn2LslKmy2ukJZUGC3v23z28H1A=", - "dev": true - }, - "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/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, - "optional": true - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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-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, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": 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": "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/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/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", - "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "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/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/pkg-conf": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-3.1.0.tgz", - "integrity": "sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0", - "load-json-file": "^5.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-conf/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-conf/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-conf/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-conf/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-conf/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/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "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": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "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": "8.2.10", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.10.tgz", - "integrity": "sha512-b/h7CPV7QEdrqIxtAf2j31U5ef05uBDuvoXv6L51Q4rcS1jdlXAVKJv+atCFdUXYl9dyTHGyoMzIepwowRJjFw==", - "dev": true, - "dependencies": { - "colorette": "^1.2.2", - "nanoid": "^3.1.22", - "source-map": "^0.6.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-cli": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-8.3.1.tgz", - "integrity": "sha512-leHXsQRq89S3JC9zw/tKyiVV2jAhnfQe0J8VI4eQQbUjwIe0XxVqLrR+7UsahF1s9wi4GlqP6SJ8ydf44cgF2Q==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "chokidar": "^3.3.0", - "dependency-graph": "^0.9.0", - "fs-extra": "^9.0.0", - "get-stdin": "^8.0.0", - "globby": "^11.0.0", - "postcss-load-config": "^3.0.0", - "postcss-reporter": "^7.0.0", - "pretty-hrtime": "^1.0.3", - "read-cache": "^1.0.0", - "slash": "^3.0.0", - "yargs": "^16.0.0" - }, - "bin": { - "postcss": "bin/postcss" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-cli/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, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/postcss-cli/node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": 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/postcss-cli/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, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/postcss-cli/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 - }, - "node_modules/postcss-cli/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/postcss-cli/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/postcss-cli/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/postcss-html": { - "version": "0.36.0", - "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.36.0.tgz", - "integrity": "sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw==", - "dev": true, - "dependencies": { - "htmlparser2": "^3.10.0" - }, - "peerDependencies": { - "postcss": ">=5.0.0", - "postcss-syntax": ">=0.36.0" - } - }, - "node_modules/postcss-less": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-3.1.4.tgz", - "integrity": "sha512-7TvleQWNM2QLcHqvudt3VYjULVB49uiW6XzEUFmvwHzvsOEF5MwBrIXZDJQvJNFGjJQTzSzZnDoCJ8h/ljyGXA==", - "dev": true, - "dependencies": { - "postcss": "^7.0.14" - }, - "engines": { - "node": ">=6.14.4" - } - }, - "node_modules/postcss-less/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-less/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/postcss-less/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/postcss-load-config": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.0.1.tgz", - "integrity": "sha512-/pDHe30UYZUD11IeG8GWx9lNtu1ToyTsZHnyy45B4Mrwr/Kb6NgYl7k753+05CJNKnjbwh4975amoPJ+TEjHNQ==", - "dev": true, - "dependencies": { - "cosmiconfig": "^7.0.0", - "import-cwd": "^3.0.0" - }, - "engines": { - "node": ">= 10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-media-query-parser": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", - "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=", - "dev": true - }, - "node_modules/postcss-reporter": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.0.2.tgz", - "integrity": "sha512-JyQ96NTQQsso42y6L1H1RqHfWH1C3Jr0pt91mVv5IdYddZAE9DUZxuferNgk6q0o6vBVOrfVJb10X1FgDzjmDw==", - "dev": true, - "dependencies": { - "colorette": "^1.2.1", - "lodash.difference": "^4.5.0", - "lodash.forown": "^4.4.0", - "lodash.get": "^4.4.2", - "lodash.groupby": "^4.6.0", - "lodash.sortby": "^4.7.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-resolve-nested-selector": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", - "integrity": "sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=", - "dev": true - }, - "node_modules/postcss-safe-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz", - "integrity": "sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==", - "dev": true, - "dependencies": { - "postcss": "^7.0.26" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-safe-parser/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-safe-parser/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/postcss-safe-parser/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/postcss-sass": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.4.4.tgz", - "integrity": "sha512-BYxnVYx4mQooOhr+zer0qWbSPYnarAy8ZT7hAQtbxtgVf8gy+LSLT/hHGe35h14/pZDTw1DsxdbrwxBN++H+fg==", - "dev": true, - "dependencies": { - "gonzales-pe": "^4.3.0", - "postcss": "^7.0.21" - } - }, - "node_modules/postcss-sass/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-sass/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/postcss-sass/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/postcss-scss": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.1.1.tgz", - "integrity": "sha512-jQmGnj0hSGLd9RscFw9LyuSVAa5Bl1/KBPqG1NQw9w8ND55nY4ZEsdlVuYJvLPpV+y0nwTV5v/4rHPzZRihQbA==", - "dev": true, - "dependencies": { - "postcss": "^7.0.6" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-scss/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-scss/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/postcss-scss/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", - "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-syntax": { - "version": "0.36.2", - "resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz", - "integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==", - "dev": true, - "peerDependencies": { - "postcss": ">=5.0.0" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", - "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/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/pretty-hrtime": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "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/proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", - "dev": true - }, - "node_modules/proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", - "dev": true, - "dependencies": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "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/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": "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/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/pumpify/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/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/purgecss": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-4.0.3.tgz", - "integrity": "sha512-PYOIn5ibRIP34PBU9zohUcCI09c7drPJJtTDAc0Q6QlRz2/CHQ8ywGLdE7ZhxU2VTqB7p5wkvj5Qcm05Rz3Jmw==", - "dev": true, - "dependencies": { - "commander": "^6.0.0", - "glob": "^7.0.0", - "postcss": "^8.2.1", - "postcss-selector-parser": "^6.0.2" - }, - "bin": { - "purgecss": "bin/purgecss.js" - } - }, - "node_modules/purgecss-whitelister": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/purgecss-whitelister/-/purgecss-whitelister-2.4.0.tgz", - "integrity": "sha512-O0jBUDtY9dU9tUT0vA1FvwFdkKDerxzteYaBV49JCbm+QJLFKMlIsf5Kp5cdbLatHQNjJtV8VB8eXtISoZL2Dg==", - "dev": true, - "dependencies": { - "glob-all": "^3.1.0", - "gonzales-pe": "^4.2.4", - "scss-parser": "1.0.3" - } - }, - "node_modules/purgecss/node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "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/qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/query-string": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", - "dev": true, - "dependencies": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "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/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/quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", - "dev": true, - "dependencies": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "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, - "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/rc/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/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", - "dev": true, - "dependencies": { - "pify": "^2.3.0" - } - }, - "node_modules/read-cache/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/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/read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", - "dev": true, - "dependencies": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/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/read-pkg-up/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/read-pkg-up/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/read-pkg-up/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/read-pkg-up/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/read-pkg-up/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/read-pkg/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/read-pkg/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/read-pkg/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/read-pkg/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/read-pkg/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/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": "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/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, - "dependencies": { - "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", - "dev": true, - "dependencies": { - "regenerate": "^1.4.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", - "dev": true - }, - "node_modules/regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "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/regex-not/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/regex-not/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/regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", - "dev": true, - "dependencies": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", - "dev": true - }, - "node_modules/regjsparser": { - "version": "0.6.9", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", - "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", - "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/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/remark": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/remark/-/remark-13.0.0.tgz", - "integrity": "sha512-HDz1+IKGtOyWN+QgBiAT0kn+2s6ovOxHyPAFGKVE81VSzJ+mq7RwHFledEvB5F1p4iJvOah/LOKdFuzvRnNLCA==", - "dev": true, - "dependencies": { - "remark-parse": "^9.0.0", - "remark-stringify": "^9.0.0", - "unified": "^9.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-parse": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-9.0.0.tgz", - "integrity": "sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==", - "dev": true, - "dependencies": { - "mdast-util-from-markdown": "^0.8.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-stringify": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-9.0.1.tgz", - "integrity": "sha512-mWmNg3ZtESvZS8fv5PTvaPckdL4iNlCHTt8/e/8oN08nArHRHjNZMKzA/YW3+p7/lYqIw4nx1XsjCBo/AxNChg==", - "dev": true, - "dependencies": { - "mdast-util-to-markdown": "^0.6.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "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, - "optional": 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": "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/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/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-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "node_modules/resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dev": true, - "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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, - "engines": { - "node": ">=4" - } - }, - "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/responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "dev": true, - "dependencies": { - "lowercase-keys": "^1.0.0" - } - }, - "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.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "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/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/rw": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", - "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=", - "dev": true - }, - "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/schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/scss-parser": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/scss-parser/-/scss-parser-1.0.3.tgz", - "integrity": "sha512-XQKCfOJERmhn1yoNRUyxv9wgkf4DIv29Jk0m4FiZforeiCmGxrby8K3not7tQ8GK1yvtd9N0OnNimNetJ8V+zQ==", - "dev": true, - "dependencies": { - "invariant": "2.2.2", - "lodash": "^4.17.4" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/seek-bzip": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", - "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", - "dev": true, - "dependencies": { - "commander": "^2.8.1" - }, - "bin": { - "seek-bunzip": "bin/seek-bunzip", - "seek-table": "bin/seek-bzip-table" - } - }, - "node_modules/seek-bzip/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/select": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", - "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=", - "dev": true - }, - "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-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz", - "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/semver-truncate": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz", - "integrity": "sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=", - "dev": true, - "dependencies": { - "semver": "^5.3.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/semver-truncate/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/send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "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.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "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/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "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.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "dev": true, - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - }, - "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/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.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", - "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/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, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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, - "engines": { - "node": ">=8" - } - }, - "node_modules/shelljs": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz", - "integrity": "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==", - "dev": true, - "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/shx": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/shx/-/shx-0.3.3.tgz", - "integrity": "sha512-nZJ3HFWVoTSyyB+evEKjJ1STiixGztlqwKLTUNV5KqMWtGey9fTd4KU1gdZ1X9BV6215pswQ/Jew9NsuS/fNDA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.3", - "shelljs": "^0.8.4" - }, - "bin": { - "shx": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "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, - "dependencies": { - "chalk": "^2.3.2", - "figures": "^2.0.0", - "pkg-conf": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/signale/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/signale/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/signale/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/signale/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/signale/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/signale/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/signale/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/signale/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/signale/node_modules/pkg-conf": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz", - "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=", - "dev": true, - "dependencies": { - "find-up": "^2.0.0", - "load-json-file": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "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": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/slice-ansi/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, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/slice-ansi/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, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/slice-ansi/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 - }, - "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/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/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-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-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/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/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/sort-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", - "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", - "dev": true, - "dependencies": { - "is-plain-obj": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/sort-keys-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", - "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=", - "dev": true, - "dependencies": { - "sort-keys": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sort-keys-length/node_modules/sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "dev": true, - "dependencies": { - "is-plain-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.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==", - "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.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "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==", - "dev": true - }, - "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.7", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", - "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", - "dev": true - }, - "node_modules/specificity": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz", - "integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==", - "dev": true, - "bin": { - "specificity": "bin/specificity" - } - }, - "node_modules/split": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", - "dev": true, - "dependencies": { - "through": "2" - }, - "engines": { - "node": "*" - } - }, - "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/split-string/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/split-string/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/split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "dev": true, - "dependencies": { - "readable-stream": "^3.0.0" - } - }, - "node_modules/split2/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/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/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/standard-version": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/standard-version/-/standard-version-9.2.0.tgz", - "integrity": "sha512-utJcqjk/wR4sePSwDoRcc5CzJ6S+kec5Hd0+1TJI+j1TRYuuptweAnEUdkkjGf2vYoGab2ezefyVtW065HZ1Uw==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "conventional-changelog": "3.1.24", - "conventional-changelog-config-spec": "2.1.0", - "conventional-changelog-conventionalcommits": "4.5.0", - "conventional-recommended-bump": "6.1.0", - "detect-indent": "^6.0.0", - "detect-newline": "^3.1.0", - "dotgitignore": "^2.1.0", - "figures": "^3.1.0", - "find-up": "^5.0.0", - "fs-access": "^1.0.1", - "git-semver-tags": "^4.0.0", - "semver": "^7.1.1", - "stringify-package": "^1.0.1", - "yargs": "^16.0.0" - }, - "bin": { - "standard-version": "bin/cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/standard-version/node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/standard-version/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/standard-version/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/standard-version/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "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-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-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/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/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/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-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/strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/stringify-package": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.1.tgz", - "integrity": "sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg==", - "dev": true - }, - "node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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/strip-dirs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", - "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", - "dev": true, - "dependencies": { - "is-natural-number": "^4.0.1" - } - }, - "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-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/strip-outer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", - "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/style-search": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", - "integrity": "sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI=", - "dev": true - }, - "node_modules/stylelint": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.12.0.tgz", - "integrity": "sha512-P8O1xDy41B7O7iXaSlW+UuFbE5+ZWQDb61ndGDxKIt36fMH50DtlQTbwLpFLf8DikceTAb3r6nPrRv30wBlzXw==", - "dev": true, - "dependencies": { - "@stylelint/postcss-css-in-js": "^0.37.2", - "@stylelint/postcss-markdown": "^0.36.2", - "autoprefixer": "^9.8.6", - "balanced-match": "^1.0.0", - "chalk": "^4.1.0", - "cosmiconfig": "^7.0.0", - "debug": "^4.3.1", - "execall": "^2.0.0", - "fast-glob": "^3.2.5", - "fastest-levenshtein": "^1.0.12", - "file-entry-cache": "^6.0.1", - "get-stdin": "^8.0.0", - "global-modules": "^2.0.0", - "globby": "^11.0.2", - "globjoin": "^0.1.4", - "html-tags": "^3.1.0", - "ignore": "^5.1.8", - "import-lazy": "^4.0.0", - "imurmurhash": "^0.1.4", - "known-css-properties": "^0.21.0", - "lodash": "^4.17.21", - "log-symbols": "^4.0.0", - "mathml-tag-names": "^2.1.3", - "meow": "^9.0.0", - "micromatch": "^4.0.2", - "normalize-selector": "^0.2.0", - "postcss": "^7.0.35", - "postcss-html": "^0.36.0", - "postcss-less": "^3.1.4", - "postcss-media-query-parser": "^0.2.3", - "postcss-resolve-nested-selector": "^0.1.1", - "postcss-safe-parser": "^4.0.2", - "postcss-sass": "^0.4.4", - "postcss-scss": "^2.1.1", - "postcss-selector-parser": "^6.0.4", - "postcss-syntax": "^0.36.2", - "postcss-value-parser": "^4.1.0", - "resolve-from": "^5.0.0", - "slash": "^3.0.0", - "specificity": "^0.4.1", - "string-width": "^4.2.2", - "strip-ansi": "^6.0.0", - "style-search": "^0.1.0", - "sugarss": "^2.0.0", - "svg-tags": "^1.0.0", - "table": "^6.0.7", - "v8-compile-cache": "^2.2.0", - "write-file-atomic": "^3.0.3" - }, - "bin": { - "stylelint": "bin/stylelint.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/stylelint" - } - }, - "node_modules/stylelint-config-recommended": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-4.0.0.tgz", - "integrity": "sha512-sgna89Ng+25Hr9kmmaIxpGWt2LStVm1xf1807PdcWasiPDaOTkOHRL61sINw0twky7QMzafCGToGDnHT/kTHtQ==", - "dev": true, - "peerDependencies": { - "stylelint": "^13.12.0" - } - }, - "node_modules/stylelint-config-standard": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-21.0.0.tgz", - "integrity": "sha512-Yf6mx5oYEbQQJxWuW7X3t1gcxqbUx52qC9SMS3saC2ruOVYEyqmr5zSW6k3wXflDjjFrPhar3kp68ugRopmlzg==", - "dev": true, - "dependencies": { - "stylelint-config-recommended": "^4.0.0" - }, - "peerDependencies": { - "stylelint": "^13.12.0" - } - }, - "node_modules/stylelint/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, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/stylelint/node_modules/autoprefixer": { - "version": "9.8.6", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", - "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", - "dev": true, - "dependencies": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", - "colorette": "^1.2.1", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - } - }, - "node_modules/stylelint/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/stylelint/node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": 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/stylelint/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, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/stylelint/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 - }, - "node_modules/stylelint/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/stylelint/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/stylelint/node_modules/ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/stylelint/node_modules/import-lazy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", - "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/stylelint/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/stylelint/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/stylelint/node_modules/meow": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", - "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", - "dev": true, - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize": "^1.2.0", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/stylelint/node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/stylelint/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/stylelint/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/stylelint/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, - "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/stylelint/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/stylelint/node_modules/postcss/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/stylelint/node_modules/postcss/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/stylelint/node_modules/postcss/node_modules/chalk/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/stylelint/node_modules/postcss/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/stylelint/node_modules/postcss/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/stylelint/node_modules/postcss/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/stylelint/node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/stylelint/node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/stylelint/node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/stylelint/node_modules/read-pkg/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/stylelint/node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/stylelint/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/stylelint/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/stylelint/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/stylelint/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/stylelint/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/stylelint/node_modules/supports-color/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/stylelint/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/stylelint/node_modules/type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/stylis": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-3.5.4.tgz", - "integrity": "sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q==", - "dev": true - }, - "node_modules/sugarss": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-2.0.0.tgz", - "integrity": "sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ==", - "dev": true, - "dependencies": { - "postcss": "^7.0.2" - } - }, - "node_modules/sugarss/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/sugarss/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/sugarss/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "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/svg-tags": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", - "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", - "dev": true - }, - "node_modules/table": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/table/-/table-6.2.0.tgz", - "integrity": "sha512-WMBBLuauiLXJjth35K4vOnd/xkaZ/dxEcyoZ+YhxSwfxFqvh+av06+oRqIwbR14m1lENB1egSWOFv/bNEt2D8A==", - "dev": true, - "dependencies": { - "ajv": "^8.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "lodash.clonedeep": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.1.0.tgz", - "integrity": "sha512-B/Sk2Ix7A36fs/ZkuGLIR86EdjbgR6fsAcbx9lOP/QBSXujDNbVmIS/U4Itz5k8fPFDeVZl/zQ/gJW4Jrq6XjQ==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/table/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "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": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "dev": true, - "dependencies": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "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": { - "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/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/terser-webpack-plugin/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/terser-webpack-plugin/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/terser-webpack-plugin/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/terser-webpack-plugin/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/terser-webpack-plugin/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/terser-webpack-plugin/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/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/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.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/text-extensions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", - "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "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/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": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, - "dependencies": { - "readable-stream": "3" - } - }, - "node_modules/through2/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/timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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/tiny-emitter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", - "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==", - "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-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", - "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-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": "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/to-regex/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/to-regex/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/toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/toml": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz", - "integrity": "sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==", - "dev": true - }, - "node_modules/trim-newlines": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz", - "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/trim-off-newlines": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz", - "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/trim-repeated": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/trough": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", - "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/try-catch": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/try-catch/-/try-catch-2.0.1.tgz", - "integrity": "sha512-LsOrmObN/2WdM+y2xG+t16vhYrQsnV8wftXIcIOWZhQcBJvKGYuamJGwnU98A7Jxs2oZNkJztXlphEOoA0DWqg==", - "dev": true, - "engines": { - "node": ">=0.4" - } - }, - "node_modules/try-to-catch": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/try-to-catch/-/try-to-catch-1.1.1.tgz", - "integrity": "sha512-ikUlS+/BcImLhNYyIgZcEmq4byc31QpC+46/6Jm5ECWkVFhf8SM2Fp/0pMVXPX6vk45SMCwrP4Taxucne8I0VA==", - "dev": true - }, - "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/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", - "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/uc.micro": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", - "dev": true - }, - "node_modules/uglify-js": { - "version": "3.13.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.4.tgz", - "integrity": "sha512-kv7fCkIXyQIilD5/yQy8O+uagsYIOt5cZvs890W40/e/rvjMSzJw81o9Bg0tkURxzZBROtDQhW2LFjOGoK3RZw==", - "dev": true, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/unbzip2-stream": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", - "dev": true, - "dependencies": { - "buffer": "^5.2.1", - "through": "^2.3.8" - } - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", - "dev": true, - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unified": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.1.tgz", - "integrity": "sha512-juWjuI8Z4xFg8pJbnEZ41b5xjGUWGHqXALmBZ3FC3WX0PIx1CZBIIJ6mXbYMcf6Yw4Fi0rFUTA1cdz/BglbOhA==", - "dev": true, - "dependencies": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unified/node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "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" - } - ], - "engines": { - "node": ">=4" - } - }, - "node_modules/unified/node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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/uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true - }, - "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/unist-util-find-all-after": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-3.0.2.tgz", - "integrity": "sha512-xaTC/AGZ0rIM2gM28YVRAFPIZpzbpDtU3dRmp7EXlNVA8ziQc4hY3H7BHXM1J49nEmiqc3svnqMReW+PGqbZKQ==", - "dev": true, - "dependencies": { - "unist-util-is": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-is": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", - "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-stringify-position": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", - "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": 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, - "optional": true, - "engines": { - "node": ">=4", - "yarn": "*" - } - }, - "node_modules/upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", - "dev": true - }, - "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/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-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "dev": true, - "dependencies": { - "prepend-http": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "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/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/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/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, - "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/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/vfile": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", - "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-message": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-message": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", - "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile/node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "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" - } - ], - "engines": { - "node": ">=4" - } - }, - "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/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/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "deprecated": "Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less 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/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/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-merge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", - "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", - "dev": true, - "dependencies": { - "lodash": "^4.17.15" - } - }, - "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/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/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/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "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/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": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": 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/wrap-ansi/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, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/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, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi/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 - }, - "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-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "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": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "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, - "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/yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs/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, - "engines": { - "node": ">=10" - } - }, - "node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", - "dev": true, - "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zwitch": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", - "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - } - }, "dependencies": { "@babel/cli": { "version": "7.13.14", @@ -15855,13 +1138,6 @@ "fastq": "^1.6.0" } }, - "@popperjs/core": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.9.2.tgz", - "integrity": "sha512-VZMYa7+fXHdwIq1TDhSXoVmSPEGM/aa+6Aiq3nVVJ9bXr24zScr+NlKFKC3iPljA7ho/GAZr+d2jOf5GIRC30Q==", - "dev": true, - "peer": true - }, "@sindresorhus/is": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", @@ -16113,6 +1389,16 @@ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, + "JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, "accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", @@ -16133,8 +1419,7 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "dev": true, - "requires": {} + "dev": true }, "add-stream": { "version": "1.0.0", @@ -16158,15 +1443,13 @@ "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": {} + "dev": true }, "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": {} + "dev": true }, "ansi-colors": { "version": "4.1.1", @@ -16714,8 +1997,7 @@ "version": "5.0.0-beta3", "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.0.0-beta3.tgz", "integrity": "sha512-0urccjfIOzhrb9qJysN8XW/DRw6rg3zH7qLeKIp4Zyl8+Ens4JWB0NC0cB5AhnSFPd2tftRggjwCMxablo6Tpg==", - "dev": true, - "requires": {} + "dev": true }, "brace-expansion": { "version": "1.1.11", @@ -17615,8 +2897,8 @@ "integrity": "sha512-OG9kQtmMZBJD/32NEw5IhN5+HnBqVjy03eC+I71I0oQRFA5rOgA4OtPOYG7mz1GkCfCNxn3gKIX8EiHJYuf1cA==", "dev": true, "requires": { - "is-text-path": "^1.0.1", "JSONStream": "^1.0.4", + "is-text-path": "^1.0.1", "lodash": "^4.17.15", "meow": "^8.0.0", "split2": "^3.0.0", @@ -21184,16 +6466,6 @@ "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", "dev": true }, - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dev": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - }, "jwt-decode": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz", @@ -23277,8 +8549,7 @@ "version": "0.36.2", "resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz", "integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==", - "dev": true, - "requires": {} + "dev": true }, "postcss-value-parser": { "version": "4.1.0", @@ -24850,15 +10121,6 @@ "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", "dev": true }, - "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-width": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", @@ -24870,6 +10132,15 @@ "strip-ansi": "^6.0.0" } }, + "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" + } + }, "stringify-package": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.1.tgz", @@ -25337,8 +10608,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-4.0.0.tgz", "integrity": "sha512-sgna89Ng+25Hr9kmmaIxpGWt2LStVm1xf1807PdcWasiPDaOTkOHRL61sINw0twky7QMzafCGToGDnHT/kTHtQ==", - "dev": true, - "requires": {} + "dev": true }, "stylelint-config-standard": { "version": "21.0.0", diff --git a/static/android-chrome-192x192.png b/static/android-chrome-192x192.png index 03a0e7022099d4ab599ba14e3a93a3247588ce8b..30373046a548c081346ded8732be406c256bdbb6 100644 GIT binary patch literal 6210 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 UKjpLYj{<1 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 H(1HICUD~V5 diff --git a/static/android-chrome-512x512.png b/static/android-chrome-512x512.png index 74bdfb9da9ca89b465ac215d19b0cd7141788dd4..edff140caf3d4bb2fbf53908cc8d5866c9ab23f5 100644 GIT binary patch literal 19110 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 literal 20786 zcmeFZ^;=Z$-Uhm67`jD48l+SNL`p%2d3>29&_mAD5b& zx6u1XE}reQRP0S*owIhB@e6G2?eyd7ZAcS;jIdQ|bmEx%6^}mI~!EDOG*cm0a_^5USU5AtAu~wfmA)qB)Ed{MBt|P5 zqiASfgzl^vEU&MpiVxg2@H_W5z)*#Lp2W{%KhY*l!GG7K$d1-Rm7*dBZI@M*{r{y}#)$Lw7VkHj7a~*rrr! zk`Y5Gs|vg9Q0p~Sw#=iY;Px2R2yvX014XtT8ggMY@mn4HWFfm0lqkN9vR+%U-o9q3 zTdJef@@o&%OrbmT#y41+8WLNWzN{ngmP=w_T~A*l$ag7v{7yit3p()(59E-w62%o@ zf$<7)ek-oXb$0V;B!5tiQ*U`ph1K*GQjqi%1N1&nyk$t4y{B`zvt>+iMo!@`tK}Vm z*whxKJVP{88iMoWK75q7m#5ToEPUI!LN7pNdFqSN6G}Km${96v=<1}gFiPgkJEk|s z#d@Pf2{KDL4Y1u+$OCowjB~t8a#K*k!u1kltyJRGI$xJAe)mEJ($F2}+S; z@1t<6;rT6XiCUkkMveXveDg^dVF9MzK(Wq!NgGB;dh|o_`zh3fJxGUpZIlIaij2l30=z zRVtCSz(Zdm3*nS>P|WMfe6rvtY6I&c6U*eqY409JoeBR*@$C{4x=QWe%Bk(S6E&_c zT&ieYG{a-3YrGisWcQwe2K+WXWK%*pWVM#{W=7w{WOqf^EHNLVh{PRUr1GzV^n*CWFx^C1bJ)B^1X4YU3r}z zK=2$jX%%^To9!K|6Dk*u;fqS)FrXDC=snuKf2B_MN(c>JJ~R?}pHznfO36A{Abj}b z>pkNXXzS+Ymi4h_l_vN#L)#tb>V6v^pAsLTs_$KTY$dtqmsiz1Xbc@fhYRWnL5C_A zuTBw~P%y^h!vnXwOsk8Cyik8-arl+`%|3nGzpfS{lD-6(-c)cox zqHRtxJ|aQEd`je*14YG0B0Y$bc4Ffj2X1lMqfr-m zeE-n_c|wHvb98vbo|od(5E;6a%dgP#W9~}!EJ1QWSm4ZLql7It+>W`;5ON8y%RadA zdjyxUmHA10j_drl7syG9Y-wl;-zGuGp80SjBpjfK+OO{R$>L>YZnJ={vcqvQ14VI9 zkC*#4Hq>8)LZLH{;U8%ryyE`W=WfFzneZ(!Yss<43zFo)cc`qSpp>=MP-Rp}uQ!WA zRbF#YOeZYykkPjOnU)DubF|bS{JA)|n%y!`=}P^iRtgz!^u6G4uueBL?P~Yu$9tB3 zJFC11tF6V1R603N*lckqSAa$j8Ns06Gbq+s$YJ6sGM=;yoQx^mRr`p>N>d62-`gK6 zQs)0)K2@9YJb=w|bNe3-yziG2ILff{HR{!%Wy6#Q{1Q$Ea1NnD;Q#X@onR&NzG0@)I3=4OM?}pih zAnoB8eQw{MA|uNtIv&kIeN=aL!XWq}3lDU?w`HRK%u={)uBSf`Sw$C3r(o@_Ju6Dh>^Umkv z+Ux=W@s*%ZlBd;t3<=-?0@hJvEmIbCf4eAOq97eSDZHH?YUL(8$ePs`kh?=ThejSy zF+iqu&V?Qc;tSQ!dZvW($jE9q`kItwr9?D5pqiCTn@|#?y_Ye2rX%~>-S2)ObuJ>I zu^X+1ekGMVf|GHCZ^uepJQbwkre!3-H_6d{Tt2Igf-J_pl?2XkXyz3%7C`|SJ(pfs zq57Kq%y)0Dkg4>RgsIm(co;3D8kM#xZNko7(b5nWdStAN-4sM55%158m%sA4NJ(n< z+tBF*k}84L*VUJz#~_z=W$i}MiXWi@5l(xyPk7-J6?XuGnE3ihUfyXOzJZ&&#NJ>c zXWD!w_!}8I3oKQ$y~c>JU*(q3Kn6n?3L~MKvq78a@Y>8yn&a-J4dX#2_$GJ+ zz5JeF$d2+Awrp)iBo8Z~hS%#tsI^8x3MU*L8#gB>r%B_kdIM9iGbO(i)X-{p;Kk?J zpGd(IO#_2tdiLAZ@a&c|BgW}|ThNZj>64$TjL~7lH zf~_bRpzB+)!>%Zgx%P<`@@8-Q{MF2J0#`0Y*FY|#%25H@J!C<>znW>H4C&-!;0Q=@ z`f<)dk>gaw6{f&n%LPIsN4h!c%%rDSAe`*+Qc$#8^P}vZOI~MN!;w0q6p*PO4i>UA z?dMHP$Pv%QRbKgig^zgatxO?B5%wmfE7y00B)+~S(R>EMFeov@+fj%CTE7;Jpl_)# zQ%8yWm+rx4*VpSyY-;-aUJViwS<^XeUxCvPlp8!7GP2CeH!Ue;y6-MXw!htdqw*#x z+K=1+7j0&HP)bfv`DIDjmI_J+=n(%wJeRkCyhuuBE%mHN0!fV=M$z3~SnwinjN@P0 z?Bm!f9aVe3=OoHJIbgfTu2u2==4C?2XhzT-QznpDxNDjG;3tLLd!I!$etkEq|L{o6 zb1s^s0}a7=nzX!_U`3TtY?e-`vVVRZ&~qyozjk)k)q0JzfTJr%{I_>wxug4|Zd<_3 z4OMtrV_0EuWP^!gc3m7-)j)Su!(SG1I*t$D>Q(cFOnB@7-dJtPzj>PdbubW7CWwS= zZ$z=*ml)wH3EgQSsedv34O2?#XU#%+Moka$+5Ko^wdN$?Li+W2Bz;l@S_TG3%XB1M zvdS^!;jC72*=+ihsp!~aI<9ew^b`{m$tkCIiQJ^~67=@lBb8*vXbMP^lT>Q%2Ktjs zSK8U*z8_y-$ig(|wOe|?=rkXTN9L~XuJM%U_OlNwP6aPgGeAjlf>Vi*WtX_+Htyq} z%x38q41H5vwuDB3b5IQ>+N^fHzx@U;p4Rdqtn?`KjL6N|5U`^QQLoM;9{OFPc*;I) zq15dR^K-BX{)Rw{VF_)W*EaVo&p{QNKJOhVQuNVKU)kq-vEuX>X|VO)7Q4L1 z44|oP^0C)z68W?0&6Pn7TQXCeebPq*TQ9(-Y4y-Cw&g;wjDY>=B8IbdoiM%TGkSUo zEoGnA24%V(C}A0i6RXt0G+>7(iZ_c2kCNIGy?d|U-)Cp0wy!@9Yg7Ve88!}sQ(Oh+ zlN?Ec!bz#fNOp7vbta;v*RtLv-GW|H#+Om>Y@~uI?Qk;c)%7BLRTJ3Kxd2|+6rp$4 zgwsX%pxvQtW}upg+r0B^&dFf9<{EbQ*8}~CqRIf2-E1WASvkRM2u|T}3!vbcoROv$ zb#Kxu>mvF4pTfezwnwU7G`5N$p_fMQ_JL>v-gQcXA+lpxe)zpYzz1E!IB{ulk-W^w zQ$WYRe$B#%#(W2KAgWiqw=OX-J+l15H?($bwy%%M9iD_G?;hiWWw3UvlE4sGNun#n z&9|%*rw;OKTk_~>=}Y*F_A2mSz;dYB|4<TRN2!83ji?y?wvWDz&22nduqyS7SpHm zCF;e3#yRLR4FfXc0=S-gxwVd|S_}QDPQ0*isws#NC`$e2n11XVI2-cHROy4!7Qw$il z=0i=L^LbS2JY=6kp7O+z>E`X5N>C+y2RvKgFxT(V2ZfOvj>L$!vCm>!c3H? zFYJ#ms&mWxzmtGX?!4ZkMWEjWUxHh@FMIVe@GvAx(y^%FjiosklUwDueLB9 z^w)3wpcA0YbE7~Zv2aZ^#K0~R!ib!m1U{9>P49GWcJ$2Beq&ZnvqZ~~gxG)u1V_G> zLr?QXp8*fk^W7JS8Vp#%3Ke*-rJfIX9!g&6b%y~mTVtcD zg&~>2R18+PH@VB>>{aRrtMlmQN1rklqUhns&F*nNcp?z0R%Mf7E`7Ndvn;FnYwQTW zmeTo#jKKum8^_t<#Q5B*YQ^j?rZGfdjWPs^QznNHFq_I=}S~AAr&gMyg>zGDm|hOy!TV; z&9dG#r@}zg`pw@ZwQ@X7;!4oVUg@fiZC~a2Zp{ZMDJiy0wnyg;dg8y6&3yZ!#Be^L z^W)vNkL3?_dCl%J@c(Sxda4d!=G333fz8v5fIoG9%UUL~l`Jo;M%6#dN<^(1-vK1uWAI~$RT`_o3p zLfVX5liUcXIc=t(sIUm-_2|O>hIiiac-e($YPhGD*9XZy?xWaVAu$94R3_^s&*6C* z?qGgAcb|U7TdtGLkKt$}hdJo`&-}N;8W7Hi&~^A!`r?_8l!Yjik3hbYjq1Iu99~*_ z+P09V{Ei4T|F+&i<*>S0`}|Y0Ab+b3jnTj7ABk~(V}-=Rk6+g~9}49yR@629Xuf)e zNo4j0X3XVw&gbKsA;9L}hng5kDqQ|-aSIz9Bw`fXbk(z3-RX`Ow?tn)D2$rx4Ej|b^x=y=r}zl?aTqo z=)Tt0y`v~!pHZ75P`p=dfUUUiKJ^Qed90ur8S&xaot9}B06I3McBj|k`#NWnR@}EU zdo?u^-O8eJJ&S~(ik{3^Rh(9+B1cikKYt*-@W`#VR z2;hS%{OAR$0?gvStmu;*>=m@MjGXd2En<5WmO;9-IGH1NM3~wt9FaZ3sx%JFX#PIW zEU92Tu(Wa4Pe%7TZRwia`ElCA6e}lF+U4hH$1OgXIr~G`W{*HSgFKtX2jjnR@ij$* zI@ltrt2%7qJ@ATy7FM*^dgk-$-lg&uvh~Tf;q@AS4-csys)KJAn4qLD4V9@~U1BQL zga-wcMUBDw)}|PF8FL>Oq@R$`#LQEmD@@+*lCfDfou91vB%CLwLJ4D8)rMn8!;{@DBM6$o4=~U74iFN}(jh>0-ej(jG*EN5Uy+ z!nRGjSEMbK)Fo=qTG?C}eh)g!(RVzZ0`n0s=^x0TTT9jnGV9g5`b5(gp}?1DROcQc z<{~(In5quhX2BHeYqEcjlRD}plJu!e4~%HK_L8`)KzG*IoL9W+T3pF8*6PnYf<3zD zqM={hGmqZfx&+IJcyai%BVVh#>!b0wLzZ6uTQBDGzc$^lZqsF$wI)VrqA^rwR6)2v zjFoAs^pkG$+~3Z`v%7~}f>1^OJ8$koCr*e98d6CeSkU~vyxLdX&qzzVRry3imZWco z^X&{-U{ybb^T*=l&FAR#RVz4>op%2+&30G2oyetVXj;zDgP(u%wR*cz zSzTGhlb?bnGBv;7P_q20+^;A~!~cj6;?GPNz^b6uIQRTrEbp?{S-K5a?O%8ba5W}J z0>ZV5(G*Q3LFG>Oc+#le9b?rduYbXu1$cK$f>3|TWsNZPgAuA4?{B!S0Lv1ScJNWo z)Z6PC8q$57-lzq=bbh(^q3po=w-aTGnPE&aN81ZDlMDCpQKLK?x5&q8Io7;mN+^8V z>vUz5m6@iL`{0qaD{W=CO2n%{gId* zyAAYa#FEvvM4S*!y;c0TtUys2Y^-b}bB+Ty2GfMN;!rDrz8n%ptr!}K6_nMo1{CDW+%V|89{g*2VbjRrJ^ik~LSCfBJ^AU> ze$POB1h!}|eGAaY7S|o`gQBfCWAi}w-le|02=T^W8xspMdvfHy||+e7_Ik4PPIHa<`bMDt&|fh~A}Np2MA@VS?J=C%1xM#6_|t zVkczo?T;~IW7`rKp;P04m4km#J|D4vWM`nQ=w0_QqIv(7@`Tj2siA)vMtPiiwLkwy!(Dfn1^1uJG_oms~KNFLy(Z0`Q+5byj8c}u0TsL<3p0})dukG*k z!K*@mpyvBA)Qm{;JUDe{f$#D+cR7*rBE0q*+i0+S{m}GqZ4v&D1%m&6Wf`6=WPM6T zJPCw)2&m;MoI+9)Q)KxkVo|Gonz66YF{4C3fpe^2z&xnjt37al-~54;3V!5F(%wlwOZc{+F*JLLmkT*z2q@}mI+6OP{=WEJ8H5SeLXks}bBO5cO zdQs*~cxtLXM$M@bllS$qfA6sgUvv7990>(Pqncu#~T^E3nnnl)hiP zFRAwY&vn^aO;Wurstj_&f7>9qriynP{Tv`6hha$02{0hd{ou*N`C2_)s@miZ-xmV^ zY;W%@&CX0GnJXZL>v*INBwL=3OfYR5@8)W#sB&u#1OqS`GO9Qe{FXxU%UzAmf_`5J zw_Y?BF3!fbH2C@BG#e|M?JcG;8()O9RhJmC78Ce}E)0s!o_SwHk*$W2r^k>&-m)1F zjLgH;pOIXv@z%+KaWN0&2deD{7U{-znc-Qs*EMo9w0Y z)^HphI&Pa*esjvM)&^1G=3Y%sx3jH6O&UQ%n}65b!d&=(FXo_X#Dr{jJAmnHHGj_0 z|NJ%tK5VZkWV7&ok)*=c-5tK~TUY7luWQLC;OTkVXqtZ~od;%lN50~R*%~|daeHz-z=b8|{{2laiwbrmFF z;1Qq*g*FTRyYN_&wKT38k+%MFs^}^18CLVu>iSAp8gJk5IIs6d4F6A=57?&n6HiDB z#eFY*_)S~yosg#S#TtE+#;gZw*hRaSf0%9*!u9GEe(Vv0H^Ws_oX#c54X++|4UE`I zN;X%#kCiC5mz-F+gsH|qt2e@k@U4o{*LadlvBF2qaC$fJShre13RiYM!T@w<0eHC6;$w^X2G%ePI1VgX3mOC~f~*rwufPxZqu~ z)iF`W9Ivli?BG_19jsATPqfI)2yWt{-NApXFOV3H?VBfGI(f}B4mvo=y7JD zz^^CPe5$GayMlnUN%#t2n4>GkCX;<%23`Tsn^;h=)1FpObfmbMmt21>i}knD6+=V) ze0O&Pda2G#G8kVeGiHcRsECEz8baKTe_3>DnzImpo+_eLX4pYKEg5 zR>~Mk5LWhQDn-!I=j_};o;4IHE?lY|EH|by9}`l?s73sV$s~BYv45E5671U z5KOL0;wTs&i`eV}X?O&Uoo$9}5bZeA!_)XScf zlg+evm2S2kDEgR%*~85@au2$|*?QsHB{+J$r%N6BFk=j&_?{W4nF7W zPDh8VvG=A9{QP^7mxnqvwabzp+Qn5DBG9$ptu=eQ3(5?(HNk4AYHY}AWTASY79HQ` zV%IO>hcF>=aaDn~cOPGSMiS5jiYxecZR*gwM6+;QfR_dV=%+IuD~=WE34i3D4j7e0_o6B!KbTnZ{g!W|=18Q5If-IG{$lE; zp(v%5*ZGRC!Ay`p{s!3O3Dcn$t{ zKNVyIy)Nz^;%&fY%z0tWwR&AyG5E9UmW@kWgpFuH74?q+=VrfeB~uSXTn?fY%Ll2)M_P*$^-YDtSfj$hc_~Nz-r~J`V4ffVXJzHVcD%eFZJmST z9Ef}(uQis+=t688Bw;EQeuf1xGE!Mlm#Y~+o#umJiG zh*7!nji`eS?ifD?hRGd74^a3j<{(+N9pSdMArgOjCXKH|p@e9dv!E^D}9svUrqfy^ljw9zP4{Bm6&*OBK!Eu1R z{POSRUr9k-CV`?fH5qHiuE7}%1`jF?BSgOs+vBjKwMCZ~0@Yle5RstM7rMGQZu`7n z=8a(^bGMZjFD8Vm2L^AdyZ1mzc1|E^IPkd4&M^~@%K00#CzJ)k?^kL=AjBN z)Zp?meNW(Yhao=dy&2M>o!KRQ9j82VG{^OK?hC}dzc!wSQ^p?A)TP%;5ZaCyF77J^ zo}MfpOd8Brsnk2_A8lS(29?Z-<95(wus}n#^AuEqc%lP?>uwz6Mg{$PBgP>M4txOQ zUN*j{F(N=59P9%!woL()P}8lCp~TS)#8R%zMHr^~{5H4_Ls&5IK)Wge&@OWh7r2f_ z(ttWL_5=8PKcozq;&Q;`2_9eQvb$wNl8Z(ZHpDGX5;G6Kvx%SR@gwpF zCmiGbYJ{D(sMy&yAgj=@vDmkfSA$_ge)R)5!9~W)E$7pFKSuW!08$Q+pYB+6^SKR9 zD+{#usZa;``o%U-&Rngx}NG&jVn}wz|G)+_=_BB=~!JB$%n6Zyql& zKlrG(H?r<`_Z~1E3nmvEl54MTMF4GLWqY~msN&Hh;F(%L4Lt<@O_VT>Z}&Fv@)^V> ze4?&l=$o9*G0FP6ys{P+5ad`!0!Bv?8=bh1aTSD#eX_ix0D3`Sgvdd})I5474Y%Zm zRJlQfv84_j$fbHKH6?NI%Rm|1qow3GL~91^Vu02LX3>JJD({WR?}OZ-zqd;~9P>VT zOGZviW;2}@n7G5 zjD_LvgjeRmx+eicReJ(9d|a8!l$TrCP`8jAeez5VQnGztsY;YF=l2^LlZ=}^z%zo& z0i%;Q*B|%(4#M)i1mpVbVcx8mZW0$Ip6~2{#1|h6K!EI4wx$lptpfvuPn^#-6>TKy zV`261D@e_vZXWsxLc7vECsJZ)YwAYDlo&e^A_QU8cQ$s_ZiB3!-L=9+ZfbD9b#T9$ zaRMMpp~Fu^zqLE%qD|)kw$cfG+8J0>YBF$oz`YQt^!#T^WW>;t`M;(lB8p0qg_=U? z0iI;gBBnUde_|d*Tqe(;^_{!J^gd6v`XD|IDs8CBjUAjK?ZeH*?C_#7JEZUHp%zui zzD^Tpa`g2gCj#wbESA6gxH8{HOABS~c=UdzH<^fFUT2op*ZOB}SJNRsnItb|nHa-2 zGI!Uc%G}6!KxR@M4OpJ)2_1U<(a9miAQ=#BTpTa;;51Kf`mZ-Uya301??_z_Frb8R zyVIcrkZpb-EfXN|ul)-{+Ng#Ks%YG!P}@@hWck^E3Id_*eThv&W78jY=qB=0#C83K z^5}YiNqK1$p!%6$qcR;$7fujX@&QoG!gctd%hMWAxL zE)zh&+bYV`8p1$bS{ayQpM??6R}$vEg0;0%%lRBQ?_Qg`RvjXD4%%($1@;^WYGc%$ z&mpYk$w-c1=fGY1E#dUuZ=pe31xA?xgRP2g?JSWT;*Nwn_?vfHyFdWJ_mS~MeD19-Fy-4$(vHQ=<>mAF)%9}wvtrEm6(1WB&s zflBEmyPao5A}b|=<*I%Pz#`Z&*!GoN#kKKlv5h}_Nm)}-44WD>a zLk(J7N0j1i=lsyU^B>B~l~Xxy0f#A!1y~K51<<-hBcPUUN`8&D0@FS;qP+NNT>A! zlxGNFhj&Dz#zZ2X^4$HmC+z!X@kIC9;6Sn8Ts3Ry)=UbJwhD)f3GtPs74Ow6JII^Y zgKq&I*btq4inRIkVZglk1vz;cXy^e&23=+nbbYa6b4_95-YrMHf~MOiYx{Pw@7^VQ z2Ol+n-~Il<;SK_soC6$_# zI0_;(4?pe`Zm@!R?+4jtnANwucyKBE7)QME=Ohr#3m&DWnY?t`wj^ql0iIbW#+0)n zw_@S{CP@&l)i50>|L1vzbR%D*C#bkQjnZ?YPCf;>}}Tafl2BGS|nfmg4YNhoiA z0V@4B(YQmof~{Fbi2Dsh!gT`oGFn~y)s-UMaR&SRM0Xlq?3*6`*#0TTHYVdAI=Wn4 zQ~0}f&$cK?nkYOq;Wz`>9N$+qR`u=c#Ca zkB7aA%wW_^H+aWDUXGg-ZPJ21pd`IC4*fI2+}hJb$mVfnj|l)c1|pe!hs*by zKv~P{8ryF$;K1iDf%~NHE4tbnY6zp6C{HY-Lf5>sS^s{0%U~17WguYAcdA1!PQ9sV z!>d2vutmIZRyh&dB8+YGZfu-vL%6X1_|@hxIY2lqfS4W{8^qPKqrap5qs|cpQ2}D= z9MWlra5u=TAgQnL2@51(Rmw$9GdI1&X(>M+D$LiZ5+QjoN`$oc#)H}rbuiN{@Hs2Mz#pYG3Y zZc20N9iD9B00M`_S{Ayh0g{1o?4=ELTp~4v4 zN0flBJ=_DLX0OX5tpi2(;Z3S1bmkAoO*Yl%^veI}4H)#!+n>gc-vm2E zK>>-0vQ6`}U4XD(BZ!lF0JA)uiZGWG0@0H^GqA7!3)%ix#f=SjC25q0*)t1032Gxp zibRCUpoF)aW#waKI-gE`8ll9rll0OA0I@fCqa@rmi!tA@;GSpu)=OV z%ub7KIDy*+Vn@`rhqv8_X6>T@`F?}oaH7j`rU8;`+U^w-K?S)K>RxVx|DJZ31v$W9J&^Lz?NG#BFWFxGi>%B_ZC^*GXxf ziW{){i6XCso1}6koxNaZ>w?U!t#|rPMC4%*mrZ3iFKYGLyFR(ai{ClmQYQkpAT^@J zmdJ5JD&?0iL_@QF{?-?uOP7k4wx+IQj|1pWFtQWTlR|n{&#tuD+R=6(5=3R0#Hh?Z z5R}CGr+$`AsRx}XTsFj%dN9abO-P6fR=+ZTMGOXd0H?Sx9fRsm81uoSe=`p=WzvL{ zpp5wCe*(CgmE*j}vPbKFhj#&_7>dn`lB}|EMlO(K`w($t>Lhn8K;+$#y_4L)0RL5``)AJBXqLXxriKI1Dqu=1aB0wiXa$2&!bu5VS zT2JV!5)K4dL==r`HA(J2vyQ8jl9!Rsi*Wlc!+WAu;;B5mJ?-(kFZccY{$G?TNRW4T zGXy;q{~t*#?O4{fG9rV{7{I$wJ9p<&yqN}H4jLF z!GVW91k%CX$iQf{JyEvE`R#wgI&JR+!PcqYgtY%=MVDU4B?|6k1FPZe!>gT0B_quA z@ggz946nC=XZsURftaebsWvTMs{L({MmhT*UWAo`x}>~GswUQ(+6%B^L|P@pU|5g? zGNW;@T0RWk_T-itnC?SwVFD;6T~Nc{hk9cG+0qvml0u84w$BYsjRw1>-j8&4k#ET7 z5`F0p)s}~+or9GcNn>NjyiU+^I>a#Q(gEJaVu1rEIsEA+DH|f*yiuF{ z-)hOelHeJxGp}!v2HT~RN#_XwC+{(!gRs|2be(M*bw(z94OZCC#L37!Sj<#v3S|R_ zX`T$<^EU;aNo<#N)=u!fR{yqlvC2R|N=yiBmpUB7dQV2S)YSPV_aTm1$@?~@`;1F9 z9jF4n0Fj!cGDdUBy?U#5@BsI=xqi5p6o&tt9@8GUXbF-PTxbNEg~c-g4w4@Sv7P@# znjXyutpQ{8isMZeh>&si{|NCv>BIjW(jdibsE%;@-%J<=SGl4&Wpcyo767n&2()w9 zh`m%%Q9>mM-6GU)fmgD(RnDW7v8yL^WU7mKhukyHxS>#j>(ScY_9&>%(+Ii2yJ7+C zl@AT^IKCB5GBX?jFo zj}M4FZ`!~>b`f~Y+_b@gF41FN11!M*2m*w*`MMKy6F15JD|K{>C%x0o#}>)Nm-C+h z?_V*`lLyiT|H&|wXMG?h*=T4bJ)1=)SV2bLKOT-g=nHc4l}=jgy#!K-Cy65mn2dPe zG$#?ZL}~s3H}rUjfM&0VZFxs^5O(e)*T@ze`Cg9t?trabsT8g4j49y0BEWrYk3N97 z4PeO^F!I^S$SW{!<_v%$AKP8$pJrIE*?u7sWekxhEfjmx>^N_fK@h_a;&%bk!u0n3 z6+H6K>QPTgh{x~TdJ5c_+!26wJr+BSH!F777t97?pQjJJ+uRdrYXVg(AparMcP7RI zTbD)&0a4sU_+KG?{{+esh@i{yPCzO z3IintI(A?6!2cm=s2bNSM~$HZCAZRi22$QKEa|fvR~9R837MB$Q`U*YDqbFi`K zU2mH_6%A#(pxxfhBVa75x_TsNcjL*izSS=}9x7;ASd%INJtG+XlS_jyMhcDG4^ zyr%Kihw-26fBr#WkemVlZxfj|9U==Z-W^!xv5@pL(c zPxUGHem^%s0rfXM_ATBd9T+;X1nk4`f!!$Rs8!+cvlzFm8~@f_v5`}PBg<*8j8NSH zQHn<<+lEI@?cn|9S{?A7HgM-WbkQR9-l%cF@1_!V%fj9c*CF*g(C*)(sD?s`bVWgB z=%ppkT_)mK^HBK6i17CQ11!FylS=?v?fW}530hlArtnKvnb8L?cp)F192($IXtXvA z<=Ci)S|y|vn0dW{X7BBU2{Dr~%dpr8oVgyKbDB5^f;S=Tl{uBO5{z{WcOG2sxfWJ~ znEmH{T$SZ;rsos?T9+Lvw zlP4SLU`yy@%3-r4SN6q6;2Yr@vL_=_sfMh#Gl?V2m>@6py)XD=KQ8}O&K5-TmzzjJ zjqXiit$r*9**&o#UlO>NiH#oGK|%b>r_iX?{yFXAikKruVb9eM$vzVQS~C}Ec!izy zG5)JQ*P(KhwWUbhJ6TBU#|%056J^`K+$`SkZ`aPBk36ZhI0mbmuQ=B(%qIkRO|Coi zv!6NxX{B84_w@C2pJ>~vYd>-vaUK0P8Fs?NDI%|t7V6Sj z1yml|>J=Ej-G_e-jDvfkwkp3SaQhdD3*H%E6cmMSZbDqXf91>eN!z`ID3hyB z7Ll!qacEm==4|?zVU#6!&q#*^lYDxDzTNiny$MNX;(_s)!1Xk!x}w04S;yOQr8mjY zayXy-a_38j;o+uVr=i>IZWSzGq*?@0Q_s7k2SHe!K+)^I@zM>Wf%>h{b5Vp`tH67w zP;h?7p?*{1Eji%@ZyM(};u4Nq`MI<#NHC4`^4oQNFSz3+lWzJ;t@;5!U5J$j|QuD#62e+`=2?koQqT;%_)&A%kuLPsvx z3+Qb)1;2WRy){8xGS&GAC%n@ols}Ih83UhxSh|Gy(;75$mcF>vw71vvi`$pJ60OBqL`3#Z>1Ra9*he+{J{ooKFIbbj=c1T9zbU*Fuw zPUH8ca8xDwgRN1pC+p@%%yL3W?cdo!$H@*6=}Tu|7|xad`Kreo(S*|ue|Dd+5~mIN zBp6-j_n(ZNJ(?&euK6`*^hCM7SrB|OXQ^L^?2FSuXRx@UaKR_9(7b??;gqK?Cs7t1 zt$%(|`(xvWMm*Ed-%V*LDe!E%^ltAP(+i0WV&|7naMbD^rp|zXm$|b`2*95a)A;_8 z;NJMI4sto@&mwtdLgFmba`@EB%f_|Ft?Oh)O^8+ZkqJVTuIX{A43|R6tNVnHv=9!1 z3)=eqEV**u`Rs4A4%@!b%NcYh2lWC`7+<(m%^7kiXS!Dwpq;zccHf(9)|hR8m3EYy9LUaCS!$QCvbC?(B$ zZ9?>?_R}t-M^Wqr_#Kw7%~w5^`W|1QpUW{yoq%TP4rW@p*l7!DgZM0iOa}z)R*{jE zL)pe0^JSuBHG?d=# z$;CL;T}Se`Fvvv|@eWrUBod-%nWHf{^NE9-cxTKAY4}#n>BHdZ^Fch++{api65w!G zzm}H=pxg@xBW+D06?I)|sYcvf4W~|^!4a;Pk5Gwvn25(mZXLDHXJr-G$+c{9YUjey z%2!=~-W=^xpAWr3s)!0V<@+cmoZ9Vrf;#@8nEc8*xx2gA)_pleU_=jk-e@m?Z!UGh zs?6)t_hIeF2gn6OVY#OyA)!p0vE{NCeIx692ne><}5oj<+`w5aFC`HHcqa##t&6cQT_t5g9^(p_*jRPMKyXmcPxZ!}cuh}=W{F)vuPPm@LZa$Qn&xrX+LsoIfzwvm4%+W$*PvJUTaGfyf(C?z=Ckl-&JAVoC_AmIu~7w7G<|X&WXp%oxVJf8z&ucPoQE)qip9{F2__4Ibq}xC1g~+zaSiS@>P)|F^Sy3qC(I= zZ)y`x^@d8XKm86{1BE_#BNR^2@EmE&Uu|gCZ8&VTMasGLWHs3ExHJ2}^TLsb>Hi6{08IZFS!;}Of7o+k$Tk@Jz7L|2rM&E9WDkk5?<2Bhne1CA zBeEtT`}g#IeE)*a5BIqrk8|$xIOp8wx}Mi{J>wr6>Cw}0(SSf8dj0!Q7%&oP zdQ-K%rAEZ(DBKe^obGIaq}F&B>8^TPdE%sQQ(vci>Ts0@MfJ%)ew|_TW4G?gj)2b# z@b%KN)Yzbfr4ubNJMCC<4z*F7fzV3|SQDPB zU;M=nq(br|W*sxnXM10{Iv#9H!sFuN6hUQM7i$LPQcFkX$eauXB<2ynJCr0x$kaVv ze|YQGE&N)r61pm|M7J|LV9ChY>~PkZ?gnL7vmK|+Bgep!uBoXh zc!sp?MbppV$&b(3#7jA7VpXxpG*Z%HB^spD3;NPEQ^qZpIEHAH8E2dl#kT2L{Suj+ z4yki^s6r7+@>*tC?iag2YKi(c?4CAq<(PeayfZb=itCTJhW#P+!&%Ga>dzo;$ERqNPiu8HBrEa&WpoqnKCYzJWEo5QAn1~chpDH0Re=ua2A0|;m*6$(B%3|{VRlRUI%lOTl;nv`B5d}yD$;4E ziJjJJT=9F}pYgQR++2S3mYznwW^_MDKMTC9Py%zYm&y!{ytiU%D3z(o&iR^Lj$$Pn zT-Z9<8>SICL0M*&DW6vm8WO@F$(}%AxHYB5btTQ9PL(j!nKGu6YAPv=n8JF2h=`Fq{Kc7EXd;+j#K zeN%QJlrHgfZz~4PHAf5&53jnbd3$_}HDa3I-t42{Yt0KI?u@vk29}he z*c?q|MfJ*A z|5A4u29F8!^9!SH8kzXJ;>G*x2G^hSikkrN&B+ra20ULWy3grB9eUCTA7g0~#>*ac zf|_R2dX>Wrp&d{3L+{DID$s#qOEO4G6#E>~HfMz{1v&}rY*;F&%%~!Qhce1jztxFr z0}O!tL6o@Uz!KvSOA5!>^$8@0`lu!25D4>XBRDTFPa0jdTl?CYg?|4PD`i)#9cRP~ z;~!R9cSoSJV~dLszdtyB#w&=*vJ1$ji%_2+Xn)`IO2LJFjt-cVe+qz#r*ONueMdwz z>sSe3P@c85^`l%?FeCFFrY4r4M$shMB}aYH1LLKmYK4+KR)5cR{;NNp+6A#pURj59 z6;)MLK_(xFW#D)WS+BdD1Vzfz7?k^lFEt(%BANZ&(ad+iO>8yZ(Ff1;Q-z0{zCRa_ z@YD)5gp!g7>RGe|vA!DEhT+nY5|a21*P`GD0P~%R7(GgA?k&&d{MeWeEHLoMp1rP5 zXhgh?LwOSsk-~D-jS=E;*hN3Aye^&;GbjG-*ihIv2S*1ylZH8%GK)fxYx@eDV>=IM0YAFt zuJ$>zDvxjO_vp}IF`VlAdohT7rwe1=>whw7(={)h-=&|)%;vVm&?p9VX zLiC_Z_unfol%=U~*BGbn;_emHls7gil|Ln2vkQ-H2%|AGG00mxy?7ysh8QtXI>*{I zF=RPtMbH`tKV6eRcP37%-OZM|oEVP6ixN^Tx zm$o1N9|PtaJuhXJv&TgC1vte@r1ruu^-Am9ZwhQ;J0Z`zW)f&@k|7_jX=`h5PQSBu zTQT9NVRfHgT3Y(xzd6N6-YZ*Huyr`jp+j;Lu6Hl2UmTmAJ*M-T!{>vOL&=n%tc~RD z;x;jvh6&s8^xBn;o#)%(1Su_&D9a*J6Ji;DAF^(+=ZMX2Uwcu)U zqZZy=H#(gGZoV-3kuCkzSMBuEJUsBlUp9aU<=dk0Fo zzWmt*o%FFKIXPKo>Ewv{-tu+A)Vq;E{;L}KaWD7GZJ3WmycCMg*7R@AlY~)G19aQE zg`J(9j$U5BkjpWp@`Gok1+Wcx$8Ka_nj)u7K@7h#?cYU&O5Cs-C~PMCSX#oWspe`} znuyECtBw(Hwm3UmCd%Fmxu`BSB-H3;g}B|Vc~XZcymZK>#qZ}!s_hoYj@l`lj@LEa z4k4cp%cHZAl;kAXRu z+t_e_GnJ?D9xs{Eb>>?x`ojjEp1WGz-Q78ZIYGk1@NC20&rY?M*%R3KDx!B0z7+tM zJ3+$v$Hvc%jS!!)V*Oe&?mKDK;^_vtsTfpRKg~a~toQf#x6kNTUFK(GWU#chwl*S( z9$X=SoFqhQa|`t~Jj{{**&}G6YdAv`_^q<+v9<8wVq$FUyMJJyCPu6E=RfgdPx#at z^^={%mjrLdXZ7>5gpd&Ru9IYhZGhswfFPPU{~)dJ>_o@|6ePo>sjGf?EP}~FQxxTx zqnT&(`-kL&Wuv~lS*Cpd)ADRi&_gsFf+|v-8jW9k=IV+v8K;pHa3`p2WgSy3(>Xi& z;`%cTh2?$d`JIitu-#A%--{6?$&xzN7oH1budrvwuLqMgG)@ zW^W71P`fWFsKRZ)0!b3`7#mfsHMy|IU3-{MhY0Yb`j2&|G}^9bww^x|_jUd2dbP zK1bBP4ypHx29I2Zw%fUvv-6r_;ZRgvOzPrVFn$c_1}9IRV@?6Bf8ba5z=X}BTa~E~ z!KfVo4NOw&B^JkDjltfKxbzHCr-*>9bYNH09?@H=glXLngG~2*z7`xggDbcdV?R6&)~PVHA#*KVxjC`0UeYcl26QwTAg7Ts8)#z-%gAi)dAfKHL6PpT0gP-de%TF0b#yglDeTAOWAaZiIg6|HK9PBj4#d zSwRu7Jy#F@J0G72zcuP8o1I!ayA{J;mz!ZFbu#uK1*H=tVxzUz?K4D}FGiaUE9H$F(KgH5V00dv zBp^H7vpn2iVOq(+$;;b8PoeH3_BW}KqD*MEh>5O8<)6oSF+D<9HvZX)&9@0&O}Ec@ z;st$c(;hPT&brm3i^yOqz zPeqo+3We1a5kF2ZGRK(=+*hBAcQ)GbXO)vD@2Pp_OoilQu5mOTATat7u{hG$^#=!L zZ|ggN`dCibbJ^(SSqrwQoKo3~jy^~P42o2(;3Ylt@x7era&yt=mr+YbmP$^+CCx6w zSe!(cQ8O71)&T1ipAl(g3-I%^qO|hV;x4pARaC~&NAowa{&jxvo4dxOZE-FEW@~G^ zx$;7@gSXrAzGF_X&DLo|zNmXHuD=iGqv`H|W;D!I+)n(Iz%ef(23}@# z&j0$MOWJ2a#_nGg{8usU2i)3F_Q$1pHFk1KN`P&sbObS#xsTg)&g@kR^ZM?_|kRMFvml-h~>06z$4F zXYGNUAostxO|{+rhFd#kR{k}OOFPl^NK;q7|5|D6I{GAwzM%wWD;`i zEw@tq@CZNZAS(w@uUZ0ao`h>lST`Qlg>|QTZ%lLpxuAGwPSX!C5IF-5P86evmzu9l z#J&m(#5;Ql0*mQqaAb1kOjO5eUasxg;0+=XG>bV@$~JV8a^&I!llW0^jr_(Gdvj(1 zA7$gV#*|hB)vRz?!hLJAn5qZb6b=9#m=sLvm|sVt-y_;8%gXw64I(Xo^a2e%dS>~O z&&(hXKDrC`cSD1io8h7ge5&+`4BTKa81eqeCqLS`qU*bq?jMcLQ=?(7QM;$yl4x^7 zYi=(73v$hS6B16+bk6NO79y;QhlhuAZv_9)d~ZLQC$mp491P18Dw&Aw*j>UHsETeZ z5L4i>Nq#C%LB02eswTik%ohuUjQC&_9HNN0xZ5m)iiT-?)K0XqSIY0 z>{1o^^`AwrF%Ms7g*7vXvL^tJIIw*xWTtLrr^nRBlgj8m{75JbmKonajX_V}>*nOL z@jw-WMx)Q{p!($J$jypP_UVrv;JLEmf<}me=w5i|bX-7{e9x`E9UKl+DLF7osrc5q zbt*{bw4f>UJ$W$4QuxhmJ&UR7sffuK^%|%bFMj39mCoe6xL-`+WknrW zC31g`&&KrLQ=jRvRXYg1`2Jh^44ix}5VNFO0}s4L_(^jDyQCOmEdO>=%RLI?DcYKs zZw3=_2A_o)rpWZylSYq4cw%^lHqtJbi0hS5&wF}4$-@9dp{WLJz(SrF{3 z!0*ShwG~N#D*3%f@PHWd2)7?D!CFMk*E5+?B%!ewn>XG#cR+CDFuCB@t*xiu05@+` zh)=BlMee05mkZ7THc!CkQIdtUWz@*d&W;|vVWsf*<{|#Myf<;c=M|Lesvkh%nm$`V zU|ox|3sO&~a-at!4-b?61V426^qg%R=;qxpnX;{UlXmhFNUK?Rb9Le$@jnm#c0|U& zT!*N2TlY|wmbvEDPSl8wu;Z2O?QK2~FX!4AQxn=&Ms7$fE%gvDxQ6{R*-I1@UkVp8?Pi*FxMwx0P5xJYA zHwjfB%YSU(f824&Ht*~EfA6j`JiFz6!KYwW^=c9+e-&sagYRrv-pw# literal 5105 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 diff --git a/static/doks.png b/static/doks.png deleted file mode 100644 index 70d8c78611ae4033c26e2d795b2f959133ec6cb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8211 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 diff --git a/static/doks.svg b/static/doks.svg deleted file mode 100644 index 4631bc5..0000000 --- a/static/doks.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/favicon-16x16.png b/static/favicon-16x16.png index 8fcd4223682a27c279cb902c4c98c396c1cd6a64..a495a24e49fb96a9429a3f432c7846948e238d87 100644 GIT binary patch delta 517 zcmV+g0{Z=+1D*tsBYyx1a7bBm000B9000B90Vl){tpET38FWQhbW?9;ba!ELWdL_~ zcP?peYja~^aAhuUa%Y?FJQ@H10jo(wK~y-6&5|)_6j2a{zuDC)jVVM@2VT zqF|?gHO%|Jfj9HRzm~KclgT8U&1O%+FuXq=k6!}hdA?Fr)n=#D84U)5s_8%09$1#; zo`_sFvsK^>fSK)y$Z}bh$APPW)j-gsRdriLE&-o_TXUlUH-L}8x~lFpnXoR>G<_r@ zBj9Tg1h>;PJ%6a*y!Y>%bMFBMtT^YEy!VH{2B>N-A{!#|O+@adX}a6qjrYDxlH{|Q zT>#dcbBo^l=b@_J0X9XXs;cThw+g-YFPw7= z!1*8u&c$*3#e4ticji3LM`o4-3&3`kWobD7U(xUPPksYufo_r{ABv)Q-Go*3ikWQz zCx9JQy$OvgOsCUB=iIW0teROjj^nr9`!@htmR$rM0w;lqs&3R=I|tXz>=|$h*y3kW z1$Y1~0Z&!+T9aun(V{3Cn%TaH44DT>M22RzA4O5!`;YVk9LJ(_v+l8~00000NkvXX Hu0mjf?F{b; delta 390 zcmV;10eSwO1fTRR2iRCy8N@||Xk-AzUbz3{8N*McK*Z)1c6K%fMHwmVUON z5b}XD6KEAm6gL($DiSw-L=XajNbY$P1A$=0h`S#@QA7>_1zncZFG>j4MNtT~?F3OrCO7SE_^)6EJH-~$oq0TS{JV7a-u`H^%U#N%Gz zGLT%&exO%GK1!d~P6dc_?ga3-nfdYB7O(I%>WECY$SR^U+)IZ2&- zt0}-acU(lC0uu5F_yy=z)gS6bqpDYcZeTU`!OVO!dm;#e_iFjvQe%@qL|#de8?XlS zsOoq1$Ps$v+i6jw;G1wm&D3Y)hB@usU%IB{IT)z@r4^DPeWC^fKS;TSXo4doO7on z2!d=BMQ25%waVbAbFQ!(@&rK;WX+XF0%$bZp>mGIw&=bS5u$RJQot+$%lTt1)g z+bw~rcA426*GE6(oGW;-(Z|5cRU-T-iayEb^AFuDc|M=NADAa~|7KPek=LDbry%tT z!Z7?Mo6VL|9||JUY-Y!Dx!hc#Q26;q$R{QyI-)3A6p`DAlU+ngA~NBednd8mRtLf` z{C_-?$+Q5Su?PWL%j2=Y1^9h**W*Nh`h-5 zQd|TcR@Lttklzb@0o=*8QeP60lg_!9s_pAFB;uSqQS~2e0at*|djEl{-W8J{1e&07 z?7(T~+#r>*z76%Bp#?!O1kA=8K;^m)0Dnu9lauW=$PWNZKzl+?C8^Ju*|W9C|4sn0 z!*gbK0r)LmYX;gkHa0#>HyZJH5x9pqfn%RVGdrfLQ9Y7I9nof6TiXEem53xFHbvwo z;_o&_1pFu>8}a;i;On-wwt;#L?2ZHg3=a=q^?muP delta 750 zcmV?JhOg(gJ}BL4Fja)J77i7q4C< zVvI`saWLNeGfeb9@r3bb;(>TE;90mBtP%>OBGLE*`U3>o-HzE6mTtrDz6A_AhwgUY zOy=`u=Dm53P$gqyvvn<9(tUvL0359zb9!I>wT_wjEIQj-wSPo!_e%xk+tFxrO~jt6 zm8Q~}Q3l-7`Q8Zn+8B!CFSUkBKR$dfueuuEau0(|?q zjOBb0;N4>)%YT0KbhLqpV3z``C6DKzUaEz#1;{Ra!H<=^ZAN6jAIXzFkR(YEz$ne} z97+}l#}pWow}}8%t(EnSO{6mmXlaVz%&9)NGJ5^}^TJRnl`8*PEn8AsgsP@tW3%KC z0UzoV#TaL1yq}%NW~q$W@pd#v!j2Fc^Uz?t`;{X=CV#t#e9?Y0({n!%?}g9jGo0yl zpxbC##VrCL$#>)K$c4v_0EN{x6pCwLn;a;zjMnBxi?gz-VmViU{?wylClYY|^7(U5 z906RXu@40%jGXO{J#z%mXR=Z#?!(QFX(SXxV>o1f5CWL{w1nIN0fa+Aqd2!k2tdza zS=H>X%3)Cs_Z}kkLd5P?VhNAi7#a)dqRkhr$At3;_1Bn-;=12oN+mCrm zf!mQx7=VDrh9Fv+b~>j}1cV*zLGj-N*w4kpYiAG$e04C<`@(V_n0z-AC)vNJtC<%7 zA~2WLMCx?kM+<=dXDU56%7Ev~sV4y7(O@EWYumK_#Q^9lzz+kJ g^?S)=(mZbe1_HFlF!_v;D*ylh07*qoM6N<$f-*2=OaK4? diff --git a/static/favicon.ico b/static/favicon.ico index 9e2fc8d4de959236227a24cab2ff0ab473539f55..76a3e705025cb1844afcd321690e883110227903 100644 GIT binary patch literal 15086 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 diff --git a/static/logo-doks.png b/static/logo-doks.png deleted file mode 100644 index 74bdfb9da9ca89b465ac215d19b0cd7141788dd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20786 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 literal 0 HcmV?d00001 diff --git a/static/site.webmanifest b/static/site.webmanifest index d641eb7..46ea202 100644 --- a/static/site.webmanifest +++ b/static/site.webmanifest @@ -1 +1 @@ -{"name":"Doks Theme","short_name":"Doks","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#fff","background_color":"#fff","display":"standalone"} \ No newline at end of file +{"name":"Tilly","short_name":"Tilly","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#fff","background_color":"#fff","display":"standalone"} \ No newline at end of file diff --git a/static/tilly.png b/static/tilly.png new file mode 100644 index 0000000000000000000000000000000000000000..0475077faaa8e7ce48036fc654ea3c8f57a0dd28 GIT binary patch literal 10199 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 literal 0 HcmV?d00001 diff --git a/static/tilly.svg b/static/tilly.svg new file mode 100644 index 0000000..8ce9618 --- /dev/null +++ b/static/tilly.svg @@ -0,0 +1,52 @@ + + + + + + image/svg+xml + + Angle Brackets + + + + + Angle Brackets + A line styled icon from Orion Icon Library. + + + From 5515279de1a8ed2e1e0ef31efd16b18d793caac0 Mon Sep 17 00:00:00 2001 From: Sun Ziping Date: Tue, 27 Apr 2021 04:10:36 +0800 Subject: [PATCH 11/16] fix lint error --- content/blog/build-gsa-from-cfg/index.md | 3 +-- content/blog/how-to-construct-ssa/index.md | 6 ++---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/content/blog/build-gsa-from-cfg/index.md b/content/blog/build-gsa-from-cfg/index.md index 6d2bceb..97cad7c 100644 --- a/content/blog/build-gsa-from-cfg/index.md +++ b/content/blog/build-gsa-from-cfg/index.md @@ -678,7 +678,6 @@ $u=1$时构建的树。 - [^tu1995efficient]: P. Tu and D. Padua, “Efficient building and placing of gating functions,” in *Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation - PLDI ’95*, 1995. [^cytron1991efficiently]: R. Cytron, J. Ferrante, B. K. Rosen, M. N. Wegman, and F. K. Zadeck, “Efficiently computing static single assignment form and the control dependence graph,” *ACM Trans. Program. Lang. Syst.*, vol. 13, no. 4, pp. 451–490, 1991. [^ottenstein1990program]: K. J. Ottenstein, R. A. Ballance, and A. B. MacCabe, “The program dependence web: a representation supporting control-, data-, and demand-driven interpretation of imperative languages,” in *Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation - PLDI ’90*, 1990. @@ -705,4 +704,4 @@ $u=1$时构建的树。 margin: 0.5em; flex: 1 1 0; } - \ No newline at end of file + diff --git a/content/blog/how-to-construct-ssa/index.md b/content/blog/how-to-construct-ssa/index.md index fbcf47d..d8b5260 100644 --- a/content/blog/how-to-construct-ssa/index.md +++ b/content/blog/how-to-construct-ssa/index.md @@ -115,12 +115,12 @@ SSA形式可以被看作一个程序的性质,或者一个从不具备该性 考虑下面的图: -![](example-cfg.svg) +![example CFG](example-cfg.svg) 其支配者树如下,其中节点$X$的标签为: $$\begin{gather*}(DF_{up}(X))\newline X[DF_{local}(X)|DF(X)]\end{gather*}$$ -![](example-dom-tree.svg) +![example dominator tree](example-dom-tree.svg) 下文中,前驱$Pred$、后继$Succ$和路径这些名词是CFG上的,而父亲$Parent$、孩子$Children$、祖先、子孙这些名词是指支配者树的。关于支配者树的计算我将在稍后给出。 @@ -285,5 +285,3 @@ $X,Y$是CFG节点,那么$Y$控制依赖于$X$,当且仅当在RCFG中$X\in DF [^cytron1991efficiently]: Cytron, R., Ferrante, J., Rosen, B. K., Wegman, M. N., & Zadeck, F. K. (1991). Efficiently computing static single assignment form and the control dependence graph. *ACM Transactions on Programming Languages and Systems (TOPLAS)*, 13(4), 451-490. [^lengauer1979fast]: Lengauer, T., & Tarjan, R. E. (1979). A fast algorithm for finding dominators in a flowgraph. *ACM Transactions on Programming Languages and Systems (TOPLAS)*, 1(1), 121-141. - - From 8cc2139155bd2befba04053d3321eca51460b8e8 Mon Sep 17 00:00:00 2001 From: Sun Ziping Date: Tue, 27 Apr 2021 04:11:42 +0800 Subject: [PATCH 12/16] add pre commit --- package-lock.json | 116 +++++++++++++++++++++++++++++++++++++--------- package.json | 6 +++ 2 files changed, 100 insertions(+), 22 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6d50425..6dbf134 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2179,8 +2179,7 @@ "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" }, "buffer-xor": { "version": "1.0.3", @@ -2995,8 +2994,7 @@ "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 + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "cosmiconfig": { "version": "7.0.0", @@ -6038,8 +6036,7 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ini": { "version": "1.3.8", @@ -6352,14 +6349,12 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, "isobject": { "version": "3.0.1", @@ -7889,6 +7884,11 @@ "arch": "^2.1.0" } }, + "os-shim": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", + "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=" + }, "p-cancelable": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", @@ -8557,6 +8557,63 @@ "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", "dev": true }, + "pre-commit": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/pre-commit/-/pre-commit-1.2.2.tgz", + "integrity": "sha1-287g7p3nI15X95xW186UZBpp7sY=", + "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=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "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==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "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=" + }, + "which": { + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", + "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", + "requires": { + "isexe": "^2.0.0" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + } + } + }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -8584,8 +8641,7 @@ "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 + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "progress": { "version": "2.0.3", @@ -8624,8 +8680,7 @@ "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" }, "public-encrypt": { "version": "4.0.3", @@ -8963,7 +9018,6 @@ "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", @@ -9279,8 +9333,7 @@ "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 + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "safe-regex": { "version": "1.1.0", @@ -9840,6 +9893,28 @@ "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "dev": true }, + "spawn-sync": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", + "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=", + "requires": { + "concat-stream": "^1.4.7", + "os-shim": "^0.1.2" + }, + "dependencies": { + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + } + } + }, "spdx-correct": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", @@ -10136,7 +10211,6 @@ "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" } @@ -11084,8 +11158,7 @@ "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, "typedarray-to-buffer": { "version": "3.1.5", @@ -11373,8 +11446,7 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "utils-merge": { "version": "1.0.1", diff --git a/package.json b/package.json index 95ca98b..67aeadb 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,9 @@ "check": "hugo version", "copy:katex-fonts": "shx cp ./node_modules/katex/dist/fonts/* ./static/fonts/" }, + "pre-commit": [ + "lint" + ], "devDependencies": { "@babel/cli": "^7.13", "@babel/core": "^7.13", @@ -62,5 +65,8 @@ "standard-version": "^9.2", "stylelint": "^13.12", "stylelint-config-standard": "^21.0" + }, + "dependencies": { + "pre-commit": "^1.2.2" } } From 2ce6fe11e6e638a32ce8a46012a6803bec815706 Mon Sep 17 00:00:00 2001 From: Sun Ziping Date: Tue, 27 Apr 2021 04:23:37 +0800 Subject: [PATCH 13/16] fix missing lntable --- config/postcss.config.js | 1 + 1 file changed, 1 insertion(+) diff --git a/config/postcss.config.js b/config/postcss.config.js index a97ab78..1c72508 100644 --- a/config/postcss.config.js +++ b/config/postcss.config.js @@ -13,6 +13,7 @@ module.exports = { safelist: [ 'lazyloaded', 'table', + 'lntable', 'thead', 'tbody', 'tr', From 2191cdaca920161587ae4fbd094334931d9f10a6 Mon Sep 17 00:00:00 2001 From: Sun Ziping Date: Tue, 27 Apr 2021 09:19:38 +0800 Subject: [PATCH 14/16] add path expression --- .github/workflows/node.js-ci.yml | 4 +- assets/scss/components/_tables.scss | 7 +- assets/scss/layouts/_pages.scss | 7 +- content/blog/build-gsa-from-cfg/index.md | 109 ++++++++++++++++++++++- layouts/blog/single.html | 29 +++--- layouts/partials/sidebar/docs-toc.html | 2 +- 6 files changed, 137 insertions(+), 21 deletions(-) diff --git a/.github/workflows/node.js-ci.yml b/.github/workflows/node.js-ci.yml index f5ff1db..1b602bf 100644 --- a/.github/workflows/node.js-ci.yml +++ b/.github/workflows/node.js-ci.yml @@ -15,8 +15,8 @@ jobs: strategy: matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - node-version: [14.x, 15.x] + os: [ubuntu-latest, windows-latest] + node-version: [14.x] steps: - uses: actions/checkout@v2 diff --git a/assets/scss/components/_tables.scss b/assets/scss/components/_tables.scss index 9777207..c0cbfa6 100644 --- a/assets/scss/components/_tables.scss +++ b/assets/scss/components/_tables.scss @@ -1,3 +1,8 @@ +table { + overflow-x: auto; + display: block; +} + table:not(.lntable) { @extend .table; @@ -5,8 +10,6 @@ table:not(.lntable) { } table.lntable { - display: block; - td:nth-child(2) { width: 100%; } diff --git a/assets/scss/layouts/_pages.scss b/assets/scss/layouts/_pages.scss index 5fff754..18a97b6 100644 --- a/assets/scss/layouts/_pages.scss +++ b/assets/scss/layouts/_pages.scss @@ -9,8 +9,13 @@ } .docs-content p, -.blog-content p { +.blog-content p, +.docs-content ul, +.blog-content ul, +.docs-content ol, +.blog-content ol { text-align: justify; + overflow-x: auto; } .anchor { diff --git a/content/blog/build-gsa-from-cfg/index.md b/content/blog/build-gsa-from-cfg/index.md index 97cad7c..8467612 100644 --- a/content/blog/build-gsa-from-cfg/index.md +++ b/content/blog/build-gsa-from-cfg/index.md @@ -105,7 +105,7 @@ V3 := phi(V1, V2) ```
    -
    $$\Rightarrow$$
    +
    $$\Rightarrow$$
    ```fortran @@ -176,7 +176,7 @@ write(A); ```
    -
    $$\Rightarrow$$
    +
    $$\Rightarrow$$
    ![eta GSA example](eta-gsa-cfg1.svg) @@ -221,13 +221,13 @@ write(A); ```
    -
    $$\Rightarrow$$
    +
    $$\Rightarrow$$
    ![eta CFG example2](eta-cfg2.svg)
    -
    $$\Rightarrow$$
    +
    $$\Rightarrow$$
    ![eta GSA CFG example2](eta-gsa-cfg2.svg) @@ -516,6 +516,107 @@ $\gamma$和$\mu$就是原来$\phi$函数的变种,因而它们可以使用Cytr ## GSA构建算法 +### 用Gating函数代表路径表达式 + +我们使用路径表达式来表达两节点之间路径集合,最终目的是找到立即支配者到合并节点的路径集合,后者就是要插入$\gamma$和$\mu$的地方。重新定义路径表达式的原子表达式和运算规则,使之运算的结果就是表示路径成立的$\gamma$函数。这样路径表达式计算完毕,就自然得到了$\gamma$函数。 + +#### 原子路径表达式 + +首先,我们使用$\Lambda$表示路径可达,$\varnothing$表示路径不可达。 + +然后,我们考虑对于一条边,它的路径表达式: + +1. 如果是`if (B)`的`then`分支出边,该边的路径表达式为:$\gamma(B,\Lambda,\varnothing)$; +2. 如果是`if (B)`的`else`分支出边,该边的路径表达式为:$\gamma(B,\varnothing,\Lambda)$; +3. 如果是唯一出边,该边的路径表达式为:$\Lambda$; + +这里,$\gamma(B,\Lambda,\varnothing)$可以被理解为,当$B$为真时,路径可达;当$B$为假时,路径不可达。`else`分支类似理解。更多分支可以通过定义$\gamma(B,e_1,e_2,\dots,e_n)$来表示,其中$n$是分支数。 + +#### 复合路径表达式 + +接下来,我们就需要定义路径表达式的$\cup$,$~\cdot~$运算。$\*$运算不定义,因为之后用不到,但其实它也无法定义,这是被$\gamma$函数无法表达循环这件事本身所限制住的(主要是因为$B$可能会变)。 + +##### 并集 + +对于路径表达式$R_1$和$R_2$,定义它们的并: + +$$R_1\cup R_2:=\begin{cases} +R_2, &\text{if}~R_1=\varnothing \newline +R_1, &\text{if}~R_2=\varnothing \newline +\gamma(B,(R_{1_t}\cup R_{2_t}),(R_{1_f}\cup R_{2_f})), &\text{if}~\begin{aligned}R_1=\gamma(B,R_{1_t},R_{1_f}) \newline R_2=\gamma(B,R_{2_t},R_{2_f})\end{aligned} \newline +\end{cases}$$ + +前两个条件很容易理解,如果两个路径集合取并集,其中一个是不可达,留下另一个就可以了。关于最后一个情况,有三个疑问。 + +1. 最后一条情况一定被满足么?是的,可以归纳证明类型相同的路径表达式,如果包含$\gamma$,其条件一定是相同的。 +2. 语义上如何理解?$B$为真的时候,两种情况中真的路径求并就可以了;`else`分支类似。 +3. 类型一致么?是的,可以归纳证明$R_1$、$R_{1_t}$、$R_{1_f}$以及$R_2$等6个路径表达式是同一类型,所以子表达式中的$\cup$没问题。 + +##### 拼接 + +对于路径表达式$R_1$和$R_2$,定义它们的拼接: + +$$R_1\cup R_2:=\begin{cases} +\varnothing, &\text{if}~R_1=\varnothing~\text{or}~R_2=\varnothing \newline +R_2, &\text{if}~R_1=\Lambda \newline +R_1, &\text{if}~R_2=\Lambda \newline +\gamma(B,(R_{1_t}\cdot R_2),(R_{1_f}\cdot R_2)), &\text{if}~R_1=\gamma(B,R_{1_t},R_{1_f}) \newline +\end{cases}$$ + +这里就讲解语义上的理解:前三条很直白,最后一条也就是$R_2$分配到`then`和`else`分支。 + +从拼接的构造过程,我们就能得到[$\gamma$函数,含有谓词的合并](#gamma函数含有谓词的合并)一节中的结论:(不考虑循环回边)在合并节点处的路径表达式的根$\gamma$函数的谓词输入就是合并节点的立即支配者的条件;其值输入则是(如果有)嵌套的$\gamma$函数,从外到里则与立即支配者到合并节点的路径对应。 + +需要注意到的是,反复运用合并和拼接后,路径表达式只有嵌套的$\gamma$、$\Lambda$和$\varnothing$组成(不包含$~\cdot~$和$\cup$)。 + +##### 例子 + +{{< highlight fortran "linenos=table" >}} +if (P) then + A := 1 +else + A := 2 +endif +{{< / highlight >}} + +这里,我们把`endif`视作一个基本块,并用行号来表示CFG节点。我们的目标是求出立即支配者1(`if`)到被支配者5(`endif`)的路径表达式。 + +首先给出原子路径表达式: + +|边|原子路径表达式| +|:-:|:-| +|$1\rightarrow 2$|$\gamma(P,\Lambda,\varnothing)$| +|$1\rightarrow 4$|$\gamma(P,\varnothing,\Lambda)$| +|$2\rightarrow 5$|$\Lambda$| +|$4\rightarrow 5$|$\Lambda$| + +再给出复合路径表达式: + +|路径|路径表达式| +|:-:|:-| +|$1\rightarrow 2\rightarrow 5$|$\gamma(P,\Lambda,\varnothing)\cdot\Lambda=\gamma(P,\Lambda,\varnothing)$| +|$1\rightarrow 4\rightarrow 5$|$\gamma(P,\varnothing,\Lambda)\cdot\Lambda=\gamma(P,\varnothing,\Lambda)$| +|$\bigcup 1\xrightarrow{\*}5$|$\gamma(P,\Lambda,\varnothing)\cup\gamma(P,\varnothing,\Lambda)=\gamma(P,\Lambda,\Lambda)$| + +那么对于复杂的可归约图,求解路径表达式就需要按照一个顺序。其计算方法就应当参见先前说的[Tarjan的算法](#可归约控制流图的路径表达式计算)。 + +有些人就有疑问了,对于绝大多数情况,路径表达式的值输入都是$\Lambda$,没有什么意义。其实,这里还缺最后一步,就是在合并节点处,依据流入边的顺序对$\Lambda$进行标号。这一步有点类似$\phi$函数的标号,方便之后重命名标上版本号(注意标号与版本号的区别)。 + +为什么给$\Lambda$标号?因为在消除死代码后,合并节点的每个$\Lambda$都代表着一种可能流入的值(假定entry包含对所有变量的默认初始化)。 + +#### 标号 + +标号是很简单的操作。在合并节点求路径表达式时,会把所有流入的路径取个并。**在取并之前**,依据流入路径的顺序给$\Lambda$标号即可。 + +例如上例中,计算$\bigcup 1\xrightarrow{\*}5$时,会合并两个路径,给它们标上号: + +1. $\*\xrightarrow{\*}2\rightarrow 5$:$\gamma(P,\Lambda^1,\varnothing)$; +2. $\*\xrightarrow{\*}4\rightarrow 5$:$\gamma(P,\varnothing,\Lambda^2)$; + +合并之后,就有最终的计算结果:$\gamma(P,\Lambda^1,\Lambda^2)$。经过重命名的步骤后,就能得到想要的gating函数了。再次强调这里的上标不是数据流上的版本号,而是控制流的入边,切勿搞混。 + +### 算法 + ### 完整的例子 {{< highlight fortran "linenos=table" >}} diff --git a/layouts/blog/single.html b/layouts/blog/single.html index aae4bcc..8d5afab 100644 --- a/layouts/blog/single.html +++ b/layouts/blog/single.html @@ -1,14 +1,21 @@ {{ define "main" }} -
    -
    -
    -
    -

    {{ .Title }}

    - {{ partial "main/blog-meta.html" . }} -
    -

    {{ .Params.lead | safeHTML }}

    - {{ .Content }} -
    -
    +
    + {{ if ne .Params.toc false -}} + + {{ end -}} + {{ if .Params.toc -}} +
    + {{ else -}} +
    + {{ end -}} +
    +

    {{ .Title }}

    + {{ partial "main/blog-meta.html" . }} +
    +

    {{ .Params.lead | safeHTML }}

    + {{ .Content }} +
    {{ end }} \ No newline at end of file diff --git a/layouts/partials/sidebar/docs-toc.html b/layouts/partials/sidebar/docs-toc.html index 3ab5ab7..0028f9e 100644 --- a/layouts/partials/sidebar/docs-toc.html +++ b/layouts/partials/sidebar/docs-toc.html @@ -1,6 +1,6 @@ {{ if ne .Params.toc false -}} {{ end -}} \ No newline at end of file From ca576bb1920a2fe98989c9e63e3f107f1a3e57bb Mon Sep 17 00:00:00 2001 From: Sun Ziping Date: Tue, 27 Apr 2021 09:25:53 +0800 Subject: [PATCH 15/16] align left --- assets/scss/layouts/_pages.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/scss/layouts/_pages.scss b/assets/scss/layouts/_pages.scss index 18a97b6..1cb1294 100644 --- a/assets/scss/layouts/_pages.scss +++ b/assets/scss/layouts/_pages.scss @@ -14,7 +14,7 @@ .blog-content ul, .docs-content ol, .blog-content ol { - text-align: justify; + text-align: left; overflow-x: auto; } From caf1ccff2bae3e58b7595929c8240954b997c6ad Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 27 Apr 2021 08:21:08 +0000 Subject: [PATCH 16/16] build(deps-dev): bump @babel/cli from 7.13.14 to 7.13.16 Bumps [@babel/cli](https://github.com/babel/babel/tree/HEAD/packages/babel-cli) from 7.13.14 to 7.13.16. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.13.16/packages/babel-cli) Signed-off-by: dependabot[bot] --- package-lock.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6dbf134..4165e9c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,9 +5,9 @@ "requires": true, "dependencies": { "@babel/cli": { - "version": "7.13.14", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.13.14.tgz", - "integrity": "sha512-zmEFV8WBRsW+mPQumO1/4b34QNALBVReaiHJOkxhUsdo/AvYM62c+SKSuLi2aZ42t3ocK6OI0uwUXRvrIbREZw==", + "version": "7.13.16", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.13.16.tgz", + "integrity": "sha512-cL9tllhqvsQ6r1+d9Invf7nNXg/3BlfL1vvvL/AdH9fZ2l5j0CeBcoq6UjsqHpvyN1v5nXSZgqJZoGeK+ZOAbw==", "dev": true, "requires": { "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents", @@ -16,7 +16,6 @@ "convert-source-map": "^1.1.0", "fs-readdir-recursive": "^1.1.0", "glob": "^7.0.0", - "lodash": "^4.17.19", "make-dir": "^2.1.0", "slash": "^2.0.0", "source-map": "^0.5.0"