├── .circleci
└── config.yml
├── .github
└── workflows
│ └── build.yml
├── .gitignore
├── License.md
├── README.md
├── assets
├── img
│ ├── SkillSet.PNG
│ └── screencap.png
└── test-data
│ ├── JCantuResume.json
│ └── mySkills.csv
├── dist
├── index.html
├── main.js
├── mySkills.csv
└── styles
│ └── style.css
├── favicon.ico
├── index.html
├── package-lock.json
├── package.json
├── src
├── app.js
├── index.js
├── lib
│ └── d3.min.js
└── viz.js
└── styles
├── picnic.min.css
└── style.css
/.circleci/config.yml:
--------------------------------------------------------------------------------
1 | # Javascript Node CircleCI 2.0 configuration file
2 | #
3 | # Check https://circleci.com/docs/2.0/language-javascript/ for more details
4 | #
5 | version: 2
6 | jobs:
7 | build:
8 | docker:
9 | # specify the version you desire here
10 | - image: circleci/node:8.0.0
11 |
12 | # Specify service dependencies here if necessary
13 | # CircleCI maintains a library of pre-built images
14 | # documented at https://circleci.com/docs/2.0/circleci-images/
15 | # - image: circleci/mongo:3.4.4
16 |
17 | working_directory: ~/repo
18 |
19 | steps:
20 | - checkout
21 |
22 | # Download and cache dependencies
23 | - restore_cache:
24 | keys:
25 | - v1-dependencies-{{ checksum "package.json" }}
26 | # fallback to using the latest cache if no exact match is found
27 | - v1-dependencies-
28 |
29 | - run: npm install
30 |
31 | - save_cache:
32 | paths:
33 | - node_modules
34 | key: v1-dependencies-{{ checksum "package.json" }}
35 |
36 | # run tests!
37 | - run: echo "test"
38 |
39 |
40 |
--------------------------------------------------------------------------------
/.github/workflows/build.yml:
--------------------------------------------------------------------------------
1 | # This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
2 | # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
3 |
4 | name: skillset-build-workflow
5 |
6 | on:
7 | push:
8 | branches:
9 | - master
10 | - feature/*
11 | pull_request:
12 | branches: [master]
13 |
14 | jobs:
15 | build:
16 | runs-on: ubuntu-latest
17 | timeout-minutes: 10
18 |
19 | strategy:
20 | matrix:
21 | node-version: [15.x, 16.x]
22 |
23 | steps:
24 | - uses: actions/checkout@v2
25 | - name: Use Node.js ${{ matrix.node-version }}
26 | uses: actions/setup-node@v1
27 | with:
28 | node-version: ${{ matrix.node-version }}
29 | - run: npm ci
30 | - run: npm run build
31 | env:
32 | CI: true
33 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Created by https://www.gitignore.io/api/node
3 |
4 | ### Node ###
5 | # Logs
6 | logs
7 | *.log
8 | npm-debug.log*
9 | yarn-debug.log*
10 | yarn-error.log*
11 |
12 | # Runtime data
13 | pids
14 | *.pid
15 | *.seed
16 | *.pid.lock
17 |
18 | # Directory for instrumented libs generated by jscoverage/JSCover
19 | lib-cov
20 |
21 | # Coverage directory used by tools like istanbul
22 | coverage
23 |
24 | # nyc test coverage
25 | .nyc_output
26 |
27 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
28 | .grunt
29 |
30 | # Bower dependency directory (https://bower.io/)
31 | bower_components
32 |
33 | # node-waf configuration
34 | .lock-wscript
35 |
36 | # Compiled binary addons (http://nodejs.org/api/addons.html)
37 | build/Release
38 |
39 | # Dependency directories
40 | node_modules/
41 | jspm_packages/
42 |
43 | # Typescript v1 declaration files
44 | typings/
45 |
46 | # Optional npm cache directory
47 | .npm
48 |
49 | # Optional eslint cache
50 | .eslintcache
51 |
52 | # Optional REPL history
53 | .node_repl_history
54 |
55 | # Output of 'npm pack'
56 | *.tgz
57 |
58 | # Yarn Integrity file
59 | .yarn-integrity
60 |
61 | # dotenv environment variables file
62 | .env
63 |
64 |
65 |
66 | # End of https://www.gitignore.io/api/node
67 |
--------------------------------------------------------------------------------
/License.md:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2016 Jeremy Cantu
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 | [](https://opensource.org/licenses/mit-license.php)
4 | 
5 | [](https://www.buymeacoffee.com/jac21)
6 |
7 | Intuitive job-candidate skill visualization, taking advantage of [D3.js](http://d3js.org/) and [JSONResume](https://jsonresume.org/).
8 |
9 | Live site:
10 | >- https://jac21.github.io/SkillSet/
11 |
12 | Live demo:
13 | >- https://jac21.github.io/viz.html
14 |
15 | React wrapper component created by [romain325](https://github.com/romain325):
16 | >- https://github.com/romain325/ReactSkillSet
17 |
18 | Example Screenshot:
19 | -----------
20 | 
21 |
--------------------------------------------------------------------------------
/assets/img/SkillSet.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Jac21/SkillSet/9f6e9b741497d7aa2d441591442bd467bfb795b6/assets/img/SkillSet.PNG
--------------------------------------------------------------------------------
/assets/img/screencap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Jac21/SkillSet/9f6e9b741497d7aa2d441591442bd467bfb795b6/assets/img/screencap.png
--------------------------------------------------------------------------------
/assets/test-data/JCantuResume.json:
--------------------------------------------------------------------------------
1 | {
2 | "basics": {
3 | "name": "Jeremy Cantu",
4 | "label": "Software Developer",
5 | "picture":
6 | "https://media.licdn.com/mpr/mpr/shrinknp_400_400/AAEAAQAAAAAAAAMxAAAAJDVhY2UyNWU2LTMxYWUtNDIzYi1iYzUzLTM1YmQ2ODI1MGE2OA.jpg",
7 | "email": "jcantu521@gmail.com",
8 | "phone": "(956)286-8386",
9 | "website": "https://jac21.github.io/",
10 | "summary":
11 | "Jeremy hails from the border city of Laredo Texas, attending Texas A&M University soon after graduating from the United High School Engineering and Technology Magnet. Jeremy earned his degree in Computer Science, with a focus in Systems Engineering, and has an avid interest in .NET technologies and web development as whole.",
12 | "location": {
13 | "address": "11011 Domain Drive",
14 | "postalCode": "78758",
15 | "city": "Austin",
16 | "countryCode": "US",
17 | "region": "Texas"
18 | },
19 | "profiles": [
20 | {
21 | "network": "GitHub",
22 | "username": "Jac21",
23 | "url": "https://github.com/Jac21"
24 | }
25 | ]
26 | },
27 | "work": [
28 | {
29 | "company": "Sogeti USA",
30 | "position": "IT Consultant",
31 | "website": "https://us.sogeti.com/",
32 | "startDate": "6/8/2015",
33 | "endDate": "4/1/2016",
34 | "summary":
35 | "Microsoft-technology oriented software developer, responsible for client-site projects in varying domains, platforms and technologies.The profession involves the adaptation to said technologies at a quick pace, the adoption of a wide depth and breadth of technical knowledge, and the building of soft-skills such as business interaction and presentation. Major accomplishments include a role as a Software Development Engineer in Test at Dell, as well as leading the Summer 2015 graduating class as the \"Class President,\" elected by his fellow co-workers and peers.",
36 | "highlights": [
37 | "SDET role at Dell, took part in automated testing-suite creation for customer support applications using Selenium Webdriver and Protractor.NET, among other .NET and C# technologies"
38 | ]
39 | },
40 | {
41 | "company": "Dell",
42 | "position": "Software Developer Senior Analyst",
43 | "website": "http://www.dell.com/",
44 | "startDate": "4/4/2016",
45 | "endDate": "1/2/2017",
46 | "summary":
47 | "Software Development Engineer in Test, as part of the Dell Consumer Services \"Responsive Platform\" team. Responsible for automated test framework and suite creation for the whole of the application, utilizing C#, Selenium WebDriver, and SpecFlow, as well as monitoring and analysis using Splunk and Adobe Analytics.",
48 | "highlights": [
49 | "Highlights include my role as SDET lead, involving my close work with the team's Product Owner and Technical Project Manager. In addition, was involved in a subsequently patented voice interface application for a Dell.com \"hack day\" event"
50 | ]
51 | },
52 | {
53 | "company": "Advanced Solutions International",
54 | "position": "Software Developer",
55 | "website": "http://www.advsol.com",
56 | "startDate": "1/3/2017",
57 | "endDate": "Present",
58 | "summary":
59 | "Full-stack, .NET focused software developer in an Agile environment.",
60 | "highlights": []
61 | }
62 | ],
63 | "volunteer": [
64 | {
65 | "organization": "TAMUHack",
66 | "position": "Project Judge",
67 | "website": "http://tamuhack.com/",
68 | "startDate": "10/9/2015",
69 | "endDate": "10/10/2015",
70 | "summary":
71 | "Performed staff and volunteer duties at the second-annual TAMUHack hackathon, in addition with being tasked as a judge for the resulting projects and aiding in award selections.",
72 | "highlights": []
73 | }
74 | ],
75 | "education": [
76 | {
77 | "institution": "Texas A&M University",
78 | "area": "Computer Science",
79 | "studyType": "Bachelor of Science",
80 | "startDate": "8/27/2012",
81 | "endDate": "5/18/2015",
82 | "gpa": "3.3",
83 | "courses": [
84 | "CSCE 221 - Data Structures and Algorithms",
85 | "CSCE 315 - Programming Studio",
86 | "CSCE 438 - Distributed Objects Programming",
87 | "CSCE 482 - Senior Capstone",
88 | "CSCE 489 - Reverse Engineering"
89 | ]
90 | }
91 | ],
92 | "awards": [
93 | {
94 | "title": "3rd Place at the first annual TAMUHack",
95 | "date": "10/25/2014",
96 | "awarder": "TAMUHack",
97 | "summary":
98 | "Earned third-place in the \\\"overall\\\" category in Texas A&M's first hackathon with a 3D, Oculus-Rift design oriented video game. More information: http://devpost.com/software/attack-on-oculus"
99 | }
100 | ],
101 | "publications": [],
102 | "skills": [
103 | {
104 | "name": ".NET",
105 | "level": "Intermediate",
106 | "keywords": ["C#", "ASP.NET MVC 5", "WebAPI"]
107 | },
108 | {
109 | "name": "Web Development",
110 | "level": "Intermediate",
111 | "keywords": ["HTML5", "CSS3", "JavaScript", "Node.js"]
112 | },
113 | {
114 | "name": "Front-End Frameworks",
115 | "level": "Beginner",
116 | "keywords": ["AngularJS", "Angular 2", "React"]
117 | },
118 | {
119 | "name": "General Software Development",
120 | "level": "Intermediate",
121 | "keywords": ["Git", "GitHub", "Team Foundation Server"]
122 | },
123 | {
124 | "name": "Security",
125 | "level": "Intermediate",
126 | "keywords": ["OllyDbg", "IDA Pro", "Nmap", "Wireshark"]
127 | },
128 | {
129 | "name": "Automated Testing",
130 | "level": "Intermediate",
131 | "keywords": ["Selenium WebDriver", "Protractor", "SpecFlow"]
132 | }
133 | ],
134 | "languages": [
135 | {
136 | "language": "English",
137 | "fluency": "Native speaker"
138 | },
139 | {
140 | "language": "Spanish",
141 | "fluency": "Read, write, and semi-fluency in speech"
142 | }
143 | ],
144 | "interests": [],
145 | "references": []
146 | }
147 |
--------------------------------------------------------------------------------
/assets/test-data/mySkills.csv:
--------------------------------------------------------------------------------
1 | source,target,value
2 | .NET,C#,2.0
3 | .NET,ASP.NET MVC 5,2.0
4 | .NET,WebAPI,2.0
5 | Web Development,HTML5,2.0
6 | Web Development,CSS3,2.0
7 | Web Development,JavaScript,2.0
8 | Web Development,Node.js,2.0
9 | Front-End Frameworks,AngularJS,1.0
10 | Front-End Frameworks,Angular 2,1.0
11 | Front-End Frameworks,React,1.0
12 | General Software Development,Git,2.0
13 | General Software Development,GitHub,2.0
14 | General Software Development,Team Foundation Server,2.0
15 | Security,OllyDbg,2.0
16 | Security,IDA Pro,2.0
17 | Security,Nmap,2.0
18 | Security,Wireshark,2.0
19 | Automated Testing,Selenium WebDriver,2.0
20 | Automated Testing,Protractor,2.0
21 | Automated Testing,SpecFlow,2.0
--------------------------------------------------------------------------------
/dist/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | SkillSet
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/dist/mySkills.csv:
--------------------------------------------------------------------------------
1 | source,target,value
2 | .NET,C#,2.0
3 | .NET,ASP.NET MVC 5,2.0
4 | .NET,WebAPI,2.0
5 | Web Development,HTML5,2.0
6 | Web Development,CSS3,2.0
7 | Web Development,JavaScript,2.0
8 | Web Development,Node.js,2.0
9 | Front-End Frameworks,AngularJS,1.0
10 | Front-End Frameworks,Angular 2,1.0
11 | Front-End Frameworks,React,1.0
12 | General Software Development,Git,2.0
13 | General Software Development,GitHub,2.0
14 | General Software Development,Team Foundation Server,2.0
15 | Security,OllyDbg,2.0
16 | Security,IDA Pro,2.0
17 | Security,Nmap,2.0
18 | Security,Wireshark,2.0
19 | Automated Testing,Selenium WebDriver,2.0
20 | Automated Testing,Protractor,2.0
21 | Automated Testing,SpecFlow,2.0
--------------------------------------------------------------------------------
/dist/styles/style.css:
--------------------------------------------------------------------------------
1 | path.link {
2 | fill: none;
3 | stroke: #666;
4 | stroke-width: 1.5px;
5 | }
6 |
7 | path.link.twofive {
8 | opacity: 0.25;
9 | }
10 |
11 | path.link.fivezero {
12 | opacity: 0.50;
13 | }
14 |
15 | path.link.sevenfive {
16 | opacity: 0.75;
17 | }
18 |
19 | path.link.onezerozero {
20 | opacity: 1.0;
21 | }
22 |
23 | circle {
24 | fill: #ccc;
25 | stroke: #fff;
26 | stroke-width: 1.5px;
27 | }
28 |
29 | text {
30 | fill: #000;
31 | font: 12px sans-serif;
32 | pointer-events: none;
33 | }
--------------------------------------------------------------------------------
/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Jac21/SkillSet/9f6e9b741497d7aa2d441591442bd467bfb795b6/favicon.ico
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
10 |
11 | SkillSet
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | If you'd like to see an example in action, click
23 | here!
29 |
30 |
31 |
40 |
41 |
42 |
43 |
44 |
50 |
76 |
77 |
109 |
110 |
111 |
112 |
113 |
114 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "skillset",
3 | "version": "1.0.0",
4 | "lockfileVersion": 3,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "skillset",
9 | "version": "1.0.0",
10 | "license": "MIT",
11 | "dependencies": {
12 | "d3": "^7.9.0"
13 | },
14 | "devDependencies": {
15 | "http-server": "^14.1.1",
16 | "webpack": "^5.98.0",
17 | "webpack-cli": "^5.1.4"
18 | }
19 | },
20 | "node_modules/@discoveryjs/json-ext": {
21 | "version": "0.5.7",
22 | "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
23 | "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==",
24 | "dev": true,
25 | "license": "MIT",
26 | "engines": {
27 | "node": ">=10.0.0"
28 | }
29 | },
30 | "node_modules/@jridgewell/gen-mapping": {
31 | "version": "0.3.8",
32 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
33 | "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
34 | "dev": true,
35 | "license": "MIT",
36 | "dependencies": {
37 | "@jridgewell/set-array": "^1.2.1",
38 | "@jridgewell/sourcemap-codec": "^1.4.10",
39 | "@jridgewell/trace-mapping": "^0.3.24"
40 | },
41 | "engines": {
42 | "node": ">=6.0.0"
43 | }
44 | },
45 | "node_modules/@jridgewell/resolve-uri": {
46 | "version": "3.1.2",
47 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
48 | "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
49 | "dev": true,
50 | "license": "MIT",
51 | "engines": {
52 | "node": ">=6.0.0"
53 | }
54 | },
55 | "node_modules/@jridgewell/set-array": {
56 | "version": "1.2.1",
57 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
58 | "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
59 | "dev": true,
60 | "license": "MIT",
61 | "engines": {
62 | "node": ">=6.0.0"
63 | }
64 | },
65 | "node_modules/@jridgewell/source-map": {
66 | "version": "0.3.6",
67 | "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
68 | "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
69 | "dev": true,
70 | "license": "MIT",
71 | "dependencies": {
72 | "@jridgewell/gen-mapping": "^0.3.5",
73 | "@jridgewell/trace-mapping": "^0.3.25"
74 | }
75 | },
76 | "node_modules/@jridgewell/sourcemap-codec": {
77 | "version": "1.5.0",
78 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
79 | "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
80 | "dev": true,
81 | "license": "MIT"
82 | },
83 | "node_modules/@jridgewell/trace-mapping": {
84 | "version": "0.3.25",
85 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
86 | "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
87 | "dev": true,
88 | "license": "MIT",
89 | "dependencies": {
90 | "@jridgewell/resolve-uri": "^3.1.0",
91 | "@jridgewell/sourcemap-codec": "^1.4.14"
92 | }
93 | },
94 | "node_modules/@types/eslint": {
95 | "version": "9.6.1",
96 | "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz",
97 | "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==",
98 | "dev": true,
99 | "license": "MIT",
100 | "dependencies": {
101 | "@types/estree": "*",
102 | "@types/json-schema": "*"
103 | }
104 | },
105 | "node_modules/@types/eslint-scope": {
106 | "version": "3.7.7",
107 | "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz",
108 | "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==",
109 | "dev": true,
110 | "license": "MIT",
111 | "dependencies": {
112 | "@types/eslint": "*",
113 | "@types/estree": "*"
114 | }
115 | },
116 | "node_modules/@types/estree": {
117 | "version": "1.0.6",
118 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
119 | "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
120 | "dev": true,
121 | "license": "MIT"
122 | },
123 | "node_modules/@types/json-schema": {
124 | "version": "7.0.15",
125 | "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
126 | "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
127 | "dev": true,
128 | "license": "MIT"
129 | },
130 | "node_modules/@types/node": {
131 | "version": "22.13.4",
132 | "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.4.tgz",
133 | "integrity": "sha512-ywP2X0DYtX3y08eFVx5fNIw7/uIv8hYUKgXoK8oayJlLnKcRfEYCxWMVE1XagUdVtCJlZT1AU4LXEABW+L1Peg==",
134 | "dev": true,
135 | "license": "MIT",
136 | "dependencies": {
137 | "undici-types": "~6.20.0"
138 | }
139 | },
140 | "node_modules/@webassemblyjs/ast": {
141 | "version": "1.14.1",
142 | "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz",
143 | "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==",
144 | "dev": true,
145 | "license": "MIT",
146 | "dependencies": {
147 | "@webassemblyjs/helper-numbers": "1.13.2",
148 | "@webassemblyjs/helper-wasm-bytecode": "1.13.2"
149 | }
150 | },
151 | "node_modules/@webassemblyjs/floating-point-hex-parser": {
152 | "version": "1.13.2",
153 | "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz",
154 | "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==",
155 | "dev": true,
156 | "license": "MIT"
157 | },
158 | "node_modules/@webassemblyjs/helper-api-error": {
159 | "version": "1.13.2",
160 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz",
161 | "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==",
162 | "dev": true,
163 | "license": "MIT"
164 | },
165 | "node_modules/@webassemblyjs/helper-buffer": {
166 | "version": "1.14.1",
167 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz",
168 | "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==",
169 | "dev": true,
170 | "license": "MIT"
171 | },
172 | "node_modules/@webassemblyjs/helper-numbers": {
173 | "version": "1.13.2",
174 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz",
175 | "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==",
176 | "dev": true,
177 | "license": "MIT",
178 | "dependencies": {
179 | "@webassemblyjs/floating-point-hex-parser": "1.13.2",
180 | "@webassemblyjs/helper-api-error": "1.13.2",
181 | "@xtuc/long": "4.2.2"
182 | }
183 | },
184 | "node_modules/@webassemblyjs/helper-wasm-bytecode": {
185 | "version": "1.13.2",
186 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz",
187 | "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==",
188 | "dev": true,
189 | "license": "MIT"
190 | },
191 | "node_modules/@webassemblyjs/helper-wasm-section": {
192 | "version": "1.14.1",
193 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz",
194 | "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==",
195 | "dev": true,
196 | "license": "MIT",
197 | "dependencies": {
198 | "@webassemblyjs/ast": "1.14.1",
199 | "@webassemblyjs/helper-buffer": "1.14.1",
200 | "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
201 | "@webassemblyjs/wasm-gen": "1.14.1"
202 | }
203 | },
204 | "node_modules/@webassemblyjs/ieee754": {
205 | "version": "1.13.2",
206 | "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz",
207 | "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==",
208 | "dev": true,
209 | "license": "MIT",
210 | "dependencies": {
211 | "@xtuc/ieee754": "^1.2.0"
212 | }
213 | },
214 | "node_modules/@webassemblyjs/leb128": {
215 | "version": "1.13.2",
216 | "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz",
217 | "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==",
218 | "dev": true,
219 | "license": "Apache-2.0",
220 | "dependencies": {
221 | "@xtuc/long": "4.2.2"
222 | }
223 | },
224 | "node_modules/@webassemblyjs/utf8": {
225 | "version": "1.13.2",
226 | "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz",
227 | "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==",
228 | "dev": true,
229 | "license": "MIT"
230 | },
231 | "node_modules/@webassemblyjs/wasm-edit": {
232 | "version": "1.14.1",
233 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz",
234 | "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==",
235 | "dev": true,
236 | "license": "MIT",
237 | "dependencies": {
238 | "@webassemblyjs/ast": "1.14.1",
239 | "@webassemblyjs/helper-buffer": "1.14.1",
240 | "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
241 | "@webassemblyjs/helper-wasm-section": "1.14.1",
242 | "@webassemblyjs/wasm-gen": "1.14.1",
243 | "@webassemblyjs/wasm-opt": "1.14.1",
244 | "@webassemblyjs/wasm-parser": "1.14.1",
245 | "@webassemblyjs/wast-printer": "1.14.1"
246 | }
247 | },
248 | "node_modules/@webassemblyjs/wasm-gen": {
249 | "version": "1.14.1",
250 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz",
251 | "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==",
252 | "dev": true,
253 | "license": "MIT",
254 | "dependencies": {
255 | "@webassemblyjs/ast": "1.14.1",
256 | "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
257 | "@webassemblyjs/ieee754": "1.13.2",
258 | "@webassemblyjs/leb128": "1.13.2",
259 | "@webassemblyjs/utf8": "1.13.2"
260 | }
261 | },
262 | "node_modules/@webassemblyjs/wasm-opt": {
263 | "version": "1.14.1",
264 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz",
265 | "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==",
266 | "dev": true,
267 | "license": "MIT",
268 | "dependencies": {
269 | "@webassemblyjs/ast": "1.14.1",
270 | "@webassemblyjs/helper-buffer": "1.14.1",
271 | "@webassemblyjs/wasm-gen": "1.14.1",
272 | "@webassemblyjs/wasm-parser": "1.14.1"
273 | }
274 | },
275 | "node_modules/@webassemblyjs/wasm-parser": {
276 | "version": "1.14.1",
277 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz",
278 | "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==",
279 | "dev": true,
280 | "license": "MIT",
281 | "dependencies": {
282 | "@webassemblyjs/ast": "1.14.1",
283 | "@webassemblyjs/helper-api-error": "1.13.2",
284 | "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
285 | "@webassemblyjs/ieee754": "1.13.2",
286 | "@webassemblyjs/leb128": "1.13.2",
287 | "@webassemblyjs/utf8": "1.13.2"
288 | }
289 | },
290 | "node_modules/@webassemblyjs/wast-printer": {
291 | "version": "1.14.1",
292 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz",
293 | "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==",
294 | "dev": true,
295 | "license": "MIT",
296 | "dependencies": {
297 | "@webassemblyjs/ast": "1.14.1",
298 | "@xtuc/long": "4.2.2"
299 | }
300 | },
301 | "node_modules/@webpack-cli/configtest": {
302 | "version": "2.1.1",
303 | "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz",
304 | "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==",
305 | "dev": true,
306 | "license": "MIT",
307 | "engines": {
308 | "node": ">=14.15.0"
309 | },
310 | "peerDependencies": {
311 | "webpack": "5.x.x",
312 | "webpack-cli": "5.x.x"
313 | }
314 | },
315 | "node_modules/@webpack-cli/info": {
316 | "version": "2.0.2",
317 | "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz",
318 | "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==",
319 | "dev": true,
320 | "license": "MIT",
321 | "engines": {
322 | "node": ">=14.15.0"
323 | },
324 | "peerDependencies": {
325 | "webpack": "5.x.x",
326 | "webpack-cli": "5.x.x"
327 | }
328 | },
329 | "node_modules/@webpack-cli/serve": {
330 | "version": "2.0.5",
331 | "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz",
332 | "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==",
333 | "dev": true,
334 | "license": "MIT",
335 | "engines": {
336 | "node": ">=14.15.0"
337 | },
338 | "peerDependencies": {
339 | "webpack": "5.x.x",
340 | "webpack-cli": "5.x.x"
341 | },
342 | "peerDependenciesMeta": {
343 | "webpack-dev-server": {
344 | "optional": true
345 | }
346 | }
347 | },
348 | "node_modules/@xtuc/ieee754": {
349 | "version": "1.2.0",
350 | "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
351 | "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
352 | "dev": true,
353 | "license": "BSD-3-Clause"
354 | },
355 | "node_modules/@xtuc/long": {
356 | "version": "4.2.2",
357 | "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
358 | "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
359 | "dev": true,
360 | "license": "Apache-2.0"
361 | },
362 | "node_modules/acorn": {
363 | "version": "8.14.0",
364 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz",
365 | "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==",
366 | "dev": true,
367 | "license": "MIT",
368 | "bin": {
369 | "acorn": "bin/acorn"
370 | },
371 | "engines": {
372 | "node": ">=0.4.0"
373 | }
374 | },
375 | "node_modules/ajv": {
376 | "version": "8.17.1",
377 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
378 | "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
379 | "dev": true,
380 | "license": "MIT",
381 | "dependencies": {
382 | "fast-deep-equal": "^3.1.3",
383 | "fast-uri": "^3.0.1",
384 | "json-schema-traverse": "^1.0.0",
385 | "require-from-string": "^2.0.2"
386 | },
387 | "funding": {
388 | "type": "github",
389 | "url": "https://github.com/sponsors/epoberezkin"
390 | }
391 | },
392 | "node_modules/ajv-formats": {
393 | "version": "2.1.1",
394 | "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
395 | "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
396 | "dev": true,
397 | "license": "MIT",
398 | "dependencies": {
399 | "ajv": "^8.0.0"
400 | },
401 | "peerDependencies": {
402 | "ajv": "^8.0.0"
403 | },
404 | "peerDependenciesMeta": {
405 | "ajv": {
406 | "optional": true
407 | }
408 | }
409 | },
410 | "node_modules/ajv-keywords": {
411 | "version": "5.1.0",
412 | "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
413 | "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
414 | "dev": true,
415 | "license": "MIT",
416 | "dependencies": {
417 | "fast-deep-equal": "^3.1.3"
418 | },
419 | "peerDependencies": {
420 | "ajv": "^8.8.2"
421 | }
422 | },
423 | "node_modules/ansi-styles": {
424 | "version": "4.3.0",
425 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
426 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
427 | "dev": true,
428 | "license": "MIT",
429 | "dependencies": {
430 | "color-convert": "^2.0.1"
431 | },
432 | "engines": {
433 | "node": ">=8"
434 | },
435 | "funding": {
436 | "url": "https://github.com/chalk/ansi-styles?sponsor=1"
437 | }
438 | },
439 | "node_modules/async": {
440 | "version": "2.6.4",
441 | "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
442 | "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
443 | "dev": true,
444 | "license": "MIT",
445 | "dependencies": {
446 | "lodash": "^4.17.14"
447 | }
448 | },
449 | "node_modules/basic-auth": {
450 | "version": "2.0.1",
451 | "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz",
452 | "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==",
453 | "dev": true,
454 | "license": "MIT",
455 | "dependencies": {
456 | "safe-buffer": "5.1.2"
457 | },
458 | "engines": {
459 | "node": ">= 0.8"
460 | }
461 | },
462 | "node_modules/browserslist": {
463 | "version": "4.24.4",
464 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz",
465 | "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==",
466 | "dev": true,
467 | "funding": [
468 | {
469 | "type": "opencollective",
470 | "url": "https://opencollective.com/browserslist"
471 | },
472 | {
473 | "type": "tidelift",
474 | "url": "https://tidelift.com/funding/github/npm/browserslist"
475 | },
476 | {
477 | "type": "github",
478 | "url": "https://github.com/sponsors/ai"
479 | }
480 | ],
481 | "license": "MIT",
482 | "dependencies": {
483 | "caniuse-lite": "^1.0.30001688",
484 | "electron-to-chromium": "^1.5.73",
485 | "node-releases": "^2.0.19",
486 | "update-browserslist-db": "^1.1.1"
487 | },
488 | "bin": {
489 | "browserslist": "cli.js"
490 | },
491 | "engines": {
492 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
493 | }
494 | },
495 | "node_modules/buffer-from": {
496 | "version": "1.1.2",
497 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
498 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
499 | "dev": true,
500 | "license": "MIT"
501 | },
502 | "node_modules/call-bind-apply-helpers": {
503 | "version": "1.0.2",
504 | "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
505 | "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
506 | "dev": true,
507 | "license": "MIT",
508 | "dependencies": {
509 | "es-errors": "^1.3.0",
510 | "function-bind": "^1.1.2"
511 | },
512 | "engines": {
513 | "node": ">= 0.4"
514 | }
515 | },
516 | "node_modules/call-bound": {
517 | "version": "1.0.3",
518 | "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz",
519 | "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==",
520 | "dev": true,
521 | "license": "MIT",
522 | "dependencies": {
523 | "call-bind-apply-helpers": "^1.0.1",
524 | "get-intrinsic": "^1.2.6"
525 | },
526 | "engines": {
527 | "node": ">= 0.4"
528 | },
529 | "funding": {
530 | "url": "https://github.com/sponsors/ljharb"
531 | }
532 | },
533 | "node_modules/caniuse-lite": {
534 | "version": "1.0.30001700",
535 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001700.tgz",
536 | "integrity": "sha512-2S6XIXwaE7K7erT8dY+kLQcpa5ms63XlRkMkReXjle+kf6c5g38vyMl+Z5y8dSxOFDhcFe+nxnn261PLxBSQsQ==",
537 | "dev": true,
538 | "funding": [
539 | {
540 | "type": "opencollective",
541 | "url": "https://opencollective.com/browserslist"
542 | },
543 | {
544 | "type": "tidelift",
545 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
546 | },
547 | {
548 | "type": "github",
549 | "url": "https://github.com/sponsors/ai"
550 | }
551 | ],
552 | "license": "CC-BY-4.0"
553 | },
554 | "node_modules/chalk": {
555 | "version": "4.1.2",
556 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
557 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
558 | "dev": true,
559 | "license": "MIT",
560 | "dependencies": {
561 | "ansi-styles": "^4.1.0",
562 | "supports-color": "^7.1.0"
563 | },
564 | "engines": {
565 | "node": ">=10"
566 | },
567 | "funding": {
568 | "url": "https://github.com/chalk/chalk?sponsor=1"
569 | }
570 | },
571 | "node_modules/chrome-trace-event": {
572 | "version": "1.0.4",
573 | "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz",
574 | "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==",
575 | "dev": true,
576 | "license": "MIT",
577 | "engines": {
578 | "node": ">=6.0"
579 | }
580 | },
581 | "node_modules/clone-deep": {
582 | "version": "4.0.1",
583 | "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
584 | "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
585 | "dev": true,
586 | "license": "MIT",
587 | "dependencies": {
588 | "is-plain-object": "^2.0.4",
589 | "kind-of": "^6.0.2",
590 | "shallow-clone": "^3.0.0"
591 | },
592 | "engines": {
593 | "node": ">=6"
594 | }
595 | },
596 | "node_modules/color-convert": {
597 | "version": "2.0.1",
598 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
599 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
600 | "dev": true,
601 | "license": "MIT",
602 | "dependencies": {
603 | "color-name": "~1.1.4"
604 | },
605 | "engines": {
606 | "node": ">=7.0.0"
607 | }
608 | },
609 | "node_modules/color-name": {
610 | "version": "1.1.4",
611 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
612 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
613 | "dev": true,
614 | "license": "MIT"
615 | },
616 | "node_modules/colorette": {
617 | "version": "2.0.20",
618 | "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
619 | "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
620 | "dev": true,
621 | "license": "MIT"
622 | },
623 | "node_modules/commander": {
624 | "version": "7.2.0",
625 | "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
626 | "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
627 | "license": "MIT",
628 | "engines": {
629 | "node": ">= 10"
630 | }
631 | },
632 | "node_modules/corser": {
633 | "version": "2.0.1",
634 | "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz",
635 | "integrity": "sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==",
636 | "dev": true,
637 | "license": "MIT",
638 | "engines": {
639 | "node": ">= 0.4.0"
640 | }
641 | },
642 | "node_modules/cross-spawn": {
643 | "version": "7.0.6",
644 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
645 | "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
646 | "dev": true,
647 | "license": "MIT",
648 | "dependencies": {
649 | "path-key": "^3.1.0",
650 | "shebang-command": "^2.0.0",
651 | "which": "^2.0.1"
652 | },
653 | "engines": {
654 | "node": ">= 8"
655 | }
656 | },
657 | "node_modules/d3": {
658 | "version": "7.9.0",
659 | "resolved": "https://registry.npmjs.org/d3/-/d3-7.9.0.tgz",
660 | "integrity": "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==",
661 | "license": "ISC",
662 | "dependencies": {
663 | "d3-array": "3",
664 | "d3-axis": "3",
665 | "d3-brush": "3",
666 | "d3-chord": "3",
667 | "d3-color": "3",
668 | "d3-contour": "4",
669 | "d3-delaunay": "6",
670 | "d3-dispatch": "3",
671 | "d3-drag": "3",
672 | "d3-dsv": "3",
673 | "d3-ease": "3",
674 | "d3-fetch": "3",
675 | "d3-force": "3",
676 | "d3-format": "3",
677 | "d3-geo": "3",
678 | "d3-hierarchy": "3",
679 | "d3-interpolate": "3",
680 | "d3-path": "3",
681 | "d3-polygon": "3",
682 | "d3-quadtree": "3",
683 | "d3-random": "3",
684 | "d3-scale": "4",
685 | "d3-scale-chromatic": "3",
686 | "d3-selection": "3",
687 | "d3-shape": "3",
688 | "d3-time": "3",
689 | "d3-time-format": "4",
690 | "d3-timer": "3",
691 | "d3-transition": "3",
692 | "d3-zoom": "3"
693 | },
694 | "engines": {
695 | "node": ">=12"
696 | }
697 | },
698 | "node_modules/d3-array": {
699 | "version": "3.2.4",
700 | "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz",
701 | "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==",
702 | "license": "ISC",
703 | "dependencies": {
704 | "internmap": "1 - 2"
705 | },
706 | "engines": {
707 | "node": ">=12"
708 | }
709 | },
710 | "node_modules/d3-axis": {
711 | "version": "3.0.0",
712 | "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz",
713 | "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==",
714 | "license": "ISC",
715 | "engines": {
716 | "node": ">=12"
717 | }
718 | },
719 | "node_modules/d3-brush": {
720 | "version": "3.0.0",
721 | "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz",
722 | "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==",
723 | "license": "ISC",
724 | "dependencies": {
725 | "d3-dispatch": "1 - 3",
726 | "d3-drag": "2 - 3",
727 | "d3-interpolate": "1 - 3",
728 | "d3-selection": "3",
729 | "d3-transition": "3"
730 | },
731 | "engines": {
732 | "node": ">=12"
733 | }
734 | },
735 | "node_modules/d3-chord": {
736 | "version": "3.0.1",
737 | "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz",
738 | "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==",
739 | "license": "ISC",
740 | "dependencies": {
741 | "d3-path": "1 - 3"
742 | },
743 | "engines": {
744 | "node": ">=12"
745 | }
746 | },
747 | "node_modules/d3-color": {
748 | "version": "3.1.0",
749 | "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz",
750 | "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==",
751 | "license": "ISC",
752 | "engines": {
753 | "node": ">=12"
754 | }
755 | },
756 | "node_modules/d3-contour": {
757 | "version": "4.0.2",
758 | "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz",
759 | "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==",
760 | "license": "ISC",
761 | "dependencies": {
762 | "d3-array": "^3.2.0"
763 | },
764 | "engines": {
765 | "node": ">=12"
766 | }
767 | },
768 | "node_modules/d3-delaunay": {
769 | "version": "6.0.4",
770 | "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz",
771 | "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==",
772 | "license": "ISC",
773 | "dependencies": {
774 | "delaunator": "5"
775 | },
776 | "engines": {
777 | "node": ">=12"
778 | }
779 | },
780 | "node_modules/d3-dispatch": {
781 | "version": "3.0.1",
782 | "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz",
783 | "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==",
784 | "license": "ISC",
785 | "engines": {
786 | "node": ">=12"
787 | }
788 | },
789 | "node_modules/d3-drag": {
790 | "version": "3.0.0",
791 | "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz",
792 | "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==",
793 | "license": "ISC",
794 | "dependencies": {
795 | "d3-dispatch": "1 - 3",
796 | "d3-selection": "3"
797 | },
798 | "engines": {
799 | "node": ">=12"
800 | }
801 | },
802 | "node_modules/d3-dsv": {
803 | "version": "3.0.1",
804 | "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz",
805 | "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==",
806 | "license": "ISC",
807 | "dependencies": {
808 | "commander": "7",
809 | "iconv-lite": "0.6",
810 | "rw": "1"
811 | },
812 | "bin": {
813 | "csv2json": "bin/dsv2json.js",
814 | "csv2tsv": "bin/dsv2dsv.js",
815 | "dsv2dsv": "bin/dsv2dsv.js",
816 | "dsv2json": "bin/dsv2json.js",
817 | "json2csv": "bin/json2dsv.js",
818 | "json2dsv": "bin/json2dsv.js",
819 | "json2tsv": "bin/json2dsv.js",
820 | "tsv2csv": "bin/dsv2dsv.js",
821 | "tsv2json": "bin/dsv2json.js"
822 | },
823 | "engines": {
824 | "node": ">=12"
825 | }
826 | },
827 | "node_modules/d3-ease": {
828 | "version": "3.0.1",
829 | "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz",
830 | "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==",
831 | "license": "BSD-3-Clause",
832 | "engines": {
833 | "node": ">=12"
834 | }
835 | },
836 | "node_modules/d3-fetch": {
837 | "version": "3.0.1",
838 | "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz",
839 | "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==",
840 | "license": "ISC",
841 | "dependencies": {
842 | "d3-dsv": "1 - 3"
843 | },
844 | "engines": {
845 | "node": ">=12"
846 | }
847 | },
848 | "node_modules/d3-force": {
849 | "version": "3.0.0",
850 | "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz",
851 | "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==",
852 | "license": "ISC",
853 | "dependencies": {
854 | "d3-dispatch": "1 - 3",
855 | "d3-quadtree": "1 - 3",
856 | "d3-timer": "1 - 3"
857 | },
858 | "engines": {
859 | "node": ">=12"
860 | }
861 | },
862 | "node_modules/d3-format": {
863 | "version": "3.1.0",
864 | "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz",
865 | "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==",
866 | "license": "ISC",
867 | "engines": {
868 | "node": ">=12"
869 | }
870 | },
871 | "node_modules/d3-geo": {
872 | "version": "3.1.1",
873 | "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz",
874 | "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==",
875 | "license": "ISC",
876 | "dependencies": {
877 | "d3-array": "2.5.0 - 3"
878 | },
879 | "engines": {
880 | "node": ">=12"
881 | }
882 | },
883 | "node_modules/d3-hierarchy": {
884 | "version": "3.1.2",
885 | "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz",
886 | "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==",
887 | "license": "ISC",
888 | "engines": {
889 | "node": ">=12"
890 | }
891 | },
892 | "node_modules/d3-interpolate": {
893 | "version": "3.0.1",
894 | "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz",
895 | "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==",
896 | "license": "ISC",
897 | "dependencies": {
898 | "d3-color": "1 - 3"
899 | },
900 | "engines": {
901 | "node": ">=12"
902 | }
903 | },
904 | "node_modules/d3-path": {
905 | "version": "3.1.0",
906 | "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz",
907 | "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==",
908 | "license": "ISC",
909 | "engines": {
910 | "node": ">=12"
911 | }
912 | },
913 | "node_modules/d3-polygon": {
914 | "version": "3.0.1",
915 | "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz",
916 | "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==",
917 | "license": "ISC",
918 | "engines": {
919 | "node": ">=12"
920 | }
921 | },
922 | "node_modules/d3-quadtree": {
923 | "version": "3.0.1",
924 | "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz",
925 | "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==",
926 | "license": "ISC",
927 | "engines": {
928 | "node": ">=12"
929 | }
930 | },
931 | "node_modules/d3-random": {
932 | "version": "3.0.1",
933 | "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz",
934 | "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==",
935 | "license": "ISC",
936 | "engines": {
937 | "node": ">=12"
938 | }
939 | },
940 | "node_modules/d3-scale": {
941 | "version": "4.0.2",
942 | "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz",
943 | "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==",
944 | "license": "ISC",
945 | "dependencies": {
946 | "d3-array": "2.10.0 - 3",
947 | "d3-format": "1 - 3",
948 | "d3-interpolate": "1.2.0 - 3",
949 | "d3-time": "2.1.1 - 3",
950 | "d3-time-format": "2 - 4"
951 | },
952 | "engines": {
953 | "node": ">=12"
954 | }
955 | },
956 | "node_modules/d3-scale-chromatic": {
957 | "version": "3.1.0",
958 | "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz",
959 | "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==",
960 | "license": "ISC",
961 | "dependencies": {
962 | "d3-color": "1 - 3",
963 | "d3-interpolate": "1 - 3"
964 | },
965 | "engines": {
966 | "node": ">=12"
967 | }
968 | },
969 | "node_modules/d3-selection": {
970 | "version": "3.0.0",
971 | "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz",
972 | "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==",
973 | "license": "ISC",
974 | "engines": {
975 | "node": ">=12"
976 | }
977 | },
978 | "node_modules/d3-shape": {
979 | "version": "3.2.0",
980 | "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz",
981 | "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==",
982 | "license": "ISC",
983 | "dependencies": {
984 | "d3-path": "^3.1.0"
985 | },
986 | "engines": {
987 | "node": ">=12"
988 | }
989 | },
990 | "node_modules/d3-time": {
991 | "version": "3.1.0",
992 | "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz",
993 | "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==",
994 | "license": "ISC",
995 | "dependencies": {
996 | "d3-array": "2 - 3"
997 | },
998 | "engines": {
999 | "node": ">=12"
1000 | }
1001 | },
1002 | "node_modules/d3-time-format": {
1003 | "version": "4.1.0",
1004 | "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz",
1005 | "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==",
1006 | "license": "ISC",
1007 | "dependencies": {
1008 | "d3-time": "1 - 3"
1009 | },
1010 | "engines": {
1011 | "node": ">=12"
1012 | }
1013 | },
1014 | "node_modules/d3-timer": {
1015 | "version": "3.0.1",
1016 | "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz",
1017 | "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==",
1018 | "license": "ISC",
1019 | "engines": {
1020 | "node": ">=12"
1021 | }
1022 | },
1023 | "node_modules/d3-transition": {
1024 | "version": "3.0.1",
1025 | "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz",
1026 | "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==",
1027 | "license": "ISC",
1028 | "dependencies": {
1029 | "d3-color": "1 - 3",
1030 | "d3-dispatch": "1 - 3",
1031 | "d3-ease": "1 - 3",
1032 | "d3-interpolate": "1 - 3",
1033 | "d3-timer": "1 - 3"
1034 | },
1035 | "engines": {
1036 | "node": ">=12"
1037 | },
1038 | "peerDependencies": {
1039 | "d3-selection": "2 - 3"
1040 | }
1041 | },
1042 | "node_modules/d3-zoom": {
1043 | "version": "3.0.0",
1044 | "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz",
1045 | "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==",
1046 | "license": "ISC",
1047 | "dependencies": {
1048 | "d3-dispatch": "1 - 3",
1049 | "d3-drag": "2 - 3",
1050 | "d3-interpolate": "1 - 3",
1051 | "d3-selection": "2 - 3",
1052 | "d3-transition": "2 - 3"
1053 | },
1054 | "engines": {
1055 | "node": ">=12"
1056 | }
1057 | },
1058 | "node_modules/debug": {
1059 | "version": "3.2.7",
1060 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
1061 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
1062 | "dev": true,
1063 | "license": "MIT",
1064 | "dependencies": {
1065 | "ms": "^2.1.1"
1066 | }
1067 | },
1068 | "node_modules/delaunator": {
1069 | "version": "5.0.1",
1070 | "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz",
1071 | "integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==",
1072 | "license": "ISC",
1073 | "dependencies": {
1074 | "robust-predicates": "^3.0.2"
1075 | }
1076 | },
1077 | "node_modules/dunder-proto": {
1078 | "version": "1.0.1",
1079 | "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
1080 | "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
1081 | "dev": true,
1082 | "license": "MIT",
1083 | "dependencies": {
1084 | "call-bind-apply-helpers": "^1.0.1",
1085 | "es-errors": "^1.3.0",
1086 | "gopd": "^1.2.0"
1087 | },
1088 | "engines": {
1089 | "node": ">= 0.4"
1090 | }
1091 | },
1092 | "node_modules/electron-to-chromium": {
1093 | "version": "1.5.102",
1094 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.102.tgz",
1095 | "integrity": "sha512-eHhqaja8tE/FNpIiBrvBjFV/SSKpyWHLvxuR9dPTdo+3V9ppdLmFB7ZZQ98qNovcngPLYIz0oOBF9P0FfZef5Q==",
1096 | "dev": true,
1097 | "license": "ISC"
1098 | },
1099 | "node_modules/enhanced-resolve": {
1100 | "version": "5.18.1",
1101 | "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz",
1102 | "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==",
1103 | "dev": true,
1104 | "license": "MIT",
1105 | "dependencies": {
1106 | "graceful-fs": "^4.2.4",
1107 | "tapable": "^2.2.0"
1108 | },
1109 | "engines": {
1110 | "node": ">=10.13.0"
1111 | }
1112 | },
1113 | "node_modules/envinfo": {
1114 | "version": "7.14.0",
1115 | "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.14.0.tgz",
1116 | "integrity": "sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==",
1117 | "dev": true,
1118 | "license": "MIT",
1119 | "bin": {
1120 | "envinfo": "dist/cli.js"
1121 | },
1122 | "engines": {
1123 | "node": ">=4"
1124 | }
1125 | },
1126 | "node_modules/es-define-property": {
1127 | "version": "1.0.1",
1128 | "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
1129 | "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
1130 | "dev": true,
1131 | "license": "MIT",
1132 | "engines": {
1133 | "node": ">= 0.4"
1134 | }
1135 | },
1136 | "node_modules/es-errors": {
1137 | "version": "1.3.0",
1138 | "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
1139 | "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
1140 | "dev": true,
1141 | "license": "MIT",
1142 | "engines": {
1143 | "node": ">= 0.4"
1144 | }
1145 | },
1146 | "node_modules/es-module-lexer": {
1147 | "version": "1.6.0",
1148 | "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz",
1149 | "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==",
1150 | "dev": true,
1151 | "license": "MIT"
1152 | },
1153 | "node_modules/es-object-atoms": {
1154 | "version": "1.1.1",
1155 | "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
1156 | "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
1157 | "dev": true,
1158 | "license": "MIT",
1159 | "dependencies": {
1160 | "es-errors": "^1.3.0"
1161 | },
1162 | "engines": {
1163 | "node": ">= 0.4"
1164 | }
1165 | },
1166 | "node_modules/escalade": {
1167 | "version": "3.2.0",
1168 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
1169 | "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
1170 | "dev": true,
1171 | "license": "MIT",
1172 | "engines": {
1173 | "node": ">=6"
1174 | }
1175 | },
1176 | "node_modules/eslint-scope": {
1177 | "version": "5.1.1",
1178 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
1179 | "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
1180 | "dev": true,
1181 | "license": "BSD-2-Clause",
1182 | "dependencies": {
1183 | "esrecurse": "^4.3.0",
1184 | "estraverse": "^4.1.1"
1185 | },
1186 | "engines": {
1187 | "node": ">=8.0.0"
1188 | }
1189 | },
1190 | "node_modules/esrecurse": {
1191 | "version": "4.3.0",
1192 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
1193 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
1194 | "dev": true,
1195 | "license": "BSD-2-Clause",
1196 | "dependencies": {
1197 | "estraverse": "^5.2.0"
1198 | },
1199 | "engines": {
1200 | "node": ">=4.0"
1201 | }
1202 | },
1203 | "node_modules/esrecurse/node_modules/estraverse": {
1204 | "version": "5.3.0",
1205 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
1206 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
1207 | "dev": true,
1208 | "license": "BSD-2-Clause",
1209 | "engines": {
1210 | "node": ">=4.0"
1211 | }
1212 | },
1213 | "node_modules/estraverse": {
1214 | "version": "4.3.0",
1215 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
1216 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
1217 | "dev": true,
1218 | "license": "BSD-2-Clause",
1219 | "engines": {
1220 | "node": ">=4.0"
1221 | }
1222 | },
1223 | "node_modules/eventemitter3": {
1224 | "version": "4.0.7",
1225 | "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
1226 | "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
1227 | "dev": true,
1228 | "license": "MIT"
1229 | },
1230 | "node_modules/events": {
1231 | "version": "3.3.0",
1232 | "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
1233 | "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
1234 | "dev": true,
1235 | "license": "MIT",
1236 | "engines": {
1237 | "node": ">=0.8.x"
1238 | }
1239 | },
1240 | "node_modules/fast-deep-equal": {
1241 | "version": "3.1.3",
1242 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
1243 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
1244 | "dev": true,
1245 | "license": "MIT"
1246 | },
1247 | "node_modules/fast-uri": {
1248 | "version": "3.0.6",
1249 | "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz",
1250 | "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==",
1251 | "dev": true,
1252 | "funding": [
1253 | {
1254 | "type": "github",
1255 | "url": "https://github.com/sponsors/fastify"
1256 | },
1257 | {
1258 | "type": "opencollective",
1259 | "url": "https://opencollective.com/fastify"
1260 | }
1261 | ],
1262 | "license": "BSD-3-Clause"
1263 | },
1264 | "node_modules/fastest-levenshtein": {
1265 | "version": "1.0.16",
1266 | "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
1267 | "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
1268 | "dev": true,
1269 | "license": "MIT",
1270 | "engines": {
1271 | "node": ">= 4.9.1"
1272 | }
1273 | },
1274 | "node_modules/find-up": {
1275 | "version": "4.1.0",
1276 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
1277 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
1278 | "dev": true,
1279 | "license": "MIT",
1280 | "dependencies": {
1281 | "locate-path": "^5.0.0",
1282 | "path-exists": "^4.0.0"
1283 | },
1284 | "engines": {
1285 | "node": ">=8"
1286 | }
1287 | },
1288 | "node_modules/flat": {
1289 | "version": "5.0.2",
1290 | "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
1291 | "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
1292 | "dev": true,
1293 | "license": "BSD-3-Clause",
1294 | "bin": {
1295 | "flat": "cli.js"
1296 | }
1297 | },
1298 | "node_modules/follow-redirects": {
1299 | "version": "1.15.9",
1300 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz",
1301 | "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==",
1302 | "dev": true,
1303 | "funding": [
1304 | {
1305 | "type": "individual",
1306 | "url": "https://github.com/sponsors/RubenVerborgh"
1307 | }
1308 | ],
1309 | "license": "MIT",
1310 | "engines": {
1311 | "node": ">=4.0"
1312 | },
1313 | "peerDependenciesMeta": {
1314 | "debug": {
1315 | "optional": true
1316 | }
1317 | }
1318 | },
1319 | "node_modules/function-bind": {
1320 | "version": "1.1.2",
1321 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
1322 | "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
1323 | "dev": true,
1324 | "license": "MIT",
1325 | "funding": {
1326 | "url": "https://github.com/sponsors/ljharb"
1327 | }
1328 | },
1329 | "node_modules/get-intrinsic": {
1330 | "version": "1.2.7",
1331 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz",
1332 | "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==",
1333 | "dev": true,
1334 | "license": "MIT",
1335 | "dependencies": {
1336 | "call-bind-apply-helpers": "^1.0.1",
1337 | "es-define-property": "^1.0.1",
1338 | "es-errors": "^1.3.0",
1339 | "es-object-atoms": "^1.0.0",
1340 | "function-bind": "^1.1.2",
1341 | "get-proto": "^1.0.0",
1342 | "gopd": "^1.2.0",
1343 | "has-symbols": "^1.1.0",
1344 | "hasown": "^2.0.2",
1345 | "math-intrinsics": "^1.1.0"
1346 | },
1347 | "engines": {
1348 | "node": ">= 0.4"
1349 | },
1350 | "funding": {
1351 | "url": "https://github.com/sponsors/ljharb"
1352 | }
1353 | },
1354 | "node_modules/get-proto": {
1355 | "version": "1.0.1",
1356 | "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
1357 | "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
1358 | "dev": true,
1359 | "license": "MIT",
1360 | "dependencies": {
1361 | "dunder-proto": "^1.0.1",
1362 | "es-object-atoms": "^1.0.0"
1363 | },
1364 | "engines": {
1365 | "node": ">= 0.4"
1366 | }
1367 | },
1368 | "node_modules/glob-to-regexp": {
1369 | "version": "0.4.1",
1370 | "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
1371 | "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
1372 | "dev": true,
1373 | "license": "BSD-2-Clause"
1374 | },
1375 | "node_modules/gopd": {
1376 | "version": "1.2.0",
1377 | "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
1378 | "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
1379 | "dev": true,
1380 | "license": "MIT",
1381 | "engines": {
1382 | "node": ">= 0.4"
1383 | },
1384 | "funding": {
1385 | "url": "https://github.com/sponsors/ljharb"
1386 | }
1387 | },
1388 | "node_modules/graceful-fs": {
1389 | "version": "4.2.11",
1390 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
1391 | "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
1392 | "dev": true,
1393 | "license": "ISC"
1394 | },
1395 | "node_modules/has-flag": {
1396 | "version": "4.0.0",
1397 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
1398 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
1399 | "dev": true,
1400 | "license": "MIT",
1401 | "engines": {
1402 | "node": ">=8"
1403 | }
1404 | },
1405 | "node_modules/has-symbols": {
1406 | "version": "1.1.0",
1407 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
1408 | "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
1409 | "dev": true,
1410 | "license": "MIT",
1411 | "engines": {
1412 | "node": ">= 0.4"
1413 | },
1414 | "funding": {
1415 | "url": "https://github.com/sponsors/ljharb"
1416 | }
1417 | },
1418 | "node_modules/hasown": {
1419 | "version": "2.0.2",
1420 | "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
1421 | "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
1422 | "dev": true,
1423 | "license": "MIT",
1424 | "dependencies": {
1425 | "function-bind": "^1.1.2"
1426 | },
1427 | "engines": {
1428 | "node": ">= 0.4"
1429 | }
1430 | },
1431 | "node_modules/he": {
1432 | "version": "1.2.0",
1433 | "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
1434 | "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
1435 | "dev": true,
1436 | "license": "MIT",
1437 | "bin": {
1438 | "he": "bin/he"
1439 | }
1440 | },
1441 | "node_modules/html-encoding-sniffer": {
1442 | "version": "3.0.0",
1443 | "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz",
1444 | "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==",
1445 | "dev": true,
1446 | "license": "MIT",
1447 | "dependencies": {
1448 | "whatwg-encoding": "^2.0.0"
1449 | },
1450 | "engines": {
1451 | "node": ">=12"
1452 | }
1453 | },
1454 | "node_modules/http-proxy": {
1455 | "version": "1.18.1",
1456 | "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
1457 | "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
1458 | "dev": true,
1459 | "license": "MIT",
1460 | "dependencies": {
1461 | "eventemitter3": "^4.0.0",
1462 | "follow-redirects": "^1.0.0",
1463 | "requires-port": "^1.0.0"
1464 | },
1465 | "engines": {
1466 | "node": ">=8.0.0"
1467 | }
1468 | },
1469 | "node_modules/http-server": {
1470 | "version": "14.1.1",
1471 | "resolved": "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz",
1472 | "integrity": "sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==",
1473 | "dev": true,
1474 | "license": "MIT",
1475 | "dependencies": {
1476 | "basic-auth": "^2.0.1",
1477 | "chalk": "^4.1.2",
1478 | "corser": "^2.0.1",
1479 | "he": "^1.2.0",
1480 | "html-encoding-sniffer": "^3.0.0",
1481 | "http-proxy": "^1.18.1",
1482 | "mime": "^1.6.0",
1483 | "minimist": "^1.2.6",
1484 | "opener": "^1.5.1",
1485 | "portfinder": "^1.0.28",
1486 | "secure-compare": "3.0.1",
1487 | "union": "~0.5.0",
1488 | "url-join": "^4.0.1"
1489 | },
1490 | "bin": {
1491 | "http-server": "bin/http-server"
1492 | },
1493 | "engines": {
1494 | "node": ">=12"
1495 | }
1496 | },
1497 | "node_modules/iconv-lite": {
1498 | "version": "0.6.3",
1499 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
1500 | "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
1501 | "license": "MIT",
1502 | "dependencies": {
1503 | "safer-buffer": ">= 2.1.2 < 3.0.0"
1504 | },
1505 | "engines": {
1506 | "node": ">=0.10.0"
1507 | }
1508 | },
1509 | "node_modules/import-local": {
1510 | "version": "3.2.0",
1511 | "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz",
1512 | "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==",
1513 | "dev": true,
1514 | "license": "MIT",
1515 | "dependencies": {
1516 | "pkg-dir": "^4.2.0",
1517 | "resolve-cwd": "^3.0.0"
1518 | },
1519 | "bin": {
1520 | "import-local-fixture": "fixtures/cli.js"
1521 | },
1522 | "engines": {
1523 | "node": ">=8"
1524 | },
1525 | "funding": {
1526 | "url": "https://github.com/sponsors/sindresorhus"
1527 | }
1528 | },
1529 | "node_modules/internmap": {
1530 | "version": "2.0.3",
1531 | "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz",
1532 | "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==",
1533 | "license": "ISC",
1534 | "engines": {
1535 | "node": ">=12"
1536 | }
1537 | },
1538 | "node_modules/interpret": {
1539 | "version": "3.1.1",
1540 | "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz",
1541 | "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==",
1542 | "dev": true,
1543 | "license": "MIT",
1544 | "engines": {
1545 | "node": ">=10.13.0"
1546 | }
1547 | },
1548 | "node_modules/is-core-module": {
1549 | "version": "2.16.1",
1550 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
1551 | "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
1552 | "dev": true,
1553 | "license": "MIT",
1554 | "dependencies": {
1555 | "hasown": "^2.0.2"
1556 | },
1557 | "engines": {
1558 | "node": ">= 0.4"
1559 | },
1560 | "funding": {
1561 | "url": "https://github.com/sponsors/ljharb"
1562 | }
1563 | },
1564 | "node_modules/is-plain-object": {
1565 | "version": "2.0.4",
1566 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
1567 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
1568 | "dev": true,
1569 | "license": "MIT",
1570 | "dependencies": {
1571 | "isobject": "^3.0.1"
1572 | },
1573 | "engines": {
1574 | "node": ">=0.10.0"
1575 | }
1576 | },
1577 | "node_modules/isexe": {
1578 | "version": "2.0.0",
1579 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1580 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
1581 | "dev": true,
1582 | "license": "ISC"
1583 | },
1584 | "node_modules/isobject": {
1585 | "version": "3.0.1",
1586 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
1587 | "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
1588 | "dev": true,
1589 | "license": "MIT",
1590 | "engines": {
1591 | "node": ">=0.10.0"
1592 | }
1593 | },
1594 | "node_modules/jest-worker": {
1595 | "version": "27.5.1",
1596 | "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
1597 | "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
1598 | "dev": true,
1599 | "license": "MIT",
1600 | "dependencies": {
1601 | "@types/node": "*",
1602 | "merge-stream": "^2.0.0",
1603 | "supports-color": "^8.0.0"
1604 | },
1605 | "engines": {
1606 | "node": ">= 10.13.0"
1607 | }
1608 | },
1609 | "node_modules/jest-worker/node_modules/supports-color": {
1610 | "version": "8.1.1",
1611 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
1612 | "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
1613 | "dev": true,
1614 | "license": "MIT",
1615 | "dependencies": {
1616 | "has-flag": "^4.0.0"
1617 | },
1618 | "engines": {
1619 | "node": ">=10"
1620 | },
1621 | "funding": {
1622 | "url": "https://github.com/chalk/supports-color?sponsor=1"
1623 | }
1624 | },
1625 | "node_modules/json-parse-even-better-errors": {
1626 | "version": "2.3.1",
1627 | "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
1628 | "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
1629 | "dev": true,
1630 | "license": "MIT"
1631 | },
1632 | "node_modules/json-schema-traverse": {
1633 | "version": "1.0.0",
1634 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
1635 | "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
1636 | "dev": true,
1637 | "license": "MIT"
1638 | },
1639 | "node_modules/kind-of": {
1640 | "version": "6.0.3",
1641 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
1642 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
1643 | "dev": true,
1644 | "license": "MIT",
1645 | "engines": {
1646 | "node": ">=0.10.0"
1647 | }
1648 | },
1649 | "node_modules/loader-runner": {
1650 | "version": "4.3.0",
1651 | "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
1652 | "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==",
1653 | "dev": true,
1654 | "license": "MIT",
1655 | "engines": {
1656 | "node": ">=6.11.5"
1657 | }
1658 | },
1659 | "node_modules/locate-path": {
1660 | "version": "5.0.0",
1661 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
1662 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
1663 | "dev": true,
1664 | "license": "MIT",
1665 | "dependencies": {
1666 | "p-locate": "^4.1.0"
1667 | },
1668 | "engines": {
1669 | "node": ">=8"
1670 | }
1671 | },
1672 | "node_modules/lodash": {
1673 | "version": "4.17.21",
1674 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
1675 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
1676 | "dev": true,
1677 | "license": "MIT"
1678 | },
1679 | "node_modules/math-intrinsics": {
1680 | "version": "1.1.0",
1681 | "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
1682 | "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
1683 | "dev": true,
1684 | "license": "MIT",
1685 | "engines": {
1686 | "node": ">= 0.4"
1687 | }
1688 | },
1689 | "node_modules/merge-stream": {
1690 | "version": "2.0.0",
1691 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
1692 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
1693 | "dev": true,
1694 | "license": "MIT"
1695 | },
1696 | "node_modules/mime": {
1697 | "version": "1.6.0",
1698 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
1699 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
1700 | "dev": true,
1701 | "license": "MIT",
1702 | "bin": {
1703 | "mime": "cli.js"
1704 | },
1705 | "engines": {
1706 | "node": ">=4"
1707 | }
1708 | },
1709 | "node_modules/mime-db": {
1710 | "version": "1.52.0",
1711 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
1712 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
1713 | "dev": true,
1714 | "license": "MIT",
1715 | "engines": {
1716 | "node": ">= 0.6"
1717 | }
1718 | },
1719 | "node_modules/mime-types": {
1720 | "version": "2.1.35",
1721 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
1722 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
1723 | "dev": true,
1724 | "license": "MIT",
1725 | "dependencies": {
1726 | "mime-db": "1.52.0"
1727 | },
1728 | "engines": {
1729 | "node": ">= 0.6"
1730 | }
1731 | },
1732 | "node_modules/minimist": {
1733 | "version": "1.2.8",
1734 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
1735 | "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
1736 | "dev": true,
1737 | "license": "MIT",
1738 | "funding": {
1739 | "url": "https://github.com/sponsors/ljharb"
1740 | }
1741 | },
1742 | "node_modules/mkdirp": {
1743 | "version": "0.5.6",
1744 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
1745 | "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
1746 | "dev": true,
1747 | "license": "MIT",
1748 | "dependencies": {
1749 | "minimist": "^1.2.6"
1750 | },
1751 | "bin": {
1752 | "mkdirp": "bin/cmd.js"
1753 | }
1754 | },
1755 | "node_modules/ms": {
1756 | "version": "2.1.3",
1757 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
1758 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
1759 | "dev": true,
1760 | "license": "MIT"
1761 | },
1762 | "node_modules/neo-async": {
1763 | "version": "2.6.2",
1764 | "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
1765 | "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
1766 | "dev": true,
1767 | "license": "MIT"
1768 | },
1769 | "node_modules/node-releases": {
1770 | "version": "2.0.19",
1771 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
1772 | "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==",
1773 | "dev": true,
1774 | "license": "MIT"
1775 | },
1776 | "node_modules/object-inspect": {
1777 | "version": "1.13.4",
1778 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
1779 | "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
1780 | "dev": true,
1781 | "license": "MIT",
1782 | "engines": {
1783 | "node": ">= 0.4"
1784 | },
1785 | "funding": {
1786 | "url": "https://github.com/sponsors/ljharb"
1787 | }
1788 | },
1789 | "node_modules/opener": {
1790 | "version": "1.5.2",
1791 | "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz",
1792 | "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==",
1793 | "dev": true,
1794 | "license": "(WTFPL OR MIT)",
1795 | "bin": {
1796 | "opener": "bin/opener-bin.js"
1797 | }
1798 | },
1799 | "node_modules/p-limit": {
1800 | "version": "2.3.0",
1801 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
1802 | "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
1803 | "dev": true,
1804 | "license": "MIT",
1805 | "dependencies": {
1806 | "p-try": "^2.0.0"
1807 | },
1808 | "engines": {
1809 | "node": ">=6"
1810 | },
1811 | "funding": {
1812 | "url": "https://github.com/sponsors/sindresorhus"
1813 | }
1814 | },
1815 | "node_modules/p-locate": {
1816 | "version": "4.1.0",
1817 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
1818 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
1819 | "dev": true,
1820 | "license": "MIT",
1821 | "dependencies": {
1822 | "p-limit": "^2.2.0"
1823 | },
1824 | "engines": {
1825 | "node": ">=8"
1826 | }
1827 | },
1828 | "node_modules/p-try": {
1829 | "version": "2.2.0",
1830 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
1831 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
1832 | "dev": true,
1833 | "license": "MIT",
1834 | "engines": {
1835 | "node": ">=6"
1836 | }
1837 | },
1838 | "node_modules/path-exists": {
1839 | "version": "4.0.0",
1840 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
1841 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
1842 | "dev": true,
1843 | "license": "MIT",
1844 | "engines": {
1845 | "node": ">=8"
1846 | }
1847 | },
1848 | "node_modules/path-key": {
1849 | "version": "3.1.1",
1850 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
1851 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
1852 | "dev": true,
1853 | "license": "MIT",
1854 | "engines": {
1855 | "node": ">=8"
1856 | }
1857 | },
1858 | "node_modules/path-parse": {
1859 | "version": "1.0.7",
1860 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
1861 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
1862 | "dev": true,
1863 | "license": "MIT"
1864 | },
1865 | "node_modules/picocolors": {
1866 | "version": "1.1.1",
1867 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
1868 | "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
1869 | "dev": true,
1870 | "license": "ISC"
1871 | },
1872 | "node_modules/pkg-dir": {
1873 | "version": "4.2.0",
1874 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
1875 | "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
1876 | "dev": true,
1877 | "license": "MIT",
1878 | "dependencies": {
1879 | "find-up": "^4.0.0"
1880 | },
1881 | "engines": {
1882 | "node": ">=8"
1883 | }
1884 | },
1885 | "node_modules/portfinder": {
1886 | "version": "1.0.32",
1887 | "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz",
1888 | "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==",
1889 | "dev": true,
1890 | "license": "MIT",
1891 | "dependencies": {
1892 | "async": "^2.6.4",
1893 | "debug": "^3.2.7",
1894 | "mkdirp": "^0.5.6"
1895 | },
1896 | "engines": {
1897 | "node": ">= 0.12.0"
1898 | }
1899 | },
1900 | "node_modules/qs": {
1901 | "version": "6.14.0",
1902 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz",
1903 | "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==",
1904 | "dev": true,
1905 | "license": "BSD-3-Clause",
1906 | "dependencies": {
1907 | "side-channel": "^1.1.0"
1908 | },
1909 | "engines": {
1910 | "node": ">=0.6"
1911 | },
1912 | "funding": {
1913 | "url": "https://github.com/sponsors/ljharb"
1914 | }
1915 | },
1916 | "node_modules/randombytes": {
1917 | "version": "2.1.0",
1918 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
1919 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
1920 | "dev": true,
1921 | "license": "MIT",
1922 | "dependencies": {
1923 | "safe-buffer": "^5.1.0"
1924 | }
1925 | },
1926 | "node_modules/rechoir": {
1927 | "version": "0.8.0",
1928 | "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz",
1929 | "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==",
1930 | "dev": true,
1931 | "license": "MIT",
1932 | "dependencies": {
1933 | "resolve": "^1.20.0"
1934 | },
1935 | "engines": {
1936 | "node": ">= 10.13.0"
1937 | }
1938 | },
1939 | "node_modules/require-from-string": {
1940 | "version": "2.0.2",
1941 | "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
1942 | "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
1943 | "dev": true,
1944 | "license": "MIT",
1945 | "engines": {
1946 | "node": ">=0.10.0"
1947 | }
1948 | },
1949 | "node_modules/requires-port": {
1950 | "version": "1.0.0",
1951 | "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
1952 | "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
1953 | "dev": true,
1954 | "license": "MIT"
1955 | },
1956 | "node_modules/resolve": {
1957 | "version": "1.22.10",
1958 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
1959 | "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==",
1960 | "dev": true,
1961 | "license": "MIT",
1962 | "dependencies": {
1963 | "is-core-module": "^2.16.0",
1964 | "path-parse": "^1.0.7",
1965 | "supports-preserve-symlinks-flag": "^1.0.0"
1966 | },
1967 | "bin": {
1968 | "resolve": "bin/resolve"
1969 | },
1970 | "engines": {
1971 | "node": ">= 0.4"
1972 | },
1973 | "funding": {
1974 | "url": "https://github.com/sponsors/ljharb"
1975 | }
1976 | },
1977 | "node_modules/resolve-cwd": {
1978 | "version": "3.0.0",
1979 | "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
1980 | "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
1981 | "dev": true,
1982 | "license": "MIT",
1983 | "dependencies": {
1984 | "resolve-from": "^5.0.0"
1985 | },
1986 | "engines": {
1987 | "node": ">=8"
1988 | }
1989 | },
1990 | "node_modules/resolve-from": {
1991 | "version": "5.0.0",
1992 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
1993 | "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
1994 | "dev": true,
1995 | "license": "MIT",
1996 | "engines": {
1997 | "node": ">=8"
1998 | }
1999 | },
2000 | "node_modules/robust-predicates": {
2001 | "version": "3.0.2",
2002 | "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz",
2003 | "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==",
2004 | "license": "Unlicense"
2005 | },
2006 | "node_modules/rw": {
2007 | "version": "1.3.3",
2008 | "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz",
2009 | "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==",
2010 | "license": "BSD-3-Clause"
2011 | },
2012 | "node_modules/safe-buffer": {
2013 | "version": "5.1.2",
2014 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
2015 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
2016 | "dev": true,
2017 | "license": "MIT"
2018 | },
2019 | "node_modules/safer-buffer": {
2020 | "version": "2.1.2",
2021 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
2022 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
2023 | "license": "MIT"
2024 | },
2025 | "node_modules/schema-utils": {
2026 | "version": "4.3.0",
2027 | "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.0.tgz",
2028 | "integrity": "sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==",
2029 | "dev": true,
2030 | "license": "MIT",
2031 | "dependencies": {
2032 | "@types/json-schema": "^7.0.9",
2033 | "ajv": "^8.9.0",
2034 | "ajv-formats": "^2.1.1",
2035 | "ajv-keywords": "^5.1.0"
2036 | },
2037 | "engines": {
2038 | "node": ">= 10.13.0"
2039 | },
2040 | "funding": {
2041 | "type": "opencollective",
2042 | "url": "https://opencollective.com/webpack"
2043 | }
2044 | },
2045 | "node_modules/secure-compare": {
2046 | "version": "3.0.1",
2047 | "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz",
2048 | "integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==",
2049 | "dev": true,
2050 | "license": "MIT"
2051 | },
2052 | "node_modules/serialize-javascript": {
2053 | "version": "6.0.2",
2054 | "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
2055 | "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
2056 | "dev": true,
2057 | "license": "BSD-3-Clause",
2058 | "dependencies": {
2059 | "randombytes": "^2.1.0"
2060 | }
2061 | },
2062 | "node_modules/shallow-clone": {
2063 | "version": "3.0.1",
2064 | "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
2065 | "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
2066 | "dev": true,
2067 | "license": "MIT",
2068 | "dependencies": {
2069 | "kind-of": "^6.0.2"
2070 | },
2071 | "engines": {
2072 | "node": ">=8"
2073 | }
2074 | },
2075 | "node_modules/shebang-command": {
2076 | "version": "2.0.0",
2077 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
2078 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
2079 | "dev": true,
2080 | "license": "MIT",
2081 | "dependencies": {
2082 | "shebang-regex": "^3.0.0"
2083 | },
2084 | "engines": {
2085 | "node": ">=8"
2086 | }
2087 | },
2088 | "node_modules/shebang-regex": {
2089 | "version": "3.0.0",
2090 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
2091 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
2092 | "dev": true,
2093 | "license": "MIT",
2094 | "engines": {
2095 | "node": ">=8"
2096 | }
2097 | },
2098 | "node_modules/side-channel": {
2099 | "version": "1.1.0",
2100 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
2101 | "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
2102 | "dev": true,
2103 | "license": "MIT",
2104 | "dependencies": {
2105 | "es-errors": "^1.3.0",
2106 | "object-inspect": "^1.13.3",
2107 | "side-channel-list": "^1.0.0",
2108 | "side-channel-map": "^1.0.1",
2109 | "side-channel-weakmap": "^1.0.2"
2110 | },
2111 | "engines": {
2112 | "node": ">= 0.4"
2113 | },
2114 | "funding": {
2115 | "url": "https://github.com/sponsors/ljharb"
2116 | }
2117 | },
2118 | "node_modules/side-channel-list": {
2119 | "version": "1.0.0",
2120 | "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
2121 | "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
2122 | "dev": true,
2123 | "license": "MIT",
2124 | "dependencies": {
2125 | "es-errors": "^1.3.0",
2126 | "object-inspect": "^1.13.3"
2127 | },
2128 | "engines": {
2129 | "node": ">= 0.4"
2130 | },
2131 | "funding": {
2132 | "url": "https://github.com/sponsors/ljharb"
2133 | }
2134 | },
2135 | "node_modules/side-channel-map": {
2136 | "version": "1.0.1",
2137 | "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
2138 | "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
2139 | "dev": true,
2140 | "license": "MIT",
2141 | "dependencies": {
2142 | "call-bound": "^1.0.2",
2143 | "es-errors": "^1.3.0",
2144 | "get-intrinsic": "^1.2.5",
2145 | "object-inspect": "^1.13.3"
2146 | },
2147 | "engines": {
2148 | "node": ">= 0.4"
2149 | },
2150 | "funding": {
2151 | "url": "https://github.com/sponsors/ljharb"
2152 | }
2153 | },
2154 | "node_modules/side-channel-weakmap": {
2155 | "version": "1.0.2",
2156 | "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
2157 | "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
2158 | "dev": true,
2159 | "license": "MIT",
2160 | "dependencies": {
2161 | "call-bound": "^1.0.2",
2162 | "es-errors": "^1.3.0",
2163 | "get-intrinsic": "^1.2.5",
2164 | "object-inspect": "^1.13.3",
2165 | "side-channel-map": "^1.0.1"
2166 | },
2167 | "engines": {
2168 | "node": ">= 0.4"
2169 | },
2170 | "funding": {
2171 | "url": "https://github.com/sponsors/ljharb"
2172 | }
2173 | },
2174 | "node_modules/source-map": {
2175 | "version": "0.6.1",
2176 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
2177 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
2178 | "dev": true,
2179 | "license": "BSD-3-Clause",
2180 | "engines": {
2181 | "node": ">=0.10.0"
2182 | }
2183 | },
2184 | "node_modules/source-map-support": {
2185 | "version": "0.5.21",
2186 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
2187 | "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
2188 | "dev": true,
2189 | "license": "MIT",
2190 | "dependencies": {
2191 | "buffer-from": "^1.0.0",
2192 | "source-map": "^0.6.0"
2193 | }
2194 | },
2195 | "node_modules/supports-color": {
2196 | "version": "7.2.0",
2197 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
2198 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
2199 | "dev": true,
2200 | "license": "MIT",
2201 | "dependencies": {
2202 | "has-flag": "^4.0.0"
2203 | },
2204 | "engines": {
2205 | "node": ">=8"
2206 | }
2207 | },
2208 | "node_modules/supports-preserve-symlinks-flag": {
2209 | "version": "1.0.0",
2210 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
2211 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
2212 | "dev": true,
2213 | "license": "MIT",
2214 | "engines": {
2215 | "node": ">= 0.4"
2216 | },
2217 | "funding": {
2218 | "url": "https://github.com/sponsors/ljharb"
2219 | }
2220 | },
2221 | "node_modules/tapable": {
2222 | "version": "2.2.1",
2223 | "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
2224 | "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
2225 | "dev": true,
2226 | "license": "MIT",
2227 | "engines": {
2228 | "node": ">=6"
2229 | }
2230 | },
2231 | "node_modules/terser": {
2232 | "version": "5.39.0",
2233 | "resolved": "https://registry.npmjs.org/terser/-/terser-5.39.0.tgz",
2234 | "integrity": "sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==",
2235 | "dev": true,
2236 | "license": "BSD-2-Clause",
2237 | "dependencies": {
2238 | "@jridgewell/source-map": "^0.3.3",
2239 | "acorn": "^8.8.2",
2240 | "commander": "^2.20.0",
2241 | "source-map-support": "~0.5.20"
2242 | },
2243 | "bin": {
2244 | "terser": "bin/terser"
2245 | },
2246 | "engines": {
2247 | "node": ">=10"
2248 | }
2249 | },
2250 | "node_modules/terser-webpack-plugin": {
2251 | "version": "5.3.11",
2252 | "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.11.tgz",
2253 | "integrity": "sha512-RVCsMfuD0+cTt3EwX8hSl2Ks56EbFHWmhluwcqoPKtBnfjiT6olaq7PRIRfhyU8nnC2MrnDrBLfrD/RGE+cVXQ==",
2254 | "dev": true,
2255 | "license": "MIT",
2256 | "dependencies": {
2257 | "@jridgewell/trace-mapping": "^0.3.25",
2258 | "jest-worker": "^27.4.5",
2259 | "schema-utils": "^4.3.0",
2260 | "serialize-javascript": "^6.0.2",
2261 | "terser": "^5.31.1"
2262 | },
2263 | "engines": {
2264 | "node": ">= 10.13.0"
2265 | },
2266 | "funding": {
2267 | "type": "opencollective",
2268 | "url": "https://opencollective.com/webpack"
2269 | },
2270 | "peerDependencies": {
2271 | "webpack": "^5.1.0"
2272 | },
2273 | "peerDependenciesMeta": {
2274 | "@swc/core": {
2275 | "optional": true
2276 | },
2277 | "esbuild": {
2278 | "optional": true
2279 | },
2280 | "uglify-js": {
2281 | "optional": true
2282 | }
2283 | }
2284 | },
2285 | "node_modules/terser/node_modules/commander": {
2286 | "version": "2.20.3",
2287 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
2288 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
2289 | "dev": true,
2290 | "license": "MIT"
2291 | },
2292 | "node_modules/undici-types": {
2293 | "version": "6.20.0",
2294 | "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz",
2295 | "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==",
2296 | "dev": true,
2297 | "license": "MIT"
2298 | },
2299 | "node_modules/union": {
2300 | "version": "0.5.0",
2301 | "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz",
2302 | "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==",
2303 | "dev": true,
2304 | "dependencies": {
2305 | "qs": "^6.4.0"
2306 | },
2307 | "engines": {
2308 | "node": ">= 0.8.0"
2309 | }
2310 | },
2311 | "node_modules/update-browserslist-db": {
2312 | "version": "1.1.2",
2313 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz",
2314 | "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==",
2315 | "dev": true,
2316 | "funding": [
2317 | {
2318 | "type": "opencollective",
2319 | "url": "https://opencollective.com/browserslist"
2320 | },
2321 | {
2322 | "type": "tidelift",
2323 | "url": "https://tidelift.com/funding/github/npm/browserslist"
2324 | },
2325 | {
2326 | "type": "github",
2327 | "url": "https://github.com/sponsors/ai"
2328 | }
2329 | ],
2330 | "license": "MIT",
2331 | "dependencies": {
2332 | "escalade": "^3.2.0",
2333 | "picocolors": "^1.1.1"
2334 | },
2335 | "bin": {
2336 | "update-browserslist-db": "cli.js"
2337 | },
2338 | "peerDependencies": {
2339 | "browserslist": ">= 4.21.0"
2340 | }
2341 | },
2342 | "node_modules/url-join": {
2343 | "version": "4.0.1",
2344 | "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz",
2345 | "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==",
2346 | "dev": true,
2347 | "license": "MIT"
2348 | },
2349 | "node_modules/watchpack": {
2350 | "version": "2.4.2",
2351 | "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz",
2352 | "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==",
2353 | "dev": true,
2354 | "license": "MIT",
2355 | "dependencies": {
2356 | "glob-to-regexp": "^0.4.1",
2357 | "graceful-fs": "^4.1.2"
2358 | },
2359 | "engines": {
2360 | "node": ">=10.13.0"
2361 | }
2362 | },
2363 | "node_modules/webpack": {
2364 | "version": "5.98.0",
2365 | "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.98.0.tgz",
2366 | "integrity": "sha512-UFynvx+gM44Gv9qFgj0acCQK2VE1CtdfwFdimkapco3hlPCJ/zeq73n2yVKimVbtm+TnApIugGhLJnkU6gjYXA==",
2367 | "dev": true,
2368 | "license": "MIT",
2369 | "dependencies": {
2370 | "@types/eslint-scope": "^3.7.7",
2371 | "@types/estree": "^1.0.6",
2372 | "@webassemblyjs/ast": "^1.14.1",
2373 | "@webassemblyjs/wasm-edit": "^1.14.1",
2374 | "@webassemblyjs/wasm-parser": "^1.14.1",
2375 | "acorn": "^8.14.0",
2376 | "browserslist": "^4.24.0",
2377 | "chrome-trace-event": "^1.0.2",
2378 | "enhanced-resolve": "^5.17.1",
2379 | "es-module-lexer": "^1.2.1",
2380 | "eslint-scope": "5.1.1",
2381 | "events": "^3.2.0",
2382 | "glob-to-regexp": "^0.4.1",
2383 | "graceful-fs": "^4.2.11",
2384 | "json-parse-even-better-errors": "^2.3.1",
2385 | "loader-runner": "^4.2.0",
2386 | "mime-types": "^2.1.27",
2387 | "neo-async": "^2.6.2",
2388 | "schema-utils": "^4.3.0",
2389 | "tapable": "^2.1.1",
2390 | "terser-webpack-plugin": "^5.3.11",
2391 | "watchpack": "^2.4.1",
2392 | "webpack-sources": "^3.2.3"
2393 | },
2394 | "bin": {
2395 | "webpack": "bin/webpack.js"
2396 | },
2397 | "engines": {
2398 | "node": ">=10.13.0"
2399 | },
2400 | "funding": {
2401 | "type": "opencollective",
2402 | "url": "https://opencollective.com/webpack"
2403 | },
2404 | "peerDependenciesMeta": {
2405 | "webpack-cli": {
2406 | "optional": true
2407 | }
2408 | }
2409 | },
2410 | "node_modules/webpack-cli": {
2411 | "version": "5.1.4",
2412 | "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz",
2413 | "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==",
2414 | "dev": true,
2415 | "license": "MIT",
2416 | "dependencies": {
2417 | "@discoveryjs/json-ext": "^0.5.0",
2418 | "@webpack-cli/configtest": "^2.1.1",
2419 | "@webpack-cli/info": "^2.0.2",
2420 | "@webpack-cli/serve": "^2.0.5",
2421 | "colorette": "^2.0.14",
2422 | "commander": "^10.0.1",
2423 | "cross-spawn": "^7.0.3",
2424 | "envinfo": "^7.7.3",
2425 | "fastest-levenshtein": "^1.0.12",
2426 | "import-local": "^3.0.2",
2427 | "interpret": "^3.1.1",
2428 | "rechoir": "^0.8.0",
2429 | "webpack-merge": "^5.7.3"
2430 | },
2431 | "bin": {
2432 | "webpack-cli": "bin/cli.js"
2433 | },
2434 | "engines": {
2435 | "node": ">=14.15.0"
2436 | },
2437 | "funding": {
2438 | "type": "opencollective",
2439 | "url": "https://opencollective.com/webpack"
2440 | },
2441 | "peerDependencies": {
2442 | "webpack": "5.x.x"
2443 | },
2444 | "peerDependenciesMeta": {
2445 | "@webpack-cli/generators": {
2446 | "optional": true
2447 | },
2448 | "webpack-bundle-analyzer": {
2449 | "optional": true
2450 | },
2451 | "webpack-dev-server": {
2452 | "optional": true
2453 | }
2454 | }
2455 | },
2456 | "node_modules/webpack-cli/node_modules/commander": {
2457 | "version": "10.0.1",
2458 | "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
2459 | "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
2460 | "dev": true,
2461 | "license": "MIT",
2462 | "engines": {
2463 | "node": ">=14"
2464 | }
2465 | },
2466 | "node_modules/webpack-merge": {
2467 | "version": "5.10.0",
2468 | "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz",
2469 | "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==",
2470 | "dev": true,
2471 | "license": "MIT",
2472 | "dependencies": {
2473 | "clone-deep": "^4.0.1",
2474 | "flat": "^5.0.2",
2475 | "wildcard": "^2.0.0"
2476 | },
2477 | "engines": {
2478 | "node": ">=10.0.0"
2479 | }
2480 | },
2481 | "node_modules/webpack-sources": {
2482 | "version": "3.2.3",
2483 | "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
2484 | "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
2485 | "dev": true,
2486 | "license": "MIT",
2487 | "engines": {
2488 | "node": ">=10.13.0"
2489 | }
2490 | },
2491 | "node_modules/whatwg-encoding": {
2492 | "version": "2.0.0",
2493 | "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz",
2494 | "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==",
2495 | "dev": true,
2496 | "license": "MIT",
2497 | "dependencies": {
2498 | "iconv-lite": "0.6.3"
2499 | },
2500 | "engines": {
2501 | "node": ">=12"
2502 | }
2503 | },
2504 | "node_modules/which": {
2505 | "version": "2.0.2",
2506 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
2507 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
2508 | "dev": true,
2509 | "license": "ISC",
2510 | "dependencies": {
2511 | "isexe": "^2.0.0"
2512 | },
2513 | "bin": {
2514 | "node-which": "bin/node-which"
2515 | },
2516 | "engines": {
2517 | "node": ">= 8"
2518 | }
2519 | },
2520 | "node_modules/wildcard": {
2521 | "version": "2.0.1",
2522 | "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz",
2523 | "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==",
2524 | "dev": true,
2525 | "license": "MIT"
2526 | }
2527 | }
2528 | }
2529 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "skillset",
3 | "version": "1.0.0",
4 | "description": "Intuitive job-candidate skill visualization, taking advantage of D3.js and JSONResume.",
5 | "main": "index.js",
6 | "devDependencies": {
7 | "http-server": "^14.1.1",
8 | "webpack": "^5.98.0",
9 | "webpack-cli": "^5.1.4"
10 | },
11 | "scripts": {
12 | "test": "test",
13 | "dev": "webpack --mode development",
14 | "build": "webpack --mode production",
15 | "serve": "http-server"
16 | },
17 | "repository": {
18 | "type": "git",
19 | "url": "git+https://github.com/Jac21/SkillSet.git"
20 | },
21 | "keywords": [
22 | "d3.js",
23 | "resume",
24 | "JSONResume",
25 | "json"
26 | ],
27 | "author": "Jeremy Cantu",
28 | "license": "MIT",
29 | "bugs": {
30 | "url": "https://github.com/Jac21/SkillSet/issues"
31 | },
32 | "homepage": "https://github.com/Jac21/SkillSet#readme",
33 | "dependencies": {
34 | "d3": "^7.9.0"
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/app.js:
--------------------------------------------------------------------------------
1 | // base csv string object
2 | let csv = "source,target,value";
3 |
4 | // error area declaration
5 | let errorArea = document.getElementById("error-area");
6 |
7 | // convert JSONResume file input to csv file, download to user's machine
8 | const convertJson = function (e) {
9 | e.preventDefault();
10 |
11 | // grab file value, create object URL to use in getJSON call
12 | let jsonFileValue = document.getElementById("json-input").files[0];
13 | let jsonFile = window.URL.createObjectURL(jsonFileValue);
14 |
15 | // if browser supports fetch api
16 | if (self.fetch) {
17 | fetch(jsonFile)
18 | .then(function (response) {
19 | return response.json().then(function (json) {
20 | // iterate through json resume skill section
21 | for (var i = 0; i < json.skills.length; i++) {
22 | // iterate through keywords sub-section, append values to csv
23 | for (var j = 0; j < json.skills[i].keywords.length; j++) {
24 | csv +=
25 | "\n" +
26 | json.skills[i].name +
27 | "," +
28 | json.skills[i].keywords[j] +
29 | "," +
30 | setSkillValue(json.skills[i].level);
31 | }
32 | }
33 | // clear error area and visualize
34 | errorArea.innerHTML = "";
35 |
36 | forceLayoutVisualize(
37 | "data:attachment/csv," + encodeURIComponent(csv)
38 | );
39 | });
40 | })
41 | .catch(function (error) {
42 | errorArea.innerHTML =
43 | "There has been a problem with your fetch operation: " +
44 | error.message +
45 | "";
46 | });
47 | } else {
48 | errorArea.innerHTML =
49 | " Your browser does not support the fetch API! Please try this once more in Chrome or Firefox.";
50 | }
51 | };
52 |
53 | /*
54 | Event Handlers
55 | */
56 |
57 | // user has uploaded json file and clicked on submit button
58 | document
59 | .getElementById("json-input-button")
60 | .addEventListener("click", convertJson, false);
61 |
62 | /*
63 | Helper Functions
64 | */
65 |
66 | // set skill value numeric value from json value
67 | const setSkillValue = function (level) {
68 | var skillLevelValue = "0";
69 |
70 | if (level === "Beginner") {
71 | skillLevelValue = "1.0";
72 | } else if (level === "Intermediate") {
73 | skillLevelValue = "2.0";
74 | } else if (level === "Advanced") {
75 | skillLevelValue = "2.5";
76 | }
77 |
78 | return skillLevelValue;
79 | };
80 |
--------------------------------------------------------------------------------
/src/index.js:
--------------------------------------------------------------------------------
1 | import * as d3 from './lib/d3.min.js'
2 |
--------------------------------------------------------------------------------
/src/viz.js:
--------------------------------------------------------------------------------
1 | const forceLayoutVisualize = function (csv) {
2 | // get the data
3 | d3.csv(csv).then((links) => {
4 | // contain data for nodes
5 | var nodes = {};
6 | // Compute the distinct nodes from the links.
7 | links.forEach((link) => {
8 | link.source =
9 | nodes[link.source] || (nodes[link.source] = {
10 | name: link.source
11 | });
12 | // if link.source does not equal any of the nodes values, then
13 | // create a new element in the nodes object with the name of the link.source
14 | // value being considered
15 | link.target =
16 | nodes[link.target] || (nodes[link.target] = {
17 | name: link.target
18 | });
19 | link.value = +link.value;
20 | });
21 |
22 | // set svg area
23 | var width = 1024,
24 | height = 768;
25 |
26 | // use d3 force function
27 | var force = d3.forceSimulation(Object.values(nodes))
28 | //.nodes(Object.values(nodes)) // sets layout to array of nodes
29 | .force("link", d3.forceLink(links)
30 | .id((d, i) => { return i })
31 | .distance(60)
32 | .strength(2.5))
33 | .force("charge", d3.forceManyBody())
34 | .force("center", d3.forceCenter(width / 2, height / 2))
35 | .on("tick", tick) // runs the animation of the force layout
36 |
37 | // for varying link opacity
38 | var v = d3.scaleLinear().range([0, 100]);
39 |
40 | v.domain([
41 | 0,
42 | d3.max(links, function (d) {
43 | return d.value;
44 | })
45 | ]);
46 |
47 | links.forEach(function (link) {
48 | if (v(link.value) <= 25) {
49 | link.type = "twofive";
50 | } else if (v(link.value) <= 50 && v(link.value) > 25) {
51 | link.type = "fivezero";
52 | } else if (v(link.value) <= 75 && v(link.value) > 50) {
53 | link.type = "sevenfive";
54 | } else if (v(link.value) <= 100 && v(link.value) > 75) {
55 | link.type = "onezerozero";
56 | }
57 | });
58 |
59 | // set up the svg container
60 | var svg = d3
61 | .select("body")
62 | .append("svg")
63 | .attr("width", width)
64 | .attr("height", height);
65 |
66 | // build the arrow.
67 | svg
68 | .append("svg:defs")
69 | .selectAll("marker")
70 | .data(["end"]) // Different link/path types can be defined here
71 | .enter()
72 | .append("svg:marker") // This section adds in the arrows
73 | .attr("id", String)
74 | .attr("viewBox", "0 -5 10 10")
75 | .attr("refX", 15)
76 | .attr("refY", -1.5)
77 | .attr("markerWidth", 6) // set bounding box for the marker
78 | .attr("markerHeight", 6)
79 | .attr("orient", "auto")
80 | .append("svg:path")
81 | .attr("d", "M0,-5L10,0L0,5");
82 |
83 | // add the links and the arrows
84 | var path = svg
85 | .append("svg:g")
86 | .selectAll("path")
87 | .data(links)
88 | .enter()
89 | .append("svg:path")
90 | // .attr("class", function(d) { return "link " + d.type; })
91 | .attr("class", function (d) {
92 | return "link " + d.type;
93 | })
94 | .attr("marker-end", "url(#end)");
95 |
96 |
97 | function dragStart(d) {
98 | if (!d.active) {
99 | force.alphaTarget(0.3).restart();
100 | }
101 | d.subject.fx = d.subject.x;
102 | d.subject.fy = d.subject.y;
103 |
104 | }
105 |
106 | function dragged(d) {
107 | d.subject.fx = d.x;
108 | d.subject.fy = d.y;
109 | }
110 |
111 | function dragEnd(d) {
112 | if (!d.active) force.alphaTarget(0);
113 | d.subject.fx = null;
114 | d.subject.fy = null;
115 | }
116 |
117 | // define the nodes
118 | var node = svg
119 | .selectAll(".node")
120 | .data(force.nodes())
121 | .enter()
122 | .append("g")
123 | .attr("class", "node")
124 | .call(d3.drag()
125 | .on("start", (d) => dragStart(d))
126 | .on("drag", (d) => dragged(d))
127 | .on("end", (d) => dragEnd(d)))
128 | .on("click", click) // call click function
129 | .on("dblclick", dblclick); // call dblclick function
130 |
131 | var color = d3.scaleOrdinal(d3.schemeCategory10);
132 |
133 | // add the nodes
134 | node
135 | .append("circle")
136 | .attr("r", 5)
137 | .style("fill", function (d) {
138 | return color(d.name);
139 | });
140 |
141 | // add the text
142 | node
143 | .append("text")
144 | .attr("x", 14)
145 | .attr("dy", ".45em")
146 | .text(function (d) {
147 | return d.name;
148 | });
149 |
150 | // add the curvy lines
151 | function tick() {
152 | path.attr("d", (d) => {
153 | var dx = d.target.x - d.source.x,
154 | dy = d.target.y - d.source.y,
155 | dr = Math.sqrt(dx * dx + dy * dy);
156 | return (
157 | "M" +
158 | d.source.x +
159 | "," +
160 | d.source.y +
161 | "A" +
162 | dr +
163 | "," +
164 | dr +
165 | " 0 0,1 " +
166 | d.target.x +
167 | "," +
168 | d.target.y
169 | );
170 | });
171 |
172 | node.attr("transform", (d) => {
173 | return "translate(" + d.x + "," + d.y + ")";
174 | });
175 | }
176 |
177 | function click(event) {
178 | if (event.defaultPrevented) return; // dragged
179 | d3
180 | .select(this)
181 | .select("text")
182 | .transition()
183 | .duration(750)
184 | .attr("x", 22)
185 | .style("stroke", "lightsteelblue")
186 | .style("stroke-width", ".5px")
187 | .style("font", "20px sans-serif");
188 | d3
189 | .select(this)
190 | .select("circle")
191 | .transition()
192 | .duration(750)
193 | .attr("r", 16);
194 | }
195 |
196 | function dblclick() {
197 | d3
198 | .select(this)
199 | .select("circle")
200 | .transition()
201 | .duration(750)
202 | .attr("r", 6);
203 | d3
204 | .select(this)
205 | .select("text")
206 | .transition()
207 | .style("stroke", "none")
208 | .style("stroke", "none")
209 | .style("font", "10px sans-serif");
210 | }
211 | });
212 | }
--------------------------------------------------------------------------------
/styles/picnic.min.css:
--------------------------------------------------------------------------------
1 | /* Picnic CSS v6.5.0 http://picnicss.com/ */
2 | html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:0;padding:0}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:inherit}html,body{font-family:Arial, Helvetica, sans-serif;box-sizing:border-box;height:100%}body{color:#111;font-size:1.1em;line-height:1.5;background:#fff}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;padding:.6em 0}li{margin:0 0 .3em}a{color:#0074d9;text-decoration:none;box-shadow:none;transition:all 0.3s}code{padding:.3em .6em;font-size:.8em;background:#f5f5f5}pre{text-align:left;padding:.3em .6em;background:#f5f5f5;border-radius:.2em}pre code{padding:0}blockquote{padding:0 0 0 1em;margin:0 0 0 .1em;box-shadow:inset 5px 0 rgba(17,17,17,0.3)}label{cursor:pointer}[class^="icon-"]:before,[class*=" icon-"]:before{margin:0 .6em 0 0}i[class^="icon-"]:before,i[class*=" icon-"]:before{margin:0}.label,[data-tooltip]:after,button,.button,[type=submit],.dropimage{display:inline-block;text-align:center;margin:0;padding:.3em .9em;vertical-align:middle;background:#0074d9;color:#fff;border:0;border-radius:.2em;width:auto;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.success.label,.success[data-tooltip]:after,button.success,.success.button,.success[type=submit],.success.dropimage{background:#2ecc40}.warning.label,.warning[data-tooltip]:after,button.warning,.warning.button,.warning[type=submit],.warning.dropimage{background:#ff851b}.error.label,.error[data-tooltip]:after,button.error,.error.button,.error[type=submit],.error.dropimage{background:#ff4136}.pseudo.label,.pseudo[data-tooltip]:after,button.pseudo,.pseudo.button,.pseudo[type=submit],.pseudo.dropimage{background:transparent;color:#111}.label,[data-tooltip]:after{font-size:.6em;padding:.4em .6em;margin-left:1em;line-height:1}button,.button,[type=submit],.dropimage{margin:.3em 0;cursor:pointer;transition:all 0.3s;border-radius:.2em;height:auto;box-shadow:0 0 transparent inset}button:hover,.button:hover,[type=submit]:hover,.dropimage:hover,button:focus,.button:focus,[type=submit]:focus,.dropimage:focus{box-shadow:inset 0 0 0 99em rgba(255,255,255,0.2);border:0}button.pseudo:hover,.pseudo.button:hover,.pseudo[type=submit]:hover,.pseudo.dropimage:hover,button.pseudo:focus,.pseudo.button:focus,.pseudo[type=submit]:focus,.pseudo.dropimage:focus{box-shadow:inset 0 0 0 99em rgba(17,17,17,0.1)}button.active,.active.button,.active[type=submit],.active.dropimage,button:active,.button:active,[type=submit]:active,.dropimage:active,button.pseudo:active,.pseudo.button:active,.pseudo[type=submit]:active,.pseudo.dropimage:active{box-shadow:inset 0 0 0 99em rgba(17,17,17,0.2)}button[disabled],[disabled].button,[disabled][type=submit],[disabled].dropimage{cursor:default;box-shadow:none;background:#bbb}:checked+.toggle,:checked+.toggle:hover{box-shadow:inset 0 0 0 99em rgba(17,17,17,0.2)}[type]+.toggle{padding:.3em .9em;margin-right:0}[type]+.toggle:after,[type]+.toggle:before{display:none}input,textarea,.select select{line-height:1.5;margin:0;height:2.1em;padding:.3em .6em;border:1px solid #ccc;background-color:#fff;border-radius:.2em;transition:all 0.3s;width:100%}input:focus,textarea:focus,.select select:focus{border:1px solid #0074d9;outline:0}textarea{height:auto}[type=file],[type=color]{cursor:pointer}[type=file]{height:auto}select{background:#fff url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyIiBoZWlnaHQ9IjMiPjxwYXRoIGQ9Im0gMCwxIDEsMiAxLC0yIHoiLz48L3N2Zz4=) no-repeat scroll 95% center/10px 15px;background-position:calc(100% - 15px) center;border:1px solid #ccc;border-radius:.2em;cursor:pointer;width:100%;height:2.1em;box-sizing:border-box;padding:.3em .45em;transition:all .3s;-moz-appearance:none;-webkit-appearance:none;appearance:none}select::-ms-expand{display:none}select:focus,select:active{border:1px solid #0074d9;transition:outline 0s}select:-moz-focusring{color:transparent;text-shadow:0 0 0 #111}select option{font-size:inherit;padding:.3em .45em}[type=radio],[type=checkbox]{opacity:0;width:0;position:absolute;display:inline-block}[type=radio]+.checkable:hover:before,[type=checkbox]+.checkable:hover:before,[type=radio]:focus+.checkable:before,[type=checkbox]:focus+.checkable:before{border:1px solid #0074d9}[type=radio]+.checkable,[type=checkbox]+.checkable{position:relative;cursor:pointer;padding-left:1.5em;margin-right:.6em}[type=radio]+.checkable:before,[type=checkbox]+.checkable:before,[type=radio]+.checkable:after,[type=checkbox]+.checkable:after{content:'';position:absolute;display:inline-block;left:0;top:50%;transform:translateY(-50%);font-size:1em;line-height:1em;color:transparent;font-family:sans;text-align:center;box-sizing:border-box;width:1em;height:1em;border-radius:50%;transition:all 0.3s}[type=radio]+.checkable:before,[type=checkbox]+.checkable:before{border:1px solid #aaa}[type=radio]:checked+.checkable:after,[type=checkbox]:checked+.checkable:after{background:#555;transform:scale(0.5) translateY(-100%)}[type=checkbox]+.checkable:before{border-radius:.2em}[type=checkbox]+.checkable:after{content:"✔";background:none;transform:scale(2) translateY(-25%);visibility:hidden;opacity:0}[type=checkbox]:checked+.checkable:after{color:#111;background:none;transform:translateY(-50%);transition:all 0.3s;visibility:visible;opacity:1}table{text-align:left}td,th{padding:.3em 2.4em .3em .6em}th{text-align:left;font-weight:900;color:#fff;background-color:#0074d9}.success th{background-color:#2ecc40}.warning th{background-color:#ff851b}.error th{background-color:#ff4136}.dull th{background-color:#aaa}tr:nth-child(even){background:rgba(0,0,0,0.05)}.flex{display:-ms-flexbox;display:flex;margin-left:-0.6em;width:calc(100% + .6em);flex-wrap:wrap;transition:all .3s ease}.flex>*{box-sizing:border-box;flex:1 1 auto;padding-left:.6em;padding-bottom:.6em}.flex[class*="one"]>*,.flex[class*="two"]>*,.flex[class*="three"]>*,.flex[class*="four"]>*,.flex[class*="five"]>*,.flex[class*="six"]>*,.flex[class*="seven"]>*,.flex[class*="eight"]>*,.flex[class*="nine"]>*,.flex[class*="ten"]>*,.flex[class*="eleven"]>*,.flex[class*="twelve"]>*{flex-grow:0}.flex.grow>*{flex-grow:1}.center{justify-content:center}.one>*{width:100%}.two>*{width:50%}.three>*{width:33.33333%}.four>*{width:25%}.five>*{width:20%}.six>*{width:16.66666%}.seven>*{width:14.28571%}.eight>*{width:12.5%}.nine>*{width:11.11111%}.ten>*{width:10%}.eleven>*{width:9.09091%}.twelve>*{width:8.33333%}@media all and (min-width: 500px){.one-500>*{width:100%}.two-500>*{width:50%}.three-500>*{width:33.33333%}.four-500>*{width:25%}.five-500>*{width:20%}.six-500>*{width:16.66666%}.seven-500>*{width:14.28571%}.eight-500>*{width:12.5%}.nine-500>*{width:11.11111%}.ten-500>*{width:10%}.eleven-500>*{width:9.09091%}.twelve-500>*{width:8.33333%}}@media all and (min-width: 600px){.one-600>*{width:100%}.two-600>*{width:50%}.three-600>*{width:33.33333%}.four-600>*{width:25%}.five-600>*{width:20%}.six-600>*{width:16.66666%}.seven-600>*{width:14.28571%}.eight-600>*{width:12.5%}.nine-600>*{width:11.11111%}.ten-600>*{width:10%}.eleven-600>*{width:9.09091%}.twelve-600>*{width:8.33333%}}@media all and (min-width: 700px){.one-700>*{width:100%}.two-700>*{width:50%}.three-700>*{width:33.33333%}.four-700>*{width:25%}.five-700>*{width:20%}.six-700>*{width:16.66666%}.seven-700>*{width:14.28571%}.eight-700>*{width:12.5%}.nine-700>*{width:11.11111%}.ten-700>*{width:10%}.eleven-700>*{width:9.09091%}.twelve-700>*{width:8.33333%}}@media all and (min-width: 800px){.one-800>*{width:100%}.two-800>*{width:50%}.three-800>*{width:33.33333%}.four-800>*{width:25%}.five-800>*{width:20%}.six-800>*{width:16.66666%}.seven-800>*{width:14.28571%}.eight-800>*{width:12.5%}.nine-800>*{width:11.11111%}.ten-800>*{width:10%}.eleven-800>*{width:9.09091%}.twelve-800>*{width:8.33333%}}@media all and (min-width: 900px){.one-900>*{width:100%}.two-900>*{width:50%}.three-900>*{width:33.33333%}.four-900>*{width:25%}.five-900>*{width:20%}.six-900>*{width:16.66666%}.seven-900>*{width:14.28571%}.eight-900>*{width:12.5%}.nine-900>*{width:11.11111%}.ten-900>*{width:10%}.eleven-900>*{width:9.09091%}.twelve-900>*{width:8.33333%}}@media all and (min-width: 1000px){.one-1000>*{width:100%}.two-1000>*{width:50%}.three-1000>*{width:33.33333%}.four-1000>*{width:25%}.five-1000>*{width:20%}.six-1000>*{width:16.66666%}.seven-1000>*{width:14.28571%}.eight-1000>*{width:12.5%}.nine-1000>*{width:11.11111%}.ten-1000>*{width:10%}.eleven-1000>*{width:9.09091%}.twelve-1000>*{width:8.33333%}}@media all and (min-width: 1100px){.one-1100>*{width:100%}.two-1100>*{width:50%}.three-1100>*{width:33.33333%}.four-1100>*{width:25%}.five-1100>*{width:20%}.six-1100>*{width:16.66666%}.seven-1100>*{width:14.28571%}.eight-1100>*{width:12.5%}.nine-1100>*{width:11.11111%}.ten-1100>*{width:10%}.eleven-1100>*{width:9.09091%}.twelve-1100>*{width:8.33333%}}@media all and (min-width: 1200px){.one-1200>*{width:100%}.two-1200>*{width:50%}.three-1200>*{width:33.33333%}.four-1200>*{width:25%}.five-1200>*{width:20%}.six-1200>*{width:16.66666%}.seven-1200>*{width:14.28571%}.eight-1200>*{width:12.5%}.nine-1200>*{width:11.11111%}.ten-1200>*{width:10%}.eleven-1200>*{width:9.09091%}.twelve-1200>*{width:8.33333%}}@media all and (min-width: 1300px){.one-1300>*{width:100%}.two-1300>*{width:50%}.three-1300>*{width:33.33333%}.four-1300>*{width:25%}.five-1300>*{width:20%}.six-1300>*{width:16.66666%}.seven-1300>*{width:14.28571%}.eight-1300>*{width:12.5%}.nine-1300>*{width:11.11111%}.ten-1300>*{width:10%}.eleven-1300>*{width:9.09091%}.twelve-1300>*{width:8.33333%}}@media all and (min-width: 1400px){.one-1400>*{width:100%}.two-1400>*{width:50%}.three-1400>*{width:33.33333%}.four-1400>*{width:25%}.five-1400>*{width:20%}.six-1400>*{width:16.66666%}.seven-1400>*{width:14.28571%}.eight-1400>*{width:12.5%}.nine-1400>*{width:11.11111%}.ten-1400>*{width:10%}.eleven-1400>*{width:9.09091%}.twelve-1400>*{width:8.33333%}}@media all and (min-width: 1500px){.one-1500>*{width:100%}.two-1500>*{width:50%}.three-1500>*{width:33.33333%}.four-1500>*{width:25%}.five-1500>*{width:20%}.six-1500>*{width:16.66666%}.seven-1500>*{width:14.28571%}.eight-1500>*{width:12.5%}.nine-1500>*{width:11.11111%}.ten-1500>*{width:10%}.eleven-1500>*{width:9.09091%}.twelve-1500>*{width:8.33333%}}@media all and (min-width: 1600px){.one-1600>*{width:100%}.two-1600>*{width:50%}.three-1600>*{width:33.33333%}.four-1600>*{width:25%}.five-1600>*{width:20%}.six-1600>*{width:16.66666%}.seven-1600>*{width:14.28571%}.eight-1600>*{width:12.5%}.nine-1600>*{width:11.11111%}.ten-1600>*{width:10%}.eleven-1600>*{width:9.09091%}.twelve-1600>*{width:8.33333%}}@media all and (min-width: 1700px){.one-1700>*{width:100%}.two-1700>*{width:50%}.three-1700>*{width:33.33333%}.four-1700>*{width:25%}.five-1700>*{width:20%}.six-1700>*{width:16.66666%}.seven-1700>*{width:14.28571%}.eight-1700>*{width:12.5%}.nine-1700>*{width:11.11111%}.ten-1700>*{width:10%}.eleven-1700>*{width:9.09091%}.twelve-1700>*{width:8.33333%}}@media all and (min-width: 1800px){.one-1800>*{width:100%}.two-1800>*{width:50%}.three-1800>*{width:33.33333%}.four-1800>*{width:25%}.five-1800>*{width:20%}.six-1800>*{width:16.66666%}.seven-1800>*{width:14.28571%}.eight-1800>*{width:12.5%}.nine-1800>*{width:11.11111%}.ten-1800>*{width:10%}.eleven-1800>*{width:9.09091%}.twelve-1800>*{width:8.33333%}}@media all and (min-width: 1900px){.one-1900>*{width:100%}.two-1900>*{width:50%}.three-1900>*{width:33.33333%}.four-1900>*{width:25%}.five-1900>*{width:20%}.six-1900>*{width:16.66666%}.seven-1900>*{width:14.28571%}.eight-1900>*{width:12.5%}.nine-1900>*{width:11.11111%}.ten-1900>*{width:10%}.eleven-1900>*{width:9.09091%}.twelve-1900>*{width:8.33333%}}@media all and (min-width: 2000px){.one-2000>*{width:100%}.two-2000>*{width:50%}.three-2000>*{width:33.33333%}.four-2000>*{width:25%}.five-2000>*{width:20%}.six-2000>*{width:16.66666%}.seven-2000>*{width:14.28571%}.eight-2000>*{width:12.5%}.nine-2000>*{width:11.11111%}.ten-2000>*{width:10%}.eleven-2000>*{width:9.09091%}.twelve-2000>*{width:8.33333%}}.full{width:100%}.half{width:50%}.third{width:33.33333%}.two-third{width:66.66666%}.fourth{width:25%}.three-fourth{width:75%}.fifth{width:20%}.two-fifth{width:40%}.three-fifth{width:60%}.four-fifth{width:80%}.sixth{width:16.66666%}.none{display:none}@media all and (min-width: 500px){.full-500{width:100%;display:block}.half-500{width:50%;display:block}.third-500{width:33.33333%;display:block}.two-third-500{width:66.66666%;display:block}.fourth-500{width:25%;display:block}.three-fourth-500{width:75%;display:block}.fifth-500{width:20%;display:block}.two-fifth-500{width:40%;display:block}.three-fifth-500{width:60%;display:block}.four-fifth-500{width:80%;display:block}.sixth-500{width:16.66666%;display:block}}@media all and (min-width: 600px){.full-600{width:100%;display:block}.half-600{width:50%;display:block}.third-600{width:33.33333%;display:block}.two-third-600{width:66.66666%;display:block}.fourth-600{width:25%;display:block}.three-fourth-600{width:75%;display:block}.fifth-600{width:20%;display:block}.two-fifth-600{width:40%;display:block}.three-fifth-600{width:60%;display:block}.four-fifth-600{width:80%;display:block}.sixth-600{width:16.66666%;display:block}}@media all and (min-width: 700px){.full-700{width:100%;display:block}.half-700{width:50%;display:block}.third-700{width:33.33333%;display:block}.two-third-700{width:66.66666%;display:block}.fourth-700{width:25%;display:block}.three-fourth-700{width:75%;display:block}.fifth-700{width:20%;display:block}.two-fifth-700{width:40%;display:block}.three-fifth-700{width:60%;display:block}.four-fifth-700{width:80%;display:block}.sixth-700{width:16.66666%;display:block}}@media all and (min-width: 800px){.full-800{width:100%;display:block}.half-800{width:50%;display:block}.third-800{width:33.33333%;display:block}.two-third-800{width:66.66666%;display:block}.fourth-800{width:25%;display:block}.three-fourth-800{width:75%;display:block}.fifth-800{width:20%;display:block}.two-fifth-800{width:40%;display:block}.three-fifth-800{width:60%;display:block}.four-fifth-800{width:80%;display:block}.sixth-800{width:16.66666%;display:block}}@media all and (min-width: 900px){.full-900{width:100%;display:block}.half-900{width:50%;display:block}.third-900{width:33.33333%;display:block}.two-third-900{width:66.66666%;display:block}.fourth-900{width:25%;display:block}.three-fourth-900{width:75%;display:block}.fifth-900{width:20%;display:block}.two-fifth-900{width:40%;display:block}.three-fifth-900{width:60%;display:block}.four-fifth-900{width:80%;display:block}.sixth-900{width:16.66666%;display:block}}@media all and (min-width: 1000px){.full-1000{width:100%;display:block}.half-1000{width:50%;display:block}.third-1000{width:33.33333%;display:block}.two-third-1000{width:66.66666%;display:block}.fourth-1000{width:25%;display:block}.three-fourth-1000{width:75%;display:block}.fifth-1000{width:20%;display:block}.two-fifth-1000{width:40%;display:block}.three-fifth-1000{width:60%;display:block}.four-fifth-1000{width:80%;display:block}.sixth-1000{width:16.66666%;display:block}}@media all and (min-width: 1100px){.full-1100{width:100%;display:block}.half-1100{width:50%;display:block}.third-1100{width:33.33333%;display:block}.two-third-1100{width:66.66666%;display:block}.fourth-1100{width:25%;display:block}.three-fourth-1100{width:75%;display:block}.fifth-1100{width:20%;display:block}.two-fifth-1100{width:40%;display:block}.three-fifth-1100{width:60%;display:block}.four-fifth-1100{width:80%;display:block}.sixth-1100{width:16.66666%;display:block}}@media all and (min-width: 1200px){.full-1200{width:100%;display:block}.half-1200{width:50%;display:block}.third-1200{width:33.33333%;display:block}.two-third-1200{width:66.66666%;display:block}.fourth-1200{width:25%;display:block}.three-fourth-1200{width:75%;display:block}.fifth-1200{width:20%;display:block}.two-fifth-1200{width:40%;display:block}.three-fifth-1200{width:60%;display:block}.four-fifth-1200{width:80%;display:block}.sixth-1200{width:16.66666%;display:block}}@media all and (min-width: 1300px){.full-1300{width:100%;display:block}.half-1300{width:50%;display:block}.third-1300{width:33.33333%;display:block}.two-third-1300{width:66.66666%;display:block}.fourth-1300{width:25%;display:block}.three-fourth-1300{width:75%;display:block}.fifth-1300{width:20%;display:block}.two-fifth-1300{width:40%;display:block}.three-fifth-1300{width:60%;display:block}.four-fifth-1300{width:80%;display:block}.sixth-1300{width:16.66666%;display:block}}@media all and (min-width: 1400px){.full-1400{width:100%;display:block}.half-1400{width:50%;display:block}.third-1400{width:33.33333%;display:block}.two-third-1400{width:66.66666%;display:block}.fourth-1400{width:25%;display:block}.three-fourth-1400{width:75%;display:block}.fifth-1400{width:20%;display:block}.two-fifth-1400{width:40%;display:block}.three-fifth-1400{width:60%;display:block}.four-fifth-1400{width:80%;display:block}.sixth-1400{width:16.66666%;display:block}}@media all and (min-width: 1500px){.full-1500{width:100%;display:block}.half-1500{width:50%;display:block}.third-1500{width:33.33333%;display:block}.two-third-1500{width:66.66666%;display:block}.fourth-1500{width:25%;display:block}.three-fourth-1500{width:75%;display:block}.fifth-1500{width:20%;display:block}.two-fifth-1500{width:40%;display:block}.three-fifth-1500{width:60%;display:block}.four-fifth-1500{width:80%;display:block}.sixth-1500{width:16.66666%;display:block}}@media all and (min-width: 1600px){.full-1600{width:100%;display:block}.half-1600{width:50%;display:block}.third-1600{width:33.33333%;display:block}.two-third-1600{width:66.66666%;display:block}.fourth-1600{width:25%;display:block}.three-fourth-1600{width:75%;display:block}.fifth-1600{width:20%;display:block}.two-fifth-1600{width:40%;display:block}.three-fifth-1600{width:60%;display:block}.four-fifth-1600{width:80%;display:block}.sixth-1600{width:16.66666%;display:block}}@media all and (min-width: 1700px){.full-1700{width:100%;display:block}.half-1700{width:50%;display:block}.third-1700{width:33.33333%;display:block}.two-third-1700{width:66.66666%;display:block}.fourth-1700{width:25%;display:block}.three-fourth-1700{width:75%;display:block}.fifth-1700{width:20%;display:block}.two-fifth-1700{width:40%;display:block}.three-fifth-1700{width:60%;display:block}.four-fifth-1700{width:80%;display:block}.sixth-1700{width:16.66666%;display:block}}@media all and (min-width: 1800px){.full-1800{width:100%;display:block}.half-1800{width:50%;display:block}.third-1800{width:33.33333%;display:block}.two-third-1800{width:66.66666%;display:block}.fourth-1800{width:25%;display:block}.three-fourth-1800{width:75%;display:block}.fifth-1800{width:20%;display:block}.two-fifth-1800{width:40%;display:block}.three-fifth-1800{width:60%;display:block}.four-fifth-1800{width:80%;display:block}.sixth-1800{width:16.66666%;display:block}}@media all and (min-width: 1900px){.full-1900{width:100%;display:block}.half-1900{width:50%;display:block}.third-1900{width:33.33333%;display:block}.two-third-1900{width:66.66666%;display:block}.fourth-1900{width:25%;display:block}.three-fourth-1900{width:75%;display:block}.fifth-1900{width:20%;display:block}.two-fifth-1900{width:40%;display:block}.three-fifth-1900{width:60%;display:block}.four-fifth-1900{width:80%;display:block}.sixth-1900{width:16.66666%;display:block}}@media all and (min-width: 2000px){.full-2000{width:100%;display:block}.half-2000{width:50%;display:block}.third-2000{width:33.33333%;display:block}.two-third-2000{width:66.66666%;display:block}.fourth-2000{width:25%;display:block}.three-fourth-2000{width:75%;display:block}.fifth-2000{width:20%;display:block}.two-fifth-2000{width:40%;display:block}.three-fifth-2000{width:60%;display:block}.four-fifth-2000{width:80%;display:block}.sixth-2000{width:16.66666%;display:block}}@media all and (min-width: 500px){.none-500{display:none}}@media all and (min-width: 600px){.none-600{display:none}}@media all and (min-width: 700px){.none-700{display:none}}@media all and (min-width: 800px){.none-800{display:none}}@media all and (min-width: 900px){.none-900{display:none}}@media all and (min-width: 1000px){.none-1000{display:none}}@media all and (min-width: 1100px){.none-1100{display:none}}@media all and (min-width: 1200px){.none-1200{display:none}}@media all and (min-width: 1300px){.none-1300{display:none}}@media all and (min-width: 1400px){.none-1400{display:none}}@media all and (min-width: 1500px){.none-1500{display:none}}@media all and (min-width: 1600px){.none-1600{display:none}}@media all and (min-width: 1700px){.none-1700{display:none}}@media all and (min-width: 1800px){.none-1800{display:none}}@media all and (min-width: 1900px){.none-1900{display:none}}@media all and (min-width: 2000px){.none-2000{display:none}}.off-none{margin-left:0}.off-half{margin-left:50%}.off-third{margin-left:33.33333%}.off-two-third{margin-left:66.66666%}.off-fourth{margin-left:25%}.off-three-fourth{margin-left:75%}.off-fifth{margin-left:20%}.off-two-fifth{margin-left:40%}.off-three-fifth{margin-left:60%}.off-four-fifth{margin-left:80%}.off-sixth{margin-left:16.66666%}@media all and (min-width: 500px){.off-none-500{margin-left:0}.off-half-500{margin-left:50%}.off-third-500{margin-left:33.33333%}.off-two-third-500{margin-left:66.66666%}.off-fourth-500{margin-left:25%}.off-three-fourth-500{margin-left:75%}.off-fifth-500{margin-left:20%}.off-two-fifth-500{margin-left:40%}.off-three-fifth-500{margin-left:60%}.off-four-fifth-500{margin-left:80%}.off-sixth-500{margin-left:16.66666%}}@media all and (min-width: 600px){.off-none-600{margin-left:0}.off-half-600{margin-left:50%}.off-third-600{margin-left:33.33333%}.off-two-third-600{margin-left:66.66666%}.off-fourth-600{margin-left:25%}.off-three-fourth-600{margin-left:75%}.off-fifth-600{margin-left:20%}.off-two-fifth-600{margin-left:40%}.off-three-fifth-600{margin-left:60%}.off-four-fifth-600{margin-left:80%}.off-sixth-600{margin-left:16.66666%}}@media all and (min-width: 700px){.off-none-700{margin-left:0}.off-half-700{margin-left:50%}.off-third-700{margin-left:33.33333%}.off-two-third-700{margin-left:66.66666%}.off-fourth-700{margin-left:25%}.off-three-fourth-700{margin-left:75%}.off-fifth-700{margin-left:20%}.off-two-fifth-700{margin-left:40%}.off-three-fifth-700{margin-left:60%}.off-four-fifth-700{margin-left:80%}.off-sixth-700{margin-left:16.66666%}}@media all and (min-width: 800px){.off-none-800{margin-left:0}.off-half-800{margin-left:50%}.off-third-800{margin-left:33.33333%}.off-two-third-800{margin-left:66.66666%}.off-fourth-800{margin-left:25%}.off-three-fourth-800{margin-left:75%}.off-fifth-800{margin-left:20%}.off-two-fifth-800{margin-left:40%}.off-three-fifth-800{margin-left:60%}.off-four-fifth-800{margin-left:80%}.off-sixth-800{margin-left:16.66666%}}@media all and (min-width: 900px){.off-none-900{margin-left:0}.off-half-900{margin-left:50%}.off-third-900{margin-left:33.33333%}.off-two-third-900{margin-left:66.66666%}.off-fourth-900{margin-left:25%}.off-three-fourth-900{margin-left:75%}.off-fifth-900{margin-left:20%}.off-two-fifth-900{margin-left:40%}.off-three-fifth-900{margin-left:60%}.off-four-fifth-900{margin-left:80%}.off-sixth-900{margin-left:16.66666%}}@media all and (min-width: 1000px){.off-none-1000{margin-left:0}.off-half-1000{margin-left:50%}.off-third-1000{margin-left:33.33333%}.off-two-third-1000{margin-left:66.66666%}.off-fourth-1000{margin-left:25%}.off-three-fourth-1000{margin-left:75%}.off-fifth-1000{margin-left:20%}.off-two-fifth-1000{margin-left:40%}.off-three-fifth-1000{margin-left:60%}.off-four-fifth-1000{margin-left:80%}.off-sixth-1000{margin-left:16.66666%}}@media all and (min-width: 1100px){.off-none-1100{margin-left:0}.off-half-1100{margin-left:50%}.off-third-1100{margin-left:33.33333%}.off-two-third-1100{margin-left:66.66666%}.off-fourth-1100{margin-left:25%}.off-three-fourth-1100{margin-left:75%}.off-fifth-1100{margin-left:20%}.off-two-fifth-1100{margin-left:40%}.off-three-fifth-1100{margin-left:60%}.off-four-fifth-1100{margin-left:80%}.off-sixth-1100{margin-left:16.66666%}}@media all and (min-width: 1200px){.off-none-1200{margin-left:0}.off-half-1200{margin-left:50%}.off-third-1200{margin-left:33.33333%}.off-two-third-1200{margin-left:66.66666%}.off-fourth-1200{margin-left:25%}.off-three-fourth-1200{margin-left:75%}.off-fifth-1200{margin-left:20%}.off-two-fifth-1200{margin-left:40%}.off-three-fifth-1200{margin-left:60%}.off-four-fifth-1200{margin-left:80%}.off-sixth-1200{margin-left:16.66666%}}@media all and (min-width: 1300px){.off-none-1300{margin-left:0}.off-half-1300{margin-left:50%}.off-third-1300{margin-left:33.33333%}.off-two-third-1300{margin-left:66.66666%}.off-fourth-1300{margin-left:25%}.off-three-fourth-1300{margin-left:75%}.off-fifth-1300{margin-left:20%}.off-two-fifth-1300{margin-left:40%}.off-three-fifth-1300{margin-left:60%}.off-four-fifth-1300{margin-left:80%}.off-sixth-1300{margin-left:16.66666%}}@media all and (min-width: 1400px){.off-none-1400{margin-left:0}.off-half-1400{margin-left:50%}.off-third-1400{margin-left:33.33333%}.off-two-third-1400{margin-left:66.66666%}.off-fourth-1400{margin-left:25%}.off-three-fourth-1400{margin-left:75%}.off-fifth-1400{margin-left:20%}.off-two-fifth-1400{margin-left:40%}.off-three-fifth-1400{margin-left:60%}.off-four-fifth-1400{margin-left:80%}.off-sixth-1400{margin-left:16.66666%}}@media all and (min-width: 1500px){.off-none-1500{margin-left:0}.off-half-1500{margin-left:50%}.off-third-1500{margin-left:33.33333%}.off-two-third-1500{margin-left:66.66666%}.off-fourth-1500{margin-left:25%}.off-three-fourth-1500{margin-left:75%}.off-fifth-1500{margin-left:20%}.off-two-fifth-1500{margin-left:40%}.off-three-fifth-1500{margin-left:60%}.off-four-fifth-1500{margin-left:80%}.off-sixth-1500{margin-left:16.66666%}}@media all and (min-width: 1600px){.off-none-1600{margin-left:0}.off-half-1600{margin-left:50%}.off-third-1600{margin-left:33.33333%}.off-two-third-1600{margin-left:66.66666%}.off-fourth-1600{margin-left:25%}.off-three-fourth-1600{margin-left:75%}.off-fifth-1600{margin-left:20%}.off-two-fifth-1600{margin-left:40%}.off-three-fifth-1600{margin-left:60%}.off-four-fifth-1600{margin-left:80%}.off-sixth-1600{margin-left:16.66666%}}@media all and (min-width: 1700px){.off-none-1700{margin-left:0}.off-half-1700{margin-left:50%}.off-third-1700{margin-left:33.33333%}.off-two-third-1700{margin-left:66.66666%}.off-fourth-1700{margin-left:25%}.off-three-fourth-1700{margin-left:75%}.off-fifth-1700{margin-left:20%}.off-two-fifth-1700{margin-left:40%}.off-three-fifth-1700{margin-left:60%}.off-four-fifth-1700{margin-left:80%}.off-sixth-1700{margin-left:16.66666%}}@media all and (min-width: 1800px){.off-none-1800{margin-left:0}.off-half-1800{margin-left:50%}.off-third-1800{margin-left:33.33333%}.off-two-third-1800{margin-left:66.66666%}.off-fourth-1800{margin-left:25%}.off-three-fourth-1800{margin-left:75%}.off-fifth-1800{margin-left:20%}.off-two-fifth-1800{margin-left:40%}.off-three-fifth-1800{margin-left:60%}.off-four-fifth-1800{margin-left:80%}.off-sixth-1800{margin-left:16.66666%}}@media all and (min-width: 1900px){.off-none-1900{margin-left:0}.off-half-1900{margin-left:50%}.off-third-1900{margin-left:33.33333%}.off-two-third-1900{margin-left:66.66666%}.off-fourth-1900{margin-left:25%}.off-three-fourth-1900{margin-left:75%}.off-fifth-1900{margin-left:20%}.off-two-fifth-1900{margin-left:40%}.off-three-fifth-1900{margin-left:60%}.off-four-fifth-1900{margin-left:80%}.off-sixth-1900{margin-left:16.66666%}}@media all and (min-width: 2000px){.off-none-2000{margin-left:0}.off-half-2000{margin-left:50%}.off-third-2000{margin-left:33.33333%}.off-two-third-2000{margin-left:66.66666%}.off-fourth-2000{margin-left:25%}.off-three-fourth-2000{margin-left:75%}.off-fifth-2000{margin-left:20%}.off-two-fifth-2000{margin-left:40%}.off-three-fifth-2000{margin-left:60%}.off-four-fifth-2000{margin-left:80%}.off-sixth-2000{margin-left:16.66666%}}nav{position:fixed;top:0;left:0;right:0;height:3em;padding:0 .6em;background:#fff;box-shadow:0 0 0.2em rgba(17,17,17,0.2);z-index:10000;transition:all .3s;transform-style:preserve-3d}nav .brand,nav .menu,nav .burger{float:right;position:relative;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}nav .brand{font-weight:700;float:left;padding:0 .6em;max-width:50%;white-space:nowrap;color:#111}nav .brand *{vertical-align:middle}nav .logo{height:2em;margin-right:.3em}nav .select::after{height:calc(100% - 1px);padding:0;line-height:2.4em}nav .menu>*{margin-right:.6em}nav .burger{display:none}@media all and (max-width: 60em){nav .burger{display:inline-block;cursor:pointer;bottom:-1000em;margin:0}nav .burger ~ .menu,nav .show:checked ~ .burger{position:fixed;min-height:100%;top:0;right:0;bottom:-1000em;margin:0;background:#fff;transition:all .5s ease;transform:none}nav .burger ~ .menu{z-index:11}nav .show:checked ~ .burger{color:transparent;width:100%;border-radius:0;background:rgba(0,0,0,0.2);transition:all .5s ease}nav .show ~ .menu{width:70%;max-width:300px;transform-origin:center right;transition:all .25s ease;transform:scaleX(0)}nav .show ~ .menu>*{transform:translateX(100%);transition:all 0s ease .5s}nav .show:checked ~ .menu>*:nth-child(1){transition:all .5s cubic-bezier(0.645, 0.045, 0.355, 1) 0s}nav .show:checked ~ .menu>*:nth-child(2){transition:all .5s cubic-bezier(0.645, 0.045, 0.355, 1) .1s}nav .show:checked ~ .menu>*:nth-child(3){transition:all .5s cubic-bezier(0.645, 0.045, 0.355, 1) .2s}nav .show:checked ~ .menu>*:nth-child(4){transition:all .5s cubic-bezier(0.645, 0.045, 0.355, 1) .3s}nav .show:checked ~ .menu>*:nth-child(5){transition:all .5s cubic-bezier(0.645, 0.045, 0.355, 1) .4s}nav .show:checked ~ .menu>*:nth-child(6){transition:all .5s cubic-bezier(0.645, 0.045, 0.355, 1) .5s}nav .show:checked ~ .menu{transform:scaleX(1)}nav .show:checked ~ .menu>*{transform:translateX(0);transition:all .5s ease-in-out .6s}nav .burger ~ .menu>*{display:block;margin:.3em;text-align:left;max-width:calc(100% - .6em)}nav .burger ~ .menu>a{padding:.3em .9em}}.stack,.stack .toggle{margin-top:0;margin-bottom:0;display:block;width:100%;text-align:left;border-radius:0}.stack:first-child,.stack:first-child .toggle{border-top-left-radius:.2em;border-top-right-radius:.2em}.stack:last-child,.stack:last-child .toggle{border-bottom-left-radius:.2em;border-bottom-right-radius:.2em}input.stack,textarea.stack,select.stack{transition:border-bottom 0 ease 0;border-bottom-width:0}input.stack:last-child,textarea.stack:last-child,select.stack:last-child{border-bottom-width:1px}input.stack:focus+input,input.stack:focus+textarea,input.stack:focus+select,textarea.stack:focus+input,textarea.stack:focus+textarea,textarea.stack:focus+select,select.stack:focus+input,select.stack:focus+textarea,select.stack:focus+select{border-top-color:#0074d9}.card,.modal .overlay ~ *{position:relative;box-shadow:0;border-radius:.2em;border:1px solid #ccc;overflow:hidden;text-align:left;background:#fff;margin-bottom:.6em;padding:0;transition:all .3s ease}.hidden.card,.modal .overlay ~ .hidden,:checked+.card,.modal .overlay ~ :checked+*,.modal .overlay:checked+*{font-size:0;padding:0;margin:0;border:0}.card>*,.modal .overlay ~ *>*{max-width:100%;display:block}.card>*:last-child,.modal .overlay ~ *>*:last-child{margin-bottom:0}.card header,.modal .overlay ~ * header,.card section,.modal .overlay ~ * section,.card>p,.modal .overlay ~ *>p{padding:.6em .8em}.card section,.modal .overlay ~ * section{padding:.6em .8em 0}.card hr,.modal .overlay ~ * hr{border:none;height:1px;background-color:#eee}.card header,.modal .overlay ~ * header{font-weight:bold;position:relative;border-bottom:1px solid #eee}.card header h1,.modal .overlay ~ * header h1,.card header h2,.modal .overlay ~ * header h2,.card header h3,.modal .overlay ~ * header h3,.card header h4,.modal .overlay ~ * header h4,.card header h5,.modal .overlay ~ * header h5,.card header h6,.modal .overlay ~ * header h6{padding:0;margin:0 2em 0 0;line-height:1;display:inline-block;vertical-align:text-bottom}.card header:last-child,.modal .overlay ~ * header:last-child{border-bottom:0}.card footer,.modal .overlay ~ * footer{padding:.8em}.card p,.modal .overlay ~ * p{margin:.3em 0}.card p:first-child,.modal .overlay ~ * p:first-child{margin-top:0}.card p:last-child,.modal .overlay ~ * p:last-child{margin-bottom:0}.card>p,.modal .overlay ~ *>p{margin:0;padding-right:2.5em}.card .close,.modal .overlay ~ * .close{position:absolute;top:.4em;right:.3em;font-size:1.2em;padding:0 .5em;cursor:pointer;width:auto}.card .close:hover,.modal .overlay ~ * .close:hover{color:#ff4136}.card h1+.close,.modal .overlay ~ * h1+.close{margin:.2em}.card h2+.close,.modal .overlay ~ * h2+.close{margin:.1em}.card .dangerous,.modal .overlay ~ * .dangerous{background:#ff4136;float:right}.modal{text-align:center}.modal>input{display:none}.modal>input ~ *{opacity:0;max-height:0;overflow:hidden}.modal .overlay{top:0;left:0;bottom:0;right:0;position:fixed;margin:0;border-radius:0;background:rgba(17,17,17,0.6);transition:all 0.3s;z-index:100000}.modal .overlay:before,.modal .overlay:after{display:none}.modal .overlay ~ *{border:0;position:fixed;top:50%;left:50%;transform:translateX(-50%) translateY(-50%) scale(0.2, 0.2);z-index:1000000;transition:all 0.3s}.modal>input:checked ~ *{display:block;opacity:1;max-height:10000px;transition:all 0.3s}.modal>input:checked ~ .overlay ~ *{max-height:90%;overflow:auto;-webkit-transform:translateX(-50%) translateY(-50%) scale(1, 1);transform:translateX(-50%) translateY(-50%) scale(1, 1)}@media (max-width: 60em){.modal .overlay ~ *{min-width:90%}}.dropimage{position:relative;display:block;padding:0;padding-bottom:56.25%;overflow:hidden;cursor:pointer;border:0;margin:.3em 0;border-radius:.2em;background-color:#ddd;background-size:cover;background-position:center center;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2NDAiIGhlaWdodD0iNjQwIiB2ZXJzaW9uPSIxLjEiPjxnIHN0eWxlPSJmaWxsOiMzMzMiPjxwYXRoIGQ9Ik0gMTg3IDIzMCBDIDE3NSAyMzAgMTY1IDI0MCAxNjUgMjUyIEwgMTY1IDMwMCBMIDE2NSA0MDggQyAxNjUgNDIwIDE3NSA0MzAgMTg3IDQzMCBMIDQ2MyA0MzAgQyA0NzUgNDMwIDQ4NSA0MjAgNDg1IDQwOCBMIDQ4NSAzMDAgTCA0ODUgMjUyIEMgNDg1IDI0MCA0NzUgMjMwIDQ2MyAyMzAgTCAxODcgMjMwIHogTSAzNjAgMjU2IEEgNzAgNzIgMCAwIDEgNDMwIDMyOCBBIDcwIDcyIDAgMCAxIDM2MCA0MDAgQSA3MCA3MiAwIDAgMSAyOTAgMzI4IEEgNzAgNzIgMCAwIDEgMzYwIDI1NiB6Ii8+PGNpcmNsZSBjeD0iMzYwIiBjeT0iMzMwIiByPSI0MSIvPjxwYXRoIGQ9Im0yMDUgMjI1IDUtMTAgMjAgMCA1IDEwLTMwIDAiLz48cGF0aCBkPSJNMjg1IDIwMEwyNzAgMjI1IDM3NiAyMjUgMzYxIDIwMCAyODUgMjAwek0zMTAgMjA1TDMzNyAyMDUgMzM3IDIxOCAzMTAgMjE4IDMxMCAyMDV6Ii8+PHBhdGggZD0ibTQwNSAyMjUgNS0xMCAyMCAwIDUgMTAtMzAgMCIvPjwvZz48L3N2Zz4=)}.dropimage input{left:0;width:100%;height:100%;border:0;margin:0;padding:0;opacity:0;cursor:pointer;position:absolute}.tabs{position:relative;overflow:hidden}.tabs>label img{float:left;margin-left:.6em}.tabs>.row{width:calc(100% + 2 * .6em);display:table;table-layout:fixed;position:relative;padding-left:0;transition:all .3s;border-spacing:0;margin:0}.tabs>.row:before,.tabs>.row:after{display:none}.tabs>.row>*,.tabs>.row img{display:table-cell;vertical-align:top;margin:0;width:100%}.tabs>input{display:none}.tabs>input+*{width:100%}.tabs>input+label{width:auto}.two.tabs>.row{width:200%;left:-100%}.two.tabs>input:nth-of-type(1):checked ~ .row{margin-left:100%}.two.tabs>label img{width:48%;margin:4% 0 4% 4%}.three.tabs>.row{width:300%;left:-200%}.three.tabs>input:nth-of-type(1):checked ~ .row{margin-left:200%}.three.tabs>input:nth-of-type(2):checked ~ .row{margin-left:100%}.three.tabs>label img{width:30%;margin:5% 0 5% 5%}.four.tabs>.row{width:400%;left:-300%}.four.tabs>input:nth-of-type(1):checked ~ .row{margin-left:300%}.four.tabs>input:nth-of-type(2):checked ~ .row{margin-left:200%}.four.tabs>input:nth-of-type(3):checked ~ .row{margin-left:100%}.four.tabs>label img{width:22%;margin:4% 0 4% 4%}.tabs>label:first-of-type img{margin-left:0}[data-tooltip]{position:relative}[data-tooltip]:after,[data-tooltip]:before{position:absolute;z-index:10;opacity:0;border-width:0;height:0;padding:0;overflow:hidden;transition:opacity .6s ease, height 0s ease .6s;top:calc(100% - 6px);left:0;margin-top:12px}[data-tooltip]:after{margin-left:0;font-size:.8em;background:#111;content:attr(data-tooltip);white-space:nowrap}[data-tooltip]:before{content:'';width:0;height:0;border-width:0;border-style:solid;border-color:transparent transparent #111;margin-top:0;left:10px}[data-tooltip]:hover:after,[data-tooltip]:focus:after,[data-tooltip]:hover:before,[data-tooltip]:focus:before{opacity:1;border-width:6px;height:auto}[data-tooltip]:hover:after,[data-tooltip]:focus:after{padding:.45em .9em}.tooltip-top:after,.tooltip-top:before{top:auto;bottom:calc(100% - 6px);left:0;margin-bottom:12px}.tooltip-top:before{border-color:#111 transparent transparent;margin-bottom:0;left:10px}.tooltip-right:after,.tooltip-right:before{left:100%;margin-left:6px;margin-top:0;top:0}.tooltip-right:before{border-color:transparent #111 transparent transparent;margin-left:-6px;left:100%;top:7px}.tooltip-left:after,.tooltip-left:before{right:100%;margin-right:6px;left:auto;margin-top:0;top:0}.tooltip-left:before{border-color:transparent transparent transparent #111;margin-right:-6px;right:100%;top:7px}
3 |
--------------------------------------------------------------------------------
/styles/style.css:
--------------------------------------------------------------------------------
1 | img {
2 | width: 40%;
3 | padding-left: 1em;
4 | }
5 |
6 | .content {
7 | max-width: 35%;
8 | padding-left: 1em;
9 | }
10 |
11 | #error-area {
12 | font-size: 14px;
13 | color: red;
14 | }
15 |
16 | path.link {
17 | fill: none;
18 | stroke: #666;
19 | stroke-width: 1.5px;
20 | }
21 |
22 | path.link.twofive {
23 | opacity: 0.25;
24 | }
25 |
26 | path.link.fivezero {
27 | opacity: 0.50;
28 | }
29 |
30 | path.link.sevenfive {
31 | opacity: 0.75;
32 | }
33 |
34 | path.link.onezerozero {
35 | opacity: 1.0;
36 | }
37 |
38 | circle {
39 | fill: #ccc;
40 | stroke: #fff;
41 | stroke-width: 1.5px;
42 | }
43 |
44 | text {
45 | fill: #000;
46 | font: 12px sans-serif;
47 | pointer-events: none;
48 | }
--------------------------------------------------------------------------------