From 0d8c998eec391135ac9844cab80cc004e298b355 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sun, 11 Oct 2020 07:40:17 +0200 Subject: [PATCH 01/53] Add: Jaeger component (#299) Signed-off-by: Nicolas Lamirault --- diagrams/onprem/tracing.py | 15 +++++++++++++++ docs/nodes/onprem.md | 4 ++++ resources/onprem/tracing/jaeger.png | Bin 0 -> 22325 bytes 3 files changed, 19 insertions(+) create mode 100644 diagrams/onprem/tracing.py create mode 100644 resources/onprem/tracing/jaeger.png diff --git a/diagrams/onprem/tracing.py b/diagrams/onprem/tracing.py new file mode 100644 index 00000000..e4353538 --- /dev/null +++ b/diagrams/onprem/tracing.py @@ -0,0 +1,15 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _OnPrem + + +class _Tracing(_OnPrem): + _type = "tracing" + _icon_dir = "resources/onprem/tracing" + + +class Jaeger(_Tracing): + _icon = "jaeger.png" + + +# Aliases diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index 7f90f7b2..a6dd83d7 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -198,6 +198,10 @@ Node classes list of onprem provider. - **diagrams.onprem.storage.Ceph**, **CEPH** (alias) - **diagrams.onprem.storage.Glusterfs** +## onprem.tracing + +- **diagrams.onprem.tracing.Jaeger** + ## onprem.vcs - **diagrams.onprem.vcs.Git** diff --git a/resources/onprem/tracing/jaeger.png b/resources/onprem/tracing/jaeger.png new file mode 100644 index 0000000000000000000000000000000000000000..4af0b7aacb862dbdd64876e2c3b959a4ea191040 GIT binary patch literal 22325 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%0DNQ) znQA*7kM2a0=?(A|KrclH0-r}~!jnT@a&r>gaQFvK4!;=@acYUN>{{jWeMR66c$o?4 zBh6?-==-A~Et64pWjv~s9E>t8eTfObLpF-9mvGpK4*Snh0(FQxzZ7^Lcor!IA0B~k z0rV2Y34cD~R(u&a3<-Z3$u)58EF!1@<`03WZvl7%z6H?xFcS4?{2CJaY#|67fh>xe zF7C@mn&2yd-i18i$H1jII{pXvE`X=t*S_~I3SS% zZM=>;FfGpY4e-$#etYa*f`O%_pfugPC?Gco`Qw=k{A~bk1HO;?JOX|S&`a>M0KEhW zQh+1TRGQsTbIWn4dF3$VDin3`ke{Jg!&~k*ec|^Odp&;j`;A2m=Ngt!3v0w)3o z(m6}<7Sxjg@CDzi@D)G;WQrE+H6cjiI?K>R+6y|d`zL|(a7}sg+V%VJ6+kPrArOPm z0EklLGZzwL!#QoMnuztStF>Qs_In9uxp`R_;_k!sz)w4|n`YFU<#xmb^!#=AM)Z0G z(1y?t1ZDvzAQN~5YV7Is*h@rxbreA(indpvj>IdG04zp~;lGBLDE(_4??=M4$u@yFtOQlh9Dn8KfQv>(|a_m1xN0<7gaOd4{edT^NPNS#^~+ zFbNIAT!55;4-cW&DS!k5Qw;16oC$o1^bI44M=5G&b^vlIuIu7?CxW5vR^slL^S;w% zxEK`$4M73Gy?{f|2<&uNi6cAMyuR%`|k~CCP716 zJ4x~3F95E_yTadKU+)IA%72LH#!bj#xdR19%Yhew2l2~+J%ete0FnrT^+f@^eb8z@ z3kiK;3Wu@KY&vH`tmC_GKog7C+JA3G4|FwB2<@Vat6daX6}dvxz9;o4lTi+A1XkI9 z7ufe;C316C+26YbrT^SG7We|WLOwhIPbq*TBi#Wc>_ZTLeG0HUu&4d^P}=s3Bg9tl zO7sA4K@YU^+Kk3PS0DkeCpH_eU1Z3t4FfmY=W{Yra;Ye_L~v&OIlcRw3A&YNHQ#FA zmvZ~H8Cg5q?Ct7NAo4DxZ2KZbu@N;Jc^G&EwH4bJ1sAuYfv*cPag%&>4mnc*NeH_^ z57s~w>7IZDdO!U4pGS&vgrtSEir}GfUKJ>_I@jo#p8^{ZU%M*=Ggc803_VyD5miua&=14 zq$c;Mw(<6Pfnp$6qRd3TeJ*vmxOqO>M%I{s9SD41B+R3bpij166YTc}AwM$Nh<7=f zD*OZz{_P~$h{9{ZDc61LgDjmrkf04h>ANPR(3YWE|Mj$HCpsgs4@Cs0Dfahjkw8B} z>mC6Ufqx+-kOu7+5i6ljdbs@>yOv&b8kgf6hNHt8?>TNLuUK#s2lAV zWHR=pYpJcxz$L(Qi9YOZ51xJR#-pN~IlzE6HVvUbNsR37Zuh!3A}uaJ3cmZns6y;8(E=_q+y0?5kbxH2{A@e!SyeM9~Ugjmwhi2KUWJ z2k5c|5GPRmkZ(Q``F@QkEmVoddtXcDJJCkbq~QOez*Uodogwr9Z$+!!I^xn%UVNbK z`x`(h&95KyBdk|5yQooDt zb&372qX3)|pVZ4!8$yA@&8@M|()83or?_keY>}_ho36+6G*O9@?KEKeVfP z>~!K+z%}3ti;v!ibXfpH5Lf+3q*NT%*b0<4UXLt-uiD#u1^J_+P~0FF-H9W>JHY)p zIJOTToPb(w>S+gg2aS9Osqej^QtDs{HsHOz*g{u z-$!pm+K525B`^s2_=8b&dMh&hSEE(hH(&Zz6bNU5y1zq8i8u`l>OdNa~p3s8aRw{0D3A(|0ig7Whlfsatm zela2l-G*9HwbzgD5R`6w1?Bn;Vilf(sHsy?5HkMyzJnBvFZe!ukVXa2ob)p-mFe}5EPxYYh`B5Xz!)I>0rHgeE9I;!v6!qJ2#`hdfyfR z001R)MObuXVRU6WV{&C-bY%cCFfuSLFgYzUH&ih-IyE^uG&UOV07*qo IM6N<$f_mN`r~m)} literal 0 HcmV?d00001 From e4157d111e6ed068e1229f6143aa8bef361ab751 Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Mon, 19 Oct 2020 11:43:47 +0200 Subject: [PATCH 02/53] Upgrade GitHub Actions (#304) --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 175472ea..b52dec11 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -21,8 +21,8 @@ jobs: python: ['3.6', '3.7', '3.8'] runs-on: ubuntu-latest steps: - - uses: actions/checkout@v1 - - uses: actions/setup-python@v1 + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 with: python-version: ${{ matrix.python }} - name: Setup Graphviz From 2593f2a32a0f7137d186f7f6d5e39bc4012631be Mon Sep 17 00:00:00 2001 From: Guy Zylberberg Date: Mon, 19 Oct 2020 12:44:42 +0300 Subject: [PATCH 03/53] feat(node): add GitHub actions (#348) * Added GCP Endpoints * Added github actions icon Co-authored-by: Guy Zylberberg --- diagrams/onprem/ci.py | 4 ++++ docs/nodes/onprem.md | 1 + resources/onprem/ci/github-actions.png | Bin 0 -> 39261 bytes 3 files changed, 5 insertions(+) create mode 100644 resources/onprem/ci/github-actions.png diff --git a/diagrams/onprem/ci.py b/diagrams/onprem/ci.py index 8ee8831d..cdb25336 100644 --- a/diagrams/onprem/ci.py +++ b/diagrams/onprem/ci.py @@ -20,6 +20,10 @@ class Droneci(_Ci): _icon = "droneci.png" +class GithubActions(_Ci): + _icon = "github-actions.png" + + class Gitlabci(_Ci): _icon = "gitlabci.png" diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index a6dd83d7..3e5081a8 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -46,6 +46,7 @@ Node classes list of onprem provider. - **diagrams.onprem.ci.Circleci**, **CircleCI** (alias) - **diagrams.onprem.ci.Concourseci**, **ConcourseCI** (alias) - **diagrams.onprem.ci.Droneci**, **DroneCI** (alias) +- **diagrams.onprem.ci.GithubActions** - **diagrams.onprem.ci.Gitlabci**, **GitlabCI** (alias) - **diagrams.onprem.ci.Jenkins** - **diagrams.onprem.ci.Teamcity**, **TC** (alias) diff --git a/resources/onprem/ci/github-actions.png b/resources/onprem/ci/github-actions.png new file mode 100644 index 0000000000000000000000000000000000000000..b077f3bd4d5b019051497b3b611fd34dfc8caa93 GIT binary patch literal 39261 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 literal 0 HcmV?d00001 From f944a773d49653348a55e4950940253cb215c76f Mon Sep 17 00:00:00 2001 From: outscale-mgo Date: Mon, 19 Oct 2020 11:45:24 +0200 Subject: [PATCH 04/53] feat: add Outscale __init__.py (#338) Signed-off-by: Matthias Gatto --- diagrams/outscale/__init__.py | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 diagrams/outscale/__init__.py diff --git a/diagrams/outscale/__init__.py b/diagrams/outscale/__init__.py new file mode 100644 index 00000000..917b4bfe --- /dev/null +++ b/diagrams/outscale/__init__.py @@ -0,0 +1,8 @@ +from diagrams import Node + + +class _Outscale(Node): + _provider = "outscale" + _icon_dir = "resources/outscale" + + fontcolor = "#ffffff" From 899620a878748704ec969b2c3ed63fd621e2af6b Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Fri, 23 Oct 2020 16:01:29 +0200 Subject: [PATCH 05/53] feat(node): nats.io, open source messaging system (#301) Signed-off-by: Nicolas Lamirault --- diagrams/onprem/queue.py | 4 ++++ docs/nodes/onprem.md | 1 + resources/onprem/queue/nats.png | Bin 0 -> 5539 bytes 3 files changed, 5 insertions(+) create mode 100644 resources/onprem/queue/nats.png diff --git a/diagrams/onprem/queue.py b/diagrams/onprem/queue.py index cfbf725c..a8ffd653 100644 --- a/diagrams/onprem/queue.py +++ b/diagrams/onprem/queue.py @@ -20,6 +20,10 @@ class Kafka(_Queue): _icon = "kafka.png" +class Nats(_Queue): + _icon = "nats.png" + + class Rabbitmq(_Queue): _icon = "rabbitmq.png" diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index 3e5081a8..aac314c4 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -181,6 +181,7 @@ Node classes list of onprem provider. - **diagrams.onprem.queue.Activemq**, **ActiveMQ** (alias) - **diagrams.onprem.queue.Celery** - **diagrams.onprem.queue.Kafka** +- **diagrams.onprem.queue.Nats** - **diagrams.onprem.queue.Rabbitmq**, **RabbitMQ** (alias) - **diagrams.onprem.queue.Zeromq**, **ZeroMQ** (alias) diff --git a/resources/onprem/queue/nats.png b/resources/onprem/queue/nats.png new file mode 100644 index 0000000000000000000000000000000000000000..446b4072d5a92c8fdca366ac180ea43fbb9db9f6 GIT binary patch literal 5539 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 literal 0 HcmV?d00001 From 40ecaf64824d7cd12c14f989b3d023f170cf14c2 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Fri, 23 Oct 2020 16:03:44 +0200 Subject: [PATCH 06/53] feat(node): DNS components: CoreDNS, PowerDNS (#302) Signed-off-by: Nicolas Lamirault --- diagrams/onprem/dns.py | 19 +++++++++++++++++++ docs/nodes/onprem.md | 5 +++++ resources/onprem/dns/coredns.png | Bin 0 -> 11315 bytes resources/onprem/dns/powerdns.png | Bin 0 -> 33870 bytes 4 files changed, 24 insertions(+) create mode 100644 diagrams/onprem/dns.py create mode 100644 resources/onprem/dns/coredns.png create mode 100644 resources/onprem/dns/powerdns.png diff --git a/diagrams/onprem/dns.py b/diagrams/onprem/dns.py new file mode 100644 index 00000000..3e1adf61 --- /dev/null +++ b/diagrams/onprem/dns.py @@ -0,0 +1,19 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _OnPrem + + +class _Dns(_OnPrem): + _type = "dns" + _icon_dir = "resources/onprem/dns" + + +class Coredns(_Dns): + _icon = "coredns.png" + + +class Powerdns(_Dns): + _icon = "powerdns.png" + + +# Aliases diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index aac314c4..6d94bd31 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -91,6 +91,11 @@ Node classes list of onprem provider. - **diagrams.onprem.database.Postgresql**, **PostgreSQL** (alias) - **diagrams.onprem.database.Scylla** +## onprem.dns + +- **diagrams.onprem.dns.Coredns** +- **diagrams.onprem.dns.Powerdns** + ## onprem.etl - **diagrams.onprem.etl.Embulk** diff --git a/resources/onprem/dns/coredns.png b/resources/onprem/dns/coredns.png new file mode 100644 index 0000000000000000000000000000000000000000..3e10191af065b1ebe936de255c6a562db89901bd GIT binary patch literal 11315 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 literal 0 HcmV?d00001 diff --git a/resources/onprem/dns/powerdns.png b/resources/onprem/dns/powerdns.png new file mode 100644 index 0000000000000000000000000000000000000000..62bca8bfc219eba691e766c9a8c43854a5717f86 GIT binary patch literal 33870 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 z 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 literal 0 HcmV?d00001 From ba5e9bdaf77a9b50d7edacfd3f273578ca6e57ac Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sat, 24 Oct 2020 16:10:44 +0200 Subject: [PATCH 07/53] feat(node): container runtimes (#300) * Add: Containerd, into container resource Signed-off-by: Nicolas Lamirault * Add: crio, container runtine for Kubernetes Signed-off-by: Nicolas Lamirault * Add: gvisor container runtime Signed-off-by: Nicolas Lamirault * Add: Firecracker container runtime Signed-off-by: Nicolas Lamirault * Update: firecracker logo Signed-off-by: Nicolas Lamirault --- diagrams/onprem/container.py | 16 ++++++++++++++++ docs/nodes/onprem.md | 4 ++++ resources/onprem/container/containerd.png | Bin 0 -> 1245 bytes resources/onprem/container/crio.png | Bin 0 -> 29170 bytes resources/onprem/container/firecracker.png | Bin 0 -> 43918 bytes resources/onprem/container/gvisor.png | Bin 0 -> 38731 bytes 6 files changed, 20 insertions(+) create mode 100644 resources/onprem/container/containerd.png create mode 100644 resources/onprem/container/crio.png create mode 100644 resources/onprem/container/firecracker.png create mode 100644 resources/onprem/container/gvisor.png diff --git a/diagrams/onprem/container.py b/diagrams/onprem/container.py index de049421..b60e4ac8 100644 --- a/diagrams/onprem/container.py +++ b/diagrams/onprem/container.py @@ -8,10 +8,26 @@ class _Container(_OnPrem): _icon_dir = "resources/onprem/container" +class Containerd(_Container): + _icon = "containerd.png" + + +class Crio(_Container): + _icon = "crio.png" + + class Docker(_Container): _icon = "docker.png" +class Firecracker(_Container): + _icon = "firecracker.png" + + +class Gvisor(_Container): + _icon = "gvisor.png" + + class Lxc(_Container): _icon = "lxc.png" diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index 6d94bd31..cc631ce8 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -66,7 +66,11 @@ Node classes list of onprem provider. ## onprem.container +- **diagrams.onprem.container.Containerd** +- **diagrams.onprem.container.Crio** - **diagrams.onprem.container.Docker** +- **diagrams.onprem.container.Firecracker** +- **diagrams.onprem.container.Gvisor** - **diagrams.onprem.container.Lxc**, **LXC** (alias) - **diagrams.onprem.container.Rkt**, **RKT** (alias) diff --git a/resources/onprem/container/containerd.png b/resources/onprem/container/containerd.png new file mode 100644 index 0000000000000000000000000000000000000000..40032b6d382399015ad981693daacd92573a133c GIT binary patch literal 1245 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 literal 0 HcmV?d00001 diff --git a/resources/onprem/container/firecracker.png b/resources/onprem/container/firecracker.png new file mode 100644 index 0000000000000000000000000000000000000000..522ffa3e2c79893640196ea740bd92564b1c1a66 GIT binary patch literal 43918 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 literal 0 HcmV?d00001 diff --git a/resources/onprem/container/gvisor.png b/resources/onprem/container/gvisor.png new file mode 100644 index 0000000000000000000000000000000000000000..258ce7a1c407a0c193e9abb0296b9eb93cc72197 GIT binary patch literal 38731 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

hc_|*P`7rf*vU<_Vp-H>64 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%0DF;wa9JiHT{ozN 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 literal 0 HcmV?d00001 From ff961276790a64ed88b114b1ddf82bec97fb46f4 Mon Sep 17 00:00:00 2001 From: David Li Date: Sat, 24 Oct 2020 07:38:37 -0700 Subject: [PATCH 08/53] feat(node): adding discord icon (#313) --- diagrams/saas/chat.py | 5 +++++ docs/nodes/saas.md | 1 + resources/saas/chat/discord.png | Bin 0 -> 1559 bytes 3 files changed, 6 insertions(+) create mode 100644 resources/saas/chat/discord.png diff --git a/diagrams/saas/chat.py b/diagrams/saas/chat.py index 6ee66155..2eb52540 100644 --- a/diagrams/saas/chat.py +++ b/diagrams/saas/chat.py @@ -8,6 +8,11 @@ class _Chat(_Saas): _icon_dir = "resources/saas/chat" + +class Discord(_Chat): + _icon = "discord.png" + + class Mattermost(_Chat): _icon = "mattermost.png" diff --git a/docs/nodes/saas.md b/docs/nodes/saas.md index 0ffff416..5cb0832b 100644 --- a/docs/nodes/saas.md +++ b/docs/nodes/saas.md @@ -22,6 +22,7 @@ Node classes list of saas provider. ## saas.chat +- **diagrams.saas.chat.Discord** - **diagrams.saas.chat.Mattermost** - **diagrams.saas.chat.RocketChat** - **diagrams.saas.chat.Slack** diff --git a/resources/saas/chat/discord.png b/resources/saas/chat/discord.png new file mode 100644 index 0000000000000000000000000000000000000000..db0e70d5d42d5a4e9df0db6491f647b3f33bea76 GIT binary patch literal 1559 zcmb7Edo&XY9G)H&d0dp;v2w8MeVH|3lGiqpVP>mYPyKh#`F_9ecYf!5|9t0sUz$G#t*#1E1pol* z-d>(q1+OYbx^1&!FO>{S6a@1>ghMKrnl}Ew5KRfpQ^>TUv6w)BYl7CprQ*R*+bP4d z{&iWJtIY@iU~7`MryGu;wD|n@yeeDG-!&?T(Y5fuTrQ(iMeiG5Xp|7A#B%9-@XptnMd3^YRW!BRa-Md=M|NLpK{9eS{qY# z#+lk91@5qxyHYr42->07qd8BIROvpgNvj)4AUg^$YEEz|%VJ*CO|U5SgN2xu)j-5u|JfpgU@0am_iI zdX8qG;>=E*)BI$sROL*@AH`G2&ih_@2nik7S{_|F%j~gU;kxx;yspl4m86!d(c#p4 zG0^d34V2LXY?TkM+rG4%tu3Q}>NUWpHI5`OJHiNIwzOtX8Z@3g2Q7s+b{^pBUz0;b z3cq!qslOK{pZgLAR>o@fV1Fu{ZCk0UFc ze(I|Br?qji^DFL-@(lxhNBLG*@SP}3$$048byr&3yO@|a-?i#VDpVH8yME=Ib49Y9 zrV~)7!rPV9+eI)9^CwtSgJCltUxzZc8%&`a()-QjB%(=$iUDp{S*C-P4VrT9uv_N% z%RASB{H~Pbup0Q~a3QfkIX1PEcM=C1oETp64U3x%jSaZM^n|F&`yLv9KjrK+VT3H2 z=-TF^Zh5-8!PNW>mvV+x)V#3GJ9V6L6ULEZ$C^y7>_qgDhd>Y=#gPgOJ@!+G+v9rs z^p^zz$!zJ}r?%NE!dzjh|9S?3FhOl%9W)YYES+}b)(88|lx*QY=h3ahlRoxqi%x0M zgzME?_+t$F`%Q-aJzoBiU}YP){7d4&BMB|HhDRH2uLPsny0_^1n(U*!nEj=A#}KeR zM~|JHKB*y|{1l!}#DRXe{@j5mr3#!VAj*Dh$ECNInQO89Hs!m5#~62Lgdvq5IeO%Xkx5BIYTG(SrV_cTr4=Y(nr#cn`J$2PFYMk5ZoWN zdV%Z$jL5`Rb2?EjNBetIblMxjB2IxBCBJ-D&y5lnO1TRRmi}I(<;@3>vGX4t;DxTA zW8^0Lo-GrBQf@YjXBlxQGyYZHkQUh(mfSrkw$sfw^C$m)87EeE*L3Kr=4MZ=ee%V)+ep>WE;)lU~aV+DuNAs{_e5mfpn5 zC~ipg1GEo?cbMt{LY)t*cg^9~_E?fNoWHp`$mHi;7dYDbssI20 literal 0 HcmV?d00001 From 32bf0cc664bcd8baa46fc017b8c26ca49c9752c1 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sat, 24 Oct 2020 17:34:14 +0200 Subject: [PATCH 09/53] feat(node): Cortex monitoring (#321) Signed-off-by: Nicolas Lamirault --- diagrams/onprem/monitoring.py | 4 ++++ docs/nodes/onprem.md | 1 + resources/onprem/monitoring/cortex.png | Bin 0 -> 17704 bytes 3 files changed, 5 insertions(+) create mode 100644 resources/onprem/monitoring/cortex.png diff --git a/diagrams/onprem/monitoring.py b/diagrams/onprem/monitoring.py index 4d90d85d..68b2fb41 100644 --- a/diagrams/onprem/monitoring.py +++ b/diagrams/onprem/monitoring.py @@ -8,6 +8,10 @@ class _Monitoring(_OnPrem): _icon_dir = "resources/onprem/monitoring" +class Cortex(_Monitoring): + _icon = "cortex.png" + + class Datadog(_Monitoring): _icon = "datadog.png" diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index cc631ce8..f93f70be 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -142,6 +142,7 @@ Node classes list of onprem provider. ## onprem.monitoring +- **diagrams.onprem.monitoring.Cortex** - **diagrams.onprem.monitoring.Datadog** - **diagrams.onprem.monitoring.Grafana** - **diagrams.onprem.monitoring.PrometheusOperator** diff --git a/resources/onprem/monitoring/cortex.png b/resources/onprem/monitoring/cortex.png new file mode 100644 index 0000000000000000000000000000000000000000..c241cef3cab1a488c9057600422fb56f686de975 GIT binary patch literal 17704 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 Date: Wed, 4 Nov 2020 17:12:39 +0000 Subject: [PATCH 10/53] Add Azure subnets (#360) --- diagrams/azure/network.py | 4 ++++ docs/nodes/azure.md | 1 + resources/azure/network/subnets.png | Bin 0 -> 60462 bytes 3 files changed, 5 insertions(+) create mode 100644 resources/azure/network/subnets.png diff --git a/diagrams/azure/network.py b/diagrams/azure/network.py index 2e3e4043..23dd69c0 100644 --- a/diagrams/azure/network.py +++ b/diagrams/azure/network.py @@ -92,6 +92,10 @@ class ServiceEndpointPolicies(_Network): _icon = "service-endpoint-policies.png" +class Subnets(_Network): + _icon = "subnets.png" + + class TrafficManagerProfiles(_Network): _icon = "traffic-manager-profiles.png" diff --git a/docs/nodes/azure.md b/docs/nodes/azure.md index 076b18d8..59413a08 100644 --- a/docs/nodes/azure.md +++ b/docs/nodes/azure.md @@ -197,6 +197,7 @@ Node classes list of azure provider. - **diagrams.azure.network.RouteFilters** - **diagrams.azure.network.RouteTables** - **diagrams.azure.network.ServiceEndpointPolicies** +- **diagrams.azure.network.Subnets** - **diagrams.azure.network.TrafficManagerProfiles** - **diagrams.azure.network.VirtualNetworkClassic** - **diagrams.azure.network.VirtualNetworkGateways** diff --git a/resources/azure/network/subnets.png b/resources/azure/network/subnets.png new file mode 100644 index 0000000000000000000000000000000000000000..eb4b1f594657398c58c7380cb661acddf4ddb746 GIT binary patch literal 60462 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 UMXdJw$HdSIGD^~=l19P*14K1P4FCWD literal 0 HcmV?d00001 From f922dd27e6ad50ad4276f63e7dec247afee4bb96 Mon Sep 17 00:00:00 2001 From: Frank <639906+syphernl@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:16:25 +0100 Subject: [PATCH 11/53] fix: Correct spelling of Traditional Server (#351) --- diagrams/aws/general.py | 4 ++-- docs/nodes/aws.md | 2 +- ...radicional-server.png => traditional-server.png} | Bin 3 files changed, 3 insertions(+), 3 deletions(-) rename resources/aws/general/{tradicional-server.png => traditional-server.png} (100%) diff --git a/diagrams/aws/general.py b/diagrams/aws/general.py index 80284ba6..29d3e7b2 100644 --- a/diagrams/aws/general.py +++ b/diagrams/aws/general.py @@ -40,8 +40,8 @@ class Marketplace(_General): _icon = "marketplace.png" -class TradicionalServer(_General): - _icon = "tradicional-server.png" +class TraditionalServer(_General): + _icon = "traditional-server.png" class User(_General): diff --git a/docs/nodes/aws.md b/docs/nodes/aws.md index f1cdbb96..168892e6 100644 --- a/docs/nodes/aws.md +++ b/docs/nodes/aws.md @@ -144,7 +144,7 @@ Node classes list of aws provider. - **diagrams.aws.general.GenericSamlToken** - **diagrams.aws.general.GenericSDK** - **diagrams.aws.general.Marketplace** -- **diagrams.aws.general.TradicionalServer** +- **diagrams.aws.general.TraditionalServer** - **diagrams.aws.general.User** - **diagrams.aws.general.Users** diff --git a/resources/aws/general/tradicional-server.png b/resources/aws/general/traditional-server.png similarity index 100% rename from resources/aws/general/tradicional-server.png rename to resources/aws/general/traditional-server.png From dfd8e0a52c8c4d1c3ce95dc7161c23bb2eaf0acb Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Wed, 4 Nov 2020 18:17:16 +0100 Subject: [PATCH 12/53] ci(actions): Add Python 3.9 to test.yml (#355) --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b52dec11..ef8e42f3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,7 +18,7 @@ jobs: test: strategy: matrix: - python: ['3.6', '3.7', '3.8'] + python: ['3.6', '3.7', '3.8', '3.9'] runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 From 37bb9cd5e809b6185fd56d743ca8bb57585da2e6 Mon Sep 17 00:00:00 2001 From: Jair Henrique Date: Thu, 3 Dec 2020 11:49:34 -0300 Subject: [PATCH 13/53] Setup dependabot. (#387) --- .github/dependabot.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..5e13d6d6 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,20 @@ +version: 2 +updates: +- package-ecosystem: pip + directory: "/" + schedule: + interval: daily + time: "08:00" + open-pull-requests-limit: 10 +- package-ecosystem: npm + directory: "/website" + schedule: + interval: daily + time: "08:00" + open-pull-requests-limit: 10 +- package-ecosystem: docker + directory: "/docker/dev" + schedule: + interval: daily + time: "08:00" + open-pull-requests-limit: 10 From 60cf7f02d28a2e75d5f7c53960d18ffde2394db8 Mon Sep 17 00:00:00 2001 From: mingrammer Date: Fri, 4 Dec 2020 00:03:53 +0900 Subject: [PATCH 14/53] bump: up to version 0.18.0 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 8725f849..fceb2776 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "diagrams" -version = "0.17.0" +version = "0.18.0" description = "Diagram as Code" license = "MIT" authors = ["mingrammer "] From 16a3b87bc25fda1ba64d2305285e05fa38e41692 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 4 Dec 2020 00:26:15 +0900 Subject: [PATCH 15/53] chore(deps): bump highlight.js from 9.18.1 to 9.18.5 in /website (#379) Bumps [highlight.js](https://github.com/highlightjs/highlight.js) from 9.18.1 to 9.18.5. - [Release notes](https://github.com/highlightjs/highlight.js/releases) - [Changelog](https://github.com/highlightjs/highlight.js/blob/9.18.5/CHANGES.md) - [Commits](https://github.com/highlightjs/highlight.js/compare/9.18.1...9.18.5) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- website/package-lock.json | 6 +++--- website/yarn.lock | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/website/package-lock.json b/website/package-lock.json index 07c5267e..0e7345d7 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -4459,9 +4459,9 @@ "dev": true }, "highlight.js": { - "version": "9.18.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.1.tgz", - "integrity": "sha512-OrVKYz70LHsnCgmbXctv/bfuvntIKDz177h0Co37DQ5jamGZLVmoCVMtjMtNZY3X9DrCcKfklHPNeA0uPZhSJg==", + "version": "9.18.5", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.5.tgz", + "integrity": "sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA==", "dev": true }, "hosted-git-info": { diff --git a/website/yarn.lock b/website/yarn.lock index acaa1fd9..c6fce1de 100644 --- a/website/yarn.lock +++ b/website/yarn.lock @@ -3187,9 +3187,9 @@ hex-color-regex@^1.1.0: integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== highlight.js@^9.16.2: - version "9.18.1" - resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.18.1.tgz#ed21aa001fe6252bb10a3d76d47573c6539fe13c" - integrity sha512-OrVKYz70LHsnCgmbXctv/bfuvntIKDz177h0Co37DQ5jamGZLVmoCVMtjMtNZY3X9DrCcKfklHPNeA0uPZhSJg== + version "9.18.5" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.18.5.tgz#d18a359867f378c138d6819edfc2a8acd5f29825" + integrity sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA== hosted-git-info@^2.1.4: version "2.8.8" From a6f33a87e9097c19b6d63b79a230fa9bfbcdd172 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 4 Dec 2020 00:26:43 +0900 Subject: [PATCH 16/53] chore(deps-dev): bump docusaurus from 1.14.4 to 1.14.6 in /website (#397) Bumps [docusaurus](https://github.com/facebook/docusaurus) from 1.14.4 to 1.14.6. - [Release notes](https://github.com/facebook/docusaurus/releases) - [Changelog](https://github.com/facebook/docusaurus/blob/master/CHANGELOG.md) - [Commits](https://github.com/facebook/docusaurus/compare/v1.14.4...v1.14.6) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- website/package-lock.json | 1990 +++++++++++++++++++------------------ website/package.json | 2 +- website/yarn.lock | 1392 ++++++++++++++------------ 3 files changed, 1777 insertions(+), 1607 deletions(-) diff --git a/website/package-lock.json b/website/package-lock.json index 0e7345d7..8a918a2f 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -3,326 +3,321 @@ "lockfileVersion": 1, "dependencies": { "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "dev": true, "requires": { - "@babel/highlight": "^7.8.3" + "@babel/highlight": "^7.10.4" } }, "@babel/compat-data": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.9.6.tgz", - "integrity": "sha512-5QPTrNen2bm7RBc7dsOmcA5hbrS4O2Vhmk5XOL4zWW/zD/hV0iinpefDlkm+tBBy8kDtFaaeEvmAqt+nURAV2g==", - "dev": true, - "requires": { - "browserslist": "^4.11.1", - "invariant": "^2.2.4", - "semver": "^5.5.0" - } + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz", + "integrity": "sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==", + "dev": true }, "@babel/core": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.6.tgz", - "integrity": "sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.9.6", - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helpers": "^7.9.6", - "@babel/parser": "^7.9.6", - "@babel/template": "^7.8.6", - "@babel/traverse": "^7.9.6", - "@babel/types": "^7.9.6", + "version": "7.12.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", + "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.5", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.7", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.9", + "@babel/types": "^7.12.7", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.1", "json5": "^2.1.2", - "lodash": "^4.17.13", + "lodash": "^4.17.19", "resolve": "^1.3.2", "semver": "^5.4.1", "source-map": "^0.5.0" } }, "@babel/generator": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.6.tgz", - "integrity": "sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ==", + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.5.tgz", + "integrity": "sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A==", "dev": true, "requires": { - "@babel/types": "^7.9.6", + "@babel/types": "^7.12.5", "jsesc": "^2.5.1", - "lodash": "^4.17.13", "source-map": "^0.5.0" } }, "@babel/helper-annotate-as-pure": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz", - "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz", + "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==", "dev": true, "requires": { - "@babel/types": "^7.8.3" + "@babel/types": "^7.10.4" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz", - "integrity": "sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", + "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.8.3", - "@babel/types": "^7.8.3" + "@babel/helper-explode-assignable-expression": "^7.10.4", + "@babel/types": "^7.10.4" } }, "@babel/helper-builder-react-jsx": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.9.0.tgz", - "integrity": "sha512-weiIo4gaoGgnhff54GQ3P5wsUQmnSwpkvU0r6ZHq6TzoSzKy4JxHEgnxNytaKbov2a9z/CVNyzliuCOUPEX3Jw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.10.4.tgz", + "integrity": "sha512-5nPcIZ7+KKDxT1427oBivl9V9YTal7qk0diccnh7RrcgrT/pGFOjgGw1dgryyx1GvHEpXVfoDF6Ak3rTiWh8Rg==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/types": "^7.9.0" + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/types": "^7.10.4" } }, "@babel/helper-builder-react-jsx-experimental": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.9.5.tgz", - "integrity": "sha512-HAagjAC93tk748jcXpZ7oYRZH485RCq/+yEv9SIWezHRPv9moZArTnkUNciUNzvwHUABmiWKlcxJvMcu59UwTg==", + "version": "7.12.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.12.4.tgz", + "integrity": "sha512-AjEa0jrQqNk7eDQOo0pTfUOwQBMF+xVqrausQwT9/rTKy0g04ggFNaJpaE09IQMn9yExluigWMJcj0WC7bq+Og==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-module-imports": "^7.8.3", - "@babel/types": "^7.9.5" + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-module-imports": "^7.12.1", + "@babel/types": "^7.12.1" } }, "@babel/helper-compilation-targets": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.9.6.tgz", - "integrity": "sha512-x2Nvu0igO0ejXzx09B/1fGBxY9NXQlBW2kZsSxCJft+KHN8t9XWzIvFxtPHnBOAXpVsdxZKZFbRUC8TsNKajMw==", + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", + "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", "dev": true, "requires": { - "@babel/compat-data": "^7.9.6", - "browserslist": "^4.11.1", - "invariant": "^2.2.4", - "levenary": "^1.1.1", + "@babel/compat-data": "^7.12.5", + "@babel/helper-validator-option": "^7.12.1", + "browserslist": "^4.14.5", "semver": "^5.5.0" } }, "@babel/helper-create-class-features-plugin": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.9.6.tgz", - "integrity": "sha512-6N9IeuyHvMBRyjNYOMJHrhwtu4WJMrYf8hVbEHD3pbbbmNOk1kmXSQs7bA4dYDUaIx4ZEzdnvo6NwC3WHd/Qow==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", + "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.9.5", - "@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.9.6", - "@babel/helper-split-export-declaration": "^7.8.3" + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-member-expression-to-functions": "^7.12.1", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4" } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz", - "integrity": "sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz", + "integrity": "sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-regex": "^7.8.3", - "regexpu-core": "^4.7.0" + "@babel/helper-annotate-as-pure": "^7.10.4", + "regexpu-core": "^4.7.1" } }, "@babel/helper-define-map": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz", - "integrity": "sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==", + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", + "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.8.3", - "@babel/types": "^7.8.3", - "lodash": "^4.17.13" + "@babel/helper-function-name": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" } }, "@babel/helper-explode-assignable-expression": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz", - "integrity": "sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", + "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", "dev": true, "requires": { - "@babel/traverse": "^7.8.3", - "@babel/types": "^7.8.3" + "@babel/types": "^7.12.1" } }, "@babel/helper-function-name": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz", - "integrity": "sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/types": "^7.9.5" + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" } }, "@babel/helper-get-function-arity": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", - "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", + "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", "dev": true, "requires": { - "@babel/types": "^7.8.3" + "@babel/types": "^7.10.4" } }, "@babel/helper-hoist-variables": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz", - "integrity": "sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", + "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", "dev": true, "requires": { - "@babel/types": "^7.8.3" + "@babel/types": "^7.10.4" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz", - "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", + "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", "dev": true, "requires": { - "@babel/types": "^7.8.3" + "@babel/types": "^7.12.7" } }, "@babel/helper-module-imports": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz", - "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==", + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", + "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", "dev": true, "requires": { - "@babel/types": "^7.8.3" + "@babel/types": "^7.12.5" } }, "@babel/helper-module-transforms": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz", - "integrity": "sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", + "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", "dev": true, "requires": { - "@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-module-imports": "^7.12.1", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-simple-access": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/helper-validator-identifier": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", + "lodash": "^4.17.19" } }, "@babel/helper-optimise-call-expression": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz", - "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.7.tgz", + "integrity": "sha512-I5xc9oSJ2h59OwyUqjv95HRyzxj53DAubUERgQMrpcCEYQyToeHA+NEcUEsVWB4j53RDeskeBJ0SgRAYHDBckw==", "dev": true, "requires": { - "@babel/types": "^7.8.3" + "@babel/types": "^7.12.7" } }, "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", "dev": true }, - "@babel/helper-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz", - "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==", + "@babel/helper-remap-async-to-generator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", + "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", "dev": true, "requires": { - "lodash": "^4.17.13" + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-wrap-function": "^7.10.4", + "@babel/types": "^7.12.1" } }, - "@babel/helper-remap-async-to-generator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz", - "integrity": "sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==", + "@babel/helper-replace-supers": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz", + "integrity": "sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA==", "dev": true, "requires": { - "@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-member-expression-to-functions": "^7.12.1", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" } }, - "@babel/helper-replace-supers": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz", - "integrity": "sha512-qX+chbxkbArLyCImk3bWV+jB5gTNU/rsze+JlcF6Nf8tVTigPJSI1o1oBow/9Resa1yehUO9lIipsmu9oG4RzA==", + "@babel/helper-simple-access": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", + "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.8.3", - "@babel/helper-optimise-call-expression": "^7.8.3", - "@babel/traverse": "^7.9.6", - "@babel/types": "^7.9.6" + "@babel/types": "^7.12.1" } }, - "@babel/helper-simple-access": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz", - "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==", + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", + "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", "dev": true, "requires": { - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" + "@babel/types": "^7.12.1" } }, "@babel/helper-split-export-declaration": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", - "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", + "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", "dev": true, "requires": { - "@babel/types": "^7.8.3" + "@babel/types": "^7.11.0" } }, "@babel/helper-validator-identifier": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz", - "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz", + "integrity": "sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A==", "dev": true }, "@babel/helper-wrap-function": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz", - "integrity": "sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==", + "version": "7.12.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", + "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.3", - "@babel/types": "^7.8.3" + "@babel/helper-function-name": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" } }, "@babel/helpers": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.9.6.tgz", - "integrity": "sha512-tI4bUbldloLcHWoRUMAj4g1bF313M/o6fBKhIsb3QnGVPwRm9JsNf/gqMkQ7zjqReABiffPV6RWj7hEglID5Iw==", + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", + "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", "dev": true, "requires": { - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.9.6", - "@babel/types": "^7.9.6" + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" } }, "@babel/highlight": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz", - "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.9.0", + "@babel/helper-validator-identifier": "^7.10.4", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -347,111 +342,142 @@ } }, "@babel/parser": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.6.tgz", - "integrity": "sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.7.tgz", + "integrity": "sha512-oWR02Ubp4xTLCAqPRiNIuMVgNO5Aif/xpXtabhzW2HWUD47XJsAB4Zd/Rg30+XeQA3juXigV7hlquOTmwqLiwg==", "dev": true }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz", - "integrity": "sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz", + "integrity": "sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-remap-async-to-generator": "^7.8.3", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1", "@babel/plugin-syntax-async-generators": "^7.8.0" } }, "@babel/plugin-proposal-class-properties": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz", - "integrity": "sha512-EqFhbo7IosdgPgZggHaNObkmO1kNUe3slaKu54d5OWvy+p9QIKOzK1GAEpAIsZtWVtPXUHSMcT4smvDrCfY4AA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", + "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-proposal-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz", - "integrity": "sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz", + "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-plugin-utils": "^7.10.4", "@babel/plugin-syntax-dynamic-import": "^7.8.0" } }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", + "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, "@babel/plugin-proposal-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz", - "integrity": "sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", + "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-plugin-utils": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.0" } }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", + "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", + "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-plugin-utils": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" } }, "@babel/plugin-proposal-numeric-separator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz", - "integrity": "sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz", + "integrity": "sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.6.tgz", - "integrity": "sha512-Ga6/fhGqA9Hj+y6whNpPv8psyaK5xzrQwSPsGPloVkvmH+PqW1ixdnfJ9uIO06OjQNYol3PMnfmJ8vfZtkzF+A==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", + "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-plugin-utils": "^7.10.4", "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.9.5" + "@babel/plugin-transform-parameters": "^7.12.1" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", + "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-plugin-utils": "^7.10.4", "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz", - "integrity": "sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz", + "integrity": "sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", "@babel/plugin-syntax-optional-chaining": "^7.8.0" } }, + "@babel/plugin-proposal-private-methods": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", + "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz", - "integrity": "sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", + "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.8", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-syntax-async-generators": { @@ -463,6 +489,15 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", + "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, "@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", @@ -472,6 +507,15 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, "@babel/plugin-syntax-json-strings": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", @@ -482,12 +526,21 @@ } }, "@babel/plugin-syntax-jsx": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.3.tgz", - "integrity": "sha512-WxdW9xyLgBdefoo0Ynn3MRSkhe5tFVxxKNVdnZSh318WrG2e2jH+E9wd/++JsqcLJZPfz87njQJ8j2Upjm0M0A==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", + "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-syntax-nullish-coalescing-operator": { @@ -500,12 +553,12 @@ } }, "@babel/plugin-syntax-numeric-separator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz", - "integrity": "sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-syntax-object-rest-spread": { @@ -536,376 +589,391 @@ } }, "@babel/plugin-syntax-top-level-await": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz", - "integrity": "sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", + "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz", - "integrity": "sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", + "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz", - "integrity": "sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", + "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-remap-async-to-generator": "^7.8.3" + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz", - "integrity": "sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", + "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz", - "integrity": "sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz", + "integrity": "sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "lodash": "^4.17.13" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-classes": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.5.tgz", - "integrity": "sha512-x2kZoIuLC//O5iA7PEvecB105o7TLzZo8ofBVhP79N+DO3jaX+KYfww9TQcfBEZD0nikNyYcGB1IKtRq36rdmg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-define-map": "^7.8.3", - "@babel/helper-function-name": "^7.9.5", - "@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", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", + "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-define-map": "^7.10.4", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz", - "integrity": "sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", + "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-destructuring": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.9.5.tgz", - "integrity": "sha512-j3OEsGel8nHL/iusv/mRd5fYZ3DrOxWC82x0ogmdN/vHfAP4MYw+AFKYanzWlktNwikKvlzUV//afBW5FTp17Q==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", + "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz", - "integrity": "sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", + "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz", - "integrity": "sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", + "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz", - "integrity": "sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", + "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-for-of": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.9.0.tgz", - "integrity": "sha512-lTAnWOpMwOXpyDx06N+ywmF3jNbafZEqZ96CGYabxHrxNX8l5ny7dt4bK/rGwAh9utyP2b2Hv7PlZh1AAS54FQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", + "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz", - "integrity": "sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", + "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-literals": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz", - "integrity": "sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", + "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz", - "integrity": "sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", + "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.6.tgz", - "integrity": "sha512-zoT0kgC3EixAyIAU+9vfaUVKTv9IxBDSabgHoUCBP6FqEJ+iNiN7ip7NBKcYqbfUDfuC2mFCbM7vbu4qJgOnDw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", + "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.6.tgz", - "integrity": "sha512-7H25fSlLcn+iYimmsNe3uK1at79IE6SKW9q0/QeEHTMC9MdOZ+4bA+T1VFB5fgOqBWoqlifXRzYD0JPdmIrgSQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", + "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-simple-access": "^7.8.3", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-simple-access": "^7.12.1", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.6.tgz", - "integrity": "sha512-NW5XQuW3N2tTHim8e1b7qGy7s0kZ2OH3m5octc49K1SdAKGxYxeIx7hiIz05kS1R2R+hOWcsr1eYwcGhrdHsrg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", + "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.8.3", - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-hoist-variables": "^7.10.4", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-identifier": "^7.10.4", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.9.0.tgz", - "integrity": "sha512-uTWkXkIVtg/JGRSIABdBoMsoIeoHQHPTL0Y2E7xf5Oj7sLqwVsNXOkNk0VJc7vF0IMBsPeikHxFjGe+qmwPtTQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", + "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz", - "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", + "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3" + "@babel/helper-create-regexp-features-plugin": "^7.12.1" } }, "@babel/plugin-transform-new-target": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz", - "integrity": "sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", + "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-object-super": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz", - "integrity": "sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", + "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-replace-supers": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1" } }, "@babel/plugin-transform-parameters": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.9.5.tgz", - "integrity": "sha512-0+1FhHnMfj6lIIhVvS4KGQJeuhe1GI//h5uptK4PvLt+BGBxsoUJbd3/IW002yk//6sZPlFgsG1hY6OHLcy6kA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", + "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-property-literals": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz", - "integrity": "sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", + "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-react-display-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.8.3.tgz", - "integrity": "sha512-3Jy/PCw8Fe6uBKtEgz3M82ljt+lTg+xJaM4og+eyu83qLT87ZUSckn0wy7r31jflURWLO83TW6Ylf7lyXj3m5A==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.1.tgz", + "integrity": "sha512-cAzB+UzBIrekfYxyLlFqf/OagTvHLcVBb5vpouzkYkBclRPraiygVnafvAoipErZLI8ANv8Ecn6E/m5qPXD26w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-react-jsx": { - "version": "7.9.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.9.4.tgz", - "integrity": "sha512-Mjqf3pZBNLt854CK0C/kRuXAnE6H/bo7xYojP+WGtX8glDGSibcwnsWwhwoSuRg0+EBnxPC1ouVnuetUIlPSAw==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.7.tgz", + "integrity": "sha512-YFlTi6MEsclFAPIDNZYiCRbneg1MFGao9pPG9uD5htwE0vDbPaMUMeYd6itWjw7K4kro4UbdQf3ljmFl9y48dQ==", "dev": true, "requires": { - "@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/helper-builder-react-jsx": "^7.10.4", + "@babel/helper-builder-react-jsx-experimental": "^7.12.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-jsx": "^7.12.1" } }, "@babel/plugin-transform-react-jsx-development": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.9.0.tgz", - "integrity": "sha512-tK8hWKrQncVvrhvtOiPpKrQjfNX3DtkNLSX4ObuGcpS9p0QrGetKmlySIGR07y48Zft8WVgPakqd/bk46JrMSw==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.7.tgz", + "integrity": "sha512-Rs3ETtMtR3VLXFeYRChle5SsP/P9Jp/6dsewBQfokDSzKJThlsuFcnzLTDRALiUmTC48ej19YD9uN1mupEeEDg==", "dev": true, "requires": { - "@babel/helper-builder-react-jsx-experimental": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-jsx": "^7.8.3" + "@babel/helper-builder-react-jsx-experimental": "^7.12.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-jsx": "^7.12.1" } }, "@babel/plugin-transform-react-jsx-self": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.9.0.tgz", - "integrity": "sha512-K2ObbWPKT7KUTAoyjCsFilOkEgMvFG+y0FqOl6Lezd0/13kMkkjHskVsZvblRPj1PHA44PrToaZANrryppzTvQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.12.1.tgz", + "integrity": "sha512-FbpL0ieNWiiBB5tCldX17EtXgmzeEZjFrix72rQYeq9X6nUK38HCaxexzVQrZWXanxKJPKVVIU37gFjEQYkPkA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-jsx": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-react-jsx-source": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.9.0.tgz", - "integrity": "sha512-K6m3LlSnTSfRkM6FcRk8saNEeaeyG5k7AVkBU2bZK3+1zdkSED3qNdsWrUgQBeTVD2Tp3VMmerxVO2yM5iITmw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.12.1.tgz", + "integrity": "sha512-keQ5kBfjJNRc6zZN1/nVHCd6LLIHq4aUKcVnvE/2l+ZZROSbqoiGFRtT5t3Is89XJxBQaP7NLZX2jgGHdZvvFQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-jsx": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-react-pure-annotations": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.12.1.tgz", + "integrity": "sha512-RqeaHiwZtphSIUZ5I85PEH19LOSzxfuEazoY7/pWASCAIBuATQzpSVD+eT6MebeeZT2F4eSL0u4vw6n4Nm0Mjg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-regenerator": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz", - "integrity": "sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", + "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", "dev": true, "requires": { "regenerator-transform": "^0.14.2" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz", - "integrity": "sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", + "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz", - "integrity": "sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", + "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz", - "integrity": "sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", + "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz", - "integrity": "sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz", + "integrity": "sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-regex": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-template-literals": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz", - "integrity": "sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", + "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz", - "integrity": "sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.1.tgz", + "integrity": "sha512-EPGgpGy+O5Kg5pJFNDKuxt9RdmTgj5sgrus2XVeMp/ZIbOESadgILUbm50SNpghOh3/6yrbsH+NB5+WJTmsA7Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", + "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz", - "integrity": "sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", + "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/polyfill": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.8.7.tgz", - "integrity": "sha512-LeSfP9bNZH2UOZgcGcZ0PIHUt1ZuHub1L3CVmEyqLxCeDLm4C5Gi8jRH8ZX2PNpDhQCo0z6y/+DIs2JlliXW8w==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.12.1.tgz", + "integrity": "sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==", "dev": true, "requires": { "core-js": "^2.6.5", @@ -913,77 +981,83 @@ } }, "@babel/preset-env": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.9.6.tgz", - "integrity": "sha512-0gQJ9RTzO0heXOhzftog+a/WyOuqMrAIugVYxMYf83gh1CQaQDjMtsOpqOwXyDL/5JcWsrCm8l4ju8QC97O7EQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.9.6", - "@babel/helper-compilation-targets": "^7.9.6", - "@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.6", - "@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", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.7.tgz", + "integrity": "sha512-OnNdfAr1FUQg7ksb7bmbKoby4qFOHw6DKWWUNB9KqnnCldxhxJlP+21dpyaWFmf2h0rTbOkXJtAGevY3XW1eew==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.12.7", + "@babel/helper-compilation-targets": "^7.12.5", + "@babel/helper-module-imports": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-option": "^7.12.1", + "@babel/plugin-proposal-async-generator-functions": "^7.12.1", + "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-dynamic-import": "^7.12.1", + "@babel/plugin-proposal-export-namespace-from": "^7.12.1", + "@babel/plugin-proposal-json-strings": "^7.12.1", + "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", + "@babel/plugin-proposal-numeric-separator": "^7.12.7", + "@babel/plugin-proposal-object-rest-spread": "^7.12.1", + "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.12.7", + "@babel/plugin-proposal-private-methods": "^7.12.1", + "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-class-properties": "^7.12.1", "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", - "@babel/plugin-syntax-numeric-separator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", "@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.5", - "@babel/plugin-transform-computed-properties": "^7.8.3", - "@babel/plugin-transform-destructuring": "^7.9.5", - "@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.6", - "@babel/plugin-transform-modules-commonjs": "^7.9.6", - "@babel/plugin-transform-modules-systemjs": "^7.9.6", - "@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.9.5", - "@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/plugin-syntax-top-level-await": "^7.12.1", + "@babel/plugin-transform-arrow-functions": "^7.12.1", + "@babel/plugin-transform-async-to-generator": "^7.12.1", + "@babel/plugin-transform-block-scoped-functions": "^7.12.1", + "@babel/plugin-transform-block-scoping": "^7.12.1", + "@babel/plugin-transform-classes": "^7.12.1", + "@babel/plugin-transform-computed-properties": "^7.12.1", + "@babel/plugin-transform-destructuring": "^7.12.1", + "@babel/plugin-transform-dotall-regex": "^7.12.1", + "@babel/plugin-transform-duplicate-keys": "^7.12.1", + "@babel/plugin-transform-exponentiation-operator": "^7.12.1", + "@babel/plugin-transform-for-of": "^7.12.1", + "@babel/plugin-transform-function-name": "^7.12.1", + "@babel/plugin-transform-literals": "^7.12.1", + "@babel/plugin-transform-member-expression-literals": "^7.12.1", + "@babel/plugin-transform-modules-amd": "^7.12.1", + "@babel/plugin-transform-modules-commonjs": "^7.12.1", + "@babel/plugin-transform-modules-systemjs": "^7.12.1", + "@babel/plugin-transform-modules-umd": "^7.12.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", + "@babel/plugin-transform-new-target": "^7.12.1", + "@babel/plugin-transform-object-super": "^7.12.1", + "@babel/plugin-transform-parameters": "^7.12.1", + "@babel/plugin-transform-property-literals": "^7.12.1", + "@babel/plugin-transform-regenerator": "^7.12.1", + "@babel/plugin-transform-reserved-words": "^7.12.1", + "@babel/plugin-transform-shorthand-properties": "^7.12.1", + "@babel/plugin-transform-spread": "^7.12.1", + "@babel/plugin-transform-sticky-regex": "^7.12.7", + "@babel/plugin-transform-template-literals": "^7.12.1", + "@babel/plugin-transform-typeof-symbol": "^7.12.1", + "@babel/plugin-transform-unicode-escapes": "^7.12.1", + "@babel/plugin-transform-unicode-regex": "^7.12.1", "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.9.6", - "browserslist": "^4.11.1", - "core-js-compat": "^3.6.2", - "invariant": "^2.2.2", - "levenary": "^1.1.1", + "@babel/types": "^7.12.7", + "core-js-compat": "^3.7.0", "semver": "^5.5.0" } }, "@babel/preset-modules": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz", - "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", + "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", @@ -994,77 +1068,78 @@ } }, "@babel/preset-react": { - "version": "7.9.4", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.9.4.tgz", - "integrity": "sha512-AxylVB3FXeOTQXNXyiuAQJSvss62FEotbX2Pzx3K/7c+MKJMdSg6Ose6QYllkdCFA8EInCJVw7M/o5QbLuA4ZQ==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.12.7.tgz", + "integrity": "sha512-wKeTdnGUP5AEYCYQIMeXMMwU7j+2opxrG0WzuZfxuuW9nhKvvALBjl67653CWamZJVefuJGI219G591RSldrqQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-transform-react-display-name": "^7.8.3", - "@babel/plugin-transform-react-jsx": "^7.9.4", - "@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/helper-plugin-utils": "^7.10.4", + "@babel/plugin-transform-react-display-name": "^7.12.1", + "@babel/plugin-transform-react-jsx": "^7.12.7", + "@babel/plugin-transform-react-jsx-development": "^7.12.7", + "@babel/plugin-transform-react-jsx-self": "^7.12.1", + "@babel/plugin-transform-react-jsx-source": "^7.12.1", + "@babel/plugin-transform-react-pure-annotations": "^7.12.1" } }, "@babel/register": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.9.0.tgz", - "integrity": "sha512-Tv8Zyi2J2VRR8g7pC5gTeIN8Ihultbmk0ocyNz8H2nEZbmhp1N6q0A1UGsQbDvGP/sNinQKUHf3SqXwqjtFv4Q==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.12.1.tgz", + "integrity": "sha512-XWcmseMIncOjoydKZnWvWi0/5CUCD+ZYKhRwgYlWOrA8fGZ/FjuLRpqtIhLOVD/fvR1b9DQHtZPn68VvhpYf+Q==", "dev": true, "requires": { "find-cache-dir": "^2.0.0", - "lodash": "^4.17.13", + "lodash": "^4.17.19", "make-dir": "^2.1.0", "pirates": "^4.0.0", "source-map-support": "^0.5.16" } }, "@babel/runtime": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.6.tgz", - "integrity": "sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==", + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", + "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", "dev": true, "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/template": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", - "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", "dev": true, "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6" + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" } }, "@babel/traverse": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.6.tgz", - "integrity": "sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg==", + "version": "7.12.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.9.tgz", + "integrity": "sha512-iX9ajqnLdoU1s1nHt36JDI9KG4k+vmI8WgjK5d+aDTwQbL2fUnzedNedssA645Ede3PM2ma1n8Q4h2ohwXgMXw==", "dev": true, "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.9.6", - "@babel/helper-function-name": "^7.9.5", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.9.6", - "@babel/types": "^7.9.6", + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.5", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7", "debug": "^4.1.0", "globals": "^11.1.0", - "lodash": "^4.17.13" + "lodash": "^4.17.19" } }, "@babel/types": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.6.tgz", - "integrity": "sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.7.tgz", + "integrity": "sha512-MNyI92qZq6jrQkXvtIiykvl4WtoRrVV9MPn+ZfsoEENjiWcBQ3ZSHrkxnJWgWtLX3XXqX5hrSQ+X69wkmesXuQ==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.9.5", - "lodash": "^4.17.13", + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", "to-fast-properties": "^2.0.0" } }, @@ -1091,24 +1166,18 @@ "dev": true }, "@types/cheerio": { - "version": "0.22.18", - "resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.18.tgz", - "integrity": "sha512-Fq7R3fINAPSdUEhOyjG4iVxgHrOnqDJbY0/BUuiN0pvD/rfmZWekVZnv+vcs8TtpA2XF50uv50LaE4EnpEL/Hw==", + "version": "0.22.22", + "resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.22.tgz", + "integrity": "sha512-05DYX4zU96IBfZFY+t3Mh88nlwSMtmmzSYaQkKN48T495VV1dkHSah6qYyDTN5ngaS0i0VonH37m+RuzSM0YiA==", "dev": true, "requires": { "@types/node": "*" } }, - "@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 - }, "@types/node": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.1.tgz", - "integrity": "sha512-FAYBGwC+W6F9+huFIDtn43cpy7+SzG+atzRiTfdp3inUKL2hXnd4rG8hylJLIh4+hqrQy1P17kvJByE/z825hA==", + "version": "14.14.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz", + "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ==", "dev": true }, "@types/q": { @@ -1134,9 +1203,9 @@ "dev": true }, "ajv": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -1209,9 +1278,9 @@ } }, "arch": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.2.tgz", - "integrity": "sha512-NTBIIbAfkJeIletyABbVtdPgeKfDafR+1mZV/AyyfC1UkVkp9iUjV+wwmqtUgphHYajbI86jejBJp5e+jkGTiQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", "dev": true }, "archive-type": { @@ -1355,37 +1424,18 @@ } }, "autoprefixer": { - "version": "9.7.6", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.6.tgz", - "integrity": "sha512-F7cYpbN7uVVhACZTeeIeealwdGM6wMtfWARVLTy5xmKtgVdBNJvbDRoCK3YO1orcs7gv/KwYlb3iXwu9Ug9BkQ==", + "version": "9.8.6", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", + "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", "dev": true, "requires": { - "browserslist": "^4.11.1", - "caniuse-lite": "^1.0.30001039", - "chalk": "^2.4.2", + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "colorette": "^1.2.1", "normalize-range": "^0.1.2", "num2fraction": "^1.2.2", - "postcss": "^7.0.27", - "postcss-value-parser": "^4.0.3" - }, - "dependencies": { - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - } + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" } }, "aws-sign2": { @@ -1395,9 +1445,9 @@ "dev": true }, "aws4": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", - "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", "dev": true }, "babel-code-frame": { @@ -1527,9 +1577,9 @@ } }, "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true }, "bcrypt-pbkdf": { @@ -1786,9 +1836,9 @@ } }, "bl": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", - "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", "dev": true, "requires": { "readable-stream": "^2.3.5", @@ -1918,25 +1968,26 @@ } }, "browserslist": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz", - "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==", + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.15.0.tgz", + "integrity": "sha512-IJ1iysdMkGmjjYeRlDU8PQejVwxvVO5QOfXH7ylW31GO6LwNRSmm/SgRXtNsEXqMLl2e+2H5eEJ7sfynF8TCaQ==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001043", - "electron-to-chromium": "^1.3.413", - "node-releases": "^1.1.53", - "pkg-up": "^2.0.0" + "caniuse-lite": "^1.0.30001164", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.612", + "escalade": "^3.1.1", + "node-releases": "^1.1.67" } }, "buffer": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", - "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, "buffer-alloc": { @@ -2045,6 +2096,16 @@ } } }, + "call-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", + "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.0" + } + }, "call-me-maybe": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", @@ -2104,9 +2165,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001061", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001061.tgz", - "integrity": "sha512-SMICCeiNvMZnyXpuoO+ot7FHpMVPlrsR+HmfByj6nY4xYDHXLqMTbgH7ecEkDNXWkH1vaip+ZS0D7VTXwM1KYQ==", + "version": "1.0.30001164", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001164.tgz", + "integrity": "sha512-G+A/tkf4bu0dSp9+duNiXc7bGds35DioCyC6vgK2m/rjA4Krpy5WeZgZyfH2f0wj2kI6yAWWucyap6oOwmY1mg==", "dev": true }, "caseless": { @@ -2138,12 +2199,11 @@ }, "dependencies": { "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==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "@types/color-name": "^1.1.1", "color-convert": "^2.0.1" } }, @@ -2169,9 +2229,9 @@ "dev": true }, "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "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" @@ -2387,13 +2447,13 @@ } }, "color": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", - "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", + "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", "dev": true, "requires": { "color-convert": "^1.9.1", - "color-string": "^1.5.2" + "color-string": "^1.5.4" } }, "color-convert": { @@ -2412,15 +2472,21 @@ "dev": true }, "color-string": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", - "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz", + "integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==", "dev": true, "requires": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" } }, + "colorette": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==", + "dev": true + }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -2548,18 +2614,18 @@ "dev": true }, "core-js": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", "dev": true }, "core-js-compat": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz", - "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==", + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.0.tgz", + "integrity": "sha512-o9QKelQSxQMYWHXc/Gc4L8bx/4F7TTraE5rhuN8I7mKBt5dBIUpXpIR3omv70ebr8ST5R3PqbDQr+ZI3+Tt1FQ==", "dev": true, "requires": { - "browserslist": "^4.8.5", + "browserslist": "^4.14.7", "semver": "7.0.0" }, "dependencies": { @@ -2664,9 +2730,9 @@ } }, "css-what": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.2.1.tgz", - "integrity": "sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", "dev": true }, "cssesc": { @@ -2753,28 +2819,28 @@ "dev": true }, "csso": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", - "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", "dev": true, "requires": { - "css-tree": "1.0.0-alpha.39" + "css-tree": "^1.1.2" }, "dependencies": { "css-tree": { - "version": "1.0.0-alpha.39", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", - "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.2.tgz", + "integrity": "sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==", "dev": true, "requires": { - "mdn-data": "2.0.6", + "mdn-data": "2.0.14", "source-map": "^0.6.1" } }, "mdn-data": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", - "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==", + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", "dev": true }, "source-map": { @@ -2804,12 +2870,12 @@ } }, "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "decamelize": { @@ -3094,21 +3160,21 @@ } }, "docusaurus": { - "version": "1.14.4", - "resolved": "https://registry.npmjs.org/docusaurus/-/docusaurus-1.14.4.tgz", - "integrity": "sha512-KALmrlZBc0E+AB0ITR4POGKv8WcrcSSxvmgq7nC3TdpS+S2hrlXN/2tV3tVOZ8q8m+zhcMs7l9mAIhGFQyQwIw==", - "dev": true, - "requires": { - "@babel/core": "^7.7.4", - "@babel/plugin-proposal-class-properties": "^7.7.4", - "@babel/plugin-proposal-object-rest-spread": "^7.7.4", - "@babel/polyfill": "^7.7.0", - "@babel/preset-env": "^7.7.4", - "@babel/preset-react": "^7.7.4", - "@babel/register": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4", - "autoprefixer": "^9.7.2", + "version": "1.14.6", + "resolved": "https://registry.npmjs.org/docusaurus/-/docusaurus-1.14.6.tgz", + "integrity": "sha512-Hpo6xqYIHwazwuhXW25AKYv/os+dWoJ87qql/m1j1xp83h/BnfYV2l8PA8zLggF1wGUbJQbTx7GWo6QvD8z+4Q==", + "dev": true, + "requires": { + "@babel/core": "^7.9.0", + "@babel/plugin-proposal-class-properties": "^7.8.3", + "@babel/plugin-proposal-object-rest-spread": "^7.9.0", + "@babel/polyfill": "^7.8.7", + "@babel/preset-env": "^7.9.0", + "@babel/preset-react": "^7.9.4", + "@babel/register": "^7.9.0", + "@babel/traverse": "^7.9.0", + "@babel/types": "^7.9.0", + "autoprefixer": "^9.7.5", "babylon": "^6.18.0", "chalk": "^3.0.0", "classnames": "^2.2.6", @@ -3139,7 +3205,7 @@ "react-dom": "^16.8.4", "remarkable": "^2.0.0", "request": "^2.88.0", - "shelljs": "^0.8.3", + "shelljs": "^0.8.4", "sitemap": "^3.2.2", "tcp-port-used": "^1.0.1", "tiny-lr": "^1.1.1", @@ -3158,9 +3224,9 @@ }, "dependencies": { "domelementtype": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", - "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", + "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==", "dev": true } } @@ -3191,9 +3257,9 @@ } }, "dot-prop": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", - "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", + "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" @@ -3242,9 +3308,9 @@ } }, "duplexer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", - "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", "dev": true }, "duplexer3": { @@ -3270,9 +3336,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.441", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.441.tgz", - "integrity": "sha512-leBfJwLuyGs1jEei2QioI+PjVMavmUIvPYidE8dCCYWLAq0uefhN3NYgDNb8WxD3uiUNnJ3ScMXg0upSlwySzQ==", + "version": "1.3.614", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.614.tgz", + "integrity": "sha512-JMDl46mg4G+n6q/hAJkwy9eMTj5FJjsE+8f/irAGRMLM4yeRVbMuRrdZrbbGGOrGVcZc4vJPjUpEUWNb/fA6hg==", "dev": true }, "emoji-regex": { @@ -3303,9 +3369,9 @@ } }, "entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.2.tgz", - "integrity": "sha512-dmD3AvJQBUjKpcNkoqr+x+IF0SdRtPz9Vk0uTy4yWqga9ibB6s4v++QFWNohjiUGoMlF552ZvNyXDxz5iW0qmw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", "dev": true }, "error": { @@ -3327,22 +3393,23 @@ } }, "es-abstract": { - "version": "1.17.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", - "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", + "version": "1.18.0-next.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", "dev": true, "requires": { "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", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" } }, "es-to-primitive": { @@ -3356,6 +3423,12 @@ "is-symbol": "^1.0.2" } }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -3739,9 +3812,9 @@ "dev": true }, "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, "fast-glob": { @@ -3783,9 +3856,9 @@ } }, "feed": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/feed/-/feed-4.1.0.tgz", - "integrity": "sha512-dAXWXM8QMxZ1DRnAxDmy1MaWZFlh1Ku7TU3onbXgHrVJynsxkNGPUed1AxszVW8AXo43xExronVkIqK+ACsoBA==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.1.tgz", + "integrity": "sha512-l28KKcK1J/u3iq5dRDmmoB2p7dtBfACC2NqJh4dI2kFptxH0asfjmOfcxqh5Sv8suAlVa73gZJ4REY5RrafVvg==", "dev": true, "requires": { "xml-js": "^1.6.11" @@ -3912,12 +3985,12 @@ } }, "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "^3.0.0" } }, "find-versions": { @@ -4068,11 +4141,22 @@ } }, "gensync": { - "version": "1.0.0-beta.1", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", - "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true }, + "get-intrinsic": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz", + "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, "get-proxy": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", @@ -4260,13 +4344,13 @@ } }, "globule": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.1.tgz", - "integrity": "sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.2.tgz", + "integrity": "sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==", "dev": true, "requires": { "glob": "~7.1.1", - "lodash": "~4.17.12", + "lodash": "~4.17.10", "minimatch": "~3.0.2" } }, @@ -4308,12 +4392,6 @@ "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", "dev": true }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", - "dev": true - }, "gray-matter": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-2.1.1.tgz", @@ -4366,12 +4444,12 @@ "dev": true }, "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", "dev": true, "requires": { - "ajv": "^6.5.5", + "ajv": "^6.12.3", "har-schema": "^2.0.0" } }, @@ -4549,9 +4627,9 @@ } }, "http-parser-js": { - "version": "0.4.10", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", - "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.2.tgz", + "integrity": "sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ==", "dev": true }, "http-signature": { @@ -4575,9 +4653,9 @@ } }, "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true }, "ignore": { @@ -4797,9 +4875,9 @@ } }, "interpret": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", - "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", "dev": true }, "into-stream": { @@ -4812,15 +4890,6 @@ "p-is-promise": "^1.1.0" } }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } - }, "ip-regex": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", @@ -4881,9 +4950,9 @@ "dev": true }, "is-callable": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", "dev": true }, "is-color-stop": { @@ -4900,6 +4969,15 @@ "rgba-regex": "^1.0.0" } }, + "is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", @@ -5005,6 +5083,12 @@ "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=", "dev": true }, + "is-negative-zero": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", + "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=", + "dev": true + }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -5032,9 +5116,9 @@ "dev": true }, "is-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", - "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", "dev": true }, "is-plain-obj": { @@ -5059,12 +5143,12 @@ "dev": true }, "is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", "dev": true, "requires": { - "has": "^1.0.3" + "has-symbols": "^1.0.1" } }, "is-resolvable": { @@ -5202,9 +5286,9 @@ "dev": true }, "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -5313,21 +5397,6 @@ "set-getter": "^0.1.0" } }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true - }, - "levenary": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz", - "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==", - "dev": true, - "requires": { - "leven": "^3.1.0" - } - }, "list-item": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/list-item/-/list-item-1.1.1.tgz", @@ -5428,19 +5497,19 @@ } }, "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "requires": { - "p-locate": "^2.0.0", + "p-locate": "^3.0.0", "path-exists": "^3.0.0" } }, "lodash": { - "version": "4.17.19", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", - "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", "dev": true }, "lodash._reinterpolate": { @@ -5745,9 +5814,9 @@ "dev": true }, "merge2": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", - "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true }, "methods": { @@ -5873,9 +5942,9 @@ "dev": true }, "nan": { - "version": "2.14.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", - "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", "dev": true, "optional": true }, @@ -5917,9 +5986,9 @@ "dev": true }, "node-releases": { - "version": "1.1.55", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.55.tgz", - "integrity": "sha512-H3R3YR/8TjT5WPin/wOoHOUPHgvj8leuU/Keta/rwelEQN9pA/S2Dx8/se4pZ2LBxSd0nAGzsNzhqwa77v7F1w==", + "version": "1.1.67", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz", + "integrity": "sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==", "dev": true }, "normalize-package-data": { @@ -6038,9 +6107,9 @@ } }, "object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", "dev": true }, "object-keys": { @@ -6059,25 +6128,26 @@ } }, "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" } }, "object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", + "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", "dev": true, "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" + "es-abstract": "^1.18.0-next.1" } }, "object.pick": { @@ -6090,14 +6160,14 @@ } }, "object.values": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", - "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz", + "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==", "dev": true, "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", + "es-abstract": "^1.18.0-next.1", "has": "^1.0.3" } }, @@ -6200,21 +6270,21 @@ "dev": true }, "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "^2.0.0" } }, "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "^2.0.0" } }, "p-map-series": { @@ -6248,9 +6318,9 @@ } }, "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "parse-json": { @@ -6377,77 +6447,77 @@ "dev": true, "requires": { "find-up": "^3.0.0" + } + }, + "pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "dev": true, + "requires": { + "find-up": "^2.1.0" }, "dependencies": { "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "^3.0.0" + "locate-path": "^2.0.0" } }, "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "^3.0.0", + "p-locate": "^2.0.0", "path-exists": "^3.0.0" } }, "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { - "p-try": "^2.0.0" + "p-try": "^1.0.0" } }, "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "^2.0.0" + "p-limit": "^1.1.0" } }, "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true } } }, - "pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", - "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - } - }, "portfinder": { - "version": "1.0.26", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.26.tgz", - "integrity": "sha512-Xi7mKxJHHMI3rIUrnm/jjUgwhbYMkp/XKEcZX3aG4BrumLpq3nmoQMX+ClYnDZnZ/New7IatC1no5RX0zo1vXQ==", + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", "dev": true, "requires": { "async": "^2.6.2", "debug": "^3.1.1", - "mkdirp": "^0.5.1" + "mkdirp": "^0.5.5" }, "dependencies": { "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -6462,9 +6532,9 @@ "dev": true }, "postcss": { - "version": "7.0.30", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.30.tgz", - "integrity": "sha512-nu/0m+NtIzoubO+xdAlwZl/u5S5vi/y6BCsoL8D+8IxsD3XvBS8X4YEADNIVXKVuQvduiucnRv+vPIqj56EGMQ==", + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", "dev": true, "requires": { "chalk": "^2.4.2", @@ -6518,9 +6588,9 @@ } }, "postcss-calc": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.2.tgz", - "integrity": "sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", + "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", "dev": true, "requires": { "postcss": "^7.0.27", @@ -6950,14 +7020,15 @@ } }, "postcss-selector-parser": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", - "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", + "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", "dev": true, "requires": { "cssesc": "^3.0.0", "indexes-of": "^1.0.1", - "uniq": "^1.0.1" + "uniq": "^1.0.1", + "util-deprecate": "^1.0.2" } }, "postcss-svgo": { @@ -7004,20 +7075,14 @@ "dev": true }, "prismjs": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.21.0.tgz", - "integrity": "sha512-uGdSIu1nk3kej2iZsLyDoJ7e9bnPzIgY0naW/HdknGj61zScaprVEVGHrPoXqI+M9sP0NDnTK2jpkvmldpuqDw==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.22.0.tgz", + "integrity": "sha512-lLJ/Wt9yy0AiSYBf212kK3mM5L8ycwlyTlSxHBAneXLR0nzFMlZ5y7riFPF3E33zXOF2IH95xdY5jIyZbM9z/w==", "dev": true, "requires": { "clipboard": "^2.0.0" } }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true - }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -7103,9 +7168,9 @@ } }, "querystringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", - "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", "dev": true }, "randomatic": { @@ -7146,9 +7211,9 @@ } }, "react": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz", - "integrity": "sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==", + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", + "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", "dev": true, "requires": { "loose-envify": "^1.1.0", @@ -7245,49 +7310,6 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, "strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", @@ -7300,9 +7322,9 @@ } }, "react-dom": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.13.1.tgz", - "integrity": "sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag==", + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", "dev": true, "requires": { "loose-envify": "^1.1.0", @@ -7312,9 +7334,9 @@ } }, "react-error-overlay": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.7.tgz", - "integrity": "sha512-TAv1KJFh3RhqxNvhzxj6LeT5NWklP6rDr2a0jaTfsZ5wSZWHOGeqQyejUp3xxLfPt2UpyJEcVQB/zyPcmonNFA==", + "version": "6.0.8", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.8.tgz", + "integrity": "sha512-HvPuUQnLp5H7TouGq3kzBeioJmXms1wHy9EGjz2OURWBp4qZO6AfGEcnxts1D/CbwPLRAgTMPCEgYhA3sEM4vw==", "dev": true }, "react-is": { @@ -7439,9 +7461,9 @@ } }, "regenerate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", "dev": true }, "regenerate-unicode-properties": { @@ -7454,19 +7476,18 @@ } }, "regenerator-runtime": { - "version": "0.13.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", - "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", "dev": true }, "regenerator-transform": { - "version": "0.14.4", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz", - "integrity": "sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==", + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", "dev": true, "requires": { - "@babel/runtime": "^7.8.4", - "private": "^0.1.8" + "@babel/runtime": "^7.8.4" } }, "regex-not": { @@ -7480,9 +7501,9 @@ } }, "regexpu-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", - "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", "dev": true, "requires": { "regenerate": "^1.4.0", @@ -7494,9 +7515,9 @@ } }, "regjsgen": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz", - "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", "dev": true }, "regjsparser": { @@ -7517,9 +7538,9 @@ } }, "remarkable": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-2.0.0.tgz", - "integrity": "sha512-3gvKFAgL4xmmVRKAMNm6UzDo/rO2gPVkZrWagp6AXEA4JvCcMcRx9aapYbb7AJAmLLvi/u06+EhzqoS7ha9qOg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-2.0.1.tgz", + "integrity": "sha512-YJyMcOH5lrR+kZdmB0aJJ4+93bEojRZ1HGDn9Eagu6ibg7aVZhc3OWbbShRid+Q5eAfsEqWxpe+g5W5nYNfNiA==", "dev": true, "requires": { "argparse": "^1.0.10", @@ -7527,9 +7548,9 @@ }, "dependencies": { "autolinker": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-3.14.1.tgz", - "integrity": "sha512-yvsRHIaY51EYDml6MGlbqyJGfl4n7zezGYf+R7gvM8c5LNpRGc4SISkvgAswSS8SWxk/OrGCylKV9mJyVstz7w==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-3.14.2.tgz", + "integrity": "sha512-VO66nXUCZFxTq7fVHAaiAkZNXRQ1l3IFi6D5P7DLoyIEAn2E8g7TWbyEgLlz1uW74LfWmu1A17IPWuPQyGuNVg==", "dev": true, "requires": { "tslib": "^1.9.3" @@ -7605,11 +7626,12 @@ "dev": true }, "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", "dev": true, "requires": { + "is-core-module": "^2.1.0", "path-parse": "^1.0.6" } }, @@ -7678,9 +7700,9 @@ "dev": true }, "rxjs": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", - "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", + "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", "dev": true, "requires": { "tslib": "^1.9.0" @@ -7730,22 +7752,19 @@ } }, "seek-bzip": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", - "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", "dev": true, "requires": { - "commander": "~2.8.1" + "commander": "^2.8.1" }, "dependencies": { "commander": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", - "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", - "dev": true, - "requires": { - "graceful-readlink": ">= 1.0.0" - } + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true } } }, @@ -8083,9 +8102,9 @@ }, "dependencies": { "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -8155,9 +8174,9 @@ "dev": true }, "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -8181,9 +8200,9 @@ } }, "spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", "dev": true }, "split-string": { @@ -8335,45 +8354,23 @@ } }, "string.prototype.trimend": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", - "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "string.prototype.trimleft": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", - "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimstart": "^1.0.0" - } - }, - "string.prototype.trimright": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", - "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", + "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimend": "^1.0.0" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" } }, "string.prototype.trimstart": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", - "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", + "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" } }, "string_decoder": { @@ -8637,9 +8634,9 @@ }, "dependencies": { "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -8751,9 +8748,9 @@ } }, "tree-node-cli": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/tree-node-cli/-/tree-node-cli-1.3.0.tgz", - "integrity": "sha512-7B5IvFiDQMnBjmxHQ4YMdIqklofqla1mINa/ddlxUHC4seEJHdig19C49NONVHmAom/O9dByGvN0PLReCCqqqQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/tree-node-cli/-/tree-node-cli-1.4.0.tgz", + "integrity": "sha512-hBc/cp7rTSHFSFvaTzmHNYyJv87UJBsxsfCoq2DtDQuMES4vhnLuvXZit/asGtZG8edWTCydWeFWoBz9LYkJdQ==", "dev": true, "requires": { "commander": "^5.0.0" @@ -8801,9 +8798,9 @@ } }, "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, "tunnel-agent": { @@ -8838,9 +8835,9 @@ "dev": true }, "unbzip2-stream": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.2.tgz", - "integrity": "sha512-pZMVAofMrrHX6Ik39hCk470kulCbmZ2SWfQLPmTWqfJV/oUm0gn1CblvHdUu4+54Je6Jq34x8kY6XjTy6dMkOg==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", "dev": true, "requires": { "buffer": "^5.2.1", @@ -8964,9 +8961,9 @@ "dev": true }, "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", "dev": true, "requires": { "punycode": "^2.1.0" @@ -9025,6 +9022,27 @@ "es-abstract": "^1.17.2", "has-symbols": "^1.0.1", "object.getownpropertydescriptors": "^2.1.0" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + } } }, "utils-merge": { @@ -9079,12 +9097,12 @@ "dev": true }, "websocket-driver": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", - "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", "dev": true, "requires": { - "http-parser-js": ">=0.4.0 <0.4.11", + "http-parser-js": ">=0.5.1", "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" } diff --git a/website/package.json b/website/package.json index e5035e2a..41e0f89d 100644 --- a/website/package.json +++ b/website/package.json @@ -9,7 +9,7 @@ "rename-version": "docusaurus-rename-version" }, "devDependencies": { - "docusaurus": "^1.14.4" + "docusaurus": "^1.14.6" }, "dependencies": { "minimist": "^1.2.5" diff --git a/website/yarn.lock b/website/yarn.lock index c6fce1de..725d8617 100644 --- a/website/yarn.lock +++ b/website/yarn.lock @@ -9,54 +9,56 @@ dependencies: "@babel/highlight" "^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/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.7.4": - 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" +"@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.12.5", "@babel/compat-data@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.7.tgz#9329b4782a7d6bbd7eef57e11addf91ee3ef1e41" + integrity sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw== + +"@babel/core@^7.9.0": + version "7.12.9" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.9.tgz#fd450c4ec10cdbb980e2928b7aa7a28484593fc8" + integrity sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.12.5" + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helpers" "^7.12.5" + "@babel/parser" "^7.12.7" + "@babel/template" "^7.12.7" + "@babel/traverse" "^7.12.9" + "@babel/types" "^7.12.7" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.1" json5 "^2.1.2" - lodash "^4.17.13" + lodash "^4.17.19" resolve "^1.3.2" semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@^7.9.0": - version "7.9.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.4.tgz#12441e90c3b3c4159cdecf312075bf1a8ce2dbce" - integrity sha512-rjP8ahaDy/ouhrvCoU1E5mqaitWrxwuNGU+dy1EpaoK48jZay4MdkskKGIMHLZNewg8sAsqpGSREJwP0zH3YQA== +"@babel/generator@^7.12.5": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.5.tgz#a2c50de5c8b6d708ab95be5e6053936c1884a4de" + integrity sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A== dependencies: - "@babel/types" "^7.9.0" + "@babel/types" "^7.12.5" jsesc "^2.5.1" - lodash "^4.17.13" source-map "^0.5.0" +"@babel/helper-annotate-as-pure@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3" + integrity sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA== + dependencies: + "@babel/types" "^7.10.4" + "@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" @@ -64,53 +66,59 @@ 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== +"@babel/helper-builder-binary-assignment-operator-visitor@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz#bb0b75f31bf98cbf9ff143c1ae578b87274ae1a3" + integrity sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg== dependencies: - "@babel/helper-explode-assignable-expression" "^7.8.3" - "@babel/types" "^7.8.3" + "@babel/helper-explode-assignable-expression" "^7.10.4" + "@babel/types" "^7.10.4" -"@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== +"@babel/helper-builder-react-jsx-experimental@^7.12.4": + version "7.12.4" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.12.4.tgz#55fc1ead5242caa0ca2875dcb8eed6d311e50f48" + integrity sha512-AjEa0jrQqNk7eDQOo0pTfUOwQBMF+xVqrausQwT9/rTKy0g04ggFNaJpaE09IQMn9yExluigWMJcj0WC7bq+Og== dependencies: - "@babel/helper-annotate-as-pure" "^7.8.3" - "@babel/helper-module-imports" "^7.8.3" - "@babel/types" "^7.9.0" + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-module-imports" "^7.12.1" + "@babel/types" "^7.12.1" -"@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== +"@babel/helper-builder-react-jsx@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.10.4.tgz#8095cddbff858e6fa9c326daee54a2f2732c1d5d" + integrity sha512-5nPcIZ7+KKDxT1427oBivl9V9YTal7qk0diccnh7RrcgrT/pGFOjgGw1dgryyx1GvHEpXVfoDF6Ak3rTiWh8Rg== dependencies: - "@babel/helper-annotate-as-pure" "^7.8.3" - "@babel/types" "^7.9.0" + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/types" "^7.10.4" -"@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== +"@babel/helper-compilation-targets@^7.12.5": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz#cb470c76198db6a24e9dbc8987275631e5d29831" + integrity sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw== dependencies: - "@babel/compat-data" "^7.8.6" - browserslist "^4.9.1" - invariant "^2.2.4" - levenary "^1.1.1" + "@babel/compat-data" "^7.12.5" + "@babel/helper-validator-option" "^7.12.1" + browserslist "^4.14.5" semver "^5.5.0" -"@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== +"@babel/helper-create-class-features-plugin@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz#3c45998f431edd4a9214c5f1d3ad1448a6137f6e" + integrity sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w== 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-function-name" "^7.10.4" + "@babel/helper-member-expression-to-functions" "^7.12.1" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/helper-replace-supers" "^7.12.1" + "@babel/helper-split-export-declaration" "^7.10.4" + +"@babel/helper-create-regexp-features-plugin@^7.12.1": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz#2084172e95443fa0a09214ba1bb328f9aea1278f" + integrity sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + regexpu-core "^4.7.1" "@babel/helper-create-regexp-features-plugin@^7.8.3", "@babel/helper-create-regexp-features-plugin@^7.8.8": version "7.8.8" @@ -121,85 +129,91 @@ "@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== +"@babel/helper-define-map@^7.10.4": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz#b53c10db78a640800152692b13393147acb9bb30" + integrity sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ== dependencies: - "@babel/helper-function-name" "^7.8.3" - "@babel/types" "^7.8.3" - lodash "^4.17.13" + "@babel/helper-function-name" "^7.10.4" + "@babel/types" "^7.10.5" + lodash "^4.17.19" -"@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== +"@babel/helper-explode-assignable-expression@^7.10.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz#8006a466695c4ad86a2a5f2fb15b5f2c31ad5633" + integrity sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA== dependencies: - "@babel/traverse" "^7.8.3" - "@babel/types" "^7.8.3" + "@babel/types" "^7.12.1" -"@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== +"@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.8.3" - "@babel/template" "^7.8.3" - "@babel/types" "^7.8.3" + "@babel/helper-get-function-arity" "^7.10.4" + "@babel/template" "^7.10.4" + "@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== +"@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.8.3" + "@babel/types" "^7.10.4" -"@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== +"@babel/helper-hoist-variables@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz#d49b001d1d5a68ca5e6604dda01a6297f7c9381e" + integrity sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA== dependencies: - "@babel/types" "^7.8.3" + "@babel/types" "^7.10.4" -"@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== +"@babel/helper-member-expression-to-functions@^7.12.1": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz#aa77bd0396ec8114e5e30787efa78599d874a855" + integrity sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw== dependencies: - "@babel/types" "^7.8.3" + "@babel/types" "^7.12.7" -"@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== +"@babel/helper-module-imports@^7.12.1", "@babel/helper-module-imports@^7.12.5": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz#1bfc0229f794988f76ed0a4d4e90860850b54dfb" + integrity sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA== dependencies: - "@babel/types" "^7.8.3" + "@babel/types" "^7.12.5" -"@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-module-transforms@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz#7954fec71f5b32c48e4b303b437c34453fd7247c" + integrity sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w== + dependencies: + "@babel/helper-module-imports" "^7.12.1" + "@babel/helper-replace-supers" "^7.12.1" + "@babel/helper-simple-access" "^7.12.1" + "@babel/helper-split-export-declaration" "^7.11.0" + "@babel/helper-validator-identifier" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.12.1" + "@babel/types" "^7.12.1" + lodash "^4.17.19" -"@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== +"@babel/helper-optimise-call-expression@^7.10.4": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.7.tgz#7f94ae5e08721a49467346aa04fd22f750033b9c" + integrity sha512-I5xc9oSJ2h59OwyUqjv95HRyzxj53DAubUERgQMrpcCEYQyToeHA+NEcUEsVWB4j53RDeskeBJ0SgRAYHDBckw== dependencies: - "@babel/types" "^7.8.3" + "@babel/types" "^7.12.7" "@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" @@ -207,67 +221,81 @@ 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== +"@babel/helper-remap-async-to-generator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz#8c4dbbf916314f6047dc05e6a2217074238347fd" + integrity sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A== 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-annotate-as-pure" "^7.10.4" + "@babel/helper-wrap-function" "^7.10.4" + "@babel/types" "^7.12.1" -"@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== +"@babel/helper-replace-supers@^7.12.1": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz#f009a17543bbbbce16b06206ae73b63d3fca68d9" + integrity sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA== 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-member-expression-to-functions" "^7.12.1" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/traverse" "^7.12.5" + "@babel/types" "^7.12.5" -"@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== +"@babel/helper-simple-access@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz#32427e5aa61547d38eb1e6eaf5fd1426fdad9136" + integrity sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA== dependencies: - "@babel/template" "^7.8.3" - "@babel/types" "^7.8.3" + "@babel/types" "^7.12.1" -"@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== +"@babel/helper-skip-transparent-expression-wrappers@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz#462dc63a7e435ade8468385c63d2b84cce4b3cbf" + integrity sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA== dependencies: - "@babel/types" "^7.8.3" + "@babel/types" "^7.12.1" + +"@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-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== +"@babel/helper-validator-option@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz#175567380c3e77d60ff98a54bb015fe78f2178d9" + integrity sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A== + +"@babel/helper-wrap-function@^7.10.4": + version "7.12.3" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz#3332339fc4d1fbbf1c27d7958c27d34708e990d9" + integrity sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow== dependencies: - "@babel/helper-function-name" "^7.8.3" - "@babel/template" "^7.8.3" - "@babel/traverse" "^7.8.3" - "@babel/types" "^7.8.3" + "@babel/helper-function-name" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" -"@babel/helpers@^7.9.0": - version "7.9.2" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.9.2.tgz#b42a81a811f1e7313b88cba8adc66b3d9ae6c09f" - integrity sha512-JwLvzlXVPjO8eU9c/wF9/zOIN7X6h8DYf7mG4CiFRZRvZNKEF5dQ3H3V+ASkHoIB3mWhatgl5ONhyqHRI6MppA== +"@babel/helpers@^7.12.5": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.5.tgz#1a1ba4a768d9b58310eda516c449913fe647116e" + integrity sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA== dependencies: - "@babel/template" "^7.8.3" - "@babel/traverse" "^7.9.0" - "@babel/types" "^7.9.0" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.12.5" + "@babel/types" "^7.12.5" -"@babel/highlight@^7.0.0", "@babel/highlight@^7.8.3": +"@babel/highlight@^7.0.0": version "7.9.0" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.9.0.tgz#4e9b45ccb82b79607271b2979ad82c7b68163079" integrity sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ== @@ -276,85 +304,128 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.8.6", "@babel/parser@^7.9.0": - version "7.9.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.4.tgz#68a35e6b0319bbc014465be43828300113f2f2e8" - integrity sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA== +"@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/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== +"@babel/parser@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.7.tgz#fee7b39fe809d0e73e5b25eecaf5780ef3d73056" + integrity sha512-oWR02Ubp4xTLCAqPRiNIuMVgNO5Aif/xpXtabhzW2HWUD47XJsAB4Zd/Rg30+XeQA3juXigV7hlquOTmwqLiwg== + +"@babel/plugin-proposal-async-generator-functions@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz#dc6c1170e27d8aca99ff65f4925bd06b1c90550e" + integrity sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-remap-async-to-generator" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-remap-async-to-generator" "^7.12.1" "@babel/plugin-syntax-async-generators" "^7.8.0" -"@babel/plugin-proposal-class-properties@^7.7.4": - 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== +"@babel/plugin-proposal-class-properties@^7.12.1", "@babel/plugin-proposal-class-properties@^7.8.3": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz#a082ff541f2a29a4821065b8add9346c0c16e5de" + integrity sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w== dependencies: - "@babel/helper-create-class-features-plugin" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-create-class-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" -"@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== +"@babel/plugin-proposal-dynamic-import@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz#43eb5c2a3487ecd98c5c8ea8b5fdb69a2749b2dc" + integrity sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" "@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== +"@babel/plugin-proposal-export-namespace-from@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz#8b9b8f376b2d88f5dd774e4d24a5cc2e3679b6d4" + integrity sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz#d45423b517714eedd5621a9dfdc03fa9f4eb241c" + integrity sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-json-strings" "^7.8.0" -"@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== +"@babel/plugin-proposal-logical-assignment-operators@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz#f2c490d36e1b3c9659241034a5d2cd50263a2751" + integrity sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz#3ed4fff31c015e7f3f1467f190dbe545cd7b046c" + integrity sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" -"@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== +"@babel/plugin-proposal-numeric-separator@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz#8bf253de8139099fea193b297d23a9d406ef056b" + integrity sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.7.4", "@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== +"@babel/plugin-proposal-object-rest-spread@^7.12.1", "@babel/plugin-proposal-object-rest-spread@^7.9.0": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz#def9bd03cea0f9b72283dac0ec22d289c7691069" + integrity sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-transform-parameters" "^7.12.1" -"@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== +"@babel/plugin-proposal-optional-catch-binding@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz#ccc2421af64d3aae50b558a71cede929a5ab2942" + integrity sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-optional-catch-binding" "^7.8.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== +"@babel/plugin-proposal-optional-chaining@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz#e02f0ea1b5dc59d401ec16fb824679f683d3303c" + integrity sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" "@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": +"@babel/plugin-proposal-private-methods@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz#86814f6e7a21374c980c10d38b4493e703f4a389" + integrity sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-proposal-unicode-property-regex@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz#2a183958d417765b9eae334f47758e5d6a82e072" + integrity sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-proposal-unicode-property-regex@^7.4.4": 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== @@ -369,6 +440,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-class-properties@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz#bcb297c5366e79bebadef509549cd93b04f19978" + integrity sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@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" @@ -376,6 +454,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + 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" @@ -383,12 +468,19 @@ 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== +"@babel/plugin-syntax-jsx@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz#9d9d357cc818aa7ae7935917c1257f67677a0926" + integrity sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": version "7.8.3" @@ -397,12 +489,12 @@ 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== +"@babel/plugin-syntax-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-object-rest-spread@^7.8.0": version "7.8.3" @@ -425,73 +517,80 @@ 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== +"@babel/plugin-syntax-top-level-await@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz#dd6c0b357ac1bb142d98537450a319625d13d2a0" + integrity sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@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== +"@babel/plugin-transform-arrow-functions@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz#8083ffc86ac8e777fbe24b5967c4b2521f3cb2b3" + integrity sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@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== +"@babel/plugin-transform-async-to-generator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz#3849a49cc2a22e9743cbd6b52926d30337229af1" + integrity sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A== 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/helper-module-imports" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-remap-async-to-generator" "^7.12.1" -"@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== +"@babel/plugin-transform-block-scoped-functions@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz#f2a1a365bde2b7112e0a6ded9067fdd7c07905d9" + integrity sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@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== +"@babel/plugin-transform-block-scoping@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz#f0ee727874b42a208a48a586b84c3d222c2bbef1" + integrity sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - lodash "^4.17.13" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-classes@^7.9.0": - version "7.9.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.2.tgz#8603fc3cc449e31fdbdbc257f67717536a11af8d" - integrity sha512-TC2p3bPzsfvSsqBZo0kJnuelnoK9O3welkUpqSqBQuBF6R5MN2rysopri8kNvtlGIb2jmUO7i15IooAZJjZuMQ== +"@babel/plugin-transform-classes@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz#65e650fcaddd3d88ddce67c0f834a3d436a32db6" + integrity sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog== 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" + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-define-map" "^7.10.4" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-replace-supers" "^7.12.1" + "@babel/helper-split-export-declaration" "^7.10.4" 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== +"@babel/plugin-transform-computed-properties@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz#d68cf6c9b7f838a8a4144badbe97541ea0904852" + integrity sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@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== +"@babel/plugin-transform-destructuring@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz#b9a570fe0d0a8d460116413cb4f97e8e08b2f847" + integrity sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-dotall-regex@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz#a1d16c14862817b6409c0a678d6f9373ca9cd975" + integrity sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.8.3": +"@babel/plugin-transform-dotall-regex@^7.4.4": 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== @@ -499,297 +598,315 @@ "@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== +"@babel/plugin-transform-duplicate-keys@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz#745661baba295ac06e686822797a69fbaa2ca228" + integrity sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@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== +"@babel/plugin-transform-exponentiation-operator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz#b0f2ed356ba1be1428ecaf128ff8a24f02830ae0" + integrity sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" -"@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== +"@babel/plugin-transform-for-of@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz#07640f28867ed16f9511c99c888291f560921cfa" + integrity sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@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== +"@babel/plugin-transform-function-name@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz#2ec76258c70fe08c6d7da154003a480620eba667" + integrity sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw== dependencies: - "@babel/helper-function-name" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" -"@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== +"@babel/plugin-transform-literals@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz#d73b803a26b37017ddf9d3bb8f4dc58bfb806f57" + integrity sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@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== +"@babel/plugin-transform-member-expression-literals@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz#496038602daf1514a64d43d8e17cbb2755e0c3ad" + integrity sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@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== +"@babel/plugin-transform-modules-amd@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz#3154300b026185666eebb0c0ed7f8415fefcf6f9" + integrity sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ== dependencies: - "@babel/helper-module-transforms" "^7.9.0" - "@babel/helper-plugin-utils" "^7.8.3" - babel-plugin-dynamic-import-node "^2.3.0" + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + babel-plugin-dynamic-import-node "^2.3.3" -"@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== +"@babel/plugin-transform-modules-commonjs@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz#fa403124542636c786cf9b460a0ffbb48a86e648" + integrity sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag== 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/helper-module-transforms" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-simple-access" "^7.12.1" + babel-plugin-dynamic-import-node "^2.3.3" -"@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== +"@babel/plugin-transform-modules-systemjs@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz#663fea620d593c93f214a464cd399bf6dc683086" + integrity sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q== 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/helper-hoist-variables" "^7.10.4" + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-validator-identifier" "^7.10.4" + babel-plugin-dynamic-import-node "^2.3.3" -"@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== +"@babel/plugin-transform-modules-umd@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz#eb5a218d6b1c68f3d6217b8fa2cc82fec6547902" + integrity sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q== dependencies: - "@babel/helper-module-transforms" "^7.9.0" - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" -"@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== +"@babel/plugin-transform-named-capturing-groups-regex@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz#b407f5c96be0d9f5f88467497fa82b30ac3e8753" + integrity sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.8.3" + "@babel/helper-create-regexp-features-plugin" "^7.12.1" -"@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== +"@babel/plugin-transform-new-target@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz#80073f02ee1bb2d365c3416490e085c95759dec0" + integrity sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@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== +"@babel/plugin-transform-object-super@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz#4ea08696b8d2e65841d0c7706482b048bed1066e" + integrity sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-replace-supers" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-replace-supers" "^7.12.1" -"@babel/plugin-transform-parameters@^7.8.7": - version "7.9.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.9.3.tgz#3028d0cc20ddc733166c6e9c8534559cee09f54a" - integrity sha512-fzrQFQhp7mIhOzmOtPiKffvCYQSK10NR8t6BBz2yPbeUHb9OLW8RZGtgDRBn8z2hGcwvKDL3vC7ojPTLNxmqEg== +"@babel/plugin-transform-parameters@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz#d2e963b038771650c922eff593799c96d853255d" + integrity sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg== dependencies: - "@babel/helper-get-function-arity" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@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== +"@babel/plugin-transform-property-literals@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz#41bc81200d730abb4456ab8b3fbd5537b59adecd" + integrity sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@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== +"@babel/plugin-transform-react-display-name@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.1.tgz#1cbcd0c3b1d6648c55374a22fc9b6b7e5341c00d" + integrity sha512-cAzB+UzBIrekfYxyLlFqf/OagTvHLcVBb5vpouzkYkBclRPraiygVnafvAoipErZLI8ANv8Ecn6E/m5qPXD26w== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@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== +"@babel/plugin-transform-react-jsx-development@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.7.tgz#4c2a647de79c7e2b16bfe4540677ba3121e82a08" + integrity sha512-Rs3ETtMtR3VLXFeYRChle5SsP/P9Jp/6dsewBQfokDSzKJThlsuFcnzLTDRALiUmTC48ej19YD9uN1mupEeEDg== 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/helper-builder-react-jsx-experimental" "^7.12.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-jsx" "^7.12.1" -"@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== +"@babel/plugin-transform-react-jsx-self@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.12.1.tgz#ef43cbca2a14f1bd17807dbe4376ff89d714cf28" + integrity sha512-FbpL0ieNWiiBB5tCldX17EtXgmzeEZjFrix72rQYeq9X6nUK38HCaxexzVQrZWXanxKJPKVVIU37gFjEQYkPkA== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-jsx" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@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== +"@babel/plugin-transform-react-jsx-source@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.12.1.tgz#d07de6863f468da0809edcf79a1aa8ce2a82a26b" + integrity sha512-keQ5kBfjJNRc6zZN1/nVHCd6LLIHq4aUKcVnvE/2l+ZZROSbqoiGFRtT5t3Is89XJxBQaP7NLZX2jgGHdZvvFQ== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-jsx" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-react-jsx@^7.9.4": - version "7.9.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.9.4.tgz#86f576c8540bd06d0e95e0b61ea76d55f6cbd03f" - integrity sha512-Mjqf3pZBNLt854CK0C/kRuXAnE6H/bo7xYojP+WGtX8glDGSibcwnsWwhwoSuRg0+EBnxPC1ouVnuetUIlPSAw== +"@babel/plugin-transform-react-jsx@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.7.tgz#8b14d45f6eccd41b7f924bcb65c021e9f0a06f7f" + integrity sha512-YFlTi6MEsclFAPIDNZYiCRbneg1MFGao9pPG9uD5htwE0vDbPaMUMeYd6itWjw7K4kro4UbdQf3ljmFl9y48dQ== 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/helper-builder-react-jsx" "^7.10.4" + "@babel/helper-builder-react-jsx-experimental" "^7.12.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-jsx" "^7.12.1" + +"@babel/plugin-transform-react-pure-annotations@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.12.1.tgz#05d46f0ab4d1339ac59adf20a1462c91b37a1a42" + integrity sha512-RqeaHiwZtphSIUZ5I85PEH19LOSzxfuEazoY7/pWASCAIBuATQzpSVD+eT6MebeeZT2F4eSL0u4vw6n4Nm0Mjg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" -"@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== +"@babel/plugin-transform-regenerator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz#5f0a28d842f6462281f06a964e88ba8d7ab49753" + integrity sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng== 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== +"@babel/plugin-transform-reserved-words@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz#6fdfc8cc7edcc42b36a7c12188c6787c873adcd8" + integrity sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@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== +"@babel/plugin-transform-shorthand-properties@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz#0bf9cac5550fce0cfdf043420f661d645fdc75e3" + integrity sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@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== +"@babel/plugin-transform-spread@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz#527f9f311be4ec7fdc2b79bb89f7bf884b3e1e1e" + integrity sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" -"@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== +"@babel/plugin-transform-sticky-regex@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz#560224613ab23987453948ed21d0b0b193fa7fad" + integrity sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-regex" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@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== +"@babel/plugin-transform-template-literals@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz#b43ece6ed9a79c0c71119f576d299ef09d942843" + integrity sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw== dependencies: - "@babel/helper-annotate-as-pure" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@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== +"@babel/plugin-transform-typeof-symbol@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.1.tgz#9ca6be343d42512fbc2e68236a82ae64bc7af78a" + integrity sha512-EPGgpGy+O5Kg5pJFNDKuxt9RdmTgj5sgrus2XVeMp/ZIbOESadgILUbm50SNpghOh3/6yrbsH+NB5+WJTmsA7Q== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^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== +"@babel/plugin-transform-unicode-escapes@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz#5232b9f81ccb07070b7c3c36c67a1b78f1845709" + integrity sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-unicode-regex@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz#cc9661f61390db5c65e3febaccefd5c6ac3faecb" + integrity sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/polyfill@^7.7.0": - version "7.8.7" - resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.8.7.tgz#151ec24c7135481336168c3bd8b8bf0cf91c032f" - integrity sha512-LeSfP9bNZH2UOZgcGcZ0PIHUt1ZuHub1L3CVmEyqLxCeDLm4C5Gi8jRH8ZX2PNpDhQCo0z6y/+DIs2JlliXW8w== +"@babel/polyfill@^7.8.7": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.12.1.tgz#1f2d6371d1261bbd961f3c5d5909150e12d0bd96" + integrity sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g== dependencies: core-js "^2.6.5" regenerator-runtime "^0.13.4" -"@babel/preset-env@^7.7.4": - 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/preset-env@^7.9.0": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.7.tgz#54ea21dbe92caf6f10cb1a0a576adc4ebf094b55" + integrity sha512-OnNdfAr1FUQg7ksb7bmbKoby4qFOHw6DKWWUNB9KqnnCldxhxJlP+21dpyaWFmf2h0rTbOkXJtAGevY3XW1eew== + dependencies: + "@babel/compat-data" "^7.12.7" + "@babel/helper-compilation-targets" "^7.12.5" + "@babel/helper-module-imports" "^7.12.5" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-validator-option" "^7.12.1" + "@babel/plugin-proposal-async-generator-functions" "^7.12.1" + "@babel/plugin-proposal-class-properties" "^7.12.1" + "@babel/plugin-proposal-dynamic-import" "^7.12.1" + "@babel/plugin-proposal-export-namespace-from" "^7.12.1" + "@babel/plugin-proposal-json-strings" "^7.12.1" + "@babel/plugin-proposal-logical-assignment-operators" "^7.12.1" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1" + "@babel/plugin-proposal-numeric-separator" "^7.12.7" + "@babel/plugin-proposal-object-rest-spread" "^7.12.1" + "@babel/plugin-proposal-optional-catch-binding" "^7.12.1" + "@babel/plugin-proposal-optional-chaining" "^7.12.7" + "@babel/plugin-proposal-private-methods" "^7.12.1" + "@babel/plugin-proposal-unicode-property-regex" "^7.12.1" "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-class-properties" "^7.12.1" "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - "@babel/plugin-syntax-numeric-separator" "^7.8.0" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@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/plugin-syntax-top-level-await" "^7.12.1" + "@babel/plugin-transform-arrow-functions" "^7.12.1" + "@babel/plugin-transform-async-to-generator" "^7.12.1" + "@babel/plugin-transform-block-scoped-functions" "^7.12.1" + "@babel/plugin-transform-block-scoping" "^7.12.1" + "@babel/plugin-transform-classes" "^7.12.1" + "@babel/plugin-transform-computed-properties" "^7.12.1" + "@babel/plugin-transform-destructuring" "^7.12.1" + "@babel/plugin-transform-dotall-regex" "^7.12.1" + "@babel/plugin-transform-duplicate-keys" "^7.12.1" + "@babel/plugin-transform-exponentiation-operator" "^7.12.1" + "@babel/plugin-transform-for-of" "^7.12.1" + "@babel/plugin-transform-function-name" "^7.12.1" + "@babel/plugin-transform-literals" "^7.12.1" + "@babel/plugin-transform-member-expression-literals" "^7.12.1" + "@babel/plugin-transform-modules-amd" "^7.12.1" + "@babel/plugin-transform-modules-commonjs" "^7.12.1" + "@babel/plugin-transform-modules-systemjs" "^7.12.1" + "@babel/plugin-transform-modules-umd" "^7.12.1" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.1" + "@babel/plugin-transform-new-target" "^7.12.1" + "@babel/plugin-transform-object-super" "^7.12.1" + "@babel/plugin-transform-parameters" "^7.12.1" + "@babel/plugin-transform-property-literals" "^7.12.1" + "@babel/plugin-transform-regenerator" "^7.12.1" + "@babel/plugin-transform-reserved-words" "^7.12.1" + "@babel/plugin-transform-shorthand-properties" "^7.12.1" + "@babel/plugin-transform-spread" "^7.12.1" + "@babel/plugin-transform-sticky-regex" "^7.12.7" + "@babel/plugin-transform-template-literals" "^7.12.1" + "@babel/plugin-transform-typeof-symbol" "^7.12.1" + "@babel/plugin-transform-unicode-escapes" "^7.12.1" + "@babel/plugin-transform-unicode-regex" "^7.12.1" "@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" + "@babel/types" "^7.12.7" + core-js-compat "^3.7.0" semver "^5.5.0" "@babel/preset-modules@^0.1.3": @@ -803,25 +920,26 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/preset-react@^7.7.4": - version "7.9.4" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.9.4.tgz#c6c97693ac65b6b9c0b4f25b948a8f665463014d" - integrity sha512-AxylVB3FXeOTQXNXyiuAQJSvss62FEotbX2Pzx3K/7c+MKJMdSg6Ose6QYllkdCFA8EInCJVw7M/o5QbLuA4ZQ== +"@babel/preset-react@^7.9.4": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.12.7.tgz#36d61d83223b07b6ac4ec55cf016abb0f70be83b" + integrity sha512-wKeTdnGUP5AEYCYQIMeXMMwU7j+2opxrG0WzuZfxuuW9nhKvvALBjl67653CWamZJVefuJGI219G591RSldrqQ== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-transform-react-display-name" "^7.8.3" - "@babel/plugin-transform-react-jsx" "^7.9.4" - "@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/helper-plugin-utils" "^7.10.4" + "@babel/plugin-transform-react-display-name" "^7.12.1" + "@babel/plugin-transform-react-jsx" "^7.12.7" + "@babel/plugin-transform-react-jsx-development" "^7.12.7" + "@babel/plugin-transform-react-jsx-self" "^7.12.1" + "@babel/plugin-transform-react-jsx-source" "^7.12.1" + "@babel/plugin-transform-react-pure-annotations" "^7.12.1" -"@babel/register@^7.7.4": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.9.0.tgz#02464ede57548bddbb5e9f705d263b7c3f43d48b" - integrity sha512-Tv8Zyi2J2VRR8g7pC5gTeIN8Ihultbmk0ocyNz8H2nEZbmhp1N6q0A1UGsQbDvGP/sNinQKUHf3SqXwqjtFv4Q== +"@babel/register@^7.9.0": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.12.1.tgz#cdb087bdfc4f7241c03231f22e15d211acf21438" + integrity sha512-XWcmseMIncOjoydKZnWvWi0/5CUCD+ZYKhRwgYlWOrA8fGZ/FjuLRpqtIhLOVD/fvR1b9DQHtZPn68VvhpYf+Q== dependencies: find-cache-dir "^2.0.0" - lodash "^4.17.13" + lodash "^4.17.19" make-dir "^2.1.0" pirates "^4.0.0" source-map-support "^0.5.16" @@ -833,37 +951,37 @@ dependencies: regenerator-runtime "^0.13.4" -"@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.7.4", "@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" +"@babel/template@^7.10.4", "@babel/template@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.7.tgz#c817233696018e39fbb6c491d2fb684e05ed43bc" + integrity sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/parser" "^7.12.7" + "@babel/types" "^7.12.7" + +"@babel/traverse@^7.10.4", "@babel/traverse@^7.12.1", "@babel/traverse@^7.12.5", "@babel/traverse@^7.12.9", "@babel/traverse@^7.9.0": + version "7.12.9" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.9.tgz#fad26c972eabbc11350e0b695978de6cc8e8596f" + integrity sha512-iX9ajqnLdoU1s1nHt36JDI9KG4k+vmI8WgjK5d+aDTwQbL2fUnzedNedssA645Ede3PM2ma1n8Q4h2ohwXgMXw== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.12.5" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.11.0" + "@babel/parser" "^7.12.7" + "@babel/types" "^7.12.7" debug "^4.1.0" globals "^11.1.0" - lodash "^4.17.13" + lodash "^4.17.19" -"@babel/types@^7.4.4", "@babel/types@^7.7.4", "@babel/types@^7.8.3", "@babel/types@^7.8.6", "@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== +"@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.12.1", "@babel/types@^7.12.5", "@babel/types@^7.12.7", "@babel/types@^7.4.4", "@babel/types@^7.8.3", "@babel/types@^7.9.0": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.7.tgz#6039ff1e242640a29452c9ae572162ec9a8f5d13" + integrity sha512-MNyI92qZq6jrQkXvtIiykvl4WtoRrVV9MPn+ZfsoEENjiWcBQ3ZSHrkxnJWgWtLX3XXqX5hrSQ+X69wkmesXuQ== dependencies: - "@babel/helper-validator-identifier" "^7.9.0" - lodash "^4.17.13" + "@babel/helper-validator-identifier" "^7.10.4" + lodash "^4.17.19" to-fast-properties "^2.0.0" "@mrmlnc/readdir-enhanced@^2.2.1": @@ -1113,18 +1231,18 @@ autolinker@~0.28.0: dependencies: gulp-header "^1.7.1" -autoprefixer@^9.7.2: - version "9.7.5" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.7.5.tgz#8df10b9ff9b5814a8d411a5cfbab9c793c392376" - integrity sha512-URo6Zvt7VYifomeAfJlMFnYDhow1rk2bufwkbamPEAtQFcL11moLk4PnR7n9vlu7M+BkXAZkHFA0mIcY7tjQFg== +autoprefixer@^9.7.5: + version "9.8.6" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" + integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg== dependencies: - browserslist "^4.11.0" - caniuse-lite "^1.0.30001036" - chalk "^2.4.2" + browserslist "^4.12.0" + caniuse-lite "^1.0.30001109" + colorette "^1.2.1" normalize-range "^0.1.2" num2fraction "^1.2.2" - postcss "^7.0.27" - postcss-value-parser "^4.0.3" + postcss "^7.0.32" + postcss-value-parser "^4.1.0" aws-sign2@~0.7.0: version "0.7.0" @@ -1145,10 +1263,10 @@ babel-code-frame@^6.22.0: esutils "^2.0.2" js-tokens "^3.0.2" -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== +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== dependencies: object.assign "^4.1.0" @@ -1324,7 +1442,7 @@ browserslist@4.7.0: electron-to-chromium "^1.3.247" node-releases "^1.1.29" -browserslist@^4.0.0, browserslist@^4.11.0, browserslist@^4.8.3, browserslist@^4.9.1: +browserslist@^4.0.0: version "4.11.0" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.11.0.tgz#aef4357b10a8abda00f97aac7cd587b2082ba1ad" integrity sha512-WqEC7Yr5wUH5sg6ruR++v2SGOQYpyUdYYd4tZoAq1F7y+QXoLoYGXVbxhtaIqWmAJjtNTRjVD3HuJc1OXTel2A== @@ -1334,6 +1452,17 @@ browserslist@^4.0.0, browserslist@^4.11.0, browserslist@^4.8.3, browserslist@^4. node-releases "^1.1.52" pkg-up "^3.1.0" +browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.14.7: + version "4.15.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.15.0.tgz#3d48bbca6a3f378e86102ffd017d9a03f122bdb0" + integrity sha512-IJ1iysdMkGmjjYeRlDU8PQejVwxvVO5QOfXH7ylW31GO6LwNRSmm/SgRXtNsEXqMLl2e+2H5eEJ7sfynF8TCaQ== + dependencies: + caniuse-lite "^1.0.30001164" + colorette "^1.2.1" + electron-to-chromium "^1.3.612" + escalade "^3.1.1" + node-releases "^1.1.67" + buffer-alloc-unsafe@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" @@ -1455,11 +1584,16 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000989, caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001036: +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000989, caniuse-lite@^1.0.30001035: version "1.0.30001037" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001037.tgz#cf666560b14f8dfa18abc235db1ef2699273af6e" integrity sha512-qQP40FzWQ1i9RTjxppOUnpM8OwTBFL5DQbjoR9Az32EtM7YUZOw9orFO6rj1C+xWAGzz+X3bUe09Jf5Ep+zpuA== +caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001164: + version "1.0.30001164" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001164.tgz#5bbfd64ca605d43132f13cc7fdabb17c3036bfdc" + integrity sha512-G+A/tkf4bu0dSp9+duNiXc7bGds35DioCyC6vgK2m/rjA4Krpy5WeZgZyfH2f0wj2kI6yAWWucyap6oOwmY1mg== + caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -1654,6 +1788,11 @@ color@^3.0.0: color-convert "^1.9.1" color-string "^1.5.2" +colorette@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" + integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== + 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" @@ -1755,12 +1894,12 @@ copy-descriptor@^0.1.0: 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== +core-js-compat@^3.7.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.8.0.tgz#3248c6826f4006793bd637db608bca6e4cd688b1" + integrity sha512-o9QKelQSxQMYWHXc/Gc4L8bx/4F7TTraE5rhuN8I7mKBt5dBIUpXpIR3omv70ebr8ST5R3PqbDQr+ZI3+Tt1FQ== dependencies: - browserslist "^4.8.3" + browserslist "^4.14.7" semver "7.0.0" core-js@^2.6.5: @@ -2143,21 +2282,21 @@ dir-glob@2.0.0: arrify "^1.0.1" path-type "^3.0.0" -docusaurus@^1.14.4: - version "1.14.4" - resolved "https://registry.yarnpkg.com/docusaurus/-/docusaurus-1.14.4.tgz#1ef3ebe8c2aaaf1dec6c2e0e177e83be78aeaca3" - integrity sha512-KALmrlZBc0E+AB0ITR4POGKv8WcrcSSxvmgq7nC3TdpS+S2hrlXN/2tV3tVOZ8q8m+zhcMs7l9mAIhGFQyQwIw== - dependencies: - "@babel/core" "^7.7.4" - "@babel/plugin-proposal-class-properties" "^7.7.4" - "@babel/plugin-proposal-object-rest-spread" "^7.7.4" - "@babel/polyfill" "^7.7.0" - "@babel/preset-env" "^7.7.4" - "@babel/preset-react" "^7.7.4" - "@babel/register" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" - autoprefixer "^9.7.2" +docusaurus@^1.14.6: + version "1.14.6" + resolved "https://registry.yarnpkg.com/docusaurus/-/docusaurus-1.14.6.tgz#ffab9f6dafe8c48c477e0ebc7f491e554143b2b5" + integrity sha512-Hpo6xqYIHwazwuhXW25AKYv/os+dWoJ87qql/m1j1xp83h/BnfYV2l8PA8zLggF1wGUbJQbTx7GWo6QvD8z+4Q== + dependencies: + "@babel/core" "^7.9.0" + "@babel/plugin-proposal-class-properties" "^7.8.3" + "@babel/plugin-proposal-object-rest-spread" "^7.9.0" + "@babel/polyfill" "^7.8.7" + "@babel/preset-env" "^7.9.0" + "@babel/preset-react" "^7.9.4" + "@babel/register" "^7.9.0" + "@babel/traverse" "^7.9.0" + "@babel/types" "^7.9.0" + autoprefixer "^9.7.5" babylon "^6.18.0" chalk "^3.0.0" classnames "^2.2.6" @@ -2188,7 +2327,7 @@ docusaurus@^1.14.4: react-dom "^16.8.4" remarkable "^2.0.0" request "^2.88.0" - shelljs "^0.8.3" + shelljs "^0.8.4" sitemap "^3.2.2" tcp-port-used "^1.0.1" tiny-lr "^1.1.1" @@ -2314,6 +2453,11 @@ electron-to-chromium@^1.3.247, electron-to-chromium@^1.3.380: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.384.tgz#ca1d5710a4c53168431f1cbef39c8a971b646bf8" integrity sha512-9jGNF78o450ymPf63n7/j1HrRAD4xGTsDkKY2X6jtCAWaYgph2A9xQjwfwRpj+AovkARMO+JfZuVCFTdandD6w== +electron-to-chromium@^1.3.612: + version "1.3.614" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.614.tgz#ff359e8d2249e2ce859a4c2bc34c22bd2e2eb0a2" + integrity sha512-JMDl46mg4G+n6q/hAJkwy9eMTj5FJjsE+8f/irAGRMLM4yeRVbMuRrdZrbbGGOrGVcZc4vJPjUpEUWNb/fA6hg== + "emoji-regex@>=6.0.0 <=6.1.1": version "6.1.1" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.1.1.tgz#c6cd0ec1b0642e2a3c67a1137efc5e796da4f88e" @@ -2386,6 +2530,11 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -3413,13 +3562,6 @@ into-stream@^3.1.0: from2 "^2.1.1" p-is-promise "^1.1.0" -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" @@ -3897,18 +4039,6 @@ lazy-cache@^2.0.2: dependencies: set-getter "^0.1.0" -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" - list-item@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/list-item/-/list-item-1.1.1.tgz#0c65d00e287cb663ccb3cb3849a77e89ec268a56" @@ -4065,10 +4195,10 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@~4.17.12: - version "4.17.19" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" - integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== +lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@~4.17.12: + version "4.17.20" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== logalot@^2.0.0: version "2.1.0" @@ -4083,7 +4213,7 @@ longest@^1.0.0: resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" integrity sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc= -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.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== @@ -4374,6 +4504,11 @@ node-releases@^1.1.29, node-releases@^1.1.52: dependencies: semver "^6.3.0" +node-releases@^1.1.67: + version "1.1.67" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.67.tgz#28ebfcccd0baa6aad8e8d4d8fe4cbc49ae239c12" + integrity sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg== + normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -5099,15 +5234,20 @@ postcss-value-parser@^3.0.0: 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.2, postcss-value-parser@^4.0.3: +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@^7.0.0, postcss@^7.0.1, postcss@^7.0.23, postcss@^7.0.27: - version "7.0.27" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.27.tgz#cc67cdc6b0daa375105b7c424a85567345fc54d9" - integrity sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ== +postcss-value-parser@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" + integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== + +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.23, postcss@^7.0.27, postcss@^7.0.32: + version "7.0.35" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" + integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== dependencies: chalk "^2.4.2" source-map "^0.6.1" @@ -5426,6 +5566,18 @@ regexpu-core@^4.7.0: unicode-match-property-ecmascript "^1.0.4" unicode-match-property-value-ecmascript "^1.2.0" +regexpu-core@^4.7.1: + version "4.7.1" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" + integrity sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ== + 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" @@ -5732,10 +5884,10 @@ shell-quote@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== -shelljs@^0.8.3: - version "0.8.3" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.3.tgz#a7f3319520ebf09ee81275b2368adb286659b097" - integrity sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A== +shelljs@^0.8.4: + version "0.8.4" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.4.tgz#de7684feeb767f8716b326078a8a00875890e3c2" + integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ== dependencies: glob "^7.0.0" interpret "^1.0.0" From ee2a561431bb0da91b869d89ab7d82f00f49e1ab Mon Sep 17 00:00:00 2001 From: Fabrizio Fortino Date: Wed, 9 Dec 2020 13:46:31 +0100 Subject: [PATCH 17/53] feat(node): add Scala programming language (#373) * Add Scala programming language * optmize png * remove transparent mark * remove transparent mark --- diagrams/programming/language.py | 4 ++++ docs/nodes/programming.md | 1 + resources/programming/language/scala.png | Bin 0 -> 4830 bytes 3 files changed, 5 insertions(+) create mode 100644 resources/programming/language/scala.png diff --git a/diagrams/programming/language.py b/diagrams/programming/language.py index 7dc4da95..48f11a7f 100644 --- a/diagrams/programming/language.py +++ b/diagrams/programming/language.py @@ -80,6 +80,10 @@ class Rust(_Language): _icon = "rust.png" +class Scala(_Language): + _icon = "scala.png" + + class Swift(_Language): _icon = "swift.png" diff --git a/docs/nodes/programming.md b/docs/nodes/programming.md index 86c07b70..4a5cc9ea 100644 --- a/docs/nodes/programming.md +++ b/docs/nodes/programming.md @@ -39,5 +39,6 @@ Node classes list of programming provider. - **diagrams.programming.language.R** - **diagrams.programming.language.Ruby** - **diagrams.programming.language.Rust** +- **diagrams.programming.language.Scala** - **diagrams.programming.language.Swift** - **diagrams.programming.language.Typescript**, **TypeScript** (alias) diff --git a/resources/programming/language/scala.png b/resources/programming/language/scala.png new file mode 100644 index 0000000000000000000000000000000000000000..b77d72317d2eaa0f8e10844af63127baa091349f GIT binary patch literal 4830 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 a2&4iI4|m4-BHqsb%m~`XTICu}kN*eZXh1Ol literal 0 HcmV?d00001 From af0caf22d1b0c6f5d2211a722876118a0633e71d Mon Sep 17 00:00:00 2001 From: Thies Broetje Date: Wed, 9 Dec 2020 14:14:17 +0100 Subject: [PATCH 18/53] feat(node): added nextcloud, bitwarden, boundary and ambassador (#363) * added bitwarden * add hashicorp boundary * add ambassador edge stack * add nextcloud and groupware category * docs update Co-authored-by: Thies B --- diagrams/onprem/auth.py | 4 ++++ diagrams/onprem/groupware.py | 15 +++++++++++++++ diagrams/onprem/network.py | 4 ++++ diagrams/onprem/security.py | 4 ++++ docs/nodes/onprem.md | 7 +++++++ resources/onprem/auth/boundary.png | Bin 0 -> 11389 bytes resources/onprem/groupware/nextcloud.png | Bin 0 -> 12291 bytes resources/onprem/network/ambassador.png | Bin 0 -> 19548 bytes resources/onprem/security/bitwarden.png | Bin 0 -> 3288 bytes 9 files changed, 34 insertions(+) create mode 100644 diagrams/onprem/groupware.py create mode 100644 resources/onprem/auth/boundary.png create mode 100644 resources/onprem/groupware/nextcloud.png create mode 100644 resources/onprem/network/ambassador.png create mode 100644 resources/onprem/security/bitwarden.png diff --git a/diagrams/onprem/auth.py b/diagrams/onprem/auth.py index 1ece9e76..dc98f688 100644 --- a/diagrams/onprem/auth.py +++ b/diagrams/onprem/auth.py @@ -8,6 +8,10 @@ class _Auth(_OnPrem): _icon_dir = "resources/onprem/auth" +class Boundary(_Auth): + _icon = "boundary.png" + + class BuzzfeedSso(_Auth): _icon = "buzzfeed-sso.png" diff --git a/diagrams/onprem/groupware.py b/diagrams/onprem/groupware.py new file mode 100644 index 00000000..11e02dc4 --- /dev/null +++ b/diagrams/onprem/groupware.py @@ -0,0 +1,15 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _OnPrem + + +class _Groupware(_OnPrem): + _type = "groupware" + _icon_dir = "resources/onprem/groupware" + + +class Nextcloud(_Groupware): + _icon = "nextcloud.png" + + +# Aliases diff --git a/diagrams/onprem/network.py b/diagrams/onprem/network.py index ae91ea4f..b7e162a6 100644 --- a/diagrams/onprem/network.py +++ b/diagrams/onprem/network.py @@ -8,6 +8,10 @@ class _Network(_OnPrem): _icon_dir = "resources/onprem/network" +class Ambassador(_Network): + _icon = "ambassador.png" + + class Apache(_Network): _icon = "apache.png" diff --git a/diagrams/onprem/security.py b/diagrams/onprem/security.py index f85bac66..d0447421 100644 --- a/diagrams/onprem/security.py +++ b/diagrams/onprem/security.py @@ -8,6 +8,10 @@ class _Security(_OnPrem): _icon_dir = "resources/onprem/security" +class Bitwarden(_Security): + _icon = "bitwarden.png" + + class Trivy(_Security): _icon = "trivy.png" diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index f93f70be..26fe0f0a 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -27,6 +27,7 @@ Node classes list of onprem provider. ## onprem.auth +- **diagrams.onprem.auth.Boundary** - **diagrams.onprem.auth.BuzzfeedSso** - **diagrams.onprem.auth.Oauth2Proxy** @@ -110,6 +111,10 @@ Node classes list of onprem provider. - **diagrams.onprem.gitops.Flagger** - **diagrams.onprem.gitops.Flux** +## onprem.groupware + +- **diagrams.onprem.groupware.Nextcloud** + ## onprem.iac - **diagrams.onprem.iac.Ansible** @@ -154,6 +159,7 @@ Node classes list of onprem provider. ## onprem.network +- **diagrams.onprem.network.Ambassador** - **diagrams.onprem.network.Apache** - **diagrams.onprem.network.Bind9** - **diagrams.onprem.network.Caddy** @@ -201,6 +207,7 @@ Node classes list of onprem provider. ## onprem.security +- **diagrams.onprem.security.Bitwarden** - **diagrams.onprem.security.Trivy** - **diagrams.onprem.security.Vault** diff --git a/resources/onprem/auth/boundary.png b/resources/onprem/auth/boundary.png new file mode 100644 index 0000000000000000000000000000000000000000..d5751ae43084aa68ed1a550319d74d5004b15bb7 GIT binary patch literal 11389 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 KiRIkVdGyYKxQ?)_=b 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 JOU}8+{vC&!DINd- literal 0 HcmV?d00001 From 89414b1726f1696b8e04fa88fd75ba6aa630b067 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 24 Dec 2020 21:53:30 +0900 Subject: [PATCH 19/53] chore(deps): bump graphviz from 0.13.2 to 0.15 (#392) Bumps [graphviz](https://github.com/xflr6/graphviz) from 0.13.2 to 0.15. - [Release notes](https://github.com/xflr6/graphviz/releases) - [Changelog](https://github.com/xflr6/graphviz/blob/master/CHANGES.txt) - [Commits](https://github.com/xflr6/graphviz/compare/0.13.2...0.15) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 217 ++++++++++++++++++++++++------------------------- pyproject.toml | 2 +- 2 files changed, 109 insertions(+), 110 deletions(-) diff --git a/poetry.lock b/poetry.lock index 82a9434e..1de01897 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,43 +1,40 @@ [[package]] -category = "dev" -description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." name = "appdirs" +version = "1.4.3" +description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +category = "dev" optional = false python-versions = "*" -version = "1.4.3" [[package]] -category = "dev" -description = "An abstract syntax tree for Python with inference support." name = "astroid" +version = "2.3.3" +description = "An abstract syntax tree for Python with inference support." +category = "dev" optional = false python-versions = ">=3.5.*" -version = "2.3.3" [package.dependencies] lazy-object-proxy = ">=1.4.0,<1.5.0" six = ">=1.12,<2.0" +typed-ast = {version = ">=1.4.0,<1.5", markers = "implementation_name == \"cpython\" and python_version < \"3.8\""} wrapt = ">=1.11.0,<1.12.0" -[package.dependencies.typed-ast] -python = "<3.8" -version = ">=1.4.0,<1.5" - [[package]] -category = "dev" -description = "Atomic file writes." name = "atomicwrites" +version = "1.3.0" +description = "Atomic file writes." +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "1.3.0" [[package]] -category = "dev" -description = "Classes Without Boilerplate" name = "attrs" +version = "19.3.0" +description = "Classes Without Boilerplate" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "19.3.0" [package.extras] azure-pipelines = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "pytest-azurepipelines"] @@ -46,12 +43,12 @@ docs = ["sphinx", "zope.interface"] tests = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface"] [[package]] -category = "dev" -description = "The uncompromising code formatter." name = "black" +version = "19.10b0" +description = "The uncompromising code formatter." +category = "dev" optional = false python-versions = ">=3.6" -version = "19.10b0" [package.dependencies] appdirs = "*" @@ -66,64 +63,60 @@ typed-ast = ">=1.4.0" d = ["aiohttp (>=3.3.2)", "aiohttp-cors"] [[package]] -category = "dev" -description = "Composable command line interface toolkit" name = "click" +version = "7.0" +description = "Composable command line interface toolkit" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "7.0" [[package]] -category = "dev" -description = "Cross-platform colored terminal text." -marker = "sys_platform == \"win32\"" name = "colorama" +version = "0.4.3" +description = "Cross-platform colored terminal text." +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "0.4.3" [[package]] -category = "main" -description = "PEP 567 Backport" -marker = "python_version >= \"3.6\" and python_version < \"3.7\"" name = "contextvars" +version = "2.4" +description = "PEP 567 Backport" +category = "main" optional = false python-versions = "*" -version = "2.4" [package.dependencies] immutables = ">=0.9" [[package]] -category = "main" -description = "Simple Python interface for Graphviz" name = "graphviz" +version = "0.15" +description = "Simple Python interface for Graphviz" +category = "main" optional = false -python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*" -version = "0.13.2" +python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*" [package.extras] -dev = ["tox (>=3.0)", "flake8", "pep8-naming", "wheel", "twine"] -docs = ["sphinx (>=1.7)", "sphinx-rtd-theme"] -test = ["mock (>=2)", "pytest (>=3.4,<3.10.0 || >3.10.0)", "pytest-mock (>=1.8)", "pytest-cov"] +dev = ["tox (>=3)", "flake8", "pep8-naming", "wheel", "twine"] +docs = ["sphinx (>=1.8)", "sphinx-rtd-theme"] +test = ["mock (>=3)", "pytest (>=4)", "pytest-mock (>=2)", "pytest-cov"] [[package]] -category = "main" -description = "Immutable Collections" -marker = "python_version >= \"3.6\" and python_version < \"3.7\"" name = "immutables" +version = "0.11" +description = "Immutable Collections" +category = "main" optional = false python-versions = "*" -version = "0.11" [[package]] -category = "dev" -description = "Read metadata from Python packages" -marker = "python_version < \"3.8\"" name = "importlib-metadata" +version = "1.5.0" +description = "Read metadata from Python packages" +category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" -version = "1.5.0" [package.dependencies] zipp = ">=0.5" @@ -133,12 +126,12 @@ docs = ["sphinx", "rst.linker"] testing = ["packaging", "importlib-resources"] [[package]] -category = "dev" -description = "A Python utility / library to sort Python imports." name = "isort" +version = "4.3.21" +description = "A Python utility / library to sort Python imports." +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "4.3.21" [package.extras] pipfile = ["pipreqs", "requirementslib"] @@ -147,12 +140,12 @@ requirements = ["pipreqs", "pip-api"] xdg_home = ["appdirs (>=1.4.0)"] [[package]] -category = "main" -description = "A very fast and expressive template engine." name = "jinja2" +version = "2.11.1" +description = "A very fast and expressive template engine." +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "2.11.1" [package.dependencies] MarkupSafe = ">=0.23" @@ -161,165 +154,162 @@ MarkupSafe = ">=0.23" i18n = ["Babel (>=0.8)"] [[package]] -category = "dev" -description = "A fast and thorough lazy object proxy." name = "lazy-object-proxy" +version = "1.4.3" +description = "A fast and thorough lazy object proxy." +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "1.4.3" [[package]] -category = "main" -description = "Safely add untrusted strings to HTML/XML markup." name = "markupsafe" +version = "1.1.1" +description = "Safely add untrusted strings to HTML/XML markup." +category = "main" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*" -version = "1.1.1" [[package]] -category = "dev" -description = "McCabe checker, plugin for flake8" name = "mccabe" +version = "0.6.1" +description = "McCabe checker, plugin for flake8" +category = "dev" optional = false python-versions = "*" -version = "0.6.1" [[package]] -category = "dev" -description = "More routines for operating on iterables, beyond itertools" name = "more-itertools" +version = "8.2.0" +description = "More routines for operating on iterables, beyond itertools" +category = "dev" optional = false python-versions = ">=3.5" -version = "8.2.0" [[package]] -category = "dev" -description = "Utility library for gitignore style pattern matching of file paths." name = "pathspec" +version = "0.7.0" +description = "Utility library for gitignore style pattern matching of file paths." +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "0.7.0" [[package]] -category = "dev" -description = "plugin and hook calling mechanisms for python" name = "pluggy" +version = "0.13.1" +description = "plugin and hook calling mechanisms for python" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "0.13.1" [package.dependencies] -[package.dependencies.importlib-metadata] -python = "<3.8" -version = ">=0.12" +importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} [package.extras] dev = ["pre-commit", "tox"] [[package]] -category = "dev" -description = "library with cross-python path, ini-parsing, io, code, log facilities" name = "py" +version = "1.8.1" +description = "library with cross-python path, ini-parsing, io, code, log facilities" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "1.8.1" [[package]] -category = "dev" -description = "python code static checker" name = "pylint" +version = "2.4.4" +description = "python code static checker" +category = "dev" optional = false python-versions = ">=3.5.*" -version = "2.4.4" [package.dependencies] astroid = ">=2.3.0,<2.4" -colorama = "*" +colorama = {version = "*", markers = "sys_platform == \"win32\""} isort = ">=4.2.5,<5" mccabe = ">=0.6,<0.7" [[package]] -category = "dev" -description = "pytest: simple powerful testing with Python" name = "pytest" +version = "3.10.1" +description = "pytest: simple powerful testing with Python" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "3.10.1" [package.dependencies] atomicwrites = ">=1.0" attrs = ">=17.4.0" -colorama = "*" +colorama = {version = "*", markers = "sys_platform == \"win32\""} more-itertools = ">=4.0.0" pluggy = ">=0.7" py = ">=1.5.0" -setuptools = "*" six = ">=1.10.0" [[package]] -category = "dev" -description = "Alternative regular expression module, to replace re." name = "regex" +version = "2020.2.20" +description = "Alternative regular expression module, to replace re." +category = "dev" optional = false python-versions = "*" -version = "2020.2.20" [[package]] -category = "dev" -description = "a python refactoring library..." name = "rope" +version = "0.14.0" +description = "a python refactoring library..." +category = "dev" optional = false python-versions = "*" -version = "0.14.0" [[package]] -category = "dev" -description = "Python 2 and 3 compatibility utilities" name = "six" +version = "1.14.0" +description = "Python 2 and 3 compatibility utilities" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" -version = "1.14.0" [[package]] -category = "dev" -description = "Python Library for Tom's Obvious, Minimal Language" name = "toml" +version = "0.10.0" +description = "Python Library for Tom's Obvious, Minimal Language" +category = "dev" optional = false python-versions = "*" -version = "0.10.0" [[package]] -category = "dev" -description = "a fork of Python 2 and 3 ast modules with type comment support" name = "typed-ast" +version = "1.4.1" +description = "a fork of Python 2 and 3 ast modules with type comment support" +category = "dev" optional = false python-versions = "*" -version = "1.4.1" [[package]] -category = "dev" -description = "Module for decorators, wrappers and monkey patching." name = "wrapt" +version = "1.11.2" +description = "Module for decorators, wrappers and monkey patching." +category = "dev" optional = false python-versions = "*" -version = "1.11.2" [[package]] -category = "dev" -description = "Backport of pathlib-compatible object wrapper for zip files" -marker = "python_version < \"3.8\"" name = "zipp" +version = "3.1.0" +description = "Backport of pathlib-compatible object wrapper for zip files" +category = "dev" optional = false python-versions = ">=3.6" -version = "3.1.0" [package.extras] docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"] testing = ["jaraco.itertools", "func-timeout"] [metadata] -content-hash = "da205efb5c35ed10116f51854f613a43fe000afa1341828bfd8cf3d6d58c4149" +lock-version = "1.1" python-versions = "^3.6" +content-hash = "1aaead8f312a9038265cc6b051bfc2ac0e5b164fb6882014c5342209705a7618" [metadata.files] appdirs = [ @@ -354,8 +344,8 @@ contextvars = [ {file = "contextvars-2.4.tar.gz", hash = "sha256:f38c908aaa59c14335eeea12abea5f443646216c4e29380d7bf34d2018e2c39e"}, ] graphviz = [ - {file = "graphviz-0.13.2-py2.py3-none-any.whl", hash = "sha256:241fb099e32b8e8c2acca747211c8237e40c0b89f24b1622860075d59f4c4b25"}, - {file = "graphviz-0.13.2.zip", hash = "sha256:60acbeee346e8c14555821eab57dbf68a169e6c10bce40e83c1bf44f63a62a01"}, + {file = "graphviz-0.15-py2.py3-none-any.whl", hash = "sha256:403b55553b235875fa521023a06d9c29b46f3a956f960d4e0a5b956bca9eb9ce"}, + {file = "graphviz-0.15.zip", hash = "sha256:2b85f105024e229ec330fe5067abbe9aa0d7708921a585ecc2bf56000bf5e027"}, ] immutables = [ {file = "immutables-0.11-cp35-cp35m-macosx_10_13_x86_64.whl", hash = "sha256:bce27277a2fe91509cca69181971ab509c2ee862e8b37b09f26b64f90e8fe8fb"}, @@ -518,19 +508,28 @@ typed-ast = [ {file = "typed_ast-1.4.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:269151951236b0f9a6f04015a9004084a5ab0d5f19b57de779f908621e7d8b75"}, {file = "typed_ast-1.4.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:24995c843eb0ad11a4527b026b4dde3da70e1f2d8806c99b7b4a7cf491612652"}, {file = "typed_ast-1.4.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:fe460b922ec15dd205595c9b5b99e2f056fd98ae8f9f56b888e7a17dc2b757e7"}, + {file = "typed_ast-1.4.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:fcf135e17cc74dbfbc05894ebca928ffeb23d9790b3167a674921db19082401f"}, {file = "typed_ast-1.4.1-cp36-cp36m-win32.whl", hash = "sha256:4e3e5da80ccbebfff202a67bf900d081906c358ccc3d5e3c8aea42fdfdfd51c1"}, {file = "typed_ast-1.4.1-cp36-cp36m-win_amd64.whl", hash = "sha256:249862707802d40f7f29f6e1aad8d84b5aa9e44552d2cc17384b209f091276aa"}, {file = "typed_ast-1.4.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8ce678dbaf790dbdb3eba24056d5364fb45944f33553dd5869b7580cdbb83614"}, {file = "typed_ast-1.4.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:c9e348e02e4d2b4a8b2eedb48210430658df6951fa484e59de33ff773fbd4b41"}, {file = "typed_ast-1.4.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:bcd3b13b56ea479b3650b82cabd6b5343a625b0ced5429e4ccad28a8973f301b"}, + {file = "typed_ast-1.4.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:f208eb7aff048f6bea9586e61af041ddf7f9ade7caed625742af423f6bae3298"}, {file = "typed_ast-1.4.1-cp37-cp37m-win32.whl", hash = "sha256:d5d33e9e7af3b34a40dc05f498939f0ebf187f07c385fd58d591c533ad8562fe"}, {file = "typed_ast-1.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:0666aa36131496aed8f7be0410ff974562ab7eeac11ef351def9ea6fa28f6355"}, {file = "typed_ast-1.4.1-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:d205b1b46085271b4e15f670058ce182bd1199e56b317bf2ec004b6a44f911f6"}, {file = "typed_ast-1.4.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:6daac9731f172c2a22ade6ed0c00197ee7cc1221aa84cfdf9c31defeb059a907"}, {file = "typed_ast-1.4.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:498b0f36cc7054c1fead3d7fc59d2150f4d5c6c56ba7fb150c013fbc683a8d2d"}, + {file = "typed_ast-1.4.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:7e4c9d7658aaa1fc80018593abdf8598bf91325af6af5cce4ce7c73bc45ea53d"}, {file = "typed_ast-1.4.1-cp38-cp38-win32.whl", hash = "sha256:715ff2f2df46121071622063fc7543d9b1fd19ebfc4f5c8895af64a77a8c852c"}, {file = "typed_ast-1.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:fc0fea399acb12edbf8a628ba8d2312f583bdbdb3335635db062fa98cf71fca4"}, {file = "typed_ast-1.4.1-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:d43943ef777f9a1c42bf4e552ba23ac77a6351de620aa9acf64ad54933ad4d34"}, + {file = "typed_ast-1.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:92c325624e304ebf0e025d1224b77dd4e6393f18aab8d829b5b7e04afe9b7a2c"}, + {file = "typed_ast-1.4.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:d648b8e3bf2fe648745c8ffcee3db3ff903d0817a01a12dd6a6ea7a8f4889072"}, + {file = "typed_ast-1.4.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:fac11badff8313e23717f3dada86a15389d0708275bddf766cca67a84ead3e91"}, + {file = "typed_ast-1.4.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:0d8110d78a5736e16e26213114a38ca35cb15b6515d535413b090bd50951556d"}, + {file = "typed_ast-1.4.1-cp39-cp39-win32.whl", hash = "sha256:b52ccf7cfe4ce2a1064b18594381bccf4179c2ecf7f513134ec2f993dd4ab395"}, + {file = "typed_ast-1.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:3742b32cf1c6ef124d57f95be609c473d7ec4c14d0090e5a5e05a15269fb4d0c"}, {file = "typed_ast-1.4.1.tar.gz", hash = "sha256:8c8aaad94455178e3187ab22c8b01a3837f8ee50e09cf31f1ba129eb293ec30b"}, ] wrapt = [ diff --git a/pyproject.toml b/pyproject.toml index fceb2776..7008e507 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,7 +11,7 @@ include = ["resources/**/*"] [tool.poetry.dependencies] python = "^3.6" -graphviz = "^0.13.2" +graphviz = ">=0.13.2,<0.16.0" jinja2 = "^2.10" contextvars = { version = "^2.4", python = "~3.6" } From 62562ea5d07f6b35f92ab14d3e5765577ad29f01 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 24 Dec 2020 21:57:22 +0900 Subject: [PATCH 20/53] chore(deps-dev): bump pytest from 3.10.1 to 6.2.1 (#414) Bumps [pytest](https://github.com/pytest-dev/pytest) from 3.10.1 to 6.2.1. - [Release notes](https://github.com/pytest-dev/pytest/releases) - [Changelog](https://github.com/pytest-dev/pytest/blob/master/CHANGELOG.rst) - [Commits](https://github.com/pytest-dev/pytest/compare/3.10.1...6.2.1) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 74 ++++++++++++++++++++++++++++++++++++-------------- pyproject.toml | 2 +- 2 files changed, 54 insertions(+), 22 deletions(-) diff --git a/poetry.lock b/poetry.lock index 1de01897..486f18a6 100644 --- a/poetry.lock +++ b/poetry.lock @@ -125,6 +125,14 @@ zipp = ">=0.5" docs = ["sphinx", "rst.linker"] testing = ["packaging", "importlib-resources"] +[[package]] +name = "iniconfig" +version = "1.1.1" +description = "iniconfig: brain-dead simple config-ini parsing" +category = "dev" +optional = false +python-versions = "*" + [[package]] name = "isort" version = "4.3.21" @@ -178,12 +186,15 @@ optional = false python-versions = "*" [[package]] -name = "more-itertools" -version = "8.2.0" -description = "More routines for operating on iterables, beyond itertools" +name = "packaging" +version = "20.8" +description = "Core utilities for Python packages" category = "dev" optional = false -python-versions = ">=3.5" +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[package.dependencies] +pyparsing = ">=2.0.2" [[package]] name = "pathspec" @@ -209,7 +220,7 @@ dev = ["pre-commit", "tox"] [[package]] name = "py" -version = "1.8.1" +version = "1.10.0" description = "library with cross-python path, ini-parsing, io, code, log facilities" category = "dev" optional = false @@ -229,22 +240,35 @@ colorama = {version = "*", markers = "sys_platform == \"win32\""} isort = ">=4.2.5,<5" mccabe = ">=0.6,<0.7" +[[package]] +name = "pyparsing" +version = "2.4.7" +description = "Python parsing module" +category = "dev" +optional = false +python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" + [[package]] name = "pytest" -version = "3.10.1" +version = "6.2.1" description = "pytest: simple powerful testing with Python" category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = ">=3.6" [package.dependencies] -atomicwrites = ">=1.0" -attrs = ">=17.4.0" +atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} +attrs = ">=19.2.0" colorama = {version = "*", markers = "sys_platform == \"win32\""} -more-itertools = ">=4.0.0" -pluggy = ">=0.7" -py = ">=1.5.0" -six = ">=1.10.0" +importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} +iniconfig = "*" +packaging = "*" +pluggy = ">=0.12,<1.0.0a1" +py = ">=1.8.2" +toml = "*" + +[package.extras] +testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"] [[package]] name = "regex" @@ -309,7 +333,7 @@ testing = ["jaraco.itertools", "func-timeout"] [metadata] lock-version = "1.1" python-versions = "^3.6" -content-hash = "1aaead8f312a9038265cc6b051bfc2ac0e5b164fb6882014c5342209705a7618" +content-hash = "eaea28dae44851f383c06f8bd558a612247dac283eba0a4de6cdc55ff6b98677" [metadata.files] appdirs = [ @@ -369,6 +393,10 @@ importlib-metadata = [ {file = "importlib_metadata-1.5.0-py2.py3-none-any.whl", hash = "sha256:b97607a1a18a5100839aec1dc26a1ea17ee0d93b20b0f008d80a5a050afb200b"}, {file = "importlib_metadata-1.5.0.tar.gz", hash = "sha256:06f5b3a99029c7134207dd882428a66992a9de2bef7c2b699b5641f9886c3302"}, ] +iniconfig = [ + {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"}, + {file = "iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"}, +] isort = [ {file = "isort-4.3.21-py2.py3-none-any.whl", hash = "sha256:6e811fcb295968434526407adb8796944f1988c5b65e8139058f2014cbe100fd"}, {file = "isort-4.3.21.tar.gz", hash = "sha256:54da7e92468955c4fceacd0c86bd0ec997b0e1ee80d97f67c35a78b719dccab1"}, @@ -439,9 +467,9 @@ mccabe = [ {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"}, ] -more-itertools = [ - {file = "more-itertools-8.2.0.tar.gz", hash = "sha256:b1ddb932186d8a6ac451e1d95844b382f55e12686d51ca0c68b6f61f2ab7a507"}, - {file = "more_itertools-8.2.0-py3-none-any.whl", hash = "sha256:5dd8bcf33e5f9513ffa06d5ad33d78f31e1931ac9a18f33d37e77a180d393a7c"}, +packaging = [ + {file = "packaging-20.8-py2.py3-none-any.whl", hash = "sha256:24e0da08660a87484d1602c30bb4902d74816b6985b93de36926f5bc95741858"}, + {file = "packaging-20.8.tar.gz", hash = "sha256:78598185a7008a470d64526a8059de9aaa449238f280fc9eb6b13ba6c4109093"}, ] pathspec = [ {file = "pathspec-0.7.0-py2.py3-none-any.whl", hash = "sha256:163b0632d4e31cef212976cf57b43d9fd6b0bac6e67c26015d611a647d5e7424"}, @@ -452,16 +480,20 @@ pluggy = [ {file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"}, ] py = [ - {file = "py-1.8.1-py2.py3-none-any.whl", hash = "sha256:c20fdd83a5dbc0af9efd622bee9a5564e278f6380fffcacc43ba6f43db2813b0"}, - {file = "py-1.8.1.tar.gz", hash = "sha256:5e27081401262157467ad6e7f851b7aa402c5852dbcb3dae06768434de5752aa"}, + {file = "py-1.10.0-py2.py3-none-any.whl", hash = "sha256:3b80836aa6d1feeaa108e046da6423ab8f6ceda6468545ae8d02d9d58d18818a"}, + {file = "py-1.10.0.tar.gz", hash = "sha256:21b81bda15b66ef5e1a777a21c4dcd9c20ad3efd0b3f817e7a809035269e1bd3"}, ] pylint = [ {file = "pylint-2.4.4-py3-none-any.whl", hash = "sha256:886e6afc935ea2590b462664b161ca9a5e40168ea99e5300935f6591ad467df4"}, {file = "pylint-2.4.4.tar.gz", hash = "sha256:3db5468ad013380e987410a8d6956226963aed94ecb5f9d3a28acca6d9ac36cd"}, ] +pyparsing = [ + {file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"}, + {file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"}, +] pytest = [ - {file = "pytest-3.10.1-py2.py3-none-any.whl", hash = "sha256:3f193df1cfe1d1609d4c583838bea3d532b18d6160fd3f55c9447fdca30848ec"}, - {file = "pytest-3.10.1.tar.gz", hash = "sha256:e246cf173c01169b9617fc07264b7b1316e78d7a650055235d6d897bc80d9660"}, + {file = "pytest-6.2.1-py3-none-any.whl", hash = "sha256:1969f797a1a0dbd8ccf0fecc80262312729afea9c17f1d70ebf85c5e76c6f7c8"}, + {file = "pytest-6.2.1.tar.gz", hash = "sha256:66e419b1899bc27346cb2c993e12c5e5e8daba9073c1fbce33b9807abc95c306"}, ] regex = [ {file = "regex-2020.2.20-cp27-cp27m-win32.whl", hash = "sha256:99272d6b6a68c7ae4391908fc15f6b8c9a6c345a46b632d7fdb7ef6c883a2bbb"}, diff --git a/pyproject.toml b/pyproject.toml index 7008e507..c31a9365 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,7 +16,7 @@ jinja2 = "^2.10" contextvars = { version = "^2.4", python = "~3.6" } [tool.poetry.dev-dependencies] -pytest = "^3.0" +pytest = "^6.2" pylint = "^2.4" black = {version = "^19.0", allow-prereleases = true} rope = "^0.14.0" From d7695712df0584cbb5e573b0140ca1df278a946e Mon Sep 17 00:00:00 2001 From: Arash Mousavi Date: Thu, 24 Dec 2020 16:32:02 +0330 Subject: [PATCH 21/53] feat: adding Presto, Apache Superset, Nextcloud Nodes (#327) * adding presto node to onperm.analytics prestosql and prestodb logos are same * adding presto logo to resource directory * git add Apache superset * adding nextcloud node --- diagrams/onprem/analytics.py | 8 ++++++++ diagrams/saas/filesharing.py | 15 +++++++++++++++ docs/nodes/onprem.md | 2 ++ docs/nodes/saas.md | 4 ++++ resources/onprem/analytics/presto.png | Bin 0 -> 13575 bytes resources/onprem/analytics/superset.png | Bin 0 -> 12715 bytes resources/saas/filesharing/nextcloud.png | Bin 0 -> 11592 bytes 7 files changed, 29 insertions(+) create mode 100644 diagrams/saas/filesharing.py create mode 100644 resources/onprem/analytics/presto.png create mode 100644 resources/onprem/analytics/superset.png create mode 100644 resources/saas/filesharing/nextcloud.png diff --git a/diagrams/onprem/analytics.py b/diagrams/onprem/analytics.py index 0cbb90bc..a62e4017 100644 --- a/diagrams/onprem/analytics.py +++ b/diagrams/onprem/analytics.py @@ -40,6 +40,10 @@ class Norikra(_Analytics): _icon = "norikra.png" +class Presto(_Analytics): + _icon = "presto.png" + + class Singer(_Analytics): _icon = "singer.png" @@ -52,6 +56,10 @@ class Storm(_Analytics): _icon = "storm.png" +class Superset(_Analytics): + _icon = "superset.png" + + class Tableau(_Analytics): _icon = "tableau.png" diff --git a/diagrams/saas/filesharing.py b/diagrams/saas/filesharing.py new file mode 100644 index 00000000..c17eef14 --- /dev/null +++ b/diagrams/saas/filesharing.py @@ -0,0 +1,15 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Saas + + +class _Filesharing(_Saas): + _type = "filesharing" + _icon_dir = "resources/saas/filesharing" + + +class Nextcloud(_Filesharing): + _icon = "nextcloud.png" + + +# Aliases diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index 26fe0f0a..f5122cb8 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -20,9 +20,11 @@ Node classes list of onprem provider. - **diagrams.onprem.analytics.Hive** - **diagrams.onprem.analytics.Metabase** - **diagrams.onprem.analytics.Norikra** +- **diagrams.onprem.analytics.Presto** - **diagrams.onprem.analytics.Singer** - **diagrams.onprem.analytics.Spark** - **diagrams.onprem.analytics.Storm** +- **diagrams.onprem.analytics.Superset** - **diagrams.onprem.analytics.Tableau** ## onprem.auth diff --git a/docs/nodes/saas.md b/docs/nodes/saas.md index 5cb0832b..36a60adc 100644 --- a/docs/nodes/saas.md +++ b/docs/nodes/saas.md @@ -29,6 +29,10 @@ Node classes list of saas provider. - **diagrams.saas.chat.Teams** - **diagrams.saas.chat.Telegram** +## saas.filesharing + +- **diagrams.saas.filesharing.Nextcloud** + ## saas.identity - **diagrams.saas.identity.Auth0** diff --git a/resources/onprem/analytics/presto.png b/resources/onprem/analytics/presto.png new file mode 100644 index 0000000000000000000000000000000000000000..7d97519696776587fbcc5b3aaf90d8111d3107f5 GIT binary patch literal 13575 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 ZZ{z#FGoV-SPQNk$R1`GiYh^7${~vKgYeWD5 literal 0 HcmV?d00001 diff --git a/resources/onprem/analytics/superset.png b/resources/onprem/analytics/superset.png new file mode 100644 index 0000000000000000000000000000000000000000..e5272ac7584dd504338307c0f3eca69e05d4eecc GIT binary patch literal 12715 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 literal 0 HcmV?d00001 From 4f36e62073eb02ce90c8d56669ce25bc0179c021 Mon Sep 17 00:00:00 2001 From: Nathan Zender Date: Wed, 30 Dec 2020 13:48:41 -0500 Subject: [PATCH 22/53] feat(node): add Micronaut (#333) --- diagrams/programming/framework.py | 4 ++++ docs/nodes/programming.md | 1 + resources/programming/framework/micronaut.png | Bin 0 -> 27715 bytes 3 files changed, 5 insertions(+) create mode 100644 resources/programming/framework/micronaut.png diff --git a/diagrams/programming/framework.py b/diagrams/programming/framework.py index 410a53a2..48929c1d 100644 --- a/diagrams/programming/framework.py +++ b/diagrams/programming/framework.py @@ -36,6 +36,10 @@ class Laravel(_Framework): _icon = "laravel.png" +class Micronaut(_Framework): + _icon = "micronaut.png" + + class Rails(_Framework): _icon = "rails.png" diff --git a/docs/nodes/programming.md b/docs/nodes/programming.md index 4a5cc9ea..8240515b 100644 --- a/docs/nodes/programming.md +++ b/docs/nodes/programming.md @@ -14,6 +14,7 @@ Node classes list of programming provider. - **diagrams.programming.framework.Flask** - **diagrams.programming.framework.Flutter** - **diagrams.programming.framework.Laravel** +- **diagrams.programming.framework.Micronaut** - **diagrams.programming.framework.Rails** - **diagrams.programming.framework.React** - **diagrams.programming.framework.Spring** diff --git a/resources/programming/framework/micronaut.png b/resources/programming/framework/micronaut.png new file mode 100644 index 0000000000000000000000000000000000000000..9bdc9780647a1bc001df786cc5151de7af4d0970 GIT binary patch literal 27715 zcmV*kKuf=gP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 Ms;CLBm$wN2AGP2iqyPW_ literal 0 HcmV?d00001 From d4ff082f51421613211c4f0daac13286e1f81891 Mon Sep 17 00:00:00 2001 From: Michael Lavers Date: Wed, 30 Dec 2020 10:58:47 -0800 Subject: [PATCH 23/53] feat(node): add New Relic Provider (#340) --- config.py | 1 + diagrams/onprem/monitoring.py | 4 ++++ diagrams/saas/alerting.py | 4 ++++ diagrams/saas/logging.py | 5 +++++ docs/nodes/onprem.md | 1 + docs/nodes/saas.md | 2 ++ resources/onprem/monitoring/newrelic.png | Bin 0 -> 25708 bytes resources/saas/alerting/newrelic.png | Bin 0 -> 25708 bytes resources/saas/logging/newrelic.png | Bin 0 -> 25708 bytes 9 files changed, 17 insertions(+) create mode 100644 resources/onprem/monitoring/newrelic.png create mode 100644 resources/saas/alerting/newrelic.png create mode 100644 resources/saas/logging/newrelic.png diff --git a/config.py b/config.py index 12fec10c..57c98307 100644 --- a/config.py +++ b/config.py @@ -402,6 +402,7 @@ ALIASES = { "saas": { "logging": { "Datadog": "DataDog", + "Newrelic": "NewRelic" } }, "elastic": { diff --git a/diagrams/onprem/monitoring.py b/diagrams/onprem/monitoring.py index 68b2fb41..b6f0d8ec 100644 --- a/diagrams/onprem/monitoring.py +++ b/diagrams/onprem/monitoring.py @@ -20,6 +20,10 @@ class Grafana(_Monitoring): _icon = "grafana.png" +class Newrelic(_Monitoring): + _icon = "newrelic.png" + + class PrometheusOperator(_Monitoring): _icon = "prometheus-operator.png" diff --git a/diagrams/saas/alerting.py b/diagrams/saas/alerting.py index bd64d8a2..0e3f65e1 100644 --- a/diagrams/saas/alerting.py +++ b/diagrams/saas/alerting.py @@ -8,6 +8,10 @@ class _Alerting(_Saas): _icon_dir = "resources/saas/alerting" +class Newrelic(_Alerting): + _icon = "newrelic.png" + + class Opsgenie(_Alerting): _icon = "opsgenie.png" diff --git a/diagrams/saas/logging.py b/diagrams/saas/logging.py index 8ae4a00b..fd8a28cd 100644 --- a/diagrams/saas/logging.py +++ b/diagrams/saas/logging.py @@ -12,6 +12,10 @@ class Datadog(_Logging): _icon = "datadog.png" +class Newrelic(_Logging): + _icon = "newrelic.png" + + class Papertrail(_Logging): _icon = "papertrail.png" @@ -19,3 +23,4 @@ class Papertrail(_Logging): # Aliases DataDog = Datadog +NewRelic = Newrelic diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index f5122cb8..08551d2f 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -152,6 +152,7 @@ Node classes list of onprem provider. - **diagrams.onprem.monitoring.Cortex** - **diagrams.onprem.monitoring.Datadog** - **diagrams.onprem.monitoring.Grafana** +- **diagrams.onprem.monitoring.Newrelic** - **diagrams.onprem.monitoring.PrometheusOperator** - **diagrams.onprem.monitoring.Prometheus** - **diagrams.onprem.monitoring.Sentry** diff --git a/docs/nodes/saas.md b/docs/nodes/saas.md index 36a60adc..146e93ca 100644 --- a/docs/nodes/saas.md +++ b/docs/nodes/saas.md @@ -7,6 +7,7 @@ Node classes list of saas provider. ## saas.alerting +- **diagrams.saas.alerting.Newrelic** - **diagrams.saas.alerting.Opsgenie** - **diagrams.saas.alerting.Pushover** @@ -41,6 +42,7 @@ Node classes list of saas provider. ## saas.logging - **diagrams.saas.logging.Datadog**, **DataDog** (alias) +- **diagrams.saas.logging.Newrelic**, **NewRelic** (alias) - **diagrams.saas.logging.Papertrail** ## saas.media diff --git a/resources/onprem/monitoring/newrelic.png b/resources/onprem/monitoring/newrelic.png new file mode 100644 index 0000000000000000000000000000000000000000..908ccd088a1b4b114aae2dcff0b456be53883270 GIT binary patch literal 25708 zcmY(q1yo!;@Ho0GwzykyC@zb;EM8jNrBIyW?hcC;*Wym0xDHLVtq}006KQ-^pqK00^%rU1ZR|49C0LwEx~{vR9wc#lB-e{l^2=KoCt1OOs! z07(Cv#^4qHhqC`y{9lMzfbjoHECBu=Y6L(5;{U+`Gyn0`WmV?B0yO7$`fdOKC;fjf zf_JH;=c_1v8!bI|J!K^kb0-H*Qwt|EOHOYG=l{3>V%{RJsDq`uDUG*-y`!6mw>aJZ zP>8(Z|22c@X#R)9-Av%^hM$v1`HpQ8W!{I7nx+gSa-njGE!w^^?Sg8%yh=H}!A|6kd!tYZJQ zim1BUSiWlhPrd}V*#A)e|Jwey9x?EL%Ktx|`Cpd)PwT6x66j*!|2u3F=t})e`Tzg~ zpeQS)<&ALGh1zPNU4K3O)LprkLl%)4LVHN@*7_}(ngkIMAz@<_9-{6=mK+{YUrewW zF(KhwkPK!(xwn5ohttZ=EDNcgKJnMdM_nNtoT?M>2b=yYZ{#;ou mP;{l! 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 mP;{l! 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 mP;{l! z&vX~nWpSzKiU0ofUYFSUx)dp=BlllVR?Zd#*IO@xQ;b=OmV{2HPv_nK8$h!a?%$~x?pq`gAY33?z;$+4xs<;l+Q?Z0qvz}hm*x@N6K!t- z16+(LV3NodNVNp5l6##j>R0}@cTjlT>7mtt^68eBU%gxk%>6VzI-4oK3nE6 zljReUcUaC9^*9?CIqb71+N5B6c6(ZTx+;b$I<96amk(Q6lk*R>2xUA}(f3Sg5*%Vo zTaO?AWN*s~m4@{tkAXRy5w|0x6W^rOCBr+jmXgwPW1Ro~>Cf$#3_n2z4k*zQ+|w}E zqbzL3HbqT#eh_H)@e0pv;~{62H}LRQ8IOaWK^^ENRcx*(KWZa$=T-jG+LqWhHcjS| z>%H(nJtU;Y)DBA?w(^tmB)G#|#7XT>*n+5$vQ@D-XX`7FGO0~F6cgjE{Uxp;;v}gd z0NH1fj#G54N-ew}E6$;ci$ysW7Wb>ms|%~EtSjZxDVGCRx>f|IY%)5d?;y>&e7RA` ziJd@J^4zJoY~Of7Ny+Ltbj|YVr7k;l%KJGdp|b>8(%L$ZF(Kvf#WZG?-s;?Up8>TJ?KxlZ@zZjPt_j}guzKar?nPsGOW=!pZ)y9 zgn<;w%8g^9%Iz+*ETM2Ry?rE@49#io$x%RYPrH(%`~j_Nh9vGq46@<1pez_M7?W@k zJu`k}*@K~WYuABuO9-N8iyapML$SQOkD0Ag-3qrUy&bKTd}TRix}Z(mYhrKf8aYxi zH*YFYjq2`ogW;^1!bSb@QJ1~A@C5WAVk>n0{3%uSCzgIH;3H3$akxRJTfT93Sx6v% zVjREM;2#`zLCq2|6{dJVxe33?%t(U!v>roG;jzvi#CUW&LkI7-}HM7bxeQ zoj8mOB3&%LQ$r*LQh(ubCiUXy&Sq=h_?UJkqJ=?KTZF_;xv3r#n!bBj{ z_ts_V^~Inzmp!HN%3d}|wJuU%z+GK0HDBgZkBV{e{%NW53_v~?3q>ZV!}+_3wby;! zajW!SW(yvi*ji0YRN+L7rSJMoJQ|J>Ip@s-Nm+td=T1WuX1s5uQECNwmz2XdG1k^P zYfCi4r$I3oj6*GMSn1|Vf5hseOzlinP=pZV`!{=J>>sy*x<1di3;3i!<3dEdG2U$)Whe6%1To1&N%EFPQxvpb z$M~FuZymXSA5Vx)luoSFm@2F;BxO>K`(Q81!rFfJ3j@&Tg;_St)m6yGJWYgazGbvI zc<`cqo5|Ie_MZFgzsxum{scW@GChpm@}#o&q?~pJ%B19^)v5U$ZN%ock6BUxJ+*?K z+yw#i4I!`;U^qz1TZe`eZr#QkZqpyuKgTRt`s4k%Y|!~zn&70j)A?aZpKxxSJ2ddE zBH;c?Vu}#sllJty`L$w|MLD&atFP1}@k9p|lSGiKZPvF5)o@Lud}Gfap7H?{h+*Sp z>0jj5Bi?&~?5o^kdliinwk~2JYFh)0Ce?G|OwJ8G>~+QznLY@$$epath7juyXlqpI z(WyKwQO{8jzgp)m=Qiiu^Tb57!~Q#Yjm@L40nGt*-NoUm=zGcpsfEu6vu(W%f=RHES_b#$uNgD7(I!;-q5VR=(aY$mN3 z%^FkP&}hGV2%Bj9G~1Lj+M&J%O?eF+ZtxIB=cihhSfYj+?Nj>DsknYgXbgSArObvX zkl0z=p_=aBq^~`AO|Sc{vzj+Jm7^QSU!4VE_Nw;xO!3q&0QQ7c)-4(+vNsWvVkZok zv?kk~F4NXE&w`S+Zz@4?gd2jBIDhhev7aR{?HqBNvL6MA;6wxeGn^9#T&J_9_uVlZ zPyvSAcmeyOwk+CmcOWh3oyiUy7Si$-b{5@Yj^#cF+e79CpE7&U($n12gY%TzdQN<8 z$oYB?OxeFZrM1b7WD6SYtAg67$ukfmzR(0ZOJ8ho^)pR?#1ZN3roG4qgxTc2aO={T^F?rj0s}oljxA}aCeirTIXHC=f#E9 zDBBb*eWtZDvvFjD+)K8onj2nPBl5gesnoeASE)gonOpCYSWh{FYU z_FycB)e9!T zY-i0mi!xRR)*q6roETP%>OT8XD;?$Y6cWn)cGfU8lXXwI?cKiex)ck!CV%JL8r)t& zIm2GJ@IEm5aTdCZ43uFEMX?K3#inUf72IFOsAU?DOX<;Ug_H;KW|X$qqO+khddET~ zGU!*=thEk`3mxKds@6W!oTdaEt7GsbQU-f*)kJR~X#o3Hk!RnLMIBatBlQ)CSl8;- z8sSMfEUT9Zf6NM{Z88juo^fp$s9R7XuW$}MhbCUh-DUT?hN2xpRV$;r{)wHizNpfU zUsu0{V3U4t|4Lbb(jc9HOAr`8I`)z`)`PJJX!M7lFZ2K zC~01^kH0$%_|CgGIUmtNA`)hUDeAlg0R^;y9%53mL*}->>PzNLeI1eXz_v*ngVL%;B|0_o2 zqq=EB;+3%6{s0nzIq9nHn3OMA`MTAljY>PP1Gk{1wlJ#j?J{749%ULs2R=R)#LCUE zVkUG(mm@g-fSlIYIih?%*5joc_i<9Z;&X2cP`7dVQGIbB)FI^G8&kHv)SG^fNtJrR zeE4Ji0+Dq3pYx2wz^*N-vCnTuzZhvD1~OUvG_HZ)n#gV@EuCi6SS25B>We#)G<0^d z{pHB;uavr`;{O(68*KD(pquub*Jj}=LHjzN$?bgtbXOSkxg9x>*}})0pMT#l>~+q` zAqqtbIwgCz$!up~< z;yY}GjjJRK>8M$@@%%e5C^kO8mT&Xc;^L#xSF8Q=5GJ-HO^*RRJo!W-s(JdXy*sbj z3C(bJ7+A}gQ89Hfy~1yq)|LkKlU}EK#@jt{A!SP-FZ8)STL=HKYuX=iD`AFxT6^r0 z645okVa|{EjkDIF?eL-tTl~MlB89upH{TNo)6>LsJK5Rf-$A%MLOatfjg>B|zZ6VR zL-(I(xZF~ppf|$KBxxMpw~OWTgQBRV9ooj62jc>BK)m)y%lNG952u--f{Bu70d@xO zJLs*`J#zNixkry7;Zo8g$GVwCW~4X=O@#v_y9j&Sp9cb%XLTyUJbg~a^b58tI+=dR zt9XBO*UI^Bl;@QvSNiU#T&hjfh zm*$4;L$%L=FnoHkk#9XCgXhMkoiMkvkaV-h{O2&6IBWIu;aCvO81qru+(Nv4`jsL6 zmYZT!4@*$gc`QWoIsS#eP`%;u*XDhB{QkO&oGF8;r75zhen^khp)UT08zp-Nxx@>8 z9)UMbfV8(PjhZ<7xu^$6t{M0|1f?V1Rm)oJGO$aZE|>P)7H!+#pJwk`Uh-wMzJY`G z-zddQKGNprmaGH^abviuCB)r3K zVlrEMLFz{d39DOf-RE*4fWc~d0>9rZ56Sy)m|@~2)Clt@3{T)bt#y(`LAJ@qAn>PLA&<*hJVRe48<~)#X4o8ZOp=k{5 zRTR=81y^xaF?!>?E;v+Lf8K9Xgj^B)Q#wB|824X?AaU-6OE5l`kEA8crcn^@uYoJF zvg*L61W@Cr7IZ<@o>GX~NPt$37pOSIlK=#a4<=zw*rDCT9@BWp)7QxvZ^$bXBS*So zVhi~iXiV~S_h#aO8WytVIWfx;@85Xtwhel9PErcX>A0Ijp12a6IV|VAL@2hIIa3?8>27Q!+44S!Q1pPyn293>c+CF_Hq#Z15 zLmp@E&K{i>_VgE0Qn-v&D~`v1rwclBr1fwp5%WmGbM~y!6hJ4S|AM(F5qHE-5UMhB zY>1zDYeJa%L7}M|p53OF(EC<3Z~5{u|Lo&iP{jT6SBZJDH@-~iHq9&@X5jWJ)h2{6%&eiK!|5Z@Sz@=ehdAcbZ8|L+f|!` zVVck4I1`pwKH)Pn1v@*NR`ldBZW1!8BT>EJ$ha8Ic#WAloZFKwoGtYQPzPpo=ci(-OvBH-j57==X6uOthJ>1T*q{c!1wMJ zG`7e4#ifnOYu$PXh18YTaY3D%F&~cn(NhjRuo|AyOAjPD5ZlLVe|G%Ta&&s0pzp;i zj&Lrp=YnzAe%Lp2&xPo?UlHxg(0=S<%N+jYK)+opZOjInJp^s2Sz`2$a@DBl2eHhr zsRDs^6H;%C3d-1^oeM#g6J9_^tZzD^iHBsiws*IADM5^Tj9UV$7ix#3pK~0JARa#? z+Kj3x5Dmp&AaJa9@%%^a!yrFr^Iy4Uj~l^)?-`u{f0AhJI20^3PYK6ar?oS{J5zb-EZ&Ia zIskvvExQx_shj-ns!@k|(H|V~Pnml#rh3|R&ww2RcA~FSbBt^Eopsav^Gk5A(}fQ^ z?1mhjkpiG~*V?tJu@GWR0Z0n6-sYh_*_KGVAyCqHsyRuW6Bt*f>A}v)N18Z!b?l=> znwOHgJ|`D`ed}<3%LW~u`hv(Zxw;G$_rP%xW4Md0{-0rHoVG6ZH1fR^6D)0GR&UHd z{QcOWqwz3!XGRe{Ip>M!yWWdN<0&m4MTDZDG8Ac;;3g6yn(+WQHFD`eXUuWcK8P+{(d?5LT}19M)th5_j@Ue;Tm$Q#{WYPLq`8 zn#75RH6<4@Eu2Ci&w8{$bG~}}PsjuTB1xUook5ax-U<3RbGA%;FK2vT4+G!%psJyw zS^Qyc*zru!BF_0IPFuPvD)pJ1wc#U!-o|FQGpRer;U}dl{~5O+jiFocAJSbcEzjVNo7X-0m%)Wy@Q)R(G28wW>P(YO;AV+iB9_a_S3T0_0=gi~2iqtMRNH*0 z+tg{?LwQA4J#X44)^>g4&|u2@sJXA)UqNi>xKEdHMdhdB=vW2hC(iWyFyg99>$FXo z;5ynHHdc{6Q^W1By8XPuM||3RoG&_2cA_5@CIZUgtX%kRf}K=s08pgQO`>|4ErmWH-rV>3B)B#6HELD+(c z*hG4+`;px z-0L0wvCY0Zu0`Rv#zTJkjdS$QWCurdI2{MCAT(Q368-@r(Fx7+`whhxl$oX*^ML(J zRfn}!B~OvBtGNaTE$?twXSDW7u>0UP>-PE%+1B6MHYro|YOJR9zvhQ8zY{kmsEW-s z8;rux(*51g7s03VlLUEhzj(|SDBJO{_1J=8Jd3p7RiE3;8ND!X5dgoq4eS$<6s)e8 zbp$pCJfE(@^N8Uq5y`j8;|4gzKQDws+L+K53LUhxs~Ir*6@~Qc@NeIv>lZZ4k*TsB zQsWQ91L^ffyF5_d{kGi+@1Xw5fQS<+6z?{RVr zY?uxLat@mFZqtEn)$C2@e*ovGlcuzRWS86T9Q>HRH(HS|B`I!vC<136U8#ALZt?H; zym$r|s3v69BEWv_m<4>@62FyG`YGX&Y_z-#|8%VUH8$q05B=)gVDtOB9EO6j%ziWA zoGYbIu|&~mr=ooZlU1=ubQM=k#x!W;F_}vxxHD<*h22}3pd558+{6ECWv;m?^_vgm z+}NM@+u4tRx-)<9=zU7!yo0*Et(ka$z~sYSMxTRn?#x6dv&2d#Yn@c5!ozs$s`fm$ zMX|6Z{&K->3?Im{?Fn_P8Rflom34+ogQzgAmfJdm8KS^Q}pMhqQOPscv?{+Hsd+f@fy0dE`=oEijMos*Ikb$Jo0Kjg#2>cjoJB#R_4JmF<+mL9{SVS z=ifkJ-e))!Jn%$3Cqrj}1!3`8Ql;S{08PIPt+`QW)TZY#aALF*6{I$6Y{ab*CAU}G z_(0TjRXh4?Eq#y&T(w*VVvg8UR=`Lk@`{HGRMir3Tz#^fNV%!1gpT&F_lpBxp0`c6 zF@SUV@bw{7ilKAe6q5+&ZvdZ~2EHK4vyXS~Pdep;4@+ooTP5fzQ#ul$nzU+UTja`kH>f)#8SUeou$iBGBKu3*`pldx#F0#6Q@FzTccbdBP z=Fu*6STsP&fo+KSCO<41T_E*we`&Xt(!@S(@lmar7F_c4;1h~x^iRLq)oKjb%?`fB zx86JnPIfTFSV7-*V-|Jn(_pgjCpSw&c))tU`jg|J z;yCQvH~uu2L4S=qqN2i{t39l|(&wYlPmpI_Z*6bIg1_WIt!XZ!pq%@ed>D4RWhgxH zko7}XnMZS+R>)MZR!9NB<4ZUDA=BHGeTosPFUXj?rqt_#lXsha({Rja@pudCb}{ZC zKi&)+#iAjUJLr>Ha;De25!kg*mf%rAk>&L$#m_c;aij!#>OYLu2Ijm_7B+n!iLd zShdFs(UuzXTO$$o##oL0PdCd?xv62Xopp2xWb6bD!yY{KR=SejIXeZDfYP7PF_4+0Wf_FZ7Ye^12)o5jnEj!}D@` zcX32yKo9UX;JLDIv;7BV9&9PmvK%4!ijJT!Ll|>x&X9WS`olk7aBO3e3suT&AQM`5 zThAq8TxGLikfd7JO>!{Kf9@3aNBkvLwtVcU+3I~Hr}B$dgs>0tg<$g9-#`ydOpt-m zd1UqXF@j$OQrv8ju_LptJ=%@05m;HKp!SA}ujSn8cg>b|{hKowQLqnXh|kR>)_}RG zBfYqe&pi$Uz(f}D3~|anmsymAyIVan-_Dtwt?Gkg885Q?yMj;h!Frk=|lblT%udYEHmgb zNM;VlN?f3m0^n@y4yD~7^Z^F@>?PLC&xLyV@a>`m-i@r+f{pTb^E2SwyZ+-=Tt8A@$dH}e zebve{vppST(GwT-(pN73WeLpvJLTqa1xY!wy+$n!p6(O= zf(#4#*57@ns*ne~O#s&koLCA;N0Q0Wmg7Mm8&&bQ==Sw7rrHAM{HoO{xa!sS0b4YR z?P<>Wy<+yQxtDtTwBttr=h)-5MHE+`Uv7?w&Gf$>V@QYfdd0w?X@z6Jk>>%oDUva& ziVfNN*ME(_mR;rRVYW|R+I!DaFfz(Uw-rQ>F+F%xk(LSlevw}&~fMb72#AZ06xuV!tOqd-=hLQ~IB0|&eMUy{Tp z>^^D;{7+E(abY28)Zup&K>qda;LQi%We@uj-dz)db(k|mRHqxE)u|e=56qEy6B1=<)v`jFclESuR?ka()!}`qgIi{^6_-=3JT%u3WA3=MilIxBdFb^Rn^(d0t^@a zP6UF}H_!5ims|e#i(ihFlYT@iu?q?kfmen`_>6Ie+7XE8M5Xm@Pi?{~Pym}i0V48^ zE)K*g>$3azN+DGnx2g)C_Kv{-y@h;*AkoBOu~OfKTg~mFqcF@L)@1Q&WYQ=nr(t8W zUxT+zE`s6M8pe$e<~Rpu9z5xfrNBLIp)$*tIC$Rh({xc|)U)Sakr^(|3C|`lKIX!a z9I4}**Ht?)!J!RMq?LQp%&4@&)Uq1Jy(7(K(ftWY;dRuf2FW`ME4bgG7&Ag9i5vD- zI?F62HQAHM5qAv%(1FVvjJX%ZU^S@VxAM>Drs8{m;MpZS7wn^H;ANr0%BUnKI|~FO zeH0jn1gJfO#9gdx{Sg<@^|{1q#^{vFWJ0tur3ztMVT<&@ffbOH<*BM>b0FGufGyk_-_&;2|v6Dn0fPc+A1xT*(+E zq#1$%rzDSFI%EFWm=YJ=gl7U%6o6C0uL{)DL_c?m$;AFxciUI}xf-jBESYfxKDpRZ ztnm21^BH*>8Hnuu#|`sh!zpAt$$(3ScM8DUIz@A3M|SwDYB~=EgZ6B1*R=v3=wXME z^P})iL6p|&o{MV7M$C@4ciluOE3hnR+2k8|B(_fAmA71iv9Ts%lfF zG`Zp=%Wgat%ZR89*{DzJ+JeldP>i$$ZtJKj5PGLh0Dz8hq`kiLfCl*A9Muz5IqIS8 z;r%h0iT$`WO&{;J1kDY$!tk*Ym`(1-@;BoqsA6E>zRjmw3AMAE-J?j%bn{O5fsC4| zk>}^0V}E52+|D)|DJNp~o`+3?AE^n2eYlHn;TGU8U zZwAab4|Y+ONs>mb8-O^v3`1CW;xrlc%en8_u~&MO&=G&07Y2m?lB;=ai(wx+<^DDI zV=x{#up7pfoe;A7V;qATPiZdGRygG3%cQ2l9?FD_R*y!oGwZ=V zFM~=Bf8JY?HOcic`XyF`#-ry%@^gZmxhX!IBmXHaJNGhssMC!>07wzg&}*eca9f1E z>^!DnEneL!_jUmh*zhS=R*dO5Ppw^g4#!%2fk^6iEjjZN6I_Zr60uL2m7d^C;?9a? zS`pcW(yPPgqw$Xkn;&b&N2oZLeRn8DxpN^dBS$VJc4)YM*caPyvXE|xZ5B-&)6SV% zMh$$efoLqvOBfqO0lsn#FUgQ!KKswx}!{*~RGJ5GMwTJ4*1m96K9-d~kz zH0%aPzTJqlLbDPz(!jJH^0yvX!`f5!q*KY9FNS}8fA>3f2e(;s^ki8B7>_{@2stfU<2=J`Nws2ab+p&l?^;wzbOQEO3!BV46wxhidZ$e%@72K5A|bdzfnM&{N99fi_J$OR8wma~Sa z5KqV}zI|cHmE$_LXy84~fp+r2{aE(}?T%C}HJBM1I25@YLFUjvj`Jyne+tu%k{Uiy zY;1!PTB9C9gh^{i;HZN(Ro5k999{Fp9zQGMYNi^(4%H&4|G1<9g#%5OAF_8m9 zjupx+N1e1cExxe^LRBBlqH>q&zpCNnVDH2XEM^PwsuN zI$2SiO5C+Wnk$^-ztS=p!%DX5zWgStOj%-%!tRh8j!D~KYUQX9<*6_HOZr<`ee63@ zSH04g7q>CXB&Ton$m4X}pV%m6hH1+syN}f0NS=*!HV3;+;-b)PERt0HihkPG`im1w zPik2%G<=eq`x^n!ru?x?xf#ciswzyAVs|I?;v~waOUi@M(Hi%}Q*B^~=Ii+H^Zbp- zp6E1(0ne@G?P(r&Y~xywNrZhEz4j)>J^TK<>2Rc0^Tx(tM(Q2@>G* zH|M~lYzI>H)7HVMh$K$(-$vvtOt>Kk?R84`HJj@8iW>7^llqCHIQ#zkr^+Ga_`Zip)IT_wapOJJ&BD zp>o6dfIU$ky9L?;jW@UNxJ~w&En<`FaAjh|qWF!6Fd`g(+o&BoATt62JyB zd%hoDnS?#XpYVLxxW7<-Env17Y!k|*p?I<}O|44@7=2=-C%&`GKZ5&8T=a91d?i`aL)3YcBEG!<3yYX?5)Ph-7t)AO95rx40B>MT?~6 z$xI%_zv;o5($4SkzdOE%XcCI_DBaU}6TW(;$DDr{k&4xXFXDVgLYf){jPeR^+;bq9XM>xbT|9IdXB$ebnM96uh753_9K( zz<+V{DkLf-G%zXsil;$6(wpEd7;h)On!>77e-cog$~(8@hi0U@1Dz5+HXe!~=5;5#ar#sRn!JD`HL3CAQ9)EkH z##YhF&;>Efp|ICvGbFtH^D$zm(%gmi{e6+u6is-ejBctTt)%_|Z!Oxd1E@fPd654H zyQVm9FrRXU_MTM`o9)#aw^2{@&ELGE@XLgFe>NbXX9Dt}cP+cA4bG;)*50Y~CFSQ> zOhx<$wY)f6`*$~W8iAX}T6J`=1c8OsF@7K3%&GRc?}zW44RW3(wika%uR{h6$ZiUp zW!QH8$=pBj_wutxH|Dmjq~H*5Q3tUFO@r=K)Vs$#yn!mF3aB`NmYXs;HGzIy07 zf&?W9;)r@4NKreIScCHMmlVeA*`E}@@1`AL_3QLAhcuHQ4}n=Ai?7_~^7Zf7H=*US z5__SNmwhq1NFxEGh6k&uL2Bpi|#0ydc@N;D0o zE?p7F4s`cFxqjW`Bj?-Bb!7gp0%iKu7UQ;C*!C+1tvqA^=LhwLp2Rr_ zbYt0%e-B-GHJq@qul*3hcA&CONN?TImXluhqz+vw7@f~60e0~2TbZni1Dbz01VGuM7sT&P~)HypEWxM>v4(D2|0y6|l>a3X%s&f93~vGX zflkmQ0@65g>eY?@3BIVUCYrt-74c1BY|1SlDOVRy?aF?c5b0DrO>&aXVr(fpma;~h zo5=*aiJgVJnJt0v07Wu_c!Gf0;v|=K3|2`>k7|RjX?A2wd_{t!QAc6VQt3EUsi-0h z!hL_n16>g_@zi)oe5U^_M%i;gB7EgD_Dh|<6~>Q?W#t~G^1HNb>ofoi>dX;+5QyW6xP9Dr2jzQU8J8Jm~<)(2O9y{ty&Ob zEO+#^#|v|=M^np6bhLR3CoGqy_zE@>Qz+ zLkJ)i0n{N<(#-kOpBjZ`nj@e_UaHz=g@WK6D(_w7?^J|Um*nzhfu})=tIs7B79~qICMkimGc5;|l750t9#=K9i3;^0>iNWIy8BAG?9A4GZS=|Ep zQqanSTYbe|vtC5i2s`L5fQ@zCDlVcXyXu@z6f~)ne0L=eQSwx8#TYPusFS{tRNeru z(R^gn6Bs&B)~(;SFpB%FRE!*&7*YcQApvgO&L5kPodZ=^RzN1%XiOMRcm>I$MfREfuRl$*w$nt^iL zczp;O%kgi!s~UAiuGP~;c5NP{-<-5$Cdc7eJ+e#0O&W2s=4qnSkiXMEjxVDGAtEKd z+$Sivs9PhGZVb`_rxzB?vu}=ICrrcd2mE! zu^VUdsA&nLIG5(MmB1~#ckr=Fhs0cZmOeI*f z_nvY);1}i@l(Qbt;N90)?IqlZ4rX$^OCJ>tM{+VDl=!e3ECFJlwg4l>Q%+nY_Lc?? z23T!a2IX?f0Z+t$!5y>r2lrkTkVW&?j@0}&4gx=zJwGPDnEe}#PjS5NS%mZ~$?}4- zBdPzq>2uEdeaPL~-GlxGMPwOLRKbQ%POmaD%sR5kS8mu{p7~@<{*#tz0gnaZB*Z@z zOrVBxf?!7P%FNGe{Dtx#EGCa@Asy8TJ?v27s^1YU{`wcd54)j8ZH_71pMn5_b(a;Q+={O1Ea5W zEn6O|8zfNys|ZstUD=i^Huo5Ejxb8Xj{OG>UYps$D(~C@J!jJLlwvOy)3Y+7!y94D z&)<*6(z45gUAgOxG?2eV(CWNi@*`DdUlP4kF zu@C&_rr)&AqNVN(ShC0Kyol}?6+KRF0qk`oQA{RLT8DzrXTyK>dm}U?HJNoWcMx-v z=!%2_{^Ua`kqLOV)lSe4F`91G6sReX`_Xhsba0mxVl5-Mv}x)fa~(nI+_9*ajo6!n zrcD`j5xqI87=MdTKSEEdW*c0Htl3d;K3yLNh8U8g#GL+fI*_1+ks|mODBS~{30KpX z6x)!ck7ipIi_D^Mu93ve{K%1Ua(Zr`Lz1(ruHB@A zA}S8jlPq(oc(({M)5pV859NFHax#@4OX{+@3`{r}F(W3Qs-25^Z;(|qMROZu=uTp? z=R3l&pjS{AV0>p7m%52~6Hq068}~~1-ao{6>m zku=HHcW81UN7DjZh?5OC+7b&2&f8Bx{#<+9jk4mAem`%lzE&xZgAr*5x*xxNZy27dCBa?A_eC!q5M zOdu_eZ_@~zYu<^Zgy^P?0$&i^Pyscd^>?0hbO)OC!P>LZj&Wir%`SVZlz;`0u>E8D zVPUzKbl1b9{2f>>lOT6?J$`z_2W(@ms!LFVd)pdy>3f+*$+{X z25Y!?ize|6v?@5|DTEsD=ay2!g>BL#+Y@(w!qK|H4(XEiypBs~DT&QwKL4vk)BEStdyM!6qkb|~fF7jhB=okc-=-t_HaCp?1{zSNN3uoY6}7DTkj(ubJ0TIgTn(;uL~FuobgB!i$lP zg*_NCn2E!jP?igI2pjX!&pjx88SZ!NbEI*Z@Xv&h%662t4S|Dt7RA%g{r90K>@eHbbF#%lFl6#|Bd8OnOq(94ThiBk@uaoD^hNRk_`Bm{2}43_cnw5lwBBY@M43-k{GeN82% zA5iz(3SHWZ5nrz)jIWUG^0SFrgi>Ehccdy_Ozv%r2%5*6@b5vd8a%H(C%51Q8t%|X znKZmyUQf{w8KnCTNbXrx#ulxCEK>0Pmyg0O79Di;$&89CWzuG`IQ^qkBsGOJD^k7c z>b|^`eGxJAZmj0sIRYg@bUfWEkh_VPkF&@%^RkvJN7i99>juFS*^dFCP7YNF-GDMv z2~Z&8khFPt>1Y&Jl}^&(DnFyi)13aIu58y0`xiOs+{M(B$gCE2@-Kbg`u39FEu*?G zIKqu%(`hOrxV+?SbFt*)YbPT?VpHFF%;1^oih*gik(?~68G7S$iJ8igYo5mX?5Ula zdk!?}6gr{(+rxG!x^DkQS***-CP&WWf1B$DtP1tmc6V( z-H^#E8wThI$K)m0{Z(%Z>b?bQ5&(qeodK~ylBVe<(vG5%9s(2lX@?I8vXoB+x#50D zx7zz<)NU@>VfG(AA)%1U=(|D}OO27K$C07Qqx$mNF{*iG3%W-+RvgusM67<{Cgut(H0gasg$;;U0OO zuy9R*dP#50r)6`1WuB$7UEah1sv?Likw_Z+tfH><ofY)K#{v zWV^%paaib@GU>CGC^nqn)6lyGzY6}MsHt(_xbuC{0U=h2yoHNm$0ryT8;{ZdGoBp73KZlmf90q4h1y${Ov(KC^Ao1OQs zs$WT1M_4PtuL7>4?EKowuO?h6K+M@n;&wv-g3zyRiS;&9*YK}J*4e>ov^}359Yy8YkW@(o}u)t$lHdZI6L{MvTPLCEvh?FQ6XC01OtOUEO>rdLE_n_DB>X)G^N`<9fGn5Syp`(QH>cYcz2|i9 z8=^0|F<%1ks?pcFiDJ`|ypNpt$T>||B4%jSyup4@iTB|WjY7`p!f@pDKD|Bo!Sh=J z1MN{Jg%Ps(cL{%sy0<7@SHM86i)b2lVp(8B zKqC6G3EW0VY5%yuO#~KiW53DJ-nTOM0)zpOfpa;uj z4%zt#NnnFoC4=WbP;+cn%vAm}qu)3h_+5mtbjWtAm0L@-2^rsC-ZtwR34)K=pr|}EsDcV zFmN{U^}++f*93?_KpQD!SzM3a9m%gQdX&M!vahc?jE1!W=BNkefuH*|x~Fy`4IMPu zvHcoGIj@)Z-TsJm8vXUF*T!0*&y-2=+ILdq-4?~RCf4z;lESAxH$})gEK7|&u^HBf zy>A~w{-Sh}K%4C?nr0`S>`GN(APn$neqnJD-SIq)Y>D~VP5ou zazC$gBh|y#b6_Oo4-z2D;Wan%3Siz_YP@-4n3nw<7>gDxlR2JMnXS7yI`vbqy!)$< z=l*f@cUwQhN3_X0{bR_=huX0r!C=?TFzfw7<-Kdxn^F$U0fcGd5@gWoPxJCj%miSC;BO^Ssxo8}s2*V`7Nc9L2UKw!!5j1+RL@dPzt$6gk;< zDBC!~Gp+=Qo_U^1FisaRX_1r6Xozz>&7@F7YS0DFNQ%!RF zU;+S)Jm(e4GpB>V%TfNVQpo(hsXonog4#*>lj8p;m@i{Zqm=og@T9<8mkK5v#bZ`g z9w(s>0l;%OV5+JJMmC~G0svzy`ytB1+iSG!eB9hys1j?PBrs-%u($wu{<2j2={X5r zj0eX@SGPs6?TO`irzEkg9}B6x|AP_I`pNdZeWUzr3@d7Y4d$#EY{r8TrW5*F!QYlJ zR`4Dn7;RQES0uMjh<58EigP6%TPpxyyq>$t$K$qBALhj2I1zyz!%kry9^<)QQeVcp zKl#Z5*T|EE(}jt`ivn$ck4mHj1PGo!Es^nFf%bn3$VC1*;aFiO0kS-e1^~u*j!Tq> zXD!*URXuAvL%2(zA8=5*LV3?^eyW;_+_sQfrU~$PLRemaI?0Za)waPqIT^H?`gRXedj7YCCWN|%bRgB7Uu3?o}>nYYliR?4X%f)(cUwA6>w z1M2VQ<8e3~ym25o^~`NK=(mjknJ0OVSw{IO0{vJg+ z1AprIFg;3u%&#oX`SgC}?>?W7E^eE1MEgp%i!l-b$7h}Ahd8w5J&)>s6Z4y>Ue@Kd zF(U6rzf5ejpG{2mi4kt=mqCX$W+h%7YkE}aav>*5v*K1%p6fKq<9%$Pz-OhN9%HO@ z(wTzwW&Wz_Baa=Y8ar7YPyYMS+kG>iY~b|8Szi`#UW0PxIa%d53Q*RI9g6jHS~AAY zi4(#Hhg?T6;pmyS^KXa_mf8JXUS1VfRmQ@b0EH7EdsXhsRL3~TvX-SepVl|uthf3U`TFa8j`tow!*>du?0ww-s4m?pfLa@9}Rn^HK` z5|$94yw7D#{ipk)pL+#(5mX(p`_r4c%}HiPtqtLRy54+w7)))jKQihVlEvQyt5c`w{&BV`T|J|}!d;52-vu%Tdre|4PO zoLWy`P=)vI)M%{A?J@049gw(@SzcbjAh(sJfuFV3{=*nHSYE|2GdxZu3%6%5>_laT zX#FNu1V-UC?H(iC=Cxt$zWwm-$-65wkP()>2LHssheF6}nFkuro;EU1tJYYR&pNNx zSIdp`bDzyL*n2xu`9*_SKGdrG+fim8EYms4BlD{Q!4MkE9=PwS8ux+#FKl*c0djj; zYVhenT;~uBrl-YND?5r^lXy*ANMhCl{u0vDX6JD5J1Y9n@BHY;rnz5K6^S>L_Ke)8 zzkI#%_2#ScLVgE>YMR$p9apc+yj4Dwt833|b-o_YTJ`nj@!YfzMBZ1%@Y>|P-8%+$ zqP<#XZaG}l8?mui&RhxWhW;dY?c4+*+j3bN zPI>>KlNAY5_v1a@O66(|4NIvdi{7(|8t}fIDW2Y|7AQ>9zi&)ViC z@;>C-+6`%e4&Q%-2aG*7S<7R!C>Zr|4j@qw-cR?^tWlD6;XDrQUO-HQ~wIt;n3EOpP*isQ?+ zH{kRT-)&xvo%~~|?_}luaj9E%;PrKD>U~*93-Bq*UhWYKa(kz(&-OA_g875pokI}P zcFKBf!`P+keRvOn^_)Y@@C|9AUqu%$X3i1aQSwcI>mmx|TfjykdR`a(T+We}?;<9* zyWC4#s{uRr3Yun?Ufu@lxr%}~WiEZi} zNoCpbDadOpOZA_=-EeC#kGqw3@Nin6!!TR;(^MwTA6vTB@U8UiV@<59`qzP~>LYI; zr_Wu2H^4UsI+`c>9yLz`Hhgq%8$|!-r71eu4s93vNM75`gpj>ar!|l98pkc%d^Qa} zZjWMf6En||=ldfuadVe37dJcguhn9OemHvB=<*=&kJk}KY8+j394mSR`ybA&j!hdK~5;heacerITQ_Wowpu2^`;39xaTK^ zjW|&1KH^!gA^#f%{s0JSRCf3KAC0jNc$I*#(Ghv|@yYg1O=uxbMFNrA%2IbdE&FFA zw%2uLEWwJeuE=9>_#4tVeu`N=Ic}Pe@^h;{2?v0R)9{;ZO>Z1 z@si|afi-ZzEGs~6FH5zb4j>;?vvoi)^kLHokJ_AvP-}zshp^YgW3%An4I2X6whqDA zO!?yyzYsw6*5!J1!YhC`2V>n!fZ#o%8&u5N-H#k}v(cm9pQNRAx?Zsh+tww@+dkeO zYp`RdCC!y}pY76k__WREyg9okf&4DUVjUoq?JDxRwwBc1s9DM{9;>KlY#v9qp9vmI zdJL68-bj~w>D(H?cCwyMQ90|A8=9%!ez?68Qm-ZdDSh^pfn>C8t)z~R3)aQ^VxajC z#HXq4Y?76Kmhu+r;F!gyVpAs_A!e5S+i6|Dj=8-VwM4N#X#0dI40_66xH22ds#aeF_Y*Qyh*MY{* z&9R9!o}9(`=ZG1~FA{TjBbzwoh_K3X`$H#+e|OB@U&Ljs^|G__j|$$jhn3%7Fu|uA zjM(zFGDQzruOCv`HiiD!hcyMLTlALq*00K}g|$I>y=BduPi)CN{;Is~=)&kmo7Bvhp{249#rfFS7?$v{}oxI*m*2}W$z=l~jq^Ai>2oRg>xr&PU z@R8R)R_m|oi!a_bbnCSn)Z}%2SHgP#ab(CRds&+M$$H)Ar^`I#DWds%Ap z)52^oIV|j?B;-Jj(q{4do!%RDZdw~B66AH4rP@!%d;RMxf3;v8k@8h|OTmOw40OA2 z-)>B8+}0~=*jLE!x9ElMN-GEu`mhd*iVlC+F2+dC=LGNf9wE1bL%n6VomT~qy&hw@HWAe_2#-xPHis)y4wY>?br}{AYbr$-WHcn{XIAj>o#K(^KTd zA*?^kyR9<$mm_q*_Z5D1Sww&sXJ;xZy5PZj9pL_?y!Y1c{j~MBhqj|Pr?K!L7(gBG zL*D58;p|xn?)MfPpj*kx&;JI3>)qBUN`5S?+I1YVRkn!glQb0-9|C9eFJ2kpkrQvedy( z3wo4f^g{Rv#8fp3*LOo&YlEjqaDUMsOn}1}a{s+lzD%&roK95T`-EkMOpHYy^x5C3 zlE<_v?~@OC@|u{BezLYKg?=|Nr z#X+n)(ual9h5d!ag(|_v4hTQXS?xF6GJN6h`LgWhy}UB-63!N$5%M~4iqiyciKeO! zT;DCJPxv=W;JntIV*z&XTI+G!TPtHf7oE{ftM;;%JWZ*yGb|)-lLaefupiEvB21H+ zcx|w~O7PnFns2J*6mF}R;=FmIH&ppVVV2-IoK9EWnZhB$7@-!y3**7Sa$xX{AoLKyI^`<-RUyl3{;KX;vIFm;6?m<#4hvNZdNj;+sk zE1$=HHoDPHzpf;V4%$HYx8MctMy05pV#?OeetP2;mY8=7UfW-j*zS|62F%(ha10aw z)R^xM=LydXp35n9*9s>Hd@LexEGD#)mKO6Zg!c>F?D%utmj%n@lt93@j01(d-{_{R zja%|VKKc2m$;q+K_S3K_y?6>v_jlK)TGQCL@4 zMOaeccE%h89Rqm@YB)F_ZVBGI3Y<`17ETu?3NwV)ggmeFvsBOP5w8IL9begk2m%=Y zyg+vTt+g0*?)4uRi>tTy=-l*GWjv1bh-hFedooXuBmXg4jTbvp`Q>7DRU_}FMSE>H z)kA{U$2Hhg&k)=`P>RE#qpIVqsJb@`CkWRFPYIsCUdky=KlFdUaF@WxIfL>80#5vl zkZ*4Fcs``g-iJHyhiv0`euE+QvFsieOH;!3U++ky4$_??88OE`qA*DQtaba!F{4> z-b-w(tZbs-2zW(Ws*NaBbxoEHg!l>UKEdmoq&&9+Xu&dR`qROHAPTasn>`th;CVb( zvk#1B%RF3utkY{eN_p=s>9N6_Jph>~GZxxjz~MdiPUTk?Alpt^nuniO29AESU}apc zycOKdLBO&vs`YUCdwowS&rJuSkJnmMwD7?^HbUmjU@ri{!l0b{I8Qr#MoMl?)iHz) zOeZSiJth5UG@zfVZt}PzE8}peHE4}*Cx zl|f#s%e}PoG+;aATh#?ZcK(AxT=uc*{2oV_Q-nP32UG@STXEfdk$T|-0lq+6LEH+K z2n}Q%F%-V5rLiZx#5E>OG&K{N@5gzv_*lXqX=#RyNKuL9oJzvQ`*Twp$hE z_irs>fgOa$1h0_~LI(&Y>%!$;IxD`>$pN6xdv-^$~s6e1}^fB@Y}HV}S-yG-yJNii7T05Ck~mF>|8X&?t*KGyQf zP2QuAB{{Oa=F@y*^|_-m?wB+#&ylKoSu~K9`XiOI^1ql=)XhqC5MVjSRn~Z~%5R_{ zsGHa6HFQHtu+6&uZhk(00n? z1Pt5hTFPG`~qS$TQKFm zuIr@@XaEOs#9dQ)9N$Vt;fD&QZdP)ZonXhWA6_TvdBTQ*iT>Rh^t^_4r9N1Ei$o6o zIOh=|>--Fr2?|g?Wb$5ZuD0uhJdV9uMSvKW=P4?CkHKreK>&sRPRI)XmCAk<=w`>j zp;;fqdcG&*b^fo)CkZPFCf3_CFl%Grv}zywY6yRClJ(3Xvu9#uhtFddQ9FOclgB-y z^83;_+ia@pWrw2yZv;H}5}TDjMdh6YQ|{}!Zb`H38%gMkg}l~hRX$EwRxmN97YMA4 zIa9x8Wa*2@j%C()3%=CwRdV73XyTAhPP-cdZ$NouW2WIxcfn3=hHB$p@q78jh zPQX!A!Rqa5*M1Kbm*Y(mCXu#Ji44rFn-jw@P-X+cHzNxBfvYaH@ znfWWisX|`wQ!1Y*tSw|>-42$yeqPS|w9Y3m`a4LNC}h2nKUdg9FgbW;#~-D}>c`oC ztL~eEZ3{imZ@Si!+e>+q_K_&lguKB&S9$3W5yQwv5!GFh*r+WmKMfuwR6i8*QS>YU zUF4vFVX}5oc+G3XT3K7R2iC}m&TsN}3E3{}`25^wLO+bpJotAgUlVvW$m0nb{sl_e zImS@#(FkgQ&G)A9VdfMeZx+|&4+thZgUj8N)(Qk4)B>un2CV-M;mg8WLMHRT;JY~( zc;Bl*9b4eT9v_OI7P2i6Ab%@tDVQ8MY(vy9DDbo1LqZ;ZtI7md6JxqrhhE1#k@_me zVs;g(QU5yC?MPz~n}-o~BiZ<~?0h4*NZ^-(Y_u<{e6c_f93xZ-Jy;i=Y|O}JXC=)< z5ZFODUbtV#>nA@$;M>ref(adBGpyaj&5D21KUK&)C=+N+-F%364fAB09Rq_oMtD)k zoB2nT*A+|{K-Hk!*6C?puVv+Z7Dt#S~Hqbk|S&m9JTsY$2F_W ze0DI)P;35W)o(xH$3ivOv)0#y%Y?&(B?S{};)KtRznIFrQcV`J&K^_w3j#Mw6XR;h z4>&&)XfrXUTLS@WKz^LZgwgWh>uljkA+Mi2I^Z?o6yaUM znnE70Vjp4fIF3(D^61LJVK5Fs->Q?FZ-4sd4{~^C|D3>A{6~c9nkW+tz9DQRWI{ij z@Oh5qRpvEmrjU7|udfUKexz*Q$3F5s>H-a5WNf;L>;IKP-sl%p{-H2NFk#$aFh=dM z?N05e$e(Ft6%G~nt@>dh>%jScsh)uFYvI$vUc%}EPSYqcza1R?8-vy5G8(&?Kw$cg z@DE{@U|Dnes_JhMzANw=z?>%Xoc18odMdE*)xh|u>TrAlg9#hTJY7FurGwqTPErmL zANhGVhTbatm#~3gdS01d2|o}fMI~c!B*tNI-A0xl*}Znwz}0zMVNZdexVBKw$~puD0`&+$0@ZxSvE z5CAg0UIoUo?!0!^{2}3u0)0%}0DdZ*EIbjFI6lGUwJ6Wm3C7gz#D-!FHqyhC=cMB_ zFmWyZgYYBadRHp#c4NTtaEMw4y{7875eN#K2;+r(0;*V(;DzIJivr}iMGy$=c+5!< zMSq;a3k!<~1OQUX1JTRsK+w5cU{9_VZWahWnV7=?gE1xo$-%<=gpFMp=^aXcCY&Z9 zKLj6~p7r%8G%zm&0G7f!Fi0F7!eHJb@Byg$&UlIHct8HL;Qn@`ZZ#0r4_G&;*QIP9 z;V=Y+^@a5WZU~&t)GsA4t`&sSJ}%4@9uV#p?iB8c@=HoHu?Fu4L7kw(zCg&hn{bG* zzral+(?u$rB>W{+;`p@!Wa={iW?QxC?bIk&Ku#;u+ms;?a1v&ktirE_Ukc<+7z~te z6=h9#J?%tDT`M3^PtaUWSVXt=X~H?-i-U8@^2+eEz*YNE z;UNL1C*^AYtWb;W@bH7M$*S%NSZ^2DOY)f>Q{gOupw11#gdHHC`MSQB&IcO6sO-pI z?k>vwLEyx}C=9N*=L#4Y2A>HYI0^i^Iane)&g*Nt*QBZuCCkA4RaEu6hWdO=xJwRsL^bijWP8{B(hnWOtz&KrmkFNaqzoFE|Tp z!Xa6oL7Do2f?qYbcswaQ@_6^9t(G3wQvD}|e+b+ts{1oVbw3cc5Hi){m;3bc^SK79 zM#7c$VBtLB1)*we_p9zl0>OZ5a3+k}{Bm%~ede`1>#T)=)`_khT&lX_n!dI072#@u z+gNoU9#-9Ng*OS+Up2f3YU)u>0|RRS1LWkva59Zo;d8GdxMAnXx zR=*H$t~&mvU|(TFp{gT3bloaU5H1t=@Koyq7rY4!e8D!9oo9%(88~tE!<`qpnlk8g zM`1gGk9hovZk48~;!5Eh;ZlK*i6(T(KGd7T{d(yjHBdF~K@OiMx}yW1+I(!vw3Q0` z2zv^f3blUUo~3$%z%|14!X3gxLM^f(`_!XPHD7DoNY~jeNUM1}do7t3SLK?*#sa$I zU40#)mc#Qg_BP>i;bH;(@hWCwPaHrA(miT{2E4f~VBNJWZFtpSfMM?}5Dc~vYP|}m zx;VKeDZO1FFks}A9~Jr|2chboI6yds2l>I0`R0_o%jO5~Ms6%z&BqDr3;eAGwE$pNx=(r2x-FkjvL7EaZ5tkDey2~~r^qN>|W*h%18i}BYB z2x=<+Hhrp60s-&6_X-aPGX>sv`S>*$LNXiUS1d_j1zG1wT1D* zXo0qR^t>8y_*;al1swk_0q4&2x+oAJ2s}L+K@HS0oDrP9YoThEOGHz0zX1Cg=?IjB;P!&lqOUcKjt zXut+NB9qNSlb|=hDi92+Cl~Fj3F`{J9xG2^IQ}9+PHAtHnCo$2hQR55r+}m5_)`SrsS+{}csSufk2**Ly#O%$%|M5~ z9grs&)HC#@)izpKJ%K>MiMxV8`#`6yy0nZ4B-}Qh68L7pjf9i^!N3%yI6v*R2t8OA zKH;muvDUa=U7Iw}3jnQAJbKN60cWVbHdJTkI=+m+b(~ Date: Thu, 31 Dec 2020 03:59:13 +0900 Subject: [PATCH 24/53] chore(deps): bump graphviz from 0.15 to 0.16 (#420) Bumps [graphviz](https://github.com/xflr6/graphviz) from 0.15 to 0.16. - [Release notes](https://github.com/xflr6/graphviz/releases) - [Changelog](https://github.com/xflr6/graphviz/blob/master/CHANGES.txt) - [Commits](https://github.com/xflr6/graphviz/compare/0.15...0.16) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 8 ++++---- pyproject.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/poetry.lock b/poetry.lock index 486f18a6..bc2cf5b4 100644 --- a/poetry.lock +++ b/poetry.lock @@ -91,7 +91,7 @@ immutables = ">=0.9" [[package]] name = "graphviz" -version = "0.15" +version = "0.16" description = "Simple Python interface for Graphviz" category = "main" optional = false @@ -333,7 +333,7 @@ testing = ["jaraco.itertools", "func-timeout"] [metadata] lock-version = "1.1" python-versions = "^3.6" -content-hash = "eaea28dae44851f383c06f8bd558a612247dac283eba0a4de6cdc55ff6b98677" +content-hash = "6cb154d248e0d13adbb5229f52d1c1ab9ce2ea9cfe54091cf34cd97ccb822653" [metadata.files] appdirs = [ @@ -368,8 +368,8 @@ contextvars = [ {file = "contextvars-2.4.tar.gz", hash = "sha256:f38c908aaa59c14335eeea12abea5f443646216c4e29380d7bf34d2018e2c39e"}, ] graphviz = [ - {file = "graphviz-0.15-py2.py3-none-any.whl", hash = "sha256:403b55553b235875fa521023a06d9c29b46f3a956f960d4e0a5b956bca9eb9ce"}, - {file = "graphviz-0.15.zip", hash = "sha256:2b85f105024e229ec330fe5067abbe9aa0d7708921a585ecc2bf56000bf5e027"}, + {file = "graphviz-0.16-py2.py3-none-any.whl", hash = "sha256:3cad5517c961090dfc679df6402a57de62d97703e2880a1a46147bb0dc1639eb"}, + {file = "graphviz-0.16.zip", hash = "sha256:d2d25af1c199cad567ce4806f0449cb74eb30cf451fd7597251e1da099ac6e57"}, ] immutables = [ {file = "immutables-0.11-cp35-cp35m-macosx_10_13_x86_64.whl", hash = "sha256:bce27277a2fe91509cca69181971ab509c2ee862e8b37b09f26b64f90e8fe8fb"}, diff --git a/pyproject.toml b/pyproject.toml index c31a9365..934b91ce 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,7 +11,7 @@ include = ["resources/**/*"] [tool.poetry.dependencies] python = "^3.6" -graphviz = ">=0.13.2,<0.16.0" +graphviz = ">=0.13.2,<0.17.0" jinja2 = "^2.10" contextvars = { version = "^2.4", python = "~3.6" } From 54a26048f7348e7de5cf89bbeafb616202a78542 Mon Sep 17 00:00:00 2001 From: gabriel-tessier Date: Tue, 5 Jan 2021 22:50:07 +0900 Subject: [PATCH 25/53] docs(website): update Fluentd path in examples (#429) --- docs/getting-started/examples.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/getting-started/examples.md b/docs/getting-started/examples.md index 7596567a..d32a3e6f 100644 --- a/docs/getting-started/examples.md +++ b/docs/getting-started/examples.md @@ -178,7 +178,7 @@ from diagrams.onprem.analytics import Spark from diagrams.onprem.compute import Server from diagrams.onprem.database import PostgreSQL from diagrams.onprem.inmemory import Redis -from diagrams.onprem.logging import Fluentd +from diagrams.onprem.aggregator import Fluentd from diagrams.onprem.monitoring import Grafana, Prometheus from diagrams.onprem.network import Nginx from diagrams.onprem.queue import Kafka @@ -221,7 +221,7 @@ from diagrams.onprem.analytics import Spark from diagrams.onprem.compute import Server from diagrams.onprem.database import PostgreSQL from diagrams.onprem.inmemory import Redis -from diagrams.onprem.logging import Fluentd +from diagrams.onprem.aggregator import Fluentd from diagrams.onprem.monitoring import Grafana, Prometheus from diagrams.onprem.network import Nginx from diagrams.onprem.queue import Kafka @@ -283,4 +283,4 @@ with Diagram("Broker Consumers", show=False): queue >> consumers >> Aurora("Database") ``` -![rabbitmq consumers diagram](/img/rabbitmq_consumers_diagram.png) \ No newline at end of file +![rabbitmq consumers diagram](/img/rabbitmq_consumers_diagram.png) From 5ac2497b996c31298ff3ba5d95410a009f314367 Mon Sep 17 00:00:00 2001 From: gabriel-tessier Date: Tue, 5 Jan 2021 23:24:28 +0900 Subject: [PATCH 26/53] docs: add more visibility to Custom node (#284) (#424) * Try to make the custom doc page (#284) * [Fix] link syntax * [Fix] Generate the doc for custom outside the provider loop + Remove custom from providers list. * [Fix] Add custom menu in side bar * docs(Custom): Add more examples (#284) --- autogen.sh | 6 +- diagrams/saas/chat.py | 1 - docs/nodes/custom.md | 90 +++++++++++++++++++++++++++ scripts/generate.py | 9 ++- templates/apidoc_custom.tmpl | 6 ++ website/i18n/en.json | 3 + website/sidebars.json | 5 +- website/static/img/custom_local.png | Bin 0 -> 118089 bytes website/static/img/custom_remote.png | Bin 0 -> 34571 bytes 9 files changed, 114 insertions(+), 6 deletions(-) create mode 100644 docs/nodes/custom.md create mode 100644 templates/apidoc_custom.tmpl create mode 100644 website/static/img/custom_local.png create mode 100644 website/static/img/custom_remote.png diff --git a/autogen.sh b/autogen.sh index 6af32ce4..12d51427 100755 --- a/autogen.sh +++ b/autogen.sh @@ -4,7 +4,7 @@ set -e app_root_dir="diagrams" # NOTE: azure icon set is not latest version -providers=("onprem" "aws" "azure" "gcp" "firebase" "k8s" "alibabacloud" "oci" "programming" "saas" "elastic" "generic" "openstack" "outscale") +providers=("onprem" "aws" "azure" "gcp" "firebase" "k8s" "alibabacloud" "oci" "programming" "saas" "elastic" "generic" "openstack" "outscale" ) if ! [ -x "$(command -v round)" ]; then echo 'round is not installed' @@ -52,6 +52,10 @@ for pvd in "${providers[@]}"; do python -m scripts.generate "$pvd" done +# Generate doc for custom module +echo "generating the docs for custom" +python -m scripts.generate "custom" + # run black echo "linting the all the diagram modules" black "$app_root_dir"/**/*.py diff --git a/diagrams/saas/chat.py b/diagrams/saas/chat.py index 2eb52540..e48587ab 100644 --- a/diagrams/saas/chat.py +++ b/diagrams/saas/chat.py @@ -8,7 +8,6 @@ class _Chat(_Saas): _icon_dir = "resources/saas/chat" - class Discord(_Chat): _icon = "discord.png" diff --git a/docs/nodes/custom.md b/docs/nodes/custom.md new file mode 100644 index 00000000..8c2b1b4b --- /dev/null +++ b/docs/nodes/custom.md @@ -0,0 +1,90 @@ +--- +id: custom +title: Custom +--- + +## Custom with local icons + +For this example we use the following architecture: + +``` +. +├── custom_local.py +├── my_resources +│ ├── cc_heart.black.png +│ ├── cc_attribution.png +│ ├──... +``` + +The content of custom_local.py file: + +```python +from diagrams import Diagram, Cluster +from diagrams.custom import Custom + + +with Diagram("Custom with local icons\n Can be downloaded here: \nhttps://creativecommons.org/about/downloads/", show=False, filename="custom_local", direction="LR"): + cc_heart = Custom("Creative Commons", "./my_resources/cc_heart.black.png") + cc_attribution = Custom("Credit must be given to the creator", "./my_resources/cc_attribution.png") + + cc_sa = Custom("Adaptations must be shared\n under the same terms", "./my_resources/cc_sa.png") + cc_nd = Custom("No derivatives or adaptations\n of the work are permitted", "./my_resources/cc_nd.png") + cc_zero = Custom("Public Domain Dedication", "./my_resources/cc_zero.png") + + with Cluster("Non Commercial"): + non_commercial = [Custom("Y", "./my_resources/cc_nc-jp.png") - Custom("E", "./my_resources/cc_nc-eu.png") - Custom("S", "./my_resources/cc_nc.png")] + + cc_heart >> cc_attribution + cc_heart >> non_commercial + cc_heart >> cc_sa + cc_heart >> cc_nd + cc_heart >> cc_zero +``` + +It will generate the following diagram: + +![custom local](/img/custom_local.png) + + +## Custom with remote icons + +If your icons are hosted and can be accessed when you generate the diagrams, you can + +```python +from diagrams import Diagram, Cluster +from diagrams.custom import Custom +from urllib.request import urlretrieve + +with Diagram("Custom with remote icons", show=False, filename="custom_remote", direction="LR"): + + # download the icon image file + diagrams_url = "https://github.com/mingrammer/diagrams/raw/master/assets/img/diagrams.png" + diagrams_icon = "diagrams.png" + urlretrieve(diagrams_url, diagrams_icon) + + diagrams = Custom("Diagrams", diagrams_icon) + + with Cluster("Some Providers"): + + openstack_url = "https://github.com/mingrammer/diagrams/raw/master/resources/openstack/openstack.png" + openstack_icon = "openstack.png" + urlretrieve(openstack_url, openstack_icon) + + openstack = Custom("OpenStack", openstack_icon) + + elastic_url = "https://github.com/mingrammer/diagrams/raw/master/resources/elastic/saas/elastic.png" + elastic_icon = "elastic.png" + urlretrieve(elastic_url, elastic_icon) + + elastic = Custom("Elastic", elastic_icon) + + diagrams >> openstack + diagrams >> elastic +``` + +It will generate the following diagram: + +![custom local](/img/custom_remote.png) + + +Another example can be found [Here](https://diagrams.mingrammer.com/docs/getting-started/examples#rabbitmq-consumers-with-custom-nodes). diff --git a/scripts/generate.py b/scripts/generate.py index f1568d24..d757b9cf 100644 --- a/scripts/generate.py +++ b/scripts/generate.py @@ -2,7 +2,7 @@ import os import sys from typing import Iterable -from jinja2 import Environment, FileSystemLoader, Template +from jinja2 import Environment, FileSystemLoader, Template, exceptions import config as cfg from . import app_root_dir, doc_root_dir, resource_dir, template_dir @@ -41,7 +41,12 @@ def gen_classes(pvd: str, typ: str, paths: Iterable[str]) -> str: def gen_apidoc(pvd: str, typ_paths: dict) -> str: - tmpl = load_tmpl(cfg.TMPL_APIDOC) + try: + default_tmp = cfg.TMPL_APIDOC.split('.') + tmpl_file = f"{default_tmp[0]}_{pvd}.{default_tmp[1]}" + tmpl = load_tmpl(tmpl_file) + except exceptions.TemplateNotFound: + tmpl = load_tmpl(cfg.TMPL_APIDOC) # TODO: remove def _gen_class_name(path: str) -> str: diff --git a/templates/apidoc_custom.tmpl b/templates/apidoc_custom.tmpl new file mode 100644 index 00000000..d3c88200 --- /dev/null +++ b/templates/apidoc_custom.tmpl @@ -0,0 +1,6 @@ +--- +id: {{ pvd }} +title: {{ pvd|up_or_title(pvd) }} +--- + +For a full example check: [Here](https://diagrams.mingrammer.com/docs/getting-started/examples#rabbitmq-consumers-with-custom-nodes). diff --git a/website/i18n/en.json b/website/i18n/en.json index 00bb5536..1c4a1a31 100644 --- a/website/i18n/en.json +++ b/website/i18n/en.json @@ -32,6 +32,9 @@ "nodes/azure": { "title": "Azure" }, + "nodes/custom": { + "title": "Custom" + }, "nodes/elastic": { "title": "Elastic" }, diff --git a/website/sidebars.json b/website/sidebars.json index a9697114..0f53f300 100644 --- a/website/sidebars.json +++ b/website/sidebars.json @@ -24,7 +24,8 @@ "nodes/elastic", "nodes/generic", "nodes/programming", - "nodes/saas" + "nodes/saas", + "nodes/custom" ] } -} \ No newline at end of file +} diff --git a/website/static/img/custom_local.png b/website/static/img/custom_local.png new file mode 100644 index 0000000000000000000000000000000000000000..55b81766345b78c35cb26bd83a76a6ad6fcd39f5 GIT binary patch literal 118089 zcmeFZWn5JK*FHK1q9|~ygrb0nq=*Pes|X0v-AG7xH{2EiBHbS_=i_|K&` z48by?RA*nLu-uRglsRojKKs$v%g=n3{9oaV8ZCDj9jsMlPT%Y%3(DJIyg|WpmcH;# zQpA(J)+*YsUMCIP^+`h3j@*CDaL>fEU(Ta2FnO&$M z{)Y=P@h6ZU9z1bIP8L;%n!1YojXL$;H~jZL{5Kx{yD$EmACNro-#q#M#(MG3*fO$s zbqN*27I8fG;)EpEJLCCXH+rN6XFHRGc-(frex~M4yL?aT@5XFTb7P~7l2Z7PMcINw z<#iJ8H*epPQ&D9-eBDg{@S$8+SC_A!pZxCHlwyU=YsG9ONyRJ$StqCRT5US7XFrfK zdq@Jc)a%dULVwXfiD^V%zIMLX35|p(YbT7KYhs+%PcfG zEQVAhqaVroQ*kI{DKI1~oqrO<=C^hMj$?YCl~vkxdkLeg?VkG6kJ5B~x{b$qEv3V+ zFx`wZ=F68ay&1B%OH8p+Vq#)hY9(24%GzrvdMkPWAEvu$rG=+-pu66CG<aB@7&qpCGj%#My?7qYF#-z@Kxunmiwk6i$=K&H#hg;XMLZ<#2fYt zzh#9!T#yZ+lhiNjKcGJ6Rf4~gM!~YdT+5nWkq-Xt*l=dmFI821o}y^FlP6F1*0{UE zd5Le%W7D6X62>wwxxiO=x%Jn2*6wZ0CZ|cpn0$Lf@H6f4OUflG0nbA>4)Xy8 zKOS3tfnxsN%nqNZ3JwcPWz+j*wD7w?cshFefav`Bp1_+zkL>=+5D*gX^OB%O$BWJ3 zosng3yEepBk6ysSY&wRXWDpS0n)u}}Ki`*&qbBgO#KWnvik@_7(;pu%MnBN`&LPOp zd*{w`Sy@^15_+EO^5x|Dyh>J8i@b;I>|ycoc}OJw@VU%mKNl($ z``Eh8Qj6lBe-cleI`cO*LQC%X^B)|;T&RTObz+~#<|`i^;vfRL;V7&V^5A zSPY}lvuQC3l@8`%tlC=eRgAJ<-ZgMd+wjCSx3~B87a7{Gj6GfaT_7}AYTgshqF!t} zBNfNzET`m2ohO_8L11U>)UZtpOZXC@SL$&z@uc@;mW{Z)?BHAf1n0`qFWMA**S>|N zECWKwq`xrr(xppeR8%HSH6FHG3##U$HJaH8v7-lAdA$uD1?=rP|HH!;bgla9|33!&RRNHgLZwhIx!ZOFrpZc85|c*TH^ zh(nXbfs(m_lI-s8Znr{y@A{;^Ty@ixv2Wty;&QKEB}$i?mc+(hXVI!sv8>(Mc&lYwI6B$oE>_p~RXxh(ULya78POS`tF!SSFb*mkBp z6ZUuX!`Hr3jt6G~J>PF1y@F$|WWw#3{YFTu;Naj;Q+gRfX?3E(bQo<97tGk3y4wLc z5t3RuY&FxNa%%5|TN>&Fik- z9*M~(pZWb;rFy-c7rnn!x$e$mt25zH$>F+X#(%gov5WquCLrwjRIL7|~3K9}!h>HhQ;kWkvW&gUd^>db{sNUBqtoZ{ikna=Ce znQ#CBi8FPC_+bBufudkHpIbJ!vpS*G=J@zJ+~3G}_bt^hdfD#{vwR^jG1>CzQnP=% zl7mwsBd>%p$p5ko_>Sx?2)uMOljC-FoN~3Q)!5kB1f~yLw?(Na48@w8 zo4Xr>Zex-~1Kc!w7ITpl3^g-LqoPoGz4l=3r9Tb-Kv@#X$v+G^S6%(XgWb9AR6iRV z8;K6M6g0(sjSNP`ES128IgR@fXD(bxBo#d9%-$vCTk)ckiv1g5D78FVt4+;g*BKyq zXyjr6yK%ZTDjC*HE%1WZIeZMtXr!d3W_sZE#Kpwe_{)%!McZYL=G}xlT?%J=A2ut- zt#UXoirp~lWyE~}sp%-lK^ai*_GZ%)Bs%>4{E)<`P->=nKKR7SKk4R3WD?$wcnN3o zRrx13C#RAh1eb{qYL6hE$QA=irT*W*MRrq%~Gqar83I+xSmz{C% z_07E#leG8{y|ObIBK^p){d&*(ty{M?eo|^@xNOc*q^z~V9xH)O>Sk#;(;lZ*>5xl$ z$@v}>8F)<*GM!{c9J}G?;E)iO7X)?k_~pKJpM^yd3MU&sD?R;-kbBZfZ_f}jznH3c z-4fnJsZ50)wqQ{&Z6)-n!hY2ea^L6@)f#^4+8B6K{N>A{8{{Zye9iKG09Dp7-uai^ zY+=9I-gfO#ZhIWBdT6U{CETvS!L`0P$C1pgWYHFbqNr#`WFO-;dIWZFp73%$J`FQS z7D!&1b=E}Nb%jU^7^BBjZ}Rh3Ke1?0=Zry4admF`HEbLV+J2rH&i{D3euT0_CE!+W zV{0qfmJM-o2sMKK#*Ml!`qS?|e4uDFpArSg@+*MWa*xgo@B;GYQ46;-WQNCIJXh2q z(6hHWFWGkP!iC-xu@JJWSB+&E*Z)jRoS!URn@7**^&qcaxng880`J>|6;=x+stY^5 z@I=Vt03w<3)B5!#bud4f*Lt&~mX^za0EKCr87ggXzZKuI8qu z0(x?yeB$WMDykpv{9T|&PC;Ry^Kkhz0l{pPVSE#IuBgqR zhrNR@8K4p^-MatRuMhmGd6h`K>nFG^%GC9KeHtGy9HYWlK{7VLiaoF+B-$z>F4+f1=}aRzPCiZ_%otfj8o z7MN^h>8PkEnhs-t2C$C|OfXbl$_51p1eAH_24GRG$iP378@IQ~wDMCGZRN5)RAIXb zn@5@}zO<6v1PBn= zGPUO92D$VDDXoRhtx+Npl0MV?YDhht#&upN0Jet=A2ukf!G13? z*4Wr9K{`&uot5#lc;Q8xibp!%PoKYhVu$#6zh6w3ij#A5tAaZ@y&C)U?HOYzeH3Yh zN|5tBcBd$*xow^Y+u=5`*-%{=RSQ!RLY$X_L}}PIrZdY|c~Ye|9M z_aBjcFELEU^x%OEufxJhlV0K&FTiK{XV2b1{PV|$#Kz`8aHvHR(QlPcBMCPnlE*$P za~0Z`FOMmo07_AWlagp-+aEdgAON33Z;e6zK^lPWo*sTG%cA~br&Zk&^TED9`qTRQ z`bN#63~FCr{VOLY2f)d6&KVQ`wcm{B!UY9L;&%IsW!aXaH3UnKmRV~Ld&LA-hAqwlMkJ4_%F|3IZAFC)d{2$S5giRy9ijL2L{= zj%GS64p7`%*KlwsZH{2gpJ)i!e|-dyn+E{=zb-kLQu9HDd@cT|sVV120z5ow-lVkm ztpt5h!l#*#X6gNK*{FwUmL1)lI~fqh6m$=l;g)(ZwFlcB>{!bO?4T(C--ZSTj;-#% zvFD+qD|v8Hrb-qeM~EsoO#33ynMw_xsi&+SGfU`??5@w?sGmXtUw3@>^6_;NXl=SC zR$-Sy{1*Hl9|YJDMdb-gpdR|em0(=_`9(|llZb*HiM z1twFz;rsKI)E_^d3yX-j@Okv4NkaCdpgZZyiccdq!=t0KLPN;{8nCbf$H&Jh=-#lt zfB!xcdIFjNX-P>%HMQvXK3;$DEvC#z^IWH8yaoG1fU{5%Qia*}Lau6Znl9HQFZh)4^|M};Y&MlRj zH*O%I4zB@NhmFA^ahgo}_>h2FUN!{KZaW?LbB)l)v>CwLzZn!|%B70a1PD4TL>3kn zGXKxpQGzXvt#a{{9n)>CtqLwK=!OX^~}+_AC)8F;S4!Z8OQT6LRk7SGg$w{a7rWxTA!Ggop0;0Qjg>x_r8H!ZhxT+b4WZ zLrqRj&+RW(ZZ7s|GG4uu^FwV_JV#Y>Y9i0=Z9bH|r~y$01qBbi@6xR`j`yVFi|NnF zxE+TND&|f^3(M?x)+oK{P;)Wgj~`bQH8k{6 zUq*0p9749FxO?J1tA1kA4t+;#cBaF$XM3t81O@5HUP|0SO2ycFcEgTY8S&^^y~K|@+H*nKhufpR8$R;sB{uaGxhiF< zQ@Z&PEUfZ(g1z@*$``lv0k^2aEf%sZ#O zvkVdQ&w>uM=Pvf&8SbjiuQ|{Sm!c7zE^<#CgUp57;yy9Pi>&9`_@B=ssUhyXhoImi4`*RTFc!Y1|58@%VdD1d;VR z5k0eVaGl~38F@d{FyyM!-~DSTVqb8Sz|=&C8l_`g_ZQYeU;O>Ob#9!KURD`}Xaw!o4K)TyIXA@06Z> z36o}BTb zXx&NErH}kfD`;U-^?!UMn_OGCLf|OHV zAD>mHgAT!?)`={ln-MLk2_Ab*6RVKi5ncev20r*0e!+d6L@`6=+r%nVBz9cm?Hz5% zr(27IGpjqk8_h1g>f0_W;QoV<`efTz}g~76pUUqbw8y(8&^R*9<70Gnr z6w`irLa9g6zp!x?B{_MjVS@V>>rs4ER3`LanDl+Bhx(1L6W(5@re5s9?KA_neudnd z)2I$SHX|wk=oCd&YurP(Ios3l<)Vw*bilu32|-d-CMTzkEed z-SEBNdlg{x0He*W?!@sr&OsGGGAK2_3$Q7R05Sk5k|DtC*75d%%LHT#U$^Dt2Gn6+ zj;fx{t)1>@4pWI?<{ayZUx20mkL-*sHkOy4nCVEcl)bbQ-M^g$5xHh;8r4KHmjzMZ?irD3!KYu#&9rk9*!|8^<_X(s$y7f%? zbUqsGJPmGnM@_<4H2Bjzd-mKpw(7N=!~Nx!DI3+$vm-VY8dO{sv6ty4>bGpN2u0e-8~EJn`w8~bFvMWmbdE-a98!Jh{*h3xb}0eE z24J}R_HcS#-4oN3Cw8ch&v|yZvP?XTacb2G+99OdnY9Bf7T*X>9)z8t38q3JQ*I94 z^ga`H@ZlKF{`mDPOTEkj{~g`EdO@%Jq5j8c*)R3w#$;CJoLV`)A0MysIelGl=%}5B zkVTp&9?!$7_nB545D(ao7jH}C@(eCIAnXX7zZKi@9hV0ZuO}dPpu#qN#BE*D@6xx% z7|WVWAl;&(Z5yZ^Gn8`GDDIwI`A;kK%b;i$x*LSz&2)yAfK78O&=VrJ8(MyeHfvxq z*mU1ziiVtMq&+@`sU8^xB9&JBy&%F7BtCr`8Xs?AGD7V*l=Ol48qzRL z9XCwKEoON9_;+tCl;~Ng!e8kx9xlM&oxpWSw4DR=4R2uzu_y~c_tp7f!^4K1+&dL%u9e)MfBvK zY521MUoi6W4)#_7?}AVX(K4t!-{W=o`RkX9Vkt1YiNF?h*j2nOfKMZ<&to;_HCq9U zgi?RuYou}hPvbd1T3ZWTi-pU`7hyky>#fkZe_oDU8ghd)|7Iu!i<-WR1%&s;*jrMy zKq9Yu$Csl4tkW<5Yw3Z3|Mb|7x^HVD^cF=5W4x9p&K}`!(q`VjduIf#0ud2W;s4!X z{|mjntG%}YWMCKvn66DWQKZb3PSE|27JyMpVDIm3Vp@Tr?63p41M_Jy7Wj`J$Fk2& zp${2=7}I9B$nW)I8c!Wj=V*!DK z6(P7g(eW|RWfIajd665jN<=*rMmQC~(h?m&5ab|lf(ih1$Ah={8~SO;s-8IdvGo^a zY`cM>q3KxNzb@Oujuk$Uguu*e()aJ*nO`{lTR$!XuyM+v(!G!$z~C-J zC&cm`G>Zlu@r#?BkU3Iy>Obs0Aon^rZjFUboH&786bUs?3IKPf5`W;sO`%m2my&|b zRN@x9^5)~mvx~!(*kE&Y9f-WS{-ShfAf`7tA?2l=yG&;l$1YQ6HNXjc9vk_kOJAe~ zagVfrIzl~x$`M5;89j-KOYtLubp}#3)3_&Xm$4l>=x(Tf(-`)O6Dr5(`;)M!sOdcUhRg0VL#!|1TOc%*X!=ED?-vR(A4U1F}GM1u1a z8GxAuB+k}F;Nw~bmI^w@KW^kkv)>ub5(M0Pp{YYU1g>$SM7ZTop*fU+mqVkYqw~#& zohJO%3iW+}WpNKB@gm0`Bk<18h6YpM`ve%QfmTxlChC#Z*b{0#r%u9Iq7T5Im_QVn z{QjB*X+C;+5tAWXZ`g4CKa-vv%~bKQV%?ua945W=ql3+mhTfgKtdOn5g7CcqWtIt~ zm-ZTJ-1j$r>jf~}y!jNN|1B&mYRdXy5|*n{@J7Dm-)C=-;PrY5S=nUu&rcwKDq)d$O04XgY3_#p8e78De;yf|RSIc$&B zRI73-XbxwYf185JBS2Cn>JSLKXTbJgAvWE&s>Xq2hVaaWN^UY#UNGXi%%7T;*1YJj zufJb2=1>_14H={aX~=rWU?4O$b|IvjSquhhLf#}8m^wnAJRV|xvYgXw>CJ{G6ZDfl z=9SyVzlQF*=={EY`1zy?9LyA^SuTH*ydfnotuK1NdzS&J7d`Qr7wYgmsK~qeC4(2B zVnOT2qVn|#kcAjPY@tz6v+KBb@826A?5xgpB{y(*`lHs&mAq;%!-XV{0XRWo+oERI z0J(lhWpUDF2>{OCpQki|Swi99VwQaRXSHIZB*=vsz<*@PB)wU17>#G1wW+ZC+j-M{ zy^Tu^DW~~bxw-0P)AO?OB6EGY*%0%Y&`5_bp7JU|diJ{WIef{Fk%A}k`FbWWIM{n! ztq(6#eYz zvD@1)rWSBh0btWTQtgUl2nbU}=n88M^2dRH>GET($q2stQmsZ16|RF+c2xX1Vqy%? zY6wxmzx7*hpvW*Fbss97B6OH?^71A6O~Io_!xm)-HFH-ybf^09Q7I2lLLRK0{r&wA zizRl#yCx9ro9(>I2vHoHMoe}BkNTZj4T^x{6^r3C?|#Wzoq`O?R8>{6kKO`%1`ry? zB>A%*{N&fK=RiNK0qLUndwo5Qn$Ro2sti9>q@bb60|c*njmttoPVN#@_TGdyf?`ct zBiYCd6F=g2dY!5LTyGa#)+5Iy4Jep{B=Gk!4%K!MXRc=9>4+m9%&xHjCe}TNk$jz;)UTU^F zIFa0ngdfbUkQ5H|1;hRO?J#uSIfq})a6cgE$G*Mga9Vk_I8v>S4A_t206RD@WyfLrh{MC}+H5E=ho4U;qP_zBDytO&BJ#J{V6`;+^!={$^)#!FWQm;s zP=OThfvr<)H!FwmSpzUh22_-9{230Xm?|WqxMxyM#krJJ=7`&Jx|8k^`%tEA zc->biy%HC_IACqE?>ekdHhb1RY+{+Ymf`bq{S?`c?KAWP<%3W|=>s*=9Zfve?nPJ5 z@h%FuiCNzOp2)W*-&kO}2Pi`qGb5O;}nO?%d9 zhyAWz@o_csC+wHIlj{>Oen(U(7R0yhcII<=D8>TvACO@F3aXmU`1hKR*9zQzyl={n zb@meAnOqZ!ccag#xU0G4PX8k3aq0U#+#1_wf`g9;tt#_X->gf$ezcovX7tg*+lbyG zwMN>bTzM|sZ7$KgC!V-N%Mjd`ns8h_V=n(}H?fEK1WQkaIYDlU)}8>_9VIt9qWPIt zqU+~(F5^!XWzAqdF1okjdDnh^q9daLlD6_zU81%puGXr}u-@B%acYB8@>;*NxutoY z2u`5yUv0|NLekv6{o6FXi(+M25n5Mkh7V zQ$xh88Nw619MhG8he8%}E;z?Yl)bn~ri)~BwsC{j+|dG|n(Li<{UvRJ(~Y|=a@BiA zTqQ<*62yacU8g!aI=9o0c$$jzJh(05`q|Wz2_0np3@AT;(_6lel@{#iJk`cpy>+m? zebcn|*S2xi9xiP*LQs^uOhd@h^h;kyzH(YazlUo=n(2|W_N@O+_b@wCTMnasS;wPw zNtQkCea2mX!OPqX^P8hVr!WkesZ@_Fv$wX1u`zxgy%kI}*GUBoNh)oQ%AQ%0Rw$dR zaVq1o^*0Zzg9=IWF+XN#`bG!Klto4sr9C8%+!FoN9$BXC zwGC$X)KNZi-?yA_vv%_@I;mWb>>~QdLxvlh1GJ%+Jz@?=80F%b@1q0Ex?_X{y4&Rz z?MDOih?q1rtsR=|^?gM6HexwLEplB6hm)^e7cE&W%G}$&O&H2CYrcv8c2lf**V>oH zbwhCA^01sc;kI&WV#vTDrqadDf3lQ7ODCU17*ionTFRS7S<@)%edPM0Ol08o`TQ^Q z`IiPNJo7$~l+Aw_M4P-wzr=&K4i|{TeTjden&wq~PjNqfpW{o6ozc|2J*#eZDtGt7 zU&D%hLnfjl7P#%B53|V&ztG!B<5^U}Ny&oCeQC5(jAi;>$`$5Ii!PqOEflLt{NfkL z@)q7^Z;GwOP;JPE3+#2c`;wv`wD;(F^y}GLg~z)c5Sz2~$hjx{%@;p$uh_nc*TqTm zT%4o0Ju6p}mKgBy*qx*MJ%vY`y{E{J9?Q*e-pB6Q2ARYtXy2qO;@x(Xho-0PX~cQk&5n2Tjk^ASk1TT;yHxo1`BSMba_>#eS44B} z(e80B@=H1;eh`lwnwAbW8^}EpD0%tXvO=BoXuer>eSM@{j?zfwh_dAV*Ch1FzNh%v zj^6R%(RsTldK@QHt*5sQO?TFN^;Dik%u)LqW5{+$P3)eJ77gRiHWv|=XYP(}`JvQmZ^Hac2j4K!hRP!s_<-9jh|a}P(izX)J2THS@ZXk1`>b8>2LcR@s$VUTT~h4 zF_wycrxKb3ScNdr#Y%Dn6PBY(8)WZEU-X&sH*3@XFgIK`s(tBL#iN<5{!Vk} zTcZ8lR7ctrRnyv@ib@{(p(3H1Vm5I@dCMf?#2@%`8U+jIj#bEEurW(>`-_?>UF4o+~MMJ&b($tG?qMf~FcnUYa7}1Nv()Fxvsgtp< z2vjdJI=q z9EpkNYPbBWyCueo!pd5H>%qxrHBSHiiSv=wu~|w);nn)?C41_>X_*%P<;of$CgGM& z=)D?}9x`y7G20|mUOjlUFMUv&vBSxiup&ECaox|RC2wB+Zst>;qCJb2k@Nd28Y;$)bjB z8`Tq}Uy;6xh(!J4vuAf4r=4Gyr=FE2Do%dGsJPP;u^0P@T41`nqP`<@v9MOEAc8mD z_P!W*gZ)M*nQBdyxMm@1W%IAFFd@QfPnHP10J;8*m$e1JhxLEIr7-=+@-=7Wb%&-! zo2HG_$fx$3zfFbgmnyb5p4FyOdCHp(59g-4(EVikK3MoFpnEgOGy1xmQo+S;wBEhY zdkl4ulqxQ8i-tKo^EDygPN$Vz@MXAmyRu#LuDa@QxPquBD}LJNR>PHfFQrk*ny7kURL|p(WHETZm86YI@F}~JTmGqg52p@tX9vWyK6K?1 z(a?@|E4LFlc^%(6(O8R*=L6RpXzgz(`>y}(T|6(mE_c5|Uw*^aEG+aLFBYTuQ6;4bh~;Z8p$d$r>)K)dX} zk9GU7y0+^0mnXwmnm-Ne5H4F}L7J_tD=hr}jF@*#X9ipLCx?ZftJNB?`4AvacD?kW z$xfMxjhR+D!F)%Sakka6`0LJ1U%$|rc7{}{%{fhH0^SF5U8$-0r0I+=?G@&>kH)&2 zCemB;_tbvTc@N*`*0j;=*45;3pZr*OzwDtQYpQq~+Ek^e663hrGAH;)sQT#jy=qV8 zl-=RV&kUOxFVU+3zsB2NV2-53gSvt!Yh+wpT3PSWi?h8>+4SxS&3yhIS3nuZZLKEa zSG|=%VWNB_S^ZTvjATSp_9d4=md*B^pGSRtYawlvZ*&y}MARJr2DVpRX6>(CUwMjS zWqm@fr#<;rJTF zo$c;d)&{Wp5(_|Al87qE)=iH$p|)1@8+FrsDOX*k%axd>HgqX>p)J99t0p%4lb`b2 zA2P4aRlnqa)=~)5G*&BdDI4GX4x_nXUQNU9YP1^WbY=5%kr(Nnz40$?(*9tepD3cC^5&WemIP6S| zRHn>T6L-Du?=jTH;qPf;Exu?uAE>6AVVdddUM=8mp7RAg zlp^D*I^3O?r|VY32aF>Hi(P$#{N~};nXus!pXPpPlbN-CwMe-cFHBW7n5QWl$p4llZUwYbM|8n z9caqE8x9Ix=~F4(U9;Qgwl|ygI_Psn&npt~Bo8wQ^mGf26FoHJ=M;Wqn*Hlrhv{Bu zLfF+&Q86x!s`LYW_KD_((h*!h=EPi(%Y4DTu)b>lOU;vW5&1JlbARkGG&>nf2Q6`> z{-vr7&+`td4rNN5zSdIZU(3eQP=Bc(9;8qD^fH}fv9~?&GZm&%mCPQP;RkSmoq0Uu^?6=6v73f(UK@}lUw_r`s`vcLlW};#jhTP^#PVn&Lu6QRd2T-g7?uk!yK3*<@4LpzqVS{bs8e!r zj*;$&aGdpxiC_j+bn0)In6~lv7HzTdDTVac($%{kC&uPw?|9r@Oa&)EAaf1NdtX6V>;#eMeG z+}PW(l8k*UF(rRoO@7d=H!fX=VI-BT`Cn=kcg zf?Fb?<)p6=%7fkS=oAnbiLY$pI-AJ{Ln*a{G5Jnv>?nS7S*FPnmy*1o0qcZ zKSWv)OvUxahZTiYaf)&f+9}=+piw`A>N}>XmQOZg!BoXYp*q89bGYLS0Ejq;)9ND|~qb zPWPDE0x#wNzu!=IROFa2E*t7f+u&IlLvrrKv-8#4bi&b3j6~jcKMgXVyy&bDZAEt8 zMIqwi}O$ieMC{|=Efpimk&j@M!Aw8fyn%&}-dj=`c< z`~sB2-Cie7_2#IuBlACyeg@apdMcF>-Z=jinL48QZgFrZo~K~$tS1%B0e$~mZrKR> z-kbHd;NW0{xkf$(eh>^Cq!`>DITq*Zs6~*y>Xiw?2}I2K-&*zoC}&CQ@EiPEV^gLMxNq7$N-0aWZZoRhOPMFI0!Do%-_BSpBSPXfy2Ob zil!Tc-GyzGr%~Oa_z$VW>>1JXgL*JSIza&D@K2P=>>5(i(oDcUgbYj34vQ|*BjF@B z^ze73u^3d2_J2E{BIgD(*Ko|DeiW=v`3aaxBhyHQ_(-fEfk`$s+!8 zFudG=L5OY3n&Rr}>fTB{sbaN@JuK0U!I4su$>;c3xKapSDH!@nAVP09H#em+TV)=b z$&ZM!B|Y9n9F!Oxa}KCTuWcmb-4Fu#Rt;`To%rg*=aj5kRmrxl&d#8GPywLL2ov)+ zZ{Co>Ob4QwfPkQBbW~d@TM=T{Hy}V6bpIfqPxqr_orBRVBF(w4i3YDoB(DRX$1u6>3BE;^yQxV9DAm%FY)a>M)Z4XA)5u_!ETM$u;hiC-tR{@5=H*l&ZYB+Yoc6t~j!-S3_mk!l&3kkR}ONbtq z#S-izo5>gQ6kUZX%vs9$@f6G|$e2J8hN5e$t87UqqB zt+(24Hkiiqz*;h%FKYYgscjTKo8Hkp*NzAXD7D>m#3Rqc5EQ1b=^!Iv0E;FFGv3`V z`kbGikGLhl?K2DV6?sU~gB&5j!5gjY9e-<&aQWw`Pp;g-9}PzTS;(9cPN!tBq^hc_ zx6D!-v}Z3tbE04B$|1irRKa2P`vKxDgw*X=sRePN<+dv94ufJkJHk47d|-3Og2w^& zvgEn;*Uh0_;1c9;SWua2i^0BITG9d$KsS^U4(By}(9x7DGC{Iqt=gc>WR(oC_GPhH}*q8x9x> z;1@pI=u@v4kt=#a!uh(Hta|m=HJiuRqw+3-+pjRE3n` zFyFrf6$r_$wMU1QKEo#-oI)Vc4R2(=iJ13b^lyL`NqY7kk!gTBW-MO&pH|Jo!^1t0 z5Iuqmnu3kdWB=#RADCksf`&W#H#N%fB7&N15}_bufM^2JM~9vN+Ej~aTQmna$ijT$ zh6iDHBlFX{FT*orlAcB7*{)5BK_(O~C@7$FAgrTC(wo=yY4{Z4oRo^=37e&YLWhN~ z11l2uW!@G6kly7W+moD8q0!DCruB1B6uG9{2T?=#Y~A=2q~>QxX%_m}OTaU#R&JH# zOU9t9YuGQ1$TFa;DCVkh^l%uo$09zUnBU}Ht@yB=yn#pnJ;Amk5kLyYSy(&Uh3~IK zkmLlpKo0aN4>?9=?My(S3GT#@rnnOie35+=D0CgBmf!(t*)Xr$9`&pR?`DJ9(V;;R zIjfci5BG}`CGYh~WiG4$GUg7Jjry-Ti zs)!>H4#@~oLivdXP(g5E90GR7RPRZ}c7D~Vf5^cJ6LWB+A_i2+rRFQ( z5d|>=Vw(VG2L!h_V)X+#3<%lO0Am!Y<*u!-%UfA}J;31<;oA_M1FWY4B6|Sq_f&hF zIv|9Wtz;N@gFg}t-i1U6hpSXEFyRFYuo3JtqO)gLWV}%p@A0?KAB13VVG>|;_|V|u z>^uv3U#b2BF@I;2Dd;>03Sawq?9JZ8fkqMmQ0g7H51<@@kOF(NJV=FMu78u3mi97l zdn72IjKNNh2&bTCClw&ZU{FhN7`?VwR$b1)%>mZlA>XSJhoA?i6jMvXeu7 z;37gYGk~%yG`vvW5qp{Afw;MyT`?H8@*z1H!5*ZENq5^_b6F^8=uMZVMeLG#>nRPe zfM9%U?QNccWk%de3dKgUq;_YWtUmkrbRil@ zSaRde#HTdG;L?C%R}G>+M1KZ|A`61s#jd6}M=4uie}Ns7quR6b8=S<*TWJ0g)h*)N zltN^k=OFC3`0iVdR3WMP;NXC-6C((PQZkN55hOMkusdZ#Ng4`r&KHxEgd-Ix)OxsY z{_PS13rWrG^}YRlQ}EXy1$evw^s~Jni01Dk_fo%!By@ctBO$>6qi(@pFvT@( zFok{M0j(E}>jE1hZ3Htw)ot4m#FdQbGyqQ!{^!_5h8=xSo`?fn!CZ&|n=Pr`hBTCGIq(&4fIpZ@>v2oSeU0)&IHzpAhR-~< z)1MkI0fOfj=jXE#l`IyE?JNf!qWkJkN}4&Mx;A{8?{5W5QE+A* z7g)I<+S^Z24;ukUm>a4n8sENd_#Utx1iv_wQqIa>J}60wATGNQun&S^d+?C2Upu)% zdVF3#X6@!$SZg2g0N@m$N8#`7B1gm@UCG|< z34+UA&U^@bqvmz!{q~lSpR)nL_yuiu&?}X3S`7V7`i#;LLO^mO9U$us0P;wGdJSs;@6!MGOC+mRqx8}B@QRY(suDQNnpgFH|g$H|)xOjECR zFv5`aHg^pF#5K0f#?3-!$}Ih}RwTn-a@}b>tN3 z=`{~ep>A9otXK{-XjT6bB=m`O>6FtmKn{#bIT;{vH*}H!Tw%Ynq62uqDJLHSv%lEO z7|$K#;9W_S7;;*SKdn6@DgN*D9~LSewO9I0Ar zNKu0Hm&7Wh8isAf|zx7*`%_F-aRq5Z8 z1W5Cgt6C&d?XoEc2!Wj}HkB!<5?mIDxw90o2$;1ZyL&+3D>+yjQ)1Nh3^D9HG5{$e zO=Z}1R0lpUoCn1dyPat4DmkpzOZ8iOOfY)f;H)MtMNND&n05wF8ocCfn-f?w+0Eo?LLGc4??3xyp4VGzo z@A`2i|L)Y6^8nps!Sp9FCk{Ze3w|?pQk>uT(acH#39t!2%o2 z=Ugb2AYlGXnG5vsdE@Td;Q5?&N0q-ps+U#3V1b@DvdxSnU@^SW6}k{3zP`RT*}o8( zILNi4dbO&5CfCsXfr6?z@$8@L70dzq_*5T%T-dP_P`a1=lQmc#}P zHJkY%09trL%g{kdXYujxQ0=ZBhk8rh!tJi)` z0aSU|Ty)uGz}m3L#?W#_B#pm6-=~@0yWS&96`7jby3g)$ zAzr7X#pEwv_&ic+8hws$>Q^Y)R|aaJt1eV)!=3$|`jQeVKW33U+mZq#cK{HwAfcx9 zRg<%y+yg#B;_svg;O7U$?f`H^wPFY+?eIH zK9jn)5RTs86H0-<6hNMGnwBy-_|QP+j65uZ=I_!LJb!0$ zeturbAKa+$43}Sks(>9(gdBOnUG~y7(}kB;Pp`|MyM)X>-$bB`J>FdwyjLU_oRR;Xw)3oh!wVT%qK;@jDrF@TRrqQN2_ z@ASvV?v$Mp3yA}h!F5_`4QEa?QF%X;$0_`2PuQ7mCuS)#Mqtcu_*NRlKjQMoi@vH$KL!>6y1Dg;WC&uI_s>-wF@&d+QwBuk0Qtm7ZkF z+_d57j6W`FsDwFKzvKl;ro!qM{4p|RL}~=EmMokuG1f}M?XKn*3rtV&WK$AWlC$Ui zcKK6blUz1)t-9@+m+65bl-r@#W}MmANz#2O7&4;6TCzpLh?>dA5|&C24`+`KlmHyH z8nMaevE17FexB6`cnU{NtMFE5EpFvJ4LUoUxSrWZ*W-uXv7BC>_-=HFfH^oen25YF ze*nXnDKce4MAW)y1EG{xCdR~6Uu5_CVgcCOVP~+u+%FFU6o=NV|4T`g_c%_fex~j3 zG64#UPY$X%PY$aX)e9p{6fzS7-M)SJHQf}_(76Tu--F`ndqcV3xY^hcGRgw;RfRc? zQ2Dq46w(7)P-5`}3g2k9l#r6PZ2Sg_P-t+JczoBw9*8Yy3M&=su~=o`XgM;InShf; z_%0#6r9M`AFW0LrE69DRhq7a2v=1oXB_qUj6f)m1Nr#7rM>BvxF>1|=)YRriH;cTy zP!@w{_`L8Xm6Y8j%yzWKU3Cqe<@$}*^I+V;AKIj-nt`oit8hpzU-k@v_=4`)izLR+S>aQAk3b1Lq5Su{&%8{xvl7acIIxL9N%rpA8ZW82#8n+p3{~~ zCG1PahAUl!%mtXEr85!~-_Zl7yqL<(uR)7XV*t<+*kd6*fU`4D`5z2)v>`(dAnhWd zT7yv}`jK()pgn?NNe?`6n-Sw!KWG=*dTCG^c)q;60rBd0Zh_t#aV+rl`mcIe7{INv zpH~V&Tbl#%k3gMDDQFxd|4xg5HIc2jx~!}WVF&-W=2rm~a8>Qb91vt_In3@%Kyusc zJ5NE_MD?~UYF0VP(z>nuJ7`Ztc|QmGv&haa|8Q1q3!{CgG7PXk(zZ_=2S!J>Ry7)) z)$y;Q=5+5ja_{IaAO;BM)n}Pn?Q8J_*wQH7a>% z0F(yK@Vz?*ZvX>(ps}(vYK6l9kXi`x074yc%Apk}z@1LTZtzKrI@J=|sy%qT&~V-a zu-7vQo+Ix*TNJ}hs9$!n0Kd%t!ofgdc)&_`=N3d=576=az5a-`rOfmb_{RpzEV+_m zJP}y$vbB&2t5#+To$I&TOd1_g?4t0rtop%0GfsZs2;hpxi15T7XJ?w^HKC5Hym3M{+D1*~!&lJ8Oar$$CbTqc7=FZlcT`(xm``Fn#l zhHN_+q~rN4us)wYfdwje16UlxJ(E>H-kZ=NBZeb{)EVR#Q&#%z0nd<-%(O3p9<_Pg zO5e%V@8=hQD=vWGk6~Y-42^qm5&QWBeLTAGSR*X;&U{?UXO>JfUncW41jy%msNRNn| z@rSOCm-m05;R8{4D3BtUdZ49Zt=EHxfMg#5i!s-k^j6e`ipMSkc@P`a+$gzaXk3uz zUcnx|C&sAqH4(VSFHrCq;MsYQ^net_g4w}tcK!wb0u^SYsh_Pzm0v7Fo&%+S8!}61LPA0k z8+cXN++x071b!0l$DbP&BOoH{{B)HaCJGBdd)gkmspHujNS7dsJ(zx zcY#n5d92>3hk697_SOq&7#|^Ck#S7jGAH6v1cSAx5;i=q>X|8=)rSVeq*YT>L-Y6S z6Sd=T{GnTr;dylUfs$nK|6=dGqpHldZ^5HhNok4RQqjTyCPYBARFELS5))anWD}Ak zgJdw2P+~w)K#?Fyj!KlQQi^~`2FWUt4oQUrct~$9ytiNf-ssow{nLN+=&mvDxVOA= zIN$#EUVE*%=9~-oPs}C#!&iKKEFgs8$vf3=jtYP>1AI>RQ;Bv6Rl}s+8>;R>$)aJj zXyJ3wALnG``GRGn?eZxhA2(`@09|=R`ayt@z$&Hp`ttv@a3K@X;TS*(AQ^Z^q9}ul zJJIfosj4~#1nI-sA7ALTMW#h>Risay;WJ z$sLf3&abbY6;6Em)$09|7hj$Ml7K>9ftJbb$70{Ax2Q*NR~Q0OvrrUc&o3@;`tW?- zGN<#05dSmJ59*O!&KE9wRSIh`enc$V?awiVWc6@ER@e_H zDIV1(3GsYNAlIP=CwA%hew{{Y_98q~Lv(!?Eo%RFfxoS~c8K73Y;qP%_FSf#1_0>L z`vm0VQz8S=HzINfNA7%Ep&tubW|7GR?3Vp;Tt=~GxM(&7Z-~2alf_-^UuvjOhlPZ` zABDQk3K$pWqd7uyR_ZzPL{wVOnff#XYx?*U%}P4E^x6ArURk1$&t)kFj|f|@5nu_ejRC&RoJjbt9`d>~fwMCb(I=trYGIBPKg71r=~ z=d%mOH~rX8<3O*@Fq;gK4#5czca`wB{W^V#h%WRUNdgL>nS@>O7aK}SjsPQSAUGF5 znHe$w|muA&zARg|PYA7#PH1_y<#lGj=;Kg^0X9wmWym`=s z!sl>UslbQYy%sH5$+(BTN{nxu$gw(; z1SK4fE4ebEd$e-pO2-oGSLaR88-bki!4BiX(D<)tOeNtfowV0s?EcX|S#W&&DuS9p!z3$<6 z^aE+B9G!Dk!r`dH>r);ObhncXLr*n?oDb1AS8D9TLKt~{H(9Z7!7bgnjlAwP-Uhj^ zB1G&q>_lm}c-gW>EN_>iB(?5fBqNGWDy&2JYp-3FR|kJoK!7JTo1fP1slF$`7#ATH>l`Mvk)KE}|G z=O@Kz72bT?VlzVg;T>7`^z;!5xBmb1u zKpqXrUwg#i}epvzk| zXY7jK$2dDzO6@1`8VPt;Pfw3_7(|B1KNVnpTLml;PFG6IFGB(M?!}=pNkqqyJjPnC z#eDz%y$@Xz4N7d8|GLmL_k6b;yE2agvA7NBvL%z!0AC)rqsR?3&YX!_)Yi5hbu<*= z34{lcW82M}=ksEUii*&p|J2Z5%y8kM$6|Q**TvtVn*;|o*RUMj3Q%pRfhKa|IRgsF z*1wjf`yjqU>dpnu0!(vAzJ52iaTN#sqyUTIvUKi)#D2j>!JE{?wW7f^%zKrCjF}cA z!+X|CgW0|ajd-%RBoJHFyyhVKaH4|+4S?zBPxZ2`trVmg;fLt(KbOUxI$kuxPE62@ zKc!cJziN&o3vncfKw4@YBgV(ni)p|GtB}nULN-m#T%;@qzr>t{R~3!!2r2es>VNt$ zx3w8jiKyF%vDB9+%fEH21)ydExzP|3MVD?hI+flioB*X ztXlSJtd>qczTKjuumGVbg{na9)famHotHgxC;k-_@uXsBp>g`)eEBy~w6q%dBRn4A zUO9*jeGDKqexVSq6(u}5*a$K2g0+e0f%k_4Gbii?q>CPl^xg=#6Bf;|c5?E{7|<2* zfa8Mc9N=iH5AGM003>TI`111Cn4~|#!qJX0fBDy<5H#Jk#KTf00n%5>E|IH{Wf9rt zp^X0A75LTvDIz;IL<4nHVLM3|AF{4$aFnQ)_8%y(pi~i=@3*CLZ#4E!uBxiqCnL)knS01vCvkPvLWDgE_Z23QC_Fr- z)<0-vO<~R;iFl`atu8iH$kkzxnr(xkgi6>rM(rtTZ7>Q^e0%KDWKqK)n zaoWdFI!JqSe+-_eA9!~yxGj`hm34H;ChC_hryP}7YIN6oPL3Je;7Hpz_xY_s_?Dii zSP+DR!#%#0u3Pa4+awjLa1A7XwXjtTIz6`b-}vbt%BYUW!I$LsL{!2*X}Ns<+l=y` zknJ2azmb1(0did6@i~$?6(e=djDYtfq5R9^#kB;zh+{dx0pn{UY~s&bc`F zW;gPBi}w5+lsY@)b6vhZq81L?)fOlfoAaDg$(00OrWX+w^7s4U^xm#H1EyLxzB!P39rz21Y%qT?>c1DTLvk`L5WHLJWwRcOz2PG zXNlAUt#v_p;v}$G)BCn@aBv8r(7Ljii<(*>WEvrio74}@d*(ZLP21|EH=TpCVgwS{ zSQz4;!4|XMrcJhxSl9ne`tP%ic1_3XEx+75JX|p~>6?Djkb_?~HYiNCCPCa(TkH+sjHk3Go>ZQz1pVa8|4H2^KSS~y@GW4swe2b2SvSasTF3aUw(&z4$ z-5vwN>yB;M_ir9ZT9Dk4;2jN16*)PFYt?6jI_e(rO^zz%2#R?gvll$uqvSc(rIh^M zL2uE_E6twUt3~1hDrIGl@kP|-^2VCKPV2~IRdE|?TXV&?9+WoXd1zff--%DJDbsSG z)6L$}z2f)Z5+V-YsLhw1QO~zIsb$rmH9Ky2X>=&_XJvg23Riwht7L0o9x!8Na zTzZ9(QI4>=TSvQ^Y<{@0tpBvpuVTCnKbziCsIy2mHSSCFRro&RDXy-PT>Dq**4`c# zhvT;ZxtZ^NiS}VZ%-UgjQGvVdnW2`feZ9ULU0I!`D>7^+7rmO~QmfdjYW}`F`L1QZ zrYE~XRWE%uf8b9(%_2itPWPcYlNQGeT| zi$-MyUz^DlGAr%RmKn>=UDDOXH~G|9ggIg(;@u+8H^HTzdDc+$;cTXZn_jrG4Y?iutGuwkAQ4%=9nG#rV-q4d z?NDI5MeR=EP_m!Q-Ya!xv9Y{TiMM6>`y+KCbVjDMbuX1A+~V8p(B?Ju@xfBx&bOyH z-MiN(k6Jw}iC7b*@S;>Q%PTylkacNBTw1$BMpwS^RIs#t%EB4rgvFwRafNbnXCw;L z_7p}$e!P56aCc^r#rLBMZLu~+>mOZ}=d2s~9x2$vn;N%yGQ-Y2Lw&xr_mu`73DwKK zdRl2Ft2xj0C&qE6kGA;__XXZ5?{eCpS1&nU{UoL4Ye$Ub)L-6x$p>mjwR~T`wocBs z^4@WCTKITqo{04unLx94`P58K^_ps}5Sc*-mUL*`RpW8(LlKrGZdZMzXS2L2YY#|I zp4XPwzq|MC{YTF1>G*#ZJ+3c^5?&##zs1n?Lfa!x_Sq^UF6%nAorPZ4MmBS^J)Odv z;wm{*>cU$;GNqqfn?Is?EKam@@>K8eFVD*9THb#%D9!ZgDxNXzX?~t#UY6FP=j!)g zEDyGv2`Wset(s+O+v$m#hn!Ei>ErdakVnXkFZ_^H-G0}Iq2#CUPKm8z6&a_h=FIx= zW(qp0e7wBZylqBPv|yNhrgv>uF(Mz&#CwIr)y(ELT^ipxV0HcOENhM>PMMe6|17T8k1AcCO0K0 zuIEudw$Q@3Gp(p){iHrC%vSqFSWMrwp~gz{^i7xR`U?7cG!<&Pp`f}Vtu*ZKsq^uB z%G;@`1y@!!cCEh=k##7{D0OFtBhz&Bp5%(kZ4U>x+;IKY&~qdpvO{O`Y9{+}b6&`d ziV)Ytr5YO~)T&)pupD96w8;*l&w*Jbtl{M zmCx_f1%G5G=j&YwRB#Y|oiLwEDB_SeT7EZ8_o<74F_xK6h-1_IS9ns(TtkOyj3N?J#kyqa#Jh@}m-$8F%QYMofBM}=v znQ76c`@P;eNw48JV4-bWw;p~P^esWHA)(iBpVPpq$$*dHR$cW8uLdhCZ|wfE?~Kr6 zm4f1$pG+4_2J|8F3_Yh-_brE4HZ`-_2TNn^O#=%Z50vbXSC6yM9BF)%c`Z{g=04BT ztfQqpE1mu_b= zvH;^N2dwkMPnK$FzWOHLUm32GU_E=WqRJp8>R{ifgus^VnqnPlR>FD)hpf(r$#C=e zelwUpIgd-gMPqpHgQT=_FX0E@>$GS6Ir?i_PK$nvHy({(3fDdD?{v#|I`ng1?)B50 zY9Almyisov$oI!_*IJ&H*R=K~es&bUUUc?t*o<|pbL5m5=h)7qO)qMiEqg@1XQ+fa z_10X?u0QK4$>(QO!{=L5R2Ntsp8T_B)CHXK%SCcop9Br3V(vYt_S`k${8Ovd+?DNX zFE})Qh&^~o?rKj-oO{VGv6*y}f|=}Z`8*b@H(f(ZHZ3ZBduGLXja<8R^>u$vv%ZGs zThy=)No%G5b-@1n(Gu^5znAI6)cVTZ^xjgKDC>}Ek^V8qz}9F{#Jkbuah=RvPof7) zx9$uM{#Ce4E3)9QSBHXXs{X_K>0Wi8#U{;OhxV{u#TIDoX&fA@7SwlR2{*Lth;iEY zPIFROEHRI{QzN}MqC?+cy0oLGZlmvZ!K!as1&z_IvMITG9=|3`3Hw_ecF!s;uaEUC zE|SwJjC&S;bm91`=Qu2@srJ4QTFU*nV^vD+tA{?!eZ6Xdij!A6W@5XqvsE6fnn}>` zchrh=_TqZ8Ia$_D;c7x;tG7+>vC*7g#S8`=*Uc*b>by1K-0(Q-`>$NHGfx67CYAfP z2$tF%=C2fws%b2~Jo3qIeZhvVo&U0LS!U_eWB)4lZ$GZP4Lq_bitj=etK6|0;J?XC z)!Z4lP5lpt%4uDPM8`YUYign%yG^q%hI8*V>I}-Nf3|ev{iQFn&)%-E2pm`{VJ*IN z=_@qJ{u#YlAv{@bNo(;2 z?(^m0BWLrq_IUa3&fU3i=H`XG-;BQ!o4M3(Ol;cb^rgkwebKSa8OQpA%x5fX6;)-A z9~aoS+VZQN?`JJFC(Ca2PeFWos{*?>7j|Z7r!+fv?uiwMR|wQ{{njl%@~4ndi_W>K z`=c-ao>raC{dP2DO}u2TZRE_+ipP`8pxJ$ICnhG2z7v1-I$Ge=i4@0@j<<;cAz}iL z>V$tCE$TEM?!QqxJQCEuGlFTMz0?2clm7hgf=Stat=>g~?Dt%2-32tbJ46$|buSA# zwbWvkv!_2QXgaOu^+@2wnca>9HEFyxet{)5Z#%2{x)d|{`22?wH9nR}uo9ADZYHKCN1CFx1Qu0H_-3+uEW^{N9reai_tsbe%JZ+wBF_>N+Xly<#l@%11Jh^yAXV2Dx zMAgvW5>~nB`ZmlY9pbl-HVu1dP>%)yOe2|~e{Pu5&9aZJ&_?)~Jo?ATo(=pdS0OcC%vt{e`cj z9QjIO?3EuRd>+?8o{*=&tT}clxw?6z-(SyVcO_?KOYYFHc1cRs;`T?biYNXwy!SO^ z;XjUQ4-{S~$fPOM##r4-XJ2F1PBcrfYNu6MIuArQi;P9DcFa)JZ!_L>?ASPHFD#|m7p9$b8cy&2CEA2O2knW!O zXP%yy)in|ol#SnIJkfV&m#hVoU+C^?##~0a`P8=Qv0SVR=74cCh|5`^FHS9?bMA8?A1B0Rcu^6xzkzgyGUw5 zX3${DZ8;TY*zAr5)8U<(w#lnCr(alehYL-A74tPM4UtvaJTr2&%xjOD1Hb1Z-W|Gk zv(E@ivr|7ZTe2QaE#Wb>JYmviY@Ks<`-IW#wZiRrHc$L?EaHM?`V)-;rN-6jVw-E( zjtA3ZLY^pfcs)^CESRvSf~T=(dVrl@sVO%d?LA{y}ND!j=q#>t*(xx9?$R&PI1-hhApClXZMmoXO8XD#~mDy4=)pPh?iin=I09$#}@ zs!a3z;F=b#%(csEcVD(SH6Jl$4)^+Slm);w{a=Z5~&*k)vJ zu`-Sqt^P~K*>=grJYM>#=bZtW%)y3)={Nk%p>CZ;Q7BfF*JjlE>ZeW@2bx~#mma^o zY1z(N(*^GFP9q$e*}8v8E}byAc5_RcW=s6NustH5a#Spuqnz`lK zx211F@W$G)3?Az?16Ih9xZ3gvvv=*{60_}}m{XONb*1;hLfEf0ENZ9bwawOzvqyNF zcBt*!IvXLmlr67Tnm1}*;*+2@?A6w2`H5v^r5!z$dEha}m}cVHWpVF>$2V^-h~C*% zC+RuzI^Cir_x_OO#Dz6S92@u8c*TmErtH1#q23?knKV!Jym~E1NZh*xA1x+Zk4`@k z3Y+$_&fTJ%QNa{TGOV!g zwteU12lnr|&hJ_~b_SQMezUP=a#j^(E=>OlXp?k*86` zh`z}p!Ndcr`krjLHrDsxPj{_nYDWqt*vaF?M{UH8{?F^6?K;c4?UD_i$tC=jV%p55 z(Oy@qCux!^^ZWKI@7Td1-3solJ?3AIB`RbMJi2J*$(4CBsBrSDbb-BnPX5w^iF!RU zYZ|m9XIdO@M10vNaOs}54k^eDyPtp5dRLJeic8v93BVgB7Rg{Kl4LvpUJrE=9HZ#?)|Qzs69} zNrS`#Ju79*?lcUlYSm7rcyBrXI!v=Fy>|5L=~pSOkDC66vP9%d**akbp%i`N3cYl# zU`eT{hqN9yPX_GG^?WyAJ*YEueVy?J-w#VtDFetX6kv z^lZEmTd;k=P%rsq8Plgf^na0sZyz*#mbIH%w{KwYi>BvZ8Mc|c3*8lq|4Rj+ZNYwE z*mYN0z-aa9(_Fm&O3DvHlF+94Ui;6AHNHl(x6b{a>Vk{jzDHbx)xQVqZ94sktKZg! z*ShqrLs04T?(-fO2X4#_8FAihNvZVd#cA))rIqcN%qO7K9V}S?Z4#3wOj>Jic1ZPGENDl)V#8>OU$UA-uA&lcF9;!kg64H7EPT3Y3_fBh?FZK9$)uF%>u7$d9}Ih%C)zLDVe#6}iap|SX`qp3Rn|{&H5JP?>&t11e|~)x z436y=Uz9xOcNj>rTo}W_$?W%7F4Ck~8UtJ)Z3jbJK3Bc~E|;elX&TlPT}p1lK%= zpr&biI}eAit$Xa35+r+}ME6X(9$%i^&9y0xk}IKbS#BuI?o;GzwCO0vZ~yu&%DHbt z!HPfqMpr2;4`}Q8+1n#&AiPaFzN4~Syi29nz_k1AIf==d;cc*#X%_5T%#?s4qQuwErJ9WMmmKfsO_NTVVqIch7Wj%(?DnpWUKU91f z_}DmZT;#LWtJ0u*p#OoC*1Xb7RFg7ln>6DTxTN=5YisCzy z?=6#M3y<%P*J}w992+^vIV^Lm=YdX5rXp5Na;+$ZFtQRh3xz`A+3y6V1In2P^J>i##mBjCYA? zk(?P>#_l_}u#5FlsI7fs-OQxr@z+tq_xnRVJ$0|jxy|+OkIwgcwa;SI{p%VT*DHl< zau1Y+>hL9IY1Tcs>SrNaJZLw4?R?dH)deCJ1I{74EN*<7Kay~+pi!iobwv`&Qbd?~PhT&TyTpo2~@ptz7XZZI|L?w? z=bTOHXRB+Yiv#kO6t9soR(5shQ5xFKU>tSYjyZU@TMyCdFm7F{Fqt!nW-$I=w@YP8 z4e1d+C_!-r>dDHrYpKiG2SNj;_*A1Ay^@!g*mAntSAirA6_gN!nrOnRLsy)3wn7jz z4*VgS*nH!$^EU*}(Kt4|deSn;23eQP9oCE6?mu#Kof`Bj#ApWXx*s2|prj-s665dh z4>NC?Xn=-tJetdb2G5>=<4j^dk|%2mt=&COD)iMyTk(KA@@k4wg=~eIwKVD)sytng z${I0F;ZBARKA|r@He8*$mYA0f&F^9Go8HZL!DEB8ufOihC&H}&m|mrZt1f*0;VSYS9G*xJ04-i$=O*Dj_zwYjTY}O3 z6o8`wcusZnbC5=T-mz%^x4FRed>wlDL~nrREgoO6AHTZPFyIJzmt%AQIbNWF-}zS;QKfHFK&|RGjbJh<&Ob3HI$`7&f3!7& zl9{|mFyS|5+!W-BH`dww&Jyxv z;BtccFlSu?iC31x0`ppf9T{j`UudCMh1PH!TIE;|t=wPV)l74ZqrIMhFG$oMjA09F z<(v1%JW4giZ-bQsej#)Q<<{Bd7MW$x8eF`1F-=dS(xDf0-?jpG9k43UVa5mmQl(>F z%=T4^_QAfI-4Lh}xt-{uhJ_vyIpy+dXrtE`xI5Fd4{SAsA$x`k2T3JeK7g1`M1lXz zLL_NCR@dqKHxmpcpa~5S{-8DgZ}%VARgfx|$hXA1AYTmdLWE#NSi1b^;CZqwh$eO( zNP7^!-=cp7qfO_HxiD~LN ziOl2Mso@T`6V1@ZMpVS&8O2R>7#6r`(O-qgIOA-^8XU)WLY?gI-{V0y!JF`byfzgb za)%A-l0CNKWS2t}PciG(qYZkyP2VMfk|zM7-`)p<{)QW{Bk>Nfv%*shavtFz^7p?m z!AcQ}ktT41*tJD}Jwu8ZEm1r1w?V3_1vxwu2Xo6J1|)@#rT-M{P-;!y?hJ(_k0W?ey_ao0Fc9!x-Xp*f9Mw7xkhkMBT>nHNo zSHVb+Dkw#i;;JOT7X(v-IHzQCpf&7SEDb564j$1F0qE0KqkJpVZJM1L{as_E?Jz=>#+`Wq=e1fp#3m6@Ojx)2&>} z!OZW#AqBP+cl)Squa0i<_hK#h{IQL;V0G$z-8ux>LTMg^0?)tC7tFD3F zMzg>3G8g>3KaHYiO*qWG62WT&WzEh$_){9Jd@Mn6Bgw+d#QT3!i-^Hedi;Jr6ge~p z37$!R^}DL);I3i~w&=j3!pO5o0)d={s*^NworJxMmBAkDQgb4=`T5mAu#hh~M%rKK zv;{C=DzS6^A4CATmGw46R1tJVQIl)&O_*pfO5`Uj7yT6c5$*6B$3#l;KiW%2aP;}V6`5W zotbzHhqBJVuZ(*>00fWH=a3-r2CuA)Zff+`yO20S%bkfi7|5wNLz+P3Y7pUHzc?EI z1`(kSJGvrlU!zc`$-7Y9wmfGY%oYk1wbV|%e!mr(-Pqy6NtNM(@o>C`?!aBeFJIEQ zRvJlS#J%i-0MhCUb;Af|L~SRdfWWUjp=^DuJed6y@5*j(_C+k&E-Nbwkt7ovGS|M# z4+AC0;=vr^FD&joD9ZBHFN=Y;4@-HysT!y{ET?S{A0fkuR7>KJ0Ae@uJ=13=IBcm9uCr>kspEV)6>leR1P$Dy- z8m41Gwlg59_NpllZPSdqMU(Au3b#o~wSHNp3kfu|tp5qvID}F%ZFwMvgH6RV{AcV5 z1QcSai8^#E`IjtSw5U2Z!Ycv7sHkfz-sAsEY&3GO5E_<)idG5nRtM3d;21Y!Cy5Qz zQ?YzBv&K5&FU#~M3jEMV%Oh%zF_~sKKSV6Y3`GO{U~rrDc=LPj)sUDW6edEy;?{lN zG=I%;>-PM3dc6o@U$(6~c<`VZwn|w5-?c`I%NQfSlzfKPz#F0DG+ipN=}-qVF8`P= z^EYI57=CyRT27YBxIBiLWN}av&WWoFu{R2F3Id4&&OP{?5+Fc<^}R zA}?~NSX4h<4~5?-=+kC+Dx`Cx&Cd|I$!Y_W*CvBCaw|UAif4eYMj{VH%Rv3%K%E3l zc^qryOpe3Rhj3GqA_i&A=W4il5AC>l{rX)*rqx19hWJg)qK_dP$cj<9~Qe1SbGNDwL(PR7|rhz)FhAkt$PGvl`%(D8?6(}!0 zSBq1whf_OYI8Xg%P8I?(r^1jR>LcQ~k;lozQ0I2tv|bvJgZ&Mv;Ep>9?$7dFN0@;+ zMrycrGhhydENLyzX5&H+qEKS0Sr{lX@9{+uZpn-53`Bb-<*VfMYy1&6;hsWV=dId{ zbk6;7n;Pwv%s@72iEIWp&<63@2>O-L!A3Q>p`|26XOYbWMB#@1n)$Q3&*daqu|Qb3 z5lPsGjeN)m+&prYP)aC!Mtcx~a~k(o?uj()5zS=A{G2^ccb~>1j~+Q@8~Ex}HKv(U zm>F4IEC=QFVHks1N37l;PaIT`nw7jwHe}*@I0kO@qeqWgWk#MuXF*Oy;GGv3tY?V5 zRh~SuVLqegIs&aZ=G6JHNl}jcLQ(C7ZomOKIU+U|j5S-Tw6G^8FmF)}L`iGE#qR=W zKoc==v6km^{4snj+q#XCfE7Z;-dC?((?G0{Ui=RKZv#%}FYlIp#6HC+XA6v*M;2jy z<2L3GAx@0s&5t6qdw+s0oL+FyO1tE4K*)_bJ+plX7&O4Jv_6L)$r353z$N`2;cb9K zQMbc;79ofkcq-evyDU(VCJuoLZ#d-8-yn<_(wv;!|K%-)7gBzfJqaC)A%%40`31+d znqd$!ccC6SR0?5s@~#x)q7>|HR}T{yb9{Y=Q>JAG!$wMHgIm0jTdWbcJ>kb0>aC5( zCS_IiqeI>j&je6F5f7X=-X5=VPzLCbNCwY2qcx9~ojE9wwTz+aT|} zGWJzHa%`%^6JH=WdgQ5B1keqCZ+YWd0Q&*r= z?riXUw{hb}q&9{LEkEB@hYTllHvYDCX`DWN6;>X>*`yHv4!ECjt55}n&nh?pNR>1zbP zngt;zVxF?kBzZ-Fm<)}ISmbWTvKLxfj0<;ZB;Sq>-YE=@`z=)CUa*myJZ#?_;s=q% zWx9`B-w{%XkeMFU$i9@0gAd=aU*2uSVY-Z)DjI=o&CptCh%ge51dxA~F{GBD0KBj= z5yodb!k$1OY&Y1Nqk$|%{utMFaj1@{AO)*j(rS`qQBaa7;2HcW!9(7^!zyAn50Tme zOJ;5S^rs#OT^{#@yT7yjSJv_EArcNTq(4$OVa)tYzvixaV~XJpV`Wi~3EN8!iz&ZA zuGbiy1)Djl%9T>Kd2&N^qW>ZXHOrcP=eNITIzuWZ(khKRh_7=)9t8P`=>aXq3<+0m zZOU=Gr$UecW|`edyvR?^N6^m44&r9*`^KeXI|OBF$ZiwAk6x&h5FnT9sPo;%&BwfN z8osNQrnZyfaS_+NiJcT){7xf!V~++m=cZd+jtZ1;I1AUjSNMjQbyr#+#f!uARA1;0 zWM)Am-#Bn+LJW(={&a0;YcAgj9E>EH1@eD8BO@1hhgH^0J0l-ExOnBZhnOb1b+SR- zw|HY-+m61OyuStdZkp${&6Joomg=^kuwp@A1WZEW3?#V zm#~BYufXK?HZxU0@di}@NCB#Bi%?f3;DB${{ON;D_qR>IGB&)@1x%tii0vEp`NenS z9L-NoUdDY8MFe|%A{pagy>V4>p)kgfwXVttV|e%pLKsM@3jT1Hm!r){tKuNOvcxSw z%3+mI@koMykU_%xunc<&Wo--%s6*|fgIYop5_meJqs`yCD-y8{R1|}@yPD-;`&i(v zNb+#oCMZ~DYYWahX#87VNZf}4i`+u;-Mh<|B%@{V-1S}lD*WPht{wGu3Jipo0IdfLb%t^^x%}6 zCjBHi!yXz8J!(S-33ot_qZoSu(qa^gWNP|WXvu|t%v-R>&2Xiuw5$YXfd!3eOhaW2 z-w`7cm!Ljd!eQFyHPH?X#BH=Uk`|8?`4Gx=su?1#kw_eO1}#IfK~9aWZBP{8mt^B2 zBYHAaEaaAS@4WXp{HtNJz!RzmyH$6>+Uu;i_$1=Rmk%#~>N(Q@2U0RSImU~c4xW1V zG=IAw+i83h8{8hgFk!OZ?dEx?4dF3&PrC#`ryfQ&FwxO~@(hU}mHQCq#Udp$LvXRa zVF%$1Y&wqtm8ybpCSQAQ!$P;&i(^y`MP9+)p#_Mj>Zn{pvsy4JF)~nW${Y6!K|>$C zsHzSyT<0PV%?#%{aqL-anSQ)hvB*sf?>WF?8&W!U=a*#PtAGFfN3stE800{d{F-mv z0Y^m4@D9aT;j?iaxGTtD7Rl#}ySZD;p&O%YTEuk;p%7kMX zk4Rk!u2)DS_pnZ`G#H;6sa$L130FY7?>_SxLvzXeN*x{bayV6#O~tB&(O}8^+~z4` zR7G{E#T9dVs&MyC4g|Wg>1;#Hb{l5(N3A+Py$rNY$m&qr4OTyC)|u zs$y$vqPn~zcu5ToxX5b7T5aHGH}IaJ^y8Vy0j+i~0tjwh7P}SEQ3C;=3)9V6PkFau z{vI+^H?s$*VMqjqz9fVbM*SUPiYuj_LudB^hg^3>-%F zavkI4x#r!X+H@s`^wi_xar11)N1Ed*H{xy7!df9cXE$Du0vrJ^xP9CSxx+Zfl+B=k zmf{gYIUmizE1&Z+Tzk90v#KvyZAhcpE=b;ok z1UIG>pr53yV|PEW$-s3QCgrM5V?zO4a&dE;yD0Wzx3en5I(|>-9ELoIZV22qZMj`v z4f?JYfBYk#`8z-(K;#cJf0NRJT(FqKmt^LhmR}fCVm-ma^BK4PGSF>%i}pGncPrTm;70pi^_4;{4nP7#v)3tgJcY3ZjZ`@$H zq>O$BGUT&N*Zt#_)f79iV`GtBQ$YcYEw>el!o%3{vyB~|jPQRSn3VY4xq)9#B6K|l z(8bNXvr%p#v`wvj2~f{#p{gbwGl`F|t0#{8Ab75vky zakL@m^_R^EgNl@M26ls6P6cvj5zUffc*sdw7016IGq*p1iTbc1 zseB)0G4lYBdY`itU%Fnh{P|=Z9C^I7zR`J&3lLjjRs(cu>s$$nu1L?UC2F28&6F`$ z!Qq3G#SL+Ii528h4%ye zO<5!5qgG@>3h;SLsR1eNVEY*lm0eD&DNgxT?VqA-=5mwexUVv9h-HtGdxuXmS>^zo zO!(-E()A%~9COrjgelVA?}GJEVkT{_Ht4R%XRR14c-33HR~0cudU7D$=j8~BF&K5fS+MQ-Pjg@D zQ`t#%+!y0z26XU&6GQ@HaSpC$w!1z+&JzSgKvAfeCXJ%pS#o1`d_39^I<&`t5rq(% z0J_*&F3~}L{mgNj0pz<%$(x09Tt{LsyB*&Lw~und!gk!ZqBpqryzUx>gNHJLL=_5-uqiMI2^Uoaq_xb`j%#HZjfDSV4L&wO-;8vZr_!nWEw|iYgv+Nz z{ymOb3MmyUQj-3LLKG1|c2R=-S|EvM<2(UC+!;vVbMdVXo1Y>RHUGqtxw`>=8@Z#t z(+DzB;r)sRcvjR}I})A&t&i`K`FP_|C(SyIqa7J&vC~n>TUFh~xkP#WiIbx2*9( zvezKtsHJ#z0RBeSl_r|#xkkzr2c+$F zCPP{Cwbxz+>?j`TOYh0_XgdpudYt3?JDAw6`Tg5x`{qis{YXqT(!w*=uUbVI{MMGK z_G7q{w?ym#%z;C&cl6c(E*c6D}W5BW<^G2Y5RR&o z+als_V-Y+ARS}^bay%7^LbjsqhD6=2dFU#C_|fb}P3)Amg0+cOMFX|n>)r42X)FvB zP}AhQ<|AnOrbxDTS8nG91P8z~?b{lKNm>dof&i!fx}C}N8Z{T{OUk3Vh|zgORg)(>22;rNqXmf5eD=Nfxh^Go(CU1U}iwtn6=MLY+uDZOSm@#}B z(}*`5qT%#1GZUv{2gyQ~s>Ngp9Gh4;DF7D8t!oEhf}{^I`j-BPygJnOqi;6*$Kf_x zW++bv)VOHNh1w8S$f1~p0G6jky-RW+rF;{~<*3CQbo1@{HXiX=!ad`pI1G}`U6KCj z(w>??OMCI}+Xu%c|75>>C8U?uZ7QrgoxXeFMEt>~Z<6*WQa^Qu&aOjsq#dq-RXR1{ zyjwK%`Ld|JbGTv@hFFwEI~!+PwZs57!#4+hL6DuCCpo(SsmKxSz_%ic{sPP-z|Ot} zaG`d#^*kBu6pw#Jm}dK5FsVZ!P5%4nV;@G@L)l2J^E*SDdeZjHuGl;eH-o_G*Vm2i zuV652(!~RqT_CG1p%x1wR#;X)dI+$e_}s7#;M^XM-s3RH60xY;Cg(|M0@Y7&Jenyl zA!ke^;^<(jEMB~rUGCkF%M5M((`MnQAqiPWuG^lki%3k0dSjWH&v#TU;1FTalosvb z(b|&KZ7Z%Bqr^SflwM*^<6E=|J+Tb0vz`tz)GM%iu$(7N&n#09E_H$XOwR`jVdMMx zSakVy(NOd9k-I1|vGeZMm$Bt7PGz@f!R*M|gmvD4>0m!M|BD?upm6`g00 z`CH(?T37srBo@HV8YTb{%zoKd09!|uj$j$PPjjYTz!79J+AjYK)k?ptj5h3&F*Ts+ zm=$)h8cI`Ey^gU2rvd_gEw$%>!A?gG^8D3{Q4)>EgsF3Yd`Zy?Th637c2TV8*lf#^ zi4A|4mfrm{u(&+Iy(Ea)6dwrp$<%YY=~L1E`}qGz@B4#=(egVYD!%M@oAsRk_Bn{Y z`~3iFh>#bPc^=OHdKr)R$@?y;0;qtmTDD4T1=`eP0Yhmh8C0M!K$ex>ddG(ROpziF_{y>)p{VawUkd$5nWCXkyD>AOe?yE;=b_Bi<{2DoF z9n}N?BA-dk0vC+Jnn+riX6j|a0SSW%TDzXshOqR{n}5%(z+XPr_k>?7!7T1uS7}#9 zM~Y#dCgv>!_mqZ8q*DfnHl1qOq2<>=V8B;2l-&1W&R!bSnB7kWH?-YXq{wE5T#Jm4 z$j~Ad3<#@40gaevqN*_66?N=Amd&2Ie|tsR>=3#Z)$pE}_V*XFY9`2IBtyjCVl8~s zfT$T-M*v)(ivYqcxGx(4Pq!urB~P$MC7M>O(E9My!@G5Szz==+1X$GibR$U(0cXe} z<6!Cpu3Hvx_pRlv?E!FrDE9sCDu^P1Zl$^&AWRe~Py+TXr#t%_x%}_2;?B}bCUbFI zzcwy6af;BTGeC#lIrgAG86II2(o|z@OeGw`QRd{1GF~hp4=lh0HoXa38g6e(zMPC8NCqinWUTS%2y8XuKtGx85mly2 z1&1!cB+&|Zmk8R1axcK(Dc@1VYlxsCJ>Kdt6cju}G%Hw+_^{VuLq=Jg2qM>DiwGpv z;Aq^__C?4*R-1mLGfPZzPJkq{9QOlYy zj1oEYC>NEk2v9k7d$Caf!8uN+vLHLsq?DPBe)e%(LR#c~ z6fcZNW@A*5C)VgjIFNiv3IBRZQfjUdZ(WrI9v>GS&sCjU6(Zr`~#O(R#`bCvY zL+fU6zvVjg+{DXh0iLvEc-1fHu*9#~;5k=Eb9#Gw-&iM6(^X%F;HZP6?BFhgYzDkD zUBVq;_LqowlFQ;b3E-b1F?_>yu@Y+VvThNT{(w>d4piHKkQsZj0`V#bw10=mWh{Ou z222i1pa(?O(Pt@zOThxN!am*#y)w{KJ~l{A@IM}hQTODqby33w5ZP<^iW}Xzg!Ss8 zEG~@R2;RtG#1jHVR{lW#-k7%_ch5Z6qz))R%wyBn2q3iy_)Gv5_o zu7__C1QHeqVS!jY>6wX6ayxAXM=Roi@^ZbZ`-} z*x;;kS#&@ag0}JYpM(#>Xx!{|_5MWgxyp;2z2s$dk~mtxQFcg+&y^B)yO2Q?6vyvUUXN& zOP@?pTTOAPP(S^u)(d?aa}ei=^KKyX*S{|8ItL?^C`s5dKLhU3Z9hpZI(W5b$Av3rb6@vtb3Lg`Tj0hR>a>d3UG| zj8_L9%DG-#6eBd0BV^kC@vDiT0T#Mx|8$MPg;En&nR3#$X*4eaBFE4}9PgE4Y`H;h_YaOIlh>2OAt#)bC?7Tb2G5;pE3%-F(SvDBfOrPSbq6Si)*uxW4BhB zcN1s=!$-4Ihx+vKcFv%1Hmuz1J>x;J!B%aSDjB}v$lZ@}aMM>W#JsUS^yBfOY|gm`R=6RWp*lc4x|p-?C}5xxkRpQH30nzA?L0Q570qA!{Z0Pf?@aGe3VqJD!s*9%TCewxnUL-=g&PQJnl+ZP(E?~ zNHC*_gyzG>@FO$O6Sivo6#Vie6G0!l33r}G5nD1B#%xj>F?6=xlCDyf%)Zjqc& zLmx0(ea-Z<${>$6b;;me%U2gkW*l+ichv}y~AvMK!T!*NvL?>1{4-0$VS z8)T}m8;U#J8L#K)Zwd%)BB)a2Ji%{_LMFrf=jw{BT7i-{OA1s6BGKx$=S6nq3Ghr% zH!bRF;Kw4Vk+*wbE`=`(TW+$J!aI&5KPbEgANEf_{S=4rhNt>4k1mjkzP7w{}wmICkl)Ajbg27P?14K^pyrpJH1q)2EllHIjl7t{bV zpLb`-lfCoNbb4ku^MX3{J99NMY+TIom_p)n;Ect2w9p8Lq@h!6(9nsN;FDciY(PC! z3{YCa$^oU70LcmKlP)Eu5uPzLwql5EL2VPHZylr~CQ<>;1j2#_j?fYoI>Gd^s4XYQ zaWOHp=;qNLRrV(&X*E>c0{gQ)_8689r$`M{ai1+U~f* zK4EemH}zJn;87$A;SQ)(>TTlb=pi@^FSFvYHhWTSa$IuAeKgPYq9H2Tb{g^ovECSaj zs0}JE3j-Pqv~m6PslcO+=yb%aMPP=Ba1g&-Ji5KTnA$bBq=gO2lMLwv9R$ZkipS} zZoq~ynOLeTPq`53006b!KeqlY4F#e3fN){->@7D12_ zZ=;mObCY>4I1a+&w2`_Z1PIm7VwJVYI}am$a0R;LNLIGuBm?3j#0(8Xt7k>ny2#QW z0nK)JWFxp5zIC|Sa_YwcM$sLFBiYpj`U#>Bt~q5CgAR$aoBgF8!JvDs%;>)^INP51 zox#X0I^;CkTTN_c{oxG?>ab#_MmsJT*Br@Cq6*PZV$ zBvK!)_SKl2#BBH-S%1BTs&q6OB+r~o6U9PhJoV6VtcOzL!+F~jWG_h54%w=l-hK9M z95xV0s#VD|MEA!2q~WDIb%MsQQW!y|j%>kBNL+DTRn`V?Cs=5~2@<7UkVU7t3hfLn zq_^2@eq3STtr6D(J(9K=xh7IX5Rn`OfVIt{Oub}6tMDLgUKcLhO~wl*f7F&1FXzGL zXiCwYso*MA;q1r4^OUR$ z3B+G5lwY*?IDQp4;?Ey{zy@;wOy>I`R0V|{_{{B(oky0zeh~K(k++SIh2*%g5^ZyS1^3a72-pm%gQ!o4aYB$!a-vt%q>v|(GSQ(%OD-N+i<_nfZc*TZ#6PD* z*4lpsKquUG1ecbflY2yTqthao3`3!D7j(kx5^?vjB+7Zf_utyozbO6{l4KB!odA)( zeQek6)-Q~N?VY05ye}(hxoxX)>65Q6Fq@Xgc7QIZvm1|aPBgmmX|&PAXjCupYC!;P z8G*AiQSj*vA+WUaaKv{2X8;H*-In7}GPn!<-Z?9MICopio=^}%)=K8GG=CUg6RB%Ao%gi#-jmeE5noVo`iPos(x%o>}KE~+kmngC2V)P3X^+e?Q@V%YM%Q; z*xwV)5PplFqnQjB;-)d2*X=v6gzPDXXoFvmqh&#adH^Tv;170i$4Bw0jwNFqp=(8&9G zz=VTr}qqC@=nEB#UcA!FEO!^bG@V{5{*&u{fg>f(^AaGox81K zdJ3nIt_pXP$FcUp^)rMN%1@q_EVU`HZ zaE%;RU*Jt%(g@bbwJL??HG@=u3}?;mGk+r*2XAdp_lF(^KbeYX?e1vX5kY!4*{LrJ zgx>8hBW}p^7P>{q>L10nYKm-ooTheQr+P8vL1 zF!F96f|z39MmFje(tlv0TO7ivt5qw0H(kK_olBxT&@f`WJ(1nQg5N3`(AMIuDo3Q^ zTe6W(xTbO&?LqZM=PB{eYS4knt(8s~)qUED^_Hg}n1C(HhL(n4F#nWMwips;5RYo- zSS5Dz?h)#9;Xd+&Sj1-{CP`x6)_-H~J)@%DmbG7yWk6AMDWZUY5>$|&XG=3JHAowBI zNhrBC;5>u{C<8Nln>qFV?AATZNd>b3TB-o!9U^3rll&Lg)eE4GLLV6jxg`C002W&G zAUaZoPauucF1x+z$(O5knX?bKnK{an{RUgW3WK zQX!AyDDJW96bGF>8ZH*)wxR=FbCjB>$;-ci@2^x;1ulLdXpuTM5QfmmZ-?3LRJgZx zv5zW8)0jarhbepJtT9G@mo&Ge<~%pIGHA7ts{-t31KxRH&jNcB4v8qhy_2o$X#zL5 z{P5_&Th_(tNLTzFa_Inxm5*rXEhzn@;ebP{67@Mj2739X7ZpHWK{mc#TgeIz3P>10 zd#5L4-P;CN(of-Rg+9A>b8|CFWR#=CQ=zTGUNd$Nw9>HtkTdExbQnL>QC5&fSFk3- zF97x2bx;HBRJ&z?5{jp6Ee`6abkN+I;Eu21p-+X<@J)=N)$S$0CJU9JF1`f4n&XN(Yu=+2?J3u*|M2AhQCf?h$Yt70K}5ws<*ekYKYr znpH^sfNKp9!J+~Hw8=rmk*DyGJ|KZ9wwl}w&18Na%q}Tu2(?;`!GZoZ*jMOlFoz^* zQ04dT9OB?ZV&4W!R=M>+i+^DW|9-OThi}^4GFOAXFPiTNS2S1{d-!LnfUvrNdlUx<4F|^ozI8*wdH_ZTg?E*UKCCxO~*-4+QTO5ihu>EDiw_*-Y1wois z=K3;0qxTtdRLH>;R8)ir$xyf<=`>6`LARHvSqblWwq!{e75#8|aN!Dt4QVve^9Vqp z!>|Y+b#?WpU~YgR09r`f50g&dZ=jI|CIpCZ@o>KdO?nkH6$^9(Xo3^mFvESq@ekw$ zr0EW@z$lj1Tha0%BRfX=w!zv$n&*W6(Q8xeMMdD`F_Ybvxq)CyWMmA;t@r+|(q`Fs zW@t}ubGTDfD&?HK;Y!@3oMhVS&irt(uiem}k!QA{jw{Z}_oOI33`cbBCnK|BTCsCo z_OL5&p~mN%&t>H(@NZ#+zeZk|Nto+A>fZcIkjKoUk%x%sQ^@b;xM{^uTxeg$Y?>8K>bZEc&TVFT z9sLw%G^mKXvB^#MCnxPNr?Pi`CSfpF>}in)_mAMHV)in(@s*vfTn78D|vJ;A{lnF!Ws5d3{42q2yRWIlAS_?8-Ji!RW$Mcu zO;C~IoP%XbIFUYO);M}9X8Zn8dpf_S>|u)V_V~a_;^+8Bn*y>Ix6){J1=~t9Gc`Wk zX&Y_d(%*5KTCN%2DdNF>nl*3HwR9~_sd=}0dEoc;u+gkttfX!B|mD6uw$EJ`MDW+(j{Q)cV!h~&Q=?;+;b7W><%*bDTyVCmM)hut zu`<8omQJ?ucy~i4QDOIB+gDo_LV%0BN?E>oHP!AFEH4AoO(9V^eQ^it!KI%Bx7p<^ z$5*@UCe5j@oQvvyNIK#g6?0c2@UP^s6FuLkQ+0-J;rbTIiHu9Rd7q2*=lxcK4zAka zjx0sCjtTd(A%#Rq?VDDw+^!Jaltj_|OYEknxqUSv_?^ecIyGX_U5?IVy!6DUe#K-* z>*7wRlq3;7=P-@QMX4`Ud&Z-{`$UBU5714avi)&gG2OcDmMEJeZj%SLyn9Iu9=|{qTyz>R-vhu|{V6+m41?iJpW zWs=8v_@QL2JMCbG_NYt~3<6^FXTd@Gmt`Z*VF8!6?LEhe{O)LZc* z%e6I%hkMqJZ`Zy zXA^C9>E|v6%$U-Sii|bdRwx3uujI02^3^QG1hrKuqqEhI{RNeU9Ne3FQrxf!%}<7} zv9PzU)Kpd3e)bhjmpk)rH_K=}bvycJRnDp)zpj7JBi6o{u^$4NXO-xmUhCbEn0cZ& zv@As7=Mw1V_o?~p!6MB{37)f3iD$gHT=JUZ@39Ou>&W@y^*#%QmbJB{xb-<18~a4$ zehQCfHSWuO$9?!qO`aoqPkxA5*s%Ml!*)Kix%c3jMD9lzo6-R>}2;bp+%vHLV(S<2Y1h>RRaxqq$o zbK|8eD>3?}_M_83Exx78a^Mx-D3v$5sq{_zV2WO)7F~^)cBoNL$nv5xPr5LsWzjMm zZO@KZ{8H~8ddG6rY$@SsFsd&}g8 zz7f|nG3s=g7{(HpAM8=prLN==>dUypX+=!huS;^_{z3`HrpVAzo;jkZp-W0+@#c1T6>m2Wr?N6h-;9n6uA&)E3Wo{>~m z9rHY~Ek6^ErtUwbmT#5E`E_L+qx+Rl=U!=*`C`xjb|+SGRfp|hKxsp$KtgI~TSS_W zRz`bZ#z^in;}0BCrxNFDjShTH<5GM$T3sIe`*fH)phGBcrQaF)DveY#xG|1<++zK*$#Wxn!A*|6pJ5%T&%k3sIaKRjGXn0rJr?@t1Ve$%i^E@ zj3tfrx+_$x{7qEA;)NQR2!T23SxxWh-BVZB+{=D8*j8vf+3v%VT{kqvtZy#5N`b8gR~9v0s3)yncXQG9nWqrudasq zI{o}9wzl$!QfsN5Nb|*`RO^ai;?difHbLAXfrii2qV~hv^#woGrK-f>olWWOzGkX9 z&ufFZJKi)KUFBZk1fIxEBi>TAG)L(%9U(wDKkb(6t`%ahnywUYjEYe ztBI#gOVOJqQMv0}WO|(DvtzqqM{v|-)VT90Q`&y+%mfS!o;XMu{F-C|>JNZU+IYBj9r z*p-CV-E&Fb#)|MtGUwT5jbi^A&AhkvOD2p()y{qW{ZJ}*9v=37$Y&_f4JpH2wJg^t z(4^Q4n6?Y)7Hu6V<(qri@@${xrLQGB_KhqZ;`$dY+6UEK>|D-oTU0&Xp6g20{Ws#$ ze$SMa&w-N+YQuvZ-X7T0n zAv!*{x9olf2^VssHT|wsJ~z31D%By7e8c(ge!_<15ja;OA~kZI@4Bb`)Ey5oJ4v%r zGqz#XE>o}g08yaO3%u)^}ELmMda?(1+{K=%S3-*EiWc^zjo%upvkkNBWeEcr}EVoa-9jI)|! zvIy%-{_Ffw;XX82l8o#iY6QX`;p@=3g+CSKv#|Ut_9yR(;H6g1skiK-jMcg&&vW@l8Clh>v^yxItD}23Fk2_aoJ#wd4{M&_HRPw`E zd0f?qEKKdL9>Xj6WwMTiZbx`;)?cEVUUtY?jPBS-h&lz&Hc4fB7cXW!tZ@5Jx$bA7 zOdht-XN`VV{tt{OP{*WB*}0VI!7z&Uo2wm%es8$dU#4Hyt==79ieHJ$_&0w)lk9Rt zVy=|GR;_fHf5o)Fh`%he9;scz^X1}?%MG*fO-=WYmD?mfHcHRUdQIaLB->8qQCKtk zaY*~0Y!ao7_cC!!)a_bP`RqIMq~h?eT3v=b=8J=F3cReBZx@gHsRy_-nd|A|1WS5u zi^R`}3$L`Vku8@T#QO2(2$OqH;efsCbixlRLxy#qn z38`;~Qm3qb%*>t9KONgPAS{FX+4 z62{@g-%>jDceamiYeDq$*9WtkgWF4g&)K!+I<@-+$c~NvZYun2G!?Q#oni*1FB9>7 z)HCZu|Fb*YJU)7i)o>5{oN`4&kw32QO!~1mZ7goym*eDdaY9=$BAJq@To2e38;zjLM*!SATQmqR_+?PkH;Vdy*Uirti%+jWR4!Z;3C2x6_tkC88&j z4ohC`T$_39=e!Z~!L%${j&n_a_uiEoI6Lg?G>d$TF3Mu_upEW#sUKd%PHSRVW7*Np z`Nnt-CYOaVxxAUCv%8Z;#a`t>b|+$=E8aYtENHga)R>!mU5`lDX|VqYR>KVcRZ8QA zS3^cb!nYw0jfJQn;tB=LNOX_?|6He^b*X>&IBfKaG3EbUani2T`;FE(^dBspkHgUD zI&?H`?mLxZTlVmZlSU(>(fPje`jpE>vhq+gZjWb?y zYOwn<0g88I;8NFVrQOK`m+GDiaP3Lx31M?)z70Gn8AcmZ4dS9GRCsGS3-%U4T~BR zo%Mv}{`~Bnk14pLa~RFSTD7sk?AX9(3hQ$biPRgKWy?Rg6asHtY%?3AOW(41ZjN0I z436u2s6Kc*k;gmis)Of)tM`Fwc2DPf7vAc|yCpld$(Cf16@ck_7#R7P zB{p%IaW4gh1?@(rkIC)E1cw5kOCuMjOjS+7SwF4AXa(NX z+3x;Z=+hCdW0$KzTpkS0a#?G++8k?;@RDgRk=id?=%Z5qX!V0Gh@%Y(yBg(bQe3+( zGlYz%UYTm4`-+N<6+;wzGD7GZMGA&HSfg>~_SQeCI2pA(y}a=S4U=^`T_Hv7X=3RW zqJElPbjcvOn*h0zPmU(0o)>@Lai;F+x_#0tCjs-hUvs8&!@Gs`?3mD0*g18-ThzFF zGDUeAeMzjh6*?39Ry#3eRt6zoi+E`zLx|TiPoLd)@4#s$orbiwkM~-?N6)}9W+El8sCKR-Z)Yd0#o+ANEtt@vR8RNd zOr!2C49EW8;pI`f-3IfMOpmrWaOV4&{xcOE0|R{>^&nTSi)#($;KKPwwJG*XJ(#ruOS2V9lSK7;wQEJ|IZx z!1#mW8)E7a6B*@s=6d%}2$bPlejXoQ)<0FYb~E}3PLq3T&169$k;#xAPe?wDZ~dZ- zbBG`5Rs7%T;b5zp%r_RhE`fwUvvq$%zQ0SA`6aN)p5puabckT&j@-nDXZ8Meube*! z$gpLeZ3L#K`j^|J{`GQU>lX z_vVPkjEm#1qKDoNKiDUt?aMhurq2sp8Ax6{I*A`PwfH*Qs2TDn?`ATEMe5GEFsoq! z30hhT11;YI%g)F)^?J^X_Fbh7c}t6<1PMwIqTa}j4 zMNdnevZ*DJRfTK+TP4RuQ}h1B<7)r$xu-@UJQ#hgnw&5zu{8W^1==9Ngwv`rJw=}; zpVZ;r1O4sq$K)BY)$u=}P9fGksx)aIRGbnnysPU-s`p4)%y^aEYa2Z|TrQrpWH+FC zJ;Bgv&OTS{>dn$kkEE+XEJVUM`{9OByFURLEpeY~4o?Ya1w~VpFM100n1(E!oNJFX z;2sY4kIq&M$#7Q~+EP0Qje{dc3$?>8R@GQGxF0CLf0*lvrLco^4K8&b*8LuK`cqDn z&i;c>PI#as&?eOSb+{0B;&LDD>b>LXEsMnn|3Y{0E10!<6)7AN+zu2u}w0Mn{tbadDzz)Oxwr zu$ZF*AJ2(B>iUHH+2NGC?(g=^I^D^Xa8GXFVo1&pjjoY=oS4XIpha_xJ941*@m@vQ zpd1@v$9_BeTw5cadTLUyti|4>`GVzbp0pxIOzD{@iL3s!CXRIv*6mECURf8+;%E|v z`@+n1s#df2s=%|Olm!A=i_k9Z=l3AYNXVaS_iYcp(Kt1HGkrO;pI_E`O*tp*2i|4( zMNxV1-(1Rfhr4Z)zo$(t*S~&y*g3}QWg45kN<=vO#v#pDWv|*?W;i!&`h!GUwj~8F z8L8gdqTJ4XQ0m`77rQ_mTI){uAtX(-7-{X0%4~Yuzsb+ry{b@dKbOkZmxa$|=aT7} z3TbTe&at~!`{Y;JI$k#*(8a~gNGXz6+0VjPBl$xI){@Ie&iWPwX04b@m;ZSoZKXn=hO-KdC1Fb`$$(1uHhJH)KXEy!gv_$jQ*5 zTK}A<$&y{N3j13 zqtL-_P`PSaQ%Pl9Z4G0pq-#)fr8$w@Se;r8OrS zK*v=|8zr2`Uj+2QTSi~=U4pahWP(Hi~ry2qO5Qa z(|)CrH#jQFePkCz1n?iK%J-}wi3eo|7&QP3xcYmS{CV*j4<)>y6$gk#X}R^Az`vO& zwY#MOy7M*=k053N@DhL8o zKpTj#uAsLA&cdnVnX;z2|D^>u&I}-e+UPSC=_IkhbN!IW$TZM6A*pv~fo(jXL2zK1 z<&co*d1@4fO$hq%0i@D}^j7pBbOHS+Ayq>T2+67-)vzD??3k^7lv!~r4DDi(-@H^a zedR`A8YG}$=ODb|;O3tFo!BA5CL%(jzk`k)&67vi9nkV2`7~fv;=v`2l>2fP`)ro> zL@rZQl}+DX9Yk<8#PkC9sHVBOxm8%m+a9Y9(2b*ifK*06-p1+WXCM$9XnXPSvGoU! zc2|))H1pvJ39Q?FyW1o}9%6+kC@VM2e25H%4~)bnpru1fO;Dp{fPWwrRGI=vHLs2d!E%SR^?4`T6q|Dc;|7YDDoy zoE=P$NcV(nBk(PbzU_aO4sH*m6h@k3yGDs*kd%)&+$MXn7rLzABSwO?JszGgDC?8~ zV^C=Dp#$in7BKM~>_$!CECi@wP!}8d`~^}_(+>>|O@bGZ1}H-dpo<6RiK@6DfiQNVWXAx}*B=$+jYzZJnL#C6@9Z9+wo12#}Uq&kdY`7O9>PK^J z5f=fJ#yx;VLt=W6111B31+blcPmN&7eMkV66^PDsKe>m&hXP3;;@E;&r3J92NSKx> zabBE@O9{SW0xS@a{ayj=CBWdx=DA5M3Fc1$7FTi;!uu zgQs|fNJK1Y8en$A20_YQv>ZW%wG2S2M_|}6be?GgDIcN0))>%ASWv?)I_;8`kaS$n zuYmhQ1#D=|@Rdt+W`bP+yeEWwYa=wx01VE=N4pt^C@Iyz;|AV~iv|TYHxRoXRHWef zyq1`l==?YmR89!-fCR%}^sx5X%pn){KIjE|yyE$p!D^g7z*%IaL5r6T#fOl<=hgG-=4rb#{c-0|_rE!3F|% zK;fGV8&4gP<7tha#loj{N$87I1-LLsrEi1sA0c~b7#OAl-2tbL%%q4k7th&6R)RcG zWY0NCTJ7mS%`9^l;Yku+QA?(v=>bS74DO*G9^NqIz6RZ4Gx#xMku`aJY0R-$rIHtM z!jXAZWO3M?z z1t_>{&Fy!mmSL%-f~Vnl%!>$wvmqlx5>FJY!1q{8P(jvQKe|MSMX9jRomXCH!%}HO z1P<_71a#+1z_tKMae!jMiwM$Shy&6=7TB@lyFQO6Y>o)3z`GM1^MH^Fc_u zgPgVWVDd`=^&B27B;3%w3Qhop>LkR^D8M%Akz!l^C-|~aWaZA!)Gy4|%Fs`Rjq3UZ zS2D7Qdj^Z$V0H)~X}~YLnE7R&)xRk1f8O;AjEu{G$E|soQ`ja6<}lc_=#2H|taSy` zvw(3GmBhl2liaIW;4m&-{LRUjcKA8IKm;^&{epqv;W*@P*)o}dC}9p^5(lsB&1n|} zE=Tw#fUSa@#N$A6)4G3uFeF(6I4e!8uXgo)(E>7{93MM(^}`I5Sl5)&u>nnq(l0ZPk3(SHc- zCT40e`^jKL01E4L0J{~4qlxhA(O=G%@46%F0z@5=Ye}pK=MDPkc0lJv84qdUwUnaW zRz88P@=iWjJ#)&|29NM)?yoq34w>tWEA4vL6F_B1>Ow~;3Bp3&n1;@3h&E`0cU1rO zfqV)!E*i7}5rIRlY8p&xUeruhMW64TaT)Rx0u#oVCyuOp@0|uf&@NwwFEQL|43baC z#5h@5e;mO)$n)5BN1z%6j@;1pM@BgaLXCl&F+f~KL9TeNtm|nPoG414MF~eR;mZi97T1JK2H^6`eHMex!io<7$U6%|{-(3u7g&&BOZ4#Er}pQ6a( z@hli30(PA5Pm95KJq{0cMOv0D`z8vMztErq>kTsk2*o%0Us1zYnejwi1|2wb;p`tF z+Ug4ch7?#*d~#JTz@bK1;?|j7k6kx5Ha2Il`Rb6)j^V42YH_EFN`VYo{LO7 zAOK@N`@5fmi8yWrB_#qRaKYi>lLTAw^DyNFnKz)^=%@z15W-pB$%mskyrs3ZRQ1Gj z3sTCq_#VvRZlK9d>XHCgH1a%-9Vx1Uy`2jLh0K7V%Lsw2m1#Ibv;{XYI$v8e4}do` z2pJd?;c1g5BmcUI9BHj{_S|5xK0wVlo#>NMWHa!x_t}zCz^VoCH2~ib7NtA$rv71T zEl>Fs$gUR3GSQAf=qycoIBX$k@?id9X4zY__s)3L;u}zY^6W+j!YqN>dM>aG;Jk=& z0K`ds@S?S58CO3Y{6UEbpU6{R`qGsJ(EE*n1XBdl0Jo?XzA$qf95$~&yFCYQSD$q9 z{bE68U~svFn`?lfnK;+ir$}P}*gq6ai+dnP0?y`^ErR|aml#BMP;y@e!<{NBufUy$ zhRFZ{>>gvv#sw9^tS_9v6X3)aAdEr|g{T2x9Q$lYt|aDwHTa!MQkT-e7%h@LSptt0 zlEj{LN!YFYz%)TtLEymFJBYzshU}v%KC>H{xsNePPG{|81DgcE0nDw`RuS+J{@btB z{&M$4>WrJ4o50-)G9FCOUr3JzR@^G#=x76)apd7pG&~93YY!by{P6HF!;uu&h(ZRN zkWztPu|Ls=Onz@c4Zw+r#P+FzVEons*Hair5eKCF=$qGbgM3FFOfEJqvMaFdM1iiN zXKZKz-UG%N9x*tiA*_d`3PMI&m>6~cShvq!oUDMO?T%6QHUJx)Q^V_!s|n(9ad$6- zaL5sOiO0V{@#Ol9%>fEpM%VsNEYuRq?^7Es&Ul4#8%+N6AtNORi)1<95Vjs2=wY~; z$KWHh%AEtc1{@9}%PY5U-*y2vZx0wv#g6%K|wxdXBHo;#9Oxs~n2 z#Ds3nL%+R`h=7Wk&4@;eatS>*D##eyD87Q{Zf2#jCOZer6q(DeTwp{4_v|P0900=R zYps!Y@1Bx*w}tr zY@4>l-aM$`!7mTH6xqwPPuRF36bxDSAi%zui+g65R{#p23U2pO?Pd&6OKqkucflc5 zo~AWco(qJ7MFwfln8aXOZu)af_4M$BHTR3td*SyLqRI!ZQk(}cWTGqIvR3G z?Yknu1TwDjLP8mYdSz=@*esAY*Q75*25R7op@acFDG(eOk<@EuWA{Bp}Oqetu z+vW%gw2)8V!zn?3pj1=oA$$W?o@221phRvQ-ft7_8 z9L9GLk!5B9`;@$ZbhO(Xc?ZThsE#6gd!b_hc0$9naU4W0L^2v#85kH)PJd7D6$@$h z--(0HrJJ+GVAc+=wMVrNyfAmZP(0)_zoVtfTf4eu9MFmMj)pv+2gRBSuDWRsG?C42 z+I<2?k%arLUj_xIoFpr3fem6Ky9;!8pk8zU2gMpdQ=m zbKD&WQ0B3-UOlq%aBXevV+Ij6W$)z!1@(Ii_})Vbb4Zs;G;4_6M{OJ00B3a{7#F`& zcYr_ZI`V-C_*9+&8@xuc3|MttWyjj%NN@Fh|`e7CgnBO%rh`C&1r4+_xIE9 zNV2iXB3rSBN*FNT3m~y~8}R_VY)g7)UB+553t(s3R%W|Rk1@NF0)>8_TceSW$WSL| zD7Y~1SQ>!`Dy+)(C)mUEtx$}Qx&DIQ3QkW3sITf%cYrn&IC0G;2VdAB3QY~YnR?!0 zg{UC>V8zT2q5LCI1r_vI_7>@R?@DGg#eKtRut*E+Vlc9YX`bTJ|E|)B>DCijbG}Kk z04#~-%ExVnAJx@UxgCafxJ-z*sUEvKpWMN4E*WMKG`t*CDiI5TA}LP_UW%&nSC*qQ zMg9@eS;Ea{BL6|TI*PDpB>3p>B#}b{_j*#38cTe`ark$%eN)cg$4Q17Y`4Mi=TK~D z`YD|YUU8ScEN%jDXIOA6SGwaT~>R0QRry90nsHeg{GuWT8nL^)&=}$9<6m^N@f5mC$l};Fd#% zJ@q93$~n|s(wZU$tS^xKc7gZK=zM*81u`%IV*avX%npi*0>VQHiYXPA4|_%}JGaMP zbaPXj-LhM$qK>{sb@LjxVQ=Z~yxO+?{2TWzvycloP4&0eM(n58Y|kotCF*TU{sA<) zB7`(M^DfB25!zj6r@=h8h$gB>2P0HFEeX$q+k>0zFA9Y=^r?)2cA1x@8wv=OU(R~n z8wZ{s1`JV^C`RDnIKO-lw$9x@J2s%&Z)F-?1AV@;5uwuXgm>9rUD)KpX`NIqV+YuwG`hQQ>oaTL6AAJv(Y<3(^LPctbD`yeFiYWMb=`iCbJ) zP`i6KCUwX7{(S`Bq}H7LD2C60?+sRn7C`@5Z^Mb!3#1qWaRc$MfV;kazU1ob} z8DJ_Zwd7hwYB)?!Cia(U%AG2_`GHt6Tcz7n1|d2Mr>BVJcbn@ z0|D~vDuEq96L1J6*BV1zLr8bjj<5w}HJTeSfyml-jQq$dL`X|n?;|vKApNky)kCWf zo$ncK4{yO72!wBKodJvKP#ey{p)O;k*cgt{q&#Z4g@Dx_h9kE^SaY)Hdiu~5RI)6G zVj49WAxSJb8zl!-TFdVhfVjYr5(CDL>1XhGG5cU$^14xqk&W3rgq~yf;B48Zl|~nn z=u`QF#~9ED>9OxHFr3H-_`pV^$Ig&?7c`*@1stGu?=hcC`}&o?6-(KM$2KYw$o6_7 zgU|$3>Uk9bU0X<#owMTb@E6ca9$IjR>7*%enbJA~NFFqJEUcPKEl$S2N23HvTXeWj z%s?p%VBh|qKCt*mZLrf=0Nb@@dLrVm$r&$5pm8vj0TBV^Hm3o+0I-4ybrN?LRyKFQ zIl$AaKXUvD2@oq(Ldz?#x@(&if4}HDy7%h<%5=xO2Ik|`x8aiTaQf8V5aI-LFIs>= zI-1CXqy`!Gd+5p`ud~W^483;-O^Q^?O@&(!=#URXdcT)JKL>knc&8-XyC8%;B++T$ z^<|tw^Mbj{tDT@*W>uO5_b}m6rdTwi6HMoV1oq^Y5;n!8E0|$&=!KxUfJ(WaV6u;% z%4Y{H_(o}9^97damnI8=ff^N>dSSSZ6t&8cek(Na|M zS)i2r7tFKZMIM485ppCfQ~(k!Sg2?x&@c@|?Ly0^{m(9p`GT+S3YgIW5Ax9*t})Ke zIvyzTC3Sn`#Mk;?CFKcG-GtiT%3oYK4bZxb&XX&sO$;ne;nGs5HDOnv9%_EoQMfJu z3QG56rB31K|fO27kP@+IA4A4@=^g;!8K_T4EZ9br(bmarwl~= z$88(#i25YJJ9JIq8(}gLLdnQ&plS~=!?8elK-5n(!5Q7~0aFItQe<)BM^L zkO-<73+%yZtn}%cEDAwzae#p*3IRd^u?V0)KpM}uwZ6o7b}GtsRt=gf;w>G1(3^ly z%)!M~uUQOaRaIE4OX?UhZc_C!d>+yWEx5r@%DoMh4L}u3c7|tSVwe%#a%h{*D;97% zi1|@s4Ty3C^JiJL5X-jc;D%0EpC&!zK8Q~swx9eL$rkZDz#pqfm4;1Y%5KNx*Fy2UJ#?#gLn0;jy9jbZu|NUPYLLiB%3GcMf|X zD}>>SenHs@p88NYjGI|ML3A0hY=LJ*WBd>}ftKU!|s|TC0J}?Wl?q_<6JDwH;UBwWp zYQvO6*R}S(OI4sm0O9F=kpX-bX!9Cx^y=k6^8igZ<%Bsb_@RP0pi`o7@E}XOL=sIX zM*OYT8MyLAI0PQef0)Jg7C2fv2*fqvfG%mE5i?D6lnT3~CXJ@w!H<`S`k#e8OMqiL z9=^oP08)D&fE!6hO7P23aEDaYDfQZawY1bAdJ=#^p>Hk*y=S-z`BO<_kO{RG41vv> z=&*3U8Gp;~tIdEkDn_S_A=0C9-z{j)Zaxg?%wu$0R)bDu|E;~xstxx+d)>2^mX@|; z6{cWV5=phTgxze8_mQpOu3Q+Ae(XMUU$GTiix>So*Ce%0}mWV z*QFwY7xa7T0|xmkD7p%DKtZh(IktJUzOij%>Yk>n9fRlV^>C|U6aZ61Nf++ z6&#SGeZ>W?)inWQ64uEBS12mt3$FpV2X_p*0A3JqoYhB{jT8r{&;qI6;D%{L(67xv zVFB*Aeg$qu@N_{}2Sx|P!4d^VEzpNhf6p7gum8%sff+Gj4d4OnaRI6?!F-y7Gu_2T zM!R1?vE(6|uSg!b0$orXq9l96t?5A&>O^*|24F)Y@&)V}G+qmV$x(ukng@&_BsGAu zfdH)z#EzGXN^nbuLNo=I6tLNX6=%9~Es_zLxuoOlFNr0QO~~7c#aG5uWNn`_Zaf z7(NGLRn~;?0>&E+frg?Q*c(FC)k0Ii)5bv3_LPMC-Q3ui1gfbT%)S!WKTDQFa&+_y zszb~`kTZA^+_`Wtq5D!G1%ggvcwlld6mU$pAb+qC5uV!pTRgWG-XL|XKiY1tzW2s~ z8}c&$P+my*L8W_NP{2Gu6`!Kxe(PPQYe?LE#dKV$1?!6M30Jv){%(%;Zf;U=`E=V_ zS^XQmIyDkdH{`h_PK%)9vI9X$0QOiTNT@(!<$GZ@yE@<77DZ1;#4s^W@DmU1Iq6c%J ztr!EHC&c2C$BdvEU%<*a0t?Q6dirttCZyDd-FLSg&(PDq(>`}%;^n|6c_)`KdM)P0dq~Ha&+F_ELyKAg(qV$mg$tRdNq9jHU-SBVa4uh0B*O`T4Y2q8D0d zD*0e!X|t&UN63A+|2_o7^;E>MgMy0!-m)yfyW|NYOou)9!TqBwbVF-(u>ostYH9-+a zMaO>#ZX`vC53H>NAohRn>e5S?d?SB{su3pj%0!Fk>FI4jR7!zMy9PJ70iuSyY`im< zGcG<}Hig?7inprQlqZ4E{0{1tscs{v~W#Kq~nPxGO1cQf?ckppnZ57o+cBE^$9JGaFC7dk5ekW`6!t z0BdCv7Z>M+{SDM_nYOE}|58FH(;J>;jLpFJxD_Rt4K}`~1zHy+K@UsBTjsl~w#@ob(tYC!EKkie?GunG+B|*wIx&&W}ULZG-xpiw0 zlpn%w8~kv=5%BTj8Q58+CCT~D&d&EBDViq|37gt72~2z6Mlg$`qa%ap(?bxXD}k@a z99Byd3{^;!zH^5Pa_(1fF}t;72Y+BqRrdBWW@Kc1$;Bx-pI@BJ&Xha4-XGO^`C*+aL@60d~EI2k5H$dzjB2NWF>MS z=b$n;c4C5j?@OEb0WS+%;Tv=bc|jL)>azNeCbp4qNKlQTh7$JJ5eKg6Q5F`Kn_)6C zF5lL9%z8j?M>4u=A{}|3Kfwi~H@HWnWUv zd?WL~!r~odw}YS_fv|lU;O_d&QEvqW1Z3gj+Xe{DFoxnn?#A`6lEdi#@?sZ)ILWLD&y%o*NK=1+9C1q4@{j)6KA3GKF^@j_*THIpuCp zjY*154m(Kk-a=!YLEPy$q=?_);&py;L@`B^<7U{}G5B-^#l`WE^FjFX3J9Q%e!zZV zZ(IJB$ji%vzrAH+!wXt78-N>5cjZ$XAwcAkst=%-Jge!=&{eCU0R2`?YtD^Jh;k1Z_`&Qn-a z^!v}B`vDC6IwFETGBT1mMB&Jf3lC+2UH78-C6y2Ith_=(-eF<1B_$iF&~73 z2mYuX+xsba&QB`#76!x`ioFMS;X)k4-V%nN9C=P!1HbN`D#-qFl%s>eb6Y38OzVXn z-sSv!gqd)7T8l@jv(`7^V`n!#UPpU~)fHzrZ3lI`8|@zw{&(VJJ`R0yb&d8uV>Qz? z!vq}Jp?~H5>hH}>d;QK0k9X~0cG4M}E&Jw^MwMV{BAs!w-FZxc{5b2ikJ>a|_+*|* zLCaSwe&Y8cs;%?i*fR8nV*TI#nd8j#lMC+Kdy{6;UqBytvnf0HpTA~2w!1Ai9{0{4 zDf;}jDm$@MwV6NvaNu`76E^?Vwe#&x&qF=P_{a+=rw^P)fgVS6?edvBy8 zS*`wMbDiDs&O3e2N4&f4I~dbHij?@rveifX##rg(UNZ_ei^4g{zP zyss5%7l;X{2&46X>;CfbXd;U+W3o(*K3zac%&(y!8?^ivMKAjh@Bu#APrH4KsP|{v zERT7mbU$Wqcv!xvu>SUK%1qxr4W5!!+G}S|QB&V_*%eGVcbu&Jz_)S1^Hj7agQL%^ zRyHb{N{aYDkXn_k&77>{i6P(js@Qnm>(Va)ccX`wmWXGz))KkyJ9ysj3Uail@$s*) zHg<_Ms}xPq#h)mfTx1!YF7pibNZKmHHD-3Wz#Zp7jm>=7&${IE7Jul@w>l14B{4KA zd)=2=4TX(*dW+t%;`z@LZ`4Zo4qa%kuc)y4mSVt3R+d{P-D-F;Ye3=J&S#yiKGSbT ze#PXDvoqDxv7ej2SaE5lpM0Hpu;JV6<|jHPO8bD@qw(=;_L|iEX4dli`I#}MR zDW3ir>^Y36_h80iDV*!``lG%X6{9x*HU^<}Ebwymf@Ti5yq~FrjBUxV~F5WS8 zj4jAHTImrSV{+Gm%F_Jh9}W7fXRSPI=Qo&5goacHA~Mbp4md5Zx@?u*=XZai?=71i zY1lKMCjLFpAdGx2^LWem{SJRuzgXA1+&O#fRF5!SE|;WX(O`oX)w$rK)tyH1jRBtL ze?;E;Gs(MU{qaYhjMbDPEhi{KH_PgYXaJYuFa3lcsxl+*S z+-RPovjo??Vw)|aSHDsFJy|E-q_!N*_^_ukSBzelw{jS-h3h;r+OlV>*R@btT(2~I)Uf>2hpv@xRYSDzTX0v?$ScxBZ)K$J zC`%k=FzUzOGd*t0LZ6F&wxy{R!f-T4nKLWKVxr?>$u8D1^Un13|u##v|c&NAhy6zRi@NbFs_&U z;UybR;E2pZnxgPCj)A_^-|EzDsq5{oL8o51Ue=JWb5qOg)T^%jMe{&GAy)p)%|VZc zczn#SJ2%zuUudbbymyh6j*P5@(lJ-`-HDIT@|5Q zU`PtFi2J~L0y@v~^77Z?R1fr8{rkhxw2f{etq+w8h;hPvNkqPG8{ONKjC^;iLZCGx0B;>`H)a-H{lZ z(l}lZYlhodgO}Jb%oTRjow!{b}`XjqmOuJn7vW}qv} zX58uuio=5yQSxoqJF7dZ>f)bw|4)K`d##P;`qj(mBbx4)X%nr*p4SBR-gy-2B$b^E zE{%@`1YKIZ5qN`Jk`}C0em3MizZIv@LLKr)(M*%|(0j6aU8_#ZZ&j{f&+Yn1ZPZJN zvz(6G3SxdKk55r-!~EhX#y0VX3OF17Bubdzn9U6vlM5V%Qzkv6`}R#~{_-XfOHS}} z`oN&whqlL;(~_i0H&x}Z8&A_i@a|Z1B>m!|<0~B0Sy?>1@O}ew3Z33>Gg}DH4SAlRm%LM|zMNsU zcOy@V#S|^wcaNB2r@KYv13SSnJxx}+Zbrun``K<^{$Lu5`26KIvhi|XwZ4DJ@zN1T zz;rfJy3cA;-0^qEASe5?#hv&thw}_VZp`EP^y#ZwzM|i8261Ba)Z|3Wnr;nbV=3%8ocYV|N<=0Cp zZb4_h^>2eUD+i}Gj*ZbVF{oNRgbCtKw_G+{nEK@ZvtcyV>&D*4yeb)+8zUfkIdO(V zoX|Nxne%9z#D4#0)%$WR?Hl2ER4)Rrl?{LXMyhulXFAiMp{lhR^`2k6lJ=YM9o0|r zSbsY#P310gJV$C!8#fcf16;3<4ZPrbFMX<#eqz2bU*9oK%N$65n_`f5wso!JkJIL} zdx{w6crIrrt(#e6lzEC{+XSwzxWD|x(YfuZTKkn_!Pv8Oiy}{Io_BIj|Iwz?Z&Zb!^P7g85+`qy96u=5kyGgvC{HVL5WKc=_ zuy7NzG^*{>*V@!?DuF^qW6j4ls22WBm5sJ+$piW!YXKtC1;s>cd?%>l*R8I{sW_bf zxnUjgWI*3E#=O71!t#`_^nrGJ`!IF2^rXLcLk=5FPjYlOH`Yt?wD!qnmOf3p$oU}s zyrh82TB!y0S5k*u&w7>W&PgN7*ey+^BT+uRN*eM#xEw09*0cKbY*ILyJ@4}Syh2tb zp~1={nbcym#&!4hXrZm~345%^k=)&dR^CcCDHl@Af9&WtUk$L=3l?>u<{1jE0IJgg z1U-X4|Hs`2d?E|xzdbU1l+eFGAkt9%rxpIc^O2u%jZoAilV2ytemuZ^+FONMgmhUE zEO+S$P<9xYezYdx53eZG$G46vTxEZVLrz6O(Qq^OO4NLsf(%;{Hus?Mg3|%7hz|i~ zy~xxMBSCy-CnFOoin4K?&75L*_=UNNNo?+o5Y_fBiXX|Op?AZIB%rDy?EN-QR_A+u z59SdjW|mR8jEe0elavJ(7T`XGkKQ)KNEjdfY_=iD2ahJtJL7)n-H>oG7q)yt=lYx0 z#nuXn;XQe&WOZ)a1nJb+d8R@hx~Xp{8f0>>1j2R67hA8@c^)#E8h7SY1fhwrX$D77 zT*kwr&Yh-%e)1l7U}eNLyWhW6b6u?&I=kkFXFdr!Zt_hVMRim~v%e+0>ml9SPs# zc6Vf=vgyd_Taez6PnT9#dZX80TPnPxf`9OAiW#W zD@f~w_Vw;vM<=)QIor(8L#b~K)w?qb{hvKAIklX|`9I#6R2C0`TQdl(>o=%;>WbA+ zT^d(#XqzKjrMZ^QcnMb%Whym%xQG?jZ?dK*KuFTt}c`8 z{g%bT&w`xQ%MOwBfxYgrpaRqN##3@$=)lvM>7{LU(=K^lwoeu_M3Pm7T_clarq8_s zpmckl6vo>^%Xz7#>(VLGiQA5CT=drsTfFetNah}Y=QoX3a5hGX@H z0NVROx;X5vkBloOqrUeGt`}W>Bap9C6#VXbGrysUS17m0{egBq=@d!W!In$~1uVby zNCoI`tG$y^Bd)3CcYPppdbNW${xw)cJ8i4+DW-7X6l=zm$Ch5vKdxzO+O_2hFryw= zojZ!)G`wf3Qr;FhL@nsCBJ@G&=A3pD#pK}$slT#Zxp6{B0?`}O_|ZXfoeMtg(w|}M z!>lh!*l;c#ntMDTBp+^8$(F{5yxo z(!=9CH`!Op+v06iUYh9Rl29FYJkLaRe7Qb(r1d8?eDuU`^hSD13d(r0WOec^-P_oBEiXrr&dXiPCoxHQww@9h=?~5yri%s#}-s+mX3CR&_T$M$B;)S%%jPe0;`9 zKJ;{z2oR9Zr7T`YrS}ej_y1_@*>p%qJ_)w){db4nTFEy_QT>LSemxj4eg7{MjMTpNsQuca%T7urQBt1d#h-#`QhYg*XvOyD{KqV6T&vM!n~** ze9VA1F(ix4Jy7{2o)^%{9al*FT_ZVhJM_Hcgx9fp)g9l}rbKG5c!FH$=vL{QqmFPf z#z3D>6{fvhf8Xl9(4+2eya*|fnm%PbIem*uG8Na|N%*6}BZ-dNlqWP!=*pXNZ<8m- zJX|VX(Qj1j=ANF-=h3lbEgbpbXkJ*L+)w-{ebzO4;*e5JnW=xlF%n^La;7M_+6X9M;a(-Inj{?s(#DHn>tnUiH8H+dllRY>)fs z{dCAlBpR2w1dgC0%1L6F)_^(gMB_CwgE$#2A{13ge{lkmm5bPyk>#9BEZb(%tB)CU zC|;yV>t|P>!k}zA{aq-ou+85PNR`3EiQE@os>D9C--OH&S82Zi| zEtQe=VRy7Wme5zE)TF(;^e8UtuFm3p-#PQkZ5;EX5EFKe;1A127ftN!tmr<%sMf{X zKMEchXswgT{M63T#1ki0XWg-hSG}f~%!!lmNWf88F5(@du>gl2?P23Z6Hd8eePqco z;0mKAM-6B<^sapL}9(tF~n00A2+(4(Co|hMg ziK+39QX&y#B7Tv$sIcm?>*!@iF3D|&ZzQeUvhmuJ2iwIihhO$yT>tPck>Tw-^l@E- zCSelYiswm5#P14w6*T5&hit4d_K#gEQ08tAQ}Fl@f55ma;uC9^_-8xA+J2*=qBDRg z0*8sqE1-TI?>ll^&h+Yu&W6U{Ngt6ljcMx>T3cVn(p7%&S~+#lQsf!YyaHOf(e!6! zQj-}?y0y-{^mk|5sycC563fp7-sfv$LT%%f8B@lAjxxANIJdC*WYsx*PXxIK2ByN+ z_u)4*UPm_#Sx7v*N!@sj{nus8J%

wh_u?LXua6ud;(rTjrIMqB~_U&>vFi`m<=f zd#Hc)@$x{$xheYlw_~B(m^4velkNjZ^KHyPzs-hzh*u)thXSS^OxI7z}4+Ir?Y zsRpe|s&tI3r!&V#1n)X;rwTl!|9YQawkNPjwR?iHV1zF{RTzJI6tXflc7!Ij2965@ zV<8F@XF?0F1!QbKfByWUG9p6RFZDDy`&j3OLac7|qxi^x_Pi(a*J<%kJ(Sa1A1=3) z>oki5CX8u09=_j+*ZMfhpqpc(dJDVfcUPaA&dZ~Cs*5EkfX;Zp(|Jx5{8ACMAF?6B%qq7ZpYDz|dy$g1)5^#Z<3di-KknNT0NeU`&pAgqa^boNjr2rM54>&89>E4Bw zQEX^jUd|?^fT^c-n7uU7B+vgl`D9@HYtb|2_RlXkd;#-IcebtYpOP&7YfeJQtNAjG z?1f9(VB<3Jr@e)*Q1<4VUa9wm`%WOM6JggV6yCaHF{_SPp$J%-c zw6(Rfd}Gv$CDJ}@)oT(EkhuQa^CWV5d3sCGpPsChR>$xo9Pua;0yW9*e+M_GujD6q zRN0bf{|ZNFUQrqRP;Uso`t-lQIx#WP_Vwph&>$Z>iDF&Ke4;%)A>My(#=u;(U#j)b zyq-i(d&m=8OWT*PVeaVUMgN zHj@AOUyRu|^p3JtGBG42)GXz7b@j>X*y!1;{_}grE-swcB@Wlc(OWydeak+?S8MD1 z&n>)8OQVP+@j$&L@%;J7vwU15LIM(r|J=bg+&qeEj;9k@>g(5(4L9l8p8xkk*tHsn zpQ=;zd3qyDg)RHPf6sf5=f$TmD#iK+%Kz!_izJE&RMF(R%s|w*Q@V`|qv7PyVmxcSvtaukb#+ro}Zs2je_E3 z|FSA;((_vqObKn@2XHMcEGj0aufjrpiJLYxkvMJ{J$q3mEI)DJ^|s zZ;xgm?DIJ~`c}Mx=X`{iFk904sE2%x1kC$i5fZ*kPY;ehaQ(dO%tDL}ryjF~L_}PJ zz4yf2{5qAeu&$n-G<}j3KDxh0xPmP#q61ndPUAVv6Q}e@!O$vZm0RmJ3?tu0WT|}t;>lcAEhuG0iMHs-YQ>$*st2c`;*XnR#^VYtukP1vQBhs?Y@QuFjT9G&k*A|LaV zRUq;1A}ZdXvm@umH7WyP(Iz5#HU&Ug@_AedWV~knUy-s29%Fa|Wki$kMSEM*Cjzhe z^loORGoU-AN7ZLP3zD-Me@k&?{YO}RNC-5}XK`@lb&kLIltXAc>c25NEv}QiEhvyE z)?D|qgZH_KLlUY&Vtk@~d1cfVJ-g9^5wOUuQd835DMUn#sDyV#!g>fA zW=T(P=-B$*Ei5jcdvX!4@>TQo-82u&QCm1|vOj*peEMN*>O?bs7064f$iFNAF| zX8#m&m9*sb!Q<`eZs@Bk{PyLhn<>m!oxfX{o5!3P^LLNg3nSP5k^-<3hBGDe{^jrn zcMMGT?M}Eyr}IAZVM}YPhxq8@bt3>F;+Di zRkqffBdj6=T8m%5fQ+FDYu3gL9*w*t*5HGPYr0K;1xj@r@l~=!?zsx(0xbewC2KPk z7rDRjcRp7kO_biM4;7Yw?viR81vB%$I$|~HJo((J~;CnGq+2? z-o(z-bk(^CB?8`8%a=DX_HWu>#%DfTb(UdF=pAAyqVPVVMTgb#Yomt_g4uV-W^ZHv zl4tVr^5CCM(GO&aVeC3_B40~{j*9BGu^2#9m~EQR1~}MW4(z4UzrS^mZ{{=>5pWgq z*7=}meLyX8bJll?0I)FRrz&mZQ@AYGImbUOaz5=}4!tXn?9;z!Hj82LW;?QF_fL6b zc;SZaZ?9NGx`9O{^W;#GT--gC^e;3aB!jF-*oE8K;nFDwTeKTz#oP%bRg^Wt7f z%=`FVb0Fgkhth98s$w+fbKd};>w|h_po|UuoUwW=jv{_zGYaOuRShfX|_0Zuv#+42q@L-#i^0O zz|Df9Tl%s8FQKhv9NdjD9G@BoUMp%jIk}3;%D|)~k~??qAk3~}P3$B^3?K>uvx|Y5 z`8F%-HIRs1ZF*yFZ5>jnVUg`OMsvD%%11bM^o5GsVpT%<_hm5bO|!je*&?Fxp`mVKHjpGc+_*1t&0a3X0{ryysO&tSnXmda&4Udd$ z2c|DV`0VWJTJG~feQwcK#%+ILsyj9QYce&_1KBN`6|@!BGd4kn1Kj-lAqfdY2#d|Z z0ngIXQdd`30v{dg1q$3WuwcO;OaxejK&S$Jwk)vWmacjxYqBNfJ}eg_=l6FGoLWid zbJ_ZS4R?$B#gssvv!5Npk^@@Mj~}E!hmr;6nu(nqZkp0n;7Gy8!h-}}EF?_^28LVr z?^ALbH+O=q(o6WW!9O)Y)_y|aGW70Ct=HZQ4uA?Kkv$nt*0Dc=;j-JGN=rA`H!?*| z7=aFs6To`~LsU1lY8$QbiHS9Pkr1gspqkT(h};Br6~fTM2ccW-E=sm51>PN_KbTMl zeBTgEtTk+Qyn!a&uwe0>zbVfA*|S)n*uf!?WI!~15f+9iA}Xo|k62e#=Dq|@NY!?wzQXGP|2$|Agi z@kTFR(0=SJ^%4!E#SMJM68|emi542CzVTIP*%)toR=WI#J-*j&2bAkvw+`RUL8B+QyK~H(dsDT)~XQbTS zYk)yqyYZYND!E;E&;zTN>u$PG2+gd2kflnV?C&vP55iHuk|57O7=G}C9$Hv10dG7O zh|!Bc+06YJbB~|5^ac3_)wfhCL@8Ko`hH06Hs`={hAw-z2ZOTd$q$*42|YB>-!4>rc|z>x{R z%-9cB90(Gw!nw0?5Z9o0(E8YHJLd2lQ0&%j?EqVP)h*#VOR_V!4VHCMP2jh-R+x0) z6BDCDxEVehWlmBI0V^>xP}PltH;a`m4iG$XPiF;j$;JAzFK-};_n%556n9YIy|L`4 zY`Jhhrmx?*fe$>8%8dq=OM|sJr+&b=Oyx4ULVDMbWsU2Cjgka#(nH6xs+SelR;?~?J z)F5t~_NPH#3}FhVJ|!piRwglQCb}WC<`HEiVfvSW0WJ_68P+=^_F^ntZ4{nvWRAdL zuJb+Rfz2$twm+9?v^uk*km%jCfU|ed6l)i`a0!jvb{$dC@u_%-MT? zum{bu)~0n})j%c-1E%k~-?F;&-oZg9*osxSuBnett~Yz^&!77Ye{vCSdWI=?w!7Em z;%Y?^4CTPav<@8gUE#8#Tx#4x18ii{oQB3ckN}Q1`w7F*>(CQLu1(J-JtP~d)Y4G% zcZfH!n*t4=pU?VV9~JueY{(sTj`LTV!6f6#p+np)tRjuV8?m(Fu@L9mCnxn+#8Nn4 z$L;2YMl`3=5k$ZMl?5*{#w+rOxPgk2!&6T-33B6okWRouHgB;h(rdq}SlPO+d2+r0u zZ1$xP^*$Iny?apo`Qhp~4;Hk#^jZq_=G(C?Ty-jV89^?f|EPppzGK`xojpap{-&~$ z8#ztfu)*~~qMk}W*_WQT+_w*FNXQA+l+WNK=JThk^x=CAMN`LWMG6F|db+EArHP48 zeWy0rryKpX3jLwLKvWs7o8!Ax({kOA#=&dq1yJF^#!Z>|wwg})Ek;HPw<|c$p0lxx zsA~}H*>inO#~Lfn%9V`*mWJEvY>T*(c*4q0Sc*fXdc2A3IydCwXhy9iE1}*K^f+U9 zU2}G|yStlS`@xy>-ig}5`Vi&XeGxQHtScY~jsOpmj-H;Cs#8B};Cq7~YRA9;E{tsN zmstgD9Xx>jdxH6$w6a|#%ID&y93g5~I?h(e4f=S)KYza#MeK1w72t0qyxN#z0gn@* zTLZ6J<89v_bDB~p92SoVY3^@RH`uiqLN}xOwoiff!?JVqNwYxgrJq8fKbT;i4_38i z_4i&pMVl_9DF7N zo2UMA!(IYeP$$UQRKWnC?2lTpW-7n62-MParfxC}q@k9%B2O1q2?Q&A3YGofQ4=6^ za1gZ0zGJ%tVJikec600N@7!o%K#yz|sJNLQn=nv9G)qh9Hrt@xsNRx>B@2P(e%4=7 z^k>hWAsP!r()JA_IKx1|tPf)O3~fp$$?+bB_s8qqQ7e`D$4Gbu3p_*%b?Pn2#f_w4 zL<4{*gWV9lP@ey4oLLxNq%H+P1PtO?;>JJvUr+v;mFMOoiO*%)iB$^X9tn;CdQwhK z&fu`H4zQEk5c^P7HC%3s30;snR zO~g==6`#Y13lmClR#S5ZQZH@Ns|TymP(FU#>KGj*fm-(O9ZMTuB~ap4I?RfpV`AFQ z$Xm!=J@eQI_o;P=fXiEp`~#s|a`umiyitryl{bHU!7^{?i(60N&}VXRD*c>9A_7hT zRzFH95Jj9DEr~Ci*;Jbu7e6miCC|u@L-v&6M*rtOW@!=Cj6n@92+-zwFEN48{}+6z zR;Ow?KYUDoVQ=v)_R%N2Ty?FPf)@#OOmWm97`%lxGtD4b9Iv(|Q%q!`Gu3(>-@gp? z+JHQn+Z_nHP_;YPztdTA7J@^^<3OzbXhV!m``wF2K6q^-BZ{4UKfC;pRule%%fZix z;dj4wj8$+jT_~YV@6nGRKS2J(40^C^H(H&$My-Rl!y~fG{DtFHk^?cxylO)~7skwT^?vG`{4v{qKtn6^OSQ8%KzS3Tn0Ml8=g>ccL8pEd>W0e#HXu;Xo$&gWv&M;v&b2XkU_H#SQS-wi=|+y?1#eslAV zvpGf_RBj+s;dWk9C__8wt}dzYI;V_hzfEtCT-8u>##H59*ZLp7dt#`V>cg>(s%Yc`cH#jsj7mN_-b+jsAV`GEw zAY2jb8eVkrRH>ZSor~FduT9>vNgdD_3A=ATPe@3B^<=1CObo*Fu`{V!sHf}ZgLa|A zMlR=(-_M8igcPb$zBm1Ej_Yg`>w3;dvD->>hRg7ySNSVSQ8>;lV8{%4mWM-<&R zsDfp4CNTs@elCXL?d*rs>6a})BB%gC@JH~e#7kOJ&R3Vbn{u0*n*g+2o_|lcU%h&D zQU8!7q4&wNXE&fzL!?L$oxw=Cz9!2DO1qayNg+@?L2nf^35hnERtWb3wOXycIx&;& zt%_c?Yvqp;!B6$|Cg3a3xLAr&tQiSq2_2Xnl~`sIEiCRVJ{Qw%a$|<>nTCyl-VJ%k zpF1yOTB{0&^{eeCKeGP%n$d5`C;P>0yWKhHEI+}1;ECB9DB# z7Dxt@nD2_rfDSO=?=B{o{=I&&%5Z zc42{g%k`91@1vum5q%W1O6DAF49eOpo~;0^zaO}7W<;&$+^6rm#(7G(`~e#5XzHUN z?Qf6l?d>bUZCTgAU?bl5##S)tbUQ-ZJfN)T7stp?w9|1k^Ovhv(p#(hBuC zu6HdjJ3CIm`5_s&wxK&XIDpQQ6#5QgKLQSD-=Umd1kF?+yr;&dCT?)*6Y(jSad}Tm zAFsd#mJ;8~jg1#;047T4j+Jp%&$T)nD*Qdsd>!+6bEGaqhQ19Bw|AY)dH&Pf+&lza z1G2%Lin7-4bU~;eVgYqg%1fy|uT&Q|}_VLLX zv54QE?xH(@6J21@XJV1vR8NA9;l4Q@2-U$HxIEN*FO;aVIG&%mMc))6gm?_epxnyu z&Fj~uph+*%E~A9L{H@xQJl@t~?WqgbQoy22NtoCjD2p`wN1ipfLoy#KHx?JwJoIvL zbL#?$J~Sl3AUTbhe5T)WmHN~1QuCV3RZu)7MuCeHx9x~$*(BmMvzQbJs`8kLD$Co* zuH>E-bl)Tgzr#`u+Sj_(HYD9~V_Skv9DID5i}%2U0!lJLaA)DSNqO}uT1X?H?d`;C z6%)oo0QJe(lka@5%K!+;|IcrMx`u{G<3!5$kDDSTgRahlX!B~50YkikD!4Qc|8aA6 zZU-}^A*fzr$ngKz|Fm=6{F$JkdT4j}fw9hKqoDgY*uKYsAFxXxn`p6dix^n7MK~?; zeR|F?*w+pSTjj4oBSV4bEGfHG@`+LY0Ebo%n({qcSzZod)hMu<{tCzksM<#AX8y$9 z6ncU9h)&1d2Xql}Uv?1(vDzw_s&@ZIl*r(tURJZ9*Rtm!;_Ya>=>9fyB7ymqRuqmT zDEcM9)0Bqoj1QJ!Zvt~3*k%bj&OL7{)VnVv)b{P02B#n9)vKo9KS^2p@WF%b#mKjvYO#udAJ-u}@8|L_T zTiUw_G~&RJVo70OW?ZN}Rlj}+eoFuP0=y2Bf^rffN2_6fS5fE<>UaC^K0&bt*>S8G z&+YekC7Qsq>7n{8xJ=t733V_g*ag!7o9VmkyhJ#bkG|O`oqa5_)v2)8NbUX&dOU8& zISEnC18WGVl6i75Two{>Q}}c}3XC~^{NXJzgB*_ttGjWVrrJT&Uf#8th}n= zHaoAzqC2$GpuX(_l*Vc0E48TRk#V6)RwzW13#hvcDO8NWacS805(a{ZyJpn*j2Ng@@Nu zWjW~FSW*fzKS+;ohQJ(%iQ$9A03^E#u`Q9)n5H8PuLnNxI^|nY&_i1ckjG4A2ob~* z!9h$pF!(2ja^3J{T6`e#xJMCp+MS~#Iml~BZCa*H0R@Wy7<=T8o;biz%IwFT^Y<)% z(0AMv_ctsQLziqt0^ZNa&!EsRY5K@J@{QnZs{DS;qwNNdKcw!@zWJ(r7swP3hy{!lLDs`T-UYZdfrAFEf{F@RWqVvg|1z@pK{gu=UDZEO&esJP!y@=f zfl5{^M8n&+ZlM7FC{sX6wstZ2(@$R3?PCDS<+B_z$w(tLR07G$C(^Q;ETpBCQKF=q zqB3T8Dx)GfBKax1Lgi%CHY1JVf8H6F%s-wvKc81ICYt)X)$|ERB+Er`MYP<*g62v} z(_luLWgVB(f((E{am6uE;r%$YwK__}C&^uc{|Ne@WUE)jL!|{?5r`%qxeZXHbBW5V zuCJRyGl3mjwq0U5vA%1USAjIMQI+GW^k61O4jNcfL&eDk^y3TW50jE2;MxF%4tqJ~0X1QVWY0 zQ?Mm8jKcS-bg(XxA!p&zirs_?q6aL}c7MhAR`CNS8l0Dxr*5{gwDhFos{gwO%#4il zp9#7w$pZ1Jy1|y)mxULD|Lr_(+2gWpqR zM@L7n2C7G{ZG&wZQiLoyzFgYR0h=7`u}4p|-Wv)HyylOppJ}F^TFWO2gHI|Ls(dC+ zNJbV0CsVX{cVC6z-I>5Vy`>`#3S>aIMzx=ALuavba3BNj2)nDpx07OLK)vs}IuuwO z1L^+prMOpQIR2h-q6krY71aIoe}7Vc{o{AIP6DVN9y>cbSchK)4f1T$V+KMK==l`m zK7k*_Qws~WnZbb5vokg$0yl_%FqfH!`@DJcCX!u$x&QI7U*U@#SwERa39-TW494Qu z!1_QMJeRn^}d<^+^|TJiP$Vf#qbVj06im%T;mn<$E*Bs z%FP=6{*WSNMp+rh)f+d%!R?DJV-pfRF*s^;P1XLL+1~^Cv!K@=1HAdU?d|d*cUD=f z5GgPv%ELVkW?s8duv>!Wz5*b?L^`J}f%K;sLHm8Z1(peUk0qe-eKlpKQ$t z+s%HpH%0yr;+|D326QlPu(OV(KdTjT`Nfr$?{&T>+vu4*@K7Yb_rmCcje;3M92g*F zVKW#tdaAuQe*=byNT~nWq~U8^Eb{T=M^$)zn(qxM04SA%6CBbYCz-bFuN)j6rdej0 z^HAJ4uYOY)u9zYpu?rM}cZ%I?EG(@6t<6Ev3$-&nST}&3{=hk6DgZ{hKT_8ZP(Ys- z2zKkm2Sp{|?!ZOX=)1qpcsCPgo|Rte^9r(fF99|&f|0AU@J3Ty?_&5D0roRUF3oZR$(DCcmjlhc|W39 zr=vp!7Zya)Cna?Sx+Z)gA|z3i>Q-I>4cg_~2WKU7paZ)y@<;lB6`naIT2y7&99 z={1ed3S*6;i(Oxa(f(-p*Ep%E5rBOJo{EYJpWQe<(pZ8~t)abflQ#w@XZbdbQ2q@B zdU2dX`B+`8b+15`r4xdE>J+tbU0j$I7Tu+6FE5=)gY#~q)QT+|J4~j)Km&0T07IGJ z#Kg-kfi zWwq(!=fJCjoa+h7O=@Zg@d3B^`45f9((k)rLylW=orZ?SY^uf{>}xs!NJRoJK)C3z zGD355=v>|0a`N)fL`6km{FDuTC`hD5QUD|j1}3HjNDsP=p4zi{8!5r{FUuCLyI?O?5uJok*9^iw`{=w^?^9cw<0+&;v+t^OVKUMz8ek z3~g}XFLOLtRRegm*w+r+XTZ1ndGVL!{hY>UPISS(638>czVEJEw%Fpidj(8Air}1` z?pW$5u57bcU4EMmOpa;GpX&peqFzah2^piFAIACB=a1U>5x_u*M zHo%I(m^og7uV7VQU7ZjrOf>jcrBp6d=%YXP^|gcFzt9wpwW;X~aIjp2&;@W2y3(UZ zBg|NV492ck>Ci`+R=dq21)JNl0k{x$eP z%`x6DC1qs904SRW?$U_0k(88_*eJ2?CwC5P{?(Nk$ZzR_PEzw^x`t~2n(db!r)3j~ z$Vy|KhQG3u@+91y%T%`%-j`%cT7V~y6gM!GOxjYJm{h5~r{e4}C`lZoG2Vti)kr`l&bL`tlV zTL-LeVLOkYZa_?jz84cgW~%i2<9<`DbQ-%1*$glN67>Ho2=QR&*B2^q$hsvYMB%YD z-3BlOxA%b+pv3!O0WBFB8BX8@o|=}%NU~=0y(z$NW{!1*2q z;ex4WWGMa>WTiU1=N9`*K}nelO_GRg2j0K^56kx>@VXHMZ|Qb39P}%Iq$(}@2WP}hdoC_>gJy;s6 zDk>zvJ1K3_u*Fx+Ooztm1H5ATl=(&{4h{}aFRwNz&Y)JvO4cs1jcaU#7eqiv_yYWz z`kM+L%gbZJ(7PQ1>h4?{8cY$lHGbp4kR6SZM@o@h zG4tBIq=_Wz){KR)X%Cn$LF#}kBMye50~$}Kae!k0b9t9f;OWG|e|ri{&puiWOU)le znu>nFM%kLiTBLjRik*&$6086(PTB`Oy}hrXAQnYnsRy>)aKIIH5p>M7bZoLL#0Y*+ z@!^BI2MgQc{Cu0MADBk4d>&k3ef?^qySiU#Yzkq?e!YS61g7}l8HG5qAQ=@tg#TUy z4aBMS@5OnJK8Vv6Ot=xR85q$kXNnZZb51KMDGh<;UctS0_h;X{9En7BA3iNr%mD7` z*V@0xQA9%{BkeE&3Whw1jF!NrNl~ZkmjP_A{k;v#!OVH&WF1eXO5JE^7+IztQ^dx` zvOr<1@y4f?#CY;C<;;ywUtRscP;P!{>7e`)(jp$1*mpp1aN3#{a)pyw%zYLE-h%Tg z0+}>)s1}3k6E~x28pYbjznZ9}$I5Ugbi@~b)KnP=bHD`-?w}ivTbW;8#y~?uyW63u z55HFVOAx z=Vdn+!iJhXKZafs0YhO-f3lonj5zL?OD*AU>{@o|!SO+9k3~dP{3C0NSw-Yz6xQUB zTL||)c@7Gl(UO4uFSXUx{BWY%F3=2MK4N%#_T|d2U&tiQ+2{>aUjQC!%va*#;&KIC z_=Zfm1iDcencCq}H{C`iS}fhzn|qsuBv|O+4hK_KT5#{F1pCKojyE&{&u&7X34w7+ z;%if9eSQ6buA|)Bi6x!JlOl@ImXq6du*_iV_qy3bQM3bQkGI*_uz^_vAEmSLY71^I z>9tP}6#b;6q|RWur5hfst6wdNWsKB)n8O5iqsnjitoJ%>VH-mB$3+%A^gLGIi{j;e z%TEFJYN(}gety0SWo}4M8XW#Ld0bG*gbFlk&x<>0g;t8m2Op0;PyeP(k44GQ*KcJF z!pQ+Nh-)1}2iclI4#x4TbWKtL;^laaJrzXt;d&QKD039^zSb|}*m8u8v()H)AGv#v zEs`|{iZFAt&B=Xh%#&Oo!8X{grMRwz{obcM zojo%9&x(P{MuP3`VoC* zF#f5PJ0rbRWKQ~~-P=YBVd=EPAcB($+-lgaV6O|dj)aIeAGAAkyc!psLAFq6ASjKA zg~icmfH?TC(TMw(I$i?qYIeUSh!ZBbh{e>m4M>i45tw?GTnrg?~pGtGD3Km z3PfZzKOpO~p&5?;QH*27$C}&RjE0fQJb-CC`}-Z>dHM2npEidv1zsI9EPtyJ9z01L(6|YnA05 zr{A(7(7TYa1AJxM)D#t)F;xYYNsg_rF%!5*xd;cFHkkCKYm0$u(v2NYZjV}}V%k!~gZ<3>-qvBL>HJr1A=p+b2Ol~I3!D8tjH%ggBZ^E3^CXJ_C4Cubgz-DDtNTT zG4+^JZ14*)7P=z<{IH~viVDt5YlEj>yW6}B-DsU#)bGuogB(T;nzti!{bCPSjvhx~ zFXs0ebTjs^-+va#5_)KkxdD%pjhz<_qFf9YP z(LxbD2?)!MzbE+-auj%EB2XTjSfzDOjO^gxU_7>jjZMnC!MipaUtJx+AbLh-TPzzM zYlS=lTnjO01eDbj4EYB7nMb>z&Vj_I$G6~dprQH9p9K{_y8L@0kynQ5H%mjjZi^yc1mNY5QGhKhfwDxxfjA0aakLh$X| zc&02C-Chn9$+6}Z7bm5QgK4R$JH)+XNgM{G0LIEeQ;t|F!tO6}^(Cc`#{y7H4X&i? z%%wkZ5!bHW{nEwrEjMQ}V zci$EkngQzV=;|s1xyNa_k0j1SW{**4Fg} znPgvlx2;x>B^8|Hp%S=hHsNtqf&=dtv@SwILZ5qkC7(UJi>&sR%L^(nW^V^R8(;3b zYPe`Phv}U4>$YF9S@-k9mF_biHT`8?;sb)HuJnudP%4ta@Zfa87G^2wF*$6onG|3a z37tr4?AJvw^r!iD=sNqkFgyGCn)f50N_x_$VL0g)v4sReXe*TeX_op)kV=rr7lIW+ z=<9&l)sAwYc7lY$b92#1PQ|7xLYojRKw(rWi3XaW)(k z>}=$7vSZ@u>A7=rxTSK7EKxBZtA#8!Mbqt1$-&{l&`34ow`6vj{~MYSUCcYeJ~POOITP^^Dzp|N03M`Cfg!k1bK9S+16GijjL?%wq|1 z7e}c znF>7?3k%E1uN0=UfGn~KVftI`e{ZBoI@}^V4MGMJY2}ReYp(u> z8c_^0;q-!* z;P-|ZLqhM%)YNcf(gt;WDx7|}u&|(6^NK#9@(LHkh~XbUEE>eZDqB;T@UcUn&+P`r z6M_W6B;(!3oiqS{VJC?Hj)LQ50YY_vShdlV*ZXk)8tYf2f;97v4$;*W$L~$~@ZkfW zzmkzrjVWh7N&h+Q!;ZBoX>~mZ@YXX@h98Vik;#^fyu2BND#Qm^aXV*xd|ZVy+hQO!5V-9> zjU_5cxy<}X>4HCpA)(#kX{Y-E@kR&3=?LsQ1ZPH4q`6r^VIi-PgVobc4F*P>{&Rrn zTK~G7WWr4?LIgDSZSp;RRmI&b2ZV7qJU;*}krx3VUp6ez6DX{`-VCcecwo|yxkYta z;lBkIu}R^-v5+hcPZegkl}I?V8j{FgEPVU+2_Rhv_YleW@D2OUoDcKWe=VhLQA?dj zA~A!#!?RJ&DGPN7JtQOqA$|en5}S;S3`|>7kDHcCA3S%WAj+g?)l(whrgba5&(aGo zCKT$$j>$<%0J$Y>Y}g9Vt1cQ>o8$2|R+Ishj8MoF9|0^Nu@QzVq!1Ie);=u9g`6T4 zcY~WPOxY5@v7Hk}1bao1%?JnY1pV{0EWXxYZUD_fL{|Mi{LXd2S3`k_0o@Gr=xzOi z<;E=*4L?8H={;Uxu^u2l=6bh>^=5l#gAK|98p|KrVErn4(dR#Y52(0d-jxfI5@N@JD`Rc0$Q=4pkV9ZU|hneIT-sY z{V9>9C+I`K3eJDlSMoADmr+)Fx?!#b3SU=Gt^!C~Q^ox5XNq{WTVM9}+Kt+C-063^ z@BbkG^SSg%0{HhLganw8BjXG!t0MK1`!E84SSKq4iwjEHw2N+NC%HM%?kb~SL4`Ro zGOzCJ>_k|Fj?T{N6KXmz%lQvm7#LPD0Orp@)rNh1d~xmruf5mLPmk9nywf%N2Ayv< zk|ni@G$Yo|phEklr$pZZr~M#{6=ofhmlx-VJ+89FkZ!{BJ(3B3PQ?-cg?Wv#UcPMA zU|4cFJv~J<5D4B5Ffu%Q9v!>n-lrfM7SedLN5aNqWULQu?XMPYxF8YPJUygMgYhO{ zRYV9S5C1M)N! z&&ln-_xJXII<5DscK$WUROdm4gRrQ<3HVwDjurENxd1Rl#-+N4+ugmVQ}P7>X5av% zb(i&}5+`eG^V{+?`NCvF3W`kERgou2Ac^P(k_|EwK@8P_+bsk9+Ga05Fa!Sf4iBf_ znTv~SiT=BKPDAzeZ-=lP{s(Pu9aUBMwTo^$KtKf*Bt)g9yOmUsW&@JaCEXyPD4-x9 zQqs~TC7oMAy1PMIHr)+(F2CP*zH{#%cZ~DLVK9c^*sQ(RyWV%k^E`9TdAb{IRD@R% z7gqGJg930rq|GsCxZc4@Llih59=_wA#^(r4jC=0%We&)5Jr`-@?u^0%w*v@oPknd> zOy6|^AdjNFyc{_~H10Cs8({=lRoc++9^AkGb=O@b*EIX- zhZNcUt3(C{OdusZrcv7$mL)Pcy?>wir+ox*@o0xK)fa%lHLTUkCNI} zfVnL|$o+vyGDzT)2Y~TvyXN{Vq!Vh@uX*9TvVcp4`klp!fr9F#PHvXRvzdLNSMqyl z_4WMx!e%CR9|b@4*xURPQC7waFy2;QF2v#VW1c`Ih~4kvZjj%}f?n7NWnej4`W9#< z`-Scc!}QOEaBy%Cp**yKt_8IVkT6H8MTg*s*tU%|M&cF;q&cAfPO5tj#Av_3v^jrz zY6J0J4EgpJZ@$`h)}~EK1n>v4Lmr0Y0?>JEu44~=#BSr2zG`$3%N0t*SZELO_v@Dn z0mB7#Q!{iV9(V5C`T1L{EQtlsKOx45{(*r8@N)zZmBEyfLh}LH*$Z+o1R@WV3JCuL zeapdO9AR+*5#Ly4IR7S!tH|V{jO^LBC() zM?+f|;MU*3enra6kfgh(_`D$kLSsBB5K;^L6(Ti)5;;&t+)@C z_1!!_TjbvR#vt%G&VPFIuJ>$%i3QCjKyj5oz`}|@fM(%9KEHz|)Aq#e%(Gt4ssA|$ znDGKzN*^%Fc=D-aMY_a4!v-RpDruQ#Lu1eAHnBIbmhP zLGa^yZ{EE-hp;ga=7Fa7X^QuixAezp=q8VHIGc7UkKJ=Eq2sa2J`njHoPhg{KerURo zCp}2EPlCrwt~N6Ks}y(S`zvS`F4sk<1N+w-lrcbBKpEfzRdJo1I)K<<-Uy;XgLEJO zbUbqf-mxTnn}k|TGo#;md$v2`g&RQ8;^H@V4tyslVd%y>Abam+8&R!(?a~^}jSsqL ztx#2?Z2O+D=lQ)qw`uKZ__r>;r$YBt0!_=HN zX&?Mbpu!3v%#c3g&~g3yhVSh^wbg%t+J%uYc&!Duu0?aq(q(>WDi0@XZ5`4MCFOVg zlxA|$0OGEN?DL?j0Aez~*(m;08o+)asq4YITnFq6VqkNF6kA`{?S!nfv=tV=*i=S! zR;~E2UmG<@>yZq|D2c&+JsWHF+3Lzm)d&Dr=TnpFy>2O*GWk~LAnjC)MYa6sO3|)ry91s)R*)QQUhr0S4J>< z`-MwQV{3GOI2gK6V-d2Zm1@s4^j>01sNbme&0aO4)j%N{ey9?3>Na+3`&G#`L zf*`8*gUvDLQASO8wX3wuzr6Ndve?Z=4)^Ixlq7%tW^CqVSOonD-{|lW7bx`&Y#Z9K zgs}#MU>FTP1&%?mg6yX828A%N7T^>#7YyR?W6K>Ib}&Kd{Gaq1JbNzgJ&%95yA8Gp z(qIud#4ew%BD5m}6p8l2prvkrZH-76@e-%%!O|jSD~P`dq7YVDtnPgG#CUQFn_9f? zUoaj!{O4fS9}pG`ivS>%i&_)s=I8a{6Y$voC9u-~A{+wAZvfz=tLBm;0x4LK$2vL` zAcuG=B_(2S&w;Yx9`V;68{1;ApXj2 zMGib&A6Yx5w0PE&>dCX-R8g8#s&2N(=TyvbNG1R~6!b9QI{tvb4d5#~0wQjRg;~w} z9{~fX2Zjq7O`>k(dF@(2XZkbtupkY^!sXsbz<+;>X;#vD{%8yH@;VEJ4$29?iT5Du zS?p&7f>;-%H3<3)LIRjHB-%SHgM{<-?yMJ-M1w0thHD^DA{Q5z zR6tsKDx(G~P5XNSE=1gO6Hu$2Si!HuAl=b}C;Cgk6__Ye3u!jXTUK`PtVOwyS6S9S|-SnCAW7 z+j|lujemy<(xf{4Er(JWsZdfT6GQJ7)Hs0)0qlJ3PFDo@yFZ{j1=Uo#y{0&5Uu$Yb zt2=C!l#~z^fP#VoGD}2LOACE)Hq(7RhyJerf7r6#6iMbeE`aBiHCPkAAkQD@yE?F? z2qRotR+eG0np_16_Y9+y@O*!MxZCzI!N_6Yl3&8=3y5zC!(B=sqLu{)(CsrZF@cGk z&VC7k{TvbLXaC`8%$A&lfF8;&3 zo%;&K8PvjafA-D+k9bw}9M$QA8y}IK10G|v+Wjt=PL+ivVwC;5fv1beNt)ZLM{8d; z%(8TzIMhaDV3F*;1t*}8MdD5lt8r2oiQU-Ip;|5nW(B|%goy^W1580xjr*1JXF+1F z4}cL2J*k6n6uSEQwJp+gqM{E?TJyvR7P z0~8R5vUgQgQx_<_MJWHlUnd7RNWlQ?Ll=JA{Ad2*d3iH)DddzhBmY!KUg57|pJ zU`U|4|8^(`jL!H8ULZI$^gR^pWg6%d%F~MNYQMtIo0-V$OTRL2^eRk$dTPoVu$;L2 z2l0T~Cc4s7>L{d%C?b`BY4Qd?7j=L9Gl2r1A&dy zKOqGr&?#nhnoi^%!Ap=O+!1=sV|?5PqD~|=2U`Pk&|3C!XgfU4@htiiY*;8;L=*7R zDq0*SeNDeyXr&l$N>}{&-eagj7%rYQzM}FhtJoduW(xR0i{1+HO?P1 zY&LK4kR%@57oci`N=FvcUY1lY7)av0_UDYf%Q*L4XdQqUVCi=Kw}iS-hygS5YCyyT z$OMe=c>~)Hk!9^HYd}+$`;fLnBIyjGB<=_gRnQxN;fi4L~`oKTr!Hg5U1> za!)zPmSkgi&HxywS>=k(xIJgs)@s9eA5Ws*kkCx7ulP!^1_~mK#wU?8#3+H0imACG zhUXT57JdQ|@aD#()^Nyt5GZTF-+zR>W*Uq}O#4pm&{Rp#^__4!$~A>n;lmje2Idd*t?68<_O(*eZB<%7>_;7$zR2)}OwadthbsEeE=@8O{1qiS`e?LOYZ_Tl7e=QE}qYeJI%YiN0pG7bF}Fy{`}+DO+mBsv%j)~AH)gh@%uCb zeg{aiH`H~=1s|(HR>h=Q`UX)yKn4T@J0F9+qH&M@`t>I;JTUI;35+UI_P9|yfXoF$ zh+DG;(-@B?$aL!)L2L6u|(P z865eKipvy$gz1WnzJNp;v~6{xITL?$)v8?h@vnzj%8^qgXx*flF)(H?Dkv#|rfXlN zzPted0QU|H3c{p$_ebKeouGTl$C835nA(kS!*EvFi+cLIe(h^a=4G0;No%HzjW27k zwj3JIIc74E?+8M?{{es{NZ+pm!3J;AHF?5f1*G?UJuYO zy4qNg9MlQWcx5X46m&BzH0`KPM;|-spSLBf}ih)!H;!%5Nf_` z{7k7<{E8TtkJW*j>B`aK50Hw1^3co@T6>e<0KdlK!ge^$S;NH5eH)y+1h7bUBSPmcCiw&~;wxN7 z-4V99)f|-{-&F;&xbx@FuMu=b{MKVt$

$gSxNaq(-SYZXxcj;P1x91kvD{L0~P zkwLGUl$7O9EQDdjbOND@L}maG*DD!_0XYtkPO1ALm)(dFqgGeBpa!Rd2(-I~74|N4 zuxHsVp}JbMy}OG{)8h^Na5Mn=8tc;&_c=$`gM+VJRzmpKgM%JDYSEqA8fskzKf~g2 zkTYRf#sA zbNo+*AfapIQ;#KZ!&ix}^mO;vFJ16A>5nAf{8kZ2K(siTM5C!W_H_hQ9|)NrBBC?1 zh)kuEi6&%F=Wy)iP)=8loc_@0=@LMO&+m3=&JoNKBJ~HF)#U?racODk-}El1?SZIP zVW@P%ZgpHxHX;vX`G3GNihzW`ZUhd$-e@mzOr1!z%%fY=11SvOlCoMxcOalbvOA8G zN1Ib~;BxQqJ3ayrWjCTNd`--Ko?1Xm{PO;FkfSNELfSr|x-X(3>04$2no#IRvwpB` zPJW+Z41w|EJ&l+%&!NznFLXx3D0;MQW(&&E?{7nu+63rd$C>oc<(x*n!0Z``mk2 z$aU*7uy?JJzdl<*PZm)awnnHOwRb3`^Y`u@Yf_^9aM&!Y)_b(x!vMqo3xk#EXL&ML z*;!eC!6F5J{`>}XI!P}IjObnVit_S)!T?%;Wdsor0dRttPtZ7R4JP!yJanw1Zz);s zB_4C#M)Tp-7&Vhp^cH5+jY6|~qzs(IolwIDSve$a1?|AqqWHr@#n3GI;OTUrs1Y3} z=XxCLB}WHRA~QE2J#k5S2!K!_l|&y1xb5HqPSZNi>)Bf+CtSF?^vgzhM$(8`E!o

6AhSSNUaT^IuOJq?C&?+ePig$OEEF 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 Date: Wed, 6 Jan 2021 00:21:36 +0900 Subject: [PATCH 27/53] feat(node): add Humio (#409) (#423) --- diagrams/onprem/monitoring.py | 4 ++++ docs/nodes/onprem.md | 1 + resources/onprem/monitoring/humio.png | Bin 0 -> 14629 bytes 3 files changed, 5 insertions(+) create mode 100644 resources/onprem/monitoring/humio.png diff --git a/diagrams/onprem/monitoring.py b/diagrams/onprem/monitoring.py index b6f0d8ec..c097ecaa 100644 --- a/diagrams/onprem/monitoring.py +++ b/diagrams/onprem/monitoring.py @@ -20,6 +20,10 @@ class Grafana(_Monitoring): _icon = "grafana.png" +class Humio(_Monitoring): + _icon = "humio.png" + + class Newrelic(_Monitoring): _icon = "newrelic.png" diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index 08551d2f..ef64a7a9 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -152,6 +152,7 @@ Node classes list of onprem provider. - **diagrams.onprem.monitoring.Cortex** - **diagrams.onprem.monitoring.Datadog** - **diagrams.onprem.monitoring.Grafana** +- **diagrams.onprem.monitoring.Humio** - **diagrams.onprem.monitoring.Newrelic** - **diagrams.onprem.monitoring.PrometheusOperator** - **diagrams.onprem.monitoring.Prometheus** diff --git a/resources/onprem/monitoring/humio.png b/resources/onprem/monitoring/humio.png new file mode 100644 index 0000000000000000000000000000000000000000..bd36be109c671345de45e9b604f4a749192243c0 GIT binary patch literal 14629 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 P=m2SP1+hvI!@&Oo-!naO literal 0 HcmV?d00001 From 4bcea01f345ba68edd33a0479241c3fc710516d9 Mon Sep 17 00:00:00 2001 From: Gauthier Leonard Date: Wed, 27 Jan 2021 13:28:55 +0100 Subject: [PATCH 28/53] feat(node): add PowerBI (#337) --- config.py | 3 +++ diagrams/onprem/analytics.py | 6 ++++++ docs/nodes/onprem.md | 1 + resources/onprem/analytics/powerbi.png | Bin 0 -> 5725 bytes 4 files changed, 10 insertions(+) create mode 100644 resources/onprem/analytics/powerbi.png diff --git a/config.py b/config.py index 57c98307..1d8aafc0 100644 --- a/config.py +++ b/config.py @@ -90,6 +90,9 @@ TITLE_WORDS = { # TODO: check if the classname exists ALIASES = { "onprem": { + "analytics": { + "Powerbi": "PowerBI" + }, "ci": { "Circleci": "CircleCI", "Concourseci": "ConcourseCI", diff --git a/diagrams/onprem/analytics.py b/diagrams/onprem/analytics.py index a62e4017..182c28cd 100644 --- a/diagrams/onprem/analytics.py +++ b/diagrams/onprem/analytics.py @@ -44,6 +44,10 @@ class Presto(_Analytics): _icon = "presto.png" +class Powerbi(_Analytics): + _icon = "powerbi.png" + + class Singer(_Analytics): _icon = "singer.png" @@ -65,3 +69,5 @@ class Tableau(_Analytics): # Aliases + +PowerBI = Powerbi diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index ef64a7a9..2d813727 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -21,6 +21,7 @@ Node classes list of onprem provider. - **diagrams.onprem.analytics.Metabase** - **diagrams.onprem.analytics.Norikra** - **diagrams.onprem.analytics.Presto** +- **diagrams.onprem.analytics.Powerbi**, **PowerBI** (alias) - **diagrams.onprem.analytics.Singer** - **diagrams.onprem.analytics.Spark** - **diagrams.onprem.analytics.Storm** diff --git a/resources/onprem/analytics/powerbi.png b/resources/onprem/analytics/powerbi.png new file mode 100644 index 0000000000000000000000000000000000000000..9783fc9461efb51b1951dcf54b850ab177463d51 GIT binary patch literal 5725 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 literal 0 HcmV?d00001 From df061cd2847ea7dbb60d6e48c4eeede5b55a4130 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Aillet Date: Wed, 27 Jan 2021 13:42:07 +0100 Subject: [PATCH 29/53] feat(node): add gcp monitoring (#343) --- diagrams/gcp/operations.py | 15 +++++++++++++++ docs/nodes/gcp.md | 4 ++++ resources/gcp/operations/monitoring.png | Bin 0 -> 8235 bytes 3 files changed, 19 insertions(+) create mode 100644 diagrams/gcp/operations.py create mode 100644 resources/gcp/operations/monitoring.png diff --git a/diagrams/gcp/operations.py b/diagrams/gcp/operations.py new file mode 100644 index 00000000..53ece13f --- /dev/null +++ b/diagrams/gcp/operations.py @@ -0,0 +1,15 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _GCP + + +class _Operations(_GCP): + _type = "operations" + _icon_dir = "resources/gcp/operations" + + +class Monitoring(_Operations): + _icon = "monitoring.png" + + +# Aliases diff --git a/docs/nodes/gcp.md b/docs/nodes/gcp.md index 39ad2e31..3a1ee484 100644 --- a/docs/nodes/gcp.md +++ b/docs/nodes/gcp.md @@ -112,6 +112,10 @@ Node classes list of gcp provider. - **diagrams.gcp.network.VirtualPrivateCloud**, **VPC** (alias) - **diagrams.gcp.network.VPN** +## gcp.operations + +- **diagrams.gcp.operations.Monitoring** + ## gcp.security - **diagrams.gcp.security.Iam** diff --git a/resources/gcp/operations/monitoring.png b/resources/gcp/operations/monitoring.png new file mode 100644 index 0000000000000000000000000000000000000000..427babb76fdf34852b6047509cfe77b52e2b75fd GIT binary patch literal 8235 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 TTmWMV`+%yVmO`bRMcDrV7;V3g literal 0 HcmV?d00001 From f19c3a62b8e2fc7aca6fda699dad6221b101ae8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=89=E4=B8=B9=E6=A2=85?= Date: Wed, 27 Jan 2021 07:38:17 -0600 Subject: [PATCH 30/53] feat(nodes): Add flowchart symbols (#377) --- diagrams/programming/flowchart.py | 107 ++++++++++++++++++ docs/nodes/programming.md | 27 +++++ resources/programming/flowchart/action.png | Bin 0 -> 826 bytes resources/programming/flowchart/collate.png | Bin 0 -> 3007 bytes resources/programming/flowchart/database.png | Bin 0 -> 12758 bytes resources/programming/flowchart/decision.png | Bin 0 -> 13036 bytes resources/programming/flowchart/delay.png | Bin 0 -> 5047 bytes resources/programming/flowchart/display.png | Bin 0 -> 8698 bytes resources/programming/flowchart/document.png | Bin 0 -> 5539 bytes .../programming/flowchart/input-output.png | Bin 0 -> 6198 bytes .../programming/flowchart/inspection.png | Bin 0 -> 7234 bytes .../flowchart/internal-storage.png | Bin 0 -> 1436 bytes .../programming/flowchart/loop-limit.png | Bin 0 -> 1726 bytes .../programming/flowchart/manual-input.png | Bin 0 -> 5308 bytes .../programming/flowchart/manual-loop.png | Bin 0 -> 5979 bytes resources/programming/flowchart/merge.png | Bin 0 -> 1623 bytes .../flowchart/multiple-documents.png | Bin 0 -> 6319 bytes .../flowchart/off-page-connector-left.png | Bin 0 -> 2053 bytes .../flowchart/off-page-connector-right.png | Bin 0 -> 1905 bytes resources/programming/flowchart/or.png | Bin 0 -> 7607 bytes .../flowchart/predefined-process.png | Bin 0 -> 1402 bytes .../programming/flowchart/preparation.png | Bin 0 -> 7606 bytes resources/programming/flowchart/sort.png | Bin 0 -> 2714 bytes resources/programming/flowchart/start-end.png | Bin 0 -> 4918 bytes .../programming/flowchart/stored-data.png | Bin 0 -> 8135 bytes .../flowchart/summing-junction.png | Bin 0 -> 8965 bytes 26 files changed, 134 insertions(+) create mode 100644 diagrams/programming/flowchart.py create mode 100644 resources/programming/flowchart/action.png create mode 100644 resources/programming/flowchart/collate.png create mode 100644 resources/programming/flowchart/database.png create mode 100644 resources/programming/flowchart/decision.png create mode 100644 resources/programming/flowchart/delay.png create mode 100644 resources/programming/flowchart/display.png create mode 100644 resources/programming/flowchart/document.png create mode 100644 resources/programming/flowchart/input-output.png create mode 100644 resources/programming/flowchart/inspection.png create mode 100644 resources/programming/flowchart/internal-storage.png create mode 100644 resources/programming/flowchart/loop-limit.png create mode 100644 resources/programming/flowchart/manual-input.png create mode 100644 resources/programming/flowchart/manual-loop.png create mode 100644 resources/programming/flowchart/merge.png create mode 100644 resources/programming/flowchart/multiple-documents.png create mode 100644 resources/programming/flowchart/off-page-connector-left.png create mode 100644 resources/programming/flowchart/off-page-connector-right.png create mode 100644 resources/programming/flowchart/or.png create mode 100644 resources/programming/flowchart/predefined-process.png create mode 100644 resources/programming/flowchart/preparation.png create mode 100644 resources/programming/flowchart/sort.png create mode 100644 resources/programming/flowchart/start-end.png create mode 100644 resources/programming/flowchart/stored-data.png create mode 100644 resources/programming/flowchart/summing-junction.png diff --git a/diagrams/programming/flowchart.py b/diagrams/programming/flowchart.py new file mode 100644 index 00000000..1e7ecf17 --- /dev/null +++ b/diagrams/programming/flowchart.py @@ -0,0 +1,107 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Programming + + +class _Flowchart(_Programming): + _type = "flowchart" + _icon_dir = "resources/programming/flowchart" + + +class Action(_Flowchart): + _icon = "action.png" + + +class Collate(_Flowchart): + _icon = "collate.png" + + +class Database(_Flowchart): + _icon = "database.png" + + +class Decision(_Flowchart): + _icon = "decision.png" + + +class Delay(_Flowchart): + _icon = "delay.png" + + +class Display(_Flowchart): + _icon = "display.png" + + +class Document(_Flowchart): + _icon = "document.png" + + +class InputOutput(_Flowchart): + _icon = "input-output.png" + + +class Inspection(_Flowchart): + _icon = "inspection.png" + + +class InternalStorage(_Flowchart): + _icon = "internal-storage.png" + + +class LoopLimit(_Flowchart): + _icon = "loop-limit.png" + + +class ManualInput(_Flowchart): + _icon = "manual-input.png" + + +class ManualLoop(_Flowchart): + _icon = "manual-loop.png" + + +class Merge(_Flowchart): + _icon = "merge.png" + + +class MultipleDocuments(_Flowchart): + _icon = "multiple-documents.png" + + +class OffPageConnectorLeft(_Flowchart): + _icon = "off-page-connector-left.png" + + +class OffPageConnectorRight(_Flowchart): + _icon = "off-page-connector-right.png" + + +class Or(_Flowchart): + _icon = "or.png" + + +class PredefinedProcess(_Flowchart): + _icon = "predefined-process.png" + + +class Preparation(_Flowchart): + _icon = "preparation.png" + + +class Sort(_Flowchart): + _icon = "sort.png" + + +class StartEnd(_Flowchart): + _icon = "start-end.png" + + +class StoredData(_Flowchart): + _icon = "stored-data.png" + + +class SummingJunction(_Flowchart): + _icon = "summing-junction.png" + + +# Aliases diff --git a/docs/nodes/programming.md b/docs/nodes/programming.md index 8240515b..06ce37d7 100644 --- a/docs/nodes/programming.md +++ b/docs/nodes/programming.md @@ -5,6 +5,33 @@ title: Programming Node classes list of programming provider. +## programming.flowchart + +- **diagrams.programming.flowchart.Action** +- **diagrams.programming.flowchart.Collate** +- **diagrams.programming.flowchart.Database** +- **diagrams.programming.flowchart.Decision** +- **diagrams.programming.flowchart.Delay** +- **diagrams.programming.flowchart.Display** +- **diagrams.programming.flowchart.Document** +- **diagrams.programming.flowchart.InputOutput** +- **diagrams.programming.flowchart.Inspection** +- **diagrams.programming.flowchart.InternalStorage** +- **diagrams.programming.flowchart.LoopLimit** +- **diagrams.programming.flowchart.ManualInput** +- **diagrams.programming.flowchart.ManualLoop** +- **diagrams.programming.flowchart.Merge** +- **diagrams.programming.flowchart.MultipleDocuments** +- **diagrams.programming.flowchart.OffPageConnectorLeft** +- **diagrams.programming.flowchart.OffPageConnectorRight** +- **diagrams.programming.flowchart.Or** +- **diagrams.programming.flowchart.PredefinedProcess** +- **diagrams.programming.flowchart.Preparation** +- **diagrams.programming.flowchart.Sort** +- **diagrams.programming.flowchart.StartEnd** +- **diagrams.programming.flowchart.StoredData** +- **diagrams.programming.flowchart.SummingJunction** + ## programming.framework - **diagrams.programming.framework.Angular** diff --git a/resources/programming/flowchart/action.png b/resources/programming/flowchart/action.png new file mode 100644 index 0000000000000000000000000000000000000000..28205f4b62af4e1dc08c68fd7bd3b8799e6fc07e GIT binary patch literal 826 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5Fo{p?&#~tz_78O`%fY(kgt&J z5#-CjP^HGe(9pub@Czu^@PdJ%)PRBERRRNp)eHs(@q#(K0&Rd22LgOTTtNyN8k(A# znwy(7H8u0|^C4^?x22^8NMeG<#zu%5xJpblKoOv9X=y1)s;Q}^wY9Uiw|l~bE+Fdb z1DXt!?VC1j)8)(io;}<9^y&6HcbXa-C(fF+@5PI=|No!)|NrRc&t3if`<_3aFl*MH zCr?iQ{d?;7@5Arkx3;x)Pn_60b!yM#$^ZZV|C`)&3Frrfk|4ieAPo#3DQz95`1MDR z9oZDZBD_uR;yHcYOBW2!8^kkO99Mq;Qjz5C?qYA3Y)}g1u$OrHy0Smv=4BL9uX$Zi z43zfvba4!+xb^nVc0XoEk+zFpbt*d5o&=ptw)#cV>sO_bM91@zC+~N z(s(|mm-BY-yZD=P%Is*%?YG+917+qv*|XPJVnK0LS)Jg~RO{z=_a0;jziz(0Jn)Wv z57!5c1NHUO8JIW}8fZm)XlL+0ufINUPcO%W`}TH+e`N9UYW?%cDmx@G?+TCos#%xn z-bCI_S|nK=adV3qMgRZ>9zT)hY<&FAD_Hj+kf&PW8c~vxSdwa$T$Bo=7>o>z40H_* zbq$R}3=FM|46O`|v<(cb3=H00*ujUQAvZrIGp!Q0hB>_qn?MfmboFyt=akR{0G;SD AegFUf literal 0 HcmV?d00001 diff --git a/resources/programming/flowchart/collate.png b/resources/programming/flowchart/collate.png new file mode 100644 index 0000000000000000000000000000000000000000..2d5be1c84e4b2cd8b854f05c8d873dec76ba38ed GIT binary patch literal 3007 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 literal 0 HcmV?d00001 diff --git a/resources/programming/flowchart/database.png b/resources/programming/flowchart/database.png new file mode 100644 index 0000000000000000000000000000000000000000..78eb1718ce601da5bacf7b1e90471b48e437effd GIT binary patch literal 12758 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 K#quX+!T$w4e!<`X literal 0 HcmV?d00001 diff --git a/resources/programming/flowchart/decision.png b/resources/programming/flowchart/decision.png new file mode 100644 index 0000000000000000000000000000000000000000..40b9293d2c0d20c82f98a3541034aae5e87ad8d4 GIT binary patch literal 13036 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 D(o#db literal 0 HcmV?d00001 diff --git a/resources/programming/flowchart/delay.png b/resources/programming/flowchart/delay.png new file mode 100644 index 0000000000000000000000000000000000000000..b859d173d9897131a8c9374cb7e89ecbf6dcf887 GIT binary patch literal 5047 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 J)EjyJ{U3|2GaUc` literal 0 HcmV?d00001 diff --git a/resources/programming/flowchart/display.png b/resources/programming/flowchart/display.png new file mode 100644 index 0000000000000000000000000000000000000000..1d50abfc1529a8d8f8e54d1f996e44c000ae1f31 GIT binary patch literal 8698 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 I8n&VT1DtiQ;Q#;t literal 0 HcmV?d00001 diff --git a/resources/programming/flowchart/document.png b/resources/programming/flowchart/document.png new file mode 100644 index 0000000000000000000000000000000000000000..02bb83c8cf17059ebabca20251d9a55c13f4a675 GIT binary patch literal 5539 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 literal 0 HcmV?d00001 diff --git a/resources/programming/flowchart/loop-limit.png b/resources/programming/flowchart/loop-limit.png new file mode 100644 index 0000000000000000000000000000000000000000..29813f99392517699126bd994bc950f6b64392ef GIT binary patch literal 1726 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 literal 0 HcmV?d00001 diff --git a/resources/programming/flowchart/manual-loop.png b/resources/programming/flowchart/manual-loop.png new file mode 100644 index 0000000000000000000000000000000000000000..13d1e9f05eef2337993573651a1a226426b75064 GIT binary patch literal 5979 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 literal 0 HcmV?d00001 diff --git a/resources/programming/flowchart/merge.png b/resources/programming/flowchart/merge.png new file mode 100644 index 0000000000000000000000000000000000000000..d6a5851b66534d251f095fb1dd6defcdb9bfc9aa GIT binary patch literal 1623 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 T$IO2RvVg9Z!Tpc-9G?F#I)HAM literal 0 HcmV?d00001 diff --git a/resources/programming/flowchart/predefined-process.png b/resources/programming/flowchart/predefined-process.png new file mode 100644 index 0000000000000000000000000000000000000000..f052d7bf0b92a07c50ff36700b2174215d5698f2 GIT binary patch literal 1402 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 JW9FUme*mw0urL4s literal 0 HcmV?d00001 diff --git a/resources/programming/flowchart/sort.png b/resources/programming/flowchart/sort.png new file mode 100644 index 0000000000000000000000000000000000000000..08718b4aa5c0a3bc27c7faece8af721e7a449b0f GIT binary patch literal 2714 zcma)6c~p~E7XK0x0?i02D$-h^RdJabAxw({Wf7s2f`AH@Hbxc$89@sw2nb|j%f=#` zS|}9(DN-P^MF>uN{sf2ns?JqP-4o!M}QY!VN<`eDpAa+)c$R{jktCKJ)eQqX=@v z1VI?_2(ki0j0pq@H${*sUj(tdjvxl1x%J1sL=bd>hpVUKdjf-zkdVM)vEt(5($mu; zBO~ME<1bveK&R77N=gzF6FD3XjYeZKnL$B8{{H@jg@q|8DMF!;$Kz2b6cUM)nVAUy zV6)j&D%HisB|AG?Utj<1*|R=AKDoKMSFc_j8ygD@4CHdT*RNksN=k}~ih|iRH^Tf7 ztQo8UVz{muEF(ENS>wVZSR2F|IdoxRYez5$OMY^uncIBpveF+oUo=%sMRnvGz|f+Fdh>Vqq$ns5lpU$ zLpj7yrD=`L=Ol5GV28Y`{JY(?6_RSfliE)8(@xdX3Te%I2`f$@t?2@NovPjnNsXYp zmY<${w@26oo^>dD#o!q)jo+#4z1uD1XQWj22*sfPmawQ{tfg`MVWYgYVYDS*Sd_?4 zO5`N*GgJ7P$^4AuB<}lWImw(PE;}whj?H8L(o*(tUfi}Mee_P+_Dle93tf1J|7oF2oUo9T{voT9U)yuOF;sp9Y~6YVa=C zlMhA)thXSBd$NY|rLt#3-G-d~9qE-Z2cvu&8ZyPQEu5Otsq(?km;s&E6nkQR16y&h zGD+gD&wf*+vpMoM{&A~wBG@?-AyD+i4w_xo6A)(YF_cQr)3;>cPlZ=au_)t)z&DEK zvDF4e{C59=9+hy9nJoz`TI$7QXN~cI>!BhUxUE<{x|e2<77qqqdf`Qu*4e(UvcTI@-(;z&Z=HR_gRXdR=FOe; z_7NzZ&E-A)^qeya8#Yg{!@jkAZ~cP z7#JSY)9%NHse8Pf^XTVAcK^_q5S6me`5+_gfxq7-{);V$%&KL3?f+Y7z7-E2vlIOJioTGuqpinm#sp(*8!b zy>&qq(um^|yxU1=O8S`6JPvd3HJV7X_xnoy5u-EX1kr8B4`9G>dtNRP7z9kvOL5Cn z=!;iBQVVxApENjiE<%0d0y-u)H{E5EI%0CgTsQR6#cv27zsd&Uh1nkLD6!odko5n! zg(o!GKT}o2EML7MX!Fv&b3Xb-^uvG%Y}|_-y*r4n-bO!HTG^;ad!@h2=MUa5G-{*_ zHU4uuBSxmub0|1ARys6PK`vg(IkHeypl6fWB4jMg?tHW=8{YU}`L&Z#=ODsLJ-K(M zMBiOrjx8$Aqb0_+h3GBT+;fvf$f~5YcXi`bYP1`PqDU~9{B&Yvxb0_}O-!qou90G_ zUpAr4iaLlzzsT#|>YV+|)9VEGHE0yI^^GGnPF7d=5}y;IFZNQSyN1)o!lx&#Hx%jI zvjjF}i-%%2$3(R}^4L3Ip0}H6H+cI>cC%5r$<3O)VZZ~^>ec;;N-bse_FkEVWPEEY zVOO)VP1(e}ridj(FfY$-Hc|^sJo=wbxEX9yR}2T!3`BNT9ZH|?I$tPlj6U}pde$Xk zthg`PI!)V3>a*^QJ$`b@o=e@k~k zGsC?W-9(INK-!e{(T^Y7YzZzaj$DH8x!7tKyqAuZsV$BieZGB$<@u$ZO7^e`hy{dS zzNy1k7sNhN3r*)&KO?8HK+A8-(oDOXgc`yVx4aE)@Dn^fjcx(Cujy8<##w|75)kN0 z_NCgl03{6V?8bJRUnUzDf&&}>CL&3s3aXaQE;qM~aMYsh!SSCBclkDv2m)|G=Xp4D ztCgf1ow7a9pj@bqc-H(Sr`MEr!h2Iyc@%ABdFTuDhxlZLG*my*D+2Vdp z?CQYK92^0GzEZo}H|`!9mJPH@DhtSD%s^u1trn4@ zfQ1>d0G#a1$tn0fk~y(?>YM2UKy4cLq3bc`yQJFDFyyZ`|4j{x9+xfH(w01u!5 zu!;Zx&DQ_`4t(2ed4>6b{hq1Ob%62TQ_xnH$z0(GH8wNgSmfqqIe9U9EieQCPG}lm z*S{S;^@kMU2U(8j+1h}?q5^Z~%}B4re%5;QeCF**%2c;B|8(Pd;WNiiUfiE9aS0oY zoa5x_uQOSJ`V^^575EDj(~D#T3JeqA#_7%G@_i3dCR5Y?wg2fYyq;YAHKb1)x%6A2 zzr?OsCh5d^rNIr5yhb!?iFEeMUPM~NvY3G2|JRWoGBmh%9PpcM&z0olOaxFDITLqc zOr-k1la#Pcj15W7$>s-Z`#M!2XMlr)gJ%n`Ws;%TCa_-lZ7xR#hpBi~n4<@>X@}k; zXs<}Q%W@&U&rem$vT`DW7>ZAkNp2*+atvQBFZ*{u=!hL0TzktFFQyeXuItzEu_tKy z1lyMhWLQ1gAJ9x_AQCEw8^n+Yu~MFBkPQ-qTi-iA_r65}js?Te_#JX^6XeOSX?@ge z%$~h&E!GMbMw!+iOrtTF!aMTpdY{pxMapLk@dfSzLV?;To=cs*?M_ZA=SXCx@L%yq z>aygqr?Qr}4Aq}#2$*eOzxZ*TrJ$(+wKt6a(M0=$+-<=<9_NmZJqn_PIQAczCVzlX zr968sM|dD0ll;*f|13}vY#H5+lMVhq2Rn)K51m`WSg1N?8RuL@pPWg!+(^qASeIQA ziL?;o>4ZwABoY$@r8!?naxOJ3`X8blox><0)OY{Wa)n3Bl85sB@NYU zPNpAmOLnm~b3t>n@!H?+ZGo+=t#R9I2{0}oCMG5%XMI{5%=RS!aACg>S~A=^6Z5)Z zkhRVC=Zf>sZVa#3hr0xGog6e_Wv{eGYJO#Vl=ccBzd}4|Ne!ypf+@her%uOZLhDdx0KDkG4|;j{s{6<4zX}ZpVH!X+I>g$ zYi)c}J!2!xO`Uu>Uo5-2Er$aWzb{FtI*)giK97_!vr|`w8#8`Nw{C3%LT<1D`^EU7 zH^gk5fu%4#MDz)aU;FRysa%5hA0 zU*rfQZIL3xn~y-%S1;GayNceb`j*0Dw!LHuYCReS$iHPNJz3}?%2CzL3p;90`6cr1 zv_-0TWAc6gzcN62E-n)F4ljQEu&tO_os#4X13LJHPtz8+Pbto{KH( zM5bHAqjKYY>bpnMFWrqk05)2~UT@#5+F#W_{tpGCt-;Nn0;BMfnwkLP{Q5;jy$hLV zd9L}?Piewvj&r7Z?5jE3Q(BIV`wjfTTV&rp_cc(2?4eXywG!8>KEn_8v-);JvZ_v# z-!ju$zbsDPl)fsQpld$%$qR{kP1M^tS7=>dEY0i@qF3@KG*J~syM{5`k0R7>jaURM zWeoTpmmXLK+w-}K4wG7vcdMm}j7)D@*euN`V+Y3N=6XnNbsqgEcPXT()rkDnR4o+6 z&u=MS7u0@Lo68mH6d0r?L8?QWNvuq;-A(sEB10d19-a94eeo+#<^s9fQ84g4l>HEL zLubFwqK?^a*56U(6QP`knwvJOumc?8PdDFvIv%O&G+eUO-fKUvenxR+{>P9X@=tf_ z(pG%foG<0*v3hFGc!h3BE^2*JA5;38XolS7oy+Ks$|V`-9PP{5W81G8xGc(t6ii}@ ziduT#q0+3-Erx+l?Zcld?cOs`v-cG&2l`DuXC!HC7Dz|DRp#3^Ib^kRZ7 zYE^oAbWrEt=nNMjJ9;(7r(Tsku*ti&AztF};!I|OE$B=a^iW?hr!sn8C|}*%Zm!rl zo=)3?X=)~;>E`-Qy;$WWPK99|(%k%3VZWczo{df$4Y~2~uYNSa31lHp6F>IuWozv$n^__nPi%vlW z=kv+QYpSDd&Dro=-(yYz$PP6Pjfhbi+sUeS6lK~NQyLl?I*mZ0Zn@wd-c+6czNQ-d zJA3W+KZ8MRcLBn?4!?;Dm*#X&*mY9e!@|utbgAVQ3Yuzj?h5fA(DajmpmExfn6rUm zOXS05x|G}_SHE^7NR0GtDT@7m@ZN0L-g;81_IdVPVC19I^y_N)`kac;|NNKN#K zOBd-3n$mpk6gCm5Ol%_3k;r@)wjci?LTXki^$dV{wbU-!Sdl(s)f?Eiq~cX8o}T@U zN3rRi!v3q9A=?v_*sWHr<7q+DfB+jy5M;TW|B$>Uf%sePTQ(fIZOSbbOc8Mi`CIMp zTV3FYw41pbnnXXwQczRF50mChygw)XB9t33cE0UVLPcD9whSk$s`HdqT+A28*Un`N z2^`{g!tq7gn8k#hIqo1t&;pb#T>o;x#_hX!_ZlrGWI-(n8yMu_2WNLn7WaKZU z9U***dg?V)M{21^tZhv|*>J^E>a!2--+n+U2`Ko*2Q4%eOX0^He2_aI8HxY>wxzJg zz&aP^!hTqdxAds?k(8W6*74u=*b0qHfqQbJ@Bv5wG_dxB7(fcq)ewGe&#J;Ou!VD{ zyqZrmWoXMQ{|=}H1V+aXQ3WNhr8y^91?>A0B@1rhm22uY+-v1xpOd?k&)^ZE>BnVY_4A^NF*mfY~O0+)@jt~@$0>DYh8V=3%) zP}6%k0m{|)xs|{R#VW$M(@>ssNt)EYs5ccfgV0%n`0_xhpleq`L^XE%;_MS@I9AVNbr-FL3rHmIAI+s=2V z-A8so#tP$xf;?GS%h503qod>Hwmy+B%X+zT=5K$mZ<vh>>cNd_eo)_~0XDxBmRtM)_IZkaM6(G-24Gg-d-Y~c#lXTYUkaQ4%e+yW zcw+8}Ij9*Catb4rn)WkUAYDW%RVbCuLiHlLh5u_1B;Sf#()dK7Ofre?fv8B=2}ERV zM_HT|Oc!~7#oBEX=M^&QF2HsfWPBmh{v#u(2bfo9R|l?;ZpfM0h>D96)Z=@($P^y2 z(?z!{R4+2{Bz}e6l}({4PBE)uVe&0%R`HZmB3 zUBSdN$tjQJLV>t5`;3j6o_mSx(Ct$z68`r~(pqRRZ;UMxyzh({u}Sc3GoYgv0H#id zFH^ggX?w!y`;eJfDs;>`duiNrU|j*`_-QS68u;k{Qd5Sn`@lRTpgV}ecCv>UkXR4=KI99)j3#}mKk!PGV3 zeR8@R7bg$}y~%Tw)@>(UCQ%Fwu||)QI$SCz%+;U9jR3<0f|2MGh(_?@F%&}_%1gDy zIo9wghkB*xRRQTcvN-ih zW!02FE%oNs_7Dx7S6(3}8Js8D{WtV+PM$VyHml%fx~@ntMn9uC1(H|XR(ZqIVyk%QEI6IKKxw5< zxr)!yG_!-Nnhv!EpZp?uV+L=_itPURiRz4I`U^AYsVCeu_4Qp#Y3aDuCNk`S{96A= z`dTJalgg^v$k7b5>#^rW12;*Q;xQ{CCYjkwos3d+j7oB$9S1vm<3>Bp978Y$0l0-U z-9i7)q$e$Vpe|&X+%VUzO9W9Zt3s6XnX0OYDpASclgC86o?Z-Je`lv2yl$oo!sU8n zbY7QwM{cz3<=u-l6?o#x1v`9x%aD`Dsgd*QTb@G|D{%`GgfD;4O5ZRhPqXuE&h`d=xG`=~fLIGDJK z9=T+kI}dAttUxPgU#V+a&4X+BEi1b}31b%>>mHS!Oz6GGBP}UuY@NzywtYB8+y9+M zV0M2%`yl@&H>%_En}Hdo*=q0!JUPpR>9Q@fCyqp9TE20{b>{AZlYCBUaUB$u%ErSA z>IdSmv7JTw)w3K0Hct!?_f2BFn>$x}g&)%0T94+>rt+96P7+A@EMcq+F*f~Zf-@?2 zB-}A{%E&5Udt&pBD3P%q-F5>@i`iDH_a$bJf;wf z&4il`g@25(*IaH1`_qYkKjHJpwQ&mH&`8Ty)_Txbo8PifF642|w*K?*$b^X}^BhX1 zs^Ii~&)y~F#qD%<0dmawR3TaNYo8Ls5~m`EB($QH*aA z-B8Z1cqkWVV!R|YahNkvFGr9Z^NnOYmIV(Q{nVcOl?skmXw5I>YGsM;BE^Nz;SwIc zQT5+;QZ$0}_>r0)*bn*=O^Moj)1YziN!~8#&5T8v6p14t~bpB$V~O4SR}1jSs`edE#KOHeEjr^;q?F-_i5*#E}Z z-!7aHe*H8;`lI-r2dabmi#cD<1qOy;=sU>WF-gum8DXxc2Q*q{Lxbw}{*`(M|31P$ zi*NP;o_kbk5S>cc>EynQ=XGd|szf_4PzY~`9Oa+6xUew9=~bagM6b&-yBK=W@E zKBlk_HPb@$1+ofajW?L|f>`@eH62U)<4G+Z^fqd#sYzp2P$xftjn$|Aw7!6QqNEI) z{;j}0sasIkF(6_#aL+-2ZH#i)WGuAVw$kkLr%&UfaQ`c*X%1C}!Up{_c-{0J&CxKX zoZLg=@puFhUURoXUoS#8Xs%{2zv4N=g6# literal 0 HcmV?d00001 diff --git a/resources/programming/flowchart/stored-data.png b/resources/programming/flowchart/stored-data.png new file mode 100644 index 0000000000000000000000000000000000000000..972e56090fb954a8fcd0b4b27255f92498dac8d8 GIT binary patch literal 8135 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 yW#w+k%iWTdzb-3#OICL4$7iPh)xgus`I$@b|Gz Date: Thu, 28 Jan 2021 20:07:24 +0900 Subject: [PATCH 31/53] Add FastAPI (#380) --- config.py | 3 +++ diagrams/programming/framework.py | 6 ++++++ docs/nodes/programming.md | 1 + resources/programming/framework/fastapi.png | Bin 0 -> 10779 bytes 4 files changed, 10 insertions(+) create mode 100644 resources/programming/framework/fastapi.png diff --git a/config.py b/config.py index 1d8aafc0..a5c53b14 100644 --- a/config.py +++ b/config.py @@ -395,6 +395,9 @@ ALIASES = { } }, "programming": { + "framework": { + "Fastapi": "FastAPI" + }, "language": { "Javascript": "JavaScript", "Nodejs": "NodeJS", diff --git a/diagrams/programming/framework.py b/diagrams/programming/framework.py index 48929c1d..f8d901fb 100644 --- a/diagrams/programming/framework.py +++ b/diagrams/programming/framework.py @@ -24,6 +24,10 @@ class Ember(_Framework): _icon = "ember.png" +class Fastapi(_Framework): + _icon = "fastapi.png" + + class Flask(_Framework): _icon = "flask.png" @@ -57,3 +61,5 @@ class Vue(_Framework): # Aliases + +FastAPI = Fastapi diff --git a/docs/nodes/programming.md b/docs/nodes/programming.md index 06ce37d7..fdd25404 100644 --- a/docs/nodes/programming.md +++ b/docs/nodes/programming.md @@ -38,6 +38,7 @@ Node classes list of programming provider. - **diagrams.programming.framework.Backbone** - **diagrams.programming.framework.Django** - **diagrams.programming.framework.Ember** +- **diagrams.programming.framework.Fastapi**, **FastAPI** (alias) - **diagrams.programming.framework.Flask** - **diagrams.programming.framework.Flutter** - **diagrams.programming.framework.Laravel** diff --git a/resources/programming/framework/fastapi.png b/resources/programming/framework/fastapi.png new file mode 100644 index 0000000000000000000000000000000000000000..d79d51bf7047e7c28b404769f17d2e52c98bc215 GIT binary patch literal 10779 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