From 4497761d972ca2e2e985bf12c8848c90dac3fd55 Mon Sep 17 00:00:00 2001 From: Basir Date: Sun, 30 Aug 2020 09:51:03 +0430 Subject: [PATCH 01/65] Video-02-Install-Tools --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a838f242..e5e2ef19 100644 --- a/README.md +++ b/README.md @@ -3,4 +3,8 @@ 1. Introduction to this course 1. what you will build 2. what you will learn - 3. who are audiences \ No newline at end of file + 3. who are audiences +2. Install Tools + 1. Code Editor + 2. Web Browser + 3. VS Code Extension \ No newline at end of file From 2b9b3bec7e2a73e5999f93bbd3df85ec7d7dc9ff Mon Sep 17 00:00:00 2001 From: Basir Date: Sun, 30 Aug 2020 09:53:17 +0430 Subject: [PATCH 02/65] Video-03-Website-Template --- README.md | 10 +++++++- template/index.html | 29 +++++++++++++++++++++ template/style.css | 61 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 99 insertions(+), 1 deletion(-) create mode 100644 template/index.html create mode 100644 template/style.css diff --git a/README.md b/README.md index e5e2ef19..848d00a1 100644 --- a/README.md +++ b/README.md @@ -7,4 +7,12 @@ 2. Install Tools 1. Code Editor 2. Web Browser - 3. VS Code Extension \ No newline at end of file + 3. VS Code Extension +3. Website Template + 1. Create amazona folder + 2. create template folder + 3. create index.html + 4. add default HTML code + 5. link to style.css + 6. create header, main and footer + 7. style elements \ No newline at end of file diff --git a/template/index.html b/template/index.html new file mode 100644 index 00000000..47897533 --- /dev/null +++ b/template/index.html @@ -0,0 +1,29 @@ + + + + + Amazona + + +
+
+
+ amazona +
+
+ Cart + Sign In +
+
+
+
    +
  • Product 1
  • +
  • Product 2
  • +
  • Product 3
  • +
  • Product 4
  • +
+
+
All right reserved
+
+ + diff --git a/template/style.css b/template/style.css new file mode 100644 index 00000000..fd3ba778 --- /dev/null +++ b/template/style.css @@ -0,0 +1,61 @@ +html { + font-size: 62.5%; /* 16px x 62.5 = 10px = 1rem */ + box-sizing: border-box; +} +body { + margin: 0; + height: 100vh; + font-size: 1.6rem; + font-family: Helvetica, Arial, sans-serif; +} + +/* Layout */ +.grid-container { + display: grid; + grid-template-areas: + 'header' + 'main' + 'footer'; + grid-template-columns: 1fr; + grid-template-rows: 5rem 1fr 5rem; + height: 100%; +} +header { + grid-area: header; + background-color: #203040; +} +main { + grid-area: main; + padding: 1rem; +} +footer { + grid-area: footer; + background-color: #203040; + color: #ffffff; +} +/* Common */ +a { + text-decoration: none; +} +a:hover { + color: #ff8000; +} +/* Header */ +header a { + color: #ffffff; + padding: 1rem; +} +a.brand { + color: #ffffff; + font-size: 3rem; + font-weight: bold; +} +.row { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + align-items: center; +} +.row.center { + justify-content: center; +} From 00275a477fbcf2e66fa4966bfef2823e6a4de496 Mon Sep 17 00:00:00 2001 From: Basir Date: Mon, 21 Sep 2020 12:22:42 +0330 Subject: [PATCH 03/65] Video-04-Display-Products --- README.md | 6 +- template/images/p1.jpg | Bin 0 -> 102611 bytes template/index.html | 128 +++++++++++++++++++++++++++++++++++++++-- template/style.css | 39 +++++++++++++ 4 files changed, 166 insertions(+), 7 deletions(-) create mode 100644 template/images/p1.jpg diff --git a/README.md b/README.md index 848d00a1..69c915d9 100644 --- a/README.md +++ b/README.md @@ -15,4 +15,8 @@ 4. add default HTML code 5. link to style.css 6. create header, main and footer - 7. style elements \ No newline at end of file + 7. style elements +4. Display Products + 1. create products div + 2. add product attributes + 3. add link, image, name and price diff --git a/template/images/p1.jpg b/template/images/p1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..599e9cf59014a43a1c2f181a173c3dc338aa161d GIT binary patch literal 102611 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 G;Qs+o0YSY0 literal 0 HcmV?d00001 diff --git a/template/index.html b/template/index.html index 47897533..81858697 100644 --- a/template/index.html +++ b/template/index.html @@ -2,6 +2,10 @@ + Amazona @@ -16,12 +20,124 @@
-
    -
  • Product 1
  • -
  • Product 2
  • -
  • Product 3
  • -
  • Product 4
  • -
+
+
+
+ + + product + +
+ +

Nike Slim Shirts

+
+
+ + + + + +
+
$120
+
+
+
+ + + product + +
+ +

Nike Slim Shirts

+
+
+ + + + + +
+
$120
+
+
+
+ + + product + +
+ +

Nike Slim Shirts

+
+
+ + + + + +
+
$120
+
+
+
+ + + product + +
+ +

Nike Slim Shirts

+
+
+ + + + + +
+
$120
+
+
+
+ + + product + +
+ +

Nike Slim Shirts

+
+
+ + + + + +
+
$120
+
+
+
+ + + product + +
+ +

Nike Slim Shirts

+
+
+ + + + + +
+
$120
+
+
+
+
All right reserved
diff --git a/template/style.css b/template/style.css index fd3ba778..ce0f8430 100644 --- a/template/style.css +++ b/template/style.css @@ -34,6 +34,15 @@ footer { color: #ffffff; } /* Common */ +h1 { + font-size: 1.8rem; + padding: 1rem 0; +} +h2 { + font-size: 1.6rem; + padding: 1rem 0; +} + a { text-decoration: none; } @@ -59,3 +68,33 @@ a.brand { .row.center { justify-content: center; } +/* Image */ +img { + border-radius: 0.5rem; +} +img.medium { + max-width: 29rem; + width: 100%; +} + +/* Card */ +.card { + border: 0.1rem #c0c0c0 solid; + background-color: #f8f8f8; + border-radius: 0.5rem; + margin: 1rem; +} +.card-body { + padding: 1rem; +} +.card-body > * { + margin-bottom: 0.5rem; +} +.price { + font-size: 2rem; +} +/* Rating */ +.rating span { + color: #f0c040; + margin: 0.1rem; +} From 8cb98e7e872ded2248ca423f0a2bb8436c59a9a4 Mon Sep 17 00:00:00 2001 From: Basir Date: Mon, 21 Sep 2020 15:57:42 +0330 Subject: [PATCH 04/65] Video-05-Create-React-App --- README.md | 7 + frontend/.gitignore | 23 + frontend/README.md | 68 + frontend/package.json | 34 + frontend/public/favicon.ico | Bin 0 -> 3150 bytes frontend/public/images/p1.jpg | Bin 0 -> 102611 bytes frontend/public/images/p2.jpg | Bin 0 -> 107824 bytes frontend/public/images/p3.jpg | Bin 0 -> 86208 bytes frontend/public/images/p4.jpg | Bin 0 -> 63030 bytes frontend/public/images/p5.jpg | Bin 0 -> 63355 bytes frontend/public/images/p6.jpg | Bin 0 -> 67926 bytes frontend/public/index.html | 47 + frontend/public/logo192.png | Bin 0 -> 5347 bytes frontend/public/logo512.png | Bin 0 -> 9664 bytes frontend/public/manifest.json | 25 + frontend/public/robots.txt | 3 + frontend/src/App.js | 62 + frontend/src/data.js | 71 + frontend/src/index.css | 105 + frontend/src/index.js | 17 + frontend/src/serviceWorker.js | 141 + frontend/yarn.lock | 10849 ++++++++++++++++++++++++++++++++ 22 files changed, 11452 insertions(+) create mode 100644 frontend/.gitignore create mode 100644 frontend/README.md create mode 100644 frontend/package.json create mode 100644 frontend/public/favicon.ico create mode 100644 frontend/public/images/p1.jpg create mode 100644 frontend/public/images/p2.jpg create mode 100644 frontend/public/images/p3.jpg create mode 100644 frontend/public/images/p4.jpg create mode 100644 frontend/public/images/p5.jpg create mode 100644 frontend/public/images/p6.jpg create mode 100644 frontend/public/index.html create mode 100644 frontend/public/logo192.png create mode 100644 frontend/public/logo512.png create mode 100644 frontend/public/manifest.json create mode 100644 frontend/public/robots.txt create mode 100644 frontend/src/App.js create mode 100644 frontend/src/data.js create mode 100644 frontend/src/index.css create mode 100644 frontend/src/index.js create mode 100644 frontend/src/serviceWorker.js create mode 100644 frontend/yarn.lock diff --git a/README.md b/README.md index 69c915d9..6cc408bd 100644 --- a/README.md +++ b/README.md @@ -20,3 +20,10 @@ 1. create products div 2. add product attributes 3. add link, image, name and price +5. Create React App + 1. npx create-react-app frontend + 2. npm start + 3. Remove unused files + 4. copy index.html content to App.js + 5. copy style.css content to index.css + 6. replace class with className diff --git a/frontend/.gitignore b/frontend/.gitignore new file mode 100644 index 00000000..4d29575d --- /dev/null +++ b/frontend/.gitignore @@ -0,0 +1,23 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# production +/build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/frontend/README.md b/frontend/README.md new file mode 100644 index 00000000..9c40dcdc --- /dev/null +++ b/frontend/README.md @@ -0,0 +1,68 @@ +This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). + +## Available Scripts + +In the project directory, you can run: + +### `yarn start` + +Runs the app in the development mode.
+Open [http://localhost:3000](http://localhost:3000) to view it in the browser. + +The page will reload if you make edits.
+You will also see any lint errors in the console. + +### `yarn test` + +Launches the test runner in the interactive watch mode.
+See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. + +### `yarn build` + +Builds the app for production to the `build` folder.
+It correctly bundles React in production mode and optimizes the build for the best performance. + +The build is minified and the filenames include the hashes.
+Your app is ready to be deployed! + +See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. + +### `yarn eject` + +**Note: this is a one-way operation. Once you `eject`, you can’t go back!** + +If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. + +Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own. + +You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it. + +## Learn More + +You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). + +To learn React, check out the [React documentation](https://reactjs.org/). + +### Code Splitting + +This section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting + +### Analyzing the Bundle Size + +This section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size + +### Making a Progressive Web App + +This section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app + +### Advanced Configuration + +This section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration + +### Deployment + +This section has moved here: https://facebook.github.io/create-react-app/docs/deployment + +### `yarn build` fails to minify + +This section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify diff --git a/frontend/package.json b/frontend/package.json new file mode 100644 index 00000000..c8e6ec40 --- /dev/null +++ b/frontend/package.json @@ -0,0 +1,34 @@ +{ + "name": "frontend", + "version": "0.1.0", + "private": true, + "dependencies": { + "@testing-library/jest-dom": "^4.2.4", + "@testing-library/react": "^9.3.2", + "@testing-library/user-event": "^7.1.2", + "react": "^16.13.1", + "react-dom": "^16.13.1", + "react-scripts": "3.4.3" + }, + "scripts": { + "start": "react-scripts start", + "build": "react-scripts build", + "test": "react-scripts test", + "eject": "react-scripts eject" + }, + "eslintConfig": { + "extends": "react-app" + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + } +} diff --git a/frontend/public/favicon.ico b/frontend/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..bcd5dfd67cd0361b78123e95c2dd96031f27f743 GIT binary patch literal 3150 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 MDeX2GIKR{Qf5okjU;qFB literal 0 HcmV?d00001 diff --git a/frontend/public/images/p1.jpg b/frontend/public/images/p1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..599e9cf59014a43a1c2f181a173c3dc338aa161d GIT binary patch literal 102611 zcmeFacU)6T*C-r7Kn2A@6A+LhN(;RyM5Tj((wjs`0)&##n~)qE3J6HAiVBEysi8@1 zbP(xPkSRg#cal9UH30Rgl<`bHm_3<6O<`qoAkKnTtExH1hTALXJ0(R`S^FWF-%QZh;v0?%lg@FXO&_jE5QaGaP1NVq|1uVLy75<>*oN!;HJv_uIF` zUqh+`3=9Vj9yoOH;34LN2M;n+f`iQ8iX8r*R6u?SI=mP32y~N%iVsA6n2P2w75M{b z4`?6xEfoZyl9p=s0tlvD0B5Q9(9+TG-M62C>aR#D5H-yY2EQYV_q-8vAbg0q`MjI`SEyFxzS)UZ& zJgF9A3|D`h?j^_8X)=yjDY^Bg%X?x~Lnt=mc4^$(?#Zv2WpzDMYo_)-!SPSa>wBly zzYmnM2TTG?F^PDmcv15n`3ca&D@dK5E-f>(weOVR>% zV;(o6RgG9+o-)gVbQA*UPs+aT1c*pygR7g!c_GGslJLK$Krv;+5b+iSdjW|UMaz3~gFy{YJ`Nf^;@gv>T8J;J-g(BN6B+06$rifCngk&Y7 zmk2Y-Oxz$-S9vv;Z&xK5)Vkm-Mh1mlxwBbc-`KdF9rx)AUxJzIT1kR&L+MDL6GWq# z47x}LZDzI*FK-uhcvf9=ZOYzawWKM#mO{U!5``uj+G{Tr-a>yG?^-J@^y~n?h0SN*@*GzeOYU4>!Yb!MueU5_kZRZgHyp= znqEFrL4CY(hL)Jy;Pm~Pnar;>6X90NRk!=`a9G%o#ne|+`q$WMSIkV;_La74WKilh zL#G-4T2h=>>$-JYDQrz=@yQI`CosRKs~EZyqlZc7A%mFHn-7?OY6(5Zp=?y0Ve5^4 zK4UMx7Tjeusq5{j`k>UHsG!IyofYTpqw-X9;29$?70!8q%?|@B+Q4nkOJ~AT1F;5{ zIgcFI@qR+HE{Mo-!twT*ZD;7CL674xaa-{V{a+4!AWf4&{MX8#JrX}B1%H1W_25>t zwuSQ#sW6Pz762Ge?)atGf@adsI_}D)1!d?up&@Lfi6cgccg~j9<22`@_5T3XkU{eX zW`%i^eWu406qpf7nE7o;=^{ry5y`oX&Pl;4pqigL?iag!K z5UtG(&OSJ+^Aql(VxBKriL`md0|jdkO^4OA^fHBs=jTP9INoS@LWDXmzbQdgc2jE( zFbs=8ma7e3q~Ko_M7krs4(Nt)8f>1tW;w>m-XL==NKW?Mzz%*+^j(_GIqcIRxzLFD zT(^Xq;?7Qi*Dx{iDAEO7#LzK=ELd17kBbr?yK7N*2|=c+{F%F*e4W^-g{Ej#$9c4> zNssl19tDMiFx=bId2}z<@Ife1w~vubwCUm9iJOR}hIQZRw4ED?b-^i30?|&f0M{}p zVngoy$u~VzdcykIGvGrudrZ4N%nVs!-&vRWvfjJ)aB<>9E8?B6U@yVKVeJL1%!%k& z8p_@Qc|w%_V~M+c`;KL0&3w25s^Pw?QHF3Dl;Y6*xo~WM&3VSXmqn1eC(Ja{i>5n zm_bCxw!sd|x-@|yWxhwQhEew+mBN7eN}w|=bvqLMsNDp=7FQHHQ+*&Za63W1$Dd?! zrx!~Kv>3ItQl?&^d)#v$Tbjvfctz)-u3D0c3j7*=mOhucvOo$VuZQj1xX?Q5@6t4D zUip@_e2^1~oJ3Z(naw9JE01c0_|`R@Hn`TV_tc=nnXBU?wCo)jl%pX&WSh4>@$q(a zTgCZDP0pMZYUfey=#|>gllt*y4)+2Tw6*uJPsAl?Xbwqxh~E9Wz}|NFW$x(x2{P!) zU>VnYFC6>R%8$YUY7bIMa4iR1^=ni z##m{h|6Nq9wXUzJd7q5-LF}hFUt-0yfV@$g?0~T$SG`Kdxf4B$H?~s>Kh@7*9>$YF z(xkMl$YGPJ(cH8!O@o)VjU~!$GErZ3>H4-wqmLs#EUbz7k^(JbFVd(?zY^zGQ3_%X zJkqKf7o~ST9|87E|8yt1uPBda>D}le3Qo+IAk)V!%lz|I-!xLlW2tX0GAS(o{6 zw}B}G#6R^qt`qilFNY?*+SkPFl7V0a)nh6r^(ROkE{&P2z*r^T-ksb%-^R*pjuE!xaSW!~ zKlhNUVc#BCr9*kA`rmI4zjD0yCuu<^EB#g*yR} z&Beuw4M;|D`@s#8Xa8vX&RSZBYC&E7Q(lX*J7bSZNMWXheP@R+az_jmr_J`voA!e$ zKdXE}ut;w;5PZp?x5YycN!6Copku4YRl_^wWnL80790hUL4_+OGl|dBMjX4^-OxnU z1Zjg_eD3*Wf~IY6kR^&EZQiu3NQn&6XywZZh!-nYk}E2wt9fvxEN-Bv-2(@!KJ4?w zyC=>vuy2I7`3=kAM%M3tnG?T$58>kKT`GAGB%6N- z#3h^0Ad+q@RyADm4EOh=)7a4>XXPEzT1#2;nlg&s~c{pP? z@ti%n3nvad)T}(^q)Bw4_%Swz4)tEI@zdyRPgNhObJ5E0dPYX4Yj1ocRZf&g=2hAU zm&GBZ^6tNRqgr#Hzzm9=`7X)#Dp)M!00RN9$4 zy=Y{Jf#<8WMVpTcQ4o`^T>JKQiIiZ()?qRz>GYxV;% zR?mXkw3{D4BU=h1^6VT|L>N$&ySO3O16*0IXT?^Nk`+0a8lS|S7WAFItQR*iIeM<> z_ARM-RV}xnvNqQgIk3UYIhi#VovLShWV_|=cRjX!rkKQ11%dPirL7g7_rEInHjvGi zB$B+7B3(3Epv-D?pZ@BGT=O~^gnpk%2CZeZc8rG~9K$H?O;JueKikbAk)2269q>ha zzW7WAWlSLiqN)El9)HxHkS!3czF!;IW|I59KPG_HP5_C2w3Z?&3MnbLV|JCh{=Qc} zP>i-L;wyIih2Se9wglVj%-&nad|BP^Z7E?+OrAj=gBfzI3MYe>LDl~rFVJf z_KLj4R9iUge0ta5&mGTSXWmmv7i>H&&1?MfCFHfu#>sjXK8=>v&ERSh>R3+6GdR|i zYA0Xs<%vSK2Pa7xOJijY|vEYmv)Po6%hHK+W7Z&#Za|Co-r5dHnv`?4Py{zic#Z z*w)^Sn$4q4ebPEN%(D}7(5k1{6kVyqMxHz9 zuf4tR;<|pE@&LW-RUn;N9@KNo~h}QaL zJ3T;NWLx={LM<&W0aCc2t+!{-u5QP~MP&)1;S|*50+eNn;=YR$+{GPgYu^rf)=;~T z*3GA&koJxKE>39|HwA=;fFDKo1%VjcJOB;dz}w5s+Y3n2Qec-ny^QS8XqVj_+9)ps z0_E*WK~Un9yQ+%^CC#*3)(GiG$#DVcMJYo;f2$MWp>OMoFjhA=20-5$`&QtR2O4c} zgz)lqGq7`l0Z2yBCBWK%2L9|pydWbG0^|kq2DwqH0_}JEnHxy$R&&9{3-z5MMmuk$ zix(2LTP1+sx0_p4&qDVbH_lM1pcVsyfA#ptFFiJJ^FpFgo&cVWl2g^q3-zNDKqu`y zekKeZJoSDiR6S6t|4N{|{*}0B=i>PjqwnD5^E09D>Z0~D0r2r(RbPNPJA7xvH!gt; zH7}?F)a=?l4B@=IaJ0AGIrK*gg}axg2kO7TF1Y;Hd>1_6#wI8)4Squx%GmzAF1WyX z{~g@W)5U8Se#y_}oZ-*x`+X2FFSLi6t(PsO2fIXGa=7IALnHmWGU&ojiT_51 z;ZK3y?FOBv3lfI#GxF;=0Fbf2+mDCE{%@Hn5DG@y)qxkd{XgA*8gCDm zKRt4Gng3^qo~Of~A4_z$E?&mA4u8sZ5QcDZF-G`#X?toJ>s|b@@a_Ep{!`|Cj%bg7 z^Dan-ADm+P)_JWTV4&ypaD=_B_wGWx&j;b*^>4D9{s8|uJA<8rD%u6@@e6Ygf2;q3 z=1&Ar1f-8fQFy)23+)Cx&^-~qu5|ldfF<$2KpE|Jm(c$LX8?xS@vqr;XWS`DL%f zF~9#~e*ee({*U?nAM^V^=J$Wh@Bf(J|1rP+V}Ad~{Qi&m{U7uDKj!!UZ_MxCG}{w^ zwh98Q(tyHBQC^uq=Rt75RBZ>Csd)jzwIdMs0)C#mF*hK`k^e&uUXUvAM^S}$HR^BH zDEeLV56}X6?7+CAmzSFo7>x21x23#PCk{iqg8gjWz>?w;V9;5JpPMbr8R5lihX8Cd z%6wm{@qD~UxH6xate%9Pn<~N)sTJUXFbdE&h6Omo6ybaj72dOcN`9_xt_Uw%UO!hC zl&6xPGT(0HN z6y=qYkdy~Y$bu#0#3Uql-|Lg){eJNQt$D!hl?>H1zPAOWl=;4Q%GcLd+*ev0?co5H zR8&+1OGtsGq{M(6VxImeFIzt`lqdg>8q^S;Fc0Lejh>fMBVd2__EP2pDE-z2SGS+l z{##!C$Owo1%;yFeh;|!?!@vj^gewB&HYfxKgP|~^=A{FUg|zTH~za(_M{klz=jA zALX4&F$o1RDLLaG?^KFN$S6rme9Nlpfv^P(_r`$H{>Pa9>on=luV?;J0P$G73u4a=+HC2Z#(DI1%_Y^S>no4pXv6d$`&H9Y(s^Iv~JKZU_fH-k*F_+BIPT zy#o3py-S9ko{~1o)5{hGLujih^8uX}MF&SyNjF_Ulgrb;& z9ZW_>LDAmc9uE6aUJVWNrVK5m{5L6wqhUZD|7umy7A7YnD=i}?DGienQ;?NW5VMt* zkP(wplu?khm$j9Vmyr5V+c$%!t;?^qQmBFhHOk6KNz2>Y+KWlS;I?8iigLC9LDGt1 zQnvO0nfCIw2uUf5IPXe`k`~ev7!d#O6T}GN{ypY`l4uTT@bM7QKCOrTa_QH;y?F)IPeb#{^7ts9QcO= z|8U^{M;!Qn`y^jL8~eqz2+#w+yB5*y*|Uds4;?Kn-99?t$FP@RANZ zLrX(VM+N%sT0~7v^D7oO$NR;#h?bH{hxdSJ0pFtYm+6k$0=`Ae zQc;iTS-!dUj7hWFEeUwsSQb>3F^Yat4D);~t0okaULwb44EK7|IllMg&3*gXkKKw@ z*T^U}?J_yVu`;nraW6u6-;Vp{V)Vc9FjCMmcl5iP_^hI_|I_AaMQsbDe@IexWz)dy zmavkJrBgs?a!ytA;N12%S0ox*TEIPO&t4iD*WGhTiZ|4G+RFgNbne%qq#hS7F~8~< zskEg++MgEiVn@CmH=HN9u2?6}%ZHsct;@rwP}NjY^6A-I=`{7QPsn^UK| zCRT67W|aP!WQ||kqJH&?`V-Cn4atA;UeXs{FzL@NGP5hFyAoQ>;`1LSE$di6Na~ms z`rpxb?;=p!Q!r6luAc1xIeLvRG9-m)9RfPVB+?C;;T!X@O?QkopwFJoZ|lz8kHa70 zBnic(mbSu5nX#);RrfAF{cFHlJrU=)IUD zZvoQw+j-5Em|_tE$C&S|tk5UPCYA=NOdHoc(Eh_(?R{=B>2*9YkJ`!B;Cxef|B;2$ z|7q9$!WJmty!1CQ&0Hu2qEHhxRUKSjUG1E5YiiDFurQY|ZZNGlZQdg=B>L|2Gheov z86^3GG}V$FD@co(-r<#gRX0Wt8hgmyLo2TKrL7s9ZKJu;biC9jw1wFnoYfM)ladre zIx0La_U5?cyfRqVo($59nv61w@vtXU?1)5-+f%zUzMl;fFx7KaE^A&!9fWj z!f*KY&T|a&&T2qEGzbyE`WF*ZXz26$F@7XVsMDc=^9AP^=Z)hH3TehzlZ>2v?MKJ;<*t{s zVHI`=*QVOVwOoxl+46dqN2J9t?G3Z_D&Q4=+=jn#o7@B|^rREV)cRwotZZWEQiMJP z;d|Bun-UXLlU@9tvDc|>-axbl)0ai8$bYi%xduNc9I)XICan44>LwaU=%(16BR8s=l|wGG#Sr1JeXFR(aM>oqg9|#gSxX<7cJzwWr-H@IWOG;? zxA|U+4s+HEZ=zRuN}4dDrcvy_z1RTWV1L8tno7>J%YP!7b{x#iwI*8jHy0IBHCu4p zCMxu8jYb|PH4HU2cG`*7UfStgT?1SV3;DW*&Lfd7$|9W1C~H3Z!uruNe$3F6{M*qJ zui0tj)6wngDI^94hRfy_*lWV1<=ST4!V0l)t;ovMd|HcW8U+ilZ4F<_#pd9VMJ{GV zees?8m#uenMw`OLN?r)Pv$QFKZOfaz2!W$NJH)}p!%6KV8NZcB@A}t^?8{4}>poq1 zwH~hqy%R~G9*`)FX$o?0*|?miOE`<^W!(=wip?in9A(;J6)v2&c(S^NXHV>hYTXrnSa|$YHzLn6j z&aoJd$q(A!{A?7-PRu~Bq@%P3Jay2&@kpVpyI6A9?~iuQm4bOoR7j?^Q*!D&ZCs8_ zbhY2XH(QCsSm;oFZyGno31e&RztQSGdZ@R`BzfDE73I`DWg4$eP{~M}B!hfokMz@U znp@7zX<2QAaRv5ZY002qm+J>!J{Ff5I1zO(mr!Amv59ZW;=mTWr0m(#ySVm_i2!LM zSjW28UFuYoUC-n)Y;56jCP0dF3H;2UBvM#};3mI`$z~;1xG>P-kK4%~47EDVw`6jg zOfWom3hQ?A|A_sgDX;`BSlZDBAH8xt!}wuSMIITn+7!uxUW0r{qPF-We3d@oE9;c^ zQ(>9FN?k^m4k_H73=I3wR#!0V9?3Id*G!@+H9ByECg{b@Vi#bk!1@(}>o@?HHoKhV zVfklm%;B@SfslEuxNvw))I(Xd$W99t)`|66*C^2&$gKWtIj1l}6C4V-lQcUmk{aUA zl^hE4-Ljb4s=-e_IHQwv+2OWDfwFW{khXc_9OwEAIkaxVj#-kV+klT&?(^ST%mE+1 z-<{?nt4xV9Y2veNO7;1Wp09-S%}7VfIGIZ8aWI@0_~@6^DYq1A{;x;r`q z+iOZpO=LjcbIp^93zn-4i#(Q2ED$O4BZGBWSMqUN= zYfFr@16^BjJi*}A$CVHxpE3G*ax)I!JQj2HLP9#vpg#vd=cFZ3A*V*9q07X?6dGc- zkW;v7m%SE#4~br@ev0HLgS?~zg@K;SOzKeQ1q8<@+`mv9kk^_E*%EGBE|DKFX=JrS zm&t_440u&*b{!Y!8f4y1uTwo17Wt|nV%Tr`qP5KLi$l+Eivuu|SEJ12dP&+ygc#uN z$ofuchdVF4<{lpLLc!2PANr*=m;aQCZWJ7Kwzew}vi8o@D)zIOADCq_p8#bedfs9c z;9Kwl{Aedkf%)Iqd~t$KcZv)W-%9>GW~LXOgheD_SjZqacDg2G>c9l&8Qf0Fszydm z-(bQc{FgG6?$;>?X-VccBx5UeG+!MgTWAq0f{m5%D>k;dxg~_cU6$<=ykQWGT{Ed| zB!lcK6ebHTaUEV(r%XkzX>Hc$;E$|qnk`J;buPUqSClKQ&Qo_^(h6qdvQx5>mbj(7 z7G38{kar6_f-TN^J-V>O83y+ldb=~W#W}5a9G<2=m1`lt@MQS`21$S}NG`S6lr7)=HN_-_Qa?j=TtZ+^Cb+jCPq2KAjnHJaRb#v|5y@rt zI(on3=aZWSLeU0yLhIWIWn1Dp{f0O}b>m=J^B%t)k);V;^fUYnr%R#OPRLo@krGYM zAkp{^sp4(-Tj8ff##;!AC>6aU0Rt`U^uMKe6as#Uzq?FK@vKIvSSA>+s5-HJ9x1;+ z@3wq%snkF%pl}O<#12eZ96P^~D$;I+3EH4U(+0QjmfN z`q!4B5(pnkcpQTPrFl~ZO z_6cQi75(vhN)zzSgTCJ$AO6++x(E1}wWPu)Ym59P53+6@v`*+cW8@O4&UCAeO>54t*`s(QMjWc1fQ_EU8`J0iOLx zd{o^A@Ckie94ob`qK;CO+q-5XC4PkcNJ!*elwNe$5tB;z%_E#^3OKIBs~0j-{g$n@ z?Drp0Z@vqJ2Io{e{o+@D9AH@~!wpj^n*C`C9EqHJQUn4bqZ2gKO0N zS=oFmaDwjAO6%Q)@r2&A)d*7&^p^7;QX1Whig+JLTPNT^+;sM#%0+=S{&%W^lU34qj&U{abUavT?@eV7AX&0Fmz+Y_9AM5*C)UV%dAIR7DcDBpQGP%nmYuUb<>#KmCHV}bFSq?8Cl zRSCn{LQ#tf(d9gRb8GJQihwlIYHYK3kMz~Flo5+aqm`Pz!(~rYEaUaN_;Oi!N#Usv`9}3ms7;LnbPeO@CPR-F`*2>K%C+g+mA$oqq!gaB@w)=NHt~pG8fSFGDx@T*=541KNcwrENkHb6g!IRWu zx8xcOJC5a{vf{64poatUTO#%2CYvj1PD(N68sjWV35jV7rLN2H46p0sf=fnh9&@R%gPzo}#R7 z;>qpibQz{SKBK1nqDWK}v9Nq+l%zftY@6dQ$@=vHM7;-ZAY*noFPsLO?p)qj-mXOI zykeF08QAw-IZ9H8OQ|QGkv4ZVHHDhWPH|s2TwWyBrjkv0W_&6}6W6g8q~na_NUg1~O;~^O z&>-Y}T3Nlu$F1NXDNl#_y9pj5U6F=e3lN8S3881Bb5rzoLxC6i{6kmzT9nRWpFEoK z6$x-^S=JhzBZK0|ppz@??MH3HC9haDV(hwQyt}^y`JppoVpjw8I5b+8JhDzsw5+d8 zh_iCBruZAIJayISyOcbI$!9d}P|tds*EaVKk1|_pA3zUzX-%v_sv?iZcSN$Bkhunx z@OQ8&Ev`oEWyG0W)m&pSyH5}!6&UJOf-_~3PQx?^7jyb0!&9|a4JUZAMWj~jZA5P1 z;Pv9AAI^(czF`P(t}{vZF&)P{6s~-vYGh8D_3=>4f8CMp&)J<+%VLjSNm4o4^hckt zzU$%u+r$JZhxAS-xyckUQ7gKidJG?kZyh+&&#o7IljX~Fu2WZrfwQaqTw_~PQu19q zoupb)EGzbMbw$_srt1}dwY1{Uq4#i2xuNm!HAFnqyL!51VED@#ntI^`IH(@J zf6-u5u+={$PR^Fo5bHe^S1~0*1_g{V>Jd(p8icv^o){-01^QtjZ4Xh2XuN?fnH zX;qwf;_!JcXyc=xfzmrdQ02B7IX0Wa}tfVn!ID9vwDTFRoUp?Acr*I(YFs27D)y ztD4KledVZQuZ2o;pxDhjJ_4a8!N{W@lQ7@`GDzgm4Qg5Y+xRAzMA5zCNx31yhdSj& zGfH4Kc1c038mP0C;GH8=4$0>%wlKM@X+HPzms*y#otrSa>&5*STK4HA6{Nx2rP}$5 zpJ07B#{}`oNila0$RL`KccBz;u$UxYf{`=f(;&?h%s3CT*m$4seWgm4$ddlk2G6;wTEQ=CQ=?2YhI3)R%L1E z6&va~*-kZba~7IBFTiiwRkGGGg>Z(rIGX(~2^aijU2^HpYA%~oaR zxl$|D@(E6O=Q~@_Nf;ZSb<#$3U|nXz(>!gZ(xMU(to+WwD-l*Qlh@}`tml(sJGEJ( zm~Aq!BUeVGHK~D5ZDkXhAd{)sW&49-@9j>b5^_eFA}>daBw+;Cc%gbMSjT0%VeH3c zQLTMxr=~W?(P6y0NA`>Sc%(NK zpNJ({X*RUzo|qRcSX=&725cwW;*;gsXf8Pxw>Fl?XWvQTK(p%qhJsS~H)w;D@r%^4 zQ-3nzpGVSnOb$+0ZZ#xYiqzWF>`#qlC0NVboGsx9xaP^9%X_vb|LF>Gu|2K;fy8Q7 zi?WHW-_s+!6(benMC)5v`*q$3tt`GSAIA4I3vga-J{hf0I+WluUYp|KVxe-aw=~Fb zZXAINhhI-hRybLDgWJt*^7T-Zv`m`Vxh$8t>SFG*`Gjy?MFmnfv4@6Hjr= za-jLL*sT`Lim1M@pr-`gmISUFr@hxYaoPI|fe*nTi!5Quv8iLpBNH2`X6yK7GN=GM z`ILHq)pJsz6=PCtIGi$(i*46vd&u*+Z+biFpmp!>EOV5yf6pWjj6Wt8L#h1k z%&gz<9gI&Yd|P7*{pvpucsU1*-FIRYQt~^$+lHdcwvA&mnV3nE+MunXFJdz48Ai)&?ST9;7u9l1};vl`rL%c zZ!@MAnqW?bD_bZ4#u?)S4JUc0Rrj5~jZa+*1De$AazI|GJr=~IZH9aMr6H2Qn8+A$ z=qS5Yo8EG%dp&;Y40carVp$Zk!6&?|O>U6gy2wH3hk$)^&7)JS7-9U<5rmpd3^OXl z`Q!usARnkvmkDuZfMDf;VCTqY63X%^A+2^zw${`(7w4K3S?Y)jAYCTodeSX83HY+Q z_%sAQf$E}7$Yca`Oi%7b5O}kHx}E9$d@)h`v-K;=!{K*KVt<3~`JDuF^z^$3Zv#Fj ztx#@flkM(vp=6MEHDIhz@n?MU=B$0j)`WJqK(M1S%LJEeOC$jtMsjZRN-ueid*)u& zUFv5a7cWP+ToQN|cPSAcRV#mYI8Tm9}8qu9Tf#ix7 z0gGS6&onH;1)~S|8GK!f!YE=`CrC}$rba3kZJjldyPe~j{t)M}aJ)0oI>r*}EtQ$e zzk<5Fj4oT2n*t`1xN!7JMO^$SaTLsAKebdEuCE3j*fis{@DA9B?=eyw^7sEOYP$v9Ijj^i|2EUL!B;6i>8``&W7E$KFniw|v9 zgR=qSbQ!bZ_I+&qX%&S?@EUw`l}*6c=a4*egYK$~q*cTI5_z7md*Q2GRzw@c(5w9n zlJC92olftYhp(CvC*%hvc53h`ymrI;9sH-R$WA!KWtb1Gn{5I1uA`13Jf}X1&3QzQ zLBkeS>=916@rA%dvO*+Z^jR0qoh@}ICiZQm5TR@C63&8BH8r>p{}L%2PbuDcoD2&0 zaA(|S7f|-PW&iNmwCc$5aI5i&ozcniJ-knA!fj`K`DFr$z{&|>;sFky#xNtoVJi<) z+^>;lP!M0F5V+&H{NQG7cN+<}fUWbVZprNoeBRR;ixrK4jOC`Bg{a<4o6}pF&ib91 z1eAsTO^O&$mE~Lh`+*;}W-^=PAI?+&t5AUHUPbUKct7^_G`H%Ur$kuTyA$2V1forB zASFAkz^ek#+wLdMR+d;DcgGYS^@xmxEckm7#CApx8oHO<8#q3bl+hEhM$axNvkL|NspKQ|DUXKI=Hl#V~C^VSnY z_4Sky+Xi>6G2Q5f^()wvotngG57m%J*`98dC%T;KLf{c$V%!uCIGOSII1zNZKCSRV zQK1UdBD_)tU)oYWx&)y!b;qgl0|#z#*O^XjkycD?37 zPnY>&dZ12g{&FCc$%RYQFJA;L@6_iipcKfRu@We)CxZDhKA5WcwiS;i`A@tqeYjDhVF+B5DcOo>R(S{US}}3#YLR)OP}D_5ouUkyni>ph1%5= zv5D<{X~gZw+*jyzH-oi9;8XitQ+opMV+_Z`|xj7;N4}gmX5d=BI=0omOWT%51x6?z;ddn$v0ou zC)S39NGlALlaV{mrtVjz_Ri7g_s`bGIyEf^LXaLeCJ$vvHHdg1#z&F(`P5YNLt#a@ z8NQ{>gh-YsJi=-{f%g($>)Db?f`#oQ)*sk=VoR2Y1$rbSIKw`3d(!~rJc(^xHWt%O zfAGpC_T{9S`NbI3Uyh$HMO)vp2r;TTAWl zpWy+!6=UVaweZ_{31)qVhb&*$WInXt8wzQ*fAW#a1~x+mwWWcrx13fQR4ca^>jo1A z{d(dI=>+ZFpphrP_H+RI_-d)EBF&-$`HK{r6dTWo_OkqdWwS*sxOn)(%1hU%fzzw9 z55BT4W?N{qDQARsH4yZ8PS9j=5P?suY7#>LtvSiY(Oqt=MTf&CbFIIpYf*}r+H+KW z@TJQ`t6ARzJUR1qR>0QeG~R&)-z3D5BkFdfFr*x$tdKsSfw4 zt;<2`xHXlccH)4*!-uYKPZ`~^hiA>!^TR!7Uk|@6n`q(>$9D20yv0{W-p-OEgCax3 zgABe%2$ng}_e{(-=Fi1J@7%n^3S9}}^wz~diUguHNrbl|r^|Zto}$$!$K0}RrUydU z`=3GP;f(B0EolGq(+~XLp)ls?O*6@SN~VoX2)IW|ZXnG=Lt1>8dD=*(!b?o8^NS9x z^z&V!obd&+Wovl9I5*$(7G{PH$-d6ipB6|Qa5 zt2G|eIX-GSF{{mUk~AMl$Mtd(?=ia!2%@qUAW}Y8Ib##wUzEk462w2A=46j^L34)h zFw_N!WT1{nJ<4LA-V{_*BaUV#f3O#4v(0QnwuM){z=QAX054OuS;WMv=9#jiRAe`; z7I2Fm+bX@5-4+ibpLFC(tpIOggdIt&f1g!X=Py6d^xR5dxX2`*A50KsRrJ<6QH}Bt zX`2mrc}CS0r7KjZv|h*)EK97!SGVSINMQ=}}#QL?(mFG%9h$M=b{H1akr&r$+z>b!pl? zy7I5_427~SdrWQxNVYip9_VA8qG_5hDbAHz+NbTTP1p6woL`QV4-Z}Jab2hew%9+@!EWeT9-BMY3ESWT7p}U zth2t`hbMg427IQtaJjQZ{xlpV*~0UB*eWzPkjlaaUovM^1tEOtN+2m`H03aCIQzBY z5w*>QJhy$lH=UQ3O>ZA1ZV-mh8`gd~?%vaFRyw_6rD7`0dK&BtrZZN-dk3ei`XWNs zZta`XoE>~3^m2JS8nX%R0Y zd1oh%pdda_e`@|zVx#gAfhuTNH$kGV?v8~PVrtoKj4fMe2iErRfINLc;IQaGMdC@7`0$K*L@Y{6`AN8rh8NK>3#M_$AVIN$x90|xuK67s=6;j}x$L5YFrRi^}d zWEf^sk7p6beSnV-$1|$BWRbOX#M&-L+Bkk|RkqQy1CL~Uir#)y`P_Pfhy(R^(|8;Rx}*!>1?@1?yn_e!w`Y9Q2d+&RVe z(|HC0&KaS%@}8R%f^(N;tS9Wp@vf3{xg7J!HSgP-F=h#eOFdW68~HFD{w3h$7D-7{ zb%*KGCme#eEn=Bn%!sxpIOdaV1cd2USmS#| z!hDe8m}jB+M*~WV+t(hyRc2*3ixH|%EHSCYS$)b%?#Xp$7%^asAD)SW8{;0B%^%^G zEOFo5w7qa+_WgXo+4zNrk3vtoVDcX3MFp%Nrxk-#n}U2M6LSwn*N=B<%N(;b$eYb) zDSvPV%PijTu2|~n3E+zGR(||dBBD{k>U+Ol_osgbydowX9@I%1Ge33wC+m5FpL(z$|Wi^{-k##!*yyk~OTva0hJ&{!?hNHMdqX(ih zw|d^C)zxc+$(t_#%Y5%`PM|lmIJ$aA3hPT8K{yt zMD0%)xS0e_;X)zL_MuRU$8P{9td;8yE zUP%(40vm3>uO^&4qv|Y`Sd+;cuPh;^r-6Tm@SuP@mk$iS?PiJN4Yk?3gXFg;PG27C ztBHnw&YIvOrVS*JByCNCz{W31O#M_8?#7SB*yYb%iGvoe>{wfoL>jdu5tjCav@0(8 zjPpw^G{j8Q*=%U>=)S2qmW%)Q2IK$Ou4P6m@;t{Z&pAHX`s@^Oawam%C3bo^ZLGsn-%d`C0Iq` zj0jd*U3s+sW@>mtIDROB*vGARnf0BmdC2|T3lSZqoq3E!4Nq5{!~|0aO&^9*fW4Q5 zu&j`A#l3)>AVpWRYnkZJq8A@bOc9`fiR74je%u8f4J+q89tAZn{0N82I1IaBDrqjP zr9hbl)G|Ap6GMzIx5JxHhAq!djOl9C0yM2J<)mw_@c{p3ZaKnY=snVoSRlnO%G!)g zo>h^rGbe){dLbR&cNvzIVOTrV(2H?=q1T>G7EK9z>U*f|*cs>&@cITLns=G=Xmq<- zx7iEEqU=LwHgc5;pB8o^EozxQlyX0)kw2C8VHleM7|=x%KM1=|hpVv5F7jNG(mXQH ziajctzbEhgWzNN#qDDN^5Y~Vs*>FRu#5IHz=ZVZ}Q?j;>x0*LCd0>)0^{Tcd@qVeR zaMwrD7n1hG*$eJZ?(RR;|5ah6Jyo>iC7vlKr)3$-pL=_JbY{-}rrbmG@H1!q-*%6c zIaY#M5zPW1)`14cWpGJ(gK38v~kJj-(iL|Uk{7HlscbIg--pPW=fKKQ=Id1X7#?kVO`EX&DD>doM7+Nn~hoAQAmb|#g z5??^HHfcVgi#UBr(9!S&q%z4;7YqD*n*29ll@mdJ(+?VW^z6c|h{v%rPt65#4l(7) zI191LiyhG~3&G-H{%#7Z=nWlJRu(U}y!*TljDze>(TFY=(mBtki(D7rLA;O!&T{>7 zW_xujJ{i{-)erj%j|gphFRHLzD0ctaMN%h&>d(^H<;WY=G5dO?i@G*ksx%agKX|YF zS!*PIfEXS%{XbG=Q>pyepC7t zu`c%=X5X7aY=5B1gzOg3kG5^oh)K9PEMB#`COFPj>m{! zf2J#Oy0FUp6_Xx4{GbHVnmUSej@hqp-yJqu$TweCD6G?;Jzlm3+H%IenSV*%82%|< zcA>1p`8tU++2Kb#$V_5^>VNalvV`@$181bhucWUo_XhX&fL-A;wl7%L^F$$+!TW0( zC#9m%Mh`P469Tn~8@f41*t}c1I>G{h2&wAl38Vv4D>=uX-4 zNaC`p!yQ7-&FpzZIYw2beXR2Hx+_bLMND}qOHQnc!(ySDQ!mC=wXYAxePQ}Lz@q71 z(IS5LU4n5pwnWn|(-$#_#VAGI#zDWt*Tn^JG(g?-!zU)oWnmMo9}4v3Aju>E49=r1&`9fxk_*fE#6Qe*Fetr1I9| zngtcLe3iQ50P{zRRNG9Or-eaH2HT)P-?7*u;cQ zkOnLXl-I78=H14bdb4I}f|f;ft(Nk{wt7wh2vKY9QS$E;qz z;n-~YV4g+h6{WBr>)rUN#5@wGx9=3s!^Xl~Z1%fe1kO!O6P+41o^ONuUW&7w)2XEaxRpWn)a?h)W23MtT@8_j3CpB$-)o=qgR44R~e< zVVfbSmP`FHQOr4iuR&sow`9tXeA_n%I$+7N?b@Wmu-M*Ai~ZbQ+1-#E_U4Qv;U8Iv zJL4J>SBzezHnh~};g8X{z`clg5ePK`>HFkBbFts6jdEhqbH)qVB3fk?{o+UVqQ$zU zV*n0q^|yN=m=cld^AFKxo4S}Talfe8^g_z6z`{M+9=)bs6OF%@kc&1t3mpPVv$#FzTj zC7+L8A2a!KpaQSVw2wS6BSZ8GGo@{slfzRN_4I#H)e+|jmcvy`eUuvfGDCT|zATewmUYj(H_!Pj_rX4Ak<0riCQ2F$XY@5*ngX&Y=++E#2aP7p`sKE+0_OP_`wftU9pXp7`tnP}ot^F2t8#^6_~#RJ(jmRGWxAZq}NYkrxKhRoV~( zI`c&3r4K%0p=YpbqrUeF)^&Ne^VSM>ACN(9z#NA*VQY9L>CxNPI&s_q8&t`V&3ys} ziR)AbEK4-Vi3#jmM-%(;w97>|!ar)8lICGXt;$^U^?d;LD_h%Kk6*F#<(QoWKc+10 z9)M6iye~nnUfDO@5#mh5mmB)ISbhNWJE+93S-zXZmNj<+MvRm4C_ zZ^ZKm? zW_p2FgU#MHhnzC9hBS*1qM34Ia#jil7xFLrN* zAjGwu>on+)$d8p${tV1G&ADm5Vc*ZWvi-{tdr8@5j-iVo&n9f z+Q}}W|M~3Q`oc=Odd&xMQx+`RK1yudv)OMbWA}G8Itr8oo%2_Ik(+^^Z>?Ag^A^g@ z&O+{Cg~W=yahLLbpgf_A*Yi(gEgZr;ev7NrvpB0UwP%y#V(kSbJKU-MC=sq6p!RvX>`$@eMCeB|nKjis!)KncN zRkeL3!3Tk~=3PNqzq6C)EC=vd`?>LGN265r(J!CcQ# zFCg^&OVWIUC1S$Y#800Mo0xas7F)r4J$e5&nm*fd2L4Q+o04`s(`N^NeO!ce0FS#l zQ1+>sJ7>6^%{l$y8V2pe?en0lV4qz6pk&L~MjIWq~w3G>*U)-E=q!_h<1ziR$BkGGDLhTJ;b+fE!m z2`nakgFdSfKl|WsT5s=4e|xV2Ww$8}q&G)gC!{W->rVn8Pu5&q2^00I5DzDNoBig& zld5@hDo{qQ+ODX}&i6C&XBQA;ZzM^yjinimUP#K(wa^3piq);)lEUi0A3goYyVEzV z1MzJ$aCOg4&86=7DcVDU4U>4*3MiJ%kw2J&iS#+&cBdLA+_Z=Fg-Y)QU5pk@+adl^ z)PX=bemXZ>qls-7$~kLuokX(1YBln0Xjcxt{5Jo*eMZt}h62K#I~giMClqCpzzX7k zKmm;;KRA~mNlze$ML^8uy!iulb64MgQ$JA_H;M|CEEo(f>yQ^cu?aw)AkvG3nft^{ z==fU(HhAZ{d)obm_=!h%WJ@wLBscL8^9|9}w0m(}_BLIL+|yI+8dfY=D_X73DqG;D zJnnr&E}ll_j8asffiWGKlBP^ufpg29U%%hF zjs)HTOMIj6+zv$MN6h8=_*qF#Uwv@j&}4T~=g`3?KT(k&PoScUq7DSz`P_k(e049i z_O)Hv=O770RDehHr7qSlmxxKUslRl4KsU;$GZc6JK(F6w&&oWkt+R-;Lp-8xkYP#9 zG1Xo@QQe_1Pvb7~?)hF6Derm;Wtnce3_9{xK*ufa49ff8Rj9aUib41R9223^D?A(@E(-2p&g+YQ z(Ij;Z!@mQkgW8S8b__|S^;FBE>)5M;M1kFG!9mf%1`cHs@jaCKsnU~+k$U}V0y>yb z@t5vMaPY%uu@L!+)?y-U{X51o1@l>==D6Y64s`)(+qH^G!itXP_y}?rF(xFe-*w`s zt8UJe;}nRg4iKWDc+gYt=@x^^(md9 z3S~9Vtx=GL^EBk*z7odWu0R*k8*h9nlnYZ7y-wMg8%&pmO-g!(w<)( z_WNR>E9RNeB1$?8j%-6bX}W2A$Yr}F?RIEYcs_w{UJ7P_UpD6cLe~*q*Oaj~c&yde z-=A{wuMR~bi+z+~uM|DvGyP!>(^6FcYVOE>k=pc|r@I1@VJ;s4`)Yp+8j3q7V&@Fs z&TUTuwFq{xG#QYb7h}J9mQ}f{@!WLe-Zm!#9Hfr^%~P=3fX0~fX$aC>A@PgBd(q`P zzE3s_>ev;OpCYoWXN3I}gvQ`Ay$?mdj6G*17-lyK(1|OVvLz4w>vFV-UQg=g{Dh+~ zqwI2L|9z-E>X*kCppZ}~^)}0_C|sy_r*a`}ts9W)sVt&DGP|pec)8fXpeK4x1aTJM zZA_&_f4zW?g=0+OrwcPaB+&@?Bv!x8?4F@8=dBJzSa$jl(%558a3Skk{7tt%(Qudz z|GDyD$5ZVAlwN-QJ_BN_2Ac0W=?I%l3g?j3^qc}eyC;s}?-7L=q3)E{N!zpxCNvN<1dB_#;7D#06nm;_KmPykcqp44=7c6M7 zx6)V@2p?+QraIC_ zC?PZ_iE9FU``SK1dQRFq!)ENtF-_^FMkjx%)h|8YZl%wiAriEQITI@nmOgk6eLeOr zIZPqz8|v$%L1=Mp^!4kVYfEiwk){K&y8zb+)-~v`U$k0MsO9&U?PX-#>O&~nTfdIV z*Zq_460XV8PMC0GCc92q8DRo@Q|q+9lO59^gx%>qTLBkiMwcG;c57;mDO*@Fp@pOA zzz7#W;2L=Ti$6o;W@y@5(0Vrwg0LBdS7dVLYLv!3oa9KbUu^jB&L!s>tQa@ zf3e?(4k*R7SbMO{d)G9?C!Fl8PObh=+JgV8#JROHnRp{OH!wo!JN^#a$IO%^2dC%G zwjU17FY*sk*vZ77teY9xMHXKf`nf0V70P^FEC|dy=}cY*e&**poM{H5#E`l^AJzM( zMzlj>*(aA(r0`plR9Q;Km?smy|A(jgUJlTp)|uLa9A4S}A;p^2&4SgXX& z#l=82elRdv0Cl|HOe52>ImX8;^Xj^9A*Z8|cw9CE`jAmzDns15~zcVRABoJ>APZiW{0++#j!++&N!Ui_0(OD7T@f!`uw!^>LU$ubd z3s@T`nW&abqjkK^9zt}D?9V!j+-Hk#jh`g(S$+M-Frv^a2mTqn+J9s;)h~|{UzNAS zJGqCPch~E33+EFZQuuWWC`*5JXgj^dt}tsJ8?dw+(8z8APD)X>Y1L9x!^cxN?OQ{_ zs9UyhW4N!XTnwlh{pQkf>t~wto{#3-vZycnB5js`z$J^=FqQ_O7{F}3*Yn#2TaJ=#GgxC0#R{)XdC?ug}iAybd$$DE+ zQRPq*%^lx)^r(Dim@DrW35+&P58bxbEkHaffa3L@qqxccGBpH*BDL2kKR}z2pqV%3 zy57X3?fTl^JSJ2fAa%A@+Hks^BH^q4Nl2=ASyBQ-Y#BS^;E;Bp8(Z!m0G*jbyv%&% z4f>(=r+daTR46+5a%(7InCctYm1uL1*j!c3QbR7JazXoY|I(pY7XsBwjDwgny>U!S z-U=ttIp<`!hJ3y8B5(BAHE_aZhW!yQEQPaN=ZPP|X(~y8vTa_T96+HRYA=+Gw);=A z;l*W%C2d_a1B`3zezX!$EDQfQ*N9e8Ly^5ZubiB6h~bQ2WSPOiAlK)=c|EI- zK8f2E!3$zESjqU;j`rN4u@&<;O&lQAl$!6jKk{;AMo0Q-Yt;dP?TD8N+#5D;C*zUX zR{63x<(6zkJ#cXAM`9}Us&m#{W>9@XiY~mSe^40$#;k^9*Zu8OQqaDJL~vFn?LY2a zj(?lGs&Qyj?Ur4{qr^0x4wMBxA;&OA(SXDU4_X#Y-pqFh?IeW#=IH<`vM(!R zi{h1rf;vTwtzNB4<(u;^aa7(p#;h%h>}kc>M`fw&tEw0c_w=vGJ@)C%;80b#Yb{5S zbDh>e^`rbonq&bL1woqQJ?7u%#-ZTxVTR^0yb}rg*Nmm#B$hn?A5c8b97blV}5h_XjI#IH>o4K8hdMJ zT)byIX;}i6SJX5l>rJk~gczv-N?A|19*5@z0^*ShzxPcha{mozDs7C6hm zSYxJl1g3!R{sC0s=d;P!h4n)EW<1T&^%;HTx>sK^#V+Z6Vx$GFHGXd98X81zwuN!T z!5L>wx_36ZRv39ia=DyjR6*Up7}?>Nwl+_KU#raaN6HdS$xiAI5N!jl22HlKaL)EM zGX&WZ!@GM8+4c23FuV@OPUu26TifN|T)z*d8J54M*gW6)nJhh%LI?0`-<@)}dEFF~ z)>+X6_{@?)ZiRJD#ys$940{h<`p);zZhsF2b-kD}1D1IxFc8Eyp}=_6zaE@g26FF3u3;o;w;b{{<(s~U)q3=dvkV>JtlZ^A|N0<5pUM_g+i+BXE1AwGl? z0DPe_vR!tSILQTyyyy(`I&mmj>Uqa$`B;lZzp_H)-j?8MIpA6gd&!H48s z=LgkC;`@DQ0r5kc`^bzP;?Gj)`$I-mj^R(k)N3T@Fi;$HsGYP!q)HKa+3}sqb>5SQ zlZ`G$i#J6a70b(2V)YBnfXwN+1#Fua^t!uu>I3c~#F;{8-c^}T#ifiZCjP>3t8vPMSWjN{A2Uy`Vq;CMRQ0`P@EQmhL5)KWD=TmC8!PVIEcE#C#s| zr~|4m3NLF*LMs3w7P=-lcXZ!gsYIukzbmiCzouTbAeNnpsN%A|7?)Vpy$r5-sm|HqwjXU2a{OSZ1Au3h8gE!~Ey;`;jy>+m{0{d@J41h2*GJmva+E zv`Sq_W{j@^m8fI)Q?aal6N1(c>wEMWeYKj7^P?i*{qdm;Y52D1;igCCTjEbalsD+O z2WefxZOXQazCiXhsax2bn8;2DFyE_cr2w7myOWcKA>Q>nzj>fGKHx)P*f4!BflV$IdxJjR*y?-kf9F)_zd=B~MH;=}-;*W;^gKXtLj?gLZUOx9|ecHnC zvdecq2=(k(iS*a1kPi;{_ba58+vj_jJ60V+TJg!C=7sZ^-#kMGt~{hWoE%a`W`1lj zvAMpP!zscR7J!EVzn0hKx`r%nvT}(@&|;e5R_BXlM(!1NpPNPiw0Z-Sv&&-}C)jYe z)+)K8IY_q8{n+MbQ|16O5s!Iz=6Eu*hU;Ka#c3r`#(x7ER-(x z$^z8eE+@>+MY%N)hb?aw+__1tv@_VMKrW335A_Rmx9vCHc--kQy3`cjE?vEN5uRcO zPhOsAJz*>kxD_aG%%!b{ld{Un3UgISPf|P8Go7kQ8bG8yxcNY~QL;Y!u%^a`RMl%W z8I4gM)|jZ8E)Fn!RMj665vM5F<0t5VJ6$JU<4vrKyy5#Ia2}2C4_%8ET?Lq-^X4C4 z6;z$J2ikHkx|1C;8Z&>6=BC@I*{zFFo2*$kLeHn{!?!d9^evtVgS)Telg1)Ue>Qm` zn}?_IUw{d397tDTxfjy1vB6^=d#Ge4| zF20LI4sfPW+M`Z%*mGZ{BLqJS?^D+Jr0CJf7}j0xLEg_$@7BhsTi}&V1dhh=Fp}KM zIi2+@(ji*ju;qReYKof+b_W}c5{(Azq`j&XzWD~e12suf<0HddLNn$Px62; z{2HR_>Yn>uVOQKKTt7=4Y0Qx-nDsRX+OC8Eil;b*q4=L{+*8m@z=I`B))>AC65Mp+ zaF1Mgs-XlkxL%w44Jh{hKLQqpy!A$5@mh^h(<44HPeCNnH;YD1pQX!*Ox%6mn_Y}FuCKPLLJQwK2CExTG3s8Hnohv7&6P2^Wh_H0caHgSYH078kO3G$#4ox&->dXP0@zj)67~LZ56UlwzfQK#a63!`8g{34gltI?cpB)40Lx? z(VMDxE$@GiXtB+a$^!~ra8u4{U8q#@*5G>FGvXO8aZVYJ5=YjVv#{xgmK&Mfx|L|$n-wM7zruK}7&Hd@OBCVg#;q)8w4 zCL>I|N*bU;R5LkMM-7a&NO;~=J{dwoUCVfp95C1-g_LR^cT%K|OjXZ3HdKgb@_54y_5xcof2HYw)g=2=#6TNa!doUBQnn>4nL)NaMy zEMsrAZ`ss%4HZt?%bF#0g2i9T86fJMIRje{wKG~|eejN;MEqCH<)GqYf;6f^cuEa> z?|3C1R>XIFkfO0(u^*Tr$-42JgXN9`E&Gm8^y*R>^KI{vIj3WHvI)YnX`=v*CeBsf3{^I+oyKM-Mr=NEE-RUs~HWqy0HQD&^X z-!DZOXvG30LH58TOOq`;Mwf35%$~~#PCmqcn5eW7banor{`FmjO~Q4Jb+;%MX`{~$`x(&!eD7=$*(x}8Viy{HPx46<>hyE9 zxDP#8-w>KASazz2CzRXsr!5zbRx!*MD|;RFL`rqW1k{`nIyw0&maV)8n(Kp@>0Xr* z*;TCkcHqQ!a}GX^zO>1~rEulGps(FM_xjc)qhp!mz5slK@>#Ou8TczuA7+3n z-_3ydlvi>wH|foZwIKr?Mac_Dq-MNgf#?M57?;(FhgM3}fk_S=Yo^tVS!Ua}Mk|0X^ea46SQm=!(HC4&ZnJsoCZ%m;HG-2T)%EIQ{3O)(@yClvv~8?hZN) zyuJ}Qpg}*DN%wxBY-;E8MwdTLC zE>E>dz}TmS1x}a-2H>@IYXXJThaMiBzz1+?xls3+1tP@H0*W8m zdi6w&5obSTrS*mSDtK&SfKE}iq5#`U`;WPX{Ex88klzKlJsI>%f(QO-qd_7Iq`@h* z(*kZhFq2iO$M*kTq4VEn$T_GeL(l)bp0mC)Wga`e*CJCAVFO8pE}Fke2YKn7zPyk{ zJ-)S}UQM1c^yjdqD|QbT!ZC2!uR~D|r$Bu1RZ~}{dhbe~*EL$#vNx3E1SXVZ7P)Np zvdE7+&d*e_OndehL+(NN7cr2QVb@u~eh|8{X1RaKY!Dp1(Kkif#IHXZ{>$X%?J?>I zNU6dSM)E^gP7SpfJG;d}Y5CyTrm1*ZjiFvHV10WSU$o8Yb|1bt((=Ry>`7TA+6jWg zmYob&XQsYTv#{r}%`m1?8)y85-wTc0`G)%8U+e8dpZ$HKgllHHSp9ca7F@1+Noel5 zBy)9TfVnU017M!-m_DN7dQrlb92kr=>(QETs%Mr|hvT(f;*Hnx-LFyV_uG5!@N(XlKe-w3Q@e1{Hu<7oz`=j0 zVo1)Y|2Q?I=x@hXwxcop&P;J{+_T|60`Qdb-uv+aOCR_7rjT8m1ez*or|zO|H;_fS zCO=mDAxidV;VQUHMOI;Mi6@5+1`iw33xE@-3X1qQ0CFPK#cr*!OOVTLV@;JJ)_=j;_L1{t zyKnLxMt$Qajy~GM#&(FLnJLnd>{{#JSVPl$`QA->Ta$ZHod5uP|RbK(0Fqasy`W z?B}9Z%1a8T>2a7S;)k*yNj7sMv4}+=Qb^HxbKY;4v^6XL+CbmGPoV{`s!Iv0UU`u8HoI!VmWO!ND%0d_z&UYNBkA$-(Jt zK$5uVq_Wr{_mYmNH1`*puJw_x#=Sq#No;h7hss=l;JKyL&{>Q4ejI ze)}Vw5$BN$@Lvr#fp!4lTCK)lOw5=}rL+08V*uRjYaj7~6sN$V;c+{C5gm-QJ!!AE z7FuCt7RRwR9?dTHi3>Z~yA#bDX|8MXu3vcM5pl_~rH{YE@$96*jf@3RB)!OdkF@f@ z+H}i&X+X_+M;9CodFR$}XQ-#1cJ?fO!pXB>od6jhGF)-w?o1jOD_%I<6jy|>JY7`t z3JBnd$-jAkO%^P|D{CFUb*U9WHrv>7MUhvO_J3ZGU0TRWa{~I@%I1PAD$U^{A00k@ z8Jh2`(0ZJs1%>Z=l&9!qxTm{%@uPL3j-r%INIIu6Wiz$>b_F|8qUQTQUz#LY@%0tW zX8sK(S?xkSD}dp3%{t(Sbu zPHyNKg~hs{K*5ecZJ)qlfPRwn>Rq`;Zc$u@@5J|FQ3r(| zt#C7g_zssk&P+Ggt1SBO4HVxS=ClgQ)6pLGW_&bR3-+zW+~h=<@cRbw=3G_<z~)OR{Zw>X{?reTrnv*2?-wXT=$bFByKIj&u~Ayw-EuQ}g z8Hp`27F)%cJ2&{SS1?|s1HNKv)hSk%gyBYJ+;Z7uvZ;#KNiJw__e%(vhuwfjjc)~? zIBmlbTU7z(K_*so6O3OPUk3T4YdGiv{U%98&j|fIqHw*+l)sy!bnZA|VaMKxg;Zjv ze+iS#%bAd~^@p9#<#gQ-2!qWw=cb774GVmR{Bpj#0$|=HFK!#x zgt`gMF+MA_489qu3SbOxfKwRyhSUTEa~s!!=0D_iuiM|Ow4kU|dxO?T61X5q)=dB` z?%{ZT_FJoKQmG%pUlBd57gos{Y-^2!zi{l_whP{v5QcP1Be_ol7s00E+sa}P`$WKB znG66dBmVYt(h0MT_3&r?DI7V{3eYYXeLPieS2viP`sk@SrO_rCm5bYtN@XK~ype4u)Nk2; z=8myE?i5(tA1vkN@4sTwnwQk{C|a6IqFi8@Nf{)s7$nc^6<1EbZ>s$E{e_q^e9}*x zZp9l=S@Uex#yqa5nKQkEo-Q`ub$pLZK*ohd5%+4&C_7t5J;d6T)@P*|^z`ctb#WGo za;l$mt>#NeIYEJ4Nh7b@v3=eFxRMaS$9z+7l}(|W^DMrAk^B+CBciV)n*zmm1IuBs zv;47__ul+zh#y3K&{sL;`#$ptBKgZ@#-j;jL)>~n8C#rfgVN5pGd(%r1Hiw#84J&5 zK*9Y7g+4f*IgPA_{Cu%x?a&{%G)+1cBG<2e2J$ZBij!r}rG!_YdG?<;^-63M6Ji6U zIjIeiL{GalWk*-}4c5u8>A^I)P$VAEf^Yuqkl~hB>u>reKCioetbd4jOzQA0)G+*^ zwiot?ISO`7kq*H2)ejaIuBhivPDeV+Wh{gR+nZT0^v;UYm4y25j}O_a1@`p&kkTwN z0K9u-LA!7iG;0$J+I9a&WBvnReg@W;kSVC!+H~BgpRVHdVCO?lygQ8=e~Sa}aUOfj zY5EIZ=!T(>)Y0A$0YL5W?dw_}G7}J#@5h(hPL2e&b++$^zYs1xb$f#9PbRTuN%=j@Iy&Z>X}$WjGO zU8q72IT5Sj5|`6jouzNLPRvC6+ESJgqe0Zf7AP_7EWEU}b-Y{eupa$(vkKTK_pe zHXgFpVY4d7m@*a=->aOpR}?3^2*VF0DKozWW&*1*`EaaPf?8BjneNy%|AohK1A-N8 zdZ`7b2?e@f5^Q9mRix*1>Hn>m`Y$5V`@7>uCcj4fOGq^OD%ur4_9oeTEAwRWv|qNp zjC4}ed3{apPm|{(A;z(7T*i$^M7GYE_qg{cF_{NVjI~SKYt9XJykl#?k~@n=${gam z^-t8|OWr7fl9JApu5T&B5I2NV*KX>+4B(u>G}>NnxOr4djZeDpCNEg-TpjrE7V&Q3 zgVWJM#H0uHY@qobju(1QC_P*t4{2-7Xdqj^uIfac5GQK`%pduTTxk!rn33l)e0AHh!6XC2P*{CM&^7 zj=SA=BXzS<$`8G>7QxVLRnSj)@553qU5!M}HgJf0xC`e;?|9C8!banvTm};Pq#Ov; z57}iv8=|QTjctPIs?xz1?%{h`Bqw;?2MIvk#kPA92mv=cUjFr;_ib7){(Oy3d+?`(WLx1Ih;1W+Rx44oeUl3X8h!e zW&xyOf-(?zMqT+``lY!W#@wA{o1NmDPl3IAW`O#OzYJSY#M|bKUH-1oP6uoT;+4_k zOo|Ivo+ND0#sFFB!i)CkP)-Rv9$W@YphV8E-$Gl>@1NQab3A)E-bm3_{vWk^3ec>A zqz<%Gjz=ZNS&!dGjZ&L4S_}Jn%T;RQyD0*vL5p1^16iy;!?hvq{9T+Rmt z%}8MPPpft!B+2xAyqHnyBb(IPr1G!Oxv@b&EKka~hqWJDl*#C?$S00E&waZ=XU5C5o0HM~444#D$06=6-V?r8EGIZazI~4Uz^8nC zWq6A_C&}}`0nN$y@p?0D_)il}lj3n|{))tuKI)9b%SAiLgUqq(%o(BrR)KGQdYFR% zqN;Xvz;%Vb%RMoP*J}(P9kA=B-!0Q;l{+2b{MvZj+r@z=39(2jdV}?{6@INnSK&DQ zmD^h9&M4Y&t~2At*Ho3*2`OibOvvw5YR3Zz^}l)mCW7&b4?ZISOG(+c$@&|)-WM)g zah+(>Uy z0q6@cxsE3$UtIIjY_RqUqvKzfFg`aRnIUn?Gmujb-30S7Y|a|r+tkcOX1BPqY35~Y^p`l8G4Dv^j;XQ~*`3(}|)!3Z0y9Z~uV!10j z_dVAwo~*RL{IA@pyfx{tM}>Auk50Pz)P_aD#P(hNLVAy#%KsX1%T~+S97{AD5G%z64MiXtHdTvaUGmd&5@gua!p2 z($%WU#GPpKKk&37#Z|EY*o!^-@gdT2xLns}H>#_nf#d$Gef-}T$)Fe)uNlx>1Km3| zIde|SZ}4`UU>c0yUw-p!G(&#UW*4eY z*Aq)i+SB^Wz~`#L{TyLn(?-*e0TsO-fz$JxJ|Qq|zR~Z)h7{Sr-6#66`?H`-+xNls z1w%EkINh5ed&m|)ao+XK3&!`izUE5RLqmp$Oy3+k`>NK2=ky@d`drqr9astwTY{*A zmiuaqEhW_Y5ByUxSgmd0;9O>KLOQBTO6C{Q9b`^@@`OVcexU2K#lQA7#Z3jfz2U}q zQ&*bjlBuZs5ua%Ai4Mv71`c_GT<6$QJ1oRALQb}fa^Igy;IDnGeNsOlN!w&luJ7dp zh(PVsJ-5L5xlWgfP}2}nZ}&O1D^CQ<_b2uhJ^(9rD|%48XAfOrF$3+*foq7=KpE~v z#O4tx^EfLGVqf&%ywQL!g@an{1$-xw5uyD%L5hHc2vFQSoSU(>s~EKdd#zB2oXk8T zwE{H2RdE@$FjadCAIdiXYFQ%L2hOtltL_gMmI8qgn7tiQ9YIGpq&T$^>8|v`uyx4e#>9`;ZiDI4Vl`fIiCKxm@Jd zz-~jnNz8Em-}Z=uE~G3ld`6F6P<3^JI8QzkXl<6ITG!IR?DhAo@cJ?w4-B6$1!Nh2 zTCOITsTt!HSXI9HD|-$G{xd#g*_>W2ZJE+L`-FRcXd;OkzB6{Oy0Ehfj|q{gAc_8B zgAf2{?{#w%@@#s(L>I3hF&2}fk4bb=_~=Z6ofl07y$O6sRE82EUmq2wTm74d&;Bh@ z7%vTRI@U_5VHd3Ty@g1jf}>0@YJFA4{~+#AQoe(OIRI-XtZNGqei#(QPf+S%?H+aW zvoN4+T+as{rWBE``j@p|0YcRXJyfSq^06)}uK`N+`m4d8I62?X5}%nrW?l7U-%mk= z45@izei&_3k>Y8GtL&?JGEbbr{c>H$8y;=GSITJ7nvYW)&vEMGCtx%gSJGi^?SK%g zUx+jQ@_Zk*v66~!$TapyNfeqkBih%w?aBKdf7L#PpgBSK;fY5TbE5xDN!=GP z1D`OsUh`&|VU#q?78m$ZL2(hQ@}3vHOqQ9zNid4=W~zl>3BX%OJ`)q>4*@urjRwF4 z6?obM_KawmJ|H|&#leJN=jX_m5sV@mvrvY$>6dA}n*Ku}zx0QkNK1N=&KS!i`tjxZ4hae~uPZ7&GSG19Y-UC)jGF@U5bsb&reHGs;^kaMQa@kPh$*b>e{C8~9K!@PF^LAG+ z36&d%1U>vZ>vwuU&_UdBY(m7KHs_eovq+QH;^TWAR^Tv^zXBAVDJO?57**&FAA`!x zt~h|c5VGO<(8@RACr!^c>OBKlf@Uc_!);0!Ydy%d}e*93Aeeng;ov z6GdSh;IMGMv2odY5<^UFE|k6?3Hlq^{CU3I34gpez)l+@by9As?eD_3uq1+o*Qb&% zNVRblK>e9;EqPw5rzfj#2+iec`4&FgZ@r+}9Tu(uK+H3M%Umkc=Sj5=cI$m(eZ1R< zTXG`aLe(F9+En*4mF1azstTll_T+l_oVjQD{kvm0-`dGkVVC4tSy5Imq7JBN3}4O1 zrtd!+)6wX&>`*{OnH_!CXpU|+K2;BW&1-mV)D_y;kf*DL++TQsez-4JLUO_S_?)Vy zrTV^etB1oAQA(vtc3+s$xeoIOTAasxve(7}56=@a+;p*DI#|KLsqGv<9Z&F_ji(<9 zRd9AKNZD9F3*A%q<`nGMosxk1SU*p}I1`)TRR=*6qd@!O6Ss@)+F=u3b4@pWtGd7@ z<-Pa+3#O^uKNt$lN^g*1#IKugaHmOvZ2Nay_|`UXW9?rkpGN2yDP--2r|j1#1lq+MT0n=J)P33L9X*+_P|gRIU}4k-Vr68`w?W zN|5X9?+N>K9|N!3oFA2FN}k0jMcLw{AXzCLH@bG*P`Z@)&E5m}lDqO_vIWrarf@Tg z!ya+SkNOngapn2rOHm5_ihh}5`S+N4lgyCg{Uk46VL?K)G~kdT9LKHJ)y>5=W=K5y zIR|^CrBvqOVMQxr+fMKQxS4EH;!H+Q>Gk?(zkRZlmpXZQf#wMMf+YP|%9aROM5A~4 z1-D+VDA^xg>b>!sr_3qxt}~??H1A}HE_XC{QNk#r4qjnK0-Rc0D*m)L%*`-gP zinE1+fR|r%*|rBMX`C6W_54{!EY0y?s(FwdaH>@?RyF|~Vpo9uYU6i4@@76SSebHC zl8TrcWRyQF=vCY5{Mxr?^k*NvBM?;IOMikrI3(+J&|f@3iy-JxC_#G#O0dQ_C;?~x zSaXhm#(=SJnw~)cqgD1-GCtXHRu)@?`!)3LTaZzK+@X$0k}to}{?*cG_@ZU~B| zp0A7_iDvka>{&bjkxl20;q?;0GGxUl@hb=5k}r|Y&rg%X+^D@zjn(yqdDr&*Fl2T| zc%H(@NdseDw+u|72h^O9<6=41bqkm_EKI-WervP3Gwkrb^WWfWBY-bxucXlFJDC!@ zanGi>le@ka=?6oJK@r+`nJ=C*^^`6AoYP4O_;>?%jceNU=o{fsCNZ?h27UXI>z=?q zCn?w4A2d=c7U~617l^0PH!7U%1b=wSn}7cz^`gB?MokY&Cr$wdD;uUu_Z~RsANK=! zB={uBL-J>RS+R-$_!z!w@~hS0P~yj2dAYCuhk5<~3v<^RH;-OQtk|xsV0Au~nVFU< z7PPOfvnNO3RYvHg&)YAzUW1EspUhR7R^zXxI0-_=tZ?bgGLNl~gwxs_lixwdXBUiW z@WYbkMUvq@g_63=N$D)eKzV4Lo~6F}5I7qi!=_wv33}gYV;eq|QyDE4RIG+TlW@id zFRVU5RmQru}M0J;TC!7ej0OU7FE zgg(%by$5Rt*u;t0PR; z;&Em}u}O%CIGAuEDs@G#P5a&J8I8LAT@wROY71_-$RDMG&~Lc` z$Gve(UL>vzsKQqnuEoY{5fds6B$HmU(GKzk)s?3Q6oJ2m_$q7K%8+j;IckhrAp&X0 zj$vA307Tc&g=|=XGyXy0=g8)$NLK;rOY1xgu!;oQ_9YcW3xp4TvXFJjO^QiL&D;!)!Z!t5M z3)!P_Y@HqG%-kW}Z6CLWNxcOW18-*UEO(xpJiksmWHpP+>mA1ZxE1#3%dyV&uVfVr zmXo3vX6i*j7P~rP7k-whRen04U0SM8(Ld*lFy}m^0PHHNyy?SU%YSoTgfEEb7TY6( z5g(t`RG-mm6l0hrJvk8QlK1N6G0U-5MpN@`tTdwL^}7bgr?i2*lw+Z7vE9v{N$?| z;VLA+q&iM(ej7kqTM8-mqJ4!&mVzHf2@N|f+g_j!&cFMWkC)Evl{~E?Y$tyJtMWZh zCeJAf{*K#sK%Fl&H!dM{>$`oQm4dr+hA`an&s za3w`wD}_l`mc2bd$F7-O&UHOr?a9-i|f;RPCu^qzN>F*}yOw$9iB-0Kyo_V1R8 zrN6f?m8mlPEq&paQ5SIDRH0q@z|G470gW#&*oTN&uCo?pZvL+9@r%_bdO}o~^-}Y| z6Q7m?f=q7-I{ylRnMc>W+u3t%akC%sPi$7S$wQ$dV7H%7FuLqS%trjUgDRf zSV!kPeeCs19TH*(bZVMBf~EX*`?BgUl57D(%O#SwsMR)MXp9r59Yh`dTz6vjewg>c z|9<5Ae;@*rta{GXih#lscABi^XIGx7*`oTDWAwoZdRg`M(cXFiqFOl8=VAeOW0)ZN zG%Z#;%zb^-TDO#oN{h;}1BvVT z9hy#8H!6GfvIzxAEJSa~(qpWz$!4V7vbo@%_VV-tN0Hc_`u;+oU_6r_wpQK?ay<2! zyxt_ze!(rbi{$vc>Gr)63r&j&Y#7d$Ei6%!HA&bNTpoF&avJ>rT70(i1cRJ&&SfGs zt6>EUN$U>Lg1{Nvrdl-T>~Qfgk3Rm1`bvO)iMnKy*B@u8U)F}7)MMw_argU1*;DF5>bYJ0h;^4UdOta0t~|i0FDu~U$H1~XsOGjIUjhNfUZ_g;R6o(t(5l&*U*&_#$3rrS%AY5yFCP3mh%}%RRhK; z%EjBH3|HNZsPLbB2C}0of@~50x45}(00RFwU^oZ!igs!+hn&ySXBkd9j7&h7lOg-^ z_~vAr@_peQxVkUg*`k8{r~{1I=3BR31D|?H+_5$r*U%S(Bx_L9lIJYH;PlBPo%MWP z_g|HipdFZo5JbXewFx}Y4`$O9#Xn0R1Ai}%QNExE17WA0nb$Gw@QBESWzvSOU3%&q z557C0$uNyDsv--PK9s6pgO)2RKQWB>DG!&<7E#lBL)~O0w0SR zfIdDgp`8;tE8)lIDk?im6`Xc{>MmT(_b&D7Uto(~)Hh{)v+I5F_k{cvN2tIIupR?- z{~eJJAV$~}wy3^u4xyu_|NT<&t>!I;ojX$(M~8cB`X9?&j0MZMI?FcIq^JsimX$dz zd5yXi3xEkbXOHD)z;lMj+xf@uy?+)w8p~=^7-^KHrvm}zmU`Vh-x>WZi!${09&&C< z{IM@G^}z)O3xR79{R~VPMkbiDX_;7YRPY)Kr#(Ja&WitcLs7Zh^FzO3*KM?3%WiHM zn@VE&Vh=CaUos+7Ys*n9bnmK>SFY&f?%?~*a z!!y4DF1Ae}x>JhcdJax26xYIEymN_#n9OeI$IZR%0Y)9{6IQ8VbgYh~^NZL{9N2Jq z@TK^w$Yo#<9-q9FALihgp!ufzIraqk!a?22A0COe)RwlRUQ>6Kkb|s9OP_*e8QC`dRL0t&G3sWY z06KTL)6*f~nsmtRz3ww%35>(&>gn?G3w%v2iyP0G@}}NFFNi;K1b{B-Q$|TBEkD(% zo{0jV#l;D!+7(L!xowqs7YWNBQ{cIydMxeHK4y_)fc88Wu=oQ=HHde6a`d~9+nA=s z`zP)+Ww@LMNe}uk67nn9ux99&m{{0Pf3i|XPkOtrq?-(kohvBCw2M-O(s!Fo?jP)P z?)9sTqb=TB;>G&p?Ua{8OL0jup&CV>D@g)NbInZE>r=*6%){K5!RlGuCAN@rPIQ~lc1r+W_5yoQSem}#YR zeNFMxj?xN_>vlxF*yMH~n!j1^ z3PtaZHMMD{01OSPt3lW>nP-jJ>|+;PybZEfirV%SkaoAc#ehL0rb?r37IW+Y(uKL- zGXy$J?nF#8x^BjcDcch`FyqPl!TY-x`<^Z^+Z3Gpy@zB$jd!Ek#&lYG?m=;RS|TAX z{@@m#-pp5|k=NM(jRoVwNNleZ0s^If6XEDAGk_v&t-%>MbI0AhqL6Z`9D1_vjF{vBFT zZf6D*l;x9Wt5%~U3m2>d8OPgFkUz#n!MSSQwU7K~nSj}Gm-&Amo64P-Vh@Gj6wdtedUs!`>O8sP2qtyivGYoEw33nG@M>!X| z2vV)<-Ub$)^TUarm#}vpkO;rwBhkX$I@YloXTYY(0>7QN((ys`sGoK$_Ap^~^d7R) z-R(BlVm>0jJio-{Q3yBhHmHqyWR;O2dRiCH#bQO(sxB;JyPrA z=nhVk0Pa(J)KEF3``^TZIHc>X+H4)nT=w}!3_ou~kS{nGYtWLOp z(bz44L(WBfB=;5^ZR>jO3ifm6{AlkM2CMv--Bu#m(oh7oo4;-qOEPr@c-FTygR@bB za{o1TrTBl&X*;2Rpo4k~Vu9K!6c$MCf9?qpItq099L#pA^x^vt;NjY(Xh*zH!rZOG z=@5og3TRP5c-GpMyX(j=-NK!)jJGH!o-W@ROH&z}MHPxJ-9WO8oZXuhIh7kg2G`3= zp#Ei)W9^rSxIo_Gh?{&B`S$fEw&w5=?vM(wPxID}8M6m9tJFV`DXtpyVY%1nuE~sa zL5~gG$TlSB<@eL2UIA(W=dV@=UqhM~9{L{OaO#n`^B{l^&9oJIs+MLS(k}PZ5goJ8 zh_39GDY^McP4q|KWftY=g4o+?%ew$oU3>6}ZLZG6nG)4U`mrU{cfEmk>{D}>rNnBn zTVa6{dVF^{?Uj_iiqI@_^s2CZux0k_f1^4Ag$G)bCl&)szL`D(>CL34hJW3(xWP z7|DE;W_3s1I@sTRGc~$*?$lizDO_M>RnXklJSWWJQ8?AC!hr{{P$Z^`_l#_E2VC3p z)CV{rQ_0Jjo)DIHJRe67I^%F`6klXs|7C;qMOn^1RAo@EildT*&FR6l8J?dQ8{o5* zdY{yc-P+g5y6LW_7}e5S^?h)t?x3JcMBC7k(O=KAtE!;n z5%hS2tHNQbLli{k%7WbbsMZmV9`0qV>36zl0^!H;?2{7GR|!HZFgHGcE{rb>&&z+v z;Y))y?iBL2AuE%5(lL9`O|bBDBzRubo2XM3M)yLwFPlu)%uuNV`D5_`#lYN-)MX&G zo=cVe1R9oxeXM&-V{}O>=8-98^Y7%zQ$`XO3q7w-J8s;}95rm4-)} ztqu_fW@mZt$LhgV@0tLWB%oDK7`9#rxJ7F7d99=(R<=ECcNh2NFCow(OXaxF&RZBp znzTQl92N@5#olhCmjQVwZpK>o`AnWyyG7ToWPm=(9k~T*lKKeXa%P?*(bSo2-RE<8 zABjSOYtKC*0{ENcGCU}^#&T9A1Y=h=RQ8-cr05}?)1v87vXpkWJK6_-eE3wK=G?u) zH*yvVXce|JS_jdO^V~m19t#)jn#PxXZ93zl$K%x}VE5*+L1q<=tt9@gUOl1Jl_UmV zWe+ZWG{u?6sqrR=ad+RML;kh5K((9^vpG_c+Gmdh)Pdy3&}p$jsV1{$iHif2@av;7 zjj>%pQe%K*_tMS3Mo4<+^FMVoqeo)$%h_%Uss`QtbGazo?61aR;Hw{j#r|WyHYeVk zf_nXkyfqX3-A8)*$lA;n_nw-ef@f6HtYHc;E5K`tuX;asL)QcpZyF-orP_cjn zoSALrukJEdGN$V;E1NW@J6v2ig}#+A4E0H8O-^GY_F^x}Zz8(Bbb4K%#=3129ipKLnPxi(Uwf0sDRu(?$2|VOCN%;z zyn!?2dy2dlrAEzrN)tM%4#D6z+$}}vV(pUAd$&rDa&Q0}LC#I^m5I!=vHMcBTn8~@ z)_q5Z0KmIxG)J}iTIh&6*3%}oEwq=y|5N3t&v483ErBV3P+jGl2;7TFnNE#ORZadQ zuT-gwPLG}iBbHGf&)qBq65w@Ln76B5F z{9$d2YbjdRwT{a9R(_Me;H(9!*!nNyYF^CUhdPPr#T%{;ps9)ox1(Y%z1D*y$c;G902WkI%z@SVUa&Lz_ykL zpx^TJ$)wy7JzKYvRkKfogTX>r1IcRa*4<{ZH)b1AW!vD0C+Y4!8iijt`C`%x_Ga1* zdtra2O1rox1o%4ZL2vOBun3xs7lG=xNK)%9-X%WM*)icH7l1x-t#6vm9>h>tfG`oe z8?faGm~a4p5>WzXh}TP(jR$-!^GN!gJH_^Ke?`VHcs_8+hp>)VDK3`)=PyYBbde`2 z+a{G)E~}FNb(O>B|K@03>jJjZF-wjzw+Pm$U_4V$Hkeo_ZY%q}EQ|E)l^1pm8^%mX z`N=m(3j9*KU9CNr^xEIMkZqQmy6MP4gmEOz2>}G-Cwr2pXzKeb&y|^yC6W zxPTcAemC6W131CgnL`lQVq%C5*{y-yY{+XKxP5=#o-uvAJXFAXlK6Ry;5NEb9Piai zuvb*3<}EVHV>2A$=*X~ou|hE>k<-}i@+R6fA zb{$|j%KAo`T4m95ddM6@6hCj={z8(T`{Z;C*AkHQ)f&Eaw;^xY=!wi7zripcQ^3^` zv7Xm|aR7+8`)sF4lsYQKe0*X73AaY-(alEYw#40`^m0ImNC}%GxerKgG3&_rW4Dw_ zlngrKbW_7&CyZ!qCCC|wzyE5omkFRZ zsvFHO&AKpn5r1O6+n_`BjZhJ(zHIn}glr=(^9DutV|_)c#WzjH-voNs+9r zB-~PjelMW-JjadC%!Fvp*+rw$=B0Da8g`z|2Pn&g=HVi(Da3#*JFW&sKZyhSS-Y}P&gRCR;1d`P%8oMHDMw))Rcn9C-6ttB=IFW7L zegzd(@A`w`#{bS#ze3HT?OYRmCN!UBp1cmc(iw0-4NCI`;gdrLMXTwblKx$Bz{6;R zlH0OUu6Gmc;LN=0>6yX?8Sh72>!UViWIbD_f;73Y^7dE|1Q>#Yy~n|`@IvMkLz*A&XgB2v}S_|zXCBy z4Eo~SN>0Mv>N+!I!cafP*n7()hhrrJC*D(ZSZAHl9rAu8NjuQ3>hRrK?#Dt&fd23a z$qjcC#Zp`iqgxW}5q&-Ut`2Tn9lU|d7+3PM3?zM#h`H)I50ItBq|owF#&^;4(OTN! z;M}#o$dpe>0ncXNG)%dhsOs_9EuD|Ri<-8q$-$=?+&(J+t$kRDj7>(=nOGaNglqAs z`VZ8pi=iIT&KZ+e#j6wAOwJZt8LoezVJbWMXTtLtt{)Oc7X8#Z^!^Fvosy9rm{sgZ zH=W+larr2ZaO#*yoIX!9v?O=OT(`;MJ0RSW`leIYaVRVFyy|B*a%}e21J|hdGsqFWOwhp*m%j4`i{o7C)HxZx? z+`H0^{hfe^AuuFGV^~Bpz_c^4sO{qhogy50d`u zJAPFsKLaB2JGtG*o}!A=`zG?u{R`x(X>E991Mi=W#asjT_$oY1$3E$$YLQ%>^0cq> z8MpU9a_tPk{q@O2r}55kO58B%Ix@Cext*h$yhH7YyNtM1;_8jYOqg$Y1rZ}3j@4P+ zPo4U+5B-i4*>D+)PnTWIz}yEoxHGwvhXB{E{5dRhG?n|7rY~J>dbuX^2QJHOH|gbY znLY3m9C1wCo^N6@l@8r05xYhFVv@#xoP!lYWOUtWBA+seS(3ORORP z&fqX+`Ad|~kHGF_;Jz56t{=2{5bvj=PgWqW*F$`?3U~zX%;djwx#*wv<@nhZ@f69RB9WUFRj8q;PoZydUeX-%Kl^M?_=18v zvDg=dilePN#*D0f16PRXMd)5j!#Yjwiiy=F;X>|tW8tZ2<&sLQhF1b~?A|WCC2_VT z&I7kQr>!4Nkaj|dyo#4X`0DY~TKWsTlz0e2>9P2+tdHHak#QtFTMz2%^1H01%LKvA zeX*qp*#0o?Tj*gWPlzoEW{pn&>KSW{y7SCyk`8cYOJZU;c2(bVLu$xcdf8ib+FZ8e z&dOO(&d~)jdnGUf8(tavJ+;=fGB%xgTdF~)J?87=`a>d)p(vi;LlXht^~4z9C@2f0 z{j>qqK2WTZiI_^ox4R?>R_7VeWW2!a1PT^me8o{Bl)t8x%PQD_M-V6vMp zp1TMM-ZALR&}Y4+k4!vw2$%EMe3?BltPas;3=FPb!mYM4jAjbj8t;sbjCM;FrCkov z{GEpkpEJKnen*d62^?klS_qPKV9pRhDUwBPfS(09%lDtMSmXpW1Udnt7k#P2-wf9L z^z&<_qJF|4M<7L5d(f#W|(|0@?8DZQ8M??y@Uj-U{qCbVy`a1$y` z8@PPYW0dYTm~y7u^9yFFRmd8wh8B^SCVa(5tfI}aoT>0TY!v0Y^l6Ts>f%5tCGd zL8PN!RZCS0)f39sCm_W~z|AT{`BFRt83UWbnRgqQ|Z6t;4~5EYAl^s)PkR$od={sCf~<)i&?95R{OKc+PJeq<~Za9gb>f$xKLvU3L9e&h@@i!c7Y z>VX=eioLoo5-MIr%ml07V5CS@8-l(!!EQ0@CEYZhUa?m6RZ{eK+rBNLwJkd3lpLR0 z4^*)nA|O|Noo+-W)NJB%eiyYB9*mJ9U$;=E56Cvvw?BTT{Hidi#WRDZcrW#w(4;_T zpXW@;XjkDnulrlK_~|eTs}MT?)j9G!uen_3Q?=eXGh3cSC*z4xyChKvuXB(r69-py z-9{tc`b?UKy?%~kmIO|+Hzj(IU;8?h%ZX>8Ygwg<^%Y(%Q?=!<%$R4Wi9o=CKy)pd z=9@Fx`@<84Gh1xieFn)4Rvh9GXau_?rM{5Lf?ct5JC?*nD&uz_;m^Kc|AKrKc-05= zuu9>J{_v)xgna61b(R_xpaW0(v>ui?Z0s$f!U2_}PG@UQHlo417^XL$O#O95wGisbWGsGxPm*p>6(tV7cD% zs@1DO`$uKGp~f7W)W?ZM$nonB#-f%Zv^VPr?AnTlvdHYdVYMv>H(YGT_)qA-Y5^S zDg7~r|7FbO=@2vQ%Lpfo$zpn_teR;+|KoX)`Db5Y@W6);_D99j4J+n1?t`c!uTnaL z2ehXm3wrdfbGP1WHPc6lyJWn)6_pmlbFl3(hUKoT+1ik7!QJO5D9KmO!WGAVMKn>{ zq5vQa)tWz=UFEc9M(EeOGjUBZed0ck=$DYEaa(0rhY6kZ*`M*m^`-Azq)3Z@$?GgBbRXDu6dS{C4#kr$W>UeP_!{>6_U#+1KSx?ATI^S6s- zb~qBefg#XG5Rj?hj|IDeUBjTgCrK(z+xWh5TF|IHxV2E6H zY~t>7$o)lE;`(Z9qY58eUyAq7azEJ=*yrckxncH^2k)rC5|_ozFD5B(8-1=YOTZYx z0SCV7>E_i-&VU!rnNj;XVFfkC#UY+uzw)(41Gg;a#RQ?a3FB99f~KoN90{(?x+}A< zd}DF**}Bh=UJ4Yj_u$fc^N=w~Lg@_P2J+IS___32=1c*glnH>YJS96H;oGS)uP?{?YIF&O+-^Lh zPm*!Ktp;(YanFH)f^CzMBi2b1tr?nJFm*vgd;y$tz?zpNcyCgm-`AugLvo{gbjd# zn9*jfxZ$upQyI+TE0c_@ar-1Cwg@oyHv2B=hwHvgb6#1=795OTRWkB7TzEE5(E{sM)b z7<_3tm=;K~<^z1PEEi7#JLx*9Y5Qn(a|fffKBsA6>{~m#J7$G%7M%&41$_V;^+0${ zl9+;Dk6-G90y(FN7{kiBa>|AEvaQ#G=6C|pH|;C=t8+oAXreCj$0ZogB5nGn0RF?nU^~BICLIB)g6wGZ;VV{#~@b zQ|b)4g~y?R&Jv>1o5M%^ln(T=`R;3*cjmNLvjfk<{xi;@Kc-`V^<<^RX zy}9HDv%WW53l$np2RC0L&tBpmPiX9j96JaPyca++v6G-qQDGSs|gq{nz8HD zx{Y`y9NdQEn#Un@z>zaooS?O=p%Du9XGs*ao4dWY*@t}1Vx8Y1pcvi^geM;M-OR=r}32pNGn@s8i*2Z%$T zdT_m15_u2G$BAqQkP1Y|I2SjLCQH{r1sVbe#^iC$Rrfbd8$1d>1JG?p>_YbEN*a^m;+4T~gZ^X*RH3(sHC36g`n7*KP z|LqX?PiCBy?2oW7A7K1C&+jOeK6o5SOehC(*ku(-XV%G5mPZyV44>MO6MdxzB)6fy z>`Hqc!wkn9y_|0{(wh0;f=P3!LSyd(&$jTD<_9`F^efEX^&n(`Z+Zy2mh5FdkcGb+ zYBuF8x+HZzhcy^$M>u|wqy=gc(O@(*t9zFz-OnUvi2Vm3mMR~QVLn7$Jomi#o5&bV zBzFtQ)e`l;puxwyHu#t8^I`v&wN5wa764zlO2yWhf7Y{&iW`cHe}<@smQn~f+pEQw z87uua_N+y-&6zC+?t@BO3)|Exx8O~XRjw1T4!1OV>Ld!4)?r#LWGXET2$V4KZXBf0 z`^RvT2(J3BhVT#au1lX*ydfHVC0IAXylCyjer?y=lS2*^VpNC2_bI2;V;udD%)m7P z^Dw_C7b)~YfHD~+hDT?)0cwrWn1-D+0!F~RJ}Ov8w$Zx>=6V7kpBwJViRxG1&>z!T z39wp6EaxVsRc&RJlU;MRj2YvC!-9hl;|U{Q*Tz(4VU_fWsENf&-Q|fXpx-}uz4W}> zy*|&CxV3%PzDl2OFBHRUd6%$QGvN!d3wBU3JKZ(-Qc>nw<%TCEs9<(%!yPQX>F@hA z*Nz~|f4ug?id$Bc>|A1zy@~=W$$zf**M?ZdZ|dm7Skp!=iH2>!e8cz@vN_G|F(TNE zJcer){aY)14>^iFY?u4=bczrZX%x4-QaP;oA)Rr>>g|8Yfcu}>;o&@+#a@GX(OPfk zz(Qw!P0C}`S>h$!#&v~Og<~lX@q!_q?1+SNGpwO`((vd&CSiUjP^toW7-|Z=S-0?} zWsYc?HTc?$W76I7?I|CnZ%C}kjv9KwmxEiQ;ESWXdiatB*BW7kb$E5g5K_f zFORupP35#~gYD*lis9?M3h;{<03}bPGH(4@4Y{(^9V5oFJb8-X#+f`9(Z;|5#4Vi| zWwVgMLm)|*@5n!gG8v<7ZZqJgA-t8U18kG?1fU1x_E}owbNyiP<^$GqcS93iFijVQ z#Pc}4N=Tqdbc-N`_JXh%DitkCe|A4_>D`v_u8bR?%Pw)KYlzvc$<6L#l;8yirxEjv z+VJbQ74mDkD0T(m(4PgB*TZHKq-T?rU7M35pLT)+a<)cSF1)!-S^#2ptgNIe$ii4* z#0sV_d_odR;KQ18P&7nQ$+bshGF=SYG#0HTOgBCb4x&c}_qC zadbTo+>}gQeqt(Dc(DgYg)JrE$wL#@1u_W2i5WrYX(j>@_+4EW1Sgf_ENZs}k4o#* zC!PBw(q(OQU*Myqz1Z<*&gv5nL9PcnoqgB2&;CuXCRA~RjxPK(4`p!-nliC_!ta0Q zMSoHZwF%dw;cul!)uH{c3z~5FHUpHAr;|;2H*m94OlVvEYFJe(#WDmKzi(JdbGE+b zUv&+Qxo$(Sjn+;vafKGQ|H#}tb_-MC(PJTwYx0#cZ{sA0hE3z0ewV_OYx$yFJNNkB zaepVEaK9%7tlTTz#NStj7H)tx;_w`0qZZDG(O#gq`|QuE$thGW94YPIc8KZ=Z@*x) zLD0<+t5`41;Y8B%&5C$t&LWQSg~|bH8Ktj|pHJcq6XVTfMfO{M;nLeW+0HwRD!WqB zmCC3>VYh@MK1iR>N4Jw>7o9hcFByUnm~dgVtb~_A;dH-B@D3Dbe@f0Csx3g=a-J@U9 z@*LFKZi~f?yHo<#-}V@m#`F3AtkhISQ)?)75xWuF;59?O>I%+@>aa640V21> zZl9@&X2G1#`ebfpnVDboR^~bNPV=;8@=%BK9F+-+tzX~*B-kMeAh)+qkvpwK9+FuH zQilzi#6rwZrX9%~KlxC*MAgK~@{L|rsduo?{D5V*$J$wrYFb4U;Am-g-KfthQLj46 zCSf6BQE=lS6;Xxs8(zr0;4izriH#9Il!WM0uFIYBl!?e0Ep2Xp#orb(s$)^>_nOP~ zS=gWgCg7JR7E31$2*Nf#6SoCESJota57b*!yr|6$hb}XwgxH(A9|T-sCp$a~w<)pWv7dQl;+hb)H^^*LDvLyzg77KZa1Lj2}gg3O~SWtb06Kt<&2%;LE3p&TnUTRa?iRfU*@lOf)DGr5I*1EvX{pLJkSyeA4$$6F4roRx_j zFa>bWcF9<2j%``o2?FGYn{D`|6FvE?XpXzh3n+}Z>5&CodC5ug!If+g>vtU_^v%h*tn-g&F0pKtv{qNA0u>Evuf%>v|f=z z=x9`;+f=mV^edYmf}~=|+F6MnbAJZSH~;>*LYY89xiKyqTHK~x9wxM_$1~Tic3kQjzS2s^>0S7I-teRYOfJ!#pqS7L|-2LP^_CgUCNCw9XX+{|$-#X*Os= z$_RA#N+T>shkXe5@@y*r=u30C0L}f0{t-fV#sR_pz-tBQWgWJe0-!1-taE%G5u8cB z?6=c-0l82YWq`e8PDcSa)E{q3|pqLwnRGdhr6Y(-|rrB z(`Bd=jubK=hi`qD8@4}?z1SnBu|S+kS;{yB6u6bOp(MAec#PYZXV+KSd3xp5r}M1Dw;Kd1J`K@h5m9C2 zH0fL&&Q`w^@P0puLu?e}=ij!ZiHS|9nzTqu(P20L?CTV1SK(gL2~U^uZB$T-dfrV( z&XuGy9Io(`0YlPlk3%**8&{tf!)Wdiq9EHkGm4gw>bgVq6|ozDayt44`wV-_7dPfF zr@YWZ3ag1C=B8YMB?QS-D7c$!`dYuPs`7=NLzT};%3*Jn(}%A1!gDPZ&rRzLzV5p#@U;l%q$at7@EmDv3Uiy@BT}R~&@YB{?oCXMDBj9(r=JkaYK1pB&fT zP-kak0;GJ1YZ(g{B|!H4P{7hWF2j08l>ZfGoj{0p|mBo*T)+FpfSCMR_P z+MftJC!-?!t?gUt6~_gkjP=wb?BYvka7J}iRg$o~AVb%EV#K#j8}`C{`~1nw^w$yo zD*qNY0M0$ec~Z-Q?I$~12Ei8MMmP>eStQWl;wN(3~S600UP13(!Bo zt(^ibyICS|*cnG3ZFluZ$%NI!~i! zXQ&gxal}ms`#pS50RImvIyn#JQfVe{sa#-YAaXAooQN1i11f}K#E}()BL@S;$ibpl zE^mrjIujKql;GRf18Zd|L$L05ITw(pYsSB^TkHGQw@ZO#b!$x?^)|N7<$=8<`G$^f z^W2dLL(Pf`%_?|V+d`e)JiFWEy7-Q1*In-lpA}1(K!KY;VdGBm(zoxO2D8(pmmbz< zH3Xo5o%zG~YObNj_`h67vhS=mt0T9$Yf9wLJ}zjPy!Ys5I)tryF1K1_i-jL6?0*DX zR2x$ex0G=PMMS&-KB@5nPYY=dO7cTK{-9j*vPHXinbJmvaseeHYqr&hXWHC5#FK9c zH^-$~EP_!s*dj&GX=&l`3=;(M{IePV_~6_Vh?u`Vnn%TcO5nDvmT zN$xP4X3N{{rP0h5JjY~f+S$y3dMSHE0#uL*b);iUA`wfM;H>0=e@5ZVnK0qhI7Qix zmp7D6IN5ez5%JE%DBf$yvx!G8$~~*}rbsXoSEQJefI4#GV47S04Y=OQeq42Oe){%0QFTaA9DcU0)p~nUK*AL&TZs(_#{qa zfNU6B4sZk(2d47>h$-L4Ja~pguqwKnwwstmgusck^Bde^)-L`?r}1!-fU~vvFGDB_ zH#t@wwO+XVi8}ZYF6Z)LIKaTMCd|6gv$iZEym57sZ{Xe8zo8Dca{dJ5UZG_4d~8W< z5;)6UpT=GNe3p)#1!z5q0$O7QVu=2aQdGe^5h`oLW>ZFDO&sbhon$eNTyr{8H31Ps zXJb~Cc;$cg*#jx+MFRIlwd6;ympdRL3}d*n2DpOr8;!Quar8qR9R)T`eEKAMwL{~};cx@>Q#Z*c4+Jh=mlFkOWdTM0 z3Iq2?{Zc+vMeQ9hMb-w}a*`PSrLh%!o8>=CT!s;*S+tjuXyDP$k^z&UJb z9LONZRB&j@?z_gzS*@>AaQJ0F3JkBb|Gr(GFZxr9i5bcU6`4)-RTJ>;OEV{T0P>zJN;{|jI2X^IvOT+^Zp#tTV<$JN6FxMn?pD-+h~O-V~uRRF_8f&W-1<3j+rO1PZG`yTzC@g zl-++xi%IZlpe5a!@{-1m#4UyayO)}!vz4Q5E?Ti7z6Ni&_(P*U{%Hs4p9Ddx`XTVG zQtc}zqFmKk?Iju6rr9pJnmqV_HP^`D{4Hrm>-`9Z|iMp+_;sjJZPR{Lz99 zv=tYLt`@eXcfQP3rK=>UKccPYuq%L1*jk6bj86vBQ1swPc1hiMzsCdBgqUsTH%V`@ z8O(AZ9{q_XbEv;YJ6OD!tCZADy)C|9ZE5VbFZ+!TiA+d?==02WvAkmWp&Q>ni5YEXs2! zlx8V+)_#E)%C5KV8O_s9L_7+au^7+Ld8v{kz|kL4EG+jgbVn{;jEeyBOaGquFZz;% z03Y2I97}FkX(!K zssKFOlsf)IbuT}u!S#0&JNaT$>d2>LcIW+M9v03lJG7U7rnj|&^!+PRdsf>QN*VYE zkZZ{^^Dj+ku|7uPL1k$DvBwp&8_MNY=l|>@sGnUmW%Z&n^2VDj6tE1ugi)xY-v&L)nQ~5Fe z1}>B2=MBreK{bTNj_VWUQN`gD{zZNxx&%AfJ_fgq8~=dNm|k>l!j0ipXTsE_u)D~l zzZQ?cOeR3jQ-zwL(yT3Tmy8199oVutQ>JsmmorlQaJxbV>y4A!9%Ad%O~w7$OTWt_ zbH51AjMV`*5vF4tk(1O4Hp~8XAEHtXABVNa!$2G(7#p@zVp?XN=<3ZdI4g6QL=K~ZwyzAzd(=)QLX@z55EQGK?GS*Ex_>jpbs~jf_XRPNZUfVU9~;&qrnrT1FDNZ zxlJT9g#$C-Hu5I>VH|^r zs#m9OSeDZB55rb5qE-)NQXS(x+ei}1clm~^Y5;OdhU&53Gsx)$*aFGZocWDC5LMqg z%~pNFrGWA-ek7J^Uk&%3m*H20Lvna4(GLF~V_zE12Ku$%=`vkRYr2G%R;Je0mZ@E- zwA0#amqbLRi=_l9Efqz6-53-_Nzu|;YKcg#v8P2Sp=z(aV(Hi=h>)fKr|NN9E77&oVG5~RNCA&AUNm=2*DUH4rWP7 z8YRNBCPS_7qU30#`A*-q>nW7G&@<`6J#9!s;y7UuP#ZD`N81ns2GSLX^m(J)_N?}a zdVCyrZz+i?sK;FSs`osKhLIkOtv3kV29xCJbv1WVw0Frb%p`%z+{C5$BQ%|STebet zxDu)u^Q&8m3jQf+UMlg<6Rpe|Kiv~jWfpIh24t}gUp8RA$>`MUX+gTqCaqIdXXtb1 zA51aby=^G674;Qe?+V%n7&+CC4p~WVhre8ZdV*f-<;!uAORIJ^DA2o7V2BFMisiYC zZ{P7IFO1NXrl8CC?0X*rYYIo_{~RkE^|ot&Z*jAx>Jcg$XqKsL8wt;z@PY^Gp2*yz zECuh;`QD#`r7-Xv^JmINX^J#_{x!jMf8n|YrW52)xt3(omXyFUaJSW*aX^A9>bWs0 zY4AT6>gvY+86|cnseDRY|K;W4ss9S*{~NYEco3jl2_Ns(YAkj~)W+_Pf#ot9hL21v zv{b8x4*k04j$dNu&8J1*qpvtVOhcy`<6aw?KGB78s`GvZ#jK_LZ^MHpa;j+<6O*8n zeTnET^LZ`j9Jw2!MaLA-FictegRlJV-h#ftE81B<`mFPI3wLDlmvHGA{h1iB%3Nhj zJyT(W!N47LEk=zK`uhX8h10Sx58bT#mY2Dhm){A53;6B92xVfiOIyorebrDzs%%Uj z!gxQ!2|mpF8+?_>!lM5m1v4__RaaF`oY8#?74&sf9pQA^yQg_c$LD93cO-O4QU5T4 zn?8%CO9F-6#E^_v#5&SufMXYDqD^zFse?NwZ&+@iFX3y~KfRu6|LpW6H_SZM?%H9Y z9^fNkS9DOCmmJ_7$xj7*GFgq*q+Hl43xJxSy^T|oZBs@--ph(sn{K?Gtp3u1gk-i% zB4Oj0yC-di`N$!eS6?#AQ#8h#=7lEkqEUw2UC(+_+}rE7@R5tuvqwee+8*aA+;BeF zvykB?{A2S^^WB!XBMd{U-M(_h_@l|YSbl~MOViP%LL*C~Kh2refG2lB55D-dQ z`p~h-dizaU$KBpak~KC$PP98RC!LOxHaZco`=8V}ag&9dV47C>j*p zYFY)&FsgpcI5aVT-Du|o#kyr#ko7_h!W`JGftF(d_Um}8D zMIOLMM+(N;?#R{|<<5&%998&#ckwF@2QRUS3BV=&NL~R`w&D}|ovX$um_F8IE|;&; znIhyFi+8vuH9XI1R;jE&hY4N;{td@Qeb4n*+nbpy7utA~K~eFsRX%naxPU18ETU&n z0hTBFLMk_~EAG4Uwug2UKUXbb{!_|v51PWO$oV~sS%q(ZMVN35vet6($!;4{hG9BD z;j%gNAhC@PWxF2kw6`MQ_VktZKQ=93ib%M5<+Apal2Ctvm=(>RKHh7H#mqAtaW? zQhqPb$nhC|Z>OmviQke4Z}sOwm1K%$Yuhr&{8roUvf!y;wf3e>R;%W_G3cOHF!)~a{b zaeR$XAI1bra280A1}tSHd|sA*OxJ8Ri%5{!3Hh^kva~k&l>R=v)Y)0g8N|^D^3jnF z{VG1(Ilhm`;V9j(D8F>Rc$=G_5TPwIqjPQQ-ja*>@^LnYkp(KJp-FV_01`r8~@T?xu5VlUc)}zeA@d*w16hO&zDTfF-x;B)MV)U3P?IPV=^;-51%0Ih%+l7+-b2pxBZcj zjS5z{O(7C=A>Jw>q-UV;S*APeDSVgoU~b+yB$c44yJE?NDyE<`EQMc%-zDx}`Q&E# zrRCQ9p#Q?}!Tvj;^PMF`qsG#?0SK!uP>dLr)R(8I!iD3O+#bDOlG*mtkx3pcqA$Z( z(XD_TdHX^9EOzUAs&V4N3H6LqMjk0kDaXs(uk=#3&cSDZg>2h?W#cW<45Y4% zs9$Q?Hfnrei}4tk9QYrABOtmtPf)A{FX0 zlQ=PnZEf^V;7>+-TukvK;5^ujd`!_nuk(3%EyFf3X_2m~br=?M5}@KIu`6{sQb^c$ zm8iEB3273pDy!S(CqrwAwfZ+?lg|no1Vw#V;BzQR|8E=lxAW>?bJyy zkds;9OL^hNIrM3dL$8v<(-j5{F7~+U@|)?SS;BO$Q?aN9A(>m*(@HMlvL1QrMu8KD-@z_oF1yzK(HwCqf8t=HsJ#eh^`+s0$ z7^4$S9Pj4C=V^kNPs%R>H2-R-h0Cb4`CXr3KJ#B{gSY!Ampf;FepX^ad?2Y97X+0Y zxb<8BUwl9O=3sL3mzbKLNaHtKevILb7<^O^R9Ci+y4kswkJsZ zk^D2*iA!wQaxe7JyC7Y=l-De$cgRFh;O&+4cz*9m^AbMX6BKrAM|O^T(l>Wj5tDJs zov-Q;2tWIc#VTVq zp!(V@>YMKIPwf<0o7J2|Yu_1nr^X*U?mjqjtqI7o^vCmy+;(P5jjSOT<*n%mOmfUK zzeR}imSxu2`^G%{&7Y`O*f!uq#O}ynAX7Vphx$fcFc=&6J0yzAa27l#ey*t5zOMd3 z%XiorD>3b^a1l$$XujHb+$|}oncKTgobgLzj-RiS^DSZ%D0 z&Hi>WJpaqx_1yL3D($B1r!#wD5B0)11bD4*z*JVO|In=xHP(L-p8R)<0y}fYeLSoV zJ$Uk4&v2=YRNnB6bVS=8LPmPNd7xI1)qI$T&ZD#6Ogx-OeUG4VXz@H|Y-j6Nn-zKH zN4KaN4_d_VR`%l;{vQoHHZ#TZX`BF_!z3TXpay*m{b%8T=H;Cua25EdYIv6Lrtyy* zabcO%i7mfk!ZhN97fvexg8?X1^Y%T}>oqf?wMz;ki#BVzf^~)?#jX1AupBcqUd#EO zkJ3Z;J;i>`1j3)tcDl?FT}R{OQM~0#sr{bU*T{ctm(%MrW(L0zBW%jJ(A^A`y@Q4+ zDY};T-<>x-P+xT9!x!^i)czD))a$Cf@l)=?a%Q%H1wB#Frkm&G6);+Fwy2h!JdEb4 zru3v_wYa&uV78`O>?|tjGcPMJOFBqeY`K-i1E;)=o=Ykr^H7#E2Z4_Qk0h(E&;j@0 z8ii6psnZ$gF0#ECbMo9Dtiou$!iR!F&Eti1p98C2*&BYa9fZ^HNQe^l2aDh{)8S{XDptO{ z6k|{AH0&sB)^8gKF8u?$4QZX>IiT-mOdK{&0|7-TwnH6j?Uim@M?IqP(7_uRtL) zbIrRzovI=Vxfw!Mpmn=Fzh-s*qx>x1{$rZ5zwiUCC~X8D|$| zU--kvO%E&l1#TG|Z1^M8p8CvGRD#QeQ%xDT5w3_`!CMO8(;(Fg&`D+E#SIZ-OUtO9 z61=^darlWLBE9~~j~x-f#-vO}ZoKfmL}kD=+L@w}{%R7-YlOS84`h&3C$`MSHT*&H z6--ZwpKX9hNFPf}fUm;WG{I*Inr&M*9$oo8V8fFyd5|ewu>tZC&oXP;`|ZcvoLFwr z2v-%Z5|S7EcmlXxktbN^44G^dIo*LjL`d^f)p?xNPlec%L3b+3N}WUtJ@|5_XwBJz zIEeuoLrb>j&_!y#C(q^hBsyIZ#RM~j%{JhS#6sa-fT$0ReoILn#fZf_yka|l6dDVy zPO6C(VpAI=JkX#R#8B6OyHzMUq4h0a~d8wHq^KYLDM7i&V=5+#w z#!VC+xwGbp5r|XC-_zn!$^Wcb;qt96a9`geneSO4&&h|^U5>tL3zOK8brt`KJIQIA z2ioX(smO0y`jB^NnyWr*AREShs4?kcCeq$Y>eFl2r-g%?_U;LLoH;gWqz-zHkK+37 z{NK!fkBYs~kfK+uRe&8=P9@ZY1J~ZZkAEU``u$Kg3GN=R(e5dT66|{ZNFS=a{M&yt zVed-rToF!eUwOHs!g4*#!6w4>R8Q_E>KkwNF6q;eexDj<@Q zf6sYdFe-nq!GtyUv>sfyY!1Li>%9iDT^0&<=XG*#Y;Ygo$saiBp9Xu-?iprz2zpE; zJd%Y)ojy~jYu&R*xtTtnf;%e2B>Q?!Pt>QdOnBl;I?7S~68dkeDwD$klhfdZu2)Jz z8ggj6dd(w;HjG-~n=Zuq59H8c3r3geWw`U6`c^k!<}(>c_$^OZ-VVmMo=MQZ-wx)SOsLFmJH8NB1nhAkwEokRV z4bHTy%&T%k>Er4BH0#G(4iSexKPQJNLCARVw(XmxhX>~S-H-i zQs264Kdn~5B-U+O%Cbv)d2H5qA!tQ`!(%ihzCU{KOHDG5v8V1g+Ivp?iy)29g4cT+ zM{|W!to&4|+d1pNZgfMRn$uC#Id8J}jJsiqwGsV8e8MmGv6h!gtCNfMK7TH)ZIyFw z>Ey?1Dcfd|LsbE~cR}Ne7s|_7d*2#Pjk^I$je4?#6Z99diPncZvGAgSpPM)y zz*NP2cPYlKz4ViFg|PUXk$YE?*6_fV59Ks&cIG7BcR_m$xJkA+&GgI;!98DiB{(K= zR%|wM%KMg2m!t7B6<`4qwoH-ILs6T@vuJR@qsN^hJC}itDF}@(vKcOYM(hxTpRvZv zRj3fm)_?4X(uP;4g!gyYflYn7jP7hcnNg0U`<=hT+D;0!CVK3fnh<&1)L(N1sm{Ub z5`F6R>L|0l!b3QoZo^ZD1HZSKPWypG#vjP9@YkHZPkwVZoC8R92!&?QuZlCJW}L7-G7K? zTYKqquyoq6kPNWO`}2pu#1FVDF>JZCKWi|xHh6YLI#9ExaC7={)ND4=PlQ<%c>0U? z_X-t9Se4+th(`)3mjH`Nq!GRe)a?E7@@l#;WFI?&Sg{K>M2A)Y@iyVIvF+SHVo2=z z(UwCUx4?&Pw+bv=5Hhdo&4XdksKHGK4lfK%2!)B>89U;`u-2|VpBCeVOEnp)-B-s@ zLN|u3R5fiTU=|plP(};gY54NW?honl8=Py9odr0r2Q5c;U~tdteEnp^BU)M)SBa66 z37pG`+2!%YXDgpJG>jq}VJkQN+ioV__q+U^J$>MvgsAND(c|A;%`(S7lUrZh_*x;p z3+=}v4Zsw|<>y$QCR%w}v$v!|nyLgG= z3fs!vx|Syw{+u(`GvtkDNLwVDOARHx31&I)-`Q-0=^x!BBt#{h>?W$abwj8Q*D${J z#;CL_SaW*NJHIm}bVclAZZE&fM)g3Ks#4-um_)-yUeN7~m7dr1x>~~VMdBFf2*BI* zEMcm-AdH@}?zyI&Qjcr-%r)=+e(+c+S$kCDS`|;!wTzY}ZhjXa;!ij>?x{+>x9RI* zs-&i9y)WhnCsjTso&jBI`6{k}&Aal2Qj{=nZ++bo^^4*~7mQ&_z=oLcJN)s{PCJPK zROM>OU1Oh5?=Srl{u{MjyXuH&Lo8rQsR>{M35c|c!Q9^jBR$cs*xgGD!{#TGwZ3z+ zk?2#W0AVFaRFn#_hQqQG&6bOK<#%Mxic8My(h!y%5azR7m7~P@1@QaA@8sv{5?=q^ za056x_xvl?X9?=bR%H8m7ZG9LN<;2a?ozuUn}dkDmaNj5If*w;UsU2#`5iUC_10@` z-}xX{o;cp=th8N@+TWt!c>YOo+Lr{j z2o0AI_2v9Z7U7j-6ZzT=9+uom^qtzDE3 zSITI@r2`t!VGP3jHGIs!Et=}($WX~!UV4YGB+p~av5uUx+_${zSG|yJT0}&YrE+20 zoo95X^{O&weRp_;Qq#xopS!1tg=!Z{{Zs4rU(i22C2gaksp&PX9ASt`(o~d*@{qBp z+7Ogn4?fN#EB)$c{FlD1e)wRc=5K4)9}3!Q(_m_rUVf!o+mFMpg~=FYQI9Md6ZrX4Js5N!UBl`EVbH$SC;E_tw0j5U{d$x$nF;b2m5kof4f zxel-!#^CzB2|o#+cnNvs#c>{~pzU8G{d7qO>zB>tKx+(QJkkb*M0r{pBH-f^BFyp7 zbG*|UiF3~S!J~PS=0Fl1BOEF82S~S4q#(KVTYfE>IyT{7jV&wG8Bm?@aOxG3pj&5u znnbU7B&d7hi|9=kR))%`UrS{s$^iQlUi(2mz_DQ&7f&9QwFwwS+C&%xV$0sOWO_xe zSw6MBFLtNYdIi$)$~kC8b>WCWB?Ohn{|zB+XxBWrd*rW%_yJzoI1pxN(IZazoq(7) zI}eu|OQ`t45oT4bcP5sZ4JUyiyV1CE184mGD5O#tYa1sS8m{yjC6bO8tTpYb$==wV z>Nb128gFgc%JW3P-4c@L#2G(!NKe5E4y5=7zyHX_ z0)tEDxA>*-=lBW{3KZ3hVE0akzul@_ue1e`=Ur%wBY^7a^*>Hg(VWwcL-gRc-+@p- z?EDB(D}^n518*a)#TnitEgvyg6@S)fm_FQlf+PTq>U1%{{bSMU83y#YkhW7>J28l4+}(i6 ze`<+|bPh~jzfcO7u7Yb@)*GhgssSue%F-uz7$asUU~wlK8A1`SN zUs4k2-w19NSI2*#Hg7H{zyZTJJ`cPR6hZmo`@O9uxVV7212Q$J~3M>|z0 z!#Y!1e=>B3NXf63juIdE2TlAkB>;GcoQA@IGL!6Qnpc@h^06s1QbsN~=w`txZRMwb zaG7iYFhFhAVO!ofCX?7Qo|VjM|5(Yh5WvMDpR8i!+LOQj7s5R8Us39tAZB$Fv&Yv@ zNjz9K%K84S@>zHvg&VR2cA4F>AXD4UBb}?)x^55NH_T2mN9QH=Ro~d9Ga(MMo&)34 znaM=LF0a97MOH5#@gJEx{dUjlFH~)nD|UL0+pTD(TvIsVdt_L6bAxdD5zFjlLy4O8 zM5j#V&g(PFjzAi}ure#^t`rn&7rT?vhuyn<>ILy22DGvDXMP^dISLPv{|7D3I70om z%1(())dAQXTufUR759bS#CRuUt_r`eoGY*REnuui8$Oqme}uVnThgwpP`BW0q9jjj z#3?I`ZhzIfJ;&l|t8Jw}et`x@Di_`Gl)s`B$+|5RJ4V0?2l*Xm5SCF2uKQ@p-P^?_ z5|0xZ+gf|>!M#YN5Ah-a!yasFV>Qs9OEt|`3orTJBlE}4$*Ui3T?#P$vEzLJ>);;G zajRaB-q4b~Ve6vAoX{Lo!&GMzSaasAtIJ&}(|hN{J8&a}I%e+IcHh@(Pwr~ntu<-y z8Erj0Mr_mf_~X-`6&PY+GjmT__`JF$Wcn4oDo!$&*nhQ6!Lgj@X0A|+r4&)5H40&5 zMmBFa?#GV#HJ--qLZa>3MkWEM+5c-(4>AM-vLt~a>kn(qo<3~vPk z)4Rxu8~3_`uH1ih**muUZ@R}GF)L9Q$IVpXuW?M-gq2u}z!@38NpnH5wqIQM<;M=J ze1Thx=UhkYyvqE=CAL-)ZRL->q85M0fo;}cZ#^D47-L$f%m3UdT8xHmuk6e&AMzc; zY`)j!x5LMSuoYpaKS6BMEKMturb^s#4>Bubr9_*yyTB8oB=T^7jgTw~L-jsqmxxyE z@v%dphYM_GXV}yJ9F*0;8W(dj3Z}O@xj{MtyIk}au?6g}iCcT;dU|KgcZcoaxxbH} ztieb2l;5A@yAX(7HY?}mI&G22z_`waqS54gRGvVDOFdQlW5?I4dlM^ed5^!Qt9a>$ zAXP*gKXwc^UY<%c?AI?dg)c{;l5DtsgfQ}aFz{*JBpfMx^Z9_@HtUxUX&P-)iWduy zurN=`5}Y4Y+-3#wzM(|(of7nYA}`{!hZRETNI=UteGMso@gNBM)H6bStKeJ(x?LhN zZTn!m5q394k};QR00O@4p$pey?TJ%*jO7uIC3R?9kO+v|V4ByadLUW5elbNA-kYuQ zfy|IOyV(aT903k^fYHin%&$_a(iMjl1W;6I;M&%`(HZo=`1m<^9gW0!R9VD{dxK)) z!%vXsbalwAaj+%hizX5AtYm~BrvWrvWU7adlY{8 z>Gab-4*oM9fcE>)54F2JVp?B3r_T5*2HZiaWOcTsu@qC>A37tp%f+Nv|HEWee3S`7>k(p#-OPBgR%$M>+ul$dfsFcAGqQkx}p9%uwQczCRoZ|zNI{# z_xA3*D{`6tv@z`6c1_*~FbyDZ{@SX?z0v;_M^5(g&8qU#D5^<6E_++uVN%%n%7Msu z8Jjp8ysYSX5)2z^#Z1VCwl@5njiZa5(7vUaaN>Aq@Y_AXWL2MQNQHzjq@%|qJDh`h zN}upusB^e1TG(zdQx2TLs!>LtPh4x6aC}&Ark2Zl&K&Bt83MG5q*SDXMVH2-$OJ;l zym?(~7{J23PA(n)?o(>ovR}2Uaboe*n$mH%L>JgTV)ceQ!qwh%w}1F2$ZsGuPR}C5 z5-*Yh&wh!dgGZ$%!Tb`~@b2&U4L%R=qiCm`R~)VkS#F%WQF8TSsOGETgc z3F(8fH?TZmO%e!;7qY6px3=pux3w&R36O=*KYhss6q%X)wVgFiH*j7*c67hty~z|A zr3;7h#X;?r=wzymDQv~Jth_+J#jNM4qYm-|jG+SErEe#b58l^K!?sVBue-ke8%4Yf1- zUX*&q_+B*vzv+gMWh&^@49nbTFnoy6n@)Y>>d?i$gcHutU_jn+{P7klQt*O#zVKba zo#Gh&`t+(RU>0_Amv7np7N>pL+kS*o?~yi`D0)F0$LKB=w$g#VBe)qduafUmyh+c( zEM@FQ>BA36@o(Qf1YjytWDF*s`4}~l!4+)xgxH+FFp)miyygoq|3YOD4CGn zhBM{MhJ^6`#it-Owq&wB%+?$Oqbh83!{5FS5{@MEok?2&KyZ2J7|_xX|M8^NDqGkr z2ycI~lAv6Q@k;&Vv<$(1n%>-e?8qAt;zM!Fyr}4;h&-=i++L#P+vci{UH#01{DQ~bns*Ms zKr1|%F{L!=+wvq4q@l$bA)X6s^8P!0J0t)Sy^%_=F&MK1IzT^XSUU?I`{Ryp6}I#! z)6PN{)c7q*l_uWI^8Bz<=XZm;Bw>l$pgv((uy1rx>JtnDJAH-jfl8cfP;Q za<$jH^&!;WAHmz2b%p09?y_Bze5u7m)K<~V*Egb+5=Ec)3AJN~CWC}iML>K1#0C6g z(FInLaOg>ZqmrO#foS67URjM9Kz~c@F$m6e^Sb`@@RnS;?@=x5%w5|VuTo8}t{yD; zsPU{?(A2ZsIiZ4k*+Iu5&_4RadX?jm$znvg?3p_Qm)Sm_GrTvUFO3kox;v2%-)3O4 zPf|RU{n1MhSx;fE@LMqUTg&;Ezkm4lNniA2b_)4rD$zC(qbreOjKh3B3FIm&T(woW z?})~lvWoKBiGTUdYkq2dv4o%32uQwF9aR0$fP?+xgGy!%I*JG_yBY*e9JN_z{5}72;)gRO6Nb&OqgA z<;LOFl;e}Xbz=f%l#N?^F8jjxWqoB8$zuR+7`;BKn)A3u<2)oeIg>v$ZS(X*z3EKQ z-bGI8jQQIiJ5nC}z4|mppYtTq=&_HB{}keq$VM%a4=sCPlYVS?mSymO;3q$H+9V-< zOIbOf2KB_nJJHIoql9)=!6Tuef`RGt499?7TqEdOm&QmU&<7n$O>z1I;U$@59^AB=*x02eO4XE8w-l(-d&F<8ilVR)y9A}?06OTXJE>HS#I$(~v`b(v zEG;#3f|9N_a3^uH>Zh;9Da4?p1jkWz)o;*1EnRoBCI=*Psi}V3M3<|goD!RW_I6JA ze80nz`dcO9#`{9WVd=c;i)>fD4HkCXMvB-vdU=s5xZYg2V*L4K*M_He6AlQ+)Di0& z2-2+L!yU>7muddD+!}{%XdXeeGh9`Iuu#+q)}m2glqt_pI}H%)RJj?6ly^ycfm5I^ zk!R@Mi5gX7no5gPiT*p6Kor&D_X6(=u-!>yyB=S2ys*CM8r!Q%BJ*RfQkS#w6#>z8 z#Hp*YMi%}3jCPxV7F_$@J~z=MaV)4ii!03h`qKliX}U1R|Ia$Rg{~HZm!t;>VXPrN z5=@HQKM(>C(gsmd29WJh3cvnTxC(sMlPDeuGzOa2ri*FS_(HPw1mmMoeOxE7$KBW2EZa49)67OBgJ`P=ZKSr7}4l-w{R5{qznP2G|_7neDox5bRk?G5p_nJ+KVXjy^- zjRcQDn`5Iy6*zoLAv){c-;*zmZ_3E6Uf%uu<58u}J6BvJ;AQM-kCY&tV<#+sWutCV z%Ab5C&h9VX=lNJ!o`l^`-lJkLN_8>KXc`D!O0q zgHTDWY5GI1mhwFQXun}Ww(D2)T7yHTWyOgYKa-7?Sv8?%Ml3R~Ox=`ICc(Gbra z6cJkL(m`2uNb$)2-1L4PwJ9qL_CFO`{ z{%rVe(?Iw!U&dj*yX({OeIOoYTMxarYR*u$^2@=OaB~t;-4VQM%Vs(FcA05YrT~m7 z!b7TGTG}YRo2$&~wV{DwN7zr;1w$9;+)899uXRpg2sc;rVD^E(D?z4-!MB3|hbQIS z0k+ED{iviOnIhlT7u*iI^#qfoduIDNo7Hn^jy80A37y_M|J`3?^BbbOQ*IP?Hk~x= zr&AX`*e$X)Mg;nct$c!f8;ESDt0&L&Bn z>b%WYiHW!W60-TK90>QukG-cWt3Cry#?=gn3ZTX&83TEZn0a?42?r= zjhZbCTDgA)XdYGnI|;TcX7^Z#25G7V<&L`6&W*t^P7u9;beUQ19^vg^qa;Wv*!NTqP zbTKdQiFyucdA-k~E0TcM6rE zwi@(2Wr10z{b2SCUoE=lb?b+s(JGEGh2f=sJG>;&*YA9n zvXbEFZ+h{^UUnRk4yo#_$}S_Ty#K!p&HknSHpoJE-us5MiR18FFYk)kfA>0KrH~Cc ztYrTmJ04}I)@ z0bmDd)U1f2+&n7Fzs2Gq2o1i?!ea~HH!iri9VfjO-J6%~y8PbSE2jhvn6y<-W>Il_Z_kn-| zAG$awcPjb$S4z*QNhf4V%cri|1welDfaEzn&D_1+I6kK~_(C!?+gw^W@4&rRmDDPr zZk>qCJ{B4@xZm*l$3U~?n+x~o%M?S}8u46fR>2(GOtEA`HaS=nhx|?u@hekop#1&u z3`f-|+m!a3QD|fnpZN~I%t|B1h%@Z}78S?((Em9n_!Gu24H7Lk6I;Ft5P$X*8%cZF z6K9BH&Odgjz390QW&6SRpeduBhaTQ-nGL+nDn+=LfdiHSsHI0HSA6%=IE#$STA5iV z#!azfU~h`{^M@*Yxh3K&^x;$0$~lP_X@Q=V(`B?_njiMpbWlnXKhei-Ob$7^;oRzD zFAsAz*88$A5<<^>rZ3Wygqx4Ea=D-`#yK^pU8u&OfdJ!c)F!F<$BscL+rz@8Kaew& zj-f|d1Bf$kNkd3}0Ys>ETMYYMS$cbfZIhlt;exM$N~q3h_yT=%G`Q;)d{dxn#YX{t?RSx&m8xxmDWtyTKf#ty ztf1Dsp{o<$B@Wf~ON-|hmZJ$Kb@cn^>6`wK!JEg38`^V!rN`_`-2!6@8?AsZQ=t2c zm=Mc)qJ^G&V%TKtscOLgYEYB0o|v)hQbkDUuo?29OD8D(Nvx+y!tW)!MAkOZLWdTfl+lFLtAXS&?@*lNlLkQ z%(<2%{4m|I_>2SG#%Cf0F&jxD4Ge21nnY3`n6h@9F6OrOcp%)dk+}fVRXY3fdir%x zHR%a@6Rc*__fJHZf%3HI1F@w#Ha}qfZ5$|BR~+M(RvCZ{H)`H-R#GQv!Kr_W6hG|2 zBYLu&!!o((V~J#cDb7X}HJ^^-`(L*x3JBm?`n&V(Xo9oHbH&1xpygyPz3vnE&FUCR zSE{cb^~^U^GW{zR0;p#`wY&Y0g9W5_8F89E*Bmh)+Wxyj(7&T{f;uKngzpttxnoN! zC+U-EsZR^;mKXd=V#a9FmIt{+uXJtBUG!C*c`mLq9oX7X!0atlU-7i-#H9Na0}GScW)ru85Sc?nkeI6oq6^pzcgDslpc0>OT*nkQV z6Y3wul3Xv_g-CenNlYf%uVsGz+u2vn8j+CwV}}|1i0M2)*{4g^JSCG%J^hb86Xlji z(^tOAMNdM-H-Aa!CXq%+njEasjq|CLGTg0$7{L0?mrIYYI*K)LbF>3a_LI$k4 zODgQO5ga6D_o&Un_>AnDNG56YW}S%J4u8bb2Fwv}0C+dRH)nrQt0pT)H%`96IZajl z-L@c0FDmsfI^0ZQZr%T6fw}A0WZzRP`=2pm0(@Bl?QV<+3c7s(@@}Hc8tv3}!@gQ( zYGHxx>W?Ag%cT5=y8-Rve}}H!RgMQ^J3mHroWR3tdXlS0U`y7F+VH_85PTf_S+Y8n z{>AgVA$>)gDe=GvJC5DsIxHw@zxea zrHv#@KF>({6DhtQ!`0#h1JF=#v#B@n?V=*hycoBFPwXmZ%$cBu7XkJ!k$il33Ukv zgrSud>~<(g>OfX!@T=f9r7evM9hPkkhxSwoi)}%l-D0lcWo4L~uk0-oQ#q)@Abc*R zEe{mD7gDXN-~#l?RL7=YeUm}pk-~3vc6C&;HABxe(pNjIZ_Hc1&fTw;wpxb>67~iV z1+_Cv6{Ljs+g!kgI?{9p@2J)I;*+=M+)iwSD4e! z6cRucEFz(jkpC$|#BINO*&ozK*4l6+tk*A(ax!khHj^D@3b?Pi>c89k;6K;0h3U{qP>q zGJ-wTD)fWOIGuP?T!fbM^F2>%;F`PaC7mnwQ|(t(HTZX0^p0ZFV4$$5I2U}9Cz zXus9z=`@^*6{B9)PsLNvKJ$Q>6#wzDe2lHQ??0&{NnswEmhesC;X%Lc)8mO8kAkZf>auq&2GH(S`FoyJffx@Y~BymXzNtiBP(sQJc!ke{xXkEEc_vmu8l}6!L7;X1m~T{tryOnNuNXmw(Q>x#OP90qZYVv9;G{rCQU43kVLrSa7>SF7JQ>I4oQe8H;5q3`?b zaV2bJYZ0BwqK1uBj>R*!h=2Z6s6#3I>QC69_7Ae$D@7iN46~6WP*r@Gd6?!yX_wI? zUu+*G1_rLu7#9BU&ec0WG_|5Ru06r@E+d$hPdmqPM;d~b+K?3rJw|qJ4P7{5dFngk zqjYkIVfb0KCYa#ps3KfqUplrZBg`c$HvqYTP=o8=0!bo2NeE$7O|i{B!eAHUz(Q z7G#pRuGmjgp2Bg8XbIE{_f0S)0shHd1fgfN>#o_-h){8bBpm@g>O>W2s$U5}F8NGu z&s6+j?OLBXRD&NXH6(r`PUmgDv{A4vE5n;~+n<%({Mp)MayZLlBG^{ylQjemQG<9^ zjxsDb4fL@Z6#FFOiEE;TUp5Ps^*n;yo${Q^KvKzpEopaHP6)4pYL0%kI$%E>sEZIl z`o>N1l>{kK8aoQx)TTY$ZzG8A&SsE0Qy4&{G!3RdB8=d;$m0!z&6Si@4i)ShZ~!A9 zo8XV!8l|Zlm7f`H=&+-T)9mQ{6&Cm!y`N+&NagmF?oc%n9~rNQiU}CW<9wP}UwJ|< zlDJ$j-0ulQPr}R*r1(XFoZ!XP6OdGQ)oampme;B_48Iq+a6sG1&f6|5@ASJnAC%@l zXY5tUZpb~!WUE>-(gg()6jAGBJ2|NBRH|0Wg1>k!GbWq~+tPD7tJRU|MFnh-fM6N^o+J`Lf8C+J_m_~YWzX#fI)wrO@R5*^lrP(NxCnfLyp`j=$P9EFSkHKp=KOh-15StSLdtlm9tOpv^vcsx4*{ z)p|zi&%%s6bt_PoO+VIqADEDpXdMuW!CQ#pasoW-29$?kdiD4z9HZ#Sv z0<5!zF(KIX_~@)#5o0$ppf)zH=RQYws%CoVq*WGt8B zW3RO!a$He2+k>b{bK9OiOc^|8$#DJMgg&NLU+7O2AiJ7G8rKmuPwv~REun0uMAN9r z+k?W1128C8W%Xvk{nx&;M%M;MF9l-B-eZ1{@ZKw#ozbPql2Al?^f-~=Kc-KtyBrVY z5R*izpCDMjK}C+bC83Th1m;3FF9UQ5G+L|sF4|fQm|801Znj z3Wy@9T10jio&*RGW#3~^R)JKlS`z^QA+iXSodk%4B_NQf7$Ag51=*2EASgQt5)-oY zyXkxSe&>6C^t0!Wf(Rt{bI;5**IYA`_MFgkPAm-MFX6O6*YMuT6I@Laq0BWbbMVxX zK3c%=3AOhJ0bP3~ZGld4r*J!pzp4ziEy7D(;ydPBlN14WAY0>F;ny3zM0>YKfnM@( z0AbV=U@t)%H?yJ!gFLtYY%p40@Gm@Cb4PAS4?%mu!p4-$^lT~CeaPv@ERqk_&rSOlI)j^PNAr4O^M036<$k5Yx6jv zFq>aBiMQ@HRt(q8vzCVqKuqlT=>gR(1gazC#m{28L+!aAgCuK=nhIT^dD!Gj|P z=e~w&rQVi8O;g1BYpAPf2O{7LtCK5e2wZf$I6$jgD2b|ybty}ZklxrMo}%rCVI*ns z2yuk)-s-ShCwEg7)(ebTgv_FU-R6c~KNmC8c^DHh(3bA6nP|hL?KI#DeB=iA^b;pi zJ9h>AvC8@NT(}PQ%@E>|hIlcgpSBD_qwc|jR%=a0r`{>_*`}?(4f5ME{pO~ZM z#9waao~X)IE?x#o*7KlBH(^LkO)j2ToZad8hW4V8LfgL=U`*DSZ^xR&h~xJLR38(b zQ)7`nSu+%HIat;GxAv!H>7V78sxK9Qu3IF#m1T(Kap=ddYm$-YXJgM*A>=z)Z}Iw* z_o8)%dS8#%U0fJErH)+60dH(0s-x+LOEu?;!ZQ;0RHD~^X3GV#k@@^obmE9{fc7nf z<7o1EQj?lQ9Oer`fa}|p>Tl|5YVk;ze~Rry(u@&jGt$q0NM#MG5eH$I$tkMH z{dfddQtSg7MRpqcj@~|I;4R0AsI9(dzNHH zo7r#oU_N@UPb4ioWj$FcU|^RcpMa`FPJH_5UA*Y2!7B628`j2EVW@Ot+&O!T>N8Sz2z(>2zUTF2|tDr^=R3o;Lyi(z9=X+mE{NWO-c*psquTL(}in|FDs`=fNzR%;)SC*F<)GJ)& z5TP}51B;^qlhxLuSbg8up;64S?S-lr_6yI7iG*hd32hx`3UNzq-q-eCtvJwB7Tg(H zzA)r!{;pUC!pWWkXlFNvy;W9zCCk?j1est-cgbpC{!82 zv_x-i1>$mkly?O&`WOrcv7VrWK+=`>hBfAPf@0T&DBgw8@No662>Nnib-mt(aFZ}#~)gRmWHv;8t%N zCze#-W!Q=i8gW$8F}cgmSaeSIEc-9OJ7xXJ<=2g@J*EwO&!2{MOkvtk5yrzc8!>saoa=c zzqMCV@>C)w3@c`F+PGPUC-1yhxp!;Wb$wq046;OcFsf~+Hl*@Y-jtCe5tSh<+X0F{ z5q~>Oo$$w}32Q1*8)QtXYSR)jK-U2|b7Orzvg=Lpa*kCoM_xmEEiJ;`yzKsJATjt! z-(8OfmH`+^y=gO>zQDPj?n~Y*DqQ{PKv)6aPIhoONF*Gv;5MRugocm zh%;qdXfoT>_0N8^S~4D=+)%tlhKC*kax4XuHXDju*M?kndH$HQsab1QSGy56;4%g( zLM4hinNyYN1h?ZhyGag^W=0(-%NR9 zg5(NtDw&mqr>x&s*}m@#;dno+E2qX4=5+oFa8gSeYINeXvq9(cj%QIWVe%u7#*&@* zj+wofA2|jz^@q0jo6PRX-xLI)H_SH|uT|Lc0=o;QrY zW#ZC9cx4dJTd9`COmbDhfL{Ws&|Ror=f?fCl&?Oh=&cW{Xj(QhELiOX9Kpd$;Sj?% zkcw>fS|H_CcWQl%Y*%1Z>%hs94op=rYifMzcHV4=-9}{04}exnOV)(KbfTiE#%4q{ zy0x^_q|c5uSJ$mfTCrRa%NTmX$nR`Xqxab~;u}n>WE9_F1>XesP6S@)YsP`Ljnsk)5 zOP^3<4p4#Sm{*hA<4(jt;$)m-m3&DWO;bL+06L*|ng};^s-tl8eWSuH;7#jd*FHHN zx}&ZvQjb$dh-dOe75jg5GibKswM2{$lkZblHN+;heHXTLPQdzl6vZ)S_yFloteFR4 zS_`}AWv#v)C&m}QV$?YcoS7Z5=%i)7pK(e=vSW3_`&So)VEo1UWRWrl`>!#T<91KF z-8M@PbIrTw;&R29X4tu)n;tg9-eAi~ygD0dtSUAvq?Hv5YUs*oLW=`-)k;BE%rmjr z6KatcyF2IZW&d>*e>?r+-)t!MQzam%jWQNjp{adjSwz^LfA&M|q>6E`zbvARo+dYk z(8h0e{5H{kXb8iBD(3b8$vB%+M-z*SR`1W`ML|q02OYURH)%LuUAqf0Cp#LJ%+wM` zRXFTgJsD%n>Z#6hzFHQ9%?c%W1iw9ISaE7RiBlN??_EXP`p2s5bVWxs5a$$$XDgQg z6LP?E@4tR377*Vs*XSOSl4ZNVbwrNsJiS+gb4hlCHwd<9O_`E56Z}Y32t$^)SSZ1- zHpv)N`A1J;esR5jS%LJm_1BaHu;yfO=>*x<)YT!|SlK!8cU+2=vxn>T!fKLcO^@{5 z-f7+h^3vp7kz4e)Ci~JAbBmGNxEG5!d$XH-{11zTon$L%bW9bYty9XLG!M+g{ITlg z$>@x2CUw78%TTArd2BNI#hjuRS2G3R&mN=Lzzk>bUo1~_E*-v{;HOo!f#Z`j9MCb(e&#yE8v9u;>f}avPGfqSr#V`Hl zpXTCuGwu{!eN2#=G?)VRxC6{0K)D1>7$D9ik8sbW&zbEF(D*$C7;41JYM>8{T_AvQ z>!Sjv;7f1lxWT8O5N9bFTciqq;zcjW0el*!=h=wLRl|aXIewSL%ri%NuT@;5{Toj zgP6V8xsy2W&_^RKHYjdT2D(g|fv8m!i5dtuAEVo&6cA7QQ->RkHf$!QP zsv4otF@ss9unRQ;G5vfWVK8TlDe%zh=2lH8{q!kRs5+H1tlF*jZ% zBnS9zjiP;|N$$B8D{Q|nKe>c`Lp8`cH4H^Hf|#|P@FMCW+OD=p-3Q|vV1caV&$0KY zw25c>)Fq`;dIt3BU{*D6p4jxQ`n&ZwMZ4zw*5enVA0v1q;aK5h?);={^szLJ>wU`m z8Ke?J)P1)HHI2jt4!CB~UuI{J6|^e5XQ>Z2cUv*AE;L`cQL8)y*)9};X8pKEPdb1| zM1c>qw1+H!z(e}JM32k%@qiE4DQSZ!w#&zqE1f0plN&?}I6DQ7MBheVY(73?Rd6 z87SNSFk40^xsYEu`AWS6!x#yxQ+D8+On<&>l-FriSXW$*9(P9KcF%K%*V>W5^z`he zQ%jIHP6)|u)4eow%zVzoWK3r5;=Lwcw5>#$y~{P5jCU0GOw^ZzrjOnI7h)(KHLwSC z(yKnRFkhu7K>RSpQ28zzbUp|VIOgsktY?YyDmdFOGTU2N7mY3)Jgy8#9nG3y3_QPS zR;{!cW$x<(TMIz6Tz|l6eWrVt)$XAVX0Cj;FBQMwCwKX3pLIsc=|PMy3Om17Zo{9s zJ-|k_ZsUcwY_*`Xgan>$(g53?ooRgxS{ff)pv}-hX>XD6)RXc94S5YXVUpDQhPL${ z5A&$y1O>}){skrbUi15wtx;8kNJY8o{P|I7m_CYw+lKcq@E=l2%0-C9gCU^J>j3&U z)%oe2Aq|TU6N$!Ioh3Zgl5=$#hwXMccO7|5-pTjYP5s4aJ$cb~G3e#8?!?aG0$JFV z$FKB9zU)?>PRoy|b&Y9rGon}X5dF##t?!6%XGcXjsA!=WO8xeB>ZX?DA6e_emZx7? zba6yQjxRiKJW)JXJa1xLA!DBSgr}SJnmCPZo^3yKcy*{g7a%Hrl$3b4iv{9=(Ul+% z^_XGCzZl5#)5I!9>5&+R;ev7g8^wOns0el_X>n}PT6X#M_r3z2X3R#~i&rE(nGbU493OZsF}a=f5E!fz5?#-?J{OVU)DWryc3^ zwlXk`?#<9s;1##-ZEh*;&6P1^krA&r8V_bnwf5+K&32Orj_k6tWVk?+_f9K74RgCvD`y!5c*sz{9@1#v*)R3|;W#&sM ztKE4AYfNiCY;7&S=fm5JdUQHl5<EuzDBBPqVehHYV@D?0f(4;@zoeMBT_&(Vy%I= z)%#6(>oU(pQ>BwZ>&c3UIeQipNZs77%GF6h5J4oAAm4(;9@jV)s)?7YadR1HCCRhb z?6(Sa)6~p^dWad-%bzY=_YXz%<`#rE7#ztBpdM8lJT79fRTSZaM`2zmZhP)bucc6r zKi{5$D)7K50?(S@96i##G5& zt{FNsQ+IWHxnMG_M0$i~0Rt872tIuMB@+V|S_|R9=ki*xz5dA`yu9Ga_e^+=$!d(z!ew zrK>=LdlB}d9xoI3AwuPXYz)QvuzY|%Gv%|)^Sj^t)X^~v3hPWQ>BWWGFU>*=NP=*{ z{iU%c#zB&Dz{xJ=euBgWBVz?E5qMiFf3gY>ofcWCIPv-rHNm1~?oAz~3L#b)5Pu__ z7}n1&A79!dw*$L|{ZwDWPP(-5Ju?YWlWGfSKJJoc#VP&b%Zm~Y3`8r^a0QAD4e5G}Y)&VytJ>G%09+{E8PM^?_;ei;C z%0ioQO9U_Y%V48#ST8H7&t&DLlgkOiRYNYjb?$%Mz{`7_Y}Qiwoyb({toY3LmbPnd z8Tq8xQvs|KRoYjdHwmhdX7`_Q<-p*1Q;%uEV7dJRQ zpyzZdH;{_oEs~~N*mITMW34!0aEQydr9qm@xoRJS?=}*84iDyqj3?}R%jJ@HVnr1u zl$`1W5nO@fB|Cjp9_=f+oPQdOhMio-E3iR063olKa3N70cgsW$YFz6~W!RbpkZPjTj7NmW4=z~yLYjaWa6*IB@xpG7Q7zqB#1ztU@+ zF`AHv{fM2%jE+fynv?V&+`-s|crT`b+ShbsIv57LdC^L4j?9(0bZ^ri@J*Egb$!0Q zW;4y?H)4Cspa^BD$FW}*YtZ`9Cie?aTT=EOf*g4{v5S2Vy)f7x0y|;ZL13!qki{8{ z>GHJ4Igm*jh_tZ)Cci|)xg+=MzrC$GHdm3Ks>GeoRalaD+caHn-5q@(RvBQP*_jot zCuqz|pTeG0di;dY29NwQ=H5VrlzkkT((~wv$2!i1(DO#B_L{Hdh}-*p&2%E~(t>o^ zk}L@!OOfr`dZ>YP2&i$>qOG+S5sTY@9v^7FYJ}rXqjJQH=ab_%uM7Et(0mLzdhlXF zV(;6jVuk+n!R@AhUv~Lllm1lsM{;~fpt*wW=WoHQ-mr&IzK6hr*WWH#&gPkRwO&d0 zl@7%32aPbGe0o65)WkevM^^kIkumoteYGKZ{T&B`@p0Dn*b5$R(eX^P@4HUmgdTcj zZvbPw*9J^+B=82v#YgKhuT|-HysXeYweV$Qq$=#-;)V}u1_<(pfvBnF_uk3mSxY~O z4`Hc5HHmyzET7*C6SIoS*C!)jAhwTZ?9y2(*I7aft~=gZfn_jsP?S_`DJWO4)`9}A zG8V~2QFPv$ag#w6DbhP$J)vT&W|Dm009vKC)A$1O zlDNDt#rt~qnb*PLzD=lDxN-c0v#q-#b|GWl*Gg-*Et zf}ze1IDckw_YiOTWQ*m};c5dpo^lQF?7=Qw>bOJhM?f+2+4hafigWRzO4oBWPnfR< z(N7*W9Uefx!ruO7{aO5^Nf=EBdov#9c5f|7spX|wMy1NKbSiF*9L~B2C7?$kEEp!J zN|LxhmFO5EwPjx)@SxasUu;4hMb)cMKG8A7ZwG8cDUg|8*dJ%`$Ew4Hri#hsnkS5X zUGnUp(Wz5rgl5AZAIIQwmR=P^M+m!>)Ad-Y3*z#jpNT+VqP6pUX1IFP#jt2b>W4IX zf(uh!S)>Y8T!wfkTv$ zl>~Xmg%A*n9PmCpa8F;}CYjbq*Jouy0b3iR4}fCU<)B|;z9{VowYy;u^!LoZd|xINyT!&PBGTA)+`Mgm`YGz3b{w>6fV9HgV^EIsDhgjHG4Cfif!gqg%l+xC?dTk6(^F{KZ~1 zRh!660RoIMf|PD|4|SN@nUX8jPu;sW)qYd8kxFa=r1RysM0wKqE}(sdC%NoNi!Oe_ z0>kZy(X*|sO5(UPMgJb1x+m6| zBJmGBTm@EjOT1Bne#&m+WV9d|)NA%L`$ma19A>9}no&@ajc0_4U|h+l192!6Bn4pbiS& zSEyDxY`c&L)@`x_G`_v<%j3zcTP4x4hl^fS_74`sDvcp!8argehQ?%jz1=OZxNN2c zR;}5g|7W&(`R*`Z2)CrMoX+{VBB-rzMp*{g)Aj%zUnM%uQ)_^Yj^WAmS^=ZW-JT@L zQa_!06HQdTg#X405sfWv-~RO1L^#hSiw&)tWYanmcZlIlNfq(EQ~-*QUl?pR}k}O*|ww z&md$e)6cds7Qc~7t8+DGW9`94uWNAA>~u>Xxj9pteTIC7chEA_LMO-4(gVo@3Dt|o zPeboyl3p8xjMml?N3_Q_+mw*rQXlimzIs_?iQRkq6XVUNEk3P8XT?Xjwp>ZDm?v-b z%I%Vskw7)?U+o7Old{JK8!)53V77&CeLtOw`cpbYmSK56A6zS$-rIMUN{DF8An)B` zt$FB@!dendFx*0XQ=T4;Lz@DQ7?r{5dW$6~YCvYZi1HI~UcB{deZH70<8&G`lVtHv z+#5voeSYe#svoT69M)Urmn*f?ft;9#n!!mw1R-WvG9@*YfI|?SkkIS+(XCysWH|sWVzu+zd%-TD$!P#8tXt0~NQv-< zS2qcMF!!kwtZ(7-E|?hshY7x;fFBUQ9SVL`g@EB49INSw=k44l-LN=KS>(ifMUU`- z;Z`U-XrHRQ^b{+gAZdovD)R=Ds*QY8&nDe+==)Nd$IVAwb)LALG=~u+Das}7qc3}x z;a0mr;c`I0QUkjSit()}DsFr)oG2bQh@3d;pTyo#ykADB98zsf)qi@pFvP5LeZc#- z6I~De|8^k7f7FS=D78;434@9bYb{6U%u$j`9>jGZ6VK+RM&xF79ID?6)lJk77&&_@ z2aCa7FkIE4;~Er(N>i!J^-|XFt>DRRQ?xff*}v0lQQ+^Z$h+H_6ZSl=+Z9q`%gcC!ayj$yQ-*Pq9weG7zt8#PszI=3);+7xZ0nq9CeoABVP%)c(KeuX|fSS(F z4&g)zC>sK~3j#{~U6TATwaJXx37C>e4w0fCLV`J3;!#aVaaf>mNn=JpdDX#{R6-uM z#ELNzP?Gq;&a*Lq;vm6%vG+9%kibXWgbFTBBIW8*rq1s;3Bvn~qUWp149$QmA zgm49Qih2PE2=|&&Re|8tVt2m@4bHYi?i`34Iw8+V5=v~bHi0i9 zyr7ryZ9}z6$B*dg+3yyEfNxA6pULOlJ9*I7=y|SMGbc-i{$h9TkSMALsG^!vJ)ylx zNwcxYaY1-dD#KT=}?O;pS&F3)wwC9R8>ZLsR2eDW<+eg z#L3qWwm8kGd$*0DP!GN{^|meK^w8C$fmq0$ob-a_2RmsW$_l|lNUM~U2$2tbL3Sl1 z8a6T&3)q@FUf{rk2{n)L?r}Knl{E{b(q9E1CF`;w7)H-7z13wb@ut7!L`f^1>`d)gK{Mk$+nCwZ1#n+*^BW_j^tHv> zO^qzS(O}4SN^H5}Bv3sWHEYb`JHTbw1l$XNup8N_St<=lC8`c=V$cqpznyME#jHhD zz~{yI3v+fL&cyd=Emfk!uvNqg;evpQhZ?igZHOa>DNBK#)C^Vt9zskwPCVd)|Xr@gCTjuwd`I zbvJX~)EiOgA`h$|d8SXtbKR!k$1LrsTxZ5|+TgOO$z74XW?X@Pf4-X3?V7=@&0Ev5 zv%RDMde{6qab5OK73S(F8>yC}XIhJ>U@=g-qpbMghuCa`lkIVucjBKbkR1alzZdmJ zo^E7z2`EAM-KJ~~-YJgxTUnzIxE|;aqXeQ3htd-OK&T!F;ivvs1$;${D>c@Z_-Jq| ztWJ1^tbdm^K4x?0)}jO}c>WA?7bikI@2AX<>;}lK652u-E7z5sK`64>XIW~7Hhgva zlo9i+WGNbk6R@2`XhJ!$9z1KjXFXcAP68q=)g{^l-jLKxY!I+f3Tzcgo3%+$A-o4U z0Msy{OsO|4oqEaIGndIF`0eb+#vWRCqrzn8aqi+fyAu_`&}PCDztB9|LDJbMo%7w4_@vBds{kUz-=d&cBov zr=xP?_+JJKBY??zCqD<96D@wh8jeeK@+lXvnh~>}6y90}D1V52 z0Faoo;jeMq%yzI1$5kc3Z(!OoU>FYYC#{!OBKhe74|$3LS%)Jj@3GGYveXnIsop}i z(~yAe#swaw0}3Lf63eBPw)LJBLLL1bQ`W?W*TGO22LOg_@~kHZH|t5o$m+&nTuD>~ z9H15vC)^Q*m4RWJ2M+aOg%2@GtYwSm6!TVx*7<3|zDYisewFNjxH6m;yD`F1im18q zrT-pt2FT0|C$=475Lf!N|4MoP&lCPXpZ@WQycBAktT}u#+WrDiqc=PlRfYh)lF&tV z@VS0t#g<;I;V`%LBT3T;r2f3{2Cr@3(Da7kC!ew2kO0|O*{r>uZ&fFpI!Z`sByd{v zeKTHgmmRuCeU!_1=`Gy? zMQpt(U~idy(;e$WU;5ls5&WmG%C2eyP(vsfW`}Rj9k1HrP8iUeaLDmsXdJGy@Kf$G zEoOsu9aj55&M4J&7!J@!T>MLTQ$;!Gbd(*g3>$U@B`hF#I2IHkjk9ynPc8@GJ&dO) zPpQ@G9mUr;2{pabB4Ggg4-s(E?4E? z%#PG%qr~i#Ubd?;d+iK_(;{tdNQ5)e_qnTT;WcE~dEjW=%I`sZ0NJ7QAczFg)Q4sS zRH*PS4V-6^7X6;PupEX@VEHKkC2{xM&TGO3b`}XS5bWI&{NM!bs@MMb zwN?4n+!=)dR+{ee?ZqO3wNK{5JbpkQ%AP*_T!dDJ>$&xByzpcpko2;VrYlbxJrtjP zk5RZAG#tMIB$#*ojc<GU7#wnEg#eq8L%#Scx|1j_+%}-c?rR z6k8ji~S4CsmxjJ*laBS6_a4^b<|^Pm5-Ks=gmZy^-07S@g40em8Nt z=2vt=jhIkKQT2Uigv-yPz+5o{HGhJXq_&^{LW zr6lb@2*IwdyJn5?I!t6{%WT?Q{;y&Fg&wqKNg4~MXl&&r7GC5uAAazTm&_nUKies8YpT+%BI9VPmrXrp zZ3TExE(cJLa36|5CP5HAW}mg;e+w680jyYl5Dff^Ea3;iB1?haX1h;=e1zY702-ky zvz;rJV3lY+Q;_EK8&z&l*m6Ru=X{NX42#@;L%Y3>q8-0QW~h%1h+3$uT2fGgR zgRS@GO=TLqJM1;VU!SWcN35s(E8o@v#Wk-fB}Hs=1BT&}IfxwywLh0TO)&Hs0zi(qz5gSN`@WO4PCt&1ZKSdX$-yyo}R#+rh00chH1}S0W6dNTd z_bkT;Ly=n#c+QotYYFfYN#L$|Fd9XS}vxMcRj;N0% z`)QN!AF{P3G+l2QG(+|}-`{?{*ctTD{GTBEcb|T$WOn6edK`NG+9t4n+eJf>F1O_#kY)?EqH-%v zb-|l;wG-+O*)@7Q^o*%!Vz2MFyg8_MwJkK?!(PJF#tjPPhd=WOZaCT78`awdM((_p zT1HGX{i^cHkcK&j%S2nUw&(6q#SWK$oM19^5p&!2A$vaL9k*)?^WSy-RC|Ib)@5&f z#U3o3rLhQN<({Kq!4OvmPSw2ZVO|HKV16AK>Ee_%4e}-9ix8-G3Mizw-O94HC5%^$ zK{kY%G7&23^*kpsO+bFE38^QC>E9!-lefLWqYs)kFNoRbxI!tj7i3cym|Go%-m2)Q zEZxLIBbg$=%SFO~Ar7N~>GIXY0;;PqZh%8&R+Ixb{=V-Pygo`mty4HtC;(|uczdlC zT?oZ#Z`en6rl|T_>_#hv;c@66#aGZ<^@*AC$}@B_EDx!e9T^cAXRfi@x(5$kynbK( zGg`dUP-Exi{JMmPgpq(iuId@M>B@Ak@orIA*u~NV6VDMJ)@7L~*R^GKO(BS8te}Z9 zi>`_7d2Vevx|k_6YNiyf`bchWonh6fP(ZS_{&eW)8NOudNjRkepDJ--`F*MVM0ZCH zB%76aZ76@(`S4J>ufc9^`BNST^E!0rlkY(9_GL%eWJaCQ**DKR?{2JmVWvkz40JGH zBf0tz7bgPIjOL66Nv+b@+DupREu1P*aRH)b*U^PUMmGZ|D~6p*;Sqf3H79HCk^teB zi>`B1XY(g*<@)`D^`V+G^igkSs0GPX45(aM8Dh&2dAXl@&VDUprUKsAw}*|Y8IPjy zyVkOJ#0uqpfV_o07KYB19#0AgK3RZfi7h8m%3nlL=CI$|yK@uaHT5R&dKWxoIR=Q} z!<6?!31HxA8d7lbdm6JGOl?n60FKtlP^`$3W{O`B};Sz2=fWz&?PkF0|uDRO7p=s&&*T$}s(DIRw=OiCEV zLz-7hd{S?;PBMVhO}xN98>B^HeWADFDw7a3x-d4>XMY>av4UZiG{bT9ekzmZ%L0Ej zX=3Shm8irKe$r0lxA3A~6J=H+e4f(A@&UdzS$WZ-3p_V%40(|4#!`2#7$Z`wuAym$ zSfOW0lL>#?wIw$Y6h|h$#7fS6b`Q;mKXTgl-e~Q}KaQEde`06Tzg=~tosHSiT61!y z##!?#(?ydlTh$c%+jk(_w z0%xa-ml3x-Z1_S$`?Ck8HW5s>Lz|wYwa$WyUv&(5u>wwEsL#vI3GHm+lcDGQO`g=I zEq%bC+o=EnL2M^k7~5Ut00WN3U&gnR<$O_r{$K#+tJN$81b~rbc=Wp$dTb1N*2F$5Yx7ZH3NpCj zFg0^bf`&Oay0c>XD?KWk<$8d5YXU0fCruGruZB`Twc23;Q9HzE+b9;Gk#?10!=`El> zxwf>@Z3}<2}F^<;ObxP&a;S%Gf0z6`WbZ$?va< z)dRT#l~`Jvx=op(2@CoV1G)}Oz^^XL^;3sS6ltJF@!gasH5zc!!z>Ql6)Og>j0FRa z016ANkJqXp(&yX1>BaJph6wR6705A4%|55qh(Rv;Z$l3fM8g^5<{sPyueQEEto7 ztxvB)!_Gr&FrF$HiVXx!J?wK$HWnJ|`8*=C6zKGkAbo#rPND=>H2U@+z`vN!j(vt4 zEr`9o?rZSn)^2HZGZ)>ye|muXg{i`moC|hQ?Gl`+(%qh!j~at{ROuNBDsWOa$m=v< z;PT~m{Sw$~d&>jF2mN*pQ7_kb;De)#RB2RosFW;^hQbKaLg*X`WO|B147lbkNYcrDoocq%n}v=5yuhjb{o!80>Frert0W!!{}MUQvqd@y$J8-Tn+`h9kUyZ`P}&*CM}~6NsJzlRr(2Wr&;59hH&XuNTPADiy0j_zuwhOA9{d0 ztcl)3NWFRX5)bgJxk1WweK!_&<+{2P>n~CA#(U0x4pONmK(>K&GIawO_gB>3!4e)y z9$(8WY18{h+1o$E{(rgNuge@lK4cBul%IK~Pg1ehu(7!@za$twx~vy#zxOVG!9LaZ zR`8h_sC_uT7hbv`sF3148l|Pmb4V9@M7P!~ISuD1Ro z!M#@^pt@NKe%ugNI`5z8*|DqRO zTuUdUw~T|8ChBbLs)Glu_b4mu2228D0R~71Q4*I3Zy0rhcslSJG(enaJSffzD%frS zQHAt<%w2SVKa^olW_c{CXXT%i%om?FBfzU-LsaZ&ram^@We79qdNSbiWFv6lIuv3* zNJYRkTmozZVuB69R_I`21smh$T;T?t#e37#286^Wf(m~FcWeY`A-oU@{bcY6ozoGe zM*leS{6pBg5_u9;p6=^#yJWX;!tOaM#pa&~+o6RM%IqwY%9E8S8DKm?!3w0^RA(wd z=n04uidc$=X4&XOczKX0EYutgyNXqe>87h1Ca6uJ&Y%ml@OX+1enbF|L8pTt*NB)`1Y9lVgP1&sq(k~Oa3kVIxefGWBC;T7*hf=KmltSbZE1pyP zfX@KAKOA^R@X?A;3@!TW*eJlnn{KP{$-pbt52@0s7>e{?J)M~a|J85+o{Nm<`_@dO~7Z?Pc_{#x3fDgz>ojX|+V zQIsNheSBv#NVHZ4vr#Av_MZori|YtV6H2ZC3@MvcH$uO@{pUma2jCt1-(W^CLoJn& zb6XhvYX8W@+&9cQM^ISuq}@Z$h&ffR{f`RSphl|N4n@F)Yz(kiHbyAdBLeIPj0RE` zVVBS_djs^{z~Okr0CvI`FoAPeo%gIq=H-O}Zc#Ob)p&qPwyt>k@khZoHc$Ua1UUG6 z=4{=S7HtWqAIX^-+W52HVspo!d8S6DamWr;Z*JrzncE>W3>4@4D?$DPZvr1s01FJo5;i}e_5o4Gwr#A8NY?md7*H1^zw*+KvkUvj zHv3XO$#K8k-Zipl-xYuM~0N}hts6Lnzn>gZ3Q9!k9 zcaRCWQ9AmmgmJ`j{qC}lVg@*A#5={{=o=Oi~DW@AjM5 z`zZ1zuu_B_XvL?#J0+#BoL3llwI~rJtppKcg==7%vwGO*gK+Su<0w>ntz`fi6Him$ z&&${}Jrx+w>&;cl|H~4Mc7%y+ zXf#1W4}Q(ueg;@5zw>G9ANIx+-v98fwk!6ZunuXW+nyB&_)~5KaV2 z08UAM1x`%opP$%2AbJ1y#QYROEh@O|YqieL#5o|WgeaQA1TN~xGFF#+NFS8}{~;-k zg(CWaQTA6}23dV1C?#=;MKOrNshpg0t3nl1f%lZ>w_DtnVyu>%?6l6-ejo)$#n`qq zUG;_?266O%T=YAw#d~}d01U_pHSEmtrG?@}rLUn@B3xR?YH%IT(8pHI5-Z%`r9_$= zh(U#Hq5_JC4+?lt05KmqwleA@RDUNJxq7$|2%~ap#+JbGr;6Ufmr1+-(u92?hk*TK G;Qs+o0YSY0 literal 0 HcmV?d00001 diff --git a/frontend/public/images/p2.jpg b/frontend/public/images/p2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..aa82fad973c23204da7c6cf5603cfee84999bd6e GIT binary patch literal 107824 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%0A?7$5Rrlkka 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 YFf>wO{jegVQ$D?1n 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 M|J})N@v-m!0AXVX1^@s6 literal 0 HcmV?d00001 diff --git a/frontend/public/images/p5.jpg b/frontend/public/images/p5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8787f49a77483c71327c8e53c4a55e0f0030f3e0 GIT binary patch literal 63355 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 v7y8HVdP(-vh*cH;4gU- literal 0 HcmV?d00001 diff --git a/frontend/public/images/p6.jpg b/frontend/public/images/p6.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0d18ddb98152b9a71c916c09220a64ac6816c956 GIT binary patch literal 67926 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 vU)_n>C@3uU4)CH + + + + + + + + + + + + + React App + + + +
+ + + diff --git a/frontend/public/logo192.png b/frontend/public/logo192.png new file mode 100644 index 0000000000000000000000000000000000000000..fc44b0a3796c0e0a64c3d858ca038bd4570465d9 GIT binary patch literal 5347 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 b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN literal 0 HcmV?d00001 diff --git a/frontend/public/manifest.json b/frontend/public/manifest.json new file mode 100644 index 00000000..080d6c77 --- /dev/null +++ b/frontend/public/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "React App", + "name": "Create React App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/frontend/public/robots.txt b/frontend/public/robots.txt new file mode 100644 index 00000000..e9e57dc4 --- /dev/null +++ b/frontend/public/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/frontend/src/App.js b/frontend/src/App.js new file mode 100644 index 00000000..160ee3df --- /dev/null +++ b/frontend/src/App.js @@ -0,0 +1,62 @@ +import React from 'react'; +import data from './data'; +function App() { + return ( + + ); +} + +export default App; diff --git a/frontend/src/data.js b/frontend/src/data.js new file mode 100644 index 00000000..bdc202f7 --- /dev/null +++ b/frontend/src/data.js @@ -0,0 +1,71 @@ +const data = { + products: [ + { + _id: '1', + name: 'Nike Slim Shirt', + category: 'Shirts', + image: '/images/p1.jpg', + price: 120, + brand: 'Nike', + rating: 4.5, + numReviews: 10, + description: 'high quality product', + }, + { + _id: '2', + name: 'Adidas Fit Shirt', + category: 'Shirts', + image: '/images/p2.jpg', + price: 100, + brand: 'Adidas', + rating: 4.0, + numReviews: 10, + description: 'high quality product', + }, + { + _id: '3', + name: 'Lacoste Free Shirt', + category: 'Shirts', + image: '/images/p3.jpg', + price: 220, + brand: 'Lacoste', + rating: 4.8, + numReviews: 17, + description: 'high quality product', + }, + { + _id: '4', + name: 'Nike Slim Pant', + category: 'Pants', + image: '/images/p4.jpg', + price: 78, + brand: 'Nike', + rating: 4.5, + numReviews: 14, + description: 'high quality product', + }, + { + _id: '5', + name: 'Puma Slim Pant', + category: 'Pants', + image: '/images/p5.jpg', + price: 65, + brand: 'Puma', + rating: 4.5, + numReviews: 10, + description: 'high quality product', + }, + { + _id: '6', + name: 'Adidas Fit Pant', + category: 'Pants', + image: '/images/p6.jpg', + price: 139, + brand: 'Adidas', + rating: 4.5, + numReviews: 15, + description: 'high quality product', + }, + ], +}; +export default data; diff --git a/frontend/src/index.css b/frontend/src/index.css new file mode 100644 index 00000000..14ede004 --- /dev/null +++ b/frontend/src/index.css @@ -0,0 +1,105 @@ +html { + font-size: 62.5%; /* 16px x 62.5 = 10px = 1rem */ + box-sizing: border-box; +} +body { + margin: 0; + height: 100vh; + font-size: 1.6rem; + font-family: Helvetica, Arial, sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +#root { + height: 100%; +} + +/* Layout */ +.grid-container { + display: grid; + grid-template-areas: + 'header' + 'main' + 'footer'; + grid-template-columns: 1fr; + grid-template-rows: 5rem 1fr 5rem; + height: 100%; +} +header { + grid-area: header; + background-color: #203040; +} +main { + grid-area: main; + padding: 1rem; +} +footer { + grid-area: footer; + background-color: #203040; + color: #ffffff; +} +/* Common */ +h1 { + font-size: 1.8rem; + padding: 1rem 0; +} +h2 { + font-size: 1.6rem; + padding: 1rem 0; +} + +a { + text-decoration: none; +} +a:hover { + color: #ff8000; +} +/* Header */ +header a { + color: #ffffff; + padding: 1rem; +} +a.brand { + color: #ffffff; + font-size: 3rem; + font-weight: bold; +} +.row { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + align-items: center; +} +.row.center { + justify-content: center; +} +/* Image */ +img { + border-radius: 0.5rem; +} +img.medium { + max-width: 29rem; + width: 100%; +} + +/* Card */ +.card { + border: 0.1rem #c0c0c0 solid; + background-color: #f8f8f8; + border-radius: 0.5rem; + margin: 1rem; +} +.card-body { + padding: 1rem; +} +.card-body > * { + margin-bottom: 0.5rem; +} +.price { + font-size: 2rem; +} +/* Rating */ +.rating span { + color: #f0c040; + margin: 0.1rem; +} diff --git a/frontend/src/index.js b/frontend/src/index.js new file mode 100644 index 00000000..f5185c1e --- /dev/null +++ b/frontend/src/index.js @@ -0,0 +1,17 @@ +import React from 'react'; +import ReactDOM from 'react-dom'; +import './index.css'; +import App from './App'; +import * as serviceWorker from './serviceWorker'; + +ReactDOM.render( + + + , + document.getElementById('root') +); + +// If you want your app to work offline and load faster, you can change +// unregister() to register() below. Note this comes with some pitfalls. +// Learn more about service workers: https://bit.ly/CRA-PWA +serviceWorker.unregister(); diff --git a/frontend/src/serviceWorker.js b/frontend/src/serviceWorker.js new file mode 100644 index 00000000..b04b771a --- /dev/null +++ b/frontend/src/serviceWorker.js @@ -0,0 +1,141 @@ +// This optional code is used to register a service worker. +// register() is not called by default. + +// This lets the app load faster on subsequent visits in production, and gives +// it offline capabilities. However, it also means that developers (and users) +// will only see deployed updates on subsequent visits to a page, after all the +// existing tabs open on the page have been closed, since previously cached +// resources are updated in the background. + +// To learn more about the benefits of this model and instructions on how to +// opt-in, read https://bit.ly/CRA-PWA + +const isLocalhost = Boolean( + window.location.hostname === 'localhost' || + // [::1] is the IPv6 localhost address. + window.location.hostname === '[::1]' || + // 127.0.0.0/8 are considered localhost for IPv4. + window.location.hostname.match( + /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/ + ) +); + +export function register(config) { + if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) { + // The URL constructor is available in all browsers that support SW. + const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href); + if (publicUrl.origin !== window.location.origin) { + // Our service worker won't work if PUBLIC_URL is on a different origin + // from what our page is served on. This might happen if a CDN is used to + // serve assets; see https://github.com/facebook/create-react-app/issues/2374 + return; + } + + window.addEventListener('load', () => { + const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`; + + if (isLocalhost) { + // This is running on localhost. Let's check if a service worker still exists or not. + checkValidServiceWorker(swUrl, config); + + // Add some additional logging to localhost, pointing developers to the + // service worker/PWA documentation. + navigator.serviceWorker.ready.then(() => { + console.log( + 'This web app is being served cache-first by a service ' + + 'worker. To learn more, visit https://bit.ly/CRA-PWA' + ); + }); + } else { + // Is not localhost. Just register service worker + registerValidSW(swUrl, config); + } + }); + } +} + +function registerValidSW(swUrl, config) { + navigator.serviceWorker + .register(swUrl) + .then(registration => { + registration.onupdatefound = () => { + const installingWorker = registration.installing; + if (installingWorker == null) { + return; + } + installingWorker.onstatechange = () => { + if (installingWorker.state === 'installed') { + if (navigator.serviceWorker.controller) { + // At this point, the updated precached content has been fetched, + // but the previous service worker will still serve the older + // content until all client tabs are closed. + console.log( + 'New content is available and will be used when all ' + + 'tabs for this page are closed. See https://bit.ly/CRA-PWA.' + ); + + // Execute callback + if (config && config.onUpdate) { + config.onUpdate(registration); + } + } else { + // At this point, everything has been precached. + // It's the perfect time to display a + // "Content is cached for offline use." message. + console.log('Content is cached for offline use.'); + + // Execute callback + if (config && config.onSuccess) { + config.onSuccess(registration); + } + } + } + }; + }; + }) + .catch(error => { + console.error('Error during service worker registration:', error); + }); +} + +function checkValidServiceWorker(swUrl, config) { + // Check if the service worker can be found. If it can't reload the page. + fetch(swUrl, { + headers: { 'Service-Worker': 'script' }, + }) + .then(response => { + // Ensure service worker exists, and that we really are getting a JS file. + const contentType = response.headers.get('content-type'); + if ( + response.status === 404 || + (contentType != null && contentType.indexOf('javascript') === -1) + ) { + // No service worker found. Probably a different app. Reload the page. + navigator.serviceWorker.ready.then(registration => { + registration.unregister().then(() => { + window.location.reload(); + }); + }); + } else { + // Service worker found. Proceed as normal. + registerValidSW(swUrl, config); + } + }) + .catch(() => { + console.log( + 'No internet connection found. App is running in offline mode.' + ); + }); +} + +export function unregister() { + if ('serviceWorker' in navigator) { + navigator.serviceWorker.ready + .then(registration => { + registration.unregister(); + }) + .catch(error => { + console.error(error.message); + }); + } +} diff --git a/frontend/yarn.lock b/frontend/yarn.lock new file mode 100644 index 00000000..6eedc6e3 --- /dev/null +++ b/frontend/yarn.lock @@ -0,0 +1,10849 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@7.8.3", "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" + integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g== + dependencies: + "@babel/highlight" "^7.8.3" + +"@babel/code-frame@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" + integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/compat-data@^7.8.6", "@babel/compat-data@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.9.0.tgz#04815556fc90b0c174abd2c0c1bb966faa036a6c" + integrity sha512-zeFQrr+284Ekvd9e7KAX954LkapWiOmQtsfHirhxqfdlX6MEC32iRE+pqUGlYIBchdevaCwvzxWGSy/YBNI85g== + dependencies: + browserslist "^4.9.1" + invariant "^2.2.4" + semver "^5.5.0" + +"@babel/core@7.9.0", "@babel/core@^7.1.0", "@babel/core@^7.4.5": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.9.0.tgz#ac977b538b77e132ff706f3b8a4dbad09c03c56e" + integrity sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.9.0" + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helpers" "^7.9.0" + "@babel/parser" "^7.9.0" + "@babel/template" "^7.8.6" + "@babel/traverse" "^7.9.0" + "@babel/types" "^7.9.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.13" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/generator@^7.11.5": + version "7.11.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.6.tgz#b868900f81b163b4d464ea24545c61cbac4dc620" + integrity sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA== + dependencies: + "@babel/types" "^7.11.5" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/generator@^7.4.0", "@babel/generator@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.0.tgz#0f67adea4ec39dad6e63345f70eec33014d78c89" + integrity sha512-onl4Oy46oGCzymOXtKMQpI7VXtCbTSHK1kqBydZ6AmzuNcacEVqGk9tZtAS+48IA9IstZcDCgIg8hQKnb7suRw== + dependencies: + "@babel/types" "^7.9.0" + jsesc "^2.5.1" + lodash "^4.17.13" + source-map "^0.5.0" + +"@babel/helper-annotate-as-pure@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz#60bc0bc657f63a0924ff9a4b4a0b24a13cf4deee" + integrity sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw== + dependencies: + "@babel/types" "^7.8.3" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz#c84097a427a061ac56a1c30ebf54b7b22d241503" + integrity sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw== + dependencies: + "@babel/helper-explode-assignable-expression" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/helper-builder-react-jsx-experimental@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.9.0.tgz#066d80262ade488f9c1b1823ce5db88a4cedaa43" + integrity sha512-3xJEiyuYU4Q/Ar9BsHisgdxZsRlsShMe90URZ0e6przL26CCs8NJbDoxH94kKT17PcxlMhsCAwZd90evCo26VQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-module-imports" "^7.8.3" + "@babel/types" "^7.9.0" + +"@babel/helper-builder-react-jsx@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.9.0.tgz#16bf391990b57732700a3278d4d9a81231ea8d32" + integrity sha512-weiIo4gaoGgnhff54GQ3P5wsUQmnSwpkvU0r6ZHq6TzoSzKy4JxHEgnxNytaKbov2a9z/CVNyzliuCOUPEX3Jw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/types" "^7.9.0" + +"@babel/helper-call-delegate@^7.8.7": + version "7.8.7" + resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.8.7.tgz#28a279c2e6c622a6233da548127f980751324cab" + integrity sha512-doAA5LAKhsFCR0LAFIf+r2RSMmC+m8f/oQ+URnUET/rWeEzC0yTRmAGyWkD4sSu3xwbS7MYQ2u+xlt1V5R56KQ== + dependencies: + "@babel/helper-hoist-variables" "^7.8.3" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.7" + +"@babel/helper-compilation-targets@^7.8.7": + version "7.8.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.7.tgz#dac1eea159c0e4bd46e309b5a1b04a66b53c1dde" + integrity sha512-4mWm8DCK2LugIS+p1yArqvG1Pf162upsIsjE7cNBjez+NjliQpVhj20obE520nao0o14DaTnFJv+Fw5a0JpoUw== + dependencies: + "@babel/compat-data" "^7.8.6" + browserslist "^4.9.1" + invariant "^2.2.4" + levenary "^1.1.1" + semver "^5.5.0" + +"@babel/helper-create-class-features-plugin@^7.10.5": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz#9f61446ba80e8240b0a5c85c6fdac8459d6f259d" + integrity sha512-0nkdeijB7VlZoLT3r/mY3bUkw3T8WG/hNw+FATs/6+pG2039IJWjTYL0VTISqsNHMUTEnwbVnc89WIJX9Qed0A== + dependencies: + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-member-expression-to-functions" "^7.10.5" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-replace-supers" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.10.4" + +"@babel/helper-create-class-features-plugin@^7.8.3": + version "7.8.6" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.8.6.tgz#243a5b46e2f8f0f674dc1387631eb6b28b851de0" + integrity sha512-klTBDdsr+VFFqaDHm5rR69OpEQtO2Qv8ECxHS1mNhJJvaHArR6a1xTf5K/eZW7eZpJbhCx3NW1Yt/sKsLXLblg== + dependencies: + "@babel/helper-function-name" "^7.8.3" + "@babel/helper-member-expression-to-functions" "^7.8.3" + "@babel/helper-optimise-call-expression" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-replace-supers" "^7.8.6" + "@babel/helper-split-export-declaration" "^7.8.3" + +"@babel/helper-create-regexp-features-plugin@^7.8.3", "@babel/helper-create-regexp-features-plugin@^7.8.8": + version "7.8.8" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz#5d84180b588f560b7864efaeea89243e58312087" + integrity sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-regex" "^7.8.3" + regexpu-core "^4.7.0" + +"@babel/helper-define-map@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz#a0655cad5451c3760b726eba875f1cd8faa02c15" + integrity sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g== + dependencies: + "@babel/helper-function-name" "^7.8.3" + "@babel/types" "^7.8.3" + lodash "^4.17.13" + +"@babel/helper-explode-assignable-expression@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz#a728dc5b4e89e30fc2dfc7d04fa28a930653f982" + integrity sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw== + dependencies: + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/helper-function-name@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a" + integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ== + dependencies: + "@babel/helper-get-function-arity" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-function-name@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz#eeeb665a01b1f11068e9fb86ad56a1cb1a824cca" + integrity sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA== + dependencies: + "@babel/helper-get-function-arity" "^7.8.3" + "@babel/template" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/helper-get-function-arity@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" + integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-get-function-arity@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5" + integrity sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA== + dependencies: + "@babel/types" "^7.8.3" + +"@babel/helper-hoist-variables@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz#1dbe9b6b55d78c9b4183fc8cdc6e30ceb83b7134" + integrity sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg== + dependencies: + "@babel/types" "^7.8.3" + +"@babel/helper-member-expression-to-functions@^7.10.4", "@babel/helper-member-expression-to-functions@^7.10.5": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz#ae69c83d84ee82f4b42f96e2a09410935a8f26df" + integrity sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q== + dependencies: + "@babel/types" "^7.11.0" + +"@babel/helper-member-expression-to-functions@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz#659b710498ea6c1d9907e0c73f206eee7dadc24c" + integrity sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA== + dependencies: + "@babel/types" "^7.8.3" + +"@babel/helper-module-imports@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz#7fe39589b39c016331b6b8c3f441e8f0b1419498" + integrity sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg== + dependencies: + "@babel/types" "^7.8.3" + +"@babel/helper-module-transforms@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz#43b34dfe15961918707d247327431388e9fe96e5" + integrity sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA== + dependencies: + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-replace-supers" "^7.8.6" + "@babel/helper-simple-access" "^7.8.3" + "@babel/helper-split-export-declaration" "^7.8.3" + "@babel/template" "^7.8.6" + "@babel/types" "^7.9.0" + lodash "^4.17.13" + +"@babel/helper-optimise-call-expression@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673" + integrity sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-optimise-call-expression@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz#7ed071813d09c75298ef4f208956006b6111ecb9" + integrity sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ== + dependencies: + "@babel/types" "^7.8.3" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz#9ea293be19babc0f52ff8ca88b34c3611b208670" + integrity sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ== + +"@babel/helper-plugin-utils@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" + integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== + +"@babel/helper-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.8.3.tgz#139772607d51b93f23effe72105b319d2a4c6965" + integrity sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ== + dependencies: + lodash "^4.17.13" + +"@babel/helper-remap-async-to-generator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz#273c600d8b9bf5006142c1e35887d555c12edd86" + integrity sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-wrap-function" "^7.8.3" + "@babel/template" "^7.8.3" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/helper-replace-supers@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz#d585cd9388ea06e6031e4cd44b6713cbead9e6cf" + integrity sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.10.4" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-replace-supers@^7.8.3", "@babel/helper-replace-supers@^7.8.6": + version "7.8.6" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz#5ada744fd5ad73203bf1d67459a27dcba67effc8" + integrity sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.8.3" + "@babel/helper-optimise-call-expression" "^7.8.3" + "@babel/traverse" "^7.8.6" + "@babel/types" "^7.8.6" + +"@babel/helper-simple-access@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz#7f8109928b4dab4654076986af575231deb639ae" + integrity sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw== + dependencies: + "@babel/template" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/helper-split-export-declaration@^7.10.4", "@babel/helper-split-export-declaration@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f" + integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg== + dependencies: + "@babel/types" "^7.11.0" + +"@babel/helper-split-export-declaration@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9" + integrity sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA== + dependencies: + "@babel/types" "^7.8.3" + +"@babel/helper-validator-identifier@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" + integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== + +"@babel/helper-validator-identifier@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.0.tgz#ad53562a7fc29b3b9a91bbf7d10397fd146346ed" + integrity sha512-6G8bQKjOh+of4PV/ThDm/rRqlU7+IGoJuofpagU5GlEl29Vv0RGqqt86ZGRV8ZuSOY3o+8yXl5y782SMcG7SHw== + +"@babel/helper-wrap-function@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz#9dbdb2bb55ef14aaa01fe8c99b629bd5352d8610" + integrity sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ== + dependencies: + "@babel/helper-function-name" "^7.8.3" + "@babel/template" "^7.8.3" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/helpers@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.9.0.tgz#ab2c1bc4821af766cab51d4868a5038874ea5a12" + integrity sha512-/9GvfYTCG1NWCNwDj9e+XlnSCmWW/r9T794Xi58vPF9WCcnZCAZ0kWLSn54oqP40SUvh1T2G6VwKmFO5AOlW3A== + dependencies: + "@babel/template" "^7.8.3" + "@babel/traverse" "^7.9.0" + "@babel/types" "^7.9.0" + +"@babel/highlight@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" + integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/highlight@^7.8.3": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.9.0.tgz#4e9b45ccb82b79607271b2979ad82c7b68163079" + integrity sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ== + dependencies: + "@babel/helper-validator-identifier" "^7.9.0" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.7.0", "@babel/parser@^7.8.6", "@babel/parser@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.0.tgz#f821b32313f07ee570976d3f6238e8d2d66e0a8e" + integrity sha512-Iwyp00CZsypoNJcpXCbq3G4tcDgphtlMwMVrMhhZ//XBkqjXF7LW6V511yk0+pBX3ZwwGnPea+pTKNJiqA7pUg== + +"@babel/parser@^7.10.4", "@babel/parser@^7.11.5": + version "7.11.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.5.tgz#c7ff6303df71080ec7a4f5b8c003c58f1cf51037" + integrity sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q== + +"@babel/plugin-proposal-async-generator-functions@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz#bad329c670b382589721b27540c7d288601c6e6f" + integrity sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-remap-async-to-generator" "^7.8.3" + "@babel/plugin-syntax-async-generators" "^7.8.0" + +"@babel/plugin-proposal-class-properties@7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz#5e06654af5cd04b608915aada9b2a6788004464e" + integrity sha512-EqFhbo7IosdgPgZggHaNObkmO1kNUe3slaKu54d5OWvy+p9QIKOzK1GAEpAIsZtWVtPXUHSMcT4smvDrCfY4AA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-proposal-decorators@7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.8.3.tgz#2156860ab65c5abf068c3f67042184041066543e" + integrity sha512-e3RvdvS4qPJVTe288DlXjwKflpfy1hr0j5dz5WpIYYeP7vQZg2WfAEIp8k5/Lwis/m5REXEteIz6rrcDtXXG7w== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-decorators" "^7.8.3" + +"@babel/plugin-proposal-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz#38c4fe555744826e97e2ae930b0fb4cc07e66054" + integrity sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + +"@babel/plugin-proposal-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz#da5216b238a98b58a1e05d6852104b10f9a70d6b" + integrity sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.0" + +"@babel/plugin-proposal-nullish-coalescing-operator@7.8.3", "@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz#e4572253fdeed65cddeecfdab3f928afeb2fd5d2" + integrity sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + +"@babel/plugin-proposal-numeric-separator@7.8.3", "@babel/plugin-proposal-numeric-separator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz#5d6769409699ec9b3b68684cd8116cedff93bad8" + integrity sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + +"@babel/plugin-proposal-object-rest-spread@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.0.tgz#a28993699fc13df165995362693962ba6b061d6f" + integrity sha512-UgqBv6bjq4fDb8uku9f+wcm1J7YxJ5nT7WO/jBr0cl0PLKb7t1O6RNR1kZbjgx2LQtsDI9hwoQVmn0yhXeQyow== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + +"@babel/plugin-proposal-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz#9dee96ab1650eed88646ae9734ca167ac4a9c5c9" + integrity sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + +"@babel/plugin-proposal-optional-chaining@7.9.0", "@babel/plugin-proposal-optional-chaining@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz#31db16b154c39d6b8a645292472b98394c292a58" + integrity sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + +"@babel/plugin-proposal-unicode-property-regex@^7.4.4", "@babel/plugin-proposal-unicode-property-regex@^7.8.3": + version "7.8.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz#ee3a95e90cdc04fe8cd92ec3279fa017d68a0d1d" + integrity sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.8.8" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-async-generators@^7.8.0": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-decorators@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.8.3.tgz#8d2c15a9f1af624b0025f961682a9d53d3001bda" + integrity sha512-8Hg4dNNT9/LcA1zQlfwuKR8BUc/if7Q7NkTam9sGTcJphLwpf2g4S42uhspQrIrR+dpzE0dtTqBVFoHl8GtnnQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-dynamic-import@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-flow@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.8.3.tgz#f2c883bd61a6316f2c89380ae5122f923ba4527f" + integrity sha512-innAx3bUbA0KSYj2E2MNFSn9hiCeowOFLxlsuhXzw8hMQnzkDomUr9QCD7E9VF60NmnG1sNTuuv6Qf4f8INYsg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-json-strings@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.3.tgz#521b06c83c40480f1e58b4fd33b92eceb1d6ea94" + integrity sha512-WxdW9xyLgBdefoo0Ynn3MRSkhe5tFVxxKNVdnZSh318WrG2e2jH+E9wd/++JsqcLJZPfz87njQJ8j2Upjm0M0A== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.8.0", "@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz#0e3fb63e09bea1b11e96467271c8308007e7c41f" + integrity sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.0": + 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== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz#3acdece695e6b13aaf57fc291d1a800950c71391" + integrity sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-typescript@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.10.4.tgz#2f55e770d3501e83af217d782cb7517d7bb34d25" + integrity sha512-oSAEz1YkBCAKr5Yiq8/BNtvSAPwkp/IyUnwZogd8p+F0RuYQQrLeRUzIQhueQTTBy/F+a40uS7OFKxnkRvmvFQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-arrow-functions@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz#82776c2ed0cd9e1a49956daeb896024c9473b8b6" + integrity sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-async-to-generator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz#4308fad0d9409d71eafb9b1a6ee35f9d64b64086" + integrity sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ== + dependencies: + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-remap-async-to-generator" "^7.8.3" + +"@babel/plugin-transform-block-scoped-functions@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz#437eec5b799b5852072084b3ae5ef66e8349e8a3" + integrity sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-block-scoping@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz#97d35dab66857a437c166358b91d09050c868f3a" + integrity sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + lodash "^4.17.13" + +"@babel/plugin-transform-classes@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.0.tgz#ab89c175ecf5b4c8911194aa8657966615324ce9" + integrity sha512-xt/0CuBRBsBkqfk95ILxf0ge3gnXjEhOHrNxIiS8fdzSWgecuf9Vq2ogLUfaozJgt3LDO49ThMVWiyezGkei7A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-define-map" "^7.8.3" + "@babel/helper-function-name" "^7.8.3" + "@babel/helper-optimise-call-expression" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-replace-supers" "^7.8.6" + "@babel/helper-split-export-declaration" "^7.8.3" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz#96d0d28b7f7ce4eb5b120bb2e0e943343c86f81b" + integrity sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-destructuring@^7.8.3": + version "7.8.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.8.tgz#fadb2bc8e90ccaf5658de6f8d4d22ff6272a2f4b" + integrity sha512-eRJu4Vs2rmttFCdhPUM3bV0Yo/xPSdPw6ML9KHs/bjB4bLA5HXlbvYXPOD5yASodGod+krjYx21xm1QmL8dCJQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz#c3c6ec5ee6125c6993c5cbca20dc8621a9ea7a6e" + integrity sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-duplicate-keys@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz#8d12df309aa537f272899c565ea1768e286e21f1" + integrity sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-exponentiation-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz#581a6d7f56970e06bf51560cd64f5e947b70d7b7" + integrity sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-flow-strip-types@7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.9.0.tgz#8a3538aa40434e000b8f44a3c5c9ac7229bd2392" + integrity sha512-7Qfg0lKQhEHs93FChxVLAvhBshOPQDtJUTVHr/ZwQNRccCm4O9D79r9tVSoV8iNwjP1YgfD+e/fgHcPkN1qEQg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-flow" "^7.8.3" + +"@babel/plugin-transform-for-of@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.9.0.tgz#0f260e27d3e29cd1bb3128da5e76c761aa6c108e" + integrity sha512-lTAnWOpMwOXpyDx06N+ywmF3jNbafZEqZ96CGYabxHrxNX8l5ny7dt4bK/rGwAh9utyP2b2Hv7PlZh1AAS54FQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-function-name@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz#279373cb27322aaad67c2683e776dfc47196ed8b" + integrity sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ== + dependencies: + "@babel/helper-function-name" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-literals@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz#aef239823d91994ec7b68e55193525d76dbd5dc1" + integrity sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-member-expression-literals@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz#963fed4b620ac7cbf6029c755424029fa3a40410" + integrity sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-modules-amd@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.0.tgz#19755ee721912cf5bb04c07d50280af3484efef4" + integrity sha512-vZgDDF003B14O8zJy0XXLnPH4sg+9X5hFBBGN1V+B2rgrB+J2xIypSN6Rk9imB2hSTHQi5OHLrFWsZab1GMk+Q== + dependencies: + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helper-plugin-utils" "^7.8.3" + babel-plugin-dynamic-import-node "^2.3.0" + +"@babel/plugin-transform-modules-commonjs@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.0.tgz#e3e72f4cbc9b4a260e30be0ea59bdf5a39748940" + integrity sha512-qzlCrLnKqio4SlgJ6FMMLBe4bySNis8DFn1VkGmOcxG9gqEyPIOzeQrA//u0HAKrWpJlpZbZMPB1n/OPa4+n8g== + dependencies: + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-simple-access" "^7.8.3" + babel-plugin-dynamic-import-node "^2.3.0" + +"@babel/plugin-transform-modules-systemjs@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.0.tgz#e9fd46a296fc91e009b64e07ddaa86d6f0edeb90" + integrity sha512-FsiAv/nao/ud2ZWy4wFacoLOm5uxl0ExSQ7ErvP7jpoihLR6Cq90ilOFyX9UXct3rbtKsAiZ9kFt5XGfPe/5SQ== + dependencies: + "@babel/helper-hoist-variables" "^7.8.3" + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helper-plugin-utils" "^7.8.3" + babel-plugin-dynamic-import-node "^2.3.0" + +"@babel/plugin-transform-modules-umd@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.9.0.tgz#e909acae276fec280f9b821a5f38e1f08b480697" + integrity sha512-uTWkXkIVtg/JGRSIABdBoMsoIeoHQHPTL0Y2E7xf5Oj7sLqwVsNXOkNk0VJc7vF0IMBsPeikHxFjGe+qmwPtTQ== + dependencies: + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz#a2a72bffa202ac0e2d0506afd0939c5ecbc48c6c" + integrity sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.8.3" + +"@babel/plugin-transform-new-target@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz#60cc2ae66d85c95ab540eb34babb6434d4c70c43" + integrity sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-object-super@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz#ebb6a1e7a86ffa96858bd6ac0102d65944261725" + integrity sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-replace-supers" "^7.8.3" + +"@babel/plugin-transform-parameters@^7.8.7": + version "7.8.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.8.tgz#0381de466c85d5404565243660c4496459525daf" + integrity sha512-hC4Ld/Ulpf1psQciWWwdnUspQoQco2bMzSrwU6TmzRlvoYQe4rQFy9vnCZDTlVeCQj0JPfL+1RX0V8hCJvkgBA== + dependencies: + "@babel/helper-call-delegate" "^7.8.7" + "@babel/helper-get-function-arity" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-property-literals@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz#33194300d8539c1ed28c62ad5087ba3807b98263" + integrity sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-react-constant-elements@^7.0.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.9.0.tgz#a75abc936a3819edec42d3386d9f1c93f28d9d9e" + integrity sha512-wXMXsToAUOxJuBBEHajqKLFWcCkOSLshTI2ChCFFj1zDd7od4IOxiwLCOObNUvOpkxLpjIuaIdBMmNt6ocCPAw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-react-display-name@7.8.3", "@babel/plugin-transform-react-display-name@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.8.3.tgz#70ded987c91609f78353dd76d2fb2a0bb991e8e5" + integrity sha512-3Jy/PCw8Fe6uBKtEgz3M82ljt+lTg+xJaM4og+eyu83qLT87ZUSckn0wy7r31jflURWLO83TW6Ylf7lyXj3m5A== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-react-jsx-development@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.9.0.tgz#3c2a130727caf00c2a293f0aed24520825dbf754" + integrity sha512-tK8hWKrQncVvrhvtOiPpKrQjfNX3DtkNLSX4ObuGcpS9p0QrGetKmlySIGR07y48Zft8WVgPakqd/bk46JrMSw== + dependencies: + "@babel/helper-builder-react-jsx-experimental" "^7.9.0" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-jsx" "^7.8.3" + +"@babel/plugin-transform-react-jsx-self@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.9.0.tgz#f4f26a325820205239bb915bad8e06fcadabb49b" + integrity sha512-K2ObbWPKT7KUTAoyjCsFilOkEgMvFG+y0FqOl6Lezd0/13kMkkjHskVsZvblRPj1PHA44PrToaZANrryppzTvQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-jsx" "^7.8.3" + +"@babel/plugin-transform-react-jsx-source@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.9.0.tgz#89ef93025240dd5d17d3122294a093e5e0183de0" + integrity sha512-K6m3LlSnTSfRkM6FcRk8saNEeaeyG5k7AVkBU2bZK3+1zdkSED3qNdsWrUgQBeTVD2Tp3VMmerxVO2yM5iITmw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-jsx" "^7.8.3" + +"@babel/plugin-transform-react-jsx@^7.9.1": + version "7.9.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.9.1.tgz#d03af29396a6dc51bfa24eefd8005a9fd381152a" + integrity sha512-+xIZ6fPoix7h57CNO/ZeYADchg1tFyX9NDsnmNFFua8e1JNPln156mzS+8AQe1On2X2GLlANHJWHIXbMCqWDkQ== + dependencies: + "@babel/helper-builder-react-jsx" "^7.9.0" + "@babel/helper-builder-react-jsx-experimental" "^7.9.0" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-jsx" "^7.8.3" + +"@babel/plugin-transform-regenerator@^7.8.7": + version "7.8.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz#5e46a0dca2bee1ad8285eb0527e6abc9c37672f8" + integrity sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA== + dependencies: + regenerator-transform "^0.14.2" + +"@babel/plugin-transform-reserved-words@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz#9a0635ac4e665d29b162837dd3cc50745dfdf1f5" + integrity sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-runtime@7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.9.0.tgz#45468c0ae74cc13204e1d3b1f4ce6ee83258af0b" + integrity sha512-pUu9VSf3kI1OqbWINQ7MaugnitRss1z533436waNXp+0N3ur3zfut37sXiQMxkuCF4VUjwZucen/quskCh7NHw== + dependencies: + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + resolve "^1.8.1" + semver "^5.5.1" + +"@babel/plugin-transform-shorthand-properties@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz#28545216e023a832d4d3a1185ed492bcfeac08c8" + integrity sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz#9c8ffe8170fdfb88b114ecb920b82fb6e95fe5e8" + integrity sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-sticky-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz#be7a1290f81dae767475452199e1f76d6175b100" + integrity sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-regex" "^7.8.3" + +"@babel/plugin-transform-template-literals@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz#7bfa4732b455ea6a43130adc0ba767ec0e402a80" + integrity sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-typeof-symbol@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz#ede4062315ce0aaf8a657a920858f1a2f35fc412" + integrity sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-typescript@^7.9.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.11.0.tgz#2b4879676af37342ebb278216dd090ac67f13abb" + integrity sha512-edJsNzTtvb3MaXQwj8403B7mZoGu9ElDJQZOKjGUnvilquxBA3IQoEIOvkX/1O8xfAsnHS/oQhe2w/IXrr+w0w== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.10.5" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-typescript" "^7.10.4" + +"@babel/plugin-transform-unicode-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz#0cef36e3ba73e5c57273effb182f46b91a1ecaad" + integrity sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/preset-env@7.9.0", "@babel/preset-env@^7.4.5": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.9.0.tgz#a5fc42480e950ae8f5d9f8f2bbc03f52722df3a8" + integrity sha512-712DeRXT6dyKAM/FMbQTV/FvRCms2hPCx+3weRjZ8iQVQWZejWWk1wwG6ViWMyqb/ouBbGOl5b6aCk0+j1NmsQ== + dependencies: + "@babel/compat-data" "^7.9.0" + "@babel/helper-compilation-targets" "^7.8.7" + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-proposal-async-generator-functions" "^7.8.3" + "@babel/plugin-proposal-dynamic-import" "^7.8.3" + "@babel/plugin-proposal-json-strings" "^7.8.3" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-proposal-numeric-separator" "^7.8.3" + "@babel/plugin-proposal-object-rest-spread" "^7.9.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.8.3" + "@babel/plugin-proposal-optional-chaining" "^7.9.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.8.3" + "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-syntax-numeric-separator" "^7.8.0" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + "@babel/plugin-transform-arrow-functions" "^7.8.3" + "@babel/plugin-transform-async-to-generator" "^7.8.3" + "@babel/plugin-transform-block-scoped-functions" "^7.8.3" + "@babel/plugin-transform-block-scoping" "^7.8.3" + "@babel/plugin-transform-classes" "^7.9.0" + "@babel/plugin-transform-computed-properties" "^7.8.3" + "@babel/plugin-transform-destructuring" "^7.8.3" + "@babel/plugin-transform-dotall-regex" "^7.8.3" + "@babel/plugin-transform-duplicate-keys" "^7.8.3" + "@babel/plugin-transform-exponentiation-operator" "^7.8.3" + "@babel/plugin-transform-for-of" "^7.9.0" + "@babel/plugin-transform-function-name" "^7.8.3" + "@babel/plugin-transform-literals" "^7.8.3" + "@babel/plugin-transform-member-expression-literals" "^7.8.3" + "@babel/plugin-transform-modules-amd" "^7.9.0" + "@babel/plugin-transform-modules-commonjs" "^7.9.0" + "@babel/plugin-transform-modules-systemjs" "^7.9.0" + "@babel/plugin-transform-modules-umd" "^7.9.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.8.3" + "@babel/plugin-transform-new-target" "^7.8.3" + "@babel/plugin-transform-object-super" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.8.7" + "@babel/plugin-transform-property-literals" "^7.8.3" + "@babel/plugin-transform-regenerator" "^7.8.7" + "@babel/plugin-transform-reserved-words" "^7.8.3" + "@babel/plugin-transform-shorthand-properties" "^7.8.3" + "@babel/plugin-transform-spread" "^7.8.3" + "@babel/plugin-transform-sticky-regex" "^7.8.3" + "@babel/plugin-transform-template-literals" "^7.8.3" + "@babel/plugin-transform-typeof-symbol" "^7.8.4" + "@babel/plugin-transform-unicode-regex" "^7.8.3" + "@babel/preset-modules" "^0.1.3" + "@babel/types" "^7.9.0" + browserslist "^4.9.1" + core-js-compat "^3.6.2" + invariant "^2.2.2" + levenary "^1.1.1" + semver "^5.5.0" + +"@babel/preset-modules@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.3.tgz#13242b53b5ef8c883c3cf7dddd55b36ce80fbc72" + integrity sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/preset-react@7.9.1", "@babel/preset-react@^7.0.0": + version "7.9.1" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.9.1.tgz#b346403c36d58c3bb544148272a0cefd9c28677a" + integrity sha512-aJBYF23MPj0RNdp/4bHnAP0NVqqZRr9kl0NAOP4nJCex6OYVio59+dnQzsAWFuogdLyeaKA1hmfUIVZkY5J+TQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-react-display-name" "^7.8.3" + "@babel/plugin-transform-react-jsx" "^7.9.1" + "@babel/plugin-transform-react-jsx-development" "^7.9.0" + "@babel/plugin-transform-react-jsx-self" "^7.9.0" + "@babel/plugin-transform-react-jsx-source" "^7.9.0" + +"@babel/preset-typescript@7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.9.0.tgz#87705a72b1f0d59df21c179f7c3d2ef4b16ce192" + integrity sha512-S4cueFnGrIbvYJgwsVFKdvOmpiL0XGw9MFW9D0vgRys5g36PBhZRL8NX8Gr2akz8XRtzq6HuDXPD/1nniagNUg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-typescript" "^7.9.0" + +"@babel/runtime-corejs3@^7.10.2": + version "7.11.2" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.11.2.tgz#02c3029743150188edeb66541195f54600278419" + integrity sha512-qh5IR+8VgFz83VBa6OkaET6uN/mJOhHONuy3m1sgF0CV6mXdPSEBdA7e1eUbVvyNtANjMbg22JUv71BaDXLY6A== + dependencies: + core-js-pure "^3.0.0" + regenerator-runtime "^0.13.4" + +"@babel/runtime-corejs3@^7.8.3": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.9.0.tgz#0d4119c44ad05bfa0ca16f2f4f91cde430056c08" + integrity sha512-Fe3z3yVZNCUTaOFBAofwkEtFiYi7a7Gg2F5S1QX+mqP403i2iKJtyHJYEp/PV2ijUheT0PiKWbmXcqtwLhmBzg== + dependencies: + core-js-pure "^3.0.0" + regenerator-runtime "^0.13.4" + +"@babel/runtime@7.9.0", "@babel/runtime@^7.0.0", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.0.tgz#337eda67401f5b066a6f205a3113d4ac18ba495b" + integrity sha512-cTIudHnzuWLS56ik4DnRnqqNf8MkdUzV4iFFI1h7Jo9xvrpQROYaAnaSd2mHLQAzzZAPfATynX5ord6YlNYNMA== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.5.1": + version "7.11.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736" + integrity sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/template@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" + integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/parser" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/template@^7.4.0", "@babel/template@^7.8.3", "@babel/template@^7.8.6": + version "7.8.6" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b" + integrity sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/parser" "^7.8.6" + "@babel/types" "^7.8.6" + +"@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.7.0", "@babel/traverse@^7.8.3", "@babel/traverse@^7.8.6", "@babel/traverse@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.9.0.tgz#d3882c2830e513f4fe4cec9fe76ea1cc78747892" + integrity sha512-jAZQj0+kn4WTHO5dUZkZKhbFrqZE7K5LAQ5JysMnmvGij+wOdr+8lWqPeW0BcF4wFwrEXXtdGO7wcV6YPJcf3w== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.9.0" + "@babel/helper-function-name" "^7.8.3" + "@babel/helper-split-export-declaration" "^7.8.3" + "@babel/parser" "^7.9.0" + "@babel/types" "^7.9.0" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.13" + +"@babel/traverse@^7.10.4": + version "7.11.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.11.5.tgz#be777b93b518eb6d76ee2e1ea1d143daa11e61c3" + integrity sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.11.5" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.11.0" + "@babel/parser" "^7.11.5" + "@babel/types" "^7.11.5" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.19" + +"@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0", "@babel/types@^7.8.3", "@babel/types@^7.8.6", "@babel/types@^7.8.7", "@babel/types@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.0.tgz#00b064c3df83ad32b2dbf5ff07312b15c7f1efb5" + integrity sha512-BS9JKfXkzzJl8RluW4JGknzpiUV7ZrvTayM6yfqLTVBEnFtyowVIOu6rqxRd5cVO6yGoWf4T8u8dgK9oB+GCng== + dependencies: + "@babel/helper-validator-identifier" "^7.9.0" + lodash "^4.17.13" + to-fast-properties "^2.0.0" + +"@babel/types@^7.10.4", "@babel/types@^7.11.0", "@babel/types@^7.11.5": + version "7.11.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.5.tgz#d9de577d01252d77c6800cee039ee64faf75662d" + integrity sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + +"@cnakazawa/watch@^1.0.3": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" + integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== + dependencies: + exec-sh "^0.3.2" + minimist "^1.2.0" + +"@csstools/convert-colors@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7" + integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw== + +"@csstools/normalize.css@^10.1.0": + version "10.1.0" + resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-10.1.0.tgz#f0950bba18819512d42f7197e56c518aa491cf18" + integrity sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg== + +"@hapi/address@2.x.x": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5" + integrity sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ== + +"@hapi/bourne@1.x.x": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-1.3.2.tgz#0a7095adea067243ce3283e1b56b8a8f453b242a" + integrity sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA== + +"@hapi/hoek@8.x.x", "@hapi/hoek@^8.3.0": + version "8.5.1" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.5.1.tgz#fde96064ca446dec8c55a8c2f130957b070c6e06" + integrity sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow== + +"@hapi/joi@^15.0.0": + version "15.1.1" + resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7" + integrity sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ== + dependencies: + "@hapi/address" "2.x.x" + "@hapi/bourne" "1.x.x" + "@hapi/hoek" "8.x.x" + "@hapi/topo" "3.x.x" + +"@hapi/topo@3.x.x": + version "3.1.6" + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.6.tgz#68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29" + integrity sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ== + dependencies: + "@hapi/hoek" "^8.3.0" + +"@jest/console@^24.7.1", "@jest/console@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" + integrity sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ== + dependencies: + "@jest/source-map" "^24.9.0" + chalk "^2.0.1" + slash "^2.0.0" + +"@jest/core@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-24.9.0.tgz#2ceccd0b93181f9c4850e74f2a9ad43d351369c4" + integrity sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A== + dependencies: + "@jest/console" "^24.7.1" + "@jest/reporters" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + ansi-escapes "^3.0.0" + chalk "^2.0.1" + exit "^0.1.2" + graceful-fs "^4.1.15" + jest-changed-files "^24.9.0" + jest-config "^24.9.0" + jest-haste-map "^24.9.0" + jest-message-util "^24.9.0" + jest-regex-util "^24.3.0" + jest-resolve "^24.9.0" + jest-resolve-dependencies "^24.9.0" + jest-runner "^24.9.0" + jest-runtime "^24.9.0" + jest-snapshot "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + jest-watcher "^24.9.0" + micromatch "^3.1.10" + p-each-series "^1.0.0" + realpath-native "^1.1.0" + rimraf "^2.5.4" + slash "^2.0.0" + strip-ansi "^5.0.0" + +"@jest/environment@^24.3.0", "@jest/environment@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-24.9.0.tgz#21e3afa2d65c0586cbd6cbefe208bafade44ab18" + integrity sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ== + dependencies: + "@jest/fake-timers" "^24.9.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + jest-mock "^24.9.0" + +"@jest/fake-timers@^24.3.0", "@jest/fake-timers@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93" + integrity sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A== + dependencies: + "@jest/types" "^24.9.0" + jest-message-util "^24.9.0" + jest-mock "^24.9.0" + +"@jest/reporters@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.9.0.tgz#86660eff8e2b9661d042a8e98a028b8d631a5b43" + integrity sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw== + dependencies: + "@jest/environment" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + exit "^0.1.2" + glob "^7.1.2" + istanbul-lib-coverage "^2.0.2" + istanbul-lib-instrument "^3.0.1" + istanbul-lib-report "^2.0.4" + istanbul-lib-source-maps "^3.0.1" + istanbul-reports "^2.2.6" + jest-haste-map "^24.9.0" + jest-resolve "^24.9.0" + jest-runtime "^24.9.0" + jest-util "^24.9.0" + jest-worker "^24.6.0" + node-notifier "^5.4.2" + slash "^2.0.0" + source-map "^0.6.0" + string-length "^2.0.0" + +"@jest/source-map@^24.3.0", "@jest/source-map@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714" + integrity sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.1.15" + source-map "^0.6.0" + +"@jest/test-result@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca" + integrity sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA== + dependencies: + "@jest/console" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/istanbul-lib-coverage" "^2.0.0" + +"@jest/test-sequencer@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz#f8f334f35b625a4f2f355f2fe7e6036dad2e6b31" + integrity sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A== + dependencies: + "@jest/test-result" "^24.9.0" + jest-haste-map "^24.9.0" + jest-runner "^24.9.0" + jest-runtime "^24.9.0" + +"@jest/transform@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-24.9.0.tgz#4ae2768b296553fadab09e9ec119543c90b16c56" + integrity sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^24.9.0" + babel-plugin-istanbul "^5.1.0" + chalk "^2.0.1" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.1.15" + jest-haste-map "^24.9.0" + jest-regex-util "^24.9.0" + jest-util "^24.9.0" + micromatch "^3.1.10" + pirates "^4.0.1" + realpath-native "^1.1.0" + slash "^2.0.0" + source-map "^0.6.1" + write-file-atomic "2.4.1" + +"@jest/types@^24.3.0", "@jest/types@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" + integrity sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^1.1.1" + "@types/yargs" "^13.0.0" + +"@jest/types@^25.5.0": + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d" + integrity sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^1.1.1" + "@types/yargs" "^15.0.0" + chalk "^3.0.0" + +"@jest/types@^26.3.0": + version "26.3.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.3.0.tgz#97627bf4bdb72c55346eef98e3b3f7ddc4941f71" + integrity sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + +"@mrmlnc/readdir-enhanced@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" + integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g== + dependencies: + call-me-maybe "^1.0.1" + glob-to-regexp "^0.3.0" + +"@nodelib/fs.stat@^1.1.2": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" + integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== + +"@sheerun/mutationobserver-shim@^0.3.2": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@sheerun/mutationobserver-shim/-/mutationobserver-shim-0.3.3.tgz#5405ee8e444ed212db44e79351f0c70a582aae25" + integrity sha512-DetpxZw1fzPD5xUBrIAoplLChO2VB8DlL5Gg+I1IR9b2wPqYIca2WSUxL5g1vLeR4MsQq1NeWriXAVffV+U1Fw== + +"@svgr/babel-plugin-add-jsx-attribute@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz#dadcb6218503532d6884b210e7f3c502caaa44b1" + integrity sha512-j7KnilGyZzYr/jhcrSYS3FGWMZVaqyCG0vzMCwzvei0coIkczuYMcniK07nI0aHJINciujjH11T72ICW5eL5Ig== + +"@svgr/babel-plugin-remove-jsx-attribute@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-4.2.0.tgz#297550b9a8c0c7337bea12bdfc8a80bb66f85abc" + integrity sha512-3XHLtJ+HbRCH4n28S7y/yZoEQnRpl0tvTZQsHqvaeNXPra+6vE5tbRliH3ox1yZYPCxrlqaJT/Mg+75GpDKlvQ== + +"@svgr/babel-plugin-remove-jsx-empty-expression@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz#c196302f3e68eab6a05e98af9ca8570bc13131c7" + integrity sha512-yTr2iLdf6oEuUE9MsRdvt0NmdpMBAkgK8Bjhl6epb+eQWk6abBaX3d65UZ3E3FWaOwePyUgNyNCMVG61gGCQ7w== + +"@svgr/babel-plugin-replace-jsx-attribute-value@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz#310ec0775de808a6a2e4fd4268c245fd734c1165" + integrity sha512-U9m870Kqm0ko8beHawRXLGLvSi/ZMrl89gJ5BNcT452fAjtF2p4uRzXkdzvGJJJYBgx7BmqlDjBN/eCp5AAX2w== + +"@svgr/babel-plugin-svg-dynamic-title@^4.3.3": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.3.tgz#2cdedd747e5b1b29ed4c241e46256aac8110dd93" + integrity sha512-w3Be6xUNdwgParsvxkkeZb545VhXEwjGMwExMVBIdPQJeyMQHqm9Msnb2a1teHBqUYL66qtwfhNkbj1iarCG7w== + +"@svgr/babel-plugin-svg-em-dimensions@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-4.2.0.tgz#9a94791c9a288108d20a9d2cc64cac820f141391" + integrity sha512-C0Uy+BHolCHGOZ8Dnr1zXy/KgpBOkEUYY9kI/HseHVPeMbluaX3CijJr7D4C5uR8zrc1T64nnq/k63ydQuGt4w== + +"@svgr/babel-plugin-transform-react-native-svg@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-4.2.0.tgz#151487322843359a1ca86b21a3815fd21a88b717" + integrity sha512-7YvynOpZDpCOUoIVlaaOUU87J4Z6RdD6spYN4eUb5tfPoKGSF9OG2NuhgYnq4jSkAxcpMaXWPf1cePkzmqTPNw== + +"@svgr/babel-plugin-transform-svg-component@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz#5f1e2f886b2c85c67e76da42f0f6be1b1767b697" + integrity sha512-hYfYuZhQPCBVotABsXKSCfel2slf/yvJY8heTVX1PCTaq/IgASq1IyxPPKJ0chWREEKewIU/JMSsIGBtK1KKxw== + +"@svgr/babel-preset@^4.3.3": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-4.3.3.tgz#a75d8c2f202ac0e5774e6bfc165d028b39a1316c" + integrity sha512-6PG80tdz4eAlYUN3g5GZiUjg2FMcp+Wn6rtnz5WJG9ITGEF1pmFdzq02597Hn0OmnQuCVaBYQE1OVFAnwOl+0A== + dependencies: + "@svgr/babel-plugin-add-jsx-attribute" "^4.2.0" + "@svgr/babel-plugin-remove-jsx-attribute" "^4.2.0" + "@svgr/babel-plugin-remove-jsx-empty-expression" "^4.2.0" + "@svgr/babel-plugin-replace-jsx-attribute-value" "^4.2.0" + "@svgr/babel-plugin-svg-dynamic-title" "^4.3.3" + "@svgr/babel-plugin-svg-em-dimensions" "^4.2.0" + "@svgr/babel-plugin-transform-react-native-svg" "^4.2.0" + "@svgr/babel-plugin-transform-svg-component" "^4.2.0" + +"@svgr/core@^4.3.3": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@svgr/core/-/core-4.3.3.tgz#b37b89d5b757dc66e8c74156d00c368338d24293" + integrity sha512-qNuGF1QON1626UCaZamWt5yedpgOytvLj5BQZe2j1k1B8DUG4OyugZyfEwBeXozCUwhLEpsrgPrE+eCu4fY17w== + dependencies: + "@svgr/plugin-jsx" "^4.3.3" + camelcase "^5.3.1" + cosmiconfig "^5.2.1" + +"@svgr/hast-util-to-babel-ast@^4.3.2": + version "4.3.2" + resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.2.tgz#1d5a082f7b929ef8f1f578950238f630e14532b8" + integrity sha512-JioXclZGhFIDL3ddn4Kiq8qEqYM2PyDKV0aYno8+IXTLuYt6TOgHUbUAAFvqtb0Xn37NwP0BTHglejFoYr8RZg== + dependencies: + "@babel/types" "^7.4.4" + +"@svgr/plugin-jsx@^4.3.3": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-4.3.3.tgz#e2ba913dbdfbe85252a34db101abc7ebd50992fa" + integrity sha512-cLOCSpNWQnDB1/v+SUENHH7a0XY09bfuMKdq9+gYvtuwzC2rU4I0wKGFEp1i24holdQdwodCtDQdFtJiTCWc+w== + dependencies: + "@babel/core" "^7.4.5" + "@svgr/babel-preset" "^4.3.3" + "@svgr/hast-util-to-babel-ast" "^4.3.2" + svg-parser "^2.0.0" + +"@svgr/plugin-svgo@^4.3.1": + version "4.3.1" + resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-4.3.1.tgz#daac0a3d872e3f55935c6588dd370336865e9e32" + integrity sha512-PrMtEDUWjX3Ea65JsVCwTIXuSqa3CG9px+DluF1/eo9mlDrgrtFE7NE/DjdhjJgSM9wenlVBzkzneSIUgfUI/w== + dependencies: + cosmiconfig "^5.2.1" + merge-deep "^3.0.2" + svgo "^1.2.2" + +"@svgr/webpack@4.3.3": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-4.3.3.tgz#13cc2423bf3dff2d494f16b17eb7eacb86895017" + integrity sha512-bjnWolZ6KVsHhgyCoYRFmbd26p8XVbulCzSG53BDQqAr+JOAderYK7CuYrB3bDjHJuF6LJ7Wrr42+goLRV9qIg== + dependencies: + "@babel/core" "^7.4.5" + "@babel/plugin-transform-react-constant-elements" "^7.0.0" + "@babel/preset-env" "^7.4.5" + "@babel/preset-react" "^7.0.0" + "@svgr/core" "^4.3.3" + "@svgr/plugin-jsx" "^4.3.3" + "@svgr/plugin-svgo" "^4.3.1" + loader-utils "^1.2.3" + +"@testing-library/dom@*": + version "7.24.2" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-7.24.2.tgz#6d2b7dd21efbd5358b98c2777fc47c252f3ae55e" + integrity sha512-ERxcZSoHx0EcN4HfshySEWmEf5Kkmgi+J7O79yCJ3xggzVlBJ2w/QjJUC+EBkJJ2OeSw48i3IoePN4w8JlVUIA== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/runtime" "^7.10.3" + "@types/aria-query" "^4.2.0" + aria-query "^4.2.2" + chalk "^4.1.0" + dom-accessibility-api "^0.5.1" + pretty-format "^26.4.2" + +"@testing-library/dom@^6.15.0": + version "6.16.0" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-6.16.0.tgz#04ada27ed74ad4c0f0d984a1245bb29b1fd90ba9" + integrity sha512-lBD88ssxqEfz0wFL6MeUyyWZfV/2cjEZZV3YRpb2IoJRej/4f1jB0TzqIOznTpfR1r34CNesrubxwIlAQ8zgPA== + dependencies: + "@babel/runtime" "^7.8.4" + "@sheerun/mutationobserver-shim" "^0.3.2" + "@types/testing-library__dom" "^6.12.1" + aria-query "^4.0.2" + dom-accessibility-api "^0.3.0" + pretty-format "^25.1.0" + wait-for-expect "^3.0.2" + +"@testing-library/jest-dom@^4.2.4": + version "4.2.4" + resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-4.2.4.tgz#00dfa0cbdd837d9a3c2a7f3f0a248ea6e7b89742" + integrity sha512-j31Bn0rQo12fhCWOUWy9fl7wtqkp7In/YP2p5ZFyRuiiB9Qs3g+hS4gAmDWONbAHcRmVooNJ5eOHQDCOmUFXHg== + dependencies: + "@babel/runtime" "^7.5.1" + chalk "^2.4.1" + css "^2.2.3" + css.escape "^1.5.1" + jest-diff "^24.0.0" + jest-matcher-utils "^24.0.0" + lodash "^4.17.11" + pretty-format "^24.0.0" + redent "^3.0.0" + +"@testing-library/react@^9.3.2": + version "9.5.0" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-9.5.0.tgz#71531655a7890b61e77a1b39452fbedf0472ca5e" + integrity sha512-di1b+D0p+rfeboHO5W7gTVeZDIK5+maEgstrZbWZSSvxDyfDRkkyBE1AJR5Psd6doNldluXlCWqXriUfqu/9Qg== + dependencies: + "@babel/runtime" "^7.8.4" + "@testing-library/dom" "^6.15.0" + "@types/testing-library__react" "^9.1.2" + +"@testing-library/user-event@^7.1.2": + version "7.2.1" + resolved "https://registry.yarnpkg.com/@testing-library/user-event/-/user-event-7.2.1.tgz#2ad4e844175a3738cb9e7064be5ea070b8863a1c" + integrity sha512-oZ0Ib5I4Z2pUEcoo95cT1cr6slco9WY7yiPpG+RGNkj8YcYgJnM7pXmYmorNOReh8MIGcKSqXyeGjxnr8YiZbA== + +"@types/aria-query@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-4.2.0.tgz#14264692a9d6e2fa4db3df5e56e94b5e25647ac0" + integrity sha512-iIgQNzCm0v7QMhhe4Jjn9uRh+I6GoPmt03CbEtwx3ao8/EfoQcmgtqH4vQ5Db/lxiIGaWDv6nwvunuh0RyX0+A== + +"@types/babel__core@^7.1.0": + version "7.1.6" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.6.tgz#16ff42a5ae203c9af1c6e190ed1f30f83207b610" + integrity sha512-tTnhWszAqvXnhW7m5jQU9PomXSiKXk2sFxpahXvI20SZKu9ylPi8WtIxueZ6ehDWikPT0jeFujMj3X4ZHuf3Tg== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.1" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.1.tgz#4901767b397e8711aeb99df8d396d7ba7b7f0e04" + integrity sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.0.2" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307" + integrity sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.0.9" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.9.tgz#be82fab304b141c3eee81a4ce3b034d0eba1590a" + integrity sha512-jEFQ8L1tuvPjOI8lnpaf73oCJe+aoxL6ygqSy6c8LcW98zaC+4mzWuQIRCEvKeCOu+lbqdXcg4Uqmm1S8AP1tw== + dependencies: + "@babel/types" "^7.3.0" + +"@types/color-name@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" + integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== + +"@types/eslint-visitor-keys@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" + integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== + +"@types/events@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" + integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g== + +"@types/glob@^7.1.1": + version "7.1.1" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575" + integrity sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w== + dependencies: + "@types/events" "*" + "@types/minimatch" "*" + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff" + integrity sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz#7a8cbf6a406f36c8add871625b278eaf0b0d255a" + integrity sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA== + dependencies: + "@types/istanbul-lib-coverage" "*" + "@types/istanbul-lib-report" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" + integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/json-schema@^7.0.3": + version "7.0.4" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339" + integrity sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA== + +"@types/json-schema@^7.0.5": + version "7.0.6" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" + integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== + +"@types/minimatch@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" + integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== + +"@types/node@*": + version "13.9.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-13.9.2.tgz#ace1880c03594cc3e80206d96847157d8e7fa349" + integrity sha512-bnoqK579sAYrQbp73wwglccjJ4sfRdKU7WNEZ5FW4K2U6Kc0/eZ5kvXG0JKsEKFB50zrFmfFt52/cvBbZa7eXg== + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +"@types/prop-types@*": + version "15.7.3" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" + integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw== + +"@types/q@^1.5.1": + version "1.5.2" + resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8" + integrity sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw== + +"@types/react-dom@*": + version "16.9.8" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.8.tgz#fe4c1e11dfc67155733dfa6aa65108b4971cb423" + integrity sha512-ykkPQ+5nFknnlU6lDd947WbQ6TE3NNzbQAkInC2EKY1qeYdTKp7onFusmYZb+ityzx2YviqT6BXSu+LyWWJwcA== + dependencies: + "@types/react" "*" + +"@types/react@*": + version "16.9.49" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.49.tgz#09db021cf8089aba0cdb12a49f8021a69cce4872" + integrity sha512-DtLFjSj0OYAdVLBbyjhuV9CdGVHCkHn2R+xr3XkBvK2rS1Y1tkc14XSGjYgm5Fjjr90AxH9tiSzc1pCFMGO06g== + dependencies: + "@types/prop-types" "*" + csstype "^3.0.2" + +"@types/stack-utils@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" + integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== + +"@types/testing-library__dom@*": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@types/testing-library__dom/-/testing-library__dom-7.5.0.tgz#e0a00dd766983b1d6e9d10d33e708005ce6ad13e" + integrity sha512-mj1aH4cj3XUpMEgVpognma5kHVtbm6U6cHZmEFzCRiXPvKkuHrFr3+yXdGLXvfFRBaQIVshPGHI+hGTOJlhS/g== + dependencies: + "@testing-library/dom" "*" + +"@types/testing-library__dom@^6.12.1": + version "6.14.0" + resolved "https://registry.yarnpkg.com/@types/testing-library__dom/-/testing-library__dom-6.14.0.tgz#1aede831cb4ed4a398448df5a2c54b54a365644e" + integrity sha512-sMl7OSv0AvMOqn1UJ6j1unPMIHRXen0Ita1ujnMX912rrOcawe4f7wu0Zt9GIQhBhJvH2BaibqFgQ3lP+Pj2hA== + dependencies: + pretty-format "^24.3.0" + +"@types/testing-library__react@^9.1.2": + version "9.1.3" + resolved "https://registry.yarnpkg.com/@types/testing-library__react/-/testing-library__react-9.1.3.tgz#35eca61cc6ea923543796f16034882a1603d7302" + integrity sha512-iCdNPKU3IsYwRK9JieSYAiX0+aYDXOGAmrC/3/M7AqqSDKnWWVv07X+Zk1uFSL7cMTUYzv4lQRfohucEocn5/w== + dependencies: + "@types/react-dom" "*" + "@types/testing-library__dom" "*" + pretty-format "^25.1.0" + +"@types/yargs-parser@*": + version "15.0.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" + integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw== + +"@types/yargs@^13.0.0": + version "13.0.8" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.8.tgz#a38c22def2f1c2068f8971acb3ea734eb3c64a99" + integrity sha512-XAvHLwG7UQ+8M4caKIH0ZozIOYay5fQkAgyIXegXT9jPtdIGdhga+sUEdAr1CiG46aB+c64xQEYyEzlwWVTNzA== + dependencies: + "@types/yargs-parser" "*" + +"@types/yargs@^15.0.0": + version "15.0.5" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.5.tgz#947e9a6561483bdee9adffc983e91a6902af8b79" + integrity sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w== + dependencies: + "@types/yargs-parser" "*" + +"@typescript-eslint/eslint-plugin@^2.10.0": + version "2.24.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.24.0.tgz#a86cf618c965a462cddf3601f594544b134d6d68" + integrity sha512-wJRBeaMeT7RLQ27UQkDFOu25MqFOBus8PtOa9KaT5ZuxC1kAsd7JEHqWt4YXuY9eancX0GK9C68i5OROnlIzBA== + dependencies: + "@typescript-eslint/experimental-utils" "2.24.0" + eslint-utils "^1.4.3" + functional-red-black-tree "^1.0.1" + regexpp "^3.0.0" + tsutils "^3.17.1" + +"@typescript-eslint/experimental-utils@2.24.0": + version "2.24.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.24.0.tgz#a5cb2ed89fedf8b59638dc83484eb0c8c35e1143" + integrity sha512-DXrwuXTdVh3ycNCMYmWhUzn/gfqu9N0VzNnahjiDJvcyhfBy4gb59ncVZVxdp5XzBC77dCncu0daQgOkbvPwBw== + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/typescript-estree" "2.24.0" + eslint-scope "^5.0.0" + +"@typescript-eslint/parser@^2.10.0": + version "2.24.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.24.0.tgz#2cf0eae6e6dd44d162486ad949c126b887f11eb8" + integrity sha512-H2Y7uacwSSg8IbVxdYExSI3T7uM1DzmOn2COGtCahCC3g8YtM1xYAPi2MAHyfPs61VKxP/J/UiSctcRgw4G8aw== + dependencies: + "@types/eslint-visitor-keys" "^1.0.0" + "@typescript-eslint/experimental-utils" "2.24.0" + "@typescript-eslint/typescript-estree" "2.24.0" + eslint-visitor-keys "^1.1.0" + +"@typescript-eslint/typescript-estree@2.24.0": + version "2.24.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.24.0.tgz#38bbc8bb479790d2f324797ffbcdb346d897c62a" + integrity sha512-RJ0yMe5owMSix55qX7Mi9V6z2FDuuDpN6eR5fzRJrp+8in9UF41IGNQHbg5aMK4/PjVaEQksLvz0IA8n+Mr/FA== + dependencies: + debug "^4.1.1" + eslint-visitor-keys "^1.1.0" + glob "^7.1.6" + is-glob "^4.0.1" + lodash "^4.17.15" + semver "^6.3.0" + tsutils "^3.17.1" + +"@webassemblyjs/ast@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" + integrity sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ== + dependencies: + "@webassemblyjs/helper-module-context" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/wast-parser" "1.8.5" + +"@webassemblyjs/floating-point-hex-parser@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721" + integrity sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ== + +"@webassemblyjs/helper-api-error@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7" + integrity sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA== + +"@webassemblyjs/helper-buffer@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204" + integrity sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q== + +"@webassemblyjs/helper-code-frame@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e" + integrity sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ== + dependencies: + "@webassemblyjs/wast-printer" "1.8.5" + +"@webassemblyjs/helper-fsm@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452" + integrity sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow== + +"@webassemblyjs/helper-module-context@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245" + integrity sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g== + dependencies: + "@webassemblyjs/ast" "1.8.5" + mamacro "^0.0.3" + +"@webassemblyjs/helper-wasm-bytecode@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61" + integrity sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ== + +"@webassemblyjs/helper-wasm-section@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf" + integrity sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA== + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-buffer" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/wasm-gen" "1.8.5" + +"@webassemblyjs/ieee754@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e" + integrity sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10" + integrity sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc" + integrity sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw== + +"@webassemblyjs/wasm-edit@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a" + integrity sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q== + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-buffer" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/helper-wasm-section" "1.8.5" + "@webassemblyjs/wasm-gen" "1.8.5" + "@webassemblyjs/wasm-opt" "1.8.5" + "@webassemblyjs/wasm-parser" "1.8.5" + "@webassemblyjs/wast-printer" "1.8.5" + +"@webassemblyjs/wasm-gen@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc" + integrity sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg== + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/ieee754" "1.8.5" + "@webassemblyjs/leb128" "1.8.5" + "@webassemblyjs/utf8" "1.8.5" + +"@webassemblyjs/wasm-opt@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264" + integrity sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q== + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-buffer" "1.8.5" + "@webassemblyjs/wasm-gen" "1.8.5" + "@webassemblyjs/wasm-parser" "1.8.5" + +"@webassemblyjs/wasm-parser@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d" + integrity sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw== + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-api-error" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/ieee754" "1.8.5" + "@webassemblyjs/leb128" "1.8.5" + "@webassemblyjs/utf8" "1.8.5" + +"@webassemblyjs/wast-parser@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c" + integrity sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg== + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/floating-point-hex-parser" "1.8.5" + "@webassemblyjs/helper-api-error" "1.8.5" + "@webassemblyjs/helper-code-frame" "1.8.5" + "@webassemblyjs/helper-fsm" "1.8.5" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/wast-printer@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc" + integrity sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg== + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/wast-parser" "1.8.5" + "@xtuc/long" "4.2.2" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +abab@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.3.tgz#623e2075e02eb2d3f2475e49f99c91846467907a" + integrity sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg== + +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== + dependencies: + mime-types "~2.1.24" + negotiator "0.6.2" + +acorn-globals@^4.1.0, acorn-globals@^4.3.0: + version "4.3.4" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" + integrity sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A== + dependencies: + acorn "^6.0.1" + acorn-walk "^6.0.1" + +acorn-jsx@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe" + integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ== + +acorn-walk@^6.0.1: + version "6.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" + integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== + +acorn@^5.5.3: + version "5.7.4" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" + integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== + +acorn@^6.0.1, acorn@^6.0.4, acorn@^6.2.1: + version "6.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" + integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== + +acorn@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.1.tgz#e35668de0b402f359de515c5482a1ab9f89a69bf" + integrity sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg== + +address@1.1.2, address@^1.0.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" + integrity sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA== + +adjust-sourcemap-loader@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-2.0.0.tgz#6471143af75ec02334b219f54bc7970c52fb29a4" + integrity sha512-4hFsTsn58+YjrU9qKzML2JSSDqKvN8mUGQ0nNIrfPi8hmIONT4L3uUaT6MKdMsZ9AjsU6D2xDkZxCkbQPxChrA== + dependencies: + assert "1.4.1" + camelcase "5.0.0" + loader-utils "1.2.3" + object-path "0.11.4" + regex-parser "2.2.10" + +aggregate-error@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0" + integrity sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv-errors@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" + integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== + +ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" + integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== + +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.5.5: + version "6.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.0.tgz#06d60b96d87b8454a5adaba86e7854da629db4b7" + integrity sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw== + 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.12.4: + version "6.12.5" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.5.tgz#19b0e8bae8f476e5ba666300387775fb1a00a4da" + integrity sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag== + 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" + +alphanum-sort@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= + +ansi-colors@^3.0.0: + version "3.2.4" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" + integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== + +ansi-escapes@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" + integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== + +ansi-escapes@^4.2.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" + integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== + dependencies: + type-fest "^0.11.0" + +ansi-html@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" + integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-regex@^4.0.0, ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" + integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== + dependencies: + "@types/color-name" "^1.1.1" + color-convert "^2.0.1" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +aproba@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +aria-query@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-3.0.0.tgz#65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc" + integrity sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w= + dependencies: + ast-types-flow "0.0.7" + commander "^2.11.0" + +aria-query@^4.0.2, aria-query@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" + integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== + dependencies: + "@babel/runtime" "^7.10.2" + "@babel/runtime-corejs3" "^7.10.2" + +arity-n@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/arity-n/-/arity-n-1.0.4.tgz#d9e76b11733e08569c0847ae7b39b2860b30b745" + integrity sha1-2edrEXM+CFacCEeuezmyhgswt0U= + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" + integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + +array-flatten@^2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" + integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== + +array-includes@^3.0.3, array-includes@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348" + integrity sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0" + is-string "^1.0.5" + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +array.prototype.flat@^1.2.1: + version "1.2.3" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b" + integrity sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + +arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= + +asap@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= + +asn1.js@^4.0.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" + integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +assert@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" + integrity sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE= + dependencies: + util "0.10.3" + +assert@^1.1.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" + integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== + dependencies: + object-assign "^4.1.1" + util "0.10.3" + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +ast-types-flow@0.0.7, ast-types-flow@^0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" + integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= + +astral-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== + +async-each@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" + integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== + +async-limiter@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" + integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== + +async@^2.6.2: + version "2.6.3" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + dependencies: + lodash "^4.17.14" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +autoprefixer@^9.6.1: + version "9.7.4" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.7.4.tgz#f8bf3e06707d047f0641d87aee8cfb174b2a5378" + integrity sha512-g0Ya30YrMBAEZk60lp+qfX5YQllG+S5W3GYCFvyHTvhOki0AEQJLPEcIuGRsqVwLi8FvXPVtwTGhfr38hVpm0g== + dependencies: + browserslist "^4.8.3" + caniuse-lite "^1.0.30001020" + chalk "^2.4.2" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^7.0.26" + postcss-value-parser "^4.0.2" + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.1.tgz#7e33d8f7d449b3f673cd72deb9abdc552dbe528e" + integrity sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug== + +axobject-query@^2.0.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.1.2.tgz#2bdffc0371e643e5f03ba99065d5179b9ca79799" + integrity sha512-ICt34ZmrVt8UQnvPl6TVyDTkmhXmAyAT4Jh5ugfGUX4MOrZ+U/ZY6/sdylRw3qGNr9Ub5AJsaHeDMzNLehRdOQ== + +babel-code-frame@^6.22.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + +babel-eslint@10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" + integrity sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.7.0" + "@babel/traverse" "^7.7.0" + "@babel/types" "^7.7.0" + eslint-visitor-keys "^1.0.0" + resolve "^1.12.0" + +babel-extract-comments@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz#0a2aedf81417ed391b85e18b4614e693a0351a21" + integrity sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ== + dependencies: + babylon "^6.18.0" + +babel-jest@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54" + integrity sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw== + dependencies: + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/babel__core" "^7.1.0" + babel-plugin-istanbul "^5.1.0" + babel-preset-jest "^24.9.0" + chalk "^2.4.2" + slash "^2.0.0" + +babel-loader@8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.1.0.tgz#c611d5112bd5209abe8b9fa84c3e4da25275f1c3" + integrity sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw== + dependencies: + find-cache-dir "^2.1.0" + loader-utils "^1.4.0" + mkdirp "^0.5.3" + pify "^4.0.1" + schema-utils "^2.6.5" + +babel-plugin-dynamic-import-node@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f" + integrity sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ== + dependencies: + object.assign "^4.1.0" + +babel-plugin-istanbul@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854" + integrity sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + find-up "^3.0.0" + istanbul-lib-instrument "^3.3.0" + test-exclude "^5.2.3" + +babel-plugin-jest-hoist@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz#4f837091eb407e01447c8843cbec546d0002d756" + integrity sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw== + dependencies: + "@types/babel__traverse" "^7.0.6" + +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== + dependencies: + "@babel/runtime" "^7.7.2" + cosmiconfig "^6.0.0" + resolve "^1.12.0" + +babel-plugin-named-asset-import@^0.3.6: + version "0.3.6" + resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.6.tgz#c9750a1b38d85112c9e166bf3ef7c5dbc605f4be" + integrity sha512-1aGDUfL1qOOIoqk9QKGIo2lANk+C7ko/fqH0uIyC71x3PEGz0uVP8ISgfEsFuG+FKmjHTvFK/nNM8dowpmUxLA== + +babel-plugin-syntax-object-rest-spread@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" + integrity sha1-/WU28rzhODb/o6VFjEkDpZe7O/U= + +babel-plugin-transform-object-rest-spread@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" + integrity sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY= + dependencies: + babel-plugin-syntax-object-rest-spread "^6.8.0" + babel-runtime "^6.26.0" + +babel-plugin-transform-react-remove-prop-types@0.4.24: + version "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-preset-jest@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc" + integrity sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg== + dependencies: + "@babel/plugin-syntax-object-rest-spread" "^7.0.0" + babel-plugin-jest-hoist "^24.9.0" + +babel-preset-react-app@^9.1.2: + version "9.1.2" + resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-9.1.2.tgz#54775d976588a8a6d1a99201a702befecaf48030" + integrity sha512-k58RtQOKH21NyKtzptoAvtAODuAJJs3ZhqBMl456/GnXEQ/0La92pNmwgWoMn5pBTrsvk3YYXdY7zpY4e3UIxA== + dependencies: + "@babel/core" "7.9.0" + "@babel/plugin-proposal-class-properties" "7.8.3" + "@babel/plugin-proposal-decorators" "7.8.3" + "@babel/plugin-proposal-nullish-coalescing-operator" "7.8.3" + "@babel/plugin-proposal-numeric-separator" "7.8.3" + "@babel/plugin-proposal-optional-chaining" "7.9.0" + "@babel/plugin-transform-flow-strip-types" "7.9.0" + "@babel/plugin-transform-react-display-name" "7.8.3" + "@babel/plugin-transform-runtime" "7.9.0" + "@babel/preset-env" "7.9.0" + "@babel/preset-react" "7.9.1" + "@babel/preset-typescript" "7.9.0" + "@babel/runtime" "7.9.0" + babel-plugin-macros "2.8.0" + babel-plugin-transform-react-remove-prop-types "0.4.24" + +babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +base64-js@^1.0.2: + version "1.3.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" + integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^1.0.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" + integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== + +binary-extensions@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" + integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== + +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +bluebird@^3.5.5: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: + version "4.11.8" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" + integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== + +body-parser@1.19.0: + version "1.19.0" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" + integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== + dependencies: + bytes "3.1.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "1.7.2" + iconv-lite "0.4.24" + on-finished "~2.3.0" + qs "6.7.0" + raw-body "2.4.0" + type-is "~1.6.17" + +bonjour@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" + integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= + dependencies: + array-flatten "^2.1.0" + deep-equal "^1.0.1" + dns-equal "^1.0.0" + dns-txt "^2.0.2" + multicast-dns "^6.0.1" + multicast-dns-service-types "^1.1.0" + +boolbase@^1.0.0, boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^2.3.1, braces@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +brorand@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + +browser-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== + +browser-resolve@^1.11.3: + version "1.11.3" + resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" + integrity sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ== + dependencies: + resolve "1.1.7" + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" + integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= + dependencies: + bn.js "^4.1.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" + integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg= + dependencies: + bn.js "^4.1.1" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.2" + elliptic "^6.0.0" + inherits "^2.0.1" + parse-asn1 "^5.0.0" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== + dependencies: + pako "~1.0.5" + +browserslist@4.10.0, browserslist@^4.0.0, browserslist@^4.6.2, browserslist@^4.6.4, browserslist@^4.8.3, browserslist@^4.9.1: + version "4.10.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.10.0.tgz#f179737913eaf0d2b98e4926ac1ca6a15cbcc6a9" + integrity sha512-TpfK0TDgv71dzuTsEAlQiHeWQ/tiPqgNZVdv046fvNtBZrjbv2O3TsWCDU0AWGJJKCF/KsjNdLzR9hXOsh/CfA== + dependencies: + caniuse-lite "^1.0.30001035" + electron-to-chromium "^1.3.378" + node-releases "^1.1.52" + pkg-up "^3.1.0" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + +buffer-indexof@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" + integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= + +buffer@^4.3.0: + version "4.9.2" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= + +bytes@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" + integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== + +cacache@^12.0.2: + version "12.0.3" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz#be99abba4e1bf5df461cd5a2c1071fc432573390" + integrity sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw== + dependencies: + bluebird "^3.5.5" + chownr "^1.1.1" + figgy-pudding "^3.5.1" + glob "^7.1.4" + graceful-fs "^4.1.15" + infer-owner "^1.0.3" + lru-cache "^5.1.1" + mississippi "^3.0.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.3" + ssri "^6.0.1" + unique-filename "^1.1.1" + y18n "^4.0.0" + +cacache@^13.0.1: + version "13.0.1" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-13.0.1.tgz#a8000c21697089082f85287a1aec6e382024a71c" + integrity sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w== + dependencies: + chownr "^1.1.2" + figgy-pudding "^3.5.1" + fs-minipass "^2.0.0" + glob "^7.1.4" + graceful-fs "^4.2.2" + infer-owner "^1.0.4" + lru-cache "^5.1.1" + minipass "^3.0.0" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.2" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + p-map "^3.0.0" + promise-inflight "^1.0.1" + rimraf "^2.7.1" + ssri "^7.0.0" + unique-filename "^1.1.1" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +call-me-maybe@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" + integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= + +caller-callsite@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" + integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= + dependencies: + callsites "^2.0.0" + +caller-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" + integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= + dependencies: + caller-callsite "^2.0.0" + +callsites@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camel-case@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.1.tgz#1fc41c854f00e2f7d0139dfeba1542d6896fe547" + integrity sha512-7fa2WcG4fYFkclIvEmxBbTvmibwF2/agfEBc6q3lOpVu0A13ltLsA+Hr/8Hp6kp5f+G7hKi6t8lys6XxP+1K6Q== + dependencies: + pascal-case "^3.1.1" + tslib "^1.10.0" + +camelcase@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" + integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA== + +camelcase@5.3.1, camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001020, caniuse-lite@^1.0.30001035: + version "1.0.30001035" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz#2bb53b8aa4716b2ed08e088d4dc816a5fe089a1e" + integrity sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ== + +capture-exit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== + dependencies: + rsvp "^4.8.4" + +case-sensitive-paths-webpack-plugin@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz#23ac613cc9a856e4f88ff8bb73bbb5e989825cf7" + integrity sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ== + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.0.0, chalk@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + +chokidar@^2.0.2, chokidar@^2.1.8: + version "2.1.8" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" + integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== + dependencies: + anymatch "^2.0.0" + async-each "^1.0.1" + braces "^2.3.2" + glob-parent "^3.1.0" + inherits "^2.0.3" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + normalize-path "^3.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.2.1" + upath "^1.1.1" + optionalDependencies: + fsevents "^1.2.7" + +chokidar@^3.3.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.1.tgz#c84e5b3d18d9a4d77558fef466b1bf16bbeb3450" + integrity sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.3.0" + optionalDependencies: + fsevents "~2.1.2" + +chownr@^1.1.1, chownr@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + +chrome-trace-event@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" + integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== + dependencies: + tslib "^1.9.0" + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +clean-css@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" + integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== + dependencies: + source-map "~0.6.0" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-width@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" + integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= + +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + +clone-deep@^0.2.4: + version "0.2.4" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-0.2.4.tgz#4e73dd09e9fb971cc38670c5dced9c1896481cc6" + integrity sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY= + dependencies: + for-own "^0.1.3" + is-plain-object "^2.0.1" + kind-of "^3.0.2" + lazy-cache "^1.0.3" + shallow-clone "^0.1.2" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + +coa@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" + integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== + dependencies: + "@types/q" "^1.5.1" + chalk "^2.4.1" + q "^1.1.2" + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0, color-convert@^1.9.1: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@^1.0.0, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-string@^1.5.2: + version "1.5.3" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" + integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10" + integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg== + dependencies: + color-convert "^1.9.1" + color-string "^1.5.2" + +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@^2.11.0, commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== + +common-tags@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" + integrity sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +compose-function@3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/compose-function/-/compose-function-3.0.3.tgz#9ed675f13cc54501d30950a486ff6a7ba3ab185f" + integrity sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8= + dependencies: + arity-n "^1.0.4" + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + dependencies: + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.16" + debug "2.6.9" + on-headers "~1.0.2" + safe-buffer "5.1.2" + vary "~1.1.2" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +concat-stream@^1.5.0: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +confusing-browser-globals@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz#72bc13b483c0276801681871d4898516f8f54fdd" + integrity sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw== + +connect-history-api-fallback@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" + integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== + +console-browserify@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" + integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= + +contains-path@^0.1.0: + version "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: + 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: + 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== + +convert-source-map@1.7.0, convert-source-map@^1.4.0, convert-source-map@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== + dependencies: + safe-buffer "~5.1.1" + +convert-source-map@^0.3.3: + version "0.3.5" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-0.3.5.tgz#f1d802950af7dd2631a1febe0596550c86ab3190" + integrity sha1-8dgClQr33SYxof6+BZZVDIarMZA= + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + +cookie@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" + integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== + +copy-concurrently@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" + integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== + dependencies: + aproba "^1.1.1" + fs-write-stream-atomic "^1.0.8" + iferr "^0.1.5" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.0" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +core-js-compat@^3.6.2: + version "3.6.4" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.4.tgz#938476569ebb6cda80d339bcf199fae4f16fff17" + integrity sha512-zAa3IZPvsJ0slViBQ2z+vgyyTuhd3MFn1rBQjZSKVEgB0UMYhUkCj9jJUVPgGTGqWvsBVmfnruXgTcNyTlEiSA== + dependencies: + browserslist "^4.8.3" + semver "7.0.0" + +core-js-pure@^3.0.0: + version "3.6.4" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.4.tgz#4bf1ba866e25814f149d4e9aaa08c36173506e3a" + integrity sha512-epIhRLkXdgv32xIUFaaAry2wdxZYBi6bgM7cB136dzzXXa+dFyRLTZeLUJxnd8ShrmyVXBub63n2NHo2JAt8Cw== + +core-js@^2.4.0: + version "2.6.11" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" + integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== + +core-js@^3.5.0: + version "3.6.4" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.4.tgz#440a83536b458114b9cb2ac1580ba377dc470647" + integrity sha512-4paDGScNgZP2IXXilaffL9X7968RuvwlkK3xWtZRVqgd8SYNiVKRJvkFd1aqqEuPfN7E68ZHEp9hDj6lHj4Hyw== + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cosmiconfig@^5.0.0, cosmiconfig@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" + integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== + dependencies: + import-fresh "^2.0.0" + is-directory "^0.3.1" + js-yaml "^3.13.1" + parse-json "^4.0.0" + +cosmiconfig@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" + integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.7.2" + +create-ecdh@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" + integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== + dependencies: + bn.js "^4.1.0" + elliptic "^6.0.0" + +create-hash@^1.1.0, create-hash@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +cross-spawn@7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.1.tgz#0ab56286e0f7c24e153d04cc2aa027e43a9a5d14" + integrity sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +cross-spawn@^6.0.0, cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +css-blank-pseudo@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz#dfdefd3254bf8a82027993674ccf35483bfcb3c5" + integrity sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w== + dependencies: + postcss "^7.0.5" + +css-color-names@0.0.4, css-color-names@^0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" + integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= + +css-declaration-sorter@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" + integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA== + dependencies: + postcss "^7.0.1" + timsort "^0.3.0" + +css-has-pseudo@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz#3c642ab34ca242c59c41a125df9105841f6966ee" + integrity sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ== + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^5.0.0-rc.4" + +css-loader@3.4.2: + version "3.4.2" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.4.2.tgz#d3fdb3358b43f233b78501c5ed7b1c6da6133202" + integrity sha512-jYq4zdZT0oS0Iykt+fqnzVLRIeiPWhka+7BqPn+oSIpWJAHak5tmB/WZrJ2a21JhCeFyNnnlroSl8c+MtVndzA== + dependencies: + camelcase "^5.3.1" + cssesc "^3.0.0" + icss-utils "^4.1.1" + loader-utils "^1.2.3" + normalize-path "^3.0.0" + postcss "^7.0.23" + postcss-modules-extract-imports "^2.0.0" + postcss-modules-local-by-default "^3.0.2" + postcss-modules-scope "^2.1.1" + postcss-modules-values "^3.0.0" + postcss-value-parser "^4.0.2" + schema-utils "^2.6.0" + +css-prefers-color-scheme@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz#6f830a2714199d4f0d0d0bb8a27916ed65cff1f4" + integrity sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg== + dependencies: + postcss "^7.0.5" + +css-select-base-adapter@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" + integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== + +css-select@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" + integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= + dependencies: + boolbase "~1.0.0" + css-what "2.1" + domutils "1.5.1" + nth-check "~1.0.1" + +css-select@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" + integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== + dependencies: + boolbase "^1.0.0" + css-what "^3.2.1" + domutils "^1.7.0" + nth-check "^1.0.2" + +css-tree@1.0.0-alpha.37: + version "1.0.0-alpha.37" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" + integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== + dependencies: + mdn-data "2.0.4" + source-map "^0.6.1" + +css-what@2.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" + integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== + +css-what@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.2.1.tgz#f4a8f12421064621b456755e34a03a2c22df5da1" + integrity sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw== + +css.escape@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" + integrity sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s= + +css@^2.0.0, css@^2.2.3: + version "2.2.4" + resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" + integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw== + dependencies: + inherits "^2.0.3" + source-map "^0.6.1" + source-map-resolve "^0.5.2" + urix "^0.1.0" + +cssdb@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0" + integrity sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ== + +cssesc@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" + integrity sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssnano-preset-default@^4.0.7: + version "4.0.7" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76" + integrity sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA== + dependencies: + css-declaration-sorter "^4.0.1" + cssnano-util-raw-cache "^4.0.1" + postcss "^7.0.0" + postcss-calc "^7.0.1" + postcss-colormin "^4.0.3" + postcss-convert-values "^4.0.1" + postcss-discard-comments "^4.0.2" + postcss-discard-duplicates "^4.0.2" + postcss-discard-empty "^4.0.1" + postcss-discard-overridden "^4.0.1" + postcss-merge-longhand "^4.0.11" + postcss-merge-rules "^4.0.3" + postcss-minify-font-values "^4.0.2" + postcss-minify-gradients "^4.0.2" + postcss-minify-params "^4.0.2" + postcss-minify-selectors "^4.0.2" + postcss-normalize-charset "^4.0.1" + postcss-normalize-display-values "^4.0.2" + postcss-normalize-positions "^4.0.2" + postcss-normalize-repeat-style "^4.0.2" + postcss-normalize-string "^4.0.2" + postcss-normalize-timing-functions "^4.0.2" + postcss-normalize-unicode "^4.0.1" + postcss-normalize-url "^4.0.1" + postcss-normalize-whitespace "^4.0.2" + postcss-ordered-values "^4.1.2" + postcss-reduce-initial "^4.0.3" + postcss-reduce-transforms "^4.0.2" + postcss-svgo "^4.0.2" + postcss-unique-selectors "^4.0.1" + +cssnano-util-get-arguments@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" + integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= + +cssnano-util-get-match@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" + integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= + +cssnano-util-raw-cache@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" + integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA== + dependencies: + postcss "^7.0.0" + +cssnano-util-same-parent@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" + integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== + +cssnano@^4.1.10: + version "4.1.10" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" + integrity sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ== + dependencies: + cosmiconfig "^5.0.0" + cssnano-preset-default "^4.0.7" + is-resolvable "^1.0.0" + postcss "^7.0.0" + +csso@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/csso/-/csso-4.0.2.tgz#e5f81ab3a56b8eefb7f0092ce7279329f454de3d" + integrity sha512-kS7/oeNVXkHWxby5tHVxlhjizRCSv8QdU7hB2FpdAibDU8FjTAolhNjKNTiLzXtUrKT6HwClE81yXwEk1309wg== + dependencies: + css-tree "1.0.0-alpha.37" + +cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0", cssom@^0.3.4: + version "0.3.8" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== + +cssstyle@^1.0.0, cssstyle@^1.1.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1" + integrity sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA== + dependencies: + cssom "0.3.x" + +csstype@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.3.tgz#2b410bbeba38ba9633353aff34b05d9755d065f8" + integrity sha512-jPl+wbWPOWJ7SXsWyqGRk3lGecbar0Cb0OvZF/r/ZU011R4YqiRehgkQ9p4eQfo9DSDLqLL3wHwfxeJiuIsNag== + +cyclist@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" + integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= + +d@1, d@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + +damerau-levenshtein@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz#143c1641cb3d85c60c32329e26899adea8701791" + integrity sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug== + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +data-urls@^1.0.0, data-urls@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" + integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ== + dependencies: + abab "^2.0.0" + whatwg-mimetype "^2.2.0" + whatwg-url "^7.0.0" + +debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^3.0.0, debug@^3.1.1, debug@^3.2.5: + version "3.2.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== + dependencies: + ms "^2.1.1" + +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" + integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== + dependencies: + ms "^2.1.1" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +deep-equal@^1.0.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" + integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== + dependencies: + is-arguments "^1.0.4" + is-date-object "^1.0.1" + is-regex "^1.0.4" + object-is "^1.0.1" + object-keys "^1.1.1" + regexp.prototype.flags "^1.2.0" + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +default-gateway@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" + integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA== + dependencies: + execa "^1.0.0" + ip-regex "^2.1.0" + +define-properties@^1.1.2, define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +del@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" + integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== + dependencies: + "@types/glob" "^7.1.1" + globby "^6.1.0" + is-path-cwd "^2.0.0" + is-path-in-cwd "^2.0.0" + p-map "^2.0.0" + pify "^4.0.1" + rimraf "^2.6.3" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +des.js@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" + integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +detect-newline@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" + integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= + +detect-node@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" + integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== + +detect-port-alt@1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275" + integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q== + dependencies: + address "^1.0.1" + debug "^2.6.0" + +diff-sequences@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" + integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew== + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dir-glob@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034" + integrity sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag== + dependencies: + arrify "^1.0.1" + path-type "^3.0.0" + +dns-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" + integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= + +dns-packet@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a" + integrity sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg== + dependencies: + ip "^1.1.0" + safe-buffer "^5.0.1" + +dns-txt@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" + integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= + dependencies: + buffer-indexof "^1.0.0" + +doctrine@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dom-accessibility-api@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.3.0.tgz#511e5993dd673b97c87ea47dba0e3892f7e0c983" + integrity sha512-PzwHEmsRP3IGY4gv/Ug+rMeaTIyTJvadCb+ujYXYeIylbHJezIyNToe8KfEgHTCEYyC+/bUghYOGg8yMGlZ6vA== + +dom-accessibility-api@^0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.2.tgz#ef3cdb5d3f0d599d8f9c8b18df2fb63c9793739d" + integrity sha512-k7hRNKAiPJXD2aBqfahSo4/01cTsKWXf+LqJgglnkN2Nz8TsxXKQBXHhKe0Ye9fEfHEZY49uSA5Sr3AqP/sWKA== + +dom-converter@^0.2: + version "0.2.0" + resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" + integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== + dependencies: + utila "~0.4" + +dom-serializer@0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" + integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== + +domelementtype@1, domelementtype@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + +domelementtype@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d" + integrity sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ== + +domexception@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" + integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug== + dependencies: + webidl-conversions "^4.0.2" + +domhandler@^2.3.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" + integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== + dependencies: + domelementtype "1" + +domutils@1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" + integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= + dependencies: + dom-serializer "0" + domelementtype "1" + +domutils@^1.5.1, domutils@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== + dependencies: + dom-serializer "0" + domelementtype "1" + +dot-case@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.3.tgz#21d3b52efaaba2ea5fda875bb1aa8124521cf4aa" + integrity sha512-7hwEmg6RiSQfm/GwPL4AAWXKy3YNNZA3oFv2Pdiey0mwkRCPZ9x6SZbkLcn8Ma5PYeVokzoD4Twv2n7LKp5WeA== + dependencies: + no-case "^3.0.3" + tslib "^1.10.0" + +dot-prop@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb" + integrity sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A== + dependencies: + is-obj "^2.0.0" + +dotenv-expand@5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" + integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== + +dotenv@8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" + integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== + +duplexer@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" + integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= + +duplexify@^3.4.2, duplexify@^3.6.0: + version "3.7.1" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" + integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + +electron-to-chromium@^1.3.378: + version "1.3.379" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.379.tgz#81dc5e82a3e72bbb830d93e15bc35eda2bbc910e" + integrity sha512-NK9DBBYEBb5f9D7zXI0hiE941gq3wkBeQmXs1ingigA/jnTg5mhwY2Z5egwA+ZI8OLGKCx0h1Cl8/xeuIBuLlg== + +elliptic@^6.0.0: + version "6.5.2" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.2.tgz#05c5678d7173c049d8ca433552224a495d0e3762" + integrity sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw== + dependencies: + bn.js "^4.4.0" + brorand "^1.0.1" + hash.js "^1.0.0" + hmac-drbg "^1.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.0" + +emoji-regex@^7.0.1, emoji-regex@^7.0.2: + version "7.0.3" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + +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" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enhanced-resolve@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz#2937e2b8066cd0fe7ce0990a98f0d71a35189f66" + integrity sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA== + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.5.0" + tapable "^1.0.0" + +entities@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" + integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== + +entities@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.0.tgz#68d6084cab1b079767540d80e56a39b423e4abf4" + integrity sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw== + +errno@^0.1.3, errno@~0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" + integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== + dependencies: + prr "~1.0.1" + +error-ex@^1.2.0, error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.2: + version "1.17.4" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.4.tgz#e3aedf19706b20e7c2594c35fc0d57605a79e184" + integrity sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ== + dependencies: + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.1.5" + is-regex "^1.0.5" + object-inspect "^1.7.0" + object-keys "^1.1.1" + object.assign "^4.1.0" + string.prototype.trimleft "^2.1.1" + string.prototype.trimright "^2.1.1" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es5-ext@^0.10.35, es5-ext@^0.10.50: + version "0.10.53" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1" + integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q== + dependencies: + es6-iterator "~2.0.3" + es6-symbol "~3.1.3" + next-tick "~1.0.0" + +es6-iterator@2.0.3, es6-iterator@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-symbol@^3.1.1, es6-symbol@~3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== + dependencies: + d "^1.0.1" + ext "^1.1.2" + +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= + +escape-string-regexp@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +escodegen@^1.11.0, escodegen@^1.9.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.1.tgz#ba01d0c8278b5e95a9a45350142026659027a457" + integrity sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ== + dependencies: + esprima "^4.0.1" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +eslint-config-react-app@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz#698bf7aeee27f0cea0139eaef261c7bf7dd623df" + integrity sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ== + dependencies: + confusing-browser-globals "^1.0.9" + +eslint-import-resolver-node@^0.3.2: + version "0.3.3" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz#dbaa52b6b2816b50bc6711af75422de808e98404" + integrity sha512-b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg== + dependencies: + debug "^2.6.9" + resolve "^1.13.1" + +eslint-loader@3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-3.0.3.tgz#e018e3d2722381d982b1201adb56819c73b480ca" + integrity sha512-+YRqB95PnNvxNp1HEjQmvf9KNvCin5HXYYseOXVC2U0KEcw4IkQ2IQEBG46j7+gW39bMzeu0GsUhVbBY3Votpw== + dependencies: + fs-extra "^8.1.0" + loader-fs-cache "^1.0.2" + loader-utils "^1.2.3" + object-hash "^2.0.1" + schema-utils "^2.6.1" + +eslint-module-utils@^2.4.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.5.2.tgz#7878f7504824e1b857dd2505b59a8e5eda26a708" + integrity sha512-LGScZ/JSlqGKiT8OC+cYRxseMjyqt6QO54nl281CK93unD89ijSeRV6An8Ci/2nvWVKe8K/Tqdm75RQoIOCr+Q== + dependencies: + debug "^2.6.9" + pkg-dir "^2.0.0" + +eslint-plugin-flowtype@4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-4.6.0.tgz#82b2bd6f21770e0e5deede0228e456cb35308451" + integrity sha512-W5hLjpFfZyZsXfo5anlu7HM970JBDqbEshAJUkeczP6BFCIfJXuiIBQXyberLRtOStT0OGPF8efeTbxlHk4LpQ== + dependencies: + lodash "^4.17.15" + +eslint-plugin-import@2.20.1: + version "2.20.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.20.1.tgz#802423196dcb11d9ce8435a5fc02a6d3b46939b3" + integrity sha512-qQHgFOTjguR+LnYRoToeZWT62XM55MBVXObHM6SKFd1VzDcX/vqT1kAz8ssqigh5eMj8qXcRoXXGZpPP6RfdCw== + dependencies: + array-includes "^3.0.3" + array.prototype.flat "^1.2.1" + contains-path "^0.1.0" + debug "^2.6.9" + doctrine "1.5.0" + eslint-import-resolver-node "^0.3.2" + eslint-module-utils "^2.4.1" + has "^1.0.3" + minimatch "^3.0.4" + object.values "^1.1.0" + read-pkg-up "^2.0.0" + resolve "^1.12.0" + +eslint-plugin-jsx-a11y@6.2.3: + version "6.2.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.3.tgz#b872a09d5de51af70a97db1eea7dc933043708aa" + integrity sha512-CawzfGt9w83tyuVekn0GDPU9ytYtxyxyFZ3aSWROmnRRFQFT2BiPJd7jvRdzNDi6oLWaS2asMeYSNMjWTV4eNg== + dependencies: + "@babel/runtime" "^7.4.5" + aria-query "^3.0.0" + array-includes "^3.0.3" + ast-types-flow "^0.0.7" + axobject-query "^2.0.2" + damerau-levenshtein "^1.0.4" + emoji-regex "^7.0.2" + has "^1.0.3" + jsx-ast-utils "^2.2.1" + +eslint-plugin-react-hooks@^1.6.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.7.0.tgz#6210b6d5a37205f0b92858f895a4e827020a7d04" + integrity sha512-iXTCFcOmlWvw4+TOE8CLWj6yX1GwzT0Y6cUfHHZqWnSk144VmVIRcVGtUAzrLES7C798lmvnt02C7rxaOX1HNA== + +eslint-plugin-react@7.19.0: + version "7.19.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.19.0.tgz#6d08f9673628aa69c5559d33489e855d83551666" + integrity sha512-SPT8j72CGuAP+JFbT0sJHOB80TX/pu44gQ4vXH/cq+hQTiY2PuZ6IHkqXJV6x1b28GDdo1lbInjKUrrdUf0LOQ== + dependencies: + array-includes "^3.1.1" + doctrine "^2.1.0" + has "^1.0.3" + jsx-ast-utils "^2.2.3" + object.entries "^1.1.1" + object.fromentries "^2.0.2" + object.values "^1.1.1" + prop-types "^15.7.2" + resolve "^1.15.1" + semver "^6.3.0" + string.prototype.matchall "^4.0.2" + xregexp "^4.3.0" + +eslint-scope@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" + integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-scope@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9" + integrity sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw== + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-utils@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" + integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" + integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== + +eslint@^6.6.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" + integrity sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig== + dependencies: + "@babel/code-frame" "^7.0.0" + ajv "^6.10.0" + chalk "^2.1.0" + cross-spawn "^6.0.5" + debug "^4.0.1" + doctrine "^3.0.0" + eslint-scope "^5.0.0" + eslint-utils "^1.4.3" + eslint-visitor-keys "^1.1.0" + espree "^6.1.2" + esquery "^1.0.1" + esutils "^2.0.2" + file-entry-cache "^5.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.0.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + inquirer "^7.0.0" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.3.0" + lodash "^4.17.14" + minimatch "^3.0.4" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + optionator "^0.8.3" + progress "^2.0.0" + regexpp "^2.0.1" + semver "^6.1.2" + strip-ansi "^5.2.0" + strip-json-comments "^3.0.1" + table "^5.2.3" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^6.1.2: + version "6.2.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" + integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw== + dependencies: + acorn "^7.1.1" + acorn-jsx "^5.2.0" + eslint-visitor-keys "^1.1.0" + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.1.0.tgz#c5c0b66f383e7656404f86b31334d72524eddb48" + integrity sha512-MxYW9xKmROWF672KqjO75sszsA8Mxhw06YFeS5VHlB98KDHbOSurm3ArsjO60Eaf3QmGMCP1yn+0JQkNLo/97Q== + dependencies: + estraverse "^4.0.0" + +esrecurse@^4.1.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" + integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== + dependencies: + estraverse "^4.1.0" + +estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + +eventemitter3@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.0.tgz#d65176163887ee59f386d64c82610b696a4a74eb" + integrity sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg== + +events@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.1.0.tgz#84279af1b34cb75aa88bf5ff291f6d0bd9b31a59" + integrity sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg== + +eventsource@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0" + integrity sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ== + dependencies: + original "^1.0.0" + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +exec-sh@^0.3.2: + version "0.3.4" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" + integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A== + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expect@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-24.9.0.tgz#b75165b4817074fa4a157794f46fe9f1ba15b6ca" + integrity sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q== + dependencies: + "@jest/types" "^24.9.0" + ansi-styles "^3.2.0" + jest-get-type "^24.9.0" + jest-matcher-utils "^24.9.0" + jest-message-util "^24.9.0" + jest-regex-util "^24.9.0" + +express@^4.17.1: + version "4.17.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" + integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== + dependencies: + accepts "~1.3.7" + array-flatten "1.1.1" + body-parser "1.19.0" + content-disposition "0.5.3" + content-type "~1.0.4" + cookie "0.4.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "~1.1.2" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.5" + qs "6.7.0" + range-parser "~1.2.1" + safe-buffer "5.1.2" + send "0.17.1" + serve-static "1.14.1" + setprototypeof "1.1.1" + statuses "~1.5.0" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +ext@^1.1.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244" + integrity sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A== + dependencies: + type "^2.0.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + +fast-deep-equal@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" + integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== + +fast-glob@^2.0.2: + version "2.2.7" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" + integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== + dependencies: + "@mrmlnc/readdir-enhanced" "^2.2.1" + "@nodelib/fs.stat" "^1.1.2" + glob-parent "^3.1.0" + is-glob "^4.0.0" + merge2 "^1.2.3" + micromatch "^3.1.10" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +faye-websocket@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" + integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ= + dependencies: + websocket-driver ">=0.5.1" + +faye-websocket@~0.11.1: + version "0.11.3" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" + integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA== + dependencies: + websocket-driver ">=0.5.1" + +fb-watchman@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== + dependencies: + bser "2.1.1" + +figgy-pudding@^3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" + integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== + +figures@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" + integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== + dependencies: + flat-cache "^2.0.1" + +file-loader@4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-4.3.0.tgz#780f040f729b3d18019f20605f723e844b8a58af" + integrity sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA== + dependencies: + loader-utils "^1.2.3" + schema-utils "^2.5.0" + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + +filesize@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-6.0.1.tgz#f850b509909c7c86f7e450ea19006c31c2ed3d2f" + integrity sha512-u4AYWPgbI5GBhs6id1KdImZWn5yfyFrrQ8OWZdN7ZMfA8Bf4HcO0BGo9bmUIEV8yrp8I1xVfJ/dn90GtFNNJcg== + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.3" + statuses "~1.5.0" + unpipe "~1.0.0" + +find-cache-dir@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" + integrity sha1-yN765XyKUqinhPnjHFfHQumToLk= + dependencies: + commondir "^1.0.1" + mkdirp "^0.5.1" + pkg-dir "^1.0.0" + +find-cache-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" + integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== + dependencies: + commondir "^1.0.1" + make-dir "^2.0.0" + pkg-dir "^3.0.0" + +find-cache-dir@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" + integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-up@4.1.0, find-up@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-up@^2.0.0, find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.0.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +flat-cache@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" + integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== + dependencies: + flatted "^2.0.0" + rimraf "2.6.3" + write "1.0.3" + +flatted@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08" + integrity sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg== + +flatten@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" + integrity sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg== + +flush-write-stream@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" + integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== + dependencies: + inherits "^2.0.3" + readable-stream "^2.3.6" + +follow-redirects@^1.0.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.10.0.tgz#01f5263aee921c6a54fb91667f08f4155ce169eb" + integrity sha512-4eyLK6s6lH32nOvLLwlIOnr9zrL8Sm+OvW4pVTJNoXeGzYIkHVf+pADQi+OJ0E67hiuSLezPVPyBcIZO50TmmQ== + dependencies: + debug "^3.0.0" + +for-in@^0.1.3: + version "0.1.8" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1" + integrity sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE= + +for-in@^1.0.1, for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +for-own@^0.1.3: + version "0.1.5" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= + dependencies: + for-in "^1.0.1" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +fork-ts-checker-webpack-plugin@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-3.1.1.tgz#a1642c0d3e65f50c2cc1742e9c0a80f441f86b19" + integrity sha512-DuVkPNrM12jR41KM2e+N+styka0EgLkTnXmNcXdgOM37vtGeY+oCBK/Jx0hzSeEU6memFCtWb4htrHPMDfwwUQ== + dependencies: + babel-code-frame "^6.22.0" + chalk "^2.4.1" + chokidar "^3.3.0" + micromatch "^3.1.10" + minimatch "^3.0.4" + semver "^5.6.0" + tapable "^1.0.0" + worker-rpc "^0.1.0" + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +forwarded@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" + integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.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= + +from2@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + +fs-extra@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" + integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-minipass@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + +fs-write-stream-atomic@^1.0.8: + version "1.0.10" + resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" + integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= + dependencies: + graceful-fs "^4.1.2" + iferr "^0.1.5" + imurmurhash "^0.1.4" + readable-stream "1 || 2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@2.1.2, fsevents@~2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805" + integrity sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA== + +fsevents@^1.2.7: + version "1.2.12" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.12.tgz#db7e0d8ec3b0b45724fd4d83d43554a8f1f0de5c" + integrity sha512-Ggd/Ktt7E7I8pxZRbGIs7vwqAPscSESMrCSkx2FtWeqmheJgCo2R74fTsZFCifr0VTPwqRpPv17+6b8Zp7th0Q== + dependencies: + bindings "^1.5.0" + nan "^2.12.1" + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + +gensync@^1.0.0-beta.1: + version "1.0.0-beta.1" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" + integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== + +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-own-enumerable-property-symbols@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" + integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== + +get-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-parent@^5.0.0, glob-parent@~5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2" + integrity sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw== + dependencies: + is-glob "^4.0.1" + +glob-to-regexp@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" + integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= + +glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-modules@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" + integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== + dependencies: + global-prefix "^3.0.0" + +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" + integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== + dependencies: + ini "^1.3.5" + kind-of "^6.0.2" + which "^1.3.1" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^12.1.0: + version "12.4.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" + integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== + dependencies: + type-fest "^0.8.1" + +globby@8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-8.0.2.tgz#5697619ccd95c5275dbb2d6faa42087c1a941d8d" + integrity sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w== + dependencies: + array-union "^1.0.1" + dir-glob "2.0.0" + fast-glob "^2.0.2" + glob "^7.1.2" + ignore "^3.3.5" + pify "^3.0.0" + slash "^1.0.0" + +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2: + version "4.2.3" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" + integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= + +gzip-size@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" + integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA== + dependencies: + duplexer "^0.1.1" + pify "^4.0.1" + +handle-thing@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz#0e039695ff50c93fc288557d696f3c1dc6776754" + integrity sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ== + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" + integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== + dependencies: + ajv "^6.5.5" + har-schema "^2.0.0" + +harmony-reflect@^1.4.6: + version "1.6.1" + resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.1.tgz#c108d4f2bb451efef7a37861fdbdae72c9bdefa9" + integrity sha512-WJTeyp0JzGtHcuMsi7rw2VwtkvLa+JyfEKJCFyfcS0+CDkjQ5lHPu7zEhFZP+PDSRrEgXa5Ah0l1MbgbE41XjA== + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + dependencies: + ansi-regex "^2.0.0" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-symbols@^1.0.0, has-symbols@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" + integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.0, has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hash-base@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" + integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg= + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +he@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hex-color-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" + integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== + +hmac-drbg@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hosted-git-info@^2.1.4: + version "2.8.8" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" + integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +hsl-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" + integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= + +hsla-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" + integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= + +html-comment-regex@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" + integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ== + +html-encoding-sniffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" + integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw== + dependencies: + whatwg-encoding "^1.0.1" + +html-entities@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44" + integrity sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA== + +html-escaper@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.0.tgz#71e87f931de3fe09e56661ab9a29aadec707b491" + integrity sha512-a4u9BeERWGu/S8JiWEAQcdrg9v4QArtP9keViQjGMdff20fBdd8waotXaNmODqBe6uZ3Nafi7K/ho4gCQHV3Ig== + +html-minifier-terser@^5.0.1: + version "5.0.4" + resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.0.4.tgz#e8cc02748acb983bd7912ea9660bd31c0702ec32" + integrity sha512-fHwmKQ+GzhlqdxEtwrqLT7MSuheiA+rif5/dZgbz3GjoMXJzcRzy1L9NXoiiyxrnap+q5guSiv8Tz5lrh9g42g== + dependencies: + camel-case "^4.1.1" + clean-css "^4.2.3" + commander "^4.1.1" + he "^1.2.0" + param-case "^3.0.3" + relateurl "^0.2.7" + terser "^4.6.3" + +html-webpack-plugin@4.0.0-beta.11: + version "4.0.0-beta.11" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.11.tgz#3059a69144b5aecef97708196ca32f9e68677715" + integrity sha512-4Xzepf0qWxf8CGg7/WQM5qBB2Lc/NFI7MhU59eUDTkuQp3skZczH4UA1d6oQyDEIoMDgERVhRyTdtUPZ5s5HBg== + dependencies: + html-minifier-terser "^5.0.1" + loader-utils "^1.2.3" + lodash "^4.17.15" + pretty-error "^2.1.1" + tapable "^1.1.3" + util.promisify "1.0.0" + +htmlparser2@^3.3.0: + version "3.10.1" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" + integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== + dependencies: + domelementtype "^1.3.1" + domhandler "^2.3.0" + domutils "^1.5.1" + entities "^1.1.1" + inherits "^2.0.1" + readable-stream "^3.1.1" + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= + +http-errors@1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" + integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.1" + 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: + version "1.7.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" + integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +"http-parser-js@>=0.4.0 <0.4.11": + version "0.4.10" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4" + integrity sha1-ksnBN0w1CF912zWexWzCV8u5P6Q= + +http-proxy-middleware@0.19.1: + version "0.19.1" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" + integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q== + dependencies: + http-proxy "^1.17.0" + is-glob "^4.0.0" + lodash "^4.17.11" + micromatch "^3.1.10" + +http-proxy@^1.17.0: + version "1.18.0" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.0.tgz#dbe55f63e75a347db7f3d99974f2692a314a6a3a" + integrity sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= + +iconv-lite@0.4.24, iconv-lite@^0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +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" + integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== + dependencies: + postcss "^7.0.14" + +identity-obj-proxy@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" + integrity sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ= + dependencies: + harmony-reflect "^1.4.6" + +ieee754@^1.1.4: + version "1.1.13" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" + integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== + +iferr@^0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" + integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= + +ignore@^3.3.5: + version "3.3.10" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" + integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +immer@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/immer/-/immer-1.10.0.tgz#bad67605ba9c810275d91e1c2a47d4582e98286d" + integrity sha512-O3sR1/opvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg== + +import-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" + integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= + dependencies: + import-from "^2.1.0" + +import-fresh@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" + integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= + dependencies: + caller-path "^2.0.0" + resolve-from "^3.0.0" + +import-fresh@^3.0.0, import-fresh@^3.1.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" + integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-from@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" + integrity sha1-M1238qev/VOqpHHUuAId7ja387E= + dependencies: + resolve-from "^3.0.0" + +import-local@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" + integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== + dependencies: + pkg-dir "^3.0.0" + resolve-cwd "^2.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= + +infer-owner@^1.0.3, infer-owner@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +ini@^1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== + +inquirer@7.0.4: + version "7.0.4" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.4.tgz#99af5bde47153abca23f5c7fc30db247f39da703" + integrity sha512-Bu5Td5+j11sCkqfqmUTiwv+tWisMtP0L7Q8WrqA2C/BbBhy1YTdFrvjjlrKq8oagA/tLQBski2Gcx/Sqyi2qSQ== + dependencies: + ansi-escapes "^4.2.1" + chalk "^2.4.2" + cli-cursor "^3.1.0" + cli-width "^2.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.15" + mute-stream "0.0.8" + run-async "^2.2.0" + rxjs "^6.5.3" + string-width "^4.1.0" + strip-ansi "^5.1.0" + through "^2.3.6" + +inquirer@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.1.0.tgz#1298a01859883e17c7264b82870ae1034f92dd29" + integrity sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg== + dependencies: + ansi-escapes "^4.2.1" + chalk "^3.0.0" + cli-cursor "^3.1.0" + cli-width "^2.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.15" + mute-stream "0.0.8" + run-async "^2.4.0" + rxjs "^6.5.3" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + +internal-ip@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" + integrity sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg== + dependencies: + default-gateway "^4.2.0" + ipaddr.js "^1.9.0" + +internal-slot@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.2.tgz#9c2e9fb3cd8e5e4256c6f45fe310067fcfa378a3" + integrity sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g== + dependencies: + es-abstract "^1.17.0-next.1" + has "^1.0.3" + side-channel "^1.0.2" + +invariant@^2.2.2, invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + +ip@^1.1.0, ip@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" + integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= + +ipaddr.js@1.9.1, ipaddr.js@^1.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +is-absolute-url@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" + integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= + +is-absolute-url@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" + integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-arguments@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" + integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + dependencies: + binary-extensions "^1.0.0" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-buffer@^1.0.2, is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-callable@^1.1.4, is-callable@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab" + integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q== + +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + +is-color-stop@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" + integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= + dependencies: + css-color-names "^0.0.4" + hex-color-regex "^1.1.0" + hsl-regex "^1.0.0" + hsla-regex "^1.0.0" + rgb-regex "^1.0.1" + rgba-regex "^1.0.0" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" + integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-directory@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= + +is-docker@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.0.0.tgz#2cb0df0e75e2d064fe1864c37cdeacb7b2dcf25b" + integrity sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ== + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + dependencies: + is-extglob "^2.1.1" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + +is-path-cwd@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" + integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== + +is-path-in-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" + integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ== + dependencies: + is-path-inside "^2.1.0" + +is-path-inside@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" + integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg== + dependencies: + path-is-inside "^1.0.2" + +is-plain-obj@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + +is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-promise@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" + integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= + +is-regex@^1.0.4, is-regex@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae" + integrity sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ== + dependencies: + has "^1.0.3" + +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= + +is-resolvable@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" + integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== + +is-root@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" + integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-string@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" + integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== + +is-svg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" + integrity sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ== + dependencies: + html-comment-regex "^1.1.0" + +is-symbol@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" + integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== + dependencies: + has-symbols "^1.0.1" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + +is-wsl@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.1.1.tgz#4a1c152d429df3d441669498e2486d3596ebaf1d" + integrity sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog== + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" + integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA== + +istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" + integrity sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA== + dependencies: + "@babel/generator" "^7.4.0" + "@babel/parser" "^7.4.3" + "@babel/template" "^7.4.0" + "@babel/traverse" "^7.4.3" + "@babel/types" "^7.4.0" + istanbul-lib-coverage "^2.0.5" + semver "^6.0.0" + +istanbul-lib-report@^2.0.4: + version "2.0.8" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" + integrity sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ== + dependencies: + istanbul-lib-coverage "^2.0.5" + make-dir "^2.1.0" + supports-color "^6.1.0" + +istanbul-lib-source-maps@^3.0.1: + version "3.0.6" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" + integrity sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^2.0.5" + make-dir "^2.1.0" + rimraf "^2.6.3" + source-map "^0.6.1" + +istanbul-reports@^2.2.6: + version "2.2.7" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.7.tgz#5d939f6237d7b48393cc0959eab40cd4fd056931" + integrity sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg== + dependencies: + html-escaper "^2.0.0" + +jest-changed-files@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.9.0.tgz#08d8c15eb79a7fa3fc98269bc14b451ee82f8039" + integrity sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg== + dependencies: + "@jest/types" "^24.9.0" + execa "^1.0.0" + throat "^4.0.0" + +jest-cli@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.9.0.tgz#ad2de62d07472d419c6abc301fc432b98b10d2af" + integrity sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg== + dependencies: + "@jest/core" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + exit "^0.1.2" + import-local "^2.0.0" + is-ci "^2.0.0" + jest-config "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + prompts "^2.0.1" + realpath-native "^1.1.0" + yargs "^13.3.0" + +jest-config@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.9.0.tgz#fb1bbc60c73a46af03590719efa4825e6e4dd1b5" + integrity sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ== + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^24.9.0" + "@jest/types" "^24.9.0" + babel-jest "^24.9.0" + chalk "^2.0.1" + glob "^7.1.1" + jest-environment-jsdom "^24.9.0" + jest-environment-node "^24.9.0" + jest-get-type "^24.9.0" + jest-jasmine2 "^24.9.0" + jest-regex-util "^24.3.0" + jest-resolve "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + micromatch "^3.1.10" + pretty-format "^24.9.0" + realpath-native "^1.1.0" + +jest-diff@^24.0.0, jest-diff@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" + integrity sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ== + dependencies: + chalk "^2.0.1" + diff-sequences "^24.9.0" + jest-get-type "^24.9.0" + pretty-format "^24.9.0" + +jest-docblock@^24.3.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2" + integrity sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA== + dependencies: + detect-newline "^2.1.0" + +jest-each@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.9.0.tgz#eb2da602e2a610898dbc5f1f6df3ba86b55f8b05" + integrity sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog== + dependencies: + "@jest/types" "^24.9.0" + chalk "^2.0.1" + jest-get-type "^24.9.0" + jest-util "^24.9.0" + pretty-format "^24.9.0" + +jest-environment-jsdom-fourteen@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom-fourteen/-/jest-environment-jsdom-fourteen-1.0.1.tgz#4cd0042f58b4ab666950d96532ecb2fc188f96fb" + integrity sha512-DojMX1sY+at5Ep+O9yME34CdidZnO3/zfPh8UW+918C5fIZET5vCjfkegixmsi7AtdYfkr4bPlIzmWnlvQkP7Q== + dependencies: + "@jest/environment" "^24.3.0" + "@jest/fake-timers" "^24.3.0" + "@jest/types" "^24.3.0" + jest-mock "^24.0.0" + jest-util "^24.0.0" + jsdom "^14.1.0" + +jest-environment-jsdom@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz#4b0806c7fc94f95edb369a69cc2778eec2b7375b" + integrity sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA== + dependencies: + "@jest/environment" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/types" "^24.9.0" + jest-mock "^24.9.0" + jest-util "^24.9.0" + jsdom "^11.5.1" + +jest-environment-node@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.9.0.tgz#333d2d2796f9687f2aeebf0742b519f33c1cbfd3" + integrity sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA== + dependencies: + "@jest/environment" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/types" "^24.9.0" + jest-mock "^24.9.0" + jest-util "^24.9.0" + +jest-get-type@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" + integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q== + +jest-haste-map@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d" + integrity sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ== + dependencies: + "@jest/types" "^24.9.0" + anymatch "^2.0.0" + fb-watchman "^2.0.0" + graceful-fs "^4.1.15" + invariant "^2.2.4" + jest-serializer "^24.9.0" + jest-util "^24.9.0" + jest-worker "^24.9.0" + micromatch "^3.1.10" + sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^1.2.7" + +jest-jasmine2@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz#1f7b1bd3242c1774e62acabb3646d96afc3be6a0" + integrity sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw== + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + co "^4.6.0" + expect "^24.9.0" + is-generator-fn "^2.0.0" + jest-each "^24.9.0" + jest-matcher-utils "^24.9.0" + jest-message-util "^24.9.0" + jest-runtime "^24.9.0" + jest-snapshot "^24.9.0" + jest-util "^24.9.0" + pretty-format "^24.9.0" + throat "^4.0.0" + +jest-leak-detector@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz#b665dea7c77100c5c4f7dfcb153b65cf07dcf96a" + integrity sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA== + dependencies: + jest-get-type "^24.9.0" + pretty-format "^24.9.0" + +jest-matcher-utils@^24.0.0, jest-matcher-utils@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz#f5b3661d5e628dffe6dd65251dfdae0e87c3a073" + integrity sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA== + dependencies: + chalk "^2.0.1" + jest-diff "^24.9.0" + jest-get-type "^24.9.0" + pretty-format "^24.9.0" + +jest-message-util@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3" + integrity sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw== + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/stack-utils" "^1.0.1" + chalk "^2.0.1" + micromatch "^3.1.10" + slash "^2.0.0" + stack-utils "^1.0.1" + +jest-mock@^24.0.0, jest-mock@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6" + integrity sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w== + dependencies: + "@jest/types" "^24.9.0" + +jest-pnp-resolver@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a" + integrity sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ== + +jest-regex-util@^24.3.0, jest-regex-util@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" + integrity sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA== + +jest-resolve-dependencies@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz#ad055198959c4cfba8a4f066c673a3f0786507ab" + integrity sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g== + dependencies: + "@jest/types" "^24.9.0" + jest-regex-util "^24.3.0" + jest-snapshot "^24.9.0" + +jest-resolve@24.9.0, jest-resolve@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.9.0.tgz#dff04c7687af34c4dd7e524892d9cf77e5d17321" + integrity sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ== + dependencies: + "@jest/types" "^24.9.0" + browser-resolve "^1.11.3" + chalk "^2.0.1" + jest-pnp-resolver "^1.2.1" + realpath-native "^1.1.0" + +jest-runner@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.9.0.tgz#574fafdbd54455c2b34b4bdf4365a23857fcdf42" + integrity sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg== + dependencies: + "@jest/console" "^24.7.1" + "@jest/environment" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + chalk "^2.4.2" + exit "^0.1.2" + graceful-fs "^4.1.15" + jest-config "^24.9.0" + jest-docblock "^24.3.0" + jest-haste-map "^24.9.0" + jest-jasmine2 "^24.9.0" + jest-leak-detector "^24.9.0" + jest-message-util "^24.9.0" + jest-resolve "^24.9.0" + jest-runtime "^24.9.0" + jest-util "^24.9.0" + jest-worker "^24.6.0" + source-map-support "^0.5.6" + throat "^4.0.0" + +jest-runtime@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.9.0.tgz#9f14583af6a4f7314a6a9d9f0226e1a781c8e4ac" + integrity sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw== + dependencies: + "@jest/console" "^24.7.1" + "@jest/environment" "^24.9.0" + "@jest/source-map" "^24.3.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/yargs" "^13.0.0" + chalk "^2.0.1" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.1.15" + jest-config "^24.9.0" + jest-haste-map "^24.9.0" + jest-message-util "^24.9.0" + jest-mock "^24.9.0" + jest-regex-util "^24.3.0" + jest-resolve "^24.9.0" + jest-snapshot "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + realpath-native "^1.1.0" + slash "^2.0.0" + strip-bom "^3.0.0" + yargs "^13.3.0" + +jest-serializer@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73" + integrity sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ== + +jest-snapshot@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.9.0.tgz#ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba" + integrity sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew== + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + expect "^24.9.0" + jest-diff "^24.9.0" + jest-get-type "^24.9.0" + jest-matcher-utils "^24.9.0" + jest-message-util "^24.9.0" + jest-resolve "^24.9.0" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + pretty-format "^24.9.0" + semver "^6.2.0" + +jest-util@^24.0.0, jest-util@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" + integrity sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg== + dependencies: + "@jest/console" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/source-map" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + callsites "^3.0.0" + chalk "^2.0.1" + graceful-fs "^4.1.15" + is-ci "^2.0.0" + mkdirp "^0.5.1" + slash "^2.0.0" + source-map "^0.6.0" + +jest-validate@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.9.0.tgz#0775c55360d173cd854e40180756d4ff52def8ab" + integrity sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ== + dependencies: + "@jest/types" "^24.9.0" + camelcase "^5.3.1" + chalk "^2.0.1" + jest-get-type "^24.9.0" + leven "^3.1.0" + pretty-format "^24.9.0" + +jest-watch-typeahead@0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-0.4.2.tgz#e5be959698a7fa2302229a5082c488c3c8780a4a" + integrity sha512-f7VpLebTdaXs81rg/oj4Vg/ObZy2QtGzAmGLNsqUS5G5KtSN68tFcIsbvNODfNyQxU78g7D8x77o3bgfBTR+2Q== + dependencies: + ansi-escapes "^4.2.1" + chalk "^2.4.1" + jest-regex-util "^24.9.0" + jest-watcher "^24.3.0" + slash "^3.0.0" + string-length "^3.1.0" + strip-ansi "^5.0.0" + +jest-watcher@^24.3.0, jest-watcher@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.9.0.tgz#4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b" + integrity sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw== + dependencies: + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/yargs" "^13.0.0" + ansi-escapes "^3.0.0" + chalk "^2.0.1" + jest-util "^24.9.0" + string-length "^2.0.0" + +jest-worker@^24.6.0, jest-worker@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" + integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== + dependencies: + merge-stream "^2.0.0" + supports-color "^6.1.0" + +jest-worker@^25.4.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.5.0.tgz#2611d071b79cea0f43ee57a3d118593ac1547db1" + integrity sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw== + dependencies: + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest@24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-24.9.0.tgz#987d290c05a08b52c56188c1002e368edb007171" + integrity sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw== + dependencies: + import-local "^2.0.0" + jest-cli "^24.9.0" + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= + +js-yaml@^3.13.1: + version "3.13.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" + integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jsdom@^11.5.1: + version "11.12.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" + integrity sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw== + dependencies: + abab "^2.0.0" + acorn "^5.5.3" + acorn-globals "^4.1.0" + array-equal "^1.0.0" + cssom ">= 0.3.2 < 0.4.0" + cssstyle "^1.0.0" + data-urls "^1.0.0" + domexception "^1.0.1" + escodegen "^1.9.1" + html-encoding-sniffer "^1.0.2" + left-pad "^1.3.0" + nwsapi "^2.0.7" + parse5 "4.0.0" + pn "^1.1.0" + request "^2.87.0" + request-promise-native "^1.0.5" + sax "^1.2.4" + symbol-tree "^3.2.2" + tough-cookie "^2.3.4" + w3c-hr-time "^1.0.1" + webidl-conversions "^4.0.2" + whatwg-encoding "^1.0.3" + whatwg-mimetype "^2.1.0" + whatwg-url "^6.4.1" + ws "^5.2.0" + xml-name-validator "^3.0.0" + +jsdom@^14.1.0: + version "14.1.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-14.1.0.tgz#916463b6094956b0a6c1782c94e380cd30e1981b" + integrity sha512-O901mfJSuTdwU2w3Sn+74T+RnDVP+FuV5fH8tcPWyqrseRAb0s5xOtPgCFiPOtLcyK7CLIJwPyD83ZqQWvA5ng== + dependencies: + abab "^2.0.0" + acorn "^6.0.4" + acorn-globals "^4.3.0" + array-equal "^1.0.0" + cssom "^0.3.4" + cssstyle "^1.1.1" + data-urls "^1.1.0" + domexception "^1.0.1" + escodegen "^1.11.0" + html-encoding-sniffer "^1.0.2" + nwsapi "^2.1.3" + parse5 "5.1.0" + pn "^1.1.0" + request "^2.88.0" + request-promise-native "^1.0.5" + saxes "^3.1.9" + symbol-tree "^3.2.2" + tough-cookie "^2.5.0" + w3c-hr-time "^1.0.1" + w3c-xmlserializer "^1.1.2" + webidl-conversions "^4.0.2" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^7.0.0" + ws "^6.1.2" + xml-name-validator "^3.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + +json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= + dependencies: + jsonify "~0.0.0" + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +json3@^3.3.2: + version "3.3.3" + resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" + integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + +json5@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.2.tgz#43ef1f0af9835dd624751a6b7fa48874fb2d608e" + integrity sha512-MoUOQ4WdiN3yxhm7NEVJSJrieAo5hNSLQ5sj05OTRHPL9HOBy8u4Bu88jsC1jvqAdN+E1bJmsUcZH+1HQxliqQ== + dependencies: + minimist "^1.2.5" + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +jsx-ast-utils@^2.2.1, jsx-ast-utils@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.3.tgz#8a9364e402448a3ce7f14d357738310d9248054f" + integrity sha512-EdIHFMm+1BPynpKOpdPqiOsvnIrInRGJD7bzPZdPkjitQEqpdpUuFpq4T0npZFKTiB3RhWFdGN+oqOJIdhDhQA== + dependencies: + array-includes "^3.0.3" + object.assign "^4.1.0" + +killable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" + integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg== + +kind-of@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-2.0.1.tgz#018ec7a4ce7e3a86cb9141be519d24c8faa981b5" + integrity sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU= + dependencies: + is-buffer "^1.0.2" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +last-call-webpack-plugin@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555" + integrity sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w== + dependencies: + lodash "^4.17.5" + webpack-sources "^1.1.0" + +lazy-cache@^0.2.3: + version "0.2.7" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-0.2.7.tgz#7feddf2dcb6edb77d11ef1d117ab5ffdf0ab1b65" + integrity sha1-f+3fLctu23fRHvHRF6tf/fCrG2U= + +lazy-cache@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4= + +left-pad@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" + integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levenary@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/levenary/-/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77" + integrity sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ== + dependencies: + leven "^3.1.0" + +levn@^0.3.0, levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + +load-json-file@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + strip-bom "^3.0.0" + +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +loader-fs-cache@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.2.tgz#54cedf6b727e1779fd8f01205f05f6e88706f086" + integrity sha512-70IzT/0/L+M20jUlEqZhZyArTU6VKLRTYRDAYN26g4jfzpJqjipLL3/hgYpySqI9PwsVRHHFja0LfEmsx9X2Cw== + dependencies: + find-cache-dir "^0.1.1" + mkdirp "0.5.1" + +loader-runner@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" + integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== + +loader-utils@1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" + integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== + dependencies: + big.js "^5.2.2" + emojis-list "^2.0.0" + json5 "^1.0.1" + +loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" + integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +lodash._reinterpolate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= + +lodash.template@^4.4.0, lodash.template@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" + integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.templatesettings "^4.0.0" + +lodash.templatesettings@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" + integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== + dependencies: + lodash._reinterpolate "^3.0.0" + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + +"lodash@>=3.5 <5", lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.5: + version "4.17.15" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" + integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== + +lodash@^4.17.19: + version "4.17.20" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== + +loglevel@^1.6.8: + version "1.7.0" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.0.tgz#728166855a740d59d38db01cf46f042caa041bb0" + integrity sha512-i2sY04nal5jDcagM3FMfG++T69GEEM8CYuOfeOIvmXzOIcwE9a/CJPR0MFM97pYMj/u10lzz7/zd7+qwhrBTqQ== + +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lower-case@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.1.tgz#39eeb36e396115cc05e29422eaea9e692c9408c7" + integrity sha512-LiWgfDLLb1dwbFQZsSglpRj+1ctGnayXz3Uv0/WO8n558JycT5fg6zkNcnW0G68Nn0aEldTFeEfmjCfmqry/rQ== + dependencies: + tslib "^1.10.0" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +make-dir@^2.0.0, make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +make-dir@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.0.2.tgz#04a1acbf22221e1d6ef43559f43e05a90dbb4392" + integrity sha512-rYKABKutXa6vXTXhoV18cBE7PaewPXHe/Bdq4v+ZLMhxbWApkFFplT0LcbMW+6BbjnQXzZ/sAvSE/JdguApG5w== + dependencies: + semver "^6.0.0" + +makeerror@1.0.x: + version "1.0.11" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= + dependencies: + tmpl "1.0.x" + +mamacro@^0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4" + integrity sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA== + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +mdn-data@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" + integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + +memory-fs@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +memory-fs@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" + integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +merge-deep@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/merge-deep/-/merge-deep-3.0.2.tgz#f39fa100a4f1bd34ff29f7d2bf4508fbb8d83ad2" + integrity sha512-T7qC8kg4Zoti1cFd8Cr0M+qaZfOwjlPDEdZIIPPB2JZctjaPM4fX+i7HOId69tAti2fvO6X5ldfYUONDODsrkA== + dependencies: + arr-union "^3.1.0" + clone-deep "^0.2.4" + kind-of "^3.0.2" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.2.3: + version "1.3.0" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.3.0.tgz#5b366ee83b2f1582c48f87e47cf1a9352103ca81" + integrity sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw== + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + +microevent.ts@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/microevent.ts/-/microevent.ts-0.1.1.tgz#70b09b83f43df5172d0205a63025bce0f7357fa0" + integrity sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g== + +micromatch@^3.1.10, micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@1.43.0, "mime-db@>= 1.43.0 < 2": + version "1.43.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58" + integrity sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ== + +mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: + version "2.1.26" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.26.tgz#9c921fc09b7e149a65dfdc0da4d20997200b0a06" + integrity sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ== + dependencies: + mime-db "1.43.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mime@^2.4.4: + version "2.4.4" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5" + integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== + +mini-css-extract-plugin@0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz#47f2cf07aa165ab35733b1fc97d4c46c0564339e" + integrity sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A== + dependencies: + loader-utils "^1.1.0" + normalize-url "1.9.1" + schema-utils "^1.0.0" + webpack-sources "^1.1.0" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + +minimatch@3.0.4, minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= + +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +minipass-collect@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" + integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== + dependencies: + minipass "^3.0.0" + +minipass-flush@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" + integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== + dependencies: + minipass "^3.0.0" + +minipass-pipeline@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.2.tgz#3dcb6bb4a546e32969c7ad710f2c79a86abba93a" + integrity sha512-3JS5A2DKhD2g0Gg8x3yamO0pj7YeKGwVlDS90pF++kxptwx/F+B//roxf9SqYil5tQo65bijy+dAuAFZmYOouA== + dependencies: + minipass "^3.0.0" + +minipass@^3.0.0, minipass@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.1.tgz#7607ce778472a185ad6d89082aa2070f79cedcd5" + integrity sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w== + dependencies: + yallist "^4.0.0" + +mississippi@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" + integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== + dependencies: + concat-stream "^1.5.0" + duplexify "^3.4.2" + end-of-stream "^1.1.0" + flush-write-stream "^1.0.0" + from2 "^2.1.0" + parallel-transform "^1.1.0" + pump "^3.0.0" + pumpify "^1.3.3" + stream-each "^1.1.0" + through2 "^2.0.0" + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mixin-object@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e" + integrity sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4= + dependencies: + for-in "^0.1.3" + is-extendable "^0.1.1" + +mkdirp@0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= + dependencies: + minimist "0.0.8" + +mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@~0.5.1: + version "0.5.3" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.3.tgz#5a514b7179259287952881e94410ec5465659f8c" + integrity sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg== + dependencies: + minimist "^1.2.5" + +mkdirp@^0.5.5: + version "0.5.5" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + +move-concurrently@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" + integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= + dependencies: + aproba "^1.1.1" + copy-concurrently "^1.0.0" + fs-write-stream-atomic "^1.0.8" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.3" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + +ms@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +multicast-dns-service-types@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" + integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= + +multicast-dns@^6.0.1: + version "6.2.3" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" + integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== + dependencies: + dns-packet "^1.3.1" + thunky "^1.0.2" + +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + +nan@^2.12.1: + version "2.14.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" + integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +negotiator@0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" + integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== + +neo-async@^2.5.0, neo-async@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" + integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== + +next-tick@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" + integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +no-case@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.3.tgz#c21b434c1ffe48b39087e86cfb4d2582e9df18f8" + integrity sha512-ehY/mVQCf9BL0gKfsJBvFJen+1V//U+0HQMPrWct40ixE4jnv0bfvxDbWtAHL9EcaPEOJHVVYKoQn1TlZUB8Tw== + dependencies: + lower-case "^2.0.1" + tslib "^1.10.0" + +node-forge@0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.9.0.tgz#d624050edbb44874adca12bb9a52ec63cb782579" + integrity sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ== + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + +node-libs-browser@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" + integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== + dependencies: + assert "^1.1.1" + browserify-zlib "^0.2.0" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^3.0.0" + https-browserify "^1.0.0" + os-browserify "^0.3.0" + path-browserify "0.0.1" + process "^0.11.10" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.3.3" + stream-browserify "^2.0.1" + stream-http "^2.7.2" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.11.0" + vm-browserify "^1.0.1" + +node-modules-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= + +node-notifier@^5.4.2: + version "5.4.3" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.3.tgz#cb72daf94c93904098e28b9c590fd866e464bd50" + integrity sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q== + dependencies: + growly "^1.3.0" + is-wsl "^1.1.0" + semver "^5.5.0" + shellwords "^0.1.1" + which "^1.3.0" + +node-releases@^1.1.52: + version "1.1.52" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.52.tgz#bcffee3e0a758e92e44ecfaecd0a47554b0bcba9" + integrity sha512-snSiT1UypkgGt2wxPqS6ImEUICbNCMb31yaxWrOLXjhlt2z2/IBpaOxzONExqSm4y5oLnAqjjRWu+wsDzK5yNQ== + dependencies: + semver "^6.3.0" + +normalize-package-data@^2.3.2: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= + +normalize-url@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" + integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= + dependencies: + object-assign "^4.0.1" + prepend-http "^1.0.0" + query-string "^4.1.0" + sort-keys "^1.0.0" + +normalize-url@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" + integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +nth-check@^1.0.2, nth-check@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" + integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== + dependencies: + boolbase "~1.0.0" + +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= + +nwsapi@^2.0.7, nwsapi@^2.1.3: + version "2.2.0" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-hash@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.0.3.tgz#d12db044e03cd2ca3d77c0570d87225b02e1e6ea" + integrity sha512-JPKn0GMu+Fa3zt3Bmr66JhokJU5BaNBIh4ZeTlaCBzrBsOeXzwcKKAK1tbLiPKgvwmPXsDvvLHoWh5Bm7ofIYg== + +object-inspect@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" + integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== + +object-is@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.0.2.tgz#6b80eb84fe451498f65007982f035a5b445edec4" + integrity sha512-Epah+btZd5wrrfjkJZq1AOB9O6OxUQto45hzFd7lXGrpHPGE0W1k+426yrZV+k6NJOzLNNW/nVsmZdIWsAqoOQ== + +object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object-path@0.11.4: + version "0.11.4" + resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.11.4.tgz#370ae752fbf37de3ea70a861c23bba8915691949" + integrity sha1-NwrnUvvzfePqcKhhwju6iRVpGUk= + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.assign@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" + integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== + dependencies: + define-properties "^1.1.2" + function-bind "^1.1.1" + has-symbols "^1.0.0" + object-keys "^1.0.11" + +object.entries@^1.1.0, object.entries@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.1.tgz#ee1cf04153de02bb093fec33683900f57ce5399b" + integrity sha512-ilqR7BgdyZetJutmDPfXCDffGa0/Yzl2ivVNpbx/g4UeWrCdRnFDUBrKJGLhGieRHDATnyZXWBeCb29k9CJysQ== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + function-bind "^1.1.1" + has "^1.0.3" + +object.fromentries@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.2.tgz#4a09c9b9bb3843dd0f89acdb517a794d4f355ac9" + integrity sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + function-bind "^1.1.1" + has "^1.0.3" + +object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" + integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +object.values@^1.1.0, object.values@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e" + integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + function-bind "^1.1.1" + has "^1.0.3" + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + +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= + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" + integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== + dependencies: + mimic-fn "^2.1.0" + +open@^7.0.2: + version "7.0.3" + resolved "https://registry.yarnpkg.com/open/-/open-7.0.3.tgz#db551a1af9c7ab4c7af664139930826138531c48" + integrity sha512-sP2ru2v0P290WFfv49Ap8MF6PkzGNnGlAwHweB4WR4mr5d2d0woiCluUeJ218w7/+PmoBy9JmYgD5A4mLcWOFA== + dependencies: + is-docker "^2.0.0" + is-wsl "^2.1.1" + +opn@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" + integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA== + dependencies: + is-wsl "^1.1.0" + +optimize-css-assets-webpack-plugin@5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz#e2f1d4d94ad8c0af8967ebd7cf138dcb1ef14572" + integrity sha512-q9fbvCRS6EYtUKKSwI87qm2IxlyJK5b4dygW1rKUBT6mMDhdG5e5bZT63v6tnJR9F9FB/H5a0HTmtw+laUBxKA== + dependencies: + cssnano "^4.1.10" + last-call-webpack-plugin "^3.0.0" + +optionator@^0.8.1, optionator@^0.8.3: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +original@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" + integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== + dependencies: + url-parse "^1.4.3" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= + +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + +p-each-series@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" + integrity sha1-kw89Et0fUOdDRFeiLNbwSsatf3E= + dependencies: + p-reduce "^1.0.0" + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + +p-limit@^2.0.0, p-limit@^2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.2.tgz#61279b67721f5287aa1c13a9a7fbbc48c9291b1e" + integrity sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ== + dependencies: + p-try "^2.0.0" + +p-limit@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + dependencies: + p-limit "^1.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-map@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" + integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== + +p-map@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" + integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== + dependencies: + aggregate-error "^3.0.0" + +p-reduce@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" + integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= + +p-retry@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" + integrity sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w== + dependencies: + retry "^0.12.0" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +pako@~1.0.5: + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + +parallel-transform@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" + integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== + dependencies: + cyclist "^1.0.1" + inherits "^2.0.3" + readable-stream "^2.1.5" + +param-case@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.3.tgz#4be41f8399eff621c56eebb829a5e451d9801238" + integrity sha512-VWBVyimc1+QrzappRs7waeN2YmoZFCGXWASRYX1/rGHtXqEcrGEIDm+jqIwFa2fRXNgQEwrxaYuIrX0WcAguTA== + dependencies: + dot-case "^3.0.3" + tslib "^1.10.0" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-asn1@^5.0.0: + version "5.1.5" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e" + integrity sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ== + dependencies: + asn1.js "^4.0.0" + browserify-aes "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + safe-buffer "^5.1.1" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= + dependencies: + error-ex "^1.2.0" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parse-json@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" + integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + lines-and-columns "^1.1.6" + +parse5@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" + integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== + +parse5@5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" + integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ== + +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== + +pascal-case@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.1.tgz#5ac1975133ed619281e88920973d2cd1f279de5f" + integrity sha512-XIeHKqIrsquVTQL2crjq3NfJUxmdLasn3TYOU0VBM+UX2a6ztAWBlJQBePLGY7VHW8+2dRadeIPK5+KImwTxQA== + dependencies: + no-case "^3.0.3" + tslib "^1.10.0" + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" + integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= + dependencies: + pinkie-promise "^2.0.0" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-is-inside@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + +path-type@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= + dependencies: + pify "^2.0.0" + +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + dependencies: + pify "^3.0.0" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +pbkdf2@^3.0.3: + version "3.0.17" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" + integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +picomatch@^2.0.4, picomatch@^2.0.7: + version "2.2.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.1.tgz#21bac888b6ed8601f831ce7816e335bc779f0a4a" + integrity sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA== + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + +pirates@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== + dependencies: + node-modules-regexp "^1.0.0" + +pkg-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" + integrity sha1-ektQio1bstYp1EcFb/TpyTFM89Q= + dependencies: + find-up "^1.0.0" + +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= + dependencies: + find-up "^2.1.0" + +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== + dependencies: + find-up "^3.0.0" + +pkg-dir@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +pkg-up@3.1.0, pkg-up@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" + integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== + dependencies: + find-up "^3.0.0" + +pn@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" + integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== + +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" + integrity sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg== + dependencies: + ts-pnp "^1.1.6" + +portfinder@^1.0.26: + version "1.0.28" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" + integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== + dependencies: + async "^2.6.2" + debug "^3.1.1" + mkdirp "^0.5.5" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +postcss-attribute-case-insensitive@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz#d93e46b504589e94ac7277b0463226c68041a880" + integrity sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA== + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^6.0.2" + +postcss-browser-comments@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-browser-comments/-/postcss-browser-comments-3.0.0.tgz#1248d2d935fb72053c8e1f61a84a57292d9f65e9" + integrity sha512-qfVjLfq7HFd2e0HW4s1dvU8X080OZdG46fFbIBFjW7US7YPDcWfRvdElvwMJr2LI6hMmD+7LnH2HcmXTs+uOig== + dependencies: + postcss "^7" + +postcss-calc@^7.0.1: + version "7.0.2" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.2.tgz#504efcd008ca0273120568b0792b16cdcde8aac1" + integrity sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ== + dependencies: + postcss "^7.0.27" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.2" + +postcss-color-functional-notation@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz#5efd37a88fbabeb00a2966d1e53d98ced93f74e0" + integrity sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-color-gray@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz#532a31eb909f8da898ceffe296fdc1f864be8547" + integrity sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw== + dependencies: + "@csstools/convert-colors" "^1.4.0" + postcss "^7.0.5" + postcss-values-parser "^2.0.0" + +postcss-color-hex-alpha@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz#a8d9ca4c39d497c9661e374b9c51899ef0f87388" + integrity sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw== + dependencies: + postcss "^7.0.14" + postcss-values-parser "^2.0.1" + +postcss-color-mod-function@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz#816ba145ac11cc3cb6baa905a75a49f903e4d31d" + integrity sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ== + dependencies: + "@csstools/convert-colors" "^1.4.0" + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-color-rebeccapurple@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz#c7a89be872bb74e45b1e3022bfe5748823e6de77" + integrity sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-colormin@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" + integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw== + dependencies: + browserslist "^4.0.0" + color "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-convert-values@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" + integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-custom-media@^7.0.8: + version "7.0.8" + resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz#fffd13ffeffad73621be5f387076a28b00294e0c" + integrity sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg== + dependencies: + postcss "^7.0.14" + +postcss-custom-properties@^8.0.11: + version "8.0.11" + resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz#2d61772d6e92f22f5e0d52602df8fae46fa30d97" + integrity sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA== + dependencies: + postcss "^7.0.17" + postcss-values-parser "^2.0.1" + +postcss-custom-selectors@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz#64858c6eb2ecff2fb41d0b28c9dd7b3db4de7fba" + integrity sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w== + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^5.0.0-rc.3" + +postcss-dir-pseudo-class@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz#6e3a4177d0edb3abcc85fdb6fbb1c26dabaeaba2" + integrity sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw== + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^5.0.0-rc.3" + +postcss-discard-comments@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" + integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg== + dependencies: + postcss "^7.0.0" + +postcss-discard-duplicates@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" + integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ== + dependencies: + postcss "^7.0.0" + +postcss-discard-empty@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" + integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w== + dependencies: + postcss "^7.0.0" + +postcss-discard-overridden@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" + integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg== + dependencies: + postcss "^7.0.0" + +postcss-double-position-gradients@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz#fc927d52fddc896cb3a2812ebc5df147e110522e" + integrity sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA== + dependencies: + postcss "^7.0.5" + postcss-values-parser "^2.0.0" + +postcss-env-function@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-2.0.2.tgz#0f3e3d3c57f094a92c2baf4b6241f0b0da5365d7" + integrity sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-flexbugs-fixes@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.1.0.tgz#e094a9df1783e2200b7b19f875dcad3b3aff8b20" + integrity sha512-jr1LHxQvStNNAHlgco6PzY308zvLklh7SJVYuWUwyUQncofaAlD2l+P/gxKHOdqWKe7xJSkVLFF/2Tp+JqMSZA== + dependencies: + postcss "^7.0.0" + +postcss-focus-visible@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz#477d107113ade6024b14128317ade2bd1e17046e" + integrity sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g== + dependencies: + postcss "^7.0.2" + +postcss-focus-within@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz#763b8788596cee9b874c999201cdde80659ef680" + integrity sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w== + dependencies: + postcss "^7.0.2" + +postcss-font-variant@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-4.0.0.tgz#71dd3c6c10a0d846c5eda07803439617bbbabacc" + integrity sha512-M8BFYKOvCrI2aITzDad7kWuXXTm0YhGdP9Q8HanmN4EF1Hmcgs1KK5rSHylt/lUJe8yLxiSwWAHdScoEiIxztg== + dependencies: + postcss "^7.0.2" + +postcss-gap-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz#431c192ab3ed96a3c3d09f2ff615960f902c1715" + integrity sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg== + dependencies: + postcss "^7.0.2" + +postcss-image-set-function@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz#28920a2f29945bed4c3198d7df6496d410d3f288" + integrity sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-initial@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.2.tgz#f018563694b3c16ae8eaabe3c585ac6319637b2d" + integrity sha512-ugA2wKonC0xeNHgirR4D3VWHs2JcU08WAi1KFLVcnb7IN89phID6Qtg2RIctWbnvp1TM2BOmDtX8GGLCKdR8YA== + dependencies: + lodash.template "^4.5.0" + postcss "^7.0.2" + +postcss-lab-function@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz#bb51a6856cd12289ab4ae20db1e3821ef13d7d2e" + integrity sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg== + dependencies: + "@csstools/convert-colors" "^1.4.0" + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-load-config@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.0.tgz#c84d692b7bb7b41ddced94ee62e8ab31b417b003" + integrity sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q== + dependencies: + cosmiconfig "^5.0.0" + import-cwd "^2.0.0" + +postcss-loader@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" + integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA== + dependencies: + loader-utils "^1.1.0" + postcss "^7.0.0" + postcss-load-config "^2.0.0" + schema-utils "^1.0.0" + +postcss-logical@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-3.0.0.tgz#2495d0f8b82e9f262725f75f9401b34e7b45d5b5" + integrity sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA== + dependencies: + postcss "^7.0.2" + +postcss-media-minmax@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz#b75bb6cbc217c8ac49433e12f22048814a4f5ed5" + integrity sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw== + dependencies: + postcss "^7.0.2" + +postcss-merge-longhand@^4.0.11: + version "4.0.11" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" + integrity sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw== + dependencies: + css-color-names "0.0.4" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + stylehacks "^4.0.0" + +postcss-merge-rules@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" + integrity sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ== + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + cssnano-util-same-parent "^4.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + vendors "^1.0.0" + +postcss-minify-font-values@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" + integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-gradients@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" + integrity sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q== + dependencies: + cssnano-util-get-arguments "^4.0.0" + is-color-stop "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-params@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" + integrity sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg== + dependencies: + alphanum-sort "^1.0.0" + browserslist "^4.0.0" + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + uniqs "^2.0.0" + +postcss-minify-selectors@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" + integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g== + dependencies: + alphanum-sort "^1.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +postcss-modules-extract-imports@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" + integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== + dependencies: + postcss "^7.0.5" + +postcss-modules-local-by-default@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz#e8a6561be914aaf3c052876377524ca90dbb7915" + integrity sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ== + dependencies: + icss-utils "^4.1.1" + postcss "^7.0.16" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.0" + +postcss-modules-scope@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" + integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^6.0.0" + +postcss-modules-values@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" + integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== + dependencies: + icss-utils "^4.0.0" + postcss "^7.0.6" + +postcss-nesting@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-7.0.1.tgz#b50ad7b7f0173e5b5e3880c3501344703e04c052" + integrity sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg== + dependencies: + postcss "^7.0.2" + +postcss-normalize-charset@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" + integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g== + dependencies: + postcss "^7.0.0" + +postcss-normalize-display-values@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" + integrity sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ== + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-positions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" + integrity sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA== + dependencies: + cssnano-util-get-arguments "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-repeat-style@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" + integrity sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q== + dependencies: + cssnano-util-get-arguments "^4.0.0" + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-string@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" + integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA== + dependencies: + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-timing-functions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" + integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A== + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-unicode@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" + integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg== + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-url@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" + integrity sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA== + dependencies: + is-absolute-url "^2.0.0" + normalize-url "^3.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-whitespace@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" + integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize@8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize/-/postcss-normalize-8.0.1.tgz#90e80a7763d7fdf2da6f2f0f82be832ce4f66776" + integrity sha512-rt9JMS/m9FHIRroDDBGSMsyW1c0fkvOJPy62ggxSHUldJO7B195TqFMqIf+lY5ezpDcYOV4j86aUp3/XbxzCCQ== + dependencies: + "@csstools/normalize.css" "^10.1.0" + browserslist "^4.6.2" + postcss "^7.0.17" + postcss-browser-comments "^3.0.0" + sanitize.css "^10.0.0" + +postcss-ordered-values@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" + integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw== + dependencies: + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-overflow-shorthand@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz#31ecf350e9c6f6ddc250a78f0c3e111f32dd4c30" + integrity sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g== + dependencies: + postcss "^7.0.2" + +postcss-page-break@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-2.0.0.tgz#add52d0e0a528cabe6afee8b46e2abb277df46bf" + integrity sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ== + dependencies: + postcss "^7.0.2" + +postcss-place@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-4.0.1.tgz#e9f39d33d2dc584e46ee1db45adb77ca9d1dcc62" + integrity sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-preset-env@6.7.0: + version "6.7.0" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz#c34ddacf8f902383b35ad1e030f178f4cdf118a5" + integrity sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg== + dependencies: + autoprefixer "^9.6.1" + browserslist "^4.6.4" + caniuse-lite "^1.0.30000981" + css-blank-pseudo "^0.1.4" + css-has-pseudo "^0.10.0" + css-prefers-color-scheme "^3.1.1" + cssdb "^4.4.0" + postcss "^7.0.17" + postcss-attribute-case-insensitive "^4.0.1" + postcss-color-functional-notation "^2.0.1" + postcss-color-gray "^5.0.0" + postcss-color-hex-alpha "^5.0.3" + postcss-color-mod-function "^3.0.3" + postcss-color-rebeccapurple "^4.0.1" + postcss-custom-media "^7.0.8" + postcss-custom-properties "^8.0.11" + postcss-custom-selectors "^5.1.2" + postcss-dir-pseudo-class "^5.0.0" + postcss-double-position-gradients "^1.0.0" + postcss-env-function "^2.0.2" + postcss-focus-visible "^4.0.0" + postcss-focus-within "^3.0.0" + postcss-font-variant "^4.0.0" + postcss-gap-properties "^2.0.0" + postcss-image-set-function "^3.0.1" + postcss-initial "^3.0.0" + postcss-lab-function "^2.0.1" + postcss-logical "^3.0.0" + postcss-media-minmax "^4.0.0" + postcss-nesting "^7.0.0" + postcss-overflow-shorthand "^2.0.0" + postcss-page-break "^2.0.0" + postcss-place "^4.0.1" + postcss-pseudo-class-any-link "^6.0.0" + postcss-replace-overflow-wrap "^3.0.0" + postcss-selector-matches "^4.0.0" + postcss-selector-not "^4.0.0" + +postcss-pseudo-class-any-link@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz#2ed3eed393b3702879dec4a87032b210daeb04d1" + integrity sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew== + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^5.0.0-rc.3" + +postcss-reduce-initial@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" + integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA== + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + +postcss-reduce-transforms@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" + integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg== + dependencies: + cssnano-util-get-match "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-replace-overflow-wrap@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz#61b360ffdaedca84c7c918d2b0f0d0ea559ab01c" + integrity sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw== + dependencies: + postcss "^7.0.2" + +postcss-safe-parser@4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz#8756d9e4c36fdce2c72b091bbc8ca176ab1fcdea" + integrity sha512-xZsFA3uX8MO3yAda03QrG3/Eg1LN3EPfjjf07vke/46HERLZyHrTsQ9E1r1w1W//fWEhtYNndo2hQplN2cVpCQ== + dependencies: + postcss "^7.0.0" + +postcss-selector-matches@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz#71c8248f917ba2cc93037c9637ee09c64436fcff" + integrity sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww== + dependencies: + balanced-match "^1.0.0" + postcss "^7.0.2" + +postcss-selector-not@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-4.0.0.tgz#c68ff7ba96527499e832724a2674d65603b645c0" + integrity sha512-W+bkBZRhqJaYN8XAnbbZPLWMvZD1wKTu0UxtFKdhtGjWYmxhkUneoeOhRJKdAE5V7ZTlnbHfCR+6bNwK9e1dTQ== + dependencies: + balanced-match "^1.0.0" + postcss "^7.0.2" + +postcss-selector-parser@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" + integrity sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA== + dependencies: + dot-prop "^5.2.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" + integrity sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ== + dependencies: + cssesc "^2.0.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c" + integrity sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg== + dependencies: + cssesc "^3.0.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-svgo@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258" + integrity sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw== + dependencies: + is-svg "^3.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + svgo "^1.0.0" + +postcss-unique-selectors@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" + integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg== + dependencies: + alphanum-sort "^1.0.0" + postcss "^7.0.0" + uniqs "^2.0.0" + +postcss-value-parser@^3.0.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" + integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== + +postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.3.tgz#651ff4593aa9eda8d5d0d66593a2417aeaeb325d" + integrity sha512-N7h4pG+Nnu5BEIzyeaaIYWs0LI5XC40OrRh5L60z0QjFsqGWcHcbkBvpe1WYpcIS9yQ8sOi/vIPt1ejQCrMVrg== + +postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f" + integrity sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg== + dependencies: + flatten "^1.0.2" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss@7.0.21: + version "7.0.21" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.21.tgz#06bb07824c19c2021c5d056d5b10c35b989f7e17" + integrity sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ== + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + +postcss@^7, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.23, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.27" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.27.tgz#cc67cdc6b0daa375105b7c424a85567345fc54d9" + integrity sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ== + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +prepend-http@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= + +pretty-bytes@^5.1.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.3.0.tgz#f2849e27db79fb4d6cfe24764fc4134f165989f2" + integrity sha512-hjGrh+P926p4R4WbaB6OckyRtO0F0/lQBiT+0gnxjV+5kjPBrfVBFCsCLbMqVQeydvIoouYTCmmEURiH3R1Bdg== + +pretty-error@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" + integrity sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM= + dependencies: + renderkid "^2.0.1" + utila "~0.4" + +pretty-format@^24.0.0, pretty-format@^24.3.0, pretty-format@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9" + integrity sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA== + dependencies: + "@jest/types" "^24.9.0" + ansi-regex "^4.0.0" + ansi-styles "^3.2.0" + react-is "^16.8.4" + +pretty-format@^25.1.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a" + integrity sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ== + dependencies: + "@jest/types" "^25.5.0" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^16.12.0" + +pretty-format@^26.4.2: + version "26.4.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.4.2.tgz#d081d032b398e801e2012af2df1214ef75a81237" + integrity sha512-zK6Gd8zDsEiVydOCGLkoBoZuqv8VTiHyAbKznXe/gaph/DAeZOmit9yMfgIz5adIgAMMs5XfoYSwAX3jcCO1tA== + dependencies: + "@jest/types" "^26.3.0" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^16.12.0" + +private@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" + integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= + +promise@^8.0.3: + version "8.1.0" + resolved "https://registry.yarnpkg.com/promise/-/promise-8.1.0.tgz#697c25c3dfe7435dd79fcd58c38a135888eaf05e" + integrity sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q== + dependencies: + asap "~2.0.6" + +prompts@^2.0.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.2.tgz#480572d89ecf39566d2bd3fe2c9fccb7c4c0b068" + integrity sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.4" + +prop-types@^15.6.2, prop-types@^15.7.2: + version "15.7.2" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" + integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.8.1" + +proxy-addr@~2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" + integrity sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw== + dependencies: + forwarded "~0.1.2" + ipaddr.js "1.9.1" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= + +psl@^1.1.28: + version "1.7.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.7.0.tgz#f1c4c47a8ef97167dea5d6bbf4816d736e884a3c" + integrity sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ== + +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + safe-buffer "^5.1.2" + +pump@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pumpify@^1.3.3: + version "1.5.1" + resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + +punycode@^1.2.4: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= + +punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +q@^1.1.2: + version "1.5.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= + +qs@6.7.0: + version "6.7.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" + integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + +query-string@^4.1.0: + version "4.3.4" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" + integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= + dependencies: + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + +querystring-es3@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + +querystringify@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e" + integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA== + +raf@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" + integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== + dependencies: + performance-now "^2.1.0" + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" + integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== + dependencies: + bytes "3.1.0" + http-errors "1.7.2" + iconv-lite "0.4.24" + unpipe "1.0.0" + +react-app-polyfill@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-1.0.6.tgz#890f8d7f2842ce6073f030b117de9130a5f385f0" + integrity sha512-OfBnObtnGgLGfweORmdZbyEz+3dgVePQBb3zipiaDsMHV1NpWm0rDFYIVXFV/AK+x4VIIfWHhrdMIeoTLyRr2g== + dependencies: + core-js "^3.5.0" + object-assign "^4.1.1" + promise "^8.0.3" + raf "^3.4.1" + regenerator-runtime "^0.13.3" + whatwg-fetch "^3.0.0" + +react-dev-utils@^10.2.1: + version "10.2.1" + resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-10.2.1.tgz#f6de325ae25fa4d546d09df4bb1befdc6dd19c19" + integrity sha512-XxTbgJnYZmxuPtY3y/UV0D8/65NKkmaia4rXzViknVnZeVlklSh8u6TnaEYPfAi/Gh1TP4mEOXHI6jQOPbeakQ== + dependencies: + "@babel/code-frame" "7.8.3" + address "1.1.2" + browserslist "4.10.0" + chalk "2.4.2" + cross-spawn "7.0.1" + detect-port-alt "1.1.6" + escape-string-regexp "2.0.0" + filesize "6.0.1" + find-up "4.1.0" + fork-ts-checker-webpack-plugin "3.1.1" + global-modules "2.0.0" + globby "8.0.2" + gzip-size "5.1.1" + immer "1.10.0" + inquirer "7.0.4" + is-root "2.1.0" + loader-utils "1.2.3" + open "^7.0.2" + pkg-up "3.1.0" + react-error-overlay "^6.0.7" + recursive-readdir "2.2.2" + shell-quote "1.7.2" + strip-ansi "6.0.0" + text-table "0.2.0" + +react-dom@^16.13.1: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.13.1.tgz#c1bd37331a0486c078ee54c4740720993b2e0e7f" + integrity sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.2" + scheduler "^0.19.1" + +react-error-overlay@^6.0.7: + version "6.0.7" + resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.7.tgz#1dcfb459ab671d53f660a991513cb2f0a0553108" + integrity sha512-TAv1KJFh3RhqxNvhzxj6LeT5NWklP6rDr2a0jaTfsZ5wSZWHOGeqQyejUp3xxLfPt2UpyJEcVQB/zyPcmonNFA== + +react-is@^16.12.0, react-is@^16.8.1, react-is@^16.8.4: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-scripts@3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.4.3.tgz#21de5eb93de41ee92cd0b85b0e1298d0bb2e6c51" + integrity sha512-oSnoWmii/iKdeQiwaO6map1lUaZLmG0xIUyb/HwCVFLT7gNbj8JZ9RmpvMCZ4fB98ZUMRfNmp/ft8uy/xD1RLA== + dependencies: + "@babel/core" "7.9.0" + "@svgr/webpack" "4.3.3" + "@typescript-eslint/eslint-plugin" "^2.10.0" + "@typescript-eslint/parser" "^2.10.0" + babel-eslint "10.1.0" + babel-jest "^24.9.0" + babel-loader "8.1.0" + babel-plugin-named-asset-import "^0.3.6" + babel-preset-react-app "^9.1.2" + camelcase "^5.3.1" + case-sensitive-paths-webpack-plugin "2.3.0" + css-loader "3.4.2" + dotenv "8.2.0" + dotenv-expand "5.1.0" + eslint "^6.6.0" + eslint-config-react-app "^5.2.1" + eslint-loader "3.0.3" + eslint-plugin-flowtype "4.6.0" + eslint-plugin-import "2.20.1" + eslint-plugin-jsx-a11y "6.2.3" + eslint-plugin-react "7.19.0" + eslint-plugin-react-hooks "^1.6.1" + file-loader "4.3.0" + fs-extra "^8.1.0" + html-webpack-plugin "4.0.0-beta.11" + identity-obj-proxy "3.0.0" + jest "24.9.0" + jest-environment-jsdom-fourteen "1.0.1" + jest-resolve "24.9.0" + jest-watch-typeahead "0.4.2" + mini-css-extract-plugin "0.9.0" + optimize-css-assets-webpack-plugin "5.0.3" + pnp-webpack-plugin "1.6.4" + postcss-flexbugs-fixes "4.1.0" + postcss-loader "3.0.0" + postcss-normalize "8.0.1" + postcss-preset-env "6.7.0" + postcss-safe-parser "4.0.1" + react-app-polyfill "^1.0.6" + react-dev-utils "^10.2.1" + resolve "1.15.0" + resolve-url-loader "3.1.1" + sass-loader "8.0.2" + semver "6.3.0" + style-loader "0.23.1" + terser-webpack-plugin "2.3.8" + ts-pnp "1.1.6" + url-loader "2.3.0" + webpack "4.42.0" + webpack-dev-server "3.11.0" + webpack-manifest-plugin "2.2.0" + workbox-webpack-plugin "4.3.1" + optionalDependencies: + fsevents "2.1.2" + +react@^16.13.1: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react/-/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e" + integrity sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.2" + +read-pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= + dependencies: + find-up "^2.0.0" + read-pkg "^2.0.0" + +read-pkg-up@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" + integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== + dependencies: + find-up "^3.0.0" + read-pkg "^3.0.0" + +read-pkg@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= + dependencies: + load-json-file "^2.0.0" + normalize-package-data "^2.3.2" + path-type "^2.0.0" + +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.0.6, readable-stream@^3.1.1: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +readdirp@~3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.3.0.tgz#984458d13a1e42e2e9f5841b129e162f369aff17" + integrity sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ== + dependencies: + picomatch "^2.0.7" + +realpath-native@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" + integrity sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA== + dependencies: + util.promisify "^1.0.0" + +recursive-readdir@2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f" + integrity sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg== + dependencies: + minimatch "3.0.4" + +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== + dependencies: + indent-string "^4.0.0" + strip-indent "^3.0.0" + +regenerate-unicode-properties@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" + integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== + dependencies: + regenerate "^1.4.0" + +regenerate@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" + integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + +regenerator-runtime@^0.13.3, regenerator-runtime@^0.13.4: + version "0.13.5" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697" + integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA== + +regenerator-transform@^0.14.2: + version "0.14.4" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.4.tgz#5266857896518d1616a78a0479337a30ea974cc7" + integrity sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw== + dependencies: + "@babel/runtime" "^7.8.4" + private "^0.1.8" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regex-parser@2.2.10: + version "2.2.10" + resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.10.tgz#9e66a8f73d89a107616e63b39d4deddfee912b37" + integrity sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA== + +regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" + integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + +regexpp@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" + integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== + +regexpp@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.0.0.tgz#dd63982ee3300e67b41c1956f850aa680d9d330e" + integrity sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g== + +regexpu-core@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938" + integrity sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ== + dependencies: + regenerate "^1.4.0" + regenerate-unicode-properties "^8.2.0" + regjsgen "^0.5.1" + regjsparser "^0.6.4" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.2.0" + +regjsgen@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.1.tgz#48f0bf1a5ea205196929c0d9798b42d1ed98443c" + integrity sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg== + +regjsparser@^0.6.4: + version "0.6.4" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272" + integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw== + dependencies: + jsesc "~0.5.0" + +relateurl@^0.2.7: + version "0.2.7" + resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +renderkid@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.3.tgz#380179c2ff5ae1365c522bf2fcfcff01c5b74149" + integrity sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA== + dependencies: + css-select "^1.1.0" + dom-converter "^0.2" + htmlparser2 "^3.3.0" + strip-ansi "^3.0.0" + utila "^0.4.0" + +repeat-element@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +request-promise-core@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.3.tgz#e9a3c081b51380dfea677336061fea879a829ee9" + integrity sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ== + dependencies: + lodash "^4.17.15" + +request-promise-native@^1.0.5: + version "1.0.8" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.8.tgz#a455b960b826e44e2bf8999af64dff2bfe58cb36" + integrity sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ== + dependencies: + request-promise-core "1.1.3" + stealthy-require "^1.1.1" + tough-cookie "^2.3.3" + +request@^2.87.0, request@^2.88.0: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= + +resolve-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" + integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= + dependencies: + resolve-from "^3.0.0" + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + integrity sha1-six699nWiBvItuZTM17rywoYh0g= + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-url-loader@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-3.1.1.tgz#28931895fa1eab9be0647d3b2958c100ae3c0bf0" + integrity sha512-K1N5xUjj7v0l2j/3Sgs5b8CjrrgtC70SmdCuZiJ8tSyb5J+uk3FoeZ4b7yTnH6j7ngI+Bc5bldHJIa8hYdu2gQ== + dependencies: + adjust-sourcemap-loader "2.0.0" + camelcase "5.3.1" + compose-function "3.0.3" + convert-source-map "1.7.0" + es6-iterator "2.0.3" + loader-utils "1.2.3" + postcss "7.0.21" + rework "1.0.1" + rework-visit "1.0.0" + source-map "0.6.1" + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= + +resolve@1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.0.tgz#1b7ca96073ebb52e741ffd799f6b39ea462c67f5" + integrity sha512-+hTmAldEGE80U2wJJDC1lebb5jWqvTYAfm3YZ1ckk1gBr0MnCqUKlwK1e+anaFljIl+F5tR5IoZcm4ZDA1zMQw== + dependencies: + path-parse "^1.0.6" + +resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.15.1, resolve@^1.3.2, resolve@^1.8.1: + version "1.15.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.1.tgz#27bdcdeffeaf2d6244b95bb0f9f4b4653451f3e8" + integrity sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w== + dependencies: + path-parse "^1.0.6" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= + +rework-visit@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/rework-visit/-/rework-visit-1.0.0.tgz#9945b2803f219e2f7aca00adb8bc9f640f842c9a" + integrity sha1-mUWygD8hni96ygCtuLyfZA+ELJo= + +rework@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/rework/-/rework-1.0.1.tgz#30806a841342b54510aa4110850cd48534144aa7" + integrity sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc= + dependencies: + convert-source-map "^0.3.3" + css "^2.0.0" + +rgb-regex@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" + integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= + +rgba-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" + integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= + +rimraf@2.6.3: + version "2.6.3" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== + dependencies: + glob "^7.1.3" + +rimraf@^2.5.4, rimraf@^2.6.3, rimraf@^2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rsvp@^4.8.4: + version "4.8.5" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== + +run-async@^2.2.0, run-async@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.0.tgz#e59054a5b86876cfae07f431d18cbaddc594f1e8" + integrity sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg== + dependencies: + is-promise "^2.1.0" + +run-queue@^1.0.0, run-queue@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" + integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= + dependencies: + aproba "^1.1.1" + +rxjs@^6.5.3: + version "6.5.4" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.4.tgz#e0777fe0d184cec7872df147f303572d414e211c" + integrity sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q== + dependencies: + tslib "^1.9.0" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" + integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + 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: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sane@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== + dependencies: + "@cnakazawa/watch" "^1.0.3" + anymatch "^2.0.0" + capture-exit "^2.0.0" + exec-sh "^0.3.2" + execa "^1.0.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + +sanitize.css@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/sanitize.css/-/sanitize.css-10.0.0.tgz#b5cb2547e96d8629a60947544665243b1dc3657a" + integrity sha512-vTxrZz4dX5W86M6oVWVdOVe72ZiPs41Oi7Z6Km4W5Turyz28mrXSJhhEBZoRtzJWIv3833WKVwLSDWWkEfupMg== + +sass-loader@8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-8.0.2.tgz#debecd8c3ce243c76454f2e8290482150380090d" + integrity sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ== + dependencies: + clone-deep "^4.0.1" + loader-utils "^1.2.3" + neo-async "^2.6.1" + schema-utils "^2.6.1" + semver "^6.3.0" + +sax@^1.2.4, sax@~1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +saxes@^3.1.9: + version "3.1.11" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b" + integrity sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g== + dependencies: + xmlchars "^2.1.1" + +scheduler@^0.19.1: + version "0.19.1" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196" + integrity sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + +schema-utils@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" + integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== + dependencies: + ajv "^6.1.0" + ajv-errors "^1.0.0" + ajv-keywords "^3.1.0" + +schema-utils@^2.5.0, schema-utils@^2.6.0, schema-utils@^2.6.1, schema-utils@^2.6.5: + version "2.6.5" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.6.5.tgz#c758f0a7e624263073d396e29cd40aa101152d8a" + integrity sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ== + dependencies: + ajv "^6.12.0" + ajv-keywords "^3.4.1" + +schema-utils@^2.6.6: + version "2.7.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" + integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== + dependencies: + "@types/json-schema" "^7.0.5" + ajv "^6.12.4" + ajv-keywords "^3.5.2" + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= + +selfsigned@^1.10.7: + version "1.10.7" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.7.tgz#da5819fd049d5574f28e88a9bcc6dbc6e6f3906b" + integrity sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA== + dependencies: + node-forge "0.9.0" + +"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@6.3.0, semver@^6.0.0, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== + +send@0.17.1: + version "0.17.1" + resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" + integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.7.2" + mime "1.6.0" + ms "2.1.1" + on-finished "~2.3.0" + range-parser "~1.2.1" + statuses "~1.5.0" + +serialize-javascript@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61" + integrity sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ== + +serialize-javascript@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== + dependencies: + randombytes "^2.1.0" + +serve-index@^1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + +serve-static@1.14.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" + integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.17.1" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setimmediate@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + +setprototypeof@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" + integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== + +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" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shallow-clone@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-0.1.2.tgz#5909e874ba77106d73ac414cfec1ffca87d97060" + integrity sha1-WQnodLp3EG1zrEFM/sH/yofZcGA= + dependencies: + is-extendable "^0.1.1" + kind-of "^2.0.1" + lazy-cache "^0.2.3" + mixin-object "^2.0.1" + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" + integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== + +shellwords@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== + +side-channel@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.2.tgz#df5d1abadb4e4bf4af1cd8852bf132d2f7876947" + integrity sha512-7rL9YlPHg7Ancea1S96Pa8/QWb4BtXL/TZvS6B8XFetGBeuhAsfmUspK6DokBeZ64+Kj9TCNRD/30pVz1BvQNA== + dependencies: + es-abstract "^1.17.0-next.1" + object-inspect "^1.7.0" + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= + dependencies: + is-arrayish "^0.3.1" + +sisteransi@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= + +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slice-ansi@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" + integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== + dependencies: + ansi-styles "^3.2.0" + astral-regex "^1.0.0" + is-fullwidth-code-point "^2.0.0" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +sockjs-client@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.4.0.tgz#c9f2568e19c8fd8173b4997ea3420e0bb306c7d5" + integrity sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g== + dependencies: + debug "^3.2.5" + eventsource "^1.0.7" + faye-websocket "~0.11.1" + inherits "^2.0.3" + json3 "^3.3.2" + url-parse "^1.4.3" + +sockjs@0.3.20: + version "0.3.20" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.20.tgz#b26a283ec562ef8b2687b44033a4eeceac75d855" + integrity sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA== + dependencies: + faye-websocket "^0.10.0" + uuid "^3.4.0" + websocket-driver "0.6.5" + +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= + dependencies: + is-plain-obj "^1.0.0" + +source-list-map@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" + integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== + +source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.5.6, source-map-support@~0.5.12: + version "0.5.16" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042" + integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + +source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.5.0, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +spdx-correct@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" + integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" + integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== + +spdx-expression-parse@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" + integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.5" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" + integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== + +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" + integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== + dependencies: + debug "^4.1.0" + detect-node "^2.0.4" + hpack.js "^2.1.6" + obuf "^1.1.2" + readable-stream "^3.0.6" + wbuf "^1.7.3" + +spdy@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" + integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== + dependencies: + debug "^4.1.0" + handle-thing "^2.0.0" + http-deceiver "^1.2.7" + select-hose "^2.0.0" + spdy-transport "^3.0.0" + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +ssri@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" + integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== + dependencies: + figgy-pudding "^3.5.1" + +ssri@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-7.1.0.tgz#92c241bf6de82365b5c7fb4bd76e975522e1294d" + integrity sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g== + dependencies: + figgy-pudding "^3.5.1" + minipass "^3.1.1" + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + +stack-utils@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" + integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA== + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +stealthy-require@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= + +stream-browserify@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" + integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-each@^1.1.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" + integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== + dependencies: + end-of-stream "^1.1.0" + stream-shift "^1.0.0" + +stream-http@^2.7.2: + version "2.8.3" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" + integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.3.6" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + +stream-shift@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== + +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= + +string-length@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" + integrity sha1-1A27aGo6zpYMHP/KVivyxF+DY+0= + dependencies: + astral-regex "^1.0.0" + strip-ansi "^4.0.0" + +string-length@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-3.1.0.tgz#107ef8c23456e187a8abd4a61162ff4ac6e25837" + integrity sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA== + dependencies: + astral-regex "^1.0.0" + strip-ansi "^5.2.0" + +string-width@^3.0.0, string-width@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string-width@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +string.prototype.matchall@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz#48bb510326fb9fdeb6a33ceaa81a6ea04ef7648e" + integrity sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0" + has-symbols "^1.0.1" + internal-slot "^1.0.2" + regexp.prototype.flags "^1.3.0" + side-channel "^1.0.2" + +string.prototype.trimleft@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz#9bdb8ac6abd6d602b17a4ed321870d2f8dcefc74" + integrity sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag== + dependencies: + define-properties "^1.1.3" + function-bind "^1.1.1" + +string.prototype.trimright@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz#440314b15996c866ce8a0341894d45186200c5d9" + integrity sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g== + dependencies: + define-properties "^1.1.3" + function-bind "^1.1.1" + +string_decoder@^1.0.0, string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.0.0" + +strip-ansi@6.0.0, strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-comments@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/strip-comments/-/strip-comments-1.0.2.tgz#82b9c45e7f05873bee53f37168af930aa368679d" + integrity sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw== + dependencies: + babel-extract-comments "^1.0.0" + babel-plugin-transform-object-rest-spread "^6.26.0" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + dependencies: + min-indent "^1.0.0" + +strip-json-comments@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" + integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== + +style-loader@0.23.1: + version "0.23.1" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.23.1.tgz#cb9154606f3e771ab6c4ab637026a1049174d925" + integrity sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg== + dependencies: + loader-utils "^1.1.0" + schema-utils "^1.0.0" + +stylehacks@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" + integrity sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g== + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +supports-color@^2.0.0: + version "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: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.0.0, supports-color@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" + integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== + dependencies: + has-flag "^4.0.0" + +svg-parser@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" + integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== + +svgo@^1.0.0, svgo@^1.2.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" + integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== + dependencies: + chalk "^2.4.1" + coa "^2.0.2" + css-select "^2.0.0" + css-select-base-adapter "^0.1.1" + css-tree "1.0.0-alpha.37" + csso "^4.0.2" + js-yaml "^3.13.1" + mkdirp "~0.5.1" + object.values "^1.1.0" + sax "~1.2.4" + stable "^0.1.8" + unquote "~1.1.1" + util.promisify "~1.0.0" + +symbol-tree@^3.2.2: + version "3.2.4" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== + +table@^5.2.3: + version "5.4.6" + resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" + integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== + dependencies: + ajv "^6.10.2" + lodash "^4.17.14" + slice-ansi "^2.1.0" + string-width "^3.0.0" + +tapable@^1.0.0, tapable@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== + +terser-webpack-plugin@2.3.8: + version "2.3.8" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-2.3.8.tgz#894764a19b0743f2f704e7c2a848c5283a696724" + integrity sha512-/fKw3R+hWyHfYx7Bv6oPqmk4HGQcrWLtV3X6ggvPuwPNHSnzvVV51z6OaaCOus4YLjutYGOz3pEpbhe6Up2s1w== + dependencies: + cacache "^13.0.1" + find-cache-dir "^3.3.1" + jest-worker "^25.4.0" + p-limit "^2.3.0" + schema-utils "^2.6.6" + serialize-javascript "^4.0.0" + source-map "^0.6.1" + terser "^4.6.12" + webpack-sources "^1.4.3" + +terser-webpack-plugin@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz#5ecaf2dbdc5fb99745fd06791f46fc9ddb1c9a7c" + integrity sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA== + dependencies: + cacache "^12.0.2" + find-cache-dir "^2.1.0" + is-wsl "^1.1.0" + schema-utils "^1.0.0" + serialize-javascript "^2.1.2" + source-map "^0.6.1" + terser "^4.1.2" + webpack-sources "^1.4.0" + worker-farm "^1.7.0" + +terser@^4.1.2, terser@^4.6.3: + version "4.6.7" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.6.7.tgz#478d7f9394ec1907f0e488c5f6a6a9a2bad55e72" + integrity sha512-fmr7M1f7DBly5cX2+rFDvmGBAaaZyPrHYK4mMdHEDAdNTqXSZgSOfqsfGq2HqPGT/1V0foZZuCZFx8CHKgAk3g== + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + +terser@^4.6.12: + version "4.8.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" + integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + +test-exclude@^5.2.3: + version "5.2.3" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" + integrity sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g== + dependencies: + glob "^7.1.3" + minimatch "^3.0.4" + read-pkg-up "^4.0.0" + require-main-filename "^2.0.0" + +text-table@0.2.0, text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +throat@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" + integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= + +through2@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== + +timers-browserify@^2.0.4: + version "2.0.11" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" + integrity sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ== + dependencies: + setimmediate "^1.0.4" + +timsort@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" + integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + +tmpl@1.0.x: + version "1.0.4" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" + integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +toidentifier@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" + integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== + +tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@^2.5.0, tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tr46@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= + dependencies: + punycode "^2.1.0" + +ts-pnp@1.1.6, ts-pnp@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.6.tgz#389a24396d425a0d3162e96d2b4638900fdc289a" + integrity sha512-CrG5GqAAzMT7144Cl+UIFP7mz/iIhiy+xQ6GGcnjTezhALT02uPMRw7tgDSESgB5MsfKt55+GPWw4ir1kVtMIQ== + +tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0: + version "1.11.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35" + integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA== + +tsutils@^3.17.1: + version "3.17.1" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" + integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g== + dependencies: + tslib "^1.8.1" + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +type-fest@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" + integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== + +type-fest@^0.8.1: + version "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: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +type@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== + +type@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/type/-/type-2.0.0.tgz#5f16ff6ef2eb44f260494dae271033b29c09a9c3" + integrity sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow== + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + +unicode-canonical-property-names-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" + integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== + +unicode-match-property-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" + integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== + dependencies: + unicode-canonical-property-names-ecmascript "^1.0.4" + unicode-property-aliases-ecmascript "^1.0.4" + +unicode-match-property-value-ecmascript@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" + integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== + +unicode-property-aliases-ecmascript@^1.0.4: + version "1.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" + integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +uniq@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= + +uniqs@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= + +unique-filename@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== + dependencies: + imurmurhash "^0.1.4" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +unquote@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" + integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +upath@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== + +uri-js@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" + integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +url-loader@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-2.3.0.tgz#e0e2ef658f003efb8ca41b0f3ffbf76bab88658b" + integrity sha512-goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog== + dependencies: + loader-utils "^1.2.3" + mime "^2.4.4" + schema-utils "^2.5.0" + +url-parse@^1.4.3: + version "1.4.7" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278" + integrity sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +util.promisify@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + +util.promisify@^1.0.0, util.promisify@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" + integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.2" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.0" + +util@0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= + dependencies: + inherits "2.0.1" + +util@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" + integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== + dependencies: + inherits "2.0.3" + +utila@^0.4.0, utila@~0.4: + version "0.4.0" + resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + +uuid@^3.3.2, uuid@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +v8-compile-cache@^2.0.3: + version "2.1.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" + integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + +vendors@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" + integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w== + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +vm-browserify@^1.0.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" + integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== + +w3c-hr-time@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794" + integrity sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg== + dependencies: + domexception "^1.0.1" + webidl-conversions "^4.0.2" + xml-name-validator "^3.0.0" + +wait-for-expect@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/wait-for-expect/-/wait-for-expect-3.0.2.tgz#d2f14b2f7b778c9b82144109c8fa89ceaadaa463" + integrity sha512-cfS1+DZxuav1aBYbaO/kE06EOS8yRw7qOFoD3XtjTkYvCvh3zUvNST8DXK/nPaeqIzIv3P3kL3lRJn8iwOiSag== + +walker@^1.0.7, walker@~1.0.5: + version "1.0.7" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= + dependencies: + makeerror "1.0.x" + +watchpack@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" + integrity sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA== + dependencies: + chokidar "^2.0.2" + graceful-fs "^4.1.2" + neo-async "^2.5.0" + +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" + integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== + dependencies: + minimalistic-assert "^1.0.0" + +webidl-conversions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== + +webpack-dev-middleware@^3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3" + integrity sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw== + dependencies: + memory-fs "^0.4.1" + mime "^2.4.4" + mkdirp "^0.5.1" + range-parser "^1.2.1" + webpack-log "^2.0.0" + +webpack-dev-server@3.11.0: + version "3.11.0" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz#8f154a3bce1bcfd1cc618ef4e703278855e7ff8c" + integrity sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg== + dependencies: + ansi-html "0.0.7" + bonjour "^3.5.0" + chokidar "^2.1.8" + compression "^1.7.4" + connect-history-api-fallback "^1.6.0" + debug "^4.1.1" + del "^4.1.1" + express "^4.17.1" + html-entities "^1.3.1" + http-proxy-middleware "0.19.1" + import-local "^2.0.0" + internal-ip "^4.3.0" + ip "^1.1.5" + is-absolute-url "^3.0.3" + killable "^1.0.1" + loglevel "^1.6.8" + opn "^5.5.0" + p-retry "^3.0.1" + portfinder "^1.0.26" + schema-utils "^1.0.0" + selfsigned "^1.10.7" + semver "^6.3.0" + serve-index "^1.9.1" + sockjs "0.3.20" + sockjs-client "1.4.0" + spdy "^4.0.2" + strip-ansi "^3.0.1" + supports-color "^6.1.0" + url "^0.11.0" + webpack-dev-middleware "^3.7.2" + webpack-log "^2.0.0" + ws "^6.2.1" + yargs "^13.3.2" + +webpack-log@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" + integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== + dependencies: + ansi-colors "^3.0.0" + uuid "^3.3.2" + +webpack-manifest-plugin@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-2.2.0.tgz#19ca69b435b0baec7e29fbe90fb4015de2de4f16" + integrity sha512-9S6YyKKKh/Oz/eryM1RyLVDVmy3NSPV0JXMRhZ18fJsq+AwGxUY34X54VNwkzYcEmEkDwNxuEOboCZEebJXBAQ== + dependencies: + fs-extra "^7.0.0" + lodash ">=3.5 <5" + object.entries "^1.1.0" + tapable "^1.0.0" + +webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" + integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack@4.42.0: + version "4.42.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.42.0.tgz#b901635dd6179391d90740a63c93f76f39883eb8" + integrity sha512-EzJRHvwQyBiYrYqhyjW9AqM90dE4+s1/XtCfn7uWg6cS72zH+2VPFAlsnW0+W0cDi0XRjNKUMoJtpSi50+Ph6w== + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-module-context" "1.8.5" + "@webassemblyjs/wasm-edit" "1.8.5" + "@webassemblyjs/wasm-parser" "1.8.5" + acorn "^6.2.1" + ajv "^6.10.2" + ajv-keywords "^3.4.1" + chrome-trace-event "^1.0.2" + enhanced-resolve "^4.1.0" + eslint-scope "^4.0.3" + json-parse-better-errors "^1.0.2" + loader-runner "^2.4.0" + loader-utils "^1.2.3" + memory-fs "^0.4.1" + micromatch "^3.1.10" + mkdirp "^0.5.1" + neo-async "^2.6.1" + node-libs-browser "^2.2.1" + schema-utils "^1.0.0" + tapable "^1.1.3" + terser-webpack-plugin "^1.4.3" + watchpack "^1.6.0" + webpack-sources "^1.4.1" + +websocket-driver@0.6.5: + version "0.6.5" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36" + integrity sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY= + dependencies: + websocket-extensions ">=0.1.1" + +websocket-driver@>=0.5.1: + version "0.7.3" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.3.tgz#a2d4e0d4f4f116f1e6297eba58b05d430100e9f9" + integrity sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg== + dependencies: + http-parser-js ">=0.4.0 <0.4.11" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" + integrity sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg== + +whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3, whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-fetch@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb" + integrity sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q== + +whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^6.4.1: + version "6.5.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" + integrity sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + +whatwg-url@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" + integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which@^1.2.9, which@^1.3.0, which@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +workbox-background-sync@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz#26821b9bf16e9e37fd1d640289edddc08afd1950" + integrity sha512-1uFkvU8JXi7L7fCHVBEEnc3asPpiAL33kO495UMcD5+arew9IbKW2rV5lpzhoWcm/qhGB89YfO4PmB/0hQwPRg== + dependencies: + workbox-core "^4.3.1" + +workbox-broadcast-update@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-broadcast-update/-/workbox-broadcast-update-4.3.1.tgz#e2c0280b149e3a504983b757606ad041f332c35b" + integrity sha512-MTSfgzIljpKLTBPROo4IpKjESD86pPFlZwlvVG32Kb70hW+aob4Jxpblud8EhNb1/L5m43DUM4q7C+W6eQMMbA== + dependencies: + workbox-core "^4.3.1" + +workbox-build@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-build/-/workbox-build-4.3.1.tgz#414f70fb4d6de47f6538608b80ec52412d233e64" + integrity sha512-UHdwrN3FrDvicM3AqJS/J07X0KXj67R8Cg0waq1MKEOqzo89ap6zh6LmaLnRAjpB+bDIz+7OlPye9iii9KBnxw== + dependencies: + "@babel/runtime" "^7.3.4" + "@hapi/joi" "^15.0.0" + common-tags "^1.8.0" + fs-extra "^4.0.2" + glob "^7.1.3" + lodash.template "^4.4.0" + pretty-bytes "^5.1.0" + stringify-object "^3.3.0" + strip-comments "^1.0.2" + workbox-background-sync "^4.3.1" + workbox-broadcast-update "^4.3.1" + workbox-cacheable-response "^4.3.1" + workbox-core "^4.3.1" + workbox-expiration "^4.3.1" + workbox-google-analytics "^4.3.1" + workbox-navigation-preload "^4.3.1" + workbox-precaching "^4.3.1" + workbox-range-requests "^4.3.1" + workbox-routing "^4.3.1" + workbox-strategies "^4.3.1" + workbox-streams "^4.3.1" + workbox-sw "^4.3.1" + workbox-window "^4.3.1" + +workbox-cacheable-response@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-4.3.1.tgz#f53e079179c095a3f19e5313b284975c91428c91" + integrity sha512-Rp5qlzm6z8IOvnQNkCdO9qrDgDpoPNguovs0H8C+wswLuPgSzSp9p2afb5maUt9R1uTIwOXrVQMmPfPypv+npw== + dependencies: + workbox-core "^4.3.1" + +workbox-core@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-core/-/workbox-core-4.3.1.tgz#005d2c6a06a171437afd6ca2904a5727ecd73be6" + integrity sha512-I3C9jlLmMKPxAC1t0ExCq+QoAMd0vAAHULEgRZ7kieCdUd919n53WC0AfvokHNwqRhGn+tIIj7vcb5duCjs2Kg== + +workbox-expiration@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-expiration/-/workbox-expiration-4.3.1.tgz#d790433562029e56837f341d7f553c4a78ebe921" + integrity sha512-vsJLhgQsQouv9m0rpbXubT5jw0jMQdjpkum0uT+d9tTwhXcEZks7qLfQ9dGSaufTD2eimxbUOJfWLbNQpIDMPw== + dependencies: + workbox-core "^4.3.1" + +workbox-google-analytics@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-4.3.1.tgz#9eda0183b103890b5c256e6f4ea15a1f1548519a" + integrity sha512-xzCjAoKuOb55CBSwQrbyWBKqp35yg1vw9ohIlU2wTy06ZrYfJ8rKochb1MSGlnoBfXGWss3UPzxR5QL5guIFdg== + dependencies: + workbox-background-sync "^4.3.1" + workbox-core "^4.3.1" + workbox-routing "^4.3.1" + workbox-strategies "^4.3.1" + +workbox-navigation-preload@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-4.3.1.tgz#29c8e4db5843803b34cd96dc155f9ebd9afa453d" + integrity sha512-K076n3oFHYp16/C+F8CwrRqD25GitA6Rkd6+qAmLmMv1QHPI2jfDwYqrytOfKfYq42bYtW8Pr21ejZX7GvALOw== + dependencies: + workbox-core "^4.3.1" + +workbox-precaching@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-4.3.1.tgz#9fc45ed122d94bbe1f0ea9584ff5940960771cba" + integrity sha512-piSg/2csPoIi/vPpp48t1q5JLYjMkmg5gsXBQkh/QYapCdVwwmKlU9mHdmy52KsDGIjVaqEUMFvEzn2LRaigqQ== + dependencies: + workbox-core "^4.3.1" + +workbox-range-requests@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-4.3.1.tgz#f8a470188922145cbf0c09a9a2d5e35645244e74" + integrity sha512-S+HhL9+iTFypJZ/yQSl/x2Bf5pWnbXdd3j57xnb0V60FW1LVn9LRZkPtneODklzYuFZv7qK6riZ5BNyc0R0jZA== + dependencies: + workbox-core "^4.3.1" + +workbox-routing@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-4.3.1.tgz#a675841af623e0bb0c67ce4ed8e724ac0bed0cda" + integrity sha512-FkbtrODA4Imsi0p7TW9u9MXuQ5P4pVs1sWHK4dJMMChVROsbEltuE79fBoIk/BCztvOJ7yUpErMKa4z3uQLX+g== + dependencies: + workbox-core "^4.3.1" + +workbox-strategies@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-4.3.1.tgz#d2be03c4ef214c115e1ab29c9c759c9fe3e9e646" + integrity sha512-F/+E57BmVG8dX6dCCopBlkDvvhg/zj6VDs0PigYwSN23L8hseSRwljrceU2WzTvk/+BSYICsWmRq5qHS2UYzhw== + dependencies: + workbox-core "^4.3.1" + +workbox-streams@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-4.3.1.tgz#0b57da70e982572de09c8742dd0cb40a6b7c2cc3" + integrity sha512-4Kisis1f/y0ihf4l3u/+ndMkJkIT4/6UOacU3A4BwZSAC9pQ9vSvJpIi/WFGQRH/uPXvuVjF5c2RfIPQFSS2uA== + dependencies: + workbox-core "^4.3.1" + +workbox-sw@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-4.3.1.tgz#df69e395c479ef4d14499372bcd84c0f5e246164" + integrity sha512-0jXdusCL2uC5gM3yYFT6QMBzKfBr2XTk0g5TPAV4y8IZDyVNDyj1a8uSXy3/XrvkVTmQvLN4O5k3JawGReXr9w== + +workbox-webpack-plugin@4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-4.3.1.tgz#47ff5ea1cc074b6c40fb5a86108863a24120d4bd" + integrity sha512-gJ9jd8Mb8wHLbRz9ZvGN57IAmknOipD3W4XNE/Lk/4lqs5Htw4WOQgakQy/o/4CoXQlMCYldaqUg+EJ35l9MEQ== + dependencies: + "@babel/runtime" "^7.0.0" + json-stable-stringify "^1.0.1" + workbox-build "^4.3.1" + +workbox-window@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-window/-/workbox-window-4.3.1.tgz#ee6051bf10f06afa5483c9b8dfa0531994ede0f3" + integrity sha512-C5gWKh6I58w3GeSc0wp2Ne+rqVw8qwcmZnQGpjiek8A2wpbxSJb1FdCoQVO+jDJs35bFgo/WETgl1fqgsxN0Hg== + dependencies: + workbox-core "^4.3.1" + +worker-farm@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" + integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== + dependencies: + errno "~0.1.7" + +worker-rpc@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/worker-rpc/-/worker-rpc-0.1.1.tgz#cb565bd6d7071a8f16660686051e969ad32f54d5" + integrity sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg== + dependencies: + microevent.ts "~0.1.1" + +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529" + integrity sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg== + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + +write@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" + integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== + dependencies: + mkdirp "^0.5.1" + +ws@^5.2.0: + version "5.2.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" + integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== + dependencies: + async-limiter "~1.0.0" + +ws@^6.1.2, ws@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" + integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== + dependencies: + async-limiter "~1.0.0" + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +xmlchars@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + +xregexp@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.3.0.tgz#7e92e73d9174a99a59743f67a4ce879a04b5ae50" + integrity sha512-7jXDIFXh5yJ/orPn4SXjuVrWWoi4Cr8jfV1eHv9CixKSbU+jY4mxfrBwAuDvupPNKpMUY+FeIqsVw/JLT9+B8g== + dependencies: + "@babel/runtime-corejs3" "^7.8.3" + +xtend@^4.0.0, xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^1.7.2: + version "1.8.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.8.2.tgz#a29c03f578faafd57dcb27055f9a5d569cb0c3d9" + integrity sha512-omakb0d7FjMo3R1D2EbTKVIk6dAVLRxFXdLZMEUToeAvuqgG/YuHMuQOZ5fgk+vQ8cx+cnGKwyg+8g8PNT0xQg== + dependencies: + "@babel/runtime" "^7.8.7" + +yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs@^13.3.0, yargs@^13.3.2: + version "13.3.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" + integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.2" From 5bc496590536a4d914517bf0790b2a4ade0c2574 Mon Sep 17 00:00:00 2001 From: Basir Date: Mon, 21 Sep 2020 17:18:06 +0330 Subject: [PATCH 05/65] Video-06-Share-Code-On-Github --- .gitignore | 22 ++++++++++++++++++++++ README.md | 7 +++++++ frontend/.gitignore | 23 ----------------------- 3 files changed, 29 insertions(+), 23 deletions(-) delete mode 100644 frontend/.gitignore diff --git a/.gitignore b/.gitignore index e43b0f98..7ad3bff3 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,23 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# production +build + +# misc .DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/README.md b/README.md index 6cc408bd..98b30591 100644 --- a/README.md +++ b/README.md @@ -27,3 +27,10 @@ 4. copy index.html content to App.js 5. copy style.css content to index.css 6. replace class with className +6. Share Code On Github + 1. Initialize git repository + 2. Commit changes + 3. Create github account + 4. Create repo on github + 5. connect local repo to github repo + 6. push changes to github diff --git a/frontend/.gitignore b/frontend/.gitignore deleted file mode 100644 index 4d29575d..00000000 --- a/frontend/.gitignore +++ /dev/null @@ -1,23 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js - -# testing -/coverage - -# production -/build - -# misc -.DS_Store -.env.local -.env.development.local -.env.test.local -.env.production.local - -npm-debug.log* -yarn-debug.log* -yarn-error.log* From 7d86fd3398d50f84be8acde980cbb039c4c5df22 Mon Sep 17 00:00:00 2001 From: Basir Date: Mon, 21 Sep 2020 21:16:56 +0330 Subject: [PATCH 06/65] Video-07-Create-Rating-And-Product-Component --- README.md | 6 +++ frontend/src/App.js | 34 +--------------- frontend/src/components/Product.js | 23 +++++++++++ frontend/src/components/Rating.js | 65 ++++++++++++++++++++++++++++++ frontend/src/index.css | 3 ++ 5 files changed, 99 insertions(+), 32 deletions(-) create mode 100644 frontend/src/components/Product.js create mode 100644 frontend/src/components/Rating.js diff --git a/README.md b/README.md index 98b30591..d7c4a9f2 100644 --- a/README.md +++ b/README.md @@ -34,3 +34,9 @@ 4. Create repo on github 5. connect local repo to github repo 6. push changes to github +7. Create Rating and Product Component + 1. create components/Rating.js + 2. create div.rating + 3. style div.rating, span and last span + 4. Create Product component + 5. Use Rating component diff --git a/frontend/src/App.js b/frontend/src/App.js index 160ee3df..465582c1 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -1,4 +1,5 @@ import React from 'react'; +import Product from './components/Product'; import data from './data'; function App() { return ( @@ -18,38 +19,7 @@ function App() {
{data.products.map((product) => ( -
- - {product.name} - -
- -

{product.name}

-
-
- - - - - - - - - - - - - - - -
-
${product.price}
-
-
+ ))}
diff --git a/frontend/src/components/Product.js b/frontend/src/components/Product.js new file mode 100644 index 00000000..5a05203a --- /dev/null +++ b/frontend/src/components/Product.js @@ -0,0 +1,23 @@ +import React from 'react'; +import Rating from './Rating'; + +export default function Product(props) { + const { product } = props; + return ( +
+ + {product.name} + +
+ +

{product.name}

+
+ +
${product.price}
+
+
+ ); +} diff --git a/frontend/src/components/Rating.js b/frontend/src/components/Rating.js new file mode 100644 index 00000000..a7bfb9f6 --- /dev/null +++ b/frontend/src/components/Rating.js @@ -0,0 +1,65 @@ +import React from 'react'; + +export default function Rating(props) { + const { rating, numReviews } = props; + return ( +
+ + = 1 + ? 'fa fa-star' + : rating >= 0.5 + ? 'fa fa-star-half-o' + : 'fa fa-star-o' + } + > + + + = 2 + ? 'fa fa-star' + : rating >= 1.5 + ? 'fa fa-star-half-o' + : 'fa fa-star-o' + } + > + + + = 3 + ? 'fa fa-star' + : rating >= 2.5 + ? 'fa fa-star-half-o' + : 'fa fa-star-o' + } + > + + + = 4 + ? 'fa fa-star' + : rating >= 3.5 + ? 'fa fa-star-half-o' + : 'fa fa-star-o' + } + > + + + = 5 + ? 'fa fa-star' + : rating >= 4.5 + ? 'fa fa-star-half-o' + : 'fa fa-star-o' + } + > + + {numReviews + ' reviews'} +
+ ); +} diff --git a/frontend/src/index.css b/frontend/src/index.css index 14ede004..092001f6 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -103,3 +103,6 @@ img.medium { color: #f0c040; margin: 0.1rem; } +.rating span:last-child { + color: #404040; +} From e75e3572124537b679c31b8c0888774ab52d429e Mon Sep 17 00:00:00 2001 From: Basir Date: Tue, 22 Sep 2020 12:11:21 +0330 Subject: [PATCH 07/65] Video-8-Build-Product-Screen --- .gitignore | 1 + README.md | 8 ++++ frontend/package.json | 1 + frontend/src/App.js | 47 ++++++++++--------- frontend/src/data.js | 6 +++ frontend/src/index.css | 48 +++++++++++++++++++ frontend/src/screens/HomeScreen.js | 15 ++++++ frontend/src/screens/ProductScreen.js | 66 +++++++++++++++++++++++++++ 8 files changed, 168 insertions(+), 24 deletions(-) create mode 100644 frontend/src/screens/HomeScreen.js create mode 100644 frontend/src/screens/ProductScreen.js diff --git a/.gitignore b/.gitignore index 7ad3bff3..3970bc18 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ build npm-debug.log* yarn-debug.log* yarn-error.log* +frontend/package-lock.json diff --git a/README.md b/README.md index d7c4a9f2..0f55788e 100644 --- a/README.md +++ b/README.md @@ -40,3 +40,11 @@ 3. style div.rating, span and last span 4. Create Product component 5. Use Rating component +8. Build Product Screen + 1. Install react-router-dom + 2. Use BrowserRouter and Route for Home Screen + 3. Create HomeScreen.js + 4. Add product list code there + 5. Create ProductScreen.js + 6. Add new Route from product details to App.js + 7. Create 3 columns for product image, info and action diff --git a/frontend/package.json b/frontend/package.json index c8e6ec40..4fa57e2a 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -8,6 +8,7 @@ "@testing-library/user-event": "^7.1.2", "react": "^16.13.1", "react-dom": "^16.13.1", + "react-router-dom": "^5.2.0", "react-scripts": "3.4.3" }, "scripts": { diff --git a/frontend/src/App.js b/frontend/src/App.js index 465582c1..7b5a249a 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -1,31 +1,30 @@ import React from 'react'; -import Product from './components/Product'; -import data from './data'; +import { BrowserRouter, Route } from 'react-router-dom'; +import HomeScreen from './screens/HomeScreen'; +import ProductScreen from './screens/ProductScreen'; + function App() { return ( -
-
- -
- Cart - Sign In -
-
-
-
-
- {data.products.map((product) => ( - - ))} + +
+
+ + -
-
-
All right reserved
-
+ +
+ + +
+
All right reserved
+ + ); } diff --git a/frontend/src/data.js b/frontend/src/data.js index bdc202f7..cdc897d4 100644 --- a/frontend/src/data.js +++ b/frontend/src/data.js @@ -6,6 +6,7 @@ const data = { category: 'Shirts', image: '/images/p1.jpg', price: 120, + countInStock: 10, brand: 'Nike', rating: 4.5, numReviews: 10, @@ -17,6 +18,7 @@ const data = { category: 'Shirts', image: '/images/p2.jpg', price: 100, + countInStock: 20, brand: 'Adidas', rating: 4.0, numReviews: 10, @@ -28,6 +30,7 @@ const data = { category: 'Shirts', image: '/images/p3.jpg', price: 220, + countInStock: 0, brand: 'Lacoste', rating: 4.8, numReviews: 17, @@ -39,6 +42,7 @@ const data = { category: 'Pants', image: '/images/p4.jpg', price: 78, + countInStock: 15, brand: 'Nike', rating: 4.5, numReviews: 14, @@ -50,6 +54,7 @@ const data = { category: 'Pants', image: '/images/p5.jpg', price: 65, + countInStock: 5, brand: 'Puma', rating: 4.5, numReviews: 10, @@ -61,6 +66,7 @@ const data = { category: 'Pants', image: '/images/p6.jpg', price: 139, + countInStock: 12, brand: 'Adidas', rating: 4.5, numReviews: 15, diff --git a/frontend/src/index.css b/frontend/src/index.css index 092001f6..f0745f43 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -54,6 +54,34 @@ a { a:hover { color: #ff8000; } +ul { + padding: 0; + margin: 0; + list-style-type: none; +} +li { + margin-top: 1rem; +} +button { + padding: 1rem; + border-radius: 0.5rem; + border: 0.1rem #a4a4a4 solid; + font-size: 1.6rem; + font-family: Helvetica, Arial, sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + background-color: #f8f8f8; + cursor: pointer; +} +button:hover { + border: 0.1rem #404040 solid; +} +button.primary { + background-color: #f0c040; +} +button.block { + width: 100%; +} /* Header */ header a { color: #ffffff; @@ -73,6 +101,16 @@ a.brand { .row.center { justify-content: center; } +.row.top { + align-items: flex-start; +} +.col-1 { + flex: 1 1 25rem; +} +.col-2 { + flex: 2 1 50rem; +} + /* Image */ img { border-radius: 0.5rem; @@ -81,6 +119,9 @@ img.medium { max-width: 29rem; width: 100%; } +img.large { + width: 100%; +} /* Card */ .card { @@ -106,3 +147,10 @@ img.medium { .rating span:last-child { color: #404040; } +/* Alert */ +.success { + color: #20a020; +} +.error { + color: #a02020; +} diff --git a/frontend/src/screens/HomeScreen.js b/frontend/src/screens/HomeScreen.js new file mode 100644 index 00000000..6f1b3d84 --- /dev/null +++ b/frontend/src/screens/HomeScreen.js @@ -0,0 +1,15 @@ +import React from 'react'; +import Product from '../components/Product'; +import data from '../data'; + +export default function HomeScreen() { + return ( +
+
+ {data.products.map((product) => ( + + ))} +
+
+ ); +} diff --git a/frontend/src/screens/ProductScreen.js b/frontend/src/screens/ProductScreen.js new file mode 100644 index 00000000..2403f2f1 --- /dev/null +++ b/frontend/src/screens/ProductScreen.js @@ -0,0 +1,66 @@ +import React from 'react'; +import { Link } from 'react-router-dom'; +import Rating from '../components/Rating'; +import data from '../data'; + +export default function ProductScreen(props) { + const product = data.products.find((x) => x._id === props.match.params.id); + if (!product) { + return
Product Not Found
; + } + return ( +
+ Back to result +
+
+ {product.name} +
+
+
    +
  • +

    {product.name}

    +
  • +
  • + +
  • +
  • Pirce : ${product.price}
  • +
  • + Description: +

    {product.description}

    +
  • +
+
+
+
+
    +
  • +
    +
    Price
    +
    ${product.price}
    +
    +
  • +
  • +
    +
    Status
    +
    + {product.countInStock > 0 ? ( + In Stock + ) : ( + Unavailable + )} +
    +
    +
  • +
  • + +
  • +
+
+
+
+
+ ); +} From c5a30e1d68128b4b01b4ded820c47fd50c06c295 Mon Sep 17 00:00:00 2001 From: Basir Date: Tue, 22 Sep 2020 19:27:02 +0330 Subject: [PATCH 08/65] Video-08-Create-NodeJS-Server --- README.md | 13 + backend/data.js | 77 +++ backend/server.js | 16 + package-lock.json | 1354 +++++++++++++++++++++++++++++++++++++++++++++ package.json | 26 + 5 files changed, 1486 insertions(+) create mode 100644 backend/data.js create mode 100644 backend/server.js create mode 100644 package-lock.json create mode 100644 package.json diff --git a/README.md b/README.md index 0f55788e..0e5b7218 100644 --- a/README.md +++ b/README.md @@ -48,3 +48,16 @@ 5. Create ProductScreen.js 6. Add new Route from product details to App.js 7. Create 3 columns for product image, info and action +9. Create Node.JS Server + 1. run npm init in root folder + 2. Update package.json set type: module + 3. Add .js to imports + 4. npm install express + 5. create server.js + 6. add start command as node backend/server.js + 7. require express + 8. create route for / return backend is ready. + 9. move products.js from frontend to backend + 10. create route for /api/products + 11. return products + 12. run npm start diff --git a/backend/data.js b/backend/data.js new file mode 100644 index 00000000..cdc897d4 --- /dev/null +++ b/backend/data.js @@ -0,0 +1,77 @@ +const data = { + products: [ + { + _id: '1', + name: 'Nike Slim Shirt', + category: 'Shirts', + image: '/images/p1.jpg', + price: 120, + countInStock: 10, + brand: 'Nike', + rating: 4.5, + numReviews: 10, + description: 'high quality product', + }, + { + _id: '2', + name: 'Adidas Fit Shirt', + category: 'Shirts', + image: '/images/p2.jpg', + price: 100, + countInStock: 20, + brand: 'Adidas', + rating: 4.0, + numReviews: 10, + description: 'high quality product', + }, + { + _id: '3', + name: 'Lacoste Free Shirt', + category: 'Shirts', + image: '/images/p3.jpg', + price: 220, + countInStock: 0, + brand: 'Lacoste', + rating: 4.8, + numReviews: 17, + description: 'high quality product', + }, + { + _id: '4', + name: 'Nike Slim Pant', + category: 'Pants', + image: '/images/p4.jpg', + price: 78, + countInStock: 15, + brand: 'Nike', + rating: 4.5, + numReviews: 14, + description: 'high quality product', + }, + { + _id: '5', + name: 'Puma Slim Pant', + category: 'Pants', + image: '/images/p5.jpg', + price: 65, + countInStock: 5, + brand: 'Puma', + rating: 4.5, + numReviews: 10, + description: 'high quality product', + }, + { + _id: '6', + name: 'Adidas Fit Pant', + category: 'Pants', + image: '/images/p6.jpg', + price: 139, + countInStock: 12, + brand: 'Adidas', + rating: 4.5, + numReviews: 15, + description: 'high quality product', + }, + ], +}; +export default data; diff --git a/backend/server.js b/backend/server.js new file mode 100644 index 00000000..c585b370 --- /dev/null +++ b/backend/server.js @@ -0,0 +1,16 @@ +import express from 'express'; +import data from './data.js'; + +const app = express(); + +app.get('/api/products', (req, res) => { + res.send(data.products); +}); + +app.get('/', (req, res) => { + res.send('Server is ready'); +}); +const port = process.env.PORT || 5000; +app.listen(port, () => { + console.log(`Serve at http://localhost:${port}`); +}); diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..b52c819b --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1354 @@ +{ + "name": "amazona", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "dev": true + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dev": true, + "requires": { + "defer-to-connect": "^1.0.1" + } + }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "ansi-align": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", + "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", + "dev": true, + "requires": { + "string-width": "^3.0.0" + }, + "dependencies": { + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + } + } + }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "binary-extensions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "dev": true + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + } + }, + "boxen": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", + "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", + "dev": true, + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "cli-boxes": "^2.2.0", + "string-width": "^4.1.0", + "term-size": "^2.1.0", + "type-fest": "^0.8.1", + "widest-line": "^3.1.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dev": true, + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true + } + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "chokidar": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz", + "integrity": "sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.4.0" + } + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "dev": true + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "configstore": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + } + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, + "defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "escape-goat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", + "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "global-dirs": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.0.1.tgz", + "integrity": "sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A==", + "dev": true, + "requires": { + "ini": "^1.3.5" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dev": true, + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", + "dev": true + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", + "dev": true + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-installed-globally": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz", + "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==", + "dev": true, + "requires": { + "global-dirs": "^2.0.1", + "is-path-inside": "^3.0.1" + } + }, + "is-npm": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz", + "integrity": "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true + }, + "is-path-inside": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz", + "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", + "dev": true + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "dev": true + }, + "keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dev": true, + "requires": { + "json-buffer": "3.0.0" + } + }, + "latest-version": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", + "dev": true, + "requires": { + "package-json": "^6.3.0" + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" + }, + "mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "requires": { + "mime-db": "1.44.0" + } + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "nodemon": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.4.tgz", + "integrity": "sha512-Ltced+hIfTmaS28Zjv1BM552oQ3dbwPqI4+zI0SLgq+wpJhSyqgYude/aZa/3i31VCQWMfXJVxvu86abcam3uQ==", + "dev": true, + "requires": { + "chokidar": "^3.2.2", + "debug": "^3.2.6", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.0.4", + "pstree.remy": "^1.1.7", + "semver": "^5.7.1", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.2", + "update-notifier": "^4.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-url": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "dev": true + }, + "package-json": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "dev": true, + "requires": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true + }, + "proxy-addr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + } + }, + "pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pupa": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.0.1.tgz", + "integrity": "sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA==", + "dev": true, + "requires": { + "escape-goat": "^2.0.0" + } + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "readdirp": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", + "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "registry-auth-token": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.0.tgz", + "integrity": "sha512-P+lWzPrsgfN+UEpDS3U8AQKg/UjZX6mQSJueZj3EK+vNESoqBSpBUD3gmu4sF9lOsjXWjF11dQKUqemf3veq1w==", + "dev": true, + "requires": { + "rc": "^1.2.8" + } + }, + "registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "dev": true, + "requires": { + "rc": "^1.2.8" + } + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dev": true, + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "semver-diff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", + "dev": true, + "requires": { + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "term-size": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.0.tgz", + "integrity": "sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==", + "dev": true + }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", + "dev": true, + "requires": { + "nopt": "~1.0.10" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "undefsafe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.3.tgz", + "integrity": "sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A==", + "dev": true, + "requires": { + "debug": "^2.2.0" + } + }, + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dev": true, + "requires": { + "crypto-random-string": "^2.0.0" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "update-notifier": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.1.tgz", + "integrity": "sha512-9y+Kds0+LoLG6yN802wVXoIfxYEwh3FlZwzMwpCZp62S2i1/Jzeqb9Eeeju3NSHccGGasfGlK5/vEHbAifYRDg==", + "dev": true, + "requires": { + "boxen": "^4.2.0", + "chalk": "^3.0.0", + "configstore": "^5.0.1", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.3.1", + "is-npm": "^4.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.0.0", + "pupa": "^2.0.1", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" + } + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dev": true, + "requires": { + "prepend-http": "^2.0.0" + } + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dev": true, + "requires": { + "string-width": "^4.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "xdg-basedir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..0b439d34 --- /dev/null +++ b/package.json @@ -0,0 +1,26 @@ +{ + "name": "amazona", + "type": "module", + "version": "1.0.0", + "description": "1. Introduction to this course 1. what you will build 2. what you will learn 3. who are audiences 2. Install Tools 1. Code Editor 2. Web Browser 3. VS Code Extension 3. Website Template 1. Create amazona folder 2. create template folder 3. create index.html 4. add default HTML code 5. link to style.css 6. create header, main and footer 7. style elements 4. Display Products 1. create products div 2. add product attributes 3. add link, image, name and price 5. Create React App 1. npx create-react-app frontend 2. npm start 3. Remove unused files 4. copy index.html content to App.js 5. copy style.css content to index.css 6. replace class with className 6. Share Code On Github 1. Initialize git repository 2. Commit changes 3. Create github account 4. Create repo on github 5. connect local repo to github repo 6. push changes to github 7. Create Rating and Product Component 1. create components/Rating.js 2. create div.rating 3. style div.rating, span and last span 4. Create Product component 5. Use Rating component 8. Build Product Screen 1. Install react-router-dom 2. Use BrowserRouter and Route for Home Screen 3. Create HomeScreen.js 4. Add product list code there 5. Create ProductScreen.js 6. Add new Route from product details to App.js 7. Create 3 columns for product image, info and action 9. Create Node.JS Server 1. run npm init in root folder 2. Update package.json set type: module 3. Add .js to imports 4. npm install express 5. create server.js 6. add start command as node backend/server.js 7. require express 8. create route for / return backend is ready. 9. move products.js from frontend to backend 10. create route for /api/products 11. return products 12. run npm start", + "main": "index.js", + "scripts": { + "start": "nodemon --watch backend --exec node --experimental-modules backend/server.js" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/basir/amazona.git" + }, + "author": "", + "license": "ISC", + "bugs": { + "url": "https://github.com/basir/amazona/issues" + }, + "homepage": "https://github.com/basir/amazona#readme", + "dependencies": { + "express": "^4.17.1" + }, + "devDependencies": { + "nodemon": "^2.0.4" + } +} From c7e329bf12a6e89cb29e4b6ce10fc141ebb98674 Mon Sep 17 00:00:00 2001 From: Basir Date: Fri, 25 Sep 2020 14:32:30 +0330 Subject: [PATCH 09/65] Video-10-Load-Products-From-Backend --- README.md | 11 ++++++++ frontend/package.json | 2 ++ frontend/src/components/LoadingBox.js | 9 +++++++ frontend/src/components/MessageBox.js | 9 +++++++ frontend/src/index.css | 15 ++++++++++- frontend/src/screens/HomeScreen.js | 39 ++++++++++++++++++++++----- frontend/src/screens/ProductScreen.js | 2 +- 7 files changed, 78 insertions(+), 9 deletions(-) create mode 100644 frontend/src/components/LoadingBox.js create mode 100644 frontend/src/components/MessageBox.js diff --git a/README.md b/README.md index 0e5b7218..a0753e80 100644 --- a/README.md +++ b/README.md @@ -61,3 +61,14 @@ 10. create route for /api/products 11. return products 12. run npm start +10. Load Products From Backend + 1. edit HomeScreen.js + 2. define products, loading and error. + 3. create useEffect + 4. define async fetchData and call it + 5. install axios + 6. get data from /api/products + 7. show them in the list + 8. create Loading Component + 9. create Message Box Component + 10. use them in HomeScreen diff --git a/frontend/package.json b/frontend/package.json index 4fa57e2a..c794d8b1 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,11 +1,13 @@ { "name": "frontend", + "proxy": "http://127.0.0.1:5000", "version": "0.1.0", "private": true, "dependencies": { "@testing-library/jest-dom": "^4.2.4", "@testing-library/react": "^9.3.2", "@testing-library/user-event": "^7.1.2", + "axios": "^0.20.0", "react": "^16.13.1", "react-dom": "^16.13.1", "react-router-dom": "^5.2.0", diff --git a/frontend/src/components/LoadingBox.js b/frontend/src/components/LoadingBox.js new file mode 100644 index 00000000..e96671aa --- /dev/null +++ b/frontend/src/components/LoadingBox.js @@ -0,0 +1,9 @@ +import React from 'react'; + +export default function LoadingBox() { + return ( +
+ Loading... +
+ ); +} diff --git a/frontend/src/components/MessageBox.js b/frontend/src/components/MessageBox.js new file mode 100644 index 00000000..fdac9286 --- /dev/null +++ b/frontend/src/components/MessageBox.js @@ -0,0 +1,9 @@ +import React from 'react'; + +export default function MessageBox(props) { + return ( +
+ {props.children} +
+ ); +} diff --git a/frontend/src/index.css b/frontend/src/index.css index f0745f43..15752c41 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -151,6 +151,19 @@ img.large { .success { color: #20a020; } -.error { +.danger { color: #a02020; } +.alert { + padding: 1rem; + border: 0.1rem solid transparent; + border-radius: 0.5rem; +} +.alert-info { + color: #2020a0; + background-color: #e0e0ff; +} +.alert-danger { + color: #a02020; + background-color: #ffe0e0; +} diff --git a/frontend/src/screens/HomeScreen.js b/frontend/src/screens/HomeScreen.js index 6f1b3d84..9c421240 100644 --- a/frontend/src/screens/HomeScreen.js +++ b/frontend/src/screens/HomeScreen.js @@ -1,15 +1,40 @@ -import React from 'react'; +import React, { useEffect, useState } from 'react'; +import axios from 'axios'; import Product from '../components/Product'; -import data from '../data'; +import LoadingBox from '../components/LoadingBox'; +import MessageBox from '../components/MessageBox'; export default function HomeScreen() { + const [products, setProducts] = useState([]); + const [loading, setLoading] = useState(false); + const [error, setError] = useState(false); + useEffect(() => { + const fecthData = async () => { + try { + setLoading(true); + const { data } = await axios.get('/api/products'); + setLoading(false); + setProducts(data); + } catch (err) { + setError(err.message); + setLoading(false); + } + }; + fecthData(); + }, []); return (
-
- {data.products.map((product) => ( - - ))} -
+ {loading ? ( + + ) : error ? ( + {error} + ) : ( +
+ {products.map((product) => ( + + ))} +
+ )}
); } diff --git a/frontend/src/screens/ProductScreen.js b/frontend/src/screens/ProductScreen.js index 2403f2f1..955c4d75 100644 --- a/frontend/src/screens/ProductScreen.js +++ b/frontend/src/screens/ProductScreen.js @@ -49,7 +49,7 @@ export default function ProductScreen(props) { {product.countInStock > 0 ? ( In Stock ) : ( - Unavailable + Unavailable )} From 19ff52c4204580fbb6c7193d5f3134f866f3692b Mon Sep 17 00:00:00 2001 From: Basir Date: Sat, 26 Sep 2020 11:02:00 +0330 Subject: [PATCH 10/65] Video-11-Install-ESlint-For-Code-Linting --- .eslintrc.js | 23 + .gitignore | 5 +- README.md | 6 + frontend/.env | 1 + package-lock.json | 1354 --------------------------------------------- package.json | 4 +- 6 files changed, 36 insertions(+), 1357 deletions(-) create mode 100644 .eslintrc.js create mode 100644 frontend/.env delete mode 100644 package-lock.json diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 00000000..3a4a65f6 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,23 @@ +module.exports = { + "env": { + "browser": true, + "es2021": true, + "node": true + }, + "extends": [ + "eslint:recommended", + "plugin:react/recommended" + ], + "parserOptions": { + "ecmaFeatures": { + "jsx": true + }, + "ecmaVersion": 12, + "sourceType": "module" + }, + "plugins": [ + "react" + ], + "rules": { + } +}; diff --git a/.gitignore b/.gitignore index 3970bc18..96d46043 100644 --- a/.gitignore +++ b/.gitignore @@ -20,5 +20,6 @@ build npm-debug.log* yarn-debug.log* -yarn-error.log* -frontend/package-lock.json +yarn-error.log* +package-lock.json + diff --git a/README.md b/README.md index a0753e80..1ea2444f 100644 --- a/README.md +++ b/README.md @@ -72,3 +72,9 @@ 8. create Loading Component 9. create Message Box Component 10. use them in HomeScreen +11. Install ESlint For Code Linting + 1. install VSCode eslint extension + 2. npm install -D eslint + 3. run ./node_modules/.bin/eslint --init + 4. Create ./frontend/.env + 5. Add SKIP_PREFLIGHT_CHECK=true diff --git a/frontend/.env b/frontend/.env new file mode 100644 index 00000000..7d910f14 --- /dev/null +++ b/frontend/.env @@ -0,0 +1 @@ +SKIP_PREFLIGHT_CHECK=true \ No newline at end of file diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index b52c819b..00000000 --- a/package-lock.json +++ /dev/null @@ -1,1354 +0,0 @@ -{ - "name": "amazona", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", - "dev": true - }, - "@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "dev": true, - "requires": { - "defer-to-connect": "^1.0.1" - } - }, - "@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", - "dev": true - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, - "ansi-align": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", - "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", - "dev": true, - "requires": { - "string-width": "^3.0.0" - }, - "dependencies": { - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - } - } - }, - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", - "dev": true - }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - } - }, - "boxen": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", - "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", - "dev": true, - "requires": { - "ansi-align": "^3.0.0", - "camelcase": "^5.3.1", - "chalk": "^3.0.0", - "cli-boxes": "^2.2.0", - "string-width": "^4.1.0", - "term-size": "^2.1.0", - "type-fest": "^0.8.1", - "widest-line": "^3.1.0" - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" - }, - "cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", - "dev": true, - "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "dependencies": { - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "dev": true - } - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "chokidar": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz", - "integrity": "sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==", - "dev": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.4.0" - } - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", - "dev": true - }, - "clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "configstore": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", - "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "unique-string": "^2.0.0", - "write-file-atomic": "^3.0.0", - "xdg-basedir": "^4.0.0" - } - }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "requires": { - "safe-buffer": "5.1.2" - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" - }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true - }, - "defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", - "dev": true - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dev": true, - "requires": { - "is-obj": "^2.0.0" - } - }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", - "dev": true - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "escape-goat": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", - "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", - "dev": true - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" - }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - } - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "global-dirs": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.0.1.tgz", - "integrity": "sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A==", - "dev": true, - "requires": { - "ini": "^1.3.5" - } - }, - "got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "dev": true, - "requires": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - } - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "has-yarn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", - "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", - "dev": true - }, - "http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", - "dev": true - }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-by-default": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", - "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", - "dev": true - }, - "import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", - "dev": true - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "requires": { - "ci-info": "^2.0.0" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-installed-globally": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz", - "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==", - "dev": true, - "requires": { - "global-dirs": "^2.0.1", - "is-path-inside": "^3.0.1" - } - }, - "is-npm": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz", - "integrity": "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true - }, - "is-path-inside": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz", - "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==", - "dev": true - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-yarn-global": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", - "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", - "dev": true - }, - "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", - "dev": true - }, - "keyv": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", - "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", - "dev": true, - "requires": { - "json-buffer": "3.0.0" - } - }, - "latest-version": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", - "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", - "dev": true, - "requires": { - "package-json": "^6.3.0" - } - }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - }, - "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" - }, - "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", - "requires": { - "mime-db": "1.44.0" - } - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" - }, - "nodemon": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.4.tgz", - "integrity": "sha512-Ltced+hIfTmaS28Zjv1BM552oQ3dbwPqI4+zI0SLgq+wpJhSyqgYude/aZa/3i31VCQWMfXJVxvu86abcam3uQ==", - "dev": true, - "requires": { - "chokidar": "^3.2.2", - "debug": "^3.2.6", - "ignore-by-default": "^1.0.1", - "minimatch": "^3.0.4", - "pstree.remy": "^1.1.7", - "semver": "^5.7.1", - "supports-color": "^5.5.0", - "touch": "^3.1.0", - "undefsafe": "^2.0.2", - "update-notifier": "^4.0.0" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "nopt": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "normalize-url": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", - "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "requires": { - "ee-first": "1.1.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", - "dev": true - }, - "package-json": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", - "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", - "dev": true, - "requires": { - "got": "^9.6.0", - "registry-auth-token": "^4.0.0", - "registry-url": "^5.0.0", - "semver": "^6.2.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - }, - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true - }, - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "dev": true - }, - "proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", - "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.1" - } - }, - "pstree.remy": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", - "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", - "dev": true - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pupa": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.0.1.tgz", - "integrity": "sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA==", - "dev": true, - "requires": { - "escape-goat": "^2.0.0" - } - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - } - }, - "readdirp": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", - "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "registry-auth-token": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.0.tgz", - "integrity": "sha512-P+lWzPrsgfN+UEpDS3U8AQKg/UjZX6mQSJueZj3EK+vNESoqBSpBUD3gmu4sF9lOsjXWjF11dQKUqemf3veq1w==", - "dev": true, - "requires": { - "rc": "^1.2.8" - } - }, - "registry-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", - "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", - "dev": true, - "requires": { - "rc": "^1.2.8" - } - }, - "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "dev": true, - "requires": { - "lowercase-keys": "^1.0.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "semver-diff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", - "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", - "dev": true, - "requires": { - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "dependencies": { - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - } - } - }, - "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - } - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "term-size": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.0.tgz", - "integrity": "sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==", - "dev": true - }, - "to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" - }, - "touch": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", - "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", - "dev": true, - "requires": { - "nopt": "~1.0.10" - } - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "undefsafe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.3.tgz", - "integrity": "sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A==", - "dev": true, - "requires": { - "debug": "^2.2.0" - } - }, - "unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "dev": true, - "requires": { - "crypto-random-string": "^2.0.0" - } - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - }, - "update-notifier": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.1.tgz", - "integrity": "sha512-9y+Kds0+LoLG6yN802wVXoIfxYEwh3FlZwzMwpCZp62S2i1/Jzeqb9Eeeju3NSHccGGasfGlK5/vEHbAifYRDg==", - "dev": true, - "requires": { - "boxen": "^4.2.0", - "chalk": "^3.0.0", - "configstore": "^5.0.1", - "has-yarn": "^2.1.0", - "import-lazy": "^2.1.0", - "is-ci": "^2.0.0", - "is-installed-globally": "^0.3.1", - "is-npm": "^4.0.0", - "is-yarn-global": "^0.3.0", - "latest-version": "^5.0.0", - "pupa": "^2.0.1", - "semver-diff": "^3.1.1", - "xdg-basedir": "^4.0.0" - } - }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "dev": true, - "requires": { - "prepend-http": "^2.0.0" - } - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" - }, - "widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "dev": true, - "requires": { - "string-width": "^4.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", - "dev": true - } - } -} diff --git a/package.json b/package.json index 0b439d34..1195f506 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "amazona", "type": "module", "version": "1.0.0", - "description": "1. Introduction to this course 1. what you will build 2. what you will learn 3. who are audiences 2. Install Tools 1. Code Editor 2. Web Browser 3. VS Code Extension 3. Website Template 1. Create amazona folder 2. create template folder 3. create index.html 4. add default HTML code 5. link to style.css 6. create header, main and footer 7. style elements 4. Display Products 1. create products div 2. add product attributes 3. add link, image, name and price 5. Create React App 1. npx create-react-app frontend 2. npm start 3. Remove unused files 4. copy index.html content to App.js 5. copy style.css content to index.css 6. replace class with className 6. Share Code On Github 1. Initialize git repository 2. Commit changes 3. Create github account 4. Create repo on github 5. connect local repo to github repo 6. push changes to github 7. Create Rating and Product Component 1. create components/Rating.js 2. create div.rating 3. style div.rating, span and last span 4. Create Product component 5. Use Rating component 8. Build Product Screen 1. Install react-router-dom 2. Use BrowserRouter and Route for Home Screen 3. Create HomeScreen.js 4. Add product list code there 5. Create ProductScreen.js 6. Add new Route from product details to App.js 7. Create 3 columns for product image, info and action 9. Create Node.JS Server 1. run npm init in root folder 2. Update package.json set type: module 3. Add .js to imports 4. npm install express 5. create server.js 6. add start command as node backend/server.js 7. require express 8. create route for / return backend is ready. 9. move products.js from frontend to backend 10. create route for /api/products 11. return products 12. run npm start", + "description": "Ecommerce website like amazon", "main": "index.js", "scripts": { "start": "nodemon --watch backend --exec node --experimental-modules backend/server.js" @@ -21,6 +21,8 @@ "express": "^4.17.1" }, "devDependencies": { + "eslint": "^7.9.0", + "eslint-plugin-react": "^7.21.2", "nodemon": "^2.0.4" } } From db8dc3fa07f82efd8d470e7a15387c003fa47e1f Mon Sep 17 00:00:00 2001 From: Basir Date: Sat, 26 Sep 2020 19:47:28 +0330 Subject: [PATCH 11/65] Video-12Add-Redux-To-Home-Screen --- README.md | 11 +++++++++ frontend/package.json | 5 +++- frontend/src/actions/productActions.js | 18 ++++++++++++++ frontend/src/constants/productConstants.js | 3 +++ frontend/src/index.js | 10 +++++--- frontend/src/reducers/productReducers.js | 21 ++++++++++++++++ frontend/src/screens/HomeScreen.js | 28 ++++++++-------------- frontend/src/store.js | 16 +++++++++++++ 8 files changed, 90 insertions(+), 22 deletions(-) create mode 100644 frontend/src/actions/productActions.js create mode 100644 frontend/src/constants/productConstants.js create mode 100644 frontend/src/reducers/productReducers.js create mode 100644 frontend/src/store.js diff --git a/README.md b/README.md index 1ea2444f..27d80325 100644 --- a/README.md +++ b/README.md @@ -78,3 +78,14 @@ 3. run ./node_modules/.bin/eslint --init 4. Create ./frontend/.env 5. Add SKIP_PREFLIGHT_CHECK=true +12. Add Redux to Home Screen + 1. npm install redux react-redux + 2. Create store.js + 3. initState= {products:[]} + 4. reducer = (state, action) => switch LOAD_PRODUCTS: {products: action.payload} + 5. export default createStore(reducer, initState) + 6. Edit HomeScreen.js + 7. shopName = useSelector(state=>state.products) + 8. const dispatch = useDispatch() + 9. useEffect(()=>dispatch({type: LOAD_PRODUCTS, payload: data}) + 10. Add store to index.js diff --git a/frontend/package.json b/frontend/package.json index c794d8b1..9c4c5929 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -10,8 +10,11 @@ "axios": "^0.20.0", "react": "^16.13.1", "react-dom": "^16.13.1", + "react-redux": "^7.2.1", "react-router-dom": "^5.2.0", - "react-scripts": "3.4.3" + "react-scripts": "3.4.3", + "redux": "^4.0.5", + "redux-thunk": "^2.3.0" }, "scripts": { "start": "react-scripts start", diff --git a/frontend/src/actions/productActions.js b/frontend/src/actions/productActions.js new file mode 100644 index 00000000..58b37326 --- /dev/null +++ b/frontend/src/actions/productActions.js @@ -0,0 +1,18 @@ +import Axios from 'axios'; +import { + PRODUCT_LIST_FAIL, + PRODUCT_LIST_REQUEST, + PRODUCT_LIST_SUCCESS, +} from '../constants/productConstants'; + +export const listProducts = () => async (dispatch) => { + dispatch({ + type: PRODUCT_LIST_REQUEST, + }); + try { + const { data } = await Axios.get('/api/products'); + dispatch({ type: PRODUCT_LIST_SUCCESS, payload: data }); + } catch (error) { + dispatch({ type: PRODUCT_LIST_FAIL, payload: error.message }); + } +}; diff --git a/frontend/src/constants/productConstants.js b/frontend/src/constants/productConstants.js new file mode 100644 index 00000000..6487f1ac --- /dev/null +++ b/frontend/src/constants/productConstants.js @@ -0,0 +1,3 @@ +export const PRODUCT_LIST_REQUEST = 'PRODUCT_LIST_REQUEST'; +export const PRODUCT_LIST_SUCCESS = 'PRODUCT_LIST_SUCCESS'; +export const PRODUCT_LIST_FAIL = 'PRODUCT_LIST_FAIL'; diff --git a/frontend/src/index.js b/frontend/src/index.js index f5185c1e..cddefc00 100644 --- a/frontend/src/index.js +++ b/frontend/src/index.js @@ -1,13 +1,17 @@ import React from 'react'; +import { Provider } from 'react-redux'; import ReactDOM from 'react-dom'; import './index.css'; import App from './App'; import * as serviceWorker from './serviceWorker'; +import store from './store'; ReactDOM.render( - - - , + + + + + , document.getElementById('root') ); diff --git a/frontend/src/reducers/productReducers.js b/frontend/src/reducers/productReducers.js new file mode 100644 index 00000000..d51ab8a7 --- /dev/null +++ b/frontend/src/reducers/productReducers.js @@ -0,0 +1,21 @@ +const { + PRODUCT_LIST_REQUEST, + PRODUCT_LIST_SUCCESS, + PRODUCT_LIST_FAIL, +} = require('../constants/productConstants'); + +export const productListReducer = ( + state = { loading: true, products: [] }, + action +) => { + switch (action.type) { + case PRODUCT_LIST_REQUEST: + return { loading: true }; + case PRODUCT_LIST_SUCCESS: + return { loading: false, products: action.payload }; + case PRODUCT_LIST_FAIL: + return { loading: false, error: action.payload }; + default: + return state; + } +}; diff --git a/frontend/src/screens/HomeScreen.js b/frontend/src/screens/HomeScreen.js index 9c421240..91bc2150 100644 --- a/frontend/src/screens/HomeScreen.js +++ b/frontend/src/screens/HomeScreen.js @@ -1,27 +1,19 @@ -import React, { useEffect, useState } from 'react'; -import axios from 'axios'; +import React, { useEffect } from 'react'; + import Product from '../components/Product'; import LoadingBox from '../components/LoadingBox'; import MessageBox from '../components/MessageBox'; +import { useDispatch, useSelector } from 'react-redux'; +import { listProducts } from '../actions/productActions'; export default function HomeScreen() { - const [products, setProducts] = useState([]); - const [loading, setLoading] = useState(false); - const [error, setError] = useState(false); + const dispatch = useDispatch(); + const productList = useSelector((state) => state.productList); + const { loading, error, products } = productList; + useEffect(() => { - const fecthData = async () => { - try { - setLoading(true); - const { data } = await axios.get('/api/products'); - setLoading(false); - setProducts(data); - } catch (err) { - setError(err.message); - setLoading(false); - } - }; - fecthData(); - }, []); + dispatch(listProducts()); + }, [dispatch]); return (
{loading ? ( diff --git a/frontend/src/store.js b/frontend/src/store.js new file mode 100644 index 00000000..46967322 --- /dev/null +++ b/frontend/src/store.js @@ -0,0 +1,16 @@ +import { createStore, compose, applyMiddleware, combineReducers } from 'redux'; +import thunk from 'redux-thunk'; +import { productListReducer } from './reducers/productReducers'; + +const initialState = {}; +const reducer = combineReducers({ + productList: productListReducer, +}); +const composeEnhancer = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; +const store = createStore( + reducer, + initialState, + composeEnhancer(applyMiddleware(thunk)) +); + +export default store; From 02a96b9bc22c9021285e3e9b077179ea6e43e7fe Mon Sep 17 00:00:00 2001 From: Basir Date: Sun, 27 Sep 2020 08:32:30 +0330 Subject: [PATCH 12/65] Video-13-Add-Redux-To-Product-Screen --- README.md | 5 + backend/server.js | 9 ++ frontend/src/actions/productActions.js | 19 +++ frontend/src/constants/productConstants.js | 4 + frontend/src/reducers/productReducers.js | 19 +++ frontend/src/screens/ProductScreen.js | 130 ++++++++++++--------- frontend/src/store.js | 6 +- 7 files changed, 136 insertions(+), 56 deletions(-) diff --git a/README.md b/README.md index 27d80325..311579ea 100644 --- a/README.md +++ b/README.md @@ -89,3 +89,8 @@ 8. const dispatch = useDispatch() 9. useEffect(()=>dispatch({type: LOAD_PRODUCTS, payload: data}) 10. Add store to index.js +13. Add Redux to Product Screen + 1. create product details constants, actions and reducers + 2. add reducer to store.js + 3. use action in ProductScreen.js + 4. add /api/product/:id to backend api diff --git a/backend/server.js b/backend/server.js index c585b370..64d958e7 100644 --- a/backend/server.js +++ b/backend/server.js @@ -3,6 +3,15 @@ import data from './data.js'; const app = express(); +app.get('/api/products/:id', (req, res) => { + const product = data.products.find((x) => x._id === req.params.id); + if (product) { + res.send(product); + } else { + res.status(404).send({ message: 'Product Not Found' }); + } +}); + app.get('/api/products', (req, res) => { res.send(data.products); }); diff --git a/frontend/src/actions/productActions.js b/frontend/src/actions/productActions.js index 58b37326..568252da 100644 --- a/frontend/src/actions/productActions.js +++ b/frontend/src/actions/productActions.js @@ -1,5 +1,8 @@ import Axios from 'axios'; import { + PRODUCT_DETAILS_FAIL, + PRODUCT_DETAILS_REQUEST, + PRODUCT_DETAILS_SUCCESS, PRODUCT_LIST_FAIL, PRODUCT_LIST_REQUEST, PRODUCT_LIST_SUCCESS, @@ -16,3 +19,19 @@ export const listProducts = () => async (dispatch) => { dispatch({ type: PRODUCT_LIST_FAIL, payload: error.message }); } }; + +export const detailsProduct = (productId) => async (dispatch) => { + dispatch({ type: PRODUCT_DETAILS_REQUEST, payload: productId }); + try { + const { data } = await Axios.get(`/api/products/${productId}`); + dispatch({ type: PRODUCT_DETAILS_SUCCESS, payload: data }); + } catch (error) { + dispatch({ + type: PRODUCT_DETAILS_FAIL, + payload: + error.response && error.response.data.message + ? error.response.data.message + : error.message, + }); + } +}; diff --git a/frontend/src/constants/productConstants.js b/frontend/src/constants/productConstants.js index 6487f1ac..8926212b 100644 --- a/frontend/src/constants/productConstants.js +++ b/frontend/src/constants/productConstants.js @@ -1,3 +1,7 @@ export const PRODUCT_LIST_REQUEST = 'PRODUCT_LIST_REQUEST'; export const PRODUCT_LIST_SUCCESS = 'PRODUCT_LIST_SUCCESS'; export const PRODUCT_LIST_FAIL = 'PRODUCT_LIST_FAIL'; + +export const PRODUCT_DETAILS_REQUEST = 'PRODUCT_DETAILS_REQUEST'; +export const PRODUCT_DETAILS_SUCCESS = 'PRODUCT_DETAILS_SUCCESS'; +export const PRODUCT_DETAILS_FAIL = 'PRODUCT_DETAILS_FAIL'; diff --git a/frontend/src/reducers/productReducers.js b/frontend/src/reducers/productReducers.js index d51ab8a7..62fe0d48 100644 --- a/frontend/src/reducers/productReducers.js +++ b/frontend/src/reducers/productReducers.js @@ -2,6 +2,9 @@ const { PRODUCT_LIST_REQUEST, PRODUCT_LIST_SUCCESS, PRODUCT_LIST_FAIL, + PRODUCT_DETAILS_REQUEST, + PRODUCT_DETAILS_SUCCESS, + PRODUCT_DETAILS_FAIL, } = require('../constants/productConstants'); export const productListReducer = ( @@ -19,3 +22,19 @@ export const productListReducer = ( return state; } }; + +export const productDetailsReducer = ( + state = { product: {}, loading: true }, + action +) => { + switch (action.type) { + case PRODUCT_DETAILS_REQUEST: + return { loading: true }; + case PRODUCT_DETAILS_SUCCESS: + return { loading: false, product: action.payload }; + case PRODUCT_DETAILS_FAIL: + return { loading: false, error: action.payload }; + default: + return state; + } +}; diff --git a/frontend/src/screens/ProductScreen.js b/frontend/src/screens/ProductScreen.js index 955c4d75..e507061a 100644 --- a/frontend/src/screens/ProductScreen.js +++ b/frontend/src/screens/ProductScreen.js @@ -1,66 +1,86 @@ -import React from 'react'; +import React, { useEffect } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; import { Link } from 'react-router-dom'; +import { detailsProduct } from '../actions/productActions'; +import LoadingBox from '../components/LoadingBox'; +import MessageBox from '../components/MessageBox'; import Rating from '../components/Rating'; -import data from '../data'; export default function ProductScreen(props) { - const product = data.products.find((x) => x._id === props.match.params.id); - if (!product) { - return
Product Not Found
; - } + const dispatch = useDispatch(); + const productId = props.match.params.id; + const productDetails = useSelector((state) => state.productDetails); + const { loading, error, product } = productDetails; + + useEffect(() => { + dispatch(detailsProduct(productId)); + }, [dispatch, productId]); + return (
- Back to result -
-
- {product.name} -
-
-
    -
  • -

    {product.name}

    -
  • -
  • - -
  • -
  • Pirce : ${product.price}
  • -
  • - Description: -

    {product.description}

    -
  • -
-
-
-
-
    -
  • -
    -
    Price
    -
    ${product.price}
    -
    -
  • -
  • -
    -
    Status
    -
    - {product.countInStock > 0 ? ( - In Stock - ) : ( - Unavailable - )} -
    -
    -
  • -
  • - -
  • -
+ {loading ? ( + + ) : error ? ( + {error} + ) : ( +
+ Back to result +
+
+ {product.name} +
+
+
    +
  • +

    {product.name}

    +
  • +
  • + +
  • +
  • Pirce : ${product.price}
  • +
  • + Description: +

    {product.description}

    +
  • +
+
+
+
+
    +
  • +
    +
    Price
    +
    ${product.price}
    +
    +
  • +
  • +
    +
    Status
    +
    + {product.countInStock > 0 ? ( + In Stock + ) : ( + Unavailable + )} +
    +
    +
  • +
  • + +
  • +
+
+
-
+ )}
); } diff --git a/frontend/src/store.js b/frontend/src/store.js index 46967322..ed1438dd 100644 --- a/frontend/src/store.js +++ b/frontend/src/store.js @@ -1,10 +1,14 @@ import { createStore, compose, applyMiddleware, combineReducers } from 'redux'; import thunk from 'redux-thunk'; -import { productListReducer } from './reducers/productReducers'; +import { + productDetailsReducer, + productListReducer, +} from './reducers/productReducers'; const initialState = {}; const reducer = combineReducers({ productList: productListReducer, + productDetails: productDetailsReducer, }); const composeEnhancer = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; const store = createStore( From 26a08c1d5e00bce07ac887a2f6726555a80f0131 Mon Sep 17 00:00:00 2001 From: Basir Date: Sun, 27 Sep 2020 10:34:16 +0330 Subject: [PATCH 13/65] Video-14-Handle-Add-To-Cart-Button --- README.md | 3 ++ frontend/src/App.js | 2 ++ frontend/src/index.css | 8 ++++++ frontend/src/screens/CartScreen.js | 16 +++++++++++ frontend/src/screens/ProductScreen.js | 41 +++++++++++++++++++++++---- 5 files changed, 65 insertions(+), 5 deletions(-) create mode 100644 frontend/src/screens/CartScreen.js diff --git a/README.md b/README.md index 311579ea..083c0c49 100644 --- a/README.md +++ b/README.md @@ -94,3 +94,6 @@ 2. add reducer to store.js 3. use action in ProductScreen.js 4. add /api/product/:id to backend api +14. Handle Add To Cart Button + 1. Handle Add To Cart in ProductScreen.js + 2. create CartScreen.js diff --git a/frontend/src/App.js b/frontend/src/App.js index 7b5a249a..e68378fb 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -1,5 +1,6 @@ import React from 'react'; import { BrowserRouter, Route } from 'react-router-dom'; +import CartScreen from './screens/CartScreen'; import HomeScreen from './screens/HomeScreen'; import ProductScreen from './screens/ProductScreen'; @@ -19,6 +20,7 @@ function App() {
+
diff --git a/frontend/src/index.css b/frontend/src/index.css index 15752c41..bb2783b4 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -62,6 +62,9 @@ ul { li { margin-top: 1rem; } +input, +select, +textarea, button { padding: 1rem; border-radius: 0.5rem; @@ -70,9 +73,14 @@ button { font-family: Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; +} +button { background-color: #f8f8f8; cursor: pointer; } +input:hover, +select:hover, +textarea:hover, button:hover { border: 0.1rem #404040 solid; } diff --git a/frontend/src/screens/CartScreen.js b/frontend/src/screens/CartScreen.js new file mode 100644 index 00000000..1b0b3dd4 --- /dev/null +++ b/frontend/src/screens/CartScreen.js @@ -0,0 +1,16 @@ +import React from 'react'; + +export default function CartScreen(props) { + const productId = props.match.params.id; + const qty = props.location.search + ? Number(props.location.search.split('=')[1]) + : 1; + return ( +
+

Cart Screen

+

+ ADD TO CART : ProductID: {productId} Qty: {qty} +

+
+ ); +} diff --git a/frontend/src/screens/ProductScreen.js b/frontend/src/screens/ProductScreen.js index e507061a..040b92f8 100644 --- a/frontend/src/screens/ProductScreen.js +++ b/frontend/src/screens/ProductScreen.js @@ -1,4 +1,4 @@ -import React, { useEffect } from 'react'; +import React, { useEffect, useState } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { Link } from 'react-router-dom'; import { detailsProduct } from '../actions/productActions'; @@ -9,13 +9,16 @@ import Rating from '../components/Rating'; export default function ProductScreen(props) { const dispatch = useDispatch(); const productId = props.match.params.id; + const [qty, setQty] = useState(1); const productDetails = useSelector((state) => state.productDetails); const { loading, error, product } = productDetails; useEffect(() => { dispatch(detailsProduct(productId)); }, [dispatch, productId]); - + const addToCartHandler = () => { + props.history.push(`/cart/${productId}?qty=${qty}`); + }; return (
{loading ? ( @@ -72,9 +75,37 @@ export default function ProductScreen(props) {
-
  • - -
  • + {product.countInStock > 0 && ( + <> +
  • +
    +
    Qty
    +
    + +
    +
    +
  • +
  • + +
  • + + )}
    From f500612bb2b948264321fb0482c0969d07f35499 Mon Sep 17 00:00:00 2001 From: Basir Date: Tue, 29 Sep 2020 12:31:16 +0330 Subject: [PATCH 14/65] Video-15-Implement-Add-To-Cart-Action --- README.md | 5 +++++ frontend/src/App.js | 19 ++++++++++++++----- frontend/src/actions/cartActions.js | 18 ++++++++++++++++++ frontend/src/components/Product.js | 9 +++++---- frontend/src/constants/cartConstants.js | 1 + frontend/src/index.css | 8 ++++++++ frontend/src/reducers/cartReducers.js | 21 +++++++++++++++++++++ frontend/src/screens/CartScreen.js | 10 +++++++++- frontend/src/store.js | 10 +++++++++- 9 files changed, 90 insertions(+), 11 deletions(-) create mode 100644 frontend/src/actions/cartActions.js create mode 100644 frontend/src/constants/cartConstants.js create mode 100644 frontend/src/reducers/cartReducers.js diff --git a/README.md b/README.md index 083c0c49..13817984 100644 --- a/README.md +++ b/README.md @@ -97,3 +97,8 @@ 14. Handle Add To Cart Button 1. Handle Add To Cart in ProductScreen.js 2. create CartScreen.js +15. Implement Add to Cart Action + 1. create addToCart constants, actions and reducers + 2. add reducer to store.js + 3. use action in CartScreen.js + 4. render cartItems.length diff --git a/frontend/src/App.js b/frontend/src/App.js index e68378fb..30bb51a1 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -1,22 +1,31 @@ import React from 'react'; -import { BrowserRouter, Route } from 'react-router-dom'; +import { useSelector } from 'react-redux'; +import { BrowserRouter, Link, Route } from 'react-router-dom'; import CartScreen from './screens/CartScreen'; import HomeScreen from './screens/HomeScreen'; import ProductScreen from './screens/ProductScreen'; function App() { + const cart = useSelector((state) => state.cart); + const { cartItems } = cart; + return (
    - Cart - Sign In + + Cart + {cartItems.length > 0 && ( + {cartItems.length} + )} + + Sign In
    diff --git a/frontend/src/actions/cartActions.js b/frontend/src/actions/cartActions.js new file mode 100644 index 00000000..138d1718 --- /dev/null +++ b/frontend/src/actions/cartActions.js @@ -0,0 +1,18 @@ +import Axios from 'axios'; +import { CART_ADD_ITEM } from '../constants/cartConstants'; + +export const addToCart = (productId, qty) => async (dispatch, getState) => { + const { data } = await Axios.get(`/api/products/${productId}`); + dispatch({ + type: CART_ADD_ITEM, + payload: { + name: data.name, + image: data.image, + price: data.price, + countInStock: data.countInStock, + product: data._id, + qty, + }, + }); + localStorage.setItem('cartItems', JSON.stringify(getState().cart.cartItems)); +}; diff --git a/frontend/src/components/Product.js b/frontend/src/components/Product.js index 5a05203a..b59245ad 100644 --- a/frontend/src/components/Product.js +++ b/frontend/src/components/Product.js @@ -1,17 +1,18 @@ import React from 'react'; +import { Link } from 'react-router-dom'; import Rating from './Rating'; export default function Product(props) { const { product } = props; return (
    - + {product.name} - +
    - +

    {product.name}

    -
    + { + switch (action.type) { + case CART_ADD_ITEM: + const item = action.payload; + const existItem = state.cartItems.find((x) => x.product === item.product); + if (existItem) { + return { + ...state, + cartItems: state.cartItems.map((x) => + x.product === existItem.product ? item : x + ), + }; + } else { + return { ...state, cartItems: [...state.cartItems, item] }; + } + default: + return state; + } +}; diff --git a/frontend/src/screens/CartScreen.js b/frontend/src/screens/CartScreen.js index 1b0b3dd4..8e652e95 100644 --- a/frontend/src/screens/CartScreen.js +++ b/frontend/src/screens/CartScreen.js @@ -1,10 +1,18 @@ -import React from 'react'; +import React, { useEffect } from 'react'; +import { useDispatch } from 'react-redux'; +import { addToCart } from '../actions/cartActions'; export default function CartScreen(props) { const productId = props.match.params.id; const qty = props.location.search ? Number(props.location.search.split('=')[1]) : 1; + const dispatch = useDispatch(); + useEffect(() => { + if (productId) { + dispatch(addToCart(productId, qty)); + } + }, [dispatch, productId, qty]); return (

    Cart Screen

    diff --git a/frontend/src/store.js b/frontend/src/store.js index ed1438dd..603a8bd9 100644 --- a/frontend/src/store.js +++ b/frontend/src/store.js @@ -1,14 +1,22 @@ import { createStore, compose, applyMiddleware, combineReducers } from 'redux'; import thunk from 'redux-thunk'; +import { cartReducer } from './reducers/cartReducers'; import { productDetailsReducer, productListReducer, } from './reducers/productReducers'; -const initialState = {}; +const initialState = { + cart: { + cartItems: localStorage.getItem('cartItems') + ? JSON.parse(localStorage.getItem('cartItems')) + : [], + }, +}; const reducer = combineReducers({ productList: productListReducer, productDetails: productDetailsReducer, + cart: cartReducer, }); const composeEnhancer = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; const store = createStore( From 171d18c1524455ef07022e881763c8b62aef747b Mon Sep 17 00:00:00 2001 From: Basir Date: Tue, 29 Sep 2020 13:36:05 +0330 Subject: [PATCH 15/65] Video-16-Build-Cart-Screen --- README.md | 6 ++ frontend/src/index.css | 7 +++ frontend/src/screens/CartScreen.js | 94 ++++++++++++++++++++++++++++-- 3 files changed, 101 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 13817984..59edc9d0 100644 --- a/README.md +++ b/README.md @@ -102,3 +102,9 @@ 2. add reducer to store.js 3. use action in CartScreen.js 4. render cartItems.length +16. Build Cart Screen + 1. create 2 columns for cart items and cart action + 2. cartItems.length === 0 ? cart is empty + 3. show item image, name, qty and price + 4. Proceed to Checkout button + 5. Implement remove from cart action diff --git a/frontend/src/index.css b/frontend/src/index.css index b0052cb0..34ca549c 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -126,11 +126,18 @@ a.brand { .col-2 { flex: 2 1 50rem; } +.min-30 { + min-width: 30rem; +} /* Image */ img { border-radius: 0.5rem; } +img.small { + max-width: 5rem; + width: 100%; +} img.medium { max-width: 29rem; width: 100%; diff --git a/frontend/src/screens/CartScreen.js b/frontend/src/screens/CartScreen.js index 8e652e95..5ace183c 100644 --- a/frontend/src/screens/CartScreen.js +++ b/frontend/src/screens/CartScreen.js @@ -1,24 +1,106 @@ import React, { useEffect } from 'react'; -import { useDispatch } from 'react-redux'; +import { useDispatch, useSelector } from 'react-redux'; +import { Link } from 'react-router-dom'; import { addToCart } from '../actions/cartActions'; +import MessageBox from '../components/MessageBox'; export default function CartScreen(props) { const productId = props.match.params.id; const qty = props.location.search ? Number(props.location.search.split('=')[1]) : 1; + const cart = useSelector((state) => state.cart); + const { cartItems } = cart; const dispatch = useDispatch(); useEffect(() => { if (productId) { dispatch(addToCart(productId, qty)); } }, [dispatch, productId, qty]); + + const removeFromCartHandler = (id) => { + // delete action + }; + + const checkoutHandler = () => { + props.history.push('/signin?redirect=shipping'); + }; return ( -
    -

    Cart Screen

    -

    - ADD TO CART : ProductID: {productId} Qty: {qty} -

    +
    +
    +

    Shopping Cart

    + {cartItems.length === 0 ? ( + + Cart is empty. Go Shopping + + ) : ( +
      + {cartItems.map((item) => ( +
    • +
      +
      + {item.name} +
      +
      + {item.name} +
      +
      + +
      +
      ${item.price}
      +
      + +
      +
      +
    • + ))} +
    + )} +
    +
    +
    +
      +
    • +

      + Subtotal ({cartItems.reduce((a, c) => a + c.qty, 0)} items) : $ + {cartItems.reduce((a, c) => a + c.price * c.qty, 0)} +

      +
    • +
    • + +
    • +
    +
    +
    ); } From 937e2e1b8d37b2131627f5603d1aa08e191f1f7d Mon Sep 17 00:00:00 2001 From: Basir Date: Tue, 29 Sep 2020 19:38:30 +0330 Subject: [PATCH 16/65] Video-17-Implement-Remove-From-Cart-Action --- README.md | 4 ++++ frontend/src/actions/cartActions.js | 7 ++++++- frontend/src/constants/cartConstants.js | 1 + frontend/src/reducers/cartReducers.js | 7 ++++++- frontend/src/screens/CartScreen.js | 3 ++- 5 files changed, 19 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 59edc9d0..e5278039 100644 --- a/README.md +++ b/README.md @@ -108,3 +108,7 @@ 3. show item image, name, qty and price 4. Proceed to Checkout button 5. Implement remove from cart action +17. Implement Remove From Cart Action + 1. create removeFromCart constants, actions and reducers + 2. add reducer to store.js + 3. use action in CartScreen.js diff --git a/frontend/src/actions/cartActions.js b/frontend/src/actions/cartActions.js index 138d1718..6e28e3c4 100644 --- a/frontend/src/actions/cartActions.js +++ b/frontend/src/actions/cartActions.js @@ -1,5 +1,5 @@ import Axios from 'axios'; -import { CART_ADD_ITEM } from '../constants/cartConstants'; +import { CART_ADD_ITEM, CART_REMOVE_ITEM } from '../constants/cartConstants'; export const addToCart = (productId, qty) => async (dispatch, getState) => { const { data } = await Axios.get(`/api/products/${productId}`); @@ -16,3 +16,8 @@ export const addToCart = (productId, qty) => async (dispatch, getState) => { }); localStorage.setItem('cartItems', JSON.stringify(getState().cart.cartItems)); }; + +export const removeFromCart = (productId) => (dispatch, getState) => { + dispatch({ type: CART_REMOVE_ITEM, payload: productId }); + localStorage.setItem('cartItems', JSON.stringify(getState().cart.cartItems)); +}; diff --git a/frontend/src/constants/cartConstants.js b/frontend/src/constants/cartConstants.js index e648b22f..a8ed5e88 100644 --- a/frontend/src/constants/cartConstants.js +++ b/frontend/src/constants/cartConstants.js @@ -1 +1,2 @@ export const CART_ADD_ITEM = 'CART_ADD_ITEM'; +export const CART_REMOVE_ITEM = 'CART_REMOVE_ITEM'; diff --git a/frontend/src/reducers/cartReducers.js b/frontend/src/reducers/cartReducers.js index a43474d4..74bd5e91 100644 --- a/frontend/src/reducers/cartReducers.js +++ b/frontend/src/reducers/cartReducers.js @@ -1,4 +1,4 @@ -import { CART_ADD_ITEM } from '../constants/cartConstants'; +import { CART_ADD_ITEM, CART_REMOVE_ITEM } from '../constants/cartConstants'; export const cartReducer = (state = { cartItems: [] }, action) => { switch (action.type) { @@ -15,6 +15,11 @@ export const cartReducer = (state = { cartItems: [] }, action) => { } else { return { ...state, cartItems: [...state.cartItems, item] }; } + case CART_REMOVE_ITEM: + return { + ...state, + cartItems: state.cartItems.filter((x) => x.product !== action.payload), + }; default: return state; } diff --git a/frontend/src/screens/CartScreen.js b/frontend/src/screens/CartScreen.js index 5ace183c..04217060 100644 --- a/frontend/src/screens/CartScreen.js +++ b/frontend/src/screens/CartScreen.js @@ -1,7 +1,7 @@ import React, { useEffect } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { Link } from 'react-router-dom'; -import { addToCart } from '../actions/cartActions'; +import { addToCart, removeFromCart } from '../actions/cartActions'; import MessageBox from '../components/MessageBox'; export default function CartScreen(props) { @@ -20,6 +20,7 @@ export default function CartScreen(props) { const removeFromCartHandler = (id) => { // delete action + dispatch(removeFromCart(id)); }; const checkoutHandler = () => { From b5b6030d835bc53058e978d20c228b792b591e94 Mon Sep 17 00:00:00 2001 From: Basir Date: Wed, 30 Sep 2020 18:10:06 +0330 Subject: [PATCH 17/65] Video-18-Create-Sample-Users-In-MongoDB --- README.md | 12 ++++++++++++ backend/data.js | 16 ++++++++++++++++ backend/models/userModel.js | 15 +++++++++++++++ backend/routers/userRouter.js | 17 +++++++++++++++++ backend/server.js | 14 +++++++++++++- package.json | 5 ++++- 6 files changed, 77 insertions(+), 2 deletions(-) create mode 100644 backend/models/userModel.js create mode 100644 backend/routers/userRouter.js diff --git a/README.md b/README.md index e5278039..cbc052d1 100644 --- a/README.md +++ b/README.md @@ -112,3 +112,15 @@ 1. create removeFromCart constants, actions and reducers 2. add reducer to store.js 3. use action in CartScreen.js +18. Create Sample Users In MongoDB + 1. npm install mongoose + 2. connect to mongodb + 3. create config.js + 4. npm install dotenv + 5. export MONGODB_URL + 6. create models/userModel.js + 7. create userSchema and userModel + 8. create models/productModel.js + 9. create productSchema and productModel + 10. create userRoute + 11. Seed sample data diff --git a/backend/data.js b/backend/data.js index cdc897d4..1947b38f 100644 --- a/backend/data.js +++ b/backend/data.js @@ -1,4 +1,20 @@ +import bcrypt from 'bcryptjs'; + const data = { + users: [ + { + name: 'Basir', + email: 'admin@example.com', + password: bcrypt.hashSync('1234', 8), + isAdmin: true, + }, + { + name: 'John', + email: 'user@example.com', + password: bcrypt.hashSync('1234', 8), + isAdmin: false, + }, + ], products: [ { _id: '1', diff --git a/backend/models/userModel.js b/backend/models/userModel.js new file mode 100644 index 00000000..35ddc82c --- /dev/null +++ b/backend/models/userModel.js @@ -0,0 +1,15 @@ +import mongoose from 'mongoose'; + +const userSchema = new mongoose.Schema( + { + name: { type: String, required: true }, + email: { type: String, required: true, unique: true }, + password: { type: String, required: true }, + isAdmin: { type: Boolean, default: false, required: true }, + }, + { + timestamps: true, + } +); +const User = mongoose.model('User', userSchema); +export default User; diff --git a/backend/routers/userRouter.js b/backend/routers/userRouter.js new file mode 100644 index 00000000..a5190928 --- /dev/null +++ b/backend/routers/userRouter.js @@ -0,0 +1,17 @@ +import express from 'express'; +import expressAsyncHandler from 'express-async-handler'; +import data from '../data.js'; +import User from '../models/userModel.js'; + +const userRouter = express.Router(); + +userRouter.get( + '/seed', + expressAsyncHandler(async (req, res) => { + // await User.remove({}); + const createdUsers = await User.insertMany(data.users); + res.send({ createdUsers }); + }) +); + +export default userRouter; diff --git a/backend/server.js b/backend/server.js index 64d958e7..e9384e6c 100644 --- a/backend/server.js +++ b/backend/server.js @@ -1,7 +1,14 @@ import express from 'express'; +import mongoose from 'mongoose'; import data from './data.js'; +import userRouter from './routers/userRouter.js'; const app = express(); +mongoose.connect(process.env.MONGODB_URL || 'mongodb://localhost/amazona', { + useNewUrlParser: true, + useUnifiedTopology: true, + useCreateIndex: true, +}); app.get('/api/products/:id', (req, res) => { const product = data.products.find((x) => x._id === req.params.id); @@ -15,10 +22,15 @@ app.get('/api/products/:id', (req, res) => { app.get('/api/products', (req, res) => { res.send(data.products); }); - +app.use('/api/users', userRouter); app.get('/', (req, res) => { res.send('Server is ready'); }); + +app.use((err, req, res, next) => { + res.status(500).send({ message: err.message }); +}); + const port = process.env.PORT || 5000; app.listen(port, () => { console.log(`Serve at http://localhost:${port}`); diff --git a/package.json b/package.json index 1195f506..4347fa37 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,10 @@ }, "homepage": "https://github.com/basir/amazona#readme", "dependencies": { - "express": "^4.17.1" + "bcryptjs": "^2.4.3", + "express": "^4.17.1", + "express-async-handler": "^1.1.4", + "mongoose": "^5.10.7" }, "devDependencies": { "eslint": "^7.9.0", From d2e320d474b74d167048e7679a13e9b58d5ec257 Mon Sep 17 00:00:00 2001 From: Basir Date: Wed, 30 Sep 2020 19:27:17 +0330 Subject: [PATCH 18/65] Video-19-Create-Sample-Products-In-MongoDB --- README.md | 11 ++++++---- backend/data.js | 6 ------ backend/models/productModel.js | 21 ++++++++++++++++++ backend/routers/productRouter.js | 37 ++++++++++++++++++++++++++++++++ backend/server.js | 15 ++----------- 5 files changed, 67 insertions(+), 23 deletions(-) create mode 100644 backend/models/productModel.js create mode 100644 backend/routers/productRouter.js diff --git a/README.md b/README.md index cbc052d1..6f5ce37a 100644 --- a/README.md +++ b/README.md @@ -120,7 +120,10 @@ 5. export MONGODB_URL 6. create models/userModel.js 7. create userSchema and userModel - 8. create models/productModel.js - 9. create productSchema and productModel - 10. create userRoute - 11. Seed sample data + 8. create userRoute + 9. Seed sample data +19. Create Sample Products In MongoDB + 1. create models/productModel.js + 2. create productSchema and productModel + 3. create productRoute + 4. Seed sample data diff --git a/backend/data.js b/backend/data.js index 1947b38f..e52201b7 100644 --- a/backend/data.js +++ b/backend/data.js @@ -17,7 +17,6 @@ const data = { ], products: [ { - _id: '1', name: 'Nike Slim Shirt', category: 'Shirts', image: '/images/p1.jpg', @@ -29,7 +28,6 @@ const data = { description: 'high quality product', }, { - _id: '2', name: 'Adidas Fit Shirt', category: 'Shirts', image: '/images/p2.jpg', @@ -41,7 +39,6 @@ const data = { description: 'high quality product', }, { - _id: '3', name: 'Lacoste Free Shirt', category: 'Shirts', image: '/images/p3.jpg', @@ -53,7 +50,6 @@ const data = { description: 'high quality product', }, { - _id: '4', name: 'Nike Slim Pant', category: 'Pants', image: '/images/p4.jpg', @@ -65,7 +61,6 @@ const data = { description: 'high quality product', }, { - _id: '5', name: 'Puma Slim Pant', category: 'Pants', image: '/images/p5.jpg', @@ -77,7 +72,6 @@ const data = { description: 'high quality product', }, { - _id: '6', name: 'Adidas Fit Pant', category: 'Pants', image: '/images/p6.jpg', diff --git a/backend/models/productModel.js b/backend/models/productModel.js new file mode 100644 index 00000000..5ba9d346 --- /dev/null +++ b/backend/models/productModel.js @@ -0,0 +1,21 @@ +import mongoose from 'mongoose'; + +const productSchema = new mongoose.Schema( + { + name: { type: String, required: true, unique: true }, + image: { type: String, required: true }, + brand: { type: String, required: true }, + category: { type: String, required: true }, + description: { type: String, required: true }, + price: { type: Number, required: true }, + countInStock: { type: Number, required: true }, + rating: { type: Number, required: true }, + numReviews: { type: Number, required: true }, + }, + { + timestamps: true, + } +); +const Product = mongoose.model('Product', productSchema); + +export default Product; diff --git a/backend/routers/productRouter.js b/backend/routers/productRouter.js new file mode 100644 index 00000000..0ad1dec0 --- /dev/null +++ b/backend/routers/productRouter.js @@ -0,0 +1,37 @@ +import express from 'express'; +import expressAsyncHandler from 'express-async-handler'; +import data from '../data.js'; +import Product from '../models/productModel.js'; + +const productRouter = express.Router(); + +productRouter.get( + '/', + expressAsyncHandler(async (req, res) => { + const products = await Product.find({}); + res.send(products); + }) +); + +productRouter.get( + '/seed', + expressAsyncHandler(async (req, res) => { + // await Product.remove({}); + const createdProducts = await Product.insertMany(data.products); + res.send({ createdProducts }); + }) +); + +productRouter.get( + '/:id', + expressAsyncHandler(async (req, res) => { + const product = await Product.findById(req.params.id); + if (product) { + res.send(product); + } else { + res.status(404).send({ message: 'Product Not Found' }); + } + }) +); + +export default productRouter; diff --git a/backend/server.js b/backend/server.js index e9384e6c..23fe25ef 100644 --- a/backend/server.js +++ b/backend/server.js @@ -1,6 +1,6 @@ import express from 'express'; import mongoose from 'mongoose'; -import data from './data.js'; +import productRouter from './routers/productRouter.js'; import userRouter from './routers/userRouter.js'; const app = express(); @@ -10,19 +10,8 @@ mongoose.connect(process.env.MONGODB_URL || 'mongodb://localhost/amazona', { useCreateIndex: true, }); -app.get('/api/products/:id', (req, res) => { - const product = data.products.find((x) => x._id === req.params.id); - if (product) { - res.send(product); - } else { - res.status(404).send({ message: 'Product Not Found' }); - } -}); - -app.get('/api/products', (req, res) => { - res.send(data.products); -}); app.use('/api/users', userRouter); +app.use('/api/products', productRouter); app.get('/', (req, res) => { res.send('Server is ready'); }); From 1dbcdf16392d656c7081f10d7ab5b123194cf36b Mon Sep 17 00:00:00 2001 From: Basir Date: Thu, 1 Oct 2020 11:09:48 +0330 Subject: [PATCH 19/65] Video-20-Implement-Signin-Backend --- .gitignore | 1 + README.md | 8 ++++++++ backend/routers/userRouter.js | 22 ++++++++++++++++++++++ backend/server.js | 6 ++++++ backend/utils.js | 16 ++++++++++++++++ package.json | 2 ++ 6 files changed, 55 insertions(+) create mode 100644 backend/utils.js diff --git a/.gitignore b/.gitignore index 96d46043..c97809a4 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,4 @@ yarn-debug.log* yarn-error.log* package-lock.json +.env diff --git a/README.md b/README.md index 6f5ce37a..a24c8361 100644 --- a/README.md +++ b/README.md @@ -127,3 +127,11 @@ 2. create productSchema and productModel 3. create productRoute 4. Seed sample data +20. Create Sign-in Backend + 1. create /signin api + 2. check email and password + 3. generate token + 4. install json web token + 5. install dotenv + 6. return token and data + 7. test it using postman diff --git a/backend/routers/userRouter.js b/backend/routers/userRouter.js index a5190928..9d6a4429 100644 --- a/backend/routers/userRouter.js +++ b/backend/routers/userRouter.js @@ -1,7 +1,9 @@ import express from 'express'; import expressAsyncHandler from 'express-async-handler'; +import bcrypt from 'bcryptjs'; import data from '../data.js'; import User from '../models/userModel.js'; +import { generateToken } from '../utils.js'; const userRouter = express.Router(); @@ -14,4 +16,24 @@ userRouter.get( }) ); +userRouter.post( + '/signin', + expressAsyncHandler(async (req, res) => { + const user = await User.findOne({ email: req.body.email }); + if (user) { + if (bcrypt.compareSync(req.body.password, user.password)) { + res.send({ + _id: user._id, + name: user.name, + email: user.email, + isAdmin: user.isAdmin, + token: generateToken(user), + }); + return; + } + } + res.status(401).send({ message: 'Invalid email or password' }); + }) +); + export default userRouter; diff --git a/backend/server.js b/backend/server.js index 23fe25ef..3b9e54e8 100644 --- a/backend/server.js +++ b/backend/server.js @@ -1,9 +1,15 @@ import express from 'express'; import mongoose from 'mongoose'; +import dotenv from 'dotenv'; import productRouter from './routers/productRouter.js'; import userRouter from './routers/userRouter.js'; +dotenv.config(); + const app = express(); +app.use(express.json()); +app.use(express.urlencoded({ extended: true })); + mongoose.connect(process.env.MONGODB_URL || 'mongodb://localhost/amazona', { useNewUrlParser: true, useUnifiedTopology: true, diff --git a/backend/utils.js b/backend/utils.js new file mode 100644 index 00000000..0c19e7de --- /dev/null +++ b/backend/utils.js @@ -0,0 +1,16 @@ +import jwt from 'jsonwebtoken'; + +export const generateToken = (user) => { + return jwt.sign( + { + _id: user._id, + name: user.name, + email: user.email, + isAdmin: user.isAdmin, + }, + process.env.JWT_SECRET || 'somethingsecret', + { + expiresIn: '30d', + } + ); +}; diff --git a/package.json b/package.json index 4347fa37..0a83a314 100644 --- a/package.json +++ b/package.json @@ -19,8 +19,10 @@ "homepage": "https://github.com/basir/amazona#readme", "dependencies": { "bcryptjs": "^2.4.3", + "dotenv": "^8.2.0", "express": "^4.17.1", "express-async-handler": "^1.1.4", + "jsonwebtoken": "^8.5.1", "mongoose": "^5.10.7" }, "devDependencies": { From aca2ecabe46a034becc854eeb48d33405af0cd85 Mon Sep 17 00:00:00 2001 From: Basir Date: Fri, 2 Oct 2020 10:48:42 +0330 Subject: [PATCH 20/65] Video-21-Design-Signin-Screen --- README.md | 5 +++ frontend/src/App.js | 2 ++ frontend/src/index.css | 14 ++++++++ frontend/src/screens/SigninScreen.js | 52 ++++++++++++++++++++++++++++ 4 files changed, 73 insertions(+) create mode 100644 frontend/src/screens/SigninScreen.js diff --git a/README.md b/README.md index a24c8361..aab096a7 100644 --- a/README.md +++ b/README.md @@ -135,3 +135,8 @@ 5. install dotenv 6. return token and data 7. test it using postman +21. Design SignIn Screen + 1. create SigninScreen + 2. render email and password fields + 3. create signin constants, actions and reducers + 4. Update Header based on user login diff --git a/frontend/src/App.js b/frontend/src/App.js index 30bb51a1..a304a333 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -4,6 +4,7 @@ import { BrowserRouter, Link, Route } from 'react-router-dom'; import CartScreen from './screens/CartScreen'; import HomeScreen from './screens/HomeScreen'; import ProductScreen from './screens/ProductScreen'; +import SigninScreen from './screens/SigninScreen'; function App() { const cart = useSelector((state) => state.cart); @@ -31,6 +32,7 @@ function App() {
    +
    All right reserved
    diff --git a/frontend/src/index.css b/frontend/src/index.css index 34ca549c..bc39e356 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -190,3 +190,17 @@ img.large { color: #a02020; background-color: #ffe0e0; } +/* Form */ +.form { + max-width: 60rem; + margin: 0 auto; +} +.form > div { + display: flex; + flex-direction: column; + margin: 1rem; +} +.form label { + margin: 1rem 0; + display: block; +} diff --git a/frontend/src/screens/SigninScreen.js b/frontend/src/screens/SigninScreen.js new file mode 100644 index 00000000..07fcba6e --- /dev/null +++ b/frontend/src/screens/SigninScreen.js @@ -0,0 +1,52 @@ +import React, { useState } from 'react'; +import { Link } from 'react-router-dom'; + +export default function SigninScreen() { + const [email, setEmail] = useState(''); + const [password, setPassword] = useState(''); + const submitHandler = (e) => { + e.preventDefault(); + // TODO: sign in action + }; + return ( +
    +
    +
    +

    Sign In

    +
    +
    + + setEmail(e.target.value)} + > +
    +
    + + setPassword(e.target.value)} + > +
    +
    +
    +
    +
    +
    +
    + ); +} From 8342192200244391924c382e99524aacaf641787 Mon Sep 17 00:00:00 2001 From: Basir Date: Fri, 2 Oct 2020 19:16:37 +0330 Subject: [PATCH 21/65] Video-22-Implement-SignIn-Action --- README.md | 4 ++++ frontend/src/App.js | 27 ++++++++++++++++++++--- frontend/src/actions/userActions.js | 29 +++++++++++++++++++++++++ frontend/src/constants/userConstants.js | 4 ++++ frontend/src/index.css | 20 +++++++++++++++++ frontend/src/reducers/userReducers.js | 21 ++++++++++++++++++ frontend/src/screens/SigninScreen.js | 26 +++++++++++++++++++--- frontend/src/store.js | 7 ++++++ 8 files changed, 132 insertions(+), 6 deletions(-) create mode 100644 frontend/src/actions/userActions.js create mode 100644 frontend/src/constants/userConstants.js create mode 100644 frontend/src/reducers/userReducers.js diff --git a/README.md b/README.md index aab096a7..6fa19bfb 100644 --- a/README.md +++ b/README.md @@ -140,3 +140,7 @@ 2. render email and password fields 3. create signin constants, actions and reducers 4. Update Header based on user login +22. Implement SignIn Action + 1. create signin constants, actions and reducers + 2. add reducer to store.js + 3. use action in SigninScreen.js diff --git a/frontend/src/App.js b/frontend/src/App.js index a304a333..3eba4a87 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -1,6 +1,7 @@ import React from 'react'; -import { useSelector } from 'react-redux'; +import { useDispatch, useSelector } from 'react-redux'; import { BrowserRouter, Link, Route } from 'react-router-dom'; +import { signout } from './actions/userActions'; import CartScreen from './screens/CartScreen'; import HomeScreen from './screens/HomeScreen'; import ProductScreen from './screens/ProductScreen'; @@ -9,7 +10,12 @@ import SigninScreen from './screens/SigninScreen'; function App() { const cart = useSelector((state) => state.cart); const { cartItems } = cart; - + const userSignin = useSelector((state) => state.userSignin); + const { userInfo } = userSignin; + const dispatch = useDispatch(); + const signoutHandler = () => { + dispatch(signout()); + }; return (
    @@ -26,7 +32,22 @@ function App() { {cartItems.length} )} - Sign In + {userInfo ? ( +
    + + {userInfo.name} {' '} + +
      +
    • + + Sign Out + +
    • +
    +
    + ) : ( + Sign In + )}
    diff --git a/frontend/src/actions/userActions.js b/frontend/src/actions/userActions.js new file mode 100644 index 00000000..2faca9f1 --- /dev/null +++ b/frontend/src/actions/userActions.js @@ -0,0 +1,29 @@ +import Axios from 'axios'; +import { + USER_SIGNIN_FAIL, + USER_SIGNIN_REQUEST, + USER_SIGNIN_SUCCESS, + USER_SIGNOUT, +} from '../constants/userConstants'; + +export const signin = (email, password) => async (dispatch) => { + dispatch({ type: USER_SIGNIN_REQUEST, payload: { email, password } }); + try { + const { data } = await Axios.post('/api/users/signin', { email, password }); + dispatch({ type: USER_SIGNIN_SUCCESS, payload: data }); + localStorage.setItem('userInfo', JSON.stringify(data)); + } catch (error) { + dispatch({ + type: USER_SIGNIN_FAIL, + payload: + error.response && error.response.data.message + ? error.response.data.message + : error.message, + }); + } +}; +export const signout = () => (dispatch) => { + localStorage.removeItem('userInfo'); + localStorage.removeItem('cartItems'); + dispatch({ type: USER_SIGNOUT }); +}; diff --git a/frontend/src/constants/userConstants.js b/frontend/src/constants/userConstants.js new file mode 100644 index 00000000..c4439faf --- /dev/null +++ b/frontend/src/constants/userConstants.js @@ -0,0 +1,4 @@ +export const USER_SIGNIN_REQUEST = 'USER_SIGNIN_REQUEST'; +export const USER_SIGNIN_SUCCESS = 'USER_SIGNIN_SUCCESS'; +export const USER_SIGNIN_FAIL = 'USER_SIGNIN_FAIL'; +export const USER_SIGNOUT = 'USER_SIGNOUT'; diff --git a/frontend/src/index.css b/frontend/src/index.css index bc39e356..1a888754 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -204,3 +204,23 @@ img.large { margin: 1rem 0; display: block; } +/* Dropdown */ +.dropdown { + display: inline-block; + position: relative; +} +.dropdown-content { + position: absolute; + display: none; + right: 0; + min-width: 12rem; + padding: 1rem; + z-index: 1; + background-color: #203040; + margin: 0; + margin-top: 0.4rem; + border-radius: 0.5rem; +} +.dropdown:hover .dropdown-content { + display: block; +} diff --git a/frontend/src/reducers/userReducers.js b/frontend/src/reducers/userReducers.js new file mode 100644 index 00000000..fbfa8b6c --- /dev/null +++ b/frontend/src/reducers/userReducers.js @@ -0,0 +1,21 @@ +import { + USER_SIGNIN_FAIL, + USER_SIGNIN_REQUEST, + USER_SIGNIN_SUCCESS, + USER_SIGNOUT, +} from '../constants/userConstants'; + +export const userSigninReducer = (state = {}, action) => { + switch (action.type) { + case USER_SIGNIN_REQUEST: + return { loading: true }; + case USER_SIGNIN_SUCCESS: + return { loading: false, userInfo: action.payload }; + case USER_SIGNIN_FAIL: + return { loading: false, error: action.payload }; + case USER_SIGNOUT: + return {}; + default: + return state; + } +}; diff --git a/frontend/src/screens/SigninScreen.js b/frontend/src/screens/SigninScreen.js index 07fcba6e..f5f84b7a 100644 --- a/frontend/src/screens/SigninScreen.js +++ b/frontend/src/screens/SigninScreen.js @@ -1,19 +1,39 @@ -import React, { useState } from 'react'; +import React, { useEffect, useState } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; import { Link } from 'react-router-dom'; +import { signin } from '../actions/userActions'; +import LoadingBox from '../components/LoadingBox'; +import MessageBox from '../components/MessageBox'; -export default function SigninScreen() { +export default function SigninScreen(props) { const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); + + const redirect = props.location.search + ? props.location.search.split('=')[1] + : '/'; + + const userSignin = useSelector((state) => state.userSignin); + const { userInfo, loading, error } = userSignin; + + const dispatch = useDispatch(); const submitHandler = (e) => { e.preventDefault(); - // TODO: sign in action + dispatch(signin(email, password)); }; + useEffect(() => { + if (userInfo) { + props.history.push(redirect); + } + }, [props.history, redirect, userInfo]); return (

    Sign In

    + {loading && } + {error && {error}}
    Date: Sat, 3 Oct 2020 15:37:03 +0330 Subject: [PATCH 22/65] Video-23-Create-Register-Screen --- README.md | 14 ++++ backend/routers/userRouter.js | 19 +++++ frontend/src/App.js | 2 + frontend/src/actions/userActions.js | 26 +++++++ frontend/src/components/LoadingBox.js | 2 +- frontend/src/constants/userConstants.js | 5 ++ frontend/src/index.css | 3 + frontend/src/reducers/userReducers.js | 16 ++++ frontend/src/screens/RegisterScreen.js | 99 +++++++++++++++++++++++++ frontend/src/screens/SigninScreen.js | 5 +- frontend/src/store.js | 6 +- 11 files changed, 194 insertions(+), 3 deletions(-) create mode 100644 frontend/src/screens/RegisterScreen.js diff --git a/README.md b/README.md index 6fa19bfb..3c5e9b7d 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ # Amazona ECommerce Website +# PLEASE DO NOT SEND PULL REQUEST + +# ALL PRs WILL BE REJECTED UNTIL DECEMBER 2020 + 1. Introduction to this course 1. what you will build 2. what you will learn @@ -144,3 +148,13 @@ 1. create signin constants, actions and reducers 2. add reducer to store.js 3. use action in SigninScreen.js +23. Create Register Screen + 1. create API for /api/users/register + 2. insert new user to database + 3. return user info and token + 4. create RegisterScreen + 5. Add fields + 6. Style fields + 7. Add screen to App.js + 8. create register action and reducer + 9. check validation and create user diff --git a/backend/routers/userRouter.js b/backend/routers/userRouter.js index 9d6a4429..5ffe4eb4 100644 --- a/backend/routers/userRouter.js +++ b/backend/routers/userRouter.js @@ -36,4 +36,23 @@ userRouter.post( }) ); +userRouter.post( + '/register', + expressAsyncHandler(async (req, res) => { + const user = new User({ + name: req.body.name, + email: req.body.email, + password: bcrypt.hashSync(req.body.password, 8), + }); + const createdUser = await user.save(); + res.send({ + _id: createdUser._id, + name: createdUser.name, + email: createdUser.email, + isAdmin: createdUser.isAdmin, + token: generateToken(createdUser), + }); + }) +); + export default userRouter; diff --git a/frontend/src/App.js b/frontend/src/App.js index 3eba4a87..aff2c9da 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -5,6 +5,7 @@ import { signout } from './actions/userActions'; import CartScreen from './screens/CartScreen'; import HomeScreen from './screens/HomeScreen'; import ProductScreen from './screens/ProductScreen'; +import RegisterScreen from './screens/RegisterScreen'; import SigninScreen from './screens/SigninScreen'; function App() { @@ -54,6 +55,7 @@ function App() { +
    All right reserved
    diff --git a/frontend/src/actions/userActions.js b/frontend/src/actions/userActions.js index 2faca9f1..b43ed023 100644 --- a/frontend/src/actions/userActions.js +++ b/frontend/src/actions/userActions.js @@ -1,11 +1,36 @@ import Axios from 'axios'; import { + USER_REGISTER_FAIL, + USER_REGISTER_REQUEST, + USER_REGISTER_SUCCESS, USER_SIGNIN_FAIL, USER_SIGNIN_REQUEST, USER_SIGNIN_SUCCESS, USER_SIGNOUT, } from '../constants/userConstants'; +export const register = (name, email, password) => async (dispatch) => { + dispatch({ type: USER_REGISTER_REQUEST, payload: { email, password } }); + try { + const { data } = await Axios.post('/api/users/register', { + name, + email, + password, + }); + dispatch({ type: USER_REGISTER_SUCCESS, payload: data }); + dispatch({ type: USER_SIGNIN_SUCCESS, payload: data }); + localStorage.setItem('userInfo', JSON.stringify(data)); + } catch (error) { + dispatch({ + type: USER_REGISTER_FAIL, + payload: + error.response && error.response.data.message + ? error.response.data.message + : error.message, + }); + } +}; + export const signin = (email, password) => async (dispatch) => { dispatch({ type: USER_SIGNIN_REQUEST, payload: { email, password } }); try { @@ -22,6 +47,7 @@ export const signin = (email, password) => async (dispatch) => { }); } }; + export const signout = () => (dispatch) => { localStorage.removeItem('userInfo'); localStorage.removeItem('cartItems'); diff --git a/frontend/src/components/LoadingBox.js b/frontend/src/components/LoadingBox.js index e96671aa..13acf5bb 100644 --- a/frontend/src/components/LoadingBox.js +++ b/frontend/src/components/LoadingBox.js @@ -2,7 +2,7 @@ import React from 'react'; export default function LoadingBox() { return ( -
    +
    Loading...
    ); diff --git a/frontend/src/constants/userConstants.js b/frontend/src/constants/userConstants.js index c4439faf..e9348086 100644 --- a/frontend/src/constants/userConstants.js +++ b/frontend/src/constants/userConstants.js @@ -1,4 +1,9 @@ +export const USER_REGISTER_REQUEST = 'USER_REGISTER_REQUEST'; +export const USER_REGISTER_SUCCESS = 'USER_REGISTER_SUCCESS'; +export const USER_REGISTER_FAIL = 'USER_REGISTER_FAIL'; + export const USER_SIGNIN_REQUEST = 'USER_SIGNIN_REQUEST'; export const USER_SIGNIN_SUCCESS = 'USER_SIGNIN_SUCCESS'; export const USER_SIGNIN_FAIL = 'USER_SIGNIN_FAIL'; + export const USER_SIGNOUT = 'USER_SIGNOUT'; diff --git a/frontend/src/index.css b/frontend/src/index.css index 1a888754..37f79c35 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -171,6 +171,9 @@ img.large { color: #404040; } /* Alert */ +.loading { + display: block !important; +} .success { color: #20a020; } diff --git a/frontend/src/reducers/userReducers.js b/frontend/src/reducers/userReducers.js index fbfa8b6c..f50f27af 100644 --- a/frontend/src/reducers/userReducers.js +++ b/frontend/src/reducers/userReducers.js @@ -1,10 +1,26 @@ import { + USER_REGISTER_FAIL, + USER_REGISTER_REQUEST, + USER_REGISTER_SUCCESS, USER_SIGNIN_FAIL, USER_SIGNIN_REQUEST, USER_SIGNIN_SUCCESS, USER_SIGNOUT, } from '../constants/userConstants'; +export const userRegisterReducer = (state = {}, action) => { + switch (action.type) { + case USER_REGISTER_REQUEST: + return { loading: true }; + case USER_REGISTER_SUCCESS: + return { loading: false, userInfo: action.payload }; + case USER_REGISTER_FAIL: + return { loading: false, error: action.payload }; + default: + return state; + } +}; + export const userSigninReducer = (state = {}, action) => { switch (action.type) { case USER_SIGNIN_REQUEST: diff --git a/frontend/src/screens/RegisterScreen.js b/frontend/src/screens/RegisterScreen.js new file mode 100644 index 00000000..2a7d55e8 --- /dev/null +++ b/frontend/src/screens/RegisterScreen.js @@ -0,0 +1,99 @@ +import React, { useEffect, useState } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import { Link } from 'react-router-dom'; +import { register } from '../actions/userActions'; +import LoadingBox from '../components/LoadingBox'; +import MessageBox from '../components/MessageBox'; + +export default function RegisterScreen(props) { + const [name, setName] = useState(''); + const [email, setEmail] = useState(''); + const [password, setPassword] = useState(''); + const [confirmPassword, setConfirmPassword] = useState(''); + + const redirect = props.location.search + ? props.location.search.split('=')[1] + : '/'; + + const userRegister = useSelector((state) => state.userRegister); + const { userInfo, loading, error } = userRegister; + + const dispatch = useDispatch(); + const submitHandler = (e) => { + e.preventDefault(); + if (password !== confirmPassword) { + alert('Password and confirm password are not match'); + } else { + dispatch(register(name, email, password)); + } + }; + useEffect(() => { + if (userInfo) { + props.history.push(redirect); + } + }, [props.history, redirect, userInfo]); + return ( +
    + +
    +

    Create Account

    +
    + {loading && } + {error && {error}} +
    + + setName(e.target.value)} + > +
    +
    + + setEmail(e.target.value)} + > +
    +
    + + setPassword(e.target.value)} + > +
    +
    + + setConfirmPassword(e.target.value)} + > +
    +
    +
    +
    +
    + +
    + ); +} diff --git a/frontend/src/screens/SigninScreen.js b/frontend/src/screens/SigninScreen.js index f5f84b7a..e18824f1 100644 --- a/frontend/src/screens/SigninScreen.js +++ b/frontend/src/screens/SigninScreen.js @@ -63,7 +63,10 @@ export default function SigninScreen(props) {
    diff --git a/frontend/src/store.js b/frontend/src/store.js index dbb4cd37..5f1660cd 100644 --- a/frontend/src/store.js +++ b/frontend/src/store.js @@ -5,7 +5,10 @@ import { productDetailsReducer, productListReducer, } from './reducers/productReducers'; -import { userSigninReducer } from './reducers/userReducers'; +import { + userRegisterReducer, + userSigninReducer, +} from './reducers/userReducers'; const initialState = { userSignin: { @@ -24,6 +27,7 @@ const reducer = combineReducers({ productDetails: productDetailsReducer, cart: cartReducer, userSignin: userSigninReducer, + userRegister: userRegisterReducer, }); const composeEnhancer = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; const store = createStore( From 43d91558adc4c2e9d02ac21253296ab315f45fb8 Mon Sep 17 00:00:00 2001 From: Basir Date: Sat, 3 Oct 2020 18:05:53 +0330 Subject: [PATCH 23/65] Video-24-Create-Shipping-Screen --- README.md | 4 + frontend/src/App.js | 2 + frontend/src/actions/cartActions.js | 11 ++- frontend/src/components/CheckoutSteps.js | 12 +++ frontend/src/constants/cartConstants.js | 1 + frontend/src/index.css | 12 +++ frontend/src/reducers/cartReducers.js | 8 +- frontend/src/screens/ShippingAddressScreen.js | 98 +++++++++++++++++++ frontend/src/store.js | 3 + 9 files changed, 149 insertions(+), 2 deletions(-) create mode 100644 frontend/src/components/CheckoutSteps.js create mode 100644 frontend/src/screens/ShippingAddressScreen.js diff --git a/README.md b/README.md index 3c5e9b7d..3dc1e29f 100644 --- a/README.md +++ b/README.md @@ -158,3 +158,7 @@ 7. Add screen to App.js 8. create register action and reducer 9. check validation and create user +24. Create Shipping Screen + 1. create CheckoutSteps.js component + 2. create shipping fields + 3. implement shipping constant, actions and reducers diff --git a/frontend/src/App.js b/frontend/src/App.js index aff2c9da..9a5bd094 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -6,6 +6,7 @@ import CartScreen from './screens/CartScreen'; import HomeScreen from './screens/HomeScreen'; import ProductScreen from './screens/ProductScreen'; import RegisterScreen from './screens/RegisterScreen'; +import ShippingAddressScreen from './screens/ShippingAddressScreen'; import SigninScreen from './screens/SigninScreen'; function App() { @@ -56,6 +57,7 @@ function App() { +
    All right reserved
    diff --git a/frontend/src/actions/cartActions.js b/frontend/src/actions/cartActions.js index 6e28e3c4..e02c9a90 100644 --- a/frontend/src/actions/cartActions.js +++ b/frontend/src/actions/cartActions.js @@ -1,5 +1,9 @@ import Axios from 'axios'; -import { CART_ADD_ITEM, CART_REMOVE_ITEM } from '../constants/cartConstants'; +import { + CART_ADD_ITEM, + CART_REMOVE_ITEM, + CART_SAVE_SHIPPING_ADDRESS, +} from '../constants/cartConstants'; export const addToCart = (productId, qty) => async (dispatch, getState) => { const { data } = await Axios.get(`/api/products/${productId}`); @@ -21,3 +25,8 @@ export const removeFromCart = (productId) => (dispatch, getState) => { dispatch({ type: CART_REMOVE_ITEM, payload: productId }); localStorage.setItem('cartItems', JSON.stringify(getState().cart.cartItems)); }; + +export const saveShippingAddress = (data) => (dispatch) => { + dispatch({ type: CART_SAVE_SHIPPING_ADDRESS, payload: data }); + localStorage.setItem('shippingAddress', JSON.stringify(data)); +}; diff --git a/frontend/src/components/CheckoutSteps.js b/frontend/src/components/CheckoutSteps.js new file mode 100644 index 00000000..eb714c5c --- /dev/null +++ b/frontend/src/components/CheckoutSteps.js @@ -0,0 +1,12 @@ +import React from 'react'; + +export default function CheckoutSteps(props) { + return ( +
    +
    Sign-In
    +
    Shipping
    +
    Payment
    +
    Place Order
    +
    + ); +} diff --git a/frontend/src/constants/cartConstants.js b/frontend/src/constants/cartConstants.js index a8ed5e88..87ad6b72 100644 --- a/frontend/src/constants/cartConstants.js +++ b/frontend/src/constants/cartConstants.js @@ -1,2 +1,3 @@ export const CART_ADD_ITEM = 'CART_ADD_ITEM'; export const CART_REMOVE_ITEM = 'CART_REMOVE_ITEM'; +export const CART_SAVE_SHIPPING_ADDRESS = 'CART_SAVE_SHIPPING_ADDRESS'; diff --git a/frontend/src/index.css b/frontend/src/index.css index 37f79c35..ab0eff73 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -227,3 +227,15 @@ img.large { .dropdown:hover .dropdown-content { display: block; } +/* Checkout Steps */ +.checkout-steps > div { + border-top: 0.3rem #c0c0c0 solid; + color: #c0c0c0; + flex: 1; + padding: 1rem; + font-weight: bold; +} +.checkout-steps > div.active { + border-top-color: #f08000; + color: #f08000; +} diff --git a/frontend/src/reducers/cartReducers.js b/frontend/src/reducers/cartReducers.js index 74bd5e91..96772436 100644 --- a/frontend/src/reducers/cartReducers.js +++ b/frontend/src/reducers/cartReducers.js @@ -1,4 +1,8 @@ -import { CART_ADD_ITEM, CART_REMOVE_ITEM } from '../constants/cartConstants'; +import { + CART_ADD_ITEM, + CART_REMOVE_ITEM, + CART_SAVE_SHIPPING_ADDRESS, +} from '../constants/cartConstants'; export const cartReducer = (state = { cartItems: [] }, action) => { switch (action.type) { @@ -20,6 +24,8 @@ export const cartReducer = (state = { cartItems: [] }, action) => { ...state, cartItems: state.cartItems.filter((x) => x.product !== action.payload), }; + case CART_SAVE_SHIPPING_ADDRESS: + return { ...state, shippingAddress: action.payload }; default: return state; } diff --git a/frontend/src/screens/ShippingAddressScreen.js b/frontend/src/screens/ShippingAddressScreen.js new file mode 100644 index 00000000..443b9b07 --- /dev/null +++ b/frontend/src/screens/ShippingAddressScreen.js @@ -0,0 +1,98 @@ +import React, { useState } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import { saveShippingAddress } from '../actions/cartActions'; +import CheckoutSteps from '../components/CheckoutSteps'; + +export default function ShippingAddressScreen(props) { + const userSignin = useSelector((state) => state.userSignin); + const { userInfo } = userSignin; + const cart = useSelector((state) => state.cart); + const { shippingAddress } = cart; + if (!userInfo) { + props.history.push('/signin'); + } + const [fullName, setFullName] = useState(shippingAddress.fullName); + const [address, setAddress] = useState(shippingAddress.address); + const [city, setCity] = useState(shippingAddress.city); + const [postalCode, setPostalCode] = useState(shippingAddress.postalCode); + const [country, setCountry] = useState(shippingAddress.country); + const dispatch = useDispatch(); + const submitHandler = (e) => { + e.preventDefault(); + dispatch( + saveShippingAddress({ fullName, address, city, postalCode, country }) + ); + props.history.push('/payment'); + }; + return ( +
    + +
    +
    +

    Shipping Address

    +
    +
    + + setFullName(e.target.value)} + required + > +
    +
    + + setAddress(e.target.value)} + required + > +
    +
    + + setCity(e.target.value)} + required + > +
    +
    + + setPostalCode(e.target.value)} + required + > +
    +
    + + setCountry(e.target.value)} + required + > +
    +
    +
    +
    +
    + ); +} diff --git a/frontend/src/store.js b/frontend/src/store.js index 5f1660cd..6eb247f9 100644 --- a/frontend/src/store.js +++ b/frontend/src/store.js @@ -20,6 +20,9 @@ const initialState = { cartItems: localStorage.getItem('cartItems') ? JSON.parse(localStorage.getItem('cartItems')) : [], + shippingAddress: localStorage.getItem('shippingAddress') + ? JSON.parse(localStorage.getItem('shippingAddress')) + : {}, }, }; const reducer = combineReducers({ From 77f3c60890f890f32ecf4e61d43603b338d8257f Mon Sep 17 00:00:00 2001 From: Basir Date: Sun, 4 Oct 2020 08:38:41 +0330 Subject: [PATCH 24/65] Video-25-Create-Payment-Screen --- README.md | 3 + frontend/src/App.js | 2 + frontend/src/actions/cartActions.js | 4 ++ frontend/src/actions/userActions.js | 1 + frontend/src/constants/cartConstants.js | 1 + frontend/src/index.css | 1 - frontend/src/reducers/cartReducers.js | 3 + frontend/src/screens/PaymentMethodScreen.js | 62 +++++++++++++++++++++ frontend/src/store.js | 1 + 9 files changed, 77 insertions(+), 1 deletion(-) create mode 100644 frontend/src/screens/PaymentMethodScreen.js diff --git a/README.md b/README.md index 3dc1e29f..5d83b78e 100644 --- a/README.md +++ b/README.md @@ -162,3 +162,6 @@ 1. create CheckoutSteps.js component 2. create shipping fields 3. implement shipping constant, actions and reducers +25. Create Payment Screen + 1. create payment fields + 2. implement shipping constant, actions and reducers diff --git a/frontend/src/App.js b/frontend/src/App.js index 9a5bd094..55bbbdbc 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -4,6 +4,7 @@ import { BrowserRouter, Link, Route } from 'react-router-dom'; import { signout } from './actions/userActions'; import CartScreen from './screens/CartScreen'; import HomeScreen from './screens/HomeScreen'; +import PaymentMethodScreen from './screens/PaymentMethodScreen'; import ProductScreen from './screens/ProductScreen'; import RegisterScreen from './screens/RegisterScreen'; import ShippingAddressScreen from './screens/ShippingAddressScreen'; @@ -58,6 +59,7 @@ function App() { +
    All right reserved
    diff --git a/frontend/src/actions/cartActions.js b/frontend/src/actions/cartActions.js index e02c9a90..c095300d 100644 --- a/frontend/src/actions/cartActions.js +++ b/frontend/src/actions/cartActions.js @@ -3,6 +3,7 @@ import { CART_ADD_ITEM, CART_REMOVE_ITEM, CART_SAVE_SHIPPING_ADDRESS, + CART_SAVE_PAYMENT_METHOD, } from '../constants/cartConstants'; export const addToCart = (productId, qty) => async (dispatch, getState) => { @@ -30,3 +31,6 @@ export const saveShippingAddress = (data) => (dispatch) => { dispatch({ type: CART_SAVE_SHIPPING_ADDRESS, payload: data }); localStorage.setItem('shippingAddress', JSON.stringify(data)); }; +export const savePaymentMethod = (data) => (dispatch) => { + dispatch({ type: CART_SAVE_PAYMENT_METHOD, payload: data }); +}; diff --git a/frontend/src/actions/userActions.js b/frontend/src/actions/userActions.js index b43ed023..1554507e 100644 --- a/frontend/src/actions/userActions.js +++ b/frontend/src/actions/userActions.js @@ -51,5 +51,6 @@ export const signin = (email, password) => async (dispatch) => { export const signout = () => (dispatch) => { localStorage.removeItem('userInfo'); localStorage.removeItem('cartItems'); + localStorage.removeItem('shippingAddress'); dispatch({ type: USER_SIGNOUT }); }; diff --git a/frontend/src/constants/cartConstants.js b/frontend/src/constants/cartConstants.js index 87ad6b72..d869a3c4 100644 --- a/frontend/src/constants/cartConstants.js +++ b/frontend/src/constants/cartConstants.js @@ -1,3 +1,4 @@ export const CART_ADD_ITEM = 'CART_ADD_ITEM'; export const CART_REMOVE_ITEM = 'CART_REMOVE_ITEM'; export const CART_SAVE_SHIPPING_ADDRESS = 'CART_SAVE_SHIPPING_ADDRESS'; +export const CART_SAVE_PAYMENT_METHOD = 'CART_SAVE_PAYMENT_METHOD'; diff --git a/frontend/src/index.css b/frontend/src/index.css index ab0eff73..61495c8e 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -205,7 +205,6 @@ img.large { } .form label { margin: 1rem 0; - display: block; } /* Dropdown */ .dropdown { diff --git a/frontend/src/reducers/cartReducers.js b/frontend/src/reducers/cartReducers.js index 96772436..f767f8fd 100644 --- a/frontend/src/reducers/cartReducers.js +++ b/frontend/src/reducers/cartReducers.js @@ -1,6 +1,7 @@ import { CART_ADD_ITEM, CART_REMOVE_ITEM, + CART_SAVE_PAYMENT_METHOD, CART_SAVE_SHIPPING_ADDRESS, } from '../constants/cartConstants'; @@ -26,6 +27,8 @@ export const cartReducer = (state = { cartItems: [] }, action) => { }; case CART_SAVE_SHIPPING_ADDRESS: return { ...state, shippingAddress: action.payload }; + case CART_SAVE_PAYMENT_METHOD: + return { ...state, paymentMethod: action.payload }; default: return state; } diff --git a/frontend/src/screens/PaymentMethodScreen.js b/frontend/src/screens/PaymentMethodScreen.js new file mode 100644 index 00000000..e8391298 --- /dev/null +++ b/frontend/src/screens/PaymentMethodScreen.js @@ -0,0 +1,62 @@ +import React, { useState } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import { savePaymentMethod } from '../actions/cartActions'; +import CheckoutSteps from '../components/CheckoutSteps'; + +export default function PaymentMethodScreen(props) { + const cart = useSelector((state) => state.cart); + const { shippingAddress } = cart; + if (!shippingAddress.address) { + props.history.push('/shipping'); + } + const [paymentMethod, setPaymentMethod] = useState('PayPal'); + const dispatch = useDispatch(); + const submitHandler = (e) => { + e.preventDefault(); + dispatch(savePaymentMethod(paymentMethod)); + props.history.push('/placeorder'); + }; + return ( +
    + +
    +
    +

    Payment Method

    +
    +
    +
    + setPaymentMethod(e.target.value)} + > + +
    +
    +
    +
    + setPaymentMethod(e.target.value)} + > + +
    +
    +
    +
    +
    +
    + ); +} diff --git a/frontend/src/store.js b/frontend/src/store.js index 6eb247f9..ba9bf5eb 100644 --- a/frontend/src/store.js +++ b/frontend/src/store.js @@ -23,6 +23,7 @@ const initialState = { shippingAddress: localStorage.getItem('shippingAddress') ? JSON.parse(localStorage.getItem('shippingAddress')) : {}, + paymentMethod: 'PayPal', }, }; const reducer = combineReducers({ From c8ed816b4b19d36a75be563b25ce0b028d5c8cb4 Mon Sep 17 00:00:00 2001 From: Basir Date: Sun, 4 Oct 2020 10:15:41 +0330 Subject: [PATCH 25/65] Video-26-Design-Place-Order-Screen --- README.md | 3 + frontend/src/App.js | 2 + frontend/src/screens/PlaceOrderScreen.js | 127 +++++++++++++++++++++++ 3 files changed, 132 insertions(+) create mode 100644 frontend/src/screens/PlaceOrderScreen.js diff --git a/README.md b/README.md index 5d83b78e..55429db6 100644 --- a/README.md +++ b/README.md @@ -165,3 +165,6 @@ 25. Create Payment Screen 1. create payment fields 2. implement shipping constant, actions and reducers +26. Design Place Order Screen + 1. design order summary fields + 2. design order action diff --git a/frontend/src/App.js b/frontend/src/App.js index 55bbbdbc..c46b8687 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -5,6 +5,7 @@ import { signout } from './actions/userActions'; import CartScreen from './screens/CartScreen'; import HomeScreen from './screens/HomeScreen'; import PaymentMethodScreen from './screens/PaymentMethodScreen'; +import PlaceOrderScreen from './screens/PlaceOrderScreen'; import ProductScreen from './screens/ProductScreen'; import RegisterScreen from './screens/RegisterScreen'; import ShippingAddressScreen from './screens/ShippingAddressScreen'; @@ -60,6 +61,7 @@ function App() { +
    All right reserved
    diff --git a/frontend/src/screens/PlaceOrderScreen.js b/frontend/src/screens/PlaceOrderScreen.js new file mode 100644 index 00000000..f9d6b5f9 --- /dev/null +++ b/frontend/src/screens/PlaceOrderScreen.js @@ -0,0 +1,127 @@ +import React from 'react'; +import { useSelector } from 'react-redux'; +import { Link } from 'react-router-dom'; +import CheckoutSteps from '../components/CheckoutSteps'; + +export default function PlaceOrderScreen(props) { + const cart = useSelector((state) => state.cart); + if (!cart.paymentMethod) { + props.history.push('/payment'); + } + const toPrice = (num) => Number(num.toFixed(2)); // 5.123 => "5.12" => 5.12 + cart.itemsPrice = toPrice( + cart.cartItems.reduce((a, c) => a + c.qty * c.price, 0) + ); + cart.shippingPrice = cart.itemsPrice > 100 ? toPrice(0) : toPrice(10); + cart.taxPrice = toPrice(0.15 * cart.itemsPrice); + cart.totalPrice = cart.itemsPrice + cart.shippingPrice + cart.taxPrice; + const placeOrderHandler = () => { + // TODO: dispatch place order action + }; + return ( +
    + +
    +
    +
      +
    • +
      +

      Shipping

      +

      + Name: {cart.shippingAddress.fullName}
      + Address: {cart.shippingAddress.address}, + {cart.shippingAddress.city}, {cart.shippingAddress.postalCode} + ,{cart.shippingAddress.country} +

      +
      +
    • +
    • +
      +

      Payment

      +

      + Method: {cart.paymentMethod} +

      +
      +
    • +
    • +
      +

      Order Items

      +
        + {cart.cartItems.map((item) => ( +
      • +
        +
        + {item.name} +
        +
        + + {item.name} + +
        + +
        + {item.qty} x ${item.price} = ${item.qty * item.price} +
        +
        +
      • + ))} +
      +
      +
    • +
    +
    +
    +
    +
      +
    • +

      Order Summary

      +
    • +
    • +
      +
      Items
      +
      ${cart.itemsPrice.toFixed(2)}
      +
      +
    • +
    • +
      +
      Shipping
      +
      ${cart.shippingPrice.toFixed(2)}
      +
      +
    • +
    • +
      +
      Tax
      +
      ${cart.taxPrice.toFixed(2)}
      +
      +
    • +
    • +
      +
      + Order Total +
      +
      + ${cart.totalPrice.toFixed(2)} +
      +
      +
    • +
    • + +
    • +
    +
    +
    +
    +
    + ); +} From 843920d66835f4b177d5e0b910347a371da50b8d Mon Sep 17 00:00:00 2001 From: Basir Date: Sun, 4 Oct 2020 16:09:27 +0330 Subject: [PATCH 26/65] Video-27-Create-Place-Order-API --- README.md | 5 +++++ backend/models/orderModel.js | 41 ++++++++++++++++++++++++++++++++++ backend/routers/orderRouter.js | 33 +++++++++++++++++++++++++++ backend/server.js | 2 ++ backend/utils.js | 21 +++++++++++++++++ 5 files changed, 102 insertions(+) create mode 100644 backend/models/orderModel.js create mode 100644 backend/routers/orderRouter.js diff --git a/README.md b/README.md index 55429db6..e94b86a4 100644 --- a/README.md +++ b/README.md @@ -168,3 +168,8 @@ 26. Design Place Order Screen 1. design order summary fields 2. design order action +27. Create Place Order API + 1. createOrder api + 2. create orderModel + 3. create orderRouter + 4. create post order route diff --git a/backend/models/orderModel.js b/backend/models/orderModel.js new file mode 100644 index 00000000..07020ab0 --- /dev/null +++ b/backend/models/orderModel.js @@ -0,0 +1,41 @@ +import mongoose from 'mongoose'; + +const orderSchema = new mongoose.Schema( + { + orderItems: [ + { + name: { type: String, required: true }, + qty: { type: Number, required: true }, + image: { type: String, required: true }, + price: { type: Number, required: true }, + product: { + type: mongoose.Schema.Types.ObjectId, + ref: 'Product', + required: true, + }, + }, + ], + shippingAddress: { + fullName: { type: String, required: true }, + address: { type: String, required: true }, + city: { type: String, required: true }, + postalCode: { type: String, required: true }, + country: { type: String, required: true }, + }, + paymentMethod: { type: String, required: true }, + itemsPrice: { type: Number, required: true }, + shippingPrice: { type: Number, required: true }, + taxPrice: { type: Number, required: true }, + totalPrice: { type: Number, required: true }, + user: { type: mongoose.Schema.Types.ObjectId, ref: 'User', required: true }, + isPaid: { type: Boolean, default: false }, + paidAt: { type: Date }, + isDelivered: { type: Boolean, default: false }, + deliveredAt: { type: Date }, + }, + { + timestamps: true, + } +); +const Order = mongoose.model('Order', orderSchema); +export default Order; diff --git a/backend/routers/orderRouter.js b/backend/routers/orderRouter.js new file mode 100644 index 00000000..4a77f380 --- /dev/null +++ b/backend/routers/orderRouter.js @@ -0,0 +1,33 @@ +import express from 'express'; +import expressAsyncHandler from 'express-async-handler'; +import Order from '../models/orderModel.js'; +import { isAuth } from '../utils.js'; + +const orderRouter = express.Router(); + +orderRouter.post( + '/', + isAuth, + expressAsyncHandler(async (req, res) => { + if (req.body.orderItems.length === 0) { + res.status(400).send({ message: 'Cart is empty' }); + } else { + const order = new Order({ + orderItems: req.body.orderItems, + shippingAddress: req.body.shippingAddress, + paymentMethod: req.body.paymentMethod, + itemsPrice: req.body.itemsPrice, + shippingPrice: req.body.shippingPrice, + taxPrice: req.body.taxPrice, + totalPrice: req.body.totalPrice, + user: req.user._id, + }); + const createdOrder = await order.save(); + res + .status(201) + .send({ message: 'New Order Created', order: createdOrder }); + } + }) +); + +export default orderRouter; diff --git a/backend/server.js b/backend/server.js index 3b9e54e8..38cbb606 100644 --- a/backend/server.js +++ b/backend/server.js @@ -3,6 +3,7 @@ import mongoose from 'mongoose'; import dotenv from 'dotenv'; import productRouter from './routers/productRouter.js'; import userRouter from './routers/userRouter.js'; +import orderRouter from './routers/orderRouter.js'; dotenv.config(); @@ -18,6 +19,7 @@ mongoose.connect(process.env.MONGODB_URL || 'mongodb://localhost/amazona', { app.use('/api/users', userRouter); app.use('/api/products', productRouter); +app.use('/api/orders', orderRouter); app.get('/', (req, res) => { res.send('Server is ready'); }); diff --git a/backend/utils.js b/backend/utils.js index 0c19e7de..3e5e1d5f 100644 --- a/backend/utils.js +++ b/backend/utils.js @@ -14,3 +14,24 @@ export const generateToken = (user) => { } ); }; + +export const isAuth = (req, res, next) => { + const authorization = req.headers.authorization; + if (authorization) { + const token = authorization.slice(7, authorization.length); // Bearer XXXXXX + jwt.verify( + token, + process.env.JWT_SECRET || 'somethingsecret', + (err, decode) => { + if (err) { + res.status(401).send({ message: 'Invalid Token' }); + } else { + req.user = decode; + next(); + } + } + ); + } else { + res.status(401).send({ message: 'No Token' }); + } +}; From 4f143571495d502750b6f23c81523101ba758b98 Mon Sep 17 00:00:00 2001 From: Basir Date: Sun, 4 Oct 2020 21:36:25 +0330 Subject: [PATCH 27/65] Video-28-Implement-PlaceOrder-Action --- README.md | 3 +++ frontend/src/actions/orderActions.js | 32 ++++++++++++++++++++++++ frontend/src/constants/cartConstants.js | 1 + frontend/src/constants/orderConstants.js | 4 +++ frontend/src/reducers/cartReducers.js | 3 +++ frontend/src/reducers/orderReducers.js | 21 ++++++++++++++++ frontend/src/screens/PlaceOrderScreen.js | 21 +++++++++++++--- frontend/src/store.js | 2 ++ 8 files changed, 84 insertions(+), 3 deletions(-) create mode 100644 frontend/src/actions/orderActions.js create mode 100644 frontend/src/constants/orderConstants.js create mode 100644 frontend/src/reducers/orderReducers.js diff --git a/README.md b/README.md index e94b86a4..b0ffd8e0 100644 --- a/README.md +++ b/README.md @@ -173,3 +173,6 @@ 2. create orderModel 3. create orderRouter 4. create post order route +28. Implement PlaceOrder Action + 1. handle place order button click + 2. create place order constants, action and reducer diff --git a/frontend/src/actions/orderActions.js b/frontend/src/actions/orderActions.js new file mode 100644 index 00000000..36307a08 --- /dev/null +++ b/frontend/src/actions/orderActions.js @@ -0,0 +1,32 @@ +import Axios from 'axios'; +import { CART_EMPTY } from '../constants/cartConstants'; +import { + ORDER_CREATE_FAIL, + ORDER_CREATE_REQUEST, + ORDER_CREATE_SUCCESS, +} from '../constants/orderConstants'; + +export const createOrder = (order) => async (dispatch, getState) => { + dispatch({ type: ORDER_CREATE_REQUEST, payload: order }); + try { + const { + userSignin: { userInfo }, + } = getState(); + const { data } = await Axios.post('/api/orders', order, { + headers: { + Authorization: `Bearer ${userInfo.token}`, + }, + }); + dispatch({ type: ORDER_CREATE_SUCCESS, payload: data.order }); + dispatch({ type: CART_EMPTY }); + localStorage.removeItem('cartItems'); + } catch (error) { + dispatch({ + type: ORDER_CREATE_FAIL, + payload: + error.response && error.response.data.message + ? error.response.data.message + : error.message, + }); + } +}; diff --git a/frontend/src/constants/cartConstants.js b/frontend/src/constants/cartConstants.js index d869a3c4..4031d489 100644 --- a/frontend/src/constants/cartConstants.js +++ b/frontend/src/constants/cartConstants.js @@ -2,3 +2,4 @@ export const CART_ADD_ITEM = 'CART_ADD_ITEM'; export const CART_REMOVE_ITEM = 'CART_REMOVE_ITEM'; export const CART_SAVE_SHIPPING_ADDRESS = 'CART_SAVE_SHIPPING_ADDRESS'; export const CART_SAVE_PAYMENT_METHOD = 'CART_SAVE_PAYMENT_METHOD'; +export const CART_EMPTY = 'CART_EMPTY'; diff --git a/frontend/src/constants/orderConstants.js b/frontend/src/constants/orderConstants.js new file mode 100644 index 00000000..3b10b406 --- /dev/null +++ b/frontend/src/constants/orderConstants.js @@ -0,0 +1,4 @@ +export const ORDER_CREATE_REQUEST = 'ORDER_CREATE_REQUEST'; +export const ORDER_CREATE_SUCCESS = 'ORDER_CREATE_SUCCESS'; +export const ORDER_CREATE_FAIL = 'ORDER_CREATE_FAIL'; +export const ORDER_CREATE_RESET = 'ORDER_CREATE_RESET'; diff --git a/frontend/src/reducers/cartReducers.js b/frontend/src/reducers/cartReducers.js index f767f8fd..8cbfd76e 100644 --- a/frontend/src/reducers/cartReducers.js +++ b/frontend/src/reducers/cartReducers.js @@ -1,5 +1,6 @@ import { CART_ADD_ITEM, + CART_EMPTY, CART_REMOVE_ITEM, CART_SAVE_PAYMENT_METHOD, CART_SAVE_SHIPPING_ADDRESS, @@ -29,6 +30,8 @@ export const cartReducer = (state = { cartItems: [] }, action) => { return { ...state, shippingAddress: action.payload }; case CART_SAVE_PAYMENT_METHOD: return { ...state, paymentMethod: action.payload }; + case CART_EMPTY: + return { ...state, cartItems: [] }; default: return state; } diff --git a/frontend/src/reducers/orderReducers.js b/frontend/src/reducers/orderReducers.js new file mode 100644 index 00000000..8d21ba0c --- /dev/null +++ b/frontend/src/reducers/orderReducers.js @@ -0,0 +1,21 @@ +import { + ORDER_CREATE_FAIL, + ORDER_CREATE_REQUEST, + ORDER_CREATE_RESET, + ORDER_CREATE_SUCCESS, +} from '../constants/orderConstants'; + +export const orderCreateReducer = (state = {}, action) => { + switch (action.type) { + case ORDER_CREATE_REQUEST: + return { loading: true }; + case ORDER_CREATE_SUCCESS: + return { loading: false, success: true, order: action.payload }; + case ORDER_CREATE_FAIL: + return { loading: false, error: action.payload }; + case ORDER_CREATE_RESET: + return {}; + default: + return state; + } +}; diff --git a/frontend/src/screens/PlaceOrderScreen.js b/frontend/src/screens/PlaceOrderScreen.js index f9d6b5f9..a2a3c3f7 100644 --- a/frontend/src/screens/PlaceOrderScreen.js +++ b/frontend/src/screens/PlaceOrderScreen.js @@ -1,13 +1,19 @@ -import React from 'react'; -import { useSelector } from 'react-redux'; +import React, { useEffect } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; import { Link } from 'react-router-dom'; +import { createOrder } from '../actions/orderActions'; import CheckoutSteps from '../components/CheckoutSteps'; +import { ORDER_CREATE_RESET } from '../constants/orderConstants'; +import LoadingBox from '../components/LoadingBox'; +import MessageBox from '../components/MessageBox'; export default function PlaceOrderScreen(props) { const cart = useSelector((state) => state.cart); if (!cart.paymentMethod) { props.history.push('/payment'); } + const orderCreate = useSelector((state) => state.orderCreate); + const { loading, success, error, order } = orderCreate; const toPrice = (num) => Number(num.toFixed(2)); // 5.123 => "5.12" => 5.12 cart.itemsPrice = toPrice( cart.cartItems.reduce((a, c) => a + c.qty * c.price, 0) @@ -15,9 +21,16 @@ export default function PlaceOrderScreen(props) { cart.shippingPrice = cart.itemsPrice > 100 ? toPrice(0) : toPrice(10); cart.taxPrice = toPrice(0.15 * cart.itemsPrice); cart.totalPrice = cart.itemsPrice + cart.shippingPrice + cart.taxPrice; + const dispatch = useDispatch(); const placeOrderHandler = () => { - // TODO: dispatch place order action + dispatch(createOrder({ ...cart, orderItems: cart.cartItems })); }; + useEffect(() => { + if (success) { + props.history.push(`/order/${order._id}`); + dispatch({ type: ORDER_CREATE_RESET }); + } + }, [dispatch, order, props.history, success]); return (
    @@ -118,6 +131,8 @@ export default function PlaceOrderScreen(props) { Place Order + {loading && } + {error && {error}}
    diff --git a/frontend/src/store.js b/frontend/src/store.js index ba9bf5eb..62b87e2f 100644 --- a/frontend/src/store.js +++ b/frontend/src/store.js @@ -1,6 +1,7 @@ import { createStore, compose, applyMiddleware, combineReducers } from 'redux'; import thunk from 'redux-thunk'; import { cartReducer } from './reducers/cartReducers'; +import { orderCreateReducer } from './reducers/orderReducers'; import { productDetailsReducer, productListReducer, @@ -32,6 +33,7 @@ const reducer = combineReducers({ cart: cartReducer, userSignin: userSigninReducer, userRegister: userRegisterReducer, + orderCreate: orderCreateReducer, }); const composeEnhancer = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; const store = createStore( From 823408b2231ad466990ecc81aa998563272be39b Mon Sep 17 00:00:00 2001 From: Basir Date: Tue, 6 Oct 2020 10:30:21 +0330 Subject: [PATCH 28/65] Video-29-Create-Order-Screen --- README.md | 7 ++ backend/routers/orderRouter.js | 13 +++ frontend/src/App.js | 2 + frontend/src/actions/orderActions.js | 22 ++++ frontend/src/constants/orderConstants.js | 4 + frontend/src/reducers/orderReducers.js | 19 ++++ frontend/src/screens/OrderScreen.js | 131 +++++++++++++++++++++++ frontend/src/store.js | 6 +- 8 files changed, 203 insertions(+), 1 deletion(-) create mode 100644 frontend/src/screens/OrderScreen.js diff --git a/README.md b/README.md index b0ffd8e0..82d2ddb9 100644 --- a/README.md +++ b/README.md @@ -176,3 +176,10 @@ 28. Implement PlaceOrder Action 1. handle place order button click 2. create place order constants, action and reducer +29. Create Order Screen + 1. build order api for /api/orders/:id + 2. create OrderScreen.js + 3. dispatch order details action in useEffect + 4. load data with useSelector + 5. show data like place order screen + 6. create order details constant, action and reducer diff --git a/backend/routers/orderRouter.js b/backend/routers/orderRouter.js index 4a77f380..09f85088 100644 --- a/backend/routers/orderRouter.js +++ b/backend/routers/orderRouter.js @@ -30,4 +30,17 @@ orderRouter.post( }) ); +orderRouter.get( + '/:id', + isAuth, + expressAsyncHandler(async (req, res) => { + const order = await Order.findById(req.params.id); + if (order) { + res.send(order); + } else { + res.status(404).send({ message: 'Order Not Found' }); + } + }) +); + export default orderRouter; diff --git a/frontend/src/App.js b/frontend/src/App.js index c46b8687..7dfbe601 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -4,6 +4,7 @@ import { BrowserRouter, Link, Route } from 'react-router-dom'; import { signout } from './actions/userActions'; import CartScreen from './screens/CartScreen'; import HomeScreen from './screens/HomeScreen'; +import OrderScreen from './screens/OrderScreen'; import PaymentMethodScreen from './screens/PaymentMethodScreen'; import PlaceOrderScreen from './screens/PlaceOrderScreen'; import ProductScreen from './screens/ProductScreen'; @@ -62,6 +63,7 @@ function App() { +
    All right reserved
    diff --git a/frontend/src/actions/orderActions.js b/frontend/src/actions/orderActions.js index 36307a08..2f76eea9 100644 --- a/frontend/src/actions/orderActions.js +++ b/frontend/src/actions/orderActions.js @@ -4,6 +4,9 @@ import { ORDER_CREATE_FAIL, ORDER_CREATE_REQUEST, ORDER_CREATE_SUCCESS, + ORDER_DETAILS_FAIL, + ORDER_DETAILS_REQUEST, + ORDER_DETAILS_SUCCESS, } from '../constants/orderConstants'; export const createOrder = (order) => async (dispatch, getState) => { @@ -30,3 +33,22 @@ export const createOrder = (order) => async (dispatch, getState) => { }); } }; + +export const detailsOrder = (orderId) => async (dispatch, getState) => { + dispatch({ type: ORDER_DETAILS_REQUEST, payload: orderId }); + const { + userSignin: { userInfo }, + } = getState(); + try { + const { data } = await Axios.get(`/api/orders/${orderId}`, { + headers: { Authorization: `Bearer ${userInfo.token}` }, + }); + dispatch({ type: ORDER_DETAILS_SUCCESS, payload: data }); + } catch (error) { + const message = + error.response && error.response.data.message + ? error.response.data.message + : error.message; + dispatch({ type: ORDER_DETAILS_FAIL, payload: message }); + } +}; diff --git a/frontend/src/constants/orderConstants.js b/frontend/src/constants/orderConstants.js index 3b10b406..82ce63e3 100644 --- a/frontend/src/constants/orderConstants.js +++ b/frontend/src/constants/orderConstants.js @@ -2,3 +2,7 @@ export const ORDER_CREATE_REQUEST = 'ORDER_CREATE_REQUEST'; export const ORDER_CREATE_SUCCESS = 'ORDER_CREATE_SUCCESS'; export const ORDER_CREATE_FAIL = 'ORDER_CREATE_FAIL'; export const ORDER_CREATE_RESET = 'ORDER_CREATE_RESET'; + +export const ORDER_DETAILS_REQUEST = 'ORDER_DETAILS_REQUEST'; +export const ORDER_DETAILS_SUCCESS = 'ORDER_DETAILS_SUCCESS'; +export const ORDER_DETAILS_FAIL = 'ORDER_DETAILS_FAIL'; diff --git a/frontend/src/reducers/orderReducers.js b/frontend/src/reducers/orderReducers.js index 8d21ba0c..0d7394c2 100644 --- a/frontend/src/reducers/orderReducers.js +++ b/frontend/src/reducers/orderReducers.js @@ -3,6 +3,9 @@ import { ORDER_CREATE_REQUEST, ORDER_CREATE_RESET, ORDER_CREATE_SUCCESS, + ORDER_DETAILS_FAIL, + ORDER_DETAILS_REQUEST, + ORDER_DETAILS_SUCCESS, } from '../constants/orderConstants'; export const orderCreateReducer = (state = {}, action) => { @@ -19,3 +22,19 @@ export const orderCreateReducer = (state = {}, action) => { return state; } }; + +export const orderDetailsReducer = ( + state = { loading: true, order: {} }, + action +) => { + switch (action.type) { + case ORDER_DETAILS_REQUEST: + return { loading: true }; + case ORDER_DETAILS_SUCCESS: + return { loading: false, order: action.payload }; + case ORDER_DETAILS_FAIL: + return { loading: false, error: action.payload }; + default: + return state; + } +}; diff --git a/frontend/src/screens/OrderScreen.js b/frontend/src/screens/OrderScreen.js new file mode 100644 index 00000000..d5eb2f99 --- /dev/null +++ b/frontend/src/screens/OrderScreen.js @@ -0,0 +1,131 @@ +import React, { useEffect } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import { Link } from 'react-router-dom'; +import { detailsOrder } from '../actions/orderActions'; +import LoadingBox from '../components/LoadingBox'; +import MessageBox from '../components/MessageBox'; + +export default function OrderScreen(props) { + const orderId = props.match.params.id; + const orderDetails = useSelector((state) => state.orderDetails); + const { order, loading, error } = orderDetails; + const dispatch = useDispatch(); + useEffect(() => { + dispatch(detailsOrder(orderId)); + }, [dispatch, orderId]); + return loading ? ( + + ) : error ? ( + {error} + ) : ( +
    +

    Order {order._id}

    +
    +
    +
      +
    • +
      +

      Shipping

      +

      + Name: {order.shippingAddress.fullName}
      + Address: {order.shippingAddress.address}, + {order.shippingAddress.city},{' '} + {order.shippingAddress.postalCode}, + {order.shippingAddress.country} +

      + {order.isDelivered ? ( + + Delivered at {order.deliveredAt} + + ) : ( + Not Delivered + )} +
      +
    • +
    • +
      +

      Payment

      +

      + Method: {order.paymentMethod} +

      + {order.isPaid ? ( + + Paid at {order.paidAt} + + ) : ( + Not Paid + )} +
      +
    • +
    • +
      +

      Order Items

      +
        + {order.orderItems.map((item) => ( +
      • +
        +
        + {item.name} +
        +
        + + {item.name} + +
        + +
        + {item.qty} x ${item.price} = ${item.qty * item.price} +
        +
        +
      • + ))} +
      +
      +
    • +
    +
    +
    +
    +
      +
    • +

      Order Summary

      +
    • +
    • +
      +
      Items
      +
      ${order.itemsPrice.toFixed(2)}
      +
      +
    • +
    • +
      +
      Shipping
      +
      ${order.shippingPrice.toFixed(2)}
      +
      +
    • +
    • +
      +
      Tax
      +
      ${order.taxPrice.toFixed(2)}
      +
      +
    • +
    • +
      +
      + Order Total +
      +
      + ${order.totalPrice.toFixed(2)} +
      +
      +
    • +
    +
    +
    +
    +
    + ); +} diff --git a/frontend/src/store.js b/frontend/src/store.js index 62b87e2f..86c7a8a1 100644 --- a/frontend/src/store.js +++ b/frontend/src/store.js @@ -1,7 +1,10 @@ import { createStore, compose, applyMiddleware, combineReducers } from 'redux'; import thunk from 'redux-thunk'; import { cartReducer } from './reducers/cartReducers'; -import { orderCreateReducer } from './reducers/orderReducers'; +import { + orderCreateReducer, + orderDetailsReducer, +} from './reducers/orderReducers'; import { productDetailsReducer, productListReducer, @@ -34,6 +37,7 @@ const reducer = combineReducers({ userSignin: userSigninReducer, userRegister: userRegisterReducer, orderCreate: orderCreateReducer, + orderDetails: orderDetailsReducer, }); const composeEnhancer = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; const store = createStore( From 9ace67e713125da17ecb712d2438768fe24983b3 Mon Sep 17 00:00:00 2001 From: Basir Date: Tue, 6 Oct 2020 12:45:45 +0330 Subject: [PATCH 29/65] Video-30-Add-PayPal-Button --- README.md | 7 ++++ backend/server.js | 4 ++- frontend/package.json | 1 + frontend/src/reducers/orderReducers.js | 5 +-- frontend/src/screens/OrderScreen.js | 47 ++++++++++++++++++++++++-- 5 files changed, 56 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 82d2ddb9..3eb5cfa6 100644 --- a/README.md +++ b/README.md @@ -183,3 +183,10 @@ 4. load data with useSelector 5. show data like place order screen 6. create order details constant, action and reducer +30. Add PayPal Button + 1. get client id from paypal + 2. set it in .env file + 3. create route form /api/paypal/clientId + 4. create getPaypalClientID in api.js + 5. add paypal checkout script in OrderScreen.js + 6. show paypal button diff --git a/backend/server.js b/backend/server.js index 38cbb606..839f1828 100644 --- a/backend/server.js +++ b/backend/server.js @@ -16,10 +16,12 @@ mongoose.connect(process.env.MONGODB_URL || 'mongodb://localhost/amazona', { useUnifiedTopology: true, useCreateIndex: true, }); - app.use('/api/users', userRouter); app.use('/api/products', productRouter); app.use('/api/orders', orderRouter); +app.get('/api/config/paypal', (req, res) => { + res.send(process.env.PAYPAL_CLIENT_ID || 'sb'); +}); app.get('/', (req, res) => { res.send('Server is ready'); }); diff --git a/frontend/package.json b/frontend/package.json index 9c4c5929..5d122108 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -10,6 +10,7 @@ "axios": "^0.20.0", "react": "^16.13.1", "react-dom": "^16.13.1", + "react-paypal-button-v2": "^2.6.2", "react-redux": "^7.2.1", "react-router-dom": "^5.2.0", "react-scripts": "3.4.3", diff --git a/frontend/src/reducers/orderReducers.js b/frontend/src/reducers/orderReducers.js index 0d7394c2..619ad5f2 100644 --- a/frontend/src/reducers/orderReducers.js +++ b/frontend/src/reducers/orderReducers.js @@ -23,10 +23,7 @@ export const orderCreateReducer = (state = {}, action) => { } }; -export const orderDetailsReducer = ( - state = { loading: true, order: {} }, - action -) => { +export const orderDetailsReducer = (state = { loading: true }, action) => { switch (action.type) { case ORDER_DETAILS_REQUEST: return { loading: true }; diff --git a/frontend/src/screens/OrderScreen.js b/frontend/src/screens/OrderScreen.js index d5eb2f99..15da16c7 100644 --- a/frontend/src/screens/OrderScreen.js +++ b/frontend/src/screens/OrderScreen.js @@ -1,4 +1,6 @@ -import React, { useEffect } from 'react'; +import Axios from 'axios'; +import { PayPalButton } from 'react-paypal-button-v2'; +import React, { useEffect, useState } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { Link } from 'react-router-dom'; import { detailsOrder } from '../actions/orderActions'; @@ -7,12 +9,39 @@ import MessageBox from '../components/MessageBox'; export default function OrderScreen(props) { const orderId = props.match.params.id; + const [sdkReady, setSdkReady] = useState(false); const orderDetails = useSelector((state) => state.orderDetails); const { order, loading, error } = orderDetails; const dispatch = useDispatch(); useEffect(() => { - dispatch(detailsOrder(orderId)); - }, [dispatch, orderId]); + const addPayPalScript = async () => { + const { data } = await Axios.get('/api/config/paypal'); + const script = document.createElement('script'); + script.type = 'text/javascript'; + script.src = `https://www.paypal.com/sdk/js?client-id=${data}`; + script.async = true; + script.onload = () => { + setSdkReady(true); + }; + document.body.appendChild(script); + }; + if (!order) { + dispatch(detailsOrder(orderId)); + } else { + if (!order.isPaid) { + if (!window.paypal) { + addPayPalScript(); + } else { + setSdkReady(true); + } + } + } + }, [dispatch, order, orderId, sdkReady]); + + const successPaymentHnadler = () => { + // TODO: dispatch pay order + }; + return loading ? ( ) : error ? ( @@ -122,6 +151,18 @@ export default function OrderScreen(props) { + {!order.isPaid && ( +
  • + {!sdkReady ? ( + + ) : ( + + )} +
  • + )} From 77bb8de30e953a3abdd9ca2a0d2a80016c04171e Mon Sep 17 00:00:00 2001 From: Basir Date: Tue, 6 Oct 2020 14:17:29 +0330 Subject: [PATCH 30/65] Video-31-Implement-Order-Payment --- README.md | 5 ++++ backend/models/orderModel.js | 6 +++++ backend/routers/orderRouter.js | 22 +++++++++++++++ frontend/src/actions/orderActions.js | 25 +++++++++++++++++ frontend/src/constants/orderConstants.js | 5 ++++ frontend/src/index.css | 4 +++ frontend/src/reducers/orderReducers.js | 19 +++++++++++++ frontend/src/screens/OrderScreen.js | 34 +++++++++++++++++------- frontend/src/store.js | 2 ++ 9 files changed, 113 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 3eb5cfa6..5d8c1a99 100644 --- a/README.md +++ b/README.md @@ -190,3 +190,8 @@ 4. create getPaypalClientID in api.js 5. add paypal checkout script in OrderScreen.js 6. show paypal button +31. Implement Order Payment + 1. update order after payment + 2. create payOrder in api.js + 3. create route for /:id/pay in orderRouter.js + 4. rerender after pay order diff --git a/backend/models/orderModel.js b/backend/models/orderModel.js index 07020ab0..b6e7fcc3 100644 --- a/backend/models/orderModel.js +++ b/backend/models/orderModel.js @@ -23,6 +23,12 @@ const orderSchema = new mongoose.Schema( country: { type: String, required: true }, }, paymentMethod: { type: String, required: true }, + paymentResult: { + id: String, + status: String, + update_time: String, + email_address: String, + }, itemsPrice: { type: Number, required: true }, shippingPrice: { type: Number, required: true }, taxPrice: { type: Number, required: true }, diff --git a/backend/routers/orderRouter.js b/backend/routers/orderRouter.js index 09f85088..2692ecbd 100644 --- a/backend/routers/orderRouter.js +++ b/backend/routers/orderRouter.js @@ -43,4 +43,26 @@ orderRouter.get( }) ); +orderRouter.put( + '/:id/pay', + isAuth, + expressAsyncHandler(async (req, res) => { + const order = await Order.findById(req.params.id); + if (order) { + order.isPaid = true; + order.paidAt = Date.now(); + order.paymentResult = { + id: req.body.id, + status: req.body.status, + update_time: req.body.update_time, + email_address: req.body.email_address, + }; + const updatedOrder = await order.save(); + res.send({ message: 'Order Paid', order: updatedOrder }); + } else { + res.status(404).send({ message: 'Order Not Found' }); + } + }) +); + export default orderRouter; diff --git a/frontend/src/actions/orderActions.js b/frontend/src/actions/orderActions.js index 2f76eea9..8cdbc8af 100644 --- a/frontend/src/actions/orderActions.js +++ b/frontend/src/actions/orderActions.js @@ -7,6 +7,9 @@ import { ORDER_DETAILS_FAIL, ORDER_DETAILS_REQUEST, ORDER_DETAILS_SUCCESS, + ORDER_PAY_REQUEST, + ORDER_PAY_FAIL, + ORDER_PAY_SUCCESS, } from '../constants/orderConstants'; export const createOrder = (order) => async (dispatch, getState) => { @@ -52,3 +55,25 @@ export const detailsOrder = (orderId) => async (dispatch, getState) => { dispatch({ type: ORDER_DETAILS_FAIL, payload: message }); } }; + +export const payOrder = (order, paymentResult) => async ( + dispatch, + getState +) => { + dispatch({ type: ORDER_PAY_REQUEST, payload: { order, paymentResult } }); + const { + userSignin: { userInfo }, + } = getState(); + try { + const { data } = Axios.put(`/api/orders/${order._id}/pay`, paymentResult, { + headers: { Authorization: `Bearer ${userInfo.token}` }, + }); + dispatch({ type: ORDER_PAY_SUCCESS, payload: data }); + } catch (error) { + const message = + error.response && error.response.data.message + ? error.response.data.message + : error.message; + dispatch({ type: ORDER_PAY_FAIL, payload: message }); + } +}; diff --git a/frontend/src/constants/orderConstants.js b/frontend/src/constants/orderConstants.js index 82ce63e3..5312d0e0 100644 --- a/frontend/src/constants/orderConstants.js +++ b/frontend/src/constants/orderConstants.js @@ -3,6 +3,11 @@ export const ORDER_CREATE_SUCCESS = 'ORDER_CREATE_SUCCESS'; export const ORDER_CREATE_FAIL = 'ORDER_CREATE_FAIL'; export const ORDER_CREATE_RESET = 'ORDER_CREATE_RESET'; +export const ORDER_PAY_REQUEST = 'ORDER_PAY_REQUEST'; +export const ORDER_PAY_SUCCESS = 'ORDER_PAY_SUCCESS'; +export const ORDER_PAY_FAIL = 'ORDER_PAY_FAIL'; +export const ORDER_PAY_RESET = 'ORDER_PAY_RESET'; + export const ORDER_DETAILS_REQUEST = 'ORDER_DETAILS_REQUEST'; export const ORDER_DETAILS_SUCCESS = 'ORDER_DETAILS_SUCCESS'; export const ORDER_DETAILS_FAIL = 'ORDER_DETAILS_FAIL'; diff --git a/frontend/src/index.css b/frontend/src/index.css index 61495c8e..3d3785bf 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -193,6 +193,10 @@ img.large { color: #a02020; background-color: #ffe0e0; } +.alert-success { + color: #20a020; + background-color: #eeffe0; +} /* Form */ .form { max-width: 60rem; diff --git a/frontend/src/reducers/orderReducers.js b/frontend/src/reducers/orderReducers.js index 619ad5f2..fdf3e40c 100644 --- a/frontend/src/reducers/orderReducers.js +++ b/frontend/src/reducers/orderReducers.js @@ -6,6 +6,10 @@ import { ORDER_DETAILS_FAIL, ORDER_DETAILS_REQUEST, ORDER_DETAILS_SUCCESS, + ORDER_PAY_FAIL, + ORDER_PAY_REQUEST, + ORDER_PAY_RESET, + ORDER_PAY_SUCCESS, } from '../constants/orderConstants'; export const orderCreateReducer = (state = {}, action) => { @@ -35,3 +39,18 @@ export const orderDetailsReducer = (state = { loading: true }, action) => { return state; } }; + +export const orderPayReducer = (state = {}, action) => { + switch (action.type) { + case ORDER_PAY_REQUEST: + return { loading: true }; + case ORDER_PAY_SUCCESS: + return { loading: false, success: true }; + case ORDER_PAY_FAIL: + return { loading: false, error: action.payload }; + case ORDER_PAY_RESET: + return {}; + default: + return state; + } +}; diff --git a/frontend/src/screens/OrderScreen.js b/frontend/src/screens/OrderScreen.js index 15da16c7..f08bf328 100644 --- a/frontend/src/screens/OrderScreen.js +++ b/frontend/src/screens/OrderScreen.js @@ -3,15 +3,23 @@ import { PayPalButton } from 'react-paypal-button-v2'; import React, { useEffect, useState } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { Link } from 'react-router-dom'; -import { detailsOrder } from '../actions/orderActions'; +import { detailsOrder, payOrder } from '../actions/orderActions'; import LoadingBox from '../components/LoadingBox'; import MessageBox from '../components/MessageBox'; +import { ORDER_PAY_RESET } from '../constants/orderConstants'; export default function OrderScreen(props) { const orderId = props.match.params.id; const [sdkReady, setSdkReady] = useState(false); const orderDetails = useSelector((state) => state.orderDetails); const { order, loading, error } = orderDetails; + + const orderPay = useSelector((state) => state.orderPay); + const { + loading: loadingPay, + error: errorPay, + success: successPay, + } = orderPay; const dispatch = useDispatch(); useEffect(() => { const addPayPalScript = async () => { @@ -25,7 +33,8 @@ export default function OrderScreen(props) { }; document.body.appendChild(script); }; - if (!order) { + if (!order || successPay || (order && order._id !== orderId)) { + dispatch({ type: ORDER_PAY_RESET }); dispatch(detailsOrder(orderId)); } else { if (!order.isPaid) { @@ -36,10 +45,10 @@ export default function OrderScreen(props) { } } } - }, [dispatch, order, orderId, sdkReady]); + }, [dispatch, order, orderId, sdkReady, successPay]); - const successPaymentHnadler = () => { - // TODO: dispatch pay order + const successPaymentHandler = (paymentResult) => { + dispatch(payOrder(order, paymentResult)); }; return loading ? ( @@ -156,10 +165,17 @@ export default function OrderScreen(props) { {!sdkReady ? ( ) : ( - + <> + {errorPay && ( + {errorPay} + )} + {loadingPay && } + + + )} )} diff --git a/frontend/src/store.js b/frontend/src/store.js index 86c7a8a1..4c49aaa2 100644 --- a/frontend/src/store.js +++ b/frontend/src/store.js @@ -4,6 +4,7 @@ import { cartReducer } from './reducers/cartReducers'; import { orderCreateReducer, orderDetailsReducer, + orderPayReducer, } from './reducers/orderReducers'; import { productDetailsReducer, @@ -38,6 +39,7 @@ const reducer = combineReducers({ userRegister: userRegisterReducer, orderCreate: orderCreateReducer, orderDetails: orderDetailsReducer, + orderPay: orderPayReducer, }); const composeEnhancer = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; const store = createStore( From a953f3307013fd433986589547c01e4950b4c57b Mon Sep 17 00:00:00 2001 From: Basir Date: Wed, 14 Oct 2020 20:35:29 +0330 Subject: [PATCH 31/65] Video-32-Display-Orders-History --- README.md | 5 ++ backend/routers/orderRouter.js | 9 ++++ frontend/src/App.js | 5 ++ frontend/src/actions/orderActions.js | 23 ++++++++ frontend/src/constants/orderConstants.js | 4 ++ frontend/src/index.css | 20 +++++++ frontend/src/reducers/orderReducers.js | 15 ++++++ frontend/src/screens/OrderHistoryScreen.js | 63 ++++++++++++++++++++++ frontend/src/store.js | 2 + 9 files changed, 146 insertions(+) create mode 100644 frontend/src/screens/OrderHistoryScreen.js diff --git a/README.md b/README.md index 5d8c1a99..4396bc0f 100644 --- a/README.md +++ b/README.md @@ -195,3 +195,8 @@ 2. create payOrder in api.js 3. create route for /:id/pay in orderRouter.js 4. rerender after pay order +32. Display Orders History + 1. create customer orders api + 2. create api for getMyOrders + 3. show orders in profile screen + 4. style orders diff --git a/backend/routers/orderRouter.js b/backend/routers/orderRouter.js index 2692ecbd..e79f8bdf 100644 --- a/backend/routers/orderRouter.js +++ b/backend/routers/orderRouter.js @@ -5,6 +5,15 @@ import { isAuth } from '../utils.js'; const orderRouter = express.Router(); +orderRouter.get( + '/mine', + isAuth, + expressAsyncHandler(async (req, res) => { + const orders = await Order.find({ user: req.user._id }); + res.send(orders); + }) +); + orderRouter.post( '/', isAuth, diff --git a/frontend/src/App.js b/frontend/src/App.js index 7dfbe601..3a293085 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -4,6 +4,7 @@ import { BrowserRouter, Link, Route } from 'react-router-dom'; import { signout } from './actions/userActions'; import CartScreen from './screens/CartScreen'; import HomeScreen from './screens/HomeScreen'; +import OrderHistoryScreen from './screens/OrderHistoryScreen'; import OrderScreen from './screens/OrderScreen'; import PaymentMethodScreen from './screens/PaymentMethodScreen'; import PlaceOrderScreen from './screens/PlaceOrderScreen'; @@ -43,6 +44,9 @@ function App() { {userInfo.name} {' '}
      +
    • + Order History +
    • Sign Out @@ -64,6 +68,7 @@ function App() { +
      All right reserved
      diff --git a/frontend/src/actions/orderActions.js b/frontend/src/actions/orderActions.js index 8cdbc8af..ac366625 100644 --- a/frontend/src/actions/orderActions.js +++ b/frontend/src/actions/orderActions.js @@ -10,6 +10,9 @@ import { ORDER_PAY_REQUEST, ORDER_PAY_FAIL, ORDER_PAY_SUCCESS, + ORDER_MINE_LIST_REQUEST, + ORDER_MINE_LIST_FAIL, + ORDER_MINE_LIST_SUCCESS, } from '../constants/orderConstants'; export const createOrder = (order) => async (dispatch, getState) => { @@ -77,3 +80,23 @@ export const payOrder = (order, paymentResult) => async ( dispatch({ type: ORDER_PAY_FAIL, payload: message }); } }; +export const listOrderMine = () => async (dispatch, getState) => { + dispatch({ type: ORDER_MINE_LIST_REQUEST }); + const { + userSignin: { userInfo }, + } = getState(); + try { + const { data } = await Axios.get('/api/orders/mine', { + headers: { + Authorization: `Bearer ${userInfo.token}`, + }, + }); + dispatch({ type: ORDER_MINE_LIST_SUCCESS, payload: data }); + } catch (error) { + const message = + error.response && error.response.data.message + ? error.response.data.message + : error.message; + dispatch({ type: ORDER_MINE_LIST_FAIL, payload: message }); + } +}; diff --git a/frontend/src/constants/orderConstants.js b/frontend/src/constants/orderConstants.js index 5312d0e0..9ce95125 100644 --- a/frontend/src/constants/orderConstants.js +++ b/frontend/src/constants/orderConstants.js @@ -11,3 +11,7 @@ export const ORDER_PAY_RESET = 'ORDER_PAY_RESET'; export const ORDER_DETAILS_REQUEST = 'ORDER_DETAILS_REQUEST'; export const ORDER_DETAILS_SUCCESS = 'ORDER_DETAILS_SUCCESS'; export const ORDER_DETAILS_FAIL = 'ORDER_DETAILS_FAIL'; + +export const ORDER_MINE_LIST_REQUEST = 'ORDER_MINE_LIST_REQUEST'; +export const ORDER_MINE_LIST_SUCCESS = 'ORDER_MINE_LIST_SUCCESS'; +export const ORDER_MINE_LIST_FAIL = 'ORDER_MINE_LIST_FAIL'; diff --git a/frontend/src/index.css b/frontend/src/index.css index 3d3785bf..672b34a4 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -90,6 +90,9 @@ button.primary { button.block { width: 100%; } +button.small { + font-size: 1.2rem; +} /* Header */ header a { color: #ffffff; @@ -242,3 +245,20 @@ img.large { border-top-color: #f08000; color: #f08000; } +/* Table */ +.table { + width: 100%; + border-collapse: collapse; +} +.table tbody tr:nth-of-type(odd) { + background-color: #f4f4f4; +} +.table td, +.table th { + text-align: left; + border: 0.1rem solid #e4e4e4; + padding: 0.5rem; +} +.table button { + margin: 0 0.2rem; +} diff --git a/frontend/src/reducers/orderReducers.js b/frontend/src/reducers/orderReducers.js index fdf3e40c..3515e1ba 100644 --- a/frontend/src/reducers/orderReducers.js +++ b/frontend/src/reducers/orderReducers.js @@ -6,6 +6,9 @@ import { ORDER_DETAILS_FAIL, ORDER_DETAILS_REQUEST, ORDER_DETAILS_SUCCESS, + ORDER_MINE_LIST_FAIL, + ORDER_MINE_LIST_REQUEST, + ORDER_MINE_LIST_SUCCESS, ORDER_PAY_FAIL, ORDER_PAY_REQUEST, ORDER_PAY_RESET, @@ -54,3 +57,15 @@ export const orderPayReducer = (state = {}, action) => { return state; } }; +export const orderMineListReducer = (state = { orders: [] }, action) => { + switch (action.type) { + case ORDER_MINE_LIST_REQUEST: + return { loading: true }; + case ORDER_MINE_LIST_SUCCESS: + return { loading: false, orders: action.payload }; + case ORDER_MINE_LIST_FAIL: + return { loading: false, error: action.payload }; + default: + return state; + } +}; diff --git a/frontend/src/screens/OrderHistoryScreen.js b/frontend/src/screens/OrderHistoryScreen.js new file mode 100644 index 00000000..2d31dcae --- /dev/null +++ b/frontend/src/screens/OrderHistoryScreen.js @@ -0,0 +1,63 @@ +import React, { useEffect } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import { listOrderMine } from '../actions/orderActions'; +import LoadingBox from '../components/LoadingBox'; +import MessageBox from '../components/MessageBox'; + +export default function OrderHistoryScreen(props) { + const orderMineList = useSelector((state) => state.orderMineList); + const { loading, error, orders } = orderMineList; + const dispatch = useDispatch(); + useEffect(() => { + dispatch(listOrderMine()); + }, [dispatch]); + return ( +
      +

      Order History

      + {loading ? ( + + ) : error ? ( + {error} + ) : ( + + + + + + + + + + + + + {orders.map((order) => ( + + + + + + + + + ))} + +
      IDDATETOTALPAIDDELIVEREDACTIONS
      {order._id}{order.createdAt.substring(0, 10)}{order.totalPrice.toFixed(2)}{order.isPaid ? order.paidAt.substring(0, 10) : 'No'} + {order.isDelivered + ? order.deliveredAt.substring(0, 10) + : 'No'} + + +
      + )} +
      + ); +} diff --git a/frontend/src/store.js b/frontend/src/store.js index 4c49aaa2..22fcb0ec 100644 --- a/frontend/src/store.js +++ b/frontend/src/store.js @@ -4,6 +4,7 @@ import { cartReducer } from './reducers/cartReducers'; import { orderCreateReducer, orderDetailsReducer, + orderMineListReducer, orderPayReducer, } from './reducers/orderReducers'; import { @@ -40,6 +41,7 @@ const reducer = combineReducers({ orderCreate: orderCreateReducer, orderDetails: orderDetailsReducer, orderPay: orderPayReducer, + orderMineList: orderMineListReducer, }); const composeEnhancer = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; const store = createStore( From 321831769ecaa9b37ba91b49cde4e3d806241612 Mon Sep 17 00:00:00 2001 From: Basir Date: Thu, 15 Oct 2020 11:03:48 +0330 Subject: [PATCH 32/65] Video-33-Display-User-Profile --- README.md | 3 + backend/routers/userRouter.js | 12 ++++ frontend/jsconfig.json | 6 ++ frontend/src/App.js | 5 ++ frontend/src/actions/userActions.js | 21 +++++++ frontend/src/constants/userConstants.js | 4 ++ frontend/src/reducers/userReducers.js | 15 +++++ frontend/src/screens/ProfileScreen.js | 77 +++++++++++++++++++++++++ frontend/src/store.js | 2 + 9 files changed, 145 insertions(+) create mode 100644 frontend/jsconfig.json create mode 100644 frontend/src/screens/ProfileScreen.js diff --git a/README.md b/README.md index 4396bc0f..c2fd50e0 100644 --- a/README.md +++ b/README.md @@ -200,3 +200,6 @@ 2. create api for getMyOrders 3. show orders in profile screen 4. style orders +33. Display User Profile + 1. create user details api + 2. show user information diff --git a/backend/routers/userRouter.js b/backend/routers/userRouter.js index 5ffe4eb4..731a9036 100644 --- a/backend/routers/userRouter.js +++ b/backend/routers/userRouter.js @@ -55,4 +55,16 @@ userRouter.post( }) ); +userRouter.get( + '/:id', + expressAsyncHandler(async (req, res) => { + const user = await User.findById(req.params.id); + if (user) { + res.send(user); + } else { + res.status(404).send({ message: 'User Not Found' }); + } + }) +); + export default userRouter; diff --git a/frontend/jsconfig.json b/frontend/jsconfig.json new file mode 100644 index 00000000..e5b220b1 --- /dev/null +++ b/frontend/jsconfig.json @@ -0,0 +1,6 @@ +{ + "compilerOptions": { + "target": "es6" + }, + "exclude": ["node_modules"] +} diff --git a/frontend/src/App.js b/frontend/src/App.js index 3a293085..5d827a13 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -9,6 +9,7 @@ import OrderScreen from './screens/OrderScreen'; import PaymentMethodScreen from './screens/PaymentMethodScreen'; import PlaceOrderScreen from './screens/PlaceOrderScreen'; import ProductScreen from './screens/ProductScreen'; +import ProfileScreen from './screens/ProfileScreen'; import RegisterScreen from './screens/RegisterScreen'; import ShippingAddressScreen from './screens/ShippingAddressScreen'; import SigninScreen from './screens/SigninScreen'; @@ -44,6 +45,9 @@ function App() { {userInfo.name} {' '}
        +
      • + User Profile +
      • Order History
      • @@ -69,6 +73,7 @@ function App() { +
        All right reserved
        diff --git a/frontend/src/actions/userActions.js b/frontend/src/actions/userActions.js index 1554507e..eb3da03d 100644 --- a/frontend/src/actions/userActions.js +++ b/frontend/src/actions/userActions.js @@ -1,5 +1,8 @@ import Axios from 'axios'; import { + USER_DETAILS_FAIL, + USER_DETAILS_REQUEST, + USER_DETAILS_SUCCESS, USER_REGISTER_FAIL, USER_REGISTER_REQUEST, USER_REGISTER_SUCCESS, @@ -54,3 +57,21 @@ export const signout = () => (dispatch) => { localStorage.removeItem('shippingAddress'); dispatch({ type: USER_SIGNOUT }); }; +export const detailsUser = (userId) => async (dispatch, getState) => { + dispatch({ type: USER_DETAILS_REQUEST, payload: userId }); + const { + userSignin: { userInfo }, + } = getState(); + try { + const { data } = await Axios.get(`/api/users/${userId}`, { + headers: { Authorization: `Bearer ${userInfo.token}` }, + }); + dispatch({ type: USER_DETAILS_SUCCESS, payload: data }); + } catch (error) { + const message = + error.response && error.response.data.message + ? error.response.data.message + : error.message; + dispatch({ type: USER_DETAILS_FAIL, payload: message }); + } +}; diff --git a/frontend/src/constants/userConstants.js b/frontend/src/constants/userConstants.js index e9348086..3b8a75e2 100644 --- a/frontend/src/constants/userConstants.js +++ b/frontend/src/constants/userConstants.js @@ -7,3 +7,7 @@ export const USER_SIGNIN_SUCCESS = 'USER_SIGNIN_SUCCESS'; export const USER_SIGNIN_FAIL = 'USER_SIGNIN_FAIL'; export const USER_SIGNOUT = 'USER_SIGNOUT'; + +export const USER_DETAILS_REQUEST = 'USER_DETAILS_REQUEST'; +export const USER_DETAILS_SUCCESS = 'USER_DETAILS_SUCCESS'; +export const USER_DETAILS_FAIL = 'USER_DETAILS_FAIL'; diff --git a/frontend/src/reducers/userReducers.js b/frontend/src/reducers/userReducers.js index f50f27af..6228634b 100644 --- a/frontend/src/reducers/userReducers.js +++ b/frontend/src/reducers/userReducers.js @@ -1,4 +1,7 @@ import { + USER_DETAILS_FAIL, + USER_DETAILS_REQUEST, + USER_DETAILS_SUCCESS, USER_REGISTER_FAIL, USER_REGISTER_REQUEST, USER_REGISTER_SUCCESS, @@ -35,3 +38,15 @@ export const userSigninReducer = (state = {}, action) => { return state; } }; +export const userDetailsReducer = (state = { loading: true }, action) => { + switch (action.type) { + case USER_DETAILS_REQUEST: + return { loading: true }; + case USER_DETAILS_SUCCESS: + return { loading: false, user: action.payload }; + case USER_DETAILS_FAIL: + return { loading: false, error: action.payload }; + default: + return state; + } +}; diff --git a/frontend/src/screens/ProfileScreen.js b/frontend/src/screens/ProfileScreen.js new file mode 100644 index 00000000..d42b6217 --- /dev/null +++ b/frontend/src/screens/ProfileScreen.js @@ -0,0 +1,77 @@ +import React, { useEffect } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import { detailsUser } from '../actions/userActions'; +import LoadingBox from '../components/LoadingBox'; +import MessageBox from '../components/MessageBox'; + +export default function ProfileScreen() { + const userSignin = useSelector((state) => state.userSignin); + const { userInfo } = userSignin; + const userDetails = useSelector((state) => state.userDetails); + const { loading, error, user } = userDetails; + const dispatch = useDispatch(); + useEffect(() => { + dispatch(detailsUser(userInfo._id)); + }, [dispatch, userInfo._id]); + const submitHandler = (e) => { + e.preventDefault(); + // dispatch update profile + }; + return ( +
        +
        +
        +

        User Profile

        +
        + {loading ? ( + + ) : error ? ( + {error} + ) : ( + <> +
        + + +
        +
        + + +
        +
        + + +
        +
        + + +
        +
        +
        + + )} +
        +
        + ); +} diff --git a/frontend/src/store.js b/frontend/src/store.js index 22fcb0ec..c2e9698e 100644 --- a/frontend/src/store.js +++ b/frontend/src/store.js @@ -12,6 +12,7 @@ import { productListReducer, } from './reducers/productReducers'; import { + userDetailsReducer, userRegisterReducer, userSigninReducer, } from './reducers/userReducers'; @@ -42,6 +43,7 @@ const reducer = combineReducers({ orderDetails: orderDetailsReducer, orderPay: orderPayReducer, orderMineList: orderMineListReducer, + userDetails: userDetailsReducer, }); const composeEnhancer = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; const store = createStore( From 57afc2f04f1f7c221d44d71121a4dabca6328d3c Mon Sep 17 00:00:00 2001 From: Basir Date: Thu, 15 Oct 2020 17:16:34 +0330 Subject: [PATCH 33/65] Video-34-Update-User-Profile --- README.md | 3 ++ backend/routers/userRouter.js | 25 +++++++++++-- frontend/src/App.js | 6 +++- frontend/src/actions/userActions.js | 23 ++++++++++++ frontend/src/components/PrivateRoute.js | 20 +++++++++++ frontend/src/constants/userConstants.js | 5 +++ frontend/src/reducers/userReducers.js | 18 ++++++++++ frontend/src/screens/ProfileScreen.js | 48 +++++++++++++++++++++---- frontend/src/store.js | 2 ++ 9 files changed, 141 insertions(+), 9 deletions(-) create mode 100644 frontend/src/components/PrivateRoute.js diff --git a/README.md b/README.md index c2fd50e0..6591c2e9 100644 --- a/README.md +++ b/README.md @@ -203,3 +203,6 @@ 33. Display User Profile 1. create user details api 2. show user information +34. Update User Profile + 1. create user update api + 2. update user info diff --git a/backend/routers/userRouter.js b/backend/routers/userRouter.js index 731a9036..96b55093 100644 --- a/backend/routers/userRouter.js +++ b/backend/routers/userRouter.js @@ -3,7 +3,7 @@ import expressAsyncHandler from 'express-async-handler'; import bcrypt from 'bcryptjs'; import data from '../data.js'; import User from '../models/userModel.js'; -import { generateToken } from '../utils.js'; +import { generateToken, isAuth } from '../utils.js'; const userRouter = express.Router(); @@ -66,5 +66,26 @@ userRouter.get( } }) ); - +userRouter.put( + '/profile', + isAuth, + expressAsyncHandler(async (req, res) => { + const user = await User.findById(req.user._id); + if (user) { + user.name = req.body.name || user.name; + user.email = req.body.email || user.email; + if (req.body.password) { + user.password = bcrypt.hashSync(req.body.password, 8); + } + const updatedUser = await user.save(); + res.send({ + _id: updatedUser._id, + name: updatedUser.name, + email: updatedUser.email, + isAdmin: updatedUser.isAdmin, + token: generateToken(updatedUser), + }); + } + }) +); export default userRouter; diff --git a/frontend/src/App.js b/frontend/src/App.js index 5d827a13..e6cdaac4 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -2,6 +2,7 @@ import React from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { BrowserRouter, Link, Route } from 'react-router-dom'; import { signout } from './actions/userActions'; +import PrivateRoute from './components/PrivateRoute'; import CartScreen from './screens/CartScreen'; import HomeScreen from './screens/HomeScreen'; import OrderHistoryScreen from './screens/OrderHistoryScreen'; @@ -73,7 +74,10 @@ function App() { - +
        All right reserved
        diff --git a/frontend/src/actions/userActions.js b/frontend/src/actions/userActions.js index eb3da03d..322838c2 100644 --- a/frontend/src/actions/userActions.js +++ b/frontend/src/actions/userActions.js @@ -10,6 +10,9 @@ import { USER_SIGNIN_REQUEST, USER_SIGNIN_SUCCESS, USER_SIGNOUT, + USER_UPDATE_PROFILE_FAIL, + USER_UPDATE_PROFILE_REQUEST, + USER_UPDATE_PROFILE_SUCCESS, } from '../constants/userConstants'; export const register = (name, email, password) => async (dispatch) => { @@ -75,3 +78,23 @@ export const detailsUser = (userId) => async (dispatch, getState) => { dispatch({ type: USER_DETAILS_FAIL, payload: message }); } }; +export const updateUserProfile = (user) => async (dispatch, getState) => { + dispatch({ type: USER_UPDATE_PROFILE_REQUEST, payload: user }); + const { + userSignin: { userInfo }, + } = getState(); + try { + const { data } = await Axios.put(`/api/users/profile`, user, { + headers: { Authorization: `Bearer ${userInfo.token}` }, + }); + dispatch({ type: USER_UPDATE_PROFILE_SUCCESS, payload: data }); + dispatch({ type: USER_SIGNIN_SUCCESS, payload: data }); + localStorage.setItem('userInfo', JSON.stringify(data)); + } catch (error) { + const message = + error.response && error.response.data.message + ? error.response.data.message + : error.message; + dispatch({ type: USER_UPDATE_PROFILE_FAIL, payload: message }); + } +}; diff --git a/frontend/src/components/PrivateRoute.js b/frontend/src/components/PrivateRoute.js new file mode 100644 index 00000000..17a236bc --- /dev/null +++ b/frontend/src/components/PrivateRoute.js @@ -0,0 +1,20 @@ +import React from 'react'; +import { useSelector } from 'react-redux'; +import { Redirect, Route } from 'react-router-dom'; + +export default function PrivateRoute({ component: Component, ...rest }) { + const userSignin = useSelector((state) => state.userSignin); + const { userInfo } = userSignin; + return ( + + userInfo ? ( + + ) : ( + + ) + } + > + ); +} diff --git a/frontend/src/constants/userConstants.js b/frontend/src/constants/userConstants.js index 3b8a75e2..d984e54f 100644 --- a/frontend/src/constants/userConstants.js +++ b/frontend/src/constants/userConstants.js @@ -11,3 +11,8 @@ export const USER_SIGNOUT = 'USER_SIGNOUT'; export const USER_DETAILS_REQUEST = 'USER_DETAILS_REQUEST'; export const USER_DETAILS_SUCCESS = 'USER_DETAILS_SUCCESS'; export const USER_DETAILS_FAIL = 'USER_DETAILS_FAIL'; + +export const USER_UPDATE_PROFILE_REQUEST = 'USER_UPDATE_PROFILE_REQUEST'; +export const USER_UPDATE_PROFILE_SUCCESS = 'USER_UPDATE_PROFILE_SUCCESS'; +export const USER_UPDATE_PROFILE_FAIL = 'USER_UPDATE_PROFILE_FAIL'; +export const USER_UPDATE_PROFILE_RESET = 'USER_UPDATE_PROFILE_RESET'; diff --git a/frontend/src/reducers/userReducers.js b/frontend/src/reducers/userReducers.js index 6228634b..70affa5b 100644 --- a/frontend/src/reducers/userReducers.js +++ b/frontend/src/reducers/userReducers.js @@ -9,6 +9,10 @@ import { USER_SIGNIN_REQUEST, USER_SIGNIN_SUCCESS, USER_SIGNOUT, + USER_UPDATE_PROFILE_FAIL, + USER_UPDATE_PROFILE_REQUEST, + USER_UPDATE_PROFILE_RESET, + USER_UPDATE_PROFILE_SUCCESS, } from '../constants/userConstants'; export const userRegisterReducer = (state = {}, action) => { @@ -50,3 +54,17 @@ export const userDetailsReducer = (state = { loading: true }, action) => { return state; } }; +export const userUpdateProfileReducer = (state = {}, action) => { + switch (action.type) { + case USER_UPDATE_PROFILE_REQUEST: + return { loading: true }; + case USER_UPDATE_PROFILE_SUCCESS: + return { loading: false, success: true }; + case USER_UPDATE_PROFILE_FAIL: + return { loading: false, error: action.payload }; + case USER_UPDATE_PROFILE_RESET: + return {}; + default: + return state; + } +}; diff --git a/frontend/src/screens/ProfileScreen.js b/frontend/src/screens/ProfileScreen.js index d42b6217..585fd649 100644 --- a/frontend/src/screens/ProfileScreen.js +++ b/frontend/src/screens/ProfileScreen.js @@ -1,21 +1,44 @@ -import React, { useEffect } from 'react'; +import React, { useEffect, useState } from 'react'; import { useDispatch, useSelector } from 'react-redux'; -import { detailsUser } from '../actions/userActions'; +import { detailsUser, updateUserProfile } from '../actions/userActions'; import LoadingBox from '../components/LoadingBox'; import MessageBox from '../components/MessageBox'; +import { USER_UPDATE_PROFILE_RESET } from '../constants/userConstants'; export default function ProfileScreen() { + const [name, setName] = useState(''); + const [email, setEmail] = useState(''); + const [password, setPassword] = useState(''); + const [confirmPassword, setConfirmPassword] = useState(''); + const userSignin = useSelector((state) => state.userSignin); const { userInfo } = userSignin; const userDetails = useSelector((state) => state.userDetails); const { loading, error, user } = userDetails; + const userUpdateProfile = useSelector((state) => state.userUpdateProfile); + const { + success: successUpdate, + error: errorUpdate, + loading: loadingUpdate, + } = userUpdateProfile; const dispatch = useDispatch(); useEffect(() => { - dispatch(detailsUser(userInfo._id)); - }, [dispatch, userInfo._id]); + if (!user) { + dispatch({ type: USER_UPDATE_PROFILE_RESET }); + dispatch(detailsUser(userInfo._id)); + } else { + setName(user.name); + setEmail(user.email); + } + }, [dispatch, userInfo._id, user]); const submitHandler = (e) => { e.preventDefault(); // dispatch update profile + if (password !== confirmPassword) { + alert('Password and Confirm Password Are Not Matched'); + } else { + dispatch(updateUserProfile({ userId: user._id, name, email, password })); + } }; return (
        @@ -29,13 +52,23 @@ export default function ProfileScreen() { {error} ) : ( <> + {loadingUpdate && } + {errorUpdate && ( + {errorUpdate} + )} + {successUpdate && ( + + Profile Updated Successfully + + )}
        setName(e.target.value)} >
        @@ -44,7 +77,8 @@ export default function ProfileScreen() { id="email" type="email" placeholder="Enter email" - value={user.email} + value={email} + onChange={(e) => setEmail(e.target.value)} >
        @@ -53,6 +87,7 @@ export default function ProfileScreen() { id="password" type="password" placeholder="Enter password" + onChange={(e) => setPassword(e.target.value)} >
        @@ -61,6 +96,7 @@ export default function ProfileScreen() { id="confirmPassword" type="password" placeholder="Enter confirm password" + onChange={(e) => setConfirmPassword(e.target.value)} >
        diff --git a/frontend/src/store.js b/frontend/src/store.js index c2e9698e..1f1c5898 100644 --- a/frontend/src/store.js +++ b/frontend/src/store.js @@ -15,6 +15,7 @@ import { userDetailsReducer, userRegisterReducer, userSigninReducer, + userUpdateProfileReducer, } from './reducers/userReducers'; const initialState = { @@ -44,6 +45,7 @@ const reducer = combineReducers({ orderPay: orderPayReducer, orderMineList: orderMineListReducer, userDetails: userDetailsReducer, + userUpdateProfile: userUpdateProfileReducer, }); const composeEnhancer = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; const store = createStore( From 80c4f3db3819d9f5e20678b4d71fb69b8817c2b0 Mon Sep 17 00:00:00 2001 From: Basir Date: Thu, 15 Oct 2020 18:49:37 +0330 Subject: [PATCH 34/65] Video-35-Create-Admin-View --- README.md | 4 ++++ backend/utils.js | 7 +++++++ frontend/src/App.js | 21 +++++++++++++++++++++ frontend/src/components/AdminRoute.js | 20 ++++++++++++++++++++ 4 files changed, 52 insertions(+) create mode 100644 frontend/src/components/AdminRoute.js diff --git a/README.md b/README.md index 6591c2e9..9b100fbf 100644 --- a/README.md +++ b/README.md @@ -206,3 +206,7 @@ 34. Update User Profile 1. create user update api 2. update user info +35. Create Admin View + 1. Create Admin Menu + 2. Create Admin Middleware in Backend + 3. Create Admin Route in Frontend diff --git a/backend/utils.js b/backend/utils.js index 3e5e1d5f..6dba03b6 100644 --- a/backend/utils.js +++ b/backend/utils.js @@ -35,3 +35,10 @@ export const isAuth = (req, res, next) => { res.status(401).send({ message: 'No Token' }); } }; +export const isAdmin = (req, res, next) => { + if (req.user && req.user.isAdmin) { + next(); + } else { + res.status(401).send({ message: 'Invalid Admin Token' }); + } +}; diff --git a/frontend/src/App.js b/frontend/src/App.js index e6cdaac4..d3c05913 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -62,6 +62,27 @@ function App() { ) : ( Sign In )} + {userInfo && userInfo.isAdmin && ( +
        + + Admin + +
          +
        • + Dashboard +
        • +
        • + Products +
        • +
        • + Orders +
        • +
        • + Users +
        • +
        +
        + )}
        diff --git a/frontend/src/components/AdminRoute.js b/frontend/src/components/AdminRoute.js new file mode 100644 index 00000000..6b125119 --- /dev/null +++ b/frontend/src/components/AdminRoute.js @@ -0,0 +1,20 @@ +import React from 'react'; +import { useSelector } from 'react-redux'; +import { Redirect, Route } from 'react-router-dom'; + +export default function AdminRoute({ component: Component, ...rest }) { + const userSignin = useSelector((state) => state.userSignin); + const { userInfo } = userSignin; + return ( + + userInfo && userInfo.isAdmin ? ( + + ) : ( + + ) + } + > + ); +} From 2cd8f8a5d2f3667a3bcbb629d8cb4104c4a4b6f9 Mon Sep 17 00:00:00 2001 From: Basir Date: Thu, 15 Oct 2020 20:09:25 +0330 Subject: [PATCH 35/65] Video-36-List-Products --- README.md | 4 ++ frontend/src/App.js | 6 ++ frontend/src/screens/ProductListScreen.js | 69 +++++++++++++++++++++++ 3 files changed, 79 insertions(+) create mode 100644 frontend/src/screens/ProductListScreen.js diff --git a/README.md b/README.md index 9b100fbf..1a30d02d 100644 --- a/README.md +++ b/README.md @@ -210,3 +210,7 @@ 1. Create Admin Menu 2. Create Admin Middleware in Backend 3. Create Admin Route in Frontend +36. List Products + 1. Create Product List Screen + 2. Add reducer to store + 3. show products on the screen diff --git a/frontend/src/App.js b/frontend/src/App.js index d3c05913..f1961901 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -2,6 +2,7 @@ import React from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { BrowserRouter, Link, Route } from 'react-router-dom'; import { signout } from './actions/userActions'; +import AdminRoute from './components/AdminRoute'; import PrivateRoute from './components/PrivateRoute'; import CartScreen from './screens/CartScreen'; import HomeScreen from './screens/HomeScreen'; @@ -9,6 +10,7 @@ import OrderHistoryScreen from './screens/OrderHistoryScreen'; import OrderScreen from './screens/OrderScreen'; import PaymentMethodScreen from './screens/PaymentMethodScreen'; import PlaceOrderScreen from './screens/PlaceOrderScreen'; +import ProductListScreen from './screens/ProductListScreen'; import ProductScreen from './screens/ProductScreen'; import ProfileScreen from './screens/ProfileScreen'; import RegisterScreen from './screens/RegisterScreen'; @@ -99,6 +101,10 @@ function App() { path="/profile" component={ProfileScreen} > +
        All right reserved
        diff --git a/frontend/src/screens/ProductListScreen.js b/frontend/src/screens/ProductListScreen.js new file mode 100644 index 00000000..3bf4b9d3 --- /dev/null +++ b/frontend/src/screens/ProductListScreen.js @@ -0,0 +1,69 @@ +import React, { useEffect } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import { listProducts } from '../actions/productActions'; +import LoadingBox from '../components/LoadingBox'; +import MessageBox from '../components/MessageBox'; + +export default function ProductListScreen(props) { + const productList = useSelector((state) => state.productList); + const { loading, error, products } = productList; + const dispatch = useDispatch(); + useEffect(() => { + dispatch(listProducts()); + }, [dispatch]); + const deleteHandler = () => { + /// TODO: dispatch delete action + }; + return ( +
        +

        Products

        + {loading ? ( + + ) : error ? ( + {error} + ) : ( + + + + + + + + + + + + + {products.map((product) => ( + + + + + + + + + ))} + +
        IDNAMEPRICECATEGORYBRANDACTIONS
        {product._id}{product.name}{product.price}{product.category}{product.brand} + + +
        + )} +
        + ); +} From 73a70e98dfa1b2d69fdf8dff7f02bc087ae61f4b Mon Sep 17 00:00:00 2001 From: Basir Date: Fri, 16 Oct 2020 12:07:21 +0330 Subject: [PATCH 36/65] Video-37-Create-Product --- README.md | 5 ++++ backend/routers/productRouter.js | 22 ++++++++++++++++ frontend/src/App.js | 2 +- frontend/src/actions/productActions.js | 28 +++++++++++++++++++++ frontend/src/constants/productConstants.js | 5 ++++ frontend/src/reducers/productReducers.js | 18 ++++++++++++++ frontend/src/screens/ProductListScreen.js | 29 +++++++++++++++++++--- frontend/src/store.js | 2 ++ 8 files changed, 107 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 1a30d02d..9fee216b 100644 --- a/README.md +++ b/README.md @@ -214,3 +214,8 @@ 1. Create Product List Screen 2. Add reducer to store 3. show products on the screen +37. Create Product + 1. build create product api + 2. build Create Product button + 3. define product create constant, action and reducer + 4. use action in Product List Screen diff --git a/backend/routers/productRouter.js b/backend/routers/productRouter.js index 0ad1dec0..cb8e3c4d 100644 --- a/backend/routers/productRouter.js +++ b/backend/routers/productRouter.js @@ -2,6 +2,7 @@ import express from 'express'; import expressAsyncHandler from 'express-async-handler'; import data from '../data.js'; import Product from '../models/productModel.js'; +import { isAdmin, isAuth } from '../utils.js'; const productRouter = express.Router(); @@ -34,4 +35,25 @@ productRouter.get( }) ); +productRouter.post( + '/', + isAuth, + isAdmin, + expressAsyncHandler(async (req, res) => { + const product = new Product({ + name: 'samle name ' + Date.now(), + image: '/images/p1.jpg', + price: 0, + category: 'sample category', + brand: 'sample brand', + countInStock: 0, + rating: 0, + numReviews: 0, + description: 'sample description', + }); + const createdProduct = await product.save(); + res.send({ message: 'Product Created', product: createdProduct }); + }) +); + export default productRouter; diff --git a/frontend/src/App.js b/frontend/src/App.js index f1961901..8f37a7bf 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -89,7 +89,7 @@ function App() {
        - + diff --git a/frontend/src/actions/productActions.js b/frontend/src/actions/productActions.js index 568252da..48b37a90 100644 --- a/frontend/src/actions/productActions.js +++ b/frontend/src/actions/productActions.js @@ -1,5 +1,8 @@ import Axios from 'axios'; import { + PRODUCT_CREATE_FAIL, + PRODUCT_CREATE_REQUEST, + PRODUCT_CREATE_SUCCESS, PRODUCT_DETAILS_FAIL, PRODUCT_DETAILS_REQUEST, PRODUCT_DETAILS_SUCCESS, @@ -35,3 +38,28 @@ export const detailsProduct = (productId) => async (dispatch) => { }); } }; +export const createProduct = () => async (dispatch, getState) => { + dispatch({ type: PRODUCT_CREATE_REQUEST }); + const { + userSignin: { userInfo }, + } = getState(); + try { + const { data } = await Axios.post( + '/api/products', + {}, + { + headers: { Authorization: `Bearer ${userInfo.token}` }, + } + ); + dispatch({ + type: PRODUCT_CREATE_SUCCESS, + payload: data.product, + }); + } catch (error) { + const message = + error.response && error.response.data.message + ? error.response.data.message + : error.message; + dispatch({ type: PRODUCT_CREATE_FAIL, payload: message }); + } +}; diff --git a/frontend/src/constants/productConstants.js b/frontend/src/constants/productConstants.js index 8926212b..cff1c757 100644 --- a/frontend/src/constants/productConstants.js +++ b/frontend/src/constants/productConstants.js @@ -5,3 +5,8 @@ export const PRODUCT_LIST_FAIL = 'PRODUCT_LIST_FAIL'; export const PRODUCT_DETAILS_REQUEST = 'PRODUCT_DETAILS_REQUEST'; export const PRODUCT_DETAILS_SUCCESS = 'PRODUCT_DETAILS_SUCCESS'; export const PRODUCT_DETAILS_FAIL = 'PRODUCT_DETAILS_FAIL'; + +export const PRODUCT_CREATE_REQUEST = 'PRODUCT_CREATE_REQUEST'; +export const PRODUCT_CREATE_SUCCESS = 'PRODUCT_CREATE_SUCCESS'; +export const PRODUCT_CREATE_FAIL = 'PRODUCT_CREATE_FAIL'; +export const PRODUCT_CREATE_RESET = 'PRODUCT_CREATE_RESET'; diff --git a/frontend/src/reducers/productReducers.js b/frontend/src/reducers/productReducers.js index 62fe0d48..72480631 100644 --- a/frontend/src/reducers/productReducers.js +++ b/frontend/src/reducers/productReducers.js @@ -5,6 +5,10 @@ const { PRODUCT_DETAILS_REQUEST, PRODUCT_DETAILS_SUCCESS, PRODUCT_DETAILS_FAIL, + PRODUCT_CREATE_REQUEST, + PRODUCT_CREATE_SUCCESS, + PRODUCT_CREATE_FAIL, + PRODUCT_CREATE_RESET, } = require('../constants/productConstants'); export const productListReducer = ( @@ -38,3 +42,17 @@ export const productDetailsReducer = ( return state; } }; +export const productCreateReducer = (state = {}, action) => { + switch (action.type) { + case PRODUCT_CREATE_REQUEST: + return { loading: true }; + case PRODUCT_CREATE_SUCCESS: + return { loading: false, success: true, product: action.payload }; + case PRODUCT_CREATE_FAIL: + return { loading: false, error: action.payload }; + case PRODUCT_CREATE_RESET: + return {}; + default: + return state; + } +}; diff --git a/frontend/src/screens/ProductListScreen.js b/frontend/src/screens/ProductListScreen.js index 3bf4b9d3..50fa8f60 100644 --- a/frontend/src/screens/ProductListScreen.js +++ b/frontend/src/screens/ProductListScreen.js @@ -1,22 +1,45 @@ import React, { useEffect } from 'react'; import { useDispatch, useSelector } from 'react-redux'; -import { listProducts } from '../actions/productActions'; +import { createProduct, listProducts } from '../actions/productActions'; import LoadingBox from '../components/LoadingBox'; import MessageBox from '../components/MessageBox'; +import { PRODUCT_CREATE_RESET } from '../constants/productConstants'; export default function ProductListScreen(props) { const productList = useSelector((state) => state.productList); const { loading, error, products } = productList; + + const productCreate = useSelector((state) => state.productCreate); + const { + loading: loadingCreate, + error: errorCreate, + success: successCreate, + product: createdProduct, + } = productCreate; const dispatch = useDispatch(); useEffect(() => { + if (successCreate) { + dispatch({ type: PRODUCT_CREATE_RESET }); + props.history.push(`/product/${createdProduct._id}/edit`); + } dispatch(listProducts()); - }, [dispatch]); + }, [createdProduct, dispatch, props.history, successCreate]); const deleteHandler = () => { /// TODO: dispatch delete action }; + const createHandler = () => { + dispatch(createProduct()); + }; return (
        -

        Products

        +
        +

        Products

        + +
        + {loadingCreate && } + {errorCreate && {errorCreate}} {loading ? ( ) : error ? ( diff --git a/frontend/src/store.js b/frontend/src/store.js index 1f1c5898..d3f81a60 100644 --- a/frontend/src/store.js +++ b/frontend/src/store.js @@ -8,6 +8,7 @@ import { orderPayReducer, } from './reducers/orderReducers'; import { + productCreateReducer, productDetailsReducer, productListReducer, } from './reducers/productReducers'; @@ -46,6 +47,7 @@ const reducer = combineReducers({ orderMineList: orderMineListReducer, userDetails: userDetailsReducer, userUpdateProfile: userUpdateProfileReducer, + productCreate: productCreateReducer, }); const composeEnhancer = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; const store = createStore( From 44b6560d789f759c49a3b3b206a2cdd0792f5b65 Mon Sep 17 00:00:00 2001 From: Basir Date: Fri, 16 Oct 2020 14:20:02 +0330 Subject: [PATCH 37/65] Video-38-Build-Product-Edit-Screen --- README.md | 7 ++ backend/routers/productRouter.js | 2 +- frontend/src/App.js | 6 + frontend/src/reducers/productReducers.js | 5 +- frontend/src/screens/ProductEditScreen.js | 131 ++++++++++++++++++++++ 5 files changed, 146 insertions(+), 5 deletions(-) create mode 100644 frontend/src/screens/ProductEditScreen.js diff --git a/README.md b/README.md index 9fee216b..c016f76c 100644 --- a/README.md +++ b/README.md @@ -215,7 +215,14 @@ 2. Add reducer to store 3. show products on the screen 37. Create Product + 1. build create product api 2. build Create Product button 3. define product create constant, action and reducer 4. use action in Product List Screen + + 5. create edit screen + 6. define state + 7. create fields + 8. load product details + 9. add to routes diff --git a/backend/routers/productRouter.js b/backend/routers/productRouter.js index cb8e3c4d..4383aa78 100644 --- a/backend/routers/productRouter.js +++ b/backend/routers/productRouter.js @@ -41,7 +41,7 @@ productRouter.post( isAdmin, expressAsyncHandler(async (req, res) => { const product = new Product({ - name: 'samle name ' + Date.now(), + name: 'sample name ' + Date.now(), image: '/images/p1.jpg', price: 0, category: 'sample category', diff --git a/frontend/src/App.js b/frontend/src/App.js index 8f37a7bf..911b9e68 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -16,6 +16,7 @@ import ProfileScreen from './screens/ProfileScreen'; import RegisterScreen from './screens/RegisterScreen'; import ShippingAddressScreen from './screens/ShippingAddressScreen'; import SigninScreen from './screens/SigninScreen'; +import ProductEditScreen from './screens/ProductEditScreen'; function App() { const cart = useSelector((state) => state.cart); @@ -90,6 +91,11 @@ function App() {
        + diff --git a/frontend/src/reducers/productReducers.js b/frontend/src/reducers/productReducers.js index 72480631..788c08f9 100644 --- a/frontend/src/reducers/productReducers.js +++ b/frontend/src/reducers/productReducers.js @@ -27,10 +27,7 @@ export const productListReducer = ( } }; -export const productDetailsReducer = ( - state = { product: {}, loading: true }, - action -) => { +export const productDetailsReducer = (state = { loading: true }, action) => { switch (action.type) { case PRODUCT_DETAILS_REQUEST: return { loading: true }; diff --git a/frontend/src/screens/ProductEditScreen.js b/frontend/src/screens/ProductEditScreen.js new file mode 100644 index 00000000..dae6fa78 --- /dev/null +++ b/frontend/src/screens/ProductEditScreen.js @@ -0,0 +1,131 @@ +import React, { useEffect, useState } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import { detailsProduct } from '../actions/productActions'; +import LoadingBox from '../components/LoadingBox'; +import MessageBox from '../components/MessageBox'; + +export default function ProductEditScreen(props) { + const productId = props.match.params.id; + const [name, setName] = useState(''); + const [price, setPrice] = useState(''); + const [image, setImage] = useState(''); + const [category, setCategory] = useState(''); + const [countInStock, setCountInStock] = useState(''); + const [brand, setBrand] = useState(''); + const [description, setDescription] = useState(''); + + const productDetails = useSelector((state) => state.productDetails); + const { loading, error, product } = productDetails; + const dispatch = useDispatch(); + useEffect(() => { + if (!product || product._id !== productId) { + dispatch(detailsProduct(productId)); + } else { + setName(product.name); + setPrice(product.price); + setImage(product.image); + setCategory(product.category); + setCountInStock(product.countInStock); + setBrand(product.brand); + setDescription(product.description); + } + }, [product, dispatch, productId]); + const submitHandler = (e) => { + e.preventDefault(); + // TODO: dispatch update product + }; + return ( +
        +
        +
        +

        Edit Product {productId}

        +
        + {loading ? ( + + ) : error ? ( + {error} + ) : ( + <> +
        + + setName(e.target.value)} + > +
        +
        + + setPrice(e.target.value)} + > +
        +
        + + setImage(e.target.value)} + > +
        +
        + + setCategory(e.target.value)} + > +
        +
        + + setBrand(e.target.value)} + > +
        +
        + + setCountInStock(e.target.value)} + > +
        +
        + + +
        +
        + + +
        + + )} +
        +
        + ); +} From a83cba4b7eeb23fe2c19c71399fbd29669024a88 Mon Sep 17 00:00:00 2001 From: Basir Date: Fri, 16 Oct 2020 14:20:26 +0330 Subject: [PATCH 38/65] Video-38-Build-Product-Edit-Screen --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index c016f76c..5387d22b 100644 --- a/README.md +++ b/README.md @@ -215,12 +215,10 @@ 2. Add reducer to store 3. show products on the screen 37. Create Product - 1. build create product api 2. build Create Product button 3. define product create constant, action and reducer 4. use action in Product List Screen - 5. create edit screen 6. define state 7. create fields From 808e6bed4eccb891eab262bf4d088899b9bffc09 Mon Sep 17 00:00:00 2001 From: Basir Date: Sat, 17 Oct 2020 12:24:45 +0330 Subject: [PATCH 39/65] Video-39-Update-Product --- README.md | 15 ++++++---- backend/routers/productRouter.js | 23 ++++++++++++++- frontend/src/actions/productActions.js | 21 ++++++++++++++ frontend/src/constants/productConstants.js | 5 ++++ frontend/src/reducers/productReducers.js | 18 ++++++++++++ frontend/src/screens/ProductEditScreen.js | 33 ++++++++++++++++++++-- frontend/src/store.js | 2 ++ 7 files changed, 108 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 5387d22b..bdef3279 100644 --- a/README.md +++ b/README.md @@ -219,8 +219,13 @@ 2. build Create Product button 3. define product create constant, action and reducer 4. use action in Product List Screen - 5. create edit screen - 6. define state - 7. create fields - 8. load product details - 9. add to routes +38. Build Product Edit Screen + 1. create edit screen + 2. define state + 3. create fields + 4. load product details + 5. add to routes +39. Update Product + 1. define update api + 2. define product update constant, action and reducer + 3. use action in Product Edit Screen \ No newline at end of file diff --git a/backend/routers/productRouter.js b/backend/routers/productRouter.js index 4383aa78..0b051473 100644 --- a/backend/routers/productRouter.js +++ b/backend/routers/productRouter.js @@ -55,5 +55,26 @@ productRouter.post( res.send({ message: 'Product Created', product: createdProduct }); }) ); - +productRouter.put( + '/:id', + isAuth, + isAdmin, + expressAsyncHandler(async (req, res) => { + const productId = req.params.id; + const product = await Product.findById(productId); + if (product) { + product.name = req.body.name; + product.price = req.body.price; + product.image = req.body.image; + product.category = req.body.category; + product.brand = req.body.brand; + product.countInStock = req.body.countInStock; + product.description = req.body.description; + const updatedProduct = await product.save(); + res.send({ message: 'Product Updated', product: updatedProduct }); + } else { + res.status(404).send({ message: 'Product Not Found' }); + } + }) +); export default productRouter; diff --git a/frontend/src/actions/productActions.js b/frontend/src/actions/productActions.js index 48b37a90..76c97991 100644 --- a/frontend/src/actions/productActions.js +++ b/frontend/src/actions/productActions.js @@ -9,6 +9,9 @@ import { PRODUCT_LIST_FAIL, PRODUCT_LIST_REQUEST, PRODUCT_LIST_SUCCESS, + PRODUCT_UPDATE_REQUEST, + PRODUCT_UPDATE_SUCCESS, + PRODUCT_UPDATE_FAIL, } from '../constants/productConstants'; export const listProducts = () => async (dispatch) => { @@ -63,3 +66,21 @@ export const createProduct = () => async (dispatch, getState) => { dispatch({ type: PRODUCT_CREATE_FAIL, payload: message }); } }; +export const updateProduct = (product) => async (dispatch, getState) => { + dispatch({ type: PRODUCT_UPDATE_REQUEST, payload: product }); + const { + userSignin: { userInfo }, + } = getState(); + try { + const { data } = await Axios.put(`/api/products/${product._id}`, product, { + headers: { Authorization: `Bearer ${userInfo.token}` }, + }); + dispatch({ type: PRODUCT_UPDATE_SUCCESS, payload: data }); + } catch (error) { + const message = + error.response && error.response.data.message + ? error.response.data.message + : error.message; + dispatch({ type: PRODUCT_UPDATE_FAIL, error: message }); + } +}; diff --git a/frontend/src/constants/productConstants.js b/frontend/src/constants/productConstants.js index cff1c757..c58e925d 100644 --- a/frontend/src/constants/productConstants.js +++ b/frontend/src/constants/productConstants.js @@ -10,3 +10,8 @@ export const PRODUCT_CREATE_REQUEST = 'PRODUCT_CREATE_REQUEST'; export const PRODUCT_CREATE_SUCCESS = 'PRODUCT_CREATE_SUCCESS'; export const PRODUCT_CREATE_FAIL = 'PRODUCT_CREATE_FAIL'; export const PRODUCT_CREATE_RESET = 'PRODUCT_CREATE_RESET'; + +export const PRODUCT_UPDATE_REQUEST = 'PRODUCT_UPDATE_REQUEST'; +export const PRODUCT_UPDATE_SUCCESS = 'PRODUCT_UPDATE_SUCCESS'; +export const PRODUCT_UPDATE_FAIL = 'PRODUCT_UPDATE_FAIL'; +export const PRODUCT_UPDATE_RESET = 'PRODUCT_UPDATE_RESET'; diff --git a/frontend/src/reducers/productReducers.js b/frontend/src/reducers/productReducers.js index 788c08f9..5cfe2839 100644 --- a/frontend/src/reducers/productReducers.js +++ b/frontend/src/reducers/productReducers.js @@ -9,6 +9,10 @@ const { PRODUCT_CREATE_SUCCESS, PRODUCT_CREATE_FAIL, PRODUCT_CREATE_RESET, + PRODUCT_UPDATE_REQUEST, + PRODUCT_UPDATE_SUCCESS, + PRODUCT_UPDATE_FAIL, + PRODUCT_UPDATE_RESET, } = require('../constants/productConstants'); export const productListReducer = ( @@ -53,3 +57,17 @@ export const productCreateReducer = (state = {}, action) => { return state; } }; +export const productUpdateReducer = (state = {}, action) => { + switch (action.type) { + case PRODUCT_UPDATE_REQUEST: + return { loading: true }; + case PRODUCT_UPDATE_SUCCESS: + return { loading: false, success: true }; + case PRODUCT_UPDATE_FAIL: + return { loading: false, error: action.payload }; + case PRODUCT_UPDATE_RESET: + return {}; + default: + return state; + } +}; diff --git a/frontend/src/screens/ProductEditScreen.js b/frontend/src/screens/ProductEditScreen.js index dae6fa78..cbef2502 100644 --- a/frontend/src/screens/ProductEditScreen.js +++ b/frontend/src/screens/ProductEditScreen.js @@ -1,8 +1,9 @@ import React, { useEffect, useState } from 'react'; import { useDispatch, useSelector } from 'react-redux'; -import { detailsProduct } from '../actions/productActions'; +import { detailsProduct, updateProduct } from '../actions/productActions'; import LoadingBox from '../components/LoadingBox'; import MessageBox from '../components/MessageBox'; +import { PRODUCT_UPDATE_RESET } from '../constants/productConstants'; export default function ProductEditScreen(props) { const productId = props.match.params.id; @@ -16,9 +17,21 @@ export default function ProductEditScreen(props) { const productDetails = useSelector((state) => state.productDetails); const { loading, error, product } = productDetails; + + const productUpdate = useSelector((state) => state.productUpdate); + const { + loading: loadingUpdate, + error: errorUpdate, + success: successUpdate, + } = productUpdate; + const dispatch = useDispatch(); useEffect(() => { - if (!product || product._id !== productId) { + if (successUpdate) { + props.history.push('/productlist'); + } + if (!product || product._id !== productId || successUpdate) { + dispatch({ type: PRODUCT_UPDATE_RESET }); dispatch(detailsProduct(productId)); } else { setName(product.name); @@ -29,10 +42,22 @@ export default function ProductEditScreen(props) { setBrand(product.brand); setDescription(product.description); } - }, [product, dispatch, productId]); + }, [product, dispatch, productId, successUpdate, props.history]); const submitHandler = (e) => { e.preventDefault(); // TODO: dispatch update product + dispatch( + updateProduct({ + _id: productId, + name, + price, + image, + category, + brand, + countInStock, + description, + }) + ); }; return (
        @@ -40,6 +65,8 @@ export default function ProductEditScreen(props) {

        Edit Product {productId}

        + {loadingUpdate && } + {errorUpdate && {errorUpdate}} {loading ? ( ) : error ? ( diff --git a/frontend/src/store.js b/frontend/src/store.js index d3f81a60..74774e0c 100644 --- a/frontend/src/store.js +++ b/frontend/src/store.js @@ -11,6 +11,7 @@ import { productCreateReducer, productDetailsReducer, productListReducer, + productUpdateReducer, } from './reducers/productReducers'; import { userDetailsReducer, @@ -48,6 +49,7 @@ const reducer = combineReducers({ userDetails: userDetailsReducer, userUpdateProfile: userUpdateProfileReducer, productCreate: productCreateReducer, + productUpdate: productUpdateReducer, }); const composeEnhancer = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; const store = createStore( From f3371bb8d4feae92fa3af7c01106be3873f6d57f Mon Sep 17 00:00:00 2001 From: Basir Date: Sat, 17 Oct 2020 19:06:11 +0330 Subject: [PATCH 40/65] Video-40-Upload-Product-Image --- .gitignore | 1 + README.md | 7 +++- backend/routers/uploadRouter.js | 22 +++++++++++++ backend/server.js | 5 +++ frontend/src/screens/ProductEditScreen.js | 39 +++++++++++++++++++++++ package.json | 3 +- uploads/file.txt | 0 7 files changed, 75 insertions(+), 2 deletions(-) create mode 100644 backend/routers/uploadRouter.js create mode 100644 uploads/file.txt diff --git a/.gitignore b/.gitignore index c97809a4..0f8c48fb 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,4 @@ yarn-error.log* package-lock.json .env +/uploads/*.jpg \ No newline at end of file diff --git a/README.md b/README.md index bdef3279..42a1a174 100644 --- a/README.md +++ b/README.md @@ -228,4 +228,9 @@ 39. Update Product 1. define update api 2. define product update constant, action and reducer - 3. use action in Product Edit Screen \ No newline at end of file + 3. use action in Product Edit Screen +40. Upload Product Image + 1. npm install multer + 7. define upload router + 8. create uploads folder + 9. Handle frontend diff --git a/backend/routers/uploadRouter.js b/backend/routers/uploadRouter.js new file mode 100644 index 00000000..f0437f1e --- /dev/null +++ b/backend/routers/uploadRouter.js @@ -0,0 +1,22 @@ +import multer from 'multer'; +import express from 'express'; +import { isAuth } from '../utils.js'; + +const uploadRouter = express.Router(); + +const storage = multer.diskStorage({ + destination(req, file, cb) { + cb(null, 'uploads/'); + }, + filename(req, file, cb) { + cb(null, `${Date.now()}.jpg`); + }, +}); + +const upload = multer({ storage }); + +uploadRouter.post('/', isAuth, upload.single('image'), (req, res) => { + res.send(`/${req.file.path}`); +}); + +export default uploadRouter; diff --git a/backend/server.js b/backend/server.js index 839f1828..cc63f1b6 100644 --- a/backend/server.js +++ b/backend/server.js @@ -1,9 +1,11 @@ import express from 'express'; import mongoose from 'mongoose'; import dotenv from 'dotenv'; +import path from 'path'; import productRouter from './routers/productRouter.js'; import userRouter from './routers/userRouter.js'; import orderRouter from './routers/orderRouter.js'; +import uploadRouter from './routers/uploadRouter.js'; dotenv.config(); @@ -16,12 +18,15 @@ mongoose.connect(process.env.MONGODB_URL || 'mongodb://localhost/amazona', { useUnifiedTopology: true, useCreateIndex: true, }); +app.use('/api/uploads', uploadRouter); app.use('/api/users', userRouter); app.use('/api/products', productRouter); app.use('/api/orders', orderRouter); app.get('/api/config/paypal', (req, res) => { res.send(process.env.PAYPAL_CLIENT_ID || 'sb'); }); +const __dirname = path.resolve(); +app.use('/uploads', express.static(path.join(__dirname, '/uploads'))); app.get('/', (req, res) => { res.send('Server is ready'); }); diff --git a/frontend/src/screens/ProductEditScreen.js b/frontend/src/screens/ProductEditScreen.js index cbef2502..c5e8b929 100644 --- a/frontend/src/screens/ProductEditScreen.js +++ b/frontend/src/screens/ProductEditScreen.js @@ -1,5 +1,6 @@ import React, { useEffect, useState } from 'react'; import { useDispatch, useSelector } from 'react-redux'; +import Axios from 'axios'; import { detailsProduct, updateProduct } from '../actions/productActions'; import LoadingBox from '../components/LoadingBox'; import MessageBox from '../components/MessageBox'; @@ -59,6 +60,31 @@ export default function ProductEditScreen(props) { }) ); }; + const [loadingUpload, setLoadingUpload] = useState(false); + const [errorUpload, setErrorUpload] = useState(''); + + const userSignin = useSelector((state) => state.userSignin); + const { userInfo } = userSignin; + const uploadFileHandler = async (e) => { + const file = e.target.files[0]; + const bodyFormData = new FormData(); + bodyFormData.append('image', file); + setLoadingUpload(true); + try { + const { data } = await Axios.post('/api/uploads', bodyFormData, { + headers: { + 'Content-Type': 'multipart/form-data', + Authorization: `Bearer ${userInfo.token}`, + }, + }); + setImage(data); + setLoadingUpload(false); + } catch (error) { + setErrorUpload(error.message); + setLoadingUpload(false); + } + }; + return (
        @@ -103,6 +129,19 @@ export default function ProductEditScreen(props) { onChange={(e) => setImage(e.target.value)} >
        +
        + + + {loadingUpload && } + {errorUpload && ( + {errorUpload} + )} +
        Date: Mon, 19 Oct 2020 12:11:25 +0330 Subject: [PATCH 41/65] Video-41-Delete-Product --- README.md | 4 +++ backend/routers/productRouter.js | 16 ++++++++++ frontend/src/actions/productActions.js | 21 +++++++++++++ frontend/src/constants/productConstants.js | 5 ++++ frontend/src/reducers/productReducers.js | 18 +++++++++++ frontend/src/screens/ProductListScreen.js | 35 ++++++++++++++++++---- frontend/src/store.js | 2 ++ 7 files changed, 96 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 42a1a174..2ba8eddd 100644 --- a/README.md +++ b/README.md @@ -234,3 +234,7 @@ 7. define upload router 8. create uploads folder 9. Handle frontend +41. Delete Product + 1. create delete api in backend + 2. create delete constants, action and reducer + 3. use it in product list screen \ No newline at end of file diff --git a/backend/routers/productRouter.js b/backend/routers/productRouter.js index 0b051473..c9d43994 100644 --- a/backend/routers/productRouter.js +++ b/backend/routers/productRouter.js @@ -77,4 +77,20 @@ productRouter.put( } }) ); + +productRouter.delete( + '/:id', + isAuth, + isAdmin, + expressAsyncHandler(async (req, res) => { + const product = await Product.findById(req.params.id); + if (product) { + const deleteProduct = await product.remove(); + res.send({ message: 'Product Deleted', product: deleteProduct }); + } else { + res.status(404).send({ message: 'Product Not Found' }); + } + }) +); + export default productRouter; diff --git a/frontend/src/actions/productActions.js b/frontend/src/actions/productActions.js index 76c97991..19ab942d 100644 --- a/frontend/src/actions/productActions.js +++ b/frontend/src/actions/productActions.js @@ -12,6 +12,9 @@ import { PRODUCT_UPDATE_REQUEST, PRODUCT_UPDATE_SUCCESS, PRODUCT_UPDATE_FAIL, + PRODUCT_DELETE_REQUEST, + PRODUCT_DELETE_FAIL, + PRODUCT_DELETE_SUCCESS, } from '../constants/productConstants'; export const listProducts = () => async (dispatch) => { @@ -84,3 +87,21 @@ export const updateProduct = (product) => async (dispatch, getState) => { dispatch({ type: PRODUCT_UPDATE_FAIL, error: message }); } }; +export const deleteProduct = (productId) => async (dispatch, getState) => { + dispatch({ type: PRODUCT_DELETE_REQUEST, payload: productId }); + const { + userSignin: { userInfo }, + } = getState(); + try { + const { data } = Axios.delete(`/api/products/${productId}`, { + headers: { Authorization: `Bearer ${userInfo.token}` }, + }); + dispatch({ type: PRODUCT_DELETE_SUCCESS }); + } catch (error) { + const message = + error.response && error.response.data.message + ? error.response.data.message + : error.message; + dispatch({ type: PRODUCT_DELETE_FAIL, payload: message }); + } +}; diff --git a/frontend/src/constants/productConstants.js b/frontend/src/constants/productConstants.js index c58e925d..5ebe0e7e 100644 --- a/frontend/src/constants/productConstants.js +++ b/frontend/src/constants/productConstants.js @@ -15,3 +15,8 @@ export const PRODUCT_UPDATE_REQUEST = 'PRODUCT_UPDATE_REQUEST'; export const PRODUCT_UPDATE_SUCCESS = 'PRODUCT_UPDATE_SUCCESS'; export const PRODUCT_UPDATE_FAIL = 'PRODUCT_UPDATE_FAIL'; export const PRODUCT_UPDATE_RESET = 'PRODUCT_UPDATE_RESET'; + +export const PRODUCT_DELETE_REQUEST = 'PRODUCT_DELETE_REQUEST'; +export const PRODUCT_DELETE_SUCCESS = 'PRODUCT_DELETE_SUCCESS'; +export const PRODUCT_DELETE_FAIL = 'PRODUCT_DELETE_FAIL'; +export const PRODUCT_DELETE_RESET = 'PRODUCT_DELETE_RESET'; diff --git a/frontend/src/reducers/productReducers.js b/frontend/src/reducers/productReducers.js index 5cfe2839..f2b7af7b 100644 --- a/frontend/src/reducers/productReducers.js +++ b/frontend/src/reducers/productReducers.js @@ -13,6 +13,10 @@ const { PRODUCT_UPDATE_SUCCESS, PRODUCT_UPDATE_FAIL, PRODUCT_UPDATE_RESET, + PRODUCT_DELETE_REQUEST, + PRODUCT_DELETE_SUCCESS, + PRODUCT_DELETE_FAIL, + PRODUCT_DELETE_RESET, } = require('../constants/productConstants'); export const productListReducer = ( @@ -71,3 +75,17 @@ export const productUpdateReducer = (state = {}, action) => { return state; } }; +export const productDeleteReducer = (state = {}, action) => { + switch (action.type) { + case PRODUCT_DELETE_REQUEST: + return { loading: true }; + case PRODUCT_DELETE_SUCCESS: + return { loading: false, success: true }; + case PRODUCT_DELETE_FAIL: + return { loading: false, error: action.payload }; + case PRODUCT_DELETE_RESET: + return {}; + default: + return state; + } +}; diff --git a/frontend/src/screens/ProductListScreen.js b/frontend/src/screens/ProductListScreen.js index 50fa8f60..8935e63a 100644 --- a/frontend/src/screens/ProductListScreen.js +++ b/frontend/src/screens/ProductListScreen.js @@ -1,9 +1,16 @@ import React, { useEffect } from 'react'; import { useDispatch, useSelector } from 'react-redux'; -import { createProduct, listProducts } from '../actions/productActions'; +import { + createProduct, + deleteProduct, + listProducts, +} from '../actions/productActions'; import LoadingBox from '../components/LoadingBox'; import MessageBox from '../components/MessageBox'; -import { PRODUCT_CREATE_RESET } from '../constants/productConstants'; +import { + PRODUCT_CREATE_RESET, + PRODUCT_DELETE_RESET, +} from '../constants/productConstants'; export default function ProductListScreen(props) { const productList = useSelector((state) => state.productList); @@ -16,16 +23,30 @@ export default function ProductListScreen(props) { success: successCreate, product: createdProduct, } = productCreate; + + const productDelete = useSelector((state) => state.productDelete); + const { + loading: loadingDelete, + error: errorDelete, + success: successDelete, + } = productDelete; + const dispatch = useDispatch(); useEffect(() => { if (successCreate) { dispatch({ type: PRODUCT_CREATE_RESET }); props.history.push(`/product/${createdProduct._id}/edit`); } + if (successDelete) { + dispatch({ type: PRODUCT_DELETE_RESET }); + } dispatch(listProducts()); - }, [createdProduct, dispatch, props.history, successCreate]); - const deleteHandler = () => { - /// TODO: dispatch delete action + }, [createdProduct, dispatch, props.history, successCreate, successDelete]); + + const deleteHandler = (product) => { + if (window.confirm('Are you sure to delete?')) { + dispatch(deleteProduct(product._id)); + } }; const createHandler = () => { dispatch(createProduct()); @@ -38,6 +59,10 @@ export default function ProductListScreen(props) { Create Product
        + + {loadingDelete && } + {errorDelete && {errorDelete}} + {loadingCreate && } {errorCreate && {errorCreate}} {loading ? ( diff --git a/frontend/src/store.js b/frontend/src/store.js index 74774e0c..80782684 100644 --- a/frontend/src/store.js +++ b/frontend/src/store.js @@ -9,6 +9,7 @@ import { } from './reducers/orderReducers'; import { productCreateReducer, + productDeleteReducer, productDetailsReducer, productListReducer, productUpdateReducer, @@ -50,6 +51,7 @@ const reducer = combineReducers({ userUpdateProfile: userUpdateProfileReducer, productCreate: productCreateReducer, productUpdate: productUpdateReducer, + productDelete: productDeleteReducer, }); const composeEnhancer = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; const store = createStore( From 47f53e32f15c3a9a26a6c086ef4b15b21baff515 Mon Sep 17 00:00:00 2001 From: Basir Date: Wed, 21 Oct 2020 17:38:48 +0330 Subject: [PATCH 42/65] Video-42-List-Orders --- README.md | 90 ++++++++++++++++++++++- backend/routers/orderRouter.js | 12 ++- frontend/src/App.js | 5 ++ frontend/src/actions/orderActions.js | 22 ++++++ frontend/src/constants/orderConstants.js | 4 + frontend/src/reducers/orderReducers.js | 15 ++++ frontend/src/screens/OrderListScreen.js | 75 +++++++++++++++++++ frontend/src/store.js | 2 + template/images/amazona.jpg | Bin 0 -> 363610 bytes 9 files changed, 221 insertions(+), 4 deletions(-) create mode 100644 frontend/src/screens/OrderListScreen.js create mode 100644 template/images/amazona.jpg diff --git a/README.md b/README.md index 2ba8eddd..1ebf9d2f 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,89 @@ # Amazona ECommerce Website - +![amazona](/template/images/amazona.jpg) # PLEASE DO NOT SEND PULL REQUEST # ALL PRs WILL BE REJECTED UNTIL DECEMBER 2020 +# React & Node Tutorial - Full ECommerce in 5 Hours [2020] + +Welcome to my React and Node tutorial to build a fully-functional e-commerce website using MERN stack. Open your code editor and follow me for the next hours to build an e-commerce website using React and Node.JS. + +## Demo Website + +- 👉 Heroku : [https://newamazona-final.herokuapp.com](https://newamazona-final.herokuapp.com) +- 👉 AWS : [https://amazona.webacademy.pro](https://amazona.webacademy.pro) + + +## You Will Learn + +- HTML5 and CSS3: Semantic Elements, CSS Grid, Flexbox +- React: Components, Props, Events, Hooks, Router, Axios +- Redux: Store, Reducers, Actions +- Node & Express: Web API, Body Parser, File Upload, JWT +- MongoDB: Mongoose, Aggregation +- Development: ESLint, Babel, Git, Github, +- Deployment: Heroku +- Watch React & Node Tutorial + +## Run Locally + +### 1. Clone repo + +``` +$ git clone git@github.com:basir/node-react-ecommerce.git +$ cd node-react-ecommerce +``` + +### 2. Setup MongoDB + +- Local MongoDB + - Install it from [here](https://www.mongodb.com/try/download/community) + - Create .env file in root folder + - Set MONGODB_URL=mongodb://localhost/amazona +- Atlas Cloud MongoDB + - Create database at [https://cloud.mongodb.com](https://cloud.mongodb.com) + - Create .env file in root folder + - Set MONGODB_URL=MONGODB_URL=mongodb+srv://your-db-connection +### 3. Run Backend + +``` +$ npm install +$ npm start +``` + +### 4. Run Frontend + +``` +# open new terminal +$ cd frontend +$ npm install +$ npm start +``` + +### 5. Seed Users and Products + +- Run this on chrome: http://localhost:5000/api/users +- It returns admin email and password +- Run this on chrome: http://localhost:5000/api/products +- It creates 6 sample products + +### 6. Login + +- Run http://localhost:3000/signin +- Enter admin email and password and click signin + +### 7. Create Products + +- Run http://localhost:3000/products +- Click create product and enter product info + +## Support + +- Q/A: https://webacademy.pro/amazona +- Contact Instructor: [Basir](mailto:basir.jafarzadeh@gmail.com) + +## Lessons + 1. Introduction to this course 1. what you will build 2. what you will learn @@ -237,4 +317,10 @@ 41. Delete Product 1. create delete api in backend 2. create delete constants, action and reducer - 3. use it in product list screen \ No newline at end of file + 3. use it in product list screen +42. List Orders + 1. create order list api + 2. create Order List Screen + 3. Add reducer to store + 4. show products on the screen + diff --git a/backend/routers/orderRouter.js b/backend/routers/orderRouter.js index e79f8bdf..213909e5 100644 --- a/backend/routers/orderRouter.js +++ b/backend/routers/orderRouter.js @@ -1,10 +1,18 @@ import express from 'express'; import expressAsyncHandler from 'express-async-handler'; import Order from '../models/orderModel.js'; -import { isAuth } from '../utils.js'; +import { isAdmin, isAuth } from '../utils.js'; const orderRouter = express.Router(); - +orderRouter.get( + '/', + isAuth, + isAdmin, + expressAsyncHandler(async (req, res) => { + const orders = await Order.find({}).populate('user', 'name'); + res.send(orders); + }) +); orderRouter.get( '/mine', isAuth, diff --git a/frontend/src/App.js b/frontend/src/App.js index 911b9e68..9a61689a 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -17,6 +17,7 @@ import RegisterScreen from './screens/RegisterScreen'; import ShippingAddressScreen from './screens/ShippingAddressScreen'; import SigninScreen from './screens/SigninScreen'; import ProductEditScreen from './screens/ProductEditScreen'; +import OrderListScreen from './screens/OrderListScreen'; function App() { const cart = useSelector((state) => state.cart); @@ -111,6 +112,10 @@ function App() { path="/productlist" component={ProductListScreen} > +
        All right reserved
        diff --git a/frontend/src/actions/orderActions.js b/frontend/src/actions/orderActions.js index ac366625..8ba9d045 100644 --- a/frontend/src/actions/orderActions.js +++ b/frontend/src/actions/orderActions.js @@ -13,6 +13,9 @@ import { ORDER_MINE_LIST_REQUEST, ORDER_MINE_LIST_FAIL, ORDER_MINE_LIST_SUCCESS, + ORDER_LIST_REQUEST, + ORDER_LIST_SUCCESS, + ORDER_LIST_FAIL, } from '../constants/orderConstants'; export const createOrder = (order) => async (dispatch, getState) => { @@ -100,3 +103,22 @@ export const listOrderMine = () => async (dispatch, getState) => { dispatch({ type: ORDER_MINE_LIST_FAIL, payload: message }); } }; +export const listOrders = () => async (dispatch, getState) => { + dispatch({ type: ORDER_LIST_REQUEST }); + const { + userSignin: { userInfo }, + } = getState(); + try { + const { data } = await Axios.get('/api/orders', { + headers: { Authorization: `Bearer ${userInfo.token}` }, + }); + console.log(data); + dispatch({ type: ORDER_LIST_SUCCESS, payload: data }); + } catch (error) { + const message = + error.response && error.response.data.message + ? error.response.data.message + : error.message; + dispatch({ type: ORDER_LIST_FAIL, payload: message }); + } +}; diff --git a/frontend/src/constants/orderConstants.js b/frontend/src/constants/orderConstants.js index 9ce95125..9d83d34a 100644 --- a/frontend/src/constants/orderConstants.js +++ b/frontend/src/constants/orderConstants.js @@ -15,3 +15,7 @@ export const ORDER_DETAILS_FAIL = 'ORDER_DETAILS_FAIL'; export const ORDER_MINE_LIST_REQUEST = 'ORDER_MINE_LIST_REQUEST'; export const ORDER_MINE_LIST_SUCCESS = 'ORDER_MINE_LIST_SUCCESS'; export const ORDER_MINE_LIST_FAIL = 'ORDER_MINE_LIST_FAIL'; + +export const ORDER_LIST_REQUEST = 'ORDER_LIST_REQUEST'; +export const ORDER_LIST_SUCCESS = 'ORDER_LIST_SUCCESS'; +export const ORDER_LIST_FAIL = 'ORDER_LIST_FAIL'; diff --git a/frontend/src/reducers/orderReducers.js b/frontend/src/reducers/orderReducers.js index 3515e1ba..1b1007e9 100644 --- a/frontend/src/reducers/orderReducers.js +++ b/frontend/src/reducers/orderReducers.js @@ -13,6 +13,9 @@ import { ORDER_PAY_REQUEST, ORDER_PAY_RESET, ORDER_PAY_SUCCESS, + ORDER_LIST_REQUEST, + ORDER_LIST_SUCCESS, + ORDER_LIST_FAIL, } from '../constants/orderConstants'; export const orderCreateReducer = (state = {}, action) => { @@ -69,3 +72,15 @@ export const orderMineListReducer = (state = { orders: [] }, action) => { return state; } }; +export const orderListReducer = (state = { orders: [] }, action) => { + switch (action.type) { + case ORDER_LIST_REQUEST: + return { loading: true }; + case ORDER_LIST_SUCCESS: + return { loading: false, orders: action.payload }; + case ORDER_LIST_FAIL: + return { loading: false, error: action.payload }; + default: + return state; + } +}; diff --git a/frontend/src/screens/OrderListScreen.js b/frontend/src/screens/OrderListScreen.js new file mode 100644 index 00000000..0122a2e1 --- /dev/null +++ b/frontend/src/screens/OrderListScreen.js @@ -0,0 +1,75 @@ +import React, { useEffect } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import { listOrders } from '../actions/orderActions'; +import LoadingBox from '../components/LoadingBox'; +import MessageBox from '../components/MessageBox'; + +export default function OrderListScreen(props) { + const orderList = useSelector((state) => state.orderList); + const { loading, error, orders } = orderList; + const dispatch = useDispatch(); + useEffect(() => { + dispatch(listOrders()); + }, [dispatch]); + const deleteHandler = (order) => { + // TODO: delete handler + }; + return ( +
        +

        Orders

        + {loading ? ( + + ) : error ? ( + {error} + ) : ( + + + + + + + + + + + + + + {orders.map((order) => ( + + + + + + + + + + ))} + +
        IDUSERDATETOTALPAIDDELIVEREDACTIONS
        {order._id}{order.user.name}{order.createdAt.substring(0, 10)}{order.totalPrice.toFixed(2)}{order.isPaid ? order.paidAt.substring(0, 10) : 'No'} + {order.isDelivered + ? order.deliveredAt.substring(0, 10) + : 'No'} + + + +
        + )} +
        + ); +} diff --git a/frontend/src/store.js b/frontend/src/store.js index 80782684..22f2573a 100644 --- a/frontend/src/store.js +++ b/frontend/src/store.js @@ -4,6 +4,7 @@ import { cartReducer } from './reducers/cartReducers'; import { orderCreateReducer, orderDetailsReducer, + orderListReducer, orderMineListReducer, orderPayReducer, } from './reducers/orderReducers'; @@ -52,6 +53,7 @@ const reducer = combineReducers({ productCreate: productCreateReducer, productUpdate: productUpdateReducer, productDelete: productDeleteReducer, + orderList: orderListReducer, }); const composeEnhancer = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; const store = createStore( diff --git a/template/images/amazona.jpg b/template/images/amazona.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a95da2d47cc6909e8d5f669e062ae3ccc956e3ca GIT binary patch literal 363610 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
        =4k0Ay&5UN9=glAd?4r7R6yh31dt7L;8@wkW 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 Y01Nt$BR&6i{hyJl;{Zqp*`JyJ0o6S<>;M1& literal 0 HcmV?d00001 From 05b3aa8e3911da827d8285595678dc8da2cd9a66 Mon Sep 17 00:00:00 2001 From: Basir Date: Wed, 21 Oct 2020 17:45:43 +0330 Subject: [PATCH 43/65] Video-42-List-Orders --- README.md | 12 ++++-------- template/images/amazona.jpg | Bin 363610 -> 369997 bytes 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 1ebf9d2f..4cf23867 100644 --- a/README.md +++ b/README.md @@ -30,8 +30,8 @@ Welcome to my React and Node tutorial to build a fully-functional e-commerce web ### 1. Clone repo ``` -$ git clone git@github.com:basir/node-react-ecommerce.git -$ cd node-react-ecommerce +$ git clone git@github.com:basir/amazona.git +$ cd amazona ``` ### 2. Setup MongoDB @@ -44,6 +44,7 @@ $ cd node-react-ecommerce - Create database at [https://cloud.mongodb.com](https://cloud.mongodb.com) - Create .env file in root folder - Set MONGODB_URL=MONGODB_URL=mongodb+srv://your-db-connection + ### 3. Run Backend ``` @@ -67,16 +68,11 @@ $ npm start - Run this on chrome: http://localhost:5000/api/products - It creates 6 sample products -### 6. Login +### 6. Admin Login - Run http://localhost:3000/signin - Enter admin email and password and click signin -### 7. Create Products - -- Run http://localhost:3000/products -- Click create product and enter product info - ## Support - Q/A: https://webacademy.pro/amazona diff --git a/template/images/amazona.jpg b/template/images/amazona.jpg index a95da2d47cc6909e8d5f669e062ae3ccc956e3ca..ce9603f5f30160360d190d34d7de663b8926b98d 100644 GIT binary patch literal 369997 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 z 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

        (|}=O|Ff2sGKito~)V>pIVZO<$QSFde_l zB`d<%oV5AXCKy2kN(j_dDEV=mvod;r5VwIDpP(OD3>iEfk=dNc44TpHC8_w#)SzL2QclRqaEevThQjotq<8*C z`nt@^DhD6{5qI3(n-4Fi=#ux7O%^;mS-x6yAWkW- zE7@99un&Xa$m;tp;a@ZIZ`=O^1wSojbjPM2-20&?_~P}S3Y))ssS<_+5B|>k0+_ve zs&V9Hjj%63sLr2yIvUVhPdw-F4FZ)3z+*}9op&qm-2j*y;sBD0eGpU}7xxJ@^n@R4)-hGL3|n4F}(jP&b200I2q?hc>_ z56QBrk15>P*R|_egbSd{H3wytL2vI5z@el)b1?QXM4?yDuV{j3V&#d*O#a<2kya18 zOJCzfeG$CKRvDG5@}~AKR^6zUo^Qso|H-oQK4@kOL!K8@~M4Q|(dewMzy!`{}=?dOLd~ZgJ95RHU&mNH06fPM6D&G382ZUn?-_ zG2D&o%RL;p(c-%_?i$qkn=J=nO(#UQwh2h>QDN z`$&DViB8ubQy9M7i(gr3PSGMFEdsAUNZNMN&zHRD+{j8-=yRA)do$wqz6h2QTO-`4 zYx<>CT0lXUq=G!`^{U2VQhkTqE*cAMF7uIha|MM7q-(<-E={C zbs|+KLb@Ow@&6w;38-SE!H_7up-~8ABE~%KcyWj@Er{`o%%waB5IT0I@ zVmj}%wZL+H3E64ZPO(VA<2^}m?=QPmz~-c>3X~cj;_0xf#zFhVO06^H_pRP8U644^ z<$~KB{={yTu*k>Q_PL~}p{f^6^)_8$wK!$!-autguih@Do*y6R*+5Y>NrMYgy6v9y zx5wgty*~U8{&WA%knS(zx_?5t$9WOIAMQ>FxP-Mj53G{Xys68Y?op2$Su4E;KYrz& zXLcKq{B%y{5}x{##Ks?%Pvzs@HOHy}C%b>C9=|sD`#sao#F7q)N6vsZzaE)=Qje%D zsRXy9ha&Uill(T8X4NQ>hPuJTP9$1zp~ExNC-f{%?_Le%hGIIG?wEqg5aLFsoFmR< z{Y(vLf~ubvYcDq-bPr8OCfd96`$T$6=O;vu!x?#8HQ9YqByC24rmV}}mM^gJW`b9A zcT?gm^JqFGpb0)fg8^*t{pV#L_Q-}mZt7Bg$Z?ULs0;*`Eg75mu)~yXsX=w7hSD#z z!oj&qRyHS;GhnmvN}rvsM|?y`(&C4rwqEi*7kUffa)#0Bob`_b3}+}C#XdLNY7;7R zMa|+6l?Q@?;Tn9!{&bUOsnt^g<yVpTIN-&KDv@4_ zyD6{)Vb&{!FKuh5-B-)sWTB0^2Q3Z+p4upO%pGT&<}nFHmJ7O0gy%2C$0G3m&dRO76k*hHhDE0-CJ#q_GZAD!P*^1IG z$h;tl?-30TDyMFyOU zJzFHl-#9NIYBWOS7j$ee0bWk_rPXk`Pd+lWdCK|gK_I4;*1j*vAxrWA`u2oGL`hw^ zc_hxOC6NKk%Zg$d{0GeOL;tWLnvlV+&|}duF=%v`_cza12`Jsu z%T%BVY-jiK#*`oKNkz34e0w<}A(7En<}FDcTWk~P=#Mku{H(d5)U4O5ye>}n1us(e ziTk&Y+h6^jDj-b$KE@CH@B?|{`~`J22K9n(h%bS6NEu&YVI}T_Hu6ywc=ab%`**n= z|2)RyuV4MY+pN*@8CVEul30#jzE1;;K6+jMvl?rz3yPGcn;fXsA7{OtEkIWd|J$z% z{sxK~zJwwfnh}XD?O+lBwq%;;&XablUAwekF&w-}umbrJZ@ zl=2`yf4WkzgmV?5My09Veu%4}Q6ElMw(uk;g=Pj9Z+Tqi8iJcGlLt6)P*393z}F^% zI#*vvHA77%RgW z^BcyiJU5vzvF&CiQa_h?^CpeWt1X#`9A9grM>L!>tShRej*quP&Si2?8S&jW?Q$6F zGdu-SdAY9lw+(d-GmhJzUxaPr{Tf4ckF=w-$mYEpi&Kwuo&E-2+*HXszalM{j) zQqdNAaWMUZYHz@BypnC4TR>0#tx56m?!=~iKn-TG8{u7L~|-c4)`{}VIIB`Y^c z`{wFwwOZL;r78?D&wKk#2trwqj(kUV26E97HCKyp><5>xob;lf-E78;y)YvR(5TDsHLwol;q>s-O3(WcmOUTXZLRJfZb)5M(oi;L|HU@Q zIoEG>PvAL9ZS9&OpNNQvxK{W%QJ=eI=hcGR02mFAoC!bo%LlOtWt{qpIRCOGv)nO8 z=4$894Th`Hr*7q12LcG)l_JY6Ectn^RV2`dc3pmF4ozUT{e*%!GCPd?Up)3jrP86h zQX+7SkI78q-0x6#3=|z20xNt`B_+|_3w1s-U_oChJD% z4H&A$Sh7`K`KOC~uv$yqFGWO8wdBN(6(*GA{;Bm*_&fIK-^hIaMe6gv$T$6q9{mq( zL?|>CU}!J)jpZZ2O|irUnu6yLkH?*EB#-6$tYNt>J>!f8qcV<^oHJ6C#LL}ZJ<=RM zVa@qW$b^Q~H-cmD8C`9Ca5Wi$-E!DeyYlL?em2oT6t?XY9jR)z1shyDI06qvMi)@q0&r2#a8#v@uGa?i{Eu)?z z6KPPTUkNi#8TDa?cYoUgzd{ePl?xb?6RQtY@q0OY=%3qPdG#T~z)Cy5S$>qH+q$>_2_00&PbvSDNgW2dXV>Rql+J|9|Hr&|?YMz&a-T00+1ktON12T9338&eg@7A!|~K1y3= zX2SMDv@o?@@f^5{wtm`RXA~~Es+^MOaE2sB>ZJsuf36110*%D(o^d3X zH2hu6)c@YcVgdh+pzY*;9klIhmq0iL69~L zL|V%wG~r?mRN2|6sNxfp6;n?YY6`t;_Pzs;E*?2yNhq$L5Efw2DfJ8`cPxf%l3Wtp z>Xjj!VS3T6s4(x@0BP~Qcm605&5SOTN!m%G18u%~eP&VgT&J#0)&B0>pU4ZYvt-Yn zynB-zL#QOrm*=&4>ch0iqS{@D=okPw=t?=eSDhjw#a3qyrPRQBP`96}MH8%$WG z(zF3wuCmMkS61?{4}(`Gs&nuXGNTqD#f`9Eo{J};JtXsNSv9(sH8?})sRa13SnT3?70dV3)YJ*3=S>X_HxxU;vfB}YR%S*Yxr(yZM_x`9 z&}TYI$P0?j_;^~{uDpk=cNF0&iG|R}Rp_`r|N`h-F=Zg7i z8Cy>}zr_B0;&8MOmtXRs{3`qE>hvS@5q;TSo%Pl%`h*MeHOW(Fg(>y)_jU*Ak*7f@ z;i??UF0F@P;rHj_`b~fj`hu9Y7nOtCi6__IsP>7M`CElB1p+7;d+xo|YjpwBiNKm0 zwR7Y%S^U9qvyl?D6zL^;Sx!$PXvMdQGFL}6pKRib_Wm=TML`Zdo|SP*OIV2H?M0|@)nUz)OuC2M>}P{rjnRHRFDE%Q zUCW?S;6$xb@ss$}L7CpfB|m7tjgPz;UnzZ7Ak^V5zL56EyosJ;;8DPWVi0Tky+TYj z4D@k_AYC^S#dOgU0Pcj2i$!IAJ9vEdvfAb_%i;aD?4j|d9QL)S$Q8t>6`FAssHffH zQW@+iIPcWR>3XXRjNGYhIIXXPVWW&~^?YxraEZtDx2g-sV7;y@)oO9LdyAR}e2U}j z@wEeWr(6Zt3nC0+uw5ajf3LsQs;oXNI<&2O%WjkP&~OTg7M#HT@KTEI*H^;%->;J1 z6#meNe^A`KLwd0MqzL;uTgQPUA`AZjU&vg|MSySY`Bpg+m$A$`p}Wr#3dyc%K@nHl zl7)sNXCPtNVZVO7%}=%E=xwq8FRoAh-?$im@-a~VbEfvmUdW#zd`RLy(lhfJcPTR4 z0GT%+C5E(p{)dtOfYWV@23-RlEpOPs2aZVG*O&Ryde-kgT-?yiNuLi29IA3$UqH`& z?@WC#dpmGDJ_H8q%vq!!8a~V{Bt*_(Cw{PTNT0YaWVOei?a4IzEeKX)wYAXVPT=2A znmSy-CV#d|Y8__dv*V>!?1Q`p5>@Pdg1~ZV+rND1d^%W&$JC2?UyEi%N_XZ1vHT_U z)R`QCvolt6=Qx%U^&!j`{0zMxlZo;GS{F1Kz;oIVc`tv8svOm$SXcKre+rXlQy>=R zVx|=TA&|T5ZpQV=JlAeYabYpPz^19f1!3pdeZTB%4~#VBA?KQ9q0R?BJN7UD-0 zc&*%=N6wY>roKwua*~jMwK(W=(60=8c+VC0DYO?0I@xh?yt#58E;Vd!2Ng^dTX2U7a8 zuY8$G$(ZuH3qPjj;JTnI+`IVw0T2U3$uYQVGo!>D=~0DhO0vg?CyGsC1hjfqWM+q- z^x3J3GTqE^j=m-q_aH?XUADmUTG-7klX%aBaO0>7cjKLqzE-RBFvUZ-`orlDG-_(( zdV6kqz4FiC4n->3%h$EAAIv2~|9j_GT^{sM2W*KZkrCCSkUO zsB;ig{y^<@BQ}R`p(FimdKEul+d7 zCsc81&~WkT=#eALk$ubkuKdmx6O(78}&~O_O7A7QUoQHdx9(XUfv$3`WG&zFt#HN zoZfmavZsq&ca=m;?AYBLKQacqh6l$V9H0miW0E=d-aucyO z*Iat?WPKZYA0&m8>GTv%D|^ShiZ%5mZX$MLsg{mXG40I(uTbeY&JVTUS0@b3FFiy* z*$aN(*JWZ<>UPrOA6n@ncSh=fCW8-0VD7NsuoarT_js<> zP747`n^CovloMarNFRj`H>)*zXU^qETm_3I=w5iJnKd@RHGv!k)6Oou@F60Q3|5uX zkO1XQ_@tgI+>Zy5HoqMDSh6QA723}cHI2ff7DD^5iRGzv?tFGwGn&j!Y=m zPw_hQEn}~F2!^SLh}3ZSVqpOR-QzSWGEPiU>reBK%S0v)OvuB<y<(A4YzX_%D zc)d<-)e=t&ETlZp71&!TE4L05&@4o!lz1yqaEQkt zDY#NB)0JK~&^bp(r0;7ZwOJbZ72N?;AkTg*h~q=^W82!zVXJVsUkYy&IT zAbAO{Z;`ECG}ZJgbn6PfnttDIWS(Y#ngS)?GN!gM5w@hcqZ z&hM39OCN5Y2byF`AhWUJ$+3zY|8)T=x<@(P=_SwV8%PKU+%htGjT__aP}wfdp>tF8 zJ}5H#1E)NIjSL>#n-3g-0fGDUe3?{&Ejo8XVLwL17-4U{IDHpf%_L2^b20K#KD|D1 znVsX|OHlIbPFWp89vMTo9~pjG!7<}1FIp^cT~@lGxC-l3bNs>N=73Als)LQ_h;VyT z;G|Mo?6s5YxCV-o{JN>h>G3`?JGBq$cl^ELm#OcbdDl#ICLP_#H}SM*HnvQ*JGLyU z;;V7=?2gVbnTWJ+zYdwx2!r+(Yc2Oxd}kS1bXc0@Cy}Y?w6F*0ZE#o9ZO0w850A>J zb7wB)?*bCLGh;gnwRnp3O)JdPH|kR9mnOc!T_()C!Pxh##SJTQigjF%7s=7ivk88Y zLFsZ5wHx$<_claQem_5XbtA*VaAp3Y7ysG*kFzd^XY1nd$mgprvEO`X!_>9h#niMd zc4;cn2l(z8zi-x2S8$Dlb{U30Ve2i4&ew>uoy65}%K6-#VXTUaiPPkLjg#Bj2hI#B5btyUJ{7jPQD zyP%yLp)}?T!Z(6Qg?)C!P)tCuH0}qTw4-}|`&Nn7(W=!D6ErF@)3uWm?D?un9Htgg z0uPQVs{RpA)A$okGB8>`z3T_GyWrtg^*I>F91XIbnEqC_kragz#V>y+zfF0o)e+cz zd_RcTS?kX&Gub!%6meNDfEAoNl4I59i$%=9F3&#FXfv60<-VRvh*vFp`Qiot9iql!{K|_T9^DP^|VYJ(tdO zfSO%Lb6bKt`h{X=GRj>ixV6Jqt6zSOJu1mw-*(p1nC=H|3)o4%k8AE`!&Sd{KlvIV=RS^ zX{IE>T%JLqahNb6A9#HWyrUsk%!EUM^JOYe(o6@jYGC&Twt2*xoX?z@tmg}POdffybdT?4}+qWiP??tIJ@uU#3d&%ma2 z@0N?-(b@prB_(aI=7y-l@D=I2adWB*0&!dyKP%=LQ@QjK_4D$*^%)vE##d7vF(h#c z>}vp~M@t{XM!l<5(5HWzWA0}W$@0VW5b1ii-EEyUrA3q5CMIlJ*yhI_4f_c3T3iVw z>jLZ`jP~--Fp-xPP5ZGDweW84pH2jM4q}DB1KtoLFRc>B%!;WCx5W+@R z*lT+(`0|$}M6)fyGrfzg_HZl}x#JhT`)f=7xAy-*7$xJHULIls#vQ&k7}AlX=*{pj z`;&HXU?y>7UyXDME!!)0=9v40>+q|6Tp2OjB=P6~KyNsoBuGfnr9q4}(rST;GR1Sy zGBu&>cp0P=MXT!TSAw%9kf!8k-A!7(vHll@WFoNkAd>0C2J zljP&CFbd8haDNg$8|+ue=|7FQn{y{?Gas7al`$Qnx z5n7G_N?0!~jv^znbTG=D-ivOGIwbJ?HVCRvE1D{aY(w*10B`maW zs3M>htnkSGqw#rIrLiFQDyBY*_$lSPF7@Uq72}QWu1|%>AGnGf;8HTvnQ?R)41ml8-P)ZnYTh50*YLdCoNZ@^q))c%O8u4 zK+pG3x==Gj#$CiT$s-sEleZv%?}CwF_q^zQrE5;#jD4MCb>7XL8T?Bc49ut0_bcV` z*Ar#;u7(=@1L(Rk3L7r^GyeBWvj+5(L&p7H;1%&fqkL6#Jknv5k}&65!Owgb?0)pW znSdo6zXO=yV%y^)6?M~BpY;JXi6-Lj9$XJh`2wUr_E!|=tgF9JmoHJ=I56Bzmc@}H zB_W?g?A3<2*IKRZfP*mn=7PothdsUs*)knH_5WD)RdL;Xcb`h%gJCxI3=}2SBbmAj zr8;Mzfi3y#e7cW{p95 z>ChzVEBT*S+7d25gHSbo^nCw#drf;umh4z~;A+1R)v~^5awQhg4O`hGML(CQJ(uHs znR53NdqU{4Ei5qQm{j0Rqh@AzzHIqc3T+0o&Q@K^v%aiKqkma$v7Umo z@#e8GhM%oJNB#cIslVhZpznqL(CJn7L$!m&TxH7CG1kI6&Nt{DrbZ07PcS8@5AF%p zvh@bya<7+7%3|ka1h$Mw(vhg22>{oq18{+~<=#P1n7se*<|te-P5sR<@XyH+f*o=s&dk6A+PqbwjXH?=XXI*1B8lf5$?85 z-3I4Ph9IGCetb6?D(3@}w##2Bj*|gh@|2!k^ZmT9DBmqvQTNryE-bKBI!uW;9(D2c zgChwQd{NYa>#c0;U5z{CW}>m0x`LfP%gCOSq}Cegr}2$_z`o!lbLR847}iIyBuCBp>!oXLlU-2slF(mDkg(>o}Nz9TFF{^ zBe%eqIw1Z8yP<_b!wcRf5meODFHBk2`2;?Ns_-Yg_2SRttzk}-{&!%%^)kf)3lcFu zBz>IiZz~Uf_Wv8J55NA))rUX-pi*CJ=U_*c+)aB<{xUsz^Rv&<^%U`X1;$w_SZfPD+2N;jtN?U7n+$ZNu$D+PNj9oL@UUm3jtFcSHJV zzP>^|eVa#*kmZTtwwxFK=xo&}BZnQvvs}7Un|uiws01mr!ByKV*N^xGSXN3s>1we+ zv5GnD;8EyB@|qd00fMLN78L0~%1LdK^Rm2OVC$RlgQ|draB<8h%X~!Nx*0+xh|;I9 zhrOj}MzH0Z1@L0Be-Q*f)H`>jX$*eu!7h)+yDP7Opnfc(b&@kvmkkzMttE)S3~3iY z)btd;e3cddzj%A=pt!zuTNG$Q;{<}c2KPX44IbRxJ$P`30147K1Si4W-Geml791LP zYaH_Wx9{DjerNCd>fKxSocG77HNRP_s;gGd{(8>wjc<%5{0&UR_r{&kSU;O_)qQkm z7BAb>%qWWh(~Ws9%m}@4%sAw8Mda{+^D>47IZVD|&M};K5&Kva^BI`V!hr(G;WtEt zV{qEd>AR+@z%VfGUIe=+MOM71aEV*zcf@7-ZYUOLp?*RsZ0(wbmeCPaN9# z8f`6LNWLpF6z}2ak@POAF97#B*2zz@!pOkTu63Zy6EA5&?Oh_bY)v19+jdrlPVBAy zWv{-JSH3jZH1b*Uyxr5~iTNBWtb)drEIjsRf7AHh*2Vu_n7)%+6RPmyLUN|o4WYM2 z$0Ot-wfP z_t=mpz69Na#%^%2T`a{Zqx}#`Sxzl8e4gd7Sz?y7bRN z2xL%f6}qGj)-U`w)-ryX0dv^3Gn4)WB4nJ9mD zkO;&){N%3LTpygxM=mYm>IksuwTP4LHjQ53*;M}8h=$iZN3N5NkM?T&lbRPPY02O= z>5KancaacXpaYq5YmAR>3fAGY$6@x(`UKM`RIN29A0qqvAH$C%9>&Kgwcf9jLi-SC}$0)HTHc#NsOwHXy2O#Et z5ws_#`EqvZNs)JlDSBt&>{}Str4xisb)zDOql-(L;Q?m2B?GRQGW(!-&!2XB8frEP z;=*5Qw%#@}O(u!1GGA_Wu;4Ok6d$Rjj+C}+?n0So@<@59iOcj1iM1QLj3w{oXFui7 zK=q^K#I-@%5(0jMeH63WQf350zy#T+8l$pD**l(gBAD~#gGsD~vt0r%jJ22INztw* z%55ZS)ob=MeOi9>d~9)|$j3JuW#8Y9Pt(A>c>oI{83xz|@2Mf;xJ;K0_QtQ34@x7= ztQ8M?9}VWBs$-4U?83OTd=<9-iWYLs%^KS^xmZ&Zcl4qmflW^iTQN$TniVEf*+V_2 zjxPr02kCdrU~+t?h_2U9is!c~60v!9srVO;XP8@46a&1#i>mq9ySK*SdkyEeQGPO% zB8FqL_{EDyJC*uSp3A)_ThW zPKbsdUC(k4mSdZPf!9@fRf?ai{;D2)hrxdTLr~zK_x~oNRajmCTy@=C+&SH3kx1ON z73oK`oX-tLJ}0{l47kG6&(fTj?{gbt_$kK9T_6P)uIL^Dm1e5~ol|*B$yE@Zz@$(4 z&T{+84FLyUMZG>wQGTMuUiLcQtZQZ~wi~l~N#D7as6P-t$t?(BKq!Lr=F2u?@%Eea zQbH2Ed6)8*6LIGug5>XMA`&o#4~&LN6zA^a5$ww1XJ zIQW5eD>5WhufDN@#J4jepCY>MR7>v)t?r`EBMcO|yhthHcDBKU&8i8_L~vm=^BoGC zNg_N`?)rwVhrSsOik4b)bZw~?fGJ40DCP9>Z?rJ{9;`2z`GviQy!)O^r?dgX0^wx@DVeEK`5o`ac zr^hJ536E7>MY!A0hUPV?InQv`n3QR@fQA^^;+T@Oz_iQ3N5t{Dy-ZE*9y4XQxs(IV z43N*P{QFr zg~?_kcpEVx!n0qHnEK+A3}Tbqg|Zi)4i_l;TCW?IFsr3wifDqVgvO`?YkkmTw_x%e z*nUFipboDGP*D+>r!RtSETLR%Kz@&?n{=yF<>C)qH|tv`g8imesZ#%Rg}V>)<7jzr zFPdT2knVU}v)%G)ZkY{%!O-SUFEAamJX8;bfK-3|Q@_XavyIBCEoQ!V6JM6NTN6_{ zzT-7YNTaovbDiXTTv!rC7d16Twe^X*E8A*-cxC9OnHy6nNLk~6Lz`?q4NcrO-&D0< zkFhIHv*gWOkJwZ={7|XsM@5tZRIB#eyaF`%>X2rGDAoe5+v-L}o1@-D)tjG6eU|do zp=k`G43m%{4wF(1D$Rp~Uq&dOlJY6~H{-tl69c|~^JV?FiT|ZhE2&eopQ+`h0)>dv znt@z$2=?4!p!iy+2XSG^mVI5Z9gg={M}YBWH2ywtQ`JvwF0k>1W_9tKT$FN*sm37y zQ%QKl49AYr7J%(SlH-Z#!ZF>dlbM$fxHVQ-Ktxt>2It9(683s8WgiVGpx(8wEoT>-!Z^$X9DjH(=Lwnq@Kbrw1+>W%Porng7bwU%LcdlV} z1daJg+4G0I7GKW{ssX{heyaiX{jR8|v51*|dGx#FU3zoDziZ-rsK)uWeP_SRsAl5e zl3Gu7l&}IuCuCwn6LOQgg|fdNK+CX;nK)b#Kwa#Tcb`kLe|s-A4?Ml*oT{6hH2nx6 z-Hugr6&=V?eB~IVZu*uDHD%Ms*$sO3akjqA!3Y;*W|mDPG~zuOa7l!`nUpi@d8UQK zyF%22ej@agw@WBGTv=|TO$!c zGwf&!UUs(qO7@lK^h&l24Y8XgKSAKiNOgmX4%}BoYCM=5g*#op_>Ck$L${L9Z6OW3 zWAww9GBXVqk3>62Z1>05qXO4@w+5tnA6z4hA6y^QOwlc%9${;z`@@e+K@84D_=A#O@plMbekZCEMej5Ll`ML$t z_MZOWKwXi#cu|(+7*BlTLNj$2Q%sa|Krj@h89Sy~PCz$(`qEo0DGIOP;OEu@Nx#A4 z-@B~B7UdRzZjiEz-z}7QdEA~XefqQqtMfEHRNaB>Be2OFW2QQ!aJ3o#6;=E11?R;N zq{ysY>Uy{;Aj{@rtvVqp}8Z+NZ8S zpUrCsZ(@OXm9$KXwTLObT`9g!_+@_B65;t+wh!^-jq_&>#w+39`!`xHyKAyT&xh84 zJBiQTdz9`(kE3$J%uUh>{aRi_R0K3mMp<0`{>rOFJ*D%dNCmErG=kXJKzKvcpzqAR zpDB@+8#=8Z6$V~Yc?qoDF<~I(VeOW|i9sOCO0-L}wp`nLv&%iIjc%66#n>J6pk(8u z&`W1oL<{JcVI;oveSp@u*gpKrh1N>D`-wq7VN=fH)ZskQqf{|hocOD$<{`AiD`)L+ zO*Ij_{cAEaR!=3+;mS975+%4~aiiStw#Qn_&6Z zx@12Qzw&gMl5YEI2EXRq?J%<8WCGec7zJ&-{W86YMb@pBeJ0(3@ea(#Ov3@a&QvG(O~o-olobqwnQf& z#H#8FfO6h8P)$Qj8RKVpWxltCB8Zc60E*;=5wjWua*pZG&qC|77?mtq!U>w0T>Tzn z)6LxCR#F~+mtu>aDU??JCR=$!NI|_RBWbAA$wsID{f7iCc5x6Qknqr@%|ncSx`pgQ zK8i(O1Aj5Myi`Ie{&|hRxG+8D`_Jc91;=p|4K}hGVso3L+2GLWEDm};_MKn6a27)G z176)Q;>=XDZ1yJ;0-E7iJK2@&qTK7Eb~OYV7(q6CdKu3(pxmzfUAfvO5{VOOf+r{1 z-88qXMA)w%{Nhb#6lWBUc2+97ru5{ddt4txG>_Kb^)PY23z1rK!3ltJg7#vaZIje& z6#GI)1rvqBKknu9Rv2n>4lxqlzXwx;xGr|wjxuj)Z~B?xl<;a>G&g@YQ=C@td@!?) z#yMz#xJskME1{WWZa_-9&&2BA3(*vJ#%}3*(4vntBy)!(ID6CLNPF{v3;baM)#lTk zxZcBuoN}o!6J-fB9APYyucQ}~)B9edNJZG=zY*F&az=(*%(aPS^q3&KTcz#!z*x+K5-Ky_a?fF-Hr_ht*32gx5( zhUI2bf2FU_aJ1P3U&o-e1X4BDy|MB68v6d72#D!p^}xhs4lmLmBI#52=VAqB z{akoy6HU=Jz-gv=tbB^x=F&{vfKXAm^Lz8E;Z-Ra7cLev$_wjJmwNJv!QCJ5dbqG2 zoBJ!)ZL%~u@JC{e71`x(FB?#m34UuYcy1OZ2~QK+=4vO^tO zIw1WKJ}t-@{Gz)43i6hSWU>SS_F#Z8I8W=n=>xT*x9x zb3ucpueq)GwPO-6Iro2;;e>xPOe0~%XxkfcSzhL$jAfq@5?DV^vn9s>$)qYwStRN< z1es%l!(&V-ore?nEC%`deZy9hj}?U$e790X*<=LMT#?7+vpT=yjd-cyWV6llOsWWZ zG){i#>E;^|#LCE)C5!PSrf3I$iIT8z!lUxDzzcYvd)^MF?l(r(*=t`UrCU;X(_mw z{Hh-NASp-vj&QieI*TWtKADLab6ipDlxYJNZ!QSzy`QvcT=ZgV_&jn$IdA6!L3E5^@CEkAkc6Er+ z`l^SZrl1EmCQ~9*ayCN=2giYg6MVFd2rKfgeLGniG!$p=&#Nn&ex;|)oSo3^D1X;d zTto*rcS9Qai6%sn`&SG?=BLCoUeOKh6N=KM7HY<>?(+#{njA$iGXkPXt%bV}pf?+j z#KSJTT4r_+6uQ#lVltA`IR;gsP~{U=e0;Yw>gSnTSnJ(lWoi2mv*2G1=#;SI{eL(< zQNk3h)z%}f%1h_|W7M2T1DXrm_Bk(l?hCvYt5U4u`cGj2RUZsjkN-QrkmAque+gFq z7hXRyzjambyDvMKu%-!~L$2CA-FhFPGfOGjlOaj@i(dI1JsAmGLfzEe|*=1)_GL5ccer|5T4Q^%~Q5 zr}P0qKfzbm@RweO^cM0#3%iGX<58&jZks+`mlCKLJ!kE;C)!ZHigxDmx7QeRau`&+ z1au!Wzfnu^ro=I*A=;)qf#zaWb(yk<4{fbSCf<#|2;T(YM~p=|4`&S3#zP@YZQp%f zGv9t9gA=DY{rH<+f9ROAx6!$0w>a%B6e3yeLVh({HURQfKC*61ilQH@t2s&o_!E5Z3ZVQ^JD<1?};ue9bENqug!Li~4 zN@g(MC53bC?1G8mN?QtD@5O6ae_~{E14S&A53giPSu2ea*gPbPktSaUSZu;So|Xbz zc%CW!7|#O|tVl3YeFN)m*A_k!`H zB6rI6+3VV0$sj(k5Z;N(e036wP08m}-B@i(ov(yh&Y)OH#WS?#K5z4EF>pZS&5XM+ z({ew4dUAW@z?fA7Cuw#Rr8XyoYz}_RAO2D3iS=Tkm$^f_SI&B4gNj;Pg=gzc9)0DfaejuzZ^YiEEO`O=O9fnJrjzcFxV3P0mgUoF z5+r15&@8YI3Ge>Qu?KY<68Q`h5Dfv{c@6!vA*WXDmGLzJKj#rFy@7rShE@$Etw><2 z8}TMj2(UenY5o}Zp1>0{AvG`Jk?(1GF_}KW6h${9z6Og+f|bw|~oe3;kxEMwDgU(~U&s)IHbpom%vsr(I{+N}=4D(2-6pe{w+=zsiU8-7B6zT>(0&?J^Ks}EuBryC zi}@dlk$-h5{NwuH>`4AMnYMqM_#e7$f2GKOUP=w}kIHqk4h40cA6UqxeW-*>#&S<%S85})w;Xf=q z27CAmx-!7ahzy(Fdr?r4%Fje7vs#4%A#^74vTS3@t4$*&oLeN21H+#M4iFr9j)nKT zp(@5IF{_DFhT$Rl#~-*!y9-XQtW`)$zPG%QB(+<_T3jv69DzWINdwWyyHG z+*d<*eaZ19R73|KOBf?6IA}Zw`?V663i(#tGz-wh;UFto>MNMmhQQ;*@cZfpW7(;t zk#0T1WBZYn(TUSqa#76^r~wOi^j-*8K=Ofhql?t}7Q>bSas?#b|0`9Q9`1e8di)!Q zcP_-ATU6i(@oGuP%F=3F^8>nI1e+%GS@k;w_8;TIhg;Ynrf6LVj}K>%l+Cw9awVp> z+ZSrk!p}mQ-_ufQLSPCLF)lFDCyZfAEZvG2r5B{(Cf0IT7gujq^`CzF0vib+^+Rq(kIP{<68QA(`{HMUu zKkk~s5<4u%J8f~BRMPRWxhisH$>6(PkEq_6p9$!r@ucWa<~M*T{1G9QfVK< zp6w4A&XKpBanHGL^?pvAG5M}oxG+kAP1-jSd%$k$Crr)!-RS&$q@*+B=4$Pmo*=J% zH%+p+3{)A~$84<(|Iw4eu=4OE2ocL#{$=iLu1SPo1cN`Y0RK>oXhK6IOB)ZPFRG5z zA_z&2KD^|2z95wJ3s*S2E5Z%y)Yp=9ZJpr~{-s`0)JQsJqC<}S?A|lAfe_vBmB81~ zqOn=l9~7Z1Pcg=QGePeS*7XH59YeV%8ejpAgZH%;E5Y z37IWFt%`1F)_9aVtW$OF@5@xkuWkI+a78mQ#|gx0F41{?q@w86vHjp>}h4yLS~B`tS>iScrI26^IL)iz+1&O z`skp*?s@l;#&QE?m!CgEG_!G&l_ZO4E=tOVdH%lL{cHT+?HscaK<_m@vw0f??IJLY zkKrAcGgouzG%$PjP!}gke5Q=hCHe=>35#INVY33OJ0)7up1{}!W<7w{hzz84k1Kg% ztlXIn&78%)f8IP`;~{B*8Y;FwX51ScTE}ZP2^G;^1y2|^2NFN9_X)V>L}=R+BIpbA z@AMp^K5c!VlT*tFTvA^j88L7Ai;gZ()yfX{6}}t6_zs|0r+k4|=D9BVdZLBxZUyT#s6zW5+Y`>8&9jeNR6-@nH?lHcQeo#iXvz;wZu6^)?o z*TYps$EcE5U)1Bs;+#B8^7)M0Wf9LKvPYFk!tLYEdAi%~bT@y0TcK8_iY=4r^%$bN zMM5Ph9>S}!73>LU{B|Y7Ys908zC7tSh$*`w!zAML-J>FW=z9FEALm#icGm|S4^XQWc!_1R@{>sqhX|lL_kPfJOtr9~LcLhIb^#AqgHh9Fd}J znvKj{BjiLN34Rs*=dF>N7Ji{nHR=!m6${5jS&&P;8%sv27Yt3bit|py804eybsB3B zL@$(u%&I7YEqDjaQ{dytes%V}@N@MTyjk8YU)+1GaMKPM23T#j=S~1HJrTtB(4}-+ z+&OEh)}y(9KAnX2xonsYK!!FhGUrH&SFe40$Z1_jYM3N(y0_1f9kECw5thhfim6k~ zaj@3(+vRy>qFXO|5cl}b49KE$tT60a(2!-dk)#kItiNiE2T@Ne3?r9ThQGwpVXZ)c z!usoL?H7=g@e|WHF4E!SaWZLz*8<^2*-&OP+ok#UbBj0(64d^gqh~%iwWe&=uOR)KPN!2L#3js#gHt2X zhn8_RT2JxpCyPQ0Zu^IDO6oswWkwx$%6clt4qHIlf+` z{A)v?4ZlSJ^C_hH1Lwm2{JH_QZTNd!Kgr$ouiJ*dK1+=}sUB<+Ilc-<`+^I9v2en= z#Vvf3xM`Y*>Yb{TZy_{@)W40lQmPXqKJf`V{hnf=miaDFwe8EP%}!Gr-1S?W7TWDS z@}1b}4lsnLXW{3Zdw_hwArr?08qqQdjftyk@6L+-pis`q8KxbtY~I9c0f7Wyy34Ew z#$gv{m0dKh?V*N;aJX-Bs(Mq7H^-{p@_4zD3d&3hxWHP1WzyRNU zI3^GXBca$ul^oY+kPZwgNRqZSbADerwi+UH3-UtTON42+9Y6Y}Cd_!n56fA$`<;O} zv@6f_W&|r2(?}b&=zEw(GBNv5x349s&c~t?%3!b9LjQC#Xk{2>`v>rlU1o@<&hRr{X%FpaV_uRCtbrU)^6+ry_23G?ok2bS>TcV8px?Olg-8oq%Kjl~+-s zdG)9aQ&=;`%Mg$0HyM{qGe}lnkp{(@@sV1$A2MA!Zn9^H1qDY;YgKDx%oLg=4im!7 zeixI&WA3e_)^QS&3?lFEuaAR1FkJ(?yy+j_#3=caNipD+fIiHgFgX45qfv`F+7;)z zg4TqwCpcfg?88h|+K-tZBjmK%LQjyp1=2I&hyqa=u?P3-n$R@1=nlg8re()KfvPP_ zo6l1_Wf(JgA)2ism;SyLmUy0~ytF!Aaq?|Jzj#l^dLVZhcr2fWc?S?qqXA7Qk0Vy# zbM#BB3ath#A%G42m_cyE#3+()7+L8=2C-Z_*IQ!#?zPZwNMOPtVV@aLxn%@)SsDkH zU=LX6(%Th$UA**qw1$7>%h0EuD89Z>pG=&xWirMs`bFG5WO*E!k{x_qCf}*LStj;)KnTQlVX8Vj&B6*vU4Q$dMu;AF$~-3eu90oYe*J z;gR;Se7P8L0#M@Ax^UoJFlm!#-D-hs9V>1qS_-28Jl1thuTl$p?5^pjgkx(6+HnEWg$%byS?Xs(It(`yV)XqY-0{I|9{&W&I{w%s?-55A`^O zJ?898m@Vv0Rgw5$CFw^8VPq#&o1c-pe~FI#N4j}6@sRQ)nq{d~@jnNeeQBf~Wq$!S zVWOw7#sBk_kArv0zf3SFueVR@cgo^6sZVus7i$>8ykqLTzfTg>}K@bm4vrJJZH+P&OJHi%Em&eJ`} z`3g7Wi-ih(BZic4aZt=R{Khxa6Y~h2nQyHM*Q0-;qrh)x|M_KDv3MDYtZ_h+Vn>Xk zQxxl3ww-??1}OQ>BZ^gIiN&0>+}!gh{n(CSmbx@J2noihXLais{navozdv~w(JN5- z&G`qUvo0M8STz1cTSm5*GW0;gB#?u+At_zD#V;v{ed`+gzFC+&fNQfU*N0jGPi2Y4f6(d|219VVnD+kcOhHNh5oM;z7@LJ zEp@O-_rkT;cT~8O{s82F!6kts3R0nW`HuLvYD&G6(k)f%uQ_#RsU=`lthkVWlFR;f z#{~3=!hF|cUbc)MsO-Bc|8rOfJ0GjTMBcVypT4%{Jh%OU+rK-4J@ohZAlEwZuc!VA z!2HV{u%o=p-ctp^3QB+Ip-6KtDEEmLa_y7^P*L2Bcs<$QPlF`u(YJ|Ts-a`N80In^ z)0J^@7_05o0vv;u@$zv2xeJ$}-gZmw(7C7(;w5iW${Wra;{$`cugBmwPI4x?ZBIoN zw!^~qKg@i4Z!nQq_xE9_>A(I!ZYCp_?D*J{OUt&eA#_$yZ8^$5mL(N{-8LqvPwV}`U z3+`EL3wqP+^-;4}ub}mf({hwKdrmW7!{a?QpAoY(zG)EiTTBJ7--I)-UA zmzk=HS4q)t?$nqapM-6GPmmQOpdb^exMEePISY-(pJ~&oDG6A(m#T59$tW=ZZUb-d z+8(u!H#ed5Z_zUDY7U}Gl%ZACM=(>oJNmHS&39O=ovy4rWs5=A7>&x$*`4QA(i!d8 z38yd!Sm)Q@))2y9Lgjwz5hwnc^EM3(=boy|V!gbyF7yIyZONGL(m$dgaUdA`QDnd-8OHh1vD! z#P&FOAR8jYEW5VE&~c_-w=vB)3pZV5XMROr=b6m@Y`55fj#6Kl#O{+%-cHr#*T~gfllGRS^-+d(>QcWU;5=a0msDx$~Z)y3Mz!IxYp| zxfNuSFG&Md-6Ho{^ATMPh$}E+zJEVOs9(qxX-LKZiZhsK&zJLazT=){OFVSxs}(GJP$e$Na`RI1{97>XBt zD9qxgyTPa{q`jq2&w}ym9s&wn8ax~G1^x;rXl0$w1{lajYh1u=COs&(7ozn6KcDoy zkWI-(U8NRk=n0`!s^<tfskZwk*>TR z-(JzMz{}@@0=`8q?&iZ2 zc`{RaSRB=hXk#JGkHThMZ2mO9v0@>TN2tkRcm(TZ$f(Q>?Uyc~Zc`%!sFzVdk5hm< zZVF5m`bnLE+U0Z;##Z9anw&MaT5r!1H*iU9k}wKX;-3GhJN%l$i>*i~u%54iLw<>t6m>gW@+{K=4=7dJv8NjXcRJvrs?=JF7YMK zwre8H6F_FSDoK9mC`Pfb9P?=B|3y_jxi!3GgQ*hlbBAl=f`yV)? z9D%p{Bm*L~&#!8$ z+%0Fk{JswaMIK**fu*k*5y>GG@&FNX;7k!-twABQ(Q|_dp6;PxGSC4UIqL<4nqXHvMO)LA?Fv(TU zzt@2O+Z~XQ!7%e-Zl?2T`2>{fvG@pus?&J62zf|e6ZG~mlMWwmv~X8 z<*&Zg6a^g|GGWUP!(5wUh#;cH%#SRnSq_SFcWlEKd9CALq@8dtqNz=rM8ZX~Fbv=3 zmWp@Q$qM3|nGg>a!qFRsTW&Uw=@GFyyUhpl?EZlRUSDApTN*AWi!Z(3h(j4)3BF&b zyldoU%W5KN?^}|{>bHoE|8)w6gHksYHB4Ba=xn`UGql|~xa1?C>B&Dz1DP<7{Wl14 zbl_t`Cn0Zz9gll%&>Cn5*~~R*L*%zDU8Mn-rEsXi7~SGl1jB89=MYM0Y^9x z_d2d{xgp|=o~Q6p?=87iyaNkX$Y8l&wK>+iRqh>}B0HZV`Q;D`nf|WfMW*sD##{a< z)2I37Kt%L?d`=1U5W+ct|K_f&z^TN#3*3oe2p9MFANLWf8>hcOMX}$l$&*+c_zzk2 z*uK#WxdM<>JYN&_F$Ac_?+m2|8tfKQWxR;U#)YP=HoQ2Aw=+Nb9~O~jWMDsm5zNX$ zJf0V|NjXL=Tir{v4D+QqPP-V$em`baG_*bv=kb0qxy32}w47$}Wd$vm>hTm1*DamN zws2^B8|vSl@{BKQgu5n*eVHBTlMjU*ob$gRgSvU!b7)P@mu1+N^=-EwtaD43vPGt= ztxYep!j-1IX!0CR&SYKYvcg02j1IFYW@7T?ch{zYna5Eq1VrFrS6?WpHch#=i_wU{ z&%y)QSGa|my5Dx`DTW)K=*w1@@ASqW5dOgNWGp{b0{H==zL~F?I$O+dVtMJLM;VX> zQHU&!AR^FAjjGB4=hnowNd?=?!S7a!R}!JO3D*Xkq`M7g(@R^IyN`a6maadzX@WEy zj%9vSD)eecz5o5g3^87)EqEm#_akQ6nSO#HeY)y*jw?eivpzC#ZAk@Mrn#q+%b$a)2Luw11CzbxI(~L1DAQxHR57j~?T~bu$2ZKT z+{0^8{$xBcT!@Bp7aoK#1n9CC=)2!53Du39yW}L12Q9!0pPG4-a}urm2oKl<+`3?H z6yGnBx)&(&v~&V)$V7R*2ayJ=g!fC%fSlXi6Kn z9pE>Qwv;p{h3RYz7kt`~Q@SUTh92tN0?1tbv6SWteonBcc@Os@OFEt!$|8ckz)4Rc zlVWmf(*4MiE$J`xpKLFFcQ`&>nR2Dn*rMJS&m3S@Z=ak^5C=OC2mSph``7s2D!2bO z@qc5%#SG}X1uIWhRR;HffHX~f6%Us%i&@XDiC+Y-&lYc;NYM^Gv;BR2H6`9Bi1{U# z>Cl}fx&hgDKY&ZvOyjnrb29IpK<^pAc9&RycdAECtz?@$2|SB#HNi?ETB^z5TaDmT z`_-Lq^SmZsWKr(LHtE2lMb((?(eYzmO|qrp z86F|kHs#c=xTz_~=CDKDpXk6umN&jXM}0!wVs)s*xq#>e23Ha5devMD+Bj>SP6O|i zraGlHS(crNf(@IpDmWCs2wZW3Vy9#^|`0%Zrmy}by(FJ|0pym1H zeIGR~A~!us1aU9pYc?K&3L9vLhp0;|pD!son4sc|_;|4`(dwms+kIHC^cN;WAGAtz zKVF6#L%xP+Mx4i*t1RN9#qazu3k+x{0NyFzrasIzs!Cx*yK>R%x?R#!)?Axl$yeqI zuh@;}qd;H)7?&_6lcKa{!&D`*)@opwZ1ed^hCo?VFbyf2G{2~) z$J%OhsS&*n-Sq3Em?ZrV0o#H8XqfyH7d{K>=M(Bp(|&@5$}ULPDa&`MaXO?X*W2g* zWf>Rwk@JvYl}JZ2-f#n^Mlj$EGiY98d9MyTqbTm(taETW&&rP=J}@oDsFbl09&3Up zH%rVX4G}nyCR@=b^CCER(%b9a^S<4!6~*W;86?%5L5rgOGkA;4G=n;Qu{6vd`eg*S z1QSoK@8l{h%8$P#IoWf)F8@t)mV792x+1*ptG>-j$(8u4-Yw=ahpE^6c^3^_{o?MN z;msXpvC`JP!kt|d;`X5Ni$R5%d-HXiXXT_>MiDFMWwx?XSIRsdE}9}is1Pp_qeEj8 z52$=oit<)=d-?roUxsP?oEQxs!($S+^ZE&>p|J51am8aOxTf(cq2tn-pZuB@N#U!y zX@Djzfc3JaTL?i!J#-;5mFo3!ba)08DUJmn5vIV^RTm$$3U`*LEJj-`a-Pvh-NlFc zt8)0nD2kO@b2r*lD+5rlTBgY^A)nZNuKP1)Mw&k5-eVC!xMp^%)BfDFVXj@@zm#st zaOt28!cFyyqy+c=hrXZ!t!dlyE`Wc`UK(Y!Biv_nY|jq=W~yfCBojx63#(N}^m`i! zg`RS!tfV!`!@zn63J*9(OjG^X8OW;x_!a4nEZTW0eA1=7B+KEyiMs+!DN0XlybD( zvF`Cw_6jb&TS7?PvF~zZ#{)U_7FWZF9_F>OMg9Ec1NGKE21+nX^uKBZrJdx+|KPMj z&!euY`4ye*?_Zjfk175mIJ>X-H{se|%RckI^5U7ezyf%T*H*-GCNKLqyFGVFRNYvJ zo2Pe2L?<=H$-twkp=%>Y4>vUsyIp3B;18U(ZBf1)C}@07^yjoM%onJY9hF-_3U6FY zjXXRhbUGbyL2~mlrLAx`gZYDSskJf#_Y0)#gM4-%(_Lw|-{Zvj^=;L3;2pzmnKX?@}IdZpZ{NqQvXDw=O2p>j7KKGtgpR1A@5_Z72EKa4ZD!@9%Hy` zU%qHVFfNfS=Cf_EQ17d*lkW~&x0q11Cu}J zLoS|~lcottj(tK6#a2VxA~#uLQmKo(B(+I*0w?Y?=^>GDKksQ#ZzzHVEc7P&15poL zgS3t`>$QMWmRh32?O$&o1-?zkYvjrx5oAr$EF-|Z#UD5-O^R>W!m$Uucqllz`?*-d z1%;I^V*(w#@*+4e3SY?6yC@jB9#GjXg=lg}ju&U#*KHY1zmx2?52JSmVCal=(t*@7 zW8*uJkL@2a?&3EGpA0t?1AASAv{h$LS-UJY?2;yA9}uR+^1@y_gWpbjbT& zg$T~7JZen)<$4~Z!-c5zOS|ZJDn53n9UaU!u7seR3Tg|x_m#@!-yj7{!&-^o_jR2Y zHH`iK{Ra*OV_@R(0x3}M8KWxX58OtUJ>eZ1chQ=^<8{~UC%`pA=XI5IYIk%>j})#} z=->0pKgJs(1c8H5g@Mc9m)L~AtaJVrekXf|`4IdC@L>Xa*I__$+skIx163Ie1O888 zVGoRq_mAiP0S5jZ9IO^nG;t@xxm-j~B(nSi=PhFTR2Gm9am5qb#+H{q$Q5Ej6txsz zx7n%`+$eV3%8kZb`{KYb+7(}-%o#pz50+mdvp3TjJQSGbwn*-mj;%iD*767eewrcD zZPoPV2MU*th63^QB;>0B(e5P)S^$LodfYf_wmO!(m+(>~)I$+vQ9SBlE(%Kt*q1>vsyx@cCaR6aj({|I?F<6xdI3kL@n{ z=m~rBVgY7e_MhXAuYD#K@V;Rv-^qSg!t~9eg0AOTp?{0bRX4hTCME#tJ3eyZ0Ahg zite?Sz86u?l18@7dIz3T=%F@X&>{k{!)oC&DS8?Q*C7t)tj zzAmzSf&-ICE0c*{%;>WLKav zG9k?jlOy?5C~YT{${l;DF12)_*yZU>{pcX+Eu?mq7V#R#Itaa+fBH_F0u0X9t6fl$ z$#_CnXAgn0zu(ioAg^_yCn9$NEBipVlqIA6y87&g1CS}BdbH*9Ud+>fP`ZuCD(gXI z_>{0LUx=G7YPZb}wSFp?v&gq4y}zJ1LoIss3p;^;&qUnZ5Wc6$U3ji5;< zhAIQ-q}tEdF}QeOZrMF9at9vuWuGrl40?4CmqjsOywtdB6mayO5XNpRmv1&5Jj9}T z{0aIcTay6)c-M=GEG&x~EoU{vzm1?lUUZ-$p&7oOntKM)EtR|?jfPGDXL!&?ePTR@ zn+26zMNS3cn3{%No%vS>l-<<0TPvOW(5<_a>}hm51svnO1M5cZ^}XpX2Ybwk6Ptu< zy^0EYq>nGo!qg1yQbpJn&XVU9#(Zp4E$?MRet&R@_5mb_G#tNtbRzh@62=u$5u7q~ zpR|`-Nzp@`a76q${ij|U= z-q-YB!W9mprn$ZCRr%aHzo)9b(Z6h)ru41uft1BX0x{|D{? zI%!jil;Kzr{1x&Do^$qkh;(gYl>6DojixYoIztkle9q-VabD#du9;4oj44@cdQHQ# zIa2~)P7GZ%ukZ={avC!pPw3Qv!Wrk^8t_Fs=PM|cO?W&Twq@k{^|ySBF0lDR8#tH> zBXBKaJ(H1n;`Khs!mL0j9iU$FK$x*00!_T^R{|CAMpE(`<#AsjF*3 z5=NI`=TVT#s;RCA$pL6LFyV&|4kTL+cdFN9=0!1&+cOw`Wb7`r6N#9|AMD2E@t=_S zurtotMxlBPWA5t3CgRDv?aFT7M`Zs72GD?oP`C76O~83g=h>|Twursb$PWLwSV$? zF`3L6%22CGnht5(VsQK)K#P>jqosi1k7@LSQn?I>7u%T=gtoGw>@)Jcy}A?=rO!OS z*Gl_K<&PJwyaxw%vA#?X*~WMSA+wXiIM9u%xC_JfW`ZVg-l8n65BHG-7t(R&$hoG# zo-b(Ma-QfT1p_%e=lO_E+B&;nuNx#-NTr^2(n#IW7tvY3SelOH(73YcXHN@rqp*$Z z!O_QL5G^;eUDAuKO5efR&NGzP#Gh;e$-OII*D2_Lxi%$&U495sJ_VDi41DTN8aebcVsN; z`qyL*r6cG)Xo+c!pTm>HG-ZP1Ww5X>dX(hPaX7#6HLe(xwcC*>ErFE2+aI$CS5X<8 z4)wUv?zCTPe7dN(Uen_L-n$hy>V%d_U8$=nssOUf*RXG;V-R9SiZi_~%0L|`__1%o z1?PFSq-o;jZF@c3!}O`ftlTg(j9}=al+RWdW6AUniOrNCYgXAJulKB(tg$F+fT30% z?tt-BP0Nx6nEShkZWGF>_{50L1qaNvD;b5{N?W(VG98$p7qp(T!F&GFTODWmJJHX= zx=<_>lrk9#YL?o9qO^H4VM}fzB9N%=t4=Fp*ytG#926nTMm|pwL8mF5hd%fQbc=0SyxpR)T=!2ExzPwpNID zeEEtLiZgL#4juAAm;!5lH%06$kd=b(uZOA2v?`&W&S1+uP@BguFuT7MoJViyZIL-AFE_zL_{3kgvnS^%Th*O{ho2zIC;3Z+lyp3`k?+Yy@QEW%^%b^LTpS)Ox?u_MI^4+ z5g<`g`+lO3xPj#2hBlS%i(3aOBp;HFc0qC0W3L%yg8~+gwpV-vXk#1 zS{~&m=z8y9VYwOGsTA{8*b8sL3ge(g{pQdP9*B3GmE$OL#wIoWf;8+^KF_~a!XP|6 zpT4X0lZPNU&mpMfx$a-qDai1qix%_WG*SO@;r}6iLhAO)JFDy_(7PR#Ikm9)WNXdz zxM~9kIQNxdedpL;`YXyO2Le%m(|0=5<K4=u{Ke>iOc2r4eZFMEl!12@dqh-3&BQ z>c^IPT4V`phkY?tH|>mJQe1ID)cJ~d><0Fw=9ButCQw-`s346pVsa!!}IKB`RJ5KW#7wxqv8;RzRg+Q2pIhZGPk#+$uivP{iZx z#=x1Tmqw@zy*}$;PTsrDvnJV3XZ#YgX3HYOjwnS#uAAI^2+SU_dmVm;Iow_Ba8*^E`Z$3*>HE3e6W(z?T2d5ucs>ON3N?n6%!ay=GjII?#~EAbl)tER=`S z$eUGV8llsTl)yfF;Oq~8xZ(%6v2Vm@FX6HzwDe^#9*c3}gcaX9f0v8wbe5tNIHjk7%mU`xS@2zX|iJun*ci0=j)ExsI))(DZi@CHg2k)HOqs}8<9V=n%B{MNP;km z&i``E-`_`Na+dMIgs{JISiW45q_T0x=8j^QEi!kNg&c+GNlWBoFCcJRgVr{RscvMt zG!H_l|CHDH(I0Lm8w)`2TlhiWqG#nEX#6VkXWd_3PsC_1?@23$Eq45k#)yN& z>ws1Ru8e_tF6AZ;`556`czDm-zx)3oVr5*h-}<~8DAxU7CxxNhpd(EbQ~g-Sf^RRQ@w03Y}f;m`Dc8HOm%&1DD!*FyZQT9|YW(CZW=9!Mjsx=AFOXld2oCj)xGACMU{E9wm6 zMEAx_X7_p@i4J6CnmE_JtvE!+A@Tb@zk_%|kNu@XEc(yG3>iP8be^D3A#aUy9x*15 zm-t$8T%8@f+hK7^PvWrTyOS@LdVzWu(F zT|OqyAdTZhx&uI9BWgz};Fv?8kHq{aauGKxb@Fw)3yLfwo|xM8Muu3bOJSg`16~1n zKBKcidXO(z@h|)bkOuA^_2sb#jIJ5xk=#YV12T8LXGA!oCfq3h0H{kRlRI>ioZ;Kw zzj@gIg$VrrfgsYv-J1Uapu8M6F25bm-rxV`Q&lBX`({^%f>CJ`1+q1}$^S@#rXc3I zs&DjCtJl+N_z?3AFo`$K)a{LqU`A|%=bdZ*;_39F465w0rGK?ObssbNlKuwb>YF`3 zJr2INEQ4*miqr2~_KGori_Pj6X0kEE2S2x@JjGm|0+58+(C%J>&YJcD`VZCAE>mG1*ufak$hBS6568D)8gsDgl z{633eriq1OojqN9moN#8Fqt22vWAdr43IE@`g#-qDha+y20U7-%qb4TW2|R;!?yjt zT+j{r`iFkVP|WbuH}MzbE9KNUdiiy(C=q>V=8m1$4Z99PbN5>gV=*9&^J= zr63z>m;Qq0tqU`M$yq{ca2SH&XU!}H9TtjW|FBnue}5nR2Q66>;j|GhiR5`+248x` z!KDpWe7@f^`E@Uk(7S%$?BQEm_}y@L|*I4C(|!+h^NFZ=Eh3 z)BKhQO{f{aTH?m`#l5E=1O<4_B zrRvWcMO{ypm;U4xB*@nq{_?~qjy79+U?^fRzi58g5C{klmtvtuxEZs9o9lcSq{j11 z{lzKw!b5*0ja=Jjh7+|xtA4$n*ezpliXHb;s?A0@@07OO_A9HMu$|n6#fkTmW2#ET z+Yh-}jIZ5!%R?1iaAr!}J}_EarkD3{ywzd zZZh_2b{@nK1t`V^z)utC_KD2?$#Sec=gaRn39=pyHsLDRI@y3o)DvyKh@lzZTB5RJ!!KIb57+wS=<{zXH%%5O6x`Fh+oR^HOR zw=B3s3wVv2wpK`Pg4MjSLN_Aou((}ogFEO>h4N6ptK^Zq%!SQ{zxs;ylh6FGd1%V( z&8^6f*S#Krv2!U@8SQgTt(f{!^>@zU>-OhQ=Xgq8nz`>{Ng-B822f$kAqal?iC=-I`7Z=Vk39kZQI9VOc9ihu@uWqogz3jv6Lx<;up^A3KO;uK|=%{ZY%V z#oMe%*c^@rmxbwm1+uzUjTDh$)S4C0skAo^*+ajv0q%`HEmD&QZMP3%#Ay>)dXWZgDE-VWppARXo*8V^<5&-Ap=Gd0q1#fG&M?S4!kYed4C^oW1@b84I%L=*`@* zV3adR2+v~cZL#>W=lj}_x8_t8X!0mXucc{z7n?Rj*!W*DqqOO*KF#c0l{CaRw=c_Q zt>49KSr^j_5DgUiok!F!%@(`F%P`c+#D1MGYJJteu}w9LE zod3oc`Mb&M+^Ii+$`&lkJkZ03UfW0TIb6+EcVrm9j9M%6JnnQ>9!c)LP#2Yu4nt44 z@OYwps@OhnAxNyXzNp4>y1(K*jrTL7&I_oP>nG;26hIehLGM*WzbdQ{ZYqYH80?He zaN`Av){|#bU$K>a8vu=ps8rfXyR(%{5wlmyMy)J7KY`RgqbVm`WWZn@JINP5-yE=_ zFn$XXZu6dpWu*A^t(ujW%EX%n(QmF5pWgP#_de>G(8P^XYV9U;8~e4^2A$7qRi;68 z$UdvxIXn)AGQD2pzcHqnE3`LwnUept!oZ)sns(l5HGx$>fom(n+#R;|=aT`t3F3JVXN_({jZE@%VEBmr2-i$OMO=Dt z?+W4C3vl-nzf^-GQ*%wmIm~o zwIvJx*d^~r&Be^)rKmTvXPXR2@K|Dw_mM_)^$ zJSeieCfc_T-$9FFO%hFCyHTB@cu0j>ymqSV|5(ggh+j~3(f3d?;CA@lJsw(d0Abj1 zl(41*wQFFiL)7;@a3Q(PPOnTQd;1Xckj9Lo->KI8cso%pp`K=Sxv-Lg+rfy5-lO~4 zE{3kx21!$Mt%tYYY}zU4ci{!|Mb+F#v$(=? zdrYAKKmm3lYt&!_iMg<-rCL?Aj=s4W>!cA~71duH4ZVNoQ0^?Vp2YRvC77O4k03V1j)IOI6;5SEz*Lk2&s3 z0h6F%c>Iv8l|z4vr<2f*ZdF7sCK;k@Btyul9qz{SFH_LLe51mPHQTD2NQI%k5m9=H z^AjVGORvqa-gP4qI?BidWTcdX&n)K6J0y)qo`+D<=>!|PND(!tAfl3y;0$y|bE{tQ z9s&7iYgI^k7=W&Jxa?xeNKHp^=!5!2?025TYT60U&$D_-{9SN%3#Y!9HX{G4mv zg6dNjXelpvn=9iYGR0B1ZI|i?J!=)Sc&{ep$)(v)FE}tjAYkLD7v$*Tn56k&(=gzf zp)q_NPMi>-vEUfw4Uj`bT#%YuNkw$O!|`@NqF7cJFiwP{Vdv*V(wV@5VoD7`dz*9C zB{l`e^B_Sx%!uFDdVbAP9#PBKo*LB+`GE~M?I|3cHnaBa49G0)tM-)k%N1DotqphX z2#${;k8lGi)nX2L+Zekd+@VYSJk|7Id*RWyky2H{s%t$zXJ}rBGOp?sN-b2TrlC)wUfjd^nWYg;f^;A3#}F@e zq#dgV%|`U-Ao-+2)dzn)a=?H#cG$`oRRyrn7!d=IHONX$5Si|$U2zzELx<7f>n;u# za=bIkh^M$1xc8JaiT@xBM~nkf~{QqZYB{pv%Ue z56xVUgesQc55Uy3Yw`S@W+%A1o-NP4A3)k#@ylfl zEbi=@34*3KUpGI)Be22ny3O^pw4705yUZuWNUP1|*d2WE`48ZC;d#cj+*#G>qui7b zi`{SErJNyA=r<6e7}N|F_GAEkLt{SV>6aJ~chGj=r|fivs2UB8<{0jy)&JFr!_qDg z+PCU>WBIawR_zSAj_zmeozzpr4Js;skrh~{Jm26cX!>}wU+c5GgOt=YGACPdRNM7& zgO{tL$ZsZCIL-$6&Co%iC#0#zb|%(JC$Ia$UVtQJr+Oayi}ow2H2jo046OeL4s0>^UEN?DDI! z(e!<4^Jz(4m)=0uq&V&WuxQXWSS8I?yL5Grc{yxAwAJ)=#oILx+)Xhms-%}(;HBfY z-QdZYSO~^mp<|yFM&ovm^g$un=UJd!;#=yd1R&7W5|Z25#{|&cLp?R)TjoxvnENWc z_8tX z*sh;+gl^fl%zOTx<9aRcvYX=wrLr-e4LiKt4XQmOWd^>Q_4`@c>!2~F(hOCO^Qh~a6rQO_YHd)3=I|Fo{k2ElbQDt~Wjk^ap5 zmtmJ|JGS%Tk}qc4pG=MxXXrS|p66;d?ls4GH+-s4vm2z_Tgg`HkYC2x`+9%CXU(ch zx@E|f$wA_0rqvYxqCSE_<#M7InfmbQ07`;(5Rkk}66f2$v)n*Yx#;hXUBA?Joge6S z=)i(S!dP2MT+FrG+?qy*;kZ=<<~m3hZhP4Z=ku5eb2(-BL-4BA;jIv1p*#AOIWZSF zl=l{?pr79QuJW7l-FoX!r9eubHH}-PFI-Pircj?*ru_7-zRSNtq!|Bd#?SEPrP?eE zk%Y{xq)u+X>w{=^zXk8J-EDA?Vz-#PiJ5CiUM??p*=JNSKP10 zD7CQq3MSsL_bSF&?8d$gE?9KCS4UxXBXEIbiw~ObNqj~@HZOO zzfrLMqGdr$eA*SQV9!*yx*uQ3iT#qJ`2!F=iv&|a;_hucG}~KGl@+k}TPvq-_C>7O zRIBPof2Q^MT(TxTzLtMPMh@*+(F?nj(-s>18oIAWq(}H;c|@Qc0D0LkOtUFx^=l)J zNoh@w7l&RygDP^pGJ7w1EEPLO*pfpho?Qp(iBi zffH_(o=IC83%0fm-sxQd@WPv_mj_E2np(BJhL?It(k-7jqr5a{oF&xCYNo9?-VXM4 z)!f+iBj+y$MZRYpkp6)@VX@y~cJ60$#He>x2Gba?n6uppyIhILz;yQUUm<0^W;!_zU6srwc~^+v@T^IY0iJ zAMD>J&>&#QX_62>;{fi1JK=kV8XWs~9J#gQ_=_@O{CI{QSGI(@Ov~Z!NS9v?FDXh9 zPOHuoymVd;G}kdufvmiB+VtLlk%21X0XpAXvKPyn6T)&=W zy#&}B*0RDIN$Kg7K(uBB!z&B%H$oFD(Y!~9P2rvAy_})!#j^>K{4UqKY_o-}Sf_eB z`Bz92O|e~;#4o0zE7rb<{sBZu7*u&^#y*NyCkv*)O=qHqz&S_hik?x%j|W+y3RV7EDNagzBM3#SdyaUqcJ+Pj*=1&v*$+G!+`n7)gf$oT z4D_fYgG!uNL&*Z#q%W z!VH7N-gK!{A3g%f&1?nk;n_*86MY^1q$WgScYd3Tk+>#jO>>u{F#prE z-+*~Slt3{X?QQjbY9IUtqy8)4{NJ3rL4$I(e(;1OKGEL0z)SLF1N>UTl|Fxu;fY!e z;l?A&Xlvvh(4yyd&}B9qH2!wFpVVbS4-neMF6`#>bb|xoH4aHJI>?pW_)J3xKutmk8=l zcCz7T9vj%V50=4g$aa-<>5c2xTZvxdg^FM*%B%=O2@!wsQCmenigS zv(UVTM)8s1^gg0FJ5_sFQ;Ov#i!4l-VN%PA%4~dH^a0zjnJH!rOrfRJ$N8Z-T5qI2 zCp{MW$<=2H5k&^4I%?9+(&;8{d1smLw9Z~WJNKPTNskvpP~*03wlp2B^e!oNGdg*< zeK3rzJ$rOUL$m}UnMupio9OOZ!4^N(Ge}A@R#O(PqU#9WsNRTuxx+gM(64P%AgMY* z(^X(aU>``zU@jCu4JwK*{#vn_jpO(lbS&3G`75!v}Pw zS_vJx=Ggu5$X;zFs0fFikm?)^BoI=o#Pc+nGR0>bp7ZqQs}HmEOY)xDV==979#&1c z1!=PKXzGf$?otH$m>;V9e^ys_(xDZl;pLNz(+45+tV(f9cw)Ys4mxJ-O)_W82_PCntix$UDG&+bG5Rmbq zG27IvAv#8qZ*IZt z6tk5sn|E`ljds?UeZEfV&iD&9*rckP_kgqONO%v;n6c`qC5$|%tgWNB@!PB$2$iXC+z zeQVm}UIhUcG;OQT-<5uazpbJA45H&p5VX0@$s1;vtRI{CMol;dHa8IruHA-9Gt_>+n}l&Aj11p z&9rcOARkzR+>mXS4|LYLL4)rS(O16lhS;25W3JVKZUc&U++d}&IL`;n`_b!BR71>N z(xnXL&r;s_J`rBtXRI5Ob~$C>RZjbj7>p$R7us*W8h`Wi?fu;omrJ%RZZpKhk6FJmP(ufvKg#S|IZA z3v+&KmP6aD3y0s3D&OZiRU$-JfTtav|GfrivMb6#sjL3Y-)$KgV|B40Gvv*X+`W+1_lQnJhjO4f)L_A3N(S&AM!z&Y!4)af&4 z=s91Uk6^o*c}l^$rr?&k3SvMy0&|9iip!MVcvQ=^^bTITHHU7_lrvWR3S&&w&>9lr zhy;yexnst4$gbsH0ijPNy>+q>HX$iw*WVPvSIackh z{`wH*cpW>80-_Nbp1zQUM~S<*US=|8wIr`X-&i*kQI#$*EGRnOT3y}ev@6D^W3F;E z7vpB&EjX$4BZK}nLt?UtB-cAYDoVLdWtRVoA#c*>Xq*N6816P)_mbUTlA+8Xkk>c7 z$ako+Bq8@|s!10F|%3-yx5JtH8-9TM{2Sr!z(N z_f0x=gb*(q`;3^+MR~h(rMh*$NpcaP4sKE4d*sa7WH%L@aT&*$Nr^TAsv6JPA1j3W zWGIc^V;&IV+VV8b6Oy+q)Vx#G-W_}a++GtUaNnKzftBUM={!z8hqn=fK%oHo^d`Jk za(E<>k=6j2YE>-V3vF^f48!P(NGa)$Y(HHWZK6fchC(kg8iBbAg8Po6>pUk6k^9qG z9qW!%MldXF6BiUuv*s^*6LQ20ZEZ2GpKAEGRJVZpTb~vtYK!L*FH(yb>^G@WHF=3e zK1NxXWTU%7fyolFW0+sUzeMh+Lgj2Ke_@yPBQOAiM_6xc_jC9HZGaJQ@B zm!3|qF1XTiSnFu1PQw?2?`ohfMy&l6p{{*L<<#n%;Qi|^R04jSGcKDvT06`Bswc;; zbOu;Sh(5=d*T}J0!dGF85z&%CseoaBUH80rEy*CW?^{hh{i-nzE)h+59#cswUr)UF z^L6=}a~CRN6b7t~vR?`8^(y^J_0(MKzd`ZhUlV>YuVAV4z?zsVm!AePhHiS*^_SMG zej^!GXInfwo7vHzhO3LD|L$1!7e(N|(Ik;K3e{Hx^Qq*jwCXlM^7K5;?TFp9F^O_; zE!Qpt;@FNrSzdGm{#fOMyL)ri(BvQ<_S=-T0v1#3D>|wahjCNFzXAF2viwX{D-B7e z<_IU-(;ZpT7uE~*POcOpDN+o#UmLbznHe|%nW1>q^q~2`-8PRteHuh@nCUHB=*Q|Z zjYt_}iw6mYu^jU>I>}3~7-6QzNv$tzFJ@siGD591gzvN6P9D{_h;E~lZ{3T#b1nCM zDo)_m`qB-ySIR?Z66vU`c8+slSB;iYHEkSLb8l?`5tY-Ph~D*7FJ|n_ce$?*C0~fE zIropuZ3$5wpHEuix}mlJp9;Y~!hv7OkQlx$+V_Ic8RQ`^TNY#ZLf;Qnvf@ge3vAqy zr)ORZpthhsdFJF8{o1G%0@<|%(aYNaTD@?#q89WxH3 zT767Yaw(njv>wKK7ef}(gG7G>bsVy$Pxt-?F?a+9MiFW6zkyP4P@4A$P~m!DJ_&^1 zkc!rxO8(M|+OSPb%_m+YR*_g-7gBZLEMa#FDce3);{MpEcgN-69^nd27cjUwd}k%1 zLW~ecEWT=!aGL_|Mr3$=CDps`{}5%k&$A~p>3=fiz5&ka$X z<`&3Lndo3QluHqa%Xrp`9dt!|%8zi=IKY|t#pGS|Lh%iQ@c`FVM8kSDuX&puQp9*e zx|WCMjG`~_NEt)Xl^b?}G#7c7ove)1_;o@q`VCJNjifOwO4ImWL-;{b{xA@@BEig# zzAn=SZnK08rB`mZlcZNR7z9v&~whH;fDEoK>po@pU>dvzYk*SAX?>?4ZDnSTIe z`6n>N+?YBVW}k3<2`lZ6O0K=h5-v(oAs_cPxY1EjbhdoXcnFiYZ&#EYtL!S6D!2cfe7XK^UX-cM#LQu~IZB81%|Hw;q`s)p$q2JmiYj6Wl2&HPh?Z=T zj&`aPKH2r6HiBJ#V)y>58mB1(W?W5T3R(jkRVcPN|Ak_&3W01TY86?uI;YQjuLUmt^xoXfP0(r=W>mF`j92lFBzKRaqiYv8AKSK`*4#0RwD zpp7l4SJrY>l@hTer^?8cLSs1smeXsuK4CYitDklgebT${Q-4~1-KGj9e)A}0G3}U6 zT>oGe>~z<@i2aIZ7DWCWH$MA~$?P-yjYvZKk2+Ay@j0gzZ%13b@E<4kFQut}{Q>k{ zttmag3)WpfgA@bPf4T5MA_V>=41Y%pz<*}{>mbeTsQL4=qE<7wKRkSkS||eFocWgK z9BhIYAiE2X2-9OkNypX<_uIrQ|}Fzv8)$YMg|X&u)+4 zAwO21Jdk=lc0E(L5@eS=HfKCi!2+8z^@eXf{JHJ5^bFD;+)r$xnw*ake-oZ9o*c)T2py_9dJ94t&31ghRce6z}#i-g-_6zgSlO1Bgt1HnGhj7-nSa)2719G&Y>HX5F;^kkwr>%{^561`$*JxbPHRT+}WPk zfP2x^#N9vQKqTQhUE$ACx8duuemzSZbWwW!h9!mCQx@9}x54l`8vTER7pc%f{z?Oi zdg^Mu6#q-O`A^ILsoVTlHRnICCq+k||3%&T4?z7tj)ow}%sio6@U`1nb@)Z4qUE>I zn;)k3kA=JUr-t)3_rl;+&Il%-jfu@bpJoGl`#<#-x&1q-)cUV;jo@6@`3ee&pK?iF z-EuMf@D)ngM@Pf31P^z(x~`Q&RM7k2@(z8hWT!Mf zrC>NPY~tNjcJ;%vgIj@#{o9jc2gGXKd_M_3+JKiA{cvgUKdt3)|M5hiA*`Li?Wo}p zrrpXD{xqDk`OoV~BRJFZpOnFWe|C^nB`YP*-t;-M-G$wrw4EE6r*ljR3EE{ege>0S zOd>G#tmH1g_l`B>lo7j)aJ9?Csc3+FmA)tu()pb{;W2kf-I=+bv=a7f64mxQm0AI< zuqAXcQmMIHj4d#t!oIy*mUc7sYEN4;W=)j#T$-2A8o_wY%5ljpSh+EUxlc4nq{Q(a z!Qjq7`*c~*S?-Pj+#GLeMzbJFvhTeAsWmWCyIH*6kZg`}iC(-(xb-9fx?{!&p>OzQ z62d4YMS+bDj<8zKF6vjD&)OldLm!s5WmB-v>e0MD06OrORb?ryY65LTVM9bDz(i0m&$Fg`H14z z-bT$liuvr>gbTf_m(JKCfnV}Ut+xLDw*TMf{~|T|w}7UK6eV^--KY*-_ zztl|syiSBaLjOmxAD#L_M*`{yCrQw{jTjyQ!x~_e+SUyIi-{onEW7)t2Fpu4bbVW3aN=CMKhqSAyo4zY{W_L4gX{e;1)esBgH@&i6CLDbb`TCoZ z0mx?bd4?&?NAV$kvJ_apIR*--sVUfmMcYV)Mp@m&~{^ZVOo!g8i?*QSil z^lj3z%{%3}&>8wvT!|OG>x(F*N~DL9bDpkCt&P{R1+(g#qZ}FuU3Oqm@q%oDj&33h!;J?Cz41$cp0J+>@A5I~Ar6Wr_RL{dP+8 zn!VW94ROK2SA}WxAH}{!&W!NWZRwsNLwLsn3Ww?`r^eq4j~bs&H@DW&Q z>VZujPD#~SSTDrCk^1Eo&*r4WuD-2U*-Wtx0Yy!;X%czT~<=_(P>E4S5 z^0GG=##QOKYUgicdB@z4mz1*l9o>0GTU6BgW1;pdEUM+ zRMMJHXHn-Bd@uXQ80^1^#mQ1UktVamQrvYd!tqq*(w}>4fM{nrMInvt&f1)iF{RlB zCLp+qqP}%)x97sTPNWg5FzvK%8(H5FN;Tr2XqkDcP#hL)KR?9#10eFPvu(UUSok3l zcWMw^5PlMo+|yuuK|7g?{|Up86Tq<+(5^aaQC)vY;qsm6N~DbR-g*kl_N~mZD3iP+ z6#tD~Z~C;35@xsEI+kbBQM~${jsQoJ7&TmqC(NTy-Mq*zs<)7UKhSH;mT)Hx*(lbI zKO!)Wmtvuj!KpIUoUMIrnLRyx3BqV1D{Z6s%CVhD+WGT!U`!Jte{bK_v9PCRxff!B zN>tZ;WJbQ|CzzGq;~#(*G*S`7a7r~h`pj}$?Yd@5C=zU$EoiF#BPsP;9OZ3r9_{9i zkR}{ILZF-G<-}E5*SGm?ZNu3j1M`#=IGEbJpHb)M>Z!@E<;dHK3Orh#(btz_C9f9j zp4TyQy(@wTvf>JJyC3L7Atny5S9$2|78E+2uh9i(SS^yh^TLJRXX}HbPc3!)^F{`W zYg`R{{pNr@jd=9Gvp58LVyO_KR$q z{dub?sgEb8>-9D^0go+lBf8RAV1a@Ez`%KpT?B}4ag)5zfs>xRVpd7d6%=bnDBCC8 zGk(c?WQ~c(8v^uf_$KrKRh279)3zpDc-KumvZK})YTuN3*EibFXoZF}Q;(x@aO7&B zCPCZpFJ6fEun$c1S>YYC(8MG>%nsg)r{!Y6Ysh-~wGC6Tj1msudX1}P=I_(o{);F4 zLE3a}dd|-wk6#pF8yAt~U|SMy_RYx{DNDhya1O=)$xHzjkC>=@O92R@ji^f6`V>lz zjg5DremX43!}W!bM`VVs2Td_^>=TcvO`DSnQxGMX&3G{-!IQk}KoQ;STxX)xOJpZj6)r%M1ENCCF zDA3nNp8q|0qKCvu6J&`NCbo5~qRZ6grppT26$R%grxP^K(~=ARdWA*gm5+AAs5(<5 z&9l(AWg>7#4-|2%AC=#!)|vWl8}ca`6o7A6gu%R|pz?NHFiTYoHo0l!Qs0ikxB(0g zTWH=lc}O~`&g#2=9J~wLJlx9L_~- zZc|p5bT+y)xtA8cN1iEXMi&yp_@Id6{#;M%XksI5BS&5gPieof+!ID&RKBMT>g;gvx&)c~wM&$s&PYjR+qM)5q}FN9T^y ztg8puEEf-ygBNKxIek9lGu{Zknf|i(a=g|&M_aM~>4y))f^=I=(3_Cq6|cwzUz!X~ zYU0b1K0>#p=wYbyk>RIa zIM}IRvu27{M-?qbOZ9|@b~pPwS*>S7zAE)9hS+upN$*ODnY?+60nXJdiu^mv=r5mg zB;V5;I5~*}PEN9Y4zYlf1^#)xR|Y2;{NMBsN`%I40@ zVY~&0@eG3dnlc);Y+a&W9Fx;%zlujR+g#pg3D4bVzcf#&U8!K z8QaJ49EFt43**m=Kw;N(K|;r<95WqR)+N1#55Z3q->F_vNC7VVW|x}>c!j%$Nqd3$ zw;phXj1KQ?u-Aw9%K0~fCI}n#VNz@l(@T{3NHAY+X?s1qPDA|tbc$IU5lXkXu%!jL zig|aeS9U9Q39p8O$oHT$SC`!7wW(fRR&klODHM^)=R5FNUXpe%sav-euA1tZ%Nl%3 zKDmebckX_QE;JrHKT47vm6p;w$#gA$Ll*A`vwh5PU8L!dqd}Ygif+B&Z(b~xs~O~v z#%F_Wp6xR#dV{aOF=hy6)r3%y!QjUG3j&OnB-fJnxdrQZxQ4qg?kV*xmXWng6TM=Q zdJR?FMhmD5k4FOxu^-t_C)-_Ki1=BBOo+!U=^44l4sE+NSpvyRPfX~(gn#_TZ$=S8;)*B*ca7P;8tgvfkF;{Cvc7Kk zT>W@Q7j%91$v{j9pj+x;-;_nheyAxi{)m<1W4t$SU6k1rqB{IJU)FUq#_QRgcmJIe zM2&#HR1zk#3UnUL?x|;I#v@C1j7ugRQM>%~JnUlc8y=Gyx@8dNCiDm3QW?K$WT_%o z!~Ub?!VfN%;dOmhdwNY)S7W_#9N!6gCRKj4i!#*do6EbffZ|4&2QodJrh3tcEI8#wW8i*}G$6>rNa@ZENW-$GG z<*S4F{b!4CZn>SFp>|nDnk))|Rp*-$rf7!7IK%j@I{4luOteUI6~R(qNtPMO@!K?9 z(@1D^8Lpbd{=JX)qx93HgNl@qEVkG{tpOrq+lORmPO&ydU;B0jdt3yzSuo#w_malkU+xa9-8luz0)!QDC%wd=9 z_>fW+5`#DQM}G za8Nj*InZsihnjW!q`gKbr=lq|Zy!4*aT?x#yZHuuTfN+&^=8|V@v^24bcnRBP@Y3FP?MP$h{MlN@W=$fosNK<;jy1;>^f-o zZovmzS||*`*rwY*7&$IT=xF3hA_2_R>8QC`bGnrHz}U`YM*fPMD@wd8jv>F7<_hQg z*scG>`pA*Nl)TU`R7*U+4hhAlNswwLzF_qUNq!Q0#=bmFyy7l~Y;=k!5|WXi49zji zA1!_+F$_OJ)$Ze|rqN1BJ&kO0T=aNx8MX$Yn&Ze=UE*d0P%vDqP|q7T#qPUr-jwV& zVa9K}aM!`HIHZ5{*#Bjon`8fV0PQB;f;qu6#$waT{#tWQT<}c|h!#HbX)O)=1F*T< z3SUi;AbYHxvQ}OHsD}_*0>cKM z3StG|;msP(s=u|~>OGm2=9;fY`BdOOcgR}E=%*=&`orCW;P1{)r^X$8V^8h5qMgA1 zLEKvg#nr9rqKyO+LXhCvBtU=w!GcQ%hv4oIB)Gdb5+t}2JOm5cKyZfu4Z+>rokkn$ z+|JtjTeZHm}Q?mqYa=$bu7Q4P#Fd(81Z?;}Typy_Wu1hn(tzeRM%{dq)^bc+j6 z{RTYvDEtO|B}bUWP^$)ijf?WwoVhqCdp9GXvB`9uA0!D>Eo@KsiRKYzs(979?UpTL zs^mFL))oMR|6!g=>(Z&dnKAqnQGL}PN_U6Qh;(qNIleA$U^9t#+(F+i`yoi{sf_hq zWv2XXxU+X~)MRSa{ic*>2eehpZcxRm`nmQ6S}nlu0I7+-N+wv>3SWJ8ebF#1lAv|4 zegT29!5OXy)~CyGA6*1PE9i*sD4AbJs__d;BEh#mEYg2Qy8rc_4;SwrC_eD+Gk7=T z58U$i@qfTA{|>_ZeOwrr^_Sfu>c1&L{xNP-c&IxW&bs4)SF6OCMUVzkLtf8JYn(G2 z1shXcAKtC!aDv|I^$_(=Ok6uN6|jYT&KXWFFV%izHE|t-R$c#580Ge|eAa<==OyXU zIE_{i0NCfEZZ3O#Oult<{=~%3WxP=4N`ZWX6cpxtuIJ#Qx}X=`VM~fsr73q~C>bBA z;WnQ{I3W#R!M$;Wy2Q<#V)+h6X)cQ~d1sKa_74hH7Y_3xy?vQ)AO(i=A7Ba1uYk8K zGyQrkrAcX?uWj~D=I~gIYH~g?s05uGn9d5?l5CR#iF#e*USISu6p;)U{Z30I_HGdXz2JlFEo{_>nZUHVln8dKzk+#{ z(k6i?QoO-85eQQU(L3|)4JZElA?J0x^;?pc`ixZ8n>55^mt_~G(e3f290Zv&Oy)77 zrh$R!Bd+KdyVeNVomQ1p$Hm57&#$=oNJlNp-JBZC-~o1x^kW%0;H?cols^M74zin9 z4t~>yGF31piSe;#0aN=8n1L8TC{GQw^c9_&819uQwW?0qq4 zWzJ`*7kj!MM*IC2FH2^j)k4?Y-fN;EaA77X9+ti@PY8qfgl)p7>fqU`^-95{7u%SUEw?lP(!Uxdm&xtPyKIs=SWV6G?cO(3W} zL-({x-()!w#x$p4#ZHbgRIQSmM|&6-NyJqX)AbG0^n=_1XYa3mT_KkK3Ty@-X4xj?#qjSHA%(*x3P0OPBguQ#0$+XDe|r(NTEbtLgWR52Y>gZy`k5 zmbVlxV)2bE_J;2U0uSQ#RP|?!NqPK(4SO8k8dC+_cn1m2a5Kw#b7Yu-E1=QzwUnsQ^OHbtqpQ@0`}-({0P|sybtn9GChb8A#2=1I>ab_{dhoYr%)A<>AE0`<7>4jgl=#`bc*F z*y646{sihF#^XnAy9^b~fj5PXSY8zUf-%BASbMd4p${7zAg&w-rT3lV6I`EtqIS?c zOb;Y4#B9_i-oA_U@)i;8secDCYH_1Vq;}Y{nqG>lHq9h%ETezV|uM#fc6&9+#E+Jhdk@ znLE)-n#F~6RLRF-i-55@VG4Nr9MPA^Ev2IdR|o4!XRP|MW*@9vb`_ev>sH}ndN)U( zl+lMSt{_Yps`um@87jTFyyOwJbO}afJS`eFhjJW3st%va3&N{WD@#dYYR7y>Ss_R} zvMbjrE@pSD(RiT`>{xH9WS1qnJ)+t005U=pPGO+ADr9!Iwtr!xlVB=_J$`(|X>7Cz zL0kL8gwYsl^w3r{>89k}5KtMs%5XE&qDJM6r*c|1suETd;du{C)&O5|Utnp9_b__mLBqKu{{ z(gQ`&ng3Wp=bY#3^QxPGeUv+>)83KBx}|9#U|vNHEoKSx?VO1DM@e+tROU%<#5@1m z5gQyi)velDx%?C%N_KlrT!zt^#@xk#i@qUGsbn;ReZ20*pA92aVSmon8U`WCDAL9g zUZyXNTp$OP|ByfbFs8!vLEW)8&o6;@#>mc1Ud4I?_%rZ~ejjv&EZU@{b;+`ek)3bz zz&|=EeaxRS{3XPuwG-szOlz>HN_u!n~ zk}Heal%jr@iqol`?jw+jdWJkn(}(9$zBRVdF?2fgPilVv90URif(=dub=GpoF8% zCHLLneWlpmwhU^!CJP0Sam4!)7%2iAuf?T?XJ{vITY+jJM412ztWCddY|l;Pzw3`V zYB!^Sm`h+CiHi$G>0*EkWfB}k(9UJwvmTmk%>mUsJ$_cgeWW90gGlD=9@R+H@V}WG z;CLzKEQ|cB-`_l}+d5)5tn&vP9QNjg-#H^Kcj_;Ml&s}-}J%&Q6 zh)VeAnSbD_eX(zh4%cs5C64D?h`q7Q0PDue2N$j?a{T(%uH?B1{8jRP9Blb!TwM^d z!%;OKXcM}beny?4WCU>K4Ipz&fC8DEreqGq2j^89fpJ;P@Gs!ei3fd0GAph}Jr zW@1Tu_hhOtQ$5Y7dI8Dk>23^l9LFymK=D0suJ28F{OZk2j2-85Z6=H8=&|i2mtSQP zt;V*JYQDs+<$`?TC)upostD_Gp86j%8KEpmX}=NREs({x>`jLT;T^J^XdkbCIg+Fm_js68rv3JLy#6g-PkbDno=^#J2DO&;v0zX@ zOJE0WPRC>wz3B!pR@K_Qo$%s8Rm+O#=t#1;%o?HY$a})SG-)x>>PjN=`n0uR5JNA# zoY+i_G;8`%)a$hozLm=8=FnLv+KU+GlUUTbS)&m*o9}u(PCsnpZ@yDPDtOHz;9d@W#)+8`fNp9*!|PRjj4Z$RmLI)TzpdIbSd#CUqTd|y21oYt^7B(IHsle#`c zjZlx3%(#;c1ktCbeW|2;u8s#dYGy`Ed1yXaSCCyf^tPV!`tUkqFIjH@li}%;q*DHV z5bryT*VEB<7KPy(6JKNIIr+7d7@_u<)<=2atedGkN1sx-J%oP*G~V0nIFTVJR1{_D&%@UbRO%}08z*W`YLqAqomo;T(Ad#WUyM+N-`ku#5cgaRy_!%=P!n9} zim%E4(5MpRG|aVUL@f4gK_k{{&xx{lSHyU{Z8PdvQY4RiCc%{1gh*Of>xYo<{%g)p zCQZ1=ifu{g-M?+U|1SZx`Fx#2tddN|6xC;rPM3wBMn+cVZMu~AjRj|5e1tmr33 zmnH3Ux2fgxyJt-ZF&`ye4v#@mGi(>k6ZX|#9OKYi3Dp`(VNz5BZp~W`kn3Qy(K>JV zo7zUy#mG6+53B4lxq>QMj(h-bpqjx}6pT>m#kfMAJKopDRwy7l`|@y9zh=Dg+w4AS z-=0*Z(VE<0V_Q3)J!+2@;NljLd z%sh4)-A0+BUW)KoBN>&YBhL{nzziV3_Wc6sv_UuhOPu(M!s&;4s5$3DWx4kCB=rx)QEJH7DzU&AkCh9i~$fZ!(%O_uegzp_nRt8Fz zJgfAaTC%MQqU6Z&^6wkwwG*ST#!hjvTps1mw|y7eCr`85M$i0eiyr$5xcUxrQo~Lm z&oNFYq=SYNl_PNWXkli&SpmbCHDAqde9_be$=N@das8GOUP_%-5JK#XQvaasuXk63 zXqYkZ?2BYtAywf6`FU64YKNHWzR=Sgz0KK z^8`4Ai>`?QF)>?snIJV@#IgiJlONxFZk5p4@qx^zerh%Kjd8)Y-#HnDW^8gr=m28 z1q02CoefWP@)W7Y`sFOFTYcuk`c4)Il0t1@@|jA$OFJHkZ(*iRbuhKBBTlLN_Etk8 zh%e8Kl+rk;@_uBxRb+n2AaU?<&w4!37jfj$&S@t6z}!8t4h*^|t$Ng&)TW00nWe8G zJO+xzw~t9%?k?cb&5AiJyAiAsVgh1Mm`dI1+zGjcD7JCoKGAiN+m89Nw%>2a0e0Gp zgF3KS3}~CfWE_9y7Jgw(|a~_@ChSw5GCJN zn&}hcIFw|0+EZ@!dU)Oe_%8El1zbInHlwH&g%7T|uHH{=P9Yw7+HIK(*$}2Qio`X) zM!eHnt4jSiikaJMa|OA2gN!=~p(>KXaW^o)y^omUnoR@hAh-JeFbqZK1;S3)?xOEY zZ|Y%o=|=Ei6;y>bg~72;2cgS7&DSOhU@5~_4K_x&`@D>fW4eQ@w?tw#H{TFr$rVEr z&wJGx&->{cLB-`(hw1`}U~>h${l}Nzsh^}mM2B3*24l(lT0%F?Gw9;pNaVPcibe6E z{Tg$iDPap1ChVJaBq;~@mEK`Cgl*96K~FA< zp$})GkU4>SrH5#4G*ei!tXkL7!eWOLV%!Y;`k|_5MQ z`d^Pk8#%y>pQXMeu$1hUw6~E7BHx>T0}6boT>ROq$WueOGcYJZdUITeg*~LYVqb9G zI8AI~pg&uP{Z+0QF-{jDjqaqJ;bP(EW-ad!=#!pq1Ep$Z z%Fk-S;R;q5pakmr5Nur@-0z{Jz4(b16=w((_aKGCX%yP_7fH=Nedg|yO;TV2o}FkMUykk_;c1!20h1~!liXY`*}!ck(ouc zU>4nyqsfny#^!ORyS?otOWp)7-&Pg^b9m;>pm%+eU{-3nY9A2ZK94=XlFgo$c1b_@ zzBGfN`Z+wxa(Gm>l)Z8o{672@Zn<{&hn?ldXL1=*e*2lLWPAt~jkO`k*Ux@_{raRP z%{NPI+ypeWD6xo?Q?Jfk0@prELc`uRLSb_qE15P%1D~GM1`3O#f>4=n{Z7$CjnH=$ zmlU&X!Dr+%h7?FhQvjJY(SEAHy?D<1wuAc2X}51BvY$w)lZzOHX0S9zcVB+rG8o8t zpC+~4nVaW4XSh@xC@!0I`6QX2mw zyJ7>`)7aw@Vq1UqBjFOzY+mC2J)1*qnzs{$1Yj$wlejb*485k<^;=GXOGLlR1`i z`gWzpr4$!V`Wt|6SY*g`S_^Y27N7Zogr&qF=0tm=9zpyTFeDX$Syk-c+XnyMhWPvV zUm6ZLXzQ`};Y~RY$nVZB`~Vs7^!ITgk_N2$PeK9&2tT5Q{A4wx>$Nz0d9k)Fe|`b^ zfDC9KAxrGg@+4c}ZZ?HHeVur#F#(UuhV~&#=X*)&&n2DT3|GauZYMrv^8*c7i9WRXur86ZN?CNl$jHiLY)P-Q7@H@+U*D7_;xc8MU^MKA zCAFdqNM`G_*JIESI_}E8{FNsDI&|VJ>bk;uvqs=#b`zYSFqoMwDqNZ~4X$(D%h$8; zvRmLAz(5n07CQ4r5S3|Mh}yZb?epTny_dduMM{)5ar2o7RP8OK-_OC8vuu$5b0;L$ z8D>q5Id&DWkPw2Xs0-7?AwRu!Ka&U6?I6jOw?C~bH>>QkdOTNp*wEz);S6Fk#$-%P z5nHJY7-BLEGnf&3Va@GoGFG`4zX3lDB$oC)tza-RP}hK6G=H^;)|^-0agahHko^Gu zc}&e?Kc=3PrFcVjICNwTQ!(jlismBdq+p~#h;b%k*tpkZ?gRJx@pnA%MF#~VMV9$PK84Ki}JXZtt}4E;11tIqE#_?WBb&dYc`w0J8O z{J4g%CEjd2Yz(7R?Du?Ys(nUHH_yY4?kJZTBrNT{%2IKW97t>@HbfVRd#;#~oQh6q zzd_VUT$|SkkzjQ=j9oyF^uS9-(aHNMwQ7;aMDy^-N6|@_^_J{C>n_q)MZ$q5Fm!{` z$F+o)y(d&sP>xuL(gUr1bUMm5@hi_AFfftgc;7mCo)UF#hf2yjMHo!3C8vjV+|!OZ zK%7(ZT0hiH@ert^U ztJTSV5C)G&k{=B7egkYl7p`uLT7Ofwi*rpOpX-C8e_Buf4f~Y8K3>H2p-|{WnJ09u zB}Mm9S!#XCjPfE2{$@)c=VJicFm8b_DS~wBp32D>yk5>}hx76-ZiR(|`Ec{h09SPM z+z3)W-e&Poe9zeS0&XgN*0U{_KbR_x#$d4s?qDW>t7~OMQAw6c`(r*|qnACLgAoGp zgve}h=ehMwoUqcZGralEh-BOOn%kBJH~+=6l+!!aicd|Tk(nvvPn?F0v}KNypqFJ+p- z>kUJD2^`iUuRMR{x4Bm7eG3rSmN#?Ce&m;Ydft^PAR(@maw@}SHyNIXX1R#w?8qto z{^s1Mmc-k2AcvKtP$27Tf`T9ZX_yvb`cyd3G_~%T{mteUF4;YYL8GRP7QUu(sa-{x zr&sMGtk=pX=Ke;$nk^|SP=C6y=~vipK1Hf{m5j%OUab2Zy&Mq=SWK*Tv`M+YVloJB z`_uDaQ9Zu_Pr=>ReMJLPZ>o}|`fP#gBhEG!@9Sjkl=(C?^*5!7F%kTROH7TtE)zxN zjO}zj;4llH47v{m_4*J=wGQfWAI;(X0%g1y5qBhdr?3xh+MLOOv-dlAT#+TcmHe5z zfZy3Ua;l~9{jD?S%iacx&ku_hg?>CUwt7zduO-j%dIqNprJme%`J3!bWXF1rSDXJ9aAQvNDDI~N9TY>7>;s{zi!QOxm_{V=S>B>JztG0mR7pIJ zuC=A!lXcg4l`l*U4YpE;>>`rC0h)t?Q&n#n1NA>KlRq5oo%1pXZh(fX^CeIv@q-Ws zEo2y!-P|{$x%ZA%5Ovb4Gsdn0Drz>q#126GfQBc1%~A%i8-YUU7TZ zJs-v5&nCXdIRXw>Veb{k8k6M;1`Q{PRh-`1mSOkO4fntMi3j?`ccdUo>%hNQvTefe zSG2W((4{H8?I{D!OU!@8=j!cq2Z%+_0-4#~kJMYy)}nLyo`Iy}a9hCh#$w+39=^qq z3B&6g%~Tv)RXYze$h`B5xL?v=@`=c9;*%`)wTth2%$hOGmqIBC5@LS?a#>}I>gOt| zBfeAcbv>dZ*e|+OAJ8x^SNd>D`)P(wjAL6u3imtBtrI*DJ`<0aSf;$AzY5#)qs+qH!7~A-n%^U)oh;kv+b1 z=(4Fl|I0Lv`fHKyWwV%yLDD)sN+>8K26wB+m-5^Cyv4No^pLH1N#E5yDp{V}Jfb5w z;;u+Bb!6hG2zWM5=y10u3JJNFr#J*#i*^TKK;>gX+a^w*7UR+J2!S<%3vP zd~WjvGTxxU(;u~-UH(OqNRO;3pvb@PbN`El{ePMG4^R95j-Ajyf5#^?lavU+{q{pS zg3K!2@JFHN^zhmGt0@Ma^SRtP{13cjqN)@g0Q`yc&HEQ?kSBV&qS$pMSd5)&FLQ?U z=pLAtz_zmQt=dS$IG-*31a=a)xOC~Au%NyDaAS=_v2wcJ#wG$$F)1hGuDZMt<`ZI_ zpWexz+tuWOge| z16W9=Qu$5{aMIlu0+CGtM-_Eq(*;V6v;jrce&yq&@T;n&pRnKqy$|QU8f5fj2JYTz zChY3@Su=x+a5;N!5V^FU-7C1AUAD=ta~U0lIx1i1uwTbTDX{ictCPjoJ#Wbj_Jno! zw5tGr?OqIL@8=5MJ6$KCb--sA786H>Hfcrf9`RvIn)E5$7wW^0khTAZ73=9Xp3$Ln zGGk)aM%3fYKCj+)kfvxOD-D^OaJrq`bM$&ubZ2LsU{uFX7yCSY{6q&Lcw9(N!KRtHuD%wJYR5fP5Mn-Kuk{sq_&qF1y-L`!?uxn{uv()Z5M#%IwiI=X+Q7xArsLm(<=>eGh4=#FEEcj0Lhoul@Eh!ybrC zI3Atd_r>6g9>h;j6|bme?%0yQY6}kodZIpk)a#e80V;PRXBNAy86#HN)Qwup-5`)d zjDZTA$%P6WsHqOi@;UE^If8`yDkgr8>&tBzI1fEdd{%}<;^VjD_4w$)YSR1hzNSoG zeOmn+qKzHrYud5LWjsqvQOp<%tlbvaN=6wqZnHKiytj5WW6QL?!=GP1A9RUzTq^w% z)zf;-zkX0k0`h0`C^KfI5N9gN9OyH>%WnQi8-GM)t8?@HaKD1{Y9}cpmlV`_q{Gf) ztNe;InYPdecvWKK9-E*cMHASzPOTAsDaCdvyGOXR!F#8&-KpoDN(}>pD$;<`$p6l_86md8P<4B1KHfP3qOl3L}GT>DaAaDMIYc=Zn}{v&+vX zLKD}91UjXJzT*Ll$w0*rn=q4ymck~sK^RxbkZKfLv%piNJxmDenn6`>u7>mn48VPf zH6x@##PZMn?XOqR&V!skaJafu^FQB|tjos;B3VPoINF?Rd}Q|-wUwu3;NK>a!tnmp z1?kWF2L3(%KL-J>Ll)BE3-?TQ)#&Eu%F#{-TS318<84!r5u=6Q0OdR0(0eAkW>f_! zE#rM+E(EvAB8$J#-hw8vn8;xi;QoFhd}+aA1$bGkeY!ncZ^5R&;LSiX zA3svQt}YNAvH9)s#+vkd8!pg_klQywey4M%AqD!ppCn(D-dBf;p?q>Z30%&M=c3x7 z!EsUuUniuC`jDy7Y#S%;_LfE@?ID>`99H!6InO(rgchG-)OHtU810pEwarSj2&KFe zcEX_N5jlZT-DR>ue;g9MOndP!2CYa?;2&nK|6gPVsXKogAn3j?EmpgrC8EbH0D#%S z1g@c{Cp{oyOB^h}M9n4*%(2YMhiA^5W=v3h^S1bhA1xw6!gn(8xR-|t5~BWj^(R_Z zp!AucL%w@~nJjKAE(t?i|b`W^G)sXWP*xzLM$IL#aPP+skx;(w%!zoPqd zp*ba$}pfW6|x(uMW^-=opD6jYRsN>cCS?;=)UG~}Dtwu%CE&Q)9`(MZZM)CIl&ifMUG_o2757r30_3DI#A%voZ!Rlbg63v+E;VHF2{QcJ4VWL z#g4BydfG4E7{|Gtqxnl{wJ-3%O&v~N=L}-q+!@^LL`%QpGQ2FP@)MXFQ6ooYfPYb# zXD_RJYxynWkWB?#ppV9tpnblP z@)IQT6JoI#zr`VPfimXHK5|u&J4>1h3`9nn%+x{NpF%=eq<%P4z`r3K#Y225*IOxh zPlt6Qmm84R$6n^&L3S;abs$p9kA#h#*dFj|ky`$L9oLL<{YC#l`8P!Uzd-CB{{hAS zxnuvlh_+V9#@*o`*GX!{=|<;dg)9Yrh=&188y5l%^Nh&-CztsXI80Zm1T-V8@ZFw% z3)|*6VIp^$tuz5I5jkp^_{Gw|dFra*Tyjm5<1%mDNZ1(CzAWKYVQKTyavxtcnO(i9 z_cn{z2fPU~N}d3340(A38m`WElRG5*XnT*DGQ`x~jpW|v#!K>9$ zBQ4xl+lcY-=Dw74{j^zvHiaKe zvTremW2Ba#KAF*@Q?Yc!NF~f&HcOQBbQAYb=zA3o<04eHh(nA7kzC*t4|LyG3!d z1=-eVwuqLqS4QH#eUNI_)!%?mVUl%sc0Xht_+x49-^Y2U!$yvdq*Yx*&m9tG?WI3> z0z;XrPp`vIT%+cz^A=?80(M@D9v$^@KP!}|7;hJ!lRtiOmc&jk(_t9w=2Gv@+1lB# z6($Vpd-;7H9>)gQO?m?7ozt<X1u@$xtg)A7&)w{?YREyaEN=SE7F2OcV`+|Q;c^cclEpGfzU!>QwJ zOAb0oe>2)`wBT%bS&3|~tTv%TRrc4+9M$%o{lYj7zJoq03gPcJp?-Ba&AX0ZaRuhH zKqyt+ExGUfXPf~_$Hn*sVf6^*Cqg@!U>t!6E3~#{j+neWa9}=52?^;4)x(o-Gw97v z0+Z2Wu-uHkmq;I9-IsKi&HhTc$1SwRTnsLC+sJW|g?``ImTq993tl0;sF>;e1gy2& zOWx&JAnIx~VV5(zn*p!(_5Dau%SnTcRF*OO^1Ri{D)2h#;i-)65I9W#mQtt3#0%(= zWeDj+$3Mp(Z+(0L$pTxIn<#LtCHK@YTsK8`YyNy#Om%p`XxX1oE?{a4Uyh>O?|oVd z61os3QHu6pElGT_>bEgcp{U?}wyUe2?y53i@w6tVTMavpiq~!LL_apzb*HgG$70j$ z`D2JetBGUU-nGjlPQKRmL}q5etC6t+(%vzdRc>LCXE^vGfo@)fN)-0E4lXpC;Od^F z*p8VJ|6$yX6H?C{H3hJK*|?E0{?8o)29+byyd1PCHwiupL&U^1NBljv z+|t~;fKWvz{ZF&!(cjHX{`cl4e{Dxlbkcj%Y|8euycO0lgN{i;C55NoA(wA~iNeZX z@dvU;AI_yW+G_Lk;S@b2w~yAIaAyvOd~y7Ri|(g|u2l=?Ro94EmRTh1FsJzqP`q6B zpIX7y34z4A?w%??X5)#1-Q$39K(9}6vGzxV6Pg;djSU)*1_QC>{%+}OhCsYSzhkuL zReWZ*mm+cP3CCwcRH!fef^BU%W$c}uMz!+qADLIzOkI5b;uXoc_~-)X@!m|WmwTd% zkDn=eN0|(*L21W^gZHjK;r?^0-vGSrAL(MI?X_mAD?Kl%R{FHeHB_XDFjtgX)&`k) zLox+zu7O!Ogo8&g)9#@c=J9SeRY8RKX-Xi$80dH_t+-qIzyNk&gx}KXCMCFC9|9HB zv-B7A{3d64Uul0`iGrbLodA6;+rI-VhoCRBUQ|m(46rsie5i)dc%z10Kz@8{y;5h{ zlQNV$6FfqFxVVEaTWG#}%x~!oz(fKoO`GkZ8r?dkv{Vg}_U*^A`s-GyJ%lxIpWqa1 zl}bM0iPKWzTem?kw&w$t#v(F$ps(C}rR6$9B3i{WipO26y^!-8&3$k7@3FfTwt}^7@^s!yiFPTWPbVHJ3_T6Vj^E;O5(iW!wkeG^R(`f6QAM2*5sB13w~DchR9rd2}fZ1z55*fh?0GrP1!Q=a$C z%f6b!g_0S7tum74I0y3M>J_#z;V;+Ke4+la%i;sj^}|_|;HW~`ukN=_gFghK@*Np1 zo}RyV1W&&_KT1#Rq7h$r!1w(s>9(mKgzYJ!`xpo34EMHesxUD(UY50f&}%jafEZ+pEuHli&vf#ocIsc9nB)$4a+y9l!K*k`o~{PI5i}q>kxn3) zbTo;u2&0lE#dAtdt=_*EAgtqY9f+mXs%=!O>3NBVvO`8CZ3HESl!#(;@)MnjDnwOC zzZNAuirHw&xmH>;QnyM)Jy5F81P{o>x3e=prR3YJNEac5@2z#NDTU)7D6^%SmK!fP zh;jnI_zPPLG6mFPye#t4`Zywib_1~4Wt(T~+A)B8xcS&-9M`1W*?Iyw)bBPBH$%RW zt6A0*AsUW@QQt9zpW-;d({HesgNk%&>V@wsew2pEwwmV7?|Y~|d)uv)@%*f)0jb7( ze3w^r6@{7Sdnf%i1#HR-3}O znvD0jC5h!eXkZrH5pCm1+*zwcs`u`vuV$3FiO0my3t>RgZnZ<1I z>+9H{Tk|`cBX>!%tZo_boML-9*+(`jL*}}Cb0U65+3V435q9P^rFnaq*ytK4qd{&h zmejZu+2>25YkN%8b`aQ#I|dxi^u(;cJ{&v5G>$7aqloDGt^Zr!TDI_0Kk=VeyiOGP zW>FY}A-`zUcAcT+mYyzsJiW!b%%dpHP&B~xshWD(9#Ay@QkGu4!*VthGbV=FfXv)H&cUHZs@iYS zcc2q(2f{pl*(`Ck?VcbRwG{&kyeZ3p0Q#; zpwX04Q(?C;wSP%asj*=pUhcqWx#=}SXb|zBO}Y6TEUC_m^PEMJO9hlBw6%9V88J-$ zrC{;0C9*2UB0Mwia+Yh6d{RduG>D&m$zuo=xAy*oxtX}E^nNnLlrwj}Xy>r%4yk*R-SKkz z^s&>%iqNm~SLHB!GDP`}&awoxg!yAF^sT%L%)84`mMS^mV27DgV-ng8f&M0!)KRkU ziD+Q+!W^?A({>E^*ORX@OYCkR8D-rB=NSbR-hMY3qQ4CFF`8T9xrZ@e*f zUiJJCDFA zt}NxM$vzM={ci zTYJdDwM0y}Z~9g^X=S(5Bd9=wNQa%)9|M2&JO3R2$3({y|8wBlIVJ*&$a8$jQ%_-- zm~SWZL21CKXzE4_ncMuNA4U>7#{X(u8GO<*opep<0Rml|(S>1o^Y5GzmBn;AdV+=< zBfZQcXlVQBGe7}EPWI;d$HO*Wg6RW&v(AE1lVBSC_)(aKaaLxs8#K3YS)Mi)a2}B$ zFE|&K3TChekt3701N%W3$FfM3a5?k>(hJ8Y*Yx7=-#CTL3D zj@_fdp2E(;kwtlXsZsb5imO0 zz7zTEB?&WB+@f+FDXEnN8o`KW)T9sH+r=sP0i+iyH`4{#^g9g~UvZH%8si5#BVXkl z6*qKktKkjdsC-uc22|#AhO4KQm|Q!VuwyQx@;sX&{Yu8m3hKp%0Fj zIgZe^K4qHPt3s-1nE+ZFO80~iF*y(wT&+hBDvnI{T#%&%y71MDY^skdx%; zJA11d089nF*Ym}&)<4G)c3iv+U}Omq%U-lN<$eJ93MLMnGK6gk>nYTNZl2lP1f9in z@$EtPj3#2cuC4s3J*}nhpmMb%4|lrzKbh++SVxfJ1Lp7lP;mb%J*xpXWaaGTUd|N^ zDf8O=qZt3!aUmx7KM7a=hf;-q6FB@u)j}yZe71h@0~lHOIaVeQ?GoZ;ee+|T$+Ja| zcD0xZ-$;rw_;yBwbv~^C_&MXd)}ZD-v%Yg6ioA+GjXgZN`D5X{W8|j~{H5&BwIWBd3+7rz%VdVpfY0?u!L;H}s z^6WCeSDeVT0o&S~FVjR)qH(vFtLJn)D|z3kDqOc1|{d$x{Y?{*~bl4#ugFR<&c z(jgC-j3*8KD{AULcZ`p{h+vSTC#Ms7Z7}q9d|Ts?GM2Zw zS2uJ?7}`hVI!`qA{iW@*6qyg3&SGQCaDx$?wie{{*ND&7{$rgkZ-OIQ;!ksajzoj7 z99T_*Ktxtm{qy|W68wiaGPLQpkw53_VoPZfWm{|7!#B2T(&#Bn$%IgSX4Y4J?%J_B z*lnsuF+a;EA_b|ez#vukRNv-DSn6kp7?BTs@!lS@smi?(&kRkV?dfj-a;nruYrH+9taON6&~ME721_JhW)MN$ z7;{R86Whk|6D89f-8B8-DGW291>|;mDa270%A;#na`e%pK>kUvk@)|r9F8t)NR@!sBdI3|?*V@AXJvY!B1B5kF+LC2;?83;uiF-8o+ z@qe-6E8bW)?Q8m#E>E<2;%HqWTRmhBt>m?Z&(Z4DiJqT-q?VN7u=FTQTZw{1%Y^@! zD=G+-W&5s+MhMDBUB0_K1y8HE_jssqZ6wDfw)U8(3<%hFJ@C{}lE=iS=G)jFa-5Ha zI>c&m5@kRI`qU=+n=Pdk{kP}4ym}ayS*_jG2CNl@`j^0l(kHk25)G>RxW1Ve&Y*Im z(2pHAGex?Xp7dV4EzTj{>-?lu-Mo)M_-mbbM(@h0$=4i zZyXGM(o`K@o!4*wTy&*>=aIlY9~FK=hg#n+#-(ZhpCGmK!V;kA6G>G*Z$s@W3sS?V8kZdcbU+Jjp}DdQJ) z542Kx=?{n&2ZsGJ%H_|Sk{ibYky%S;h9aa@>-%mOwvr4+QEv!I5zXhV;|5PcD{(lq|S=^PK4Fx}nodR09mO zRo_zFr1Be0!u04N?557ia<#Fck(iAO8a>*@O-(QNQCm<Y-|29LLr2<86t6ro{UmHYe62_rFX)PdBZ}}jXIG_@=`_vJ|UiRved!L#>Ed4#| z+t!e2}RI z&p@nOoaCK#eTM-Ou(-C1?%85i3<~$D(UJK2Zmkm8u0L9x-GFtulS}Zpj`XjhMMg{* zq*h32{VDM2F3Bw-e~tCKVh^SF=ot8%%4~!lf#Vu36XlT&ycq8;Ory;M6 z@B^-~5pUMI7o!h%v+!Xo&c5bVxfO8m!j5=w?Hihe^+fA^!y#}tl<(?MHSe=iVqx9&^=GIZjPJobx*V@w_ z#;baCv)EP&U~*WU;LIWZp3!r}G#J-3rE6vVO$Hgk?E2HLR(Tf33h*KWB$s=`LYrPU zRzMfhcg3l1R9)WBT5xm0hcr3ew{a?%uc^?FN~&9$&DE%fYZ|Idzuu z!z{$fGb`_ z5H+g$X+o!lBNp<6^sXAlj}RoD`=Cf~M3IHV+6s}rG*M|^$Mfw+i#Upa4Vp}>bs^ev zPi8GkH>IbZ846Ygj;18;H!qq$a6nj*p5D>-Vg?p#z(5fq1KmEhi-R;s`c^NXHk>q9 zWnahtx^Tt&K53$b_oGJ<#SPV3s^??1@e6igEf?r2CS z?nG9}AKU>>x*P|~>~-%zwQdc+iUClt;IpNwyH13+mWfMiI%kUU!%8@V3F-+J)pX_mft{{Im7)=_aS`?@Fu5`s(c z08M~Ef+aw3=_EKLxNC5C_XL7V;{*s0Ahqe<1Qs_*xSK?-q#HWrRUE1IqTRY|~25~##fzt72P-G}mcTKIZgPZoVJ z5G%_Xg_QO?PANYLOwtT)<2yk~tNjh3VRjBlA7IO=9#^p^f7~tZLl6Jt?EzZ=s$eAU z>Y}I65a=5#3n5_>7bgc(C9;Obx(L}fnMs@;nx9a5^+c*7&ImtB7Jzkw*~Z|{T86a0 zg)S1?*%TMcb<|1rzw4tf%gl_T+6;{JB*m$_;m0WPZy&g=@5lC?rLy%%CW>b75_uSF%*~jv6=X;X5Bct2vz=zGIB6$nD%o}pb z>WS^{J67VLpT2-YihmFcsy>3CO(zQY@Hr#aN6+TGey5Vd7zd&bozqm&B7+cidx1{_3#lgRB$c0Q~KI`8E8P{Us%+^0m)yp<}? z#2f|9Z-NAMP3PnX*ot`2Q~g>91>>)}B|YVYqdY6V&oqwgKe!%efos|@DVz;PMC4_v zk<+!X*H^lbONi*mifH4=x`sVb=(x|`pUYf{=N9sKJ=gQi;_3m!28CtQD+7B$eeeICP*># z+NDl!eDoq*y)KffHQn;zfYUI(=@noqsegFnShDsM{*WKep3U>f@qK?`$N8pu*q)X` zSm#Gja#a@kRz<)*>XBaLsl0MfPv?A4*f*8QXHS0Up}5PD8^8&7PW%U}e~1+;&~X#Pct!+*h|{jX0KF}g1y27Ptvo62skVu2`W z_-VmLT9bNuBO0EtwlHVAif=IBtg6qqRDFoaYcGgtWt2To2;YBag!lrDK%iQWiuLs4 z&7d16pnn!Lz9c!P_yYyreyLw@*!h%{pLkCc%Wx1>i}816HHoj z_mXkuLs|4Ti>x@4w5dEc>?2UjnGW7eAlp0lO>8jh~n zgwZ#-s`-(N5a|l!B!xTsYj2@KZBG5p_7MU;`0pDAX2H=2>IgR`y>H;ru+F;Ep+U(T z*FH|%S$BI0dHMK1P(n*bNYucfIDp#!1=4av@@fO$42^%2Pc-NLDE{{lL z_{A|e8spX`NMKA1B2^I+9&DzEWr;y95s>(AfYq_5uj-faei4#;V1M7C4WzotFNzF|{gmT$EjKa5LKnyepRIo>{B$nzBc(@vy5W^u zJmLox&SwuhPsGExYvg^V_M@>%ZBvG_mxd+%mtcO|gpy1E8=t2s8S z&oh-_zC^#IBNf{yU%0x;J|M7q=ahZpU_(%8BBI75tl|lujQK$$Wr)}P{eh-D6VNR}?DkZT3>NvvZtfN(+m_J? z_a(q*^U@3vJ=;V)t3<7_e86Ia-{hT^1p+s4>;4oV`mA78}&g4T;u%8`ik+s0;hGm*#iWV+w~XtOozNZz1IXJm%-0RD$1Ce~dpS|9!~!c^(oA z?HQzt5+~5Hz|!Nc96Du*s0WtdK}-;z{(REguaM6X zc+g9g;W>Jq^={P1idWW5Rz*_ik+s=@mJ-0%ugYsv{6p-E7C^ zADtBn?0W88Gl2cv;vHE-D zIE)}Ai(M|ENJ~yWtFQjm_ImRz^gGzf4j)2@91(f*3%l+|8E?^{4TULE%0l=XXxLlQ zIC%04Y-)N>;X||bd%tG?VwA^F9_NS}2BS&Vt|WgO=oi@3~KBLE|ks5PvRg$k%kDWKW(1YX`t%gk&Pfvx48& zGmThL_tT%~?4S4lF@5>zNvK-5gZ%~V{ib4p^3e#%v6y;-dpC&ZYJy^r8LX@`Tjl90 z4g}sYjoL=I5i$gCIig+ug=W$)a-w2o zf^3ruv~xtC-C}Zoz>zJjyIyY+ZR0#1Lo}cDc3iYUx!uzxTS51hmv$Jh671f1?6`w- ztiIM4n3|}XyG|;KdzxZA+1N#l;7cP1L;Q5qBenRRDhmbZEo_*K1hdO|+JIrFP=e}t zZO4ls=qqZ3sHgVR@@PCfJWKcHv%>v%Xw*{MIg#ZPDMOT@PB&dnZrOtg#LgIu^;V@u zBja^*uc^w9-cs}WzXjNcDFlL&fSJwGLAy70zfxeMyGT!O3XAK45|WB4ZKs68@ag8QQ=h#_)@65ff`ucoOLA(AO_uc*)RwumI-?l+ z2FU;fGk#tj6pFy0{dKw)!M#*;6b`YVyJ(Y2ydkvOfj+HpBa*cG^D%_+yqCOkp zzQ#Y?$O)+oU(!u_WTp`hf6<3bIO86mIHt3AlYYsxOTKAFa`*8xPnr_^<#M(>C2BUw*3UN=h`OXc+i4xL9!Xy%+T7@aM-3m~Vy^(qEvn(L!ES{~>XHJBB*p+IzMY zrElQuApOdgVe*m_-J`Y!<2ddD_0Xcr!q)%wl^-TdzH2&@+lFWPGN8XdzyU47d7owY z3jd2ACPOvzGG%$jw#7E=rzm05!ok4(FQk#%3wa)yKpMjND z!uMru@{MTLFgZR7TJ;szUsb8Zat6baaFMA|QO?(R_U|b2uZfqdxiwPyG^G%7uo^g< zxAct55tsIu5i46|gALF2v>(^D7p;OkO_y;;w*v3`$Csr>@9&eEU$C$y%@b{DkPH-1 z=)F7W+0d^u^?Rij#IVj-lQz7Z8X$&2EdZLXmYH4V>~SEHnniMB+^OSVJ1HuBy_B?} z8vjXss|Zuv82Pe7^u~q`J1&Q9CC%xKDqi>_8l6fzBI2>6F!HZR;1+&skq_=&7x%6Q$$-F135RqEe9Nhtz-J4@ z%prv+PbFTnWSX4q_osV=Xcg%oJj(7PMHuuVV=Z|UGtr*Yr^s*mH>cgFgUxi6+ftZ1 z!4F}-HoUb?Ybq`bACk8l;dGis1G%J46bwg9dx}2(Xs_#B23wZ9@prV8+a|u&C2n(9 z2wbfV@B(CD(KT>K#siH74R^P<Q6&vp5rKR^ z6(fw84u+mFlzOS_bMeuX9uB(;O})Ti5+ZCXt)E_F4B@<@dVR?~lq^Qr)OOSkQC3y6 zU^5OgUpc`6XH(|OC#pT~DZel~lHDMUeJYQtA)T0NGqwI~GwZ$+ti%OV4}`h4y&2-6 zXMUKdQ@!}<%ZV;1+*@${h3_*#FJB@W}&l?Dd=c* zQZ^yIKc7d-7vZzXnKTb|^=&~x6SLZSm#7yrMO>%C2bWfBHU3A9m}@M;cmz0YVo6GP zzvMR9eLtTH2MT4N9TmZ)U%4`gxI{U>fb*TuH)~80)8U}J#>kNtC%GXLVFliqZ~t5g zf8YO`a^?S&0fesO5)AeWZt6^g#&DbQ&1cVBLLV&a7D5_o|G? zrw~6rZqy{sj=NWD`NiZo`Ssy20?#Q0u|OT@%z=lWEdqegp{lzQK3YO(*V8cZe1tg6 z0zc%E9A`c^h#_e}b)Zo+360tz*5OD$GHB$`^8+bMv;-KWDGXh_9ezVoUE3df(Z|F-t z6^0PGQIH(wy!9y+@ZNxokO)ZTeK=rE9K-Z{B=;3bqI$%($ zjGaV#K!^a4%fFUCP&b+MZ#quHvP_&&E86NI^x5Ilsof}O-A>ClS0l?i;#?GREbFl5 zM-;9lZr_(v-a1_O0kx2_dXKlLz7EoDc!wMM9goGn*e;8?yu3i27;mnc@@4ma4J%k( z!I<-wK1EhJtgoP3bclH^V1KhYIw>&(baEzU&)ZZF0)=LVhiqFvy{0G>ux7o`lddIt zjv0XyT_~VN@7q_p43Ab2-#aH2;s>O43hp&vT_|Z|QO^G+plyxap=KWwy%*>!PaX!LReG3CY=X}tq}=YqI-E7v;#W3#fQjL|T^Ia;>z z&(XhDcXEBxnB_4OD`CM|AKME&44EbccrbRlywxb?8$l_Ek^D}U(G=a}Yk~BalT(`x za?mET?h=0>uoH0q`G>XqzepJQuZ9r)E;?=4%>x1`(t6(DO2;}f-dG*bhxSxppV*tQ zmj0N75N{-{diBe!=bdTO$#wTwcHOC5Tq!F209Q<`T2DpMf>KM|3H!xlm$$KEm?jAI=X%8(x?HL(@lDNnayOX5c=q@EL_s#BVzy?B06 z&!(bEx&TVdI8_4A)94exvhe*yXzIF?vITSwa3VWrj7|CE1d3(c2=CX0Sp}!Q$4j{T{EpD+bhzl!2R$(stXw$hQL{EIS`j?aa_5Y>e2r zV6s(sUZHzZ_I+z*XItr~v5)^$HtY}=)?Mbcr5@y-HR?)N>Zz<`{3&n{Lx@ zi%}{a9I&ScUiW$R{xr8ZML4L)4BGXSAu``$A!Q+vLP1wG`~}sjQAUZt_OWd3wa9~) zTZ#@b3U377>=toxphefV-l=qFxXOl^9At!$O1mcB`TVR&*D|2so0p_I8=bK6R$iyp zlg@t3iY_jRQW@;V-?z)Wl+c}Kn@W#L;)$0LsGg`T%JnhO&92d5(v`$A#ZFP0g~-o< z?2+a%rREJ8yUGLUt2b-88u=QF4GHLGOZ7+>viZ!^t&8X3={>ZnwTFEu_c?P`ITFGl zgsjf9lL1zw7)#4&p#GAkl9Dp@AoS2hQb9>aVF5*=1+iO&!R2CR*+ka7 zxlx9#)y2-WBy7O@0|;G6+T+={*4l})`Hgph^J1gqed1QMtM$xYRqTB-!3%4t+CKh{ zfL;Sge=~lF<-h?}xYqNV4C&Z$g`fNS>UV_uJeDZphV4{GxRZE22m0a&tO=36H8kI| zZ`&=ku@b$Tg=s}F7id})CeDqvYbZlJtHImN3Mw4WD`>She;#8(mc}e?Pt1dtG_akk z{9g0r%0gHDWd0>9rAY3n)JjEhAA^g(GZoRv!28;#NS6eyn*V616B#?qLxH0pF>n-w zAVWy@sAlx8TEE=Z@J`sDD63-G2=v;^@qhQ?@e84a4%u!lS~FY zW@$DH``f$3G}A&3;iXDi&yyH+P?Xi(n_us!zY|7djl-j7fo~5<-j+sXN7%f@c-OO~q%Oz_j4CDazbjpV zKI-4yBmbN1B!6$KRU2!xQ!PH(W7Ts;d--$d4+63VX(6@^Hn$GPeC51-UbTIUw*@RH zV7!ETA@z#|xV|~=8g%|?7f)f1QGG2$A$;i-z2?*N=qiH{^~fITku(a?&t8BVDEBbt zNr193=cbbM4P@Ucq?~^B-m>SkX1vH>lCMY<)g$W~?T+m}gWK+?#eW%pQo1irwg$&% z>MgjxDYn`0KI&NS;M()Fh+`xPyHg}&Q+=XpFVDpZSp8pqR_EWqr2!Mblr=_8pT;Sc z*HszJ(3#JHOPrmjDTpyM`j2ajuf?Aw$TSl5p#>m-RB;k%eg&V8Uco>za`$OQmmkG0 zr{q?#z+gptZR@!$c|GA#W!M?{t>THEi?{_DZaBvUOl9#hUm5K{o|PGkw)W%M=SD;@ zILPWw`2M?X;7RMs!$q|3dkPQymdK$y)C~9Q&h0zk4;g#4_<=#X-2kL)zvY;D7`40Y4Z}~PS8SU>p zHJ=uH1NcjZh!ojVZI|Shf{_m#lp76ISY8RK+K__i_>WSNntgSCOAbidnQw9OqCaLV z{q^g?GHER(VjG)1P?Aq-dic`~8CZNoi;@SGfDUnO%Jut<@*2PV_4o4Y^Iv`^nOX|2 z`5^_T>EVFgP`(pYPk5^x-ip~Tz+JJCsP$NluIZ#}e`u}gEz|OO6!-zI_sx%r52Zx| zFZz_H8y6jKVydW<$A1>~qwF)A!?u6PZ8{1NSRQi5axTuWnk>$?i0I)v3_0=Q2Js#9 zm42(py4Z$a(V$k!R52)=(rX25%^`|f2oY1&`#(7vXWgGA4=@HZnIeq!^ zC*8~CVlDMHzE?H=@^G{tSJ0ue_#?$i-!uvJOi~2o{iyX*g|m-=v621fSx5Rx5`fXI zQl-Bz_+t=?ed1^#@^LLP;dbCONj_?4-8TlOlShA;%6Xpiq0h~R>~;C+(S!t?;T!9V z<#U3T{^s!D%)a+7-XpQ=0!bz0>>;;y8^$$HG-lnSgo@_%JtF+-OWl#GGfm%97U$)| zE<;Ht^uv~Dc#J}zhCM@1X_AquZk?p0o?8hs!Btd`^S;vBNznTXx0U*>wGSu8dh?$t zoS#@rr+%!*c%X5w*d*zoJAHF}m(Db&Cs{E2?dq!)Tqt175?dgtCgI<7s@tnzu}SX83>5xfcgSPRJj|0j;rg02)saP49#Si3K31-~NhO`)42E~9y8=@rjdd7E zVLw1pp(}V4XSP%6m!C8ES^8OBJ^iqts@(f9`|8BkZ*M0iYDFfu>mg{K(gar~eD}=e zJHn3CTy4aYiK`BJf~Tiv_`#-9Do+noENs3-Q1|o8XXCM~F|7z6UJpeU7w%(TZ3dj^ z=X?--X0qugfH*v}{gSWktvDsbpVK}5k^6xA7wrK_D^X#F$qM8XOV`k8zxS^wI7mEt zJ>FxlZ?EMxz2_9verA= zkWX`5b&08m{Mcm~x0-J?Xo`H?Q+jw-fg@j2x>-F3Xc%>afBPE$=>q-x{@)jA^Or9| z-C7}O25BKgPaErXGM+C!%c+dVQ+vw?lGwGnSSP>2X4B)dZEr4Fbm%0COAppyA1EfId}lWDXHWUk}>oG-*+ZzEw)obwj?C zasA}6NkiH~?6}-k-@PUImf#mWaUU9dy!_F~=VLUsj70@%svtGzhNR~o8C5`*-9%D( z%m^Q5n;B))ppi*+Lkr6&O&+~O4UBNLUmca$R*#piF;=_g!Xl(|~hY^W>CDULiS zotca+)FXxv)QH65;%{g(H)9qh|L^?CV!D<>7MfnJ1EN9mpynyG4kFr ztApXtxNg@kxDF@=;AW+WamsQZ#DK6D;VP#VWt_IlbGvzyQ_$x!Yb|c%Ah)`ok9F|B zGdsVgG&l?@f&!$Jz7C z3=V^aTT@nb zmAd%v*Qr*hutz;>`n>5aOOlh9=RTG)_bp2Ey7c=XLmV`^;~Ux=Zjz)ulC8g)QQ=vjp7fh~)<4x_&ciK+VAE8Jm z@S6x3QA_%H-r5*2%uj(NR#R?tCq#B@Vod${6}EIm(XI-LLSbIT>@}HD4cK)1^0N+8TZNmo8N-a|Wl7ucn00JzVO2mf*5p>?dB3%fTU*IMqL6#?$e|J2QG z1LmdFgMT)E{(DB{U(BHYeCqEz{&%otNTU4L8M&47{^O-?pLYiLR_iMm%YHwA$c7<4 za+GVd6uA6#J}0!D`dyapY;E--c#c)_3L4-|5noo*DEZVa+?o2~dpgS&*Dmswd-l#d z%Jt_=@?|FrZAFBHC|y3<%)Zr#2nURGW8JSEO5jeqd~}pM$#&DN5M3e!5@7KxpnudP zL2No|YA&%SUh!GdC?Mc!Pp9YeRk*J2FzyGDt9b9$Q#J9`O&6+}G&#q-=X~jrQp_<9 zW*1*eM3Q|(QuDjVbhHLfKLi&_KP54M5vsGVa^iE6qC#k|xdG3(YLmdAG`Ixp7cTR| zP-8EPv}ZbKtkDHVUzTbaZiHqAIrhmCsdV12b9(a9wTNab&nrjD?eBC?K^PVVNw=i? z5&d}h+S^AS6)T>gObp;k@uV>)A8i&ahnUwG=)o&qmzuwf)+=OP5n6i zSm_xq^(vL=o4I2pB#HWi8C1?#ubJcPO|m(9TaUu#KG{3;3BR^vda91%w0M<6E|R;A zIsSvDNifCR^(DosgO*%olsxfxo~xi=x|N=a8Q-p&6*mTM&v=5(F|A-G(#1R*b%4lR z@tJ5t6Bnn3?l%%|+k$=yT(e)%j$AP1@!dSV$3N$_QzeZu$F2k+_?C$&O99`GiDY@(yjz9OoalcQ(zV!tJlt*OnJ6=uDxpsf%V>D<)L0pL;Lie_o#nZzVTGbM;(Eq<%I?^#cmMy?UR7S3Y z?`YL?XOjP^J086b%v`DVzsy|xKc@eEaK{>Gp`ARnwI1i#exTruxv=K?C$JX0zJ;%4 zHIuTuYOL|uCwxRppX0!Oc`mp_#SJ?n#ZB<-V6ZI;K+Sv3VYQG+bU&tE#nQL5yyVG3 zAbfjpZ>cLXGaxwYJv3cUQJJ1Qlv6KGjwP9+olq@-GJ;MO=4?sg^jRb!wQw;cyZtQv zp)?cVF;ktVeV-}x#P*Te(+h{AZ$=*Aj|uQg0VD~`3r@7hqy&TK$aUCHl)SQCyf-xO z*ptne z;gRnn`IwmdY!g5~sn$YX;v%&k-`#=z-BCd8Y__Vrh^^_@iy98ZXNM>*F@kqA-rw54 zU)^-cz6pOJL50_O)t1}Z!4{E`8tdzyZ_>MfVSl8ri|o`A^33b*E}$c6pA%@?X(QMiW&9ZH&*NAAV3l!0_!<}hUwSA*s26{Q4} zX83=T(*CpSf5Iv6_pV5N{SOobvDaH!P-rvF872G5(MN{%9`b<&nT|hD-nl^Mu@IfW zFG<`r)W>j_?3DRhm7eKfJt)Y!Ta2+C^sD3)*A~*}06jK21dmjDDF_Rx(@9?cxWR*s46JJtRUtj|8?qgFV289@xkcJ&-bjNC&$03|d^Y zi9hQS?u{}YoU=3wR11QD=xT|K_6T4e6rudg$@&Z?X<5x`Cj7{>?h_pP;{$tB?yGNa zSBK0O@HZ-Ke0|$nXh8|Sy+CDOyb(-&^BDmyE!>vH9tf%NWIc<33|XBO=t$ZYFFABM zs7L-(ab-1rxjAL=oT3$B*|2E5N@E!?DBXH+ph0ZaiZu28s(vXBXS9sjU#S2XE{qZW zh85>esZ)4p1N4V|;`d9PqA}N79KfsT%`5?GFj0@S>Ui$q@cdp1!H}KX=zBa|yI|j| zkl1~nE8whd?*Es${Cm9wR@uMmc>kZ(JpW>uChLC}cK)jWLB;iut1RzZ7p(n>d|`yF z+TU&r?|Lx`iyNV)L`Ry|oq>B$ncZgC|I(Jqp^F8Q`0W`p-#*{L2Y$K6iSYVKOk&)xGqS6@ zvbws9>1{?J2zb2i+aeWYya9~y?3_I#lN0c;^M)XsoDHV->6u$F7l3!>9yz%$ohW0d zXFx${(RMhm53i{@`(dtSW z+mE!0ga%#FB;Z)8AgT=c4Qu`R;~r`{;_{+Ilz41!`oAZCd8a1&!+GhX%cj`81H+$x zWc(N1ZNleWd6MF%Xn8P4IO3f3a z4t{2DLqMHe`=9(j68yg;djDm&^k0k4$mRVou}?AZST`;as}tY;MN`!iEzn3$)JAAC zoqL@jYNCzaE;LuDLvP`<$EP~&8ne|X!I->vcx}4bcakx2qpJq$7Q-~3m*PU7?GYRR zn;G-NFa0pliG@Pt-ExA309>`8N=UQ4Z!VUYu9A~}700njU_x87G$|`SiXgv6cXVHp zOGsD47t$mH)R7bR$+HE+a!`qTQtPF*A9ZEJ=O^VQr+WK?F+N+ZR9nVUTUW8!o5{ zZX3l>m&a955CPa+h@t_;x2e7 zi|faUP5n_QS(56~vMPUfx+c6C90Pfln4A6-fGU{x-WiS6zZU5(%Mr*3?!Kr$@1^-+ zGU^qzo-!f#Sq-1)nM96Ispzq(7z3cHD`RYW+y zUXNrBIZrzlpEBgP7NJNm>y}y&Sv;W06Aa=nOxJPeJ5pyD77pf?_)yS($*suvu_QcN zzy^!?Q=8|sqjxqGsJ50wshFk`^G+uGr1~^zE$1kYHXi?3LU7_SQw09-&(S#7lO!P8 z;cE{ike%v{qjbb_@!*l5!tL<6J$?=gs=i}3sp$C~*0~Q_hl38nZOUa%fpcMx2SP#r zGuBk-{%ur~+Iy}V@*aNbJt5va>**?LeY-o@Y7NFb+Yn-Lve0`R64$cYA1V2e#YGJf zbzlMPuaNaF#Of}CM8CPDIKO#(f4w?NLFkpLqm3AT+WEB!-Tb$&w6%^;i z`Uy|dI}s=Qbkl2QlBC^Rp~`9{SnqkI*s|$(>FBFcLxZs7_gp%^W-aB|cagkXYFPNz z4oYHziQkEauj9 zXE~b}3y;{0IMTT%vxj_0#ALEI&nsz~gJSc#xGvAQHX`pvI|in#XMx$rSfOQV)tU`c z$Qb+s<*I<+74z8kCu~R9b5co{^wx+whG9@6%h78i0)IMF(|9E5L83@*T%y19;`AU# z2B#~%cNO#|k$mKFN>WsM%G69_N1UJ9!TUfY(>$4g3%QvY+v&aTt;N-jP&3igE{msep zPPOR0-`x3hvs6uEUEMU|qfls4s#?PcoH^D;f6Qv!&(MzIRivL8KBitGE_WpK+I!_> zfx4x?@~9Eb3l!!uAZkEYg3P}D*+70C!S2Q*=aimp2j#w)>%yE=i112}Qq?2={vGa{ zo7cU-!UHq2E7k3UGR9utyf_3;MUg-@t-7G57L{JSI=tz15};0UzpH~?{mAs!r!4`# zpheMjmVCCLEHe2j>CbeUKi5>vvz51NyM8)2+ha_V_=H`oEB!lho)-2IU>@ zc2mb(T1KQ|+h=Q>Ln$J3Zs{fUD?G_u6qf+U`Pwrcvf-_-LXv6YiuUp(Y84W&Fb z!UEFCiAL!jEElE#>rb|+cv^7$x&fc2>g=o2!eZyRt&TIZ{kuE$y z*w%WB@VjT20n{iP+_ydt8=nLa-b(EjwbC`$0Lr5uD@HqKVN*GV7H=A`1Dde9H?rxC zE{oI-gwvJQ#Z!3p;(Cj>$BH$gyTzGmtw9GWJEKse`>nJ-dvM?%DBVquYeu&w_mz9u z;CYXIUY=`83Lwwk-H@~=O_tQ9J>BOoim{wvj^KX;O>+?wY>J$F)0g@5hY@5tH_8LO zOq2tNMhT!eXcgZ7sG>;<7DS<9^nHy4DSQig6ZYJ&C39>J#4U7B|C;6$ z^A!K^Y7OquN=8}hqh<^II1suu=%zhv8~S({Q?@Ts)xn1Tpo~KGNQKH&D<64)qqyE;3myOEJu@zG;O{)$l1vcMHy}1|NYoI?h1r$fm+h_>s+X z9-ho7)UbuE5d>yk$;%Q+>O*gMPJ`ap*fp6E%C(-GGAZ@D*Pw6QlN|*6avYi|F0l*A zI(^$C9Jnl(k9YoDAte*7>_JO=e{fYj=m zz!};Hf-xcd&g`r5x*dK>j~FCpt+!|g%XE7sH?@bo$p4Mkqn@oC_1gruT3tBYL|%n; zrKcOoeQ~;-S?}bvELK=3w)yVJ)q9{{4#fIx+VHk&hdiO}%b#0~8vON08AhlNanh>V z1fswa4>QB=h)}^LcDUi%qzb{hbLe*})8QE$j-2}RdtWpTto#T&tr}g19lEsC%rR2! z2MD?~o{Z#?->KqE)Ge1&eXcvwF9Mh0rLZ9>tUP0MxTk;Z#Vr{G3Hgdg`ilFRKi_On z{Z%xvLIO8|6I-K|77zp;eBU;kg`jDOnq z{2#79fBWDg+CRb!|B4L#Q`=h_?q`l)j2x*+iYeV5ufo>uIIJ@VSerdvJ~etT;o`gC z(>QO!v!G})FX@~ix(MUrU?LnZL=_-mcw%<(iOi0v$wIS#;j!J?Ct^4Vh&>l$YgW)c zD|$^A=yGWSj^^G@NgTN;(+>R=qKh^g}?>_4n6Cx4hcaF(f4Sm_g1%;VQp&44!nHi zZ}~x5o1HBlBu^Nr1-3uYyeGJ4=65avSbh7uqh(6Nj{)Y|`yFL-X{i|xnyEp>{-nfZ z(=ZjAxy2uNRd*yniuyUs-`Ow1$z9FVeEkeJBIeK+>|+P-1nWEiQ^H>P7WnXf`yu|t zzw;C7fxfkGJEhEiOC`-Wn1w{LiJS8|U++kwqQl+=x9+P*Lcxs2OF%V4_orIyANN%e zGQZyNT)%}LBqa8?_T(?!Z`Aj{A#>nB|1Ux7e+L2n>^EljFo@@O&^t7<;==&w=wPO3 zCIX>dHOUzKQNUfH_neeW0hv69W1T5j$F7g5&BkK&ly2r<9QF7Fw<;!bu7LRUHt`EHD=vz#VUZ-nVi z{L8-6`I7+Q6}8WS#PL20AE~C1n^RmhN57PaxRFt}A8^o9BQ zt%?H1;Cj^g?)5j1*aU_~(|OA_O`EjWbc@FV(G2*f+Ij?WfrngsN|Jy&q38Rgb~J2O)Ut!46-ux0Z0wT?iRC;>dHwF;i>5DPbv z8@BH`L6LBpt2HR0EO5;qaCo;rdL)KcY}0|?-<$#aS*^zcbLJl6_}XVXrYA9Q-}=_C zPkLm$nZL%FqhS#9iIJ5jj^jg5NQXXoNht*C&JL^4(zCd+u`KpANj5Z80ZA&x919=R zuywu26F+)2c)?}OlA^lS=tuvxYzm|{J#)ys{Q^Y=E&DFz`iT8$@q-Ps3KwW<;}b7v z?`fy?oT2h(H0D*jZ$hTc5o2p%pK{F-$uOb^$w8fz`#JR8&?i%uq|xsUT-)^2X%Z%b zY_j?IOTn_AMXR!%zPlXg8VbZeJxjmZ%ggL$2+Paw@C>s^6xS`ec;%o>Q2Z80B;m=+ zO@+@p$8SFWO1-B>gjUqW!9e@WQ$YpSiRbL)tpo*dWQHZdK>G|UmZfF0mlUZ|+n zk~4i=U6BLjq6A5+p~P!X9~P!|$HR%p?D8cG2e!Hq#jSD_U)4U-#oQC4yo*$;9SSPro5JJ4&L>?$7%qzgHPjU|2Omr@jxSEc zv}@%JNKWStQmSL4Yu5`xf_<6A&)asGxJ~UBt1Di48V%+}tSXT}eofe8oQ9?6wtIx` zzuf9zZ~M?KwGlC)+kI%%#MoNI8u*T7m@7utHtdV@ZYq4WWvBO^B`V%=mZoZH_S2kb zl!!P|)mf3#2RmL--1&cn&-{Hg{O=W!{QfqQgwpmTO72S{pFXxNwUJC^t*Y?#*GE4r zS!iURYWi=Kx_(!FJF+3DQm(CRs<_f#-!KnrT zbK#zN6phn}(R49SvXyPKag_TGt9$Wg!WFlAb)bjcGn5S`nuK&n^SX36I+JAt(r>t; zD$Py4S`@dA>m%9ei*|ocuQB0u6ICl?H_>f7JUw+W>LmzqGsRukR7XU51oH3kE`Vq$YrRQ z(bz}rpnjZ-Bs(Q58frgTyHpH_o|Wx{(nOx1Q8doQi4;k=i1;sqhOlJ3lY~^XTjj`N zvzr*|l_*QTng?!?m8FXCB4CXzJ@a;J!9ysn_Aw0B>-|W2@%0as0l~n{FUV8q7=#+u z55n2KvB`U*Y}qcfpv|%M{S@0M8biOm1@8}()nvVw$S&A{%i1ji3u!~n0D;cw_*=0s zhl4ig^hww}MzA+^)&WxFjO1!_v|lpGjts{%j<7pfKRKQQ1C5;GK!>kyGD17AWmAua zcuP?tZ)v3$rsl)7jt`V2!n)z>A~_B|xfU41)e$eW`Ht~bRpBi!HiV_2KZOL%eAdCl z3l{a>xNk_e->{0TDzx@W?|sgu*_<{D@_tp~o+bE^to?f2Cw9X+DJ49XkgE^nyRF?P zcW71Pv(f1qfm z>Ac+PEVv)V*istDd&uS^eV+gKRbo{Lum_}{32!-m`UgrDC9se9`v=y)H`t&5bye(N zzrhHoIU#!Q^L!}=)&O55eamb6vT=ksp$8UZsmHlV!t=pW(dB*}lmwk#fQstOVde&XAcBJ^`$jKZ333HKg_9H5{ZjrAuL&|A7)K=uHK0|Ov zZ@}T}E7$tN7D%z}PSXU!d_taOu!Xzn&_MRtCzOtYe!LbI*S*u7_~-n~@1VarRKM;O zh#GAjC?)XM$~(O?2~$<|elngNcQ|%BE&zAU|4NWA_Rg#4Vx!tyB%+?Ck{*HHp=3bJ~C9h+Bz{<2TysBq}<6Kv)S?M8+BQ*#5q?oC5g`R zimgIKHF;f!Y>lEb5~!SSiq=N}zxEgneC4oghFA|rw(&y~nmY8bAckX^3$v||%_s>A zBS&&xCCM#K|2y0q#4o%@zZotuF2Eq#FIj?=6`(mYM2Wn6S5YVQvUJ{ zLBCLo-50;AbHqfnRg2BfUKXJ6Q`z^BU{^*Sg_YaFLzM7$)HYl`ZBK7EXAltmIPQEU zvWbN(6Cu>#Nj~jpPsCf8r~bd#`^vDk)@|!h+-npl5{egEthkoqP~6?!DQT1idzem;_ezCNx#*7&OTrFKKuLbeeOB;{<^>NuJ;K~R>E3y%{k_nV^H@i z_@cJ#FJ&rSoXXGL{5RXchYyUWN$FS!RfWQz8+8thqZ!u^`wIo?$@=>9_m z^!L8`zpYN+xuSpIyusom~n2hcmnij z=^#K7)#f0|SGye=>N^v8@CDZSY`T_%)pV^PP5!+R+_<^RT}3ev4gRA0J~hl`#?igS zvfawVjSt&AX{IixLg+jdS>CLA1gMWCe&3E^Otmi>dV!T{MSokb9gRZifcf3AEWa%} zSElJxgA{nCVS^tyvc_`pWV|_$wDS9XkC?2Pul_2&;fXym(u?&J}1W zDY!l`M&eaEmhS~yM{<;Z7ta2?I=a1O!KAjaC$@`ztq7Mz1W@Bx@}>mROcYgDH`h}T zTnrrbQ<^|wuEaA)djVm!K4SA8pP)u}z(H$~YrW86iY;vng{l>%qlcVOV$N~w- zZ;;M?n60D2qVzcDfzO#fOrkaiXCx);80Q)vYJ#Kgr@m|<-fF=cV>o7OR`e#AVB;%* z6%)<97_D|BKOG80(?_Trtv)6XF!GAg!Fo=cg8t##$AoNy`?G9=YJe{z&aq0-0)Kmj z)A?5;j}xUu(%>48erUWy^NSUVY42ptJOj_jE9ms*CCSG3mh z;F@dU>DhX&2(WgUKtBU>FyvdxX+)dXdKBK%QjSf5PVddL9klmTcVh~^Z$WMdi%{oK zNYNLrTgs4$8YBrwg!J`o96>h}&K2PG{@`l~xY0rP1fjb4r)ERJeTsEbm7Y{dmI1z) zoIEok7ea{k^jI$?E+tFx{b-gC9l>)T&*EewOEW8Fsk>T|Kym*E2FvevDJAx6$g1yQ z9I~tR^w|u=;E#vTfg(5`%>cU_e0j@5?Ai-x>Ky%i)33)9Plr)I-}V0>J^Z$>tM@JU zyDe$0!%K0Inz1)xT~s)|E9q1D^yXR2cf?Y^li9Aw9#Nq(XgF#})r(Ry9XsQ(L`oT_ zav!aDF1z?18MiFZ!?h2gDn}TNZ&0@;7}F3P7iv$77^>?l1;|BqUV>KBHtZE7g&KRzREB*W`f>VS>J;TQWG+DC? zI#jy%A3l(lQ3ouaq610TiPw3D!RM@_XN1Iyym9yP9L}o@6kT0PY1(a8-Bc?#WoTQf zD<_Y`Te8eA{U~9@~>Od(b8M#OkM)0Rg>rqWG?LVJnkCbpSpIerN3mb zc)<=m>4U_JHK71n=DwDB$3@oU3!&uG# z(cyW>;@kYgk#P4f+@;hOvL*(EoyAP_i894Ju=|8UeGzgx=aJ00jTnEfZ~liQV=!Gs zMJ9$8LLPtiSFpZ56U_-cL`XyK@0EfLBr~38VS8wLw14ZPt4GL?Jc)dxXX5=h8q4OM z6@JQ={`4VcJSZ=;pMU+mz7E?g>)b=O2f;7MUp@}IAtU`rrEb;LkgztUxW`C4OMsTf zF>df74Pb2lT67-oMC-P_dX6H4xyXC3!ACLK`{_Y*pCx?W-`dGa2CO(fgN6Hp1e0mv zj*zT^UPSnJdh2{602w;lqRN-&hw*M`P}{?WEN&zVnd?jG^Q$_ZWiOU~{M%jD6Sem9 z{vrYmV-9QPNoya(RJ+|xmfxf$JB57%7~bm-i~?3Pd2be0-Er%ArWicjBLYD;3ej1h ziC`S7Sc!L1$6uxP(-;;WbH&)*_wo0lUB^tp8mR9p8TaX2XJO48ck<8Fw^$?I3@9y? zk-_kUGIZt%W{hv#3V1Kho6o+Xk!Jidk;eL&AeWemh<1U!MAcWh;ZY$!Z7IRrx#kKD zW;Hh@PzA5E=rU&H7};fkx^Kl(0@uvbZutVQ_XhTC_Bd@yYK6Tp-sEKwq7}bd2gO#>hx4(q|Fss zyM>b}5aX#pzLLyOul;GulXr_v)9+No8=BEV`t9M7R*vasw}AHw;pE0_#%~F(Lb?MK ztje4sIaF)TPoeKSTii25pOBN{#WFz(*hs{UFg=(fHEs)3IDIC2a}ynJ%goY(F!FSK zbcrr;{2{Rb#s!Izp-7K#!`ncfqK1GH#st~*ckyJ(&c!m>Y%1UNN_sVoj2L`32N?;` z`fsF<5;;0KP5O`Wed0BgTUMoi-G_~_QdHow>Ar^Q0Q_ql*^g7`&d$5Ui^*G zP3Ob*Q_u$W8wC??lLo&6Ld@mN*l-d{vsTKozP4-a*xBv#)LZ$7vSo<`c{u~wIV45Y zb@bM&^?*v!jj|X*qEx?clSoW{hS{@O`(d*q&GAD^4BzyLsO~aRxYk)akkwDe zme6wA&Yyy;W{J?ak;7Ozftmwz-X%j}lq4f7dagTH?%~u{qRkp7c@l=kk87e|sLF!` zMEo>djlO;skJX?D>!p~U+!ny5oMLjv)arN0)b=O>+6!;Q_Sug~+GS<5=+F@-hSO<+ z%9a#GrZp>-MuheXZVU~9k<8`4Q7!)*F#r1jp}YNby5=_DlTF00?g!jOL&TsasL4Y* zz|_qFOHKTU4-OtX69nFEI@a-@gNPNOy&s`C{Yxn=fMYG7!S_`UH66&sE5`g*hdk&9 zD64S%w(>DFlEOtqdC5?fYCnSS#ev#fe`POal8OxNX&VoR<+t7e8NJdkS`Cvjj~trg z`EzBSHavQEttG5Ra06S!RZHW}Aki6=GfmIF35LDPv1=rKzHL{SmTyP>V7iPu%<6=_ zBBxHx2Q;uG-n*jDgmGf5jOqpBv!Pf6M+3 zqB8KNMMH_D-mb^a?TsI?4rChb1u~rY7H`DGoyUh5x!Rj^SChPs$+xaxJ@Z51K@S6! z@%+suPz+zC>XeRR-bY%ghU#Cl35ZrnN{h|&Tw3BDGm#0KV;>bqHOOu1+mkycScS%F zSMbw9_3gu7AKaA9YY`}?(9QF}L3kBAar^lNH#y;MuuhkBG%?oQH{ASePcGv5kv!Ls zt&hVaihLWJB$D!Is+vD_)xO7#W!gBZt^I?0fbcTp|P>}O9eErIe6 z6|dgjVH%p?Nha)u&F+0$YxQsq1IPUUl|Tz>Di>c;nhUEv1giuNPy=$suO!Yx4wcH+ z9b#boj`;#B78|A`i}qJO)2DfbF1kc`Q{vF%O4>l@EsWAYJED0Rr;lW)`DTEOA23tlswC%_AGetWE3>#GU>9Mu)h zv^8EQzoSkr;?8L~4NDl9CF#8uDErC-z150~P7EjX)Sns+%0_eWdph1QLbGeH4V^&jnO>`SK(J zC}~fQJ)k%nET7w2K}d@U8+Ry=H<56@YvRX(X52s0NudiBrS&$N{ie{*2(=;sZA(Vl zUyapan!M&{$9W$o5xL&wq#^eqH*%f%SFrE*^~(*ULLhj!s#NRmi<0H%u|k?a_jacv z`{EW*f!+AT+dTNEjW^*pb0b-#e~splA7lR_SkmmgBGwxhW{f7x<*$CksuQJHYo>REQxmex4y{4g?XRB7srsQ|*4UE{TUPR#(PexJoN3%g^^E(Ly zs^BH`?=cHSP{8U)W!jmCwWxK{si?W>&DvU)bfUCq!P`Xp`-aCYJ{Nc0E~tA7%HPa} zcDZzH8!5JXQ9d-`3w&=9V1M6|Wfw#f66>c?%$>4JAHBySPNDovXu>kxubBQ#JRfBy z2u&;$SI2Sl*@CNPFS-*^fE1rY~Zlf55P@WkK_>U6gzbbr(gfVR=hoB=wt7|2P6$yST(@M^`(?jj105yOv7 zG)PPcI|o99rg}SlC>jrkJSMsKoE(d+!rebFN&yFdkJ#kQ7Oev5Qi9KT&ILNE}oP(eW;;c={NR zG;|PG!@phWd-MB*tw;o8l6u48w@+QXhnM#YI!Xd6fIwzynsS^bx7LpCvX`|H^*n&! z`>nQg4#Njf(J7z%CG$Q^j?Iq*b5{;HHuVckwiW5b)S zX3hkz$q+7e@RdU$$!SIxo_Dl7;~q8IW$3``umGW6R`bzOv-184UgK{V%~J!|gqr6vgQK_sF(Xay4LL z#dfTGvQv*><-BuR6IKct3iZ=A4AEgSF>NdZGAiQbEYIU}|C;%a{{QbvA8ZBvt=j<4 z`vIb512RFUAD}ByL7;p6r=4GPIDZd3e|}|U*KW9X?j+vH&(f-{$F?1*I}D>xwctHqVlOjwF~ido4==vXJa4Nbzb z{dO(70wdWC&tvbEdXgx9X$EDxdFFnHhT+c9c$v+o6%u-r+KR6Rur7_)B5<#V4mPo0 z=*k=RJANXTJ~Zv}!uf=b4qt96IfejA+Mh2R-LErnhY_X7Q+<7!ZswdmI!gQ9RA`bkIJ1W)-GSdzf17xw7+mZ3om zjLHWa<7M;S718?Zrft3CF()0w=wJ=!Hnxh$6P=I3v!1!tyb582!4p(%r7yR27~(8w zRcZa(Ib^BoZfk?ZlQdwg9iPc&mD0ol>2C)GbR>Q+FdTnkTRvhErjf;yET9Dn*|pO< z5hH?!s&mr$)Gh)FH@;8iZ~9`lm^>|Cz~^Sh;(g4SgUl zrn{gj*~(&1e)La1XUIuC*!H7=K}rH|CbTy%1*nd_O9gxKXW)@j10{TP@BRJG!S5{Q zN){Sew4@>`nO9FYK&SMSn)>3seyL@PHW~xh1W&0xgz!_9KF5@P^1yr@#GBN+HhSN# zD!z)&l=ray0OhCQ)J50}JuZG^Q9i64VJcZL8&0wT#Md+5luCZm1_?NTe*+&lOkw|!mQ0nXdFfv~*~S-mM= zb?0PD#wDZsq;Wy<_NB4Y9G!y^H&#B72~_BJo&=Oznl;Ib;vuE&OI=>d#_H;z*Pyqb z4VhzQe3_zr^PRYvisxv0b5@_mQmLq_Hbl)~9RjZNa|)ShJtCALzT~*F5?5<+Mpaa=P-lSj=6NS=kK9lB4*P zzCy!wpIpo*?TKx%WY3yi0KirIb^7SH^?y=84*kz@=bt0d-(%MA(dS`#ruv7%S5qT^ zfAd`Ul2z&wps*9E=O!px%27A@^tzyJ3Hdhoa;DdauCe-KxWrLGep)b|6l<(&Cc&LK zex7Udqn)K?gfiT`6s}1}>_KnjQRv;>Wz6;B4B8n3miZK?bfnzLe)HLRoolZ!=iKLd z8z=M630EfxGlfDY#ysh!lYk^-^i^}}?RQMdC8&h+qF@gJr!wxHzK@cmH|5J`SY+3m zAhWHV>RZ%eha<5yqj&9HAeQsIo^ia721!K={6_{_4B)uS{RhqbwFGkokvHXmCd%Fl z*-krk@Rod$~1P3ror)n3G&3VbtN(M2iUv4KCabTbg<7n#Y1C zjlPjJf>< z;0gKgI;oFixf2U>>Q&@#-XnXkkI-XrPX%~Rvyv(3WCCn>Wk0!&Ufe$h zqT6kje(KM0DJ;ynI7r^{=HA?kfZTuSBW{My&I5`$O1YFNE_se)5f8AmW!=n8vmH(= zCT&~1URi&Pw-|A{yaL=pyG$dOa?)D8INIqdq581bj{#)>>CYAy%N1{YGM-0NFUAq- z&2LQ@>Q`VeTp+%oVT2h3K;HRc77V|6dTk+(yZIz~n(8e5i}&!ge8!E3Y?+1LpcDp( zFo5?>IkF5dTzD*#qc0XJ-9<-{tc_nd501{cdua)3hrw|C=Un8}!^k%wS7$bGh?G)J z>p{sdtS(MDVMVq%i8dtRLP=<_(Y-8X07zeqqG z@t4_@0rICw7g3k@CtxqVaS6WAwb~hZ-srSBM9Z+%xrN-`W}2ccbQ_fjl8 zB7&XwBJSQBHWWLrKB^9#+sMETueayNK7~fES?qkDZZxlyvo$3hbg1P#Elx$|Wy=G$ zs$T9z=pns47U?d;35rJAJWAh@hD!Ni%f+1Bx}cEYVP%r*pZ$Y^L;A|1=oT7fT%EL> z@x6SygS(fj?WdSQ2-c(YA&kV_i;YdzD??sGqO9hlwyOZo5Glla_!d-e*{ol z+GNX^XtN@F*b#Tdmeddm$TWmFLz$>k-ck~EgU!>+pc;W}>;-fN2%FKfhK*wAUYzd4 zqqB0B1L;Zg+q1^vk86%T_Ia`N4J@h;Cc(jx+|iB%JN)n&E#guydL-68Te2De z)oV#bU8R+d2={=j8dJJu-`!+B(0Wr3=Fu?xrrE>NA-xyUBzk7MX>~zr&Zin{XHFo? z*B6*p@Fd@#X1=4CpY6I(D6T+pj;){AK8@khyzlvp`O*mfyf$PB44M#RK&-dSD99 z^G#ET=O{7)4m(7xC?FFMGKVMPbtmhv!{~FB&RE^V`In$G#@3`R26HK@yJ$lY2kq%C zA4{J6ATC9U2iTcm823^9C=R%4GvSd;kLaz3)z@JCR+yC7$q=J6`^hsxORVSa!b?tu z#Lu3VH)-hyhdRI2(va6CjDE?oY8%1V<@s@M7WTZhF(V;NJR*$cn2nTX)mO{^$rA#3 zBD-bEAn~iIqS0YhzZAZW=ofmPD>%5@td9bAr{5TR!eYC!j;{GT>cEu3cPQMjpiZ(^ zJP?h}0>~rdYL-%j$D!cK^^o1XpQ)SuRVEc{>a7M$yFFSQAc;Ek|$5^v`_K*7YN5f$jEo`~VTX zl3GhuH`s8Z7R^ppi;{=CC;ITFXwM{q8=)NZ3Aau3a+p+LOMWq$ka)wv}BlSQEKXP7!4AekL1je76k#o zL4d#6(ep7wfALS1hk;pNxWsQMGGvw@j8K~wx1mRg=1$+{P>AYw8B5N*BGdA&^ zYwHzbNnJs~-{i0{T#dhM#69lrNqjB+f(9ksnkhCH)e!}tsZovJrh`l8Mv6C=@hQp~ z*Tpd^r9b8sz0t?po*Uc{(TU~McI`HnI0@Z|6MBk{UA!Y(#Z|j{wx?Zixcb%Wlba%Zlb&HI8i(J)%vW$+@-sJ^_EV$cfH zuzpk7uC){)c9fFX&ZEesPf91mCg1Tzgx?LfWY#&vsDhGPTXHCofO2;mpK8aq{!>#Rv_zJ%#bUx z%?71*ObdoqG6wbT8{}Aa|Jk3A>!2qXQJm8d7CI+Vp>YMgHC<_*<*s|2Otu zfqDyoVLzpmBE^nrw;|^TfcVJDPmzaTkAD#d0LU}{5NZ0yIzID;vYp<@6xD=sgZEV# zo6I61$jvMD*jWBD^=6)_rt(6!b^lGP6AFU1Rlfk%q0_fZ&6bS>i*+iL!P%~cQ~9#> z^zZVfV(m#@xAfWJI_cb2dKHR|{z>S-(N?1v8?6OKpHPf#wRXj0X3+VN>0%_VoZWF% zH^;}n@@YRi|IU!l<8>zw-iCM4BW)4Buc#wMl*>IyZ_a&S)ba_CpoU>3+up8TxQn*x zfd1WP(HxiwQCl0ymrRa5S=y`ls6XHDl0)^?rM2rW(b-mVr?)cFvUkkBp(0D4mAw4R z?=#`%$OZci$G~B47=CdI$Ea|0ds1Sa@EW9}CDH^3`k)b{$g%?9MITBJ6EB44Bon78 zQtKm*hH=4OA}0q%NzQ%*uSpE$9K1+6zJKX1GDbFX+OeR#>ah5%pQn!UCi61G)pB;NVQ~Hh zO>(&z#j2&jqKgbq!P57ex&>ET&z1}=`(j?4uoAhRmNjK4cw*GpFEsE!HVx_0!kQJS z66rE`xjGr*GfZHfGv9O_Pf74qoBnM2E8ocgyW`;Umix%HH-OI{YXc0aUys$%TLGx) zC#L`qvh_pBKuICvJYIl~?H`U$zx)KH{)vg8D)j=8A734J{q2Db>=$dmz?hWi0!8#eWAeKuPw;d1{EwllXk!Z3vDoY0 zNPAsJ2C;x-PN07-wq&rqH&1YRV=1jNDIsadGmG%KZJ1N8oKCba5o?B{=qO@*KYpcQ z<(On19-zv7COgSedJ{x;qwyhQ!3%+NJ|K{8fl9Q;%BGVfzmby#npI2*b=J;WQ6;n{ zi$*^`io+eEj1W#(g{Hx(IJ^qQNxsT8v{+u&x2aF?^mMvRzmQEiIuNSkr=-kQHdwBs zo!0D`z$o2zT>$j!?x=AV7}1ID8SOgJhvMGE&+5b-^&789^Nd@EA?iTHO|;TtlqDhB z!fS6p_lzqRTFYhV`$5BB$v^RC*(=-Mr2BsEr7JC2nHffPgz|w(j>B+ZtWph8(TAO* zv9Oi&lhU}dU6>p8D+!tHU0!lkR(2WC^H^j`{>)h^FnV+&zM|%toS%7g!Aw## z*Ogq2`MlqWalnKQ`gA4q8A;CWdJS)mk-PN>b}{18rr&2Vz|H5gqBGT6zplhfD8{SR zQuHrb$>*3qK+zfMaG7$rG^4E%a&Ns(b)dBP@^UZp;puWqEV2M%-6ssmo%as!&`N+f zcV!Ec-zr!&{~+=z1g;q9hu}}uI2`_fx_1<o#Uy) zGZ&aaW1#hy(eAOHv6>pYSx@^@k(I@TWMnd7v)_})llcRFM@a0;i)%W?m^W|ZKpq#+ zECgl&{zFiLENA5xVoi)AW2vp|Pp|Lsn@)dX!MSuWfbu%)rQ8NOp%d}NAv)8{io+D~ zuyO&+ASzHrUuKSzf6oIYB4$6r?>hxnOtmf#6VUIxbk(D=ULT=`<=%+Yf82WOJr9ds znts5D`0#9Fs0@|dfn;o6*mAno4M16#;b}qzKJ%*ks=-OEsp z_0INp3Du;3QO)0e<-#KHtSadyHr3Oz1ES~SQQx@MJX2I@LpEiO`wC*59w2wE-QvZ2 z3q0IuESy>TTONgM`fBaLz9w+eh`8$9JEqDo&aCXV*CU8a6|wC#5u}j4q^FGh7G#2C zrTyx8im=zCC6W?-&#U@Uxm;&_&hZqocY{ShW>Dp659o|T3oFyHxbZt8eAkKbRv91}DFX5X zav=`-_(tk1?3MNVh{bqotVXTwe437EYP(6V@-+(FCOzJJ+IKgg zb_KZGA}3mYE3?5AR}AlZa=e@iX9;IWPkQZfsJx!H%bY-WN|##0$`MqHir5|JQMFX; z%C#`nA0UHx_EYGZ%wqYg#_(=2thuL6`Pp6f4P-wBo_+QayXfOVx;$%oAhi{Wep+U? zOYEkH0))vIOIr!(4llYLDV7bR^=XcHvJ>0}I0&bT29x&9=Zr@~{eh-4CMjGAKrvgb z9hFrpqlPB^*=eRsK$g+AT_vI=FW?#yF53`JmaiVz0_5$~XH1C{kICDqq_oZMTF+}_ zb2@IibSAO}7KXka1Sbczl^(s6mT_Wh zMs!MeKR)v$_H8#r&-lg$pBR=up^)3i(jG?=(A7GcIo8Enl0EB&=(eJnbNb&sq~&ua z+RDCCN{&9Kj57cOM5p z?_8l|*GP?+QTtMSAD1@Mb?CVQe~$}GO#oW=^M+yDU`A3fGy3F&q{9Y!x^FSl91orR zowYb})Y*g7N3@y^n%ML}7nT%pM`0-&L1&EP?C(wY+WQn;M|FE?Kbvu%ie1f}4#{#&tL|)lhh(#sZu?Vr= zVGGZnIbi}W3a&$RIQx0p6wm9tueQsB_==i1WYl)WwQsB^YlPyir;xnbE7=H=kv7Kb zHWU#&!I4^DzBOB+!A0P>Vp5JeAVl(elop4lNu3yu$%~-!iPLh7#Y5kVvPIrS&po|c zlXvDfXdQm9xjt&nLHU@Bpv-j+ItX4m2e={$fra+QJ*duORt{`ZAuR~n@!FhNH*6Dqb(2TXlo`a1fg{AuGM(F3Ww z8qvQ#mw!zBhp+{de{}7**>AbZ7rYCM*MARD#LbG6;?dQyRFV>m@A&)mj3L4gNDLW= zp0?gH0OW3{MCVkb8RQM0RaJafEW_zx-NaiF7B}%ffH5=Zn5@)_*e&lqk4s>0wK5L! zeN(9a0~DS`nbt30Uf7;=NmF8f{SY-gcGDd0y3`(b6)pjoZ_iA$T8*gK+-rG1Wtd>T zF$ezoeK93#sazO+sjoI*ywR~03}5r5&R8NQvaz`%Gw$G^;;wIRvy6_qR5c1Y*VreN zK7a3q4VF)SKQ>(BB#k9A5ouC)Hsn;pLVO8WlZLLSco$-+)S<(uW!{&A*_lEjpS_Df ze7F(+njI@2j~G4jqZ!o@{{30?J>v7Qv2Cm>_}iI0|7;Uxo$aKG*jhS%GijPU(L&R6=c zkNHR_u`qZ!o&;eA#(Ecc*@h#RjP&}`r|)e`%%lAMU9X8z;|s)TVej(hymM!tyh&AT znq3Qc?uHh!S3eUmatJw(7c6uokyF1YuUIM>o zY@`V5cH~Ag51_nb=Cr+9w_!+V{dh38{m+-+-!8}W&m~;FH-h-t|5)obuNb5b9UX+? zY>L&m{s0AH`ik(<1BLQ~&_4-Z7$X0)@ly$drRGj4vz8bK(r$?GXZi9^Y3a|;W+`7J zwCAdmjtNFc=@mAHs}<#71iI6R-Z>%)J=*9@O_DoYQ5)q^V6yVw^BApy-Frerz(4;^mwK5FjX7~Zxcvn&d9Zj)fI_$Ow<>5tzs)nL} zEEUyd3V!;mIcuufB)5i9t#Ssg#C6+8L{@LFH07{yd1zR$^|+$2)`D&6cXN|hzB7q- zCIx35=O@HFMh(-=)p}3U%QpSuA)KlrWzVDK%pz^l1>yzyQ~*{XW5Z*0@frD=Eb{4? zjFq*>ZH$I+(bZt~)#WA$Y8kzI!WxaXsM+q-6@=sqt(wvq0% zLJ2^8&gVU8r+3aWO|K@ycTFla5)l zJ0o9eG?Rlw!?f(q!C@`vN1kcWuREebM;;fE?0GJ9>XcfZ2}zT$O(Y2d@HePRr@PZX zTxvsM&fZ?iC+vZvGX2DK$ZeNGXbGd+t}h@fs~|-(E(=^1|EO%W(GHtXl7>%E3u34K z$#cqrCCLC$f4n~XSN+T)N6g8C&D=cG)KWdA0l z8qhWgB=lve`Z$mo>4;18JFnx{@XI>b@^D*A5Gx#j7e$L7L=Gx2Dum-1rtr1(X<{T2 z32J|sdAQuCw%+ZyCgr^fNi)Dw1ML$^$u2y`t=@nT29827{GUqtI>)#}IZVhZEP02C zb8f$a8dM)Kg~1qzi+1h@jEV?n)Mtxb4BkIcG+*541mENgu*lT&9D{+$g#Q_R7QQ7ktse<^dRC-rxlTmw7b_BUX(#D8XU~iW^0Vo zLbdr8H8f@(<&5M_`vE$ANa&@NZk27-^w=?xhJVreOn7|F>jr+f?N|x}n=<*P*b|NN z)AzBAjiwK%=)mp)0gz;8L>J|0$&#Wr%PpGZwqE4|S^Bbwy5idNaTOk@rEW@ewq0 z9r-r!*7La^psE8iz_dy4-E7?8P;q&yRotuE@BHIzmc6zxiXw1AN>QRj)xIxv!!m?; zRv^|;er8A*XIwK;E#SrjE3srR2w~2fxdo%)P{OWARsAp=Y;vm7*M}FKKS0>t+P0&o z_6pMAp5jL3>%BU@9i!f*CabWqRo4(Y3+wU5hw9V25f1Ke{z^)L#h0|V>9p$Aonv`k*|%_n}gG@=x9{4c&VYNalS&7rXu-QF?~z7`A)g#)51MY2Se$i%H>3R%L&dP4%sAI1?w}=F#*tzcM*zJHWrr)HmO(bmb}LK#weH5qMFd(@^pJWM5UGw5??C5d~4D+4}mD+v9F^`4iP7;MZRK4q( zIrXMlbH$l_M`M|$f-+E(Q*y3X+1Ca?=Apw%WKna31Rp;S?a}R|*^<`xrLl`6iotbV zG25658txk>k8+*QrHm??zN`Oy{Qil~UNSLUQlNq8JuQqUPwqs>0<>CoAUm%GUkM8C zvxdVH0N$Tb-Vcz2*r~gRm30ZA#GCg1XW;!~!2Ldxfna;f{_=D+5c}W|vR6Iv%sO9H zF6*==4EW4{(#-m~2jLbwRNIqd2Z$>%c7P?uy^O-Sq)q?Ocpw}PAg%+$S~`(U2XiXO z(!d9UO|(LTI@oo|);Cs8uv&zYKm_g;p(QL71mau0XQehSZoZmQV2<-r)l4@(%|gZ) zW+lO?iZiu)TI96lAz4zKV1TFEE+R|{1}K%bA~*c%o97&F;Fqfguj0~0_udkdiNCdv z36Y1vfr(U%oI`m1k#jWSxkiF@k+=;Q*^~xsGnZc6ZrB!)_@K?VLd8P(q9eU0&h4cR z)WM0yLZq{&lVn_--f*yPru^AFIYI|sB!6GDwZwJ+FG^@IBcSNRE!n}BVt8%zoCJC3 zRHX;maAxrCNh#t!ydSch!K?!}?jgNxG^>=i8o7nCeQ!R>>$bCv+bdy=!A#48UdX9m zXka+z#^&Psz1+4pI971_`EzXa;&N^#&{U3WGr9*jMpuoGh^6YrQ|#%o9-@G)N;>J= zUMw2|G=VUrD*_y(@6UW_0W!A=E+ih96+}tz9y*z!H$j2Ye`4wF+~G<`5M=ZYP?C>( z@7&KIl5qxReChvr##h5lJ|VhtV?2mo`A<*JgN|MOo`uKelRrS#kj)gRWMS7!V2YRH zPsA>$(2)emQQfPz9^hHAD+b$~Cu7VXR+8z-)kg~CWKDm?z<*yGKS6!*tvl!2om**Y zo0A(acpYHT1}$V=W`{Ey<(w0L_3L^~MEE&nlsI5y=w~T>Le4~{`b9(4g;3|MiFF-J z3mXumR{PRGYT70|75YdYnO^vc;8u2l0d{mO%fy4E4LWD;Gqe_~B^miw94jJQLk)A_ z0+F|g4p$@RB5)7BuGSb7*=RZ)L#{Ey*#Wt#qxJO+_ScW3+xA!CAR^2_9!NW@Fr8g^ zcMDs65JgSo>@Y6QbwZy)J@|lx^nH*SC9 zJBhP;Re+dEePt@m+`Pg)V#ipS(+{-hP79Y6Z&S|My4*OmCbOROu+&J@m*PpgKv-Z6 z#AeH`BX(m!8wFN5%QcU;8g%6OMB|ZZZ?a>vK+jETo3KPf7+Z^7jR)g)yV8(3EtH+} zc4GpF22TLj(s(Q=ec_+)0>BFVcE#O$9I=`p%Y= zuU`ZAbFfi{k>#H@})+1hbsQzu;g{VC%3AU zD%$VY%D?dy`#<~!>a>3|VEALd?l1axRDckk)&DCF{ww<=!~SeQ#3ltae(K_oU6Di+5GmE)*ysGK&uK9t$VGg*u+n2&CsP*K&9FXSqJ>GCb zRNZ$~HU3bb{93I13v09ixHd{g`5t6m2x$1he0h9;(Uw*BBkP~Hhk|yVhRC4)&!)1e z(Tip1C6zFMs=0!Zw_%%88=@@0zki|w^4rW0tD+NAi&NWYCVs7 z4V(bouLLo%zw&GS!!7^65#SHm)c;0+Kl~j3N)#aZ-w5#UjRgP22=EscM*kZD{`5qseg0@b0l-G6g#}%lc!M(i5cxUfR9=;Hjf z8GsDKI>Pm9a)QSUxRDsgl%pu%=*CBTQ>6=?@4qMpo{!bbB%2y`OWb_QG#T0GzNTh( z^V?=vl2hM4Gc>E!>R=XM37O|l@xipelNW*PK;-R5b2tTzaFUJFpus zLrLSDWtQhEWu=LOmrB1BHZIfk1T_vmREZK{X!i41tfmg9wDO8M< zr%G`GvUNInX%D;$`s5a^K)Y6Ic$8JQUdqyBv%()=Ya^uKG1n^a(#67tqRr7wU#j6c z!shdjN~zI}jw4C;F8soyQ;dvnMQ6R;GB|k9BkhsH|8-nD`P#>eZhPuZqW#i55+}EX zZZeQPa2&91fN>%CYYy%E4<{Gqx;#d9qk2@)zvfr*&7mW+*D|ZDov;A%)84>J_hM1F z$_v{Q1_tW@aNtPaZ~+s(@dqHQ?D<>0rM=u8zK6V4_s;IRiVJJTUwn6`i&RTlC?G>= zoQHKV*qI>9_-#MolF9q3mtW8yiAXsC&@Cnb{ABU5=k&;mbEgjXwQdGGo-QCZ7ACq! z)|_bR)__e0I_(>lnI3#u&3&mBm2$qWeI2`zsx_zFjEu}}_>KcFl{^{=<8CGMc7oJw z`F59Sr&O(A<|RuIwjGxVatOb~5n;`RzR9GtSYfb=WlZ-3a1V{w%(*Sk;1|~hHs5cE zKG*~k!-$Ct?I!G}M-2)-^F6#R$yD#>f>*`qaQEA!i+w5fOK4Q_uFFw#U0qSJ`__PS z3cmUdP)aq({(8v*mOubK5Dzjh15^umr?V%I|9G56dJ`xQ0d-=30Q5^BRR`)w2og*M z@Cg67!A-CU^i2SgO!J-d40zr$aflcOLi`BaF{(Si?W?Zy+N@P3aUNNCjPJEj*?%XK z{#7*p26^8i${Fr_zJ#n1HZS-Aa)iq)C5JT>Ioq_%6nR6mn?iie-7XUhtM(0|qgS-02MOk8(gtFE0xZ(9Na@y=n(eGTM&+FEM&bakml)?=k>6dvYLMz=aVq$?W-MbZAj8?bx*)Y{af zAF&ZTw@$08M;h~B{)0iqS6*iNL@fJL>~jeGYc3)X?r434E&~e?nYDd%;E)gDm^19G zX~YGoY-=V@edH?RLhGYgfkP->7VMSw3|d>g%a~$vtYN9RSHOQFM?E9uqut{iwLk)= zTBJAt!(s2r%hOEjYQw2LzD+h9FGb(RT5qS%BGG(%$a;LOi2Nw#05IIVw0(QqM=;vb z8OqAu>wOVfuK1oYn7D1Fk!YB2A^pKc`mTlgpc{b}Zw3@!8ehp)i1nO`^3gV%W$ymS zS3B0@gGK1x&T<$$n6x8%R;aVm+g_u-L0_^pmfWGc`Ph6=p~-fzs_az|gBBhau3>}g zRfNIUEcJ*s4UHrG0Cl~><}{KIN=Y>xktgiYVkE+1hsH|_ma>)QtN z^3NpjC@D$Z&>T#qbq)yw4Q#)|toOQ)9GQ+}I2Fh4p7(+T?qdp!q}BmaT~@F%+;px58gTiCs|+eB|q zoa&d0=~u!U>XTGoF6&NhG^JqSj2TG2$9O8Ok-3rS!tKu!t20u}U*TtHpJzA$p4|3R zww^@d=C<%5OHnMS(N;pM!w!G^!zB1S9*h>jG)0yJwQGS_?W;E&)BHaztzLiqRu>!A z0vlsvcjnf||0K`OxbLT9Q6FcknAmt@r{Zg{`_0d5&BtdHsgE{-g;=g!VkAzd`uxZxtKCM0FdCux0mP54gG!l;S?$*Yd&i801BY5`WWvR4Mlc4K4OymYJ}D@@)!X*9?_=OSuG*K@ z#%o%Rx5y(=k8g{PyrOP_kc5_om$Hx~=hxV*W-{RN54r&7e&bmrYgelcI7SN$YN75w z!d4w$pIVANUYOV&9r)PrB&E~I(lj{sZTUyIZ}N6e41*7!MdT}k^k^@U+DKq1D+GL} zJdn%($(SgE&X@i|@pAh8l&U@kZ$!ju(Ap%k0Ov-L?-^eDq_up0v4&QnqnKvBJlo^$ zeE@bY>;E+f{$suIt0}`zctH1SS0xW(Dt4|P4#cLFjk~XlPXcF5{h&XBsM@mKtO7M zC`cEO-a;ZMMXG>+(jwBNhTb94n-uAWnjq340SQr(c=mmtXU?4GKhHaJzPumug&8v0 z$==s*U2CmtUGyCq+bA|gs=(b20xizpzT7G52TcF$48iCcN5w#l+99t<@O@T!0ea0` zvv>Bs{FRA(wuNE4MR7+;d3XI`QfxDf;9LSKR?$d+?5s}=jFve!^Pvpe8|;3Kc5UrZ zw@58(d@&Gi^~0hIQ;peuN)#ZyCT6_RxV35v(W-6uwqvq&e)39FtaiYA?Ry_8#m_p7 zpUFMq@@dnuR&v*JHC&iow4MLONsrz&X^y1K(Vl<){Rhqc6)57B>vBVHAi?X2*WH~{@m~IFmW3H-IX-`$6JeUv9JNZe_a0BP4v4>$XcAzt zyX9xxZTQK@T2_Ii7fb1*q9C3SK6enuN3z_>?G5$~>!Y~Xj6h4}{VFIYp}^^ZcbrHFap zx+A3ptccNFp<(I|qdye4j4OqzzGDr}gr>yx`+zsA79#3o>`Yu`Evk*dsoKZ{*B1k5GzI3<1Kbt?%YW%~`fV@U=)MIw;6X<4 z;XY}Uif%JHx#gaFnSg#-{;P~?YFwX5qqrp-$aj0S>3CJ$(-7smEH5(V*C`wI4o|q>!b+dKtccI{uQ0|}=?Clf=cF`0I#({Z5o3(G%;a^CS&n#Plcz?<# z?JY0QJLKU?CEd#A{*=Z_7E<=zpZfaqp38gl<537l>4ULG?jK@-4%v-b2qdi+K;W<* z2v)(0sGYOwp{`Y(bickXcVY99&Hb;FZLyt{?KhotSNiBGQ%U~h_7mNpeLN}#u0r(f zM1Kr&>l@ngxcR#-ZkSzzxTqzlyKbYdeUj(={Mulj4&7|+n*ndtU?3!*V6$MUoz&=C z6lB#qsGmn#lZb0vg3x2acNF7R@#m)^$4KQ0BegsBv(6bmZ0^MW9%&8O zS#c0tkCXjk)`u5~$|LHLeuHUIk4y9lrbL>L4Y)_i5Q}Ca{p&h|kRxLmCFz?J2WBzs z{DT_$BInLlGctLn7^-J(l%;rkr^apEGYZT8SZ~0-a=( zpS0_9S&{mx$a2}r{XM3xl;j4cx~1<9FOw7L^?)qUC=9g?vymW6RD}~ey^_P;7@^=MyVS)qrHZdL_Y7GSqMK|XT|7yDO&=F!;jC@x^`09v)({h729_| zH#mhOTzrY>A%7-n5Z^ZR;Z{(gQxWk{8A3ThDL&Ev&}PKvR8tgokRmUSGqZ(c*kP%Ma{q?Add>oz1hgy)srHtuU< zi=To!@;gt8WTysudpEV(2AU+J?Ko&7b0heCb?1}fH}CQd3Wu_$=e6d?1~UD!=l{K} zO>G-W9OgKGTkyT#0{<}jjv_UD`^Sf1YBTW*!@97M@Cn+f-gbOl^{wI8k941#`j&p9 zE4Rx8BG9i(H|#}RWpZ17$rP%YW=PHC0f*@IQ~#69`QJCAR^pqGZ$JlPTM!b^(dy{j z7AgVQ1gG$S{?pEauuQw(u1*8|PaB)yY48vYphgBVijnh3>SeLVy2%Sb2Yo-1`*-(= zB4QT9sVNT+oax{t=Npdi)>Yh`H_5#ITzXHWS=!lK@Bv>zbJ_*T^?-}de)a27h0yop zhrugurK$-#xtSXy?#5}?eFgv!d-xT=W&hXoBDfRdf=bLp?i{VC!UIcO72M?vK6e%~ z1&Lc)Dh`697lyje42$sYLvdBpa@-Euv2D3;xG$*bYOCiSY6Z`B8N~!FU(yuZfU!&M zEE`4JG^#MTgWm{Uxtx0L9UWpXgz=YkY+a$AXZCbv0OGSroZ&x6`s*Dngca@Eazj$z zSma+iA;8CpWK(3}v`mETkaz4ehYq&>;6vww3J$tD{dogq#iz`Guw@DKsS?Bjs6qBs z#VC3e6M5+mB14Ed)n+54A@@}_vNAJ3YkR?B>Jg4P%=%H85Y#{%Et+LCu$y?gJSC-} z!+FP+`!ITE_Cznpf|Nu6-lG7jnNhZBBxqff0sdXISjg<)_g3hh@jCliJy4{Y2mTM3{b$S+yyk^1BV|wgrE^+lv|JL4-CDXb zE1E7X-@DL%=?bG`t`i+fMt(y%ULl?CqKZ5PFrBho1qhA{D8T6Rnk0LUd%Q<`^~w11 z&<&5}pU<6Dv~Oka(|a!YE_J+;#kJYV#P&$=_HJb7R8kU4E!9Rf{)qiV3>(9QXoHyg zsH_v6O$!o#T7(Pj`nP1!wz|mgyX)bEPx#Z_K9zsz(vsu2hA1PgNw>(*6HEAAV*jo! zUN-z@Wmf*ZJXfBU={glOmnU1EwAI`-^xKYWh*^G>Zcw5oh%6F_n=d=5 zKp4m?ViMOx5@mPQUwIbvJxZ-g=s)|+8)i2{j^}o}7^zoXli6~pWtjabHDv*~1K0jt z47LUbx(SiuILIDg+WutS&fm7)g*mtxR7=Ax{}C(uRw}es@vnOZtwyw%`pW=IR(*?mh)yD2vXs2IcYkTK~ z(gUXtW>4-rUjH$6>TJ5&AS5yXRAaHrkE*li{$3wu4u(QFU3t#Wo7dJcSA9;EKKl*a zmMD^Z3Z%fO z>k+!#QPY_5sNGihfO1bGL%v`5_sm{((OepoSzaNvleG?!HT1zDxYfm^YoxBV z4CQGIV?tn2b;pT-+2|a>n_!440FYJJU4KX&(Bx}rv}*Q}Y;$3$8oXn<^NpSxa*4jA zr09Bv`mi$(r#-pNq4VmYZ@5n}@>@>FJknJiTos+=e%?_prKDj)<6BymaB`M3iRad- zRR(@B-2di)!3P+?_`KUm)UhCEAqgmw3t?zG(E9Pj`~pnC%Bv_>-?zpo>a1jSH`fPK zQDFHz=pB159Rdrfcka9u(g(t_b;c>DhU_$l8dVuxF;U41jfsP{Ub*s4()Wv)Z|0v^ zo2%~)8THe2%lYm?hv_{V3 zlRpNbD?h&eom`OofX~FVZ^f+t)`d!EAg8V0=naGm={N$#?}XUCqsc~1T6$=98#Lss z}wf_5J z*pJ6WIEhODBKEz=Wo)NJ++H;dCvf6M_LGh_>~{Kvt>?aL&kOAxJn2(?g^OSYE6CAb zD0pdj3LD9oR;vBK`GEL;`GE9TirXa8jctAmZuo41#8n{bmYALA%HuXnOaAL~dqB|;v=-6Ou%m1_+3Pr2r~G$ohI6JaoRmROp8 zrJ9+$1NW$6A5XRrxEo()C%;C1_be-^^k(T3H*FbfbuTBxt8XwAj057%7GuXotx$x# zZ1K#>*Z;T`*mA3`QK9?A>`-RZ*p0G^t{%ocbzi=I`0R#sFz?rv27az}3)f1=ji)B> zKBi_o`qbu3dP#KdF**ysHlv|WD0|=$*h8vtk=nU5;XZjS{pYnc&HHB`%-cJAvhfbC z@aLVVk%#etNt(RYL2>xKm?aQVu+hSJ*nY;>k~>zV$K%JsrMI4TK89>=X%SgnRL|{n zN<&9uJ!$u+tkdsX#Rf_KK)KW>Wl>8NlfD;HR9h;;eJhb&_hsXe&P@+AP}RYFi_IYQ zHe$R3@A2o(m2LYnN#39(BgYN&?7-vAA)mE~sXq;|V-sGpW)nL{_wVs9L3>|Z%ueI@ z{G4+)bG$MjGvFC8H2FUbm;YasPRhxkeL8WQv1-Is3akYZ*Xqlv|~f{c8FxpyM}1D z;!cJKBQ&B^pH|m8KZ)VXqVuCmh2^6N%b1#eDht5rtdu3Z@LKaDv0NUArJ3htN6TOn^+m)xwpYo@u_lEhdeMtH)P535tr33c@ z%B-A1Y#7%Of zH?CbA@P+nrSy(8O-2JN_Ty1PRchDJJW%~+DXnO_$YLBzbcpSd} z{vLM^=X^Kcg>_(A%b7Hdx5ITp-lpB%Ee*b4Ddi_YLCk9?OJ>@cdk1d?e zT!gb(kdukCq$%=RDftY}`OTgNc!erxqv7SDI8&X)Yioa^H5mSCOlt3O!TsGwL4B9U z=1`}Q&zbhIJouu<6$l$yXMnJj#l0|6Nv$8QuNho}%Dw)QCE7IbB=@Q08Go!hj&1Iw z4-4ACoZKd3zMy!VZP}fo48+jR^h2>fu}_FRPgt*JYSauK2j2}+uodWnfkt`; z`|ZK?uBSQ6JCl))*F`->b)?P|hN+$S(Iz^s6O6jO&dGMQZu+f}!@ZOU)Aj-~B2|gk zE}Mw=?=2bo6tuh@;E7Pk{Jl(Lq$ier0W!?$+0Mf?$WSEDo67RN;&j(vz(CdgSssMV z4QSVjy~T5m01h?d6d(E~+C<24*VyZ2dKy3cGI@QaLZ_#y^CR|-*XPY+1}3cCCPC{g z{`#Aomfkp))bSYeJ?1;Zx1SXplYP^OD>Op_)P=~Te$-GPF5}sD z@|^Jy{;gRd##xG5;g%_2-EM^Umi6<_#R9nceQ(3#J6Gv_N_AU!aJhlE1zpfq(;}+%FJctUM4N z3a-ws;XJ7xd*~B@fRGnYJSo<*ib>2tSmfy-S=~h4r}uO9UDBrpYfeetC1%Ba==jZg z@`xULn@*(y@X4#T8Lyn6U(>FUp`jI6>!4`pjI7cMA0C~ zQY7por`M;X9qQUAoa(X+4~L@$Q|>X_ zizw+u^wc4d(io>VirsWLn4~dE6ZHFOH<}4!y^zzJ$NXIz<_A{GSgiKs7$bwmMzQ5% zIlr@2Z(r(B3L=`pePjt5BQn^jdK1MBXC3pt$i86fs_^@{RnT*+jm)Vdp%;9sr`u;q z{nVlkdBo_FB;i*F_qShV`;1#Nn6{>lhMXTK&rL8{7t+0)LA~L&I%_}k4)odi4$Lz^HU5u9c zxGX>Wc;ayHkHBPWKDUYBa6U8>R0BuV1jdL@Yd}wKx#sImC$!9OrTgmoWW4AGM?WGA zD^_z$Wou}?V{d%%!vf#}Yx*e#^mraBGN|@1o&Ja~vPwKr34%@SK?sw>JbXP?=9z3C zUC;96s&0AD#4F~5oOxS1Cz`rey<^~q`j3AOQ6jjrn1ar!fG3QW0#h*B6pV=OLG%c+c`qah5GLxkfLUP}29dFXsAWrTGs`T%((WaJb0M(Fk zi^yb0{t#MeNCzX&pUZsbppSHTDnv~IH|Y8lq^xyVlOSYC80C%7xxaK(73;JZ z>mw8p|CG1^*||qJrp4BlU;F8k&T}sIoyeHlfyz*akUMnX{fsBqx?{j@qkhi*jsX$b zgW*HaL${Z1WbKCZrG2(>l9}AgIS`cePNP#M>Bd9O%~Uoyk&8w z^$jmmftb{9)@0ACd5mglZhq4#spE%o-o_Q8t*EiUoh0I`FQ{`67dB3EEuMQP{ia7> zPKl+C=p)@1eZfEml-WE-EuFczTA%7M+KSqYblV4lF$Lf(pU4upWvoBnuK%;CpP1b5 z75Q&OB3#-EI6RU+eEo=eca32oIZ2fo-@zBeiO1}+<54V>yA$>^z%H(K!vpo;-1}y^ z>f6sOzIrCSt+}zC=uQH4p=#-O0CbjPc-f&Fael&Mzar~v6y7rP=Ywp&X9{&$mH{Hb z=BJJ^U*^VhnL3=-oN1PY?uz*hxy~hT%CvJlgC)Lpto{sD)r7#Msj+ZwfI(=vytbaO zhkNkM?2S;EJeIiL;;N^65S?Hp%-Agn6?OE6T@9LFS>9zJ{H4Q%0#SASeObE_J%sr} z+_2b*2_XJy6oG zvt8YJ!7dr+w!i1Vt%Q1Nx**IG!{kMGSc^8rsRr$@9sz2V{TrYEMDjq-L#B zOChdd^mYWhWTJ%Wq@ssBUSLGW9D`|XZV#5ZSfE@DdGB~o&DknkBNGfy`PA-3QV^l> z)~*6*xhUi>9qmJYWj~FKpHf+g~|UED0}0HGf!V0t8Z#h;2>W58f^U1 zEauAF3kPiT>bT=Xxb(^G&6!+LV%SVOB*tcWQ{mx6YN7Qa?CaHrBzXMYFTnzgNw>i> zZSH^RuHOb6`Bh7RmQYT(7tWd=Ue&dYZyqcEa9 zqXk<-{$>SBEl`+Y^eg3stp9R*{g(mn|J^wEA43zs#^C=xG?97U&(B!P>H~3qcNduc zE?G4?{)M8dVP}EP=qx~*q`ojZVch}^N$w)OynZVg@gp$>f9WmSR8oM=r9?4gl^X412U$k zAdX2aWE9@P+^!zPL3l@>i?z4D>^iUp*8u^=;%5|@&5fhf8F&ZI zB8K4HZR9&Am*E{YwwAHG}S6zW(RddU3HAJ+K!FgdUkCDh7fv0tAKd z1L@xNozPX#+^jaCeW?|2O7-4UipIYCExPr}?w}v5(ii(IQ{V%S=iXzTsvo>lvR^SZ zk$Z8gUf44@YEo|)!fdh)QX|cw-XP1@)R0_MTg%+f-skKy#Cqq7wp^3L!q=+tuT|5I zszdCrQZpOdRk&U1c0Du85b>K8=d3weT*1o*whfxuKq65=Q0@VYmkjQVlZu#_eb_XG zz40KSu=#ygxz638s*CC``={2AM7kR^Imw&^rIY_0hcA#0hs%>v^C#YNsr z@T=5%#A*0_vH^Xh=8dgKE`LxYXOdH`!{>X~>)Vrt4hn(_wEUlaxS4mgQ|yH{FQr3* z#gr%Isb&SwwL8N(Iu@a%UzjCtL)IWSc~1>Nh!JWqPP zBuwrn$UY{Fy-ppQk=m0!QrEXX(VUnmY`o8A@HKw^)JoH%2U`$D8WU|Eb`jzP=wnuJ zVe+dLr{=nE{FXS~_!hhT)B50nF0FJGE9F*Y&Bv-MsWTWOfFoUg1LNpmhf8GjFEiJj z+|u4RXn(yWx6~=!PZy9orIRkrR>%MJ}&mrFud z;zkT~45rG5Ej#!cbUh`k($ZGv)1)kwwdEq*#dBagjr?S!hfdbBWkuV@Nod%766PDVR`XAt;+7~>X;z;-U?4Q)w#<~c-jwoGQX|Z+%k!FuFG|FXSn=2<^I+v6I~C7 zk9Npx8nV+2vU-dwruxhPfE3IRoIWdgm;+A`3ufo4BXD4Cx{nQQnELtj;p@}%H#^Y2 zlI%8hetSXa*fy3EEArUNCDh3sH`K+wr;~LRm$3L{-Nq@|tIh5Lj+O}vi3L&_@{tMy zqhCjwDBZ6GAV6BOyBBsJw@xxoTm6Px1b0b37sDLxJ!zkjDLk(QE%_+6pvA6b|Kh^c z*nuC(M?I*6#LmBT&vuc&-divLXGOS zVDHzgN=OYAZYrEOk@vBaJ)l3{5t!%h>p`Ols!l4!T+R8Hb{F%LZp50^ z?I5^l^C9&>1cI|m%g>^p>bKMsnOdXGq|C30Fa5YSsA?v0CKU#SKc%(<>Oc+*m-MC% z#A<7|otcO(v~wj`3ozs*N-Uay9sMCO=#Tv~!>&&V zN^;+_+!!jM(4ynny_=;&@vf8pvW@rfFtYe)5`c4oZ3;O=*7=7`9Z{Pesd{y=jNN1F zXDTKd-s>e!nX27>3lDxo&?^*Egs7D?1zY#r8{}_94gi0q)p3+rL+xw^-Ce%kQH@#> zi1`$&`sL9x(PoXDesPR}rkr~!MS?7VuL%6oaKmZ@x683*tGu+t^*}mPQJwE8o%q0; zB@5oG4|)+dX(P1LWKLq10g@MT0dt}x;|z%Ghg_9A669&s11P_p8BzfTty<7 z+^W}D-ySNk>FhpHJNNKS2UCXF(vr*YMcyhLNeFq zx&p6 zCk*VVNMY!kP_Uz(AY5`~h#6gIR*Fk4QK=UliB?>^EJhe`MT|)=eox1F#w>{}lt>oo zUFte2fvl854(Q3gf9YU1F|=@3Kmv0spmlbzU3tc2#FW~9hhzr&IxEh@BUvWXHz;Oe z@(!x&hW1=0EHdL%#Pss58y)h1Iuru*pEC)Bbt59FVwEXJzdK|J<;|Lf+vGPrpCxKh z10D!3kc(L3&G}rsuKAnFi++Q7f))(AXF<)SNUu;;ENh!){o+DrFq0{cD&_;nhiR_D zqig1@1spegz`L1bgh+`=aE`N?)uB>-osm&D+ICEZcfJCA49LxG_ud0C7~Oxqz}aNm zf0jZ45i(w&Kbm?Q+yC(g6G;gq;A`jl#}XBsp7u||89=E0t9Y^mDD}I-0675tkKlP_ z*1=ks*J5S44@tL);liwZv|jGswbO~3w`qx(8UZc68BO9#ye+R#-POQG&#S=+YfB?n zm;I$1G8O^QeS0zO!z#LZ1)EZA!D+%eVv=fC+K;fqzQfYYL!x&;M6fN{e^r(pF}TbD z-T9N47U-)Sf4KuDFK_pANj{_?j+V-Lp7Dc#Mz|etL1%%Ymx5YFpPbeDOIIk|o<*XO zjmkGHT0py6gl+%IW?Wp{v*~BA;Y&7#n!|oyUMxXrTMyTLTxsoFSE;n+QxBTKW}VZJCvD>JMK6s@^9oD&v7}bry9>AMv&~ZtJ|1H`h+%c z1v%e(N>Lv=#wp70F_Y(gD_j2@&NAZm0q>M{+Z9IT#Pi@`o<3mw#2e@{xrm?y3M`=E zreSJe`IxtYk2f_PtJ9P{E(OBXrqru>}L= z2f(N9EuQOpAf`5bB9H<#P98zx7u9>P$Kf6Po1CKZ-34x(-`T`8pVi-EDjg1#%$XRv z!(Q_1V4Q?$Kmrm-3>MiVO;2(sD|}vXIi4+XWFdV@ZLw`@EHCrA&|*K)Q~Ex|D$vVg zq2Y`tA?f>iAO9=>6b#%!=PAK2EV?tNrvemgbPu|ivgh2Ga=C47q}p(1qdV`vl!6+L zU)3eBk(z6Oq88(o+Szf@69V{+2D02q7f$ON}Ngd-@ zcu?Lw+K_8y5`=QU{x+*K(Y4cr&rWnpa z_OFRAbDPiuNiqKh-}{r9^lPS`5GCGdn2H_JHROUi8d{nXE{L{$vcx_3a)qTF|1ddH zL=^EEG19{Jx=o#6+I>m$T+Q^a-SeTrUe7)1_hnDCgxfRqUpld0y3;n;d|Tqj(_G&q z6yDje=zNYptbhQ&v6oY|y*E6_H0`h)d1SK6}2iWP=`8VQsq{e*lydB3NTowQ)ww_A+wQSKGd96~<+TS@2 zN(PbY07It+6z-CNmmcXz{^)Aq`+YP2QCs4{!LmUx;+wZdDKhxQh`>8}1&+Mik~bv# zzl4R7s;H%H+>q{FwtnTXRJu6bo0ZMjNf zT1&vP{+q=gMi4zP9)z?DNJt6u{SdEQ?_UX>&(WJ>8jfyp*QZJkHAlGmN~CNHBxK9H z_;Mzj)(N1?FIR!ko#QyRqGtRUl@SlX%b!g{*&+$Aaa_%LeCn=c&AsnMOU2VS6$rC5 zMq9-I;D(lsEPjU*A+*O;Z@+AbBr1`d6Ob!;pxPipQJGL`a9E}7h_l9xITlTq^uT1s z*MT35xfxU)QtqzP<+Al*2qtqAURZ&yssR-dvVE^*$g9tG5#V19^CTte`(1G>JmGxy z*Y>k$Z%Go6eW^_9XaE-ob6*&&InyldRJxaVopv#D4SHHZx*Ue@JxKqUK_9 zh4h}MXhV&YM~~erS?xDfj ziZwZO(lO|_?`N=me}?>y08$5HQB8E(U51pF8{ zu2>Be8!=|f1_qA2eRVkEiGHc44 zl{}HFjU^=(gWayXEH+SD{S+c~u1$PCZjS{K3?b1SH|q)IAPyM~m@g#K>+00=D}+t} zsh*oy=rb5NfA7-j8sDUvoxgob(D*$7ee${b7e)?NyQ-R;<`HE5}+x^*6V-r&jtJw)Jp;Np&pyU$5zZ zI#q4{d;AN41OG2u$fLd_17L7S9x&m5{Es}l{7PSZ5+$YuMQsHN1bI8Z?2SC*OYW(o5pk0gKG4jZIF2^;{o`oSNi-uOvqvEzqSkNY5 z1q7G;&RB_4m&GoVwx<2t4X=I1AM zp_md>Y~Pjh*JXq}l07KTXmJ=6EAM!p0#cMMN%r2fGd)qFjX~X(fPhGbra3VCOr4Ei`6kG9HH0hCMt>J;iT-huz>4c|35%Q+iqp?vDe# z0yR`d68=Dv8iX`k+S)RV_}g+XPx&(q4|+*i%b$oRnvAz4Fbu@0XQ-N6(Vh7S+g`N{go86pcaH8ZIh%Q8v1c-U$k~u*ycBb_nBdpechODzPa9pXkPmZOq<9W=Y%@h@2RAB#K6}y zsjq%PMN!*2q4O{Gw7j{y^f?EZwNZ)_dFnrswBMk$a8cl71;Q3v972>lAIuYb*V;fcTpaDAbS^adw!Myfy22nUWuR3V z2R-+4@MvuQ6+R)Ehxr!H1tn=&0g_>Mujsa`hYJUr+=C~mcB!okEC;WW zlkLDn7*2L4nXpPicwG!~?{!~g6WTVPfjt42h*oeN4075Gcz6sP7z=YS+jw5>Fwy^Y zP$OxQuN_~IR%)=z>MUC5JR(tGaaiV4 z54pVdAZ%{gE;Q^r0~9qVqUK?Z3qqu$zR5BG z^tP{Nka=Gq;zpO%1&PbrEKje0>zeAlcBlI|;ri$61(=Ks^Ndg1O{T`La?=&2++gYR}Sgq3W#+HwP(~%0b9d&l;B2O zPaW^cmoR)T+M!N6mhQ~g?w71PJXy6W_DZHufCD?+i-0B(W@uLztvd2pBP%-nfY5}5 zwbP?wSl*~J=oju=W8{#)NaO};3q+QW17@3Nqk*6I7)dbMueI$-y(jTTy1QRES{r0< z$e0}gCY90HWf}j{jSB!=?iWi8IrC5UF;B)sVWi~{Yd*=l_NVt`L$s&3Up{Z>gJrFm z{x7J;#vU~HCbD+_m4@R=0?d>!Jz85nr#Du#r0)tz_I>KB^6ud7fYqJ(g=>kjssMYUMvFSP|0!$kn+hdqjK zkf3o_LoD>uvaK~W*J{n+;G)=Hx}<1V_E#m$2@&P2x7E;NpzkU;SU)Cyne_NeCdODd`k!tRPB7%j)~M^y;E zopY=BY_nM+oc#0t+dEvT;vxADBF{r&mC?Xbr-&y&N5(*8*axb%$1Lsb+>B|7M&qeC zlF#}(w}R~Uy*P_7?EF-Qgm#*~dcE{_Jg9oT7aecMNG>vvi8#$L4`pw!@W1BG0{J!>#i;9#yx7% zKd)Q9;>tB&9wB`Bjg<0Aif*L{ZkENnC9>0FdOvgd;1F>Cc=%8}jOCx+sUx?xyQmq;h=%Jfe8)A73P-+pEKCt0ED zgQkyK7izkhN->$$7u^v;<;y|Kc%`3tfJL5X zG01+t`_MJ;PepyJ9*03Tm!Ry`=Ra!ORN+tR}ZgSTf*HAXNV z&Q-uf6;UVqA1?GiU;jU(4(XD;Pw0_@%R$8eu`x!Kio$qr|308*bb!eMfTKkLkK}>h z#dxUe2l>az$={LgJS=QYNDH`|xbWK3I}v=uMiV$DS^lNVt3gt@-9VHi*hgZNMSPD# zzDeYDJ&o#V@!6FmiyQeS{-*KJ@ipZ0gnJ~^G}_OIj&geP2<)Nxhh4d>V)N_OGdmf{laX=pPx+)N7-d8>1xhWeN1dY$cJPp! zi|;W8q5G86l}T}HdyS3lKsM~xB`D{+cpZuKg2u0pl(pSgAuMnvY8671BIA|xi1J_> zU=w6KoTh#)UiSy@H!RHOIrZEXKft@*{mJ|G$=aRo*(?w&XBW1p`h*@}pp;PpBkmui zG4laobDvrh@K(Gb40pxDY(i!ymd_)f8@;mQpl1AnW>MX~!SCU0Pph9Fe})u4__^07 zD=C`rVm{p`7T(KTDj*wiK~S;eapy{V5mZ;tvpio~tvuCLXYiKh;kDk$;t;vkpDr8! zjE^N^xSk`*E$@Im9|8D2LHf>$)@>lMjCzL%HF?>t!sl99PwALr@t#deSDUo7Mv zO39FPwHr1o!xRq~8_Jca_Aj+ehH@cz;5L9CR)+RX8F@xiZu?kBj6kdQb@$BRG1U)T zD?A?b@OPJ5A4!xGzhpTmd4qiJrNcO40VzZYW$QB#S@8_V2e+}|4$@gl-KrFm)!f$w z3R50b%O;-<5@Ubq&>9dl{{zGiHz=e{VH%Pm0mng<3^pC*l;Sc$v#LeGEP$w3YR2*$0a~@rz#=~+l1t5n-UitYFqC}wtBLP zMyOp*YwVlngL$frx#bx+RFPw+WQ`|%vP~?E?iUXI*)O75^ZTG(8HR4o!w#$0F9IHl z!VW=qew8?kQ&KDk+@>lyQ-7o4=t9R(Bx99+j5sFqI>!^s^X9Bg5I!!c;Rvl@57jao(Cp|s?RO@F#;X@L10qIbRFyx zoSEF}j#qDev(T4mHswU?eRSSRC{)dskCzz5p8DO=8RUn+@-N4<8J}>F*?Mv%OFbBFp`7mGE_HDAtm>%5RKnGE0hrOG_-=4HRSN?6R$5mE>_$R zQ?8Y!4Ko4O3s`MHF>$tcNwSqlAGO?#-_|2+w|xRL2xn?pt}cscclgDZ>U~;OQ$y#{ zc*(w`x6~>gYjSEC#XO@cAU&gKY3RFWaYLiZg>X`*2XnQQabM-j;X`$y*7uxt$2f2T z2tP~VT-wJKNBHw98F9LXoF4HnwAMq1a$3W(-X>j8?|ggrE;Ic1mr?iCr0*GDKs73f zZ6XLwWpd_zcdlqvOL9c}fi={|>YcfEOq&e9u>3Jd&Sw7q9klik`bilU-`fC?gA=@5$aPHZ$0klu-abVHHe5 z4$`I90HI1xC?S{-_v8A?S?@aMjIqbJ*ZzUz$#5i$WX}2A_jO<8m=?UTzTD#v4OF16 z1Y3h+m+$N$9y&p);l1WIwF`r~K53q(-Mu^T+S%LV-Ssz*hiSi-4n(bgz0r3w=vOHu zuI*c05T45s!X~KF;l##b;iSl7x*K*XckFZ#w|;$Tb^vFS{W{0&8KZ>Nkkq9SuvzJv zPaUm+gzQV#7F~x5bIj!m^1%uEN*mw+UG>RI>tB?}WqU46v5LTUP5%c#| z>`NG^52i4T!z!2U*FKik=fqw^Y+|+uv{G2V9|2NxfhKQchnR=r#n&U27fL4h7-d! zW2l2`!p&>?A57Owzg&pRt;+TgLWZ*%kb0iS7LTwT_QcNX0CTIqaPQG;sL-&}%%?A> zYLRf|34sGohP;}IFQzlr;v(t~KC-c2Pt^~O6;$KFLhi@6PVcem_X<=Zg=(%}{u*L%(e$2PP{ZYG{OUW9{1)jopPjjVf2N zu1aFoL&`osGc+579JMWaX=-C@St{*`JQYqbVO$@c9ya8S#w{C0nqdyZ32OY?hLxT| z1$AGCp;YIbPDwh$^aK48OX7@ZHmar3x63PtVf_iV=|ePo*L6sQ0< zaXx#26(aLHhX6VbD)6gl6%|} zB=W)5lnl2G&s>2kZex&^jAbc739#z?FYfZQ)UkMvB#ZK08+hDl+g>dmkg@eN2H5(A#^Bn$oz4~M)uY^~mFr0;y4e7fwn3Wo?6lF6S4R*}5Go6M#AOyHv zb)p%`p8NHBLS96pMt^K9^ATQqBPClO5|7*%ml!Oa6^4vNC@DSr^y0YYPPcmH z=R)Tn*B0X-cYJ1652N7r@Ofc#9DFr4f*M`jX<~!C$P5>4ZLJX4IMU~$5Nv8W-WM`) zxLn9zcu>4>5d=g*fPn;=w8Bme3JaH8J`(JcgsqUwJ@UD_2Z(x=-z0{ch^e)Y#xlqd z_R(;zi#WLbVI(6qX$_>Hg`$tpKG0Yy_VkAWyh+0CuywVy&-bQnn33$TYG@hX#LG7)1e=U|w!2RT@kgDI zxGIKUR0F1m02q;7-CKx4KJ73uNb*M^O&Hj-)?U_TS+ktHFdaN*&*C!2(7dGM+<$wc zgVb8*A{T5G8_7x=X@t2r3q5Gr^%OJSy{iblsHQv5eQD|7{own}TlY_OzXOcp#f{{b zAEhYvi=75mmc>1%0qq5W+(>dSMWo~Dt~HLZ7P5G**Hac*^TUx;;8 zu3`V+wHnjImZNrSQFg+Zv;KX`s1>4v@mzo=P-sFcnQ`tYI)a~8SZy{9E~4L)LG)@; z^{Ck5i+h*#lR01IU7iCAFi*JmTBVdp))cj zgw0MiS`J@71Bu(prU#?)+N`O=5NuNiitLW8+>u5qE!S3eHcd^tNck6^y1Td@ftY1c z9Rj46^Nrkq2_S)%X%!qCb4Cike}w zC7nnPG^%W1%HJf5Gw{q1fb!k(1iX$!+=b8dR1(vNtwY>;Mg@DOgSQgW{J8whLFM5g z1wSX_rxp)kGQa?K-f-{M$|3!>#r>%_r@NWpu2{ul7k_cX@fr-@r`FDfq{!?R^#J5C zL@waY4`S>lt1!U!XQf_y*M$n3gA zT}SNL{+a2f?bhB;8P3X~(E)I5HYJSR#~WLKJ_|lwW;WktBv$$6OJ-L*pJ1rL`1|xb z)3lV|$BP9F)}~~Au0(2m$hwUI2fQ~j})0J<{20dPd8IKVYyH?s(!D+UWG^ zPv#bABtZX9o%_)0-1aSM)0X9tIG;Kc%Kjf;}6XH0qe)aCC7XiFM zFfe%jUbsSyzrMrvi=Y1&sE6&U08Ad%w?v1wF5xbv52U6kph??5ZC{}3g zIs3pBVKghM#~lsO99eD4>XnZT`W931(13l_ijI`Fpdmp+V!$pTK$mY z5zGE4(lh-h*vcySN>29C+bj|Q0Fli8O;QL-!y>*gN)x#6=I7;Vs`oDxPwXW+PQ0J) z&nzU+nH~f@{I&a=1Rq-liEOLM?$(O@1&oB-?BH|p#Dk?(UP1P@Y4P3Ax_JLEONhwr zRZ&Jcb=MookKjI!N%^l`RO0yS7jc%SGrvjB*dUSw9UR~4^6Z%o&JL5_A)D9~Y}Vo8 zF0oMXeRXnxfve62a&GBHO7~LDRzHE$&8(4yQsPDRwUW8Xi!F9IMbZ*6S*%N$Dq8Na zyj5!~8<0<9sQ29Q5>FpsuH^%xT?R)(?b)X#yWXP9wnP-88W)8e;`@Ub?xQtk=Y=+| z&)L!P9B4bB=1WDRU^3KEQgwd&CwF!jVF}#D?l-%?2KVU6KCfCx4c_FPl5Z_*4Mq9>Y-zMg-KNeM>3s?pZfaWW*N3)#;9NEd3>w#_fE5tDb2W|p&6VgePZ>C>jM|V9kz`Qed-g73s z;y}{w!0y36LbAv}VH0kBwhwy?>-1A;r)YiJ!zzGd$@l3UX8*XX+1h~NtHp~KD2s-z z;N@dpgny+UMH)a3$uAi1udKbFo#}BC;O!DADtg@GkZVxwWKJ!2FQ-&d-x~d7nlYZvM}4$E|>*&nlO zE((%R3!ujeaSb)!8Xwc`X_DM29aMaktk7d5q_{mYu6hi(IcxQTt7gI#Sr*mM7!T7? z77aJ&X+smbws?K{9stb8+;!RqzhTeYyMf#ZF`Hkbsw!3=u{Y)CLbiafbd zI-1O)Gq|BNm^Pbkemdp|h!c3IOf;q15Ndczz~vMs05Eo?3^7_^r%>Bpo$9gQkdE{d zNG+GT?uMhhq`8Ef$2arbM@;~S9H(q-@kOrqAuW!hYx#Dq921jEmH7^1R&mkNB9i-1 z=0RP3g1@|j$kKQSsCm#V{@TO=0Ih0Oo=e3>vYn1^{U*`aECKGL{CIjovlc|HPF~m%< z*|6{33~X~=^3k{&g*^P{&#jPk8m~ircA%mnsNj`hy}wDAJ;X6uvBCs>r(&+wi-BQ( zcXy{i+v9r$F{%~D!7nb;REX-)@gtSIA=GUfJivj1rJn(x%(&|V6sHV=2^y$EiWmSs zdL!sZh>54WtdW{-tf0wroil^-!kKl)yiEI!dgnP;LaEV)dL>Oz1Mr`UP=O*{xbdWwe(0N`d7O z)Wl^)aohtGQVeC+4JS=63IJa=>h4&d@Vx#iHsp4ffOEx;BIMlelT3d<*f@Y37ldaa zyv2Q!_eKTY1~RmrT2cm@B1f-wk6({^+rkbCtxY`lUHr=#l+1S)_5)4555-FcSmU6D z8kmy9F6^&))4eH=R*TW0AUg||@@bDm@wb5+41KGRUvji_10wjKuP)<2; zTCmp7cnr3`QoBMym&;jytQ>DSzUM`fi(zB z{&}j9mJM!N**pE|nO%#Vi70DxHf4$>We10K&tKjK-KYF`J}&XzRsPoIt(jO0{p|$)Hj2>U0 zjMP!!do8A`m9r0Eg4-!)vh-oXdnYN$hcB|!)pS-IX%-gmWpNuSeJUmVbum5fzMO>< zS*v7ngny-vAXpaT-s?Bdl%M=2p^=x(JF8X;WO~9j$mcp@qm$kFG@!NgJqAq3neQXE z?!ixRwS{O9QM+x84Sx-na<1U(LZN(*Pg%so3VO8v(+WkWk%yQ&+Ujr`U7)~5qeIT# z$=_LRRl!SXOtRv2rfU@}HaKk?V|Y>>sI=@a*sI_6oH)-Y+eE=h6Dp{_H`Ta z%$jt>ZdteifSx|t5YB2=dZCgMJ4#UBo$1=tF;o32j=I+&^CoGz*?)P;WBW^s6Sy4D z8E-;VS%O#dbS*OzWN~ks;IZ-$&oxly6Z^w`XXi8nCsSiVlwKV~QjKcT#_Hjt^CrVF z{Z06Ff*XpO1$Re%vW2A#=yay1>!$0e?L-G2G#GK%Mrh`V;;0w@ZL_1Jsjw zmj6UDBKtk|KZ_6}8)22ZhyxTOZQ(Ew0@D^v;Je5#ceLg3^t{L|dc1khN>%sFb+M0e zReCa@L@X*xP2&4+lCEpS0q_Y2d;z-%)9ts2-= zTUTAYSGQ!hvn(;|;NWoT^r}Tpz<}mf7C{oHj|K!Q^r65%_i*01k8@`kD8C8Vtj9Z0 z8zvhYZ^Tu#3-pnaydnWb;;Qiy1P0uk8`T#KX%_~$BZ)cJhAa$nmH*Hj7=JRj$q$Uo zKRq3{%NMftZJ3!b^CmhqIf=< zvN+XC_eCGRxh)p#)R>cL2IJ1xx5!uCtn>D^hB)XL8A(SNTHm^p*Hjh*IU8F{LdV@6BfN z_J0zq-_MZis zA6v<;9`zwY`fRC4zh=kMdWH}F?VmUHSWpPidNE#hXbr#7^B$;c4LPvca5)GO2Zp7NH6UT$B3B$#1XsL_e(c$K}7&ZuP>C?vl?xn-spTtT<{i7 zI~(_{&gM2=qFW*mibTd-LG$)y$zr#B6}=B#N@r%;hO!+5Jr^;iu|O*Q{&LSHOwL*t zp76R_#Z^MMZi#wH>3Wdq_dAg=_LmJuXumAqJdE((KH9yP?UsNd2p0)RIh`;DsS=qz z`9PWK!hW>=)s3t1$U4&!8ub_I(?_B}1h$EP+A=~z!oW~H$&tvqlx0diKia(K3+Vv| zXHz01jApmn?ufhWr$a>zv!)cM+?_W1*+Z<;9jpXDkx{CaLk&@(LA8~k>ga5piGV}$ z@({#l0r~Tpi`zfgd)P9*-9TtF5|(V&V$}La1C?y6JSVNMO4&E(d%wn4jQ+3~H+YU` z^+XS%q~0k~`M_K#0;I;KX>x`vc@|kF7Wg!kuyXsj`L@PoSxii;75(cEQi_V&0w;jXXUkO;ED%)9!#fco_l<&J)!} zP6Sd?}mzqDQ~DNYlrn}4K&OHfzrCDlnzs-eJNB{ z^hGqZcpw4EGhgA{($Aq&;_fbx?|K8JO1G1!r`NaY$j6_=Ia%NAjGe#O<1uhPbJ6WS zgxf*hr^WVM#SQzT0BJ%mpS%>PIIs?FW$KfBeF0cZ@MLlQzLfV-pENbhapk~{2lsw| zvx-ajOQi&n-C#1pl{UY6|2K*6v#;{bdU5f2Nu$!keiyXUVA?{4lK2+=gytsm6r1(X zeLIhX6KS@O*_16T=-AFrKA`qw7wf!*L4mO@&T-9-O{)>_fuY5$x%PeYQ(8j>lj>qA zo!n;s`o`M{&U=8OE9f6~?11UOzu$16&*!Y2^)@aWrM`T{XR`~ht~B|Advj(anfhS| zzXsdkeV=tR)d-jYLob!GQUK6(P%`0p0ZLai;2aug2nd%zyYry>o2gc4%=#AtZPPim ze4Lo7K{1_ue`V@=_D$jy!UNos@nQ6CC)PxvdwZk*?U&6a`~E9mvb^HWKfHT>*sJW8 zb`tHRG)7R#H@7#rNMwx33}pDYIlUv1%wX+Y^0Pfyv9?gj((sl+zLt}Y#$dBI+*jzW zOKPiDWGvwh9{Wo6>l9h2&jK6idUbh@2kVJx`Q_Q$woy zE!E~)3Tu>hVNJ{>=(mlfjja34A{;~J8(gqsIWZ{%&IAZME&+SvA~is*SP_6ZuP@G< z#Se@RvZnjX)5uuIUr|csfGCCCX9)>RP_hge5;1a+vD}faZ%sEm<)*W{X|)#sbavlD z_bzze<>G9KH1zicGlY=5jt|r@%c(AptTZ+$TdYNtw^|%dMd))0hcA9yU0OO? zGL>tH_u)~FFgR+vMa3DD`N@T_-n8sBJX7Wl-9?M@q#QZ(P!fan|1H9 zP?n2h%7x<++S?I$#)uYf@SPB6Bfl7_y?JK-5jN7QRR}rUPV0T!RTI&nOy9xFZpJh-6;E&MLO-FWDb6<0*IkQKy>XH)>6%DTP>;V2 ztxjcFsfpQX-a5V>KEx%Xwxqcg>eGjH#tE(+vX~H_V_ZUE%d2wSb@swAq%T#M?E>mz zQa6vs+I@ieY}h}VR@?B7L7p{ZJXA%=3z=dw%OxY8;7?<2vH&sFu<^gG<>DGmJNEp` zxauOEjg7qMSLyp`rGRj;-h|L8 z$jwPkVPkmU^HVbND@UqiLzhM&erJxn`C;8tm0$-8O`QYeY~i1;?$5#B{t4)={<+io z$Kwijls6!o_2Ol6{CaS z-7<2~)xxG@9+kI#o-MJ>2*w|4P694_P4$U3T){THKmA+>RM*mu;2~|*g&m{8^U(+8 z=uw~$o1O8CqJX;dEVu~OcbB&aEu?PfpEnM?3*24cEu_@9*G=NpC>r!guRb+@tf?kl z_+=GAdy$Et!twN-0oyJ>1h`vQ`DE+GAE=ie0(KCa3diRO|6Mzh{A{4bQ_mfuuBBq0 zXhmUV$x_xBUZ>ejA{M;n{KL|2P=A_8ho?z`h?S%=_vB})$4unAXcwIGDrP`aJI#K+ zZwza*y=Q^N7{LbcXCYC)Y73e%JY8y~J9h!0uFc04bEJv%dpFl8XhEb8Wq0&kuckgZ{1gV-DD?4!TsaXC$-kLu#AjfHnhod zw-eb*o{!-?{rtSnDdtBtycCttp?eZ|37nK!WcOVQ1}A)}!?Wq#V)J3|D=%bW8_Rb843Xe}_ch>NRe%R4;KK5q(8PB1-!(c?mul$&-h+`a~ zgo)h~23~YjC*3f+OE3>J{>?jKLe zRu0LmI}~Y&L)lk|lopbuD_S?ZT#COX633e2)thS#m;i&Zq0ReU4?g&NQ#FFmXd>!RxF|4FJz zbQmh@dV8;MXB#jeq(G3HI^Km-)Izw`?b;u z)0_9cboWYVHuOUrHlI>EfFuG(?*MCRZx`*-30P_!5Cwl)u;Ha5g$tV-8zvPOe7VnE zA{iF?edjN=RIMmq-rBg_`YnRr$%=p4Q9o~eysqMx*UVq}GU~>1Su7aPpEDgWl=I3G zz=flh_n`*8^Kx?jvGo?FZ-V()^~{rxyF;ltn3FiSuB=f0IoNf9gPlV&FI{_1a<5g6 zG$T!|HEbh-Z`FrKDPD#)H}~DZK-U!-pZhU6h{rCoV5~L#HoQ|gK%h(XytmzAk%HxX z^w+1~B;Me5sv);}7dk8*T?IW`co$^nl-UI+W%%jrsDozFfl}DlIF=m3lgQPqNL129 ziv}g)jd!wleKO|D5h4EWyv+3CgV+tejlKJyRJbb#@$v-L^wluj1W)Mk+5`UKi$d%| z6~6m}>HBrxWxLe}^{f_hr<<(>5iTM<_1*@iZx8;_nUU3IA1n5KCTIgq@$#B-lEW8* z`Z%~wpiD?{#)W>~S;{- zQ?L4l_OQK&Qz?o&82IsYmvhxdGEuzuymI+qXUf1TUn;v={gxG77*lmrhNr~#i9wB% zUcQ7*Vp{xMq1{=8sGIkT4Fdg28ztb(*_*vGdTkcS0dR1u@k%Z^ydQ0xy08_OIh$hD zU42_kMq&_{849CE*EG{@@&aCr85-A46iP`BVk0AMV+?dYgw`eV+%Mix<9DSJy;S)! zr{Z4PSn2+nWMS*UA?$3?@vT;>f|l$!@lJsJxFSnor$6*AUjPsDZBwCCZ_fI-a~(NV zz1FV&2VGVC>Ne5~(YdT36x(b9)){RWj>6c+qTB`d^9J2)Q&LjsUz&c;DCN}oKG4nj z_>&?v#}!hD;h3rJP?g7IB7eX89|*zxxqb;~UQ4$ZMn@dYz78WdccgEltfAg>s5M%P z*hkEHdv0=arCt-VO%$SFYYuiFRze?Ry>N2q!XC!ZC;};P+u3Wi)B9-Z-<(~yWab;E z!T(}+V^lt_;XY+Zy?B-9#9R!6;M8-JnKi_!t6Yn?DTcc zrSSJ>9u*%bITRRM6!^A&pPVJ4Q0~e4%%q1w&GDNz4;Wp`x#+&>I4-3{8x|!cW-s|d zVim~)#BeDq&03*E(J||`v6|EHH@Tv!@$=_5HhRZilyMo{I7(>VWCm!^1M*yWI@pK> z^+c_PZjE{V`p2v0mMRZQW8X`tk(- z4^Dc3AO7r7Y-rmRMfv~%^in=R+P`8SJo;=3x!yW)AXMS9U*N!TOD(ZE+2-=IOJ*db z??_35EN+wm<12veZ>wRg6Q~vd_O#qoeeLfrcfR&6dFQg2WY38nKiT7;oHH$n`N6o!s0D!*%Vnu_t?b7#{4Re9Kt*KJkYEOR21!SvnV&3|}C>5}jaKggfW0)8%s;%D38!q4)7}5s} z3*)%CeuEH0b17Ds1(SBh$Xik#UTUy3t!ZFj2%YmX|Fj{azG{~q@DleFeY_?a3PrVr zn`mKsGabC@zjk5MBhBl{WA6n{k9Tj~;Gn#%BGdb*97O$*czvSfDq9ytAU8d_#Q-ul zSTHi`cB{5mzRn>P*>q~lgK#%*r6tyy#_4PY6eB^+JV+s;zc=`0hp!kMTH(nZ z@tD(fd3jWTB<5Xj*_W9qh^xX8Xzv%O;3G6TS8GnEoVV{AlpXjs3aHVr2mOBY@$z zUGMD@D9+~4(1di|W`2V|c%9U%!+GzDFhj2z&p2-dq-+}NoFca2yl*~-z#gc`mk$O~ z(*jB%0K@S!>^{Q{TLRk?)GMmx<~pCU;KC$|eD-5t>8U1^Xpc-`wYc_{MEd>|+|K2F z({lGLOk@YfcH9DSk!bDqi(PP`e^VD$)xGp&dT*34% zypBs3$jew+e?{$>6VY41Uas0p$2lL<-%4L-Wwt)9u@}${l(M6H`+&Ttw!WJQLSCL+ z>r|vvqKr-Pe%UUB`t&?Ta9aENrAd~OAT77yKshBkpC}tYEcWwC1!bW!dr>Tk-rR2~sBvBdSf$vzJD%;F1776a%g*$AOV8 zN?ce{;qsio$zT{yGE=FO&m@00_s!NHB#OoqQO7gfjZi79@I`vf^7Y}BO58K{#;;8c z5j(5K6&0`U{cU_+hn^g4-&i;P`T8azFQ*z^bS>RqpdS6%)@qbN%0-NpD|SFlJBx(w*rN>%Ofu(S=BD@; zIOlCE&Z=+b&-YAkYr?lGKa+iRRVdvj=X*IUl4!%HQ_8u~nm#jpe*VE}GJ5g#si^o( z(r4(3Xgkz0l~G5*cJi(3&~oS}63&(XGgh?5GbNe&uvi*l-z?S(y8|0- zyH32J0t^w!w;n}mHnzO1mx@>88eS|BIZ7?Cvw88(>w(^=^r(bzPwczw8$`(k(=H6t z<4B#fA9QuiD*pZrdKpQ^IW~bGj=#n?ZZT}OevE)ay74Y$c$HDYj5q#_tu|Xq;Z#u( z9lOVamju|!p{DP<;vK#3j&43_%Ac%%2_o&aS~VHLbm!fPug`1NClV%s3i-ow zbz!Gg(Alr#T=ar!!i#i+7-?s9dUEsnLTu^eeD^4|D6#1S}+XMcc73C?a$ z>P&dkOfl6>FwtG|t-2DE@8i!$LnUQ>@oJlh%A6903P}lbpQ#i%Bog@xk*mMM=gudW zIvHnk8%*cy}e zBb2gR!mzt6d`|`s+D=jPg|4VtsLnp5r~ef)^g6~j#;H)5wMSLrG=y$}a*gdeziXug zU4CO``TUH8QADw^+Qr6A;pY?L3bG5TW99e1R@FpX)z{WVTYkJZ6Y}iYCH+S~NiMe} zbiu3JI+m{!l-h7rs6*EQSe^P6LHt%3f8p~>}1yG9kjR~Tuh)iCZEY2;Goyk_q#SYd5!nJjhhwTG*IV$5H` zHv@wF@t250^i5rk!>IHy?YYc7)TDE6Emw>tty(KtPA-2?`@LSp;hfse&3k1M#7ga6 z{9KLRKaj#voJ(gGBiidd6y-wUkUVdjV8@npGrz`?U0=b6G`^23yx&TVGhQR0dNq4i z3~P_kEEoDpWKK~}_CDr{ebJmezX+g_SNiTL#+AgrFr1y#?Xs0FlSe+MV>U$=oSq)g zlu9@E%pPflfB~F`K>M|!3g`CaX#vx4n`5KEF;c50K1VIz_HBvUd?UH2E15(mLFXcl zNJ@ZAb7FWR0~9uP?@(&M3rD%~CTK`*@&dZXS0tA*)n8dluOgCi!fcHi41B_-;?t4H z<-@BcIVrNvTO$ziHeewHWnVk>#L&N&R|MB_=v3{{PpEmzKMpcDYU$;>Wy5(_$>9Dc zP3g*9`4CtDJ{b578%M{;F+d`{-f&Vl5YbYh zDWD)>Gs|~tsHrbfdi)aW-T$nhW?%)KM`{M7^4MQH(jtFHjq35&pi7x?qfczjZ9xcH zAXSCgJ?gAK{0pexj5n&mJO%q&b$-~d}O808o z;zH2EC`b>4%E96e<{jNHyQvsU(T?-Fj^XsKZhE|BhI)@jWFWb}}=VuQdZ}_fXtRHelH>oioY^6u8 zT_f53S(L?J^JOnza?OAKVCK-7Xyu+@R{ql`y9YiuvvSxw7-_m3Mr4iEY5f-2AABGK z%-U4HnOer*;1CM>{He0>F=tS`Qwy5x9YF+mPg!_S3)7ovKgHy4f@Rd8q3>LAn*l8$ z85_u0&Nb=nh&|pyd2`=!Jubpw+)v^fZIyOyFWaOq<^8{9%qyPjiX!S zpIirUEk1SrjezSkR{F0L-Lyq5>k=SS{=0nPY9a9Hu`%w8dS;j}vpLEBkMV_iKP?$tWOG03+$+AZ!z(;om#u78nCB;AG3%&a25p!8g5^Dhtu!nrLi z9|FHk#pNb;Fz;S^^}TE^mg=q1ZB0)YJ8@*0Oi{omMGF(!P5oz3u=C4IWMSScuhak^ZM{cu;-2ib!^9?%f0I0Jp}A2uZ46BcX$cp2q|n^ELpP>L7y5!# z6hr|WR96uUI8#*579gBa#tVNqz3#k!0E~`m&H53bl}^v&EQ1UeN?)q$L}tTcZL_K# zgD8bW+esIH^ZASY<y7zP37oJ`xYU*g(nrTn}x* zfC9QRzVa;7?I-FBbkP=+lziKK-j75I^`BTg{nLqLb{6k2dS#ayjTSi8{aBhqD*qUD zabp~$tZL}u$h};a=lb}b#M_8aeuPsc?GEXJhqoiSVOFR7q zLLi{go|c=-TUjBt0PR%Fw1C~;zSfdOh)4*;BA>73Pl z@d1gMujC|SC||RlSER4nb!L+gtk5SgI$Sis%W&FuGgtBZ6qw`xMvJitbXXtHgL-Wl zJ-Zb*-bxkGwc8M5uRbr=hnm{nURc+v&5FUl@fDnDZwv8mqu{^^y63o{Uq1)tBJ&3y zuee7hvHE;Ab9;y+RxcFN35B3lP@x}TOiKamW8#o%AFY=$n@rK*eM3>-aNlfc-%*gJ z)cO(U6|Ww@a@r*+ni){hJ`B3tLs&xiht_1x9G_>|pqp2=x?ody9+!N?FyfMW;h2ZGZ+&gpL5HwNe#ka$J$>5|AW zMP7KrrG{%=uU<177HI39HW3$gnGdtiD-O>NSjWv4&nAx!KLCUsA{*iM59byMz)?0q zbK+2F{+IoFL-KmfUN{4ELhdUQhxR+SUcb#&I#gf9CkVBnzI*+31Xw6O2Mv4;Stzg9u~`*lH3CJU{$ zf$hI~J^VYa=|%#C00%4j7r#mBV=vgaJUsv92|l_zZNMFv{EyZ~e(*W)e|LM}XH2pYJoos z=3n9}nq;^Bo?p=<+mLV{5Cg^k^UMFc9{*pk-cbFgrTt$^{Qva#r2(8FQAO)6d=Z!+ zJ*)MT@Er|-uX|wZF1p%I)D3g>6b4NJB9E%2h5KsdIg31ig}AX@+^+pOwWY`peEk!h z@UvUM*ALQg=Bb(joJd~(7wzZY{ri8PM)W7X_&{|^x{I)w}PSvOe1az<=zxz#qhMoy>L5!m6_il z*vtge{=QWKni+N{T!TFK6p^sX(DiC+{?;1bx)4ZZCUhCW{#<+&`D@{6?Rf35l(AFZ z#0H=pDPWN98DzJm-el^iJ}5vL!8|?flmc>al`qEeke1Yuf%yoo8i6;V0Oga? zeC28J!fUMW6}zJV!y&Xcv!(kRHbs875WRV~CW~n9gQ+&!Q5C6veoLpfrD+=ykDfdV^F$T83{2?sR+z+NST$F><3-hV*XDF53I;Y=&rc$W*E+_iJ9HK zhZL3?({Nq6K3zyZmcBVuLx3MDEb_q$d>IKmTo zWm73uct)2zjb9-?9|p+}GJ=(2&1HHSjX9`!VW<3r2iPTPtax7*QD z42pX5hVK`=OUBxL4Jp2F7jjP58CLHe?Rh5Z`&0_@yx(^nX8!a}EzV5zmFIa- zA6=+B5KK1@ubAAAk^SKIfRNx;*;M%%Wv`^!YSg1xp4WEQClP&WyMMio5a+EkBaY-= z9hv_H5mMilFZw83&z$`@{#u}Fx!<`;Z`K2#jSe-BKOh6!hTbyuWMcC{xVK}^hlt^8TqbF%A&;<|2!*FNvC?!WB;+b!`aKlkluho!`?uzgos@4 zRS30_7}ruRl&QFj=W~7sYsn38e&GHK*j?HwhslV@o%#CZDwJ}Fp^y?iY+BH9ryn&bgs21IQ6i!%qr*ya7rAtrOt06};6isgwQfJ1Q*xhN8{-)QU{=OJB%{ghvHY1QG6UHf5^oO^Ew5cq&*NP%ue9au5=FZIts!^OD_L zTFOr{;+Om))(B!4igrbbWP5p*RdWvW_=VI24MgyME<>-;vpqe#=~~ln1aqvZ7A2ze zbyIivCU=%I2mPDRf(=ibhd?!VG8@{t-%0)~NtwaQnrF<%6uQyn=QlBMXL%dtMAMhb zRgwSY&AEzzXuk_f{+sPU#xN$PJu+Sc|k!)~-k^RUxHH_raWJ1KcJQyR48jX~=A)Za)Q>rvA z{N+l&lVy?V;?Nhr_&B+Tq;0g97PO6KvN+J#>=KioDZlcQ>T(0boa`jJ-4->k!KZqM zSbniJ-IOxJNQKIaxUejTdz!Lv-+&Cp08S_Sam!cs4dN2-w)2o?kdrLr6ff_{!cuI6 z3X73X9qcYMa5ZEpMezRcwDo$RAK2fc2W+?ZkBESB=0gJh`6!-a;F!3))rWUxU>*gzN ztN#L+vX2&%d{Q7AuPt2%Ez>NU`-HSSEB^+US7&qmqBYR==nuKTHhXQ9V!4Yc{pVkC zQ|c;wd{to^YOgMJtleKl(1)}rl>Io#x{U%gY-VtWLdlIL2xV1+U+EgQEO2|s}F5!&0OE$Hg4nPXbE zWGaIPQoZzNs3?56J`uk^*?U~FmU?wG9W_t)mYIJ!A=IX@6^9<-mpju+Fh zo*Cc|tvmJjW!~~OW2?NiCk1Po`D!Vq=P0imkLvD`HOf=_c}8#4eX+ZFntS-sgDQH5 z`bZIxgo589*jSe?bmaX!KL6o-Z0AZItU}%r^hq`g$?p=XDE@VPFaLkh_TJHOw(;7i zL=q7}^xh?+M;A4S9!3eGP6W}SMH^j+-hv={?`71{NAwoa4Wo|U&8VZk=Xv)z>#T2| zv-djnTl0^xupTqd-1mKz-*ruhl-~RrznE`*#720L66g{y$mw-*_Uw$9+_J0lyNz5iY&9nTq4^Dfhc(B*@iPkMCV>h#|_D(TuCI zMedWD*d|;?kjId@#H9x0QZru}kgbBLcdkMr#-(0=ZIlSPuB`Pkua4q)I$sluN6#pf zH7&;s!@5=)H+z_JXnix!9N?{8CF%Yl=pW#uJ8Llf30o!5r-)jx3XMrpEq14pW~)Mq z9G&aDJL9y{826vp&By9Bst0rw`v}c!S9#C(X3@6xCjvLrDIv3bz$50F_K}0kpYryD zt3g72mnN)tmfyhI%CEYngUi(ltSDMFL@u%{(P!p-hKj}8Mit>ABcfaSP2(&n?u%tS z2`|LEEpiW)l>7vxF(GA;>uyoXNmYt{12R^DSn&wILp-K!scU14+wvAznJDuP=6-*6f}n9ULk(qtBKu1$F22+p_SMCYphle z_@83V5l&`3usom~+XJvnMh4Zo^{UAVo;;74)cG-KOM;-p7@n1)wXxlm#$j^HV&Oskm21yu z;L0ZrGNLSgRuWDm2&0o>PCj z^Lf0n?OC7nUgcziw3uN{nC=AM3cRk#blk*PrA~o$i^f1+FH~8}=KjIIjg_w11Rd*& zld=bZMx#7v%J83`t0}%c+Rlp%3Ibx?i3KM**1a*{f03(PRbSHq_nk770!VN97unM8 z+rL$K0^DSaK5r*8`uzf&aG~$L$YpO&GVYRMd=`7iEhSXPSs5m!c*(R zyt>!ddDakGWsAA@mQ%E!3vJ71yGuX7u-2wSDxG^lkM{w#axH*F%D#A4!p@eK_jl%J zKLk;3;FDimZQnAoAg33AUnulWpmscAO?`Uv*kR$ay7^&H^KYvaddrWo3rt2g$Hn2Z z)LY}j?}1g;J#)JG!f0s*mc8n)Jf<90E=ADu74CE3;IPyF501jN1UKbqkN2aTVTP<+ z2kx4#oOp!g(mGl`lC2*iK&7^Yy9RwX?77vdGoen0yY;B()*DXal;P| zcsm_t=Z|BRrCrPvR=_0CFp-9|jUl87F_%C7@7>C8qeB7oWMJG(NK_DjIDIKz_r2f1 z3<^&<6}W36rLFwp4_C1M4PSWGCNxxix#j^o^tVkvT}9XAC4O}8(gTT17|8mEQUFJ< z!+!yQ1IF+5XZd*C@{<#_MH{Pgu|K&H zv}_G;@fMmNI)2jh>#rVJOmfP^QSor|*%`$k60+8n5?PTJEs%_p^z+xis6{L8Syck} zux~?k0zk5A zQymPRGMsP);$n%d?B^J>{Fbf5l{6YH#czApstXg}CFuz}*64$~V~WEAP%H?`)^DS8 zxjp)e$^#v}v5$Ga`nh~V!X=|2djvmG(!2ks_WnJqHIMy=mn~;&A`6DQ5*|5)_17hi@@q1> zDE4PDX~MI1@sh2acW8H&t5Cdw zaJ~_=XR&y&6}kKP@Z(2}TI6+-s81oF$n$bquCO^ zx9_GyN>18?^O_w&<^`ajzuCFa2xyyL-u(6v=QnqJ5dyac+pre`0zX)sWxvyp;W;U4 zPc>)=Dc7XvP9Lt+)O~-Hu)3)j$^Kx4(v#)QAa0_`QK&x)1h21l1TVNvy}-WK*j3QB zam=*dLVWmfW@Pl$7@oP}C$R|M*Nm_%8bAF(_Xx5-8d3{Nd~>giox?nT8Q5@0x&&(2 zfWfmn9_#F_*&Flk?tPO^dXIhck&w>zYz@cRFDcQuGa}Y z!@(`(AipO~(F3I1fxELQ?MQ89C^7m`6<~S%gqd!w#^zM{v*)ZHAMyOTJx+T387I%w zO@ZRW_qDJor%;D4n@zEj5x+;Tn&yH#6fWd)2-CR9{%_#Gj(`$CPyX4GRqRe!nDN*$ zdDV;ZWxm{W>THPK1#m%MBY`3Q|4STL<DD_#n2-=(Vawv@(}E4iLwNM=@m#h=pB_yd1GMp;}k{x-XQx zuI6@qer~o|B42pzG^alz%6Mj!DywW;Sbrm<;UAil%r%8h#9X)WT#;oa*v4+rR5Ck{ zIR<$ZcG-k=#3=l~$9?PA?ih5lCjL~nrceb^O$;<$pShoO=OJy9|GYf1B43|Zp}cY3 zPgT(?;Cov@{z$&@{GM3U!*%Wr*oO^!* z)ZlchZIre_g~mw5_X#s%20C*)K1Yr2=AU1ie&MxMNNTFgtZ#&F+K*4BjkZtMw+nwO zF_ZhEGC(>|qH_Kq$o{Xd_1XcmP2JpfqrLQW|6v{V7gn()huMD3M?_y;P3QVaJ_;f! zxK_D(#fvT-t8NmO_Pg;@5Ivf&im9w;ko-bp!hWurh>rQDK9+vS=(Y-n?XvE^4u7QY*&`a?qc4F5@L76s9EfgI41lJ|Aso)j2I6C zqZ0kySM;L5+~`0}Ontmyaeo@_X-c#||DrskYE6^3JHKXZT(1iHWk2uah$Hs#;BT-0 zz=6}z9 zsT1rUz8GvW>F91BLrUXmip(2iwTKp#U|hGfo@865Jv%W7TW^nC0@L>y0iAZoj=%rG zN&cbv2v8TZqyZ>=0E3I5E0?4yH6M=NoH=m=2S)-hZ?}}SI)myk{hFr65`KMi&isbm zk$%M*x4Xe^oUY*DhPQ@!ao^WdW2S zj-)8_mo}Km*XOp@pXP?TX{L>paZd*m6Vh_&?W=#t66+JL|KVv}(}!~h_s_E?D{C|Z zbR9MQu{VYorWMVkRUi(=J<*p+uhyA`qRs&TI_BQ5#^s2%QJ z_=;iG(Yig)AOZRqo!vUq1rwuAccvs;T2&fzVX`C~_GK424w@=I85;lPdsBm$fbI=B z8eBEldcX=SQ06!<^3U{HJ6-n-Z|UB}d5c4uV7ZCeyC3ou{Ww%V%7Q>R)@eACdCf3P z+;?3t3|(&T?K}fz5t_H{u!}lyl_#%>XIb17ba-$`5PjeE9fm)qjc%ohbgz&0Fg3UP zg@;U`Ct)6Z!P+(n;UOrYg$Gi!wDD&i^92>ZfTG&fCiQAkSokWeV>chMRk6pUYD&i_ z=K}|!EOxTSum)pZEu)T<*R@TtD{ue7Sq$J!w|5y^8GE!y5mf<+>t13KT{D~Jsb6jw z+%UeaT@{zw5x-+00)zlt~LqkGw-cDgs zhA1cM*-TKEQEzDDXFA)a$*R1TaIsuSYKqL<2#y=MK5rZVZcBF!yk*kM3{973=}nQH zF7%1>8EY3c<&>I`%fN#4o;$k685DZDuhN1N>YQaM;j_@!`1J+#p^Ca!^s9=mk6z*L z+u%Az4otVnSo0YLY z?M9nqPqcBbibWpW$oUW!rSqp+eQ6E;SmI?|+KGcw#$}sElar zU3$D`{Zyg%Mk?^l{Ds&4LvO$2x&k|m+OG2@R83~hK*j6@&bmQmJcbWXs9U#Eslcls z(WRxuPuF<+?>k3hFrkiChG~ki&CLi`=qkj4cfGmkW4wIyVSkPu4F{S+{=#&;ev{MB z4*<;185N1+E>uT%%rr0reOC_WKZP?%*EOvJmTNt?>w z`_P{xW?v46sa-gnnrcdkK5F-RIT7V~Jb5GuhzFDIwucA%Rws;oU@r4$-=+L1OOk9Y zdn33G+913G#fY$I$qa|3Ul=fehL(H3B_3z_xx_EQBVd@YkV7=f)Ipy&o(s)Qwu5g6 zp34lCXqW41F}0pXG3CUh+w@Y4?QZJM=H+t}USl0iZP@ws--Jjg??wUT>aN#XEa^Q` z$&h!9*#hF5&8MQ}AE*1H~ZrZf8 zv*WE@rmKdjrOgZQX+9Jq#*CSEAQx7&STy!dmWH;pnQA*#oU*(>B~Byb z8cMP4VJ3mDJhkc8ilqFAuNo0u%JxGYNBn9P?!>X0r2jS4YFIsOqS({X?(2L&edQ5f zigJF`@M|52&k#}#iB$J%@i?_MRn!kX{=13m>Lm5GODL73n}fj%k6xd5H0nmcHd|5` zHn1NHoY5>1lLmiY)qgD0FQ@L^pI7zgIWZ3_7aInY&qO}Ew9WMV_A)!t%g@K!Pfe^h zrAPB(1$`{_+aV{mgBV&M>~N|v-ok;TesVS_XQZ1(08u3b07h=tZn(rmN8M^2qAD4o z4f{id|B{WLX1>)!bbT$$dlPPf+v}Xg1vYXC!C#(JZRPw5H#7w}{r)z0X^BhSnCJUd zoABqzE9kLb>UO;z9WO{@O3p!Mm+nWqZz%=ltW&&v`s}o;D;%(R;6~hLCl1htD5`h!7K}t5bxp~!X(yMWV5ZG@!IK^~@dpc{c z;@@mnhAGJ~ZTJhTfzuI5O+a-MiP{_CSDpUiE+fa8}&yb zIfjydH;V$%*Y_B z@{Z+F!o-_f-j}+O7q&C25!LxPgU!PEvMv8Y=7Ju_=Zqq$(!PZ$jK}yrhA7v*aE|3( z6~DDQ^hV;bt?!JPJm&>cKITh1P}hs>~su+p{DgNTmng z3E5uqykUR3zH;^6j0Gbb+V;FS)412DAvWd{HB0jppGCuWfo))4Zx&zq94Pj(%Ao5` z5)F!3O<3#9VxBmgMfIm4-PgtBrRM;3l5^hC*?Xp3@&7G&hjobMrS{-#A%AUvX+&Kt7?9tmxx+ z77^3NZJRBo`wd8KlZs3K2Pfwdw4rAcA|9lhlp!k4SUfOLKrh zo$}QA=39T-vY9x`UuE^ItRe8`C8m#GRIbvEDEE-sZ}+`^+ocjP`(Bp$28ZVC^%*qx zbd(A5`3^~ye9rBaNj^wlP}Ij3pNvD#cnSTEihG9kO6DL@YFm3q-@;;V3yKI0z%|e$&ZXbLeY`N|%Z_ll&5! zYe}TMQjm5%G#5(wlftNhjk-PEmcI>+`gftFhTRf)_ca!6Ybm>ws&5q3R;c&+e?B_J z1!Sp)+Q-meGR%-PeiFM97zjQz?a|}>#^Vd+muJK|Ta!!e9GzJ*6GTx?)|I9eR32+X zFW$_$fm`OQl{JYpzY2jLCIK2_ueAu8EW<)g_CdO;Dl|&}06GWT@ygod2;0-?>}mtF z(<;O~=+BuQx6H8q#2I~z%ppO-BbCVi0MhY#M^bXRJNx5H%ky1()3ka^vMaAgcffu; z{in5#<8m zGMTu!+s-~r&JdZiRWM1Lt$Ep;Vu8)%<#_953Q_J)-wt;#T&ZLKpnR;$nj{13k{^d* z_F$N2I&L-3J*T!d+&Jy|O5dk#ik&>SR&AJbsSXB!(_cDo0LTr>u(l@e#wq`rq06I& zhQ^|cy=|WZiWuuv20ShI*kLVL(kx2b%5)u&et!h0HTaa-rg;$MdOn1C-8ZDbzXFaa z%L+`PN&F79@h(U1PVj#@{k;E`)8FGz0XTgJ4nI-wE90TD4(iL4rZc>nBNL7&fSFLt zH!<~w)F0CD-(?7#SyW^@4=Q=+oDjn6J1-)?T z0~)|Iv1`%NQWIHZ#4rCQm`t;$*>N^d@79kujLb=%N=MQ>S2Zux&$H7&aGnX|Eb`r2a}DKqsG&e{Jf!YC9&>cS zunGzRKa{evLdD2-(~5*Fj1V)g!H1HL%G_R5An>-(dRXla*xkR|ao`*`GMth7zG2xwcgL`Vz20 zTPxR6l}~k{t8S6%sgLfdB+b&$@rY}I*rxO}gnF0AXU>do36y5su5Z=Vko=XrRe5PX zIz53eVyNpalh~f(so`wfRI&Ad$z*`WWDGDxK!Gh+9Cs|}n-w9HUz*WvvNV70?&#xU z%DqSX)?3#;VcD23tvWrl%~s1e{LO-;p!LUhuC3zz-Z&F^b@i1Ns)!1V z^)TIo@aBW4v56{UXn27E4(+aCjn6j-TOcdK)l9uTN*DWorrN$mL zP=pm>)4RP#&NfpD>}JFeEw1Ekjj-le+sXw2o!UGBn}Lr?)VMzs)$W+bEM_dw>uE`8 zc9V)*{U0a$__A2CGtD`?z&~$(|Eti_o*Iy>21Ed+I0|=)xM*M9d>c<8obm3G)n<@Uj8v2h3*x9eH^tYdpg34o> zc*nl}?kBC>+!P<>{tZiGg^zW#Q0h~O#Y{Xl(*@jDIst{g@dY*#{oxz}wy*<%(NT`K zCO|e|9PTCJ1RB{UEl(3evvE3KZk#$KV9=^R{d{_HdE$EE7B2*I_B<>N%I`s07m#!l zZFCWU19@QVWprMj4M!cU$aXGB1~e=XErO(_@=eh22Gow|uKtDv2Z5mPxY&5uvAE3i zDNsUtcsCCi9@aCGVbKEr;Ml&=zm=y4crSg1>AEGX<> zzj>3*8C}x#^OSpjJ~rtX=yVeDL&YfUr+}qE$)V;KmfAPrhmwA;KnRhOt=@?B7RZPe&=gejz{ZjdN-E(A3B4uCad&q)9oY%Q%I&BqejqavVxF z-dQIaXrsUcX4t&zf#3^g#bBu(OV+GFqJ5X& z{;TkNsR2Iw22*C-=jw6cMM-s9kv8sg(-0cEOcWgBq_eoUHA)X*1rw<`?Yq9nJpx1O{+Ax5VzSL=n_`7R9MQJ`v&psgm(HV%WTbRd1&^280ns)Nxq zl(*7DiHdVGo+k13cR=dzi*gxaDsPS$9u|1S!G_>3L-vQDqxU(x5|+^hCvZF#=vjss zVrPilPK`Tl#0IH3vQu;Q(AP~m6J*Z5MZO4~<|}T;>UP1*sA`T`ZZ~>zXg1j%4(v;l zdr%BP;<^S4?08q(UkuR=^qCzGy*GGToSYyP+|Zg45H3?{f{1p!>qR+e`mUsVMEhA? z;_Xh~DrZ<4y7LrHM3Y-6zE-SUT}^LkKicv+vG>VNUBS#oe7a0;O|LuYI4gDxjg4_H zUf!t&@7Rzoxi91}%L{ZqAX-@u;QE6xD=fB^a6%qcQexI!o<93YWSMl*;Dv`9{0|O7 z%77ww@2dB2oK*otsr%2h6h3`pj|`s=rTF;>|Ao|K90VhuzEW4CsYP0_b0 z#~^*B^?cXhAWcF4=G8VSPpWZ4o-$?Cuf8U6bItR5ln8F0`FwBtGD({ap{v!X`E>g# zd$332+1|GM9SPcdXA;&?*89XxXuU!!N2M|;R5TAtSJNpwn&9^+w=vbxVYNB#a42$Z zyPLHLT0eN)#)nHtORWgR^wc_eiA{IxDfIQO+967|4E)-qehhw!wG{XhxxJ_t$h53DaB}?D2e(6sD{M*1d)8E~8gij+Ws?J`NnXZ~kKHUNQh zyHBb>^ph`Feb}0XU0L;+l1FfJGu@KIeLH;3P zf<7DEt>yW+-jtN=r>DdrS)}owr{OPl&(j=olz@i031#PQ?7NsJiIWyti@tm3x#*(Q z72~71#?BVO)nP@9NK!NhHBYswWqSH;F`FyndfLhI+>^DQZ2CJctY?ouf1_I+Rt)v4 z{)3L0!mf@~bw3**p(JO$k!%f%0GZh%I~<%Ynf!5q?7to2ySTa>BC7Lxpr}2L)Yk{y z(Fuy6y~YNhHbQ<(-@F-@Dsw9KJ0NV!(&DZ6vTekT6G$&BWwge0ZJi5-{jS9ZuV}Vf zqmCG`etB)<#S{MXPCT`5*WBKjiq=^2=tU5=5vM!KogX1VZxT_S2MqASJ8%=jVX!5AJJX0PWeEc}k>hUm6zhV8Z#)vna#pwcJM{+W9# z;nAaR7l(R&b3SRii-TVC5?^ynW0(vLXsTVwv|C5EU2K0ofg ze{dpX2}NY-{6~---R+;22J8(a9vLx+GQId?SIyic_rUic?m$KKqQBiY<@$kWIfl&; z1MUqVQ)0K5rc*>aq&oc)78M=flVf-P(N7*NZ8C-n^kQhkF{3~;y0nl=;wVt-u3iAK z$GJH+nOCh{zd{wkX8j8Kz1y!Xv33CuA?hf`DAywJZU=!cuRA&8^M-1kA{AcJCCLCW zTb+9`pP%&pboxT6&t=~yg9DK?ZM`k5KML|LusUV>4ittq3_JAPjQ<^bp38it#+n2& zk@QKsPCt*p4zI-pnX#c$B8=Z@D4<3bYLVFF4-Q#A<)V(PKVCVP#k5M5KFBo*8hVU3 zB7_BG`&i*T5!1Mzf&q64+R8o_4tMVeZ>gBsD}aR* zm>4cx7U}U>%e-TK*F*2{@gRYS>WFwMF093|H6KgRZKNFeLQG;LIo`sl2{6n`7!iLS)TY4@L+|TVVpwvrFi`|RIld^ zRbOe`u1JdI14Dw@lY39l*-;m~ym#rvMe6KMeB*;Jl%B|*;)0VP(8QJ94Z;4YxFd5b z%0|xweZQH?s!@lpPgVC{q9u-qf90YA!$DN)A_cQi)yd9I>(cm@tSC$ zJ+(4)r96`aVI!PsCBuknn(M0l&`k# zWE|Pz7>85t?6|M+VzB|dr9Y<5e`uczI8sg~73P_N-Xius`!XuW^(Zqi8iF(T{Net^ zBkqn}U3zs-8B&EeicS4V%3s zEfP%Ejp5`FFD@MQLk9#ONb%ZezHO|#x1}+U_;mI1W^nx+Hvw}I=)btRm&O%PaD4Jx zb^}_@f9;=-g}3|p*GkE`pED3>wcA@$Hd z+5QJdGh3S)zk#Sir(}_{`Z z@r#x2Q*=wySe`#^m0Z{w4SG#HJw;|jaqEzRhUwAgT21XN{Y>z8X!nBNET+vDg>8I@ z2DmgQ5>B7tLo>55ij`ZXzgIK|#-KRR6c4qcJGskut$uN?H`}w)|KJD&c@Ou)B4-St zI5wY@;xG7CDCF4J@T7bUVr&>WUxDpq=aO}HC1TEQqT_SAcsRR+I^MjNO|jeF#1Mzq zmt@IO?Uc>9mJ+&Jom9y6bM2~%)AW6nt}_!=?fqc0F&?9|;b^&@b4ih|z2#z3+Tdt! zlXcU=@as=ievcRfzXN~yxY^)d`@vPJ(dTatYtpJBd+F2_^}iyng*j;pQp9Eb<#T+S z8H5gYL3w*iOw|~o45a%mN?D)jBA@H{$>dmt{uOS<+0iJ+q{`FB=0AK4;_Vrk8z%jk2c^c@O{&|N5>0dfUF14#uV~Z4aFD&mgH5T>&o_{U_cURTJ6II=e z{KL+{K5oUot1XgM2X-_2+kGo`2p4GHSJmB#)_`GPNap@OIP6w-$)a~c(;MTbt>O+9 z`-Ss9e(NPknIM5am-qpIiF^0xjDUbZL+~#*0dsS>UJ^!NwKE_I;&)ZQ5CiMZYAR$AXgsg91O+RR3Dnwlt5RQ1APv2ik6 zEK@~I+@Ro7Vq>~0?B>erp_f=>y|ndjGrZ~S6|st3$2Pg)puSR+j<}F?^iaY;O&pnuigl(f@q16%iR*A2QEeGxqDyb&iV0r ziz}2BRX2H=Mp%c1UR$T&UPKSGy|{U4;$Mr{7>)6@wYvUvHol4~_zVK}xG zaFHxMns`E}2FQLqo@ij%e4k0ianE;|e|T`kaWIECP=>5{pC2!fr%Hxr4`#-O32nG< zw%3Tvp5JIT9u8zrcph)Car|qauh{j+hni7_u>HhJtdkkWpqGEHRc+=uMz(v9$Eta3 zBWdoYoFI>-Ddb&bh0u8tULbD%E1FOC>L~ER^J{S|7!)2QRS~DqpH#yR} ze`A$L->JddrfyT1WhvnjzM$Lu!>~;A^KMiJ@#_tZ$|jA&{2Bpv4z{*fA%u*|K{WTx zj0`If>+WI*_7Rs+=i1kLvWr?TaaW1wWcx3IW$Eh2Vwyf>FA>6##ruw1>jF+p{=HRdRkc4#;m*SK(N(Gvbh)TVUdX+N7_Q zv56}eT?e)efHRhT(rQY0-oVQ;a_B(M$Y$zY*}U3i8DyA0rK#pYR{ps@hCblIDN`&H zQA4PVLAQhE#fL^ikl>uK;1}*J=ix6gXFokfcK*SsYm99GMS-6+04&`3dushmW zg>zHV%hTS5sWXE7dZ`H33@>JUF&y!QNY#%kzIE4j+jq~=VSVY}(La@)`urYEcAqe& zLwS!J^nfwYcLLo^6G}OcWi1Gtp7{dF*(l7aAyN_Bfs)MpB-o9!*y}DlIO=gNr2$L> zS52RK?jJqPe%4_#8of-5L#klqkwrSe?r6dNnf%@RbG(5N?D}QcOm)W>KhiZ6M=+f7 zMhk7pJc1t9Zk){15e>EwCZI&H$#TA8_rq-Z+0V&ZLUDKfpWLPki#we6SJ}@b?j@*; z^AzoAKT@I9{-Mcw9PFAHJP{~^kL9fLA6;UczR}3JLm=tnZ{D^{AHHava^JH(%uRmn zaq!q;iS4rc$MyXr=86z!sw3ICY+!`;hQNI_#sXy>Q`x4lqT#*4Cw#y-eK$^&D7fBI zapzl*{1lg)6-MD{8J$gr?mtjPm-o;TUIcY~Vc-T$_=58mP2}9IN^I&(=GCb`X|LRu z%q(`q({8=@;|FB)Hm=?Qa0;w-^zer>JrTiIBN2N5TiYbmJd8}8+AuDmwT5;>oJNylvuf&ai!Nv`@<_XSydi2TSv~EXg1-hO~8U=^T z{xkErmyTjWy;2rXP9tp(GyR=gM_=>*n#_G)UW4KBY`KUQq26cpi7-Ot>qR??N8x9i zhwMU%?C$U|FQUEx;oGgN+|5X`O)vk^*k5PsK8WK(A+{cg*@%y&LvFT1z%h6`UG0F| zq4~;`$3aHTu0A0nVdD0SBZTTV6gtq7mG{JUV1X#qLwA5Nl2{i@wC=N1p1XtWOLj|d z3Y$9*{3fGIqaDJzZP3`rz#W0r_T0ic97Jp)H>QZsKX4OIrJW-0;#Qsp^A*SICW&+U z*erR@+|r&J6?EvHEL<~%CrhYlF2t$3ot()i0dl@mn?Q+Q!roTI@z@`k{Ycq(hJL3a z{4MSoe;&|tL^v-G%hOG6mk{klxRMl(M8-XnNnaU^5wM&fnJmP2%^%PNUG48-{f_Kz z2xL($@gp@KOv-*1Yo>2!R2DVb*R_~_@teVW1tL%@;!;%ubN{^IM%gcugT0>lA3mOI@vWzIDDcY5DZ-}LRkKtk1X3q^9{h7d((XZ6k6?U#y@n)bxEL9J( zq1?>aXg``ycZ5}l<2n$iKKgb9PIiGl5#(RUatGbT^BvJd5qbpNF_I<+xyj)&B@(S<# zDoL!!5CY){?p=ylQ-AD~=i~LRh*I^Q?)CIbiP%&&inHf_TixCTwsNH|4 zcFxW5KvvzeBc!(p**2C-btnQj5h2+<#P_WKB2M3LrSg4bN_D&YB1^JkrjQT#bj|wj z;O0OfQLmr+8sLtF80%(>zgWy?GW3_bYVbv&ItT%_b;>|O1Fla)akJz9A((U2?B)#j z1w5dKk1=0CCZ8Ub=vsONs4~~a1+ezaD{sb7xws6p5G0jb`R#Jb_~cH4kwP;0Hh~ zYs92r^}I|mv+9KZjnH-am(VSDjl~xqyxNL9FZW6YntOlU?Uz)^L<@4CNj)^7bjsAM zXgC*$iZ-f?F8q_8V0SY#gc#>=YiK^9STn{C);4m5rMDj@Rer9og99|`eLHN_`5am~ zO2ibevxBUSu6VG*%vTceX?k-KrSJ6|Mo8Dn_43m^E%{;yJIm*7BL78bdVuW_gRdUe zb|s3R?na;{PB%(piq+xk)NjY<61I3gedIx+ukQV_wu7x5m$Ds!9v?dxpQEvIl~}!l zJEo%YN^FPjx17oP$ETMegKepg-^QQ+QY+8?)pzJjbg#<#4j)Q*(Ac?5X0(9*fi2s7 zh5P8fVtqX+j*=Y1YdnhbHKuukm9{0~mTVMpb|vJfhjJ64IqBdwnBQ(Z__K^=p^xG_ z&sTZL6gGk%p2Y6A$^K+!zO-2WJczP^p2jC9A?@k=Kjaq|8Ttg}SfW)(1?8B34y=*i zJNn-lX8U8dbI#jzUkXeV>JOY3TgK$@ma#usI&?<>V71!6@;@%$}KF!?6iLnRgx}WEey>@6Py>pvEys) zc-I!Ftyp1f1=O+kM_Zg4Tru?3;dfC2YFz7bo>+1rKEe*VyRl`$Hfzs92-*1uG%RlQ zh|&(B%{}UxQ}68;0==nE2oQYd@+@qPDbIV}W)&$i_D}wU<0wmMX67q2CPN8PQ%u*#rk5jaVc+P&8Vpn! zx`|PO!dxJYSReN*g4K)e$8h!=YJ?2!Q1vAu4V-9a5v};d%$Tdal?(T~Vk*@JUdWor z<-s+J2_$hX8;JeH#`T^bCI>va5u%KGqCViKrkqT@{&D$uasbcM8N<0Zg5ynfpn%d4 z`rWu(=M?N_)tel(YR^rr`O5HP!l0PgwWiW05ILECZR9J5?vId>#)4Ohdt&@X&d3G|W@DOErJt^e1^^!wPo^BEv;>0(9pHWnzg*uIwNzb!b$m!a|> zGo!gJ5Yc#m4eN|6&SdL}SGH@^unyc#A&Nz4l&&yUM2n} zagZI>=7~CwJW@7;9VCkx7jQ%N{;1Js7e&iBG~>arXRCe+Jpp+Bc>dG&BzIHj zrF?VI0t@P;I*OA)TwL=e7?P?wg|PwQ`{uS-=CNJcTSms)%r=o?;BKSsiSH~%@`ufR z46GwO5>KPXf0Bw)#X0VI`2wDeO+-)X0z~Ix`HkcZ?|x{5YmQa!r1|lezViD7-=8V} zoxPh1cJlQZ!y8~~qzKK$g!L`aW35mTZ9QW*oRyHjYeSbkWi=#UIt(Bl{PoSJ_l1e zP4f5PotKe%(#{8mHn?+u_L5BqT7lyGvW+{s4c{7|oI0%@*)Z%(di&^i3w5sH+ z@YbA=puXi=fMtI?Sa8EU!7_8lx?5*lm4Kv-cd>TeOnu*+arr7j=$T7HFib@p+=e4- zd_cO&{lTK`CrCmmil?jT)@nr{4C(tN8-j>@39_xBnT-@3r zA0+fBR;SZ^gs&cOyc|^H8)4$WHg=_CQNoW4ZVxI7e!aLuGo+7)1&r&9+Xb zi_(IIY+fF*s)Dby0mB~c+9#~vYN^{v32!RSSC&r?dc40&-Qi`wvA^VqfPB{aTO%%& z_p|u1A#i$fOE+@U+yR4i&rDhcbvh?2qY^a1+`Cp-r|y)c=Ti@pvWKEVlXWjFK)Smi z^W~icnf&onUP*;X1GT!i3vn59$9K`)PmQOthw0s*&#(r<$!0IIy4-D$_MSS?PpaLl z9OVul*>6YQI(5BEe@NfFHsxg4NV)vBg%6?c)O_4#5M6VoYn9@I3g6QSF%A;%2jU= zqRI2-1W8_T$?WGQXQNP%_sv=?_7nLDB6x5|3{ooIYc{fUu5M*7%Y9xe6UP20qnZoG zr)r2ig5Hp2Radu69j;c_Mh{DkG?07Bn*AnH-RA~QpLkfA$*!62>*_wQ7~K}zJ@^5V zEDQ8eia;Usx_gOdGDR!opg{fC^!H#U?#zNX?I16D+ABD`yNf>V$>J9)h^&*QNvUjY z+QE3cLGhnsNFAO2SU%pNDp<1vP0ak?QqR6m;JuiKh*>vY`F(oo%0esI0|)V2`;8c~ zZllp~tGS~2x*Ty^K3tx2`%PN7zK$ZOpZ$YXN@ODytzizdTM7L>x-bP^y|jolcX{`w zP&zMa*Dzqi=p49gpe^1X0Ns>mS>lX`NAD*oDBH{nnJgsMH73JH8{8SdGHy%0G*9(0 z&|E$CbFn`?LzFLK2fPqKYk5=DrK{>AaXJK0|Ft#5PK5ZigWmM;*tZ*wa*M71?PMve zaKA8bn47PUof><`t%iO0CjRNstfi#1wwL1H1hezrYQULGi`eUje-q57%i&@GSRrw` z^W0DLTJL+i=i`I!tC+sF4p_Q8r-nq%+K=i6)uh!Ru4FOX&oy=^>~z4~e}j4#((w3* zMM*4-xAe3|aK+j|5lS{ga2Xo!-fwV5S%e6cqPu(v}cMuxp<7HeNJ$=GB)Gv5B-0S4$K?(VOB zZ%BBHuw?xP?+j;ER4cX(HrqHYFcBC!<$L{%A7J&I2ClvO7gYL$v?#z^WjGg;b%bSTrO2Hx1eYjjTJNrHBM3?kZqQVx_Mdyl1AQ6 z73bRbRML6O>io3*ngSc6U1s_l^feS{@h%`zq;A8C4W7AukzBqO#-KZL#;B?$kNm25v-qlw5WfPQJfuo77kkw8y@|4stdC{o-k#*`a z_O&IDL$#A$?o@zlsWnU;9f;E&)%w5P)&MvAtM*xDQ@n(l2{&qScj|r1qqMspsE_hl zhlN;^K%AEE>{{21HY3LX$y_%3vYnHbt)+S0?s9$B(d^i?A)B{7*sMVmAxt$VgUc9- z*uxqiSs&KEC#DmTtT3PY!u^pKZTu^}pSZ4d#n@kUoOS{zuXXED1Bhy7ltJ6w$%;05 zhr6PC@+?ggy{)|?NctfyP8LGOUIOB@t}u211Bu@t=aG9Cij#iy2((goTfxcpvxaZq z2s#sV8sn%Q+b+;jiS^sX?O62FM!;*Y>fV(yoNLkK$Js>L zf69UDw?Zk_LH0@iekjmqB1m|xiXuYzu5CxPu?9>@Ukf@HEw^Q?I^RB67_i4pd>Jh9 z-LQ-r>n#bkl;{2HW_zF=2&iO)v@^G0ufgV0p6ML4-(4<@Tg$jNQc3kACslntMvr0d zwqnvx(3|qe+B+ke4IOl09~A7EBdo+w{)pwr5wcR1d#+{P;2v_vP~_Yiq?Le|A%?Id zic;58y8eh(<6MFC+G;#N$j^4%PY^AO(o$;%T3qfoAtb|(-F0}xqBW~~oh)CxObSZU z-~CqOLR3c^jst*(ld|6+*LjO+CaVmDTKDAR{(Oi_t)lwbQo#4HeaS{xascOkYIDE@ z-SVM0&d5#J3WV8_iQ1+GHdnD0FEevz?j4iN2GBtNJYb>TWQqBtAvi!{=WB!qbC?xd zUF-c5y2;Inm#S=^sx?35AZ?$KerO}J^bSMf&D5e%!|+*X`SG>+Mr@|VnB<{xkM95j z87Ybi7?HI@Kv@tn$PPdQdl%wggpwFs?`;aSGSq1CPZ!#8<0JDp6l~+|lIM2H!~zny zZflGd$kGXcb7rC?GmA&779}~!+u98gR3iO@QP=BUUs`bAR#S11taML8Y--A{A5Ht& zBBpxwn~c)KMg$+Hr)YCk>`8go<+8GX2zS(JKkt%O#a_aptM}`p8-1#eh5x#y0SKL9!5KQiBa;HV&YbwY`#=g9sg3gB>idTS|97u^_lV z>&IUd>d|UUQo`Hwi#>VXEG|&!a3S5M#{OvU`pd*B$^b!%EIFa7LGw83*gNJ7$&CTo z82L$yJE8~uShi$MeUurGgDRQV)UG4m$KHGenENJX-TqYqDVx*~ z5K|BZ6cxBYFkX}^fSs)}fZGY^1#?f@OWK6o`3>68nrc66$Hc^!vVT7U$d7Y%a1cOd zIG}fHzljx+cY1M`^wNHBA2U{bc(%L#<6NhQ9#-wGdh?-Mv*hl@QU~+3m-w%vh?N`P z9?-yZ*KkFJw#0*|xS!+~vEyz_?Vnp7ua>(1`o3D7sy*noR%715L=A?d^8=?-P^z?q%x2*P3r9#!#eyZ7>;;|uVb z@S6a5g2sc2A>V!bS)I7+N0iH&tX|6spYhl@wmVy-?(tkW!RI`@W?Nyc^KDf9)9##frxz?> z$ti!qpS`d*fNF;4r8K5C9l=qH*YM`}cu{T5pLf_}jBr1I$rbf^K8|+vl};ubko-FE zk0Gt|=U+j$*Q2bTWJxL5n+}`{Ux%HWubfPU?i!9d>5p)W>&I{XM-w!BZ&5l8!DP#| zvd$;gIwvC$?q{;9r9d&~Bg)LPb^i%DR(w8EzSQkIEX6}xN z(l=_FXpuH^#QVklOtER!s)!?wUw%pIown%gyJv@=-dSs}VKhD>-K(Z^(3b;hI<@5& zmgd!3Gm915Z;~ZoVmliD(Ev?m6}bYz9$Mp8&GG+ywlj}c^Q5~Jmd!Y}BDG=Xl!=Rw zh;wR4ktkT_O*sw!)Q>?~W$6J8&{Ze#$D`ve&IDUa8*!NZ(zvT&Yl6;aLZ$Y#CuY6e zYHA#`4=QI$FBV-PT3&K3+ahiqgZ1|`_Q4f^q2nCa-67YWuC2*i=#n3*Wo3Qjd z#tUyjD>g)SHPu?t&+ui(xtO(e27D@Z6dusPr(KYP6yAB?>Z2Cv(JUv^*YqSMNQ14q zKG`USW9gWEKF*Lt>QV`|=v^8^PH^x}&0$pJqrha%$Na>^mUy7oUA*v6A!2ab7$#3| zLY3BFQIKaXN4tlj>32GXkv*c0@NkqB&YM$&kxcpfos8g+};N3m;ypm8Zy2E@~NV)sqR%WXExQinHYO%EV{Z39@n8W!wPoZ zyTlblv(B&}{qrBXJV^_sX)ghS>XfIvBLePV9jrb6;<`kWRQ{pB14Ma(x$r}p7eqiv zF6Y+#vup&zY59mG5)6JbZ`;@s@$xu)maiW>Q;4@cQsnvpGvC$X!{Wi97RIC$73!&^ zgV_FrSO&RwezuRACGqX~srgO8PUBmNCYk;lM@<0@jm`n{J^s3Y zSrhX#o44?<6(j5!37$HJlg{rfEF|04yfVp8GKxZ-@tqUbPHi@g|JvU zQ<%)#T?R1YhQ&}5F`25_-MB29Oe4x>OU(1ij23HxXRawvZdwc+5js6oRE`x6RPnvH zVQ(>JwROClUw(<=7|!#3;mo!jE9$YP#V9yg*WwnIoX{hkrXC>Jn@as-%@AY;R4I0j zEImL8@0Y8tVIzogERp?%a8JNIFwj%W-NuJ9S-FS-CVKiil4lV6Osv{`E{&~Tj0jpEr%Hs6&Fe50{%<%YKU4H~HT z{)OoT&_Z4w%oOE{z*a;RtyGBiw^9H44XQpjN~*w2264L)!-!mTO-a9yNbOqb{M&Ka zq!c%a?XQ+`NO8Oc*9D_`M;q5JU-KRFxe5prnAW0AbIIm9iPiUMO)Gw2{lfm084SHl zSzYdNo%;pA%UFOE#2T4Co1N);h*y2G6zq%q!q0cM)4{XKYOK0||BT_*>Ou)0{tb{0 z4^*i64eIXjVLpl8ZGp_=z=AO3d+nruG_0t+YgRe?52@(=AN(>*Fg#ff7Z9uQb$#c| zn*T~}h@n!Vw9m8HCI;Ads6ZXnh~>`MQ07`#V4cofnWdSm!aATz<$7-?8TN*stSIh& zkaI$@ENx`vr03`FG$cyM)>nVw@LU17Dwa(N)mYS;*q?8!uN@gE)2z+FDfdpsxF|S) zZ&!f^BerwJ*`Yw-cn=UL9+?gI)9}d+f4lccg)&W~Z-C`KE?@HiM^K1%f8$NVHL3ra zU~pJp6NtMKb^D6+?wn@uw&{uuXXgQ>F!x0`Ae)QUR1OfqOjr}QfmG0kyiYsY4JQ-HXOjUnV-bw%IX#F*4695^!N0CQKF@;8OokDLMW1FB_#l!Ctg z2X~}!99@EIBO!v&o6?ft=Xh^5DGmCADIEa;0U9J9a6&ziaz=g zh&oD>go!?*w}rnHBRFW|PD8>9^1$#JrygW@i_u^JzdS~Sbk-h75Q{07m36{u^)n@^Z~eEJHW zSITE0cU~Vy4v2Q`-BZ;!H+zJG`x$@UW#MqIPA3|WP|sV3kzUK)q+Ijn?pJHOSMS3Y zk-_y{-8u|Xw;qRFoU?q!W#RP1_qxLy~^*W z{zK*<(hHr{Uz~@+#ooadsKd3fXgGOoGV^V51!7Z>w3MTjnISV$AVQT;HH@3PV^O zTh4?Ynd-1ro8KspkbZ7Iwr>T2114(V*XF4C6RlN=%(d+&-8em;31>c*udF$%ZhoEZp6Y>ScC(;v&wx5BCz5FY@0f9JSwTchCaJ$d>6~ zvK)x|E_@6%IMvTJZ?B|i=xv!hrR+}^=;epL&6G{kA&@P*Ge;mE?Mf^NGsYx=Dp_@n zP^eLeI%~gUy(=Q)1Q-A45?f|krH>F#ukJXB{?O@0E}&UOt7M&HbcweQ5aG)fTRMOr)aa2R(r2yG# z$rf4c@j{{)TBGpX(!4%)^Cy~#yw3<3pS}DoAs{Ss)?=j|cfmVz{g8Z%U!JNbo}{uH z?*)3j$SZng4n5PjXD@%M|AG3C*mV zTkVpoBs9n`hYTccntJ-$`BTqkO!lX=op=1HoWHzXv9};#hfnTXSpGcQt+f>K=h}(A zbrWk7_4px{+7qwuvfGtDurJrvtMu(eOCXKp(HDLZ?MUOZ=a)=*-OutBTnX~U&FO`k~&zur?s(tLX% zrU+_$9M+=XzoxD9nlJR>B75|O?b8ED_7T{MGz`Pj_*FW{EJ<&$XM?X?PMHaU9psB` zVNJ}D+}&GY`=)|?1SgJWfzoCuY=h}th&akcyF1D5%X5cU?gfM%FOy5kmTSPU<5>)S&MywLnwrM;Cg|v>DBqOOW4-Bw>(>3;2|wyJ z#`h1tRoBns)85nctMl`GcKUAb;knp|#Io+mazwd8ZMLr?Yh%<`x2VDun&5FD^Pmpf za-tP@AQ0_mDWw{}nxdIM1A~L#zF(D={I};@QRWZIr}(7qZU`KN(}!Q;pP{ zec@|gas&ZM9W$YDoPxB$s!yy)UVU``OtOB{enYfBJHsnu(u}^HEo>FnMVPy--Xp?1suaHNrz4@3%LP8KarMs^mQv~v{q;&|D z?EB%c=Xe7tRmWBBbDRjgxCO@6TgQiR#*jHFk@?3X7=&KdOx^y~5YOuCQYo>wS3q}= zqon@^yj|2EE#C0xblBJ)>fImywl)FX(n=Z$D|e}#Z+tCiE38B0>@L^Nv=XCq#JdZ@ zrlIaY3ckgD95*~n<3e*!O4bWTFarz{l17T-PUZN1VcJqG4OZY`%+68@l#(?m-KB>A z1_g^1yC0J|wt1#Q)v}!Y`og8yBdBEqb@V?Fz?0v1LL;IEM5N)|lLqB`%@)UcNOX&Lf=kRdTi$@n? zz91P#-d~mGepIA1w882Cxl?X06T8H_65nJ>EY+uoJ}xRW{Ir6RDI4EMTHWay$Bc!_ z6Q1*OaJP#4C)Mi338c^bB z{XGSyfCs>)o?6imC^k2sv z-vUOY>hdAG3`VC<29oaOq14+ixg)N;z@^a8F zuDZPLO3*rG`ECo)glz9;a-t9{PXS+CLMe2ar|w-L+vRFMS-91Pe^RIHe5tBJj4dj! ze5m~6Dp-*@ZMh*iqZ}+Rg<{D?1zi3i8J|5ms1USWJuGaD@8U>$sze;pa0_3G;VyVu zR(nM-EUOAAy3(S4ttMx&n@{eJ13V_1!wn(}iyAzgIMrnhNlD4ho3@Yf;-cJvHu2ZY zmwZ51XVFaz5ZPX?7s4SomnUb3ESt9i5-GzDel)Gijt9RI)3YxLg znLc9wN?TdS^yGDTHZ}BR1dR2xNzATMH*GGJA$N1nmn-F_rzF~sJD6DzR zKmglG{%;TkhCN_Ro*GbqRp{1Q6tR4y@@sLCrQvfgI!) zGUO&pmiz>*bHdrrNV43`Byv(v?U;g0xgsCo@2t~}8-y|3v&)a-b`>h&j~Dr7d$e35 z7}@d&A!7xQc@shK9owi*c)!-34BZiT7MJ;XN}QmNfQY-57avZ>`cb1k> zJjZLy2MCzvi0?{;i^jpwiCuLghu8gskT^R4vGVtdBE5q#)Od%&2*LHk{^QyT5^I!7 zi~RQI?;mlK)yH1_Z3KFEel6{!FFvXq1}2=iDVTe=`i%C zrVGB9v@cL>%l?C^Qn(-aY@5_I-;bZ&MJQg~v>wm!ew^Jg@+z12FYvQD8%8WIIs}=Q zuB}jc<=%OnOr%p{I-%w&jSW+EX6^-b(;h@yT{VyHcbEnWe#83IjBQgz^vmmT#CA;( z>)J@?E=u*DPOmkw#;R6!d%vug(Cyu89RjF0-dFjxK&j=qyQtWXECxT$wOH~eeG1X$ zOjVv<*QE_{R@x7@8()4f)47rC^;bBNXGWPW*QNBfLnkq(L*2@x1ddTYx`^j4n#{T< zU1sg)J+-?n=AMTrVGX zAF+w7bCa5`O9SZI=w=j4BWPj+dWmV{71M}cH$MY`&?$h#sND+e_WlwNLJ+tP^yd2k z*a+-ij{4wNK#&xv)uby)rjW&g`@u#pPj&vQund;G(kcudwz^bQ^d~BPT_LDF>1UL? zG)9r!kSaE7EC~cjo$S~{joZP&9d31>>b<*f62)Rk_L*xT(Xx;ettTy$0o3xJk`)Kz zyTM+?DIx7{3`Gx>t0l{A)(P2(6qyTa^;AIr(o;dXTeoHYUwSNn*CGNeDinrMKmz#x zkx=~o5WoMIjf_I+p!pJWeZr!kCHF1`W@8%*dO z5d8*>}>0joa|OE)c>hCm{8>(7~uVmxZ_k7CS^>}m>6F2HC zCWqu5DB|X&C)HknaX~oH(bd>8ViI(qm zwa~q*hAh+#bX2wi75jo`gkl?iRDj$>$NdT_;<)G{@^Bq09>Za%LSv*C2s!|* z!H5%28eLTiLdor`|9 z?(GTUIJ=i@mKP|!Y2*a0v&B1YQj!-D%x74^uhEJ5Gs8T2yGTLr)Zk9q#wbd&`sfw1 zAW4rto<)kM>6~`rzTjUL!m8S@yGj;;i;S_Jw~2vpTmUi*xUX&5q_$K47(-XS&x6XA z{y*1vF6=2!##WYXF%SP4*(jUMZtElG=cB6cnG60HLyo=xeZ+D`ED?d=gfCjC}bf1uP4(cX}_MP@#mhd@;Cm#nfgwtRVtf7QnBd;~C&JH#2iY?t_au zfu!n%Z3vEoJTx22*x?^D54?`~;-y{bHac+CqKvJ>m$NCqdeyP(qBAna`Haf9Oj_-qfI zJ1DPb?gcgne4o#|94YW?O$K($LYyjaph)b|7n&R{#RAiN*PVS-2aQ}>criy+)SFv z=kZIcIB}Wyd7QGO6{fk+Hy@u<;`4G;-=6of z``@~2%?vJsSPpT!IR_~~*Z1kBjHP^EZ-FltTj1#Y#_6=c)^0+~`CBMg(Nl``AzZr+ zZeZ1uLNPRDtFxjKGyID(ZGALa?e#g}hM_E)ciUMtuXY#D8SjmVC(l%yy^SYlXFj;u=F98Vh8p~ z(S%xcm_luRvvozt@Zpd@;A_jsBJF`$_uW}oiQ^TJjo%0+b-UBzHrR31RBU@W^Mm5A zE#bU-bf?Fe_|I+&W(zd>aG8DraA_BD_&T+G2383HEN26M2+>$Fmxzk3 z;Co`J+_&kZC`7)V0kESoBY)Ri_QA47bwhP{`sc%3^%VJUintE{7#^;@leua_c?Z8o zB(Lv|(gIs!#DgbShi_EDs!&i691b5{x}S^n?3vISPIzLp^Q;I zSWbV2e#i?w@l3V4Z`sI3>AK|gYd*1NyP7HIoZ5ybhfw^PhqHfnjZ33Ju0Mi{pz<3n zjmf$+NHv(s_+p$qfpS<&#QtU$$2f!n>(SH6+E%&+vt6n;rX3`YjVJiHNYTZhLz5j~ zTUf=gL%ydJ{|3#I-Y_zH{W}9W=v)(!rxyG3TM(YMhXNzZ9J|ZNWkB0X!>Yu}OEaG1s7p9=ppvF{)BQ7uB2F<|N9*Q zdl!oxH9oyD@@|o^7!{tqg`jdFB_wNJU2R?U2j}uNbyl6GxMCybz+2^dkBUejj?SL# z7NlS1ldp*5A8x5ajYy(|2D|SE{|ufslt}ihr`iYG-RmSIue{1^Bx?H_3+kZTirs9AtBuXe#re zbN>bai2t#!S?Es`aL@(#Z}$I;!+2tH3U*Ult7?8!+;44gG3O1RF;p;mqhggC$ZKXg z=Qy)#Uo_tf#(})$(z8_=%Pj^47`+0l5U|8stv?DX&YR&@-HbgV#IkRT-JkCmRpVd% z@R!t>tOY}=9jQE#LiS!s&iA^$oWlc&XF@3cih>(y%@Z+dE>?)sd%I*qT7htk<*Mu! z@IA4T3LM@)2q9>g5JOwaKe+$-@VPq0dZ9At;fT}3KW_VN8=#vOH`SZY&NQbi zA`UzZ^;FET3|FQOoQqQTmhjh8SB{cZbZN&L_Wr-$gi7B!B1IN^A?##z!%}2}hOW9DLD(LhH~_>f(InT< zwu0|3zQ!ogK0N3uwK6r`BaHCJ@gky+pnR#@@el_)cp31exdjgmBR~F_+WBh(H6YN+ z8$72XpXav4eXQ+4G9UG62q+}*k3`4+ekdjDs<``=oUW>V7vWEfJX-FTutCgw%?Zib!lIXAu48Orr1^(}m}89d^%m zlvbu|^^tCy8}(@x1;KxDy*Ye-ZoZ(R984h`#md!z{S$C`Pwz&($fJDup?+~rf3mBu z)ADt83>F(TgkSl{b~@cd+!X}nDtMa6-K(5hZAsOgn4Yn5G?<*~pA`0)4_GOB8N;TV z^EpsN@wnFl2otA59-bSsRP=o z0x|)dMit;Ra$=S!XiV31!}I10K|H*J%t$(Z?RNkudXhJ+YvfL5bu*TMiJIpO)uqPQD3;-7#w|)j;KB3%xIxZt4 z5Kr+62oHn>1h#*HhOJW@;|ZoocmKU*X0C1DSe-?``~pLit3ixE@6#pt(j-NFZ3IiG z@W&W&e5f3V24pz>7YX70>(q)>nw1^Ur}F)LRp)O-@q<;G0qYuY^6J3-{5SpuzGyb- z@0tHuP6f-e-%<@x+j^+(NQ~ncqm|-X~7$+yTJKdwm_2o{54;Tj;%{d04qWwk4~E;wb@wB$jmmCBZfU*LF5rd`J_7A zV`7nI8b5`Tv1rD@u5v-ekzq`{<*oUL)9%wl z4gL+DZ%?WSm40F(c3=q*TS0hGH}We=+!cXuT9{N}x;Rh(_9UZnc-|JGuRWe}870!o zD!t92!KFpX7od8R+wQCo!^Dk3NFJ1+sdr|YvY_rGLzVj%aeU*ZLsZ1ygC1?DCU1O9 zHVb}bu*vEQHzm88RSBTGRz?9kAFj|%^x;{1csrATtQ3N|Q^d0WcCHwzVpU=b(oC-9 z>S)g{(9bGGtlz@`ni~wgc@J=Gk={bZuHt6(^ZFuOS7jhq=!B@B&~AOL#W@8}u?mQ0v4#@XVsdk*cWd(d*ME%l?liEjhYs zhd;lHSz=`&$@#fy*($T5c36YB=ulvGKc4eK{v1E3z45XVQp?##a>ez#iBIslRO8cD zY(iK26XPG>?dO_f-F8#t3uptV)ban*?f>_lTj=T)n1n8-~IM$+3C>4{QU6O0Vth^Wk-aGpIty4BA%w`6=Y zKDpiP{ENem7$rl^9~@<}n$l-!08Hv$oTw?G))Az=(mEk6qyP!Zj(v9~ZEfA-RLSOM zm8w?0`#w?Xs5s&VlF{3TA2c@@V|SLI03(e*S{L(!xkl%ZbTw;k8#&lCC2NrHy=3Zq zra-w{#jaxa%?(FN_>l{YCL>uY+0@u{h(NO1)@#DLZZ=%Ob%d>-PL{daI?VmhzT35c zcTdzxKD9D6Hj9f#e$LAUb^6$TQ@>H}U7R9w_O!{G&h>-#6LZ%qGIv2VIvap-gMiHL z2kW|`!^<@YykF%eOPbs$+ojuGAoE~@oAg)X@-%+D6L~-r55Q;QEbS2${!0anQ%%Dfw;GYGQIKh)kDnN* zS!EkYiO~bPc1TgYuufN^F+^m)5b9lz^z9U~)*tR-4PTSBWDNU1PZDtiy)tAL6%!rQ zy)|+gtXLkfI$Pt2(Dk1zk5zxY4??Jd~}gEMzpGk9dt>;&Aa`N400qMF_0k`0g2?Ta5g zmcAX>D_f8tBq?xrB}RIE3EVC^i16`zU@Ge&NeG?Q@o>*?JDa-vGFe7gwOx1=1m&v4 z{@VbZ3v3jX|JR5&R46ZX&}x_;3e2*O=*L9|5HwRoNJ_+k^W<@l)q`nUjhrbHr|)}Z zeD5At^~9@fslP}{)xdH15DIuOuY6QqxA{4;sL%lrV94{yeMY4HbZK%+YP0&A9SQ5V z$1f(-bwdeP81A}37h&7BtAG+LWF-eeDyxQQ2WV%A{rn5OBaKhI!u48gi?qSy8J=sr z>RUb)>+#d1$;>HE8m=rxU3TFHSNmw%fN3h`y0FeNNVsyZScOyHkv6Zz*YKK0cg}d? zT|TxCKTqZ+o0a0xP&O@jLDD~CXtJ&Yh)2GL!4m*J!}&GApyjW~l)`z(OwxFD4;@OU z2!`-udYY){&%( zQ*shztw20O4WB-|_w_wDx|&=akcJ|Q>D}RM)0>gpmYN;~T0g8+Snw<}BkUaH$3haC zd0(sUnHch&a*fhvnezjU;L^S@+>D@e@k{1aQaCk+Pz!AXaRerJ-%Zsjge_sm?5+U9 zXAchxiQFT{dXU{oo#ZMaSY*2 zMy)gRGelixiSO-(;yV(H?%#5fX7ocY9;SLLJ`vQ_7<0NvJ%%N%?L2q1b((TYvU1UI zPvO-xK6AF79u7e0m%dqvk6u=>PWzW}&>j5C=%~5-^3`Mv97DTaI`E zE*7)!K+B~&*Bu>mKBsKK`a177VD?C!q<6?>onk;vvPYilWbET>+v#hQGSi)zw+oLP z8T)eHF_!DNz3F6)urf9hQQzR(IM7d7;Bx~{%e zbpL(bM`L(FqH!r9NA26e_)fO(hpnlyiTJlyzd>;VrU0Sy*O+H;>`g&2hx^g!6f@C6JvqefJ!A%`D+yRDLYCA;-Vd$p-D)H)~ zhlF1leVMGI2bYMA*lP>Cq)HhtmBQcP_Rf!a97oSc?|7M1%otm|1M7E%w%7L`(jpSp zD`9APOm`|{$h`OStw=M3e0J3cD4yzc!vSu9^v;fXmRmz$go2S_J-Aho~{n;=qR z`Yh`n<_F!Yxb@|*tLOz!uhf`0%G!4pq8n>c{CRZ*0^^zytHJ{f4j!CuZuKAGQjU3R z^_r8$_zC8t#=2%5A$j|rx=vJ*!Z&lyM|U;o-v=3mDs3>4+;JECZ^E56TtwD2g~7^l zke@3Ib^D?_Q>cB~PYNQR;d$jBl0Q!CywEos0@E9$!oy9{IAi49c?b!4_xdz{*G`PX zSkJ`K-NJHtc&lffYjx720G#EoXPs%Tb4@XX^lABFGbKKv&}+qD_C*a|XDPu#c>Cc( z*U}a+?7g81J|1B+o)SOg8GAP2lG{3Uj?dOq*Yu$$P8(;CkzJLRxI7;i2?0O7zjA%d zwt<=Hej1&n!+J;Aj=j+&vad zND*v6{zeV+6SA|jgZ%?oJUssA2;M;qJrGr-6hY=8H;f$b3w*4*A(!{gj?us{PhNg$ zgoq53E4TPlx!@h|ylyMe3H}zXl^d&m%Sl1mv6?+P=V33;8lR^VZ38*4)aF=4BnY~> z@jii1Z@I!HkqtMs@&evvoy^s@s|vkIS1*FLCA>1Z+Z!~trWxnr%w&HG(E3f$*K*%u z^tkeHCtp6FLY%&OvP(!uEEuOaL7g@ z_-8a*48But=pzolXL~B-!+F6~Y2(G}R`E`TpMBJO%2fay!eX(9Al`j;!w& zkCh5bQ!1u?VCCx)(p zUw2NgjVD?ZavQ=0qBB!m;vBtZP2L3(m{uGdbAAb2$gUsB`C^zcoQ=u5etJ_ZPC8eF zGyn=Zy<;)&z0>+G-oHw7l@G%%Xto4j=;9?WsxMXLzf?aZ`^L)BVOx8b&%Z<^fZf}o zkNL#JH9CO49#yh(aWebS-BMGbem7Naq%Ki^5kBs)?kHFn-WVzK4@kH0Uo4_cs{Pl6Q!v*iBm;rX@EwvCF5MMyt ze?JgtF<77NkHrrdT_T9=&y=X0hP{5!9`@Aq>|0JUMEYgC3dgHd95{}4LbFsqQ^uT& z1$0wjTi;~@y4d!8w8GRNxI}M`4ZZ^#1zKZqrBM&!zRY)GIy@hn zM?{%SGT&-iza*I4D#8vRlZb&taq(zo@5t1m_mWfhNH zORo9Bi1=J&updswoYqaAJ0Z{QIT)r0jGZ#1BO1o9q@i4}2$}yH8UKlnNlgBwceiZx z-`nw|QZOt$o=(&gu?XdnM(m zAJ>OCU&}hXqY7I?*S}W_%jgi{rxCotvTj*)z`i2SZRc-)$qe6K7brnASl<9X!KsX1 zJ%9z!JC}>8u%%OBDqv9OwAsCD`WAUq)6MQkS8Efh;`Yl^q5e1MFmKH|uxU9ofascL z9Kij(g7iF$@^Cx*&{6sb?Us8q)37wYDc*7?OCwLw@1CosM9g^H1Pf6EJ4r|bgewwKB zl7JEGDyCq&;=KR{AKO`3HNUD6SBg(}6JGzq58`s(bmhCsB+SW$n7uQ@e0%mKYonAzjU&9_~JM+9RIbsl<&OT+cIQ7kG^^^m-8>W(>;q zBWaBttv<<$*^ZU*>Mfj;-the1&L+MCA^r_o$VyV*SOE>aOQ+{-o$nGF1_#4HNm7mnCs-0F=#t{$HXoyx+6`v(yyc zicYT%IjS9rebX+hhgJgiAxZdgcUFY)sp19F$t=&JFUZkWgZZ`c9#Q18aLZ{~&igTh z=zhRAJ_{H#zv#7&ejjoic_7A&dU|c)TDnsY->=N#7^$j(-jjUtSl<3~fnU2&l^hn1 z{gEqB=(O(Cfz$UfNu%U)RU`_Ey?NHO7~gjreZ4i8$s56+&Xw?1vyAUClN{;$>$#Jn z1KJZ(WC#MdU8r-GcdbvNmUozhspOg4CKM)KOzCUU6yWoXN1B9<$b6Bw-N|Ap`ic0) zYSNGLqRIA^=}a7Prn_c z3pUr^xg>?kSs!v%>$ScYz~cRB4!&#t1T3E;-r53w$3AKq2<5I6_-Vi8Xem^>WI=hQ zh9LmvgTt4&P#nNFL^>dF&zee3RHA3Tn9T59b-qQ1_5=S*ZdCt>`A_=(_CwCrWfh%oiihVx|1*+V4TrW4LpAs<$@D13icFoR7EeOEFmqfrsU3ulW$9L4FEoZSeXUY1p;h znm@SvD(A2uO`|>C&YO zgkBrXMOALeb)N+*>~J?$5?+blDxc(gkOH;d7e3+IfG9% z#*UvmkdWRv_oL5wCG(6MjqC9#-DGog8_bD#8LEUY8mF9EPg*#yA_Vok56tvwuQL{k zTaUDgQ++#sWIRtXU}3jIPl&v?;k{v5hz13rn08RkAR58}2H0fjwk)p?BO5;@seY{` z@@07z+-b&$`-*-jVaxZPZ&xt4dxuaDQ*a9TqII)p;%j(&TS3(;{C$}@FP^yaZ2;CuQSofU(w57ccd3Mgi;v4{5MnYWH1ndsBtTV4dz2m zYEnmosP9gs{CbaX=ue1c=EIekBR^gNy-^R#?1NxFif(#<`Mum`8e1tM`Z=P--1=rRZ`!b*r6qAz+}nE$|6=v zkZ^s=_IyXvaEDiSqAD8T$R_S5q*)USFnZ_X%pqzo`w-)(ke%6BB>ieu4VJB0_Ke zt%@AE5$s40pYmDs-}`{9RmXX^^yfic=iWM7YUDQe@ef#6>!vMV8mwSk==aRT>JCm7 ztpQeSzX1389N!i}D7mX1mU_F%gn*ON;9nYF~$biTg@seO$Ainw^{K{Y|x}_#p^{R}EO50N#Mv zaSG@&_Q3}d>fN{$ZA*()+45S6l{|foeYJ*1Pxr$B`vBuzUaBJ?mU{OG)#;!80VP4O zI=`uoMKh5ga@3RGR2yn}kT2E8UVrEn0L?XFL?F+d9Al)!I~txu09*SIu(bz>kYwS9 zoiaV&0mwXOOPYKwlau61E>Jc>?}ZsZnCW4AabqCNyO@Q^?*FcDnUV|#h>#n_b+Vtsp~ zJv3iF|NPaMt~0=%0RK$#o_*feF_W{DjTf~n#PPv|iN#dVMS%L=E{RM^q<_wE(k&V(RLp$ClSgwusCR7` zrPGc@Fj$FOc|5lMjMk4Az72N8DUV$#=+{k@qE)T#<9!+nn{HMvw7y{wiMzDg;MzC0 zQt4gQ*wPHq2?adD5jz|OFzTV#seY1TaAv?mN**#r;rm&tBh*-@WbB#7&LpmQZMx*g zKoM1s&2eo97zy6V!3K6oe*oI=xu9?0XVh@Kddgsry~2&3y{$g=PK7xh$!oM<)2Icg zW0v8_)i|60WCpT0k3jne^r?^krb4quGsqi_J|}8tZ_;_4x?!Jg=GnI|X5+#2@fX`R zm??mjGW90uZPSAS*nL9x;yO&mE8pT?v8HEE_ZdwaA?GR?t>qxTOR=1np6*|Cx3tu2 z_dREkv{KCR%a?4c{EOEZGObYGODF4}W^Qf6%hQy0q$!j!R-uqmEk;za`MzD+=QO3% z*z9vyakLi%Gs_|zw58}qDa(MTUzfTL@N8+iBasGQY-S4*tkP~~7`~&4u@Ht$5e1-% zAfPuFh;K^EKR7EJI@wC6EEtV&Wej7k?TN(uI?sL#?)5j07T-`LiF~;J494dW)@CKN zqQjE*V%njuP&QTjYN}a&Lh>HE;M#EHYRR;z=9KmZ(un5GAk_m+u(%cMuOu{5YE{eJFwSr#pB4dM%qC+4Qh_jj|< zx6iyXKALW^BX|;3Nv!0oCab0LplKlkN7K;2GNFoz5;-#}$z)7j>{MHryiieP$GxSW zN1qu(;4c=Ym+)^UTEs|BqtY;l6@bOH`Cw-Jja6$VEM6Z=xkRNsiD`Jjf1unczH%HK zwtij^T(H0h2-@EySXg=5V7uED)kBB8;Ys7Of zYH}6~PE=j@IWZ;)%Ae3gsv<)7kh+J@kfX6(*Y4BH3XGu-bXK+Bebq32ylemjUv4mG zLc}5}2+T(TK?Bjh76|%@NgUG>u8)VZq9yP4I7VJvqD}cB>y#m1GkbxGTDf*nqyvEb z0-uv$gkWs#(tNTPIE3UP*-S|&-)OOzEj^o7D=_aMz_{w1AYvsDx2i6HEh#arhP!}f zSlZw<;|XZglqcSHL|Se~w?lER`bX`_do8PrF5}uU_eE@8X$mjLw4GI*Zj9h- zrT}Og>4E?-A_q4F{uK~Y$_;*49kGruH*BiaWS*xFD-)`H^&%#h_$Zr}wZw_<(#3fo zsyxdpxUX<4h&8&v8 z-F3-}588C3%%K>(G69KTZBYuhgU`8N%KTPn7bSyqwhDKKNc@oUTMt9+Z<^NwHW7{| zsrZYdP4b15?;yGrY*okjS7^Zev^&!o$-}d;*jtM7(+`8I26X%fsfkxfkB3{XQ`&%2 zTz-e%|K)T*Y2Jdp;>vEVqS=h)OskJdN~tX1M1Rl~&eeC$K~pfzxbKZLi6s@|7AWQF zRX#*Y1#`=6UaUu_LwJ>jL(>+phmPse)r$$!j zLHViyeuVsSr-gM3#n43UwIr#FQ3tx9=C6R=CcL!!1ita{XxR^6P4qq8C)d-bTxQmD z%KL09C0()CijmHH}BA@~dB57twE97$(2fg=epH70T={if1f zE*~`|H2@PX7tjGw!qSkVfa5=R-*{6ppr8}9|8N4a~*9u%Ra0Pe?!q00j@7!U#` z4>;c`c6TsxnDe-ZJgjj_4S7OebG`8L^N-w`=0$4tJn3)04>&FEh%fE!bmGJxfS6U- zVUpMt)O%M?_k2?)V_kA7+-~gUV~e{HtD?Q^cQ4+v*b1D1U=6GaGpAx7SY=*uI&o<3 zf-fyFF9DJOzWzYLG5{1X%VEj*bGJzj=hNnttDQg9Q}F&L#)dtLj`J?CyRR&rYo2HN z?$IRAU@%YtHuiEHOXC>7Q!WrG$UbT)MBcbpoA?GQQT&^4A>=Aq$J6S98pCftU%2k7Aoo3>n-B2l zt46(jBYf1x7{+(`XA>Boevd<^VK{bkb>7`m6`|J9={CVDjgwWS6w6#i+%dg)7$%#M2aXD~b;o z+rTsdf-?b=DvY?b&b{y!w(%ybJO`f}QV~{e_&fL4bo~4}jP~`Io{2x+X%2Z+H%JXC zNI16paO`ay+&xqnU$;M&$JO&7bE>dbSXg`Xk#F;cqcZ6@Blga%aM6-JAa;AJz!(nR7uba3f#54=sVusF@XxQyguaXa z#Z*LPy8J9T3+%ucl36A4ep}fI_eg8;~ti4@ng8ZDI3f0!Kzazq#bgq8*~qn38{f^ z6Y~Lx^iGQqlm;I{PL)%dV;?@!PaO9ba7wIuHZRO9t0@$mn>fD8+au(WB&Oz*-pk5G z?8Zeb4z@2KEYD{G$~`+O+Pe4aGw72gm+Df+B5QV9WLEF4FELEsVthk^0cFvAcx5P1 zahb{ohZuut4mFWs%J=+=gpU(XRu6ud-Lrl1tu9f!@p1W)d)mQI-DwaXv6qN z;fvSXsoE6;M}5lMbqSJgB;P+;)W3!_l8`5-Kn-#L!N=WR+*-ay>`=Lkzz+ap_Sp$VPr0t^ z4i0SLYxl+9p&x+0NaQ*5?vd2E5y-JFUR%73H|NwnI@T}ePiQblB(`q6r(1AJ1MGI_ zv+*X~B8QRbsf{D=bJIM&yMiwnd;}}*$E-e-jP`v?yC|!0k{xFh+7(HT@pz zvA5|_wCg~Xi?fA|nVErW%(QPFSA64Q?>9cS1Rc&xDj#sD?R!Kq=vwO$-^E6P9lBqN z>$!ba^U&dpztWTH7b+$K^|cR^JZk$xBudl=N@!^gh!k4hB@pL^;zZ}*)Pc#U@E8(I zy?LW0Nt_us^W9ZSvW)qb&`z``oyM1oKU*g~erWJsKoJCX2IB0pNha9ctPe1gi{)05 zhcfOSE-_c5JQ#mG^gPaL*s#l0R*s-!0-KJy z@U+&?T33?UZ^geG_&#}ft_h3@-3Bj0qCl+G(g;)~xQmm-xOC0NdpsYzGYy&6@_eOY zYg<_tt!12fHc$VhrjFTjrLg06d@4Cg*=$idkWUK0?VrM4{9){xaxO+P|6Q(zP)OU1 z!DzC}m3XeJp8QcO%)!wLl}|V%J{M9K9?_7PQ604{0^~@NxSRjAWTe@S@#Cn}FX2iB ziE@LlibeGR|K{RD{T5o_Ke2`0JZjCX$b4r#8rN4hu8Oa!&(5eJYCY)ew@@{^xFNJ4GdHu{QUi}ULhQhSN<}x`A6J&XbjMn?F?LVA zQCn=Nj6Y>nTRYpz)@A8z<_}GL&5FU-)BV9`Ci+qIKnQ+>2Sic>y`XT6gg5(9NLSTp7tXac7q9bDQ)qt?udQ=Onx+u${i40%6|1nfx4V1g zLa5;Dt9qBi{Yt`n0hpYHLMQCRP`(|9;c?PPQI6;tP)zh6}J+3M*lDr)LH zKjquWuXcP_X8GUZ6E+MxhYR(_BA=IHJ-TkBQG`W)9LEg_Mc#N?al_DkOp;4fwq$S3 zd)fkNq|$*^X?DkCo`u3Yj@)w%Hcu=PNEO}bAC9i)mK4Y8{4}E$O7kjD0^32R)jQ#w zExfP?xWvYM2fVQgyV#h10 zH2{#9FT;N7%!`4mvu2;oJu^O)50p;|;CZ$1euTj{(l#gzTaQmE- zVp?V9p29~pM)H0*m~ILD@(Vw>`e=v$)f3;a!f)YoZOxsnR)hqu6XW&zW~s|r5reOO z_7-|PhsfP=wCI~Ia?vgeqmZwxTx2#>!$;+4MXR=Z!DpSn>$2jc?F9i&lR zhvW>D10(H53m;CU(CTVV_MCmC%(R6nUGL7vk=a*07lNND@aNdPJcApCd69F0dbJ;> zEDlQp*cone79l5_Ea}CWZ#D4OJiMqz&tcW$Wt<3|H#8SV)x@ zi^5W371eSR7ACbptUwQQ0AX+Oyf^8(9kztK+b{M8-bxV-O@;{bB}O~vA3 z@NRaD8GZ*+CEd-lN4VW9)cMTyePeshaKPQcylYx4THFF?@NE)pc97S=51Ds2bc8~uImUv z>Th21-@<9N0YO7j+d>!^t4q%~&2yKi6O5w)YRF_)%)U~nlZDzHKFZON!2?0oC`vz- z#=IaO=e1X}%UtA3Q1w;{8pg1i5y)tmadZ!uHc(6%1Aw(5QVhZeK$032(Cir}7Ap~Jdu z4=#H9$^kyx)42kxoYB17pHmbT-yQ+^TN4x)oy~60`dPvgR8bRF9xx3?hK7M%5Mg)^ z#tYCFD@X*DgE2(bXjt`t)-Yhh>7@&Rjg;lv>R-5fA(J4n%^{u-;~M>S##dS1rF1i9 z)A2JpL$%7j%a`kVw+fAA^~nfU7i}8~=+%J%{S2tD@pi`L5i8`)q8;MHMc2AIEAqyw zT}<=j1Q+o!RDRL8V=$x^%n+dBIPDsf<5Z^7C%2n*F5R7XuKq%tsg}~IHPwvPcSd5H zdf^|X{PGe0d7E#v6Z5kA7`oDZTv+iQGarEt=7$U{YQ}+)@7cOJ%fG=RP?uh(gDLbZ zi)8gSjvL4!%XJE9?B%Reolf<%l?%-7puJwbtWdj(R)RQ8!;{Nc{NmWB`7wwrFbgv$&N_c| zJHIwr=#+0Tnv&%93dCJ?co}izI&Yqcli7VPELyOpFFvCT%%d|qp<^Fd!^ zkBp2CdesVFpYjznvVKdroN|(imj5RG9!y>8TH3-1bzM+%n)T0Lg4N0!oLw)!)7~TX z&G$U#mD~LHt~Sr!@@wa!nJBWUE*>v8O@H+0W&zzR%MrEZG0l39(ibIVJKm9ERyb&q zwqc|-XSF1cn{I4v@(PNf1x!fo%0%vUxV<|GNw+!|w>YEZm#S3vFw-$Pk9|2z>-J+t zg(b)6z+7@(iwYrWvEYLWmjfRNkl)D0p*~=S%DJ%`rks`|5 zjG_pMRc0ye;@z0T2=%AR%vsJJcMo|&SH(~}#3GaOj=`xtwFA~U%_Yv=rmq23%;uB% z7^TzwZ*|Qtzn0syf*ME^b}3vyO^Q5%+Uw|z59rdZuAmP5=JO4@44;W5_*NS@z!$x> zcJHX;)5s;jQ9pHrK?ExE+n@=*cH}#1CYW_E&x58$=5l$Ih2Kdf|&MX5EX4vE9X-fR@z9%K#}LDfjKFxLaM z{e@stSr7xd)?Y_>tW3-4=EnJud(aKu(HC+z5Hj{*-wk4#)ee4jhoJ1;XrMuOnC`SB zrmp5^l1AN_lw^x>UDS48w_L-1(eBl#oCo_M3ScRyPvV%Haz9`?>FSv*xvBaqn-jzBOmI~)M8sSe~r@|VGBhoEb6^8oGoucO5eWf#| zaAwgsNV!USu<{Kw@*;%W%Q~Xq{*C4%Tso$iEa^R6@v~^O-Ppa*5V^QK zQxhduX*6OHo!W-t0lWUD3a4;KU?A-XDuT2wcKmacd)_lA4r69Vc_UJ=mB8#hP=CR#+tF-ij+Sxg#`mK$Z zO&=9kO8^!E-0!*<9>6_JQilWe9SDQ0zvTc=goTXikacri4Km~UP$35$tmeGh=~?EM z&w(_;z*6iFdtO1PKE26U{DJiJk|Xow=0(GJ-)&7HBnr0gd&g-M6NwNl{b>6vR;>tFK?}C z#mcldU|n8j`!*<2LpCPndBJgg-Oy zEDP>}#VR1Q004~mwig9Lx@~XaSj_y&&vq}4;a~wm+}Uo`$joOW0<|?abOC_rmPj() z-pl(rXUEj#PHJ)D_$-0}HWLGQ5HLWyFei*m&|Nd=Yj?K7#Hr< ztwJ80fftDF?Uq~w1{_OABA5@xZ;j4m+6ojrTM&M@T+>v~bnHSeV5wSP7dAz=i+)zf zTfE;$p`%9Y@{s7rg(^U4^2GL2%N1-v=y0FzxFl>@vvehD4MA7t8HTP?F%$Tz`6TI^ zm~H}8{F`FIHXE>Zd9a8!NT}(`uf2CI!ZT*F(_Vcg2)xroeQng$Z-x$%uFr3(UsrV# zO%Pf+vWGn#g5XiWsAtIoMV0U*V}?at>ieq;swNp{GQ|Bv%WS9}^tpF^&S|n-eEuXW z1Tw@l!H0H_%?O>=Ok#Sew{Kr ziR%PcNN?w07HEMpb1-LXkcwHQwk z#JL5jh>>i`pZ2_NR|86D(ogFB6*Vss7BhxVw5~;}3kl3oRXT&DmL+aW0CkJsR0P2$ z{2RCM76pP+hjZA{)6tTb&6+AE^Wwg4f@wuDjZCvDLWfexJCHX(?d4%LieVj)?d!-S zXxfAcqDFEms-lgk`u$~b*wxgDN|`2A1pC$YhjO;P@Vn{mI}6Oao%8R z(!D_Qtt39aMy+)|->2Oz_w3wRYhr&ey)Tfc+<9R=*NhkhAw{;$mfX(6IB`B*3)AgO zYNa?a2<^I$-Gd=>t&8aw%b}Szl?f>(nNSYqu1;prh>z4VQcvIdn*jqHkCWR)5dk|j z|K(Bv0^DNk^>>-E7j{}->kk<`CJ!%rmjk{d8^Bj>Ot^K_2CnE1aV;O|P3rJDNv!;$ z#;Gc?dOqwoRe%CpH&H_T(Ddyew7-8U3<2CFd`NL_?C?p(Ka7DK#OwYaS5V@=sr+*& zq7?h^OllP-;6pesjf*P2}vN-uR6bnol zyBCV|>sK3zy7<`>%ay#25*w~&|Mir3w(sp1o*Fqtw=^zNNbyUJ2aXo{hov>o@W$jjA77P|He zB5;qL*D4TtK(N2hDs&}0BHXyqb#BLnVkd~pT$+fcoQJ@eu;G)Fj`9JwM@wZb9GwQQ zH%W01T(bm8sq*yctV!0ryvQhb=+imK34y5)OfbKxcsE{ky8EJc7@v$uqU&Z~#F}aF z85&O;*2LB+Tv=)cFhf7Z2RL24dtLndaB1#BA6K@!4I^Pf_(krMDty_PGtzCU9Ahy@ zieS};I_V*S=*y-txD*2^))e@{+fzQUwfsr3&J|QjC!Wc2?O>X6M0^kq5nV6+c{ncM z`0PV%u6}J&qi44l<20g+J+tB_WyF2M)L~+Jo;Kjy!v(83siH(0giQaps0hZ)JwJC# z6BnWmWfH=yeAW%8wYbnOc?tSrM#p5=c0AA1>&vWJm&!CC_2WZ-UNHHkMlFZK>A;Ja zC%!E}j3XM4pfqj&ruroqje4L$J@deYC`VGM4Zi;ws}t=Worfeuu>2B=+jZJJaK5D# z^W6Q}_m#uVe(S9v1Xw20;oiM3Q<@gV>oeYsb5muCGUXpixm|O#rn*ecyyqK1d;}%@ zcfv98E+Js9@thnLTN-&L(n2|5-91wSEYD3DuP?pRY`rKt33x6a#AK;!RrD$ToKxgf-y z+XeFao4JC*SC>a33>>5kUnZH=Dku^{FU!42;8`0gmBiMR=AZZ|F){@V!}$UPVb5^J zZ3|ODZ7IClD(C9hO;;N+CV6HyO%m%b!bM+(wVDXV+#|2H>eifGqECBvl0ND*m zuOwhV8x0T5I5*58wL6UefmMNvfn6*3f@1RDD|xT_ML^z4C7zUw#Jd| z=#9~wkaX3vVpSbod5Y$wv8zdy#tFw+{w#WW4fUyAhO5Dj9&!39#zSiT(>-qM6uWH; zRz1j%?y<|>#Q=sk5e(iH1Zp~G-?;cD{@sPg5g+ta*#!SUZ~pxU{QKvBk-@xV*Hu1M zj87qF0H}7e9T0NI$Pyu}Q-l&Nkq@LBG6LU+%`2O~?@wW5)FpaF)PhON@iEAJ9~c=M zu{5#MS_G|HQcJ>mF8)Z&kivz2SgIQ<+sm6_43#z=PW z^CyatBt6(2(qUf^stv&j%oD0@3U(OB^byZJ! zVz)4Sz+rLrBDqmQB7hA#@(mB63E-PG?^dbyeKnI`$G%+_j_tWoA1_`;z-TPpU*r;^ zIt@0GU3d$+h#Y(y1T<+^**a>-b`TYT9TWj)+$|Sw9NKjmTfN>?*H`pFG-CnUn!?4DGfx|JZ0q)jz)zG3 z7y%>gb~thaM&UJv38>JLrmI8RXcS$?U3$4jj-X2=mB>q-@_V29`BO|z2P!vN;~m3k zUj0SPo65L%q1tU5;0Yraf|0rm-56_h$WXQ5m(p()ME8%MQm$tO47t_vR5iM9j5PZj zsJ^M^^NH%gjUGrez!C}p?LH+XGl#1gh$35saMrDn*G0vhy8-U-cJ6>-pxMh(^f%Qv z9t6d7qJab^r^z)khGd8lY;cX;DWRQ8jI6w+xAN#`dYmqPyVYU2x*TFcm2jDDdhyat z8OT#Th~_6kOy*LdnB3+)q0zWtZrSBDixK@`g&vdQ^`U+(iS`lLknY+wxuaV{$K3@1 zz2It*cgReF@xlca<-P&}KkR#{Rr7Fmrd~z0hj%wy7x&}rv}@7Ns03G@uB!ln9LjEw z76^f9SDL;vj8;LE@^I z`;%1tOku^>bDENQdTlp69gmL6%NjQoxxDCZ8U*^7iq~v6mCd!NujMXO9CgA&`1r@Y zq^BU5AgJKOiCyiviO^~W6>*}t?+ky&WN&2=L!BYt6aS*3;p=o9V*nEpNSWOOSfM$l zggl@I$T9~#z<@qjUz*!8cK;Ad50C%kf|(`Wn=aD1I~o2Z<_mudGQ0YRvf7|~ohDj* z6wwlIC#OS~iz&4q$PQ0SjPO;OF$+&L2`!LQD6KK}whYHZgaGXW*zNiMcI5**fcUw$ zy<|nyhg}*A;L!F?@y=UQEwrB)F0|jN=6TX~>m!v}-)o<+-oVz&A8DyTo#hc3vgG;z zRu~I*;@e;}h~Z*IHo>?<1*8ZLE6G0y7;bPG<`I`qp_X;Eq5InPBc?CX%?P%3a=#pq zzQAU-WpV+9IkX#RM4Yul(KAOJIT0dE8Oi@q)t)FeWw9xL!9$^+`Z4KKBY}x%^2h1P z0RueSr|sItQ49f`gj-8HPoS{g%6ZGgm%e&&lGhwa$Y@PrCNVX}#NY^aaw_g@SFz3K zP2)EV1v9@yCDvjGM&797Bi=_v>bb@waQMBgx22Pby}Mey{#kv+jl?2?w;f9WpFWXU zWt?KfI}QPcB=Eo!pLQ*t_))LhSL5`@f1S~f@cA+;R$M9WAsEFZ5P6yT3+LM(P8%np zpYQ!m|IDd>;yKN#Dr);IPP(0P4JRL_0)qLB!LGK5j^>ZLmLATDX}r6sB@|PPd=u-N z0ZI9GLvIu-6TXGioubEo82(iXHfSN|D{H}B9K0?Zm}*)pXnk0E)z89G`1RB`F^__v zpNHi?Q^XHbC{pfs03u74By(d{sB4dj;|Anmso(7WQXJYEn~&Pr2rve$!{>f`Q;rMfHpPz>T2>XH25=oi}>8d!y2ClwYq z3=xeS=lk0(mOS506Ey6eR=edQl$SkZ!mTUO-s|e(x;r+Px;wT_Sz3cki{m}93p+HQ z9mbE|1W$yL)X`f(exJASAl!kK=YHDaP4>u2K{jKx*>J6CKd}b~#p4Bv!MuL9{%o*vRYZ=2M?IAD7J;zZxH**vkJUO|mM+ z{jaekc~sUQP99 zh@ik17XF0qtz7CLze7*_WpXs*_6#=8;%5`w)2$R*&>fqKU~ZBaq>AW+E+I|M8-2Wz zs6TMG@B8H9>3~wKd>eueb_XXC*<^r5d*b(a9m7f-=V2``{PPuzPOV4{Rd`=n63Oti zOuD-pz`PEpg1fj)Qe$X7l*4VK*k>?4?Yc~}T!5XFE&S%{DZV|Cfe*?ol0O_fFMM^2 zHl+IgdHZQ5MipqhG{bL=l(w)CLciTYorj(ERW{h-@X6O$PQLPLv$CX;C(O{CMk6Pf zS}|~!^<}`u&|ULmGk`Ez34iAWpHf)@+-6o1`yOx$z46MMf$itbHAQ%`%?9PjSYAm{ z<#}L};2n75xD^}PiNfkJPOh~HE_!vhA_>V^>y`cN!Nm@7RoSXa$y5vH?V!|EH^Z{S zRnHVY&$>(gp8XCKyHEw$?!+Bn;5%o)&Y&4~aTl;DU{?>5MB6{oNO^ zm3@EjTEdT5Hk(r@Q~UoJ(*ApB`;Q(~jL5}s+fcx~NirMi3T6RaxD{2%tLl0dF%$W| zV6VwG+(K0a|i3MBp)Ll;YqzZi>v)kX7yaU4oH`X#ej za{7<-BMbH8Zx2_-KS%d)3Fl!FPG&v(L^V|%OY=r^(;MaeP|1sci^9=187)0^(0UVU za5u$8|KLe_xtzZdmfG`+MP0j6w0Cwi(@pO{O#qHrxTQ@5!Hfx37+yPlasowEK2TOW zV0ms1>i1*>gQ~1eujJZ^EEfAb6RfvFGhI|FNRYTQNcz$l>kBvY6&2uwE&Nff76jnnF;h&15V zI>48@_#4N|mY9Ut0Xy33GoAJLpz5b-?<&~z1fM+ccTi=+toiOL$#*KdTB$f76MKM7 zB+{BShcmBIQ|R@R_K_S$J8cuV#hc(ihb)s5f2T|KKwdo`kYGywqv%6(3a3taXrW61 zPW?le*U-f6KffO9NInbeBwA7iZh@*rS{aPduO}P|94%j)CPw*-B}UKaRbLQvpgP-B zs}4>3BEi%{_3_k+clgW9{=LpY?tobooeC|%Y0<8mF(mZa5KJ5cVoV2hj2rl(94u~a zFeIe*pGuLx8T`!JR%4}0zF5WcFnHk`V!98%M`%Pdat4g3uvZhDu-&b-AjhEgRl~&n z!z#hv$YcjC-IZJqP0=v@>oBCmv)V0ir`vl9E1?J7=td9iFi+*t)^9gPY*!vjfO_;vySO<8eZpZLy4jmzksWZyHL|tXVCF*8s*!+sc5O8Zw`!-^g*tbmHW)g zCLa(dHXS@izPfF$UAMc`;Kuf!??Ga~)#cm1xIRq+(S`UT;Cs?_aHQZv7wd<0376)2 zSjC+!Pf1O_jCOj(Y;W;%#ivWFw(n#|l`24L3yiEKv9WZUs&)s$ZeaO9^jkg}F1ZuD zdVZxl|sITZih;5=V1??B07$6juZu)*AJhTD=qKlHPk13FR5!% zHP%e-N$544uFU<&m8X&W;Sqw1j0yc_OejZp?-T+V9t}<{7`+f>$pWTnVOl?`SXg-0 zl#FVQp*|HH$D($j5dHhC&b_&6lUoi2;rH0ln-vpsUX(B z#V1oFol@lrLvEybzWc??wz=q8;>yVQq0Oqm-Y7hBEN=DDBTb9^iKe*W!Tc^m(fb~e z%hl1vyS2+~YbdrBE`r+<2S9T{*G4=ncs#zy^ay+1BpW(s6aK8{j9d6aWAi{-&MT2Y z>rai@89B`8EjdeM)9lXWvDa!VVOdm|=7~k=?OHpmI3U{;6##OWKEekVgzuHR zevaF=W&En@KC?h5S@vizyn#5R9RWT z3?5S9N_-rQKelux%#0`v_@8|N6C!7T(MBY5LLAP3!pyh>COq?Tx9|_zhS(7qlZ47^ z2M(4Gs#dL)1UE)9R1&hAoYmQFt2eF14U2tWpdxm==a1rvel7dDbG0r=`RI$0PX!V` z&iKpLuFM{1b}m%al7u11?jW#zIYC3E53rPrPPmm!M&PAob}St&rIYcQcVJEa|FH{{N5bu<=O3b=lO76Kk)+YK`ofh>k;XP+0I~&Cl*#1h) zGqYj6j6}n?_Uuvora@6ku=I-@(ffL@>(lCmIoNaSQv>#0@e``fn>M3YQ=EMIa~$T! z8+;l@Dvm3b5R=lKaOOkKUjQu;W-ux@80KA@cyx<<8J{J)#ra&KYn=Z4^0Og}NhOWz zS^{WRHwJ(v5qP-A;=so`j2z_J+$!Hn9PiBAkr%fXewc7jHjZ({#TDVy=Bm@0thvqU& z9Xt%QFT4rHw*ykX>JTxnzsANf^y|~IxIf@WKbh#~^l6?e+r3^W`mSL@=&O5I!Yfqu zM9^-*DwhJLL0DbLWkMq3J3bcO2oPP<18+Bhk>SVlGhZ=xhH_|^>Yu%hTGm(zF{IOA z2!>oD2>KIUU>@WcpoLb3beRA@7q%F&JnCG{$m3`%AX+Z5>qVdJYK{0oXLNmEmf82l zApiMqEYysVSE?K=e(F_?T>almk(EdgY+tHZhn7y1GPg&t(rV;16?&*Anh){H4OPkS)6{%zCAD!Y$)W7(OpoEs8|QOlD}wcPZU!*m z2Dkfh-55BDwW>XnM_Cu$pGn`u%lmnxT2p#E)AN~0k30K}VVzR~zIAlPrdop{jl{k)^BTp3+@q ze|jQAKo8$-f@(3ec&WRaeE*I$W)P7cMHCe3D=^c%l7Kc5JS`(scBwAXSEC|ZeLqll zee8d>djF%gaASaGTMgPi1{yA}VKEEnBVf&w1T)l%-3rO&+i=&pWp&vANYdK9sCic( zwT-`mn2uzJFQ%>BzTM~Tn1BR)c)E##1VqOI2N>-SW5um> zzg4!olRfRofYmUz1&`Lz6YEA58y-dKaf($Yx}Jtlg3NHzVI+B+2u7rn{x=m9 zbVhx=#7jI~ZL{60DbeVrZy|v9&#Kj|n_(6Ug*J8lizyhYHS;}k&aAQCa z`#E4>$z%uFUZ^-;a6UMK_rdQdmjK{?hFhj%HBlFK20#xG1X~qeIB>D;PL$fr6QbSZ zA5z+UTUVx5e1H1ykbQ8`AuS)Wn?=t|fs-b^aecnR+c$Hsn!LTCv3Thv|FkII#U&V7Z9j>LGX|F|vFXbt#5NS38GV^vp6#YJ(=h3EJ-$dQ!@aQz(X)#fCQsd zom&{6;3$j-vlzg)RW95{ur<4W@Bpjd&XKBcwXv86SF)B`K25V!dUu6wvV?x zjb{_<9f@?%k9@fo;GJ`JZ_Yv&W5Ip9a0Lo|B%?X6B!6{hrFf?AIbcq|sQd80-NTb{ z5Hv%?Kg6l;@O~!PbuG}jVMbI02&Xr-`uSJj{8Bl#(FTm^K`TFE+hXtT?4O(EvG?yg z-dh4si{NLf2?yBw06(Xd))nTvxK1*3$u%>nQswxtj2g+VZAf@*345^pCD0d^B>Lc$ zpgA`sxVT?g57_ZCq=CjgM7Sbq8eT&I{ibq)zx36AA4CzkwdLfwc69`GDR)+6q z#{R*nLHrAHmI_dp17jx_s;jFrLJK!)c4$IKH|%k}E~hjFKJ=|1!(+b1eqS#E9DIp0 zwsWP@I|$-sm~A~_A)hhrqfK$h*PPTP|429$yqT&Cai2q zVKl$;!)ZKmLHcB1?_Kk~?$nps!5k^&a4&W{?OW)D#Q9x&!186+*lk!Z*} zdI&b40Ni&<4pEBmz_xs*8&s+{R z0>kv~B08e%7Qs7KM7DsR^U{QR;tj$J#t#|Pxb1!OP3}t{>5IL6d^?t27k&2Zcl{et z+kY3g{m&lRLNWe46lO4k<2>I%%OJVX+S6vuWnqP!eG3sVTej0!6&ZOFKAVlqGkUsO zbZ;|#qKL)V$Zil+1^Nad*nvVGpeOKaBq4=SDL2X#Ubh0?{q0^=??C~vQE_kW&RKs( zRkoSb)ya}U9^>oXx+$eN0 z=e`Sz!SHS(QFE+xq(63ek)hzmF5->iuP5sstRZKeR{M4F;)G_Lw0dTHCZCGz0wG7U zraI$}RPTJNOP1LPYs`$L#dZSs@=Rlxa*cC6=gp-nlxP4*h$Vz(tUS|r{?$-Fk|&<$ zy|CzQm=1Hid6u73?}Yz=Y3*cIKBDwNu<_0_7p?=` zC7?9FM%Kw~2np!H$4s~-QBa6xO20qbBAf=^#)Vx1Vj4zZEC#nFnfugkH-Vm{JSsNq66r}Oq)!2BX=4R{&+Jadw?|q)m zqgST6ITJROlxh`sauVEbk6=3(G6K6pnFn^*h=DOFIq7OLVq4*0DNGq9J&?J3Y%+&R zJLFs~Z%0i{P%cR$TJ8`4?0}YL28EUn5rtP$I+w|az8jaxIfHO{6^QONMWW|nCtHnR zq|6&aq^($~(;#c9;ePkLd9Ru2(D*fC%}jOY1vbvEOOdZbW;XIrBBP|0T5=Rc26i21 z+2}>QMS2E&7NvGRp(ek+bb%wCXtIk?(w;A$eayw7V6_epXS$Ldr^=0H>iK;kCE72>K47K2EP)ex_KNB4EL|WRI16(uCEUf5 zz}2BL2#JNtyf-oKD=S5_(s~{n4s*^&nrW!XNi(yA=_Au--o5+=SP3xE16<#P{#`xb zpVTQI`maH$|4bG9uio>|E3Mc4xsQ+X=hyk~(s^0+jBNk24d8$0I@$iqrd%s!BXcx zdYk{X zyq&CiPydqK(m#s9|Hto7^%9H${|a{atP)^fQT>N~MKFB%HO`LQjylvb&Ut#L&kWE5 z(Xg`g#FPUL7$U!^+(BgK>h-ZT6*1uJA8CUh0d%P$acx(TiZOu8@baHk5BaP2{TIm; z!~fw9K)@}8SIs(f_$vnimIpo<3z?@QUhz2F&{K_bmjX|Qz~frnX~o@}TO+*POF9B} zdaADgPGLpU)f|_xABn?=X4apNcy+T*X^`!IQw7H?4xXF`zCcA= zB@ldk+KnQBAeit0T)xi;%H33;nf&v=?)cYu{GT~Lp3SpZ)r_xdCF{$yX_qWnV?QSV{*r7?6n6C>@Vek{s*hKHQ(?p( z$kb)m!T-Fva{hdeDD}T?`L|u?U*kfB`TyNys1>@Xd#~RUMc>MIb_9?x)cynTN_gjk z;X$#sP3s1s6CuceU9)3B`^CUp=noR7Y`b3FuuRQ$NIbcf?2 zVJnpZ$on3M^iCeAkv&#-|F_fgPZ!lm5{Pr~pX$GdLJ7f`7^)amhe)cNd^Q+ZjF)LTsdV3YDZ@t?0So8XcZ0sK`xd9PB)gStBq>@yAHfbpINU|BuE4$jzAluh~EGxx!wQz)&^c61X%O*d@Ds;0mX0LsQQDKShgN_I})+0sHE6cZ(Tc(uCygBcD`*o;LO8J&>esJzu+`K}d zx|!vs{Ew$-RbYtc9YQ%$gmF{}xG8{EQjLZSw23sB!X-HV_^sGmGioeFer>(YqY`lF z)y}VFsnX$BK08Rsi9A16r>(rKgk= zg?+1u`o_hs1uGxF)w}3or`%Pm_SQ{Kb75J`uf=CW{M}I=q3Ovl7z6C180LpOKVBz#JaNV3FP}hL)b6)!IU5{w tE&k}NCv2B<+_i{Gq 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


        =4k0Ay&5UN9=glAd?4r7R6yh31dt7L;8@wkW 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 Y01Nt$BR&6i{hyJl;{Zqp*`JyJ0o6S<>;M1& From 7505a986974ff1f77bf1f0ae5c9bdd5ec0ecc831 Mon Sep 17 00:00:00 2001 From: Basir Date: Wed, 21 Oct 2020 17:49:00 +0330 Subject: [PATCH 44/65] Video-42-List-Orders --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 4cf23867..f300221c 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ # Amazona ECommerce Website ![amazona](/template/images/amazona.jpg) -# PLEASE DO NOT SEND PULL REQUEST -# ALL PRs WILL BE REJECTED UNTIL DECEMBER 2020 +## PLEASE DO NOT SEND PULL REQUEST +## ALL PRs WILL BE REJECTED UNTIL DECEMBER 2020 -# React & Node Tutorial - Full ECommerce in 5 Hours [2020] +# React & Node Tutorial - Full ECommerce in 9 Hours [2021] -Welcome to my React and Node tutorial to build a fully-functional e-commerce website using MERN stack. Open your code editor and follow me for the next hours to build an e-commerce website using React and Node.JS. +Welcome to my React and Node tutorial to build a fully-functional e-commerce website exactly like amazon. Open your code editor and follow me for the next hours to build an e-commerce website using MERN stack (MongoDB, ExpressJS, React and Node.JS). ## Demo Website From f23a0322bfcd93ac99065164d9e518689d978643 Mon Sep 17 00:00:00 2001 From: Basir Date: Thu, 22 Oct 2020 10:46:34 +0330 Subject: [PATCH 45/65] Video-43-Delete-Order --- README.md | 6 ++++-- backend/routers/orderRouter.js | 15 +++++++++++++++ frontend/src/actions/orderActions.js | 21 +++++++++++++++++++++ frontend/src/constants/orderConstants.js | 5 +++++ frontend/src/reducers/orderReducers.js | 18 ++++++++++++++++++ frontend/src/screens/OrderListScreen.js | 20 ++++++++++++++++---- frontend/src/store.js | 2 ++ 7 files changed, 81 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index f300221c..0fc199b4 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ $ cd amazona - Atlas Cloud MongoDB - Create database at [https://cloud.mongodb.com](https://cloud.mongodb.com) - Create .env file in root folder - - Set MONGODB_URL=MONGODB_URL=mongodb+srv://your-db-connection + - Set MONGODB_URL=mongodb+srv://your-db-connection ### 3. Run Backend @@ -319,4 +319,6 @@ $ npm start 2. create Order List Screen 3. Add reducer to store 4. show products on the screen - +43. Delete Order + 2. create delete order action and reducer + 3. add order delete action to order list \ No newline at end of file diff --git a/backend/routers/orderRouter.js b/backend/routers/orderRouter.js index 213909e5..0e24faa6 100644 --- a/backend/routers/orderRouter.js +++ b/backend/routers/orderRouter.js @@ -82,4 +82,19 @@ orderRouter.put( }) ); +orderRouter.delete( + '/:id', + isAuth, + isAdmin, + expressAsyncHandler(async (req, res) => { + const order = await Order.findById(req.params.id); + if (order) { + const deleteOrder = await order.remove(); + res.send({ message: 'Order Deleted', order: deleteOrder }); + } else { + res.status(404).send({ message: 'Order Not Found' }); + } + }) +); + export default orderRouter; diff --git a/frontend/src/actions/orderActions.js b/frontend/src/actions/orderActions.js index 8ba9d045..e033c41a 100644 --- a/frontend/src/actions/orderActions.js +++ b/frontend/src/actions/orderActions.js @@ -16,6 +16,9 @@ import { ORDER_LIST_REQUEST, ORDER_LIST_SUCCESS, ORDER_LIST_FAIL, + ORDER_DELETE_REQUEST, + ORDER_DELETE_SUCCESS, + ORDER_DELETE_FAIL, } from '../constants/orderConstants'; export const createOrder = (order) => async (dispatch, getState) => { @@ -122,3 +125,21 @@ export const listOrders = () => async (dispatch, getState) => { dispatch({ type: ORDER_LIST_FAIL, payload: message }); } }; +export const deleteOrder = (orderId) => async (dispatch, getState) => { + dispatch({ type: ORDER_DELETE_REQUEST, payload: orderId }); + const { + userSignin: { userInfo }, + } = getState(); + try { + const { data } = Axios.delete(`/api/orders/${orderId}`, { + headers: { Authorization: `Bearer ${userInfo.token}` }, + }); + dispatch({ type: ORDER_DELETE_SUCCESS, payload: data }); + } catch (error) { + const message = + error.response && error.response.data.message + ? error.response.data.message + : error.message; + dispatch({ type: ORDER_DELETE_FAIL, payload: message }); + } +}; diff --git a/frontend/src/constants/orderConstants.js b/frontend/src/constants/orderConstants.js index 9d83d34a..afd2dd40 100644 --- a/frontend/src/constants/orderConstants.js +++ b/frontend/src/constants/orderConstants.js @@ -19,3 +19,8 @@ export const ORDER_MINE_LIST_FAIL = 'ORDER_MINE_LIST_FAIL'; export const ORDER_LIST_REQUEST = 'ORDER_LIST_REQUEST'; export const ORDER_LIST_SUCCESS = 'ORDER_LIST_SUCCESS'; export const ORDER_LIST_FAIL = 'ORDER_LIST_FAIL'; + +export const ORDER_DELETE_REQUEST = 'ORDER_DELETE_REQUEST'; +export const ORDER_DELETE_SUCCESS = 'ORDER_DELETE_SUCCESS'; +export const ORDER_DELETE_FAIL = 'ORDER_DELETE_FAIL'; +export const ORDER_DELETE_RESET = 'ORDER_DELETE_RESET'; diff --git a/frontend/src/reducers/orderReducers.js b/frontend/src/reducers/orderReducers.js index 1b1007e9..beeb3dd8 100644 --- a/frontend/src/reducers/orderReducers.js +++ b/frontend/src/reducers/orderReducers.js @@ -16,6 +16,10 @@ import { ORDER_LIST_REQUEST, ORDER_LIST_SUCCESS, ORDER_LIST_FAIL, + ORDER_DELETE_REQUEST, + ORDER_DELETE_SUCCESS, + ORDER_DELETE_FAIL, + ORDER_DELETE_RESET, } from '../constants/orderConstants'; export const orderCreateReducer = (state = {}, action) => { @@ -84,3 +88,17 @@ export const orderListReducer = (state = { orders: [] }, action) => { return state; } }; +export const orderDeleteReducer = (state = {}, action) => { + switch (action.type) { + case ORDER_DELETE_REQUEST: + return { loading: true }; + case ORDER_DELETE_SUCCESS: + return { loading: false, success: true }; + case ORDER_DELETE_FAIL: + return { loading: false, error: action.payload }; + case ORDER_DELETE_RESET: + return {}; + default: + return state; + } +}; diff --git a/frontend/src/screens/OrderListScreen.js b/frontend/src/screens/OrderListScreen.js index 0122a2e1..a42b33b8 100644 --- a/frontend/src/screens/OrderListScreen.js +++ b/frontend/src/screens/OrderListScreen.js @@ -1,22 +1,34 @@ import React, { useEffect } from 'react'; import { useDispatch, useSelector } from 'react-redux'; -import { listOrders } from '../actions/orderActions'; +import { deleteOrder, listOrders } from '../actions/orderActions'; import LoadingBox from '../components/LoadingBox'; import MessageBox from '../components/MessageBox'; +import { ORDER_DELETE_RESET } from '../constants/orderConstants'; export default function OrderListScreen(props) { const orderList = useSelector((state) => state.orderList); const { loading, error, orders } = orderList; + const orderDelete = useSelector((state) => state.orderDelete); + const { + loading: loadingDelete, + error: errorDelete, + success: successDelete, + } = orderDelete; const dispatch = useDispatch(); useEffect(() => { + dispatch({ type: ORDER_DELETE_RESET }); dispatch(listOrders()); - }, [dispatch]); + }, [dispatch, successDelete]); const deleteHandler = (order) => { - // TODO: delete handler + if (window.confirm('Are you sure to delete?')) { + dispatch(deleteOrder(order._id)); + } }; return (

        Orders

        + {loadingDelete && } + {errorDelete && {errorDelete}} {loading ? ( ) : error ? ( @@ -60,7 +72,7 @@ export default function OrderListScreen(props) { diff --git a/frontend/src/store.js b/frontend/src/store.js index 22f2573a..53d6d51e 100644 --- a/frontend/src/store.js +++ b/frontend/src/store.js @@ -3,6 +3,7 @@ import thunk from 'redux-thunk'; import { cartReducer } from './reducers/cartReducers'; import { orderCreateReducer, + orderDeleteReducer, orderDetailsReducer, orderListReducer, orderMineListReducer, @@ -54,6 +55,7 @@ const reducer = combineReducers({ productUpdate: productUpdateReducer, productDelete: productDeleteReducer, orderList: orderListReducer, + orderDelete: orderDeleteReducer, }); const composeEnhancer = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; const store = createStore( From 422510e9870bccd75b59438ad5e24cae931f08b3 Mon Sep 17 00:00:00 2001 From: Basir Date: Thu, 22 Oct 2020 12:30:19 +0330 Subject: [PATCH 46/65] Video-44-Deliver-Order --- README.md | 5 ++- backend/routers/orderRouter.js | 18 ++++++++++ frontend/src/actions/orderActions.js | 26 ++++++++++++++ frontend/src/constants/orderConstants.js | 5 +++ frontend/src/reducers/orderReducers.js | 19 +++++++++++ frontend/src/screens/OrderScreen.js | 43 +++++++++++++++++++++--- frontend/src/store.js | 2 ++ 7 files changed, 113 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 0fc199b4..4440d184 100644 --- a/README.md +++ b/README.md @@ -321,4 +321,7 @@ $ npm start 4. show products on the screen 43. Delete Order 2. create delete order action and reducer - 3. add order delete action to order list \ No newline at end of file + 3. add order delete action to order list +44. Deliver Order + 1. create constant, actions and reducers for deliver order + 2. add order deliver action to order details screen \ No newline at end of file diff --git a/backend/routers/orderRouter.js b/backend/routers/orderRouter.js index 0e24faa6..b9eb2fdd 100644 --- a/backend/routers/orderRouter.js +++ b/backend/routers/orderRouter.js @@ -97,4 +97,22 @@ orderRouter.delete( }) ); +orderRouter.put( + '/:id/deliver', + isAuth, + isAdmin, + expressAsyncHandler(async (req, res) => { + const order = await Order.findById(req.params.id); + if (order) { + order.isDelivered = true; + order.deliveredAt = Date.now(); + + const updatedOrder = await order.save(); + res.send({ message: 'Order Delivered', order: updatedOrder }); + } else { + res.status(404).send({ message: 'Order Not Found' }); + } + }) +); + export default orderRouter; diff --git a/frontend/src/actions/orderActions.js b/frontend/src/actions/orderActions.js index e033c41a..ea3ed52b 100644 --- a/frontend/src/actions/orderActions.js +++ b/frontend/src/actions/orderActions.js @@ -19,6 +19,9 @@ import { ORDER_DELETE_REQUEST, ORDER_DELETE_SUCCESS, ORDER_DELETE_FAIL, + ORDER_DELIVER_REQUEST, + ORDER_DELIVER_SUCCESS, + ORDER_DELIVER_FAIL, } from '../constants/orderConstants'; export const createOrder = (order) => async (dispatch, getState) => { @@ -143,3 +146,26 @@ export const deleteOrder = (orderId) => async (dispatch, getState) => { dispatch({ type: ORDER_DELETE_FAIL, payload: message }); } }; + +export const deliverOrder = (orderId) => async (dispatch, getState) => { + dispatch({ type: ORDER_DELIVER_REQUEST, payload: orderId }); + const { + userSignin: { userInfo }, + } = getState(); + try { + const { data } = Axios.put( + `/api/orders/${orderId}/deliver`, + {}, + { + headers: { Authorization: `Bearer ${userInfo.token}` }, + } + ); + dispatch({ type: ORDER_DELIVER_SUCCESS, payload: data }); + } catch (error) { + const message = + error.response && error.response.data.message + ? error.response.data.message + : error.message; + dispatch({ type: ORDER_DELIVER_FAIL, payload: message }); + } +}; diff --git a/frontend/src/constants/orderConstants.js b/frontend/src/constants/orderConstants.js index afd2dd40..fdaf0cc3 100644 --- a/frontend/src/constants/orderConstants.js +++ b/frontend/src/constants/orderConstants.js @@ -8,6 +8,11 @@ export const ORDER_PAY_SUCCESS = 'ORDER_PAY_SUCCESS'; export const ORDER_PAY_FAIL = 'ORDER_PAY_FAIL'; export const ORDER_PAY_RESET = 'ORDER_PAY_RESET'; +export const ORDER_DELIVER_REQUEST = 'ORDER_DELIVER_REQUEST'; +export const ORDER_DELIVER_SUCCESS = 'ORDER_DELIVER_SUCCESS'; +export const ORDER_DELIVER_FAIL = 'ORDER_DELIVER_FAIL'; +export const ORDER_DELIVER_RESET = 'ORDER_DELIVER_RESET'; + export const ORDER_DETAILS_REQUEST = 'ORDER_DETAILS_REQUEST'; export const ORDER_DETAILS_SUCCESS = 'ORDER_DETAILS_SUCCESS'; export const ORDER_DETAILS_FAIL = 'ORDER_DETAILS_FAIL'; diff --git a/frontend/src/reducers/orderReducers.js b/frontend/src/reducers/orderReducers.js index beeb3dd8..25fd744c 100644 --- a/frontend/src/reducers/orderReducers.js +++ b/frontend/src/reducers/orderReducers.js @@ -20,6 +20,10 @@ import { ORDER_DELETE_SUCCESS, ORDER_DELETE_FAIL, ORDER_DELETE_RESET, + ORDER_DELIVER_REQUEST, + ORDER_DELIVER_SUCCESS, + ORDER_DELIVER_FAIL, + ORDER_DELIVER_RESET, } from '../constants/orderConstants'; export const orderCreateReducer = (state = {}, action) => { @@ -102,3 +106,18 @@ export const orderDeleteReducer = (state = {}, action) => { return state; } }; + +export const orderDeliverReducer = (state = {}, action) => { + switch (action.type) { + case ORDER_DELIVER_REQUEST: + return { loading: true }; + case ORDER_DELIVER_SUCCESS: + return { loading: false, success: true }; + case ORDER_DELIVER_FAIL: + return { loading: false, error: action.payload }; + case ORDER_DELIVER_RESET: + return {}; + default: + return state; + } +}; diff --git a/frontend/src/screens/OrderScreen.js b/frontend/src/screens/OrderScreen.js index f08bf328..091e177f 100644 --- a/frontend/src/screens/OrderScreen.js +++ b/frontend/src/screens/OrderScreen.js @@ -3,16 +3,21 @@ import { PayPalButton } from 'react-paypal-button-v2'; import React, { useEffect, useState } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { Link } from 'react-router-dom'; -import { detailsOrder, payOrder } from '../actions/orderActions'; +import { deliverOrder, detailsOrder, payOrder } from '../actions/orderActions'; import LoadingBox from '../components/LoadingBox'; import MessageBox from '../components/MessageBox'; -import { ORDER_PAY_RESET } from '../constants/orderConstants'; +import { + ORDER_DELIVER_RESET, + ORDER_PAY_RESET, +} from '../constants/orderConstants'; export default function OrderScreen(props) { const orderId = props.match.params.id; const [sdkReady, setSdkReady] = useState(false); const orderDetails = useSelector((state) => state.orderDetails); const { order, loading, error } = orderDetails; + const userSignin = useSelector((state) => state.userSignin); + const { userInfo } = userSignin; const orderPay = useSelector((state) => state.orderPay); const { @@ -20,6 +25,12 @@ export default function OrderScreen(props) { error: errorPay, success: successPay, } = orderPay; + const orderDeliver = useSelector((state) => state.orderDeliver); + const { + loading: loadingDeliver, + error: errorDeliver, + success: successDeliver, + } = orderDeliver; const dispatch = useDispatch(); useEffect(() => { const addPayPalScript = async () => { @@ -33,8 +44,14 @@ export default function OrderScreen(props) { }; document.body.appendChild(script); }; - if (!order || successPay || (order && order._id !== orderId)) { + if ( + !order || + successPay || + successDeliver || + (order && order._id !== orderId) + ) { dispatch({ type: ORDER_PAY_RESET }); + dispatch({ type: ORDER_DELIVER_RESET }); dispatch(detailsOrder(orderId)); } else { if (!order.isPaid) { @@ -45,11 +62,14 @@ export default function OrderScreen(props) { } } } - }, [dispatch, order, orderId, sdkReady, successPay]); + }, [dispatch, order, orderId, sdkReady, successPay, successDeliver]); const successPaymentHandler = (paymentResult) => { dispatch(payOrder(order, paymentResult)); }; + const deliverHandler = () => { + dispatch(deliverOrder(order._id)); + }; return loading ? ( @@ -179,6 +199,21 @@ export default function OrderScreen(props) { )} )} + {userInfo.isAdmin && order.isPaid && !order.isDelivered && ( +
      • + {loadingDeliver && } + {errorDeliver && ( + {errorDeliver} + )} + +
      • + )}
      diff --git a/frontend/src/store.js b/frontend/src/store.js index 53d6d51e..b049fe5d 100644 --- a/frontend/src/store.js +++ b/frontend/src/store.js @@ -4,6 +4,7 @@ import { cartReducer } from './reducers/cartReducers'; import { orderCreateReducer, orderDeleteReducer, + orderDeliverReducer, orderDetailsReducer, orderListReducer, orderMineListReducer, @@ -56,6 +57,7 @@ const reducer = combineReducers({ productDelete: productDeleteReducer, orderList: orderListReducer, orderDelete: orderDeleteReducer, + orderDeliver: orderDeliverReducer, }); const composeEnhancer = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; const store = createStore( From 5ca00246908efe404d1cc67fecbd7fe3fe31be97 Mon Sep 17 00:00:00 2001 From: Basir Date: Sun, 25 Oct 2020 23:19:48 +0330 Subject: [PATCH 47/65] Video-45-Publish-To-Heroku --- .gitignore | 2 -- Procfile | 1 + README.md | 13 ++++++++++++- package.json | 5 ++++- 4 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 Procfile diff --git a/.gitignore b/.gitignore index 0f8c48fb..3d7f660f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,3 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - # dependencies node_modules /.pnp diff --git a/Procfile b/Procfile new file mode 100644 index 00000000..7aa1f40e --- /dev/null +++ b/Procfile @@ -0,0 +1 @@ +web: node --experimental-modules backend/server.js \ No newline at end of file diff --git a/README.md b/README.md index 4440d184..43ff5232 100644 --- a/README.md +++ b/README.md @@ -324,4 +324,15 @@ $ npm start 3. add order delete action to order list 44. Deliver Order 1. create constant, actions and reducers for deliver order - 2. add order deliver action to order details screen \ No newline at end of file + 2. add order deliver action to order details screen +45. Publish To Heroku + 1. Create git repository + 2. Create heroku account + 3. install Heroku CLI + 4. heroku login + 5. heroku apps:create amazona + 6. Edit package.json for build script + 10. Create Procfile + 12. Create mongodb atlas database + 19. Set database connection in heroku env variables + 20. Commit and push \ No newline at end of file diff --git a/package.json b/package.json index f6c4ec0b..614705a2 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,7 @@ "description": "Ecommerce website like amazon", "main": "index.js", "scripts": { + "build": "cd frontend && npm install && npm run build", "start": "nodemon --watch backend --exec node --experimental-modules backend/server.js" }, "repository": { @@ -30,5 +31,7 @@ "eslint": "^7.9.0", "eslint-plugin-react": "^7.21.2", "nodemon": "^2.0.4" - } + }, + "engines": {"node":"12.4.0", "npm": "6.9.0"} + } From 24243039afa986dfb10844e1115b82ec9503bcf9 Mon Sep 17 00:00:00 2001 From: Basir Date: Sun, 25 Oct 2020 23:33:42 +0330 Subject: [PATCH 48/65] Video-45-Publish-On-Heroku --- Procfile | 2 +- backend/server.js | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Procfile b/Procfile index 7aa1f40e..637b1f54 100644 --- a/Procfile +++ b/Procfile @@ -1 +1 @@ -web: node --experimental-modules backend/server.js \ No newline at end of file +web: node --experimental-modules backend/server.js diff --git a/backend/server.js b/backend/server.js index cc63f1b6..ad95b17a 100644 --- a/backend/server.js +++ b/backend/server.js @@ -27,9 +27,13 @@ app.get('/api/config/paypal', (req, res) => { }); const __dirname = path.resolve(); app.use('/uploads', express.static(path.join(__dirname, '/uploads'))); -app.get('/', (req, res) => { - res.send('Server is ready'); -}); +app.use(express.static(path.join(__dirname, '/frontend/build'))); +app.get('*', (req, res) => + res.sendFile(path.join(__dirname, '/frontend/build/index.html')) +); +// app.get('/', (req, res) => { +// res.send('Server is ready'); +// }); app.use((err, req, res, next) => { res.status(500).send({ message: err.message }); From c95c1607650cfab868bc37e451e577492b9c596e Mon Sep 17 00:00:00 2001 From: Basir Date: Mon, 16 Nov 2020 17:59:46 +0330 Subject: [PATCH 49/65] Video-46-List-Users --- README.md | 6 ++- backend/models/userModel.js | 1 + backend/routers/userRouter.js | 13 ++++++- frontend/src/App.js | 2 + frontend/src/actions/userActions.js | 24 ++++++++++++ frontend/src/constants/userConstants.js | 4 ++ frontend/src/reducers/userReducers.js | 15 +++++++ frontend/src/screens/OrderScreen.js | 4 +- frontend/src/screens/UserListScreen.js | 52 +++++++++++++++++++++++++ frontend/src/store.js | 2 + 10 files changed, 119 insertions(+), 4 deletions(-) create mode 100644 frontend/src/screens/UserListScreen.js diff --git a/README.md b/README.md index 43ff5232..aa5991b7 100644 --- a/README.md +++ b/README.md @@ -335,4 +335,8 @@ $ npm start 10. Create Procfile 12. Create mongodb atlas database 19. Set database connection in heroku env variables - 20. Commit and push \ No newline at end of file + 20. Commit and push +46. List Users + 1. build api for list users + 2. Create UserList Screen + 3. create order details constant, action and reducer \ No newline at end of file diff --git a/backend/models/userModel.js b/backend/models/userModel.js index 35ddc82c..2c3bfa3e 100644 --- a/backend/models/userModel.js +++ b/backend/models/userModel.js @@ -6,6 +6,7 @@ const userSchema = new mongoose.Schema( email: { type: String, required: true, unique: true }, password: { type: String, required: true }, isAdmin: { type: Boolean, default: false, required: true }, + isSeller: { type: Boolean, default: false, required: true }, }, { timestamps: true, diff --git a/backend/routers/userRouter.js b/backend/routers/userRouter.js index 96b55093..e8eccbd0 100644 --- a/backend/routers/userRouter.js +++ b/backend/routers/userRouter.js @@ -3,7 +3,7 @@ import expressAsyncHandler from 'express-async-handler'; import bcrypt from 'bcryptjs'; import data from '../data.js'; import User from '../models/userModel.js'; -import { generateToken, isAuth } from '../utils.js'; +import { generateToken, isAdmin, isAuth } from '../utils.js'; const userRouter = express.Router(); @@ -88,4 +88,15 @@ userRouter.put( } }) ); + +userRouter.get( + '/', + isAuth, + isAdmin, + expressAsyncHandler(async (req, res) => { + const users = await User.find({}); + res.send(users); + }) +); + export default userRouter; diff --git a/frontend/src/App.js b/frontend/src/App.js index 9a61689a..106d0a54 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -18,6 +18,7 @@ import ShippingAddressScreen from './screens/ShippingAddressScreen'; import SigninScreen from './screens/SigninScreen'; import ProductEditScreen from './screens/ProductEditScreen'; import OrderListScreen from './screens/OrderListScreen'; +import UserListScreen from './screens/UserListScreen'; function App() { const cart = useSelector((state) => state.cart); @@ -116,6 +117,7 @@ function App() { path="/orderlist" component={OrderListScreen} > +
      All right reserved
      diff --git a/frontend/src/actions/userActions.js b/frontend/src/actions/userActions.js index 322838c2..83158f9c 100644 --- a/frontend/src/actions/userActions.js +++ b/frontend/src/actions/userActions.js @@ -13,6 +13,9 @@ import { USER_UPDATE_PROFILE_FAIL, USER_UPDATE_PROFILE_REQUEST, USER_UPDATE_PROFILE_SUCCESS, + USER_LIST_REQUEST, + USER_LIST_SUCCESS, + USER_LIST_FAIL, } from '../constants/userConstants'; export const register = (name, email, password) => async (dispatch) => { @@ -59,6 +62,7 @@ export const signout = () => (dispatch) => { localStorage.removeItem('cartItems'); localStorage.removeItem('shippingAddress'); dispatch({ type: USER_SIGNOUT }); + document.location.location.href = '/signin'; }; export const detailsUser = (userId) => async (dispatch, getState) => { dispatch({ type: USER_DETAILS_REQUEST, payload: userId }); @@ -98,3 +102,23 @@ export const updateUserProfile = (user) => async (dispatch, getState) => { dispatch({ type: USER_UPDATE_PROFILE_FAIL, payload: message }); } }; +export const listUsers = () => async (dispatch, getState) => { + dispatch({ type: USER_LIST_REQUEST }); + try { + const { + userSignin: { userInfo }, + } = getState(); + const { data } = await Axios.get('/api/users', { + headers: { + Authorization: `Bearer ${userInfo.token}`, + }, + }); + dispatch({ type: USER_LIST_SUCCESS, payload: data }); + } catch (error) { + const message = + error.response && error.response.data.message + ? error.response.data.message + : error.message; + dispatch({ type: USER_LIST_FAIL, payload: message }); + } +}; diff --git a/frontend/src/constants/userConstants.js b/frontend/src/constants/userConstants.js index d984e54f..dbf65b63 100644 --- a/frontend/src/constants/userConstants.js +++ b/frontend/src/constants/userConstants.js @@ -12,6 +12,10 @@ export const USER_DETAILS_REQUEST = 'USER_DETAILS_REQUEST'; export const USER_DETAILS_SUCCESS = 'USER_DETAILS_SUCCESS'; export const USER_DETAILS_FAIL = 'USER_DETAILS_FAIL'; +export const USER_LIST_REQUEST = 'USER_LIST_REQUEST'; +export const USER_LIST_SUCCESS = 'USER_LIST_SUCCESS'; +export const USER_LIST_FAIL = 'USER_LIST_FAIL'; + export const USER_UPDATE_PROFILE_REQUEST = 'USER_UPDATE_PROFILE_REQUEST'; export const USER_UPDATE_PROFILE_SUCCESS = 'USER_UPDATE_PROFILE_SUCCESS'; export const USER_UPDATE_PROFILE_FAIL = 'USER_UPDATE_PROFILE_FAIL'; diff --git a/frontend/src/reducers/userReducers.js b/frontend/src/reducers/userReducers.js index 70affa5b..9f86137c 100644 --- a/frontend/src/reducers/userReducers.js +++ b/frontend/src/reducers/userReducers.js @@ -2,6 +2,9 @@ import { USER_DETAILS_FAIL, USER_DETAILS_REQUEST, USER_DETAILS_SUCCESS, + USER_LIST_FAIL, + USER_LIST_REQUEST, + USER_LIST_SUCCESS, USER_REGISTER_FAIL, USER_REGISTER_REQUEST, USER_REGISTER_SUCCESS, @@ -68,3 +71,15 @@ export const userUpdateProfileReducer = (state = {}, action) => { return state; } }; +export const userListReducer = (state = { loading: true }, action) => { + switch (action.type) { + case USER_LIST_REQUEST: + return { loading: true }; + case USER_LIST_SUCCESS: + return { loading: false, users: action.payload }; + case USER_LIST_FAIL: + return { loading: false, error: action.payload }; + default: + return state; + } +}; diff --git a/frontend/src/screens/OrderScreen.js b/frontend/src/screens/OrderScreen.js index 091e177f..ce656afa 100644 --- a/frontend/src/screens/OrderScreen.js +++ b/frontend/src/screens/OrderScreen.js @@ -62,7 +62,7 @@ export default function OrderScreen(props) { } } } - }, [dispatch, order, orderId, sdkReady, successPay, successDeliver]); + }, [dispatch, orderId, sdkReady, successPay, successDeliver, order]); const successPaymentHandler = (paymentResult) => { dispatch(payOrder(order, paymentResult)); @@ -83,7 +83,7 @@ export default function OrderScreen(props) {
      • -

        Shipping

        +

        Shippring

        Name: {order.shippingAddress.fullName}
        Address: {order.shippingAddress.address}, diff --git a/frontend/src/screens/UserListScreen.js b/frontend/src/screens/UserListScreen.js new file mode 100644 index 00000000..1c4f0fbd --- /dev/null +++ b/frontend/src/screens/UserListScreen.js @@ -0,0 +1,52 @@ +import React, { useEffect } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import { listUsers } from '../actions/userActions'; +import LoadingBox from '../components/LoadingBox'; +import MessageBox from '../components/MessageBox'; + +export default function UserListScreen() { + const userList = useSelector((state) => state.userList); + const { loading, error, users } = userList; + const dispatch = useDispatch(); + useEffect(() => { + dispatch(listUsers()); + }, [dispatch]); + return ( +

        +

        Users

        + {loading ? ( + + ) : error ? ( + {error} + ) : ( + + + + + + + + + + + + + {users.map((user) => ( + + + + + + + + + ))} + +
        IDNAMEEMAILIS SELLERIS ADMINACTIONS
        {user._id}{user.name}{user.email}{user.isSeller ? 'YES' : ' NO'}{user.isAdmin ? 'YES' : 'NO'} + + +
        + )} +
        + ); +} diff --git a/frontend/src/store.js b/frontend/src/store.js index b049fe5d..af9466d0 100644 --- a/frontend/src/store.js +++ b/frontend/src/store.js @@ -19,6 +19,7 @@ import { } from './reducers/productReducers'; import { userDetailsReducer, + userListReducer, userRegisterReducer, userSigninReducer, userUpdateProfileReducer, @@ -58,6 +59,7 @@ const reducer = combineReducers({ orderList: orderListReducer, orderDelete: orderDeleteReducer, orderDeliver: orderDeliverReducer, + userList: userListReducer, }); const composeEnhancer = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; const store = createStore( From 271dec49dfba67c3544639309f7bbb2b3f613127 Mon Sep 17 00:00:00 2001 From: Basir Date: Tue, 17 Nov 2020 08:31:01 +0330 Subject: [PATCH 50/65] Video-47-Delete-User --- README.md | 6 ++++- backend/routers/userRouter.js | 19 ++++++++++++++ frontend/src/actions/userActions.js | 21 +++++++++++++++ frontend/src/constants/userConstants.js | 5 ++++ frontend/src/reducers/userReducers.js | 18 +++++++++++++ frontend/src/screens/UserListScreen.js | 34 ++++++++++++++++++++++--- frontend/src/store.js | 2 ++ 7 files changed, 100 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index aa5991b7..722470c0 100644 --- a/README.md +++ b/README.md @@ -339,4 +339,8 @@ $ npm start 46. List Users 1. build api for list users 2. Create UserList Screen - 3. create order details constant, action and reducer \ No newline at end of file + 3. create order details constant, action and reducer +47. Delete Users + 1. build api for delete users + 2. create order details constant, action and reducer + 3. Use action in UserListScreen \ No newline at end of file diff --git a/backend/routers/userRouter.js b/backend/routers/userRouter.js index e8eccbd0..aed1fa45 100644 --- a/backend/routers/userRouter.js +++ b/backend/routers/userRouter.js @@ -99,4 +99,23 @@ userRouter.get( }) ); +userRouter.delete( + '/:id', + isAuth, + isAdmin, + expressAsyncHandler(async (req, res) => { + const user = await User.findById(req.params.id); + if (user) { + if (user.email === 'admin@example.com') { + res.status(400).send({ message: 'Can Not Delete Admin User' }); + return; + } + const deleteUser = await user.remove(); + res.send({ message: 'User Deleted', user: deleteUser }); + } else { + res.status(404).send({ message: 'User Not Found' }); + } + }) +); + export default userRouter; diff --git a/frontend/src/actions/userActions.js b/frontend/src/actions/userActions.js index 83158f9c..d634ddea 100644 --- a/frontend/src/actions/userActions.js +++ b/frontend/src/actions/userActions.js @@ -16,6 +16,9 @@ import { USER_LIST_REQUEST, USER_LIST_SUCCESS, USER_LIST_FAIL, + USER_DELETE_REQUEST, + USER_DELETE_SUCCESS, + USER_DELETE_FAIL, } from '../constants/userConstants'; export const register = (name, email, password) => async (dispatch) => { @@ -122,3 +125,21 @@ export const listUsers = () => async (dispatch, getState) => { dispatch({ type: USER_LIST_FAIL, payload: message }); } }; +export const deleteUser = (userId) => async (dispatch, getState) => { + dispatch({ type: USER_DELETE_REQUEST, payload: userId }); + const { + userSignin: { userInfo }, + } = getState(); + try { + const { data } = await Axios.delete(`/api/users/${userId}`, { + headers: { Authorization: `Bearer ${userInfo.token}` }, + }); + dispatch({ type: USER_DELETE_SUCCESS, payload: data }); + } catch (error) { + const message = + error.response && error.response.data.message + ? error.response.data.message + : error.message; + dispatch({ type: USER_DELETE_FAIL, payload: message }); + } +}; diff --git a/frontend/src/constants/userConstants.js b/frontend/src/constants/userConstants.js index dbf65b63..bc2e9780 100644 --- a/frontend/src/constants/userConstants.js +++ b/frontend/src/constants/userConstants.js @@ -20,3 +20,8 @@ export const USER_UPDATE_PROFILE_REQUEST = 'USER_UPDATE_PROFILE_REQUEST'; export const USER_UPDATE_PROFILE_SUCCESS = 'USER_UPDATE_PROFILE_SUCCESS'; export const USER_UPDATE_PROFILE_FAIL = 'USER_UPDATE_PROFILE_FAIL'; export const USER_UPDATE_PROFILE_RESET = 'USER_UPDATE_PROFILE_RESET'; + +export const USER_DELETE_REQUEST = 'USER_DELETE_REQUEST'; +export const USER_DELETE_SUCCESS = 'USER_DELETE_SUCCESS'; +export const USER_DELETE_FAIL = 'USER_DELETE_FAIL'; +export const USER_DELETE_RESET = 'USER_DELETE_RESET'; diff --git a/frontend/src/reducers/userReducers.js b/frontend/src/reducers/userReducers.js index 9f86137c..6b7a12e7 100644 --- a/frontend/src/reducers/userReducers.js +++ b/frontend/src/reducers/userReducers.js @@ -1,4 +1,8 @@ import { + USER_DELETE_FAIL, + USER_DELETE_REQUEST, + USER_DELETE_RESET, + USER_DELETE_SUCCESS, USER_DETAILS_FAIL, USER_DETAILS_REQUEST, USER_DETAILS_SUCCESS, @@ -83,3 +87,17 @@ export const userListReducer = (state = { loading: true }, action) => { return state; } }; +export const userDeleteReducer = (state = {}, action) => { + switch (action.type) { + case USER_DELETE_REQUEST: + return { loading: true }; + case USER_DELETE_SUCCESS: + return { loading: false, success: true }; + case USER_DELETE_FAIL: + return { loading: false, error: action.payload }; + case USER_DELETE_RESET: + return {}; + default: + return state; + } +}; diff --git a/frontend/src/screens/UserListScreen.js b/frontend/src/screens/UserListScreen.js index 1c4f0fbd..7ce0a101 100644 --- a/frontend/src/screens/UserListScreen.js +++ b/frontend/src/screens/UserListScreen.js @@ -1,19 +1,37 @@ import React, { useEffect } from 'react'; import { useDispatch, useSelector } from 'react-redux'; -import { listUsers } from '../actions/userActions'; +import { deleteUser, listUsers } from '../actions/userActions'; import LoadingBox from '../components/LoadingBox'; import MessageBox from '../components/MessageBox'; export default function UserListScreen() { const userList = useSelector((state) => state.userList); const { loading, error, users } = userList; + + const userDelete = useSelector((state) => state.userDelete); + const { + loading: loadingDelete, + error: errorDelete, + success: successDelete, + } = userDelete; + const dispatch = useDispatch(); useEffect(() => { dispatch(listUsers()); - }, [dispatch]); + }, [dispatch, successDelete]); + const deleteHandler = (user) => { + if (window.confirm('Are you sure?')) { + dispatch(deleteUser(user._id)); + } + }; return (

        Users

        + {loadingDelete && } + {errorDelete && {errorDelete}} + {successDelete && ( + User Deleted Successfully + )} {loading ? ( ) : error ? ( @@ -39,8 +57,16 @@ export default function UserListScreen() { {user.isSeller ? 'YES' : ' NO'} {user.isAdmin ? 'YES' : 'NO'} - - + + ))} diff --git a/frontend/src/store.js b/frontend/src/store.js index af9466d0..3ec738ce 100644 --- a/frontend/src/store.js +++ b/frontend/src/store.js @@ -18,6 +18,7 @@ import { productUpdateReducer, } from './reducers/productReducers'; import { + userDeleteReducer, userDetailsReducer, userListReducer, userRegisterReducer, @@ -60,6 +61,7 @@ const reducer = combineReducers({ orderDelete: orderDeleteReducer, orderDeliver: orderDeliverReducer, userList: userListReducer, + userDelete: userDeleteReducer, }); const composeEnhancer = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; const store = createStore( From 4274ec3c493ce1e177f64796d0cc55c12cef9dac Mon Sep 17 00:00:00 2001 From: Basir Date: Wed, 18 Nov 2020 09:16:33 +0330 Subject: [PATCH 51/65] Video-48-Edit-User --- README.md | 5 +- backend/routers/userRouter.js | 19 ++++ frontend/src/App.js | 5 ++ frontend/src/actions/userActions.js | 22 ++++- frontend/src/constants/userConstants.js | 6 ++ frontend/src/reducers/userReducers.js | 21 +++++ frontend/src/screens/UserEditScreen.js | 112 ++++++++++++++++++++++++ frontend/src/screens/UserListScreen.js | 12 ++- frontend/src/store.js | 2 + 9 files changed, 200 insertions(+), 4 deletions(-) create mode 100644 frontend/src/screens/UserEditScreen.js diff --git a/README.md b/README.md index 722470c0..0c276e68 100644 --- a/README.md +++ b/README.md @@ -343,4 +343,7 @@ $ npm start 47. Delete Users 1. build api for delete users 2. create order details constant, action and reducer - 3. Use action in UserListScreen \ No newline at end of file + 3. Use action in UserListScreen +48. Edit User + 1. build api for update users + 2. create edit screen UI \ No newline at end of file diff --git a/backend/routers/userRouter.js b/backend/routers/userRouter.js index aed1fa45..2f24fb86 100644 --- a/backend/routers/userRouter.js +++ b/backend/routers/userRouter.js @@ -118,4 +118,23 @@ userRouter.delete( }) ); +userRouter.put( + '/:id', + isAuth, + isAdmin, + expressAsyncHandler(async (req, res) => { + const user = await User.findById(req.params.id); + if (user) { + user.name = req.body.name || user.name; + user.email = req.body.email || user.email; + user.isSeller = req.body.isSeller || user.isSeller; + user.isAdmin = req.body.isAdmin || user.isAdmin; + const updatedUser = await user.save(); + res.send({ message: 'User Updated', user: updatedUser }); + } else { + res.status(404).send({ message: 'User Not Found' }); + } + }) +); + export default userRouter; diff --git a/frontend/src/App.js b/frontend/src/App.js index 106d0a54..f050f147 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -19,6 +19,7 @@ import SigninScreen from './screens/SigninScreen'; import ProductEditScreen from './screens/ProductEditScreen'; import OrderListScreen from './screens/OrderListScreen'; import UserListScreen from './screens/UserListScreen'; +import UserEditScreen from './screens/UserEditScreen'; function App() { const cart = useSelector((state) => state.cart); @@ -118,6 +119,10 @@ function App() { component={OrderListScreen} > +
        All right reserved
        diff --git a/frontend/src/actions/userActions.js b/frontend/src/actions/userActions.js index d634ddea..78e88739 100644 --- a/frontend/src/actions/userActions.js +++ b/frontend/src/actions/userActions.js @@ -19,6 +19,8 @@ import { USER_DELETE_REQUEST, USER_DELETE_SUCCESS, USER_DELETE_FAIL, + USER_UPDATE_SUCCESS, + USER_UPDATE_FAIL, } from '../constants/userConstants'; export const register = (name, email, password) => async (dispatch) => { @@ -65,7 +67,7 @@ export const signout = () => (dispatch) => { localStorage.removeItem('cartItems'); localStorage.removeItem('shippingAddress'); dispatch({ type: USER_SIGNOUT }); - document.location.location.href = '/signin'; + document.location.href = '/signin'; }; export const detailsUser = (userId) => async (dispatch, getState) => { dispatch({ type: USER_DETAILS_REQUEST, payload: userId }); @@ -105,6 +107,24 @@ export const updateUserProfile = (user) => async (dispatch, getState) => { dispatch({ type: USER_UPDATE_PROFILE_FAIL, payload: message }); } }; +export const updateUser = (user) => async (dispatch, getState) => { + dispatch({ type: USER_UPDATE_PROFILE_REQUEST, payload: user }); + const { + userSignin: { userInfo }, + } = getState(); + try { + const { data } = await Axios.put(`/api/users/${user._id}`, user, { + headers: { Authorization: `Bearer ${userInfo.token}` }, + }); + dispatch({ type: USER_UPDATE_SUCCESS, payload: data }); + } catch (error) { + const message = + error.response && error.response.data.message + ? error.response.data.message + : error.message; + dispatch({ type: USER_UPDATE_FAIL, payload: message }); + } +}; export const listUsers = () => async (dispatch, getState) => { dispatch({ type: USER_LIST_REQUEST }); try { diff --git a/frontend/src/constants/userConstants.js b/frontend/src/constants/userConstants.js index bc2e9780..5ed134c2 100644 --- a/frontend/src/constants/userConstants.js +++ b/frontend/src/constants/userConstants.js @@ -11,6 +11,7 @@ export const USER_SIGNOUT = 'USER_SIGNOUT'; export const USER_DETAILS_REQUEST = 'USER_DETAILS_REQUEST'; export const USER_DETAILS_SUCCESS = 'USER_DETAILS_SUCCESS'; export const USER_DETAILS_FAIL = 'USER_DETAILS_FAIL'; +export const USER_DETAILS_RESET = 'USER_DETAILS_RESET'; export const USER_LIST_REQUEST = 'USER_LIST_REQUEST'; export const USER_LIST_SUCCESS = 'USER_LIST_SUCCESS'; @@ -21,6 +22,11 @@ export const USER_UPDATE_PROFILE_SUCCESS = 'USER_UPDATE_PROFILE_SUCCESS'; export const USER_UPDATE_PROFILE_FAIL = 'USER_UPDATE_PROFILE_FAIL'; export const USER_UPDATE_PROFILE_RESET = 'USER_UPDATE_PROFILE_RESET'; +export const USER_UPDATE_REQUEST = 'USER_UPDATE_REQUEST'; +export const USER_UPDATE_SUCCESS = 'USER_UPDATE_SUCCESS'; +export const USER_UPDATE_FAIL = 'USER_UPDATE_FAIL'; +export const USER_UPDATE_RESET = 'USER_UPDATE_RESET'; + export const USER_DELETE_REQUEST = 'USER_DELETE_REQUEST'; export const USER_DELETE_SUCCESS = 'USER_DELETE_SUCCESS'; export const USER_DELETE_FAIL = 'USER_DELETE_FAIL'; diff --git a/frontend/src/reducers/userReducers.js b/frontend/src/reducers/userReducers.js index 6b7a12e7..e4242163 100644 --- a/frontend/src/reducers/userReducers.js +++ b/frontend/src/reducers/userReducers.js @@ -5,6 +5,7 @@ import { USER_DELETE_SUCCESS, USER_DETAILS_FAIL, USER_DETAILS_REQUEST, + USER_DETAILS_RESET, USER_DETAILS_SUCCESS, USER_LIST_FAIL, USER_LIST_REQUEST, @@ -16,10 +17,14 @@ import { USER_SIGNIN_REQUEST, USER_SIGNIN_SUCCESS, USER_SIGNOUT, + USER_UPDATE_FAIL, USER_UPDATE_PROFILE_FAIL, USER_UPDATE_PROFILE_REQUEST, USER_UPDATE_PROFILE_RESET, USER_UPDATE_PROFILE_SUCCESS, + USER_UPDATE_REQUEST, + USER_UPDATE_RESET, + USER_UPDATE_SUCCESS, } from '../constants/userConstants'; export const userRegisterReducer = (state = {}, action) => { @@ -57,6 +62,8 @@ export const userDetailsReducer = (state = { loading: true }, action) => { return { loading: false, user: action.payload }; case USER_DETAILS_FAIL: return { loading: false, error: action.payload }; + case USER_DETAILS_RESET: + return { loading: true }; default: return state; } @@ -75,6 +82,20 @@ export const userUpdateProfileReducer = (state = {}, action) => { return state; } }; +export const userUpdateReducer = (state = {}, action) => { + switch (action.type) { + case USER_UPDATE_REQUEST: + return { loading: true }; + case USER_UPDATE_SUCCESS: + return { loading: false, success: true }; + case USER_UPDATE_FAIL: + return { loading: false, error: action.payload }; + case USER_UPDATE_RESET: + return {}; + default: + return state; + } +}; export const userListReducer = (state = { loading: true }, action) => { switch (action.type) { case USER_LIST_REQUEST: diff --git a/frontend/src/screens/UserEditScreen.js b/frontend/src/screens/UserEditScreen.js new file mode 100644 index 00000000..0d64332e --- /dev/null +++ b/frontend/src/screens/UserEditScreen.js @@ -0,0 +1,112 @@ +import React from 'react'; +import { useEffect } from 'react'; +import { useState } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import { detailsUser, updateUser } from '../actions/userActions'; +import LoadingBox from '../components/LoadingBox'; +import MessageBox from '../components/MessageBox'; +import { USER_UPDATE_RESET } from '../constants/userConstants'; + +export default function UserEditScreen(props) { + const userId = props.match.params.id; + const [name, setName] = useState(''); + const [email, setEmail] = useState(''); + const [isSeller, setIsSeller] = useState(false); + const [isAdmin, setIsAdmin] = useState(false); + + const userDetails = useSelector((state) => state.userDetails); + const { loading, error, user } = userDetails; + + const userUpdate = useSelector((state) => state.userUpdate); + const { + loading: loadingUpdate, + error: errorUpdate, + success: successUpdate, + } = userUpdate; + + const dispatch = useDispatch(); + useEffect(() => { + if (successUpdate) { + dispatch({ type: USER_UPDATE_RESET }); + props.history.push('/userlist'); + } + if (!user) { + dispatch(detailsUser(userId)); + } else { + setName(user.name); + setEmail(user.email); + setIsSeller(user.isSeller); + setIsAdmin(user.isAdmin); + } + }, [dispatch, props.history, successUpdate, user, userId]); + + const submitHandler = (e) => { + e.preventDefault(); + // dispatch update user + dispatch(updateUser({ _id: userId, name, email, isSeller, isAdmin })); + }; + return ( +
        + +
        +

        Edit User {name}

        + {loadingUpdate && } + {errorUpdate && ( + {errorUpdate} + )} +
        + {loading ? ( + + ) : error ? ( + {error} + ) : ( + <> +
        + + setName(e.target.value)} + > +
        +
        + + setEmail(e.target.value)} + > +
        +
        + + setIsSeller(e.target.checked)} + > +
        +
        + + setIsAdmin(e.target.checked)} + > +
        +
        + +
        + + )} + +
        + ); +} diff --git a/frontend/src/screens/UserListScreen.js b/frontend/src/screens/UserListScreen.js index 7ce0a101..a3cd5efd 100644 --- a/frontend/src/screens/UserListScreen.js +++ b/frontend/src/screens/UserListScreen.js @@ -3,8 +3,9 @@ import { useDispatch, useSelector } from 'react-redux'; import { deleteUser, listUsers } from '../actions/userActions'; import LoadingBox from '../components/LoadingBox'; import MessageBox from '../components/MessageBox'; +import { USER_DETAILS_RESET } from '../constants/userConstants'; -export default function UserListScreen() { +export default function UserListScreen(props) { const userList = useSelector((state) => state.userList); const { loading, error, users } = userList; @@ -18,6 +19,9 @@ export default function UserListScreen() { const dispatch = useDispatch(); useEffect(() => { dispatch(listUsers()); + dispatch({ + type: USER_DETAILS_RESET, + }); }, [dispatch, successDelete]); const deleteHandler = (user) => { if (window.confirm('Are you sure?')) { @@ -57,7 +61,11 @@ export default function UserListScreen() { {user.isSeller ? 'YES' : ' NO'} {user.isAdmin ? 'YES' : 'NO'} -
        + -
        ${product.price}
        +
        +
        ${product.price}
        +
        + + {product.seller.seller.name} + +
        +
        ); diff --git a/frontend/src/index.css b/frontend/src/index.css index 672b34a4..f1650574 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -123,16 +123,24 @@ a.brand { .row.top { align-items: flex-start; } +.row.start { + justify-content: flex-start; +} .col-1 { flex: 1 1 25rem; } .col-2 { flex: 2 1 50rem; } +.col-3 { + flex: 32 1 75rem; +} .min-30 { min-width: 30rem; } - +.p-1 { + padding: 1rem; +} /* Image */ img { border-radius: 0.5rem; diff --git a/frontend/src/screens/ProductScreen.js b/frontend/src/screens/ProductScreen.js index 040b92f8..6594fab5 100644 --- a/frontend/src/screens/ProductScreen.js +++ b/frontend/src/screens/ProductScreen.js @@ -57,6 +57,18 @@ export default function ProductScreen(props) {
          +
        • + Seller{' '} +

          + + {product.seller.seller.name} + +

          + +
        • Price
          diff --git a/frontend/src/screens/SellerScreen.js b/frontend/src/screens/SellerScreen.js new file mode 100644 index 00000000..37386094 --- /dev/null +++ b/frontend/src/screens/SellerScreen.js @@ -0,0 +1,81 @@ +import React, { useEffect } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import { listProducts } from '../actions/productActions'; +import { detailsUser } from '../actions/userActions'; +import LoadingBox from '../components/LoadingBox'; +import MessageBox from '../components/MessageBox'; +import Product from '../components/Product'; +import Rating from '../components/Rating'; + +export default function SellerScreen(props) { + const sellerId = props.match.params.id; + const userDetails = useSelector((state) => state.userDetails); + const { loading, error, user } = userDetails; + + const productList = useSelector((state) => state.productList); + const { + loading: loadingProducts, + error: errorProducts, + products, + } = productList; + + const dispatch = useDispatch(); + useEffect(() => { + dispatch(detailsUser(sellerId)); + dispatch(listProducts({ seller: sellerId })); + }, [dispatch, sellerId]); + return ( +
          +
          + {loading ? ( + + ) : error ? ( + {error} + ) : ( +
            +
          • +
            +
            + {user.seller.name} +
            +
            +

            {user.seller.name}

            +
            +
            +
          • +
          • + +
          • +
          • + Contact Seller +
          • +
          • {user.seller.description}
          • +
          + )} +
          +
          + {loadingProducts ? ( + + ) : errorProducts ? ( + {errorProducts} + ) : ( + <> + {products.length === 0 && No Product Found} +
          + {products.map((product) => ( + + ))} +
          + + )} +
          +
          + ); +} From d56fb4a8ae7d5f4a188cff6b8b7deff2e13feb8f Mon Sep 17 00:00:00 2001 From: Basir Date: Thu, 19 Nov 2020 10:07:36 +0330 Subject: [PATCH 54/65] Video-51-Add-Top-Seller-Carousel --- README.md | 6 +++- backend/routers/userRouter.js | 10 ++++++ frontend/package.json | 1 + frontend/src/actions/userActions.js | 16 +++++++++ frontend/src/constants/userConstants.js | 4 +++ frontend/src/index.css | 4 +++ frontend/src/reducers/userReducers.js | 15 ++++++++ frontend/src/screens/HomeScreen.js | 47 +++++++++++++++++++++---- frontend/src/store.js | 2 ++ 9 files changed, 98 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 1138f005..7a2c960f 100644 --- a/README.md +++ b/README.md @@ -356,4 +356,8 @@ $ npm start 50. Create Seller Page 1. create seller page 2. update product component and product screen - 3. update product routes \ No newline at end of file + 3. update product routes +51. Add Top Seller Carousel + 1. install react carousel + 2. implement actions and reducers for top sellers + 3. use react carousel with data in Home Screen \ No newline at end of file diff --git a/backend/routers/userRouter.js b/backend/routers/userRouter.js index 63144988..5f632ab9 100644 --- a/backend/routers/userRouter.js +++ b/backend/routers/userRouter.js @@ -7,6 +7,16 @@ import { generateToken, isAdmin, isAuth } from '../utils.js'; const userRouter = express.Router(); +userRouter.get( + '/top-sellers', + expressAsyncHandler(async (req, res) => { + const topSellers = await User.find({ isSeller: true }) + .sort({ 'seller.rating': -1 }) + .limit(3); + res.send(topSellers); + }) +); + userRouter.get( '/seed', expressAsyncHandler(async (req, res) => { diff --git a/frontend/package.json b/frontend/package.json index 5d122108..154c4048 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -12,6 +12,7 @@ "react-dom": "^16.13.1", "react-paypal-button-v2": "^2.6.2", "react-redux": "^7.2.1", + "react-responsive-carousel": "^3.2.10", "react-router-dom": "^5.2.0", "react-scripts": "3.4.3", "redux": "^4.0.5", diff --git a/frontend/src/actions/userActions.js b/frontend/src/actions/userActions.js index 78e88739..99d21a7f 100644 --- a/frontend/src/actions/userActions.js +++ b/frontend/src/actions/userActions.js @@ -21,6 +21,9 @@ import { USER_DELETE_FAIL, USER_UPDATE_SUCCESS, USER_UPDATE_FAIL, + USER_TOPSELLERS_LIST_REQUEST, + USER_TOPSELLERS_LIST_SUCCESS, + USER_TOPSELLERS_LIST_FAIL, } from '../constants/userConstants'; export const register = (name, email, password) => async (dispatch) => { @@ -163,3 +166,16 @@ export const deleteUser = (userId) => async (dispatch, getState) => { dispatch({ type: USER_DELETE_FAIL, payload: message }); } }; +export const listTopSellers = () => async (dispatch) => { + dispatch({ type: USER_TOPSELLERS_LIST_REQUEST }); + try { + const { data } = await Axios.get('/api/users/top-sellers'); + dispatch({ type: USER_TOPSELLERS_LIST_SUCCESS, payload: data }); + } catch (error) { + const message = + error.response && error.response.data.message + ? error.response.data.message + : error.message; + dispatch({ type: USER_TOPSELLERS_LIST_FAIL, payload: message }); + } +}; diff --git a/frontend/src/constants/userConstants.js b/frontend/src/constants/userConstants.js index 5ed134c2..cc593e53 100644 --- a/frontend/src/constants/userConstants.js +++ b/frontend/src/constants/userConstants.js @@ -17,6 +17,10 @@ export const USER_LIST_REQUEST = 'USER_LIST_REQUEST'; export const USER_LIST_SUCCESS = 'USER_LIST_SUCCESS'; export const USER_LIST_FAIL = 'USER_LIST_FAIL'; +export const USER_TOPSELLERS_LIST_REQUEST = 'USER_TOPSELLERS_LIST_REQUEST'; +export const USER_TOPSELLERS_LIST_SUCCESS = 'USER_TOPSELLERS_LIST_SUCCESS'; +export const USER_TOPSELLERS_LIST_FAIL = 'USER_TOPSELLERS_LIST_FAIL'; + export const USER_UPDATE_PROFILE_REQUEST = 'USER_UPDATE_PROFILE_REQUEST'; export const USER_UPDATE_PROFILE_SUCCESS = 'USER_UPDATE_PROFILE_SUCCESS'; export const USER_UPDATE_PROFILE_FAIL = 'USER_UPDATE_PROFILE_FAIL'; diff --git a/frontend/src/index.css b/frontend/src/index.css index f1650574..addfccfe 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -270,3 +270,7 @@ img.large { .table button { margin: 0 0.2rem; } +/* Carousel */ +.carousel .slide img { + max-width: 30rem; +} diff --git a/frontend/src/reducers/userReducers.js b/frontend/src/reducers/userReducers.js index e4242163..cca3b3b8 100644 --- a/frontend/src/reducers/userReducers.js +++ b/frontend/src/reducers/userReducers.js @@ -17,6 +17,9 @@ import { USER_SIGNIN_REQUEST, USER_SIGNIN_SUCCESS, USER_SIGNOUT, + USER_TOPSELLERS_LIST_FAIL, + USER_TOPSELLERS_LIST_REQUEST, + USER_TOPSELLERS_LIST_SUCCESS, USER_UPDATE_FAIL, USER_UPDATE_PROFILE_FAIL, USER_UPDATE_PROFILE_REQUEST, @@ -122,3 +125,15 @@ export const userDeleteReducer = (state = {}, action) => { return state; } }; +export const userTopSellerListReducer = (state = { loading: true }, action) => { + switch (action.type) { + case USER_TOPSELLERS_LIST_REQUEST: + return { loading: true }; + case USER_TOPSELLERS_LIST_SUCCESS: + return { loading: false, users: action.payload }; + case USER_TOPSELLERS_LIST_FAIL: + return { loading: false, error: action.payload }; + default: + return state; + } +}; diff --git a/frontend/src/screens/HomeScreen.js b/frontend/src/screens/HomeScreen.js index aa104cc3..cc66d123 100644 --- a/frontend/src/screens/HomeScreen.js +++ b/frontend/src/screens/HomeScreen.js @@ -1,31 +1,66 @@ import React, { useEffect } from 'react'; - +import 'react-responsive-carousel/lib/styles/carousel.min.css'; +import { Carousel } from 'react-responsive-carousel'; import Product from '../components/Product'; import LoadingBox from '../components/LoadingBox'; import MessageBox from '../components/MessageBox'; import { useDispatch, useSelector } from 'react-redux'; import { listProducts } from '../actions/productActions'; +import { listTopSellers } from '../actions/userActions'; +import { Link } from 'react-router-dom'; export default function HomeScreen() { const dispatch = useDispatch(); const productList = useSelector((state) => state.productList); const { loading, error, products } = productList; + const userTopSellersList = useSelector((state) => state.userTopSellersList); + const { + loading: loadingSellers, + error: errorSellers, + users: sellers, + } = userTopSellersList; + useEffect(() => { dispatch(listProducts({})); + dispatch(listTopSellers()); }, [dispatch]); return (
          +

          Top Sellers

          + {loadingSellers ? ( + + ) : errorSellers ? ( + {errorSellers} + ) : ( + <> + {sellers.length === 0 && No Seller Found} + + {sellers.map((seller) => ( +
          + + {seller.seller.name} +

          {seller.seller.name}

          + +
          + ))} +
          + + )} +

          Featured Products

          {loading ? ( ) : error ? ( {error} ) : ( -
          - {products.map((product) => ( - - ))} -
          + <> + {products.length === 0 && No Product Found} +
          + {products.map((product) => ( + + ))} +
          + )}
          ); diff --git a/frontend/src/store.js b/frontend/src/store.js index 67e2cbf2..0e10b725 100644 --- a/frontend/src/store.js +++ b/frontend/src/store.js @@ -23,6 +23,7 @@ import { userListReducer, userRegisterReducer, userSigninReducer, + userTopSellerListReducer, userUpdateProfileReducer, userUpdateReducer, } from './reducers/userReducers'; @@ -64,6 +65,7 @@ const reducer = combineReducers({ orderDeliver: orderDeliverReducer, userList: userListReducer, userDelete: userDeleteReducer, + userTopSellersList: userTopSellerListReducer, }); const composeEnhancer = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; const store = createStore( From a4b82acd9caac702b856b1b3e77cd3a889272d2a Mon Sep 17 00:00:00 2001 From: Basir Date: Tue, 24 Nov 2020 11:24:39 +0330 Subject: [PATCH 55/65] Video-52-Force-Order-Items-From-One-Seller --- README.md | 4 ++- frontend/src/actions/cartActions.js | 40 +++++++++++++++++-------- frontend/src/constants/cartConstants.js | 1 + frontend/src/reducers/cartReducers.js | 9 ++++-- frontend/src/screens/CartScreen.js | 3 +- 5 files changed, 40 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 7a2c960f..89f71c52 100644 --- a/README.md +++ b/README.md @@ -360,4 +360,6 @@ $ npm start 51. Add Top Seller Carousel 1. install react carousel 2. implement actions and reducers for top sellers - 3. use react carousel with data in Home Screen \ No newline at end of file + 3. use react carousel with data in Home Screen +52. Force Order Items From One Seller + 1. update addToCart action to buy from one seller at an order \ No newline at end of file diff --git a/frontend/src/actions/cartActions.js b/frontend/src/actions/cartActions.js index bb1c44e8..60a629b5 100644 --- a/frontend/src/actions/cartActions.js +++ b/frontend/src/actions/cartActions.js @@ -4,23 +4,37 @@ import { CART_REMOVE_ITEM, CART_SAVE_SHIPPING_ADDRESS, CART_SAVE_PAYMENT_METHOD, + CART_ADD_ITEM_FAIL, } from '../constants/cartConstants'; export const addToCart = (productId, qty) => async (dispatch, getState) => { const { data } = await Axios.get(`/api/products/${productId}`); - dispatch({ - type: CART_ADD_ITEM, - payload: { - name: data.name, - image: data.image, - price: data.price, - countInStock: data.countInStock, - product: data._id, - seller: data.seller, - qty, - }, - }); - localStorage.setItem('cartItems', JSON.stringify(getState().cart.cartItems)); + const { + cart: { cartItems }, + } = getState(); + if (cartItems.length > 0 && data.seller._id !== cartItems[0].seller._id) { + dispatch({ + type: CART_ADD_ITEM_FAIL, + payload: `Can't Add To Cart. Buy only from ${cartItems[0].seller.seller.name} in this order`, + }); + } else { + dispatch({ + type: CART_ADD_ITEM, + payload: { + name: data.name, + image: data.image, + price: data.price, + countInStock: data.countInStock, + product: data._id, + seller: data.seller, + qty, + }, + }); + localStorage.setItem( + 'cartItems', + JSON.stringify(getState().cart.cartItems) + ); + } }; export const removeFromCart = (productId) => (dispatch, getState) => { diff --git a/frontend/src/constants/cartConstants.js b/frontend/src/constants/cartConstants.js index 4031d489..1b1e4dcd 100644 --- a/frontend/src/constants/cartConstants.js +++ b/frontend/src/constants/cartConstants.js @@ -1,3 +1,4 @@ +export const CART_ADD_ITEM_FAIL = 'CART_ADD_ITEM_FAIL'; export const CART_ADD_ITEM = 'CART_ADD_ITEM'; export const CART_REMOVE_ITEM = 'CART_REMOVE_ITEM'; export const CART_SAVE_SHIPPING_ADDRESS = 'CART_SAVE_SHIPPING_ADDRESS'; diff --git a/frontend/src/reducers/cartReducers.js b/frontend/src/reducers/cartReducers.js index 8cbfd76e..fd5b3eed 100644 --- a/frontend/src/reducers/cartReducers.js +++ b/frontend/src/reducers/cartReducers.js @@ -1,5 +1,6 @@ import { CART_ADD_ITEM, + CART_ADD_ITEM_FAIL, CART_EMPTY, CART_REMOVE_ITEM, CART_SAVE_PAYMENT_METHOD, @@ -14,24 +15,28 @@ export const cartReducer = (state = { cartItems: [] }, action) => { if (existItem) { return { ...state, + error: '', cartItems: state.cartItems.map((x) => x.product === existItem.product ? item : x ), }; } else { - return { ...state, cartItems: [...state.cartItems, item] }; + return { ...state, error: '', cartItems: [...state.cartItems, item] }; } case CART_REMOVE_ITEM: return { ...state, + error: '', cartItems: state.cartItems.filter((x) => x.product !== action.payload), }; case CART_SAVE_SHIPPING_ADDRESS: return { ...state, shippingAddress: action.payload }; case CART_SAVE_PAYMENT_METHOD: return { ...state, paymentMethod: action.payload }; + case CART_ADD_ITEM_FAIL: + return { ...state, error: action.payload }; case CART_EMPTY: - return { ...state, cartItems: [] }; + return { ...state, error: '', cartItems: [] }; default: return state; } diff --git a/frontend/src/screens/CartScreen.js b/frontend/src/screens/CartScreen.js index 04217060..fd59cb1a 100644 --- a/frontend/src/screens/CartScreen.js +++ b/frontend/src/screens/CartScreen.js @@ -10,7 +10,7 @@ export default function CartScreen(props) { ? Number(props.location.search.split('=')[1]) : 1; const cart = useSelector((state) => state.cart); - const { cartItems } = cart; + const { cartItems, error } = cart; const dispatch = useDispatch(); useEffect(() => { if (productId) { @@ -30,6 +30,7 @@ export default function CartScreen(props) {

          Shopping Cart

          + {error && {error}} {cartItems.length === 0 ? ( Cart is empty. Go Shopping From 55799e85a500fcecdddf73fd2bb604839e219059 Mon Sep 17 00:00:00 2001 From: Basir Date: Tue, 24 Nov 2020 19:47:38 +0330 Subject: [PATCH 56/65] Video-53-Create-Search-Box-Search-Screen --- README.md | 8 +++- backend/routers/productRouter.js | 10 +++-- frontend/src/App.js | 14 +++++++ frontend/src/actions/productActions.js | 8 +++- frontend/src/components/SearchBox.js | 24 +++++++++++ frontend/src/index.css | 12 ++++++ frontend/src/screens/SearchScreen.js | 56 ++++++++++++++++++++++++++ 7 files changed, 125 insertions(+), 7 deletions(-) create mode 100644 frontend/src/components/SearchBox.js create mode 100644 frontend/src/screens/SearchScreen.js diff --git a/README.md b/README.md index 89f71c52..f567095e 100644 --- a/README.md +++ b/README.md @@ -362,4 +362,10 @@ $ npm start 2. implement actions and reducers for top sellers 3. use react carousel with data in Home Screen 52. Force Order Items From One Seller - 1. update addToCart action to buy from one seller at an order \ No newline at end of file + 1. update addToCart action to buy from one seller at an order +53. Create Search Box and Search Screen + 1. create search bar in Header.js + 2. add style + 3. handle submit form + 4. edit parse url to get query string + 5. update product list api for search by name \ No newline at end of file diff --git a/backend/routers/productRouter.js b/backend/routers/productRouter.js index 6bbf3bda..6f44b7fd 100644 --- a/backend/routers/productRouter.js +++ b/backend/routers/productRouter.js @@ -9,12 +9,14 @@ const productRouter = express.Router(); productRouter.get( '/', expressAsyncHandler(async (req, res) => { + const name = req.query.name || ''; const seller = req.query.seller || ''; + const nameFilter = name ? { name: { $regex: name, $options: 'i' } } : {}; const sellerFilter = seller ? { seller } : {}; - const products = await Product.find({ ...sellerFilter }).populate( - 'seller', - 'seller.name seller.logo' - ); + const products = await Product.find({ + ...sellerFilter, + ...nameFilter, + }).populate('seller', 'seller.name seller.logo'); res.send(products); }) ); diff --git a/frontend/src/App.js b/frontend/src/App.js index 8025929b..578880f1 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -22,6 +22,8 @@ import UserListScreen from './screens/UserListScreen'; import UserEditScreen from './screens/UserEditScreen'; import SellerRoute from './components/SellerRoute'; import SellerScreen from './screens/SellerScreen'; +import SearchBox from './components/SearchBox'; +import SearchScreen from './screens/SearchScreen'; function App() { const cart = useSelector((state) => state.cart); @@ -41,6 +43,13 @@ function App() { amazona
          +
          + ( + + )} + > +
          Cart @@ -124,6 +133,11 @@ function App() { + async (dispatch) => { +export const listProducts = ({ seller = '', name = '' }) => async ( + dispatch +) => { dispatch({ type: PRODUCT_LIST_REQUEST, }); try { - const { data } = await Axios.get(`/api/products?seller=${seller}`); + const { data } = await Axios.get( + `/api/products?seller=${seller}&name=${name}` + ); dispatch({ type: PRODUCT_LIST_SUCCESS, payload: data }); } catch (error) { dispatch({ type: PRODUCT_LIST_FAIL, payload: error.message }); diff --git a/frontend/src/components/SearchBox.js b/frontend/src/components/SearchBox.js new file mode 100644 index 00000000..331e66b3 --- /dev/null +++ b/frontend/src/components/SearchBox.js @@ -0,0 +1,24 @@ +import React, { useState } from 'react'; + +export default function SearchBox(props) { + const [name, setName] = useState(''); + const submitHandler = (e) => { + e.preventDefault(); + props.history.push(`/search/name/${name}`); + }; + return ( +
          +
          + setName(e.target.value)} + > + +
          +
          + ); +} diff --git a/frontend/src/index.css b/frontend/src/index.css index addfccfe..e6fd8b6f 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -274,3 +274,15 @@ img.large { .carousel .slide img { max-width: 30rem; } + +/* Search */ +.search button { + border-radius: 0 0.5rem 0.5rem 0; + border-right: none; + margin-right: 0.5rem; +} +.search input { + border-radius: 0.5rem 0 0 0.5rem; + border-right: none; + margin-left: 0.5rem; +} diff --git a/frontend/src/screens/SearchScreen.js b/frontend/src/screens/SearchScreen.js new file mode 100644 index 00000000..127c2e8a --- /dev/null +++ b/frontend/src/screens/SearchScreen.js @@ -0,0 +1,56 @@ +import React, { useEffect } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import { useParams } from 'react-router-dom'; +import { listProducts } from '../actions/productActions'; +import LoadingBox from '../components/LoadingBox'; +import MessageBox from '../components/MessageBox'; +import Product from '../components/Product'; + +export default function SearchScreen(props) { + const { name = 'all' } = useParams(); + const dispatch = useDispatch(); + const productList = useSelector((state) => state.productList); + const { loading, error, products } = productList; + useEffect(() => { + dispatch(listProducts({ name: name !== 'all' ? name : '' })); + }, [dispatch, name]); + return ( +
          +
          + {loading ? ( + + ) : error ? ( + {error} + ) : ( +
          {products.length} Results
          + )} +
          +
          +
          +

          Department

          +
            +
          • Categoey 1
          • +
          +
          +
          + {loading ? ( + + ) : error ? ( + {error} + ) : ( + <> + {products.length === 0 && ( + No Product Found + )} +
          + {products.map((product) => ( + + ))} +
          + + )} +
          +
          +
          + ); +} From 37772399c76f44691c3d0450efacee3741c3d10c Mon Sep 17 00:00:00 2001 From: Basir Date: Wed, 25 Nov 2020 17:37:22 +0330 Subject: [PATCH 57/65] Video-54-Add-Category-Sidebar-And-Filter --- README.md | 6 +- backend/routers/productRouter.js | 11 ++++ frontend/public/images/logo1.png | Bin 0 -> 14532 bytes frontend/public/images/logo2.png | Bin 0 -> 34227 bytes frontend/src/App.js | 63 ++++++++++++++++++++- frontend/src/actions/productActions.js | 25 ++++++-- frontend/src/constants/productConstants.js | 4 ++ frontend/src/index.css | 37 ++++++++++++ frontend/src/reducers/productReducers.js | 19 +++++++ frontend/src/screens/SearchScreen.js | 47 ++++++++++++--- frontend/src/store.js | 2 + 11 files changed, 201 insertions(+), 13 deletions(-) create mode 100644 frontend/public/images/logo1.png create mode 100644 frontend/public/images/logo2.png diff --git a/README.md b/README.md index f567095e..b8ce81ca 100644 --- a/README.md +++ b/README.md @@ -368,4 +368,8 @@ $ npm start 2. add style 3. handle submit form 4. edit parse url to get query string - 5. update product list api for search by name \ No newline at end of file + 5. update product list api for search by name + 54. Add Advanced Search Filter + 1. filter by category + 2. filter by price range + 3. filter by average rating \ No newline at end of file diff --git a/backend/routers/productRouter.js b/backend/routers/productRouter.js index 6f44b7fd..50c3e03f 100644 --- a/backend/routers/productRouter.js +++ b/backend/routers/productRouter.js @@ -10,17 +10,28 @@ productRouter.get( '/', expressAsyncHandler(async (req, res) => { const name = req.query.name || ''; + const category = req.query.category || ''; const seller = req.query.seller || ''; const nameFilter = name ? { name: { $regex: name, $options: 'i' } } : {}; const sellerFilter = seller ? { seller } : {}; + const categoryFilter = category ? { category } : {}; const products = await Product.find({ ...sellerFilter, ...nameFilter, + ...categoryFilter, }).populate('seller', 'seller.name seller.logo'); res.send(products); }) ); +productRouter.get( + '/categories', + expressAsyncHandler(async (req, res) => { + const categories = await Product.find().distinct('category'); + res.send(categories); + }) +); + productRouter.get( '/seed', expressAsyncHandler(async (req, res) => { diff --git a/frontend/public/images/logo1.png b/frontend/public/images/logo1.png new file mode 100644 index 0000000000000000000000000000000000000000..4f4ac9317d8adc5cffba52d2d31360daacede477 GIT binary patch literal 14532 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 literal 0 HcmV?d00001 diff --git a/frontend/public/images/logo2.png b/frontend/public/images/logo2.png new file mode 100644 index 0000000000000000000000000000000000000000..c202dd412c84376f479ca8b4476fb2eac6efd362 GIT binary patch literal 34227 zcmeFZ^;eYd7dAS8grp#iGy>8oNVkBb(%m3KBMk$Jlt`%{(k0T3bhpHSbR(UE71&RP0%4G#?8}dU<o-_de%9{sSLxt zzl!K8A&oFyo&hFBSyD5X1vqK}KGC*twfFD=F)^{Wh1J>;go%kMN2LoA9T^$PZh>C` zeu+fy{l8!S-_`iPhvEMhcOlB%wY>thesn92P-h^@&tb|?i3<>njC4@DIqPbpLbBqM z2^t9L04!;yfDNQ?-SmlnjI4PC_{YhV z7Gt9g5$KB@qgnD{X7H_eW@6&7f$nJwZBa~GeExb+75FT%qI*Ad`70<0MS*WO;6DMc z`8g7e{H}JiQ(Ayuh%rC@fAOU$V}6d=zpHL(P@HyS(DZQ5aBX;~x4Q**@Pb?=KDUm- znVFaxi%3BE5-Zo2SqogynTTzF9e?PxdxkPI_rZeVcY@6u;R_`rW=eLq&*Di*JpRoY z=@FbROGZqbAcAGUxQSn+z_&&=(JlD;%DjB~Xq?;NxTwv;g$RQie0B}|3b|j;PJO;X zdO1Zsv0s?I)o(KgZ<=#r5K8uPQ9v&wxMB^~YTo;zIb3|(hTmLCS_lTkJpI1eiW*#Eb=e2vtgpu=u7M$I<n!N5y_5Z#9gkEuRVt4cb!HVx89M))$l42xZalqk3&9L&Bh3`7gfp z6k4qvT`K<#Zv2Muhg}NB+Ln)|A&{uqM^@j2R%btwIdGeV3VnU$6>T6EwjN_^gDA1w9HI8OMG$_9K8eh&W*uxOHOqWR zOl<0fU(u^(^8-?BhZ|xlXj_2$(Fnt+5PxG*sz&7T_J-=Rtd4Xya)y4A)u;z!JF#x` z7unF_EskMH+Mo@87C4;8eGpDaOL*UPQVa3ylia0{Y>v@lJ@-b&>8wP~(P9DcG6lTe z7E`1(8<%143S=pJa6ejMUhZKC-8hZk_#+mDuRO~c)v!#!&9bMoIO{0qDOzT7-8umq zaOqCKeL?B3tF-qQXRd>BX#C?BGe2mMM3LM)XHMx;OHxj>Tcws-8g+-%Cea%db9ep^ zGy_?^y6-+<@%lR(ifPq>~tjH{n5TD|9cRNx#5CIyBF`J$9u3b>du*Dh|;Y zO)9nQC|noPsF@lS)J44%sY8SOb|Q>=gEi1|;n^k#Zn>9L$j0jQO*`uBXBjiAimCbF zvn#k3nZtMae$Cdf<3O6>1Ig{C?O*R-C!T0 z0xpm)fBP}RJ62?T*2&&Gb9hnjQmZ6sfy<%X?94lDiAS@C4}^m1?rmH=tqC~HHe|=B zXlxaXzPovJ7+geVXgcMJpAT#u9la*Z5i196k_xCXtcjS?e%q33umS~vN5w?sI zzPNRMr$yfy8g=$Kkt1&y;qTgKL(Kuvch!FE36_DW?^z3pIW|OIS1Y(R<}%mb+K|_6 zVThS3=0|Egc=>+YZ#`gj#CoVpq#Eph?bM1<^LlH6M|Efkl*})smR_s)Fed`f(%gS)>la( z1J|t92F#6%^8yjhFCSMKziiDHjBF$*+cOMr@}7!0oymY+^$x6XWOQ3Lht^NC?1ms= zJA!lh#f9*yGu-f^nFCI&j+GCQk*xPIO6bx$-Wd@7II_Z?gArf4ydE;9pmT0OLlxkb zzVXerl*7^oB~yjc!f!h%h<}%0yHB77b*NOY_-EQhXl!9AwDA^e?hi4vGBR>o)jDLO zBVB#RfMhERzlCE>!5Z=>|1hZ}dpuNNDE}#9n30Kzng+`t$jz>%<|WncIU>=KLktI+ zT;X)vW-OWHxt$35^C!OcU0ES&GAQ9Lc(0b#dJ)bVP=naZ&##PfwVKOI+Wv#>P)K-@ zOu2yPr24$D&+$|A7o zq2e;}o5zv-4u6Fc)98?_fD^>fiZ>uvxY{*_YYaUecSFJRzLNMH{v}lwbckzol|2 zli|{$k%e;p*YM65jPBz^edGGgd1&GP+Wn(3nMS1(?l*C0|5B^)D3br*f1jq~Z) zBnrNhBWz_JZYIR5hz&C3%0!F{;&1BZUfkB7CXRv;@(QF+@hdKEu+ec#@Q0n~251KH zD>Q7S>SG$N=oxj{eWegSXzO9_0$zA&Ep(pese)u=&ZZHw6Qff`4trwwx@eH@)%)G~ zrFsle-%8FT3t6&ET+BU)ULgYn+iBkaeHff;c~hEpRlW@WQ5=DmL{yHU^oZTRGjgM=vX>@`T{X!BXvwu4?B5PUX&?m}U| zWt6h84By)d+Sv+f?cWn4IKKRPVeE}pRv%}gj$aYzJ82pf7QI%;0{X6ih8WGoGHeEWsoIAaT{QP$J{81ateI)$AJJ4%h>H{k% zJEBBbTe9SzS(4QWX6Nhn#rNkZf+@H1V->+V+DW5k=%{Vn$b!r$dSLc`VuG>=Yi!7= z5iP(nxnnZL{!aFVHKFoC$mr4YXoo~XOTE}J7oniw*kx<0da250oN@>ke`=_^iM-X* z2m@Av*D%7uL|c|}UZw^enO*-5I`20pmqGoRg6-Qr4ql^{wj$+flMGaOvZ2K;s?8JFPo?$Da6XdzoerbU=!U zVB*1QpW<68(INUApA%81R|fx5GnsDx1bDkmLLDM=Y)749rqlhZbr6&{R<-Gh7aHuY{YcKEP%< zx2!1&324@lN54Ft1(%68ZC#^YSAimtor%Gq%Wi?Vc@7ELJf}Nd{H^@cdBSRzbW`f~ zzFqKN#;Q8k*;-C?O_I;q)9GGyO>d4G%!+ewJg{AF4;YKuZbTjTyoa>*pRRW^3<_*leA6$5ilFub7Iz!{gW7yG+6-%9b#UHfYL@NXZA$=W zq;MM3xfCSH-NZDtY3|?tTNd=e9gfzVRhf}NL;7w63aFC zjHbq{mC$W3{JBld?u-oAvl#Ce&(F`fIbW2fNy5wNqWfeItq|I%Ygk=}Aw3R6sl~GH z9={_2{E)a>=i$yrNgA^DhLdb_z2UuQC>LHuJd6^l)8D&7dh275IF9N0F zX0d}~!?2~5JYHAkZhl}juA_R>ei0pERxHmAix9cJx<&Ky6#pbbt#tID&-|L^G?xRi zC&y7`I1=^9YLf-B>|a`3v@BDcNzIBpxf<}lARuZKjLBI}(RR)9(+a=-N0oA=SW`t)?a1gIQ`20R@rgX)Rn(EEn-ED8{Kf+uF0RS2DwnaL*Jx+cu z;Ano0c2qJc{=&w&#orEXNUFX8BhsaDQp}4p7I|rggnJQopxKwoD&(t{|MG4V)@Ckn zK|n-hja}ZTHH)TxZw$%*BEyyVzN&eV*h!e^7kJ7xtojjeR#+ReIu@1z&*Hm67~V^Y$r91lf}!f zAKt8>Pcne=8(SUibM^09KxzUNxI(7&2CuAD+yk$LXXU$x$%$nXk|Eqdd?8?efk6sd8n6o3Ak=b>+DiLzB z$8c#|yWMOS^j(2rLd-w<=WCfeW<@>6z1K{g`g3VdK?)nds(G`zpL@U zbS@3sgb|0E$a@CR+tp&7D7XGSWOm8ud2TqlpKaU1!Q65!$wGTY5L!?i2GByw%jvBT ze-f)@I2&prui21pR>=v_<@na7@LBr6?S}oxfE4#SQfb8(b>fc5<@(aS|9C{l(R7@4 z@TpVIJI)S?PmH$+MnLqwx7{}9(!EF-_FVSaPE5XikIy9gmO5d%Fzw-_O=_i6Ztm=*(cj>G(3Vgr^~G^6j~oivt3O}6vj6-}WAAi9 zkTzggFK-)gk!*dXUfwJ>m^mnC9HjB4ZJ4%uWLC2}dEvN%K2!S-L&XC&zOHWFXPUb{ z5AZ2XG!WPFLt&i_b5Dq5*wM#d>zDpQ6>wZAU&PYP-sS zOE%Y=zc^_=&+Fw(O_O<;X26%YKg9CWmNQg1_QYjx16ni5I+ud=${C&B$oz1so!lZ` z_%)?P!@uukE&j!Cpl|HqJSl_BwN;M_S5%Em<&H0NTsg6}4ws7i@D(G(nRkT0o0Lx; zlq3QkcJ`cR^t>&#e<(3kyJY2{9EQis`tKKW@fD%?$f=i_btB{&DeGp~_86#o2?EquVj{)eibsczGx+`N#Oqha^l+h0?h?8`3dYMh^7wPvkK zv@(viR8b~Vp4kp!Yh)%--vZCRf+uj1o%Ijv9am4TRmvMlKskt{jGEJDUGDK_>o4Uj z{^q~>gRMMdGn;pTYZ0>HkwCl1S-jySm(oAXkTIxqzWzt#(cGbs6K)Nj7ism_WS^do&!IM1ov7DlIkXU?wJRTHqJet+GvXm;(a}8wAPH)-rqZZP= zuH4IEW-f@24DgOWy%0_d#OIG@#cSO{2UNV;@yWxM9CUR*$dJ1>a18OZMs7GUJnvvh zw>Cz7LgeWIOr|T%R#@e98r%2k7DWfRKd$ucK!cQf$gPp5*=$Ay{d1UCp&8sgLqwre zx6f((KHSJFw@pfBgW?t+kl?agq;yy9)$P)V&3!Xrqt!h#INnvOCm_+(?_x0+61#OI zVha_T2Yud0yPH%?A3n|N7XRUPa(OjFJ8kYVAGSMXHS}5kR>0{%>0yktglw@d4j zRT2lO|9LoGfTgFj{M(k;pd<08FKmHm)F0OtcHQ@*KswNW11VU!`5kxV;Cfnl-4ihC z!v@|r0p(rw^u!n?+1mx0FH5j|cWQMVe4@`i@GPfX97XwuJzt1HmR@LU`POUxH1p{k z_MqAbzMLMnmCb3%8?KMKOsO-!CiK_+39ULcTJ%(f&4hAh`A~Sbndu==WriHN=Ye>D zKUaQeHm5h4ElH%v^~JgH3BKnhHXm3BX}^^`e>jDTq_iLiyHfakM-Mlcbt5LHj9TN4 zVxKf$SLub+rm3Sg2-o}Itd9K0d=A$)Pk=gAos8V zOwbsdJnE)^0@xV=vX%!>&)v9;?4wYkgN#roGx2AX7MMfDOON?KhY6*|>ClpoHY|N@ z`uVPNkhh)$kAJ$=|IvkFf0r^o#jbQ>siBqNmcHy?aagC2c!_?gZrv&r$X(q|CEdyW_p%bP_Emo#D4k@DbIpl{ZF*5np@S#3%kS`UO~2`3vvpt2s;{a>Qo_M*Ffli!ge5v>j>>Mw%(& zSA=)_K_b2GzdhoT5G&|DMnC;!?C`xSHX8i_A{x!G8#X;NUzgt}9oWgV#y{%wqTqT} zUn|3PE&cXFnn{;^rVD`*N__Mc_OtKepCMQ!R$ZK6Q`0E>4ysQT^Vp5dtOE7y9tNRRB=(tNd zsF~d5KB$n8?BGKba}dzu5aWT?+pR= z?G~>#YL}+T1oHQAMpC0CB|@yuuzWI`ye$;mb_bWk7$+Jw-KH^xgJ|ij)}u##aUxl? zbhFG1i$?ZZqF~2ta{gqv z2;8yfIwX^47o}}Zc?#onJdj=N5M|6>Eg|cxfqe}P#_37p41<41dqA^c+8O}Lfu8H< z=34>)NtkZj$PD6V)3IwTWv8y0UY8$^w(1W!!Z-qy(u85$-l@NrROY8UuG2K15eB8IUcxfEI?xhcUSPZ6xTd9IPL zg#$nfkA7CU(?t?Th(MbtPuTyP1=tgjjKB@>+NV=;!-Vjw91o{Z7omeoqk%6tnyHTR zoVFvA3Jw9t0>0t3Kxq;~NE1W&Ex>*RT#3^;j@6T~lxO$exQ0{aD@A?oxmWas_&M8Eg12d=blem z-*MeO%?w%YB(Zaf@=xd)#m^)Dx2kU9GzqHc6-h(iR8?Wibks~ZLK+cijf)q5%h*Lx z6UJT=<%QXm)p+2sX`+>M)^=Fe*_JyCG6@c2ty>ygC@d;7X@gOe08?0|n=24G$rw*=j3bm@yPBsRWj z^Vi|M?dwK|VZK6C#y@S7ILQ(tQd6Hpt`kQ!XW8wm~7;hX1X+tA9nIm1^`upf}|o@dqMIWwZH zDqHyjO_L%SnkMc6hz_E=@4Rk7T1@PY#+8zj)|S&n+|*Nj(Jqluah2tyWeTwFsXkn& zukoT)YIzGTsZKEJaRiq9FLt^dpu7Xr2?Qddj=djQHmpgjBK(;2R^pvmo)x4r+_ zAl}Q3Z)WT)w-}6ZvUIg|IdaBaVEvnFDEhK>E;D28z_sn2yMgUFM>lX6x~r-3^p`5* zQe6(H(|k3E=rBqcPv$Hi3K{~FuUoEFu&+vwsKi$c6Q}@=g)6fXiAsZXVor{CkmOhJ z)o^zSCR-_w<;_W^6%cU%#;e;SAI?uy8D2Du5c&#!^c@}2XP@`b_ck=Vg+jT71~)RC zwXt>*g>kl^GoRVKy|r&PC>$gL$-mX=lyfB9cP?30078egvZ^|4b?7Qke#ZrOL>Z7Ir5BH&rk9CSf5ZJm4c4V>U_Reo9f{_JL9=<6oXLo?^h+NW zPm@rSaB=nIUe=|;5k$F&PSMW8(1ie&x!JjRaJ8!}Fm0qkd5`FDtrPAZ#PuSK49^>sVG ztDU|nt7&*$w#3rM{rIH9rwPde{x^uOAtB&kFTqeaedf|isIls(!o8*<;I(8m&jF#W z)DzUJw&-8uJ$&uBGYsN|HEzz4#v~tMU%OU1o=Ic~^T)AS%We%t_y9j(sbQsP`isXa z?Srj+T+BRNOqQ?YXpopxPAx=jxxU~kIM{5Mlr~`cm ziHq@Wd~tJIfB?J#C}JqY^~eV+C%!cu;K7%>Iv~*Q)o((8j?giwaq+%yZ0#tS%FM1Q^42@&WJe7GE#7t=MM8ED9v@OU6dEy;+u_fS=Ujyo2@z+OM z9{4A;!ulha;a3~@H6bGwc#tppSAcFaeI6hwH73~^YUsnF{k8MMME114>Rs`H*7E+? z%15gnBgjq7eg0I%IC4;~qKycqbY99`)jVjM|9g*UBHFXnX9PdgtZ41uK=t^B%F`?t zrx;H`UiAs%4e5pma0$Kc>9udXd((DV0=__ls1o0=fG|9jJh+-+=tx{fM)xTUPXZF% zv*P%Us!!PAy8uvJcQziwhuGnZcT25C(%{76SkVl^9FNLZa3Lw*1$KFTv@TZb9%{R# z8JNjzhRz#YUcvbT4uc?~`lEyB(Nb|7i&g#k}TBQNyT|ue7?zj=Xhji5H=M&4^BQ6bd3*;&;+8g zyvfI;H)~t{!T(xK1GYts|5jaT^#zot)p`J^hS6U{zH6=SP*?KNz3oc7Zp)AM2QY0N zn`eLmLX_6-R6-rt28jsFDryB6|xpA}XlTq^ZSDDnuZhrw9Frb75K_~c^d!Y;> z&gcfr(APxwhgnSIk_5JA`mn=zN`c&gK(gZiHoKc zV0J1pWL~ZCAZ0C~$gpBp?rEX%+vYu!>_9q#_KSl3jNG@_r?63^in<5A%^(G}%OrLiJu?9jx$uIuKu|T5f}i z+`gf<3zaXQ{_G(*mG`MZB5(4$*7VeNBFAab0{<652c;UCBQc=g)uhgSuk%^B+tcfV z(2Q@zE>tpXTXSDWyy*e+PrN;+nFvO*pKd{==WcvPRc%3~sxB7C1gJUk+Xu%|!ThI| z{k6)EO4u4LC!s>MvEuSPHxl(O6fXc802Sre$$|1d#iETgN=jf)1kD#t{%G>ved4S< z+_16(qE4><&DQ)Jko*DuS~j83mGJF_X2R`X)LTJ)n7TS1c@&Lr7K@E_lY3XF=Z+T{7Xe$AEKh6w#2a1m6=Ato% zNYPnJ+L}HuUOP|nblirraG6(%s_MDiDh&GYWySv#4#B97Z~)}Wn`?I~OuBGC|GOfT zm+mOghRQ51#a#cj2(+9^>G482^()=`YPD@U!FJ}$5w+9fr>63!^@mfjx`S)8;0rUV z5?G{S4q7ptx^xnATio}&F2HM6EVzQ?_AEV#M>`U(n$U%JCvjjtt%-9s!33sJ~N8HH3>*0uuwgWQS>nj=#>p z;^a@cSZpH1NCXY9pkV2xlkUPhFb6g-FI}I?Ib*o z#Oy+2NP=Gmyc@bQbZWDucE2LGBeEiV_Po7P?V z{Xt~N;W3ncMGoH82YO(Rf8FT9(jI&3_YN<-vj2S6mY1|=c9^PaUp3dOwj8Y%eF+8<0zIE1B#%O_7tkLVgnaJs`DKFqs_k-FI6M7S#&_Qr}CBW_N zHpB*qWiEy&H^)>zn_f34g2y-Bdkc9J`IA=rYje|whRmD(44&nK&Mh(s!Dq@<6~JTw z&~-%hY6UOZeiJSp^gr16x%hS9nUk$F{LD}Ka6?Bz>OD7I3~+tHKQ6HTcOkHq?(#M% zAbIrJ1lMk*LcH!j^P8K_c|ONp_u-U|GLE&SFPv|I3gRogJ+$<*@!s>tJs`>eq?uX4 zgyc$Uwdtk}9g<;>StDldceVV$*jM;Ne}fg4d7GC@F~;z={se1XV4-|%Bz_o#+63u? zAMCD;uot-(kzP=xU z`8Vs4Lf!s56s%~tpWE~kSTJbtMWH>#LA2Vpwi1{0ksfyupIhd77q;0Fmka0*a`wMJ4FSD94%f z+j=p(m_8C`XDU<4CIoUPyi`ICyMdeSI2)vsH@m%v8Ta`x-jKu3h5vxPA9fjJavK3p zXbBoDYe45AXU8-R-4Ge%$xsCs`0m|6+(8I-D^!t5!&2#;=GnIG6JDkNmuw^29+1Pz zf77?Lm7X{`H+Z3gg)z4i%)c?a>`TmDtnvc6?|u6fO~3%x5yRcqWXue6Ri{^9JLSkA6g>I)&{NwH9(YtFrF!_R)9GfrsVGra)qWG9Dc)Dlbet zPNLBI7t!{tF0%nyX~})|8%jB~$czU$&RmcOJBQuME&F=f&_`Gm$W#4$EL%3}NN$D} z@{xzl6tBwWgLHgDu%4@>$I3aY9U~m4Q#i|?AP|gc+WX>WUMj1($-1JRKD3_FC~fv1 zb2L47w2jX(rc6-1i6Cy)nZwabi0BuH7RGL#!?vL)Ku7|fq?uh&J-EJ^C^b(qk516Z zhP-|n=L=&Ub1 z+zU(|cB#z1)!<8GlUpL`>UT*}$ZE@bhOo2)nlx$sAwr_!8MR9jdM;|ZJ8hUV0Fz;~ zus7FgiaMc)>;ro4QpMMV`%U}EL#CGFSV`Lr~h8?kjXtOu2^)C zJT`wtN-&0cBKIY@U zwy#--d5aV#ZSQ=v#hJyLBP!z(e%{iiT=itU&}oQMZ1TLS6n?UCCp}bE3ZEXdaJ}}r zU!93sS&-V)AKw~T!W=06Ieh518ko^i`R??WxN=z_@2KBmn36KYd7MPCqT=*0$=u<@U)Fa2R|5OXOz- zdf4^$$w(WIitan^i4EmrmFk2aACP}s{WDsJtnxrgE8KJ;#dpiP{eHVXwUy4r{5r-x zzPt3JN6U^YZ%ZDjB^p}t2OJ6(M3VzNbbRcVT@@NyOGXAHfY2hTQ?a)IE7`J5uxj92 zD;Nvc8$7kul=ad4ifrsUOzfa#ZCkZ3x19M|)}@uG#cTQ)-L*VL1F5F6RU!s-Z$ln= zzgqgsM$YyW;bgUQengKtXmmskT-0$;2-n`^82ZE54ks#$Y#^{L5hWRD-Y^>vb)b3RUi zho;na)R&N+8k|FcZ8Z8skkuJ=aRksRyL7J^V>er$yzgR0hv^!Rlf`2;HtSdVfXA+0 z^8U@%b;ckm&z0@SHDan~x;sXLGEP2M=k5Q(k=lLJE#a8yZ9lZ@$YZABin5*L|JczD z#M4X3TH8}Nj_rmc@MBw2K4PVZ?dXc^ods^KjZAW{GB*2p+YL0;BC{;s-+rWXUnDem zA`)shoANHmL(J=`>QH`oa(8IW*Vf%54p(_e1>c;VyZpl^-9F&;SrmLg9p#YheDpd} z)9^VJ^T0C1ST3nYCql-j=s#c+khI*FpK=j8AR{FaOs8-bpV1X-vwJEG)JTTgqbH!W z+NeI5*!o{UnDR$ZQySHcf|zwMV!^)q_U&M1#KM(Q`E0ZqTr*D)>VzPnF;v<0iTBWf}_8X+?F`QJjcn|-6)vS#!5#oz+g2gqk6^1`Br zF4Y0eYsw#Z_D2=~(5wA_QICJznQap3av*19V~GY5xOdBK>%-%Jd`Q_SK_GFxn*=}? zFiej>yN&_V;V+z;45$@%dCT=GP>RJz9igSMuaP;3BH*_CDh?9LxPCGLU26dPPJd$* z@bJ}m&Fk!ZGN$m+ranR;@pdP`XRHei>sFh>{rP3(9anqsAE$EoVxK=HTj|~RO4I8F z;E8oXpplKkzEM>VyFv;xFyA-h9gEx#cFjIJ7T%S4Ed#WHk7gTMm_xSTzQGm)9x2SF&MvE7Cr-{Ij; ze~`Gd*m*|U{*JU4^v>b|mgVp!aca`O%whvP($)#_-`Yt?ojBwH6aJAZVH`rQBy~Kf1T&Jz=5pNBWU5ulc;-Z>!mf?}FuXn`Nf- zq~fMlEJ+%3f|q$0&x(;#XFZ-&cfXhDe`TlD{EoF?ptSuXovX>UcnqTH>VJc_ z?SMTtWpu7pT|F{7`&o_aw@be;NT)(%oUO;_+KOr|ujjs!z~L2n*6)E@mF!vHIg8Dy znxA(MM1bGeJm~!5;w_T+Mtbx5(zb3kh+^-07D1^HlnTa#yk;zpc&$mJ{e^hUUiu4$-2X`@aQ=jP{DV$I-Q@EzW33&obYw0 z@QoGk-~GWYCoQX9_f28-s>g{NvNiRA#>UQctw&=S-m<$u#pbhuY0yCdsnO-ndeb=s zCwqK@U|OjPC$k@!gnYnH(sx_Z)7ehkeI1ldJo{%l)@k{*A2tC6;Jwv?9K=N(=q2AQ zfctKL@Sd?A{jxZ9dlKGzc((91(V>ztJQGBzykA7XxQyBCC$Ctz&>i_PhT@?B-shUy zKi$j8c{=fY?GK$EDOzJcLhbPn_ng}OxYYnw6(*4`{HaL5l8DRERcj62X%~0JLlbbz zUP49o;av}O{EqPQ8Zko=`$;gaE+@ykLc#o9-xh?7M=-US90b-=gcVjO#oWl7K9v0W zLMol^jLp|2CuHXRVB<#gE&g-}Wfms~>r)Jau zXC6(=L2p=c;>jiRj_xeaN4*T!c`pg8{3Jdvv2M4VT2@5t*GSgT0%5^jg1jVLNT&}X zgXQiO_pErUm=5wc&$zQm;kM#-&0!aaAIsS?N5aH9Q8&uKjQc;a5z-y@*XdpTFLzX00w>Uo`BQ+}+NN5a^=Cg+-Ffav*58 zuLceP7^8U>_*~&(c2J{3y|!yRz8_JSN;{Ao)fB_b5-oq7DVw%~Kv{fC5a)#AC&W{N z#dlmlfj-H?M>&(7ZO#8cB~T|^ramA(lP_sp$=G-lmb$@y2PPNoN@~4mOS_nBRL8!d zgiwe~Mo&-7Lb*RC*hoIwEHlB|X1Z~xS5vW1koCjigCJl$Kno%rtfFe=v3HC#DL{o) z_OHbl?N+P7Q6JV^GEnj;v?#YYBu&yIKskl7Ta^Qa7kmn>;2JdNTXDP6NQa!-RHM8r z9wl|B1scA>Yo22eck(ZFDc2_>1L6AL*J+2JSS)eMAh$*$Y{Vu5ahcgS4j99wl3=t! z=m?mD_ziZN>+Y*XBpudRP&MGV)`)!XKW+PU^Op`_Dljk7+wvsnp=@ST8;Hn(*^4kR zzA?Hm7d^Bb61iPJLu z;raHUcZ4T4_!g&@_of}pV3d9NX)UR@l~OQdff)xJ4n7^sJ2_}R05IIv?qfq`Prtk} zB>4dgdPqPbO3<*Ro>pdK_F zOy!uL7($+Lb&oQP8q!bsR)${o+C8W6X38nVc_V5`{}YrH_cr$UUCD^Y zeAQI$15Gzu!d&wXajnxWPeHwkp}xXmsB#cQ`ZP@e_j2*Eujou}K_96KU-f)dhWtm! zlr!L!L*oD~b$9Je1V^^}zgdzyCGGe1BY`@Xw5!JI)`5%LiYWWvkt&}i14{JbbhZMS zaU%9WTbb&LbkR~iMXT~pZfOfaV{kD=#br^q2TS&UA6mo=>bOa*63@Kk?8rG;` zsN(-z50HkTjF@zHRWb((Bfu**t|c>P`evOeE$A8;?fF>px}ytm8Wt}Ugzzh=e%euz zfjEUlxwL`UdzenlkfKzQDu~i2M~c(t_Ws0IP|$u&By=A%gh;dM55>kkq5Q4`78+{R zx#p@mufGf6iAQb!dU){GAXGRIlm=yS(Nj}wj*kkr#RY=9dgmM*FTe~R!Hd8pu^*b9 z{R%T6a*zPF2FRuYlF9kYC_!bsX-F0nrAzrN8qu@WY|P9g#_19F` z(6T&@tr?eHm~t$w38uEe(GhTe>k6dDfL9-e@H=-l_5hSp&J%=OPwU|``#jWPVyddZ zg1!N-X82rE>-~q4o(Gmztn*$69emjQh=b@k{OPa1p8vmD01dE7&!82Zfj1fV?rNe= z>e|x#w~svpGt4Qlzh7A=zjsfKjO=9D-=Nb5I$S^SqJWik^ri^<$9D#_-7C*6|IiV| zj4ofd#%ZM*in+31%0ruhZE=y?jujsk(uEE3bB^=h;M}cz;Zx>G3_OUH6y}Ac)Pu#> zuCKH$3#LX(+)Zev?Z8N|+$Dkg{* z^;0q0v0-K~9$I?4R)!(qg#9CcoN<~lZ_v#wWIpEa^h?00!R@cvP-6M%qeC)?7r9lX zykzk61p{D3=M5wAP$0ZJhzJ86SfMo-2v{N45r>QoqV&57kt*O(-{4!)cV%}iZzp)GHuVT{Llsx!IM>e{14{;pIKU_uad|>cV=&^6u_-6&Z9_zeE@u) zGb6SuC5}SsgWT|cBTuyEKGRb#-R{of%xje0y84F-+N_Z#!K>~8-E|DcQXa;jE%M*c zV!%RZDZJW^JjZoX?<}GD0E}uQBK2DlK)nlVY2r7x;sN2DITiZ-gW`?7#YQX6GvPs7 zcsWgNc#u2R$PzYq_k5G*#cyz`JtW-pSfnzaJF&*>d{^u~5u`o5I$dpUSwuLyfKl9H z0ksCYIf%?X*`sTGl8ZE295nkaHDaz^T`HgvgNRVpVN#&EC(xOX}|cF?gdE?-qXn*Jqpg9`k%2d#VM5G(kWUJZYS;YV#%~;K{NP0&|g;zZTgPw zEyaB_NkDBR?-44YBzXmWm#cSn z*B5MjWMlv{Z0q`Q`CJ2d0tCfbG+qAEsB+_$|7@C4;v+x^T9o z&~c<EDhAn?>v9Thd1kpoxTV*S%yQbH(58KeU;0 zWom-$Efn3&n(>LjhrA=Oqu_~Wvo13DL5K+80%~dbj4X5x# zo3a5RZL%BpclPP?1Z;_i(ggq2O||BJbgOyRb|Af?#b*xE5b?c?!%Tfv&E_TBrlhN& zwtt3&a%cnJ6+ssTxDCLSw^M^6UoXF%!=*|KF+!f~?0@1GIA%+MT^_x;9k4$zss@MU z7`fE7--3kOmO1S2%jJ?s{&KE0p%qrGlq z^F9H1Hz|YjhNSMD=d1WKX%yL;CQBpxks&W^-lWOD4xQiuo5lC|F<(oKZ`o3B(3lrC z+t-G_=O-+& zg+yDnHLv9}pZ_&^a(EsXYR^ziv}8?6e4R8He_2A0H;*BzQ^%|r?h zbt_h8;^m|Yc5Nia0J{!kLD1e1X8K|F=ZKn`#9!|^UlM3t&IVr%to!e<@p;%eU0z7F z9aPxEi&WY5e&XyW8d13iD*T63Y0mU!1L3hLL zaYc}jpE+~UBbtv_!MGWEh$Ly63CHQ9R=O|dkUbabVFpg$yV$YcikQYXgO+zbSGAWoflUX&tF=w)+dD}YB+F}o&gK3JaA%sV zd<0Y4{GQqQ$M9(2q$)R1v3LlAW|e?b0g&}+EzM|gRZt(r_it?fX|n9_I?Jjt2a6gM z6L63Fm#V^_HuET(`TQCw$6Ms_9VxH%LUmH4!NP+U=EeG359&0w6o0;IUdoz%RGxWo z9mqjkHs0K7{0_z?FD@bH?>BJr%6QrvtY>SldtmkYOyJ(biQ>CzITp0dTl1SZ3%6gKEk8St;tlN1$hckpq)+o zqF!71U-&y*=A8~YIcC#)y9?|R+zl2S2R1?FJKbM!@ml;jgxw|Y_6?IM3>H8kbyGWPCJ*)qxy|;dg^82EO2au2kX({QF?rspJq-*Gq zM!FHCq(nkGmF|>o>5`I0kdBd#A>PC1d%gd_``hzeub02gFmum+pR@MbYp=7nNQHmv z-1s3Q?WB4LVU6@g8gwuC?r?-1j^B8y;@WqxaQZxT?wnLae) zg&t6Y!)NuHBs*;#1OL|K9tuJ%p0&(SdSFB}&$tPNq8?KFEq8GYJ1H{S1jwjMz0dM3P`#|?1Qw$;aDQzm6XER>o~7US z&+CV0e;REyg;;GSO1PyAdlZIF7QG9p^$2atxQfy#vUjk)8d$E7X!5{pFwYO71qcauLS8aHctSH1AEGrNX)f(y1s{M#SRu2Ka zTn;N+LbTOy#gigv#i`nhFC66R8w2t81$<`i1*tBZNjys1-i!C&`Agx!)qsQJ2r z7xvgB2ELkGU5_+s?aki!YH=HqF|6zE8>`XSTn^=_Vq_M?0xc_*bk|Ci zZ^MVHN{^>nNTYtqO!mBGG04t`Ur;)r3arN#xmaPS-#_aMRt-)xt0+4B;G zL;lnH>>zvm*u^UJ2X$hX9(F{kf`+9k5vkWrq~nPvMS&8>r@e!D)r~lJy0NmSvsc|^ z%O;v-f3_kPGG{TdJ2zIewmst%)v;Z)-bFYPNv`FYUKM(;3sg_^?OUwgl=scjhyxWEb7g=C=LCUj9$plhhF=?RpJk-r!hbN{PD)$Sxnf z_&(RZ9P?+c*+>))o*I!6rql=KT5a zkJa#IEmm)7MR}{cGW19x4g2NS@Z{nAFY{6s3#+U%!jmku7NazO+pn=vjm2aw-Jkhb z5kt}n-Xm3WA`S`;**z!meK7iVv?9O0&|SP;C*DY$UFg$f_J)eWDOJP3pZSi@!cNn! zLTvV+tFsCjWj08Gl|WtBK*7|KurEnVQ=nn8NON-FYnmeyPIiYh`25XHZyQwa-mk=X z9sD@dfqRA4$GuL75=dro1|vZe&?28WK?;*esX!@TTaQc)ZvP1Q|>Pq@qG$sf0c zqRrII3x}=TvzccQ$+JDoM8#ma@$8HN%SEHKZ?`wa5YH#{06| z`a&&i@&Oyd5O6F$&9%LebT0J%CW9fFNPYeWA$L<~HI_cNJzK%WlCZkZJHLJWBtYmT z??2zFHG(n`irU}tc|V%LB2YNGCoUpZGFp}-I`WU{8L^vY)rx)+5@DR~>DQsJO#B7V zGoMZ}3#?xRrZyK!!<4`~FP>6A*J7iIQhK5E?I3f7r;#2Wu=={98T4w1a)?%meO|iV zOpXDKrfQtgC?^xrM}qQvmKaDs*KTrZmpT4}&ceEHG;_O~DyE5_j%Jj~tBUH%;5T!DsdMmJ%Cuf)X=1wBxl&lpU$=TplVVRC63XE)mhwtks)_ z!fpb5I9)D@z6h-Dm0Xl8|FZ2UhHb0+{RlRpiyk;r4Jtk>-hf#Y|5&^nFPU*|Ql8Y0 zlZmdq&4`6El{AAD%_P-Jw4F=%2`x;UK7^zmDOVw`@u@DDLZD4rCH4 z8t!O60SvMTuwOtN7n8 zRso}5raNxEd}xvu*yr85yxkh_PT?2Nn$EXjT7MiE&vnn=BY!V<05;+SuM#Vn1$e;K zE#W8Cxe*^xceeT3?B|>Xc|RSOISa%Zx!bc@>e`JXzssH8A*whbZ6uSr!)w37d|T%5 z9mKII%hyI%+og`XhEfZW421md(fc9^T}vh+R||DeDR^`#ZQONo=$?^0tzQipQ`J9A zowKdaCf?gbKQns@cEZGkYdcm2gt~?|Zesdx@d9hk9h{-Pu-6w(!ytTudo zh{aZ<#er&n<}4-ioT2|lcve{8_~B$&he>p`^WL~a9&ALWCAhwiTIu1on*QoXC|hPT z-f8f8(~K;6?x4#fQl@3fQxjbrxLY!d>GAo*Sk@LDSs-NGAN;V4(%+R+GkqwV8z$8B ztYLC+Fu$xFA6-)#Kk%9DudJzwy$$IvEYL>=563KsK6MIm=da{hPmNapuGPBD}@ z-^DAUXJkLC-BAFa>H%|5L?Bl-uMmClQ0_om#n_3Q@<#Y`U5TST?ZcI?X6?_us+sZm z;o>fj>@FoMRHt_Th_4Ta9kg%>@ng0Yjm06}!#_KHz9u;0DlgL%d!ws`_}K62EvGzP z1+Q)m60;oA7V+kh%)4;9q)XEn?9$@|F2xm&0+$7Ri@d+9m*h29JCwbtdsDx#+5!!r zKfgrF+7I`a;UgvQ`z6 znWqZy5D)C^4(io9IlH z-g6|43C!8f!ZFj!i$BiN1OFWeT08=S(Q0>BW1RCp8|0)nr?8*QYJyYyiew=w*~dQD z-=q$~)8qFkqG%M@MfSHI{|&Wvpl}}+nulC?^P+S{XE9ZVa}Da>RRtKaspD{r4lB15KDZPejh6wEW@9F!pZi5ZfmcOZ*ZP2>;wgVc50DsG&sy+%_-SR4BR_%NSx#M zTlK4J&+hMPKd4@*>}%)i9iw) zb(q~BkUbSn%A+erBYu#duo1yFa(-OWf8|4EJc#PY_@ESh?ZF*Z0AZ|L6@Wy3bAp3NyN~x6e%A~L6Y>tL`7>E<4e9dVZOhsl?7xlf zN;z?L?!9n%8#Q7`8XuRxe7HNJ4t_k*n`Rvp6)D0;`6 za&+gXl_n8QdSV&1^Xz!9!a>OpJ)}{H|3fRKIdol=Z|(F1qyb zQcq~iJXex^Frl`IB}L`!y(=Aeq?HfbjE~Xl)40H>i$}5~bn7fZDT-PVGT#Cs}3V3nO%yRxgo;C-?3@>1quHJ5yb?~YvOl{iL#f?2#n+x>m z>Ti01n;zYsaMI-kpC_6#BmDnebF_><3<3b1sjU2xP0^`QsTNw1lQx>B5d!5%@O1q) zr#^q*l`yVdO5GhGg;iA26gsw3pRFW8!~sHPV!Kc9(jCXYtzlF_uUmqo5tU)~>vC~V z?udohC*{6mDiw&BWCAGzxd>Y4A^Y^xvFznAIH1oPvx z_|Y4Qfq?fop%0B=KJ_T&YHmw4#l&()KGh!&3bRdNahE>O#ko)1VhCc!oJepeAG~eg zcY#!m$1vd(;kZZ|bB1HK*7{J>98rd()w{lO0V>(Vrc3*z+qJJm*!cZnrxjO;=M z%OcDt9%KSrb8(eDG&}_qf4TCWsNde^!Vr~97cSxkB)se!uB+IqJ=2B~jBMDlbk1I| zh%L(A!&Gx%Ti;s8^mb8^r&(9-R~Fhj%nWBr`92mf;B{0--xeBs`MiNn^0Y9mKSj({ z=fwuE{6aHU@f01ih!#7f4$Nq}St*h@I3=l_0-!X0+iUM;=j0@H!qxeuOly{gBqqfd zAH`gK6~=)INs9Rz0f^A;LhE(C3S#)Fv+#UmmQ-+d%MSyLrOcaAx2f=cXbRh&6@aaJ81JJVFdT?o4=yqakMIvqplVp@EH$VIlF4T0=BBDw^tIM@#ow7$4V-W5ssc zlD<`a_ls#FPdxps(?eZbh4F(ImxIN{F737VlTPg}ayb6^btl)JZLTt>N9mG8KA&fV+Sb#|Dr zmie29CEWl2^#VZIa%;{*DqDUa3D!69IJcWj-%v*7UHUYK#hc(lsx~&F^0MY-nhHp< z_%Bze?=SG{3|DlOeOr^%sCm)L)jsZVx7lK;EXHuCTa-}{Oib`8vPK&8HMyfAbrC>hNYm}8;$C)M8_uxQZeECSjbWdn z4)~u^T-IeoHx66aR4| z>vBeu;)Pkjrui0+o9tmyr6RVCKHv8C*#PYmT^{>embe>PkdwRkE~55H5eP;NcmGbk zKun2wK({2I5|^{_Alvgoe@ao_|IT^zgWNxWFeHac1XevyN9P5~osGk2)81!3-R0!b!$zar;v z-kB2FJjeuZ+cUJ7H2(#%G^=)4eWp?3tbjT+@WW88a{h9}_{wuYSMxWKUFGa0INsBQ z5ULb%U97ycfeWoVWludl+>C8n3`riA@l6QvVGjMb$(!hP@J*}BMcJf9jv>#Bl54d)Ko=WV5;Ln6lNq zFj(-f+6f+CCW{L-y=6&uJej{YqS87ABl?}r!VZo>_E;;UF+*`3b43(n^?sGLMTZvZ z0o5@JI3n#>Ys(9j&m1VmZu-6;GtzsH}cu?k?+b=2c~$(_~ah! z=L{)H2o`sp$S_DvGljCN@+;G0A&J#mm*uf0s(Cj=f-8Sa&BqlWxFlM+bkBZn$l;nj zT|-Eby3Ik>4&KQw#FWh6H{~?UrlE39+j1%CD%p-gif^j{!CTPpzJz&y?Tn-|AWF#)4_rpM4WlD*D zKJ+2jW|?ybdB`K??F_l9N{1&G3hJRN9h3RbzE-2znmL+U9b9P2`FYHUUZmt}-}B~O zzb7QAQ+V_?;ungQ`RdhH!*LS>Ur{_-5hST8xk41(*>=;p1j+zE=zRGDKX&iDpk+>K z`iRcFO;Gsmxfqg7B~&IgO>%dzgw($H+1Ip&w0G0k>dRv}SO1DDLs-|op$tcsJxgu- zZE!0DcHGHLl&i!8HR)dr3KNT}vZ`S$p=unZ^;(ja> z+Jw@aN#iLruY~8HbVzm7);XQo&m3l&mC~;(S9%+YY#HX-QlzRAQGRiWi}?PFtwq;#F&U(%d?o|5mFDXT`bB-ww?E^LRDoKS03 zy>!nWK`9Ti17$wCzs7q@iFz0tg;54=hEkm5(t?@t7F+1k+0diQ7x8pMXHS4Gf~KsT zW_&vJ`?)-T0E_IgNp!hi*Q>Ma_g*5hSNq4NDbciY?qBc!x)z%0zLEkg zvtPr;7JoPJUQE8yX!p`Io({m78qH)uSSe-=p#8(NDk0kTr+M2L6{Y`doKw@yiC-5M z_%GF{I%e3G>)(mxlmN|d1KZuZVwkoN`aH8edS`|-A4lV>d5;~<0D9q+;&NNe@WU=u z?wIm9ylN*yUb7FaD%J@?YUm9bR>aLfVR;Qnrba!u=)K()e7cTelg*~9D?QM&ie7U- z7P!*gz68pBCE^qoT7mUA)BQ|Mi=fR=p>1!C=v_8&DC`_urFnh&^LqVoX!ZaXcN+y4{bzYu_rw|`C8qJs9JDeYdV>wC7!Dj7MTwgBpC*nQRw7RvVse}Ta5dB&+!0`Ye3LPRnj$n zX$PPmh2tTy4IUtA8{*bW4vazHT>$hLzB3!e2Cw$3u2mjrnu4+31VD7EWIV_${7<|n1A$G zmy_&+$7g{>p6N^M8-K;Wc&^!%UJn=7+}eTP!yOkhO!1*9azN}_@_hEsn4ybHBrPJn zzijhl0D;^biP~pF_^qcCxYGhLLR~&n^6!EA8sT12)zA_L)TkGp4;Vy^IMtG(X0s*; zcVed1RLK&>t{Phe6-A-P&-N>xsTgoSvdF1-Kp4k{n0N|=-?X0|Ax{TJ#s!8&8b8z& z^C7Kel%Fi>lA~nMoJG_}RDtlbK13F^7`_x=KuaRTjCiCoWb~@{bE|8@l%O~PG=)!q zm+HyILD)c0Z{_I5FH}#?i(^!O5q?|c)GSH2cL>${r&ij_FRRR)H?gd$L^U~dMixpz z*acVGl%Ixjm=oxE3Y0M^S==5>h&h>crP}(BQ#^Ok(BJERQ@k~+H+Yd7)z;O$&`<;| zIS~Ci_~UN+J0KA9CHR+Aw(M#ZtOY(xdVl`=u%|$^`h_k>knKcPuQLM0YK#B8Q1{NM zkn!bwD*GfIw~sr@2ehvL6UTSw(h!&7Fla$ z#0TJU_pbVmVcFiwoQNtnM6$bdWM;gqgS60srD4{uQS^9Px zc5&!6kn={BnwJNQFNrsVb-!8JLFK+z1W-YFi z$;4nV1C<UBq66G&Ghfy! zb;Y!+YVE;HM%|ksV@ag~Yzx6ZTqA_IFT!@IQt&*@Wn(5%d3x}%G|?g+_pdv8zA(y% z8zq_|rg?dAB3JF5GMX_%5lTjPxsp96B=_8?s;< z@!Y1&wbs^7eq}7(M!}{BN zd0c0dN+pLm%$-O8G<2%B#e(XF3J#Qd$YO}itYJk8@ranV6P}QMoo4AAl|UKQ_MoD{ zK~p%38N#W&F`f7;YqQ1?(}BX;-i_55Y?D14D%151W0QleMaWvSS=F+VR^ur?=!yQC zyLzZVz5M)Iu}B9L+oWr!0J)UM`uG}mrj#w&E@8kK?bz;Auw*XxuubYHVchH48s6lN z%fT!bc-{smIsqL&=Hq63Mq&*rKgy`#bAc)w3gqB!F`Lxl6~2C!49E=E0hWN>9$2z6 zbT9Ir%yoTyeHC*^kQ|(!p?el0HqocVO=eGEW-q-NV?svjx@k1x`W2 z+Q#NoJH9QHccR#j>ML?S9;gbDWVVmogka>gXNRXLrFkaarJ%d{W@>mACb!E$a#Rf0 z`&9Awri+AN7afq;Yy(C;aaX*|v1Ei4)~Zxg0ABImy}^1Ki6(@A%x$#FnEY@`3w%#> zEf5u%B1!UetgGOK9nPKz7+f>tZNeK1t3%9+)-vjWpt&{zJ*5obfJ6Hn0F@1YWBjVp z*e-b7l^`&t8=uOA<)xcfS(8FYK4{mYe47H?Mu9I~&d>XiYXBuh9aQ+PC-*{&IW$2U z+vd{7T!l|8Uf5Z(>zn#1_Jn98-Z6zO~{|Je_c9?eablUIW&Hzhk_?KUCKwB zqF9(qXBJ_Ut+2a?IrJKXN!(Csx0I3cp6-se070YUWo*jBw^V5>DTTc1b z^=a!@x2x}9(w#-aZ@)YRvG_z9`7nMHxoAT^WF2(m*7(q}cx5JV(e)ox_{cBiCe0a} zWKVsR0Z>Z&Ul}q+ODq7r;)(Cqe;$mMg=`^LwKiF-+y z`F}$7WWN%rAZuF>Y9oZqXimRYnSZPP6`91nv}Y-i7Z*b&l}y3Qlqfz_$dwGYvxz(J zuQA}%XfRVjV}Z zB6p{`xEG1&@Xaswz!4N{hoI>6d<3*Ncrrp=P*eg83bbkZ z{Fwx(yRyGu$$w8U8BUwTXT?RhV#y~YS2d&iW+tlza#*fBCV)Pe?xM)<>-f@N8Szrv z-m~N&W`wZhoUYa{UT_mDmo^a0Mkg}`#ElqA1(-TA@zd)RFn+$hrs!RTa>I3>I!Yy7 z-|=s3(Zm%4mFYD%+$aq{?gcMja(4%p1g@qWkvfaj{u?Vq6T;Z1ah!AggtW3 zk;nB7{%S66c~rO9%(E7jr$Hn|21Hc8i`2h|1f5MQJnD?sef%r8*Oia?vW`SBL7tS& z$(S-I^o@pcmTRXA$I!y96Wc0LFaTVoiPQDJUJLny3m63Wo-RcaP`TMI72&b;LHwYI zmOIb-XmI%Qbmtl|_DmR?r*aY;z+uw%(GDVu2<5^jF*`;62wBgyJ=1Q&2wTT9wh2u)@mxt zQhv&EN2{PQr=_rWm{%>K!=Uuc^dtR{gz=;A5Kr^4j!e00;o7&-e0v_UkiH z>kPY@8b$+2Nhmn;6$|VXtv$q`{vjIBrp60@v3reZYd|`ULC<^gJr*%Tk}X>Dm)B83 z&R|LdDOf6ytxsg`BLm`0{YFvcq!IZ(6fqmv*FL#uoj*hxe!cg$@pT%Zu5L(@%71&v zl0f4_+2_PY+aMTNvK^qF-AuWSPC3#arhjveSft@nA&z4tEukeuQ{>I>7>Xd_q? z?L)1DsajgzH3{o^dsFuKnA#JQ{P15DPVNaSw=S&btB+&Ly=H z6U&;X)GKwFeb$Wut1y{=1fb4lGHw+*^$v(qVlM+4f#tFs>S6(u_H;R*^V>AF&L1w4 z0b})9{N^`mZnL0jB{WEId=)9LUI=r%zo6>Wm@U8Ez25Mq%a0bELux0=(uQoF+V`_> zQU;PkiLHRnp00iUgHRZ!dvN?^{={DOvba-eS#rJiyCXqdVO5;+-hK(0^@~NtC0+is zYbCUz-f{Cg(xqUw`HoX55}BH&7%sS=yS@VnV5T5-1{G7ZzHrrC*uiyPV6tEb^d|f= z-L`yeVXWsy9OTW;Tp^n;3S0c_7+!NEKI)dCuq>r)>FSElN-Ir3)!J>Q({*lUinMnqh)Bn zbc57ec!l}q2_%a_{;yB(OQBUNF0P%Kh330i#+a(oWZ6A-bN}zjTpC{pM%{QA<;*_G zQ%d8J<^d)T-#53JSg|TK`ZP8i9lym1t3;NAKDAq4RHJknI@msRB>8_z6Dw=xIUr>N zBgy`{O){623oOqVAk&(DWLFjDmv;Mgh+bSv*?|eoiXQXH5S1F*yvBn#F z-O}_!|78ho?>f2*J7F(YvHRqZUbWE9HI{EsAG0)7mC8H%WTFq>`!qbygALRxy(k5s zemkg}vfNDlLI+FeDWNI_f!8f`g}X8$Togw2Wt{Z^I6FtT^SfMldZ2ts>szigOvdOI zD7_Y*bz7iy?AZ7a%iiE2HXoF5T9k15MDt>f@jaMzh`RJC_`{eg;%(Jb&ie1~r+ak2 z_x`Tp5B5Ta6`FTtEc|b)*v}bg_L4Oky$WG?-Z2Qt;~DO+L{-UUWtY#rXiwhetfET3 zKdT8v#EZ|?^CVeoioXFJ#&N40izQ{<;_DYB=bw&e{zV3-(1MGdY4U3STqm@4lCfnA z4O3c{_0Z7RjxxXQb7k<3BxR#oFOj67@y-}46z%vj2ei0U?Rln^4|sS@wPO%nu3^=? zPRv<|i^!`g$%Kd^(($Ni!1++3`37q4QyHJpH18a2%LRQPItT40Uvy0i;7z{6tSd5p z9Jo3;v7yX#PKLw=X6w-m{%-{9tN%@FR^&#}1ydwtzi@RvzWC*TgIVJ({x{N@&O8VV zhLfcu{XghW`DFJtl{#=ffRTn^n9g=9dN3gVfQvAWD}$f1Y#Kzb*8(X?pdL6B(ianW z94<%mU;-R6(USc)9XN7$4tdhB7PzwMZ)?1*2YR zP8d;iDe>nSQoBC$CG=5)xpD*9Kx$TeBI!8gvt3@e?goZJ#!FO#zbQv7)n09sNd7}=MWMKRv4!NxaquCx*_!QdbS0!YBLkO z8yK6jdaSdSVDRGga~|E#tMY%?#tR8Q73tW4{}bqPHmKLhl~Ujn?%i{d*!FG33sJJH z?_5FO_lwHN5iP!SzK2rqM(h(KWV?*V5wa)Y7(#MI6o1thm&2jVG8~Cxx1zvbMvor~ z1bXG(anW*}%2{Aioxq?c(3#7PrAL5N&!<*op>hT^_|%8l^84;tYv6MMiDzVcTXUnY zdsP5W9cDNHDFu4m^0+v#A!41sy?!%3$)xjGnd+#1toN_aZ5cpYm)eP=92Ww_)YwiwLdnz6$@0DsudIcm|6E#YiwXepl`9F2^dSLoytn28DTiclRirc- zJN9eOte)2e9hUWr*hnzqUH61yR6RPhlt};QXGQX{f{l!S2NDr3nViMer|TtaF}(dG z(2QP`rSv%@=+_Mc;4DB;vZYx$yIp^{@Tmm93zQZ?HWCkf1`|9j%9SplcmlFc<#E@Q z4Tiw#duV2ZR?S1jVOPsJ?81eH(%j!r;%Dp>m&d8o(mi$tHm8U`IbQs7XmMAK<72nC+2+7a>%mE>TJ;PJDDf`x5 z4O3#imaiq>eOB5Y7{D!ji2}Kjny+OcD6V*7O~kXX|M$vUKpA^QW>Lt<=jtDQ%ml0HaF-uhnZXvWkSR5RXIEl2M{2_PK&F;Sm+;<%o zv}$qWwpV$80w3+D6$0dsTeE}YZ(Ek?^f~&xs6%OFUFm#}i=Y9OOhqY**J)ib2_D2$ ze0TyJ5N%-8=_|C07=cQey{kTCk!#Zp{u0qRS~7pU&bf4;$6)uFKDZP}#t4u^MFIpZ zht%Ue3l`;qTC1quj>#zcM@w|f!iz7BD`8N!7u;eq$NX9&ns}3XhCd*$&oWA~^Tk4v z28e(X3Ji+d{dG^HN3f5ufjvt)^M?gNYl~<{5|n8jn6!?4K_vtT1ADq(^h#fB6X4Ew zXfF@uUHLt8YWE8Q))7u&f70Bu-d7BDa$SvWC>WgL2D2kOdOwhPDqgDC_pc>dPO(}( zst};+zvqDhlutxRFY&gjm_lLYXiikbLK7#SZqTjt^u!4{sJMV!&2!Ym-Jr_O^DbEl z1p+}0J8S zt9eoEcOxptMKO1^?uKYHX+q|#$!;ho+9`26?dfbSJ5xvXXsc*!e)bL$)LTTg~`$x6WyPS(G+vHh+I;ceV zDQB1~30P=uTLf^^(s=C@gQiGBwWkt0Utwv>OpV-Odou=9>xR&_sYwI#7nA=T$p;He zP&Wm3V_Gl6>>UEXIx>znN`>-Z*8O7^piaET5FBZh&)0u690REWH$9UpM7nUTS_{$# znuRPhsUalK#8H?SMfx;XrqKGl2hr>{kVY{3V+J!tl(2aFx> zkBU}NAMu;_4Z9}Rf3wm#IR9@6$^XZ3i2whB0iTKZzmFUKe}1m;hZp%MXNB(xyddD; ND>)U}3Tczz{|AF3*DwG8 literal 0 HcmV?d00001 diff --git a/frontend/src/App.js b/frontend/src/App.js index 578880f1..235eb721 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -1,4 +1,4 @@ -import React from 'react'; +import React, { useEffect, useState } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { BrowserRouter, Link, Route } from 'react-router-dom'; import { signout } from './actions/userActions'; @@ -24,9 +24,13 @@ import SellerRoute from './components/SellerRoute'; import SellerScreen from './screens/SellerScreen'; import SearchBox from './components/SearchBox'; import SearchScreen from './screens/SearchScreen'; +import { listProductCategories } from './actions/productActions'; +import LoadingBox from './components/LoadingBox'; +import MessageBox from './components/MessageBox'; function App() { const cart = useSelector((state) => state.cart); + const [sidebarIsOpen, setSidebarIsOpen] = useState(false); const { cartItems } = cart; const userSignin = useSelector((state) => state.userSignin); const { userInfo } = userSignin; @@ -34,11 +38,28 @@ function App() { const signoutHandler = () => { dispatch(signout()); }; + + const productCategoryList = useSelector((state) => state.productCategoryList); + const { + loading: loadingCategories, + error: errorCategories, + categories, + } = productCategoryList; + useEffect(() => { + dispatch(listProductCategories()); + }, [dispatch]); return ( + ); +} diff --git a/frontend/src/store.js b/frontend/src/store.js index 1efa3759..e02ed04a 100644 --- a/frontend/src/store.js +++ b/frontend/src/store.js @@ -9,6 +9,7 @@ import { orderListReducer, orderMineListReducer, orderPayReducer, + orderSummaryReducer, } from './reducers/orderReducers'; import { productCategoryListReducer, @@ -72,6 +73,7 @@ const reducer = combineReducers({ productCategoryList: productCategoryListReducer, productReviewCreate: productReviewCreateReducer, userAddressMap: userAddressMapReducer, + orderSummary: orderSummaryReducer, }); const composeEnhancer = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; const store = createStore( From 12bce5d319f1eb932b564c7619c438bd990f4549 Mon Sep 17 00:00:00 2001 From: Basir Date: Sat, 10 Apr 2021 20:22:10 +0430 Subject: [PATCH 65/65] Video-62-Implement-Live-Chat --- README.md | 4 + backend/server.js | 81 +++++++++++- frontend/package.json | 3 +- frontend/src/App.js | 11 +- frontend/src/components/ChatBox.js | 101 +++++++++++++++ frontend/src/index.css | 75 +++++++++++ frontend/src/screens/SupportScreen.js | 175 ++++++++++++++++++++++++++ package.json | 3 +- 8 files changed, 449 insertions(+), 4 deletions(-) create mode 100644 frontend/src/components/ChatBox.js create mode 100644 frontend/src/screens/SupportScreen.js diff --git a/README.md b/README.md index b52488f4..fced0509 100644 --- a/README.md +++ b/README.md @@ -409,3 +409,7 @@ $ npm start 61. Create Dashboard Screen 1. Create chart data in backend 2. Build Chart screen + 62. Implement Live Chat With Customers + 1. use socket io to create backend + 2. create chat box component + 3. create support screen diff --git a/backend/server.js b/backend/server.js index d17bc0b4..68d19edc 100644 --- a/backend/server.js +++ b/backend/server.js @@ -1,3 +1,5 @@ +import http from 'http'; +import { Server } from 'socket.io'; import express from 'express'; import mongoose from 'mongoose'; import dotenv from 'dotenv'; @@ -43,6 +45,83 @@ app.use((err, req, res, next) => { }); const port = process.env.PORT || 5000; -app.listen(port, () => { + +const httpServer = http.Server(app); +const io = new Server(httpServer, { cors: { origin: '*' } }); +const users = []; + +io.on('connection', (socket) => { + console.log('connection', socket.id); + socket.on('disconnect', () => { + const user = users.find((x) => x.socketId === socket.id); + if (user) { + user.online = false; + console.log('Offline', user.name); + const admin = users.find((x) => x.isAdmin && x.online); + if (admin) { + io.to(admin.socketId).emit('updateUser', user); + } + } + }); + socket.on('onLogin', (user) => { + const updatedUser = { + ...user, + online: true, + socketId: socket.id, + messages: [], + }; + const existUser = users.find((x) => x._id === updatedUser._id); + if (existUser) { + existUser.socketId = socket.id; + existUser.online = true; + } else { + users.push(updatedUser); + } + console.log('Online', user.name); + const admin = users.find((x) => x.isAdmin && x.online); + if (admin) { + io.to(admin.socketId).emit('updateUser', updatedUser); + } + if (updatedUser.isAdmin) { + io.to(updatedUser.socketId).emit('listUsers', users); + } + }); + + socket.on('onUserSelected', (user) => { + const admin = users.find((x) => x.isAdmin && x.online); + if (admin) { + const existUser = users.find((x) => x._id === user._id); + io.to(admin.socketId).emit('selectUser', existUser); + } + }); + + socket.on('onMessage', (message) => { + if (message.isAdmin) { + const user = users.find((x) => x._id === message._id && x.online); + if (user) { + io.to(user.socketId).emit('message', message); + user.messages.push(message); + } + } else { + const admin = users.find((x) => x.isAdmin && x.online); + if (admin) { + io.to(admin.socketId).emit('message', message); + const user = users.find((x) => x._id === message._id && x.online); + user.messages.push(message); + } else { + io.to(socket.id).emit('message', { + name: 'Admin', + body: 'Sorry. I am not online right now', + }); + } + } + }); +}); + +httpServer.listen(port, () => { console.log(`Serve at http://localhost:${port}`); }); + +// app.listen(port, () => { +// console.log(`Serve at http://localhost:${port}`); +// }); diff --git a/frontend/package.json b/frontend/package.json index bdf09a93..e00677a3 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -18,7 +18,8 @@ "react-router-dom": "^5.2.0", "react-scripts": "3.4.3", "redux": "^4.0.5", - "redux-thunk": "^2.3.0" + "redux-thunk": "^2.3.0", + "socket.io-client": "^4.0.1" }, "scripts": { "start": "react-scripts start", diff --git a/frontend/src/App.js b/frontend/src/App.js index 01d6cc26..910f0237 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -29,6 +29,8 @@ import LoadingBox from './components/LoadingBox'; import MessageBox from './components/MessageBox'; import MapScreen from './screens/MapScreen'; import DashboardScreen from './screens/DashboardScreen'; +import SupportScreen from './screens/SupportScreen'; +import ChatBox from './components/ChatBox'; function App() { const cart = useSelector((state) => state.cart); @@ -135,6 +137,9 @@ function App() {
          + amazona @@ -117,6 +138,36 @@ function App() { )}
          +
          @@ -138,6 +189,16 @@ function App() { component={SearchScreen} exact > + + async ( - dispatch -) => { +export const listProducts = ({ + seller = '', + name = '', + category = '', +}) => async (dispatch) => { dispatch({ type: PRODUCT_LIST_REQUEST, }); try { const { data } = await Axios.get( - `/api/products?seller=${seller}&name=${name}` + `/api/products?seller=${seller}&name=${name}&category=${category}` ); dispatch({ type: PRODUCT_LIST_SUCCESS, payload: data }); } catch (error) { @@ -33,6 +38,18 @@ export const listProducts = ({ seller = '', name = '' }) => async ( } }; +export const listProductCategories = () => async (dispatch) => { + dispatch({ + type: PRODUCT_CATEGORY_LIST_REQUEST, + }); + try { + const { data } = await Axios.get(`/api/products/categories`); + dispatch({ type: PRODUCT_CATEGORY_LIST_SUCCESS, payload: data }); + } catch (error) { + dispatch({ type: PRODUCT_CATEGORY_LIST_FAIL, payload: error.message }); + } +}; + export const detailsProduct = (productId) => async (dispatch) => { dispatch({ type: PRODUCT_DETAILS_REQUEST, payload: productId }); try { diff --git a/frontend/src/constants/productConstants.js b/frontend/src/constants/productConstants.js index 5ebe0e7e..79850440 100644 --- a/frontend/src/constants/productConstants.js +++ b/frontend/src/constants/productConstants.js @@ -20,3 +20,7 @@ export const PRODUCT_DELETE_REQUEST = 'PRODUCT_DELETE_REQUEST'; export const PRODUCT_DELETE_SUCCESS = 'PRODUCT_DELETE_SUCCESS'; export const PRODUCT_DELETE_FAIL = 'PRODUCT_DELETE_FAIL'; export const PRODUCT_DELETE_RESET = 'PRODUCT_DELETE_RESET'; + +export const PRODUCT_CATEGORY_LIST_REQUEST = 'PRODUCT_CATEGORY_LIST_REQUEST'; +export const PRODUCT_CATEGORY_LIST_SUCCESS = 'PRODUCT_CATEGORY_LIST_SUCCESS'; +export const PRODUCT_CATEGORY_LIST_FAIL = 'PRODUCT_CATEGORY_LIST_FAIL'; diff --git a/frontend/src/index.css b/frontend/src/index.css index e6fd8b6f..850f8ab8 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -141,6 +141,43 @@ a.brand { .p-1 { padding: 1rem; } +/* Aside */ +aside { + position: fixed; + width: 30rem; + height: 100%; + background-color: #efefef; + z-index: 1000; + transform: translateX(-30rem); + transition: all 0.5s; +} +aside.open { + transform: translateX(0); +} +button.open-sidebar { + font-size: 3rem; + padding: 0.2rem 0.5rem; + margin: 0 0.5rem; + background: none; + color: #ffffff; + cursor: pointer; +} +button.open-sidebar:hover { + border-color: #ffffff; +} +aside ul { + padding: 0; + list-style: none; +} +aside li { + display: flex; + justify-content: space-between; + padding: 1rem; +} +button.close-sidebar { + padding: 0.3rem 0.8rem; +} + /* Image */ img { border-radius: 0.5rem; diff --git a/frontend/src/reducers/productReducers.js b/frontend/src/reducers/productReducers.js index f2b7af7b..9b6f9e7d 100644 --- a/frontend/src/reducers/productReducers.js +++ b/frontend/src/reducers/productReducers.js @@ -17,6 +17,9 @@ const { PRODUCT_DELETE_SUCCESS, PRODUCT_DELETE_FAIL, PRODUCT_DELETE_RESET, + PRODUCT_CATEGORY_LIST_REQUEST, + PRODUCT_CATEGORY_LIST_SUCCESS, + PRODUCT_CATEGORY_LIST_FAIL, } = require('../constants/productConstants'); export const productListReducer = ( @@ -35,6 +38,22 @@ export const productListReducer = ( } }; +export const productCategoryListReducer = ( + state = { loading: true, products: [] }, + action +) => { + switch (action.type) { + case PRODUCT_CATEGORY_LIST_REQUEST: + return { loading: true }; + case PRODUCT_CATEGORY_LIST_SUCCESS: + return { loading: false, categories: action.payload }; + case PRODUCT_CATEGORY_LIST_FAIL: + return { loading: false, error: action.payload }; + default: + return state; + } +}; + export const productDetailsReducer = (state = { loading: true }, action) => { switch (action.type) { case PRODUCT_DETAILS_REQUEST: diff --git a/frontend/src/screens/SearchScreen.js b/frontend/src/screens/SearchScreen.js index 127c2e8a..392ddfda 100644 --- a/frontend/src/screens/SearchScreen.js +++ b/frontend/src/screens/SearchScreen.js @@ -1,19 +1,37 @@ import React, { useEffect } from 'react'; import { useDispatch, useSelector } from 'react-redux'; -import { useParams } from 'react-router-dom'; +import { Link, useParams } from 'react-router-dom'; import { listProducts } from '../actions/productActions'; import LoadingBox from '../components/LoadingBox'; import MessageBox from '../components/MessageBox'; import Product from '../components/Product'; export default function SearchScreen(props) { - const { name = 'all' } = useParams(); + const { name = 'all', category = 'all' } = useParams(); const dispatch = useDispatch(); const productList = useSelector((state) => state.productList); const { loading, error, products } = productList; + + const productCategoryList = useSelector((state) => state.productCategoryList); + const { + loading: loadingCategories, + error: errorCategories, + categories, + } = productCategoryList; useEffect(() => { - dispatch(listProducts({ name: name !== 'all' ? name : '' })); - }, [dispatch, name]); + dispatch( + listProducts({ + name: name !== 'all' ? name : '', + category: category !== 'all' ? category : '', + }) + ); + }, [category, dispatch, name]); + + const getFilterUrl = (filter) => { + const filterCategory = filter.category || category; + const filterName = filter.name || name; + return `/search/category/${filterCategory}/name/${filterName}`; + }; return (
          @@ -28,9 +46,24 @@ export default function SearchScreen(props) {

          Department

          -
            -
          • Categoey 1
          • -
          + {loadingCategories ? ( + + ) : errorCategories ? ( + {errorCategories} + ) : ( +
            + {categories.map((c) => ( +
          • + + {c} + +
          • + ))} +
          + )}
          {loading ? ( diff --git a/frontend/src/store.js b/frontend/src/store.js index 0e10b725..3abd670f 100644 --- a/frontend/src/store.js +++ b/frontend/src/store.js @@ -11,6 +11,7 @@ import { orderPayReducer, } from './reducers/orderReducers'; import { + productCategoryListReducer, productCreateReducer, productDeleteReducer, productDetailsReducer, @@ -66,6 +67,7 @@ const reducer = combineReducers({ userList: userListReducer, userDelete: userDeleteReducer, userTopSellersList: userTopSellerListReducer, + productCategoryList: productCategoryListReducer, }); const composeEnhancer = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; const store = createStore( From 67c619747ad3bf802269223e8c50d6e3b20a207c Mon Sep 17 00:00:00 2001 From: Basir Date: Thu, 26 Nov 2020 21:11:34 +0330 Subject: [PATCH 58/65] Video-55-Sort-And-Filter-Products --- README.md | 6 +- backend/routers/productRouter.js | 27 ++++++- frontend/src/App.js | 5 ++ frontend/src/actions/productActions.js | 6 +- frontend/src/components/Rating.js | 8 +- frontend/src/index.css | 3 + frontend/src/screens/SearchScreen.js | 101 +++++++++++++++++++++---- frontend/src/utils.js | 43 +++++++++++ 8 files changed, 180 insertions(+), 19 deletions(-) create mode 100644 frontend/src/utils.js diff --git a/README.md b/README.md index b8ce81ca..867a1f30 100644 --- a/README.md +++ b/README.md @@ -372,4 +372,8 @@ $ npm start 54. Add Advanced Search Filter 1. filter by category 2. filter by price range - 3. filter by average rating \ No newline at end of file + 3. filter by average rating + 55. Complete Advanced Search + 1. filter by price + 2. filter by rating + 3. sort by price, rating, ... \ No newline at end of file diff --git a/backend/routers/productRouter.js b/backend/routers/productRouter.js index 50c3e03f..06b6fa78 100644 --- a/backend/routers/productRouter.js +++ b/backend/routers/productRouter.js @@ -12,14 +12,39 @@ productRouter.get( const name = req.query.name || ''; const category = req.query.category || ''; const seller = req.query.seller || ''; + const order = req.query.order || ''; + const min = + req.query.min && Number(req.query.min) !== 0 ? Number(req.query.min) : 0; + const max = + req.query.max && Number(req.query.max) !== 0 ? Number(req.query.max) : 0; + const rating = + req.query.rating && Number(req.query.rating) !== 0 + ? Number(req.query.rating) + : 0; + const nameFilter = name ? { name: { $regex: name, $options: 'i' } } : {}; const sellerFilter = seller ? { seller } : {}; const categoryFilter = category ? { category } : {}; + const priceFilter = min && max ? { price: { $gte: min, $lte: max } } : {}; + const ratingFilter = rating ? { rating: { $gte: rating } } : {}; + const sortOrder = + order === 'lowest' + ? { price: 1 } + : order === 'highest' + ? { price: -1 } + : order === 'toprated' + ? { rating: -1 } + : { _id: -1 }; + const products = await Product.find({ ...sellerFilter, ...nameFilter, ...categoryFilter, - }).populate('seller', 'seller.name seller.logo'); + ...priceFilter, + ...ratingFilter, + }) + .populate('seller', 'seller.name seller.logo') + .sort(sortOrder); res.send(products); }) ); diff --git a/frontend/src/App.js b/frontend/src/App.js index 235eb721..def8c59d 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -199,6 +199,11 @@ function App() { component={SearchScreen} exact > + async (dispatch) => { dispatch({ type: PRODUCT_LIST_REQUEST, }); try { const { data } = await Axios.get( - `/api/products?seller=${seller}&name=${name}&category=${category}` + `/api/products?seller=${seller}&name=${name}&category=${category}&min=${min}&max=${max}&rating=${rating}&order=${order}` ); dispatch({ type: PRODUCT_LIST_SUCCESS, payload: data }); } catch (error) { diff --git a/frontend/src/components/Rating.js b/frontend/src/components/Rating.js index a7bfb9f6..1d0ca12b 100644 --- a/frontend/src/components/Rating.js +++ b/frontend/src/components/Rating.js @@ -1,7 +1,7 @@ import React from 'react'; export default function Rating(props) { - const { rating, numReviews } = props; + const { rating, numReviews, caption } = props; return (
          @@ -59,7 +59,11 @@ export default function Rating(props) { } > - {numReviews + ' reviews'} + {caption ? ( + {caption} + ) : ( + {numReviews + ' reviews'} + )}
          ); } diff --git a/frontend/src/index.css b/frontend/src/index.css index 850f8ab8..11a2098e 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -323,3 +323,6 @@ img.large { border-right: none; margin-left: 0.5rem; } +.active { + font-weight: bold; +} diff --git a/frontend/src/screens/SearchScreen.js b/frontend/src/screens/SearchScreen.js index 392ddfda..49d17994 100644 --- a/frontend/src/screens/SearchScreen.js +++ b/frontend/src/screens/SearchScreen.js @@ -5,9 +5,18 @@ import { listProducts } from '../actions/productActions'; import LoadingBox from '../components/LoadingBox'; import MessageBox from '../components/MessageBox'; import Product from '../components/Product'; +import Rating from '../components/Rating'; +import { prices, ratings } from '../utils'; export default function SearchScreen(props) { - const { name = 'all', category = 'all' } = useParams(); + const { + name = 'all', + category = 'all', + min = 0, + max = 0, + rating = 0, + order = 'newest', + } = useParams(); const dispatch = useDispatch(); const productList = useSelector((state) => state.productList); const { loading, error, products } = productList; @@ -23,14 +32,22 @@ export default function SearchScreen(props) { listProducts({ name: name !== 'all' ? name : '', category: category !== 'all' ? category : '', + min, + max, + rating, + order, }) ); - }, [category, dispatch, name]); + }, [category, dispatch, max, min, name, order, rating]); const getFilterUrl = (filter) => { const filterCategory = filter.category || category; const filterName = filter.name || name; - return `/search/category/${filterCategory}/name/${filterName}`; + const filterRating = filter.rating || rating; + const sortOrder = filter.order || order; + const filterMin = filter.min ? filter.min : filter.min === 0 ? 0 : min; + const filterMax = filter.max ? filter.max : filter.max === 0 ? 0 : max; + return `/search/category/${filterCategory}/name/${filterName}/min/${filterMin}/max/${filterMax}/rating/${filterRating}/order/${sortOrder}`; }; return (
          @@ -42,28 +59,84 @@ export default function SearchScreen(props) { ) : (
          {products.length} Results
          )} +
          + Sort by{' '} + +

          Department

          - {loadingCategories ? ( - - ) : errorCategories ? ( - {errorCategories} - ) : ( +
          + {loadingCategories ? ( + + ) : errorCategories ? ( + {errorCategories} + ) : ( +
            +
          • + + Any + +
          • + {categories.map((c) => ( +
          • + + {c} + +
          • + ))} +
          + )} +
          +
          +

          Price

            - {categories.map((c) => ( -
          • + {prices.map((p) => ( +
          • - {c} + {p.name}
          • ))}
          - )} +
          +
          +

          Avg. Customer Review

          +
            + {ratings.map((r) => ( +
          • + + + +
          • + ))} +
          +
          {loading ? ( diff --git a/frontend/src/utils.js b/frontend/src/utils.js new file mode 100644 index 00000000..54041e72 --- /dev/null +++ b/frontend/src/utils.js @@ -0,0 +1,43 @@ +export const prices = [ + { + name: 'Any', + min: 0, + max: 0, + }, + { + name: `$1 to $10`, + min: 1, + max: 10, + }, + { + name: `$10 to $100`, + min: 10, + max: 100, + }, + { + name: `$100 to $1000`, + min: 100, + max: 1000, + }, +]; +export const ratings = [ + { + name: '4stars & up', + rating: 4, + }, + + { + name: '3stars & up', + rating: 3, + }, + + { + name: '2stars & up', + rating: 2, + }, + + { + name: '1stars & up', + rating: 1, + }, +]; From c158a8db9f96eb695074d9ce1400990f4282757e Mon Sep 17 00:00:00 2001 From: Basir Date: Fri, 27 Nov 2020 12:40:10 +0330 Subject: [PATCH 59/65] Video-56-Rate-And-Review-Products --- README.md | 5 +- backend/models/productModel.js | 12 ++- backend/routers/productRouter.js | 33 ++++++++ frontend/src/actions/productActions.js | 31 +++++++ frontend/src/constants/productConstants.js | 5 ++ frontend/src/reducers/productReducers.js | 18 ++++ frontend/src/screens/ProductScreen.js | 99 +++++++++++++++++++++- frontend/src/store.js | 2 + 8 files changed, 201 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 867a1f30..1439bb1d 100644 --- a/README.md +++ b/README.md @@ -376,4 +376,7 @@ $ npm start 55. Complete Advanced Search 1. filter by price 2. filter by rating - 3. sort by price, rating, ... \ No newline at end of file + 3. sort by price, rating, ... + 56. Rate and Review Products + 1. rate products + 2. create actions and reducers \ No newline at end of file diff --git a/backend/models/productModel.js b/backend/models/productModel.js index f7b08871..a1c6852c 100644 --- a/backend/models/productModel.js +++ b/backend/models/productModel.js @@ -1,5 +1,14 @@ import mongoose from 'mongoose'; - +const reviewSchema = new mongoose.Schema( + { + name: { type: String, required: true }, + comment: { type: String, required: true }, + rating: { type: Number, required: true }, + }, + { + timestamps: true, + } +); const productSchema = new mongoose.Schema( { name: { type: String, required: true, unique: true }, @@ -12,6 +21,7 @@ const productSchema = new mongoose.Schema( countInStock: { type: Number, required: true }, rating: { type: Number, required: true }, numReviews: { type: Number, required: true }, + reviews: [reviewSchema], }, { timestamps: true, diff --git a/backend/routers/productRouter.js b/backend/routers/productRouter.js index 06b6fa78..74f61c79 100644 --- a/backend/routers/productRouter.js +++ b/backend/routers/productRouter.js @@ -140,4 +140,37 @@ productRouter.delete( }) ); +productRouter.post( + '/:id/reviews', + isAuth, + expressAsyncHandler(async (req, res) => { + const productId = req.params.id; + const product = await Product.findById(productId); + if (product) { + if (product.reviews.find((x) => x.name === req.user.name)) { + return res + .status(400) + .send({ message: 'You already submitted a review' }); + } + const review = { + name: req.user.name, + rating: Number(req.body.rating), + comment: req.body.comment, + }; + product.reviews.push(review); + product.numReviews = product.reviews.length; + product.rating = + product.reviews.reduce((a, c) => c.rating + a, 0) / + product.reviews.length; + const updatedProduct = await product.save(); + res.status(201).send({ + message: 'Review Created', + review: updatedProduct.reviews[updatedProduct.reviews.length - 1], + }); + } else { + res.status(404).send({ message: 'Product Not Found' }); + } + }) +); + export default productRouter; diff --git a/frontend/src/actions/productActions.js b/frontend/src/actions/productActions.js index d615de2a..cffc054e 100644 --- a/frontend/src/actions/productActions.js +++ b/frontend/src/actions/productActions.js @@ -18,6 +18,9 @@ import { PRODUCT_CATEGORY_LIST_SUCCESS, PRODUCT_CATEGORY_LIST_REQUEST, PRODUCT_CATEGORY_LIST_FAIL, + PRODUCT_REVIEW_CREATE_REQUEST, + PRODUCT_REVIEW_CREATE_SUCCESS, + PRODUCT_REVIEW_CREATE_FAIL, } from '../constants/productConstants'; export const listProducts = ({ @@ -130,3 +133,31 @@ export const deleteProduct = (productId) => async (dispatch, getState) => { dispatch({ type: PRODUCT_DELETE_FAIL, payload: message }); } }; +export const createReview = (productId, review) => async ( + dispatch, + getState +) => { + dispatch({ type: PRODUCT_REVIEW_CREATE_REQUEST }); + const { + userSignin: { userInfo }, + } = getState(); + try { + const { data } = await Axios.post( + `/api/products/${productId}/reviews`, + review, + { + headers: { Authorization: `Bearer ${userInfo.token}` }, + } + ); + dispatch({ + type: PRODUCT_REVIEW_CREATE_SUCCESS, + payload: data.review, + }); + } catch (error) { + const message = + error.response && error.response.data.message + ? error.response.data.message + : error.message; + dispatch({ type: PRODUCT_REVIEW_CREATE_FAIL, payload: message }); + } +}; diff --git a/frontend/src/constants/productConstants.js b/frontend/src/constants/productConstants.js index 79850440..e675b912 100644 --- a/frontend/src/constants/productConstants.js +++ b/frontend/src/constants/productConstants.js @@ -11,6 +11,11 @@ export const PRODUCT_CREATE_SUCCESS = 'PRODUCT_CREATE_SUCCESS'; export const PRODUCT_CREATE_FAIL = 'PRODUCT_CREATE_FAIL'; export const PRODUCT_CREATE_RESET = 'PRODUCT_CREATE_RESET'; +export const PRODUCT_REVIEW_CREATE_REQUEST = 'PRODUCT_REVIEW_CREATE_REQUEST'; +export const PRODUCT_REVIEW_CREATE_SUCCESS = 'PRODUCT_REVIEW_CREATE_SUCCESS'; +export const PRODUCT_REVIEW_CREATE_FAIL = 'PRODUCT_REVIEW_CREATE_FAIL'; +export const PRODUCT_REVIEW_CREATE_RESET = 'PRODUCT_REVIEW_CREATE_RESET'; + export const PRODUCT_UPDATE_REQUEST = 'PRODUCT_UPDATE_REQUEST'; export const PRODUCT_UPDATE_SUCCESS = 'PRODUCT_UPDATE_SUCCESS'; export const PRODUCT_UPDATE_FAIL = 'PRODUCT_UPDATE_FAIL'; diff --git a/frontend/src/reducers/productReducers.js b/frontend/src/reducers/productReducers.js index 9b6f9e7d..af62b77c 100644 --- a/frontend/src/reducers/productReducers.js +++ b/frontend/src/reducers/productReducers.js @@ -20,6 +20,10 @@ const { PRODUCT_CATEGORY_LIST_REQUEST, PRODUCT_CATEGORY_LIST_SUCCESS, PRODUCT_CATEGORY_LIST_FAIL, + PRODUCT_REVIEW_CREATE_REQUEST, + PRODUCT_REVIEW_CREATE_SUCCESS, + PRODUCT_REVIEW_CREATE_FAIL, + PRODUCT_REVIEW_CREATE_RESET, } = require('../constants/productConstants'); export const productListReducer = ( @@ -108,3 +112,17 @@ export const productDeleteReducer = (state = {}, action) => { return state; } }; +export const productReviewCreateReducer = (state = {}, action) => { + switch (action.type) { + case PRODUCT_REVIEW_CREATE_REQUEST: + return { loading: true }; + case PRODUCT_REVIEW_CREATE_SUCCESS: + return { loading: false, success: true, review: action.payload }; + case PRODUCT_REVIEW_CREATE_FAIL: + return { loading: false, error: action.payload }; + case PRODUCT_REVIEW_CREATE_RESET: + return {}; + default: + return state; + } +}; diff --git a/frontend/src/screens/ProductScreen.js b/frontend/src/screens/ProductScreen.js index 6594fab5..8c48f323 100644 --- a/frontend/src/screens/ProductScreen.js +++ b/frontend/src/screens/ProductScreen.js @@ -1,10 +1,11 @@ import React, { useEffect, useState } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { Link } from 'react-router-dom'; -import { detailsProduct } from '../actions/productActions'; +import { createReview, detailsProduct } from '../actions/productActions'; import LoadingBox from '../components/LoadingBox'; import MessageBox from '../components/MessageBox'; import Rating from '../components/Rating'; +import { PRODUCT_REVIEW_CREATE_RESET } from '../constants/productConstants'; export default function ProductScreen(props) { const dispatch = useDispatch(); @@ -12,13 +13,41 @@ export default function ProductScreen(props) { const [qty, setQty] = useState(1); const productDetails = useSelector((state) => state.productDetails); const { loading, error, product } = productDetails; + const userSignin = useSelector((state) => state.userSignin); + const { userInfo } = userSignin; + + const productReviewCreate = useSelector((state) => state.productReviewCreate); + const { + loading: loadingReviewCreate, + error: errorReviewCreate, + success: successReviewCreate, + } = productReviewCreate; + + const [rating, setRating] = useState(0); + const [comment, setComment] = useState(''); useEffect(() => { + if (successReviewCreate) { + window.alert('Review Submitted Successfully'); + setRating(''); + setComment(''); + dispatch({ type: PRODUCT_REVIEW_CREATE_RESET }); + } dispatch(detailsProduct(productId)); - }, [dispatch, productId]); + }, [dispatch, productId, successReviewCreate]); const addToCartHandler = () => { props.history.push(`/cart/${productId}?qty=${qty}`); }; + const submitHandler = (e) => { + e.preventDefault(); + if (comment && rating) { + dispatch( + createReview(productId, { rating, comment, name: userInfo.name }) + ); + } else { + alert('Please enter comment and rating'); + } + }; return (
          {loading ? ( @@ -122,6 +151,72 @@ export default function ProductScreen(props) {
          +
          +

          Reviews

          + {product.reviews.length === 0 && ( + There is no review + )} +
            + {product.reviews.map((review) => ( +
          • + {review.name} + +

            {review.createdAt.substring(0, 10)}

            +

            {review.comment}

            +
          • + ))} +
          • + {userInfo ? ( +
            +
            +

            Write a customer review

            +
            +
            + + +
            +
            + + +
            +
            +
            +
            + {loadingReviewCreate && } + {errorReviewCreate && ( + + {errorReviewCreate} + + )} +
            +
            + ) : ( + + Please Sign In to write a review + + )} +
          • +
          +
          )}
          diff --git a/frontend/src/store.js b/frontend/src/store.js index 3abd670f..72ec022e 100644 --- a/frontend/src/store.js +++ b/frontend/src/store.js @@ -16,6 +16,7 @@ import { productDeleteReducer, productDetailsReducer, productListReducer, + productReviewCreateReducer, productUpdateReducer, } from './reducers/productReducers'; import { @@ -68,6 +69,7 @@ const reducer = combineReducers({ userDelete: userDeleteReducer, userTopSellersList: userTopSellerListReducer, productCategoryList: productCategoryListReducer, + productReviewCreate: productReviewCreateReducer, }); const composeEnhancer = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; const store = createStore( From 1ddd0a5c749ca017e879c24ce460423cb11ae37a Mon Sep 17 00:00:00 2001 From: Basir Date: Sat, 28 Nov 2020 22:09:24 +0330 Subject: [PATCH 60/65] Video-57-Choose-Address-On-Google-Map --- README.md | 26 ++-- backend/models/orderModel.js | 2 + backend/server.js | 3 + frontend/package.json | 1 + frontend/src/App.js | 2 + frontend/src/constants/userConstants.js | 2 + frontend/src/index.css | 24 ++++ frontend/src/reducers/userReducers.js | 10 ++ frontend/src/screens/MapScreen.js | 124 ++++++++++++++++++ frontend/src/screens/ShippingAddressScreen.js | 52 +++++++- frontend/src/store.js | 2 + 11 files changed, 238 insertions(+), 10 deletions(-) create mode 100644 frontend/src/screens/MapScreen.js diff --git a/README.md b/README.md index 1439bb1d..ebd003c9 100644 --- a/README.md +++ b/README.md @@ -370,13 +370,23 @@ $ npm start 4. edit parse url to get query string 5. update product list api for search by name 54. Add Advanced Search Filter - 1. filter by category - 2. filter by price range - 3. filter by average rating + 1. filter by category + 2. filter by price range + 3. filter by average rating 55. Complete Advanced Search - 1. filter by price - 2. filter by rating - 3. sort by price, rating, ... + 1. filter by price + 2. filter by rating + 3. sort by price, rating, ... 56. Rate and Review Products - 1. rate products - 2. create actions and reducers \ No newline at end of file + 1. rate products + 2. create actions and reducers + 57. Choose Address On Google Map + 1. create google map credentials + 2. update .env file with Google Api Key + 3. create api to send google api to frontend + 4. create map screen + 5. fetch google api + 6. getUserLocation + 7. install @react-google-maps/api + 8. use it in shipping screen + 9. apply map to the checkout screen \ No newline at end of file diff --git a/backend/models/orderModel.js b/backend/models/orderModel.js index 868d3baf..2cabfaca 100644 --- a/backend/models/orderModel.js +++ b/backend/models/orderModel.js @@ -21,6 +21,8 @@ const orderSchema = new mongoose.Schema( city: { type: String, required: true }, postalCode: { type: String, required: true }, country: { type: String, required: true }, + lat: Number, + lng: Number, }, paymentMethod: { type: String, required: true }, paymentResult: { diff --git a/backend/server.js b/backend/server.js index ad95b17a..d17bc0b4 100644 --- a/backend/server.js +++ b/backend/server.js @@ -25,6 +25,9 @@ app.use('/api/orders', orderRouter); app.get('/api/config/paypal', (req, res) => { res.send(process.env.PAYPAL_CLIENT_ID || 'sb'); }); +app.get('/api/config/google', (req, res) => { + res.send(process.env.GOOGLE_API_KEY || ''); +}); const __dirname = path.resolve(); app.use('/uploads', express.static(path.join(__dirname, '/uploads'))); app.use(express.static(path.join(__dirname, '/frontend/build'))); diff --git a/frontend/package.json b/frontend/package.json index 154c4048..f5875ab3 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -4,6 +4,7 @@ "version": "0.1.0", "private": true, "dependencies": { + "@react-google-maps/api": "^1.13.0", "@testing-library/jest-dom": "^4.2.4", "@testing-library/react": "^9.3.2", "@testing-library/user-event": "^7.1.2", diff --git a/frontend/src/App.js b/frontend/src/App.js index def8c59d..8a052e2d 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -27,6 +27,7 @@ import SearchScreen from './screens/SearchScreen'; import { listProductCategories } from './actions/productActions'; import LoadingBox from './components/LoadingBox'; import MessageBox from './components/MessageBox'; +import MapScreen from './screens/MapScreen'; function App() { const cart = useSelector((state) => state.cart); @@ -208,6 +209,7 @@ function App() { path="/profile" component={ProfileScreen} > + { return state; } }; + +export const userAddressMapReducer = (state = {}, action) => { + switch (action.type) { + case USER_ADDRESS_MAP_CONFIRM: + return { address: action.payload }; + default: + return state; + } +}; diff --git a/frontend/src/screens/MapScreen.js b/frontend/src/screens/MapScreen.js new file mode 100644 index 00000000..5a19ace0 --- /dev/null +++ b/frontend/src/screens/MapScreen.js @@ -0,0 +1,124 @@ +import React, { useEffect, useRef, useState } from 'react'; +import { + LoadScript, + GoogleMap, + StandaloneSearchBox, + Marker, +} from '@react-google-maps/api'; +import LoadingBox from '../components/LoadingBox'; +import Axios from 'axios'; +import { USER_ADDRESS_MAP_CONFIRM } from '../constants/userConstants'; +import { useDispatch } from 'react-redux'; + +const libs = ['places']; +const defaultLocation = { lat: 45.516, lng: -73.56 }; + +export default function MapScreen(props) { + const [googleApiKey, setGoogleApiKey] = useState(''); + const [center, setCenter] = useState(defaultLocation); + const [location, setLocation] = useState(center); + + const mapRef = useRef(null); + const placeRef = useRef(null); + const markerRef = useRef(null); + + useEffect(() => { + const fetch = async () => { + const { data } = await Axios('/api/config/google'); + setGoogleApiKey(data); + getUserCurrentLocation(); + }; + fetch(); + }, []); + + const onLoad = (map) => { + mapRef.current = map; + }; + + const onMarkerLoad = (marker) => { + markerRef.current = marker; + }; + const onLoadPlaces = (place) => { + placeRef.current = place; + }; + const onIdle = () => { + setLocation({ + lat: mapRef.current.center.lat(), + lng: mapRef.current.center.lng(), + }); + }; + const onPlacesChanged = () => { + const place = placeRef.current.getPlaces()[0].geometry.location; + setCenter({ lat: place.lat(), lng: place.lng() }); + setLocation({ lat: place.lat(), lng: place.lng() }); + }; + const dispatch = useDispatch(); + const onConfirm = () => { + const places = placeRef.current.getPlaces(); + if (places && places.length === 1) { + // dispatch select action + dispatch({ + type: USER_ADDRESS_MAP_CONFIRM, + payload: { + lat: location.lat, + lng: location.lng, + address: places[0].formatted_address, + name: places[0].name, + vicinity: places[0].vicinity, + googleAddressId: places[0].id, + }, + }); + alert('location selected successfully.'); + props.history.push('/shipping'); + } else { + alert('Please enter your address'); + } + }; + + const getUserCurrentLocation = () => { + if (!navigator.geolocation) { + alert('Geolocation os not supported by this browser'); + } else { + navigator.geolocation.getCurrentPosition((position) => { + setCenter({ + lat: position.coords.latitude, + lng: position.coords.longitude, + }); + setLocation({ + lat: position.coords.latitude, + lng: position.coords.longitude, + }); + }); + } + }; + + return googleApiKey ? ( +
          + + + +
          + + +
          +
          + +
          +
          +
          + ) : ( + + ); +} diff --git a/frontend/src/screens/ShippingAddressScreen.js b/frontend/src/screens/ShippingAddressScreen.js index 443b9b07..fe79ac97 100644 --- a/frontend/src/screens/ShippingAddressScreen.js +++ b/frontend/src/screens/ShippingAddressScreen.js @@ -5,9 +5,15 @@ import CheckoutSteps from '../components/CheckoutSteps'; export default function ShippingAddressScreen(props) { const userSignin = useSelector((state) => state.userSignin); + const { userInfo } = userSignin; const cart = useSelector((state) => state.cart); const { shippingAddress } = cart; + const [lat, setLat] = useState(shippingAddress.lat); + const [lng, setLng] = useState(shippingAddress.lng); + const userAddressMap = useSelector((state) => state.userAddressMap); + const { address: addressMap } = userAddressMap; + if (!userInfo) { props.history.push('/signin'); } @@ -19,10 +25,46 @@ export default function ShippingAddressScreen(props) { const dispatch = useDispatch(); const submitHandler = (e) => { e.preventDefault(); + const newLat = addressMap ? addressMap.lat : lat; + const newLng = addressMap ? addressMap.lng : lng; + if (addressMap) { + setLat(addressMap.lat); + setLng(addressMap.lng); + } + let moveOn = true; + if (!newLat || !newLng) { + moveOn = window.confirm( + 'You did not set your location on map. Continue?' + ); + } + if (moveOn) { + dispatch( + saveShippingAddress({ + fullName, + address, + city, + postalCode, + country, + lat: newLat, + lng: newLng, + }) + ); + props.history.push('/payment'); + } + }; + const chooseOnMap = () => { dispatch( - saveShippingAddress({ fullName, address, city, postalCode, country }) + saveShippingAddress({ + fullName, + address, + city, + postalCode, + country, + lat, + lng, + }) ); - props.history.push('/payment'); + props.history.push('/map'); }; return (
          @@ -86,6 +128,12 @@ export default function ShippingAddressScreen(props) { required >
          +
          + + +
          ); diff --git a/frontend/src/screens/SearchScreen.js b/frontend/src/screens/SearchScreen.js index 49d17994..1452c3cd 100644 --- a/frontend/src/screens/SearchScreen.js +++ b/frontend/src/screens/SearchScreen.js @@ -16,10 +16,11 @@ export default function SearchScreen(props) { max = 0, rating = 0, order = 'newest', + pageNumber = 1, } = useParams(); const dispatch = useDispatch(); const productList = useSelector((state) => state.productList); - const { loading, error, products } = productList; + const { loading, error, products, page, pages } = productList; const productCategoryList = useSelector((state) => state.productCategoryList); const { @@ -30,6 +31,7 @@ export default function SearchScreen(props) { useEffect(() => { dispatch( listProducts({ + pageNumber, name: name !== 'all' ? name : '', category: category !== 'all' ? category : '', min, @@ -38,16 +40,17 @@ export default function SearchScreen(props) { order, }) ); - }, [category, dispatch, max, min, name, order, rating]); + }, [category, dispatch, max, min, name, order, rating, pageNumber]); const getFilterUrl = (filter) => { + const filterPage = filter.page || pageNumber; const filterCategory = filter.category || category; const filterName = filter.name || name; const filterRating = filter.rating || rating; const sortOrder = filter.order || order; const filterMin = filter.min ? filter.min : filter.min === 0 ? 0 : min; const filterMax = filter.max ? filter.max : filter.max === 0 ? 0 : max; - return `/search/category/${filterCategory}/name/${filterName}/min/${filterMin}/max/${filterMax}/rating/${filterRating}/order/${sortOrder}`; + return `/search/category/${filterCategory}/name/${filterName}/min/${filterMin}/max/${filterMax}/rating/${filterRating}/order/${sortOrder}/pageNumber/${filterPage}`; }; return (
          @@ -153,6 +156,17 @@ export default function SearchScreen(props) { ))}
          +
          + {[...Array(pages).keys()].map((x) => ( + + {x + 1} + + ))} +
          )}
          From e55842a861f002b911b6322e0db1ab49be532664 Mon Sep 17 00:00:00 2001 From: Basir Date: Sat, 27 Feb 2021 20:05:19 +0330 Subject: [PATCH 63/65] Video-60-Email-Order-Receipt --- README.md | 9 ++++- backend/routers/orderRouter.js | 30 ++++++++++++++- backend/utils.js | 70 ++++++++++++++++++++++++++++++++++ package.json | 1 + 4 files changed, 107 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ea78fdfa..211224ba 100644 --- a/README.md +++ b/README.md @@ -394,4 +394,11 @@ $ npm start 1. add seller info to data.js 2. seed product data with admin info as seller 3. fix isSeller and isAdmin on update user - 4. remove auth from user details \ No newline at end of file + 4. remove auth from user details + 60. Email order receipt by mailgun + 1. create mailgun account + 2. add and verify your domain to mailgun + 3. install mailgun-js + 4. set api key in env file + 5. change pay order in orderRouter + 6. send email the \ No newline at end of file diff --git a/backend/routers/orderRouter.js b/backend/routers/orderRouter.js index 246f8b4d..661af437 100644 --- a/backend/routers/orderRouter.js +++ b/backend/routers/orderRouter.js @@ -1,7 +1,13 @@ import express from 'express'; import expressAsyncHandler from 'express-async-handler'; import Order from '../models/orderModel.js'; -import { isAdmin, isAuth, isSellerOrAdmin } from '../utils.js'; +import { + isAdmin, + isAuth, + isSellerOrAdmin, + mailgun, + payOrderEmailTemplate, +} from '../utils.js'; const orderRouter = express.Router(); orderRouter.get( @@ -71,7 +77,10 @@ orderRouter.put( '/:id/pay', isAuth, expressAsyncHandler(async (req, res) => { - const order = await Order.findById(req.params.id); + const order = await Order.findById(req.params.id).populate( + 'user', + 'email name' + ); if (order) { order.isPaid = true; order.paidAt = Date.now(); @@ -82,6 +91,23 @@ orderRouter.put( email_address: req.body.email_address, }; const updatedOrder = await order.save(); + mailgun() + .messages() + .send( + { + from: 'Amazona ', + to: `${order.user.name} <${order.user.email}>`, + subject: `New order ${order._id}`, + html: payOrderEmailTemplate(order), + }, + (error, body) => { + if (error) { + console.log(error); + } else { + console.log(body); + } + } + ); res.send({ message: 'Order Paid', order: updatedOrder }); } else { res.status(404).send({ message: 'Order Not Found' }); diff --git a/backend/utils.js b/backend/utils.js index 76e0d0ca..7bc60eb2 100644 --- a/backend/utils.js +++ b/backend/utils.js @@ -1,4 +1,5 @@ import jwt from 'jsonwebtoken'; +import mg from 'mailgun-js'; export const generateToken = (user) => { return jwt.sign( @@ -57,3 +58,72 @@ export const isSellerOrAdmin = (req, res, next) => { res.status(401).send({ message: 'Invalid Admin/Seller Token' }); } }; + +export const mailgun = () => + mg({ + apiKey: process.env.MAILGUN_API_KEY, + domain: process.env.MAILGUN_DOMIAN, + }); + +export const payOrderEmailTemplate = (order) => { + return `

          Thanks for shopping with us

          +

          + Hi ${order.user.name},

          +

          We have finished processing your order.

          +

          [Order ${order._id}] (${order.createdAt.toString().substring(0, 10)})

          + + + + + + + + + ${order.orderItems + .map( + (item) => ` + + + + + + ` + ) + .join('\n')} + + + + + + + + + + + + + + + + + + + + + + +
          ProductQuantityPrice
          ${item.name}${item.qty} $${item.price.toFixed(2)}
          Items Price: $${order.itemsPrice.toFixed(2)}
          Tax Price: $${order.taxPrice.toFixed(2)}
          Shipping Price: $${order.shippingPrice.toFixed(2)}
          Total Price: $${order.totalPrice.toFixed(2)}
          Payment Method:${order.paymentMethod}
          +

          Shipping address

          +

          + ${order.shippingAddress.fullName},
          + ${order.shippingAddress.address},
          + ${order.shippingAddress.city},
          + ${order.shippingAddress.country},
          + ${order.shippingAddress.postalCode}
          +

          +
          +

          + Thanks for shopping with us. +

          + `; +}; diff --git a/package.json b/package.json index 3b443812..2eeacbae 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "express": "^4.17.1", "express-async-handler": "^1.1.4", "jsonwebtoken": "^8.5.1", + "mailgun-js": "^0.22.0", "mongoose": "^5.10.7", "multer": "^1.4.2" }, From b446326bb1bc8772fd39cd2f3db7b7a25697bc52 Mon Sep 17 00:00:00 2001 From: Basir Date: Sat, 10 Apr 2021 13:51:43 +0430 Subject: [PATCH 64/65] Video-61-Create-Dashboard-Screen --- README.md | 3 + backend/routers/orderRouter.js | 47 +++++++++++ frontend/package.json | 1 + frontend/src/App.js | 7 ++ frontend/src/actions/orderActions.js | 23 ++++++ frontend/src/constants/orderConstants.js | 4 + frontend/src/index.css | 28 +++++++ frontend/src/reducers/orderReducers.js | 19 +++++ frontend/src/screens/DashboardScreen.js | 99 ++++++++++++++++++++++++ frontend/src/store.js | 2 + 10 files changed, 233 insertions(+) create mode 100644 frontend/src/screens/DashboardScreen.js diff --git a/README.md b/README.md index 7580cb29..b52488f4 100644 --- a/README.md +++ b/README.md @@ -406,3 +406,6 @@ $ npm start 4. set api key in env file 5. change pay order in orderRouter 6. send email the + 61. Create Dashboard Screen + 1. Create chart data in backend + 2. Build Chart screen diff --git a/backend/routers/orderRouter.js b/backend/routers/orderRouter.js index 661af437..224e4bb1 100644 --- a/backend/routers/orderRouter.js +++ b/backend/routers/orderRouter.js @@ -1,6 +1,8 @@ import express from 'express'; import expressAsyncHandler from 'express-async-handler'; import Order from '../models/orderModel.js'; +import User from '../models/userModel.js'; +import Product from '../models/productModel.js'; import { isAdmin, isAuth, @@ -25,6 +27,51 @@ orderRouter.get( res.send(orders); }) ); + +orderRouter.get( + '/summary', + isAuth, + isAdmin, + expressAsyncHandler(async (req, res) => { + const orders = await Order.aggregate([ + { + $group: { + _id: null, + numOrders: { $sum: 1 }, + totalSales: { $sum: '$totalPrice' }, + }, + }, + ]); + const users = await User.aggregate([ + { + $group: { + _id: null, + numUsers: { $sum: 1 }, + }, + }, + ]); + const dailyOrders = await Order.aggregate([ + { + $group: { + _id: { $dateToString: { format: '%Y-%m-%d', date: '$createdAt' } }, + orders: { $sum: 1 }, + sales: { $sum: '$totalPrice' }, + }, + }, + { $sort: { _id: 1 } }, + ]); + const productCategories = await Product.aggregate([ + { + $group: { + _id: '$category', + count: { $sum: 1 }, + }, + }, + ]); + res.send({ users, orders, dailyOrders, productCategories }); + }) +); + orderRouter.get( '/mine', isAuth, diff --git a/frontend/package.json b/frontend/package.json index f5875ab3..bdf09a93 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -11,6 +11,7 @@ "axios": "^0.20.0", "react": "^16.13.1", "react-dom": "^16.13.1", + "react-google-charts": "^3.0.15", "react-paypal-button-v2": "^2.6.2", "react-redux": "^7.2.1", "react-responsive-carousel": "^3.2.10", diff --git a/frontend/src/App.js b/frontend/src/App.js index 691df965..01d6cc26 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -28,6 +28,7 @@ import { listProductCategories } from './actions/productActions'; import LoadingBox from './components/LoadingBox'; import MessageBox from './components/MessageBox'; import MapScreen from './screens/MapScreen'; +import DashboardScreen from './screens/DashboardScreen'; function App() { const cart = useSelector((state) => state.cart); @@ -230,6 +231,12 @@ function App() { path="/user/:id/edit" component={UserEditScreen} > + + + async (dispatch, getState) => { @@ -169,3 +171,24 @@ export const deliverOrder = (orderId) => async (dispatch, getState) => { dispatch({ type: ORDER_DELIVER_FAIL, payload: message }); } }; + +export const summaryOrder = () => async (dispatch, getState) => { + dispatch({ type: ORDER_SUMMARY_REQUEST }); + const { + userSignin: { userInfo }, + } = getState(); + try { + const { data } = await Axios.get('/api/orders/summary', { + headers: { Authorization: `Bearer ${userInfo.token}` }, + }); + dispatch({ type: ORDER_SUMMARY_SUCCESS, payload: data }); + } catch (error) { + dispatch({ + type: ORDER_CREATE_FAIL, + payload: + error.response && error.response.data.message + ? error.response.data.message + : error.message, + }); + } +}; diff --git a/frontend/src/constants/orderConstants.js b/frontend/src/constants/orderConstants.js index fdaf0cc3..df8b11b6 100644 --- a/frontend/src/constants/orderConstants.js +++ b/frontend/src/constants/orderConstants.js @@ -29,3 +29,7 @@ export const ORDER_DELETE_REQUEST = 'ORDER_DELETE_REQUEST'; export const ORDER_DELETE_SUCCESS = 'ORDER_DELETE_SUCCESS'; export const ORDER_DELETE_FAIL = 'ORDER_DELETE_FAIL'; export const ORDER_DELETE_RESET = 'ORDER_DELETE_RESET'; + +export const ORDER_SUMMARY_REQUEST = 'ORDER_SUMMARY_REQUEST'; +export const ORDER_SUMMARY_SUCCESS = 'ORDER_SUMMARY_SUCCESS'; +export const ORDER_SUMMARY_FAIL = 'ORDER_SUMMARY_FAIL'; diff --git a/frontend/src/index.css b/frontend/src/index.css index b4a66326..daead929 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -364,3 +364,31 @@ img.large { .pagination a.active { font-weight: bold; } + +/* Dashboard */ + +.summary > li { + border: 0.1rem #c0c0c0 solid; + margin: 2rem; + border-radius: 0.5rem; + flex: 1 1 20rem; +} +.summary-title { + font-size: 2rem; + padding: 1rem; +} +.summary-body { + font-size: 4rem; + padding: 1rem; + text-align: center; +} + +.summary-title.color1 { + background-color: #f0e0e0; +} +.summary-title.color2 { + background-color: #e0f0e0; +} +.summary-title.color3 { + background-color: #e0e0f0; +} diff --git a/frontend/src/reducers/orderReducers.js b/frontend/src/reducers/orderReducers.js index 25fd744c..43618152 100644 --- a/frontend/src/reducers/orderReducers.js +++ b/frontend/src/reducers/orderReducers.js @@ -24,6 +24,9 @@ import { ORDER_DELIVER_SUCCESS, ORDER_DELIVER_FAIL, ORDER_DELIVER_RESET, + ORDER_SUMMARY_REQUEST, + ORDER_SUMMARY_SUCCESS, + ORDER_SUMMARY_FAIL, } from '../constants/orderConstants'; export const orderCreateReducer = (state = {}, action) => { @@ -121,3 +124,19 @@ export const orderDeliverReducer = (state = {}, action) => { return state; } }; + +export const orderSummaryReducer = ( + state = { loading: true, summary: {} }, + action +) => { + switch (action.type) { + case ORDER_SUMMARY_REQUEST: + return { loading: true }; + case ORDER_SUMMARY_SUCCESS: + return { loading: false, summary: action.payload }; + case ORDER_SUMMARY_FAIL: + return { loading: false, error: action.payload }; + default: + return state; + } +}; diff --git a/frontend/src/screens/DashboardScreen.js b/frontend/src/screens/DashboardScreen.js new file mode 100644 index 00000000..5620c8ec --- /dev/null +++ b/frontend/src/screens/DashboardScreen.js @@ -0,0 +1,99 @@ +import React, { useEffect } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import Chart from 'react-google-charts'; +import { summaryOrder } from '../actions/orderActions'; +import LoadingBox from '../components/LoadingBox'; +import MessageBox from '../components/MessageBox'; + +export default function DashboardScreen() { + const orderSummary = useSelector((state) => state.orderSummary); + const { loading, summary, error } = orderSummary; + const dispatch = useDispatch(); + useEffect(() => { + dispatch(summaryOrder()); + }, [dispatch]); + return ( +
          +
          +

          Dashboard

          +
          + {loading ? ( + + ) : error ? ( + {error} + ) : ( + <> +
            +
          • +
            + + Users + +
            +
            {summary.users[0].numUsers}
            +
          • +
          • +
            + + Orders + +
            +
            + {summary.orders[0] ? summary.orders[0].numOrders : 0} +
            +
          • +
          • +
            + + Sales + +
            +
            + $ + {summary.orders[0] + ? summary.orders[0].totalSales.toFixed(2) + : 0} +
            +
          • +
          +
          +
          +

          Sales

          + {summary.dailyOrders.length === 0 ? ( + No Sale + ) : ( + Loading Chart
          } + data={[ + ['Date', 'Sales'], + ...summary.dailyOrders.map((x) => [x._id, x.sales]), + ]} + > + )} +
          +
          +
          +

          Categories

          + {summary.productCategories.length === 0 ? ( + No Category + ) : ( + Loading Chart
          } + data={[ + ['Category', 'Products'], + ...summary.productCategories.map((x) => [x._id, x.count]), + ]} + /> + )} +
          + + )} +
        • Users
        • +
        • + Support +
        )} @@ -236,6 +241,7 @@ function App() { path="/dashboard" component={DashboardScreen} > + -
        All right reserved
        +
        + {userInfo && !userInfo.isAdmin && } +
        All right reserved
        {' '} +
        ); diff --git a/frontend/src/components/ChatBox.js b/frontend/src/components/ChatBox.js new file mode 100644 index 00000000..08f4db3a --- /dev/null +++ b/frontend/src/components/ChatBox.js @@ -0,0 +1,101 @@ +import React, { useEffect, useRef, useState } from 'react'; +import socketIOClient from 'socket.io-client'; + +const ENDPOINT = + window.location.host.indexOf('localhost') >= 0 + ? 'http://127.0.0.1:5000' + : window.location.host; + +export default function ChatBox(props) { + const { userInfo } = props; + const [socket, setSocket] = useState(null); + const uiMessagesRef = useRef(null); + const [isOpen, setIsOpen] = useState(false); + const [messageBody, setMessageBody] = useState(''); + const [messages, setMessages] = useState([ + { name: 'Admin', body: 'Hello there, Please ask your question.' }, + ]); + + useEffect(() => { + if (uiMessagesRef.current) { + uiMessagesRef.current.scrollBy({ + top: uiMessagesRef.current.clientHeight, + left: 0, + behavior: 'smooth', + }); + } + if (socket) { + socket.emit('onLogin', { + _id: userInfo._id, + name: userInfo.name, + isAdmin: userInfo.isAdmin, + }); + socket.on('message', (data) => { + setMessages([...messages, { body: data.body, name: data.name }]); + }); + } + }, [messages, isOpen, socket]); + + const supportHandler = () => { + setIsOpen(true); + console.log(ENDPOINT); + const sk = socketIOClient(ENDPOINT); + setSocket(sk); + }; + const submitHandler = (e) => { + e.preventDefault(); + if (!messageBody.trim()) { + alert('Error. Please type message.'); + } else { + setMessages([...messages, { body: messageBody, name: userInfo.name }]); + setMessageBody(''); + setTimeout(() => { + socket.emit('onMessage', { + body: messageBody, + name: userInfo.name, + isAdmin: userInfo.isAdmin, + _id: userInfo._id, + }); + }, 1000); + } + }; + const closeHandler = () => { + setIsOpen(false); + }; + return ( +
        + {!isOpen ? ( + + ) : ( +
        +
        + Support + +
        +
          + {messages.map((msg, index) => ( +
        • + {`${msg.name}: `} {msg.body} +
        • + ))} +
        +
        +
        + setMessageBody(e.target.value)} + type="text" + placeholder="type message" + /> + +
        +
        +
        + )} +
        + ); +} diff --git a/frontend/src/index.css b/frontend/src/index.css index daead929..18f841dc 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -392,3 +392,78 @@ img.large { .summary-title.color3 { background-color: #e0e0f0; } + +/* Chatbox */ +.chatbox { + color: #000000; + position: fixed; + right: 1rem; + bottom: 1rem; +} +.chatbox ul { + overflow: scroll; + max-height: 20rem; +} +.chatbox li { + margin-bottom: 1rem; +} +.chatbox input { + width: calc(100% - 9rem); +} + +.support-users { + background: #f0f0f0; + height: 100%; +} +.support-users li { + background-color: #f8f8f8; +} +.support-users button { + background-color: transparent; + border: none; + text-align: left; +} +.support-users li { + margin: 0; + background-color: #f0f0f0; + border-bottom: 0.1rem #c0c0c0 solid; +} + +.support-users li:hover { + background-color: #f0f0f0; +} +.support-users li.selected { + background-color: #c0c0c0; +} +.support-messages { + padding: 1rem; +} +.support-messages input { + width: calc(100% - 9rem); +} +.support-messages ul { + height: calc(100vh - 18rem); + max-height: calc(100vh - 18rem); + overflow: scroll; +} +.support-messages li { + margin-bottom: 1rem; +} + +.support-users span { + width: 2rem; + height: 2rem; + border-radius: 50%; + position: absolute; + margin-left: -25px; + margin-top: 10px; +} +.support-users .offline { + background-color: #808080; +} +.support-users .online { + background-color: #20a020; +} +.support-users .unread { + background-color: #f02020; +} diff --git a/frontend/src/screens/SupportScreen.js b/frontend/src/screens/SupportScreen.js new file mode 100644 index 00000000..5e45995d --- /dev/null +++ b/frontend/src/screens/SupportScreen.js @@ -0,0 +1,175 @@ +import React, { useEffect, useRef, useState } from 'react'; +import socketIOClient from 'socket.io-client'; +import { useSelector } from 'react-redux'; +import MessageBox from '../components/MessageBox'; + +let allUsers = []; +let allMessages = []; +let allSelectedUser = {}; +const ENDPOINT = + window.location.host.indexOf('localhost') >= 0 + ? 'http://127.0.0.1:5000' + : window.location.host; + +export default function SupportScreen() { + const [selectedUser, setSelectedUser] = useState({}); + const [socket, setSocket] = useState(null); + const uiMessagesRef = useRef(null); + const [messageBody, setMessageBody] = useState(''); + const [messages, setMessages] = useState([]); + const [users, setUsers] = useState([]); + const userSignin = useSelector((state) => state.userSignin); + const { userInfo } = userSignin; + + useEffect(() => { + if (uiMessagesRef.current) { + uiMessagesRef.current.scrollBy({ + top: uiMessagesRef.current.clientHeight, + left: 0, + behavior: 'smooth', + }); + } + + if (!socket) { + const sk = socketIOClient(ENDPOINT); + setSocket(sk); + sk.emit('onLogin', { + _id: userInfo._id, + name: userInfo.name, + isAdmin: userInfo.isAdmin, + }); + sk.on('message', (data) => { + if (allSelectedUser._id === data._id) { + allMessages = [...allMessages, data]; + } else { + const existUser = allUsers.find((user) => user._id === data._id); + if (existUser) { + allUsers = allUsers.map((user) => + user._id === existUser._id ? { ...user, unread: true } : user + ); + setUsers(allUsers); + } + } + setMessages(allMessages); + }); + sk.on('updateUser', (updatedUser) => { + const existUser = allUsers.find((user) => user._id === updatedUser._id); + if (existUser) { + allUsers = allUsers.map((user) => + user._id === existUser._id ? updatedUser : user + ); + setUsers(allUsers); + } else { + allUsers = [...allUsers, updatedUser]; + setUsers(allUsers); + } + }); + sk.on('listUsers', (updatedUsers) => { + allUsers = updatedUsers; + setUsers(allUsers); + }); + sk.on('selectUser', (user) => { + allMessages = user.messages; + setMessages(allMessages); + }); + } + }, [messages, socket, users]); + + const selectUser = (user) => { + allSelectedUser = user; + setSelectedUser(allSelectedUser); + const existUser = allUsers.find((x) => x._id === user._id); + if (existUser) { + allUsers = allUsers.map((x) => + x._id === existUser._id ? { ...x, unread: false } : x + ); + setUsers(allUsers); + } + socket.emit('onUserSelected', user); + }; + + const submitHandler = (e) => { + e.preventDefault(); + if (!messageBody.trim()) { + alert('Error. Please type message.'); + } else { + allMessages = [ + ...allMessages, + { body: messageBody, name: userInfo.name }, + ]; + setMessages(allMessages); + setMessageBody(''); + setTimeout(() => { + socket.emit('onMessage', { + body: messageBody, + name: userInfo.name, + isAdmin: userInfo.isAdmin, + _id: selectedUser._id, + }); + }, 1000); + } + }; + + return ( +
        +
        + {users.filter((x) => x._id !== userInfo._id).length === 0 && ( + No Online User Found + )} +
          + {users + .filter((x) => x._id !== userInfo._id) + .map((user) => ( +
        • + + +
        • + ))} +
        +
        +
        + {!selectedUser._id ? ( + Select a user to start chat + ) : ( +
        +
        + Chat with {selectedUser.name} +
        +
          + {messages.length === 0 &&
        • No message.
        • } + {messages.map((msg, index) => ( +
        • + {`${msg.name}: `} {msg.body} +
        • + ))} +
        +
        +
        + setMessageBody(e.target.value)} + type="text" + placeholder="type message" + /> + +
        +
        +
        + )} +
        +
        + ); +} diff --git a/package.json b/package.json index 2eeacbae..f6d17ef1 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,8 @@ "jsonwebtoken": "^8.5.1", "mailgun-js": "^0.22.0", "mongoose": "^5.10.7", - "multer": "^1.4.2" + "multer": "^1.4.2", + "socket.io": "^4.0.1" }, "devDependencies": { "eslint": "^7.9.0",
    +
    + +
    + Cart + Sign In +
    +
    +
    +
    +
    + {data.products.map((product) => ( +
    + + {product.name} + +
    + +

    {product.name}

    +
    +
    + + + + + + + + + + + + + + + +
    +
    ${product.price}
    +
    +
    + ))} +
    +
    +
    + +