diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0ca6f5b8983f0967b2d025fd7b29e065733c83b0..613cb4eba0385454c556e9700980ee89d4188186 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,7 +2,7 @@ image: node:latest stages: - build - - build_documentation + - docs build: stage: build @@ -10,10 +10,10 @@ build: - npm install --force --global yarn - yarn install - yarn test - - yarn build + - yarn build || echo "Unable to build!" -build-documentation: - stage: build_documentation +pages: + stage: docs script: - npm install --force --global yarn - yarn install diff --git a/i18n/uk.po b/i18n/uk.po new file mode 100644 index 0000000000000000000000000000000000000000..1fbb2d5e8eab166d98e56456b1384780f5314672 --- /dev/null +++ b/i18n/uk.po @@ -0,0 +1,7 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Plural-Forms: nplurals = 3; plural = (n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" diff --git a/package.json b/package.json index 15191808ac08b1c8f5c44bf01f60bd5c8d6fe81d..33739b84709522b0282612e489d26578783ee60e 100644 --- a/package.json +++ b/package.json @@ -4,6 +4,7 @@ "private": true, "dependencies": { "@material-ui/core": "^4.11.3", + "@material-ui/icons": "^4.11.2", "@testing-library/jest-dom": "^5.11.4", "@testing-library/react": "^11.1.0", "@testing-library/user-event": "^12.1.10", @@ -20,6 +21,7 @@ "react-intl": "^5.15.5", "react-router-dom": "^5.2.0", "react-scripts": "4.0.3", + "ttag": "^1.7.24", "typescript": "^4.1.2" }, "scripts": { @@ -66,6 +68,7 @@ "lint-staged": "^10.5.4", "mrm": "^2.6.0", "prettier": "2.2.1", - "react-styleguidist": "^11.1.6" + "react-styleguidist": "^11.1.6", + "ttag-cli": "^1.9.2" } } diff --git a/public/assets/.gitkeep b/public/assets/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/public/assets/bg2.png b/public/assets/bg2.png new file mode 100644 index 0000000000000000000000000000000000000000..3f2a1c008b58cf4815a45cf914af3ac6630a6934 Binary files /dev/null and b/public/assets/bg2.png differ diff --git a/public/assets/bg3.png b/public/assets/bg3.png new file mode 100644 index 0000000000000000000000000000000000000000..988d3ac7ea8db4b7ab56d33225adb4aa32e8b34f Binary files /dev/null and b/public/assets/bg3.png differ diff --git a/public/assets/bg4.png b/public/assets/bg4.png new file mode 100644 index 0000000000000000000000000000000000000000..abc5e7942705ff1ccb5352b2d52276a52b2faa66 Binary files /dev/null and b/public/assets/bg4.png differ diff --git a/public/assets/bg5.png b/public/assets/bg5.png new file mode 100644 index 0000000000000000000000000000000000000000..abc5e7942705ff1ccb5352b2d52276a52b2faa66 Binary files /dev/null and b/public/assets/bg5.png differ diff --git a/public/assets/bg6.png b/public/assets/bg6.png new file mode 100644 index 0000000000000000000000000000000000000000..63f99a7c5f63917da0b749fc439c6f2e2c4a1d64 Binary files /dev/null and b/public/assets/bg6.png differ diff --git a/public/assets/bg7.png b/public/assets/bg7.png new file mode 100644 index 0000000000000000000000000000000000000000..d078ffeb4176c17f762c9cdd3ec929f6bd812b8b Binary files /dev/null and b/public/assets/bg7.png differ diff --git a/public/assets/car1.svg b/public/assets/car1.svg new file mode 100644 index 0000000000000000000000000000000000000000..cac93ca489fb1b2781e3e604f770ac008979c95d --- /dev/null +++ b/public/assets/car1.svg @@ -0,0 +1 @@ +<svg id="1c04cb57-5b83-4fe5-b665-05639f110a33" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1134.04" height="812.32" viewBox="0 0 1134.04 812.32"><defs><linearGradient id="6c7d37f1-6da5-4539-a77a-d6e4cb7903d9" x1="589.38" y1="843.95" x2="589.38" y2="370.19" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="gray" stop-opacity="0.25"/><stop offset="0.54" stop-color="gray" stop-opacity="0.12"/><stop offset="1" stop-color="gray" stop-opacity="0.1"/></linearGradient><linearGradient id="10b82cfb-559e-4a80-a810-4173bf9c8c28" x1="636.31" y1="530.98" x2="663.62" y2="530.98" xlink:href="#6c7d37f1-6da5-4539-a77a-d6e4cb7903d9"/></defs><title>city driver</title><ellipse cx="600.04" cy="793.44" rx="170.69" ry="18.88" fill="#ffffff" opacity="0.1"/><path d="M1112.15,595.06c-26.56,54.81-80.52,91.46-136.42,115.63-75.27,32.55-158.16,45.46-239.91,40q-21.5-1.42-42.85-4.57A540.44,540.44,0,0,1,549.7,704.36Q530,695.46,511,685a494.85,494.85,0,0,1-60.46-39.54q-7.23-5.52-14.26-11.32c-3.25-2.68-6.47-5.42-9.74-8.08-6.9-5.61-14-10.94-21.92-14.93a78.31,78.31,0,0,0-7.34-3.24c-25.08-9.54-54-5.94-80.11,1.5C297.33,615,278,622.75,258.13,628.28A196,196,0,0,1,231.22,634a143.21,143.21,0,0,1-60.49-5.27l-1.67-.52q-4.2-1.32-8.33-2.89l-1.67-.64q-4-1.54-7.83-3.31l-1.67-.76q-4-1.86-7.83-3.93c-.92-.48-1.83-1-2.73-1.49A163.67,163.67,0,0,1,99.84,584.7c-.33-.33-.64-.67-1-1-1.59-1.72-3.15-3.47-4.66-5.26-.56-.66-1.12-1.32-1.67-2q-2.69-3.29-5.19-6.71c-.25-.33-.49-.67-.73-1a144.59,144.59,0,0,1-16.87-30.5c-.14-.33-.27-.67-.39-1q-2-5.15-3.65-10.47c-.45-1.48-.88-3-1.26-4.48-.13-.44-.25-.89-.36-1.33C58.59,499.23,58,476.64,58,454.18q0-3.93,0-7.85c.16-36.33.72-73.28,6.08-109.11,0-.25.07-.5.11-.74a340.76,340.76,0,0,1,7.31-35.82,264.25,264.25,0,0,1,12.31-36.3c12.33-29,30.26-55.39,50.17-79.85C184.08,123,249.85,71.29,326.83,52c82.95-20.83,175.14-.87,242.05,52.4,20.4,16.24,38.73,35.47,61.64,47.92,20,10.84,43.41,15.33,64.83,6.8,17.7-7,29.22-10.55,49.1-9.48a411.56,411.56,0,0,1,120.36,25.19c1.56.57,3.12,1.16,4.67,1.75,100.71,38.55,187.3,115.1,232.28,213.47q1.79,3.9,3.47,7.86C1132.06,460.53,1141.74,534,1112.15,595.06Z" transform="translate(-32.98 -43.84)" fill="#ffffff" opacity="0.1"/><path d="M258.13,249.12V628.28A196,196,0,0,1,231.22,634a143.21,143.21,0,0,1-60.49-5.27l-1.67-.52q-4.2-1.32-8.33-2.89l-1.67-.64q-4-1.54-7.83-3.31l-1.67-.76q-4-1.86-7.83-3.93c-.92-.48-1.83-1-2.73-1.49A163.67,163.67,0,0,1,99.84,584.7c-.33-.33-.64-.67-1-1-1.59-1.72-3.15-3.47-4.66-5.26-.56-.66-1.12-1.32-1.67-2q-2.69-3.29-5.19-6.71c-.25-.33-.49-.67-.73-1a144.59,144.59,0,0,1-16.87-30.5c-.14-.33-.27-.67-.39-1q-2-5.15-3.65-10.47c-.45-1.48-.88-3-1.26-4.48-.13-.44-.25-.89-.36-1.33C58.59,499.23,58,476.64,58,454.18q0-3.93,0-7.85c.16-36.33.72-73.28,6.08-109.11,0-.25.07-.5.11-.74a340.76,340.76,0,0,1,7.31-35.82H173.59V249.12H194V207.73h43.82v41.39Z" transform="translate(-32.98 -43.84)" fill="#ffffff" opacity="0.1"/><path d="M1112.15,595.06c-26.56,54.81-80.52,91.46-136.42,115.63-75.27,32.55-158.16,45.46-239.91,40q-21.5-1.42-42.85-4.57A540.44,540.44,0,0,1,549.7,704.36Q530,695.46,511,685a494.85,494.85,0,0,1-60.46-39.54q-7.23-5.52-14.26-11.32c-3.25-2.68-6.47-5.42-9.74-8.08-6.9-5.61-14-10.94-21.92-14.93a78.31,78.31,0,0,0-7.34-3.24V452.73H582.87v34.53h81.45V234.68h95.87v101h47.42v-59.8h39.18V212h18V174.78c1.56.57,3.12,1.16,4.67,1.75V212H887v63.92h39.17v59.8H983.9V563.55h91.76V397.86h29.57C1132.06,460.53,1141.74,534,1112.15,595.06Z" transform="translate(-32.98 -43.84)" fill="#ffffff" opacity="0.1"/><rect x="659.99" y="228.84" width="42.85" height="42.85" fill="#ffffff" opacity="0.1"/><rect x="659.99" y="317.67" width="42.85" height="42.85" fill="#ffffff" opacity="0.1"/><rect x="659.99" y="406.49" width="42.85" height="42.85" fill="#ffffff" opacity="0.1"/><rect x="659.99" y="495.32" width="42.85" height="42.85" fill="#ffffff" opacity="0.1"/><rect x="659.99" y="584.15" width="42.85" height="42.85" fill="#ffffff" opacity="0.1"/><path d="M735.82,716.81v33.84q-21.5-1.42-42.85-4.57V716.81Z" transform="translate(-32.98 -43.84)" fill="#ffffff" opacity="0.1"/><rect x="378.43" y="464.27" width="149.99" height="19.41" fill="#ffffff" opacity="0.1"/><rect x="378.43" y="523.21" width="149.99" height="19.41" fill="#ffffff" opacity="0.1"/><path d="M561.4,626v19.4H450.56q-7.23-5.52-14.26-11.32c-3.25-2.68-6.47-5.42-9.74-8.08Z" transform="translate(-32.98 -43.84)" fill="#ffffff" opacity="0.1"/><path d="M561.4,685v19.41H549.7Q530,695.46,511,685Z" transform="translate(-32.98 -43.84)" fill="#ffffff" opacity="0.1"/><rect x="774.41" y="344.87" width="27.89" height="27.89" fill="#ffffff" opacity="0.1"/><rect x="170.41" y="214.89" width="27.89" height="27.89" fill="#ffffff" opacity="0.1"/><rect x="170.41" y="279.69" width="27.89" height="27.89" fill="#ffffff" opacity="0.1"/><rect x="170.41" y="344.49" width="27.89" height="27.89" fill="#ffffff" opacity="0.1"/><rect x="170.41" y="409.28" width="27.89" height="27.89" fill="#ffffff" opacity="0.1"/><rect x="170.41" y="474.08" width="27.89" height="27.89" fill="#ffffff" opacity="0.1"/><rect x="170.41" y="538.88" width="27.89" height="27.89" fill="#ffffff" opacity="0.1"/><rect x="880.91" y="344.87" width="27.89" height="27.89" fill="#ffffff" opacity="0.1"/><rect x="774.41" y="413.68" width="27.89" height="27.89" fill="#ffffff" opacity="0.1"/><rect x="880.91" y="413.68" width="27.89" height="27.89" fill="#ffffff" opacity="0.1"/><rect x="774.41" y="482.48" width="27.89" height="27.89" fill="#ffffff" opacity="0.1"/><rect x="880.91" y="482.48" width="27.89" height="27.89" fill="#ffffff" opacity="0.1"/><rect x="774.41" y="551.29" width="27.89" height="27.89" fill="#ffffff" opacity="0.1"/><rect x="880.91" y="551.29" width="27.89" height="27.89" fill="#ffffff" opacity="0.1"/><rect x="774.41" y="620.1" width="27.89" height="27.89" fill="#ffffff" opacity="0.1"/><rect x="880.91" y="620.1" width="27.89" height="27.89" fill="#ffffff" opacity="0.1"/><polygon points="774.41 706.89 774.41 688.9 802.3 688.9 802.3 704.33 774.41 706.89" fill="#ffffff" opacity="0.1"/><path d="M64.06,336.48v16H170.73v-16Zm9.5,15H65.73v-14h7.83Zm9.5,0H75.23v-14h7.83Zm9.5,0H84.73v-14h7.83Zm9.5,0H94.23v-14h7.83Zm9.5,0h-7.83v-14h7.83Zm9.5,0h-7.83v-14h7.83Zm9.5,0h-7.83v-14h7.83Zm9.5,0h-7.83v-14h7.83Zm9.5,0h-7.83v-14h7.83Zm9.5,0h-7.83v-14h7.83Zm10,0h-8.33v-14h8.33Z" transform="translate(-32.98 -43.84)" fill="#ffffff" opacity="0.1"/><path d="M64.06,382.94v15.95H170.73V382.94Zm9.5,14.95H65.73V383.94h7.83Zm9.5,0H75.23V383.94h7.83Zm9.5,0H84.73V383.94h7.83Zm9.5,0H94.23V383.94h7.83Zm9.5,0h-7.83V383.94h7.83Zm9.5,0h-7.83V383.94h7.83Zm9.5,0h-7.83V383.94h7.83Zm9.5,0h-7.83V383.94h7.83Zm9.5,0h-7.83V383.94h7.83Zm9.5,0h-7.83V383.94h7.83Zm10,0h-8.33V383.94h8.33Z" transform="translate(-32.98 -43.84)" fill="#ffffff" opacity="0.1"/><path d="M64.06,429.39v15.95H170.73V429.39Zm9.5,14.95H65.73V430.39h7.83Zm9.5,0H75.23V430.39h7.83Zm9.5,0H84.73V430.39h7.83Zm9.5,0H94.23V430.39h7.83Zm9.5,0h-7.83V430.39h7.83Zm9.5,0h-7.83V430.39h7.83Zm9.5,0h-7.83V430.39h7.83Zm9.5,0h-7.83V430.39h7.83Zm9.5,0h-7.83V430.39h7.83Zm9.5,0h-7.83V430.39h7.83Zm10,0h-8.33V430.39h8.33Z" transform="translate(-32.98 -43.84)" fill="#ffffff" opacity="0.1"/><path d="M64.06,475.84v16H170.73v-16Zm9.5,15H65.73v-14h7.83Zm9.5,0H75.23v-14h7.83Zm9.5,0H84.73v-14h7.83Zm9.5,0H94.23v-14h7.83Zm9.5,0h-7.83v-14h7.83Zm9.5,0h-7.83v-14h7.83Zm9.5,0h-7.83v-14h7.83Zm9.5,0h-7.83v-14h7.83Zm9.5,0h-7.83v-14h7.83Zm9.5,0h-7.83v-14h7.83Zm10,0h-8.33v-14h8.33Z" transform="translate(-32.98 -43.84)" fill="#ffffff" opacity="0.1"/><path d="M64.47,522.29c.38,1.5.81,3,1.26,4.48v-3.48h7.83v14H69.38c.12.33.25.67.39,1h101v-16Zm18.59,15H75.23v-14h7.83Zm9.5,0H84.73v-14h7.83Zm9.5,0H94.23v-14h7.83Zm9.5,0h-7.83v-14h7.83Zm9.5,0h-7.83v-14h7.83Zm9.5,0h-7.83v-14h7.83Zm9.5,0h-7.83v-14h7.83Zm9.5,0h-7.83v-14h7.83Zm9.5,0h-7.83v-14h7.83Zm10,0h-8.33v-14h8.33Z" transform="translate(-32.98 -43.84)" fill="#ffffff" opacity="0.1"/><path d="M86.64,568.74c.24.33.48.67.73,1h5.19v6.71c.55.67,1.11,1.33,1.67,2v-8.7h7.83v14H98.89c.31.33.62.67,1,1h70.89v-16Zm24.92,15h-7.83v-14h7.83Zm9.5,0h-7.83v-14h7.83Zm9.5,0h-7.83v-14h7.83Zm9.5,0h-7.83v-14h7.83Zm9.5,0h-7.83v-14h7.83Zm9.5,0h-7.83v-14h7.83Zm10,0h-8.33v-14h8.33Z" transform="translate(-32.98 -43.84)" fill="#ffffff" opacity="0.1"/><path d="M139,615.19c.9.51,1.81,1,2.73,1.49v-.49h7.83v4.42l1.67.76v-5.18h7.83v8.49l1.67.64v-9.13h8.33v12l1.67.52V615.19Z" transform="translate(-32.98 -43.84)" fill="#ffffff" opacity="0.1"/><path d="M467.92,198s-23.83-1.43-21,15.27a4.07,4.07,0,0,0,2.11,4.29s.05-1.24,2.45-.82a10.62,10.62,0,0,0,2.59.13,5.35,5.35,0,0,0,3.16-1.31h0s6.7-2.77,9.31-13.72c0,0,1.93-2.39,1.85-3l-4,1.72s1.37,2.9.29,5.31c0,0-.13-5.21-.9-5.08-.16,0-2.09,1-2.09,1s2.36,5.06.58,8.73c0,0,.68-6.23-1.32-8.36l-2.83,1.65s2.76,5.22.89,9.48c0,0,.48-6.53-1.49-9.08l-2.56,2s2.59,5.15,1,8.68c0,0-.21-7.6-1.57-8.18a16,16,0,0,0-2.59,2.79s1.78,3.74.68,5.71c0,0-.68-5.07-1.23-5.09,0,0-2.24,3.36-2.47,5.66a12.24,12.24,0,0,1,1.93-6,6.74,6.74,0,0,0-3.43,1.77s.35-2.37,4-2.58c0,0,1.85-2.55,2.34-2.7,0,0-3.61-.3-5.8.67,0,0,1.93-2.24,6.46-1.23l2.54-2.06S452,203,450,203.7c0,0,2.32-2,7.45-.54l2.76-1.65a25.22,25.22,0,0,0-6.47-.56s2.55-1.37,7.27.12l2-.89s-3-.58-3.84-.67-.92-.34-.92-.34a10.32,10.32,0,0,1,5.58.62S468,198.23,467.92,198Z" transform="translate(-32.98 -43.84)" fill="#ffffff" opacity="0.1"/><path d="M405.34,279.23s-8.14,22.45,8.67,24.5a4.09,4.09,0,0,0,4.72-.81s-1.18-.4-.09-2.58a11.21,11.21,0,0,0,.85-2.45,5.37,5.37,0,0,0-.35-3.4h0s-.75-7.21-10.52-12.82c0,0-1.74-2.53-2.35-2.63l.51,4.34s3.17-.49,5.17,1.23c0,0-5-1.35-5.13-.58,0,.16.37,2.29.37,2.29s5.52-.83,8.54,1.93c0,0-5.78-2.42-8.4-1.11l.78,3.18s5.8-1.17,9.35,1.84c0,0-6.13-2.32-9.13-1.15l1.19,3s5.67-1,8.61,1.5c0,0-7.35-2-8.29-.82a15.74,15.74,0,0,0,1.94,3.27s4.09-.64,5.67,1c0,0-5.05-.79-5.23-.26,0,0,2.58,3.1,4.72,4a12.23,12.23,0,0,1-5.19-3.54,6.78,6.78,0,0,0,.73,3.78s-2.18-1-1.34-4.54c0,0-1.92-2.5-1.93-3,0,0-1.31,3.37-1,5.74,0,0-1.61-2.48.66-6.54l-1.27-3s-2,4.37-1.85,6.5c0,0-1.24-2.78,1.6-7.29l-.8-3.11a24.74,24.74,0,0,0-2.37,6s-.59-2.83,2.18-6.94l-.29-2.15s-1.41,2.68-1.74,3.49-.58.79-.58.79a10.24,10.24,0,0,1,2.18-5.17S405.62,279.24,405.34,279.23Z" transform="translate(-32.98 -43.84)" fill="#ffffff" opacity="0.1"/><path d="M563.38,260.32s-8.15,22.44,8.67,24.49a4.05,4.05,0,0,0,4.71-.81s-1.17-.39-.09-2.58a11.39,11.39,0,0,0,.86-2.44,5.41,5.41,0,0,0-.36-3.41h0s-.75-7.21-10.51-12.82c0,0-1.74-2.52-2.35-2.63l.5,4.35S568,264,570,265.7c0,0-5-1.36-5.13-.58,0,.16.37,2.29.37,2.29s5.52-.83,8.53,1.92c0,0-5.78-2.42-8.39-1.11l.78,3.18s5.79-1.16,9.34,1.84c0,0-6.13-2.31-9.12-1.15l1.19,3s5.67-1,8.61,1.49c0,0-7.36-2-8.29-.82a15.76,15.76,0,0,0,1.94,3.28s4.09-.65,5.66,1c0,0-5.05-.79-5.23-.27,0,0,2.59,3.1,4.73,4a12.24,12.24,0,0,1-5.19-3.55,6.72,6.72,0,0,0,.73,3.79s-2.18-1-1.35-4.55c0,0-1.92-2.49-1.92-3,0,0-1.32,3.37-1,5.75,0,0-1.6-2.48.66-6.54l-1.26-3s-2,4.37-1.86,6.51c0,0-1.24-2.79,1.6-7.3l-.79-3.11a24.93,24.93,0,0,0-2.37,6s-.6-2.83,2.17-6.94l-.29-2.14s-1.4,2.68-1.74,3.49-.57.78-.57.78a10.28,10.28,0,0,1,2.17-5.17S563.65,260.32,563.38,260.32Z" transform="translate(-32.98 -43.84)" fill="#ffffff" opacity="0.1"/><path d="M337.47,443.8s-8.14,22.45,8.67,24.49a4.07,4.07,0,0,0,4.72-.81s-1.18-.39-.09-2.57a10.87,10.87,0,0,0,.85-2.45,5.4,5.4,0,0,0-.35-3.41h0s-.75-7.21-10.51-12.82c0,0-1.75-2.52-2.36-2.63l.51,4.35s3.17-.49,5.18,1.23c0,0-5-1.36-5.14-.58,0,.16.37,2.29.37,2.29s5.52-.83,8.54,1.92c0,0-5.78-2.42-8.4-1.11l.79,3.18s5.79-1.16,9.34,1.84c0,0-6.13-2.31-9.13-1.15l1.19,3s5.67-1,8.61,1.49c0,0-7.35-2-8.29-.82a15.45,15.45,0,0,0,1.95,3.28s4.08-.65,5.66,1c0,0-5.05-.79-5.23-.27,0,0,2.58,3.1,4.72,4a12.24,12.24,0,0,1-5.18-3.55,6.77,6.77,0,0,0,.72,3.79s-2.17-1-1.34-4.55c0,0-1.92-2.49-1.93-3,0,0-1.31,3.38-1,5.75,0,0-1.6-2.48.66-6.54l-1.26-3s-2,4.37-1.86,6.51c0,0-1.24-2.79,1.6-7.29l-.8-3.12a24.93,24.93,0,0,0-2.37,6s-.59-2.83,2.18-6.94l-.29-2.14s-1.41,2.68-1.74,3.49-.58.78-.58.78a10.35,10.35,0,0,1,2.18-5.17S337.75,443.8,337.47,443.8Z" transform="translate(-32.98 -43.84)" fill="#ffffff" opacity="0.1"/><path d="M305.15,232.2s-8.15,22.45,8.66,24.5a4.09,4.09,0,0,0,4.72-.81s-1.17-.4-.09-2.58a10.7,10.7,0,0,0,.85-2.45,5.41,5.41,0,0,0-.35-3.41h0s-.75-7.21-10.51-12.81c0,0-1.74-2.53-2.36-2.63l.51,4.34s3.17-.49,5.18,1.23c0,0-5-1.35-5.13-.58,0,.16.37,2.29.37,2.29s5.51-.83,8.53,1.92c0,0-5.78-2.41-8.39-1.11l.78,3.19s5.79-1.17,9.34,1.84c0,0-6.13-2.32-9.12-1.16l1.19,3s5.67-1,8.6,1.49c0,0-7.35-2-8.29-.81a15.43,15.43,0,0,0,1.95,3.27s4.08-.64,5.66,1c0,0-5.05-.79-5.23-.26,0,0,2.59,3.1,4.72,4a12.17,12.17,0,0,1-5.18-3.54,6.69,6.69,0,0,0,.73,3.78s-2.18-1-1.35-4.54c0,0-1.92-2.5-1.93-3,0,0-1.31,3.38-1,5.75,0,0-1.6-2.48.66-6.54l-1.26-3s-2,4.37-1.86,6.5c0,0-1.24-2.78,1.6-7.29l-.8-3.11a25.18,25.18,0,0,0-2.37,6s-.59-2.84,2.18-6.94l-.29-2.15s-1.4,2.68-1.74,3.49-.58.78-.58.78a10.35,10.35,0,0,1,2.18-5.17S305.42,232.21,305.15,232.2Z" transform="translate(-32.98 -43.84)" fill="#ffffff" opacity="0.1"/><path d="M365.58,354.41s6.29,23,21.2,15a4.08,4.08,0,0,0,3.39-3.38s-1.19.36-1.56-2.05a11.81,11.81,0,0,0-.71-2.5,5.46,5.46,0,0,0-2.26-2.58h0s-4.77-5.45-16-4.41c0,0-2.88-1.06-3.43-.79l2.91,3.26s2.31-2.23,4.94-2c0,0-4.89,1.79-4.52,2.48.07.15,1.62,1.66,1.62,1.66s4-3.86,8.08-3.35c0,0-6.12,1.36-7.5,3.93l2.48,2.16s4.05-4.3,8.69-3.89c0,0-6.34,1.64-8.12,4.32l2.72,1.79s4-4.11,7.89-3.75c0,0-7.14,2.64-7.24,4.11a15.4,15.4,0,0,0,3.47,1.56s3-2.88,5.19-2.47c0,0-4.58,2.26-4.43,2.8,0,0,3.9,1,6.15.52a12.14,12.14,0,0,1-6.28.09,6.79,6.79,0,0,0,2.78,2.68s-2.36.43-3.72-2.94c0,0-3-.93-3.31-1.35,0,0,.87,3.51,2.49,5.27,0,0-2.74-1.1-3.23-5.72l-2.77-1.74s.91,4.71,2.24,6.39c0,0-2.62-1.56-2.9-6.88l-2.45-2.08a24.78,24.78,0,0,0,1.55,6.3s-2.12-2-2.23-6.93l-1.47-1.58s.4,3,.59,3.85,0,1,0,1a10.24,10.24,0,0,1-1.2-5.48S365.8,354.25,365.58,354.41Z" transform="translate(-32.98 -43.84)" fill="#ffffff" opacity="0.1"/><path d="M536.21,375s6.29,23,21.21,15a4.07,4.07,0,0,0,3.38-3.38s-1.18.36-1.56-2.05a10.74,10.74,0,0,0-.71-2.5,5.43,5.43,0,0,0-2.25-2.58h0s-4.77-5.45-16-4.41c0,0-2.88-1.06-3.44-.79l2.92,3.26s2.31-2.23,4.94-2c0,0-4.89,1.79-4.53,2.49.07.14,1.62,1.65,1.62,1.65s4-3.86,8.08-3.35c0,0-6.11,1.36-7.49,3.93l2.47,2.16s4.06-4.3,8.69-3.89c0,0-6.34,1.64-8.12,4.32l2.72,1.79s4-4.11,7.9-3.75c0,0-7.14,2.64-7.25,4.12a15.59,15.59,0,0,0,3.48,1.55s3-2.88,5.18-2.47c0,0-4.58,2.27-4.42,2.8,0,0,3.9,1,6.15.52a12.14,12.14,0,0,1-6.28.09,6.72,6.72,0,0,0,2.78,2.68s-2.36.43-3.73-2.94c0,0-3-.93-3.31-1.35,0,0,.88,3.51,2.5,5.28,0,0-2.74-1.11-3.23-5.73l-2.77-1.74s.9,4.71,2.23,6.39c0,0-2.62-1.56-2.9-6.88l-2.44-2.08a25.06,25.06,0,0,0,1.54,6.3s-2.12-2-2.22-6.93l-1.47-1.58s.4,3,.59,3.85,0,1,0,1a10.24,10.24,0,0,1-1.2-5.48S536.44,374.79,536.21,375Z" transform="translate(-32.98 -43.84)" fill="#ffffff" opacity="0.1"/><polygon points="922.97 672.03 933.04 682.66 949.01 654.52 947.57 651.36 922.97 672.03" fill="#ffffff"/><polygon points="922.97 672.03 933.04 682.66 949.01 654.52 947.57 651.36 922.97 672.03" opacity="0.2"/><path d="M248.05,691.78c0,53.4-36.57,64.73-73.22,64.73s-57.28-45-57.28-98.42,29.71-96.7,66.36-96.7S248.05,638.38,248.05,691.78Z" transform="translate(-32.98 -43.84)" fill="#636780"/><path d="M248.05,691.78c0,53.4-36.57,64.73-73.22,64.73s-57.28-45-57.28-98.42,29.71-96.7,66.36-96.7S248.05,638.38,248.05,691.78Z" transform="translate(-32.98 -43.84)" opacity="0.2"/><path d="M222.71,659.81c0,53.4-23.54,96.7-52.58,96.7s-53.73-43.3-53.73-96.7c0-7.38-1.14-14.56-.29-21.46,5.31-43.07,29-75.23,54-75.23C199.17,563.12,222.71,606.41,222.71,659.81Z" transform="translate(-32.98 -43.84)" fill="#636780"/><path d="M217.47,424.43s-46.09,51.68-60.73,94.75l398,43.94,213.2-43.94S683.5,418,660.68,414.09,217.47,424.43,217.47,424.43Z" transform="translate(-32.98 -43.84)" fill="#ffffff"/><path d="M217.47,424.43s-46.09,51.68-60.73,94.75l398,43.94,213.2-43.94S683.5,418,660.68,414.09,217.47,424.43,217.47,424.43Z" transform="translate(-32.98 -43.84)" opacity="0.4"/><polygon points="476.53 512.06 540.41 691.28 540.41 645.92 558.19 595.14 607.45 573.33 669.91 601.67 692.25 608.65 694.2 567.31 619.94 530.7 585.37 514.11 506.24 507.21 484.41 503.31 476.53 512.06" fill="#ffffff"/><path d="M538,574.54l58.12,6.67C593.48,558,610.71,558,610.71,558l-58.14-10.06H525.43" transform="translate(-32.98 -43.84)" fill="#ffffff"/><path d="M573.39,762.68h41.2l119.31-4s2.58,22.75,34,17.4c0,0,17.3,1.11,19.16-8.29s-39.4-96.27-39.4-96.27l-56.25-42-51-12.38-36.61,10.77-23.26,37-14.64,50.65Z" transform="translate(-32.98 -43.84)" fill="#636780"/><path d="M573.39,762.68h41.2l119.31-4s2.58,22.75,34,17.4c0,0,17.3,1.11,19.16-8.29s-39.4-96.27-39.4-96.27l-56.25-42-51-12.38-36.61,10.77-23.26,37-14.64,50.65Z" transform="translate(-32.98 -43.84)" opacity="0.2"/><path d="M225.49,436.8c-5.9,4.82-24.54,22.11-40.07,58.67a8.84,8.84,0,0,0,7,12.25L286,519.85a14.14,14.14,0,0,0,15.56-10.66l16.45-67.11a6.7,6.7,0,0,0-6.64-8.3L229.6,435.3A6.63,6.63,0,0,0,225.49,436.8Z" transform="translate(-32.98 -43.84)" fill="#ffffff"/><path d="M225.49,436.8c-5.9,4.82-24.54,22.11-40.07,58.67a8.84,8.84,0,0,0,7,12.25L286,519.85a14.14,14.14,0,0,0,15.56-10.66l16.45-67.11a6.7,6.7,0,0,0-6.64-8.3L229.6,435.3A6.63,6.63,0,0,0,225.49,436.8Z" transform="translate(-32.98 -43.84)" fill="#fff" opacity="0.2"/><path d="M361.48,433.63l105.38-1c7.59-.07,14.39,5,16.95,12.74L516.67,520c2.91,8.74-3.38,17.84-12,17.34L350.85,527.21c-12.76-.74-21.79-13.75-18.84-27.16l11.15-50.67C345.17,440.22,352.73,433.71,361.48,433.63Z" transform="translate(-32.98 -43.84)" fill="#ffffff"/><path d="M361.48,433.63l105.38-1c7.59-.07,14.39,5,16.95,12.74L516.67,520c2.91,8.74-3.38,17.84-12,17.34L350.85,527.21c-12.76-.74-21.79-13.75-18.84-27.16l11.15-50.67C345.17,440.22,352.73,433.71,361.48,433.63Z" transform="translate(-32.98 -43.84)" fill="#fff" opacity="0.2"/><path d="M525.29,432.43c28.81-.52,105.16-2.7,143.14-11.45,0,0,65.18,49.1,84.71,86.14,0,0-101.6,24.73-171.77,28.08a26.59,26.59,0,0,1-25.17-15l-37.31-77.32A7.26,7.26,0,0,1,525.29,432.43Z" transform="translate(-32.98 -43.84)" fill="#ffffff"/><path d="M525.29,432.43c28.81-.52,105.16-2.7,143.14-11.45,0,0,65.18,49.1,84.71,86.14,0,0-101.6,24.73-171.77,28.08a26.59,26.59,0,0,1-25.17-15l-37.31-77.32A7.26,7.26,0,0,1,525.29,432.43Z" transform="translate(-32.98 -43.84)" fill="#fff" opacity="0.2"/><path d="M561.82,443.62c12-.21,35.41-.83,58.27-2.54a109.53,109.53,0,0,1,90.23,36.49l.74.84a14.24,14.24,0,0,1-7.78,23.26c-25.22,5.41-68.18,13.67-101.34,15.27a19,19,0,0,1-18.07-10.72l-26.62-55.17A5.18,5.18,0,0,1,561.82,443.62Z" transform="translate(-32.98 -43.84)" fill="#fff" opacity="0.1"/><path d="M573.39,735.12v27.56L268.73,716.17c-14.93-5.17-23.84-2-23.84-2-11-5.37-19-26.32-19.23-27v0l5.75-16.65-46.7-77.24-62.13,2.58c9.77-78.11,37.9-81.84,37.9-81.84l365,33.88Z" transform="translate(-32.98 -43.84)" fill="#ffffff"/><path d="M507.73,570.61c-2.39,2.62-6.76,5-14.82,4.78-12.35-.3-14.69-10.84-15-17.13a29.45,29.45,0,0,1,.13-4.62l16.18-4.95,3.31,3.09,9.77,9.15A6.91,6.91,0,0,1,507.73,570.61Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M507.73,569.75c-2.39,2.62-6.76,5-14.82,4.78-12.35-.3-14.69-10.84-15-17.13a29.45,29.45,0,0,1,.13-4.62l16.18-4.95,3.31,3.09,9.77,9.15A6.91,6.91,0,0,1,507.73,569.75Z" transform="translate(-32.98 -43.84)" fill="#dce0ed"/><path d="M497.54,550.92c-2.07,5.27-8.19,6.7-8.19,6.7l-11.43-.22a29.45,29.45,0,0,1,.13-4.62l16.18-4.95Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M456.3,510.57s-25.84,3.46-18.95,26.82c5.22,17.7,16.87,18.89,22.21,18.44a88.45,88.45,0,0,1,9.35-.34l20.43.41s11.54-2.69,8.31-14.32S479.56,508.63,456.3,510.57Z" transform="translate(-32.98 -43.84)" fill="#f0f0f4"/><ellipse cx="283.41" cy="521.86" rx="11.92" ry="15.51" opacity="0.2"/><rect x="297.03" y="561.07" width="44.62" height="10.51" rx="5.25" ry="5.25" transform="translate(28.95 -74.54) rotate(6.09)" opacity="0.1"/><rect x="297.03" y="560.21" width="44.62" height="10.51" rx="5.25" ry="5.25" transform="translate(28.86 -74.55) rotate(6.09)" fill="#f0f0f4"/><path d="M118.84,666.92S97.45,645.81,123.43,595c0,0,33.31-50.4,85,4.74,0,0,29.72,33.16,38.33,86.14l-20.24.43s-19.39-93.9-76.24-89.16C150.28,597.14,108.93,604.46,118.84,666.92Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M118,669.5s-21.4-21.1,4.59-71.93c0,0,33.31-50.39,85,4.74,0,0,29.72,33.17,38.34,86.14l-20.25.43S206.27,595,149.42,599.73C149.42,599.73,108.07,607.05,118,669.5Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M118,667.78s-21.4-21.11,4.59-71.93c0,0,33.31-50.39,85,4.74,0,0,29.72,33.16,38.34,86.14l-20.25.43S206.27,593.27,149.42,598C149.42,598,108.07,605.33,118,667.78Z" transform="translate(-32.98 -43.84)" fill="#ffffff"/><path d="M118,667.78s-21.4-21.11,4.59-71.93c0,0,33.31-50.39,85,4.74,0,0,29.72,33.16,38.34,86.14l-20.25.43S206.27,593.27,149.42,598C149.42,598,108.07,605.33,118,667.78Z" transform="translate(-32.98 -43.84)" opacity="0.2"/><path d="M573.39,735.12v27.56L268.73,716.17c-14.93-5.17-23.84-2-23.84-2-11-5.37-19-26.32-19.23-27v0l20.25-.43,58.58,8.18,212.91,30.58s37.76,4.31,39.91,6S573.39,735.12,573.39,735.12Z" transform="translate(-32.98 -43.84)" fill="none"/><path d="M573.39,734.26v27.56L268.73,715.3c-14.93-5.16-23.84-2-23.84-2-11-5.37-19-26.32-19.23-27v0l20.25-.43,58.58,8.18,212.91,30.58s37.76,4.31,39.91,6S573.39,734.26,573.39,734.26Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M573.39,735.12v27.56L268.73,716.17c-14.93-5.17-23.84-2-23.84-2-11-5.37-19-26.32-19.23-27v0l20.25-.43,58.58,8.18,212.91,30.58s37.76,4.31,39.91,6S573.39,735.12,573.39,735.12Z" transform="translate(-32.98 -43.84)" fill="#ffffff"/><path d="M573.39,735.12v27.56L268.73,716.17c-14.93-5.17-23.84-2-23.84-2-11-5.37-19-26.32-19.23-27v0l20.25-.43,58.58,8.18,212.91,30.58s37.76,4.31,39.91,6S573.39,735.12,573.39,735.12Z" transform="translate(-32.98 -43.84)" opacity="0.2"/><path d="M984.57,633.75s-101.65,51.69-227,46.52c0,0-28.18,1.39-30.14-1.19s7.27,10.86,7.27,10.86,3.48-3.64,6.93-3.64,19.22,1.17,19.22,1.17,180.2-7.63,226.29-48.55Z" transform="translate(-32.98 -43.84)" fill="none"/><path d="M304.06,695C285.13,634.22,286.14,591.83,290.32,567c4.54-27,13.72-39.73,13.81-39.85l.69.51c-.09.12-9.16,12.76-13.66,39.56C287,592,286,634.17,304.89,694.79Z" transform="translate(-32.98 -43.84)" opacity="0.2"/><path d="M987.44,668.37c.76,2.83,2.53,10.65-.28,12.76-1.07.8-2,2.77-2.72,5.11A79.53,79.53,0,0,0,982,698.36L952.7,731.09l-49.53,19.39-118.45,8.18-71.5-116.29L552.57,547.89l43.86-2.43c43.87-2.44,168.4-30,168.4-30L905.7,546.58a94.4,94.4,0,0,1,56.5,37.21c17.15,24,25,50,25,50,2.12,2.54,2.94,6.7,3.06,11.26.16,7.43-1.54,15.89-2.47,19.93-.35,1.51-.59,2.41-.59,2.41S987.28,667.73,987.44,668.37Z" transform="translate(-32.98 -43.84)" fill="#ffffff"/><path d="M557.3,729.8s-8.61-92.13,56-117.13c0,0,90.88-38.36,144.29,65.88L784.72,738s7.75,14.64,28.86,14.21c0,0,99.49-3,152-36.61l16.37-19s-8.18,26.7-16.37,32.73c0,0-32.3,37.9-149.89,44.8,0,0-48.09,5.16-62.59-40.49,0,0-19.67-103.37-119.6-102.51,0,0-58.71,1.15-60.15,102.22Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M557.3,731.52s-8.61-92.12,56-117.13c0,0,90.88-38.35,144.29,65.88l27.13,59.44s7.75,14.64,28.86,14.21c0,0,99.49-3,152-36.61L982,698.36s-8.18,26.7-16.37,32.73c0,0-32.3,37.91-149.89,44.8,0,0-48.09,5.17-62.59-40.49,0,0-19.67-103.37-119.6-102.51,0,0-58.71,1.16-60.15,102.23Z" transform="translate(-32.98 -43.84)" fill="#ffffff"/><path d="M557.3,731.52s-8.61-92.12,56-117.13c0,0,90.88-38.35,144.29,65.88l27.13,59.44s7.75,14.64,28.86,14.21c0,0,99.49-3,152-36.61L982,698.36s-8.18,26.7-16.37,32.73c0,0-32.3,37.91-149.89,44.8,0,0-48.09,5.17-62.59-40.49,0,0-19.67-103.37-119.6-102.51,0,0-58.71,1.16-60.15,102.23Z" transform="translate(-32.98 -43.84)" opacity="0.2"/><path d="M542.38,728.74l-3.89-128.17a131.89,131.89,0,0,0-1-26c-.12-.54-3.21-13.76-7.34-21.27-2.65-3.87-4.9-5.05-5-5.07l-2.29-.62,2.56-.19c1.77.34,3.45,2.18,5,4.75,2.82,3.87,6.14,10.67,7.89,22.26a131.85,131.85,0,0,1,1,26.09l3.89,128.14Z" transform="translate(-32.98 -43.84)" opacity="0.2"/><path d="M621.47,633.68l-.84.14c0-.1-1.79-10.73-7.69-19.18-12.37-17.71-16.41-29.72-16.87-37.74a20.66,20.66,0,0,1,1-8.22c1.93-5.41,7.1-9.41,14.12-11.39h0l1.5.25c-6.75,1.9-13,6.3-14.85,11.43a20.18,20.18,0,0,0-1,8.11c.5,7.85,4.55,19.63,16.72,37.08C619.66,622.76,621.46,633.57,621.47,633.68Z" transform="translate(-32.98 -43.84)" opacity="0.2"/><path d="M897.35,591.91c-54.88-32.75-171.06-63.21-172.23-63.51l.22-.84c1.17.31,117.47,30.8,172.45,63.61Z" transform="translate(-32.98 -43.84)" opacity="0.2"/><path d="M977.14,637.3c-20.72-36.45-76.51-66.5-119.67-85.3a776,776,0,0,0-89.66-32.4l.23-.83a776,776,0,0,1,89.77,32.44c43.28,18.85,99.24,49,120.08,85.66Z" transform="translate(-32.98 -43.84)" opacity="0.2"/><ellipse cx="953.08" cy="593.16" rx="9.92" ry="42.14" transform="translate(-198.03 649.25) rotate(-37)" opacity="0.1"/><ellipse cx="953.08" cy="591.44" rx="9.92" ry="42.14" transform="translate(-196.99 648.9) rotate(-37)" fill="#dce0ed"/><ellipse cx="954.23" cy="591.53" rx="6.44" ry="34.8" transform="translate(-196.82 649.61) rotate(-37)" opacity="0.1"/><ellipse cx="954.23" cy="590.67" rx="6.44" ry="34.8" transform="translate(-196.3 649.44) rotate(-37)" fill="#f0f0f4"/><path d="M849.54,657.66s2.8-21.11,19.39-25.85c0,0,56.42-16.32,68.7-16.56,0,0,12.7-3.89,21.1,5.58l8.61,11.63s6,9.48-7.32,11.2c0,0-68.19,25-97.76,27.6a41.69,41.69,0,0,0-5,.76C852.94,672.92,843.87,673.18,849.54,657.66Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M850.41,656.8s2.8-21.11,19.38-25.85c0,0,56.42-16.32,68.7-16.56,0,0,12.7-3.9,21.1,5.58l8.62,11.63s6,9.47-7.33,11.2c0,0-68.18,25-97.75,27.6a41.54,41.54,0,0,0-5,.76C853.8,672.06,844.73,672.32,850.41,656.8Z" transform="translate(-32.98 -43.84)" fill="#f0f0f4"/><path d="M856.35,655s2.61-18.05,18-22.1c0,0,52.46-14,63.87-14.17,0,0,11.81-3.33,19.62,4.77l8,9.95s5.6,8.11-6.81,9.58c0,0-63.39,21.4-90.88,23.61a42.25,42.25,0,0,0-4.61.65C859.51,668,851.08,668.26,856.35,655Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M857.22,654.12s2.6-18,18-22.1c0,0,52.46-14,63.87-14.17,0,0,11.81-3.34,19.62,4.77l8,10s5.6,8.1-6.81,9.58c0,0-63.4,21.4-90.89,23.61a41.89,41.89,0,0,0-4.59.65C860.37,667.18,851.94,667.4,857.22,654.12Z" transform="translate(-32.98 -43.84)" fill="#636780"/><path d="M861.65,643l-.11-.86c.77-.09,77.39-9.61,93.88-22.34l.53.68C939.27,633.33,864.81,642.59,861.65,643Z" transform="translate(-32.98 -43.84)" fill="#f0f0f4"/><path d="M857.62,652.92l-.15-.85c.84-.15,85.13-15.76,103.31-27l.46.73C942.92,637.13,858.47,652.76,857.62,652.92Z" transform="translate(-32.98 -43.84)" fill="#f0f0f4"/><path d="M855.63,661.09l-.16-.84c1-.19,98-18.5,110-29.23l.57.64C953.91,642.55,859.63,660.34,855.63,661.09Z" transform="translate(-32.98 -43.84)" fill="#f0f0f4"/><path d="M956.58,661.53s-36.56,15.25-75,22.09q-5.1.92-10.09,2.28c-3.9,1.06-9.44,2.26-12.45,1.48-4.95-1.3-7.69,4.73-2.34,9.47l.34.3a19.13,19.13,0,0,0,14.23,4.7l8.23-.69s66.77-14.64,85.39-26.06c0,0,8.5-5.83,9.15-12.39s1.42-11.73-5.32-7.85S956.58,661.53,956.58,661.53Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M957.4,660.69c-1.36.56-37.25,15.36-75,22.07q-5.1.91-10.09,2.28c-3.89,1.06-9.44,2.26-12.45,1.48-5-1.3-7.69,4.73-2.34,9.47l.16.14A19.66,19.66,0,0,0,872.35,701l7.92-.66.13,0c2.29-.5,67-14.81,85.3-26l.07,0c.57-.41,8.49-6.05,9.11-12.37.65-6.56,1.43-11.73-5.32-7.85-6.41,3.68-11.6,6.4-12.08,6.65Z" transform="translate(-32.98 -43.84)" fill="#f0f0f4"/><path d="M952.52,665.51s-30,12.48-62.21,19.57c-3.2.7-6.37,1.52-9.52,2.43s-7.65,2-10.15,1.68c-4.28-.57-6.32,3.7-1.52,6.57l.15.09a18.53,18.53,0,0,0,12.09,2.44l7.42-1s56.19-14.14,71.49-23.06c0,0,7-4.49,7.18-9s.62-8-4.93-5S952.52,665.51,952.52,665.51Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M953.37,664.65c-.64.27-30.34,12.55-62.19,19.57-3.2.7-6.38,1.52-9.53,2.43s-7.64,2-10.15,1.68c-4.28-.57-6.32,3.69-1.51,6.57h0a19,19,0,0,0,12.4,2.51l7.22-1h0c1.16-.29,56.3-14.22,71.46-23h0c.24-.16,7-4.57,7.17-9s.62-8.05-4.93-5-9.75,5.16-10,5.28Z" transform="translate(-32.98 -43.84)" fill="#636780"/><ellipse cx="821.52" cy="701.98" rx="11.31" ry="8.37" transform="matrix(0.05, -1, 1, 0.05, 46.64, 1443.79)" opacity="0.1"/><ellipse cx="822.39" cy="701.12" rx="11.31" ry="8.37" transform="translate(48.32 1443.83) rotate(-87.15)" fill="#f0f0f4"/><path d="M871.86,709.77s-43.85,6.68-55.48,7.33S803,724.2,803,724.2s-2.8,16.37,13.35,11.63l57.28-6.46s7.76.22,7.76-10.34v-2.37a23.83,23.83,0,0,1,.4-3.95C882.1,711.06,881.25,708.38,871.86,709.77Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M872.72,708.91s-43.85,6.68-55.48,7.32-13.35,7.11-13.35,7.11-2.8,16.37,13.35,11.63l57.29-6.46s7.75.22,7.75-10.34V715.8a23.83,23.83,0,0,1,.4-3.95C883,710.2,882.11,707.52,872.72,708.91Z" transform="translate(-32.98 -43.84)" fill="#f0f0f4"/><path d="M987.16,681.13c-1.07.8-2,2.77-2.72,5.11h0l-14.2,10.06a1.16,1.16,0,0,1-1.83-.94V684.8a8.77,8.77,0,0,1,4.25-7.52l14.78-8.91C988.2,671.2,990,679,987.16,681.13Z" transform="translate(-32.98 -43.84)" fill="#f0f0f4"/><path d="M886.66,710.32,886,721a7.13,7.13,0,0,0,8.1,7.62A196.2,196.2,0,0,0,962.64,704l1.87-21.82a3.07,3.07,0,0,0-4.27-3.13c-12,5.35-44.17,19.06-64.59,21.68A10.37,10.37,0,0,0,886.66,710.32Z" transform="translate(-32.98 -43.84)" fill="#636780"/><path d="M893.26,704.82v17.36s53.41-12.62,65.25-21.13V684.58A268.29,268.29,0,0,1,893.26,704.82Z" transform="translate(-32.98 -43.84)" fill="#ffffff"/><path d="M986.89,665.81c-2.71-.19-4.88-4.84-4.88-10.53s2.26-10.54,5-10.54a3.18,3.18,0,0,1,2.29,1.13C989.52,653.3,987.82,661.76,986.89,665.81Z" transform="translate(-32.98 -43.84)" fill="#ffffff"/><path d="M987.75,664.94c-2.71-.18-4.87-4.83-4.87-10.52s2.25-10.55,5-10.55a3.23,3.23,0,0,1,2.3,1.14C990.38,652.44,988.68,660.9,987.75,664.94Z" transform="translate(-32.98 -43.84)" fill="#f0f0f4"/><path d="M742.08,738.52c0,94.65-40,96.7-92.17,96.7-41.68,0-58.74-43.29-58.74-96.7s13.39-96.58,55.06-96.58S742.08,685.12,742.08,738.52Z" transform="translate(-32.98 -43.84)" fill="#636780"/><path d="M742.08,738.52c0,94.65-40,96.7-92.17,96.7-41.68,0-58.74-43.29-58.74-96.7s13.39-96.58,55.06-96.58S742.08,685.12,742.08,738.52Z" transform="translate(-32.98 -43.84)" opacity="0.2"/><ellipse cx="610.77" cy="694.68" rx="52.58" ry="96.7" fill="#636780"/><path d="M193.21,681.13c0,29-8.4,52.26-25.85,52.26s-38.19-23.53-38.19-52.55,7.25-54.55,24.7-54.55S193.21,652.11,193.21,681.13Z" transform="translate(-32.98 -43.84)" fill="#f0f0f4"/><path d="M193.2,680q0,3.3-.18,6.48A82,82,0,0,1,190.58,703c-2.83,10.68-8,18.1-15.54,19.51a14.71,14.71,0,0,1-2.69.24,21.13,21.13,0,0,1-11.16-3.62C154,714.55,147.37,706,144,695.31a50.64,50.64,0,0,1-2.31-12.11c-.08-1.12-.12-2.26-.12-3.4a106.62,106.62,0,0,1,2.35-23.51A43.28,43.28,0,0,1,149,642.93c3.08-4.85,7.17-7.74,12.41-7.74a20.54,20.54,0,0,1,10.93,3.69,42.59,42.59,0,0,1,12,12.41A53.11,53.11,0,0,1,193.2,680Z" transform="translate(-32.98 -43.84)" fill="#636780"/><path d="M193,686.52A82,82,0,0,1,190.58,703c-.36-.41-10.24-11.83-17.66-4.5-5.45,5.37-.86,17.6,2.12,24a14.71,14.71,0,0,1-2.69.24,21.13,21.13,0,0,1-11.16-3.62v-.82s4.39-13.68-7.32-22.11c0,0-5.69-2.26-9.92-.9a50.64,50.64,0,0,1-2.31-12.11c1-.79,7.85-6.66,5.05-17.72a80.55,80.55,0,0,0-2.82-9.19A43.28,43.28,0,0,1,149,642.93s2.25,12.21,10.86,12.94,12.37-16.52,12.48-17a42.59,42.59,0,0,1,12,12.41s-13.75,5.72-9.74,20.94C177.54,683,187.5,685.81,193,686.52Z" transform="translate(-32.98 -43.84)" fill="#f0f0f4"/><ellipse cx="160.9" cy="678.83" rx="6.46" ry="11.2" transform="matrix(0.99, -0.14, 0.14, 0.99, -123.53, -15.76)" fill="#636780"/><path d="M652.92,742.56c0,34.77-7.41,62.62-22.8,62.62s-33.69-28.19-33.69-63,6.4-65.36,21.79-65.36S652.92,707.79,652.92,742.56Z" transform="translate(-32.98 -43.84)" fill="#f0f0f4"/><path d="M652.92,741.25q0,4-.16,7.77a131.84,131.84,0,0,1-2.16,19.76c-2.49,12.8-7,21.68-13.71,23.38a10.25,10.25,0,0,1-2.37.28c-3.22,0-6.6-1.54-9.84-4.34-6.38-5.49-12.2-15.79-15.21-28.55a81.05,81.05,0,0,1-2-14.51c-.07-1.34-.11-2.7-.11-4.08a171.12,171.12,0,0,1,2.08-28.16,63.51,63.51,0,0,1,4.56-16c2.72-5.81,6.33-9.27,10.95-9.27,3.11,0,6.42,1.59,9.64,4.42,3.85,3.39,7.56,8.54,10.62,14.87A80.61,80.61,0,0,1,652.92,741.25Z" transform="translate(-32.98 -43.84)" fill="#636780"/><path d="M652.76,749a131.84,131.84,0,0,1-2.16,19.76c-.31-.5-9-14.18-15.58-5.4-4.8,6.44-.76,21.09,1.87,28.78a10.25,10.25,0,0,1-2.37.28c-3.22,0-6.6-1.54-9.84-4.34v-1s3.87-16.39-6.46-26.49c0,0-5-2.71-8.75-1.08a81.05,81.05,0,0,1-2-14.51c.88-.95,6.92-8,4.45-21.23-.94-5-1.78-8.57-2.48-11a63.51,63.51,0,0,1,4.56-16s2,14.64,9.58,15.5,10.91-19.78,11-20.35c3.85,3.39,7.56,8.54,10.62,14.87,0,0-12.13,6.86-8.59,25.09C639.1,744.85,647.89,748.17,652.76,749Z" transform="translate(-32.98 -43.84)" fill="#f0f0f4"/><ellipse cx="624.42" cy="739.81" rx="5.72" ry="13.37" transform="translate(-91.27 9.58) rotate(-4.68)" fill="#636780"/><path d="M552.57,547.89" transform="translate(-32.98 -43.84)"/><path d="M769.63,591.15l-.35.79c-.34-.16-30.12-13-140.55-31.74q-7.74-1.31-16-2.67c-.51-.07-1-.16-1.53-.24-17.67-2.88-37.18-5.87-58.7-9l.12-.86c29.15,4.2,54.6,8.2,76.8,12C739.57,578.15,769.28,591,769.63,591.15Z" transform="translate(-32.98 -43.84)" opacity="0.2"/><path d="M209.86,427.51s10-17,44.22-18.51c0,0,250.1-32.67,408,1.28,0,0,13.48,6-1.15,9.52S310.07,435.49,209.86,427.51Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M209.86,425.79s10-17,44.22-18.52c0,0,250.1-32.66,408,1.29,0,0,13.48,6-1.15,9.52S310.07,433.77,209.86,425.79Z" transform="translate(-32.98 -43.84)" fill="#fff"/><path d="M186.45,497.2c15.53-36.56,34.17-53.85,40.07-58.68a6.68,6.68,0,0,1,4.1-1.5l81.82-1.52a6.63,6.63,0,0,1,5.63,2.9,6.69,6.69,0,0,0-6.49-4.62l-81.82,1.52a6.6,6.6,0,0,0-4.1,1.5c-5.9,4.82-24.54,22.11-40.07,58.67a8.81,8.81,0,0,0,.71,8.28A8.8,8.8,0,0,1,186.45,497.2Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M333.73,501.28l11.15-50.67c2-9.17,9.58-15.67,18.32-15.75l105.38-1a17,17,0,0,1,11,3.94,17.19,17.19,0,0,0-12.68-5.55l-105.38,1c-8.75.09-16.31,6.59-18.32,15.76L332,499.67a23,23,0,0,0,7.42,22.6A23.17,23.17,0,0,1,333.73,501.28Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M561.58,522.62l-37.3-77.32a7.26,7.26,0,0,1,6.4-10.41c28.41-.52,103.08-2.65,141.56-11.1-2.42-1.89-3.81-2.94-3.81-2.94-38,8.75-114.33,10.93-143.14,11.45a7.26,7.26,0,0,0-6.4,10.41L556.2,520a26.62,26.62,0,0,0,15.26,13.6A26.57,26.57,0,0,1,561.58,522.62Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><rect x="524.33" y="687.68" width="16.08" height="4.95" fill="#ffffff"/><rect x="524.33" y="687.68" width="16.08" height="4.95" opacity="0.2"/><path d="M245.16,682.53l-19.77,3.41a10.25,10.25,0,0,0,.57,2c.39,1,22-.77,22-.77l-2.08-.43Z" transform="translate(-32.98 -43.84)" fill="#ffffff"/><path d="M245.16,682.53l-19.77,3.41a10.25,10.25,0,0,0,.57,2c.39,1,22-.77,22-.77l-2.08-.43Z" transform="translate(-32.98 -43.84)" opacity="0.2"/><path d="M170.57,731c-17.44,0-38.19-23.53-38.19-52.55,0-19.89,3.41-38.15,11.17-47.66-10,8.07-14.38,28.42-14.38,50.87,0,29,20.75,52.55,38.19,52.55,5.9,0,10.75-2.66,14.61-7.3A17.61,17.61,0,0,1,170.57,731Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M633.54,801.32c-15.62,0-34.2-28.25-34.2-63.1,0-23.89,3-45.81,10-57.23-9,9.69-12.87,34.13-12.87,61.09,0,34.85,18.58,63.1,34.2,63.1,5.28,0,9.63-3.2,13.08-8.76C640.85,799.58,637.45,801.32,633.54,801.32Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><ellipse cx="783.75" cy="630.41" rx="25.74" ry="50.25" transform="translate(-249.19 695) rotate(-45)" opacity="0.1"/><ellipse cx="784.61" cy="629.55" rx="25.74" ry="50.25" transform="translate(-248.33 695.36) rotate(-45)" fill="#dce0ed"/><ellipse cx="787.08" cy="628.8" rx="18.87" ry="42.64" transform="translate(-247.08 696.89) rotate(-45)" opacity="0.1"/><ellipse cx="787.08" cy="627.94" rx="18.87" ry="42.64" transform="translate(-246.47 696.63) rotate(-45)" fill="#f0f0f4"/><path d="M1085.47,795.13s-42.28-2.55-37.3,27.08c0,0-1,5.23,3.76,7.61,0,0,.07-2.19,4.34-1.45a19.31,19.31,0,0,0,4.59.22,9.5,9.5,0,0,0,5.61-2.32h0s11.89-4.91,16.51-24.33c0,0,3.42-4.24,3.28-5.33l-7.13,3s2.44,5.15.52,9.43c0,0-.23-9.24-1.6-9-.28,0-3.71,1.78-3.71,1.78s4.2,9,1,15.48c0,0,1.2-11-2.34-14.83l-5,2.93s4.9,9.26,1.58,16.82c0,0,.85-11.59-2.64-16.11l-4.55,3.55s4.61,9.13,1.8,15.4c0,0-.37-13.49-2.79-14.51,0,0-4,3.51-4.58,4.95,0,0,3.15,6.62,1.19,10.12,0,0-1.2-9-2.18-9,0,0-4,6-4.38,10,0,0,.17-6.07,3.42-10.61a11.91,11.91,0,0,0-6.07,3.15s.61-4.21,7-4.58c0,0,3.28-4.52,4.15-4.79,0,0-6.4-.54-10.28,1.18,0,0,3.42-4,11.46-2.17l4.49-3.66s-8.43-1.16-12,.12c0,0,4.11-3.52,13.21-1l4.89-2.92s-7.18-1.55-11.46-1c0,0,4.51-2.44,12.9.2l3.49-1.57s-5.26-1-6.8-1.19-1.63-.59-1.63-.59a18.26,18.26,0,0,1,9.89,1.1S1085.59,795.6,1085.47,795.13Z" transform="translate(-32.98 -43.84)" fill="#ffffff"/><ellipse cx="1023.37" cy="788.56" rx="29.92" ry="5.06" fill="#ffffff" opacity="0.1"/><ellipse cx="1117.17" cy="694.24" rx="16.87" ry="2.85" fill="#ffffff" opacity="0.1"/><path d="M1025.88,731.56s-28.78-1.73-25.39,18.43a4.93,4.93,0,0,0,2.56,5.19s.05-1.5,3-1a13.14,13.14,0,0,0,3.13.15,6.52,6.52,0,0,0,3.82-1.58h0s8.09-3.34,11.24-16.56c0,0,2.32-2.89,2.23-3.63l-4.85,2.07s1.65,3.51.35,6.42c0,0-.16-6.29-1.09-6.14-.19,0-2.52,1.21-2.52,1.21s2.85,6.11.7,10.54c0,0,.81-7.52-1.6-10.09l-3.41,2s3.33,6.31,1.07,11.45c0,0,.58-7.89-1.79-11l-3.1,2.41s3.13,6.22,1.22,10.48c0,0-.25-9.18-1.89-9.88,0,0-2.71,2.39-3.13,3.38,0,0,2.15,4.51.82,6.89,0,0-.82-6.12-1.49-6.15,0,0-2.7,4-3,6.83a14.77,14.77,0,0,1,2.33-7.22,8.18,8.18,0,0,0-4.14,2.14s.42-2.86,4.8-3.11c0,0,2.24-3.08,2.83-3.27,0,0-4.35-.36-7,.81,0,0,2.33-2.7,7.8-1.47l3.06-2.5s-5.74-.79-8.17.08c0,0,2.8-2.39,9-.65l3.33-2s-4.89-1.05-7.8-.67c0,0,3.07-1.66,8.78.14l2.38-1.07s-3.58-.71-4.63-.82-1.11-.4-1.11-.4a12.43,12.43,0,0,1,6.73.75S1026,731.88,1025.88,731.56Z" transform="translate(-32.98 -43.84)" fill="#ffffff"/><ellipse cx="973.08" cy="713.09" rx="20.37" ry="3.44" fill="#ffffff" opacity="0.1"/><ellipse cx="29.92" cy="744.34" rx="29.92" ry="5.06" fill="#ffffff" opacity="0.1"/><path d="M42.81,764.67s17.06-.52,22.21-4.19,26.25-8,27.53-2.16,25.65,29.22,6.38,29.37-44.77-3-49.91-6.13S42.81,764.67,42.81,764.67Z" transform="translate(-32.98 -43.84)" fill="#a8a8a8"/><path d="M99.27,785.65c-19.27.15-44.77-3-49.9-6.13-3.91-2.38-5.47-10.93-6-14.87l-.57,0s1.08,13.77,6.21,16.89,30.64,6.29,49.91,6.13c5.56,0,7.48-2,7.38-5C105.53,784.51,103.41,785.61,99.27,785.65Z" transform="translate(-32.98 -43.84)" opacity="0.2"/><path d="M688,511.63c2.86-7.68-2.24-15.77-2.24-15.77l-.41-17.58c2.25-4.65-5.5-16.17-5.5-16.17s-1.84-8.7-3.47-9.5-3.46-4.45-3.46-4.45a2.69,2.69,0,0,0-1.56-2.38,115.58,115.58,0,0,1-7.44-16.34c-1.14-3.12-2.15-6.45-1.5-9.71a17.26,17.26,0,0,1,.73-2.42c.07-.17.13-.33.19-.5s0-.14.08-.2l.07-.18a12.54,12.54,0,0,0,1.2-5.19c-.23-3.75-3.68-6.49-7.11-8.08s-7.28-2.62-10-5.27c-3.38-3.31-4.16-8.34-5-13s-2-9.69-5.82-12.49c-3.38-2.48-8-2.53-12.13-1.83a40.41,40.41,0,0,0-15.64,6.23c-4.55,3.06-8.61,7.11-13.87,8.7-1.93.58-4,.81-5.88,1.44a14.51,14.51,0,0,0-8.75,8.76h0c-.07.19-.12.38-.19.57s-.16.47-.23.71-.1.41-.14.61-.12.47-.16.71-.07.41-.09.61-.07.49-.09.73,0,.4,0,.6,0,.51,0,.76a32.05,32.05,0,0,0-5.6,7c-6.72,10.66-15.09,26.07-18.81,33l-.18.34,0-.21s-16.41,16.47-6.83,14.25a19.57,19.57,0,0,1,2-.36L550,456.9l0,.05c-1.53,1.92-8.16,8.56,4.17,13.48,10.23,4.08,31.14,5.12,38,5.36l-.6,2.89c-10.6,8.69-6.52,18.6-6.72,25.07s-1.23,14.15-1.23,14.15-4.49,7.28-3.87,11.12-3.26,10.11-3.26,10.11-5.71,6.26-5.1,10.31-1,9.29-1,9.29-3.87,7.08-2.24,11.12.82,6.27.82,6.27-8.36,1.21-9,5.66-8.15,6.06-8.15,6.06-13.45,4.85-16.72,7.08-20.58,18.39-20.58,18.39S497.13,631.2,496.21,633s-11.16,9.55-6.42,16.83c.24.36.48.73.73,1.09a61.93,61.93,0,0,0,18.81,17.83c3.28,2,6.55,4.28,7.52,5.79,2.14,3.34,37.92,26.23,37.92,26.23s15.72,13.82,25.84,23.45l.77,4.63c-.13.2-.26.41-.39.65a2.81,2.81,0,0,0,1,2.74l.14.82s4.08,34.37,7.75,50.44c2.43,10.63.7,18.65-.74,22.86-3.8-4.21-4.25-5.73-4.25-5.73a43.27,43.27,0,0,0-2.6,8.47c-.06.43-.1.83-.12,1.21a.31.31,0,0,0-.27.12l-1.43,2c-1.56,2.15-2.93,4.44-4.32,6.7-3.21,5.21-13.28,7.64-13.28,7.64a9.89,9.89,0,0,1-2.7,1,31,31,0,0,1-8.56.26,14,14,0,0,0-2.53.62,9.79,9.79,0,0,0-1.92.88v0c-4.39,2.84-2.79,8.08-2.79,8.08l0,0,0,0,.11.07.11.07.18.11.27.17.23.13.24.15.25.14.31.17.26.15.66.35.31.17.43.22.35.17.47.23.46.21c.26.13.53.25.81.37l.47.21.54.22.52.21.54.21,1,.37.5.17.71.24.54.17.82.24.45.12c.41.12.83.22,1.26.32l.42.09c.33.08.66.15,1,.21l.25.06.21,0c.36.07.72.12,1.09.18l.32,0,1.44.17.33,0c.38,0,.76.06,1.15.08l.48,0,1.1,0h.44q.75,0,1.5-.06l.31,0,1.23-.12.54-.08,1.08-.18.51-.1c.52-.11,1-.23,1.57-.37a97.58,97.58,0,0,1,35-3c9,.76,11.26-2.32,11.26-2.32a5.35,5.35,0,0,0,.45-.77,2.88,2.88,0,0,0,.13-.31,5.37,5.37,0,0,0,.21-.56c0-.13.08-.26.11-.39s.09-.39.13-.59,0-.28.07-.42,0-.16,0-.24a5.63,5.63,0,0,0,.05-.59,22.24,22.24,0,0,0-.36-5.18,59.47,59.47,0,0,0-3.28-11l-.64.44q-.11-.49-.21-1c-2.2-11.85-3-40.28-3-43.29h0a5.39,5.39,0,0,0,3.42-1.18c.17-.14.26-.23.26-.23,7.64-6.21,3.89-34.57,1.37-38.51s-3-24.18-3.9-30.62c-.43-3.06-2-3.95-4.13-4a8.88,8.88,0,0,0-.89,0c-.3-6,.58-20.11,1.26-29.74v0c0-.62.09-1.23.13-1.81l1.93.1,2.85-17S616,644.44,626,626.65s11-37.19,11-37.19,3.06-5.86,2.24-8.49c-.21-.68-.54-2.6-.93-5.09A66.61,66.61,0,0,1,649,570.66c10.69-4.32,18.71-12.41,22.43-16.42l.59-.64a45,45,0,0,1,2.52,4.33s8.77-6.07,13.25-11.33a6.94,6.94,0,0,0,1.13-2c2.7-6.72-.06-21.09-.06-21.09C692.37,517.3,688,511.63,688,511.63Z" transform="translate(-32.98 -43.84)" fill="url(#6c7d37f1-6da5-4539-a77a-d6e4cb7903d9)"/><g opacity="0.1"><path d="M643.87,552.53c-.41.75-3.35,2.51-6.93,4.45-.33-2.61-.57-4.58-.62-5.19-.21-2.23,4.55-12.22,4.55-12.22s9.11-12.22,8.9-14.06,3.52-7.12,3.52-7.12L661.55,505a6,6,0,0,0,.85,6.27c2.49,3.26.41,9.78.41,9.78l.51,8.22,0,.82c-.29.29-1.62,1.56-4.56,4.21-2.71,2.44-2.23,3.19-1.92,3.39-.62,1.1.14,1.29.14,1.29q.36,0,.72-.06l-.66.61C652,544.25,644.61,551.2,643.87,552.53Z" transform="translate(-32.98 -43.84)" fill="url(#10b82cfb-559e-4a80-a810-4173bf9c8c28)"/></g><path d="M589.27,401c-2.47,2.58.34,6.2-1.58,9-1.09,1.57-3.49,2.56-4.85,4-2.65,2.88-.65,6.56.63,9.84,4.68,11.94-2.34,25.55-17,33a30.71,30.71,0,0,0,20.15,1.65c6.56-1.75,11.61-5.84,12.93-10.48,1-3.29.14-6.79,1.83-9.94,2.63-4.91,10.68-7.86,13.06-12.82,1.86-3.89-.17-8.09-2.54-11.85a94.06,94.06,0,0,0-10.13-13.22c-2.3-2.51-2.3-3.5-6-2.83A17.71,17.71,0,0,0,589.27,401Z" transform="translate(-32.98 -43.84)" fill="#985c7e"/><path d="M611.16,436a38.43,38.43,0,0,1-2.35,10.36c-1.4,4.24-2.84,8.53-5.25,12.3s-5.95,7-10.27,8.15a12.86,12.86,0,0,0,10.7,3.09c2.75-.49,5.53-1.88,8.19-1a26.07,26.07,0,0,1,3.53,1.89c3.92,2,9,.52,11.84-2.85a13.45,13.45,0,0,0,2.07-12.44c-.8-2.53-2.23-4.84-3-7.4-1.09-3.78-.66-8-2.49-11.48-2.66-5-10-8-15.06-10C608.82,429.34,611.28,432.8,611.16,436Z" transform="translate(-32.98 -43.84)" fill="#985c7e"/><path d="M604.23,426.67A38.45,38.45,0,0,1,601.88,437c-1.39,4.25-2.83,8.54-5.25,12.3s-5.94,7-10.26,8.15a12.8,12.8,0,0,0,10.69,3.09c2.75-.48,5.53-1.88,8.19-1a24.94,24.94,0,0,1,3.53,1.88c3.92,2,9,.52,11.84-2.85a13.42,13.42,0,0,0,2.07-12.44c-.8-2.53-2.23-4.84-3-7.4-1.09-3.78-.66-8-2.49-11.48-2.66-5-10.05-8-15.06-10C601.89,420,604.35,423.42,604.23,426.67Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M609.19,659.92s-3,36.68-1.71,41.59S611,772.77,611,772.77s.9,38.68,3.91,46.8-20.35,5.81-21.15,5.71-6.61-16.54-6.61-16.54,5.71-10,2.1-26-7.61-50-7.61-50L575,692.69s.9-9.42-2.6-14.73-8-40.08-7-43.09,24.82-9.62,24.82-9.62l10.26,13.43Z" transform="translate(-32.98 -43.84)" fill="#ecb4b6"/><path d="M565.73,642.54s0,.06,0,.09c0,.2,0,.41,0,.62.07.66.14,1.36.22,2.08,1.25,11.61,4.12,29,6.51,32.63s2.73,9.19,2.7,12.33c0,.36,0,.69,0,1,0,.89-.08,1.42-.08,1.42l5.09,30.83.22,1.31,1.31,7.95s4,34.08,7.62,50a42.21,42.21,0,0,1-.46,21.82c-.1.33-.2.65-.3.94a20.36,20.36,0,0,1-1.35,3.19s.82,2.32,1.89,5.23l.74,2c.14.36.27.71.4,1.07,1.55,4.09,3.19,8.18,3.59,8.23.79.1,24.15,2.4,21.14-5.71a24,24,0,0,1-.9-3.62c-2.29-12.41-3-43.18-3-43.18s-2.2-66.34-3.51-71.26c-.86-3.27.18-20.61,1-31.84v0c.39-5.63.73-9.72.73-9.72l-8.72-21.24-10.26-13.43s-17.1,4.75-22.93,8l-.17.09a3.94,3.94,0,0,0-1.72,1.5C565.24,635.65,565.36,638.56,565.73,642.54Z" transform="translate(-32.98 -43.84)" opacity="0.07"/><path d="M581.23,688.89s11.32,3,10.32,6.31Z" transform="translate(-32.98 -43.84)" opacity="0.05"/><path d="M587.25,808.74s1.23,3.47,2.63,7.24c1.6.76,2.82,1.23,2.82,1.23s4.36-4.05-1.4-10c-.93-1-1.72-1.81-2.4-2.58A22.11,22.11,0,0,1,587.25,808.74Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M581.72,810.7c.44,2.4,5.71,5.06,8.56,6.35,1.08.48,1.82.77,1.82.77a5.51,5.51,0,0,0,1.21-1.92c.66-1.75.78-4.6-2.61-8.11-.8-.82-1.49-1.56-2.1-2.24-3.82-4.25-4.27-5.77-4.27-5.77a43.58,43.58,0,0,0-2.54,8.4A8.06,8.06,0,0,0,581.72,810.7Z" transform="translate(-32.98 -43.84)" fill="#cc8294"/><path d="M581.72,810.7c.44,2.4,5.71,5.06,8.56,6.35,1.55,4.09,3.19,8.18,3.59,8.23.79.1,24.15,2.4,21.14-5.71a24,24,0,0,1-.9-3.62l-6.48,4.57c-3.3,2.35-8.26.6-8.26.6l-6.06-5.22-1.51-1.29a9,9,0,0,1-2.66-.64,12.86,12.86,0,0,1-5.21-4.18c-1.15-1.22-1.8-1.56-2.14-1.61A8.06,8.06,0,0,0,581.72,810.7Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M544.5,836.4a41.38,41.38,0,0,0,14.33,5.74,29,29,0,0,0,13.08-.37,95.2,95.2,0,0,1,34.37-3c8.82.75,11.07-2.3,11.07-2.3,1.47-2,1.42-5.48.83-9A59.62,59.62,0,0,0,615,816.56s-4,2.81-7.32,5.16-8.26.61-8.26.61l-7.57-6.52c-4.81-.35-7.87-4.81-7.87-4.81-2.11-2.26-2.54-1.51-2.54-1.51L580,811.43c-1.54,2.14-2.89,4.4-4.26,6.65-3.15,5.16-13,7.58-13,7.58a10.5,10.5,0,0,1-2.65.94,30.26,30.26,0,0,1-8.43.25,11.19,11.19,0,0,0-4.22,1.44C542.88,831.08,544.5,836.4,544.5,836.4Z" transform="translate(-32.98 -43.84)" fill="#cc8294"/><circle cx="557.23" cy="776.23" r="0.78" fill="#4b4b5b"/><circle cx="547.63" cy="780.32" r="0.78" fill="#4b4b5b"/><circle cx="551.42" cy="786.14" r="0.78" fill="#4b4b5b"/><circle cx="538.21" cy="784.17" r="0.78" fill="#4b4b5b"/><circle cx="552.98" cy="778.76" r="0.78" fill="#4b4b5b"/><circle cx="556.73" cy="785.73" r="0.78" fill="#4b4b5b"/><circle cx="542.98" cy="782.6" r="0.78" fill="#4b4b5b"/><circle cx="533.05" cy="785.36" r="0.78" fill="#4b4b5b"/><path d="M544.5,836.4s13.43,9.23,27.41,5.37a95.2,95.2,0,0,1,34.37-3c8.82.75,11.07-2.3,11.07-2.3a6.81,6.81,0,0,0,1.13-3.25c0-.23,0-.46.06-.69a23.37,23.37,0,0,0-.36-5c-1.84,1.37-5.64,3-13.35,3.29-13.33.42-30.92,3.83-30.92,3.83l-17-.7s-9.52-2.06-9.48-5.61C542.88,831.08,544.5,836.4,544.5,836.4Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M568.34,839.7a4,4,0,0,0,.85.07c3,0,10.24-1.58,14.56-2.59a20.34,20.34,0,0,1,3.72-.53c4-.21,13.79-.68,19.31-.64h.13a29.15,29.15,0,0,0,11.57-2.8c0-.23,0-.46.06-.69a28.65,28.65,0,0,1-11.76,2.88c-5.52,0-15.36.44-19.34.65a21.67,21.67,0,0,0-3.83.54c-3.83.9-13,2.95-15.16,2.52Z" transform="translate(-32.98 -43.84)" fill="#cc8294"/><path d="M575.2,691.27c0,.89-.08,1.42-.08,1.42l5.09,30.83c.91.87,1.79,1.7,2.62,2.51a67,67,0,0,1,7.11,7.5c3,4.66,13.63,2.26,13.43,1.81s-4.56-22.4-4.56-22.4l-3.45-8.87s-3.6,2.25-7.14-1.5c-2.23-2.37-7.22-7-10.61-10.1l-2.39-2.18C575.22,690.65,575.21,691,575.2,691.27Z" transform="translate(-32.98 -43.84)" opacity="0.03"/><path d="M565.74,642.63c0,.2,0,.41,0,.62.07.66.14,1.36.22,2.08.74-.27,1.47-.56,2.19-.88l1-.46a52.65,52.65,0,0,0,9.31-5.76l-8.72-3.75-2.58-1.11a3.94,3.94,0,0,0-1.72,1.5C565.24,635.65,565.36,638.61,565.74,642.63Z" transform="translate(-32.98 -43.84)" opacity="0.05"/><path d="M490.88,650.25c.24.36.47.72.72,1.08A61.16,61.16,0,0,0,510.09,669c3.23,2,6.44,4.25,7.4,5.75,2.1,3.3,37.28,26,37.28,26s16.37,14.5,26.26,24.07l1.26,1.22.61.6c.73.71,1.39,1.38,2,2,.88.89,1.61,1.67,2.17,2.32.21.24.4.46.56.66a7.7,7.7,0,0,1,.52.7c3,4.66,13.63,2.25,13.43,1.8S597,711.74,597,711.74l-3.46-8.87a5.39,5.39,0,0,1-4.54.3,7,7,0,0,1-2.59-1.81c-2.23-2.36-7.23-7-10.62-10.09-2-1.84-3.44-3.14-3.44-3.14l-11.28-12.77s-14.43-18.79-25.25-23.45c0,0,12.19-5,20.89-6.32a38,38,0,0,0,9.67-2.34l1-.47a53.11,53.11,0,0,0,9.31-5.76L568,633.28l-45.84-19.71c-.28,0-2.94.18-4.89.31l-2.07.14s-17.09,17.74-18,19.55S486.22,643,490.88,650.25Z" transform="translate(-32.98 -43.84)" fill="#ecb4b6"/><path d="M541.39,642s-19.69,2.41-23.6,6.47c0,0,17.29,1.2,18,3.46,0,0-9.88-6.69-12.63-5Z" transform="translate(-32.98 -43.84)" opacity="0.03"/><path d="M582.29,726.05l.61.6c.73.71,1.39,1.38,2,2,.88.89,1.61,1.67,2.17,2.32l2.55-3.3a10.54,10.54,0,0,0-2.9-1.76,5,5,0,0,0-4.41.14Z" transform="translate(-32.98 -43.84)" opacity="0.05"/><path d="M583.54,733.42a13.83,13.83,0,0,0,2.06.85l2-2.64,2.59-3.36a10.38,10.38,0,0,0-2.9-1.75,5,5,0,0,0-4.41.13,6.41,6.41,0,0,0-2.35,2.59S579.77,731.49,583.54,733.42Z" transform="translate(-32.98 -43.84)" fill="#cc8294"/><path d="M583.13,733l.41.41a13.83,13.83,0,0,0,2.06.85l2-2.64a7.7,7.7,0,0,1,.52.7c3,4.66,13.63,2.25,13.43,1.8S597,711.74,597,711.74l-3.46-8.87a5.39,5.39,0,0,1-4.54.3c-.8.82-.94,1.85,0,3.15a21.16,21.16,0,0,1,3.41,10c1.35,3.72-2.75,8.28-5.11,10.2a7.36,7.36,0,0,1-1.27.85,2.94,2.94,0,0,0-1.15,1.28A24.21,24.21,0,0,0,583.13,733Z" transform="translate(-32.98 -43.84)" opacity="0.05"/><path d="M584.33,733l4.56,4.58a34.11,34.11,0,0,1,13.8,17.22,36.84,36.84,0,0,0,1.63,4,17.9,17.9,0,0,1,1.19,5.62c.11,1.17.16,2.32.2,3.32a5.4,5.4,0,0,0,1.36,3.47l.06.06a5.39,5.39,0,0,0,7.37.63c.16-.13.25-.22.25-.22,7.51-6.16,3.83-34.28,1.35-38.19s-2.93-24-3.84-30.36c-.42-3-2-3.92-4.06-4s-4.77.81-7.12,1.07l-.38,0c-4.67.37-13.62,1.75-10.49,6.08a21,21,0,0,1,3.41,10c1.66,4.58-5,10.45-6.38,11S584.33,733,584.33,733Z" transform="translate(-32.98 -43.84)" fill="#cc8294"/><circle cx="557.94" cy="686.33" r="1.33" fill="#4b4b5b"/><circle cx="559.97" cy="691.31" r="1.33" fill="#4b4b5b"/><circle cx="566.21" cy="699.33" r="1.33" fill="#4b4b5b"/><circle cx="563.12" cy="695.21" r="1.33" fill="#4b4b5b"/><circle cx="568.8" cy="704.08" r="1.33" fill="#4b4b5b"/><path d="M607.08,752s1.11,13.05,0,19.15a5.41,5.41,0,0,0,7.43.69c.16-.13.25-.22.25-.22,7.51-6.16,3.83-34.28,1.35-38.19s-2.93-24-3.84-30.36c-.42-3-2-3.92-4.06-4s-4.77.81-7.12,1.07c0,6.37.36,21,2,25.86C605.28,732.28,607.08,752,607.08,752Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M610.39,725.45c1.4,4.93,3.5,18.45,3.31,25.67-.15,5.3.46,15.63.8,20.74.16-.13.25-.22.25-.22,7.51-6.16,3.83-34.28,1.35-38.19s-2.93-24-3.84-30.36c-.42-3-2-3.92-4.06-4C608.48,705.59,609.28,721.55,610.39,725.45Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M605.27,699.44c.28,5.13,1.12,18.81,2.5,22.72,1.72,4.9,3.54,28.34,3.62,29.34l-.6,0c0-.25-1.9-24.37-3.59-29.19-1.41-4-2.25-17.58-2.52-22.8Z" transform="translate(-32.98 -43.84)" fill="#cc8294"/><path d="M600.87,446.86s-9.72,1.73-15.23,3.77-6.32,3.15-6.32,3.15l-5.71.9v-6.11s-20.46,1.51-22.52.68a.49.49,0,0,1-.13-.08c-1-1,.6,7.92-.9,9.82s-8,8.48,4.11,13.36,39.58,5.38,39.58,5.38l7.82-15.43Z" transform="translate(-32.98 -43.84)" fill="#ff718d"/><path d="M631.63,476.33,610,471.72a52.4,52.4,0,0,0,6.26-16.56c.79-4.63.68-9.58-1.45-13.91C608.59,428.63,631.63,422,631.63,422s8.43,13,16,19.59c2.54,2.19,5,3.66,7,3.66C662.7,445.26,631.63,476.33,631.63,476.33Z" transform="translate(-32.98 -43.84)" fill="#ecb4b6"/><path d="M515.19,615.83s9.41,22.25,18,22.65c5.19.24,21.19,2.44,33.12,4.15l1.07.15a53.11,53.11,0,0,0,9.31-5.76L568,633.28l-45.84-19.71c-.28,0-2.94.18-4.89.31Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M582.53,635.27c8.18,1.18-2.21,9.42-2.21,9.42s4,3,8.62,14,6.82,10.22,6.82,10.22l12.81.7c.39-5.63.73-9.72.73-9.72l-8.72-21.24-10.26-13.43s-17.1,4.75-22.93,8l-.17.09a3.94,3.94,0,0,0-1.72,1.5C565.24,635.65,582.16,631.29,582.53,635.27Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M631.63,476.33,610,471.72a52.4,52.4,0,0,0,6.26-16.56l6.77,6.53a16.72,16.72,0,0,0,9.27-2.71,14.18,14.18,0,0,0,3.16-2.9c4.81-6,10.61-13.83,10.61-13.83s.68-.31,1.61-.65c2.54,2.19,5,3.66,7,3.66C662.7,445.26,631.63,476.33,631.63,476.33Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M515.19,614s9.41,22.25,18,22.66,47.1,6.21,47.1,6.21,4,3,8.62,14,6.82,10.23,6.82,10.23l14.83.8,2.81-16.83s1.6-6.22,11.42-23.86,10.82-36.87,10.82-36.87,3-5.82,2.21-8.42-3.41-23.26-3.61-25.46,4.41-12,4.41-12,8.82-12,8.62-13.83,3.41-7,3.41-7l8-13.19a6,6,0,0,0,.83,6.17c2.4,3.21.39,9.62.39,9.62l.49,8.09.11,1.94s-1.2,1.2-4.48,4.21-1.73,3.4-1.73,3.4c10.23-1.4,18.24,15.24,18.24,15.24s8.62-6,13-11.23a6.93,6.93,0,0,0,1.11-1.93c2.66-6.67-.06-20.92-.06-20.92,3.47-6.21-.85-11.83-.85-11.83,2.81-7.61-2.2-15.63-2.2-15.63l-.4-17.44c2.2-4.6-5.42-16-5.42-16s-1.8-8.62-3.41-9.42-3.4-4.41-3.4-4.41c.2-4-10.43-4.41-11.42-4.61a19.43,19.43,0,0,1-3.63-2.12,31.5,31.5,0,0,0-3.19-1.89c-1.81-.8-6.62,1.41-6.62,1.41s-5.8,7.81-10.62,13.83a13.93,13.93,0,0,1-3.15,2.9A16.72,16.72,0,0,1,623,462.5l-6.9-6.65-20.36,1.24L591,480.54c-10.43,8.61-6.42,18.44-6.62,24.85s-1.2,14-1.2,14-4.41,7.22-3.81,11-3.21,10-3.21,10-5.61,6.21-5,10.22-1,9.22-1,9.22-3.8,7-2.2,11,.8,6.22.8,6.22-8.22,1.2-8.82,5.61-8,6-8,6-13.22,4.81-16.44,7S515.19,614,515.19,614Z" transform="translate(-32.98 -43.84)" fill="#ff718d"/><path d="M683.55,516s-15,1.81-16.84,4,15,2.41,15,2.41Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M661.3,527.94s11-3.91,11.32-2.71-11.32,7.82-11.32,7.82Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M656.69,506.59C654.78,509.6,639,529,639,529L656,504.19Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M654.38,501.28c-1.2,1.6-13.93,22.45-13.93,22.45l12.83-23.45Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M681,476.33s-4.91-6.92-9.72-2.51S681,476.33,681,476.33Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M646.67,470.41s-12.53,0-18.64,2.81S633.44,464.8,646.67,470.41Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M632.29,461h1.85s4.31-1.6,5.41-4.92,9.77-.29,9.77-.29,1.25.94.15-.6,3.81-6.41,6-9.62a2.69,2.69,0,0,0,.38-.81,30.05,30.05,0,0,0-3.19-1.9c-1.81-.8-6.62,1.41-6.62,1.41s-5.8,7.82-10.62,13.83A13.93,13.93,0,0,1,632.29,461Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M632.29,459.79h1.85s4.31-1.6,5.41-4.92,9.77-.29,9.77-.29,1.25.94.15-.6,3.81-6.41,6-9.62a2.74,2.74,0,0,0,.38-.82,31.5,31.5,0,0,0-3.19-1.89c-1.81-.8-6.62,1.41-6.62,1.41s-5.8,7.81-10.62,13.83A13.93,13.93,0,0,1,632.29,459.79Z" transform="translate(-32.98 -43.84)" fill="#ff718d"/><circle cx="584.52" cy="428.51" r="1.33" fill="#e7c7ca"/><circle cx="561.66" cy="459.61" r="1.33" fill="#e7c7ca"/><circle cx="569.91" cy="439.98" r="1.33" fill="#e7c7ca"/><circle cx="557.97" cy="479.83" r="1.33" fill="#e7c7ca"/><circle cx="541.03" cy="514.71" r="1.33" fill="#e7c7ca"/><circle cx="539.7" cy="532.58" r="1.33" fill="#e7c7ca"/><path d="M553.27,446.86l2.7,8.72,8.52-.6,7.61-8.12s.5-1.46,1.28-3.63c1.92-5.37,5.55-15.12,7.55-18.12,2.8-4.2,4.61-21.64,4.61-21.64s-3.08-7-11.87,7c-6.61,10.56-14.84,25.84-18.49,32.74C554,445.5,553.27,446.86,553.27,446.86Z" transform="translate(-32.98 -43.84)" fill="#ecb4b6"/><path d="M591,568.93c0,2.14,9,3.14,13.25,3.5l2.18.15c-1,2.26,4.31,19.5,4.31,19.5a10,10,0,0,0,1.34-.17c7-1.41,20.81-11.06,20.81-11.06s.3-3.31,14.58-9.11c10.51-4.29,18.38-12.31,22.05-16.29a24.55,24.55,0,0,1,2.25-2.36L659.09,540s-2.05,1.9-4.75,4.45c-4.94,4.67-12.07,11.5-12.79,12.82-1.1,2-20.94,11.7-20.94,11.7-4.41-3.81-13.93-4.61-13.93-4.61S591,566.12,591,568.93Z" transform="translate(-32.98 -43.84)" fill="#ecb4b6"/><path d="M614.5,523.73c-.6,1.2-27.76,19.24-32.37,19.54s4.31-8.62,4.61-8.72S614.5,523.73,614.5,523.73Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M468,810.14l-1-.23Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M547.24,828.35a11,11,0,0,1,4.22-1.44,30,30,0,0,0,8.43-.26,20.1,20.1,0,0,0-.62,7.41l-2.55-.1S547.2,831.89,547.24,828.35Z" transform="translate(-32.98 -43.84)" fill="#fff" opacity="0.3"/><path d="M468.64,810.27l-.54-.11.54.11Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M454.33,804.55l0,0Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M454.35,804.56h0Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M468.1,810.16l-.12,0Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M605.51,764.38c.11,1.17.16,2.32.2,3.32a5.4,5.4,0,0,0,1.36,3.47l.06.06a48.24,48.24,0,0,0,.44-7.13C607.36,764.41,606.46,764.44,605.51,764.38Z" transform="translate(-32.98 -43.84)" fill="#fff" opacity="0.3"/><path d="M654.34,544.41c6.53-.41,12.1,6.37,15.13,11a24.55,24.55,0,0,1,2.25-2.36L659.09,540S657,541.86,654.34,544.41Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M654.28,542.67c10.23-1.4,18.24,15.24,18.24,15.24s8.62-6,13-11.23a7,7,0,0,0,1.11-1.94c-2.38-5.72-8.95-15.25-26.28-11.62l.11,1.94s-1.2,1.2-4.48,4.2S654.28,542.67,654.28,542.67Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M654.28,543.87c10.23-1.4,18.24,15.24,18.24,15.24s8.62-6,13-11.23a6.93,6.93,0,0,0,1.11-1.93c-2.38-5.72-8.95-15.26-26.28-11.63l.11,1.94s-1.2,1.2-4.48,4.21S654.28,543.87,654.28,543.87Z" transform="translate(-32.98 -43.84)" fill="#ff718d"/><path d="M654.28,543.87c10.23-1.4,18.24,15.24,18.24,15.24s8.62-6,13-11.23a6.93,6.93,0,0,0,1.11-1.93c-2.38-5.72-8.95-15.26-26.28-11.63l.11,1.94s-1.2,1.2-4.48,4.21S654.28,543.87,654.28,543.87Z" transform="translate(-32.98 -43.84)" fill="#fff" opacity="0.1"/><path d="M553.27,446.86l2.7,8.72,8.52-.6,7.61-8.12s.5-1.46,1.28-3.63c-1.08.61-8.44,4.69-12.9,4.91-3.55.18-4.86-3.14-5.3-4.91C554,445.5,553.27,446.86,553.27,446.86Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M550.61,449.92l.56-.65c2-2.32,3.8-4.11,3.8-4.11a9.34,9.34,0,0,0,1.73,4.31,4.38,4.38,0,0,0,3.78,1.68,24,24,0,0,0,7.48-2.21c3-1.34,5.55-2.78,5.55-2.78l0,2.41.05,2.4v5.51s2.1,14.63-17.34,6.82c0,0,1.21-5.37-6.18-4.35Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M573.51,444.36l.1,4.81v5.51s2.1,14.63-17.34,6.82c0,0,1.41-6.22-8-4S555,443.36,555,443.36s.68,6.23,5.51,6S573.51,444.36,573.51,444.36Z" transform="translate(-32.98 -43.84)" fill="#ff718d"/><path d="M573.51,444.36l.1,4.81v5.51s2.1,14.63-17.34,6.82c0,0,1.41-6.22-8-4S555,443.36,555,443.36s.68,6.23,5.51,6S573.51,444.36,573.51,444.36Z" transform="translate(-32.98 -43.84)" fill="#fff" opacity="0.1"/><path d="M610.59,597.49c-.2-.3-1-24.25-4.11-24.85s-10.82,2.6-10.82,2.6l1.4,19.14Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M606.38,572.58c-1,2.26,4.31,19.5,4.31,19.5a10,10,0,0,0,1.34-.17c-.49-7.13-1.53-19.45-3.75-19.87a10.64,10.64,0,0,0-4.08.39Z" transform="translate(-32.98 -43.84)" opacity="0.1"/><path d="M611.79,596.89c-.2-.3-1-24.25-4.11-24.86s-10.82,2.61-10.82,2.61l1.4,19.14Z" transform="translate(-32.98 -43.84)" fill="#ff718d"/><path d="M611.79,596.89c-.2-.3-1-24.25-4.11-24.86s-10.82,2.61-10.82,2.61l1.4,19.14Z" transform="translate(-32.98 -43.84)" fill="#fff" opacity="0.1"/><path d="M584,454.61c2.42-3.76,3.86-8.05,5.25-12.3a59,59,0,0,0,1.8-6.23,24.81,24.81,0,0,0,17,10.56,49.68,49.68,0,0,1,2,4.78A13.4,13.4,0,0,1,608,463.85c-2.8,3.38-7.92,4.82-11.84,2.85a24.41,24.41,0,0,0-3.53-1.88c-2.66-.84-5.44.55-8.19,1a12.81,12.81,0,0,1-10.69-3.1C578.1,461.61,581.63,458.37,584,454.61Z" transform="translate(-32.98 -43.84)" fill="#985c7e"/><circle cx="578.81" cy="379.79" r="24.85" opacity="0.1"/><circle cx="578.81" cy="378.17" r="24.85" fill="#ecb4b6"/><path d="M593.4,414.25c-2.92-2-7.22-.41-10.3-2.18A7.69,7.69,0,0,1,580,408c-2.69-7.1,1.55-16,8.75-18.41,1.88-.63,3.88-.85,5.78-1.43,5.17-1.58,9.16-5.59,13.64-8.62a39.41,39.41,0,0,1,15.37-6.18c4.08-.7,8.6-.65,11.93,1.81,3.75,2.78,4.95,7.78,5.72,12.39s1.55,9.59,4.86,12.88c2.65,2.62,6.43,3.65,9.81,5.23s6.77,4.29,7,8c.17,2.91-1.66,5.55-2.23,8.41-.64,3.23.35,6.54,1.47,9.63a115.39,115.39,0,0,0,12.38,24.58,67,67,0,0,1-19.68,7.26c-2.84.57-5.83.94-8.58.05-3.48-1.11-6.08-4.11-7.76-7.36a24.48,24.48,0,0,1-2.62-9.28c-.49-6.45,1.53-13.37-1.33-19.17A6.62,6.62,0,0,0,632,424.9c-1.26-.74-2.79-.83-4.18-1.27-2.4-.75-4.33-2.52-6.17-4.24l-6.62-6.16a18.64,18.64,0,0,0-5.15-3.79c-3.52-1.49-7.67-.64-11,1.23-2.93,1.64-6.31,4.1-9.27,2.52" transform="translate(-32.98 -43.84)" fill="#985c7e"/><g opacity="0.1"><path d="M591.4,413.69l-1.76-.5A4.21,4.21,0,0,0,591.4,413.69Z" transform="translate(-32.98 -43.84)"/><path d="M591.4,413.69l2,.56a5.07,5.07,0,0,0-1.13-.59A6.33,6.33,0,0,1,591.4,413.69Z" transform="translate(-32.98 -43.84)"/><path d="M655.58,460.31c-2.84.56-5.82.93-8.58.05-3.48-1.12-6.08-4.11-7.76-7.37a24.48,24.48,0,0,1-2.62-9.28c-.49-6.45,1.53-13.36-1.32-19.17a6.71,6.71,0,0,0-2.45-2.89c-1.26-.74-2.78-.83-4.18-1.26-2.4-.76-4.33-2.53-6.17-4.24L615.88,410a18.64,18.64,0,0,0-5.15-3.79c-3.52-1.49-7.67-.64-11,1.23-2.09,1.17-4.4,2.75-6.64,3a5.28,5.28,0,0,1,1.13.59l-2-.56a4.21,4.21,0,0,1-1.76-.5l1.76.5a4.22,4.22,0,0,0,.87,0c-2.82-1.08-6.46,0-9.17-1.58a7.68,7.68,0,0,1-3.12-4.09,13.12,13.12,0,0,1-.67-6.48A13.87,13.87,0,0,0,580,408a7.69,7.69,0,0,0,3.12,4.08c2.7,1.56,6.35.5,9.17,1.59,2.23-.24,4.55-1.82,6.64-3,3.34-1.87,7.49-2.72,11-1.23a18.64,18.64,0,0,1,5.15,3.79l6.62,6.16c1.84,1.72,3.77,3.49,6.17,4.24,1.39.44,2.92.53,4.18,1.27a6.62,6.62,0,0,1,2.44,2.89c2.86,5.8.84,12.72,1.33,19.17a24.48,24.48,0,0,0,2.62,9.28c1.68,3.25,4.28,6.25,7.76,7.36,2.75.89,5.74.52,8.57-.05a67,67,0,0,0,19.69-7.26c-.46-.69-.91-1.39-1.35-2.09A67.27,67.27,0,0,1,655.58,460.31Z" transform="translate(-32.98 -43.84)"/><path d="M662.81,414.62a29.39,29.39,0,0,0-1.4,4.22c-.06.31-.1.63-.13.94A19.92,19.92,0,0,0,662.81,414.62Z" transform="translate(-32.98 -43.84)"/></g><path d="M608.16,461.94c-2.8,3.37-7.92,4.81-11.84,2.84a24.94,24.94,0,0,0-3.53-1.88c-2.66-.84-5.44.55-8.19,1a12.86,12.86,0,0,1-9.21-2,15.08,15.08,0,0,1-1.48.49,12.83,12.83,0,0,0,10.69,3.09c2.75-.49,5.53-1.88,8.19-1a26.07,26.07,0,0,1,3.53,1.89c3.92,2,9,.52,11.84-2.85a12.73,12.73,0,0,0,2.71-8.87A12.37,12.37,0,0,1,608.16,461.94Z" transform="translate(-32.98 -43.84)" opacity="0.1"/></svg> \ No newline at end of file diff --git a/public/assets/car1.svg:Zone.Identifier b/public/assets/car1.svg:Zone.Identifier new file mode 100644 index 0000000000000000000000000000000000000000..053d1127c2fb0089fa03fcdd1b49cd0213add84d --- /dev/null +++ b/public/assets/car1.svg:Zone.Identifier @@ -0,0 +1,3 @@ +[ZoneTransfer] +ZoneId=3 +HostUrl=about:internet diff --git a/public/assets/map.svg b/public/assets/map.svg new file mode 100644 index 0000000000000000000000000000000000000000..72ab2e67f85f0e8cd0808837a1eb03a893a660d0 --- /dev/null +++ b/public/assets/map.svg @@ -0,0 +1 @@ +<svg id="e937dd5c-1a88-46eb-b274-68931cd56025" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="923.8" height="753.71" viewBox="0 0 923.8 753.71"><title>map</title><ellipse cx="1007.29" cy="789.73" rx="19.99" ry="48.53" transform="translate(-401.49 870.42) rotate(-45)" fill="#ffffff" opacity="0.1"/><ellipse cx="872.63" cy="705.7" rx="10.73" ry="14.05" fill="#3f3d56"/><ellipse cx="872.63" cy="688.53" rx="10.73" ry="14.05" fill="#3f3d56"/><ellipse cx="872.63" cy="671.36" rx="10.73" ry="14.05" fill="#3f3d56"/><ellipse cx="872.63" cy="654.19" rx="10.73" ry="14.05" fill="#3f3d56"/><ellipse cx="872.63" cy="637.02" rx="10.73" ry="14.05" fill="#3f3d56"/><ellipse cx="872.63" cy="619.85" rx="10.73" ry="14.05" fill="#3f3d56"/><ellipse cx="872.63" cy="602.68" rx="10.73" ry="14.05" fill="#3f3d56"/><path d="M1050.9,558.33a51.13,51.13,0,0,0,4-5.88l-28.2-4.63,30.5.22a51.54,51.54,0,0,0,1-40.73l-40.91,21.23L1055,500.8a51.41,51.41,0,1,0-84.9,57.53,51.16,51.16,0,0,0-5.86,9.37l36.6,19-39-13.1a51.45,51.45,0,0,0,8.29,48.27,51.4,51.4,0,1,0,80.8,0,51.41,51.41,0,0,0,0-63.56Z" transform="translate(-138.1 -73.15)" fill="#ffffff"/><path d="M959.1,590.11a51.16,51.16,0,0,0,11,31.78,51.4,51.4,0,1,0,80.8,0C1057.79,613.15,959.1,584.34,959.1,590.11Z" transform="translate(-138.1 -73.15)" opacity="0.1"/><polygon points="846.97 0 846.97 720 602.97 686 306.36 746.51 303.97 747 67.97 682 67.97 56 312.97 0 580.97 56 591.16 53.85 846.97 0" fill="#444053"/><polygon points="805.97 39.32 805.97 683.53 587.66 653.11 322.27 707.25 320.13 707.68 108.97 649.53 108.97 89.42 328.19 39.32 567.97 89.42 577.09 87.5 805.97 39.32" fill="#fff"/><polygon points="602.97 686 306.36 746.51 312.97 0 580.97 56 591.16 53.85 602.97 686" opacity="0.1"/><g opacity="0.3"><polyline points="573.35 138 573.47 347.5 660.47 347.5 660.47 261.5 809.47 261.5 826.97 239.06" fill="none" stroke="#444053" stroke-miterlimit="10" stroke-width="3"/><polyline points="88.97 204.5 412.47 204.5 432.47 195.5 440.47 195.5 440.47 397.5 580.47 397.5 586.47 415.5 586.47 506.5 694.47 506.5 694.47 619" fill="none" stroke="#444053" stroke-miterlimit="10" stroke-width="3"/><line x1="483.2" y1="619" x2="483.2" y2="397.5" fill="none" stroke="#444053" stroke-miterlimit="10" stroke-width="3"/><line x1="826.97" y1="559.66" x2="483.2" y2="559.66" fill="none" stroke="#444053" stroke-miterlimit="10" stroke-width="3"/><line x1="740.87" y1="138" x2="740.87" y2="619" fill="none" stroke="#444053" stroke-miterlimit="10" stroke-width="3"/><line x1="87.97" y1="517.14" x2="826.97" y2="517.14" fill="none" stroke="#444053" stroke-miterlimit="10" stroke-width="3"/><line x1="177.91" y1="619" x2="177.91" y2="138" fill="none" stroke="#444053" stroke-miterlimit="10" stroke-width="3"/><line x1="349.69" y1="138" x2="349.69" y2="619" fill="none" stroke="#444053" stroke-miterlimit="10" stroke-width="3"/><line x1="88.97" y1="259.5" x2="660.47" y2="261.5" fill="none" stroke="#444053" stroke-miterlimit="10" stroke-width="3"/><line x1="255.3" y1="138.87" x2="255.3" y2="619" fill="none" stroke="#444053" stroke-miterlimit="10" stroke-width="3"/><polyline points="87.97 370.82 349.69 370.82 483.2 517.14" fill="none" stroke="#444053" stroke-miterlimit="10" stroke-width="3"/><line x1="512.12" y1="138" x2="512.12" y2="397.5" fill="none" stroke="#444053" stroke-miterlimit="10" stroke-width="3"/><line x1="483.2" y1="443.98" x2="826.97" y2="443.98" fill="none" stroke="#444053" stroke-miterlimit="10" stroke-width="3"/></g><polygon points="585.97 442 484.97 442 484.97 398 580.47 397.5 586.47 414.5 585.97 442" fill="#ffffff"/><path d="M674.07,287.15a55.28,55.28,0,0,0-55.28,55.28c0,30.53,55.28,129.72,55.28,129.72S729.35,373,729.35,342.43A55.28,55.28,0,0,0,674.07,287.15Zm0,78.86a24.32,24.32,0,1,1,24.32-24.32A24.32,24.32,0,0,1,674.07,366Z" transform="translate(-138.1 -73.15)" fill="#ffffff"/><path d="M674.07,287.15a55.28,55.28,0,0,0-55.28,55.28c0,30.53,55.28,129.72,55.28,129.72S729.35,373,729.35,342.43A55.28,55.28,0,0,0,674.07,287.15Zm0,78.86a24.32,24.32,0,1,1,24.32-24.32A24.32,24.32,0,0,1,674.07,366Z" transform="translate(-138.1 -73.15)" opacity="0.1"/><path d="M674.07,295.15a55.28,55.28,0,0,0-55.28,55.28c0,30.53,55.28,129.72,55.28,129.72S729.35,381,729.35,350.43A55.28,55.28,0,0,0,674.07,295.15Zm0,78.86a24.32,24.32,0,1,1,24.32-24.32A24.32,24.32,0,0,1,674.07,374Z" transform="translate(-138.1 -73.15)" fill="#ffffff"/><ellipse cx="649.86" cy="806.61" rx="33.45" ry="13.78" transform="translate(-404.13 249.64) rotate(-23.3)" fill="#ffffff" opacity="0.1"/><ellipse cx="511.39" cy="727.97" rx="7.4" ry="9.68" fill="#3f3d56"/><ellipse cx="511.39" cy="716.13" rx="7.4" ry="9.68" fill="#3f3d56"/><ellipse cx="511.39" cy="704.3" rx="7.4" ry="9.68" fill="#3f3d56"/><ellipse cx="511.39" cy="692.47" rx="7.4" ry="9.68" fill="#3f3d56"/><ellipse cx="511.39" cy="680.63" rx="7.4" ry="9.68" fill="#3f3d56"/><ellipse cx="511.39" cy="668.8" rx="7.4" ry="9.68" fill="#3f3d56"/><ellipse cx="511.39" cy="656.97" rx="7.4" ry="9.68" fill="#3f3d56"/><path d="M621.8,649.13a36.12,36.12,0,0,1-2.76-4l19.44-3.2-21,.16a35.54,35.54,0,0,1-.68-28.07L645,628.6l-26-19.12a35.43,35.43,0,1,1,58.51,39.65,35.55,35.55,0,0,1,4,6.46L656.3,668.7l26.9-9a35.45,35.45,0,0,1-5.71,33.27,35.43,35.43,0,1,1-55.69,0,35.44,35.44,0,0,1,0-43.81Z" transform="translate(-138.1 -73.15)" fill="#ffffff"/><path d="M685.07,671a35.28,35.28,0,0,1-7.58,21.91,35.43,35.43,0,1,1-55.69,0C617.05,686.91,685.07,667.06,685.07,671Z" transform="translate(-138.1 -73.15)" opacity="0.1"/><ellipse cx="186.29" cy="767.73" rx="19.99" ry="48.53" transform="translate(-626.4 283.44) rotate(-45)" fill="#ffffff" opacity="0.1"/><ellipse cx="51.63" cy="683.7" rx="10.73" ry="14.05" fill="#3f3d56"/><ellipse cx="51.63" cy="666.53" rx="10.73" ry="14.05" fill="#3f3d56"/><ellipse cx="51.63" cy="649.36" rx="10.73" ry="14.05" fill="#3f3d56"/><ellipse cx="51.63" cy="632.19" rx="10.73" ry="14.05" fill="#3f3d56"/><ellipse cx="51.63" cy="615.02" rx="10.73" ry="14.05" fill="#3f3d56"/><ellipse cx="51.63" cy="597.85" rx="10.73" ry="14.05" fill="#3f3d56"/><ellipse cx="51.63" cy="580.68" rx="10.73" ry="14.05" fill="#3f3d56"/><path d="M229.9,536.33a51.13,51.13,0,0,0,4-5.88l-28.2-4.63,30.5.22a51.54,51.54,0,0,0,1-40.73l-40.91,21.23L234,478.8a51.41,51.41,0,1,0-84.9,57.53,51.16,51.16,0,0,0-5.86,9.37l36.6,19-39-13.1a51.45,51.45,0,0,0,8.29,48.27,51.4,51.4,0,1,0,80.8,0,51.41,51.41,0,0,0,0-63.56Z" transform="translate(-138.1 -73.15)" fill="#ffffff"/><path d="M138.1,568.11a51.16,51.16,0,0,0,11,31.78,51.4,51.4,0,1,0,80.8,0C236.79,591.15,138.1,562.34,138.1,568.11Z" transform="translate(-138.1 -73.15)" opacity="0.1"/></svg> \ No newline at end of file diff --git a/public/assets/map.svg:Zone.Identifier b/public/assets/map.svg:Zone.Identifier new file mode 100644 index 0000000000000000000000000000000000000000..053d1127c2fb0089fa03fcdd1b49cd0213add84d --- /dev/null +++ b/public/assets/map.svg:Zone.Identifier @@ -0,0 +1,3 @@ +[ZoneTransfer] +ZoneId=3 +HostUrl=about:internet diff --git a/src/App.tsx b/src/App.tsx index fcee4551d310dcfc39201a1e3b865b0aafa0b482..f641a240b4dea2ac7a97f92ec805cdfe3649d4f3 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,4 +1,5 @@ import React, { FC, useEffect, useState } from 'react'; +import { createMuiTheme, ThemeProvider } from '@material-ui/core/styles'; import { BrowserRouter as Router, Switch, Route } from 'react-router-dom'; import { HomePage } from 'components/AuthUser/HomePage/HomePage'; import { AuthUser } from 'components/AuthUser/AuthUser'; @@ -10,6 +11,35 @@ import { ProfilePage } from 'components/AuthUser/ProfilePage/ProfilePage'; import { Roles } from 'api/userRoles'; import { Unauthorized } from 'components/NonAuthUser/Unauthorized/Unauthorized'; import axios from 'axios'; +import { ReservationPage } from 'components/AuthUser/ReservationPage/ReservationPage'; + +const theme = createMuiTheme({ + palette: { + primary: { + main: '#5e5ce4', + }, + secondary: { + main: '#e2e45c', + }, + }, + + typography: { + fontSize: 16, + }, + + overrides: { + MuiTabs: { + indicator: { + backgroundColor: 'white', + }, + }, + MuiTab: { + wrapper: { + flexDirection: 'row', + }, + }, + }, +}); const configDjangoCookieName = (): void => { axios.defaults.xsrfHeaderName = 'X-CSRFTOKEN'; @@ -33,25 +63,28 @@ export const App: FC = () => { }, [isCookieFetched]); return ( - <Router> - <div data-testid="App"> - <Switch> - <Route path={NonAuthRoutes.auth} component={AuthUser} /> - <Route exact path={NonAuthRoutes.home} component={LandingPage} /> - <PrivateRoute - path={AuthRoutes.dashboard} - Component={HomePage} - requiredRoles={[Roles.admin, Roles.operator, Roles.senior]} - /> - <PrivateRoute - path={AuthRoutes.profile} - Component={ProfilePage} - requiredRoles={[Roles.admin, Roles.operator, Roles.senior]} - /> - <Route path={NonAuthRoutes.unauthorized} component={Unauthorized} /> - <Route component={NotFound} /> - </Switch> - </div> - </Router> + <ThemeProvider theme={theme}> + <Router> + <div data-testid="App"> + <Switch> + <Route path={NonAuthRoutes.auth} component={AuthUser} /> + <Route exact path={NonAuthRoutes.home} component={LandingPage} /> + <PrivateRoute + path={AuthRoutes.dashboard} + Component={HomePage} + requiredRoles={[Roles.admin, Roles.operator, Roles.senior]} + /> + <PrivateRoute + path={AuthRoutes.profile} + Component={ProfilePage} + requiredRoles={[Roles.admin, Roles.operator, Roles.senior]} + /> + <Route path={AuthRoutes.reservation} component={ReservationPage} /> + <Route path={NonAuthRoutes.unauthorized} component={Unauthorized} /> + <Route component={NotFound} /> + </Switch> + </div> + </Router> + </ThemeProvider> ); }; diff --git a/src/api/routes.ts b/src/api/routes.ts index 73a54b30dadfd8701d8eeb0fdcf8ea91a861fb91..12d2314de83d5cf3d731dd2a873a8ebd38e61cb0 100644 --- a/src/api/routes.ts +++ b/src/api/routes.ts @@ -6,6 +6,7 @@ export enum AuthRoutes { dashboard = '/dashboard', profile = '/profile', + reservation = '/reservation', } /** diff --git a/src/assets/car.svg:Zone.Identifier b/src/assets/car.svg:Zone.Identifier new file mode 100644 index 0000000000000000000000000000000000000000..053d1127c2fb0089fa03fcdd1b49cd0213add84d --- /dev/null +++ b/src/assets/car.svg:Zone.Identifier @@ -0,0 +1,3 @@ +[ZoneTransfer] +ZoneId=3 +HostUrl=about:internet diff --git a/src/assets/material-hero-bg.png b/src/assets/material-hero-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..4bfbb7695a3ce43ab871862826b7a74749a51137 Binary files /dev/null and b/src/assets/material-hero-bg.png differ diff --git a/src/components/AuthUser/HomePage/MapElement.tsx b/src/components/AuthUser/HomePage/MapElement.tsx new file mode 100644 index 0000000000000000000000000000000000000000..89f7d3cdc2dc722f1075d079fd94730666af226f --- /dev/null +++ b/src/components/AuthUser/HomePage/MapElement.tsx @@ -0,0 +1,122 @@ +/* eslint-disable react/jsx-props-no-spreading */ +import * as React from 'react'; + +export const MapElement: React.FC = (props: React.SVGProps<SVGSVGElement>) => ( + <svg + data-name="Layer 1" + xmlns="http://www.w3.org/2000/svg" + width={425} + height={364.74} + viewBox="0 0 923.8 753.71" + {...props} + > + <title>map</title> + <ellipse + cx={1007.29} + cy={789.73} + rx={19.99} + ry={48.53} + transform="rotate(-45 849.945 919.851)" + fill="#fff" + opacity={0.1} + /> + <ellipse cx={872.63} cy={705.7} rx={10.73} ry={14.05} fill="#3f3d56" /> + <ellipse cx={872.63} cy={688.53} rx={10.73} ry={14.05} fill="#3f3d56" /> + <ellipse cx={872.63} cy={671.36} rx={10.73} ry={14.05} fill="#3f3d56" /> + <ellipse cx={872.63} cy={654.19} rx={10.73} ry={14.05} fill="#3f3d56" /> + <ellipse cx={872.63} cy={637.02} rx={10.73} ry={14.05} fill="#3f3d56" /> + <ellipse cx={872.63} cy={619.85} rx={10.73} ry={14.05} fill="#3f3d56" /> + <ellipse cx={872.63} cy={602.68} rx={10.73} ry={14.05} fill="#3f3d56" /> + <path + d="M912.8 485.18a51.13 51.13 0 004-5.88l-28.2-4.63 30.5.22a51.54 51.54 0 001-40.73l-40.91 21.23 37.71-27.74a51.41 51.41 0 10-84.9 57.53 51.16 51.16 0 00-5.86 9.37l36.6 19-39-13.1a51.45 51.45 0 008.29 48.27 51.4 51.4 0 1080.8 0 51.41 51.41 0 000-63.56z" + fill="#fff" + /> + <path + d="M821 516.96a51.16 51.16 0 0011 31.78 51.4 51.4 0 1080.8 0c6.89-8.74-91.8-37.55-91.8-31.78z" + opacity={0.1} + /> + <path + fill="#444053" + d="M846.97 0v720l-244-34-296.61 60.51-2.39.49-236-65V56l245-56 268 56 10.19-2.15L846.97 0z" + /> + <path + fill="#fff" + d="M805.97 39.32v644.21l-218.31-30.42-265.39 54.14-2.14.43-211.16-58.15V89.42l219.22-50.1 239.78 50.1 9.12-1.92 228.88-48.18z" + /> + <path + opacity={0.1} + d="M602.97 686l-296.61 60.51L312.97 0l268 56 10.19-2.15L602.97 686z" + /> + <g + opacity={0.3} + fill="none" + stroke="#444053" + strokeMiterlimit={10} + strokeWidth={3} + > + <path d="M573.35 138l.12 209.5h87v-86h149l17.5-22.44M88.97 204.5h323.5l20-9h8v202h140l6 18v91h108V619M483.2 619V397.5M826.97 559.66H483.2M740.87 138v481M87.97 517.14h739M177.91 619V138M349.69 138v481M88.97 259.5l571.5 2M255.3 138.87V619" /> + <path d="M87.97 370.82h261.72L483.2 517.14M512.12 138v259.5M483.2 443.98h343.77" /> + </g> + <path fill="#fff" d="M585.97 442h-101v-44l95.5-.5 6 17-.5 27.5z" /> + <path + d="M535.97 214a55.28 55.28 0 00-55.28 55.28c0 30.53 55.28 129.72 55.28 129.72s55.28-99.15 55.28-129.72A55.28 55.28 0 00535.97 214zm0 78.86a24.32 24.32 0 1124.32-24.32 24.32 24.32 0 01-24.32 24.31z" + fill="#fff" + /> + <path + d="M535.97 214a55.28 55.28 0 00-55.28 55.28c0 30.53 55.28 129.72 55.28 129.72s55.28-99.15 55.28-129.72A55.28 55.28 0 00535.97 214zm0 78.86a24.32 24.32 0 1124.32-24.32 24.32 24.32 0 01-24.32 24.31z" + opacity={0.1} + /> + <path + d="M535.97 222a55.28 55.28 0 00-55.28 55.28c0 30.53 55.28 129.72 55.28 129.72s55.28-99.15 55.28-129.72A55.28 55.28 0 00535.97 222zm0 78.86a24.32 24.32 0 1124.32-24.32 24.32 24.32 0 01-24.32 24.31z" + fill="#fff" + /> + <ellipse + cx={649.86} + cy={806.61} + rx={33.45} + ry={13.78} + transform="rotate(-23.3 403.328 1104.861)" + fill="#fff" + opacity={0.1} + /> + <ellipse cx={511.39} cy={727.97} rx={7.4} ry={9.68} fill="#3f3d56" /> + <ellipse cx={511.39} cy={716.13} rx={7.4} ry={9.68} fill="#3f3d56" /> + <ellipse cx={511.39} cy={704.3} rx={7.4} ry={9.68} fill="#3f3d56" /> + <ellipse cx={511.39} cy={692.47} rx={7.4} ry={9.68} fill="#3f3d56" /> + <ellipse cx={511.39} cy={680.63} rx={7.4} ry={9.68} fill="#3f3d56" /> + <ellipse cx={511.39} cy={668.8} rx={7.4} ry={9.68} fill="#3f3d56" /> + <ellipse cx={511.39} cy={656.97} rx={7.4} ry={9.68} fill="#3f3d56" /> + <path + d="M483.7 575.98a36.12 36.12 0 01-2.76-4l19.44-3.2-21 .16a35.54 35.54 0 01-.68-28.07l28.2 14.58-26-19.12a35.43 35.43 0 1158.51 39.65 35.55 35.55 0 014 6.46l-25.21 13.11 26.9-9a35.45 35.45 0 01-5.71 33.27 35.43 35.43 0 11-55.69 0 35.44 35.44 0 010-43.81z" + fill="#fff" + /> + <path + d="M546.97 597.85a35.28 35.28 0 01-7.58 21.91 35.43 35.43 0 11-55.69 0c-4.75-6 63.27-25.85 63.27-21.91z" + opacity={0.1} + /> + <ellipse + cx={186.29} + cy={767.73} + rx={19.99} + ry={48.53} + transform="rotate(-45 28.942 897.852)" + fill="#fff" + opacity={0.1} + /> + <ellipse cx={51.63} cy={683.7} rx={10.73} ry={14.05} fill="#3f3d56" /> + <ellipse cx={51.63} cy={666.53} rx={10.73} ry={14.05} fill="#3f3d56" /> + <ellipse cx={51.63} cy={649.36} rx={10.73} ry={14.05} fill="#3f3d56" /> + <ellipse cx={51.63} cy={632.19} rx={10.73} ry={14.05} fill="#3f3d56" /> + <ellipse cx={51.63} cy={615.02} rx={10.73} ry={14.05} fill="#3f3d56" /> + <ellipse cx={51.63} cy={597.85} rx={10.73} ry={14.05} fill="#3f3d56" /> + <ellipse cx={51.63} cy={580.68} rx={10.73} ry={14.05} fill="#3f3d56" /> + <path + d="M91.8 463.18a51.13 51.13 0 004-5.88l-28.2-4.63 30.5.22a51.54 51.54 0 001-40.73l-40.91 21.23 37.71-27.74A51.41 51.41 0 1011 463.18a51.16 51.16 0 00-5.86 9.37l36.6 19-39-13.1a51.45 51.45 0 008.29 48.27 51.4 51.4 0 1080.8 0 51.41 51.41 0 000-63.56z" + fill="#fff" + /> + <path + d="M0 494.96a51.16 51.16 0 0011 31.78 51.4 51.4 0 1080.8 0C98.69 518 0 489.19 0 494.96z" + opacity={0.1} + /> + </svg> +); diff --git a/src/components/AuthUser/HomePage/NavBar.tsx b/src/components/AuthUser/HomePage/NavBar.tsx new file mode 100644 index 0000000000000000000000000000000000000000..1bc3cce61bc2b5bf11a849a6d0943de84fe6664e --- /dev/null +++ b/src/components/AuthUser/HomePage/NavBar.tsx @@ -0,0 +1,69 @@ +import React, { FC } from 'react'; +import { makeStyles } from '@material-ui/core/styles'; +import { Tabs, Tab, AppBar } from '@material-ui/core'; +import HomeIcon from '@material-ui/icons/Home'; +import ImportContactsIcon from '@material-ui/icons/ImportContacts'; +import AccountCircleIcon from '@material-ui/icons/AccountCircle'; + +const useStyles = makeStyles(() => ({ + tabs: { + color: 'white', + paddingLeft: '25px', + paddingRight: '25px', + paddingTop: '8px', + paddingBottom: '35px', + width: '100%', + flexWrap: 'wrap', + }, + tabPan: { + paddingLeft: '56px', + paddingRight: '56px', + }, + tabIcon: { + paddingRight: '10px', + fontSize: '38px', + }, + rightAlign: { + marginLeft: 'auto', + }, +})); + +export const NavBar: FC = () => { + const classes = useStyles(); + + const [value, setValue] = React.useState(0); + + const handleChange = ( + event: React.ChangeEvent<unknown>, + newValue: number, + ): void => { + setValue(newValue); + }; + + return ( + <Tabs + variant="scrollable" + scrollButtons="on" + onChange={handleChange} + value={value} + className={classes.tabs} + TabIndicatorProps={{ style: { display: 'none' } }} + > + <Tab + label="HomePage" + icon={<HomeIcon className={classes.tabIcon} />} + className={classes.tabPan} + /> + <Tab + label="Reservation" + icon={<ImportContactsIcon className={classes.tabIcon} />} + className={`${classes.tabPan} ${classes.rightAlign}`} + /> + <Tab + label="Profile" + className={classes.tabPan} + icon={<AccountCircleIcon className={classes.tabIcon} />} + /> + </Tabs> + ); +}; diff --git a/src/components/AuthUser/HomePage/NavBarLogin.tsx b/src/components/AuthUser/HomePage/NavBarLogin.tsx new file mode 100644 index 0000000000000000000000000000000000000000..92d00454f5ddc811637f6353b520f89db0cbcebe --- /dev/null +++ b/src/components/AuthUser/HomePage/NavBarLogin.tsx @@ -0,0 +1,56 @@ +import React, { FC } from 'react'; +import { makeStyles } from '@material-ui/core/styles'; +import { Tabs, Tab } from '@material-ui/core'; +import LockIcon from '@material-ui/icons/Lock'; + +const useStyles = makeStyles(() => ({ + tabs: { + color: 'white', + paddingLeft: '25px', + paddingRight: '25px', + paddingTop: '8px', + paddingBottom: '35px', + }, + tabPan: { + paddingLeft: '56px', + paddingRight: '56px', + }, + tabIcon: { + paddingRight: '10px', + fontSize: '38px', + }, + rightAlign: { + marginLeft: 'auto', + backgroundColor: '#FFFFFF', + }, +})); + +export const NavBarLogin: FC = () => { + const classes = useStyles(); + + const [value, setValue] = React.useState(0); + + const handleChange = ( + event: React.ChangeEvent<unknown>, + newValue: number, + ): void => { + setValue(newValue); + }; + + return ( + <Tabs + textColor="primary" + onChange={handleChange} + value={value} + className={classes.tabs} + TabIndicatorProps={{ style: { display: 'none' } }} + > + <Tab label="" className={classes.tabPan} /> + <Tab + label="Login" + icon={<LockIcon className={classes.tabIcon} />} + className={`${classes.tabPan} ${classes.rightAlign}`} + /> + </Tabs> + ); +}; diff --git a/src/components/AuthUser/HomePage/Numbers.tsx b/src/components/AuthUser/HomePage/Numbers.tsx new file mode 100644 index 0000000000000000000000000000000000000000..20f38c870d04171411e355d21afe7ca52efba788 --- /dev/null +++ b/src/components/AuthUser/HomePage/Numbers.tsx @@ -0,0 +1,137 @@ +import React, { FC } from 'react'; +import { makeStyles } from '@material-ui/core/styles'; +import { Grid, Typography, CardContent, Card, Hidden } from '@material-ui/core'; +import LocalTaxiIcon from '@material-ui/icons/LocalTaxi'; +import LocationCityIcon from '@material-ui/icons/LocationCity'; +import PeopleIcon from '@material-ui/icons/People'; + +const useStyles = makeStyles(() => ({ + root: { + minHeight: '100vh', + backgroundImage: `url(${'/assets/bg3.png'})`, + backgroundRepeat: 'no-repeat', + backgroundSize: 'cover', + }, + rightAlign: { + marginLeft: 'auto', + }, + whiteText: { + color: 'white', + }, + imageIcon: { + maxHeight: '50%', + }, + paddingBottom: { + paddingBottom: '65px', + }, + paddingTop: { + paddingTop: '65px', + }, + bodyIcon: { + fontSize: '90px', + paddingBottom: '10px', + paddingTop: '10px', + }, + contIcon: { + width: '100%', + left: '0', + right: '0', + }, + noShadow: { + border: 'none', + boxShadow: 'none', + backgroundColor: 'transparent', + }, +})); + +export const Numbers: FC = () => { + const classes = useStyles(); + + return ( + <Grid item container alignItems="stretch" style={{ paddingTop: '20px' }}> + <Grid item xs={1} lg={2} /> + + <Grid item xs={4} lg={2} component={Card} className={classes.noShadow}> + <CardContent> + <Grid + container + spacing={0} + direction="column" + alignItems="center" + justify="center" + > + <Grid item xs={12}> + <LocalTaxiIcon color="primary" className={classes.bodyIcon} /> + </Grid> + </Grid> + + <Typography variant="h4" align="center"> + 300 + </Typography> + + <Typography variant="h6" align="center"> + Rides Offered + </Typography> + </CardContent> + </Grid> + + <Grid item xs={2} lg={1} /> + + <Grid item xs={4} lg={2} component={Card} className={classes.noShadow}> + <CardContent> + <Grid + container + spacing={0} + direction="column" + alignItems="center" + justify="center" + > + <Grid item xs={12}> + <LocationCityIcon color="primary" className={classes.bodyIcon} /> + </Grid> + </Grid> + + <Typography variant="h4" align="center"> + 25000 + </Typography> + + <Typography variant="h6" align="center"> + Kilometers + </Typography> + </CardContent> + </Grid> + + <Grid item xs={1} /> + + <Hidden lgUp> + <Grid item xs={4} /> + </Hidden> + + <Grid item xs={4} lg={2} component={Card} className={classes.noShadow}> + <CardContent> + <Grid + container + spacing={0} + direction="column" + alignItems="center" + justify="center" + > + <Grid item xs={12}> + <PeopleIcon color="primary" className={classes.bodyIcon} /> + </Grid> + </Grid> + + <Typography variant="h4" align="center"> + 225 + </Typography> + + <Typography variant="h6" align="center"> + People who used our service + </Typography> + </CardContent> + </Grid> + + <Grid item xs={4} lg={2} /> + </Grid> + ); +}; diff --git a/src/components/AuthUser/HomePage/Steps.tsx b/src/components/AuthUser/HomePage/Steps.tsx new file mode 100644 index 0000000000000000000000000000000000000000..2452c59d93467d111e979526541d69f24e409410 --- /dev/null +++ b/src/components/AuthUser/HomePage/Steps.tsx @@ -0,0 +1,132 @@ +import React, { FC } from 'react'; +import { makeStyles } from '@material-ui/core/styles'; +import { Grid, Typography, CardContent, Card, Hidden } from '@material-ui/core'; +import VpnKeyIcon from '@material-ui/icons/VpnKey'; +import BookmarkIcon from '@material-ui/icons/Bookmark'; +import RoomIcon from '@material-ui/icons/Room'; + +const useStyles = makeStyles(() => ({ + bodyIcon: { + fontSize: '90px', + paddingBottom: '10px', + paddingTop: '10px', + }, + paddingBot: { + paddingBottom: '40px', + }, + noShadow: { + border: 'none', + boxShadow: 'none', + backgroundColor: 'transparent', + }, +})); + +export const Steps: FC = () => { + const classes = useStyles(); + + return ( + <Grid item container alignItems="stretch"> + <Grid item xs={1} lg={2} /> + + <Grid item xs={10} lg={2} component={Card} className={classes.paddingBot}> + <CardContent> + <Typography variant="h4" align="center"> + STEP 1 + </Typography> + + <Grid + container + spacing={0} + direction="column" + alignItems="center" + justify="center" + > + <Grid item xs={12}> + <VpnKeyIcon color="primary" className={classes.bodyIcon} /> + </Grid> + </Grid> + + <Typography variant="h6"> + Log In or Register an account on the site. Fill all the fields + related to your personal information. + </Typography> + </CardContent> + </Grid> + + <Grid item xs={1} /> + + <Hidden lgUp> + <Grid + item + xs={12} + component={Card} + className={`${classes.paddingBot} ${classes.noShadow}`} + /> + <Grid item xs={1} /> + </Hidden> + + <Grid item xs={10} lg={2} component={Card} className={classes.paddingBot}> + <CardContent> + <Typography variant="h4" align="center"> + STEP 2 + </Typography> + + <Grid + container + spacing={0} + direction="column" + alignItems="center" + justify="center" + > + <Grid item xs={12}> + <BookmarkIcon color="primary" className={classes.bodyIcon} /> + </Grid> + </Grid> + + <Typography variant="h6"> + Book in the reservation section a free ride at least 48h than your + appointment + </Typography> + </CardContent> + </Grid> + + <Grid item xs={1} /> + <Hidden lgUp> + <Grid + item + xs={12} + component={Card} + className={`${classes.paddingBot} ${classes.noShadow}`} + /> + <Grid item xs={1} /> + </Hidden> + + <Grid item xs={10} lg={2} component={Card} className={classes.paddingBot}> + <CardContent> + <Typography variant="h4" align="center"> + STEP 3 + </Typography> + + <Grid + container + spacing={0} + direction="column" + alignItems="center" + justify="center" + > + <Grid item xs={12}> + <RoomIcon color="primary" className={classes.bodyIcon} /> + </Grid> + </Grid> + + <Typography variant="h6"> + Wait your free drive compfortably at home and reach the place you + have booked in the reservation easily! + </Typography> + </CardContent> + </Grid> + + <Grid item xs={1} lg={2} /> + </Grid> + ); +}; diff --git a/src/components/AuthUser/Homepage/HomePage.tsx b/src/components/AuthUser/Homepage/HomePage.tsx new file mode 100644 index 0000000000000000000000000000000000000000..95073eb36b3c1ce46c68776f27a039356680c6a8 --- /dev/null +++ b/src/components/AuthUser/Homepage/HomePage.tsx @@ -0,0 +1,132 @@ +import React, { FC } from 'react'; +import { makeStyles } from '@material-ui/core/styles'; +import { + CssBaseline, + Grid, + Typography, + Hidden, + createMuiTheme, + responsiveFontSizes, + MuiThemeProvider, + Container, +} from '@material-ui/core'; + +import { MapElement } from 'components/AuthUser/HomePage/MapElement'; +import { NavBar } from 'components/AuthUser/HomePage/NavBar'; +import { NavBarLogin } from 'components/AuthUser/HomePage/NavBarLogin'; +import { Steps } from 'components/AuthUser/HomePage/Steps'; +import { Reservation } from 'components/AuthUser/ReservationPage/Reservation/Reservation'; +import { Numbers } from 'components/AuthUser/HomePage/Numbers'; + +let themeResp = createMuiTheme(); +themeResp = responsiveFontSizes(themeResp); + +const useStyles = makeStyles(() => ({ + root: { + minHeight: '100vh', + backgroundImage: `url(${'/assets/bg3.png'})`, + backgroundRepeat: 'no-repeat', + backgroundSize: 'cover', + }, + rightAlign: { + marginLeft: 'auto', + }, + whiteText: { + color: 'white', + }, + imageIcon: { + maxHeight: '50%', + }, + paddingBottom: { + paddingBottom: '65px', + }, + paddingTop: { + paddingTop: '65px', + }, + bodyIcon: { + fontSize: '90px', + paddingBottom: '10px', + paddingTop: '10px', + }, + contIcon: { + width: '100%', + left: '0', + right: '0', + }, + noShadow: { + border: 'none', + boxShadow: 'none', + backgroundColor: 'transparent', + }, +})); + +export const HomePage: FC = () => { + const classes = useStyles(); + + return ( + <Grid container direction="column" className={classes.paddingBottom}> + <div className={classes.root}> + <CssBaseline /> + + <Grid item> + <NavBar /> + </Grid> + + <MuiThemeProvider theme={themeResp}> + <Grid item container className={classes.paddingBottom}> + <Grid item xs={1} md={2} lg={2} /> + + <Grid item xs={10} md={6} lg={4}> + <Typography variant="h2" className={classes.whiteText}> + Book Free Rides Now With + </Typography> + <Typography variant="h1" className={classes.whiteText}> + MOVE AID + </Typography> + </Grid> + + <Grid item xs={false} md={3} lg={5}> + <Hidden mdDown> + <Container> + <MapElement /> + </Container> + </Hidden> + </Grid> + + <Grid item xs={1} /> + </Grid> + + <Steps /> + </MuiThemeProvider> + </div> + + <Grid item container className={classes.paddingTop}> + <Grid item xs={2} /> + <Grid item xs={8}> + <Typography variant="h3">Your Next Reservation</Typography> + </Grid> + <Grid item xs={2} /> + </Grid> + + <Grid item container style={{ paddingTop: '20px' }}> + <Grid item xs={1} lg={2} /> + <Grid item xs={10} lg={8}> + <Reservation /> + </Grid> + <Grid item xs={1} lg={2} /> + </Grid> + + <Grid item container className={classes.paddingTop}> + <Grid item xs={2} /> + <Grid item xs={8}> + <Typography variant="h3" align="right"> + Some Our Numbers + </Typography> + </Grid> + <Grid item xs={2} /> + </Grid> + + <Numbers /> + </Grid> + ); +}; diff --git a/src/components/AuthUser/ProfilePage/ProfilePage.md b/src/components/AuthUser/ProfilePage/ProfilePage.md new file mode 100644 index 0000000000000000000000000000000000000000..d696537a13388f6329b7732a48526d52aa5a27c1 --- /dev/null +++ b/src/components/AuthUser/ProfilePage/ProfilePage.md @@ -0,0 +1,5 @@ +Profile page for all type of users + +```js +<ProfilePage /> +``` \ No newline at end of file diff --git a/src/components/AuthUser/ReservationPage/Reservation/Reservation.tsx b/src/components/AuthUser/ReservationPage/Reservation/Reservation.tsx new file mode 100644 index 0000000000000000000000000000000000000000..7bdcd177cbe2f0bfa38f73c13a692ebf9b8dbc3d --- /dev/null +++ b/src/components/AuthUser/ReservationPage/Reservation/Reservation.tsx @@ -0,0 +1,60 @@ +import React, { FC } from 'react'; +import { makeStyles } from '@material-ui/core/styles'; +import { + Paper, + Table, + TableBody, + TableCell, + TableContainer, + TableHead, + TableRow, +} from '@material-ui/core'; + +const useStyles = makeStyles(() => ({ + noShadow: { + border: 'none', + boxShadow: 'none', + backgroundColor: 'transparent', + }, +})); + +function createData( + name: string, + value: string, +): { name: string; value: string } { + return { name, value }; +} + +const rows = [ + createData('From:', 'Via Di Quel Bozen, 45, 39037'), + createData('Date:', '29 / 07 / 2021'), + createData('Time:', '12:15'), + createData('To:', 'Via del Krankenhaus, 7, 39037'), +]; + +export const Reservation: FC = () => { + const classes = useStyles(); + + return ( + <TableContainer component={Paper}> + <Table aria-label="simple table"> + <TableHead> + <TableRow> + <TableCell>DriveToHospital </TableCell> + </TableRow> + </TableHead> + + <TableBody> + {rows.map((row) => ( + <TableRow key={row.name}> + <TableCell component="th" scope="row"> + {row.name} + </TableCell> + <TableCell align="right">{row.value}</TableCell> + </TableRow> + ))} + </TableBody> + </Table> + </TableContainer> + ); +}; diff --git a/src/components/AuthUser/ReservationPage/ReservationPage.test.tsx b/src/components/AuthUser/ReservationPage/ReservationPage.test.tsx new file mode 100644 index 0000000000000000000000000000000000000000..628b7b5f432b5dc81f327f0d7a03a2fc5f775bfe --- /dev/null +++ b/src/components/AuthUser/ReservationPage/ReservationPage.test.tsx @@ -0,0 +1,10 @@ +import React from 'react'; +import { render } from '@testing-library/react'; +import { ReservationPage } from './ReservationPage'; + +describe('<ReservationPage />', () => { + it('renders without crashing', () => { + const wrapper = render(<ReservationPage />); + expect(wrapper.queryByTestId('Reservation')).toBeTruthy(); + }); +}); diff --git a/src/components/AuthUser/ReservationPage/ReservationPage.tsx b/src/components/AuthUser/ReservationPage/ReservationPage.tsx new file mode 100644 index 0000000000000000000000000000000000000000..13dc78eb5efca51fd47e55a4ec85892ef381368e --- /dev/null +++ b/src/components/AuthUser/ReservationPage/ReservationPage.tsx @@ -0,0 +1,258 @@ +import React, { FC } from 'react'; +import { makeStyles } from '@material-ui/core/styles'; +import { + CssBaseline, + Grid, + Typography, + Hidden, + createMuiTheme, + responsiveFontSizes, + MuiThemeProvider, + Container, + Dialog, + DialogActions, + DialogContent, + DialogContentText, + DialogTitle, + TextField, + Button, +} from '@material-ui/core'; +import AddIcon from '@material-ui/icons/Add'; +import Fab from '@material-ui/core/Fab'; + +import { Reservation } from 'components/AuthUser/ReservationPage/Reservation/Reservation'; +import { NavBar } from '../HomePage/NavBar'; + +let themeResp = createMuiTheme(); +themeResp = responsiveFontSizes(themeResp); + +const useStyles = makeStyles(() => ({ + root: { + minHeight: '36vh', + backgroundImage: `url(${'/assets/bg7.png'})`, + backgroundRepeat: 'no-repeat', + backgroundSize: 'cover', + }, + rightAlign: { + marginLeft: 'auto', + }, + whiteText: { + color: 'white', + }, + imageIcon: { + maxHeight: '50%', + }, + paddingBottom: { + paddingBottom: '65px', + }, + paddingTop: { + paddingTop: '65px', + }, + bodyIcon: { + fontSize: '90px', + paddingBottom: '10px', + paddingTop: '10px', + }, + contIcon: { + width: '100%', + left: '0', + right: '0', + }, + noShadow: { + border: 'none', + boxShadow: 'none', + backgroundColor: 'transparent', + }, + extendedIcon: { + fontSize: '50px', + }, + fab: { + margin: '10px 90px 80px 10px', + bottom: '0', + right: '0', + position: 'fixed', + padding: '45px', + }, + fabSmall: { + margin: '10px 45px 70px 10px', + bottom: '0', + right: '0', + position: 'fixed', + padding: '35px', + }, +})); + +export const ReservationPage: FC = () => { + const classes = useStyles(); + + const [open, setOpen] = React.useState(false); + + const handleClickOpen = (): void => { + setOpen(true); + }; + + const handleClose = (): void => { + setOpen(false); + }; + + return ( + <div data-testid="Reservation"> + <Grid container direction="column" className={classes.paddingBottom}> + <div className={classes.root}> + <CssBaseline /> + + <Grid item> + <NavBar /> + </Grid> + + <Dialog + open={open} + onClose={handleClose} + aria-labelledby="form-dialog-title" + > + <DialogTitle id="form-dialog-title"> + Book New Reservation + </DialogTitle> + <DialogContent> + <DialogContentText> + Write here below the details of your next reservation + </DialogContentText> + <TextField + autoFocus + margin="dense" + id="name" + label="Name Reservation" + type="text" + fullWidth + /> + <TextField + autoFocus + margin="dense" + id="name" + label="Date" + type="date" + fullWidth + InputLabelProps={{ shrink: true }} + /> + <TextField + autoFocus + margin="dense" + id="name" + label="Department Time" + type="time" + fullWidth + InputLabelProps={{ shrink: true }} + /> + <TextField + autoFocus + margin="dense" + id="name" + label="Destination" + type="text" + fullWidth + /> + </DialogContent> + <DialogActions> + <Button onClick={handleClose} color="primary"> + Cancel + </Button> + <Button onClick={handleClose} color="primary" variant="contained"> + Subscribe + </Button> + </DialogActions> + </Dialog> + + <MuiThemeProvider theme={themeResp}> + <Grid item container className={classes.paddingBottom}> + <Grid item xs={1} md={2} lg={2} /> + + <Grid item xs={10} md={6} lg={4}> + <Typography variant="h2" className={classes.whiteText}> + Plan Here Your + </Typography> + <Typography variant="h1" className={classes.whiteText}> + RESERVATIONS + </Typography> + </Grid> + + <Grid item xs={1} /> + </Grid> + </MuiThemeProvider> + </div> + + <Hidden mdDown> + <Fab + color="primary" + size="large" + aria-label="add" + className={classes.fab} + onClick={handleClickOpen} + > + <AddIcon className={classes.extendedIcon} /> + </Fab> + </Hidden> + + <Hidden lgUp> + <Fab + color="primary" + size="small" + aria-label="add" + className={classes.fabSmall} + > + <AddIcon /> + </Fab> + </Hidden> + + <Grid item container className={classes.paddingTop}> + <Grid item xs={2} /> + <Grid item xs={8}> + <Typography variant="h3">Your Next Reservations</Typography> + </Grid> + <Grid item xs={2} /> + </Grid> + + <Grid item container style={{ paddingTop: '20px' }}> + <Grid item xs={1} lg={2} /> + <Grid item xs={10} lg={8}> + <Reservation /> + </Grid> + <Grid item xs={1} lg={2} /> + </Grid> + + <Grid item container style={{ paddingTop: '20px' }}> + <Grid item xs={1} lg={2} /> + <Grid item xs={10} lg={8}> + <Reservation /> + </Grid> + <Grid item xs={1} lg={2} /> + </Grid> + + <Grid item container style={{ paddingTop: '20px' }}> + <Grid item xs={1} lg={2} /> + <Grid item xs={10} lg={8}> + <Reservation /> + </Grid> + <Grid item xs={1} lg={2} /> + </Grid> + + <Grid item container className={classes.paddingTop}> + <Grid item xs={2} /> + <Grid item xs={8}> + <Typography variant="h3" align="right"> + Your Past Reservations + </Typography> + </Grid> + <Grid item xs={2} /> + </Grid> + + <Grid item container style={{ paddingTop: '20px' }}> + <Grid item xs={1} lg={2} /> + <Grid item xs={10} lg={8}> + <Reservation /> + </Grid> + <Grid item xs={1} lg={2} /> + </Grid> + </Grid> + </div> + ); +}; diff --git a/src/components/NonAuthUser/NotFound/NotFound.md b/src/components/NonAuthUser/NotFound/NotFound.md new file mode 100644 index 0000000000000000000000000000000000000000..4a07944973ae0186294707560e5713a954c60b85 --- /dev/null +++ b/src/components/NonAuthUser/NotFound/NotFound.md @@ -0,0 +1,5 @@ +NotFound example: + +```js +<NotFound /> +``` \ No newline at end of file diff --git a/src/components/NonAuthUser/NotFound/NotFound.test.tsx b/src/components/NonAuthUser/NotFound/NotFound.test.tsx new file mode 100644 index 0000000000000000000000000000000000000000..3b9e35a3119cfec2963e9680d28160080d434885 --- /dev/null +++ b/src/components/NonAuthUser/NotFound/NotFound.test.tsx @@ -0,0 +1,10 @@ +import React from 'react'; +import { render } from '@testing-library/react'; +import { NotFound } from './NotFound'; + +describe('<NotFound />', () => { + it('renders without crashing', () => { + const wrapper = render(<NotFound />); + expect(wrapper.queryByTestId('NotFound')).toBeTruthy(); + }); +}); diff --git a/src/components/NonAuthUser/NotFound/NotFound.tsx b/src/components/NonAuthUser/NotFound/NotFound.tsx index f514a0f1691cf6d689854436d0ed932f3b0af9cd..4466f09d1423788f65bfe666dd5bc701bfdad926 100644 --- a/src/components/NonAuthUser/NotFound/NotFound.tsx +++ b/src/components/NonAuthUser/NotFound/NotFound.tsx @@ -1,3 +1,7 @@ import React, { FC } from 'react'; -export const NotFound: FC = () => <h1>Page not found</h1>; +export const NotFound: FC = () => ( + <div data-testid="NotFound"> + <h1>Page not found</h1> + </div> +); diff --git a/src/components/NonAuthUser/Unauthorized/Unauthorized.md b/src/components/NonAuthUser/Unauthorized/Unauthorized.md new file mode 100644 index 0000000000000000000000000000000000000000..8881e27a96bfc87a1bc02f30f10148a9095acf36 --- /dev/null +++ b/src/components/NonAuthUser/Unauthorized/Unauthorized.md @@ -0,0 +1,5 @@ +Unauthorized example: + +```js +<Unauthorized /> +``` \ No newline at end of file diff --git a/src/components/NonAuthUser/Unauthorized/Unauthorized.test.tsx b/src/components/NonAuthUser/Unauthorized/Unauthorized.test.tsx new file mode 100644 index 0000000000000000000000000000000000000000..4db31af7a0a95d9dbfd8c82aa8be44b71c53365f --- /dev/null +++ b/src/components/NonAuthUser/Unauthorized/Unauthorized.test.tsx @@ -0,0 +1,10 @@ +import React from 'react'; +import { render } from '@testing-library/react'; +import { Unauthorized } from './Unauthorized'; + +describe('<Unauthorized />', () => { + it('renders without crashing', () => { + const wrapper = render(<Unauthorized />); + expect(wrapper.queryByTestId('Unauthorized')).toBeTruthy(); + }); +}); diff --git a/src/components/NonAuthUser/Unauthorized/Unauthorized.tsx b/src/components/NonAuthUser/Unauthorized/Unauthorized.tsx index 0e53bf59f28c1f9e4abf43489906f1b6e8f59b10..4cd6266e117ad3dd9de73c704ab68bfd62b99a3e 100644 --- a/src/components/NonAuthUser/Unauthorized/Unauthorized.tsx +++ b/src/components/NonAuthUser/Unauthorized/Unauthorized.tsx @@ -1,3 +1,7 @@ import React, { FC } from 'react'; -export const Unauthorized: FC = () => <h1>You cannot access this page</h1>; +export const Unauthorized: FC = () => ( + <div data-testid="Unauthorized"> + <h1>You cannot access this page</h1> + </div> +); diff --git a/yarn.lock b/yarn.lock index f47346079c7b948dcadbb76b79f265d36c22eea4..da12648f2fedb3c73a162c22f141baa02fa82a19 100644 --- a/yarn.lock +++ b/yarn.lock @@ -81,6 +81,15 @@ jsesc "^2.5.1" source-map "^0.5.0" +"@babel/generator@^7.12.5": + version "7.13.16" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.13.16.tgz#0befc287031a201d84cdfc173b46b320ae472d14" + integrity sha512-grBBR75UnKOcUWMp8WoDxNsWCFl//XCK6HWTrBQKTr5SV9f5g0pNOjdyzi/DTBv12S9GnYPInIXQBTky7OXEMg== + dependencies: + "@babel/types" "^7.13.16" + jsesc "^2.5.1" + source-map "^0.5.0" + "@babel/helper-annotate-as-pure@^7.10.4", "@babel/helper-annotate-as-pure@^7.12.13": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz#0f58e86dfc4bb3b1fcd7db806570e177d439b6ab" @@ -106,7 +115,7 @@ browserslist "^4.14.5" semver "^6.3.0" -"@babel/helper-create-class-features-plugin@^7.12.1", "@babel/helper-create-class-features-plugin@^7.13.0": +"@babel/helper-create-class-features-plugin@^7.12.1", "@babel/helper-create-class-features-plugin@^7.13.0", "@babel/helper-create-class-features-plugin@^7.13.11": version "7.13.11" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.11.tgz#30d30a005bca2c953f5653fc25091a492177f4f6" integrity sha512-ays0I7XYq9xbjCSvT+EvysLgfc3tOkwCULHjrnscGT3A9qD4sk3wXnJ3of0MAWsWGjdinFvajHU2smYuqXKMrw== @@ -328,6 +337,15 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-decorators" "^7.12.1" +"@babel/plugin-proposal-decorators@^7.12.1": + version "7.13.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.13.15.tgz#e91ccfef2dc24dd5bd5dcc9fc9e2557c684ecfb8" + integrity sha512-ibAMAqUm97yzi+LPgdr5Nqb9CMkeieGHvwPg1ywSGjZrZHQEGqE01HmOio8kxRpA/+VtOHouIVy2FMpBbtltjA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.13.11" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-decorators" "^7.12.13" + "@babel/plugin-proposal-dynamic-import@^7.12.1", "@babel/plugin-proposal-dynamic-import@^7.13.8": version "7.13.8" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.13.8.tgz#876a1f6966e1dec332e8c9451afda3bebcdf2e1d" @@ -336,6 +354,14 @@ "@babel/helper-plugin-utils" "^7.13.0" "@babel/plugin-syntax-dynamic-import" "^7.8.3" +"@babel/plugin-proposal-export-default-from@^7.12.1": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.12.13.tgz#f110284108a9b2b96f01b15b3be9e54c2610a989" + integrity sha512-idIsBT+DGXdOHL82U+8bwX4goHm/z10g8sGGrQroh+HCRcm7mDv/luaGdWJQMTuCX2FsdXS7X0Nyyzp4znAPJA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-export-default-from" "^7.12.13" + "@babel/plugin-proposal-export-namespace-from@^7.12.1", "@babel/plugin-proposal-export-namespace-from@^7.12.13": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz#393be47a4acd03fa2af6e3cde9b06e33de1b446d" @@ -420,6 +446,14 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" "@babel/plugin-syntax-optional-chaining" "^7.8.0" +"@babel/plugin-proposal-optional-chaining@7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.6.0.tgz#e9bf1f9b9ba10c77c033082da75f068389041af8" + integrity sha512-kj4gkZ6qUggkprRq3Uh5KP8XnE1MdIO0J7MhdDX8+rAbB6dJ2UrensGIS+0NPZAaaJ1Vr0PN6oLUgXMU1uMcSg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-optional-chaining" "^7.2.0" + "@babel/plugin-proposal-optional-chaining@^7.12.1", "@babel/plugin-proposal-optional-chaining@^7.13.8": version "7.13.8" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.8.tgz#e39df93efe7e7e621841babc197982e140e90756" @@ -466,7 +500,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-syntax-decorators@^7.12.1": +"@babel/plugin-syntax-decorators@^7.12.1", "@babel/plugin-syntax-decorators@^7.12.13": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.13.tgz#fac829bf3c7ef4a1bc916257b403e58c6bdaf648" integrity sha512-Rw6aIXGuqDLr6/LoBBYE57nKOzQpz/aDkKlMqEwH+Vp0MXbG6H/TfRjaY343LKxzAKAMXIHsQ8JzaZKuDZ9MwA== @@ -480,6 +514,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-export-default-from@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.12.13.tgz#3c807d37efaf0a806f1deb556ccb3b2f562ae9c2" + integrity sha512-gVry0zqoums0hA+EniCYK3gABhjYSLX1dVuwYpPw9DrLNA4/GovXySHVg4FGRsZht09ON/5C2NVx3keq+qqVGQ== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-export-namespace-from@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" @@ -487,7 +528,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-flow@^7.12.1": +"@babel/plugin-syntax-flow@^7.12.1", "@babel/plugin-syntax-flow@^7.12.13": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.12.13.tgz#5df9962503c0a9c918381c929d51d4d6949e7e86" integrity sha512-J/RYxnlSLXZLVR7wTRsozxKT8qbsx1mNKJzXEEjQ0Kjx1ZACcyHgbanNWNCFtc36IzuWhYWPpvJFFoexoOWFmA== @@ -550,7 +591,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-optional-chaining@^7.8.0", "@babel/plugin-syntax-optional-chaining@^7.8.3": +"@babel/plugin-syntax-optional-chaining@^7.2.0", "@babel/plugin-syntax-optional-chaining@^7.8.0", "@babel/plugin-syntax-optional-chaining@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== @@ -564,7 +605,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-syntax-typescript@^7.12.13": +"@babel/plugin-syntax-typescript@^7.12.13", "@babel/plugin-syntax-typescript@^7.3.3": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.13.tgz#9dff111ca64154cef0f4dc52cf843d9f12ce4474" integrity sha512-cHP3u1JiUiG2LFDKbXnwVad81GvfyIOmCD6HIEId6ojrY0Drfy2q1jw7BwN7dE84+kTnBjLkXoL3IEy/3JPu2w== @@ -659,6 +700,14 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-flow" "^7.12.1" +"@babel/plugin-transform-flow-strip-types@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.13.0.tgz#58177a48c209971e8234e99906cb6bd1122addd3" + integrity sha512-EXAGFMJgSX8gxWD7PZtW/P6M+z74jpx3wm/+9pn+c2dOawPpBkUX7BrfyPvo6ZpXbgRIEuwgwDb/MGlKvu2pOg== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-flow" "^7.12.13" + "@babel/plugin-transform-for-of@^7.12.1", "@babel/plugin-transform-for-of@^7.13.0": version "7.13.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz#c799f881a8091ac26b54867a845c3e97d2696062" @@ -883,7 +932,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-typescript@^7.12.1": +"@babel/plugin-transform-typescript@^7.12.1", "@babel/plugin-transform-typescript@^7.7.0": version "7.13.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.13.0.tgz#4a498e1f3600342d2a9e61f60131018f55774853" integrity sha512-elQEwluzaU8R8dbVuW2Q2Y8Nznf7hnjM7+DSCd14Lo5fF63C9qNLbwZYbmZrtV9/ySpSUpkRpQXvJb6xyu4hCQ== @@ -1053,6 +1102,15 @@ core-js-compat "^3.9.0" semver "^6.3.0" +"@babel/preset-flow@^7.12.1": + version "7.13.13" + resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.13.13.tgz#a61a1c149b3f77589d795287744393444d5cdd9e" + integrity sha512-MDtwtamMifqq3R2mC7l3A3uFalUb3NH5TIBQWjN/epEPlZktcLq4se3J+ivckKrLMGsR7H9LW8+pYuIUN9tsKg== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-validator-option" "^7.12.17" + "@babel/plugin-transform-flow-strip-types" "^7.13.0" + "@babel/preset-modules@^0.1.3", "@babel/preset-modules@^0.1.4": version "0.1.4" resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" @@ -1096,6 +1154,14 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-transform-typescript" "^7.12.1" +"@babel/preset-typescript@7.7.0": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.7.0.tgz#5d7682d938160ceaf51c3d4239e9521ef893474c" + integrity sha512-WZ3qvtAJy8w/i6wqq5PuDnkCUXaLUTHIlJujfGHmHxsT5veAbEdEjl3cC/3nXfyD0bzlWsIiMdUhZgrXjd9QWg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-transform-typescript" "^7.7.0" + "@babel/runtime-corejs3@^7.10.2": version "7.13.10" resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.13.10.tgz#14c3f4c85de22ba88e8e86685d13e8861a82fe86" @@ -1151,6 +1217,14 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" +"@babel/types@^7.13.16": + version "7.13.17" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.13.17.tgz#48010a115c9fba7588b4437dd68c9469012b38b4" + integrity sha512-RawydLgxbOPDlTLJNtoIypwdmAy//uQIzlKt2+iBiJaRlVuI6QLUxVAyWGNfOzp8Yu4L4lLIacoCyTNtpb4wiA== + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + to-fast-properties "^2.0.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" @@ -1484,6 +1558,13 @@ react-is "^16.8.0 || ^17.0.0" react-transition-group "^4.4.0" +"@material-ui/icons@^4.11.2": + version "4.11.2" + resolved "https://registry.yarnpkg.com/@material-ui/icons/-/icons-4.11.2.tgz#b3a7353266519cd743b6461ae9fdfcb1b25eb4c5" + integrity sha512-fQNsKX2TxBmqIGJCSi3tGTO/gZ+eJgWmMJkgDiOfyNaunNaxcklJQFaFogYcFl0qFuaEz1qaXYXboa/bUXVSOQ== + dependencies: + "@babel/runtime" "^7.4.4" + "@material-ui/styles@^4.11.3": version "4.11.3" resolved "https://registry.yarnpkg.com/@material-ui/styles/-/styles-4.11.3.tgz#1b8d97775a4a643b53478c895e3f2a464e8916f2" @@ -1874,6 +1955,13 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== +"@types/formidable@^1.0.31": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@types/formidable/-/formidable-1.2.1.tgz#d17006b48acd314df9bcfa04236b3e32de0cc817" + integrity sha512-4sVIjd51AADf4YnpsdqNQh7n3ZRLo16w+w6F7zzKjK6dBsQc9Vrq8GQLpHOOWq0V8Fe2bbp2EpihHx57iVgm5Q== + dependencies: + "@types/node" "*" + "@types/glob@^7.1.1": version "7.1.3" resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" @@ -2420,7 +2508,7 @@ abab@^2.0.3, abab@^2.0.5: resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: +accepts@^1.3.5, accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: version "1.3.7" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== @@ -2497,6 +2585,16 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== +ajv@6.12.3: + version "6.12.3" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.3.tgz#18c5af38a111ddeb4f2697bd78d68abc1cabd706" + integrity sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" @@ -2585,6 +2683,16 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" +ansi@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/ansi/-/ansi-0.3.1.tgz#0c42d4fb17160d5a9af1e484bace1c66922c1b21" + integrity sha1-DELU+xcWDVqa8eSEus4cZpIsGyE= + +any-promise@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" + integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= + anymatch@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" @@ -2912,6 +3020,14 @@ babel-loader@8.1.0: pify "^4.0.1" schema-utils "^2.6.5" +babel-plugin-const-enum@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/babel-plugin-const-enum/-/babel-plugin-const-enum-1.0.1.tgz#0d742faf9731be4f213c4d01d61fc4e93c44d159" + integrity sha512-6oGu63g1FS9psUPQyLCJM08ty6kGihGKTbzWGbAKHfUuCzCh7y9twh516cR6v0lM4d4NOoR+DgLb7uKVytyp6Q== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-typescript" "^7.3.3" + babel-plugin-dynamic-import-node@^2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" @@ -2940,7 +3056,7 @@ babel-plugin-jest-hoist@^26.6.2: "@types/babel__core" "^7.0.0" "@types/babel__traverse" "^7.0.6" -babel-plugin-macros@2.8.0: +babel-plugin-macros@2.8.0, babel-plugin-macros@^2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== @@ -2996,6 +3112,29 @@ babel-plugin-transform-react-remove-prop-types@0.4.24: resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA== +babel-plugin-ttag@1.7.30: + version "1.7.30" + resolved "https://registry.yarnpkg.com/babel-plugin-ttag/-/babel-plugin-ttag-1.7.30.tgz#40865679f10e0e36e8d2c3dea74729a054e15c9d" + integrity sha512-rwYmxBihb/gnJRVdkZ1FmnfIaEs0u4g5zCtFvWZHz/Wo+lm9PpW08ynf/6sxiBBDPbiel0qXHCqqx4fUwkVvXg== + dependencies: + "@babel/generator" "^7.12.5" + "@babel/template" "^7.10.4" + "@babel/types" "^7.12.6" + ajv "6.12.3" + babel-plugin-macros "^2.8.0" + dedent "0.6.0" + gettext-parser "4.0.0-alpha.0" + mkdirp "^1.0.4" + plural-forms "^0.5.3" + +babel-preset-const-enum@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/babel-preset-const-enum/-/babel-preset-const-enum-1.0.0.tgz#d5273efda2a084fae52768c34130d64ce2524cb4" + integrity sha512-DHfcv3mkgIqPaFODzig3Esb91cCqZlnImSl7VAwJDtIsqJvx4H08kpl051um68gjqnAXg5up5nnn6NK+Cq0blA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + babel-plugin-const-enum "^1.0.0" + babel-preset-current-node-syntax@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" @@ -3441,6 +3580,14 @@ cache-base@^1.0.1: union-value "^1.0.0" unset-value "^1.0.0" +cache-content-type@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-content-type/-/cache-content-type-1.0.1.tgz#035cde2b08ee2129f4a8315ea8f00a00dba1453c" + integrity sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA== + dependencies: + mime-types "^2.1.18" + ylru "^1.2.0" + cacheable-lookup@^5.0.3: version "5.0.4" resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" @@ -3563,7 +3710,7 @@ chalk@2.4.2, chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^1.1.3: +chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= @@ -3724,6 +3871,13 @@ cli-boxes@^2.2.0: resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== +cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= + dependencies: + restore-cursor "^2.0.0" + cli-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" @@ -3731,6 +3885,11 @@ cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" +cli-spinners@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.3.1.tgz#002c1990912d0d59580c93bd36c056de99e4259a" + integrity sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg== + cli-spinners@^2.2.0: version "2.6.0" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.0.tgz#36c7dc98fb6a9a76bd6238ec3f77e2425627e939" @@ -3798,6 +3957,16 @@ clsx@^1.0.4: resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188" integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA== +co-body@^5.1.1: + version "5.2.0" + resolved "https://registry.yarnpkg.com/co-body/-/co-body-5.2.0.tgz#5a0a658c46029131e0e3a306f67647302f71c124" + integrity sha512-sX/LQ7LqUhgyaxzbe7IqwPeTr2yfpfUIQ/dgpKo6ZI4y4lpQA0YxAomWIY+7I7rHWcG02PG+OuPREzMW/5tszQ== + dependencies: + inflation "^2.0.0" + qs "^6.4.0" + raw-body "^2.2.0" + type-is "^1.6.14" + co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -4023,14 +4192,14 @@ contains-path@^0.1.0: resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= -content-disposition@0.5.3: +content-disposition@0.5.3, content-disposition@~0.5.2: version "0.5.3" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== dependencies: safe-buffer "5.1.2" -content-type@~1.0.4: +content-type@^1.0.4, content-type@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== @@ -4057,6 +4226,14 @@ cookie@0.4.0: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== +cookies@~0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/cookies/-/cookies-0.8.0.tgz#1293ce4b391740a8406e3c9870e828c4b54f3f90" + integrity sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow== + dependencies: + depd "~2.0.0" + keygrip "~1.1.0" + copy-concurrently@^1.0.0: version "1.0.5" resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" @@ -4196,6 +4373,15 @@ cross-spawn@7.0.3, cross-spawn@^7.0.0, cross-spawn@^7.0.2: shebang-command "^2.0.0" which "^2.0.1" +cross-spawn@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + cross-spawn@^6.0.0: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" @@ -4532,6 +4718,13 @@ debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0: dependencies: ms "2.1.2" +debug@~3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== + dependencies: + ms "2.0.0" + decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -4561,6 +4754,11 @@ decompress-response@^6.0.0: dependencies: mimic-response "^3.1.0" +dedent@0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.6.0.tgz#0e6da8f0ce52838ef5cec5c8f9396b0c1b64a3cb" + integrity sha1-Dm2o8M5Sg471zsXI+TlrDBtko8s= + dedent@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" @@ -4578,6 +4776,11 @@ deep-equal@^1.0.1: object-keys "^1.1.1" regexp.prototype.flags "^1.2.0" +deep-equal@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" + integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= + deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" @@ -4670,6 +4873,16 @@ delegate@^3.1.2: resolved "https://registry.yarnpkg.com/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166" integrity sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw== +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= + +depd@^2.0.0, depd@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + depd@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" @@ -4683,7 +4896,7 @@ des.js@^1.0.0: inherits "^2.0.1" minimalistic-assert "^1.0.0" -destroy@~1.0.4: +destroy@^1.0.4, destroy@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= @@ -4970,11 +5183,18 @@ emojis-list@^3.0.0: resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== -encodeurl@~1.0.2: +encodeurl@^1.0.2, encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= +encoding@^0.1.12: + version "0.1.13" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== + dependencies: + iconv-lite "^0.6.2" + end-of-stream@^1.0.0, end-of-stream@^1.1.0: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" @@ -5106,7 +5326,7 @@ escape-goat@^2.0.0: resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== -escape-html@~1.0.3: +escape-html@^1.0.3, escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= @@ -5438,6 +5658,11 @@ estree-walker@^1.0.1: resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== +estree-walker@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + estree-walker@~0.9.0: version "0.9.0" resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.9.0.tgz#9116372f09c02fd88fcafb0c04343631012a0aa6" @@ -5866,6 +6091,11 @@ for-in@^1.0.2: resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= +foreachasync@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/foreachasync/-/foreachasync-3.0.0.tgz#5502987dc8714be3392097f32e0071c9dee07cf6" + integrity sha1-VQKYfchxS+M5IJfzLgBxyd7gfPY= + forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" @@ -5893,6 +6123,11 @@ form-data@~2.3.2: combined-stream "^1.0.6" mime-types "^2.1.12" +formidable@^1.1.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.2.2.tgz#bf69aea2972982675f00865342b982986f6b8dd9" + integrity sha512-V8gLm+41I/8kguQ4/o1D3RIHRmhYFG4pnNyonvua+40rqcEmT4+V71yaZ3B457xbbgCsCfjSPi65u/W6vK1U5Q== + forwarded@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" @@ -5905,7 +6140,7 @@ fragment-cache@^0.2.1: dependencies: map-cache "^0.2.2" -fresh@0.5.2: +fresh@0.5.2, fresh@~0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= @@ -6056,6 +6291,16 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" +gettext-parser@4.0.0-alpha.0: + version "4.0.0-alpha.0" + resolved "https://registry.yarnpkg.com/gettext-parser/-/gettext-parser-4.0.0-alpha.0.tgz#a32e59ca1098d62ef7995c37452f24717c903b3f" + integrity sha512-s7udg3dOrlFtF/UREA/kkzT5Kj/C3C9lpr6oGx5F5LfIadXDntwgSWEGzJ869ROM0OnCsdmhcn+USXfLPpCXxA== + dependencies: + content-type "^1.0.4" + encoding "^0.1.12" + readable-stream "^3.2.0" + safe-buffer "^5.1.2" + git-config-path@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/git-config-path/-/git-config-path-1.0.1.tgz#6d33f7ed63db0d0e118131503bab3aca47d54664" @@ -6512,6 +6757,14 @@ htmlparser2@^3.10.1: inherits "^2.0.1" readable-stream "^3.1.1" +http-assert@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/http-assert/-/http-assert-1.4.1.tgz#c5f725d677aa7e873ef736199b89686cceb37878" + integrity sha512-rdw7q6GTlibqVVbXr0CKelfV5iY8G2HqEUkhSk297BMbSpSL8crXC+9rjKoMcZZEsksX30le6f/4ul4E28gegw== + dependencies: + deep-equal "~1.0.1" + http-errors "~1.7.2" + http-cache-semantics@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" @@ -6533,17 +6786,7 @@ http-errors@1.7.2: statuses ">= 1.5.0 < 2" toidentifier "1.0.0" -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -http-errors@~1.7.2: +http-errors@1.7.3, http-errors@~1.7.2: version "1.7.3" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== @@ -6554,6 +6797,27 @@ http-errors@~1.7.2: statuses ">= 1.5.0 < 2" toidentifier "1.0.0" +http-errors@^1.6.3, http-errors@^1.7.3: + version "1.8.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.0.tgz#75d1bbe497e1044f51e4ee9e704a62f28d336507" + integrity sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A== + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + http-parser-js@>=0.5.1: version "0.5.3" resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.3.tgz#01d2709c79d41698bb01d4decc5e9da4e4a033d9" @@ -6605,6 +6869,11 @@ human-signals@^1.1.1: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== +hunspell-spellchecker@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/hunspell-spellchecker/-/hunspell-spellchecker-1.0.2.tgz#a10b0bd2fa00a65ab62a4c6b734ce496d318910e" + integrity sha1-oQsL0voAplq2Kkxrc0zkltMYkQ4= + husky@=4: version "4.3.8" resolved "https://registry.yarnpkg.com/husky/-/husky-4.3.8.tgz#31144060be963fd6850e5cc8f019a1dfe194296d" @@ -6633,6 +6902,13 @@ iconv-lite@0.4.24, iconv-lite@^0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" +iconv-lite@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.2.tgz#ce13d1875b0c3a674bd6a04b7f76b01b1b6ded01" + integrity sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + icss-utils@^4.0.0, icss-utils@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" @@ -6662,7 +6938,7 @@ ignore@^4.0.6: resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== -ignore@^5.1.4: +ignore@^5.1.4, ignore@^5.1.8: version "5.1.8" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== @@ -6750,6 +7026,11 @@ infer-owner@^1.0.3, infer-owner@^1.0.4: resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== +inflation@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/inflation/-/inflation-2.0.0.tgz#8b417e47c28f925a45133d914ca1fd389107f30f" + integrity sha1-i0F+R8KPklpFEz2RTKH9OJEH8w8= + inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -7048,6 +7329,11 @@ is-generator-fn@^2.0.0: resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== +is-generator-function@^1.0.7: + version "1.0.8" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.8.tgz#dfb5c2b120e02b0a8d9d2c6806cd5621aa922f7b" + integrity sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ== + is-glob@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" @@ -8022,6 +8308,13 @@ jss@10.6.0, jss@^10.0.0, jss@^10.5.1: array-includes "^3.1.2" object.assign "^4.1.2" +keygrip@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/keygrip/-/keygrip-1.1.0.tgz#871b1681d5e159c62a445b0c74b615e0917e7226" + integrity sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ== + dependencies: + tsscmp "1.0.6" + keyv@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" @@ -8075,6 +8368,75 @@ klona@^2.0.4: resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.4.tgz#7bb1e3affb0cb8624547ef7e8f6708ea2e39dfc0" integrity sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA== +koa-body@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/koa-body/-/koa-body-4.2.0.tgz#37229208b820761aca5822d14c5fc55cee31b26f" + integrity sha512-wdGu7b9amk4Fnk/ytH8GuWwfs4fsB5iNkY8kZPpgQVb04QZSv85T0M8reb+cJmvLE8cjPYvBzRikD3s6qz8OoA== + dependencies: + "@types/formidable" "^1.0.31" + co-body "^5.1.1" + formidable "^1.1.1" + +koa-compose@^3.0.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/koa-compose/-/koa-compose-3.2.1.tgz#a85ccb40b7d986d8e5a345b3a1ace8eabcf54de7" + integrity sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec= + dependencies: + any-promise "^1.1.0" + +koa-compose@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/koa-compose/-/koa-compose-4.1.0.tgz#507306b9371901db41121c812e923d0d67d3e877" + integrity sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw== + +koa-convert@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/koa-convert/-/koa-convert-1.2.0.tgz#da40875df49de0539098d1700b50820cebcd21d0" + integrity sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA= + dependencies: + co "^4.6.0" + koa-compose "^3.0.0" + +koa-router@^9.1.0: + version "9.4.0" + resolved "https://registry.yarnpkg.com/koa-router/-/koa-router-9.4.0.tgz#7bd3cd4f6247256e4b56fbb2203bde3851acc15a" + integrity sha512-RO/Y8XqSNM2J5vQeDaBI/7iRpL50C9QEudY4d3T4D1A2VMKLH0swmfjxDFPiIpVDLuNN6mVD9zBI1eFTHB6QaA== + dependencies: + debug "^4.1.1" + http-errors "^1.7.3" + koa-compose "^4.1.0" + methods "^1.1.2" + path-to-regexp "^6.1.0" + +koa@^2.13.0: + version "2.13.1" + resolved "https://registry.yarnpkg.com/koa/-/koa-2.13.1.tgz#6275172875b27bcfe1d454356a5b6b9f5a9b1051" + integrity sha512-Lb2Dloc72auj5vK4X4qqL7B5jyDPQaZucc9sR/71byg7ryoD1NCaCm63CShk9ID9quQvDEi1bGR/iGjCG7As3w== + dependencies: + accepts "^1.3.5" + cache-content-type "^1.0.0" + content-disposition "~0.5.2" + content-type "^1.0.4" + cookies "~0.8.0" + debug "~3.1.0" + delegates "^1.0.0" + depd "^2.0.0" + destroy "^1.0.4" + encodeurl "^1.0.2" + escape-html "^1.0.3" + fresh "~0.5.2" + http-assert "^1.3.0" + http-errors "^1.6.3" + is-generator-function "^1.0.7" + koa-compose "^4.1.0" + koa-convert "^1.2.0" + on-finished "^2.3.0" + only "~0.0.2" + parseurl "^1.3.2" + statuses "^1.5.0" + type-is "^1.6.16" + vary "^1.1.2" + language-subtag-registry@~0.3.2: version "0.3.21" resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz#04ac218bea46f04cb039084602c6da9e788dd45a" @@ -8251,6 +8613,11 @@ lodash.debounce@^4.0.8: resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= +lodash.mapvalues@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz#1bafa5005de9dd6f4f26668c30ca37230cc9689c" + integrity sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw= + lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" @@ -8286,6 +8653,13 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== +log-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" + integrity sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg= + dependencies: + chalk "^1.0.0" + log-symbols@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" @@ -8350,7 +8724,7 @@ lowercase-keys@^2.0.0: resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== -lru-cache@^4.1.5: +lru-cache@^4.0.1, lru-cache@^4.1.5: version "4.1.5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== @@ -8509,7 +8883,7 @@ merge2@^1.3.0: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -methods@~1.1.2: +methods@^1.1.2, methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= @@ -8574,6 +8948,11 @@ mime-db@1.46.0, "mime-db@>= 1.43.0 < 2": resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.46.0.tgz#6267748a7f799594de3cbc8cde91def349661cee" integrity sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ== +mime-db@1.47.0: + version "1.47.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.47.0.tgz#8cb313e59965d3c05cfbf898915a267af46a335c" + integrity sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw== + mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: version "2.1.29" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.29.tgz#1d4ab77da64b91f5f72489df29236563754bb1b2" @@ -8581,6 +8960,13 @@ mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.17, mime-types@~2.1.19, dependencies: mime-db "1.46.0" +mime-types@^2.1.18: + version "2.1.30" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.30.tgz#6e7be8b4c479825f85ed6326695db73f9305d62d" + integrity sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg== + dependencies: + mime-db "1.47.0" + mime@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" @@ -8591,6 +8977,11 @@ mime@^2.4.4: resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe" integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== + mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" @@ -9093,6 +9484,11 @@ node-dir@^0.1.10: dependencies: minimatch "^3.0.2" +node-fetch@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" + integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== + node-forge@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" @@ -9337,7 +9733,7 @@ obuf@^1.0.0, obuf@^1.1.2: resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== -on-finished@~2.3.0: +on-finished@^2.3.0, on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= @@ -9356,6 +9752,13 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: dependencies: wrappy "1" +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= + dependencies: + mimic-fn "^1.0.0" + onetime@^5.1.0: version "5.1.2" resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" @@ -9363,6 +9766,18 @@ onetime@^5.1.0: dependencies: mimic-fn "^2.1.0" +only@~0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/only/-/only-0.0.2.tgz#2afde84d03e50b9a8edc444e30610a70295edfb4" + integrity sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q= + +open@^6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" + integrity sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg== + dependencies: + is-wsl "^1.1.0" + open@^7.0.2: version "7.4.2" resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" @@ -9415,6 +9830,16 @@ optionator@^0.9.1: type-check "^0.4.0" word-wrap "^1.2.3" +ora@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/ora/-/ora-1.3.0.tgz#80078dd2b92a934af66a3ad72a5b910694ede51a" + integrity sha1-gAeN0rkqk0r2ajrXKluRBpTt5Ro= + dependencies: + chalk "^1.1.1" + cli-cursor "^2.1.0" + cli-spinners "^1.0.0" + log-symbols "^1.0.2" + ora@^4.0.2: version "4.1.1" resolved "https://registry.yarnpkg.com/ora/-/ora-4.1.1.tgz#566cc0348a15c36f5f0e979612842e02ba9dddbc" @@ -9675,7 +10100,7 @@ parse5@6.0.1: resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== -parseurl@~1.3.2, parseurl@~1.3.3: +parseurl@^1.3.2, parseurl@~1.3.2, parseurl@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== @@ -9750,6 +10175,11 @@ path-to-regexp@^1.7.0: dependencies: isarray "0.0.1" +path-to-regexp@^6.1.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.2.0.tgz#f7b3803336104c346889adece614669230645f38" + integrity sha512-f66KywYG6+43afgE/8j/GoiNyygk/bnoCbps++3ErRKsIYkGGupyv07R2Ok5m9i67Iqc+T2g1eAUGUPzWhYTyg== + path-type@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" @@ -9854,6 +10284,11 @@ please-upgrade-node@^3.2.0: dependencies: semver-compare "^1.0.0" +plural-forms@0.5.3, plural-forms@^0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/plural-forms/-/plural-forms-0.5.3.tgz#63c97b0f3be6ead92276d6f6ae81996508997911" + integrity sha512-t/hkjsTeDwaK9n/z6tUiSHySTC8sPnTiS5YF3Y5p4L+eomzXh7O0vEemkjwb68/82w0Rjw4uED3X84X7vXf9lg== + pnp-webpack-plugin@1.6.4: version "1.6.4" resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149" @@ -10770,6 +11205,13 @@ qs@6.7.0: resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== +qs@^6.4.0: + version "6.10.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.1.tgz#4931482fa8d647a5aab799c5271d2133b981fb6a" + integrity sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg== + dependencies: + side-channel "^1.0.4" + qs@~6.5.2: version "6.5.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" @@ -10855,6 +11297,16 @@ raw-body@2.4.0: iconv-lite "0.4.24" unpipe "1.0.0" +raw-body@^2.2.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c" + integrity sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA== + dependencies: + bytes "3.1.0" + http-errors "1.7.3" + iconv-lite "0.4.24" + unpipe "1.0.0" + rc@^1.2.1, rc@^1.2.8, rc@~1.2.7: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" @@ -11232,7 +11684,7 @@ read-pkg@^5.2.0: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.6.0: +readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.2.0, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -11257,6 +11709,11 @@ readdirp@~3.5.0: dependencies: picomatch "^2.2.1" +readline-sync@^1.4.7: + version "1.4.10" + resolved "https://registry.yarnpkg.com/readline-sync/-/readline-sync-1.4.10.tgz#41df7fbb4b6312d673011594145705bf56d8873b" + integrity sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw== + readme-badger@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/readme-badger/-/readme-badger-0.3.0.tgz#87007f3c3e0c445e545134a305d8e3068fe9cd6e" @@ -11630,6 +12087,14 @@ responselike@^2.0.0: dependencies: lowercase-keys "^2.0.0" +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + restore-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" @@ -11781,7 +12246,7 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -12016,6 +12481,11 @@ setprototypeof@1.1.1: resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + sha.js@^2.4.0, sha.js@^2.4.8: version "2.4.11" resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" @@ -12359,7 +12829,7 @@ static-extend@^0.1.1: define-property "^0.2.5" object-copy "^0.1.0" -"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: +"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@^1.5.0, statuses@~1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= @@ -12587,7 +13057,7 @@ supports-color@^2.0.0: resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= -supports-color@^5.3.0: +supports-color@^5.0.1, supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== @@ -12616,6 +13086,11 @@ supports-hyperlinks@^2.0.0: has-flag "^4.0.0" supports-color "^7.0.0" +svelte@^3.20.1: + version "3.37.0" + resolved "https://registry.yarnpkg.com/svelte/-/svelte-3.37.0.tgz#dc7cd24bcc275cdb3f8c684ada89e50489144ccd" + integrity sha512-TRF30F4W4+d+Jr2KzUUL1j8Mrpns/WM/WacxYlo5MMb2E5Qy2Pk1Guj6GylxsW9OnKQl1tnF8q3hG/hQ3h6VUA== + svg-parser@^2.0.2: version "2.0.4" resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" @@ -12823,7 +13298,7 @@ tippy.js@^6.2.0: dependencies: "@popperjs/core" "^2.8.3" -tmp@^0.0.33: +tmp@0.0.33, tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== @@ -12959,6 +13434,11 @@ tslib@^2.0.3, tslib@^2.1.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== +tsscmp@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb" + integrity sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA== + tsutils@^3.17.1: version "3.21.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" @@ -12966,6 +13446,59 @@ tsutils@^3.17.1: dependencies: tslib "^1.8.1" +ttag-cli@^1.9.2: + version "1.9.2" + resolved "https://registry.yarnpkg.com/ttag-cli/-/ttag-cli-1.9.2.tgz#f50a0fb567450584355f1e9675a7dfb2463bdd43" + integrity sha512-afzwN6KsWsQQur6fB1viW8iiV4Bh/Q9OIO/ppLWfuQhUTVFDmd0MXrn9NaCPQb7H2GySzKcKY+n1EdY/w6aG3g== + dependencies: + "@babel/core" "^7.12.3" + "@babel/generator" "^7.12.5" + "@babel/plugin-proposal-class-properties" "^7.12.1" + "@babel/plugin-proposal-decorators" "^7.12.1" + "@babel/plugin-proposal-export-default-from" "^7.12.1" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1" + "@babel/plugin-proposal-object-rest-spread" "^7.12.1" + "@babel/plugin-proposal-optional-chaining" "7.6.0" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/preset-env" "^7.12.1" + "@babel/preset-flow" "^7.12.1" + "@babel/preset-react" "^7.12.5" + "@babel/preset-typescript" "7.7.0" + "@babel/template" "^7.10.4" + ansi "^0.3.1" + babel-plugin-ttag "1.7.30" + babel-preset-const-enum "^1.0.0" + chalk "^2.4.2" + cross-spawn "^5.1.0" + estree-walker "^2.0.1" + gettext-parser "4.0.0-alpha.0" + hunspell-spellchecker "^1.0.2" + ignore "^5.1.8" + koa "^2.13.0" + koa-body "^4.2.0" + koa-router "^9.1.0" + mkdirp "^0.5.1" + node-fetch "^2.6.1" + open "^6.4.0" + ora "1.3.0" + plural-forms "0.5.3" + readline-sync "^1.4.7" + serialize-javascript "^4.0.0" + supports-color "^5.0.1" + svelte "^3.20.1" + tmp "0.0.33" + vue-sfc-parser "^0.1.2" + walk "2.3.9" + yargs "^15.4.1" + +ttag@^1.7.24: + version "1.7.24" + resolved "https://registry.yarnpkg.com/ttag/-/ttag-1.7.24.tgz#3da0eb52ed3a3cef0cf94328d07b2ba570906788" + integrity sha512-8H/0dS6VYqBXzVBCo8f4s48TMIkC9UrALfMkXsaNWqKo3P3UQzfE1KZXlBkrhZho2A1iJuxUgGzHSgQvkZwGmg== + dependencies: + dedent "^0.7.0" + plural-forms "^0.5.3" + tty-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" @@ -13027,7 +13560,7 @@ type-fest@^0.8.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== -type-is@~1.6.17, type-is@~1.6.18: +type-is@^1.6.14, type-is@^1.6.16, type-is@~1.6.17, type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== @@ -13402,7 +13935,7 @@ value-equal@^1.0.1: resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== -vary@~1.1.2: +vary@^1.1.2, vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= @@ -13444,6 +13977,13 @@ vm-browserify@^1.0.1: resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== +vue-sfc-parser@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/vue-sfc-parser/-/vue-sfc-parser-0.1.2.tgz#f43dcb9eaa4deee1290c0c10dbbf0e06b04fbeab" + integrity sha512-fvYu4i5oxK4J25qYblmsotMINSY0KhP1LW/ElKaMin4CXQ2UqyjeUgAZaE2Zs1zYpIKGoEuMjEY+lmBghls1WQ== + dependencies: + lodash.mapvalues "^4.6.0" + w3c-hr-time@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" @@ -13458,6 +13998,13 @@ w3c-xmlserializer@^2.0.0: dependencies: xml-name-validator "^3.0.0" +walk@2.3.9: + version "2.3.9" + resolved "https://registry.yarnpkg.com/walk/-/walk-2.3.9.tgz#31b4db6678f2ae01c39ea9fb8725a9031e558a7b" + integrity sha1-MbTbZnjyrgHDnqn7hyWpAx5Vins= + dependencies: + foreachasync "^3.0.0" + walker@^1.0.7, walker@~1.0.5: version "1.0.7" resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" @@ -14073,6 +14620,11 @@ yargs@^15.4.1: y18n "^4.0.0" yargs-parser "^18.1.2" +ylru@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ylru/-/ylru-1.2.1.tgz#f576b63341547989c1de7ba288760923b27fe84f" + integrity sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ== + yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"